60: from fnd_languages
61: where installed_flag = 'B';
62:
63:
64: arp_standard.debug('ARP_RAXINV_MLS_FUNCTION');
65:
66: arp_standard.debug('P_USERENV_LANG = ' || p_userenv_lang);
67:
68: /* Read in Parameter Values supplied by user */
62:
63:
64: arp_standard.debug('ARP_RAXINV_MLS_FUNCTION');
65:
66: arp_standard.debug('P_USERENV_LANG = ' || p_userenv_lang);
67:
68: /* Read in Parameter Values supplied by user */
69:
70: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Transaction Class',parm_number);
72: P_CUST_TRX_CLASS := NULL;
73: else
74: P_CUST_TRX_CLASS := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
75: end if;
76: arp_standard.debug('P_CUST_TRX_CLASS ='|| P_CUST_TRX_CLASS);
77:
78: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Transaction Type',parm_number);
79: if retval = -1 then
80: P_CUST_TRX_TYPE_ID := NULL;
80: P_CUST_TRX_TYPE_ID := NULL;
81: else
82: P_CUST_TRX_TYPE_ID := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
83: end if;
84: arp_standard.debug('P_CUST_TRX_TYPE_ID ='|| to_char(P_CUST_TRX_TYPE_ID));
85:
86: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Transaction Number Low',parm_number);
87: if retval = -1 then
88: P_TRX_NUMBER_LOW := NULL;
88: P_TRX_NUMBER_LOW := NULL;
89: else
90: P_TRX_NUMBER_LOW := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
91: end if;
92: arp_standard.debug('P_TRX_NUMBER_LOW ='|| P_TRX_NUMBER_LOW);
93:
94: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Transaction Number High',parm_number);
95: if retval = -1 then
96: P_TRX_NUMBER_HIGH := NULL;
96: P_TRX_NUMBER_HIGH := NULL;
97: else
98: P_TRX_NUMBER_HIGH := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
99: end if;
100: arp_standard.debug('P_TRX_NUMBER_HIGH ='|| P_TRX_NUMBER_HIGH);
101:
102: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Print Date Low',parm_number);
103: if retval = -1 then
104: P_DATES_LOW := NULL;
104: P_DATES_LOW := NULL;
105: else
106: P_DATES_LOW := fnd_date.canonical_to_date(FND_REQUEST_INFO.GET_PARAMETER(parm_number));
107: end if;
108: arp_standard.debug('P_DATES_LOW ='|| to_char(P_DATES_LOW));
109:
110: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Print Date High',parm_number);
111: if retval = -1 then
112: P_DATES_HIGH := NULL;
112: P_DATES_HIGH := NULL;
113: else
114: P_DATES_HIGH := fnd_date.canonical_to_date(FND_REQUEST_INFO.GET_PARAMETER(parm_number));
115: end if;
116: arp_standard.debug('P_DATES_HIGH ='|| to_char(P_DATES_HIGH));
117:
118: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Customer Class',parm_number);
119: if retval = -1 then
120: P_CUSTOMER_CLASS_CODE := NULL;
120: P_CUSTOMER_CLASS_CODE := NULL;
121: else
122: P_CUSTOMER_CLASS_CODE := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
123: end if;
124: arp_standard.debug('P_CUSTOMER_CLASS_CODE ='|| P_CUSTOMER_CLASS_CODE);
125:
126: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Customer',parm_number);
127: if retval = -1 then
128: P_CUSTOMER_ID := NULL;
128: P_CUSTOMER_ID := NULL;
129: else
130: P_CUSTOMER_ID := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
131: end if;
132: arp_standard.debug('P_CUSTOMER_ID ='|| to_char(P_CUSTOMER_ID));
133:
134: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Installment Number',parm_number);
135: if retval = -1 then
136: P_INSTALLMENT_NUMBER := NULL;
136: P_INSTALLMENT_NUMBER := NULL;
137: else
138: P_INSTALLMENT_NUMBER := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
139: end if;
140: arp_standard.debug('P_INSTALLMENT_NUMBER ='|| to_char(P_INSTALLMENT_NUMBER));
141:
142: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Open Invoices Only',parm_number);
143: if retval = -1 then
144: P_OPEN_INVOICE := NULL;
144: P_OPEN_INVOICE := NULL;
145: else
146: P_OPEN_INVOICE := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
147: end if;
148: arp_standard.debug('P_OPEN_INVOICE ='|| P_OPEN_INVOICE);
149:
150: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Print Choice',parm_number);
151: if retval = -1 then
152: P_CHOICE := NULL;
152: P_CHOICE := NULL;
153: else
154: P_CHOICE := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
155: end if;
156: arp_standard.debug('P_CHOICE ='|| P_CHOICE);
157:
158: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Adjustment Number Low',parm_number);
159: if retval = -1 then
160: P_ADJ_NUMBER_LOW := NULL;
160: P_ADJ_NUMBER_LOW := NULL;
161: else
162: P_ADJ_NUMBER_LOW := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
163: end if;
164: arp_standard.debug('P_ADJ_NUMBER_LOW ='|| P_ADJ_NUMBER_LOW);
165:
166: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Adjustment Number High',parm_number);
167: if retval = -1 then
168: P_ADJ_NUMBER_HIGH := NULL;
168: P_ADJ_NUMBER_HIGH := NULL;
169: else
170: P_ADJ_NUMBER_HIGH := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
171: end if;
172: arp_standard.debug('P_ADJ_NUMBER_HIGH ='|| P_ADJ_NUMBER_HIGH);
173:
174: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Adjustment Date Low',parm_number);
175: if retval = -1 then
176: P_ADJ_DATES_LOW := NULL;
176: P_ADJ_DATES_LOW := NULL;
177: else
178: P_ADJ_DATES_LOW := fnd_date.canonical_to_date(FND_REQUEST_INFO.GET_PARAMETER(parm_number));
179: end if;
180: arp_standard.debug('P_ADJ_DATES_LOW ='|| to_char(P_ADJ_DATES_LOW));
181:
182: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Adjustment Date High',parm_number);
183: if retval = -1 then
184: P_ADJ_DATES_HIGH := NULL;
184: P_ADJ_DATES_HIGH := NULL;
185: else
186: P_ADJ_DATES_HIGH := fnd_date.canonical_to_date(FND_REQUEST_INFO.GET_PARAMETER(parm_number));
187: end if;
188: arp_standard.debug('P_ADJ_DATES_HIGH ='|| to_char(P_ADJ_DATES_HIGH));
189:
190: retval := FND_REQUEST_INFO.GET_PARAM_NUMBER('Batch',parm_number);
191: if retval = -1 then
192: P_BATCH_ID := NULL;
192: P_BATCH_ID := NULL;
193: else
194: P_BATCH_ID := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
195: end if;
196: arp_standard.debug('P_BATCH_ID ='|| to_char(P_BATCH_ID));
197:
198: arp_standard.debug('P_CUSTOMER_TRX_ID = ' || to_char(P_CUSTOMER_TRX_ID));
199:
200: arp_standard.debug('Will call BUILD_WHERE_CLAUSE');
194: P_BATCH_ID := FND_REQUEST_INFO.GET_PARAMETER(parm_number);
195: end if;
196: arp_standard.debug('P_BATCH_ID ='|| to_char(P_BATCH_ID));
197:
198: arp_standard.debug('P_CUSTOMER_TRX_ID = ' || to_char(P_CUSTOMER_TRX_ID));
199:
200: arp_standard.debug('Will call BUILD_WHERE_CLAUSE');
201:
202: ARP_TRX_SELECT_CONTROL.build_where_clause (
196: arp_standard.debug('P_BATCH_ID ='|| to_char(P_BATCH_ID));
197:
198: arp_standard.debug('P_CUSTOMER_TRX_ID = ' || to_char(P_CUSTOMER_TRX_ID));
199:
200: arp_standard.debug('Will call BUILD_WHERE_CLAUSE');
201:
202: ARP_TRX_SELECT_CONTROL.build_where_clause (
203: P_CHOICE, -- IN varchar2,
204: P_OPEN_INVOICE, -- IN varchar2,
224: 'MLS' -- in varchar2
225: );
226:
227:
228: arp_standard.debug('done with BUILD_WHERE_CLAUSE');
229:
230: ------------------------------------------------
231: -- To fix bug number 1170600 and 1158411.Changed the default
232: -- langauge from userenv lang to base lang, in case the language
242: 'select distinct(nvl(rtrim(substr(loc.language,1,4)), ''' || p_base_lang || ''')) language ' || cr ||
243: 'from ' || p_table2 || cr ||
244: 'where ' || cr || p_where2;
245:
246: arp_standard.debug('raxinv.select_sql1 = ' || cr ||
247: select_sql1 || cr );
248:
249: arp_standard.debug('raxinv.select_sql2 = ' || cr ||
250: select_sql2 || cr );
245:
246: arp_standard.debug('raxinv.select_sql1 = ' || cr ||
247: select_sql1 || cr );
248:
249: arp_standard.debug('raxinv.select_sql2 = ' || cr ||
250: select_sql2 || cr );
251:
252:
253: ------------------------------------------------
254: -- Parse sql stmts
255: ------------------------------------------------
256:
257: BEGIN
258: arp_standard.debug( ' Parsing select_sql1 stmt');
259: select_sql1_c := dbms_sql.open_cursor;
260: dbms_sql.parse( select_sql1_c, select_sql1, dbms_sql.v7 );
261:
262: EXCEPTION
260: dbms_sql.parse( select_sql1_c, select_sql1, dbms_sql.v7 );
261:
262: EXCEPTION
263: WHEN OTHERS THEN
264: arp_standard.debug( 'EXCEPTION: Error parsing select_sql1 stmt' );
265: RAISE;
266: END;
267:
268: BEGIN
265: RAISE;
266: END;
267:
268: BEGIN
269: arp_standard.debug( ' Parsing select_sql2 stmt');
270: select_sql2_c := dbms_sql.open_cursor;
271: dbms_sql.parse( select_sql2_c, select_sql2, dbms_sql.v7 );
272:
273: EXCEPTION
271: dbms_sql.parse( select_sql2_c, select_sql2, dbms_sql.v7 );
272:
273: EXCEPTION
274: WHEN OTHERS THEN
275: arp_standard.debug( 'EXCEPTION: Error parsing select_sql2 stmt' );
276: RAISE;
277: END;
278:
279: arp_standard.debug( 'Completed parsing select stmts' );
275: arp_standard.debug( 'EXCEPTION: Error parsing select_sql2 stmt' );
276: RAISE;
277: END;
278:
279: arp_standard.debug( 'Completed parsing select stmts' );
280:
281: arp_standard.debug( 'define_columns for select_sql1_c');
282: dbms_sql.define_column( select_sql1_c, 1, select_rec1.language, 4);
283:
277: END;
278:
279: arp_standard.debug( 'Completed parsing select stmts' );
280:
281: arp_standard.debug( 'define_columns for select_sql1_c');
282: dbms_sql.define_column( select_sql1_c, 1, select_rec1.language, 4);
283:
284: arp_standard.debug( 'define_columns for select_sql2_c');
285: dbms_sql.define_column( select_sql2_c, 1, select_rec2.language, 4);
280:
281: arp_standard.debug( 'define_columns for select_sql1_c');
282: dbms_sql.define_column( select_sql1_c, 1, select_rec1.language, 4);
283:
284: arp_standard.debug( 'define_columns for select_sql2_c');
285: dbms_sql.define_column( select_sql2_c, 1, select_rec2.language, 4);
286:
287: arp_standard.debug( ' Executing select_sql1' );
288: BEGIN
283:
284: arp_standard.debug( 'define_columns for select_sql2_c');
285: dbms_sql.define_column( select_sql2_c, 1, select_rec2.language, 4);
286:
287: arp_standard.debug( ' Executing select_sql1' );
288: BEGIN
289: l_ignore := dbms_sql.execute( select_sql1_c );
290:
291: EXCEPTION
289: l_ignore := dbms_sql.execute( select_sql1_c );
290:
291: EXCEPTION
292: WHEN OTHERS THEN
293: arp_standard.debug( 'EXCEPTION: Error executing select_sql1' );
294: RAISE;
295: END;
296:
297: arp_standard.debug( ' Executing select_sql2' );
293: arp_standard.debug( 'EXCEPTION: Error executing select_sql1' );
294: RAISE;
295: END;
296:
297: arp_standard.debug( ' Executing select_sql2' );
298: BEGIN
299: l_ignore := dbms_sql.execute( select_sql2_c );
300:
301: EXCEPTION
299: l_ignore := dbms_sql.execute( select_sql2_c );
300:
301: EXCEPTION
302: WHEN OTHERS THEN
303: arp_standard.debug( 'EXCEPTION: Error executing select_sql2' );
304: RAISE;
305: END;
306:
307: --------------------------------------------------------------
306:
307: --------------------------------------------------------------
308: -- Fetch rows
309: --------------------------------------------------------------
310: arp_standard.debug( ' Fetching select_sql1 stmt');
311:
312: begin
313: loop
314: if (dbms_sql.fetch_rows( select_sql1_c ) > 0)
313: loop
314: if (dbms_sql.fetch_rows( select_sql1_c ) > 0)
315: then
316:
317: arp_standard.debug(' fetched a row' );
318: select_rec1 := null_rec;
319: ------------------------------------------------------
320: -- Get column values
321: ------------------------------------------------------
319: ------------------------------------------------------
320: -- Get column values
321: ------------------------------------------------------
322: dbms_sql.column_value( select_sql1_c, 1, select_rec1.language );
323: arp_standard.debug( 'Language code: ' || select_rec1.language );
324:
325: if (lang_str is null) then
326:
327: lang_str := select_rec1.language;
329: lang_str := lang_str || ',' || select_rec1.language;
330: end if;
331:
332: else
333: arp_standard.debug('Done fetching select_sql1');
334: EXIT;
335: end if;
336: end loop;
337: end;
335: end if;
336: end loop;
337: end;
338:
339: arp_standard.debug( ' Fetching select_sql2 stmt');
340:
341: -- concatenate languages from select_sql2_c if it has languages not yet in lang_str
342: begin
343: loop
343: loop
344: if (dbms_sql.fetch_rows( select_sql2_c ) > 0)
345: then
346:
347: arp_standard.debug(' fetched a row' );
348: select_rec2 := null_rec;
349: ------------------------------------------------------
350: -- Get column values
351: ------------------------------------------------------
349: ------------------------------------------------------
350: -- Get column values
351: ------------------------------------------------------
352: dbms_sql.column_value( select_sql2_c, 1, select_rec2.language );
353: arp_standard.debug( 'Language code: ' || select_rec2.language );
354:
355: if (lang_str is null) then
356:
357: lang_str := select_rec2.language;
361: end if;
362: end if;
363:
364: else
365: arp_standard.debug('Done fetching select_sql2');
366: EXIT;
367: end if;
368: end loop;
369: end;