Oca
25
2016

HR – Kişi Masraf Merkezi Atama (CREATE_COST_ALLOCATION API)

Merhaba,

Aşağıda kişi görev kartına ait masraf merkezi oluşturma için örnek script bulunmaktadır.

 
CREATE OR REPLACE PROCEDURE APPS.CREATE_COST (
 
p_id IN NUMBER
)
IS
CURSOR C_COST_ALLOC
IS
SELECT *
FROM xx_hr_detail_T
WHERE id = p_id;
 
-- SELECT '0101001' G_MASRAF_MERKEZI FROM DUAL;
 
LC_C_COST_ALLOC C_COST_ALLOC%ROWTYPE;
L_COMBINATION_NAME VARCHAR2 (240);
L_COST_ALLOCATION_ID NUMBER;
L_EFFECTIVE_START_DATE DATE;
L_EFFECTIVE_END_DATE DATE;
L_COST_ALLOCATION_KEYFLEX_ID NUMBER;
L_OBJECT_VERSION_NUMBER NUMBER;
L_ATT_EFFECTIVE_DATE DATE;
L_ASSIGNMENT_ID NUMBER;
ERROR_DESC VARCHAR2 (2000);
LV_COMP_FLAG CHAR (1);
 
BEGIN
OPEN C_COST_ALLOC;
 
LOOP
FETCH C_COST_ALLOC INTO LC_C_COST_ALLOC;
 
EXIT WHEN C_COST_ALLOC%NOTFOUND;
 
---------------------------
SELECT PAPF.EFFECTIVE_START_DATE
INTO L_ATT_EFFECTIVE_DATE
FROM PER_ALL_PEOPLE_F PAPF
WHERE PAPF.PERSON_ID = LC_C_COST_ALLOC.PERSON_ID
AND TO_CHAR (PAPF.EFFECTIVE_END_DATE, 'DD/MM/YYYY') = '31/12/4712';
 
--------------------------
SELECT PAAF.ASSIGNMENT_ID
INTO L_ASSIGNMENT_ID
FROM PER_ALL_ASSIGNMENTS_F PAAF
WHERE PAAF.PERSON_ID = LC_C_COST_ALLOC.PERSON_ID
AND TO_CHAR (PAAF.EFFECTIVE_END_DATE, 'DD/MM/YYYY') = '31/12/4712';
 
--------------------------
BEGIN
PAY_COST_ALLOCATION_API.CREATE_COST_ALLOCATION (
P_VALIDATE => FALSE,
P_EFFECTIVE_DATE => L_ATT_EFFECTIVE_DATE,
P_ASSIGNMENT_ID => L_ASSIGNMENT_ID,
P_PROPORTION => 1,
P_BUSINESS_GROUP_ID => 81,
P_SEGMENT1 => LC_C_COST_ALLOC.G_MASRAF_MERKEZI,
---------------------------------------------------------------------------
P_COMBINATION_NAME => L_COMBINATION_NAME,
P_COST_ALLOCATION_ID => L_COST_ALLOCATION_ID,
P_EFFECTIVE_START_DATE => L_EFFECTIVE_START_DATE,
P_EFFECTIVE_END_DATE => L_EFFECTIVE_END_DATE,
P_COST_ALLOCATION_KEYFLEX_ID => L_COST_ALLOCATION_KEYFLEX_ID,
P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
);
 
IF L_COST_ALLOCATION_ID IS NOT NULL
THEN
LV_COMP_FLAG := 'Y';
ERROR_DESC := 'NO ERROR';
END IF;
 
IF LV_COMP_FLAG = 'Y'
THEN
DBMS_OUTPUT.PUT_LINE (
'İşlem Başarılı L_COST_ALLOCATION_ID:' || L_COST_ALLOCATION_ID
);
ELSE
ERROR_DESC := SUBSTR (SQLERRM, 1, 254);
DBMS_OUTPUT.PUT_LINE ('HATA ' || ERROR_DESC);
END IF;
END;
 
L_COMBINATION_NAME := '';
L_COST_ALLOCATION_ID := '';
L_EFFECTIVE_START_DATE := '';
L_EFFECTIVE_END_DATE := '';
L_COST_ALLOCATION_KEYFLEX_ID := '';
L_OBJECT_VERSION_NUMBER := '';
L_ATT_EFFECTIVE_DATE := '';
L_ASSIGNMENT_ID := '';
ERROR_DESC := '';
LV_COMP_FLAG := '';
--COMMIT;
END LOOP;
 
CLOSE C_COST_ALLOC;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE (SQLERRM);
END;

Elvan Uysal

1989 Aydın doğumlu.
2007-2008 Doğu Akdeniz Üniversitesi(EMU) Yabancı Dil Eğitimi aldı.
2013 İstanbul Aydın Üniversitesi-Matematik Bilgisayar Bilimlerinden
mezun oldu. Istanbul Aydın Üniversitesi-Master of Business
Administration(MBA) master programına devam etmektedir.
2013 yılından Beri Oracle e-Business Suite Uygulama Geliştirme
Fonksiyonel ve Teknik Danışman olarak DbOptimize bünyesinde
kariyerine devam etmektedir.
Mail: elvanuysal89@gmail.com
Elvan Uysal

İlgili Yazılar



Yorum yapın

*