马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服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;
|