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