33:
34: if(l_errorTolerance <> IGNORE_NONE) then
35: select count(1)
36: into l_row_count
37: from mtl_material_transactions_temp
38: where transaction_header_id = header_id
39: and process_flag = 'Y'
40: and transaction_status = TS_PROCESS
41: and rownum < 2;
177:
178: -- Bug 4200332
179: -- Round transaction/primary quantities to 5 decimals
180:
181: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
182: SET PRIMARY_QUANTITY = ROUND(PRIMARY_QUANTITY,5),
183: TRANSACTION_QUANTITY = ROUND(TRANSACTION_QUANTITY,5)
184: WHERE TRANSACTION_HEADER_ID = header_id
185: AND PROCESS_FLAG = 'Y'
187:
188: -- validation for individual records
189: OPEN l_TXNRECS FOR
190: SELECT MMTT.*,ROWID
191: FROM MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
192: WHERE TRANSACTION_HEADER_ID = headerID
193: AND PROCESS_FLAG='Y'
194: AND TRANSACTION_STATUS = TS_PROCESS
195: ORDER BY ORGANIZATION_ID,INVENTORY_ITEM_ID,REVISION,
217: end if;
218: errupdate(l_txnrecord.rowid);
219: end if;
220:
221: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
222: SET LAST_UPDATE_DATE = SYSDATE,
223: LAST_UPDATED_BY = userid,
224: LAST_UPDATE_LOGIN = loginid,
225: PROGRAM_UPDATE_DATE = SYSDATE,
248: BEGIN
249: loadmsg('INV_TXN_NOT_SUPPORTED','INV_TXN_NOT_SUPPORTED_VLEVEL');
250: if(validationLevel = INV_PROCESS_TEMP.TIMEBASED)
251: then
252: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
253: SET LAST_UPDATE_DATE = SYSDATE,
254: LAST_UPDATED_BY = userid,
255: LAST_UPDATE_LOGIN = loginid,
256: PROGRAM_UPDATE_DATE = SYSDATE,
274: IS
275: BEGIN
276: loadmsg('INV_INT_ORGCODE','INV_INT_ORGEXP');
277:
278: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
279: SET LAST_UPDATE_DATE = SYSDATE,
280: LAST_UPDATED_BY = userid,
281: LAST_UPDATE_LOGIN = loginid,
282: PROGRAM_UPDATE_DATE = SYSDATE,
300: FUNCTION validateToOrganization RETURN NUMBER
301: IS
302: BEGIN
303: loadmsg('INV_INT_XORGCODE','INV_INT_XORGEXP');
304: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
305: SET LAST_UPDATE_DATE = SYSDATE,
306: LAST_UPDATED_BY = userid,
307: LAST_UPDATE_LOGIN = loginid,
308: PROGRAM_UPDATE_DATE = SYSDATE,
335: BEGIN
336: if validationLevel = TIMEBASED then return 1; end if;
337:
338: loadmsg('INV_INT_ITMCODE','INV_INT_ITMEXP');
339: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
340: SET LAST_UPDATE_DATE = SYSDATE,
341: LAST_UPDATED_BY = userid,
342: LAST_UPDATE_LOGIN = loginid,
343: PROGRAM_UPDATE_DATE = SYSDATE,
361: AND MSI.ORGANIZATION_ID = MMTT.ORGANIZATION_ID
362: AND MSI.INVENTORY_ITEM_FLAG = 'Y');
363: if(SQL%FOUND) then l_status := 0; else l_status := 1; end if;
364:
365: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
366: SET LAST_UPDATE_DATE = SYSDATE,
367: LAST_UPDATED_BY = userid,
368: LAST_UPDATE_LOGIN = loginid,
369: PROGRAM_UPDATE_DATE = SYSDATE,
392: IS
393: BEGIN
394: if validationLevel = TIMEBASED then return 1; end if;
395: loadmsg('INV_INT_REVCODE','INV_INT_REVEXP');
396: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
397: SET LAST_UPDATE_DATE = SYSDATE,
398: LAST_UPDATED_BY = userid,
399: LAST_UPDATE_LOGIN = loginid,
400: PROGRAM_UPDATE_DATE = SYSDATE,
455: WHERE MSI.INVENTORY_ITEM_ID = MTI.INVENTORY_ITEM_ID
456: AND MSI.ORGANIZATION_ID = MTI.TRANSFER_ORGANIZATION
457: AND MSI.MTL_TRANSACTIONS_ENABLED_FLAG = 'Y'); */
458:
459: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
460: SET LAST_UPDATE_DATE = SYSDATE,
461: LAST_UPDATED_BY = userid,
462: LAST_UPDATE_LOGIN = loginid,
463: PROGRAM_UPDATE_DATE = SYSDATE,
518: AND MTI.REVISION IS NULL
519: AND ITM.INVENTORY_ITEM_ID = MTI.INVENTORY_ITEM_ID
520: AND ITM.ORGANIZATION_ID = MTI.TRANSFER_ORGANIZATION); */
521:
522: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
523: SET LAST_UPDATE_DATE = SYSDATE,
524: LAST_UPDATED_BY = userid,
525: LAST_UPDATE_LOGIN = loginid,
526: PROGRAM_UPDATE_DATE = SYSDATE,
559: l_status NUMBER;
560: BEGIN
561: loadmsg('INV_INT_SUBCODE','INV_INT_SUBEXP');
562:
563: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
564: SET LAST_UPDATE_DATE = SYSDATE,
565: LAST_UPDATED_BY = userid,
566: LAST_UPDATE_LOGIN = loginid,
567: PROGRAM_UPDATE_DATE = SYSDATE,
594:
595: if validationLevel = TIMEBASED then return l_status; end if;
596:
597: loadmsg('INV_INT_SUBCODE','INV_INT_RESUBEXP');
598: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
599: SET LAST_UPDATE_DATE = SYSDATE,
600: LAST_UPDATED_BY = userid,
601: LAST_UPDATE_LOGIN = loginid,
602: PROGRAM_UPDATE_DATE = SYSDATE,
635: IS
636: l_status NUMBER;
637: BEGIN
638: loadmsg('INV_INT_LOCCODE','INV_INT_LOCEXP');
639: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
640: SET LAST_UPDATE_DATE = SYSDATE,
641: LAST_UPDATED_BY = userid,
642: LAST_UPDATE_LOGIN = loginid,
643: PROGRAM_UPDATE_DATE = SYSDATE,
659: if SQL%FOUND then l_status := 0; else l_status := 1; end if;
660: if validationLevel = TIMEBASED then return l_status; end if;
661:
662: loadmsg('INV_INT_LOCCODE','INV_INT_RESLOCEXP');
663: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
664: SET LAST_UPDATE_DATE = SYSDATE,
665: LAST_UPDATED_BY = userid,
666: LAST_UPDATE_LOGIN = loginid,
667: PROGRAM_UPDATE_DATE = SYSDATE,
701: IS
702: l_status NUMBER;
703: BEGIN
704: loadmsg('INV_INT_XSUBCODE','INV_INT_XSUBEXP');
705: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
706: SET LAST_UPDATE_DATE = SYSDATE,
707: LAST_UPDATED_BY = userid,
708: LAST_UPDATE_LOGIN = loginid,
709: PROGRAM_UPDATE_DATE = SYSDATE,
741:
742: if validationLevel = TIMEBASED then return l_status; end if;
743:
744: loadmsg('INV_INT_XSUBCODE','INV_INT_RESXFRSUBEXP');
745: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
746: SET LAST_UPDATE_DATE = SYSDATE,
747: LAST_UPDATED_BY = userid,
748: LAST_UPDATE_LOGIN = loginid,
749: PROGRAM_UPDATE_DATE = SYSDATE,
786: IS
787: l_status NUMBER;
788: BEGIN
789: loadmsg('INV_INT_XLOCCODE','INV_INT_XFRLOCEXP');
790: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
791: SET LAST_UPDATE_DATE = SYSDATE,
792: LAST_UPDATED_BY = userid,
793: LAST_UPDATE_LOGIN = loginid,
794: PROGRAM_UPDATE_DATE = SYSDATE,
812:
813: if validationLevel = TIMEBASED then return l_status; end if;
814:
815: loadmsg('INV_INT_XLOCCODE','INV_INT_RESXFRLOCEXP');
816: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
817: SET LAST_UPDATE_DATE = SYSDATE,
818: LAST_UPDATED_BY = userid,
819: LAST_UPDATE_LOGIN = loginid,
820: PROGRAM_UPDATE_DATE = SYSDATE,
857: FUNCTION validateSourceProject RETURN NUMBER
858: IS
859: BEGIN
860: loadmsg('INV_PRJ_ERR','INV_PRJ_ERR');
861: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
862: SET LAST_UPDATE_DATE = SYSDATE,
863: LAST_UPDATED_BY = userid,
864: LAST_UPDATE_LOGIN = loginid,
865: PROGRAM_UPDATE_DATE = SYSDATE,
890: FUNCTION validateSourceTask RETURN NUMBER
891: IS
892: BEGIN
893: loadmsg('INV_TASK_ERR','INV_TASK_ERR');
894: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
895: SET LAST_UPDATE_DATE = SYSDATE,
896: LAST_UPDATED_BY = userid,
897: LAST_UPDATE_LOGIN = loginid,
898: PROGRAM_UPDATE_DATE = SYSDATE,
925: FUNCTION validateCostGroups RETURN NUMBER
926: IS
927: BEGIN
928: loadmsg('INV_COST_GROUP_ERROR', 'INV_COST_GROUP_ERROR');
929: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
930: SET LAST_UPDATE_DATE = SYSDATE,
931: LAST_UPDATED_BY = userid,
932: LAST_UPDATE_LOGIN = loginid,
933: PROGRAM_UPDATE_DATE = SYSDATE,
960:
961: loadmsg('INV_ETYPE_ERR','INV_ETYPE_ERR');
962: if ( exp_type_required = 2 ) then
963:
964: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
965: SET LAST_UPDATE_DATE = SYSDATE,
966: LAST_UPDATED_BY = userid,
967: LAST_UPDATE_LOGIN = loginid,
968: PROGRAM_UPDATE_DATE = SYSDATE,
993: AND TRUNC(MMTT.TRANSACTION_DATE) >= CET.EXP_TYPE_START_DATE
994: AND TRUNC(MMTT.TRANSACTION_DATE) >= NVL(EXP_TYPE_END_DATE,
995: MMTT.TRANSACTION_DATE+1)) ;
996: else
997: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
998: SET LAST_UPDATE_DATE = SYSDATE,
999: LAST_UPDATED_BY = userid,
1000: LAST_UPDATE_LOGIN = loginid,
1001: PROGRAM_UPDATE_DATE = SYSDATE,
1025: IS
1026: BEGIN
1027: loadmsg('INV_PAORG_ERR','INV_PAORG_ERR');
1028:
1029: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1030: SET LAST_UPDATE_DATE = SYSDATE,
1031: LAST_UPDATED_BY = userid,
1032: LAST_UPDATE_LOGIN = loginid,
1033: PROGRAM_UPDATE_DATE = SYSDATE,
1063: IS
1064: BEGIN
1065: loadmsg('INV_INT_UOMCODE','INV_INT_UOMEXP');
1066:
1067: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1068: SET LAST_UPDATE_DATE = SYSDATE,
1069: LAST_UPDATED_BY = userid,
1070: LAST_UPDATE_LOGIN = loginid,
1071: PROGRAM_UPDATE_DATE = SYSDATE,
1091: FUNCTION validateInterOrgItemControls RETURN NUMBER
1092: IS
1093: BEGIN
1094: loadmsg('INV_INT_ITMCTRL','INV_INT_ITMECTRL');
1095: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1096: SET LAST_UPDATE_DATE = SYSDATE,
1097: LAST_UPDATED_BY = userid,
1098: LAST_UPDATE_LOGIN = loginid,
1099: PROGRAM_UPDATE_DATE = SYSDATE,
1127: IS
1128: l_status NUMBER;
1129: BEGIN
1130: loadmsg('INV_INT_SRCCODE','INV_INT_SALEXP');
1131: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1132: SET LAST_UPDATE_DATE = SYSDATE,
1133: LAST_UPDATED_BY = userid,
1134: LAST_UPDATE_LOGIN = loginid,
1135: PROGRAM_UPDATE_DATE = SYSDATE,
1153: --bugfix 4750835 added trunc on the effectivity date validation. we are to take the account effectivity date
1154: --which does not have timestamp as date with timestamp 23:59:59
1155:
1156: loadmsg('INV_INT_SRCCODE','INV_INT_ACCTEXP');
1157: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1158: SET LAST_UPDATE_DATE = SYSDATE,
1159: LAST_UPDATED_BY = userid,
1160: LAST_UPDATE_LOGIN = loginid,
1161: PROGRAM_UPDATE_DATE = SYSDATE,
1180:
1181: if(SQL%FOUND) then l_status := 0; end if;
1182:
1183: loadmsg('INV_INT_SRCCODE','INV_INT_ALIASEXP');
1184: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1185: SET LAST_UPDATE_DATE = SYSDATE,
1186: LAST_UPDATED_BY = userid,
1187: LAST_UPDATE_LOGIN = loginid,
1188: PROGRAM_UPDATE_DATE = SYSDATE,
1210: FUNCTION validateTransactionReason RETURN NUMBER
1211: IS
1212: BEGIN
1213: loadmsg('INV_INT_REACODE','INV_INT_REAEXP');
1214: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1215: SET LAST_UPDATE_DATE = SYSDATE,
1216: LAST_UPDATED_BY = userid,
1217: LAST_UPDATE_LOGIN = loginid,
1218: PROGRAM_UPDATE_DATE = SYSDATE,
1237: IS
1238: l_status NUMBER;
1239: BEGIN
1240: loadmsg('INV_INT_FRTCODE','INV_INT_FRTEXP');
1241: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1242: SET LAST_UPDATE_DATE = SYSDATE,
1243: LAST_UPDATED_BY = userid,
1244: LAST_UPDATE_LOGIN = loginid,
1245: PROGRAM_UPDATE_DATE = SYSDATE,
1260: AND NVL(FR.DISABLE_DATE, SYSDATE + 1) > SYSDATE);
1261: if SQL%FOUND then l_status := 0; else l_status := 1; end if;
1262:
1263: loadmsg('INV_INT_FRTACTCODE','INV_INT_FRTACTEXP');
1264: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1265: SET LAST_UPDATE_DATE = SYSDATE,
1266: LAST_UPDATED_BY = userid,
1267: LAST_UPDATE_LOGIN = loginid,
1268: PROGRAM_UPDATE_DATE = SYSDATE,
1291: org IN INV_Validate.ORG,
1292: item IN INV_Validate.ITEM) RETURN NUMBER
1293: IS
1294: CURSOR LOT_DETAILS(txnTempID
1295: MTL_MATERIAL_TRANSACTIONS_TEMP.TRANSACTION_TEMP_ID%TYPE) IS
1296: SELECT LOT_NUMBER,
1297: TRANSACTION_QUANTITY,
1298: SERIAL_TRANSACTION_TEMP_ID,
1299: fnd_date.date_to_canonical(LOT_EXPIRATION_DATE) LOT_EXPIRATION_DATE,
1343: errupdate(txnrec.rowid);
1344: return 0;
1345: else
1346:
1347: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MMTT
1348: SET LAST_UPDATE_DATE = SYSDATE,
1349: LAST_UPDATED_BY = userid,
1350: LAST_UPDATE_LOGIN = loginid,
1351: PROGRAM_UPDATE_DATE = SYSDATE,
1380: WHERE MLN.LOT_NUMBER = MTLT.LOT_NUMBER
1381: AND MLN.INVENTORY_ITEM_ID <> item.inventory_item_id);
1382:
1383: if(SQL%ROWCOUNT > 1) then
1384: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP MTT
1385: SET LAST_UPDATE_DATE = SYSDATE,
1386: LAST_UPDATED_BY = userid,
1387: LAST_UPDATE_LOGIN = loginid,
1388: PROGRAM_UPDATE_DATE = SYSDATE,
1424: PROGRAM_UPDATE_DATE = SYSDATE,
1425: REQUEST_ID = reqstid,
1426: ERROR_CODE = substrb(err_code,1,240)
1427: WHERE ROWID = lotrec.rowid;
1428: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP
1429: SET ERROR_CODE = substrb(err_code,1,240),
1430: ERROR_EXPLANATION = substrb(error_exp,1,240),
1431: LAST_UPDATE_DATE = sysdate,
1432: LAST_UPDATED_BY = userid,
1462: REQUEST_ID = reqstid,
1463: ERROR_CODE = substrb(err_code,1,240)
1464: WHERE ROWID = lotrec.rowid;
1465:
1466: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP
1467: SET LAST_UPDATE_DATE = SYSDATE,
1468: LAST_UPDATED_BY = userid,
1469: LAST_UPDATE_LOGIN = loginid,
1470: PROGRAM_UPDATE_DATE = SYSDATE,
1558:
1559: PROCEDURE errupdate(err_row_id IN ROWID)
1560: IS
1561: BEGIN
1562: UPDATE MTL_MATERIAL_TRANSACTIONS_TEMP
1563: SET ERROR_CODE = substrb(err_code,1,240),
1564: ERROR_EXPLANATION = substrb(error_exp,1,240),
1565: LAST_UPDATE_DATE = sysdate,
1566: LAST_UPDATED_BY = userid,