[Home] [Help]
PACKAGE BODY: APPS.ISC_DBI_PLAN_PERF_PKG
Source
1 PACKAGE BODY ISC_DBI_PLAN_PERF_PKG AS
2 /* $Header: ISCRGAPB.pls 120.1 2006/06/01 06:37:09 achandak noship $ */
3
4
5 PROCEDURE GET_SQL(p_param IN BIS_PMV_PAGE_PARAMETER_TBL,x_custom_sql OUT NOCOPY VARCHAR2,
6 x_custom_output OUT NOCOPY BIS_QUERY_ATTRIBUTES_TBL) IS
7
8 l_stmt VARCHAR2(32000);
9 l_plan VARCHAR2(10000);
10 l_plan2 VARCHAR2(10000);
11 l_inner_sql VARCHAR2(32000);
12 l_org VARCHAR2(300);
13 l_org_where VARCHAR2(32000);
14 l_period_type VARCHAR2(1000);
15 l_cur_start DATE;
16 l_cur_end DATE;
17 l_pre_start DATE;
18 l_pre_end DATE;
19 l_time_from DATE;
20 l_time_to DATE;
21 l_mon_period_id NUMBER:=32; --only select month buckets
22 l_period_type_id NUMBER;
23 l_lang varchar2(10);
24 l_item_cat_flag NUMBER:=3; -- no grouping on item dimension
25 l_res_gp_flag NUMBER :=3; -- no grouping on resource dimension
26 l_union_flag NUMBER:=0; -- for inventory turns report
27 l_mon_num NUMBER; -- number of months in the selected period
28 l_custom_rec BIS_QUERY_ATTRIBUTES ;
29
30
31
32 BEGIN
33
34 FOR i IN 1..p_param.COUNT
35 LOOP
36 IF (p_param(i).parameter_name = 'PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT')
37 THEN l_plan := p_param(i).parameter_value;
38 END IF;
39
40 IF (p_param(i).parameter_name = 'PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2')
41 THEN l_plan2 := p_param(i).parameter_value;
42 END IF;
43
44 IF(p_param(i).parameter_name = 'ORGANIZATION+ORGANIZATION')
45 THEN l_org := p_param(i).parameter_value;
46 END IF;
47
48 IF(p_param(i).parameter_name = 'PERIOD_TYPE') THEN
49 l_period_type := p_param(i).parameter_value;
50 END IF;
51
52 IF(p_param(i).parameter_name = 'TIME+FII_TIME_ENT_PERIOD_FROM') THEN
53 l_time_from := p_param(i).period_date;
54 END IF;
55
56 IF(p_param(i).parameter_name = 'TIME+FII_TIME_ENT_PERIOD_TO') THEN
57 l_time_to := p_param(i).period_date;
58 END IF;
59
60 IF(p_param(i).parameter_name = 'TIME+FII_TIME_ENT_QTR_FROM') THEN
61 l_time_from := p_param(i).period_date;
62 END IF;
63
64 IF(p_param(i).parameter_name = 'TIME+FII_TIME_ENT_QTR_TO') THEN
65 l_time_to := p_param(i).period_date;
66 END IF;
67
68 IF(p_param(i).parameter_name = 'TIME+FII_TIME_ENT_YEAR_FROM') THEN
69 l_time_from := p_param(i).period_date;
70 END IF;
71
72 IF(p_param(i).parameter_name = 'TIME+FII_TIME_ENT_YEAR_TO') THEN
73 l_time_to := p_param(i).period_date;
74 END IF;
75
76
77 END LOOP;
78
79
80 IF ( l_org IS NULL OR l_org = 'All' ) THEN
81 l_org_where := '
82 WHERE (EXISTS
83 (SELECT 1
84 FROM org_access o
85 WHERE o.responsibility_id = fnd_global.resp_id
86 AND o.resp_application_id = fnd_global.resp_appl_id
87 AND o.organization_id = c.viewby_id)
88 OR EXISTS
89 (SELECT 1
90 FROM mtl_parameters org
91 WHERE org.organization_id = c.viewby_id
92 AND NOT EXISTS
93 (SELECT 1
94 FROM org_access ora
95 WHERE org.organization_id = ora.organization_id)))';
96
97 ELSE
98 l_org_where := '
99 WHERE c.viewby_id = (&ORGANIZATION+ORGANIZATION)';
100 END IF;
101
102
103 IF l_period_type = 'FII_TIME_ENT_YEAR' THEN
104 l_period_type_id := 128;
105 l_mon_num :=12;
106
107 ELSIF (l_period_type='FII_TIME_ENT_QTR') THEN
108 l_period_type_id := 64;
109 l_mon_num :=3;
110
111 ELSE
112 l_period_type_id := 32;
113 l_mon_num :=1;
114
115 END IF;
116
117
118 l_cur_start := l_time_from;
119 l_cur_end := l_time_to;
120 l_pre_start := FII_TIME_API.ent_pper_start(l_time_from); -- get the previous month
121 l_pre_end := FII_TIME_API.ent_pper_end(l_time_to); -- get the previous month
122
123 l_lang := USERENV('LANG');
124
125 l_custom_rec := BIS_PMV_PARAMETERS_PUB.INITIALIZE_QUERY_TYPE;
126 x_custom_output := BIS_QUERY_ATTRIBUTES_TBL();
127
128
129 IF (l_plan IS NULL OR l_plan2 IS NULL)
130 THEN l_stmt := '
131 SELECT 0 VIEWBY,
132 0 VIEWBYID,
133 0 ISC_MEASURE_1,
134 0 ISC_MEASURE_2,
135 0 ISC_MEASURE_3,
136 0 ISC_MEASURE_4,
137 0 ISC_MEASURE_5,
138 0 ISC_MEASURE_6,
139 0 ISC_MEASURE_7,
140 0 ISC_MEASURE_8,
141 0 ISC_MEASURE_9,
142 0 ISC_MEASURE_10,
143 0 ISC_MEASURE_11,
144 0 ISC_MEASURE_12,
145 0 ISC_MEASURE_13,
146 0 ISC_MEASURE_14,
147 0 ISC_MEASURE_15,
148 0 ISC_MEASURE_16,
149 0 ISC_MEASURE_17,
150 0 ISC_MEASURE_18
151 FROM dual
152 WHERE 1 = 2 /* PLAN_SNAPSHOT dimension has not been populated */';
153 ELSE
154
155 l_inner_sql := 'ISC_MEASURE_1,ISC_MEASURE_2,ISC_MEASURE_3, ISC_MEASURE_4,ISC_MEASURE_5,
156 ISC_MEASURE_4-ISC_MEASURE_5 ISC_MEASURE_6,ISC_MEASURE_7,ISC_MEASURE_8,
157 ISC_MEASURE_9,ISC_MEASURE_10,ISC_MEASURE_11,ISC_MEASURE_10-ISC_MEASURE_11 ISC_MEASURE_12,
158 ISC_MEASURE_13,ISC_MEASURE_14,ISC_MEASURE_15,
159 ISC_MEASURE_16,ISC_MEASURE_17,ISC_MEASURE_16-ISC_MEASURE_17 ISC_MEASURE_18
160 FROM(select (rank() over (&ORDER_BY_CLAUSE nulls last,viewby_id))-1 rnk,
161 viewby_id,
162 ISC_MEASURE_1,ISC_MEASURE_2,ISC_MEASURE_3,
163 sum(plan_mds) over ()*365/(:ISC_CUR_END - :ISC_CUR_START+1)/
164 decode(sign(sum(plan_begin_inv) over()+sum(plan_end_inv) over()),0,null,-1,null,
165 (sum(plan_begin_inv) over()+sum(plan_end_inv) over())/2/:ISC_MON_NUM) ISC_MEASURE_4,
166 sum(comp_mds) over ()*365/(:ISC_CUR_END - :ISC_CUR_START+1)/
167 decode(sign(sum(comp_begin_inv) over()+sum(comp_end_inv) over()),0,null,-1,null,
168 (sum(comp_begin_inv) over()+sum(comp_end_inv) over())/2/:ISC_MON_NUM) ISC_MEASURE_5,
169 ISC_MEASURE_7,ISC_MEASURE_8,ISC_MEASURE_9,
170 sum(plan_ontime_total) over ()/decode(sum(plan_total_lines) over(),0,null,
171 sum(plan_total_lines) over())*100 ISC_MEASURE_10,
172 sum(comp_ontime_total) over ()/decode(sum(comp_total_lines) over(),0,null,
173 sum(comp_total_lines) over())*100 ISC_MEASURE_11,
174 ISC_MEASURE_13,ISC_MEASURE_14,ISC_MEASURE_15,
175 sum(plan_required_hr_total) over()/decode(sum(plan_available_hr_total) over(),0,null,
176 sum(plan_available_hr_total)over())*100 ISC_MEASURE_16,
177 sum(comp_required_hr_total) over()/decode(sum(comp_available_hr_total) over(),0,null,
178 sum(comp_available_hr_total)over())*100 ISC_MEASURE_17
179 FROM (select c.viewby_id,
180 sum(c.plan_inv_turns) ISC_MEASURE_1,
181 sum(c.comp_inv_turns) ISC_MEASURE_2,
182 sum(c.plan_inv_turns)-sum(comp_inv_turns) ISC_MEASURE_3,
183 sum(c.plan_mds_total) plan_mds,
184 sum(c.plan_begin_inv_total) plan_begin_inv,
185 sum(c.plan_end_inv_total) plan_end_inv,
186 sum(c.comp_mds_total) comp_mds,
187 sum(c.comp_begin_inv_total) comp_begin_inv,
188 sum(c.comp_end_inv_total) comp_end_inv,
189 sum(c.plan_ontime_lines)/decode(sum(c.plan_total_lines),0,null,
190 sum(c.plan_total_lines))*100 ISC_MEASURE_7,
191 sum(c.comp_ontime_lines)/decode(sum(c.comp_total_lines),0,null,
192 sum(c.comp_total_lines))*100 ISC_MEASURE_8,
193 (sum(c.plan_ontime_lines)/decode(sum(c.plan_total_lines),0,null,
194 sum(c.plan_total_lines)))*100-
195 (sum(c.comp_ontime_lines)/decode(sum(c.comp_total_lines),0,null,
196 sum(c.comp_total_lines)))*100 ISC_MEASURE_9,
197 sum(c.plan_ontime_lines) plan_ontime_total,
198 sum(c.plan_total_lines) plan_total_lines,
199 sum(c.comp_ontime_lines) comp_ontime_total,
200 sum(c.comp_total_lines) comp_total_lines,
201 sum(c.plan_required_hr)/decode(sum(c.plan_available_hr),0,null,
202 sum(c.plan_available_hr))*100 ISC_MEASURE_13,
203 sum(c.comp_required_hr)/decode(sum(c.comp_available_hr),0,null,
204 sum(c.comp_available_hr))*100 ISC_MEASURE_14,
205 (sum(c.plan_required_hr)/decode(sum(c.plan_available_hr),0,null,
206 sum(c.plan_available_hr)))*100-
207 (sum(c.comp_required_hr)/decode(sum(c.comp_available_hr),0,null,
208 sum(c.comp_available_hr)))*100 ISC_MEASURE_15,
209 sum(c.plan_required_hr) plan_required_hr_total,
210 sum(c.plan_available_hr) plan_available_hr_total,
211 sum(c.comp_required_hr) comp_required_hr_total,
212 sum(c.comp_available_hr) comp_available_hr_total
213 FROM (
214 SELECT s.viewby_id,
215 decode(s.plan_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,
216 sum(s.mds)*365/(:ISC_CUR_END - :ISC_CUR_START+1)/
217 decode(sign(sum(s.begin_inv+s.end_inv)),0,null,-1,null,
218 sum(s.begin_inv+s.end_inv)/2/:ISC_MON_NUM),null) plan_inv_turns,
219 decode(s.plan_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2,
220 sum(s.mds)*365/(:ISC_CUR_END - :ISC_CUR_START+1)/
221 decode(sign(sum(s.begin_inv+s.end_inv)),0,null,-1,null,
222 sum(s.begin_inv+s.end_inv)/2/:ISC_MON_NUM),null) comp_inv_turns,
223 decode(s.plan_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,
224 sum(s.mds),null) plan_mds_total,
225 decode(s.plan_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,
226 sum(s.begin_inv),null) plan_begin_inv_total,
227 decode(s.plan_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,
228 sum(s.end_inv),null) plan_end_inv_total,
229 decode(s.plan_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2,
230 sum(s.mds),null) comp_mds_total,
231 decode(s.plan_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2,
232 sum(s.begin_inv),null) comp_begin_inv_total,
233 decode(s.plan_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2,
234 sum(s.end_inv),null) comp_end_inv_total,
235 null plan_ontime_lines,
236 null plan_total_lines,
237 null comp_ontime_lines,
238 null comp_total_lines,
239 null plan_required_hr,
243 FROM
240 null plan_available_hr,
241 null comp_required_hr,
242 null comp_available_hr
244 (SELECT f.organization_id VIEWBY_ID,
245 dates.start_date PERIOD,
246 f.snapshot_id PLAN_ID,
247 sum(decode(dates.period_type,''P'',f.inventory_cost_g,0)) begin_inv,
248 sum(decode(dates.period_type,''C'',f.inventory_cost_g,0)) end_inv,
249 sum(decode(dates.period_type,''C'',f.mds_cost_g,0)) mds
250 FROM
251 (SELECT fii.start_date START_DATE,
252 fii.start_date REPORT_DATE,
253 ''C'' PERIOD_TYPE
254 FROM FII_TIME_ENT_PERIOD fii
255 WHERE fii.start_date between :ISC_CUR_START and :ISC_CUR_END
256 UNION ALL
257 SELECT cur.start_date start_date,
258 pre.start_date report_date,
259 ''P'' period_type
260 FROM
261 (SELECT fii.start_date START_DATE,
262 rownum ID
263 FROM FII_TIME_ENT_PERIOD fii
264 WHERE fii.start_date between :ISC_PRE_START and :ISC_PRE_END
265 ORDER by fii.start_date DESC) pre,
266 (SELECT fii.start_date START_DATE,
267 rownum ID
268 FROM FII_TIME_ENT_PERIOD fii
269 WHERE fii.start_date between :ISC_CUR_START and :ISC_CUR_END
270 ORDER by fii.start_date DESC) cur
271 WHERE cur.id = pre.id(+)) dates,
272 ISC_DBI_PM_0001_MV f
273 WHERE f.start_date = dates.report_date
274 AND f.period_type_id = :ISC_MON_PERIOD_ID
275 AND f.union1_flag <>:ISC_UNION_FLAG
276 AND f.item_cat_flag = :ISC_ITEM_CAT_FLAG
277 AND f.snapshot_id in (&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2)
278 GROUP BY f.organization_id,dates.start_date,f.snapshot_id) s
279 GROUP BY s.viewby_id,s.plan_id
280 UNION ALL
281 SELECT f.organization_id VIEWBY_ID,
282 null plan_inv_turns,
283 null comp_inv_turns,
284 null plan_mds_total,
285 null plan_begin_inv_total,
286 null plan_end_inv_total,
287 null comp_mds_total,
288 null comp_begin_inv_total,
289 null comp_end_inv_total,
290 decode(f.snapshot_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,
291 sum(f.total_lines)-sum(f.late_lines),null) plan_ontime_lines,
292 decode(f.snapshot_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,
293 sum(f.total_lines),null) plan_total_lines,
294 decode(f.snapshot_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2,
295 sum(f.total_lines)-sum(f.late_lines),null) comp_ontime_lines,
296 decode(f.snapshot_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2,
297 sum(f.total_lines),null) comp_total_lines,
298 null plan_required_hr,
299 null plan_available_hr,
300 null comp_required_hr,
301 null comp_available_hr
302 FROM
303 ISC_DBI_PM_0001_MV f
304 WHERE f.start_date = :ISC_CUR_START
305 AND f.period_type_id = :ISC_PERIOD_TYPE_ID
306 AND f.union2_flag <>:ISC_UNION_FLAG
307 AND f.item_cat_flag = :ISC_ITEM_CAT_FLAG
308 AND f.snapshot_id in (&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2)
309 GROUP BY f.organization_id,f.snapshot_id
310 UNION ALL
311 SELECT f.organization_id VIEWBY_ID,
312 null plan_inv_turns,
313 null comp_inv_turns,
314 null plan_mds_total,
315 null plan_begin_inv_total,
316 null plan_end_inv_total,
317 null comp_mds_total,
318 null comp_begin_inv_total,
319 null comp_end_inv_total,
320 null plan_ontime_lines,
321 null plan_total_lines,
322 null comp_ontime_lines,
323 null comp_total_lines,
324 decode(f.snapshot_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,
325 sum(f.required_hours),null) plan_required_hr,
326 decode(f.snapshot_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,
327 sum(f.available_hours),null) plan_available_hr,
328 decode(f.snapshot_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2,
329 sum(f.required_hours),null) comp_required_hr,
333 ISC_DBI_PM_0002_MV f
330 decode(f.snapshot_id,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2,
331 sum(f.available_hours),null) comp_available_hr
332 FROM
334 WHERE f.start_date = :ISC_CUR_START
335 AND f.period_type_id = :ISC_PERIOD_TYPE_ID
336 AND f.res_gp_flag =:ISC_RES_GP_FLAG
337 AND f.snapshot_id in (&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT,&PLAN_SNAPSHOT+PLAN_SNAPSHOT+PLAN_SNAPSHOT_2)
338 GROUP BY f.organization_id,f.snapshot_id) c
339 '||l_org_where||'
340 GROUP BY c.viewby_id)
341 WHERE (ISC_MEASURE_1 is not null OR ISC_MEASURE_2 is not null
342 OR ISC_MEASURE_7 is not null OR ISC_MEASURE_7 is not null
343 OR ISC_MEASURE_13 is not null OR ISC_MEASURE_14 is not null)) a,';
344
345 l_stmt := 'SELECT org.name VIEWBY,
346 org.organization_id VIEWBYID,
347 '||l_inner_sql||'
348 HR_ALL_ORGANIZATION_UNITS_TL org
349 WHERE org.organization_id = a.viewby_id
350 AND org.language = :ISC_LANG
351 AND ((a.rnk between &START_INDEX and &END_INDEX) OR (&END_INDEX=-1))
352 ORDER BY rnk';
353
354 END IF;
355
356 x_custom_sql := l_stmt;
357
358 l_custom_rec.attribute_name := ':ISC_PERIOD_TYPE_ID';
359 l_custom_rec.attribute_value := to_char(l_period_type_id);
360 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
361 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.INTEGER_BIND;
362 x_custom_output.EXTEND;
363 x_custom_output(1) := l_custom_rec;
364
365 l_custom_rec.attribute_name := ':ISC_CUR_START';
366 l_custom_rec.attribute_value := to_char(l_cur_start,'DD/MM/YYYY');
367 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
368 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.DATE_BIND;
369 x_custom_output.EXTEND;
370 x_custom_output(2) := l_custom_rec;
371
372 l_custom_rec.attribute_name := ':ISC_CUR_END';
373 l_custom_rec.attribute_value := to_char(l_cur_end,'DD/MM/YYYY');
374 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
375 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.DATE_BIND;
376 x_custom_output.EXTEND;
377 x_custom_output(3) := l_custom_rec;
378
379 l_custom_rec.attribute_name := ':ISC_PRE_START';
380 l_custom_rec.attribute_value := to_char(l_pre_start,'DD/MM/YYYY');
381 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
382 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.DATE_BIND;
383 x_custom_output.EXTEND;
384 x_custom_output(4) := l_custom_rec;
385
386 l_custom_rec.attribute_name := ':ISC_PRE_END';
387 l_custom_rec.attribute_value := to_char(l_pre_end,'DD/MM/YYYY');
388 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
389 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.DATE_BIND;
390 x_custom_output.EXTEND;
391 x_custom_output(5) := l_custom_rec;
392
393
394 l_custom_rec.attribute_name := ':ISC_LANG';
395 l_custom_rec.attribute_value := l_lang;
396 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
397 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.VARCHAR2_BIND;
398 x_custom_output.EXTEND;
399 x_custom_output(6) := l_custom_rec;
400
401 l_custom_rec.attribute_name := ':ISC_ITEM_CAT_FLAG';
402 l_custom_rec.attribute_value := to_char(l_item_cat_flag);
403 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
404 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.INTEGER_BIND;
405 x_custom_output.EXTEND;
406 x_custom_output(7) := l_custom_rec;
407
408 l_custom_rec.attribute_name := ':ISC_UNION_FLAG';
409 l_custom_rec.attribute_value := to_char(l_union_flag);
410 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
411 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.INTEGER_BIND;
412 x_custom_output.EXTEND;
413 x_custom_output(8) := l_custom_rec;
414
415 l_custom_rec.attribute_name := ':ISC_RES_GP_FLAG';
416 l_custom_rec.attribute_value := to_char(l_res_gp_flag);
417 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
418 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.INTEGER_BIND;
419 x_custom_output.EXTEND;
420 x_custom_output(9) := l_custom_rec;
421
422 l_custom_rec.attribute_name := ':ISC_MON_PERIOD_ID';
423 l_custom_rec.attribute_value := to_char(l_mon_period_id);
424 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
425 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.INTEGER_BIND;
426 x_custom_output.EXTEND;
427 x_custom_output(10) := l_custom_rec;
428
429 l_custom_rec.attribute_name := ':ISC_MON_NUM';
430 l_custom_rec.attribute_value := to_char(l_mon_num);
431 l_custom_Rec.attribute_type := BIS_PMV_PARAMETERS_PUB.BIND_TYPE;
432 l_custom_Rec.attribute_data_type := BIS_PMV_PARAMETERS_PUB.INTEGER_BIND;
433 x_custom_output.EXTEND;
434 x_custom_output(11) := l_custom_rec;
435
436 END get_sql;
437
438 END ISC_DBI_PLAN_PERF_PKG ;
439