MO_GLOBAL包中一些过程和函数的使用

来源:互联网 发布:怎样建立网络共享 编辑:程序博客网 时间:2024/05/16 09:39

DECLARE
V_CURRENT_ORG_ID NUMBER;
V_ACCESS_MODE VARCHAR2(2);
V_OU_COUNT NUMBER;
V_ORG_ID NUMBER;
V_MO_INIT_DONE VARCHAR2(2);
V_CHECK_ACCESS VARCHAR2(2);
V_OU_NAME VARCHAR2(240);

BEGIN
MO_GLOBAL.INIT('AR'); --初始化Multi Org,临时表 mo_glob_org_access_tmp 有数

MO_GLOBAL.SET_POLICY_CONTEXT(P_ACCESS_MODE => 'S', P_ORG_ID => 93); --设置Org访问模式,S为单OU访问,M为多OU访问,A为所有OU访问

SELECT MO_GLOBAL.CHECK_ACCESS(101) INTO V_CHECK_ACCESS FROM DUAL; --检查Org_id是否存在临时表 mo_glob_org_access_tmp;check_valid_org与check_access类似,check_valid_org可以跑出错误信息

SELECT MO_GLOBAL.GET_CURRENT_ORG_ID INTO V_CURRENT_ORG_ID FROM DUAL; --获取当前Org_id;若没有init,访问模式为S或A,则返回当前Org_id,若有init,且访问模式为S,则返回init的org_id

SELECT MO_GLOBAL.GET_ACCESS_MODE INTO V_ACCESS_MODE FROM DUAL; --获取当前Org访问模式

SELECT MO_GLOBAL.GET_OU_COUNT INTO V_OU_COUNT FROM DUAL; --获取当前多组织访问可访问的OU数;若没有init,则为空

SELECT MO_GLOBAL.GET_VALID_ORG(101) INTO V_ORG_ID FROM DUAL; --验证并返回Org_id;若没有init,且访问模式为S;或者有init,则返回Org_id

SELECT MO_GLOBAL.IS_MO_INIT_DONE INTO V_MO_INIT_DONE FROM DUAL; --验证MO是否已初始化,Y/N;若有init或者没有init但访问模式为S,则返回Y

SELECT MO_GLOBAL.GET_OU_NAME(101) INTO V_OU_NAME FROM DUAL; --获取临时表 mo_glob_org_access_tmp中Org名称
END;

0 0