DBA Data[Home] [Help]

APPS.BOM_DIAGUNITTEST_ITMHLCHK dependencies on JTF_DIAGNOSTIC_COREAPI

Line 67: JTF_DIAGNOSTIC_COREAPI.insert_style_sheet;

63:
64: BEGIN
65: JTF_DIAGNOSTIC_ADAPTUTIL.setUpVars;
66: JTF_DIAGNOSTIC_ADAPTUTIL.addStringToReport('@html');
67: JTF_DIAGNOSTIC_COREAPI.insert_style_sheet;
68:
69: /* Set Row Limit to 1000 (i.e.) Max Number of records to be fetched by each sql*/
70: row_limit :=1000;
71: l_org_exists :=0; /* Initialize to zero */

Line 77: -- JTF_DIAGNOSTIC_COREAPI.Line_Out('
Script Selected: '||l_script);

73: -- accept input
74: l_org_id := JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('OrgId',inputs);
75: l_script := nvl(upper(JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('Script',inputs)),'ALL');
76:
77: -- JTF_DIAGNOSTIC_COREAPI.Line_Out('
Script Selected: '||l_script);
78:
79:
80: /* l_script is NOT a mandatory input. If it is not entered, then run all the scripts.
81: However if a script name is entered, then validate it for existence. */

Line 87: JTF_DIAGNOSTIC_COREAPI.errorprint('Invalid Script Name');

83: If l_script not in ('DUP_ITEM','UNIQ_INDEX','IVGL_ACC','MISSING_TL','COST_ENABLED',
84: 'SECONDARY_UOM','BUYER_ID','PLANNER_INACT',
85: 'ATTR_DEPEND','STATTR_MISMATCH','ACTDATE_NN','ALL') Then
86:
87: JTF_DIAGNOSTIC_COREAPI.errorprint('Invalid Script Name');
88: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please choose a Script Name from the Lov or leave the field blank.');
89: statusStr := 'FAILURE';
90: isFatal := 'TRUE';
91: fixInfo := ' Please review the error message below and take corrective action.';

Line 88: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please choose a Script Name from the Lov or leave the field blank.');

84: 'SECONDARY_UOM','BUYER_ID','PLANNER_INACT',
85: 'ATTR_DEPEND','STATTR_MISMATCH','ACTDATE_NN','ALL') Then
86:
87: JTF_DIAGNOSTIC_COREAPI.errorprint('Invalid Script Name');
88: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('Please choose a Script Name from the Lov or leave the field blank.');
89: statusStr := 'FAILURE';
90: isFatal := 'TRUE';
91: fixInfo := ' Please review the error message below and take corrective action.';
92: errStr := ' Invalid value for input field Script ';

Line 111: JTF_DIAGNOSTIC_COREAPI.errorprint('Invalid Organization Id');

107: where organization_id = l_org_id;
108: Exception
109: When others Then
110: l_org_exists :=0;
111: JTF_DIAGNOSTIC_COREAPI.errorprint('Invalid Organization Id');
112: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint(' Please either provide a valid value for the Organization Id or leave it blank.');
113: statusStr := 'FAILURE';
114: isFatal := 'TRUE';
115: fixInfo := ' Please review the error message below and take corrective action. ';

Line 112: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint(' Please either provide a valid value for the Organization Id or leave it blank.');

108: Exception
109: When others Then
110: l_org_exists :=0;
111: JTF_DIAGNOSTIC_COREAPI.errorprint('Invalid Organization Id');
112: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint(' Please either provide a valid value for the Organization Id or leave it blank.');
113: statusStr := 'FAILURE';
114: isFatal := 'TRUE';
115: fixInfo := ' Please review the error message below and take corrective action. ';
116: errStr := ' Invalid value for input field Organization Id ';

Line 128: as an input parameter to JTF_DIAGNOSTIC_COREAPI.Column_Exists API. */

124: /* Health Check scripts start */
125:
126: /* Get the application installation info. References to Data Dictionary Objects without schema name
127: included in WHERE predicate are not allowed (GSCC Check: file.sql.47). Schema name has to be passed
128: as an input parameter to JTF_DIAGNOSTIC_COREAPI.Column_Exists API. */
129:
130: l_ret_status := fnd_installation.get_app_info ('INV'
131: , l_status
132: , l_industry

Line 136: /*JTF_DIAGNOSTIC_COREAPI.Line_Out(' l_oracle_schema: '||l_oracle_schema);*/

132: , l_industry
133: , l_oracle_schema
134: );
135:
136: /*JTF_DIAGNOSTIC_COREAPI.Line_Out(' l_oracle_schema: '||l_oracle_schema);*/
137:
138: If l_script in ('ALL','DUP_ITEM') Then
139: /* Script 1 - Duplicate Item Names */
140: sqltxt := 'SELECT mif.PADDED_ITEM_NUMBER "Item Number", '||

Line 157: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Duplicate Item Names ');

153: sqltxt :=sqltxt||' and mif.organization_id = '||l_org_id;
154: end if;
155: sqltxt := sqltxt || ' and rownum< '||row_limit;
156: sqltxt := sqltxt || ' order by mif.PADDED_ITEM_NUMBER, mp.organization_code';
157: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Duplicate Item Names ');
158:
159: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
160: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
161: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 160: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

156: sqltxt := sqltxt || ' order by mif.PADDED_ITEM_NUMBER, mp.organization_code';
157: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Duplicate Item Names ');
158:
159: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
160: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
161: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
162: If (num_rows = row_limit -1 ) Then
163: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
164:
to prevent an excessively big output file
');

Line 163: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

159: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
160: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
161: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
162: If (num_rows = row_limit -1 ) Then
163: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
164:
to prevent an excessively big output file
');
165: End If;
166: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
167:
Querying these items in Items form , transactions form , sales order form etc.

Line 166: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

162: If (num_rows = row_limit -1 ) Then
163: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
164:
to prevent an excessively big output file
');
165: End If;
166: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
167:
Querying these items in Items form , transactions form , sales order form etc.
168:
will error thus making these items unusable.');
169:
170: reportStr := '

Line 199: JTF_DIAGNOSTIC_COREAPI.BRPrint;

195: End If; /* End of Impact and Action */
196:
197: statusStr := 'SUCCESS';
198: isFatal := 'FALSE';
199: JTF_DIAGNOSTIC_COREAPI.BRPrint;
200: End If; /* End of l_script */
201: /* End of Script 1 - Duplicate Item Names */
202:
203: /* Script for Unique Index suggestion for Item Number segments in MSIB */

Line 215: /*JTF_DIAGNOSTIC_COREAPI.Line_Out(' l_oracle_schema: '||l_oracle_schema);*/

211: , l_industry
212: , l_oracle_schema
213: );
214:
215: /*JTF_DIAGNOSTIC_COREAPI.Line_Out(' l_oracle_schema: '||l_oracle_schema);*/
216:
217: If l_script in ('ALL','UNIQ_INDEX') Then
218:
219: /* Logic of the script:

Line 238: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Unique Index suggestion for Enabled Item Number Segments in mtl_system_items_b Table.');

234: ' and id_flex_num = 101 '||
235: ' and enabled_flag = ''Y'' '||
236: ' order by segment_num ';
237:
238: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Unique Index suggestion for Enabled Item Number Segments in mtl_system_items_b Table.');
239: statusStr := 'SUCCESS';
240: isFatal := 'FALSE';
241: /*End of Script to fetch Enabled System Items Segments */
242:

