-- Create DB Object Types and Collections
CREATE OR REPLACE TYPE XX_SYNC_ORG_OBJ AS OBJECT(
ORG_ID VARCHAR2(50)
, STATIC FUNCTION GET_OBJECT
RETURN XX_CC_SYNC_ORG_OBJ);
/
CREATE OR REPLACE TYPE BODY XX_SYNC_ORG_OBJ
IS
STATIC FUNCTION GET_OBJECT
RETURN XX_SYNC_ORG_OBJ
IS
BEGIN
RETURN XX_SYNC_ORG_OBJ(NULL);
END;
END;
/
CREATE OR REPLACE TYPE XX_SYNC_ORG_TBL AS TABLE OF XX_SYNC_ORG_OBJ;
/
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CREATE OR REPLACE TYPE XX_EBS_SYNC_OBJ AS OBJECT(
INSTANCE_REFERENCE VARCHAR2(50)
, SERIAL_NUMBER VARCHAR2(240)
, SERVICE_START_DATE DATE
, SERVICE_END_DATE DATE
, SUPPORT_LEVEL VARCHAR2(50)
, PARTNER VARCHAR2(1)
, NODE_CATEGORY VARCHAR2(50)
, ORG_ID VARCHAR2(50)
, STATIC FUNCTION GET_OBJ
RETURN XX_EBS_SYNC_OBJ);
/
CREATE OR REPLACE TYPE BODY XX_EBS_SYNC_OBJ
IS
STATIC FUNCTION GET_OBJ
RETURN XX_EBS_SYNC_OBJ
IS
BEGIN
RETURN XX_EBS_SYNC_OBJ(NULL
, NULL
, NULL
, NULL
, NULL
, NULL
, NULL
, NULL);
END;
END;
/
CREATE OR REPLACE TYPE XX_EBS_SYNC_TBL AS TABLE OF XX_EBS_SYNC_OBJ;
/
-- Invoke it in anonymous Block...
DECLARE
p_cc_org_tbl xx_cc_sync_org_tbl := xx_cc_sync_org_tbl();
x_ebs_sync_tbl xx_ebs_cc_sync_tbl;
l_index NUMBER := 1;
BEGIN
-- Use Below Method When Using Hard coding
-- p_cc_org_tbl.EXTEND;
-- p_cc_org_tbl( 1):= xx_cc_sync_org_obj( '1212121');
-- p_cc_org_tbl.EXTEND;
-- p_cc_org_tbl( 2):= xx_cc_sync_org_obj( '123123213213');
-- p_cc_org_tbl.EXTEND;
-- p_cc_org_tbl( 3):= xx_cc_sync_org_obj( '1231232132131');
-- Use Below Method When Using Dynamic fetch
FOR i IN (SELECT DISTINCT attribute21
FROM csi_item_instances
WHERE NVL(active_end_date, SYSDATE) >= SYSDATE
AND attribute21 IS NOT NULL)
LOOP
p_cc_org_tbl.EXTEND;
p_cc_org_tbl( l_index) := xx_cc_sync_org_obj( i.attribute21);
l_index := l_index + 1;
END LOOP;
DBMS_OUTPUT.put_line( 'Table Count : '
|| p_cc_org_tbl.COUNT);
ebs_ks_cc_sync(p_cc_org_tbl, x_ebs_cc_sync_tbl);
END;
CREATE OR REPLACE TYPE XX_SYNC_ORG_OBJ AS OBJECT(
ORG_ID VARCHAR2(50)
, STATIC FUNCTION GET_OBJECT
RETURN XX_CC_SYNC_ORG_OBJ);
/
CREATE OR REPLACE TYPE BODY XX_SYNC_ORG_OBJ
IS
STATIC FUNCTION GET_OBJECT
RETURN XX_SYNC_ORG_OBJ
IS
BEGIN
RETURN XX_SYNC_ORG_OBJ(NULL);
END;
END;
/
CREATE OR REPLACE TYPE XX_SYNC_ORG_TBL AS TABLE OF XX_SYNC_ORG_OBJ;
/
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CREATE OR REPLACE TYPE XX_EBS_SYNC_OBJ AS OBJECT(
INSTANCE_REFERENCE VARCHAR2(50)
, SERIAL_NUMBER VARCHAR2(240)
, SERVICE_START_DATE DATE
, SERVICE_END_DATE DATE
, SUPPORT_LEVEL VARCHAR2(50)
, PARTNER VARCHAR2(1)
, NODE_CATEGORY VARCHAR2(50)
, ORG_ID VARCHAR2(50)
, STATIC FUNCTION GET_OBJ
RETURN XX_EBS_SYNC_OBJ);
/
CREATE OR REPLACE TYPE BODY XX_EBS_SYNC_OBJ
IS
STATIC FUNCTION GET_OBJ
RETURN XX_EBS_SYNC_OBJ
IS
BEGIN
RETURN XX_EBS_SYNC_OBJ(NULL
, NULL
, NULL
, NULL
, NULL
, NULL
, NULL
, NULL);
END;
END;
/
CREATE OR REPLACE TYPE XX_EBS_SYNC_TBL AS TABLE OF XX_EBS_SYNC_OBJ;
/
-- Invoke it in anonymous Block...
DECLARE
p_cc_org_tbl xx_cc_sync_org_tbl := xx_cc_sync_org_tbl();
x_ebs_sync_tbl xx_ebs_cc_sync_tbl;
l_index NUMBER := 1;
BEGIN
-- Use Below Method When Using Hard coding
-- p_cc_org_tbl.EXTEND;
-- p_cc_org_tbl( 1):= xx_cc_sync_org_obj( '1212121');
-- p_cc_org_tbl.EXTEND;
-- p_cc_org_tbl( 2):= xx_cc_sync_org_obj( '123123213213');
-- p_cc_org_tbl.EXTEND;
-- p_cc_org_tbl( 3):= xx_cc_sync_org_obj( '1231232132131');
-- Use Below Method When Using Dynamic fetch
FOR i IN (SELECT DISTINCT attribute21
FROM csi_item_instances
WHERE NVL(active_end_date, SYSDATE) >= SYSDATE
AND attribute21 IS NOT NULL)
LOOP
p_cc_org_tbl.EXTEND;
p_cc_org_tbl( l_index) := xx_cc_sync_org_obj( i.attribute21);
l_index := l_index + 1;
END LOOP;
DBMS_OUTPUT.put_line( 'Table Count : '
|| p_cc_org_tbl.COUNT);
ebs_ks_cc_sync(p_cc_org_tbl, x_ebs_cc_sync_tbl);
END;
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.