[Home] [Help]
PACKAGE BODY: APPS.IGI_POST
Source
1 PACKAGE BODY IGI_POST AS
2 -- $Header: igipostb.pls 120.2.12000000.3 2007/09/21 07:49:49 pshivara ship $
3 --
4
5 PROCEDURE IGI_POST_GL_POSTING(P_POSTING_RUN_ID IN NUMBER) IS
6
7 CURSOR C1(P_RUN_ID IN NUMBER) IS
8 SELECT JE_BATCH_ID,
9 BUDGETARY_CONTROL_STATUS,
10 STATUS
11 FROM GL_JE_BATCHES
12 WHERE POSTING_RUN_ID = P_RUN_ID;
13
14 CURSOR C2(P_JE_BATCH_ID IN NUMBER) IS
15 SELECT JE_HEADER_ID
16 -- , SET_OF_BOOKS_ID -- bug 6315298
17 , LEDGER_ID -- bug 6315298
18 , BUDGET_VERSION_ID
19 , CURRENCY_CODE
20 , PERIOD_NAME
21 , STATUS
22 , JE_SOURCE
23 , JE_CATEGORY
24 FROM GL_JE_HEADERS
25 WHERE JE_BATCH_ID = P_JE_BATCH_ID;
26
27 l_posting_run_id GL_JE_BATCHES.POSTING_RUN_ID%TYPE;
28 l_je_batch_id GL_JE_BATCHES.JE_BATCH_ID%TYPE;
29 l_ItrStatus_Flag VARCHAR2(1);
30 l_ItrErrorNum NUMBER;
31
32
33 BEGIN
34 BEGIN -- BUD
35 IF IGI_GEN.IS_REQ_INSTALLED('BUD') THEN
36 l_posting_run_id := P_POSTING_RUN_ID;
37
38 FOR cont1 IN C1(l_posting_run_id) LOOP
39 l_je_batch_id := cont1.je_batch_id;
40
41 FOR cont2 IN C2(l_je_batch_id) LOOP
42
43 -- This replaces trigger IGI_BUD_GL_JE_HEADERS_T1
44 IF cont2.status = 'P' AND
45 cont2.je_source = 'MassAllocation' AND
46 cont2.je_category = 'Budget' THEN
47
48 UPDATE GL_JE_LINES
49 SET REFERENCE_1 = 'IGIGBUDMB'
50 , REFERENCE_2 = JE_HEADER_ID+JE_LINE_NUM
51 , REFERENCE_6 = 'N'
52 WHERE JE_HEADER_ID = cont2.je_header_id;
53
54 END IF;
55
56 -- This replaces trigger IGI_BUD_GL_JE_HEADERS_T2
57 IF cont2.status = 'P' AND
58 cont2.budget_version_id is not null THEN
59
60 IGI_BUD.BUD_NEXT_YEAR_BUDGET(
61 CONT2.JE_HEADER_ID
62 -- , CONT2.SET_OF_BOOKS_ID -- bug 6315298
63 , CONT2.LEDGER_ID -- bug 6315298
64 , CONT2.BUDGET_VERSION_ID
65 , CONT2.CURRENCY_CODE
66 , CONT2.PERIOD_NAME);
67 END IF;
68 END LOOP; -- cont2
69 END LOOP; -- cont1
70
71 END IF; -- BUD Installed Check
72
73 EXCEPTION
74
75 WHEN others THEN
76 raise_application_error (-20000,'Error in BUD in IGI_POST');
77
78 END; -- BUD
79
80
81 BEGIN --ITR
82 IGI_GEN.get_option_status('ITR',l_ItrStatus_Flag,l_ItrErrorNum);
83
84 IF l_ItrStatus_Flag = 'Y' THEN
85 l_posting_run_id := P_POSTING_RUN_ID;
86 FOR Cont3 in C1 (l_posting_run_id) LOOP
87 l_je_batch_id := Cont3.je_batch_id;
88 -- This replaces trigger IGI_IGI_ITR_GL_JE_BATCHES_T1
89 IF Cont3.Status NOT IN ('S','U','I') and
90 Cont3.Budgetary_Control_Status IN ('F','P','N','R') THEN
91
92 IGI_ITR.Action(1);
93 IGI_ITR.Set_Batches(l_je_batch_id);
94 ELSE
95
96 IGI_ITR.Action(0);
97 END IF;
98
99
100 -- This replaces trigger IGI_IGI_GL_JE_BATCHES_T2
101 IGI_ITR.Process_Batches;
102 END LOOP; -- Cont3
103 -- IGI_ITR.Process_Batches;
104
105 END IF; -- ITR INSTALLED CHECK
106
107
108 EXCEPTION
109 WHEN no_data_found THEN
110 null;
111
112 WHEN Others THEN
113 raise_application_error (-20000, 'Error in ITR in IGI_POST');
114
115 END; -- ITR
116
117 END;
118 END IGI_POST;