DBA Data[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;