DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_DIAG_RCV_PO

Source


1 PACKAGE BODY inv_diag_rcv_po AS
2 /* $Header: INVDPO1B.pls 120.2 2008/02/01 05:59:19 ssadasiv noship $ */
3 ------------------------------------------------------------
4 -- procedure to initialize test datastructures
5 -- executes prior to test run
6 ------------------------------------------------------------
7 PROCEDURE init IS
8 BEGIN
9  -- test writer could insert special setup code here
10  null;
11 END init;
12 
13 ------------------------------------------------------------
14 -- procedure to cleanup any  test datastructures that were setup in the init
15 --  procedure call executes after test run
16 ------------------------------------------------------------
17 PROCEDURE cleanup IS
18 BEGIN
19  -- test writer could insert special cleanup code here
20  NULL;
21 END cleanup;
22 
23 ------------------------------------------------------------
24 -- procedure to report test name back to framework
25 ------------------------------------------------------------
26 PROCEDURE getTestName(str OUT NOCOPY VARCHAR2) IS
27 BEGIN
28   str := 'Purchase Order';
29 END getTestName;
30 
31 ------------------------------------------------------------
32 -- procedure to report name back to framework
33 ------------------------------------------------------------
34 PROCEDURE getComponentName(str OUT NOCOPY VARCHAR2) IS
35 BEGIN
36   str := 'PO';
37 END getComponentName;
38 
39 ------------------------------------------------------------
40 -- procedure to report test description back to framework
41 ------------------------------------------------------------
42 PROCEDURE getTestDesc(str OUT NOCOPY VARCHAR2) IS
43 BEGIN
44   str := 'This diagnostic test will collect setup and transactional data for a specific purchase order.'||'<BR/>'||
45          'The data collected can aid in the resolution of issues involving purchase order.'||'<BR/>'||
46          '<b>Parameters</b>'||'<BR/>'||
47          'This script requires either the combination of Purchase Order and Operating Unit Id or Receipt Number and Organization Id'||
48          ' as mandatory parameters.'||'<BR/>'||'Purchase Order Line Number and Purchase Order Line Location Number'||
49          ' are optional.'||' Alternatively all parameters can be entered at the same time.';
50 
51 END getTestDesc;
52 
53 
54 ------------------------------------------------------------
55 -- procedure to provide/populate  the default parameters for the test case.
56 -- There are 6 parameters in this Data Collection.
57 ------------------------------------------------------------
58 PROCEDURE getDefaultTestParams(defaultInputValues OUT NOCOPY JTF_DIAG_INPUTTBL) IS
59   tempInput JTF_DIAG_INPUTTBL;
60 BEGIN
61   tempInput := JTF_DIAGNOSTIC_ADAPTUTIL.initinputtable;
62   tempInput := JTF_DIAGNOSTIC_ADAPTUTIL.addInput(tempInput,'Operating Unit Id','LOV-oracle.apps.inv.diag.lov.OperatingLov');
63   tempInput := JTF_DIAGNOSTIC_ADAPTUTIL.addInput(tempInput,'PO Number','LOV-oracle.apps.inv.diag.lov.PONumberLov');
64   tempInput := JTF_DIAGNOSTIC_ADAPTUTIL.addInput(tempInput,'PO Line Number','LOV-oracle.apps.inv.diag.lov.POlineLov');    -- LOV-oracle.apps.inv.diag.lov.ItemLov
65   tempInput := JTF_DIAGNOSTIC_ADAPTUTIL.addInput(tempInput,'PO Line Location Number','LOV-oracle.apps.inv.diag.lov.POlinelocLov');  -- LOV-oracle.apps.inv.diag.lov.ItemLov
66   tempInput := JTF_DIAGNOSTIC_ADAPTUTIL.addInput(tempInput,'Organization Id','LOV-oracle.apps.inv.diag.lov.OrganizationLov');
67   tempInput := JTF_DIAGNOSTIC_ADAPTUTIL.addInput(tempInput,'Receipt Number','LOV-oracle.apps.inv.diag.lov.ReceiptNumLov');
68   defaultInputValues := tempInput;
69 END getDefaultTestParams;
70 
71 ------------------------------------------------------------
72 -- procedure to report test mode back to the framework
73 ------------------------------------------------------------
74 FUNCTION getTestMode RETURN NUMBER IS
75 BEGIN
76   return JTF_DIAGNOSTIC_ADAPTUTIL.ADVANCED_MODE;
77 END getTestMode;
78 
79 ------------------------------------------------------------
80 -- procedure to execute the PLSQL test
81 -- the inputs needed for the test are passed in and a report object and CLOB are -- returned.
82 ------------------------------------------------------------
83 PROCEDURE runtest(inputs IN  JTF_DIAG_INPUTTBL,
84                           report OUT NOCOPY JTF_DIAG_REPORT,
85                           reportClob OUT NOCOPY CLOB) IS
86    reportStr   LONG;           -- REPORT
87    c_username  VARCHAR2(50);   -- accept input for username
88    statusStr   VARCHAR2(50);   -- SUCCESS or FAILURE
89    errStr      VARCHAR2(4000); -- error message
90    fixInfo     VARCHAR2(4000); -- fix tip
91    isFatal     VARCHAR2(50);   -- TRUE or FALSE
92    row_limit   NUMBER;
93    l_count     NUMBER := 0;
94 
95    sql_text    VARCHAR2(6000);   -- Text variable to hold the sqls
96 
97    po_sql      INV_DIAG_RCV_PO_COMMON.sqls_list; -- Table of varchar2
98    l_skip_rest VARCHAR2(1):= 'N';             -- Flag for skipping a Data collection Package call.
99 
100    dummy_num        NUMBER;
101    l_operating_id   po_headers_all.org_id%TYPE;
102    l_po_number      po_headers_all.segment1%TYPE;
103    l_line_num       po_lines_all.line_num%TYPE;
104    l_org_id         rcv_shipment_headers.organization_id%TYPE;
105    l_line_loc_num   po_line_locations_all.shipment_num%TYPE;
106    l_receipt_num    rcv_shipment_headers.receipt_num%TYPE;
107 
108  BEGIN
109   JTF_DIAGNOSTIC_ADAPTUTIL.setUpVars;
110   JTF_DIAGNOSTIC_ADAPTUTIL.addStringToReport('@html');
111   JTF_DIAGNOSTIC_COREAPI.insert_style_sheet;
112   -- accept input
113   l_po_number      := Trim(JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('PO Number',inputs));
114   l_operating_id   := Trim(JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('Operating Unit Id',inputs));
115   l_line_num       := Trim(JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('PO Line Number',inputs));
116   l_line_loc_num   := Trim(JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('PO Line Location Number',inputs));
117   l_receipt_num    := Trim(JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('Receipt Number',inputs));
118   l_org_id         := Trim(JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('Organization Id',inputs));
119 
120   -----------------------------------------
121   -- Validation part.
122   -----------------------------------------
123   -- 1.If PO Number is Entered,Operating Unit Id is Mandatory
124   -- 2.If Receipt Number is Entered,Organization Id is Mandatory
125   -- 3.The combination of PO and Receipt Number can be Entered
126   ------------------------------------------
127 IF l_po_number IS NULL THEN
128 
129    IF (l_receipt_num IS NULL OR l_org_id IS NULL) THEN
130       JTF_DIAGNOSTIC_COREAPI.ErrorPrint('Some of the required inputs are missing.');
131       JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please refer to the parameters section for mandatory parameters for this test.');
132       statusStr  := 'FAILURE';
133       report     := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
134       reportClob := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
135       RETURN;
136    END IF;
137 ELSIF l_operating_id IS NULL THEN
138       JTF_DIAGNOSTIC_COREAPI.ErrorPrint('Some of the required inputs are missing.');
139       JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please refer to the parameters section for mandatory parameters for this test.');
140       statusStr  := 'FAILURE';
141       report     := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
142       reportClob := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
143       RETURN;
144 ELSE
145 IF (l_receipt_num IS NOT NULL AND l_po_number IS NULL AND l_org_id IS NULL) THEN
146     JTF_DIAGNOSTIC_COREAPI.ErrorPrint('Some of the required inputs are missing.');
147     JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please refer to the parameters section for mandatory parameters for this test.');
148     statusStr    := 'FAILURE';
149     report       := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
150     reportClob   := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
151     RETURN;
152 END IF;
153 END IF;
154 
155 -----------------------------------------------
156 -- Check if the Entered Combinations are valid
157 -----------------------------------------------
158 
159 IF l_operating_id IS NOT NULL AND l_po_number IS NOT NULL AND l_receipt_num IS NOT NULL AND l_org_id IS NOT NULL
160    AND (l_line_num IS NOT NULL OR l_line_loc_num IS NOT NULL) THEN
161 SELECT Count(1)
162 INTO l_count
163 FROM po_headers_all ph,
164 po_lines_all pl,
165 po_line_locations_all pll,
166 rcv_shipment_headers rsh,
167 rcv_shipment_lines rsl
168 WHERE rsh.shipment_header_id=rsl.shipment_header_id
169 AND rsl.po_header_id=ph.po_header_id
170 AND rsl.po_line_id=pl.po_line_id
171 AND rsl.po_line_location_id=pll.line_location_id
172 AND pl.po_line_id=pll.po_line_id
173 AND pl.po_header_id=ph.po_header_id
174 AND pl.line_num=Nvl(l_line_num,pl.line_num)
175 AND pll.shipment_num=Nvl(l_line_loc_num,pll.shipment_num)
176 AND ph.segment1=l_po_number
177 AND ph.org_id=l_operating_id
178 AND rsh.receipt_num=l_receipt_num
179 AND rsh.ship_to_org_id=l_org_id;
180 IF l_count = 0 THEN
181 statusStr    := 'FAILURE';
182 JTF_DIAGNOSTIC_COREAPI.ErrorPrint('No Data exists for the entered combination.');
183 JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please enter valid data for all the input parameters.');
184 report       := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
185 reportClob   := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
186 RETURN;
187 END IF;
188 END IF;
189 
190 
191 IF l_operating_id IS NOT NULL AND l_po_number IS NOT NULL AND l_receipt_num IS NOT NULL AND l_org_id IS NOT NULL THEN
192 SELECT Count(1)
193 INTO l_count
194 FROM po_headers_all ph,
195 rcv_shipment_headers rsh,
196 rcv_shipment_lines rsl
197 WHERE rsh.shipment_header_id=rsl.shipment_header_id
198 AND rsl.po_header_id=ph.po_header_id
199 AND ph.segment1=l_po_number
200 AND ph.org_id=l_operating_id
201 AND rsh.receipt_num=l_receipt_num
202 AND rsh.ship_to_org_id=l_org_id;
203 IF l_count = 0 THEN
204 statusStr    := 'FAILURE';
205 JTF_DIAGNOSTIC_COREAPI.ErrorPrint('No Data exists for the entered combination.');
206 JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please enter a valid Purchase order number,Operating unit id,Receipt num and Organization_id.');
207 report       := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
208 reportClob   := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
209 RETURN;
210 END IF;
211 END IF;
212 
213 IF l_operating_id IS NOT NULL AND l_po_number IS NOT NULL THEN
214 SELECT Count(1)
215 INTO l_count
216 FROM po_headers_all ph
217 where   ph.segment1=l_po_number
218 AND   ph.org_id=l_operating_id;
219 IF l_count = 0 THEN
220 statusStr    := 'FAILURE';
221 JTF_DIAGNOSTIC_COREAPI.ErrorPrint('No Data exists for the entered combination.');
222 JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please enter a valid Purchase order number and Operating unit id.');
223 report       := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
224 reportClob   := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
225 RETURN;
226 END IF;
227 END IF;
228 
229 IF l_receipt_num IS NOT NULL AND l_org_id IS NOT NULL THEN
230 SELECT Count(1)
231 INTO l_count
232 FROM rcv_shipment_headers rsh
233 WHERE receipt_source_code='VENDOR'
234 AND rsh.receipt_num=l_receipt_num
235 AND rsh.ship_to_org_id=l_org_id;
236 IF l_count = 0 THEN
237 statusStr    := 'FAILURE';
238    JTF_DIAGNOSTIC_COREAPI.ErrorPrint('No Data exists for the entered combination.');
239    JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please enter a valid Receipt number and Organization id.');
240    report       := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
241    reportClob   := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
242 RETURN;
243 END IF;
244 END IF;
245 
246 ------------------------------------------------------------------------
247 -- Call Appropriate Procedures based on the input parameters
248 -- Set l_skip_rest to "Y" so that subsequent procedure call are skipped
249 ------------------------------------------------------------------------
250 -- If all the Input fields are Entered use the below call
251 IF l_po_number     IS NOT NULL AND
252    l_operating_id  IS NOT NULL AND
253    l_receipt_num   IS NOT NULL AND
254    l_org_id        IS NOT NULL AND
255    l_skip_rest = 'N' THEN
256 
257   INV_DIAG_RCV_PO_COMMON.build_all_sql(l_operating_id,l_po_number,l_line_num,l_line_loc_num,l_org_id,l_receipt_num,po_sql);
258   l_skip_rest := 'Y';
259 END if;
260 
261 -- Below procedure will handle both PO,OU and PO,OU,PLL,POL
262 IF l_po_number     IS NOT NULL  AND
263    l_operating_id  IS NOT NULL  AND
264    l_skip_rest = 'N' THEN
265 
266    INV_DIAG_RCV_PO_COMMON.build_po_all_sql(l_operating_id,l_po_number,l_line_num,l_line_loc_num,po_sql);
267    l_skip_rest := 'Y';
268 END if;
269 
270 IF l_receipt_num    IS NOT NULL AND
271    l_org_id         IS NOT NULL AND
272    l_skip_rest = 'N' THEN
273 
274   INV_DIAG_RCV_RCV_COMMON.build_rcv_sql(l_org_id,l_receipt_num,po_sql);
275   l_skip_rest := 'Y';
276 END IF;
277 
278 -- Call the procedure to get the lookup codes
279 INV_DIAG_RCV_RCV_COMMON.build_lookup_codes(po_sql);
280 
281 -----------------------------------------
282 -- Code to Build the Index of HTML tables
283 -----------------------------------------
284 JTF_DIAGNOSTIC_COREAPI.insert_html('<table border="1" cellpadding="1" cellspacing="1" bgcolor="#f7f7e7">'||'
285 <tr bgcolor="#cccc99">'||'
286 <th colspan="3">INDEX OF QUERIES</th>'||'
287 <a name="INDEX OF QUERIES"></a></tr>'||'
288 <tr>'||'
289 <td><a href="#PO_HEADERS_ALL">PO_HEADERS_ALL</a></td>'||'
290 <td><a href="#PO_LINES_ALL">PO_LINES_ALL</a></td>'||'
291 <td><a href="#PO_LINE_LOCATIONS_ALL">PO_LINE_LOCATIONS_ALL</a></td>'||'
292 </tr>'||'
293 <tr>'||'
294 <td><a href="#GL_CODE_COMBINATIONS">GL_CODE_COMBINATIONS</a></td>'||'
295 <td><a href="#RCV_RECEIVING_SUB_LEDGER">RCV_RECEIVING_SUB_LEDGER</a></td>'||'
296 <td><a href="#AP_INVOICE_LINES_ALL">AP_INVOICE_LINES_ALL</a></td>'||'
297 </tr>'||'
298 <tr>'||'
299 <td><a href="#AP_INVOICES_ALL">AP_INVOICES_ALL</a></td>'||'
300 <td><a href="#AP_INVOICE_LINES_INTERFACE">AP_INVOICE_LINES_INTERFACE</a></td>'||'
301 <td><a href="#AP_INVOICES_INTERFACE">AP_INVOICES_INTERFACE</a></td>'||'
302 </tr>'||'
303 <tr>'||'
304 <td><a href="#RCV_SHIPMENT_HEADERS">RCV_SHIPMENT_HEADERS</a></td>'||'
305 <td><a href="#RCV_SHIPMENT_LINES">RCV_SHIPMENT_LINES</a></td>'||'
306 <td><a href="#RCV_TRANSACTIONS">RCV_TRANSACTIONS</a></td>'||'
307 </tr>'||'
308 <tr>'||'
309 <td><a href="#MTL_SUPPLY">MTL_SUPPLY</a></td>'||'
310 <td><a href="#RCV_SUPPLY">RCV_SUPPLY</a></td>'||'
311 <td><a href="#RCV_HEADERS_INTERFACE">RCV_HEADERS_INTERFACE</a></td>'||'
312 </tr>'||'
313 <tr>'||'
314 <td><a href="#RCV_TRANSACTIONS_INTERFACE">RCV_TRANSACTIONS_INTERFACE</a></td>'||'
315 <td><a href="#PO_INTERFACE_ERRORS">PO_INTERFACE_ERRORS</a></td>'||'
316 <td><a href="#MTL_SYSTEM_ITEMS">MTL_SYSTEM_ITEMS</a></td>'||'
317 </tr>'||'
318 <tr>'||'
319 <td><a href="#MTL_MATERIAL_TRANSACTIONS">MTL_MATERIAL_TRANSACTIONS</a></td>'||'
323 <tr>'||'
320 <td><a href="#MTL_TRANSACTION_TYPES">MTL_TRANSACTION_TYPES</a></td>'||'
321 <td><a href="#MTL_TXN_REQUEST_LINES">MTL_TXN_REQUEST_LINES</a></td>'||'
322 </tr>'||'
324 <td><a href="#MTL_MATERIAL_TRANSACTIONS_TEMP">MTL_MATERIAL_TRANSACTIONS_TEMP</a></td>'||'
325 <td><a href="#ORG_ORGANIZATION_DEFINITIONS">ORG_ORGANIZATION_DEFINITIONS</a></td>'||'
326 <td><a href="#MTL_PARAMETERS">MTL_PARAMETERS</a></td>'||'
327 </tr>'||'
328 <tr>'||'
329 <td><a href="#RCV_PARAMETERS">RCV_PARAMETERS</a></td>'||'
330 <td><a href="#PO_SYSTEM_PARAMETERS_ALL">PO_SYSTEM_PARAMETERS_ALL</a></td>'||'
331 <td><a href="#FINANCIALS_SYSTEM_PARAMS_ALL">FINANCIALS_SYSTEM_PARAMS_ALL</a></td>'||'
332 </tr>'||'
333 <tr>'||'
334 <td><a href="#MTL_SERIAL_NUMBERS">MTL_SERIAL_NUMBERS</a></td>'||'
335 <td><a href="#MTL_SERIAL_NUMBERS_TEMP">MTL_SERIAL_NUMBERS_TEMP</a></td>'||'
336 <td><a href="#MTL_SERIAL_NUMBERS_INTERFACE">MTL_SERIAL_NUMBERS_INTERFACE</a></td>'||'
337 </tr>'||'
338 <tr>'||'
339 <td><a href="#MTL_UNIT_TRANSACTIONS">MTL_UNIT_TRANSACTIONS</a></td>'||'
340 <td><a href="#RCV_SERIALS_SUPPLY">RCV_SERIALS_SUPPLY</a></td>'||'
341 <td><a href="#RCV_SERIAL_TRANSACTIONS">RCV_SERIAL_TRANSACTIONS</a></td>'||'
342 </tr>'||'
343 <tr>'||'
344 <td><a href="#RCV_SERIALS_INTERFACE">RCV_SERIALS_INTERFACE</a></td>'||'
345 <td><a href="#MTL_LOT_NUMBERS">MTL_LOT_NUMBERS</a></td>'||'
346 <td><a href="#MTL_TRANSACTION_LOT_NUMBERS">MTL_TRANSACTION_LOT_NUMBERS</a></td>'||'
347 </tr>'||'
348 <tr>'||'
349 <td><a href="#MTL_TRANSACTION_LOTS_INTERFACE">MTL_TRANSACTION_LOTS_INTERFACE</a></td>'||'
350 <td><a href="#MTL_TRANSACTION_LOTS_TEMP">MTL_TRANSACTION_LOTS_TEMP</a></td>'||'
351 <td><a href="#RCV_LOTS_SUPPLY">RCV_LOTS_SUPPLY</a></td>'||'
352 </tr>'||'
353 <tr>'||'
354 <td><a href="#RCV_LOT_TRANSACTIONS">RCV_LOT_TRANSACTIONS</a></td>'||'
355 <td><a href="#RCV_LOTS_INTERFACE">RCV_LOTS_INTERFACE</a></td>'||'
356 <td><a href="#Lookup Codes">LOOKUP CODES</a></td>'||'
357 </tr>'||'
358 </table>');
359 
360 -------------------
361 -- Execute the Sqls
362 -------------------
363 JTF_DIAGNOSTIC_COREAPI.insert_html('<h4>Purchase Order Details</h4>');
364 sql_text := po_sql(1);
365 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="PO_HEADERS_ALL"></a>');
366 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>PO_HEADERS_ALL</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
367 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
368 JTF_DIAGNOSTIC_COREAPI.BRPrint;
369 
370 sql_text := po_sql(2);
371 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="PO_LINES_ALL"></a>');
372 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>PO_LINES_ALL</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
373 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
374 JTF_DIAGNOSTIC_COREAPI.BRPrint;
375 
376 sql_text := po_sql(3);
377 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="PO_LINE_LOCATIONS_ALL"></a>');
378 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>PO_LINE_LOCATIONS_ALL</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
379 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
380 JTF_DIAGNOSTIC_COREAPI.BRPrint;
381 
382 sql_text := po_sql(4);
383 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="PO_DISTRIBUTIONS_ALL"></a>');
384 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>PO_DISTRIBUTIONS_ALL</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
385 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
386 JTF_DIAGNOSTIC_COREAPI.BRPrint;
387 
388 sql_text := po_sql(5);
389 JTF_DIAGNOSTIC_COREAPI.insert_html('<h4>Invoice Details</h4>');
390 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="GL_CODE_COMBINATIONS"></a>');
391 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>GL_CODE_COMBINATIONS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
392 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
393 JTF_DIAGNOSTIC_COREAPI.BRPrint;
394 
395 sql_text:= po_sql(6);
396 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_RECEIVING_SUB_LEDGER"></a>');
397 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_RECEIVING_SUB_LEDGER</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
398 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
399 JTF_DIAGNOSTIC_COREAPI.BRPrint;
400 
401 sql_text  := po_sql(7);
402 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="AP_INVOICE_LINES_ALL"></a>');
403 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>AP_INVOICE_LINES_ALL</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
404 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
405 JTF_DIAGNOSTIC_COREAPI.BRPrint;
406 
407 sql_text := po_sql(8);
408 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="AP_INVOICES_ALL"></a>');
409 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>AP_INVOICES_ALL</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
410 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
411 JTF_DIAGNOSTIC_COREAPI.BRPrint;
412 
413 sql_text := po_sql(9);
414 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="AP_INVOICE_LINES_INTERFACE"></a>');
415 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>AP_INVOICE_LINES_INTERFACE</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
416 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
417 JTF_DIAGNOSTIC_COREAPI.BRPrint;
418 
419 sql_text:= po_sql(10);
420 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="AP_INVOICES_INTERFACE"></a>');
421 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>AP_INVOICES_INTERFACE</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
422 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
423 JTF_DIAGNOSTIC_COREAPI.BRPrint;
424 
425 sql_text:= po_sql(11);
426 
430 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
427 JTF_DIAGNOSTIC_COREAPI.insert_html('<h4>Receipt Details</h4>');
428 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_SHIPMENT_HEADERS"></a>');
429 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_SHIPMENT_HEADERS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
431 JTF_DIAGNOSTIC_COREAPI.BRPrint;
432 
433 sql_text:= po_sql(12);
434 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_SHIPMENT_LINES"></a>');
435 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_SHIPMENT_LINES</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
436 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
437 JTF_DIAGNOSTIC_COREAPI.BRPrint;
438 
439 sql_text:= po_sql(13);
440 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_TRANSACTIONS"></a>');
441 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_TRANSACTIONS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
442 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
443 JTF_DIAGNOSTIC_COREAPI.BRPrint;
444 
445 sql_text:= po_sql(14);
446 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_SUPPLY"></a>');
447 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_SUPPLY</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
448 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
449 JTF_DIAGNOSTIC_COREAPI.BRPrint;
450 
451 sql_text:= po_sql(15);
452 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_SUPPLY"></a>');
453 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_SUPPLY</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
454 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
455 JTF_DIAGNOSTIC_COREAPI.BRPrint;
456 
457 sql_text:= po_sql(16);
458 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_HEADERS_INTERFACE"></a>');
459 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_HEADERS_INTERFACE</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
460 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
461 JTF_DIAGNOSTIC_COREAPI.BRPrint;
462 
463 sql_text:= po_sql(17);
464 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_TRANSACTIONS_INTERFACE"></a>');
465 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_TRANSACTIONS_INTERFACE</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
466 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
467 JTF_DIAGNOSTIC_COREAPI.BRPrint;
468 
469 sql_text:= po_sql(18);
470 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="PO_INTERFACE_ERRORS"></a>');
471 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>PO_INTERFACE_ERRORS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
472 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
473 JTF_DIAGNOSTIC_COREAPI.BRPrint;
474 
475 sql_text:= po_sql(19);
476 
477 JTF_DIAGNOSTIC_COREAPI.insert_html('<h4>Inventory Details</h4>');
478 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_SYSTEM_ITEMS"></a>');
479 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_SYSTEM_ITEMS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
480 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
481 JTF_DIAGNOSTIC_COREAPI.BRPrint;
482 
483 sql_text:= po_sql(20);
484 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_MATERIAL_TRANSACTIONS"></a>');
485 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_MATERIAL_TRANSACTIONS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
486 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
487 JTF_DIAGNOSTIC_COREAPI.BRPrint;
488 
489 sql_text:= po_sql(21);
490 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_TRANSACTION_TYPES"></a>');
491 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_TRANSACTION_TYPES</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
492 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
493 JTF_DIAGNOSTIC_COREAPI.BRPrint;
494 
495 sql_text:= po_sql(22);
496 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_TXN_REQUEST_LINES"></a>');
497 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_TXN_REQUEST_LINES</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
498 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
499 JTF_DIAGNOSTIC_COREAPI.BRPrint;
500 
501 sql_text:= po_sql(23);
502 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_MATERIAL_TRANSACTIONS_TEMP"></a>');
503 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_MATERIAL_TRANSACTIONS_TEMP</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
504 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
505 JTF_DIAGNOSTIC_COREAPI.BRPrint;
506 
507 sql_text:= po_sql(24);
508 
509 JTF_DIAGNOSTIC_COREAPI.insert_html('<h4>Organization Setup Details</h4>');
510 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="ORG_ORGANIZATION_DEFINITIONS"></a>');
511 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>ORG_ORGANIZATION_DEFINITIONS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
512 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
513 JTF_DIAGNOSTIC_COREAPI.BRPrint;
514 
515 sql_text:= po_sql(25);
516 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_PARAMETERS"></a>');
517 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_PARAMETERS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
518 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
519 JTF_DIAGNOSTIC_COREAPI.BRPrint;
520 
521 sql_text:= po_sql(26);
522 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_PARAMETERS"></a>');
523 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_PARAMETERS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
524 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
525 JTF_DIAGNOSTIC_COREAPI.BRPrint;
526 
527 sql_text:= po_sql(27);
528 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="PO_SYSTEM_PARAMETERS_ALL"></a>');
532 
529 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>PO_SYSTEM_PARAMETERS_ALL</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
530 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
531 JTF_DIAGNOSTIC_COREAPI.BRPrint;
533 sql_text:= po_sql(28);
534 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="FINANCIALS_SYSTEM_PARAMS_ALL"></a>');
535 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>FINANCIALS_SYSTEM_PARAMS_ALL</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
536 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
537 JTF_DIAGNOSTIC_COREAPI.BRPrint;
538 
539 sql_text:= po_sql(29);
540 
541 JTF_DIAGNOSTIC_COREAPI.insert_html('<h4>Lot and Serial Transaction Details</h4>');
542 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_SERIAL_NUMBERS"></a>');
543 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_SERIAL_NUMBERS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
544 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
545 JTF_DIAGNOSTIC_COREAPI.BRPrint;
546 
547 sql_text:= po_sql(30);
548 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_SERIAL_NUMBERS_TEMP"></a>');
549 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_SERIAL_NUMBERS_TEMP</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
550 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
551 JTF_DIAGNOSTIC_COREAPI.BRPrint;
552 
553 sql_text:= po_sql(31);
554 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_SERIAL_NUMBERS_INTERFACE"></a>');
555 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_SERIAL_NUMBERS_INTERFACE</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
556 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
557 JTF_DIAGNOSTIC_COREAPI.BRPrint;
558 
559 sql_text:= po_sql(32);
560 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_UNIT_TRANSACTIONS"></a>');
561 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_UNIT_TRANSACTIONS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
562 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
563 JTF_DIAGNOSTIC_COREAPI.BRPrint;
564 
565 sql_text:= po_sql(33);
566 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_SERIALS_SUPPLY"></a>');
567 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_SERIALS_SUPPLY</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
568 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
569 JTF_DIAGNOSTIC_COREAPI.BRPrint;
570 
571 sql_text:= po_sql(34);
572 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_SERIAL_TRANSACTIONS"></a>');
573 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_SERIAL_TRANSACTIONS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
574 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
575 JTF_DIAGNOSTIC_COREAPI.BRPrint;
576 
577 sql_text:= po_sql(35);
578 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_SERIALS_INTERFACE"></a>');
579 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_SERIALS_INTERFACE</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
580 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
581 JTF_DIAGNOSTIC_COREAPI.BRPrint;
582 
583 sql_text:= po_sql(36);
584 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_LOT_NUMBERS"></a>');
585 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_LOT_NUMBERS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
586 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
587 JTF_DIAGNOSTIC_COREAPI.BRPrint;
588 
589 sql_text:= po_sql(37);
590 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_TRANSACTION_LOT_NUMBERS"></a>');
591 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_TRANSACTION_LOT_NUMBERS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
592 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
593 JTF_DIAGNOSTIC_COREAPI.BRPrint;
594 
595 sql_text:= po_sql(38);
596 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_TRANSACTION_LOTS_INTERFACE"></a>');
597 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_TRANSACTION_LOTS_INTERFACE</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
598 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
599 JTF_DIAGNOSTIC_COREAPI.BRPrint;
600 
601 sql_text:= po_sql(39);
602 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="MTL_TRANSACTION_LOTS_TEMP"></a>');
603 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>MTL_TRANSACTION_LOTS_TEMP</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
604 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
605 JTF_DIAGNOSTIC_COREAPI.BRPrint;
606 
607 sql_text:= po_sql(40);
608 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_LOTS_SUPPLY"></a>');
609 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_LOTS_SUPPLY</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
610 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
611 JTF_DIAGNOSTIC_COREAPI.BRPrint;
612 
613 sql_text:= po_sql(41);
614 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_LOT_TRANSACTIONS"></a>');
615 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_LOT_TRANSACTIONS</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
616 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
617 JTF_DIAGNOSTIC_COREAPI.BRPrint;
618 
619 sql_text:= po_sql(42);
620 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="RCV_LOTS_INTERFACE"></a>');
621 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>RCV_LOTS_INTERFACE</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
622 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
623 JTF_DIAGNOSTIC_COREAPI.BRPrint;
624 
625 JTF_DIAGNOSTIC_COREAPI.insert_html('<a name="LOOKUP CODES"></a>');
626 JTF_DIAGNOSTIC_COREAPI.insert_html('<h4>Lookup Codes</h4>');
627 sql_text:= po_sql(100);
628 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>Serial Control</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
629 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
630 JTF_DIAGNOSTIC_COREAPI.BRPrint;
631 
632 sql_text:= po_sql(101);
633 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>Serial Uniqueness</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
634 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
635 JTF_DIAGNOSTIC_COREAPI.BRPrint;
636 
637 sql_text:= po_sql(102);
638 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>Serial Generation</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
639 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
640 JTF_DIAGNOSTIC_COREAPI.BRPrint;
641 
642 sql_text:= po_sql(103);
643 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>Serial Number Status</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
644 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
645 JTF_DIAGNOSTIC_COREAPI.BRPrint;
646 
647 sql_text:= po_sql(104);
648 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>Lot Control</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
649 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
650 JTF_DIAGNOSTIC_COREAPI.BRPrint;
651 
652 sql_text:= po_sql(105);
653 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>Lot Generation</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
654 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
655 JTF_DIAGNOSTIC_COREAPI.BRPrint;
656 
657 sql_text:= po_sql(106);
658 JTF_DIAGNOSTIC_COREAPI.insert_html('<b>LOT Uniqueness</b>  <a href="#INDEX OF QUERIES">[Top]</a>');
659 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sql_text,'');
660 JTF_DIAGNOSTIC_COREAPI.BRPrint;
661 
662 -- Test Completed successfully.
663 statusStr := 'SUCCESS';
664 isFatal := 'FALSE';
665 report := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
666 reportClob := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
667 
668 EXCEPTION
669   when others then
670     JTF_DIAGNOSTIC_COREAPI.errorprint('Error: '||sqlerrm);
671     JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('This is the exception handler');
672     statusStr := 'FAILURE';
673     errStr := sqlerrm ||' occurred in script Exception handled';
674     fixInfo := 'Unexpected Exception in INVDPO1B.pls';
675     isFatal := 'SUCCESS';
676     report := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
677     reportClob := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
678 END runTest;
679 
680 
681 END INV_DIAG_RCV_PO;