DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_CN_ACP_EXPORT_PKG

Source


1 PACKAGE BODY JA_CN_ACP_EXPORT_PKG AS
2 --$Header: JACNACPB.pls 120.3 2011/06/20 03:53:51 choli noship $
3 --+=======================================================================+
4 --|               Copyright (c) 1998 Oracle Corporation                   |
5 --|                       Redwood Shores, CA, USA                         |
6 --|                         All rights reserved.                          |
7 --+=======================================================================+
8 --| FILENAME                                                              |
9 --|     JACNACPB.pls                                                      |
10 --|                                                                       |
11 --| DESCRIPTION                                                           |
12 --|     Use this package to export Accounting Periods                     |
13 --|                                                                       |
14 --| PROCEDURE LIST                                                        |
15 --|      PROCEDURE Add_Accounting_Periods                                 |
16 --|                                                                       |
17 --|                                                                       |
18 --| HISTORY                                                               |
19 --|     01/20/2010 Chongwu Li       Created                               |
20 --|     06/20/2011 Chongwu Li       Updated, fix bug 12639817             |
21 --+======================================================================*/
22 GV_MODULE_PREFIX VARCHAR2(100) := 'JA_CN_ACP_EXPORT_PKG';
23 
24   --==========================================================================
25   --  PROCEDURE NAME:
26   --
27   --    Add_Accounting_Periods                        Public
28   --
29   --  DESCRIPTION:
30   --
31   --    This procedure is to export Accounting Periods
32   --
33   --  PARAMETERS:
34   --      In:  pn_legal_entity_id     legal_entity ID
35   --           pn_ledger_id           ledger ID
36   --           pn_accounting_year     accounting year
37   --  DESIGN REFERENCES:
38   --    CNAO_V2_GL_TD.doc
39   --
40   --  CHANGE HISTORY:
41   --
42   --           20-JAN-2010   Chongwu Li  created
43   --           20-Jun-2011   Chongwu Li  fix bug 12639817
44   --==========================================================================
45 
46 PROCEDURE Add_Accounting_Periods(pn_legal_entity_id NUMBER
47                                 ,pn_ledger_id       NUMBER
48                                 ,pn_accounting_year NUMBER) IS
49 lv_procedure_name VARCHAR2(40) := 'Add_Accounting_Periods';
50 ln_dbg_level      NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
51 ln_proc_level     NUMBER := FND_LOG.LEVEL_PROCEDURE;
52 ln_row_count      NUMBER;
53 --NO_DATA EXCEPTION;
54 
55     -- to get accounting periods
56 CURSOR accounting_periods_cur(ln_accounting_year NUMBER, ln_ledger_id NUMBER) IS
57       SELECT gp.period_year, gp.period_num, gp.start_date, gp.end_date
58         FROM gl_periods gp, gl_ledgers gl
59        WHERE gp.period_year = ln_accounting_year
60          AND gp.period_set_name = gl.period_set_name
61          -- choli fix bug 12639817
62          AND gp.period_type = gl.accounted_period_type
63          AND gl.ledger_id = ln_ledger_id;
64 
65 BEGIN
66     --logging for debug
67   IF (ln_proc_level >= ln_dbg_level)
68   THEN
69     FND_LOG.STRING(ln_proc_level,
70                      GV_MODULE_PREFIX || '.' || lv_procedure_name ||
71                      '.begin',
72                      'Enter procedure');
73     FND_LOG.STRING(ln_proc_level,
74                    lv_procedure_name ||
75                    '.parameters',
76                    'pn_legal_entity_id=' || pn_legal_entity_id || ',' ||
77                    'pn_ledger_id=' || pn_ledger_id || ',' ||
78                    'pn_accounting_year=' || pn_accounting_year);
79 
80   END IF; --ln_proc_level>=ln_dbg_level
81   FND_FILE.put_line(FND_FILE.log, lv_procedure_name ||
82                    '.parameters:' ||
83                    'pn_legal_entity_id=' || pn_legal_entity_id || ',' ||
84                    'pn_ledger_id=' || pn_ledger_id || ',' ||
85                    'pn_accounting_year=' || pn_accounting_year);
86   ln_row_count := 0;
87   FOR v_row IN accounting_periods_cur(pn_accounting_year, pn_ledger_id)
88   LOOP
89       ln_row_count := ln_row_count + 1;
90       Ja_Cn_Utility.Add_Sub_Root_Node('ACCOUNTING_PERIOD',
91                                       Ja_Cn_Utility.GV_TAG_TYPE_START);
92       Ja_Cn_Utility.Add_Fixed_Child_Node('ACCOUNTING_YEAR'
93                                          ,v_row.period_year
94                                          ,4);
95       Ja_Cn_Utility.Add_Child_Node('ACCOUNTING_PERIOD_NUMBER'
96                                    ,v_row.period_num);
97       Ja_Cn_Utility.Add_Fixed_Child_Node('ACCOUNTING_PERIOD_START_DATE'
98                                          ,to_char(v_row.start_date
99                                                  ,'YYYYMMDD')
100                                          ,8);
101       Ja_Cn_Utility.Add_Fixed_Child_Node('ACCOUNTING_PERIOD_END_DATE'
102                                          ,to_char(v_row.end_date, 'YYYYMMDD')
103                                          ,8);
104       Ja_Cn_Utility.Add_Sub_Root_Node('ACCOUNTING_PERIOD'
105                                       ,Ja_Cn_Utility.GV_TAG_TYPE_END);
106 
107   END LOOP;
108 
109   IF (ln_row_count = 0)
110   THEN
111       Ja_Cn_Utility.Print_No_Data_Found_For_Log('ACCOUNTING_PERIOD');
112       Ja_Cn_Utility.Add_Sub_Root_Node('ACCOUNTING_PERIOD'
113                                       ,Ja_Cn_Utility.GV_TAG_TYPE_START);
114       Ja_Cn_Utility.Add_Fixed_Child_Node('ACCOUNTING_YEAR'
115                                          ,NULL
116                                          ,4);
117       Ja_Cn_Utility.Add_Child_Node('ACCOUNTING_PERIOD_NUMBER'
118                                    ,NULL);
119       Ja_Cn_Utility.Add_Fixed_Child_Node('ACCOUNTING_PERIOD_START_DATE'
120                                          ,NULL
121                                          ,8);
122       Ja_Cn_Utility.Add_Fixed_Child_Node('ACCOUNTING_PERIOD_END_DATE'
123                                          ,NULL
124                                          ,8);
125       Ja_Cn_Utility.Add_Sub_Root_Node('ACCOUNTING_PERIOD'
126                                       ,Ja_Cn_Utility.GV_TAG_TYPE_END);
127   END IF;  --ln_row_count = 0
128 
129     --logging for debug
130   IF (ln_proc_level >= ln_dbg_level)
131   THEN
132       FND_LOG.STRING(ln_proc_level,
133                      GV_MODULE_PREFIX || '.' || lv_procedure_name || '.end',
134                      'Exit procedure');
135   END IF; -- (ln_proc_level>=ln_dbg_level)
136 EXCEPTION
137   WHEN OTHERS THEN
138     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
139     THEN
140         FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
141                        GV_MODULE_PREFIX || '.' || lv_procedure_name ||
142                        '.Other_Exception ',
143                        SQLCODE || SQLERRM);
144     END IF; -- (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
145     FND_FILE.put_line(FND_FILE.log, lv_procedure_name || SQLCODE || SQLERRM);
146     RAISE;
147 END Add_Accounting_Periods;
148 END JA_CN_ACP_EXPORT_PKG;
149