Line 244: JTF_DIAGNOSTIC_COREAPI.Line_Out('None of the Item Number Segments are enabled.
');

240: isFatal := 'FALSE';
241: /*End of Script to fetch Enabled System Items Segments */
242:
243: If (num_rows = 0) Then
244: JTF_DIAGNOSTIC_COREAPI.Line_Out('None of the Item Number Segments are enabled.
');
245: Elsif (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
246: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Listed above are the enabled system items segments.
247:
Users are suggested to create an Unique Index on MTL_SYSTEM_ITEMS_B table
248:
containing all the enabled segments plus the organization_id column.

Line 246: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Listed above are the enabled system items segments.

242:
243: If (num_rows = 0) Then
244: JTF_DIAGNOSTIC_COREAPI.Line_Out('None of the Item Number Segments are enabled.
');
245: Elsif (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
246: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Listed above are the enabled system items segments.
247:
Users are suggested to create an Unique Index on MTL_SYSTEM_ITEMS_B table
248:
containing all the enabled segments plus the organization_id column.
249:
For further details on creating such an index please refer to
250:
''Oracle Manufacturing APIs and Open Interfaces Manual'' (Part No. A95955-03),

Line 362: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Unique Index '||l_index.index_name||' matches the Enabled System Items Segments + Organization_Id columns.
');

358: End If;
359:
360: If l_seg_count=1 and l_org_col_exists=1 Then
361: l_index_match :=1; /* Matching Index Exists */
362: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Unique Index '||l_index.index_name||' matches the Enabled System Items Segments + Organization_Id columns.
');
363: Exit;
364: End If;
365:
366: Exception

Line 373: JTF_DIAGNOSTIC_COREAPI.Line_Out('
No Unique Index as described above exists.

369: End;
370: End Loop;
371:
372: If l_index_match=0 Then /* Match Not Found*/
373: JTF_DIAGNOSTIC_COREAPI.Line_Out('
No Unique Index as described above exists.
374:

ACTION: Please create a Unique Index on MTL_SYSTEM_ITEMS_B table
375:
containing all the enabled segments plus the organization_id column.
');
376: End If;
377: End If; /* End of Impact and Action */

Line 379: JTF_DIAGNOSTIC_COREAPI.BRPrint;

375:
containing all the enabled segments plus the organization_id column.
');
376: End If;
377: End If; /* End of Impact and Action */
378: End;
379: JTF_DIAGNOSTIC_COREAPI.BRPrint;
380: End If; /* End of l_script */
381: /* End of Script for Unique Index suggestion for Item Number segments in MSIB */
382:
383: /* Script for fetching items with invalid GL accounts. */

Line 411: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Invalid GL Accounts');

407: end if;
408: sqltxt := sqltxt || ' and rownum< '||row_limit;
409: sqltxt := sqltxt || ' order by glcc.PADDED_CONCATENATED_SEGMENTS, mif.PADDED_ITEM_NUMBER, mp.organization_code';
410:
411: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Invalid GL Accounts');
412:
413: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
414: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
415: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 414: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

410:
411: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Invalid GL Accounts');
412:
413: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
414: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
415: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
416: If (num_rows = row_limit -1 ) Then
417: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
418:
to prevent an excessively big output file
');

Line 417: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

413: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
414: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
415: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
416: If (num_rows = row_limit -1 ) Then
417: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
418:
to prevent an excessively big output file
');
419: End If;
420: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Account Columns marked with ''X'' correspond to invalid GL Accounts.');
421: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

Line 420: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Account Columns marked with ''X'' correspond to invalid GL Accounts.');

416: If (num_rows = row_limit -1 ) Then
417: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
418:
to prevent an excessively big output file
');
419: End If;
420: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Account Columns marked with ''X'' correspond to invalid GL Accounts.');
421: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
422:
Downstream applications using these items might refer to
423:
these invalid GL accounts thus causing data corruption. ');
424:

Line 421: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

417: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
418:
to prevent an excessively big output file
');
419: End If;
420: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Account Columns marked with ''X'' correspond to invalid GL Accounts.');
421: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
422:
Downstream applications using these items might refer to
423:
these invalid GL accounts thus causing data corruption. ');
424:
425: reportStr :=

Line 447: JTF_DIAGNOSTIC_COREAPI.BRPrint;

443:
444: statusStr := 'SUCCESS';
445: isFatal := 'FALSE';
446:
447: JTF_DIAGNOSTIC_COREAPI.BRPrint;
448: End If; /* End of l_script */
449: /* End of script for fetching items with invalid GL accounts. */
450:
451: /* Script to identify items present in mtl_system_items_b but missing in mtl_system_items_tl */

Line 470: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' List of Items present in mtl_system_items_b table but missing in mtl_system_items_tl table');

466: end if;
467: sqltxt := sqltxt || ' and rownum< '||row_limit;
468: sqltxt := sqltxt || ' order by mif.PADDED_ITEM_NUMBER, mp.organization_code';
469:
470: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' List of Items present in mtl_system_items_b table but missing in mtl_system_items_tl table');
471:
472: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
473: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
474: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 473: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

469:
470: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' List of Items present in mtl_system_items_b table but missing in mtl_system_items_tl table');
471:
472: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
473: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
474: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
475: If (num_rows = row_limit -1 ) Then
476: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
477:
to prevent an excessively big output file
');

Line 476: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

472: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
473: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
474: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
475: If (num_rows = row_limit -1 ) Then
476: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
477:
to prevent an excessively big output file
');
478: End If;
479: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
480:
These items cannot be queried and used in multiple forms across the application .

Line 479: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

475: If (num_rows = row_limit -1 ) Then
476: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
477:
to prevent an excessively big output file
');
478: End If;
479: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
480:
These items cannot be queried and used in multiple forms across the application .
481:
For e.g. Items , Purchasing, Transactions, Sales order form etc.

');
482:
483: JTF_DIAGNOSTIC_COREAPI.ActionErrorLink('
If Rows are returned with missing data in translations table,

Line 483: JTF_DIAGNOSTIC_COREAPI.ActionErrorLink('
If Rows are returned with missing data in translations table,

479: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
480:
These items cannot be queried and used in multiple forms across the application .
481:
For e.g. Items , Purchasing, Transactions, Sales order form etc.

');
482:
483: JTF_DIAGNOSTIC_COREAPI.ActionErrorLink('
If Rows are returned with missing data in translations table,
484:
then please refer to metalink note : ' , '388325.1', '' );
485: End If; /* End of Impact and Action */
486:
487: statusStr := 'SUCCESS';

Line 490: JTF_DIAGNOSTIC_COREAPI.BRPrint;

486:
487: statusStr := 'SUCCESS';
488: isFatal := 'FALSE';
489:
490: JTF_DIAGNOSTIC_COREAPI.BRPrint;
491: End If; /* End of l_script */
492: /* End of Script to identiy items present in mtl_system_items_b but missing in mtl_system_items_tl */
493:
494:

Line 518: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Costing Enabled Items with missing data in costing tables. ');

514: end if;
515: sqltxt := sqltxt || ' and rownum< '||row_limit;
516: sqltxt :=sqltxt||' order by mif.padded_item_number, mp.organization_code';
517:
518: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Costing Enabled Items with missing data in costing tables. ');
519:
520: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
521: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
522: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 521: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

517:
518: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Costing Enabled Items with missing data in costing tables. ');
519:
520: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
521: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
522: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
523: If (num_rows = row_limit -1 ) Then
524: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
525:
to prevent an excessively big output file
');

Line 524: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

520: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
521: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
522: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
523: If (num_rows = row_limit -1 ) Then
524: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
525:
to prevent an excessively big output file
');
526: End If;
527: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
528:
These items cannot be costed which will cause data corruption in Costing module. ');

Line 527: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

523: If (num_rows = row_limit -1 ) Then
524: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
525:
to prevent an excessively big output file
');
526: End If;
527: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
528:
These items cannot be costed which will cause data corruption in Costing module. ');
529:
530: reportStr :=
531: '

ACTION:

Line 563: JTF_DIAGNOSTIC_COREAPI.BRPrint;

559:
560: statusStr := 'SUCCESS';
561: isFatal := 'FALSE';
562:
563: JTF_DIAGNOSTIC_COREAPI.BRPrint;
564: End If; /* End of l_script */
565: /* End of costing enabled items with missing data in costing tables. */
566:
567:

Line 594: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose Tracking or Pricing fields (Items -> Main tab) set to Primary but Secondary UOM has a Non Null value.');

590: end if;
591: sqltxt := sqltxt || ' and rownum< '||row_limit;
592: sqltxt :=sqltxt||' order by mif.padded_item_number, mp.organization_code';
593:
594: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose Tracking or Pricing fields (Items -> Main tab) set to Primary but Secondary UOM has a Non Null value.');
595:
596: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
597: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
598: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 597: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

593:
594: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose Tracking or Pricing fields (Items -> Main tab) set to Primary but Secondary UOM has a Non Null value.');
595:
596: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
597: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
598: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
599: If (num_rows = row_limit -1 ) Then
600: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
601:
to prevent an excessively big output file
');

Line 600: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

596: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
597: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
598: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
599: If (num_rows = row_limit -1 ) Then
600: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
601:
to prevent an excessively big output file
');
602: End If;
603: JTF_DIAGNOSTIC_COREAPI.Line_Out('
When an item''s Tracking or Pricing field (Items -> main tab)
604:
is set to Primary, then its Secondary UOM should not be populated.');

Line 603: JTF_DIAGNOSTIC_COREAPI.Line_Out('
When an item''s Tracking or Pricing field (Items -> main tab)

599: If (num_rows = row_limit -1 ) Then
600: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
601:
to prevent an excessively big output file
');
602: End If;
603: JTF_DIAGNOSTIC_COREAPI.Line_Out('
When an item''s Tracking or Pricing field (Items -> main tab)
604:
is set to Primary, then its Secondary UOM should not be populated.');
605:
606: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
607:
Item import process cannot be run to update any of the Item attributes

Line 606: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

602: End If;
603: JTF_DIAGNOSTIC_COREAPI.Line_Out('
When an item''s Tracking or Pricing field (Items -> main tab)
604:
is set to Primary, then its Secondary UOM should not be populated.');
605:
606: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
607:
Item import process cannot be run to update any of the Item attributes
608:
as users will receive the following error message.
609:
''If tracking and pricing are set to Primary,
610:
then Secondary Unit of measure can only have a null value. '' ');

Line 627: JTF_DIAGNOSTIC_COREAPI.BRPrint;

623:
624: statusStr := 'SUCCESS';
625: isFatal := 'FALSE';
626:
627: JTF_DIAGNOSTIC_COREAPI.BRPrint;
628: End If; /* End of l_script */
629: /* End of script to identify items whose tracking and pricing UOMs are set to Primary but
630: Secondary UOM has a non null value.*/
631:

Line 655: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose buyer_id corresponds to Inactive Buyers');

651: end if;
652: sqltxt := sqltxt || ' and rownum< '||row_limit;
653: sqltxt := sqltxt ||' order by mif.padded_item_number, mp.organization_code';
654:
655: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose buyer_id corresponds to Inactive Buyers');
656:
657: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
658: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
659: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 658: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

654:
655: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose buyer_id corresponds to Inactive Buyers');
656:
657: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
658: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
659: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
660: If (num_rows = row_limit -1 ) Then
661: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
662:
to prevent an excessively big output file
');

Line 661: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

657: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
658: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
659: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
660: If (num_rows = row_limit -1 ) Then
661: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
662:
to prevent an excessively big output file
');
663: End If;
664: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
665:
Item import process cannot be run to update any of the Item attributes as users

Line 664: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

660: If (num_rows = row_limit -1 ) Then
661: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
662:
to prevent an excessively big output file
');
663: End If;
664: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
665:
Item import process cannot be run to update any of the Item attributes as users
666:
will receive error messages corresponding to inactive buyers. ');
667:
668: reportStr := '

ACTION:

Line 692: JTF_DIAGNOSTIC_COREAPI.BRPrint;

688:
689: statusStr := 'SUCCESS';
690: isFatal := 'FALSE';
691:
692: JTF_DIAGNOSTIC_COREAPI.BRPrint;
693: End If; /* End of l_script */
694: /* End of Script to identify items attached with inactive buyers*/
695:
696: /* Script to identify items attached with inactive planners*/

Line 718: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Inactive Planners ');

714: end if;
715: sqltxt := sqltxt || ' and rownum< '||row_limit;
716: sqltxt := sqltxt ||' order by mif.padded_item_number, mp.organization_code, mpl.planner_code';
717:
718: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Inactive Planners ');
719:
720: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
721: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
722: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 721: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

717:
718: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Inactive Planners ');
719:
720: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
721: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
722: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
723: If (num_rows = row_limit -1 ) Then
724: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
725:
to prevent an excessively big output file
');

Line 724: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

720: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
721: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
722: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
723: If (num_rows = row_limit -1 ) Then
724: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
725:
to prevent an excessively big output file
');
726: End If;
727:
728: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

Line 728: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

724: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
725:
to prevent an excessively big output file
');
726: End If;
727:
728: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
729:
Item import process cannot be run to update any of the Item attributes as users
730:
will receive error messages corresponding to invalid planners. ');
731:
732: reportStr := '

ACTION:

Line 760: JTF_DIAGNOSTIC_COREAPI.BRPrint;

756:
757: statusStr := 'SUCCESS';
758: isFatal := 'FALSE';
759:
760: JTF_DIAGNOSTIC_COREAPI.BRPrint;
761: End If; /* End of l_script */
762: /* End of Script to identify items with inactive planners*/
763:
764:

Line 806: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items that fail the Interdependencies between Status Attributes.');

802: End if;
803: sqltxt := sqltxt || ' and rownum< '||row_limit;
804: sqltxt := sqltxt ||' order by mif.padded_item_number, mp.organization_code';
805:
806: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items that fail the Interdependencies between Status Attributes.');
807:
808: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
809: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
810: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 809: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

805:
806: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items that fail the Interdependencies between Status Attributes.');
807:
808: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
809: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
810: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
811: If (num_rows = row_limit -1 ) Then
812: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
813:
to prevent an excessively big output file
');

Line 812: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

808: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
809: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
810: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
811: If (num_rows = row_limit -1 ) Then
812: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
813:
to prevent an excessively big output file
');
814: End If;
815: reportStr := '
Listed below are the interdependencies for the Item Status Attributes.
816:

1. Stockable (stock_enabled_flag) Must be set to No

Line 850: JTF_DIAGNOSTIC_COREAPI.BRPrint;

846:
847: statusStr := 'SUCCESS';
848: isFatal := 'FALSE';
849:
850: JTF_DIAGNOSTIC_COREAPI.BRPrint;
851: End If; /* End of l_script */
852: /* End of Script to identify items that fail the Interdependencies betweem Status Attributes. */
853:
854:

Line 913: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items violating validations between status code and status control attributes ');

909:
910: sqltxt := sqltxt || ' and rownum< '||row_limit;
911: sqltxt :=sqltxt||' order by inventory_item_id, organization_id';
912:
913: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items violating validations between status code and status control attributes ');
914:
915: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
916: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
917: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 916: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

912:
913: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items violating validations between status code and status control attributes ');
914:
915: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
916: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
917: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
918: If (num_rows = row_limit -1 ) Then
919: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
920:
to prevent an excessively big output file
');

Line 919: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

915: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
916: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
917: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
918: If (num_rows = row_limit -1 ) Then
919: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
920:
to prevent an excessively big output file
');
921: End If;
922: JTF_DIAGNOSTIC_COREAPI.Line_Out('

923: The values of the Status Control Attributes that use ''Sets Value'' status setting should

Line 922: JTF_DIAGNOSTIC_COREAPI.Line_Out('

918: If (num_rows = row_limit -1 ) Then
919: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
920:
to prevent an excessively big output file
');
921: End If;
922: JTF_DIAGNOSTIC_COREAPI.Line_Out('

923: The values of the Status Control Attributes that use ''Sets Value'' status setting should
924:
always be in sync with their corresponding values of the Item Status Code chosen.
925:
Listed above are the items that violate this validation.
926:
The values of all their Status Control Attributes

Line 936: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt,'');

932:
933: sqltxt := ' select attribute_name "Attribute Name" '||
934: ' from mtl_item_attributes '||
935: ' where status_control_code = 1 ';
936: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt,'');
937:
938: reportStr := ('
ACTION:
939:
If records are fetched above listing items that violate this validation, then
940:
1) Please use Item Import in UPDATE mode to modify the Item Status Code

Line 957: JTF_DIAGNOSTIC_COREAPI.BRPrint;

953: isFatal := 'FALSE';
954:
955: End;
956:
957: JTF_DIAGNOSTIC_COREAPI.BRPrint;
958: End If; /* End of l_script */
959: /* End of Script to identify Items violating validations between status code and status control attributes . */
960:
961: /* Script to fetch items whose start_date_active, end_date_active columns are not null */

Line 980: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose start_date_active, end_date_active columns are populated ');

976: end if;
977: sqltxt := sqltxt || ' and rownum< '||row_limit;
978: sqltxt := sqltxt || ' order by mif.PADDED_ITEM_NUMBER, mp.organization_code';
979:
980: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose start_date_active, end_date_active columns are populated ');
981:
982: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
983: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
984: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

Line 983: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');

979:
980: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose start_date_active, end_date_active columns are populated ');
981:
982: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
983: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
984: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
985: If (num_rows = row_limit -1 ) Then
986: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
987:
to prevent an excessively big output file
');

Line 986: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows

982: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
983: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
984: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
985: If (num_rows = row_limit -1 ) Then
986: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
987:
to prevent an excessively big output file
');
988: End If;
989: JTF_DIAGNOSTIC_COREAPI.Line_Out('
start_date_active and end_date_active date fields
990:
are NOT used to determine the effectivity of an item.

Line 989: JTF_DIAGNOSTIC_COREAPI.Line_Out('
start_date_active and end_date_active date fields

985: If (num_rows = row_limit -1 ) Then
986: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
987:
to prevent an excessively big output file
');
988: End If;
989: JTF_DIAGNOSTIC_COREAPI.Line_Out('
start_date_active and end_date_active date fields
990:
are NOT used to determine the effectivity of an item.
991:
The effectivity of an item is determined by its Item Status Code.
992:

IMPACT:
993:
None of the attributes of these items can be updated.

Line 1031: JTF_DIAGNOSTIC_COREAPI.BRPrint;

1027:
1028: statusStr := 'SUCCESS';
1029: isFatal := 'FALSE';
1030:
1031: JTF_DIAGNOSTIC_COREAPI.BRPrint;
1032: End If; /* End of l_script */
1033: /* End of Script to fetch items whose start_date_active, end_date_active columns are not null */
1034:
1035: ----------------

Line 1037: JTF_DIAGNOSTIC_COREAPI.Line_Out('

This Health Check Test completed as expected
');

1033: /* End of Script to fetch items whose start_date_active, end_date_active columns are not null */
1034:
1035: ----------------
1036: <>
1037: JTF_DIAGNOSTIC_COREAPI.Line_Out('

This Health Check Test completed as expected
');
1038: report := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
1039: reportClob := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
1040:
1041: End If; /* End of l_org_id is null or l_org_exists=1 */

Line 1045: JTF_DIAGNOSTIC_COREAPI.errorprint('Error: '||sqlerrm);

1041: End If; /* End of l_org_id is null or l_org_exists=1 */
1042:
1043: EXCEPTION
1044: when others then
1045: JTF_DIAGNOSTIC_COREAPI.errorprint('Error: '||sqlerrm);
1046: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('If this error repeats, please contact Oracle Support Services');
1047: statusStr := 'FAILURE';
1048: errStr := sqlerrm ||' occurred in script. ';
1049: fixInfo := 'Unexpected Exception in BOMDGITB.pls';

Line 1046: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('If this error repeats, please contact Oracle Support Services');

1042:
1043: EXCEPTION
1044: when others then
1045: JTF_DIAGNOSTIC_COREAPI.errorprint('Error: '||sqlerrm);
1046: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('If this error repeats, please contact Oracle Support Services');
1047: statusStr := 'FAILURE';
1048: errStr := sqlerrm ||' occurred in script. ';
1049: fixInfo := 'Unexpected Exception in BOMDGITB.pls';
1050: isFatal := 'FALSE';