壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1335|回复: 0

[二次开发] 经验积累,不足之处请指教--启用MOAC时,MOAC初始化

[复制链接]
发表于 2011/11/1 21:56:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
-- PRE_FORM:MOAC初始化
-- 下列写在程序单元里,注意在 PRE_FORM调用即可!
PACKAGE Cux_Moac_Pkg IS
  /*------------------------------------------------------------------
  功能:当进入FORM时,执行pre_form程序完成MOAC的初始化
  ------------------------------------------------------------------*/
  PROCEDURE Pre_Form;
  /*-----------------------------------------------------------------
  功能:当进入块时,根据MOAC控制的OU数量决定OU字段是否可以录入
  -----------------------------------------------------------------*/
  PROCEDURE When_New_Block_Instance;
  /*-----------------------------------------------------------------
  功能:当创建记录时,从参数中将默认OU拿过来
  -----------------------------------------------------------------*/
  PROCEDURE When_Create_Record;
END Cux_Moac_Pkg;
/

PACKAGE BODY Cux_Moac_Pkg IS
  /*-----------------------------------------------------------------
  功能:当进入FORM时,执行pre_form程序完成MOAC的初始化
  -----------------------------------------------------------------*/
  PROCEDURE Pre_Form IS
    L_Default_Org_Id      NUMBER;
    L_Default_Ou_Name     VARCHAR2(240);
    L_Ou_Count            NUMBER;
    L_Security_Profile_Id NUMBER;
  BEGIN
    Mo_Global.Init('CUX');
    Mo_Utils.Get_Default_Ou(L_Default_Org_Id,
                            L_Default_Ou_Name,
                            L_Ou_Count);
    Copy(L_Default_Org_Id, 'PARAMETER.mo_default_org_id');
    Copy(L_Default_Ou_Name, 'PARAMETER.mo_default_ou_name');
    Copy(L_Ou_Count, 'PARAMETER.mo_ou_count');
    --判断是否找到了OU,如果没有找到,则报错
    IF Nvl(L_Ou_Count, 0) <= 0 THEN
      Fnd_Message.Set_Name('CUX', 'CUXDT_MO_SECURITY_PROFILE_NULL');--职责未定义安全性配置文件值,请维护后再进行操作!
      Fnd_Message.Error;
      RAISE Form_Trigger_Failure;
    END IF;
  END Pre_Form;
  /*-----------------------------------------------------------------
  功能:当进入块时,根据MOAC控制的OU数量决定OU字段是否可以录入
  -----------------------------------------------------------------*/
  PROCEDURE When_New_Block_Instance IS
    L_Block_Item_Id   Item;
    L_Block_Item_Name VARCHAR2(1000);
  BEGIN
    L_Block_Item_Name := Name_In('System.Trigger_Block') || '.Org_Name';
    L_Block_Item_Id   := Find_Item(L_Block_Item_Name);
    IF NOT Id_Null(L_Block_Item_Id) THEN
      IF :Parameter.Mo_Ou_Count > 1 THEN
        Set_Item_Property(L_Block_Item_Id, Update_Allowed, Property_True);
        Set_Item_Property(L_Block_Item_Id, Insert_Allowed, Property_True);
      ELSE
        Set_Item_Property(L_Block_Item_Id, Update_Allowed, Property_False);
        Set_Item_Property(L_Block_Item_Id, Insert_Allowed, Property_False);
      END IF;
    END IF;
  END When_New_Block_Instance;
  /*-----------------------------------------------------------------
  功能:当创建记录时,从参数中将默认OU拿过来
  -----------------------------------------------------------------*/
  PROCEDURE When_Create_Record IS
    L_Org_Id_Name     VARCHAR2(1000);
    L_Block_Item_Name VARCHAR2(1000);
  BEGIN
    L_Org_Id_Name := Name_In('System.Trigger_Block') || '.org_id';
    IF :Parameter.Mo_Default_Org_Id IS NOT NULL AND
       Name_In(L_Org_Id_Name) IS NULL THEN
      Copy(:Parameter.Mo_Default_Org_Id,
       Name_In('System.Trigger_Block') || '.org_id');
    END IF;
  END When_Create_Record;
END Cux_Moac_Pkg;



您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 03:26 , Processed in 0.013409 second(s), 18 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表