DBA Data[Home] [Help]

PACKAGE BODY: APPS.RG_XFER_COMP_PRIVATE_PKG

Source


1 PACKAGE BODY RG_XFER_COMP_PRIVATE_PKG as
2 /* $Header: rgixcppb.pls 120.8.12020000.2 2012/08/03 08:40:49 degoel ship $ */
3 
4   G_Error       NUMBER;
5   G_Warning     NUMBER;
6 
7   G_SourceCOAId NUMBER;
8   G_TargetCOAId NUMBER;
9   G_LinkName    VARCHAR2(100);
10   G_ApplId      NUMBER;
11 
12   /* Message Levels */
13   G_ML_Minimal  NUMBER;
14   G_ML_Normal   NUMBER;
15   G_ML_Full     NUMBER;
16 
17   AxesString VARCHAR2(5000) :=
18     'INSERT INTO RG_REPORT_AXES (' ||
19     '  APPLICATION_ID, AXIS_SET_ID, AXIS_SEQ, LAST_UPDATE_DATE' ||
20     ', LAST_UPDATED_BY, LAST_UPDATE_LOGIN, CREATION_DATE, CREATED_BY' ||
21     ', AXIS_TYPE, AXIS_NAME, AMOUNT_ID, STANDARD_AXIS_ID' ||
22     ', WIDTH, POSITION, STRUCTURE_ID, UNIT_OF_MEASURE_ID' ||
23     ', PARAMETER_NUM, PERIOD_OFFSET, DESCRIPTION, DISPLAY_FLAG' ||
24     ', BEFORE_AXIS_STRING, AFTER_AXIS_STRING, NUMBER_CHARACTERS_INDENTED' ||
25     ', PAGE_BREAK_AFTER_FLAG, PAGE_BREAK_BEFORE_FLAG' ||
26     ', NUMBER_LINES_SKIPPED_BEFORE, NUMBER_LINES_SKIPPED_AFTER,DISPLAY_LEVEL'||
27     ', DISPLAY_ZERO_AMOUNT_FLAG, CHANGE_SIGN_FLAG, CHANGE_VARIANCE_SIGN_FLAG'||
28     ', DISPLAY_UNITS, DISPLAY_FORMAT, CALCULATION_PRECEDENCE_FLAG, CONTEXT ' ||
29     ', ATTRIBUTE1 , ATTRIBUTE2 , ATTRIBUTE3 , ATTRIBUTE4 , ATTRIBUTE5' ||
30     ', ATTRIBUTE6 , ATTRIBUTE7 , ATTRIBUTE8 , ATTRIBUTE9 ' ||
31     ', ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12, ATTRIBUTE13' ||
32     ', ATTRIBUTE14, ATTRIBUTE15, PERCENTAGE_DIVISOR_SEQ, TRANSACTION_FLAG' ||
33     ', FORMAT_BEFORE_TEXT, FORMAT_AFTER_TEXT, FORMAT_MASK_WIDTH' ||
34     ', DISPLAY_PRECISION, SEGMENT_OVERRIDE_VALUE' ||
35     ', OVERRIDE_ALC_LEDGER_CURRENCY, ELEMENT_ID' ||
36     ') SELECT' ||
37     '  APPLICATION_ID, :id, AXIS_SEQ, sysdate' ||
38     ', :user_id, :login_id, sysdate, :user_id' ||
39     ', AXIS_TYPE, AXIS_NAME, AMOUNT_ID, STANDARD_AXIS_ID' ||
40     ', WIDTH, POSITION, null, :currency_code ' ||
41     ', PARAMETER_NUM, PERIOD_OFFSET, DESCRIPTION, DISPLAY_FLAG' ||
42     ', BEFORE_AXIS_STRING, AFTER_AXIS_STRING, NUMBER_CHARACTERS_INDENTED' ||
43     ', PAGE_BREAK_AFTER_FLAG, PAGE_BREAK_BEFORE_FLAG' ||
44     ', NUMBER_LINES_SKIPPED_BEFORE, NUMBER_LINES_SKIPPED_AFTER,DISPLAY_LEVEL'||
45     ', DISPLAY_ZERO_AMOUNT_FLAG, CHANGE_SIGN_FLAG, CHANGE_VARIANCE_SIGN_FLAG'||
46     ', DISPLAY_UNITS, DISPLAY_FORMAT, CALCULATION_PRECEDENCE_FLAG, CONTEXT'  ||
47     ', ATTRIBUTE1 , ATTRIBUTE2 , ATTRIBUTE3 , ATTRIBUTE4 , ATTRIBUTE5' ||
48     ', ATTRIBUTE6 , ATTRIBUTE7 , ATTRIBUTE8 , ATTRIBUTE9 ' ||
49     ', ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12, ATTRIBUTE13' ||
50     ', ATTRIBUTE14, ATTRIBUTE15, PERCENTAGE_DIVISOR_SEQ, TRANSACTION_FLAG' ||
51     ', FORMAT_BEFORE_TEXT, FORMAT_AFTER_TEXT, FORMAT_MASK_WIDTH' ||
52     ', DISPLAY_PRECISION,'||
53     ':segment_override_value' ||
54     ', :override_alc_ledger_currency, :elem_id ' ||
55     'FROM RG_REPORT_AXES@';
56 
57 ContentOverridesString VARCHAR2(12000) :=
58  'INSERT INTO RG_REPORT_CONTENT_OVERRIDES (' ||
59  '  APPLICATION_ID, CONTENT_SET_ID, LAST_UPDATE_DATE' ||
60  ', LAST_UPDATED_BY, LAST_UPDATE_LOGIN, CREATION_DATE' ||
61  ', CREATED_BY, OVERRIDE_SEQ, RANGE_MODE' ||
62  ', LEDGER_ID, LEDGER_SEGMENT_TYPE, ALC_LEDGER_CURRENCY' ||
63  ', SEGMENT1_LOW, SEGMENT1_HIGH, SEGMENT1_TYPE' ||
64  ', SEGMENT2_LOW, SEGMENT2_HIGH, SEGMENT2_TYPE' ||
65  ', SEGMENT3_LOW, SEGMENT3_HIGH, SEGMENT3_TYPE' ||
66  ', SEGMENT4_LOW, SEGMENT4_HIGH, SEGMENT4_TYPE' ||
67  ', SEGMENT5_LOW, SEGMENT5_HIGH, SEGMENT5_TYPE' ||
68  ', SEGMENT6_LOW, SEGMENT6_HIGH, SEGMENT6_TYPE' ||
69  ', SEGMENT7_LOW, SEGMENT7_HIGH, SEGMENT7_TYPE' ||
70  ', SEGMENT8_LOW, SEGMENT8_HIGH, SEGMENT8_TYPE' ||
71  ', SEGMENT9_LOW, SEGMENT9_HIGH, SEGMENT9_TYPE' ||
72  ', SEGMENT10_LOW, SEGMENT10_HIGH, SEGMENT10_TYPE' ||
73  ', SEGMENT11_LOW, SEGMENT11_HIGH, SEGMENT11_TYPE' ||
74  ', SEGMENT12_LOW, SEGMENT12_HIGH, SEGMENT12_TYPE' ||
75  ', SEGMENT13_LOW, SEGMENT13_HIGH, SEGMENT13_TYPE' ||
76  ', SEGMENT14_LOW, SEGMENT14_HIGH, SEGMENT14_TYPE' ||
77  ', SEGMENT15_LOW, SEGMENT15_HIGH, SEGMENT15_TYPE' ||
78  ', SEGMENT16_LOW, SEGMENT16_HIGH, SEGMENT16_TYPE' ||
79  ', SEGMENT17_LOW, SEGMENT17_HIGH, SEGMENT17_TYPE' ||
80  ', SEGMENT18_LOW, SEGMENT18_HIGH, SEGMENT18_TYPE' ||
81  ', SEGMENT19_LOW, SEGMENT19_HIGH, SEGMENT19_TYPE' ||
82  ', SEGMENT20_LOW, SEGMENT20_HIGH, SEGMENT20_TYPE' ||
83  ', SEGMENT21_LOW, SEGMENT21_HIGH, SEGMENT21_TYPE' ||
84  ', SEGMENT22_LOW, SEGMENT22_HIGH, SEGMENT22_TYPE' ||
85  ', SEGMENT23_LOW, SEGMENT23_HIGH, SEGMENT23_TYPE' ||
86  ', SEGMENT24_LOW, SEGMENT24_HIGH, SEGMENT24_TYPE' ||
87  ', SEGMENT25_LOW, SEGMENT25_HIGH, SEGMENT25_TYPE' ||
88  ', SEGMENT26_LOW, SEGMENT26_HIGH, SEGMENT26_TYPE' ||
89  ', SEGMENT27_LOW, SEGMENT27_HIGH, SEGMENT27_TYPE' ||
90  ', SEGMENT28_LOW, SEGMENT28_HIGH, SEGMENT28_TYPE' ||
91  ', SEGMENT29_LOW, SEGMENT29_HIGH, SEGMENT29_TYPE' ||
92  ', SEGMENT30_LOW, SEGMENT30_HIGH, SEGMENT30_TYPE' ||
93  ', CONTEXT, ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE5' ||
94  ', ATTRIBUTE6, ATTRIBUTE7, ATTRIBUTE8, ATTRIBUTE9, ATTRIBUTE10, ATTRIBUTE11'||
95  ', ATTRIBUTE12, ATTRIBUTE13, ATTRIBUTE14' ||
96  ', ATTRIBUTE15, SEGMENT_ATTRIBUTE1_LOW, SEGMENT_ATTRIBUTE1_HIGH' ||
97  ', SEGMENT_ATTRIBUTE1_TYPE, SEGMENT_ATTRIBUTE2_LOW, SEGMENT_ATTRIBUTE2_HIGH'||
98  ', SEGMENT_ATTRIBUTE2_TYPE, SEGMENT_ATTRIBUTE3_LOW, SEGMENT_ATTRIBUTE3_HIGH'||
99  ', SEGMENT_ATTRIBUTE3_TYPE, SEGMENT_ATTRIBUTE4_LOW, SEGMENT_ATTRIBUTE4_HIGH'||
100  ', SEGMENT_ATTRIBUTE4_TYPE, SEGMENT_ATTRIBUTE5_LOW, SEGMENT_ATTRIBUTE5_HIGH'||
101  ', SEGMENT_ATTRIBUTE5_TYPE, SEGMENT_ATTRIBUTE6_LOW, SEGMENT_ATTRIBUTE6_HIGH'||
102  ', SEGMENT_ATTRIBUTE6_TYPE, SEGMENT_ATTRIBUTE7_LOW, SEGMENT_ATTRIBUTE7_HIGH'||
103  ', SEGMENT_ATTRIBUTE7_TYPE, SEGMENT_ATTRIBUTE8_LOW, SEGMENT_ATTRIBUTE8_HIGH'||
104  ', SEGMENT_ATTRIBUTE8_TYPE, SEGMENT_ATTRIBUTE9_LOW, SEGMENT_ATTRIBUTE9_HIGH'||
105  ',SEGMENT_ATTRIBUTE9_TYPE,SEGMENT_ATTRIBUTE10_LOW,SEGMENT_ATTRIBUTE10_HIGH'||
106  ',SEGMENT_ATTRIBUTE10_TYPE,SEGMENT_ATTRIBUTE11_LOW,SEGMENT_ATTRIBUTE11_HIGH'||
107  ',SEGMENT_ATTRIBUTE11_TYPE,SEGMENT_ATTRIBUTE12_LOW,SEGMENT_ATTRIBUTE12_HIGH'||
108  ',SEGMENT_ATTRIBUTE12_TYPE,SEGMENT_ATTRIBUTE13_LOW,SEGMENT_ATTRIBUTE13_HIGH'||
109  ',SEGMENT_ATTRIBUTE13_TYPE,SEGMENT_ATTRIBUTE14_LOW,SEGMENT_ATTRIBUTE14_HIGH'||
110  ',SEGMENT_ATTRIBUTE14_TYPE,SEGMENT_ATTRIBUTE15_LOW,SEGMENT_ATTRIBUTE15_HIGH'||
111  ',SEGMENT_ATTRIBUTE15_TYPE,SEGMENT_ATTRIBUTE16_LOW,SEGMENT_ATTRIBUTE16_HIGH'||
112  ',SEGMENT_ATTRIBUTE16_TYPE,SEGMENT_ATTRIBUTE17_LOW,SEGMENT_ATTRIBUTE17_HIGH'||
113  ',SEGMENT_ATTRIBUTE17_TYPE,SEGMENT_ATTRIBUTE18_LOW,SEGMENT_ATTRIBUTE18_HIGH'||
114  ',SEGMENT_ATTRIBUTE18_TYPE,SEGMENT_ATTRIBUTE19_LOW,SEGMENT_ATTRIBUTE19_HIGH'||
115  ',SEGMENT_ATTRIBUTE19_TYPE,SEGMENT_ATTRIBUTE20_LOW,SEGMENT_ATTRIBUTE20_HIGH'||
116  ',SEGMENT_ATTRIBUTE20_TYPE,SEGMENT_ATTRIBUTE21_LOW,SEGMENT_ATTRIBUTE21_HIGH'||
117  ',SEGMENT_ATTRIBUTE21_TYPE,SEGMENT_ATTRIBUTE22_LOW,SEGMENT_ATTRIBUTE22_HIGH'||
118  ',SEGMENT_ATTRIBUTE22_TYPE,SEGMENT_ATTRIBUTE23_LOW,SEGMENT_ATTRIBUTE23_HIGH'||
119  ',SEGMENT_ATTRIBUTE23_TYPE,SEGMENT_ATTRIBUTE24_LOW,SEGMENT_ATTRIBUTE24_HIGH'||
120  ',SEGMENT_ATTRIBUTE24_TYPE,SEGMENT_ATTRIBUTE25_LOW,SEGMENT_ATTRIBUTE25_HIGH'||
121  ',SEGMENT_ATTRIBUTE25_TYPE,SEGMENT_ATTRIBUTE26_LOW,SEGMENT_ATTRIBUTE26_HIGH'||
122  ',SEGMENT_ATTRIBUTE26_TYPE,SEGMENT_ATTRIBUTE27_LOW,SEGMENT_ATTRIBUTE27_HIGH'||
123  ',SEGMENT_ATTRIBUTE27_TYPE,SEGMENT_ATTRIBUTE28_LOW,SEGMENT_ATTRIBUTE28_HIGH'||
124  ',SEGMENT_ATTRIBUTE28_TYPE,SEGMENT_ATTRIBUTE29_LOW,SEGMENT_ATTRIBUTE29_HIGH'||
125  ',SEGMENT_ATTRIBUTE29_TYPE,SEGMENT_ATTRIBUTE30_LOW,SEGMENT_ATTRIBUTE30_HIGH'||
126  ',SEGMENT_ATTRIBUTE30_TYPE,SEGMENT_ATTRIBUTE31_LOW,SEGMENT_ATTRIBUTE31_HIGH'||
127  ',SEGMENT_ATTRIBUTE31_TYPE,SEGMENT_ATTRIBUTE32_LOW,SEGMENT_ATTRIBUTE32_HIGH'||
128  ',SEGMENT_ATTRIBUTE32_TYPE,SEGMENT_ATTRIBUTE33_LOW,SEGMENT_ATTRIBUTE33_HIGH'||
129  ',SEGMENT_ATTRIBUTE33_TYPE,SEGMENT_ATTRIBUTE34_LOW,SEGMENT_ATTRIBUTE34_HIGH'||
130  ',SEGMENT_ATTRIBUTE34_TYPE,SEGMENT_ATTRIBUTE35_LOW,SEGMENT_ATTRIBUTE35_HIGH'||
131  ',SEGMENT_ATTRIBUTE35_TYPE,SEGMENT_ATTRIBUTE36_LOW,SEGMENT_ATTRIBUTE36_HIGH'||
132  ',SEGMENT_ATTRIBUTE36_TYPE,SEGMENT_ATTRIBUTE37_LOW,SEGMENT_ATTRIBUTE37_HIGH'||
133  ',SEGMENT_ATTRIBUTE37_TYPE,SEGMENT_ATTRIBUTE38_LOW,SEGMENT_ATTRIBUTE38_HIGH'||
134  ',SEGMENT_ATTRIBUTE38_TYPE,SEGMENT_ATTRIBUTE39_LOW,SEGMENT_ATTRIBUTE39_HIGH'||
135  ',SEGMENT_ATTRIBUTE39_TYPE,SEGMENT_ATTRIBUTE40_LOW,SEGMENT_ATTRIBUTE40_HIGH'||
136  ',SEGMENT_ATTRIBUTE40_TYPE,SEGMENT_ATTRIBUTE41_LOW,SEGMENT_ATTRIBUTE41_HIGH'||
137  ',SEGMENT_ATTRIBUTE41_TYPE,SEGMENT_ATTRIBUTE42_LOW,SEGMENT_ATTRIBUTE42_HIGH'||
138  ',SEGMENT_ATTRIBUTE42_TYPE'||
139  ') SELECT'||
140  '  APPLICATION_ID, :id, sysdate' ||
141  ', :user_id, :login_id, sysdate' ||
142  ', :user_id, OVERRIDE_SEQ, RANGE_MODE' ||
143  ', :ledger_id, LEDGER_SEGMENT_TYPE, :alc_ledger_currency' ||
144  ', SEGMENT1_LOW, SEGMENT1_HIGH, SEGMENT1_TYPE' ||
145  ', SEGMENT2_LOW, SEGMENT2_HIGH, SEGMENT2_TYPE' ||
146  ', SEGMENT3_LOW, SEGMENT3_HIGH, SEGMENT3_TYPE' ||
147  ', SEGMENT4_LOW, SEGMENT4_HIGH, SEGMENT4_TYPE' ||
148  ', SEGMENT5_LOW, SEGMENT5_HIGH, SEGMENT5_TYPE' ||
149  ', SEGMENT6_LOW, SEGMENT6_HIGH, SEGMENT6_TYPE' ||
150  ', SEGMENT7_LOW, SEGMENT7_HIGH, SEGMENT7_TYPE' ||
151  ', SEGMENT8_LOW, SEGMENT8_HIGH, SEGMENT8_TYPE' ||
152  ', SEGMENT9_LOW, SEGMENT9_HIGH, SEGMENT9_TYPE' ||
153  ', SEGMENT10_LOW, SEGMENT10_HIGH, SEGMENT10_TYPE' ||
154  ', SEGMENT11_LOW, SEGMENT11_HIGH, SEGMENT11_TYPE' ||
155  ', SEGMENT12_LOW, SEGMENT12_HIGH, SEGMENT12_TYPE' ||
156  ', SEGMENT13_LOW, SEGMENT13_HIGH, SEGMENT13_TYPE' ||
157  ', SEGMENT14_LOW, SEGMENT14_HIGH, SEGMENT14_TYPE' ||
158  ', SEGMENT15_LOW, SEGMENT15_HIGH, SEGMENT15_TYPE' ||
159  ', SEGMENT16_LOW, SEGMENT16_HIGH, SEGMENT16_TYPE' ||
160  ', SEGMENT17_LOW, SEGMENT17_HIGH, SEGMENT17_TYPE' ||
161  ', SEGMENT18_LOW, SEGMENT18_HIGH, SEGMENT18_TYPE' ||
162  ', SEGMENT19_LOW, SEGMENT19_HIGH, SEGMENT19_TYPE' ||
163  ', SEGMENT20_LOW, SEGMENT20_HIGH, SEGMENT20_TYPE' ||
164  ', SEGMENT21_LOW, SEGMENT21_HIGH, SEGMENT21_TYPE' ||
165  ', SEGMENT22_LOW, SEGMENT22_HIGH, SEGMENT22_TYPE' ||
166  ', SEGMENT23_LOW, SEGMENT23_HIGH, SEGMENT23_TYPE' ||
167  ', SEGMENT24_LOW, SEGMENT24_HIGH, SEGMENT24_TYPE' ||
168  ', SEGMENT25_LOW, SEGMENT25_HIGH, SEGMENT25_TYPE' ||
169  ', SEGMENT26_LOW, SEGMENT26_HIGH, SEGMENT26_TYPE' ||
170  ', SEGMENT27_LOW, SEGMENT27_HIGH, SEGMENT27_TYPE' ||
171  ', SEGMENT28_LOW, SEGMENT28_HIGH, SEGMENT28_TYPE' ||
172  ', SEGMENT29_LOW, SEGMENT29_HIGH, SEGMENT29_TYPE' ||
173  ', SEGMENT30_LOW, SEGMENT30_HIGH, SEGMENT30_TYPE' ||
174  ', CONTEXT, ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE5' ||
175  ', ATTRIBUTE6, ATTRIBUTE7, ATTRIBUTE8, ATTRIBUTE9, ATTRIBUTE10, ATTRIBUTE11'||
176  ', ATTRIBUTE12, ATTRIBUTE13, ATTRIBUTE14' ||
177  ', ATTRIBUTE15, SEGMENT_ATTRIBUTE1_LOW, SEGMENT_ATTRIBUTE1_HIGH' ||
178  ', SEGMENT_ATTRIBUTE1_TYPE, SEGMENT_ATTRIBUTE2_LOW, SEGMENT_ATTRIBUTE2_HIGH'||
179  ', SEGMENT_ATTRIBUTE2_TYPE, SEGMENT_ATTRIBUTE3_LOW, SEGMENT_ATTRIBUTE3_HIGH'||
180  ', SEGMENT_ATTRIBUTE3_TYPE, SEGMENT_ATTRIBUTE4_LOW, SEGMENT_ATTRIBUTE4_HIGH'||
181  ', SEGMENT_ATTRIBUTE4_TYPE, SEGMENT_ATTRIBUTE5_LOW, SEGMENT_ATTRIBUTE5_HIGH'||
182  ', SEGMENT_ATTRIBUTE5_TYPE, SEGMENT_ATTRIBUTE6_LOW, SEGMENT_ATTRIBUTE6_HIGH'||
183  ', SEGMENT_ATTRIBUTE6_TYPE, SEGMENT_ATTRIBUTE7_LOW, SEGMENT_ATTRIBUTE7_HIGH'||
184  ', SEGMENT_ATTRIBUTE7_TYPE, SEGMENT_ATTRIBUTE8_LOW, SEGMENT_ATTRIBUTE8_HIGH'||
185  ', SEGMENT_ATTRIBUTE8_TYPE, SEGMENT_ATTRIBUTE9_LOW, SEGMENT_ATTRIBUTE9_HIGH'||
186  ',SEGMENT_ATTRIBUTE9_TYPE,SEGMENT_ATTRIBUTE10_LOW,SEGMENT_ATTRIBUTE10_HIGH'||
187  ',SEGMENT_ATTRIBUTE10_TYPE,SEGMENT_ATTRIBUTE11_LOW,SEGMENT_ATTRIBUTE11_HIGH'||
188  ',SEGMENT_ATTRIBUTE11_TYPE,SEGMENT_ATTRIBUTE12_LOW,SEGMENT_ATTRIBUTE12_HIGH'||
189  ',SEGMENT_ATTRIBUTE12_TYPE,SEGMENT_ATTRIBUTE13_LOW,SEGMENT_ATTRIBUTE13_HIGH'||
190  ',SEGMENT_ATTRIBUTE13_TYPE,SEGMENT_ATTRIBUTE14_LOW,SEGMENT_ATTRIBUTE14_HIGH'||
191  ',SEGMENT_ATTRIBUTE14_TYPE,SEGMENT_ATTRIBUTE15_LOW,SEGMENT_ATTRIBUTE15_HIGH'||
192  ',SEGMENT_ATTRIBUTE15_TYPE,SEGMENT_ATTRIBUTE16_LOW,SEGMENT_ATTRIBUTE16_HIGH'||
193  ',SEGMENT_ATTRIBUTE16_TYPE,SEGMENT_ATTRIBUTE17_LOW,SEGMENT_ATTRIBUTE17_HIGH'||
194  ',SEGMENT_ATTRIBUTE17_TYPE,SEGMENT_ATTRIBUTE18_LOW,SEGMENT_ATTRIBUTE18_HIGH'||
195  ',SEGMENT_ATTRIBUTE18_TYPE,SEGMENT_ATTRIBUTE19_LOW,SEGMENT_ATTRIBUTE19_HIGH'||
196  ',SEGMENT_ATTRIBUTE19_TYPE,SEGMENT_ATTRIBUTE20_LOW,SEGMENT_ATTRIBUTE20_HIGH'||
197  ',SEGMENT_ATTRIBUTE20_TYPE,SEGMENT_ATTRIBUTE21_LOW,SEGMENT_ATTRIBUTE21_HIGH'||
198  ',SEGMENT_ATTRIBUTE21_TYPE,SEGMENT_ATTRIBUTE22_LOW,SEGMENT_ATTRIBUTE22_HIGH'||
199  ',SEGMENT_ATTRIBUTE22_TYPE,SEGMENT_ATTRIBUTE23_LOW,SEGMENT_ATTRIBUTE23_HIGH'||
200  ',SEGMENT_ATTRIBUTE23_TYPE,SEGMENT_ATTRIBUTE24_LOW,SEGMENT_ATTRIBUTE24_HIGH'||
201  ',SEGMENT_ATTRIBUTE24_TYPE,SEGMENT_ATTRIBUTE25_LOW,SEGMENT_ATTRIBUTE25_HIGH'||
202  ',SEGMENT_ATTRIBUTE25_TYPE,SEGMENT_ATTRIBUTE26_LOW,SEGMENT_ATTRIBUTE26_HIGH'||
203  ',SEGMENT_ATTRIBUTE26_TYPE,SEGMENT_ATTRIBUTE27_LOW,SEGMENT_ATTRIBUTE27_HIGH'||
204  ',SEGMENT_ATTRIBUTE27_TYPE,SEGMENT_ATTRIBUTE28_LOW,SEGMENT_ATTRIBUTE28_HIGH'||
205  ',SEGMENT_ATTRIBUTE28_TYPE,SEGMENT_ATTRIBUTE29_LOW,SEGMENT_ATTRIBUTE29_HIGH'||
206  ',SEGMENT_ATTRIBUTE29_TYPE,SEGMENT_ATTRIBUTE30_LOW,SEGMENT_ATTRIBUTE30_HIGH'||
207  ',SEGMENT_ATTRIBUTE30_TYPE,SEGMENT_ATTRIBUTE31_LOW,SEGMENT_ATTRIBUTE31_HIGH'||
208  ',SEGMENT_ATTRIBUTE31_TYPE,SEGMENT_ATTRIBUTE32_LOW,SEGMENT_ATTRIBUTE32_HIGH'||
209  ',SEGMENT_ATTRIBUTE32_TYPE,SEGMENT_ATTRIBUTE33_LOW,SEGMENT_ATTRIBUTE33_HIGH'||
210  ',SEGMENT_ATTRIBUTE33_TYPE,SEGMENT_ATTRIBUTE34_LOW,SEGMENT_ATTRIBUTE34_HIGH'||
211  ',SEGMENT_ATTRIBUTE34_TYPE,SEGMENT_ATTRIBUTE35_LOW,SEGMENT_ATTRIBUTE35_HIGH'||
212  ',SEGMENT_ATTRIBUTE35_TYPE,SEGMENT_ATTRIBUTE36_LOW,SEGMENT_ATTRIBUTE36_HIGH'||
213  ',SEGMENT_ATTRIBUTE36_TYPE,SEGMENT_ATTRIBUTE37_LOW,SEGMENT_ATTRIBUTE37_HIGH'||
214  ',SEGMENT_ATTRIBUTE37_TYPE,SEGMENT_ATTRIBUTE38_LOW,SEGMENT_ATTRIBUTE38_HIGH'||
215  ',SEGMENT_ATTRIBUTE38_TYPE,SEGMENT_ATTRIBUTE39_LOW,SEGMENT_ATTRIBUTE39_HIGH'||
216  ',SEGMENT_ATTRIBUTE39_TYPE,SEGMENT_ATTRIBUTE40_LOW,SEGMENT_ATTRIBUTE40_HIGH'||
217  ',SEGMENT_ATTRIBUTE40_TYPE,SEGMENT_ATTRIBUTE41_LOW,SEGMENT_ATTRIBUTE41_HIGH'||
218  ',SEGMENT_ATTRIBUTE41_TYPE,SEGMENT_ATTRIBUTE42_LOW,SEGMENT_ATTRIBUTE42_HIGH'||
219  ',SEGMENT_ATTRIBUTE42_TYPE '||
220  'FROM RG_REPORT_CONTENT_OVERRIDES@';
221 
222 AxisContentsString VARCHAR2(12000) :=
223  'INSERT INTO RG_REPORT_AXIS_CONTENTS (' ||
224  '  APPLICATION_ID, AXIS_SET_ID, AXIS_SEQ' ||
225  ', LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN' ||
226  ', CREATION_DATE, CREATED_BY, RANGE_MODE, SIGN' ||
227  ', DR_CR_NET_CODE, LEDGER_ID, LEDGER_SEGMENT_TYPE, ALC_LEDGER_CURRENCY' ||
228  ', SEGMENT1_LOW, SEGMENT1_HIGH, SEGMENT1_TYPE' ||
229  ', SEGMENT2_LOW, SEGMENT2_HIGH, SEGMENT2_TYPE' ||
230  ', SEGMENT3_LOW, SEGMENT3_HIGH, SEGMENT3_TYPE' ||
231  ', SEGMENT4_LOW, SEGMENT4_HIGH, SEGMENT4_TYPE' ||
232  ', SEGMENT5_LOW, SEGMENT5_HIGH, SEGMENT5_TYPE' ||
233  ', SEGMENT6_LOW, SEGMENT6_HIGH, SEGMENT6_TYPE' ||
234  ', SEGMENT7_LOW, SEGMENT7_HIGH, SEGMENT7_TYPE' ||
235  ', SEGMENT8_LOW, SEGMENT8_HIGH, SEGMENT8_TYPE' ||
236  ', SEGMENT9_LOW, SEGMENT9_HIGH, SEGMENT9_TYPE' ||
237  ', SEGMENT10_LOW, SEGMENT10_HIGH, SEGMENT10_TYPE' ||
238  ', SEGMENT11_LOW, SEGMENT11_HIGH, SEGMENT11_TYPE' ||
239  ', SEGMENT12_LOW, SEGMENT12_HIGH, SEGMENT12_TYPE' ||
240  ', SEGMENT13_LOW, SEGMENT13_HIGH, SEGMENT13_TYPE' ||
241  ', SEGMENT14_LOW, SEGMENT14_HIGH, SEGMENT14_TYPE' ||
242  ', SEGMENT15_LOW, SEGMENT15_HIGH, SEGMENT15_TYPE' ||
243  ', SEGMENT16_LOW, SEGMENT16_HIGH, SEGMENT16_TYPE' ||
244  ', SEGMENT17_LOW, SEGMENT17_HIGH, SEGMENT17_TYPE' ||
245  ', SEGMENT18_LOW, SEGMENT18_HIGH, SEGMENT18_TYPE' ||
246  ', SEGMENT19_LOW, SEGMENT19_HIGH, SEGMENT19_TYPE' ||
247  ', SEGMENT20_LOW, SEGMENT20_HIGH, SEGMENT20_TYPE' ||
248  ', SEGMENT21_LOW, SEGMENT21_HIGH, SEGMENT21_TYPE' ||
249  ', SEGMENT22_LOW, SEGMENT22_HIGH, SEGMENT22_TYPE' ||
250  ', SEGMENT23_LOW, SEGMENT23_HIGH, SEGMENT23_TYPE' ||
251  ', SEGMENT24_LOW, SEGMENT24_HIGH, SEGMENT24_TYPE' ||
252  ', SEGMENT25_LOW, SEGMENT25_HIGH, SEGMENT25_TYPE' ||
253  ', SEGMENT26_LOW, SEGMENT26_HIGH, SEGMENT26_TYPE' ||
254  ', SEGMENT27_LOW, SEGMENT27_HIGH, SEGMENT27_TYPE' ||
255  ', SEGMENT28_LOW, SEGMENT28_HIGH, SEGMENT28_TYPE' ||
256  ', SEGMENT29_LOW, SEGMENT29_HIGH, SEGMENT29_TYPE' ||
257  ', SEGMENT30_LOW, SEGMENT30_HIGH, SEGMENT30_TYPE' ||
258  ', CONTEXT, ATTRIBUTE1, ATTRIBUTE2' ||
259  ', ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE5' ||
260  ', ATTRIBUTE6, ATTRIBUTE7, ATTRIBUTE8' ||
261  ', ATTRIBUTE9, ATTRIBUTE10, ATTRIBUTE11' ||
262  ', ATTRIBUTE12, ATTRIBUTE13, ATTRIBUTE14' ||
263  ', ATTRIBUTE15, SEGMENT_ATTRIBUTE1_LOW, SEGMENT_ATTRIBUTE1_HIGH' ||
264  ',SEGMENT_ATTRIBUTE1_TYPE,SEGMENT_ATTRIBUTE2_LOW,SEGMENT_ATTRIBUTE2_HIGH'||
265  ',SEGMENT_ATTRIBUTE2_TYPE,SEGMENT_ATTRIBUTE3_LOW,SEGMENT_ATTRIBUTE3_HIGH'||
266  ',SEGMENT_ATTRIBUTE3_TYPE,SEGMENT_ATTRIBUTE4_LOW,SEGMENT_ATTRIBUTE4_HIGH'||
267  ',SEGMENT_ATTRIBUTE4_TYPE,SEGMENT_ATTRIBUTE5_LOW,SEGMENT_ATTRIBUTE5_HIGH'||
268  ',SEGMENT_ATTRIBUTE5_TYPE,SEGMENT_ATTRIBUTE6_LOW,SEGMENT_ATTRIBUTE6_HIGH'||
269  ',SEGMENT_ATTRIBUTE6_TYPE,SEGMENT_ATTRIBUTE7_LOW,SEGMENT_ATTRIBUTE7_HIGH'||
273  ',SEGMENT_ATTRIBUTE10_TYPE,SEGMENT_ATTRIBUTE11_LOW,SEGMENT_ATTRIBUTE11_HIGH'||
270  ',SEGMENT_ATTRIBUTE7_TYPE,SEGMENT_ATTRIBUTE8_LOW,SEGMENT_ATTRIBUTE8_HIGH'||
271  ',SEGMENT_ATTRIBUTE8_TYPE,SEGMENT_ATTRIBUTE9_LOW,SEGMENT_ATTRIBUTE9_HIGH'||
272  ',SEGMENT_ATTRIBUTE9_TYPE,SEGMENT_ATTRIBUTE10_LOW,SEGMENT_ATTRIBUTE10_HIGH'||
274  ',SEGMENT_ATTRIBUTE11_TYPE,SEGMENT_ATTRIBUTE12_LOW,SEGMENT_ATTRIBUTE12_HIGH'||
275  ',SEGMENT_ATTRIBUTE12_TYPE,SEGMENT_ATTRIBUTE13_LOW,SEGMENT_ATTRIBUTE13_HIGH'||
276  ',SEGMENT_ATTRIBUTE13_TYPE,SEGMENT_ATTRIBUTE14_LOW,SEGMENT_ATTRIBUTE14_HIGH'||
277  ',SEGMENT_ATTRIBUTE14_TYPE,SEGMENT_ATTRIBUTE15_LOW,SEGMENT_ATTRIBUTE15_HIGH'||
278  ',SEGMENT_ATTRIBUTE15_TYPE,SEGMENT_ATTRIBUTE16_LOW,SEGMENT_ATTRIBUTE16_HIGH'||
279  ',SEGMENT_ATTRIBUTE16_TYPE,SEGMENT_ATTRIBUTE17_LOW,SEGMENT_ATTRIBUTE17_HIGH'||
280  ',SEGMENT_ATTRIBUTE17_TYPE,SEGMENT_ATTRIBUTE18_LOW,SEGMENT_ATTRIBUTE18_HIGH'||
281  ',SEGMENT_ATTRIBUTE18_TYPE,SEGMENT_ATTRIBUTE19_LOW,SEGMENT_ATTRIBUTE19_HIGH'||
282  ',SEGMENT_ATTRIBUTE19_TYPE,SEGMENT_ATTRIBUTE20_LOW,SEGMENT_ATTRIBUTE20_HIGH'||
283  ',SEGMENT_ATTRIBUTE20_TYPE,SEGMENT_ATTRIBUTE21_LOW,SEGMENT_ATTRIBUTE21_HIGH'||
284  ',SEGMENT_ATTRIBUTE21_TYPE,SEGMENT_ATTRIBUTE22_LOW,SEGMENT_ATTRIBUTE22_HIGH'||
285  ',SEGMENT_ATTRIBUTE22_TYPE,SEGMENT_ATTRIBUTE23_LOW,SEGMENT_ATTRIBUTE23_HIGH'||
286  ',SEGMENT_ATTRIBUTE23_TYPE,SEGMENT_ATTRIBUTE24_LOW,SEGMENT_ATTRIBUTE24_HIGH'||
287  ',SEGMENT_ATTRIBUTE24_TYPE,SEGMENT_ATTRIBUTE25_LOW,SEGMENT_ATTRIBUTE25_HIGH'||
288  ',SEGMENT_ATTRIBUTE25_TYPE,SEGMENT_ATTRIBUTE26_LOW,SEGMENT_ATTRIBUTE26_HIGH'||
289  ',SEGMENT_ATTRIBUTE26_TYPE,SEGMENT_ATTRIBUTE27_LOW,SEGMENT_ATTRIBUTE27_HIGH'||
290  ',SEGMENT_ATTRIBUTE27_TYPE,SEGMENT_ATTRIBUTE28_LOW,SEGMENT_ATTRIBUTE28_HIGH'||
291  ',SEGMENT_ATTRIBUTE28_TYPE,SEGMENT_ATTRIBUTE29_LOW,SEGMENT_ATTRIBUTE29_HIGH'||
292  ',SEGMENT_ATTRIBUTE29_TYPE,SEGMENT_ATTRIBUTE30_LOW,SEGMENT_ATTRIBUTE30_HIGH'||
293  ',SEGMENT_ATTRIBUTE30_TYPE,SEGMENT_ATTRIBUTE31_LOW,SEGMENT_ATTRIBUTE31_HIGH'||
294  ',SEGMENT_ATTRIBUTE31_TYPE,SEGMENT_ATTRIBUTE32_LOW,SEGMENT_ATTRIBUTE32_HIGH'||
295  ',SEGMENT_ATTRIBUTE32_TYPE,SEGMENT_ATTRIBUTE33_LOW,SEGMENT_ATTRIBUTE33_HIGH'||
296  ',SEGMENT_ATTRIBUTE33_TYPE,SEGMENT_ATTRIBUTE34_LOW,SEGMENT_ATTRIBUTE34_HIGH'||
297  ',SEGMENT_ATTRIBUTE34_TYPE,SEGMENT_ATTRIBUTE35_LOW,SEGMENT_ATTRIBUTE35_HIGH'||
298  ',SEGMENT_ATTRIBUTE35_TYPE,SEGMENT_ATTRIBUTE36_LOW,SEGMENT_ATTRIBUTE36_HIGH'||
299  ',SEGMENT_ATTRIBUTE36_TYPE,SEGMENT_ATTRIBUTE37_LOW,SEGMENT_ATTRIBUTE37_HIGH'||
300  ',SEGMENT_ATTRIBUTE37_TYPE,SEGMENT_ATTRIBUTE38_LOW,SEGMENT_ATTRIBUTE38_HIGH'||
301  ',SEGMENT_ATTRIBUTE38_TYPE,SEGMENT_ATTRIBUTE39_LOW,SEGMENT_ATTRIBUTE39_HIGH'||
302  ',SEGMENT_ATTRIBUTE39_TYPE,SEGMENT_ATTRIBUTE40_LOW,SEGMENT_ATTRIBUTE40_HIGH'||
303  ',SEGMENT_ATTRIBUTE40_TYPE,SEGMENT_ATTRIBUTE41_LOW,SEGMENT_ATTRIBUTE41_HIGH'||
304  ',SEGMENT_ATTRIBUTE41_TYPE,SEGMENT_ATTRIBUTE42_LOW,SEGMENT_ATTRIBUTE42_HIGH'||
305  ',SEGMENT_ATTRIBUTE42_TYPE ' ||
306  ') SELECT' ||
307  '  APPLICATION_ID, :id, AXIS_SEQ' ||
308  ', sysdate, :user_id, :login_id' ||
309  ', sysdate, :user_id, RANGE_MODE, SIGN' ||
310  ', DR_CR_NET_CODE, :ledger_id, LEDGER_SEGMENT_TYPE, :alc_ledger_currency' ||
311  ', SEGMENT1_LOW, SEGMENT1_HIGH, SEGMENT1_TYPE' ||
312  ', SEGMENT2_LOW, SEGMENT2_HIGH, SEGMENT2_TYPE' ||
313  ', SEGMENT3_LOW, SEGMENT3_HIGH, SEGMENT3_TYPE' ||
314  ', SEGMENT4_LOW, SEGMENT4_HIGH, SEGMENT4_TYPE' ||
315  ', SEGMENT5_LOW, SEGMENT5_HIGH, SEGMENT5_TYPE' ||
316  ', SEGMENT6_LOW, SEGMENT6_HIGH, SEGMENT6_TYPE' ||
317  ', SEGMENT7_LOW, SEGMENT7_HIGH, SEGMENT7_TYPE' ||
318  ', SEGMENT8_LOW, SEGMENT8_HIGH, SEGMENT8_TYPE' ||
319  ', SEGMENT9_LOW, SEGMENT9_HIGH, SEGMENT9_TYPE' ||
320  ', SEGMENT10_LOW, SEGMENT10_HIGH, SEGMENT10_TYPE' ||
321  ', SEGMENT11_LOW, SEGMENT11_HIGH, SEGMENT11_TYPE' ||
322  ', SEGMENT12_LOW, SEGMENT12_HIGH, SEGMENT12_TYPE' ||
323  ', SEGMENT13_LOW, SEGMENT13_HIGH, SEGMENT13_TYPE' ||
324  ', SEGMENT14_LOW, SEGMENT14_HIGH, SEGMENT14_TYPE' ||
325  ', SEGMENT15_LOW, SEGMENT15_HIGH, SEGMENT15_TYPE' ||
326  ', SEGMENT16_LOW, SEGMENT16_HIGH, SEGMENT16_TYPE' ||
327  ', SEGMENT17_LOW, SEGMENT17_HIGH, SEGMENT17_TYPE' ||
328  ', SEGMENT18_LOW, SEGMENT18_HIGH, SEGMENT18_TYPE' ||
329  ', SEGMENT19_LOW, SEGMENT19_HIGH, SEGMENT19_TYPE' ||
330  ', SEGMENT20_LOW, SEGMENT20_HIGH, SEGMENT20_TYPE' ||
331  ', SEGMENT21_LOW, SEGMENT21_HIGH, SEGMENT21_TYPE' ||
332  ', SEGMENT22_LOW, SEGMENT22_HIGH, SEGMENT22_TYPE' ||
333  ', SEGMENT23_LOW, SEGMENT23_HIGH, SEGMENT23_TYPE' ||
334  ', SEGMENT24_LOW, SEGMENT24_HIGH, SEGMENT24_TYPE' ||
335  ', SEGMENT25_LOW, SEGMENT25_HIGH, SEGMENT25_TYPE' ||
336  ', SEGMENT26_LOW, SEGMENT26_HIGH, SEGMENT26_TYPE' ||
337  ', SEGMENT27_LOW, SEGMENT27_HIGH, SEGMENT27_TYPE' ||
338  ', SEGMENT28_LOW, SEGMENT28_HIGH, SEGMENT28_TYPE' ||
339  ', SEGMENT29_LOW, SEGMENT29_HIGH, SEGMENT29_TYPE' ||
340  ', SEGMENT30_LOW, SEGMENT30_HIGH, SEGMENT30_TYPE' ||
341  ', CONTEXT, ATTRIBUTE1, ATTRIBUTE2' ||
342  ', ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE5' ||
343  ', ATTRIBUTE6, ATTRIBUTE7, ATTRIBUTE8' ||
344  ', ATTRIBUTE9, ATTRIBUTE10, ATTRIBUTE11' ||
345  ', ATTRIBUTE12, ATTRIBUTE13, ATTRIBUTE14' ||
346  ', ATTRIBUTE15, SEGMENT_ATTRIBUTE1_LOW, SEGMENT_ATTRIBUTE1_HIGH' ||
347  ',SEGMENT_ATTRIBUTE1_TYPE,SEGMENT_ATTRIBUTE2_LOW,SEGMENT_ATTRIBUTE2_HIGH'||
348  ',SEGMENT_ATTRIBUTE2_TYPE,SEGMENT_ATTRIBUTE3_LOW,SEGMENT_ATTRIBUTE3_HIGH'||
349  ',SEGMENT_ATTRIBUTE3_TYPE,SEGMENT_ATTRIBUTE4_LOW,SEGMENT_ATTRIBUTE4_HIGH'||
350  ',SEGMENT_ATTRIBUTE4_TYPE,SEGMENT_ATTRIBUTE5_LOW,SEGMENT_ATTRIBUTE5_HIGH'||
351  ',SEGMENT_ATTRIBUTE5_TYPE,SEGMENT_ATTRIBUTE6_LOW,SEGMENT_ATTRIBUTE6_HIGH'||
352  ',SEGMENT_ATTRIBUTE6_TYPE,SEGMENT_ATTRIBUTE7_LOW,SEGMENT_ATTRIBUTE7_HIGH'||
353  ',SEGMENT_ATTRIBUTE7_TYPE,SEGMENT_ATTRIBUTE8_LOW,SEGMENT_ATTRIBUTE8_HIGH'||
354  ',SEGMENT_ATTRIBUTE8_TYPE,SEGMENT_ATTRIBUTE9_LOW,SEGMENT_ATTRIBUTE9_HIGH'||
355  ',SEGMENT_ATTRIBUTE9_TYPE,SEGMENT_ATTRIBUTE10_LOW,SEGMENT_ATTRIBUTE10_HIGH'||
356  ',SEGMENT_ATTRIBUTE10_TYPE,SEGMENT_ATTRIBUTE11_LOW,SEGMENT_ATTRIBUTE11_HIGH'||
357  ',SEGMENT_ATTRIBUTE11_TYPE,SEGMENT_ATTRIBUTE12_LOW,SEGMENT_ATTRIBUTE12_HIGH'||
358  ',SEGMENT_ATTRIBUTE12_TYPE,SEGMENT_ATTRIBUTE13_LOW,SEGMENT_ATTRIBUTE13_HIGH'||
359  ',SEGMENT_ATTRIBUTE13_TYPE,SEGMENT_ATTRIBUTE14_LOW,SEGMENT_ATTRIBUTE14_HIGH'||
363  ',SEGMENT_ATTRIBUTE17_TYPE,SEGMENT_ATTRIBUTE18_LOW,SEGMENT_ATTRIBUTE18_HIGH'||
360  ',SEGMENT_ATTRIBUTE14_TYPE,SEGMENT_ATTRIBUTE15_LOW,SEGMENT_ATTRIBUTE15_HIGH'||
361  ',SEGMENT_ATTRIBUTE15_TYPE,SEGMENT_ATTRIBUTE16_LOW,SEGMENT_ATTRIBUTE16_HIGH'||
362  ',SEGMENT_ATTRIBUTE16_TYPE,SEGMENT_ATTRIBUTE17_LOW,SEGMENT_ATTRIBUTE17_HIGH'||
364  ',SEGMENT_ATTRIBUTE18_TYPE,SEGMENT_ATTRIBUTE19_LOW,SEGMENT_ATTRIBUTE19_HIGH'||
365  ',SEGMENT_ATTRIBUTE19_TYPE,SEGMENT_ATTRIBUTE20_LOW,SEGMENT_ATTRIBUTE20_HIGH'||
366  ',SEGMENT_ATTRIBUTE20_TYPE,SEGMENT_ATTRIBUTE21_LOW,SEGMENT_ATTRIBUTE21_HIGH'||
367  ',SEGMENT_ATTRIBUTE21_TYPE,SEGMENT_ATTRIBUTE22_LOW,SEGMENT_ATTRIBUTE22_HIGH'||
368  ',SEGMENT_ATTRIBUTE22_TYPE,SEGMENT_ATTRIBUTE23_LOW,SEGMENT_ATTRIBUTE23_HIGH'||
369  ',SEGMENT_ATTRIBUTE23_TYPE,SEGMENT_ATTRIBUTE24_LOW,SEGMENT_ATTRIBUTE24_HIGH'||
370  ',SEGMENT_ATTRIBUTE24_TYPE,SEGMENT_ATTRIBUTE25_LOW,SEGMENT_ATTRIBUTE25_HIGH'||
371  ',SEGMENT_ATTRIBUTE25_TYPE,SEGMENT_ATTRIBUTE26_LOW,SEGMENT_ATTRIBUTE26_HIGH'||
372  ',SEGMENT_ATTRIBUTE26_TYPE,SEGMENT_ATTRIBUTE27_LOW,SEGMENT_ATTRIBUTE27_HIGH'||
373  ',SEGMENT_ATTRIBUTE27_TYPE,SEGMENT_ATTRIBUTE28_LOW,SEGMENT_ATTRIBUTE28_HIGH'||
374  ',SEGMENT_ATTRIBUTE28_TYPE,SEGMENT_ATTRIBUTE29_LOW,SEGMENT_ATTRIBUTE29_HIGH'||
375  ',SEGMENT_ATTRIBUTE29_TYPE,SEGMENT_ATTRIBUTE30_LOW,SEGMENT_ATTRIBUTE30_HIGH'||
376  ',SEGMENT_ATTRIBUTE30_TYPE,SEGMENT_ATTRIBUTE31_LOW,SEGMENT_ATTRIBUTE31_HIGH'||
377  ',SEGMENT_ATTRIBUTE31_TYPE,SEGMENT_ATTRIBUTE32_LOW,SEGMENT_ATTRIBUTE32_HIGH'||
378  ',SEGMENT_ATTRIBUTE32_TYPE,SEGMENT_ATTRIBUTE33_LOW,SEGMENT_ATTRIBUTE33_HIGH'||
379  ',SEGMENT_ATTRIBUTE33_TYPE,SEGMENT_ATTRIBUTE34_LOW,SEGMENT_ATTRIBUTE34_HIGH'||
380  ',SEGMENT_ATTRIBUTE34_TYPE,SEGMENT_ATTRIBUTE35_LOW,SEGMENT_ATTRIBUTE35_HIGH'||
381  ',SEGMENT_ATTRIBUTE35_TYPE,SEGMENT_ATTRIBUTE36_LOW,SEGMENT_ATTRIBUTE36_HIGH'||
382  ',SEGMENT_ATTRIBUTE36_TYPE,SEGMENT_ATTRIBUTE37_LOW,SEGMENT_ATTRIBUTE37_HIGH'||
383  ',SEGMENT_ATTRIBUTE37_TYPE,SEGMENT_ATTRIBUTE38_LOW,SEGMENT_ATTRIBUTE38_HIGH'||
384  ',SEGMENT_ATTRIBUTE38_TYPE,SEGMENT_ATTRIBUTE39_LOW,SEGMENT_ATTRIBUTE39_HIGH'||
385  ',SEGMENT_ATTRIBUTE39_TYPE,SEGMENT_ATTRIBUTE40_LOW,SEGMENT_ATTRIBUTE40_HIGH'||
386  ',SEGMENT_ATTRIBUTE40_TYPE,SEGMENT_ATTRIBUTE41_LOW,SEGMENT_ATTRIBUTE41_HIGH'||
387  ',SEGMENT_ATTRIBUTE41_TYPE,SEGMENT_ATTRIBUTE42_LOW,SEGMENT_ATTRIBUTE42_HIGH'||
388  ',SEGMENT_ATTRIBUTE42_TYPE ' ||
389  'FROM RG_REPORT_AXIS_CONTENTS@';
390 
391   CalculationsString VARCHAR2(2000) :=
392     'INSERT INTO RG_REPORT_CALCULATIONS (' ||
393     '  APPLICATION_ID, AXIS_SET_ID, AXIS_SEQ, CALCULATION_SEQ' ||
394     ', LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, CREATION_DATE' ||
395     ', CREATED_BY, OPERATOR, AXIS_SEQ_LOW, AXIS_SEQ_HIGH ' ||
396     ', AXIS_NAME_LOW, AXIS_NAME_HIGH, CONSTANT, CONTEXT  ' ||
397     ', ATTRIBUTE1 , ATTRIBUTE2 , ATTRIBUTE3 , ATTRIBUTE4 ' ||
398     ', ATTRIBUTE5 , ATTRIBUTE6 , ATTRIBUTE7 , ATTRIBUTE8 ' ||
399     ', ATTRIBUTE9 , ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12' ||
400     ', ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15' ||
401     ') SELECT' ||
402     '  APPLICATION_ID, :id     , AXIS_SEQ  , CALCULATION_SEQ' ||
403     ', sysdate    , :user_id   , :login_id , sysdate    ' ||
404     ', :user_id   , OPERATOR   , AXIS_SEQ_LOW, AXIS_SEQ_HIGH ' ||
405     ', AXIS_NAME_LOW, AXIS_NAME_HIGH, CONSTANT, CONTEXT  ' ||
406     ', ATTRIBUTE1 , ATTRIBUTE2 , ATTRIBUTE3 , ATTRIBUTE4 ' ||
407     ', ATTRIBUTE5 , ATTRIBUTE6 , ATTRIBUTE7 , ATTRIBUTE8 ' ||
408     ', ATTRIBUTE9 , ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12' ||
409     ', ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15 ' ||
410     'FROM RG_REPORT_CALCULATIONS@';
411 
412   ExceptionsString VARCHAR2(2000) :=
413     'INSERT INTO RG_REPORT_EXCEPTIONS (' ||
414     '  APPLICATION_ID, AXIS_SET_ID, AXIS_SEQ, EXCEPTION_ID' ||
415     ', LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, CREATION_DATE' ||
416     ', CREATED_BY , CONDITION  , CONSTANT   , CONTEXT' ||
417     ', ATTRIBUTE1 , ATTRIBUTE2 , ATTRIBUTE3 , ATTRIBUTE4' ||
418     ', ATTRIBUTE5 , ATTRIBUTE6 , ATTRIBUTE7 , ATTRIBUTE8' ||
419     ', ATTRIBUTE9 , ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12' ||
420     ', ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15' ||
421     ') SELECT' ||
422     '  APPLICATION_ID, :id     , AXIS_SEQ   , :exception_id' ||
423     ', sysdate    , :user_id   , :login_id  , sysdate' ||
424     ', :user_id   , CONDITION  , CONSTANT   , CONTEXT' ||
425     ', ATTRIBUTE1 , ATTRIBUTE2 , ATTRIBUTE3 , ATTRIBUTE4' ||
426     ', ATTRIBUTE5 , ATTRIBUTE6 , ATTRIBUTE7 , ATTRIBUTE8' ||
427     ', ATTRIBUTE9 , ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12' ||
428     ', ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15 ' ||
429     'FROM RG_REPORT_EXCEPTIONS@';
430 
431   ExceptionFlagsString VARCHAR2(2000) :=
432     'INSERT INTO RG_REPORT_EXCEPTION_FLAGS (' ||
433     '  APPLICATION_ID, AXIS_SET_ID, AXIS_SEQ, EXCEPTION_ID' ||
434     ', LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, CREATION_DATE' ||
435     ', CREATED_BY , FLAG       , DESCRIPTION, CONTEXT    ' ||
436     ', ATTRIBUTE1 , ATTRIBUTE2 , ATTRIBUTE3 , ATTRIBUTE4 ' ||
437     ', ATTRIBUTE5 , ATTRIBUTE6 , ATTRIBUTE7 , ATTRIBUTE8 ' ||
438     ', ATTRIBUTE9 , ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12' ||
439     ', ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15' ||
440     ') SELECT' ||
441     '  APPLICATION_ID, :id     , AXIS_SEQ   , :exception_id' ||
442     ', sysdate    , :user_id   , :login_id  , sysdate    ' ||
443     ', :user_id   , FLAG       , DESCRIPTION, CONTEXT    ' ||
444     ', ATTRIBUTE1 , ATTRIBUTE2 , ATTRIBUTE3 , ATTRIBUTE4 ' ||
445     ', ATTRIBUTE5 , ATTRIBUTE6 , ATTRIBUTE7 , ATTRIBUTE8 ' ||
446     ', ATTRIBUTE9 , ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12' ||
447     ', ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15 ' ||
448     'FROM RG_REPORT_EXCEPTION_FLAGS@';
449 
450 
451 /* Name:  init
452  * Desc:  Initialize some variables that are used in this package.
453  *
454  * Notes: This procedure is called from RG_XFER_COMPONENTS_PKG.init
455  *
456  * History:
457  *   10/17/95   S Rahman   Created.
458  */
459 PROCEDURE init(
460             SourceCOAId NUMBER,
461             TargetCOAId NUMBER,
465   G_SourceCOAId := SourceCOAId;
462             LinkName    VARCHAR2,
463             ApplId      NUMBER) IS
464 BEGIN
466   G_TargetCOAId := TargetCOAId;
467   G_LinkName    := LinkName;
468   G_ApplId      := ApplId;
469 END init;
470 
471 
472 /* Name:  copy_axis_contents
473  * Desc:  Copies the flexfield assignments for the specified axis set
474  *        and sequence. For each record, check if the specified ledger
475  *        exists. If it doesn't, then omit the ledger information.
476  *
477  * History:
478  *   10/17/95   S Rahman   Created.
479  *   03/31/03   T Cheng    For each record, check if the specified ledger
480  *                         exists. If it doesn't, then omit ledger information.
481  */
482 PROCEDURE copy_axis_contents(
483             AxisSetType     VARCHAR2,
484             AxisSetName     VARCHAR2,
485             SourceAxisSeq   NUMBER,
486             SourceAxisSetId NUMBER,
487             TargetAxisSetId NUMBER) IS
488   CursorId       INTEGER;
489   ExecuteValue   INTEGER;
490   DataType       VARCHAR2(1);
491   SQLString      VARCHAR2(12000);
492   RecRowId       ROWID;
493   LedgerId       NUMBER;
494   LedgerCurrency VARCHAR2(15);
495   LedgerName     VARCHAR2(100);
496 BEGIN
497   RG_XFER_UTILS_PKG.display_log(
498     MsgLevel  => G_ML_Full,
499     MsgName   => 'RG_XFER_L_ENTER_ROUTINE',
500     Token1    => 'ROUTINE',
501     Token1Val => 'copy_axis_contents',
502     Token2    => 'PARAM1',
503     Token2Val => TO_CHAR(SourceAxisSeq),
504     Token3    => 'PARAM2',
505     Token3Val => TO_CHAR(SourceAxisSetId),
506     Token4    => 'PARAM3',
507     Token4Val => TO_CHAR(TargetAxisSetId));
508 
509   /* Get all the relevant records. */
510   CursorId := DBMS_SQL.open_cursor;
511   DBMS_SQL.parse(CursorId,
512                  'SELECT rowid, ledger_id, alc_ledger_currency' ||
513                  ' FROM rg_report_axis_contents@' || G_LinkName ||
514                  ' WHERE axis_seq = ' || TO_CHAR(SourceAxisSeq) ||
515                  ' AND   axis_set_id = ' || TO_CHAR(SourceAxisSetId),
516                  DBMS_SQL.v7);
517   DBMS_SQL.define_column_rowid(CursorId, 1, RecRowId);
518   DBMS_SQL.define_column(CursorId, 2, LedgerId);
519   DBMS_SQL.define_column(CursorId, 3, LedgerCurrency, 15);
520   ExecuteValue := DBMS_SQL.execute(CursorId);
521   LOOP
522     /* For each record, check the ledger info and insert the record. */
523     IF (DBMS_SQL.fetch_rows(CursorId) > 0) THEN
524       DBMS_SQL.column_value_rowid(CursorId, 1, RecRowId);
525       DBMS_SQL.column_value(CursorId, 2, LedgerId);
526       DBMS_SQL.column_value(CursorId, 3, LedgerCurrency);
527 
528       IF (LedgerId IS NOT NULL) THEN
529         RG_XFER_UTILS_PKG.get_target_ldg_from_source_ldg(
530                             LedgerId, LedgerName, LedgerCurrency);
531       END IF;
532 
533       IF (LedgerId = G_Error) THEN
534         /* Error: ledger not present in target db */
535         RG_XFER_UTILS_PKG.display_warning(
536           MsgName     => 'RG_XFER_SUB_COMP_NOT_EXIST',
537           Token1      => 'SUB_COMP_TYPE',
538           Token1Val   => 'RG_XFER_LEDGERS',
539           Token1Xlate => TRUE,
540           Token2      => 'SUB_COMP_NAME',
541           Token2Val   => LedgerName,
542           Token2Xlate => FALSE,
543           Token3      => 'COMP_TYPE',
544           Token3Val   => AxisSetType,
545           Token3Xlate => TRUE,
546           Token4      => 'COMP_NAME',
547           Token4Val   => AxisSetName,
548           Token4Xlate => FALSE);
549       END IF;
550 
551 
552       IF (LedgerCurrency IS NOT NULL) THEN
553        LedgerCurrency := '''' || LedgerCurrency || '''';
554       ELSE
555        LedgerCurrency := 'NULL';
556       END IF;
557 
558 
559       /* Insert the row */
560       SQLString := AxisContentsString ||G_LinkName|| ' WHERE rowid = :row_id';
561 
562       RG_XFER_UTILS_PKG.substitute_tokens(
563         SQLString,
564         Token1=>    ':ledger_id',
565         Token1Val=> RG_XFER_UTILS_PKG.token_from_id(LedgerId),
566         Token2=>    ':alc_ledger_currency',
567         Token2Val=> LedgerCurrency);
568 
569       RG_XFER_UTILS_PKG.insert_rows(
570         SQLString,
571         TargetAxisSetId,
572         UseCOAId=> FALSE,
573         UseRowId=> TRUE,
574         RecRowId=> RecRowId);
575 
576     ELSE
577       /* No more rows */
578       EXIT;
579     END IF;
580   END LOOP;
581   DBMS_SQL.close_cursor(CursorId);
582 
583   RG_XFER_UTILS_PKG.display_log(
584     MsgLevel  => G_ML_Full,
585     MsgName   => 'RG_XFER_L_EXIT_ROUTINE',
586     Token1    => 'ROUTINE',
587     Token1Val => 'copy_axis_contents');
588 END copy_axis_contents;
589 
590 
591 /* Name:  copy_axis_details
592  * Desc:  Copies the axes of the specified axis set and their contents,
593  *        calculations, and for column sets the exceptions and exception flags.
594  *
595  * History:
596  *   10/17/95   S Rahman   Created.
597  *   03/31/03   T Cheng    For each record, check if the specified ledger
598  *                         segment_override_value exists. If it doesn't,
599  *                         then omit ledger override value information.
600  *   05/16/03   V Treiger  For each element_id mapping at source database
601  *                         find proper element_id at target database.
602  */
603 PROCEDURE copy_axis_details(
604             AxisSetType     VARCHAR2,
605             AxisSetName     VARCHAR2,
606             SourceAxisSetId NUMBER,
607             TargetAxisSetId NUMBER) IS
608   CursorId     INTEGER;
609   TempCursorId INTEGER;
610   ExecuteValue INTEGER;
614   SQLString    VARCHAR2(5000);
611   AxisSeq      NUMBER;
612   OverrideVal  VARCHAR2(60);
613   OverrideCurr VARCHAR2(15);
615   CurrencyCode VARCHAR2(15);
616   AxisSegmentName    VARCHAR2(30);
617   SourceExceptionId  NUMBER;
618   TargetExceptionId  NUMBER;
619   LedgerId           NUMBER;
620   LedgerName         VARCHAR2(30);
621   ElemTargetIdStr VARCHAR2(30);
622 BEGIN
623   RG_XFER_UTILS_PKG.display_log(
624     MsgLevel  => G_ML_Full,
625     MsgName   => 'RG_XFER_L_ENTER_ROUTINE',
626     Token1    => 'ROUTINE',
627     Token1Val => 'copy_axis_details',
628     Token2    => 'PARAM1',
629     Token2Val => AxisSetType,
630     Token3    => 'PARAM2',
631     Token3Val => TO_CHAR(SourceAxisSetId),
632     Token4    => 'PARAM3',
633     Token4Val => TO_CHAR(TargetAxisSetId));
634 
635   AxisSegmentName := RG_XFER_UTILS_PKG.get_varchar2(
636                      'SELECT segment_name FROM rg_report_axis_sets@' ||
637                       G_LinkName || ' WHERE axis_set_id = ' ||
638                       TO_CHAR(SourceAxisSetId), 30);
639 
640   CursorId := DBMS_SQL.open_cursor;
641   DBMS_SQL.parse(CursorId,
642                  'SELECT axis_seq, segment_override_value,' ||
643                  ' override_alc_ledger_currency FROM rg_report_axes@' ||
644                    G_LinkName || ' WHERE axis_set_id =' ||
645                    TO_CHAR(SourceAxisSetId),
646                  DBMS_SQL.v7);
647   DBMS_SQL.define_column(CursorId, 1, AxisSeq);
648   DBMS_SQL.define_column(CursorId, 2, OverrideVal, 60);
649   DBMS_SQL.define_column(CursorId, 3, OverrideCurr, 15);
650   ExecuteValue := DBMS_SQL.execute(CursorId);
651   LOOP
652     IF (DBMS_SQL.fetch_rows(CursorId) > 0) THEN
653       DBMS_SQL.column_value(CursorId, 1, AxisSeq);
654       DBMS_SQL.column_value(CursorId, 2, OverrideVal);
655       DBMS_SQL.column_value(CursorId, 3, OverrideCurr);
656 
657       IF (AxisSegmentName = 'LEDGER_SEGMENT') THEN
658         LedgerId := TO_NUMBER(OverrideVal);
659         IF (OverrideVal IS NOT NULL) THEN
660           RG_XFER_UTILS_PKG.get_target_ldg_from_source_ldg(
661                              LedgerId, LedgerName, OverrideCurr);
662         END IF;
663 
664         IF (LedgerId = G_Error) THEN
665           /* Error: ledger not present in target db */
666           RG_XFER_UTILS_PKG.display_warning(
667             MsgName     => 'RG_XFER_SUB_COMP_NOT_EXIST',
668             Token1      => 'SUB_COMP_TYPE',
669             Token1Val   => 'RG_XFER_LEDGERS',
670             Token1Xlate => TRUE,
671             Token2      => 'SUB_COMP_NAME',
672             Token2Val   => LedgerName,
673             Token2Xlate => FALSE,
674             Token3      => 'COMP_TYPE',
675             Token3Val   => AxisSetType,
676             Token3Xlate => TRUE,
677             Token4      => 'COMP_NAME',
678             Token4Val   => AxisSetName,
679             Token4Xlate => FALSE);
680         END IF;
681 
682         OverrideVal := TO_CHAR(LedgerId);
683       END IF;
684 
685       CurrencyCode := RG_XFER_UTILS_PKG.get_varchar2(
686                         'SELECT unit_of_measure_id FROM rg_report_axes@'||
687                           G_LinkName || ' WHERE axis_set_id = ' ||
688                           TO_CHAR(SourceAxisSetId) ||
689                           ' AND axis_seq = ' || TO_CHAR(AxisSeq),
690                         15);
691       IF (CurrencyCode IS NOT NULL) THEN
692         IF (NOT RG_XFER_UTILS_PKG.currency_exists(CurrencyCode)) THEN
693           /* Error: currency not defined in target database */
694           RG_XFER_UTILS_PKG.display_warning(
695             MsgName     => 'RG_XFER_SUB_COMP_NOT_EXIST',
696             Token1      => 'SUB_COMP_TYPE',
697             Token1Val   => 'RG_XFER_CURRENCY',
698             Token1Xlate => TRUE,
699             Token2      => 'SUB_COMP_NAME',
700             Token2Val   => CurrencyCode,
701             Token2Xlate => FALSE,
702             Token3      => 'COMP_TYPE',
703             Token3Val   => AxisSetType,
704             Token3Xlate => TRUE,
705             Token4      => 'COMP_NAME',
706             Token4Val   => AxisSetName,
707             Token4Xlate => FALSE);
708           CurrencyCode := 'NULL';
709         ELSE
710           /* add the single quotes to the currency code */
711           CurrencyCode := '''' || CurrencyCode || '''';
712         END IF;
713       ELSE
714         CurrencyCode := 'NULL';
715       END IF;
716 
717       /* Begin XBRL processing */
718       ElemTargetIdStr := '';
719       get_element_target_id(SourceAxisSetId,AxisSeq,ElemTargetIdStr);
720       /* End XBRL processing */
721 
722       IF (OverrideVal IS NOT NULL) THEN
723        OverrideVal := '''' || OverrideVal || '''';
724       ELSE
725        OverrideVal := 'NULL';
726       END IF;
727 
728       SQLString := AxesString || G_LinkName || ' WHERE axis_set_id = ' ||
729                    TO_CHAR(SourceAxisSetId) || ' AND axis_seq = ' ||
730                    TO_CHAR(AxisSeq);
731 
732       RG_XFER_UTILS_PKG.substitute_tokens(
733         SQLString,
734         Token1=>    ':currency_code',
735         Token1Val=> CurrencyCode,
736         Token2=>    ':segment_override_value',
737         Token2Val=> OverrideVal,
738         Token3=>    ':override_alc_ledger_currency',
739         Token3Val=> OverrideCurr);
740 
741       /* Begin XBRL processing */
742       RG_XFER_UTILS_PKG.substitute_tokens(
743         SQLString, Token1=> ':elem_id', Token1Val=> ElemTargetIdStr);
744       /* End XBRL processing */
745 
746       RG_XFER_UTILS_PKG.insert_rows(
747         SQLString, TargetAxisSetId, UseCOAId=> FALSE);
748 
749       /* Copy axis contents */
750       copy_axis_contents(
754         SourceAxisSetId,
751         AxisSetType,
752         AxisSetName,
753         AxisSeq,
755         TargetAxisSetId);
756 
757       /* Copy calculations */
758       RG_XFER_UTILS_PKG.insert_rows(
759         CalculationsString || G_LinkName ||
760           ' WHERE axis_set_id = ' || TO_CHAR(SourceAxisSetId) ||
761           ' AND   axis_seq = ' || TO_CHAR(AxisSeq),
762         TargetAxisSetId, UseCOAId=>FALSE);
763 
764       IF (AxisSetType = 'RG_COLUMN_SET') THEN
765         /* Copy exception flags */
766         TargetExceptionId := RG_XFER_UTILS_PKG.get_new_id(
767                                'RG_REPORT_EXCEPTION_FLAGS_S');
768         SQLString :=  ExceptionFlagsString || G_LinkName ||
769                         ' WHERE axis_set_id = ' || TO_CHAR(SourceAxisSetId) ||
770                         ' AND   axis_seq = ' || TO_CHAR(AxisSeq);
771         RG_XFER_UTILS_PKG.substitute_tokens(
772           SQLString,
773           Token1=>    ':exception_id',
774           Token1Val=> TO_CHAR(TargetExceptionId));
775         RG_XFER_UTILS_PKG.insert_rows(
776           SQLString, TargetAxisSetId, UseCOAId=>FALSE);
777 
778         TempCursorId := DBMS_SQL.open_cursor;
779         DBMS_SQL.parse(
780           TempCursorId,
781           'SELECT exception_id FROM rg_report_exception_flags@' || G_LinkName||
782             ' WHERE axis_set_id = ' || TO_CHAR(SourceAxisSetId) ||
783             ' AND axis_seq = ' || TO_CHAR(AxisSeq),
784           DBMS_SQL.v7);
785         DBMS_SQL.define_column(TempCursorId, 1, SourceExceptionId);
786         ExecuteValue := DBMS_SQL.execute_and_fetch(TempCursorId);
787         IF (ExecuteValue > 0) THEN
788           DBMS_SQL.column_value(TempCursorId, 1, SourceExceptionId);
789           SQLString := ExceptionsString || G_LinkName ||
790                        ' WHERE exception_id = ' || TO_CHAR(SourceExceptionId);
791           RG_XFER_UTILS_PKG.substitute_tokens(
792             SQLString,
793             Token1=>    ':exception_id',
794             Token1Val=> TO_CHAR(TargetExceptionId));
795           RG_XFER_UTILS_PKG.insert_rows(
796             SQLString,
797             TargetAxisSetId,
798             UseCOAId=>FALSE);
799         END IF;
800         DBMS_SQL.close_cursor(TempCursorId);
801       END IF;
802 
803     ELSE
804       /* No more rows */
805       EXIT;
806     END IF;
807   END LOOP;
808   DBMS_SQL.close_cursor(CursorId);
809 
810   RG_XFER_UTILS_PKG.display_log(
811     MsgLevel  => G_ML_Full,
812     MsgName   => 'RG_XFER_L_EXIT_ROUTINE',
813     Token1    => 'ROUTINE',
814     Token1Val => 'copy_axis_details');
815 END copy_axis_details;
816 
817 
818 /* Name:  copy_column_set_header
819  * Desc:  Copies the column set header. It has to be a two step process
820  *        because the column is of type long. First the header is read
821  *        into a variable from the source database. Then it is written to
822  *        the target database from the variable.
823  *
824  * History:
825  *   10/17/95   S Rahman   Created.
826  */
827 PROCEDURE copy_column_set_header(
828             SourceColumnSetId NUMBER,
829             TargetColumnSetId NUMBER) IS
830   CursorId     INTEGER;
831   ExecuteValue INTEGER;
832   Header       VARCHAR2(7000);
833   SQLString    VARCHAR2(200) := 'UPDATE rg_report_axis_sets ' ||
834                                 'SET column_set_header = :header ' ||
835                                 'WHERE axis_set_id = :id';
836 BEGIN
837   RG_XFER_UTILS_PKG.display_log(
838     MsgLevel  => G_ML_Full,
839     MsgName   => 'RG_XFER_L_ENTER_ROUTINE',
840     Token1    => 'ROUTINE',
841     Token1Val => 'copy_column_set_header',
842     Token2    => 'PARAM1',
843     Token2Val => TO_CHAR(SourceColumnSetId),
844     Token3    => 'PARAM2',
845     Token3Val => TO_CHAR(TargetColumnSetId));
846 
847   /* Get the header from the source database and store it in a variable */
848   CursorId := DBMS_SQL.open_cursor;
849   DBMS_SQL.parse(CursorId,
850                  'SELECT to_char(column_set_header) FROM rg_report_axis_sets@' ||
851                    G_LinkName || ' WHERE axis_set_id = ' ||
852                    TO_CHAR(SourceColumnSetId),
853                  DBMS_SQL.v7);
854   DBMS_SQL.define_column(CursorId, 1, Header, 7000);
855   ExecuteValue := DBMS_SQL.execute_and_fetch(CursorId);
856   DBMS_SQL.column_value(CursorId, 1, Header);
857   DBMS_SQL.close_cursor(CursorId);
858 
859   /* Transfer the header from the variable to the target database */
860   CursorId := DBMS_SQL.open_cursor;
861   DBMS_SQL.parse(CursorId, SQLString, DBMS_SQL.v7);
862   DBMS_SQL.bind_variable(CursorId, ':header', Header);
863   DBMS_SQL.bind_variable(CursorId, ':id', TargetColumnSetId);
864   ExecuteValue := DBMS_SQL.execute(CursorId);
865   DBMS_SQL.close_cursor(CursorId);
866 
867   RG_XFER_UTILS_PKG.display_log(
868     MsgLevel  => G_ML_Full,
869     MsgName   => 'RG_XFER_L_EXIT_ROUTINE',
870     Token1    => 'ROUTINE',
871     Token1Val => 'copy_column_set_header');
872 END copy_column_set_header;
873 
874 
875 /* Name:  copy_content_set_details
876  * Desc:  Copies the detail records for the specified content set. It is
877  *        done in this package to keep package sizes below 64K.
878  *
879  * History:
880  *   10/17/95   S Rahman   Created.
881  *   03/31/03   T Cheng    For each record, check if the specified ledger
882  *                         exists. If it doesn't, then omit ledger information.
883  */
884 PROCEDURE copy_content_set_details(
885             ContentSetName     VARCHAR2,
886             SourceContentSetId NUMBER,
887             TargetContentSetId NUMBER) IS
888   CursorId       INTEGER;
889   ExecuteValue   INTEGER;
893   LedgerId       NUMBER;
890   DataType       VARCHAR2(1);
891   SQLString      VARCHAR2(12000);
892   RecRowId       ROWID;
894   LedgerCurrency VARCHAR2(15);
895   LedgerName     VARCHAR2(100);
896 BEGIN
897   RG_XFER_UTILS_PKG.display_log(
898     MsgLevel  => G_ML_Full,
899     MsgName   => 'RG_XFER_L_ENTER_ROUTINE',
900     Token1    => 'ROUTINE',
901     Token1Val => 'copy_axis_contents',
902     Token2    => 'PARAM1',
903     Token2Val => TO_CHAR(SourceContentSetId),
904     Token3    => 'PARAM2',
905     Token3Val => TO_CHAR(TargetContentSetId));
906 
907   /* Insert the detail records for the specified content set. */
908   CursorId := DBMS_SQL.open_cursor;
909   DBMS_SQL.parse(CursorId,
910                  'SELECT rowid, ledger_id, alc_ledger_currency' ||
911                  ' FROM rg_report_content_overrides@' || G_LinkName ||
912                  ' WHERE content_set_id = ' || TO_CHAR(SourceContentSetId),
913                  DBMS_SQL.v7);
914   DBMS_SQL.define_column_rowid(CursorId, 1, RecRowId);
915   DBMS_SQL.define_column(CursorId, 2, LedgerId);
916   DBMS_SQL.define_column(CursorId, 3, LedgerCurrency, 15);
917   ExecuteValue := DBMS_SQL.execute(CursorId);
918   LOOP
919     /* For each record, check the ledger info and insert the record. */
920     IF (DBMS_SQL.fetch_rows(CursorId) > 0) THEN
921       DBMS_SQL.column_value_rowid(CursorId, 1, RecRowId);
922       DBMS_SQL.column_value(CursorId, 2, LedgerId);
923       DBMS_SQL.column_value(CursorId, 3, LedgerCurrency);
924 
925       IF (LedgerId IS NOT NULL) THEN
926         RG_XFER_UTILS_PKG.get_target_ldg_from_source_ldg(
927                            LedgerId, LedgerName, LedgerCurrency);
928       END IF;
929 
930       IF (LedgerId = G_Error) THEN
931         /* Error: ledger not present in target db */
932         RG_XFER_UTILS_PKG.display_warning(
933           MsgName     => 'RG_XFER_SUB_COMP_NOT_EXIST',
934           Token1      => 'SUB_COMP_TYPE',
935           Token1Val   => 'RG_XFER_LEDGERS',
936           Token1Xlate => TRUE,
937           Token2      => 'SUB_COMP_NAME',
938           Token2Val   => LedgerName,
939           Token2Xlate => FALSE,
940           Token3      => 'COMP_TYPE',
941           Token3Val   => 'RG_CONTENT_SET',
942           Token3Xlate => TRUE,
943           Token4      => 'COMP_NAME',
944           Token4Val   => ContentSetName,
945           Token4Xlate => FALSE);
946       END IF;
947 
948       /* Insert the row */
949       SQLString := ContentOverridesString || G_LinkName||
950                    ' WHERE rowid = :row_id';
951 
952       RG_XFER_UTILS_PKG.substitute_tokens(
953         SQLString,
954         Token1=>    ':ledger_id',
955         Token1Val=> RG_XFER_UTILS_PKG.token_from_id(LedgerId),
956         Token2=>    ':alc_ledger_currency',
957         Token2Val=> LedgerCurrency);
958 
959       RG_XFER_UTILS_PKG.insert_rows(
960         SQLString,
961         TargetContentSetId,
962         UseCOAId=> FALSE,
963         UseRowId=> TRUE,
964         RecRowId=> RecRowId);
965 
966     ELSE
967       /* No more rows */
968       EXIT;
969     END IF;
970   END LOOP;
971   DBMS_SQL.close_cursor(CursorId);
972 
973   RG_XFER_UTILS_PKG.display_log(
974     MsgLevel  => G_ML_Full,
975     MsgName   => 'RG_XFER_L_EXIT_ROUTINE',
976     Token1    => 'ROUTINE',
977     Token1Val => 'copy_content_set_details');
978 END copy_content_set_details;
979 
980 /* Name:  get_element_target_id
981  * Desc:  Get the element id in the target database given the element id
982  *        in the source database.
983  *
984  * History:
985  *   04/11/03   V Treiger   Created.
986  */
987 PROCEDURE get_element_target_id(
988             SourceAxisSetId IN NUMBER,
989             AxisSeq IN NUMBER,
990             IdValue IN OUT NOCOPY VARCHAR2) IS
991   CursorId     INTEGER;
992   ExecuteValue INTEGER;
993   Id           NUMBER;
994   TargetId     NUMBER;
995   TaxTargetId  NUMBER;
996   SourceIdName VARCHAR2(240);
997   SourceTaxId  NUMBER;
998   SQLString    VARCHAR2(500);
999   RefObjectName VARCHAR2(240);
1000   ValueString   VARCHAR2(240);
1001   TempValue     VARCHAR2(240);
1002   TaxAlias      VARCHAR2(240);
1003 BEGIN
1004   SQLString := 'SELECT a.element_id, e.element_identifier, e.taxonomy_id ' ||
1005                'FROM rg_report_axes@'||
1006                G_LinkName || ' a, rg_xbrl_elements@' || G_LinkName || ' e' ||
1007                ' WHERE a.axis_set_id = ' || TO_CHAR(SourceAxisSetId) ||
1008                ' AND a.axis_seq = ' || TO_CHAR(AxisSeq) ||
1009                ' AND a.element_id = e.element_id';
1010 
1011   RG_XFER_UTILS_PKG.display_string(SQLString);
1012 
1013   CursorId := DBMS_SQL.open_cursor;
1014   DBMS_SQL.parse(CursorId, SQLString, DBMS_SQL.v7);
1015   DBMS_SQL.define_column(CursorId, 1, Id);
1016   DBMS_SQL.define_column(CursorId, 2, SourceIdName, 240);
1017   DBMS_SQL.define_column(CursorId, 3, SourceTaxId);
1018   ExecuteValue := DBMS_SQL.execute_and_fetch(CursorId);
1019   IF (ExecuteValue > 0) THEN
1020     DBMS_SQL.column_value(CursorId, 1, Id);
1021     DBMS_SQL.column_value(CursorId, 2, SourceIdName);
1022     DBMS_SQL.column_value(CursorId, 3, SourceTaxId);
1023   ELSE
1024     Id := NULL;
1025     SourceIdName := 'NULL';
1026   END IF;
1027   DBMS_SQL.close_cursor(CursorId);
1028 
1029   IF (Id IS NULL) THEN
1030     IdValue := 'NULL';
1031   ELSE
1032     /* Get the element id from the target database table  */
1033     /* Get TaxTargetId first based on SourceTaxId */
1034 
1035     SQLString := 'SELECT ref_table.taxonomy_alias '||
1036                  'FROM '||
1037                  ' RG_XBRL_TAXONOMIES' || '@'|| G_LinkName || ' ref_table ' ||
1041     CursorId := DBMS_SQL.open_cursor;
1038                  'WHERE ref_table.taxonomy_id ' || '= '|| TO_CHAR(SourceTaxId);
1039 
1040     RG_XFER_UTILS_PKG.display_string(SQLString);
1042     DBMS_SQL.parse(CursorId, SQLString, DBMS_SQL.v7);
1043     DBMS_SQL.define_column(CursorId, 1, RefObjectName, 240);
1044     ExecuteValue := DBMS_SQL.execute_and_fetch(CursorId);
1045     IF (ExecuteValue > 0) THEN
1046       DBMS_SQL.column_value(CursorId, 1, RefObjectName);
1047     ELSE
1048       RefObjectName := '';
1049     END IF;
1050     DBMS_SQL.close_cursor(CursorId);
1051     TaxAlias := RefObjectName;
1052 
1053     RG_XFER_UTILS_PKG.copy_adjust_string(TempValue, TaxAlias);
1054     ValueString := '''' || TempValue || '''';
1055 
1056     SQLString := 'SELECT taxonomy_id ' ||
1057                'FROM   rg_xbrl_taxonomies ' ||
1058                'WHERE  taxonomy_alias = ' || ValueString;
1059     TaxTargetId := RG_XFER_UTILS_PKG.component_exists(SQLString);
1060 
1061     RG_XFER_UTILS_PKG.copy_adjust_string(TempValue, SourceIdName);
1062     ValueString := '''' || TempValue || '''';
1063 
1064     SQLString := 'SELECT element_id ' ||
1065                  ' FROM rg_xbrl_elements ' ||
1066                  ' WHERE  taxonomy_id = ' || TO_CHAR(TaxTargetId) ||
1067                  ' AND element_identifier ' || '=' || ValueString;
1068 
1069     RG_XFER_UTILS_PKG.display_string(SQLString);
1070 
1071     CursorId := DBMS_SQL.open_cursor;
1072     DBMS_SQL.parse(CursorId, SQLString, DBMS_SQL.v7);
1073     DBMS_SQL.define_column(CursorId, 1, TargetId);
1074     ExecuteValue := DBMS_SQL.execute_and_fetch(CursorId);
1075     IF (ExecuteValue > 0) THEN
1076       DBMS_SQL.column_value(CursorId, 1, TargetId);
1077     ELSE
1078       TargetId := NULL;
1079     END IF;
1080 
1081     DBMS_SQL.close_cursor(CursorId);
1082     IdValue := TO_CHAR(TargetId);
1083 
1084   END IF;
1085 END get_element_target_id;
1086 
1087 BEGIN
1088   /* Initialize variables on package access. */
1089 
1090   /* Error codes */
1091   G_Error := RG_XFER_UTILS_PKG.G_Error;
1092   G_Warning := RG_XFER_UTILS_PKG.G_Warning;
1093 
1094   /* The message levels */
1095   G_ML_Minimal := RG_XFER_UTILS_PKG.G_ML_Minimal;
1096   G_ML_Normal := RG_XFER_UTILS_PKG.G_ML_Normal;
1097   G_ML_Full := RG_XFER_UTILS_PKG.G_ML_Full;
1098 
1099 END RG_XFER_COMP_PRIVATE_PKG;