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 310: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Unique Index '||l_index.index_name||' matches the Enabled System Items Segments + Organization_Id columns.
');

306: End If;
307:
308: If l_seg_count=1 and l_org_col_exists=1 Then
309: l_index_match :=1; /* Matching Index Exists */
310: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Unique Index '||l_index.index_name||' matches the Enabled System Items Segments + Organization_Id columns.
');
311: Exit;
312: End If;
313:
314: Exception

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

317: End;
318: End Loop;
319:
320: If l_index_match=0 Then /* Match Not Found*/
321: JTF_DIAGNOSTIC_COREAPI.Line_Out('
No Unique Index as described above exists.
322:

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

Line 327: JTF_DIAGNOSTIC_COREAPI.BRPrint;

323:
containing all the enabled segments plus the organization_id column.
');
324: End If;
325: End If; /* End of Impact and Action */
326: End;
327: JTF_DIAGNOSTIC_COREAPI.BRPrint;
328: End If; /* End of l_script */
329: /* End of Script for Unique Index suggestion for Item Number segments in MSIB */
330:
331: /* Script for fetching items with invalid GL accounts. */

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

355: end if;
356: sqltxt := sqltxt || ' and rownum< '||row_limit;
357: sqltxt := sqltxt || ' order by glcc.PADDED_CONCATENATED_SEGMENTS, mif.PADDED_ITEM_NUMBER, mp.organization_code';
358:
359: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Invalid GL Accounts');
360:
361: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
362: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
363: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

358:
359: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Invalid GL Accounts');
360:
361: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
362: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
363: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
364: If (num_rows = row_limit -1 ) Then
365: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
366:
to prevent an excessively big output file
');

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

361: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
362: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
363: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
364: If (num_rows = row_limit -1 ) Then
365: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
366:
to prevent an excessively big output file
');
367: End If;
368: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Account Columns marked with ''X'' correspond to invalid GL Accounts.');
369: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

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

364: If (num_rows = row_limit -1 ) Then
365: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
366:
to prevent an excessively big output file
');
367: End If;
368: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Account Columns marked with ''X'' correspond to invalid GL Accounts.');
369: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
370:
Downstream applications using these items might refer to
371:
these invalid GL accounts thus causing data corruption. ');
372:

Line 369: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

365: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
366:
to prevent an excessively big output file
');
367: End If;
368: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Account Columns marked with ''X'' correspond to invalid GL Accounts.');
369: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
370:
Downstream applications using these items might refer to
371:
these invalid GL accounts thus causing data corruption. ');
372:
373: reportStr :=

Line 395: JTF_DIAGNOSTIC_COREAPI.BRPrint;

391:
392: statusStr := 'SUCCESS';
393: isFatal := 'FALSE';
394:
395: JTF_DIAGNOSTIC_COREAPI.BRPrint;
396: End If; /* End of l_script */
397: /* End of script for fetching items with invalid GL accounts. */
398:
399: /* Script to identify items present in mtl_system_items_b but missing in mtl_system_items_tl */

Line 418: 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');

414: end if;
415: sqltxt := sqltxt || ' and rownum< '||row_limit;
416: sqltxt := sqltxt || ' order by mif.PADDED_ITEM_NUMBER, mp.organization_code';
417:
418: 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');
419:
420: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
421: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
422: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

417:
418: 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');
419:
420: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
421: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
422: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
423: If (num_rows = row_limit -1 ) Then
424: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
425:
to prevent an excessively big output file
');

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

420: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
421: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
422: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
423: If (num_rows = row_limit -1 ) Then
424: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
425:
to prevent an excessively big output file
');
426: End If;
427: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
428:
These items cannot be queried and used in multiple forms across the application .

Line 427: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

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

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

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

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

');
430:
431: JTF_DIAGNOSTIC_COREAPI.ActionErrorLink('
If Rows are returned with missing data in translations table,
432:
then please refer to metalink note : ' , '388325.1', '' );
433: End If; /* End of Impact and Action */
434:
435: statusStr := 'SUCCESS';

Line 438: JTF_DIAGNOSTIC_COREAPI.BRPrint;

434:
435: statusStr := 'SUCCESS';
436: isFatal := 'FALSE';
437:
438: JTF_DIAGNOSTIC_COREAPI.BRPrint;
439: End If; /* End of l_script */
440: /* End of Script to identiy items present in mtl_system_items_b but missing in mtl_system_items_tl */
441:
442:

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

462: end if;
463: sqltxt := sqltxt || ' and rownum< '||row_limit;
464: sqltxt :=sqltxt||' order by mif.padded_item_number, mp.organization_code';
465:
466: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Costing Enabled Items with missing data in costing tables. ');
467:
468: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
469: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
470: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

465:
466: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Costing Enabled Items with missing data in costing tables. ');
467:
468: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
469: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
470: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
471: If (num_rows = row_limit -1 ) Then
472: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
473:
to prevent an excessively big output file
');

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

468: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
469: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
470: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
471: If (num_rows = row_limit -1 ) Then
472: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
473:
to prevent an excessively big output file
');
474: End If;
475: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
476:
These items cannot be costed which will cause data corruption in Costing module. ');

Line 475: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

471: If (num_rows = row_limit -1 ) Then
472: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
473:
to prevent an excessively big output file
');
474: End If;
475: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
476:
These items cannot be costed which will cause data corruption in Costing module. ');
477:
478: reportStr :=
479: '

ACTION:

Line 511: JTF_DIAGNOSTIC_COREAPI.BRPrint;

507:
508: statusStr := 'SUCCESS';
509: isFatal := 'FALSE';
510:
511: JTF_DIAGNOSTIC_COREAPI.BRPrint;
512: End If; /* End of l_script */
513: /* End of costing enabled items with missing data in costing tables. */
514:
515:

Line 542: 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.');

538: end if;
539: sqltxt := sqltxt || ' and rownum< '||row_limit;
540: sqltxt :=sqltxt||' order by mif.padded_item_number, mp.organization_code';
541:
542: 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.');
543:
544: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
545: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
546: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

541:
542: 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.');
543:
544: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
545: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
546: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
547: If (num_rows = row_limit -1 ) Then
548: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
549:
to prevent an excessively big output file
');

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

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

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

547: If (num_rows = row_limit -1 ) Then
548: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
549:
to prevent an excessively big output file
');
550: End If;
551: JTF_DIAGNOSTIC_COREAPI.Line_Out('
When an item''s Tracking or Pricing field (Items -> main tab)
552:
is set to Primary, then its Secondary UOM should not be populated.');
553:
554: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
555:
Item import process cannot be run to update any of the Item attributes

Line 554: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

550: End If;
551: JTF_DIAGNOSTIC_COREAPI.Line_Out('
When an item''s Tracking or Pricing field (Items -> main tab)
552:
is set to Primary, then its Secondary UOM should not be populated.');
553:
554: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
555:
Item import process cannot be run to update any of the Item attributes
556:
as users will receive the following error message.
557:
''If tracking and pricing are set to Primary,
558:
then Secondary Unit of measure can only have a null value. '' ');

Line 575: JTF_DIAGNOSTIC_COREAPI.BRPrint;

571:
572: statusStr := 'SUCCESS';
573: isFatal := 'FALSE';
574:
575: JTF_DIAGNOSTIC_COREAPI.BRPrint;
576: End If; /* End of l_script */
577: /* End of script to identify items whose tracking and pricing UOMs are set to Primary but
578: Secondary UOM has a non null value.*/
579:

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

599: end if;
600: sqltxt := sqltxt || ' and rownum< '||row_limit;
601: sqltxt := sqltxt ||' order by mif.padded_item_number, mp.organization_code';
602:
603: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose buyer_id corresponds to Inactive Buyers');
604:
605: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
606: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
607: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

602:
603: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose buyer_id corresponds to Inactive Buyers');
604:
605: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
606: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
607: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
608: If (num_rows = row_limit -1 ) Then
609: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
610:
to prevent an excessively big output file
');

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

605: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
606: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
607: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
608: If (num_rows = row_limit -1 ) Then
609: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
610:
to prevent an excessively big output file
');
611: End If;
612: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
613:
Item import process cannot be run to update any of the Item attributes as users

Line 612: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

608: If (num_rows = row_limit -1 ) Then
609: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
610:
to prevent an excessively big output file
');
611: End If;
612: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
613:
Item import process cannot be run to update any of the Item attributes as users
614:
will receive error messages corresponding to inactive buyers. ');
615:
616: reportStr := '

ACTION:

Line 640: JTF_DIAGNOSTIC_COREAPI.BRPrint;

636:
637: statusStr := 'SUCCESS';
638: isFatal := 'FALSE';
639:
640: JTF_DIAGNOSTIC_COREAPI.BRPrint;
641: End If; /* End of l_script */
642: /* End of Script to identify items attached with inactive buyers*/
643:
644: /* Script to identify items attached with inactive planners*/

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

662: end if;
663: sqltxt := sqltxt || ' and rownum< '||row_limit;
664: sqltxt := sqltxt ||' order by mif.padded_item_number, mp.organization_code, mpl.planner_code';
665:
666: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Inactive Planners ');
667:
668: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
669: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
670: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

665:
666: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items with Inactive Planners ');
667:
668: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
669: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
670: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
671: If (num_rows = row_limit -1 ) Then
672: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
673:
to prevent an excessively big output file
');

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

668: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
669: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
670: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
671: If (num_rows = row_limit -1 ) Then
672: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
673:
to prevent an excessively big output file
');
674: End If;
675:
676: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

Line 676: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:

672: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
673:
to prevent an excessively big output file
');
674: End If;
675:
676: JTF_DIAGNOSTIC_COREAPI.Line_Out('
IMPACT:
677:
Item import process cannot be run to update any of the Item attributes as users
678:
will receive error messages corresponding to invalid planners. ');
679:
680: reportStr := '

ACTION:

Line 708: JTF_DIAGNOSTIC_COREAPI.BRPrint;

704:
705: statusStr := 'SUCCESS';
706: isFatal := 'FALSE';
707:
708: JTF_DIAGNOSTIC_COREAPI.BRPrint;
709: End If; /* End of l_script */
710: /* End of Script to identify items with inactive planners*/
711:
712:

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

750: End if;
751: sqltxt := sqltxt || ' and rownum< '||row_limit;
752: sqltxt := sqltxt ||' order by mif.padded_item_number, mp.organization_code';
753:
754: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items that fail the Interdependencies between Status Attributes.');
755:
756: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
757: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
758: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

753:
754: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items that fail the Interdependencies between Status Attributes.');
755:
756: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
757: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
758: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
759: If (num_rows = row_limit -1 ) Then
760: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
761:
to prevent an excessively big output file
');

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

756: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
757: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
758: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
759: If (num_rows = row_limit -1 ) Then
760: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
761:
to prevent an excessively big output file
');
762: End If;
763: reportStr := '
Listed below are the interdependencies for the Item Status Attributes.
764:

1. Stockable (stock_enabled_flag) Must be set to No

Line 798: JTF_DIAGNOSTIC_COREAPI.BRPrint;

794:
795: statusStr := 'SUCCESS';
796: isFatal := 'FALSE';
797:
798: JTF_DIAGNOSTIC_COREAPI.BRPrint;
799: End If; /* End of l_script */
800: /* End of Script to identify items that fail the Interdependencies betweem Status Attributes. */
801:
802:

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

857:
858: sqltxt := sqltxt || ' and rownum< '||row_limit;
859: sqltxt :=sqltxt||' order by inventory_item_id, organization_id';
860:
861: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items violating validations between status code and status control attributes ');
862:
863: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
864: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
865: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

860:
861: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items violating validations between status code and status control attributes ');
862:
863: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
864: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
865: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
866: If (num_rows = row_limit -1 ) Then
867: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
868:
to prevent an excessively big output file
');

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

863: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
864: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
865: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
866: If (num_rows = row_limit -1 ) Then
867: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
868:
to prevent an excessively big output file
');
869: End If;
870: JTF_DIAGNOSTIC_COREAPI.Line_Out('

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

Line 870: JTF_DIAGNOSTIC_COREAPI.Line_Out('

866: If (num_rows = row_limit -1 ) Then
867: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
868:
to prevent an excessively big output file
');
869: End If;
870: JTF_DIAGNOSTIC_COREAPI.Line_Out('

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

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

880:
881: sqltxt := ' select attribute_name "Attribute Name" '||
882: ' from mtl_item_attributes '||
883: ' where status_control_code = 1 ';
884: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt,'');
885:
886: reportStr := ('
ACTION:
887:
If records are fetched above listing items that violate this validation, then
888:
1) Please use Item Import in UPDATE mode to modify the Item Status Code

Line 905: JTF_DIAGNOSTIC_COREAPI.BRPrint;

901: isFatal := 'FALSE';
902:
903: End;
904:
905: JTF_DIAGNOSTIC_COREAPI.BRPrint;
906: End If; /* End of l_script */
907: /* End of Script to identify Items violating validations between status code and status control attributes . */
908:
909: /* Script to fetch items whose start_date_active, end_date_active columns are not null */

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

924: end if;
925: sqltxt := sqltxt || ' and rownum< '||row_limit;
926: sqltxt := sqltxt || ' order by mif.PADDED_ITEM_NUMBER, mp.organization_code';
927:
928: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose start_date_active, end_date_active columns are populated ');
929:
930: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
931: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
932: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */

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

927:
928: num_rows:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt, ' Items whose start_date_active, end_date_active columns are populated ');
929:
930: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
931: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
932: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
933: If (num_rows = row_limit -1 ) Then
934: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
935:
to prevent an excessively big output file
');

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

930: If (num_rows = 0) Then /* Corrupt Data Found for this case*/
931: JTF_DIAGNOSTIC_COREAPI.Line_Out('No corrupt data found for this case.
');
932: ElsIf (num_rows > 0) Then /* Show Impact and Action only if rows are returned */
933: If (num_rows = row_limit -1 ) Then
934: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
935:
to prevent an excessively big output file
');
936: End If;
937: JTF_DIAGNOSTIC_COREAPI.Line_Out('
start_date_active and end_date_active date fields
938:
are NOT used to determine the effectivity of an item.

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

933: If (num_rows = row_limit -1 ) Then
934: JTF_DIAGNOSTIC_COREAPI.Line_Out('
Output of the above table is limited to the first '||(row_limit-1)||' rows
935:
to prevent an excessively big output file
');
936: End If;
937: JTF_DIAGNOSTIC_COREAPI.Line_Out('
start_date_active and end_date_active date fields
938:
are NOT used to determine the effectivity of an item.
939:
The effectivity of an item is determined by its Item Status Code.
940:

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

Line 979: JTF_DIAGNOSTIC_COREAPI.BRPrint;

975:
976: statusStr := 'SUCCESS';
977: isFatal := 'FALSE';
978:
979: JTF_DIAGNOSTIC_COREAPI.BRPrint;
980: End If; /* End of l_script */
981: /* End of Script to fetch items whose start_date_active, end_date_active columns are not null */
982:
983: ----------------

Line 985: JTF_DIAGNOSTIC_COREAPI.Line_Out('

This Health Check Test completed as expected
');

981: /* End of Script to fetch items whose start_date_active, end_date_active columns are not null */
982:
983: ----------------
984: <>
985: JTF_DIAGNOSTIC_COREAPI.Line_Out('

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

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

989: End If; /* End of l_org_id is null or l_org_exists=1 */
990:
991: EXCEPTION
992: when others then
993: JTF_DIAGNOSTIC_COREAPI.errorprint('Error: '||sqlerrm);
994: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('If this error repeats, please contact Oracle Support Services');
995: statusStr := 'FAILURE';
996: errStr := sqlerrm ||' occurred in script. ';
997: fixInfo := 'Unexpected Exception in BOMDGITB.pls';

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

990:
991: EXCEPTION
992: when others then
993: JTF_DIAGNOSTIC_COREAPI.errorprint('Error: '||sqlerrm);
994: JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint('If this error repeats, please contact Oracle Support Services');
995: statusStr := 'FAILURE';
996: errStr := sqlerrm ||' occurred in script. ';
997: fixInfo := 'Unexpected Exception in BOMDGITB.pls';
998: isFatal := 'FALSE';