Sie sind auf Seite 1von 4

2010

How to Create
Company Cost Center
for Organization
To implement Oracle Daily Business Intelligence its required to implement
Company Cost Center at Organization definition level. Oracle Provided a API for
this, in this document I will share the sample script to update company cost
center by executing this script.

Ahmad Bilal
1/1/2010
Email: abmian1981@gmail.com

I.

Create Temporary table to upload Data


CREATE TABLE TEMP_ORG_CLASS
(
SLNO
NUMBER,
ORG_ID
NUMBER,
MGR_PERSON_ID
VARCHAR2(100 BYTE),
COMPANYVALUESET VARCHAR2(100 BYTE),
COMPNAY
VARCHAR2(100 BYTE),
CCVALUESET
VARCHAR2(100 BYTE),
COSTCENTER
VARCHAR2(100 BYTE),
CC_ERROR_MESSAGE VARCHAR2(2000 BYTE),
CC_STATUS
VARCHAR2(2 BYTE)
)

II.

Upload Data in Temporary Table


DATA FORMAT WILL BE LIKE THIS

III.

Create Procedure (API)


CREATE OR REPLACE PROCEDURE APPS_APPLMGR.XX_ORG_COMPANY_COST_CENTER
IS
L_VALIDATE
BOOLEAN;
L_EFFECTIVE_DATE
DATE
:= SYSDATE;
L_ORG_ID
NUMBER;
L_OBJECT_VERSION_NUMBER
NUMBER;
L_DUPLICATE_ORG_WARNING
BOOLEAN
:= TRUE;
L_ERROR_MESSAGE
VARCHAR2 (1500);
L_ORI_ORG_INFORMATION_ID
NUMBER;
L_ORI_OBJECT_VERSION_NUMBER NUMBER;
L_ORG_INFORMATION_ID
NUMBER;
L_COMPANY_VALUESET_ID
NUMBER
:= 102451; /* THIS ID I GOT FROM ACCOUNTING
FLEXFIELED STRUCTURE (VALUESET ASSOCIATED WITH COMPANY SEGMENT) */
L_COSTCENTER_VALUESET_ID
NUMBER
:= 102452;/* THIS ID I GOT FROM ACCOUNTING
FLEXFIELED STRUCTURE (VALUESET ASSOCIATED WITH COST CENTER SEGMENT) */
L_COMPANY
NUMBER
:= 1;
-- CURSOR DEFINITIONS
CURSOR C_ORG
IS
SELECT T.SLNO, T.ORG_ID, T.COSTCENTER, COMPNAY, T.CC_STATUS,
T.CC_ERROR_MESSAGE
FROM TEMP_ORG_CLASS T
WHERE (T.CC_STATUS IS NULL OR T.CC_STATUS <> 'I');
-BEGIN
-- ************************************************************
-- START MAIN LOOP
-- ************************************************************

FOR REC IN C_ORG


LOOP
BEGIN
HR_ORGANIZATION_API.CREATE_COMPANY_COST_CENTER
(P_VALIDATE
=> FALSE,
P_EFFECTIVE_DATE
=> L_EFFECTIVE_DATE,
P_ORGANIZATION_ID
=> REC.ORG_ID,
P_COMPANY_VALUESET_ID
=> L_COMPANY_VALUESET_ID,
P_COMPANY
=> REC.COMPNAY,
P_COSTCENTER_VALUESET_ID
=> L_COSTCENTER_VALUESET_ID,
P_COSTCENTER
=> REC.COSTCENTER,
P_ORI_ORG_INFORMATION_ID
=> L_ORI_ORG_INFORMATION_ID,
P_ORI_OBJECT_VERSION_NUMBER
=> L_ORI_OBJECT_VERSION_NUMBER,
P_ORG_INFORMATION_ID
=> L_ORG_INFORMATION_ID,
P_OBJECT_VERSION_NUMBER
=> L_OBJECT_VERSION_NUMBER
);
UPDATE TEMP_ORG_CLASS
SET CC_STATUS = 'I'
WHERE SLNO = REC.SLNO;
COMMIT;
L_ORI_ORG_INFORMATION_ID := NULL;
L_ORI_OBJECT_VERSION_NUMBER := NULL;
L_ORG_INFORMATION_ID := NULL;
L_OBJECT_VERSION_NUMBER := NULL;
EXCEPTION
WHEN OTHERS
THEN
L_ERROR_MESSAGE := SUBSTR (LTRIM (SQLERRM), 1, 100);
UPDATE TEMP_ORG_CLASS
SET CC_STATUS = 'E',
CC_ERROR_MESSAGE = L_ERROR_MESSAGE
WHERE SLNO = REC.SLNO;
COMMIT;
END;
END LOOP;
END;
/

IV.

Create Procedure (API)


BEGIN
APPS_APPLMGR.XX_ORG_COMPANY_COST_CENTER;
COMMIT;
END;

V.

Verify
A.

CHECK THE CC_STATUS COLUMN IT SHOULD BE I FOR E REFER TO FIELD


CC_ERROR_MESSAGE

B.

CHECK THE ORGANIZATION DETAIL IN ORGANIZATION DEFINITION WINDOW YOU SHOULD BE


ABLE TO SEE COMPANY COST CENTER AS ORGANIZATION CLASSIFICATION. BY CLICKING ON
OTHER YOU WILL FIND THE COMPANY AND COMPANY COST CENTER VALUE

Das könnte Ihnen auch gefallen