96: cursor getLineIds is
97: SELECT
98: po_line_location_id , UPDATED_ARRIVAL_DATE
99: FROM
100: MSC_transportation_updates
101: WHERE order_type = 1;
102:
103: v_line_location_id NUMBER :=0;
104: v_arrival_Date DATE;
131: AppsInit;
132:
133: SELECT po_line_location_id , UPDATED_ARRIVAL_DATE
134: INTO v_line_location_id, v_arrival_Date
135: FROM MSC_transportation_updates
136: WHERE order_type = 1
137: AND trans_Update_id = tranzId;
138:
139: Update_CP(v_line_location_id,v_arrival_Date, status );
316: cursor c_getLineIds is
317: SELECT
318: order_type, TRANS_UPDATE_ID
319: FROM
320: MSC_TRANSPORTATION_UPDATES;
321:
322: v_order_type NUMBER :=0;
323: v_id NUMBER :=0;
324: plan_id NUMBER :=0;
481: s.new_dock_date, s.order_number,
482: s.NEW_ORDER_QUANTITY, s.SOURCE_SR_INSTANCE_ID, s.SOURCE_ORGANIZATION_ID
483: INTO supp_Transaction_id, newArrivalDate, srInstanceId, v_org_id, v_inv_item_id, v_supplier_id, v_supplier_site_id, v_old_dock_date, v_order_number, v_q,
484: v_source_sr_inst_id, v_sr_org_id
485: FROM MSC_SUPPLIES s, MSC_TRANSPORTATION_UPDATES tu
486: WHERE s.ORDER_TYPE = 11
487: AND s.PO_LINE_LOCATION_ID = tu.PO_LINE_LOCATION_ID
488: AND s.SUPPLIER_ID is not null
489: AND s.PLAN_ID = planId
496: s.supplier_site_id, s.new_dock_date, s.order_number,
497: s.NEW_ORDER_QUANTITY, s.SOURCE_SR_INSTANCE_ID,s.SOURCE_ORGANIZATION_ID
498: INTO supp_Transaction_id, newArrivalDate, srInstanceId, v_org_id, v_inv_item_id, v_supplier_id, v_supplier_site_id, v_old_dock_date, v_order_number, v_q,
499: v_source_sr_inst_id, v_sr_org_id
500: FROM MSC_SUPPLIES s, MSC_TRANSPORTATION_UPDATES tu
501: WHERE s.ORDER_TYPE = 1
502: AND s.PO_LINE_LOCATION_ID = tu.PO_LINE_LOCATION_ID
503: AND s.PO_LINE_ID = tu.PO_LINE_ID
504: AND s.PLAN_ID =planId
623: status out nocopy varchar2) IS
624: cursor GetSupplierDataForIR_shipment( srIId IN NUMBER) is
625: SELECT s2.transaction_id, s2.supplier_id, s2.supplier_site_id, s2.new_dock_date, s2.order_number, s2.INVENTORY_ITEM_ID,
626: s2.SOURCE_ORGANIZATION_ID , s2.ORGANIZATION_ID, s2.NEW_ORDER_QUANTITY, s2.SR_INSTANCE_ID
627: FROM MSC_SUPPLIES s2, MSC_SALES_ORDERS sO, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
628: WHERE s2.ORDER_TYPE = 11 -- IR Shipment
629: AND s2.PLAN_ID =planId
630: AND s2.SR_INSTANCE_ID = srIId
631: AND SO.SR_INSTANCE_ID = srIId
658: -- IF I NEED TO PUT TRANSACTION_ID, I NEED TO GENERATE ONE EXCEPTION FOR EACH ROW !! IF NOT, JUST ONE EXC PER LINE ITEM
659: begin
660:
661: select UPDATED_ARRIVAL_DATE, EBS_SR_INSTANCE_ID into newArrivalDate, SrInstanceId
662: from msc_transportation_updates
663: where TRANS_UPDATE_ID = transId;
664:
665: SELECT distinct d.DEMAND_ID
666: INTO ISOID1
663: where TRANS_UPDATE_ID = transId;
664:
665: SELECT distinct d.DEMAND_ID
666: INTO ISOID1
667: FROM MSC_DEMANDS d, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
668: WHERE d.SALES_ORDER_LINE_ID = dd.SOURCE_LINE_ID
669: AND dd.DELIVERY_DETAIL_ID = tu.OTM_RELEASE_LINE_GID
670: AND dd.SR_INSTANCE_ID = tu.EBS_SR_INSTANCE_ID
671: AND d.PLAN_ID = planId
817: status out nocopy varchar2) IS
818:
819: cursor GetPOIds is
820: SELECT s.TRANSACTION_ID
821: FROM MSC_SUPPLIES s, MSC_TRANSPORTATION_UPDATES tu
822: WHERE s.ORDER_TYPE = 1
823: AND s.PO_LINE_LOCATION_ID = tu.PO_LINE_LOCATION_ID
824: AND s.PO_LINE_ID = tu.PO_LINE_ID
825: AND s.PLAN_ID =planId
827: AND tu.TRANS_UPDATE_ID = transId;
828:
829: cursor GetPOShipmentIds is
830: SELECT s.TRANSACTION_ID
831: FROM MSC_SUPPLIES s, MSC_TRANSPORTATION_UPDATES tu
832: WHERE s.ORDER_TYPE = 11
833: AND s.PO_LINE_LOCATION_ID = tu.PO_LINE_LOCATION_ID
834: AND s.SUPPLIER_ID is not null
835: AND s.PLAN_ID = planId
849: userId NUMBER :=0;
850: begin
851:
852: select UPDATED_ARRIVAL_DATE, EBS_SR_INSTANCE_ID into newArrivalDate, SrInstanceId
853: from msc_transportation_updates
854: where TRANS_UPDATE_ID = transId;
855:
856: --- Get PO_Ids
857: i:=1;
867:
868: if ( i = 1) then -- PO shipment, not PO
869: isPoShipment := 1;
870: select distinct s.INVENTORY_ITEM_ID, s.ORGANIZATION_ID into invItemId, orgId
871: FROM MSC_SUPPLIES s, MSC_TRANSPORTATION_UPDATES tu
872: WHERE s.ORDER_TYPE = 11
873: AND s.PO_LINE_LOCATION_ID = tu.PO_LINE_LOCATION_ID
874: AND s.PLAN_ID =planId
875: AND s.SR_INSTANCE_ID = tu.EBS_SR_INSTANCE_ID
877:
878: else
879: isPoShipment := 0;
880: select distinct s.INVENTORY_ITEM_ID, s.ORGANIZATION_ID into invItemId, orgId
881: FROM MSC_SUPPLIES s, MSC_TRANSPORTATION_UPDATES tu
882: WHERE s.ORDER_TYPE = 1
883: AND s.PO_LINE_LOCATION_ID = tu.PO_LINE_LOCATION_ID
884: AND s.PO_LINE_ID = tu.PO_LINE_ID
885: AND s.PLAN_ID =planId
914: --userId := fnd_global.User_id();
915: userId := g_UserId;
916: --dbms_output.put_line('got leadTime' || v_new_firm_date);
917:
918: UPDATE msc_transportation_updates
919: SET UPDATED_DUE_DATE = v_new_firm_Date,
920: LAST_UPDATE_DATE = SYSDATE,
921: LAST_UPDATED_BY = userId
922: WHERE TRANS_UPDATE_ID = transId;
955: PROCEDURE UpdateNewColumnAndFirmDate_SO( planId IN NUMBER,
956: transId IN NUMBER , status out nocopy varchar2) IS
957: /*cursor GetIR_Shipments( srIId IN NUMBER ) is
958: SELECT s2.TRANSACTION_ID
959: FROM MSC_SUPPLIES s2, MSC_SALES_ORDERS sO, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
960: WHERE s2.ORDER_TYPE = 11 -- IR Shipment
961: AND s2.PLAN_ID =planId
962: AND s2.SR_INSTANCE_ID = srIId
963: AND SO.SR_INSTANCE_ID = srIId
987:
988: --dbms_output.put_line(fnd_profile.value('MSC_EBS_INSTANCE_FOR_OTM'));
989:
990: select UPDATED_ARRIVAL_DATE, EBS_SR_INSTANCE_ID into newArrivalDate, SrInstanceId
991: from msc_transportation_updates
992: where TRANS_UPDATE_ID = transId;
993:
994: -- is this only one result ????? or more ???
995: select distinct d.INVENTORY_ITEM_ID, d.SOURCE_ORGANIZATION_ID into invItemId, orgId
992: where TRANS_UPDATE_ID = transId;
993:
994: -- is this only one result ????? or more ???
995: select distinct d.INVENTORY_ITEM_ID, d.SOURCE_ORGANIZATION_ID into invItemId, orgId
996: FROM MSC_DEMANDS d, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
997: WHERE d.SALES_ORDER_LINE_ID = to_char(dd.SOURCE_LINE_ID)
998: AND d.SR_INSTANCE_ID = dd.SR_INSTANCE_ID
999: AND dd.DELIVERY_DETAIL_ID = tu.OTM_RELEASE_LINE_GID
1000: AND dd.SR_INSTANCE_ID = tu.EBS_SR_INSTANCE_ID
1003: AND tu.TRANS_UPDATE_ID = transId;
1004:
1005: SELECT distinct d.DEMAND_ID
1006: into ISOID1
1007: FROM MSC_DEMANDS d, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
1008: WHERE d.SALES_ORDER_LINE_ID = dd.SOURCE_LINE_ID
1009: AND d.SR_INSTANCE_ID = dd.SR_INSTANCE_ID
1010: AND dd.DELIVERY_DETAIL_ID = tu.OTM_RELEASE_LINE_GID
1011: AND dd.SR_INSTANCE_ID = tu.EBS_SR_INSTANCE_ID
1061: if ( GetLeadTime(invItemId, orgId, planId, SrInstanceId, newArrivalDate, v_new_firm_Date) = false) then
1062: v_new_firm_Date := newArrivalDate;
1063: end if;
1064:
1065: UPDATE msc_transportation_updates
1066: SET UPDATED_DUE_DATE = v_new_firm_Date,
1067: LAST_UPDATE_DATE = SYSDATE,
1068: LAST_UPDATED_BY = userId
1069: WHERE TRANS_UPDATE_ID = transId;
1099: PROCEDURE UpdateNewColumnAndFirmDate_SO_( planId IN NUMBER,
1100: transId IN NUMBER , status out nocopy varchar2) IS
1101: cursor GetISOs is
1102: SELECT d.DEMAND_ID
1103: FROM MSC_DEMANDS d, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
1104: WHERE d.SALES_ORDER_LINE_ID = dd.SOURCE_LINE_ID
1105: AND d.SR_INSTANCE_ID = dd.SR_INSTANCE_ID
1106: AND dd.DELIVERY_DETAIL_ID = tu.OTM_RELEASE_LINE_GID
1107: AND dd.SR_INSTANCE_ID = tu.EBS_SR_INSTANCE_ID
1116: AND s.TRANSACTION_ID = d.DISPOSITION_ID
1117: AND s.PLAN_ID =planId
1118: AND s.SR_INSTANCE_ID = srIId
1119: AND d.DEMAND_ID IN ( SELECT d.DEMAND_ID
1120: FROM MSC_DEMANDS d, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
1121: WHERE d.SALES_ORDER_LINE_ID = dd.SOURCE_LINE_ID
1122: AND dd.DELIVERY_DETAIL_ID = tu.OTM_RELEASE_LINE_GID
1123: AND dd.SR_INSTANCE_ID = tu.EBS_SR_INSTANCE_ID
1124: AND d.PLAN_ID = planId
1127:
1128:
1129: cursor GetIR_Shipments( srIId IN NUMBER ) is
1130: SELECT s2.TRANSACTION_ID
1131: FROM MSC_SUPPLIES s2, MSC_SALES_ORDERS sO, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
1132: WHERE s2.ORDER_TYPE = 11 -- IR Shipment
1133: AND s2.PLAN_ID =planId
1134: AND s2.SR_INSTANCE_ID = srIId
1135: AND SO.SR_INSTANCE_ID = srIId
1160:
1161:
1162:
1163: select UPDATED_ARRIVAL_DATE, EBS_SR_INSTANCE_ID into newArrivalDate, SrInstanceId
1164: from msc_transportation_updates
1165: where TRANS_UPDATE_ID = transId;
1166:
1167: --dbms_output.put_line(planId);
1168:
1167: --dbms_output.put_line(planId);
1168:
1169: -- is this only one result ????? or more ???
1170: select d.INVENTORY_ITEM_ID, d.SOURCE_ORGANIZATION_ID into invItemId, orgId
1171: FROM MSC_DEMANDS d, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
1172: WHERE d.SALES_ORDER_LINE_ID = dd.SOURCE_LINE_ID
1173: AND d.SR_INSTANCE_ID = dd.SR_INSTANCE_ID
1174: AND dd.DELIVERY_DETAIL_ID = tu.OTM_RELEASE_LINE_GID
1175: AND dd.SR_INSTANCE_ID = tu.EBS_SR_INSTANCE_ID
1244: if ( GetLeadTime(invItemId, orgId, planId, SrInstanceId, newArrivalDate, v_new_firm_Date) = false) then
1245: v_new_firm_Date := newArrivalDate;
1246: end if;
1247:
1248: UPDATE msc_transportation_updates
1249: SET UPDATED_DUE_DATE = v_new_firm_Date,
1250: LAST_UPDATE_DATE = SYSDATE,
1251: LAST_UPDATED_BY = userId
1252: WHERE TRANS_UPDATE_ID = transId;
1355: --dbms_output.put_line('d1 = ' || d1);
1356: srInstanceId := fnd_profile.value('MSC_EBS_INSTANCE_FOR_OTM');
1357:
1358: select count(1) into nCount
1359: from MSC_TRANSPORTATION_UPDATES
1360: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1361:
1362: if ( nCount =0 ) then
1363:
1360: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1361:
1362: if ( nCount =0 ) then
1363:
1364: select MSC_TRANSPORTATION_UPDATES_s.nextval into key from dual;
1365:
1366: insert into MSC_TRANSPORTATION_UPDATES (TRANS_UPDATE_ID, ORDER_TYPE, PO_LINE_LOCATION_ID, PO_LINE_ID, UPDATED_ARRIVAL_DATE, EBS_SR_INSTANCE_ID,
1367: OTM_RELEASE_GID, OTM_RELEASE_LINE_GID,
1368: LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY)
1362: if ( nCount =0 ) then
1363:
1364: select MSC_TRANSPORTATION_UPDATES_s.nextval into key from dual;
1365:
1366: insert into MSC_TRANSPORTATION_UPDATES (TRANS_UPDATE_ID, ORDER_TYPE, PO_LINE_LOCATION_ID, PO_LINE_ID, UPDATED_ARRIVAL_DATE, EBS_SR_INSTANCE_ID,
1367: OTM_RELEASE_GID, OTM_RELEASE_LINE_GID,
1368: LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY)
1369: VALUES (key, 1, locationLineId,poId, d1, srInstanceId,
1370: ReleaseGid, ReleaseLineGid, SYSDATE, userId, SYSDATE, userId);
1371:
1372: status:= 'SUCCESS';
1373: tranzId := key;
1374: else
1375: update MSC_TRANSPORTATION_UPDATES
1376: set UPDATED_ARRIVAL_DATE = d1,
1377: LAST_UPDATE_DATE = SYSDATE,
1378: LAST_UPDATED_BY = userId
1379: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1378: LAST_UPDATED_BY = userId
1379: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1380:
1381: select trans_update_id into tranzId
1382: from msc_transportation_updates
1383: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1384:
1385: status:= 'SUCCESS';
1386: end if;
1420: d1 := to_date(pnewArrivalDate, 'YYYY/MM/DD HH24:MI:SS');
1421:
1422:
1423: select count(1) into nCount
1424: from MSC_TRANSPORTATION_UPDATES
1425: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1426:
1427: --dbms_output.put_line('count = '|| nCount);
1428: --dbms_output.put_line('ReleaseLineGid = '|| '<' || ReleaseLineGid || '>');
1429:
1430: srInstanceId := fnd_profile.value('MSC_EBS_INSTANCE_FOR_OTM');
1431:
1432: if ( nCount =0 ) then
1433: select MSC_TRANSPORTATION_UPDATES_s.nextval into key from dual;
1434:
1435: insert into MSC_TRANSPORTATION_UPDATES (TRANS_UPDATE_ID, ORDER_TYPE, UPDATED_ARRIVAL_DATE,EBS_SR_INSTANCE_ID,
1436: OTM_RELEASE_GID,OTM_RELEASE_LINE_GID,WSH_DELIVERY_DETAIL_ID,
1437: LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY)
1431:
1432: if ( nCount =0 ) then
1433: select MSC_TRANSPORTATION_UPDATES_s.nextval into key from dual;
1434:
1435: insert into MSC_TRANSPORTATION_UPDATES (TRANS_UPDATE_ID, ORDER_TYPE, UPDATED_ARRIVAL_DATE,EBS_SR_INSTANCE_ID,
1436: OTM_RELEASE_GID,OTM_RELEASE_LINE_GID,WSH_DELIVERY_DETAIL_ID,
1437: LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY)
1438: VALUES (key, 2, d1, srInstanceId, ReleaseGid, ReleaseLineGid, ReleaseLineGid, SYSDATE, userId, SYSDATE, userId);
1439:
1439:
1440: status:= 'SUCCESS';
1441: tranzId := key;
1442: else
1443: update MSC_TRANSPORTATION_UPDATES
1444: set UPDATED_ARRIVAL_DATE = d1,
1445: LAST_UPDATE_DATE = SYSDATE,
1446: LAST_UPDATED_BY = userId
1447: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1446: LAST_UPDATED_BY = userId
1447: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1448:
1449: select trans_update_id into tranzId
1450: from msc_transportation_updates
1451: where OTM_RELEASE_LINE_GID = ReleaseLineGid;
1452:
1453: status:= 'SUCCESS';
1454:
1504: tokenValues := MsgTokenValuePairList();
1505:
1506: select order_type , EBS_SR_INSTANCE_ID, OTM_RELEASE_GID, updated_Arrival_Date
1507: into v_order_type, v_srInstanceId, otmReleaseGid, v_arrival_Date
1508: from msc_transportation_updates
1509: where trans_update_id = tranzId;
1510:
1511: v_Http := GetPunchoutURI( 0, otmReleaseGid);
1512: --dbms_output.put_line(v_Http);
1514: -- order number needed, that is different for PO and SO.
1515: if (v_order_type = 1) then
1516: SELECT po_line_location_id
1517: INTO v_line_location_id
1518: FROM MSC_TRANSPORTATION_UPDATES
1519: WHERE trans_update_id = tranzId;
1520:
1521: GetDataForNotification( v_line_location_id, v_srInstanceId, v_orderNumber, v_itemId, v_orgId);
1522: --dbms_output.put_line(v_itemId || ' ' || v_orderNumber );
1522: --dbms_output.put_line(v_itemId || ' ' || v_orderNumber );
1523: else
1524: SELECT s2.order_number, s2.INVENTORY_ITEM_ID, s2.ORGANIZATION_ID
1525: INTO v_orderNumber, v_itemId, v_orgId
1526: FROM MSC_SUPPLIES s2, MSC_SALES_ORDERS sO, MSC_DELIVERY_DETAILS dd, MSC_TRANSPORTATION_UPDATES tu
1527: WHERE s2.PLAN_ID =-1
1528: AND s2.SR_INSTANCE_ID = v_srInstanceId
1529: AND SO.SR_INSTANCE_ID = v_srInstanceId
1530: AND dd.SR_INSTANCE_ID = v_srInstanceId
1662: cursor c_getLine is
1663: SELECT
1664: TRANS_UPDATE_ID, updated_Due_Date
1665: FROM
1666: MSC_TRANSPORTATION_UPDATES;
1667:
1668: v_trans_id NUMBER :=0;
1669: v_due_Date DATE;
1670: v_adj_date DATE;
1678: EXIT WHEN c_getLine%NOTFOUND;
1679: v_adj_date := v_due_Date + 90;
1680: --dbms_output.put_line(v_adj_date);
1681: if ( v_adj_Date < SYSDATE ) then
1682: delete from msc_transportation_updates where trans_update_id = v_trans_id;
1683: end if;
1684:
1685: END LOOP;
1686: CLOSE c_getLine;