Create Instance
Create Instance
Create Instance
CONNECT &&1/&&2;
SET ECHO ON
SET FEEDBACK 1
SET NUMWIDTH 10
SET LINESIZE 80
SET TRIMSPOOL ON
SET TAB OFF
SET PAGESIZE 100
SET VERIFY OFF;
WHENEVER SQLERROR EXIT FAILURE ROLLBACK;
WHENEVER OSERROR EXIT FAILURE ROLLBACK;
DECLARE
p_input_instance varchar2(3);
p_input_validation_org varchar2(3);
p_input_group_code varchar2(30);
p_input_org_code_list varchar2(100);
l_val_org_exists number;
l_org_count number;
l_org_array dbms_utility.lname_array;
l_input_validation_id number;
l_org_id_array dbms_utility.lname_array;
l_instance_id number;
BEGIN
--DBMS_OUTPUT.PUT_LINE('Welcome to EBS-Fusion Cloud Integration...');
DBMS_OUTPUT.PUT_LINE('================================');
DBMS_OUTPUT.PUT_LINE('Input Instance Code : ' || p_input_instance);
DBMS_OUTPUT.PUT_LINE('Input Validation Organization Code : ' ||
p_input_validation_org);
DBMS_OUTPUT.PUT_LINE('Input Organization Group Code : '||p_input_group_code);
DBMS_OUTPUT.PUT_LINE('Input Organization Codes : '||p_input_org_code_list);
dbms_utility.comma_to_table
( list => p_input_org_code_list
, tablen => l_org_count
, tab => l_org_array
);
DBMS_OUTPUT.PUT_LINE('Merging to MSC_APPS_INSTANCES...');
MERGE into MSC_APPS_INSTANCES msc using (
select p_input_instance instance_code,
l_input_validation_id validation_org_id,
sysdate creation_date,
sysdate last_update_date,
-1 created_by, -- get the session user
-1 last_updated_by -- get the session user
from dual) rec
on (msc.instance_code = rec.instance_code)
WHEN MATCHED THEN
UPDATE SET
msc.validation_org_id = rec.validation_org_id,
msc.last_update_date = rec.last_update_date,
msc.last_updated_by = rec.last_updated_by
WHEN NOT MATCHED THEN
INSERT (instance_code,
apps_ver,
instance_type,
dbs_ver,
enable_flag,
apps_lrn,
instance_id,
st_status,
cleansed_flag,
gmt_difference,
last_update_date,
last_updated_by,
creation_date,
created_by,
currency,
allow_atp_flag,
allow_release_flag,
validation_org_id)
VALUES(
rec.instance_code,
-1, --APPS_VER,
3, --INSTANCE_TYPE,
0, --DBS_VER,
1, --ENABLE_FLAG,
0, --APPS_LRN,
l_instance_id,
0, --ST_STATUS,
1, --CLEANSED_FLAG,
0, --GMT_DIFFERENCE,
rec.last_update_date,
rec.last_updated_by,
rec.creation_date,
rec.created_by,
'USD', --CURRENCY,
2, --ALLOW_ATP_FLAG,
2, --ALLOW_RELEASE_FLAG,
rec.validation_org_id
);
DBMS_OUTPUT.PUT_LINE('Merging to MRP_AP_APPS_INSTANCES_ALL...');
MERGE into MRP_AP_APPS_INSTANCES_ALL msc using (
select p_input_instance instance_code,
l_instance_id instance_id,
sysdate creation_date,
sysdate last_update_date,
-1 created_by, -- get the session user
-1 last_updated_by -- get the session user
from dual) rec
on (msc.instance_code = rec.instance_code)
WHEN MATCHED THEN
UPDATE SET
msc.last_update_date = rec.last_update_date,
msc.last_updated_by = rec.last_updated_by
WHEN NOT MATCHED THEN
INSERT (
instance_id,
instance_code,
sn_status,
allow_atp_flag,
allow_release_flag,
last_update_date,
last_updated_by,
creation_date,
created_by
)
VALUES(
rec.instance_id,
rec.instance_code,
-1, --SN_STATUS,
2, --ALLOW_ATP_FLAG,
2, --ALLOW_RELEASE_FLAG,
rec.last_update_date,
rec.last_updated_by,
rec.creation_date,
rec.created_by
);
DBMS_OUTPUT.PUT_LINE('Merging to MSC_INSTANCE_ORGS...');
FOR i in 1 .. l_org_count
LOOP
MERGE into MSC_INSTANCE_ORGS msc using (
select p_input_group_code org_group,
l_instance_id instance_id,
l_org_id_array(i) organization_id,
1 enabled_flag,
sysdate creation_date,
sysdate last_update_date,
-1 created_by, -- get the session user
-1 last_updated_by -- get the session user
from dual) rec
ON (msc.sr_instance_id = rec.instance_id and
msc.organization_id=rec.organization_id)
WHEN MATCHED THEN
UPDATE SET
msc.org_group = rec.org_group,
msc.last_update_date = rec.last_update_date,
msc.last_updated_by = rec.last_updated_by
WHEN NOT MATCHED THEN
INSERT (
sr_instance_id,
organization_id,
org_group,
enabled_flag,
last_update_date,
last_updated_by,
creation_date,
created_by
)
VALUES(
rec.instance_id,
rec.organization_id,
rec.org_group,
rec.enabled_flag,
rec.last_update_date,
rec.last_updated_by,
rec.creation_date,
rec.created_by
);
END LOOP;
DBMS_OUTPUT.PUT_LINE('End. Please issue COMMIT...');
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error while executing Create_Instance.sql : '||SQLERRM);
DBMS_OUTPUT.PUT_LINE('Error while executing Create_Instance.sql : '||
DBMS_UTILITY.FORMAT_ERROR_STACK);
DBMS_OUTPUT.PUT_LINE('Error while executing Create_Instance.sql : '||
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
/
SPOOL OFF;