DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_SLA_PROCESSING_PVT

Source


1 PACKAGE BODY okl_sla_processing_pvt AS
2 /* $Header: OKLACHKB.pls 120.0.12010000.3 2008/10/01 23:16:34 rkuttiya ship $ */
3 
4 -- No processing for pre-accounting hook..
5 PROCEDURE preaccounting
6 (
7   p_application_id               IN            NUMBER,
8   p_ledger_id                    IN            INTEGER,
9   p_process_category             IN            VARCHAR2,
10   p_end_date                     IN            DATE,
11   p_accounting_mode              IN            VARCHAR2,
12   p_valuation_method             IN            VARCHAR2,
13   p_security_id_int_1            IN            INTEGER,
14   p_security_id_int_2            IN            INTEGER,
15   p_security_id_int_3            IN            INTEGER,
16   p_security_id_char_1           IN            VARCHAR2,
17   p_security_id_char_2           IN            VARCHAR2,
18   p_security_id_char_3           IN            VARCHAR2,
19   p_report_request_id            IN            INTEGER
20 )
21 IS
22 
23 BEGIN
24 
25   NULL;
26 
27 END preaccounting;
28 
29 -- Update the posted_yn flag based on the event status
30 -- View xla_post_acctg_events_v has events that are successfully accounted
31 -- process_status_code in 'D'(Draft accounting), 'P'(Final accounting).
32 PROCEDURE postprocessing
33 (
34   p_application_id               IN            NUMBER,
35   p_accounting_mode              IN            VARCHAR2
36 )
37 IS
38 
39  CURSOR events_info_csr IS
40  SELECT event_id, source_id_int_1
41    FROM xla_post_acctg_events_v
42   WHERE application_id = p_application_id;
43 
44 TYPE t_event_tbl IS TABLE OF xla_events.event_id%TYPE INDEX BY BINARY_INTEGER;
45 TYPE t_id_tbl IS TABLE OF okl_trx_contracts_all.id%TYPE INDEX BY BINARY_INTEGER;
46 l_event_tbl               t_event_tbl;
47 l_tcn_tbl                 t_id_tbl;
48 l_fetch_size              NUMBER := 1000;
49 
50 BEGIN
51 
52   IF (p_application_id <> 540) THEN
53     RETURN;
54   END IF;
55 
56   IF (p_accounting_mode = 'D') THEN
57     RETURN;
58   END IF;
59 
60   OPEN events_info_csr;
61 
62   LOOP
63 
64   FETCH events_info_csr BULK COLLECT INTO l_event_tbl, l_tcn_tbl limit l_fetch_size;
65 
66   FORALL i IN 1..l_event_tbl.count
67     UPDATE okl_trx_contracts_all
68        SET tsu_code = 'CANCELED',
69 	       canceled_date = sysdate,
70 		   accounting_reversal_yn = 'N'
71      WHERE id = l_tcn_tbl(i)
72 	   AND exists( SELECT 1
73 	                 FROM okl_trns_acc_dstrs_all
74 				    WHERE accounting_event_id = l_event_tbl(i)
75 					  AND gl_reversal_flag = 'Y' );
76 
77   IF l_event_tbl.count < l_fetch_size then
78      EXIT;
79   END IF;
80 
81   END LOOP;
82 
83   CLOSE events_info_csr;
84 
85 EXCEPTION
86 
87   WHEN OTHERS THEN
88     IF events_info_csr%ISOPEN THEN
89        CLOSE events_info_csr;
90     END IF;
91 
92     Okl_Api.SET_MESSAGE(p_app_name     => g_app_name,
93                         p_msg_name     => g_unexpected_error,
94                         p_token1       => g_sqlcode_token,
95                         p_token1_value => SQLCODE,
96                         p_token2       => g_sqlerrm_token,
97                         p_token2_value => SQLERRM);
98 
99     app_exception.raise_exception();
100 
101 END postprocessing;
102 
103 -- Lock the distributions belonging to the events that are selected by SLA
104 -- to create journal entries. Update the distributions posted_yn to 'S'.
105 PROCEDURE extract
106 (
107   p_application_id               IN            NUMBER,
108   p_accounting_mode              IN            VARCHAR2
109 )
110 IS
111 BEGIN
112 
113   NULL;
114 
115 END extract;
116 
117 -- No processing in postaccounting hook.
118 PROCEDURE postaccounting
119 (
120   p_application_id               IN            NUMBER,
121   p_ledger_id                    IN            INTEGER,
122   p_process_category             IN            VARCHAR2,
123   p_end_date                     IN            DATE,
124   p_accounting_mode              IN            VARCHAR2,
125   p_valuation_method             IN            VARCHAR2,
126   p_security_id_int_1            IN            INTEGER,
127   p_security_id_int_2            IN            INTEGER,
128   p_security_id_int_3            IN            INTEGER,
129   p_security_id_char_1           IN            VARCHAR2,
130   p_security_id_char_2           IN            VARCHAR2,
131   p_security_id_char_3           IN            VARCHAR2,
132   p_report_request_id            IN            INTEGER
133 )
134 IS
135 
136 BEGIN
137 
138   NULL;
139 
140 END postaccounting;
141 
142 END okl_sla_processing_pvt;