145: oe_debug_pub.add('p_new_ship_method ' || p_new_ship_method,1);
146: oe_debug_pub.add('p_old_ship_method ' || p_old_ship_method,1);
147: END IF;
148:
149: IF NOT OE_GLOBALS.Equal(p_new_ship_method,
150: p_old_ship_method) THEN
151:
152: IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110509' THEN
153:
1272:
1273: /* Modified the above line and added followinf 7 lines to fix the bug 3393033 */
1274: IF NVL(fnd_profile.value('ONT_SHIP_METHOD_FOR_SHIP_SET'),'N') = 'Y' THEN
1275: -- 3878494
1276: IF OE_GLOBALS.equal(p_line_shipping_method_code,p_set_shipping_method_code) THEN
1277: RETURN TRUE;
1278: END IF;
1279: ELSE -- profile
1280: RETURN TRUE;
1335: FROM oe_sets
1336: WHERE set_id = p_set_id;
1337:
1338: OE_delayed_requests_Pvt.log_request(
1339: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1340: p_entity_id => p_line_id,
1341: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1342: p_requesting_entity_id => p_line_id,
1343: p_request_type => OE_GLOBALS.G_DELETE_SET,
1337:
1338: OE_delayed_requests_Pvt.log_request(
1339: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1340: p_entity_id => p_line_id,
1341: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1342: p_requesting_entity_id => p_line_id,
1343: p_request_type => OE_GLOBALS.G_DELETE_SET,
1344: p_param1 => p_set_id,
1345: p_param2 => p_header_id,
1339: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1340: p_entity_id => p_line_id,
1341: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1342: p_requesting_entity_id => p_line_id,
1343: p_request_type => OE_GLOBALS.G_DELETE_SET,
1344: p_param1 => p_set_id,
1345: p_param2 => p_header_id,
1346: p_param3 => l_set_type,
1347: x_return_status => x_return_status);
1474: -- 4188166
1475: -- Log request if no request logged for the set id. Also remember ship_to_org_id
1476: -- and ship_from_org_id for cascading
1477: IF NOT OE_Delayed_Requests_PVT.Check_for_Request
1478: ( p_entity_code =>OE_GLOBALS.G_ENTITY_LINE
1479: , p_entity_id =>nvl(p_line_rec.ship_set_id,p_line_rec.arrival_set_id)
1480: , p_request_type =>OE_GLOBALS.G_GROUP_SET) THEN
1481:
1482: OE_delayed_requests_Pvt.log_request(
1476: -- and ship_from_org_id for cascading
1477: IF NOT OE_Delayed_Requests_PVT.Check_for_Request
1478: ( p_entity_code =>OE_GLOBALS.G_ENTITY_LINE
1479: , p_entity_id =>nvl(p_line_rec.ship_set_id,p_line_rec.arrival_set_id)
1480: , p_request_type =>OE_GLOBALS.G_GROUP_SET) THEN
1481:
1482: OE_delayed_requests_Pvt.log_request(
1483: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1484: p_entity_id => nvl(p_line_rec.ship_set_id,p_line_rec.arrival_set_id),
1479: , p_entity_id =>nvl(p_line_rec.ship_set_id,p_line_rec.arrival_set_id)
1480: , p_request_type =>OE_GLOBALS.G_GROUP_SET) THEN
1481:
1482: OE_delayed_requests_Pvt.log_request(
1483: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1484: p_entity_id => nvl(p_line_rec.ship_set_id,p_line_rec.arrival_set_id),
1485: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1486: p_requesting_entity_id => p_line_rec.line_id,
1487: p_request_type => OE_GLOBALS.G_GROUP_SET,
1481:
1482: OE_delayed_requests_Pvt.log_request(
1483: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1484: p_entity_id => nvl(p_line_rec.ship_set_id,p_line_rec.arrival_set_id),
1485: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1486: p_requesting_entity_id => p_line_rec.line_id,
1487: p_request_type => OE_GLOBALS.G_GROUP_SET,
1488: p_param1 => l_set_type,
1489: p_param2 => p_line_rec.header_id,
1483: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1484: p_entity_id => nvl(p_line_rec.ship_set_id,p_line_rec.arrival_set_id),
1485: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1486: p_requesting_entity_id => p_line_rec.line_id,
1487: p_request_type => OE_GLOBALS.G_GROUP_SET,
1488: p_param1 => l_set_type,
1489: p_param2 => p_line_rec.header_id,
1490: p_param3 => p_line_rec.line_id,
1491: p_param4 => p_line_rec.top_model_line_id,
1526: l_action := OESCH_ACT_RESCHEDULE;
1527:
1528:
1529:
1530: ELSIF OE_GLOBALS.Equal(p_line_rec.ship_set_id,
1531: p_old_line_rec.ship_set_id)
1532: AND OE_GLOBALS.Equal(p_line_rec.arrival_set_id,
1533: p_old_line_rec.arrival_set_id)
1534: AND p_line_rec.schedule_status_code is not null
1528:
1529:
1530: ELSIF OE_GLOBALS.Equal(p_line_rec.ship_set_id,
1531: p_old_line_rec.ship_set_id)
1532: AND OE_GLOBALS.Equal(p_line_rec.arrival_set_id,
1533: p_old_line_rec.arrival_set_id)
1534: AND p_line_rec.schedule_status_code is not null
1535: THEN
1536:
1549: --deleyed request.
1550:
1551:
1552: IF l_ship_from_org_id is not null THEN
1553: IF NOT OE_GLOBALS.Equal(p_line_rec.ship_from_org_id,
1554: p_old_line_rec.ship_from_org_id)
1555: THEN
1556: l_ship_from_org_id := p_line_rec.ship_from_org_id;
1557: END IF;
1557: END IF;
1558: END IF;
1559:
1560: IF l_ship_to_org_id is not null THEN
1561: IF NOT OE_GLOBALS.Equal(p_line_rec.ship_to_org_id,
1562: p_old_line_rec.ship_to_org_id)
1563: THEN
1564: l_ship_to_org_id := p_line_rec.ship_to_org_id;
1565: END IF;
1566: END IF;
1567:
1568: IF l_schedule_ship_date is not null THEN
1569:
1570: IF NOT OE_GLOBALS.Equal(p_line_rec.request_date,
1571: p_old_line_rec.request_date)
1572: AND NOT SET_OVERRIDDEN(p_header_id => p_line_rec.header_id
1573: ,p_ship_set_id => p_line_rec.ship_set_id
1574: ,p_arrival_set_id => p_line_rec.arrival_set_id)
1589: END IF;
1590: -- l_schedule_ship_date := p_line_rec.request_date;
1591: END IF;
1592:
1593: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_ship_date,
1594: p_old_line_rec.schedule_ship_date)
1595: THEN
1596: l_schedule_ship_date := p_line_rec.schedule_ship_date;
1597: END IF;
1599:
1600: IF l_schedule_arrival_date is not null THEN
1601:
1602: IF p_line_rec.arrival_set_id is not null
1603: AND NOT OE_GLOBALS.Equal(p_line_rec.request_date,
1604: p_old_line_rec.request_date)
1605: AND NOT SET_OVERRIDDEN(p_header_id => p_line_rec.header_id
1606: ,p_ship_set_id => p_line_rec.ship_set_id
1607: ,p_arrival_set_id => p_line_rec.arrival_set_id)
1622: END IF;
1623: --l_schedule_arrival_date := p_line_rec.request_date;
1624: END IF;
1625:
1626: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_arrival_date,
1627: p_old_line_rec.schedule_arrival_date)
1628: THEN
1629: l_schedule_arrival_date := p_line_rec.schedule_arrival_date;
1630: END IF;
1629: l_schedule_arrival_date := p_line_rec.schedule_arrival_date;
1630: END IF;
1631: END IF;
1632:
1633: IF NOT OE_GLOBALS.Equal(p_line_rec.shipping_method_code ,
1634: p_old_line_rec.shipping_method_code )
1635: THEN
1636: l_shipping_method_code := p_line_rec.shipping_method_code ;
1637: END IF;
1639:
1640: -- 2391781,2787962
1641: -- Warehouse change only for arrival set
1642:
1643: IF (NOT OE_GLOBALS.Equal(p_line_rec.ship_from_org_id,
1644: p_old_line_rec.ship_from_org_id) AND
1645: (NVL(p_line_rec.ship_model_complete_flag,'N') = 'Y' OR
1646: p_line_rec.ato_line_id is not null) AND
1647: p_line_rec.arrival_set_id is not null)
1644: p_old_line_rec.ship_from_org_id) AND
1645: (NVL(p_line_rec.ship_model_complete_flag,'N') = 'Y' OR
1646: p_line_rec.ato_line_id is not null) AND
1647: p_line_rec.arrival_set_id is not null)
1648: OR NOT OE_GLOBALS.Equal(p_line_rec.request_date,
1649: p_old_line_rec.request_date)
1650: THEN
1651:
1652: IF NVL(p_line_rec.ship_model_complete_flag,'N') = 'Y'
1659: END IF;
1660:
1661: ELSIF p_line_rec.ato_line_id is not null
1662: AND NOT(p_line_rec.ato_line_id = p_line_rec.line_id
1663: AND p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
1664: OE_GLOBALS.G_ITEM_OPTION))
1665: THEN
1666:
1667: IF l_debug_level > 0 THEN
1660:
1661: ELSIF p_line_rec.ato_line_id is not null
1662: AND NOT(p_line_rec.ato_line_id = p_line_rec.line_id
1663: AND p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
1664: OE_GLOBALS.G_ITEM_OPTION))
1665: THEN
1666:
1667: IF l_debug_level > 0 THEN
1668: oe_debug_pub.add('Going to Log Cascade warehouse for ato Model',2);
1669: END IF;
1670:
1671: l_cascade_line_id := p_line_rec.ato_line_id;
1672:
1673: ELSIF p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CLASS THEN
1674: l_cascade_line_id := p_line_rec.line_id;
1675: END IF;
1676: END IF;
1677: -- 2391781, 2787962
1683:
1684:
1685: IF ((p_line_rec.ato_line_id is not null AND
1686: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
1687: p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
1688: OE_GLOBALS.G_ITEM_OPTION)))
1689: OR (p_line_rec.line_id = p_line_rec.top_model_line_id))
1690: AND NOT (OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
1691: AND MSC_ATP_GLOBAL.GET_APS_VERSION = 10 )
1684:
1685: IF ((p_line_rec.ato_line_id is not null AND
1686: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
1687: p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
1688: OE_GLOBALS.G_ITEM_OPTION)))
1689: OR (p_line_rec.line_id = p_line_rec.top_model_line_id))
1690: AND NOT (OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
1691: AND MSC_ATP_GLOBAL.GET_APS_VERSION = 10 )
1692: THEN
1712: oe_debug_pub.add( 'Checking if Group_Schedule delayed request already exists for the line' , 2 ) ;
1713: END IF;
1714:
1715: IF OE_Delayed_Requests_PVT.Check_for_Request
1716: ( p_entity_code =>OE_GLOBALS.G_ENTITY_ALL
1717: , p_entity_id =>p_line_rec.line_id
1718: , p_request_type =>OE_GLOBALS.G_GROUP_SCHEDULE) THEN
1719:
1720: l_group_request := TRUE;
1714:
1715: IF OE_Delayed_Requests_PVT.Check_for_Request
1716: ( p_entity_code =>OE_GLOBALS.G_ENTITY_ALL
1717: , p_entity_id =>p_line_rec.line_id
1718: , p_request_type =>OE_GLOBALS.G_GROUP_SCHEDULE) THEN
1719:
1720: l_group_request := TRUE;
1721: ELSE
1722: l_group_request := FALSE;
1751:
1752: -- Store the old inventory item to pass it to
1753: -- MRP during rescheduling the scheduled item.
1754:
1755: IF NOT OE_GLOBALS.Equal(p_line_rec.inventory_item_id,
1756: p_old_line_rec.inventory_item_id)
1757: AND p_line_rec.schedule_status_code IS NOT NULL THEN
1758:
1759: OE_Item_Tbl(p_line_rec.line_id).line_id
1771: IF (p_line_rec.schedule_status_code is NOT NULL
1772: AND (Schedule_Attribute_Changed(p_line_rec => p_line_rec,
1773: p_old_line_rec => p_old_line_rec)
1774: OR p_line_rec.ordered_quantity <> p_old_line_rec.ordered_quantity
1775: OR NOT OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
1776: p_old_line_rec.override_atp_date_code)
1777: OR NOT OE_GLOBALS.Equal(p_line_rec.reserved_quantity,
1778: p_old_line_rec.reserved_quantity)))
1779: OR p_line_rec.schedule_action_code is not null
1773: p_old_line_rec => p_old_line_rec)
1774: OR p_line_rec.ordered_quantity <> p_old_line_rec.ordered_quantity
1775: OR NOT OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
1776: p_old_line_rec.override_atp_date_code)
1777: OR NOT OE_GLOBALS.Equal(p_line_rec.reserved_quantity,
1778: p_old_line_rec.reserved_quantity)))
1779: OR p_line_rec.schedule_action_code is not null
1780: THEN
1781:
1803: IF p_line_rec.schedule_status_code is NOT NULL
1804: AND (Schedule_Attribute_Changed(p_line_rec => p_line_rec,
1805: p_old_line_rec => p_old_line_rec)
1806: OR p_line_rec.ordered_quantity <> p_old_line_rec.ordered_quantity
1807: OR NOT OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
1808: p_old_line_rec.override_atp_date_code)
1809: OR NOT OE_GLOBALS.Equal(p_line_rec.reserved_quantity,
1810: p_old_line_rec.reserved_quantity))
1811: THEN
1805: p_old_line_rec => p_old_line_rec)
1806: OR p_line_rec.ordered_quantity <> p_old_line_rec.ordered_quantity
1807: OR NOT OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
1808: p_old_line_rec.override_atp_date_code)
1809: OR NOT OE_GLOBALS.Equal(p_line_rec.reserved_quantity,
1810: p_old_line_rec.reserved_quantity))
1811: THEN
1812:
1813: IF l_debug_level > 0 THEN
1819: */
1820: --for bug 3314157
1821: IF OE_QUOTE_UTIL.G_COMPLETE_NEG='Y'
1822: THEN
1823: l_operation:=OE_GLOBALS.G_OPR_CREATE;
1824: ELSE
1825: l_operation:= p_line_rec.operation;
1826: END IF;
1827: -- 3586151 OE_GLOBALS.G_ENTITY_LINE is replaced by OE_GLOBALS.G_ENTITY_ALL for p_entity_code to execute at the end.
1823: l_operation:=OE_GLOBALS.G_OPR_CREATE;
1824: ELSE
1825: l_operation:= p_line_rec.operation;
1826: END IF;
1827: -- 3586151 OE_GLOBALS.G_ENTITY_LINE is replaced by OE_GLOBALS.G_ENTITY_ALL for p_entity_code to execute at the end.
1828: OE_delayed_requests_Pvt.log_request
1829: (p_entity_code => OE_GLOBALS.G_ENTITY_ALL, --OE_GLOBALS.G_ENTITY_LINE,
1830: p_entity_id => p_line_rec.line_id,
1831: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1825: l_operation:= p_line_rec.operation;
1826: END IF;
1827: -- 3586151 OE_GLOBALS.G_ENTITY_LINE is replaced by OE_GLOBALS.G_ENTITY_ALL for p_entity_code to execute at the end.
1828: OE_delayed_requests_Pvt.log_request
1829: (p_entity_code => OE_GLOBALS.G_ENTITY_ALL, --OE_GLOBALS.G_ENTITY_LINE,
1830: p_entity_id => p_line_rec.line_id,
1831: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1832: p_requesting_entity_id => p_line_rec.line_id,
1833: p_request_type => OE_GLOBALS.G_GROUP_SCHEDULE,
1827: -- 3586151 OE_GLOBALS.G_ENTITY_LINE is replaced by OE_GLOBALS.G_ENTITY_ALL for p_entity_code to execute at the end.
1828: OE_delayed_requests_Pvt.log_request
1829: (p_entity_code => OE_GLOBALS.G_ENTITY_ALL, --OE_GLOBALS.G_ENTITY_LINE,
1830: p_entity_id => p_line_rec.line_id,
1831: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1832: p_requesting_entity_id => p_line_rec.line_id,
1833: p_request_type => OE_GLOBALS.G_GROUP_SCHEDULE,
1834: p_param1 => l_param1,
1835: p_param2 => p_line_rec.header_id,
1829: (p_entity_code => OE_GLOBALS.G_ENTITY_ALL, --OE_GLOBALS.G_ENTITY_LINE,
1830: p_entity_id => p_line_rec.line_id,
1831: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1832: p_requesting_entity_id => p_line_rec.line_id,
1833: p_request_type => OE_GLOBALS.G_GROUP_SCHEDULE,
1834: p_param1 => l_param1,
1835: p_param2 => p_line_rec.header_id,
1836: p_param3 => l_action,
1837: p_param4 => p_old_line_rec.ship_from_org_id,
1862: IF l_debug_level > 0 THEN
1863: oe_debug_pub.add( 'Logging cascade warehouse / Request date ' , 4 ) ;
1864: END IF;
1865: OE_delayed_requests_Pvt.log_request
1866: (p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1867: p_entity_id => l_cascade_line_id,
1868: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1869: p_requesting_entity_id => l_cascade_line_id,
1870: p_request_type => OE_GLOBALS.G_CASCADE_SCH_ATTRBS,
1864: END IF;
1865: OE_delayed_requests_Pvt.log_request
1866: (p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1867: p_entity_id => l_cascade_line_id,
1868: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1869: p_requesting_entity_id => l_cascade_line_id,
1870: p_request_type => OE_GLOBALS.G_CASCADE_SCH_ATTRBS,
1871: p_param1 => NVL(p_line_rec.arrival_set_id,
1872: p_line_rec.ship_set_id),
1866: (p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1867: p_entity_id => l_cascade_line_id,
1868: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1869: p_requesting_entity_id => l_cascade_line_id,
1870: p_request_type => OE_GLOBALS.G_CASCADE_SCH_ATTRBS,
1871: p_param1 => NVL(p_line_rec.arrival_set_id,
1872: p_line_rec.ship_set_id),
1873: p_param2 => p_line_rec.ship_from_org_id,
1874: p_date_param1 => p_line_rec.request_date,
1890:
1891: IF p_line_rec.schedule_status_code IS NOT NULL AND
1892: NOT Schedule_Attribute_Changed(p_line_rec => p_line_rec,
1893: p_old_line_rec => p_old_line_rec)
1894: AND OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
1895: p_old_line_rec.override_atp_date_code)
1896: AND p_line_rec.ordered_quantity = p_old_line_rec.ordered_quantity
1897: AND (p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_STANDARD OR
1898: nvl(p_line_rec.model_remnant_flag,'N') = 'Y') THEN
1893: p_old_line_rec => p_old_line_rec)
1894: AND OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
1895: p_old_line_rec.override_atp_date_code)
1896: AND p_line_rec.ordered_quantity = p_old_line_rec.ordered_quantity
1897: AND (p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_STANDARD OR
1898: nvl(p_line_rec.model_remnant_flag,'N') = 'Y') THEN
1899:
1900: IF l_debug_level > 0 THEN
1901: oe_debug_pub.add( 'ARRIVAL_SET_ID : ' || P_LINE_REC.ARRIVAL_SET_ID || ':' || P_LINE_REC.SHIP_SET_ID , 2 ) ;
1916: p_line_arrival_date => p_line_rec.schedule_arrival_date,
1917: p_line_shipping_method_code => p_line_rec.shipping_method_code ,
1918: p_set_shipping_method_code => l_set_shipping_method_code ,
1919: p_set_type => l_entity_type)
1920: AND OE_GLOBALS.Equal(p_line_rec.reserved_quantity,
1921: p_old_line_rec.reserved_quantity) THEN
1922:
1923: IF l_debug_level > 0 THEN
1924: oe_debug_pub.add( 'ONLY SCHEDULED LINE IS GETTING INTO OLD SET' , 2 ) ;
1928: -- ship method if it does not match.
1929:
1930: /* Commented the following code to fix the bug 2916814
1931:
1932: IF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_method_code,
1933: l_shipping_method_code) THEN
1934:
1935: BEGIN
1936:
1964: l_line_id := Nvl(p_line_rec.ato_line_id,p_line_rec.line_id);
1965: END IF;
1966:
1967: OE_delayed_requests_Pvt.log_request
1968: (p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1969: p_entity_id => l_line_id,
1970: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1971: p_requesting_entity_id => p_line_rec.line_id,
1972: p_request_type => OE_GLOBALS.G_SCHEDULE_LINE,
1966:
1967: OE_delayed_requests_Pvt.log_request
1968: (p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1969: p_entity_id => l_line_id,
1970: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1971: p_requesting_entity_id => p_line_rec.line_id,
1972: p_request_type => OE_GLOBALS.G_SCHEDULE_LINE,
1973: p_param1 => l_param1,
1974: p_param2 => p_line_rec.header_id,
1968: (p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1969: p_entity_id => l_line_id,
1970: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1971: p_requesting_entity_id => p_line_rec.line_id,
1972: p_request_type => OE_GLOBALS.G_SCHEDULE_LINE,
1973: p_param1 => l_param1,
1974: p_param2 => p_line_rec.header_id,
1975: p_param3 => l_action,
1976: p_param4 => p_old_line_rec.ship_from_org_id,
2071: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2072: --
2073: BEGIN
2074:
2075: IF NOT OE_GLOBALS.Equal(p_line_rec.SHIP_FROM_ORG_ID,
2076: p_old_line_rec.SHIP_FROM_ORG_ID)
2077: THEN
2078: RETURN TRUE;
2079: END IF;
2077: THEN
2078: RETURN TRUE;
2079: END IF;
2080:
2081: IF NOT OE_GLOBALS.Equal(p_line_rec.SUBINVENTORY,
2082: p_old_line_rec.SUBINVENTORY)
2083: THEN
2084: RETURN TRUE;
2085: END IF;
2083: THEN
2084: RETURN TRUE;
2085: END IF;
2086:
2087: IF NOT OE_GLOBALS.Equal(p_line_rec.SHIP_TO_ORG_ID,
2088: p_old_line_rec.SHIP_TO_ORG_ID)
2089: THEN
2090: RETURN TRUE;
2091: END IF;
2089: THEN
2090: RETURN TRUE;
2091: END IF;
2092:
2093: IF NOT OE_GLOBALS.Equal(p_line_rec.DEMAND_CLASS_CODE,
2094: p_old_line_rec.DEMAND_CLASS_CODE)
2095: THEN
2096: RETURN TRUE;
2097: END IF;
2095: THEN
2096: RETURN TRUE;
2097: END IF;
2098:
2099: IF NOT OE_GLOBALS.Equal(p_line_rec.SCHEDULE_SHIP_DATE,
2100: p_old_line_rec.SCHEDULE_SHIP_DATE)
2101: THEN
2102: RETURN TRUE;
2103: END IF;
2101: THEN
2102: RETURN TRUE;
2103: END IF;
2104:
2105: IF NOT OE_GLOBALS.Equal(p_line_rec.SCHEDULE_ARRIVAL_DATE,
2106: p_old_line_rec.SCHEDULE_ARRIVAL_DATE)
2107: THEN
2108: RETURN TRUE;
2109: END IF;
2107: THEN
2108: RETURN TRUE;
2109: END IF;
2110:
2111: IF NOT OE_GLOBALS.Equal(p_line_rec.SHIPPING_METHOD_CODE,
2112: p_old_line_rec.SHIPPING_METHOD_CODE)
2113: THEN
2114: RETURN TRUE;
2115: END IF;
2113: THEN
2114: RETURN TRUE;
2115: END IF;
2116:
2117: IF NOT OE_GLOBALS.Equal(p_line_rec.REQUEST_DATE,
2118: p_old_line_rec.REQUEST_DATE)
2119: THEN
2120: RETURN TRUE;
2121: END IF;
2119: THEN
2120: RETURN TRUE;
2121: END IF;
2122:
2123: IF NOT OE_GLOBALS.Equal(p_line_rec.DELIVERY_LEAD_TIME,
2124: p_old_line_rec.DELIVERY_LEAD_TIME)
2125: THEN
2126: RETURN TRUE;
2127: END IF;
2126: RETURN TRUE;
2127: END IF;
2128:
2129:
2130: IF NOT OE_GLOBALS.Equal(p_line_rec.inventory_item_id,
2131: p_old_line_rec.inventory_item_id)
2132: THEN
2133: RETURN TRUE;
2134: END IF;
2132: THEN
2133: RETURN TRUE;
2134: END IF;
2135:
2136: IF NOT OE_GLOBALS.Equal(p_line_rec.order_quantity_uom,
2137: p_old_line_rec.order_quantity_uom)
2138: THEN
2139: RETURN TRUE;
2140: END IF;
2138: THEN
2139: RETURN TRUE;
2140: END IF;
2141:
2142: IF NOT OE_GLOBALS.Equal(p_line_rec.sold_to_org_id,
2143: p_old_line_rec.sold_to_org_id)
2144: THEN
2145: RETURN TRUE;
2146: END IF;
2216: oe_debug_pub.add( 'INACTIVE DEMAND - GOING TO SCHEDULE' , 1 ) ;
2217: END IF;
2218:
2219: IF l_order_date_type_code = 'SHIP' THEN
2220: IF NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_ship_date,
2221: p_x_old_line_rec.schedule_ship_date) AND
2222: p_x_line_rec.schedule_ship_date IS NOT NULL AND
2223: p_x_line_rec.schedule_ship_date <> FND_API.G_MISS_DATE THEN
2224: -- If the user provides a ship_date, or changes the existing, use it
2223: p_x_line_rec.schedule_ship_date <> FND_API.G_MISS_DATE THEN
2224: -- If the user provides a ship_date, or changes the existing, use it
2225: p_x_line_rec.schedule_arrival_date := p_x_line_rec.schedule_ship_date;
2226:
2227: ELSIF NOT OE_GLOBALS.Equal(p_x_line_rec.request_date,
2228: p_x_old_line_rec.request_date) AND
2229: p_x_line_rec.request_date IS NOT NULL AND
2230: p_x_line_rec.request_date <> FND_API.G_MISS_DATE THEN
2231: -- if the user changed request date, use it
2244: END IF;
2245:
2246: ELSE -- Arrival
2247:
2248: IF NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_arrival_date,
2249: p_x_old_line_rec.schedule_arrival_date) AND
2250: p_x_line_rec.schedule_arrival_date IS NOT NULL AND
2251: p_x_line_rec.schedule_arrival_date <> FND_API.G_MISS_DATE THEN
2252: -- If the user provides a arrival_date, or changes the existing, use it
2251: p_x_line_rec.schedule_arrival_date <> FND_API.G_MISS_DATE THEN
2252: -- If the user provides a arrival_date, or changes the existing, use it
2253: p_x_line_rec.schedule_ship_date := p_x_line_rec.schedule_arrival_date;
2254:
2255: ELSIF NOT OE_GLOBALS.Equal(p_x_line_rec.request_date,
2256: p_x_old_line_rec.request_date) AND
2257: p_x_line_rec.request_date IS NOT NULL AND
2258: p_x_line_rec.request_date <> FND_API.G_MISS_DATE THEN
2259: -- if the user changed request date, use it
2328:
2329: IF (p_x_line_rec.order_source_id = 10) AND
2330: (
2331: ((p_x_old_line_rec.schedule_ship_date IS NOT NULL) AND
2332: NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_ship_date,p_x_old_line_rec.schedule_ship_date))
2333: OR
2334: ((p_x_old_line_rec.schedule_arrival_date IS NOT NULL) AND
2335: NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_arrival_date,p_x_old_line_rec.schedule_arrival_date))
2336: ) THEN
2331: ((p_x_old_line_rec.schedule_ship_date IS NOT NULL) AND
2332: NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_ship_date,p_x_old_line_rec.schedule_ship_date))
2333: OR
2334: ((p_x_old_line_rec.schedule_arrival_date IS NOT NULL) AND
2335: NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_arrival_date,p_x_old_line_rec.schedule_arrival_date))
2336: ) THEN
2337:
2338: IF NOT OE_Internal_Requisition_Pvt.G_Update_ISO_From_Req
2339: AND NOT OE_SALES_CAN_UTIL.G_IR_ISO_HDR_CANCEL THEN
2351: -- Purchasing profile option does not allow update of Need By Date when
2352: -- Schedule Ship Date changes on internal sales order line
2353:
2354: OE_delayed_requests_Pvt.log_request
2355: ( p_entity_code => OE_GLOBALS.G_ENTITY_LINE
2356: , p_entity_id => p_x_line_rec.line_id
2357: , p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE
2358: , p_requesting_entity_id => p_x_line_rec.line_id
2359: , p_request_unique_key1 => p_x_line_rec.header_id -- Order Hdr_id
2353:
2354: OE_delayed_requests_Pvt.log_request
2355: ( p_entity_code => OE_GLOBALS.G_ENTITY_LINE
2356: , p_entity_id => p_x_line_rec.line_id
2357: , p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE
2358: , p_requesting_entity_id => p_x_line_rec.line_id
2359: , p_request_unique_key1 => p_x_line_rec.header_id -- Order Hdr_id
2360: , p_request_unique_key2 => p_x_line_rec.source_document_id -- Req Hdr_id
2361: , p_request_unique_key3 => p_x_line_rec.source_document_line_id -- Req Line_id
2364: -- Schedule_Arrival_Date, as while executing G_UPDATE_REQUISITION delayed
2365: -- request via OE_Process_Requisition_Pvt.Update_Internal_Requisition,
2366: -- it can expect change with respect to Ship or Arrival date. Thus, will
2367: -- not raise any issues.
2368: , p_request_type => OE_GLOBALS.G_UPDATE_REQUISITION
2369: , x_return_status => l_return_status
2370: );
2371:
2372: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2655: END IF;
2656: */
2657: /*
2658:
2659: IF NOT OE_GLOBALS.Equal(p_line_rec.ship_from_org_id,
2660: p_old_line_rec.ship_from_org_id) OR
2661: (p_line_rec.re_source_flag = 'N')
2662: */
2663:
2695: END IF;
2696:
2697: -- Start 2691579 --
2698: IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110509' THEN
2699: IF (p_line_rec.operation = OE_GLOBALS.G_OPR_DELETE)
2700: AND (p_line_rec.ato_line_id IS NOT NULL AND
2701: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
2702: p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
2703: OE_GLOBALS.G_ITEM_OPTION))) THEN
2698: IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110509' THEN
2699: IF (p_line_rec.operation = OE_GLOBALS.G_OPR_DELETE)
2700: AND (p_line_rec.ato_line_id IS NOT NULL AND
2701: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
2702: p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
2703: OE_GLOBALS.G_ITEM_OPTION))) THEN
2704: x_atp_rec.ato_delete_flag(I) := 'Y';
2705: IF l_debug_level > 0 THEN
2706: oe_debug_pub.add( 'ATO DELETE FLAG : '
2699: IF (p_line_rec.operation = OE_GLOBALS.G_OPR_DELETE)
2700: AND (p_line_rec.ato_line_id IS NOT NULL AND
2701: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
2702: p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
2703: OE_GLOBALS.G_ITEM_OPTION))) THEN
2704: x_atp_rec.ato_delete_flag(I) := 'Y';
2705: IF l_debug_level > 0 THEN
2706: oe_debug_pub.add( 'ATO DELETE FLAG : '
2707: || x_atp_rec.ato_delete_flag(I) , 1 ) ;
2772: p_line_rec.schedule_arrival_date;
2773:
2774: ELSE -- not overridden.
2775:
2776: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_arrival_date,
2777: p_old_line_rec.schedule_arrival_date) AND
2778: p_line_rec.schedule_arrival_date IS NOT NULL AND
2779: p_line_rec.schedule_arrival_date <> FND_API.G_MISS_DATE
2780: THEN
2780: THEN
2781: x_atp_rec.Requested_Arrival_Date(I) :=
2782: p_line_rec.schedule_arrival_date;
2783:
2784: ELSIF NOT OE_GLOBALS.Equal(p_line_rec.request_date,
2785: p_old_line_rec.request_date) AND
2786: p_line_rec.request_date IS NOT NULL AND
2787: p_line_rec.request_date <> FND_API.G_MISS_DATE AND
2788: nvl(p_line_rec.override_atp_date_code,'N') = 'N' AND
2827: x_atp_rec.Requested_Ship_Date(I) :=
2828: p_line_rec.schedule_ship_date;
2829: ELSE -- Not overridden
2830:
2831: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_ship_date,
2832: p_old_line_rec.schedule_ship_date) AND
2833: p_line_rec.schedule_ship_date IS NOT NULL AND
2834: p_line_rec.schedule_ship_date <> FND_API.G_MISS_DATE
2835: THEN
2835: THEN
2836: x_atp_rec.Requested_Ship_Date(I) :=
2837: p_line_rec.schedule_ship_date;
2838:
2839: ELSIF NOT OE_GLOBALS.Equal(p_line_rec.request_date,
2840: p_old_line_rec.request_date) AND
2841: p_line_rec.request_date IS NOT NULL AND
2842: p_line_rec.request_date <> FND_API.G_MISS_DATE AND
2843: nvl(p_line_rec.override_atp_date_code,'N') = 'N' AND
3019: IF p_line_rec.ship_model_complete_flag = 'N' AND
3020: p_line_rec.top_model_line_id IS NOT NULL AND
3021: (p_line_rec.ato_line_id IS NULL OR
3022: p_line_rec.ato_line_id <> p_line_rec.top_model_line_id) AND
3023: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_INCLUDED THEN
3024: IF NOT OE_SCH_CONC_REQUESTS.included_processed(p_line_rec.line_id) THEN
3025: IF l_debug_level > 0 THEN
3026: oe_debug_pub.add( 'INCLUDED PROCESSED : ' || p_line_rec.line_id, 3 ) ;
3027: END IF;
3100: IF l_debug_level > 0 THEN
3101: oe_debug_pub.add( 'SOURCE_DOCUMENT_TYPE_ID :' || P_LINE_REC.SOURCE_DOCUMENT_TYPE_ID , 1 ) ;
3102: END IF;
3103:
3104: IF NOT OE_GLOBALS.Equal(p_line_rec.inventory_item_id,
3105: p_old_line_rec.inventory_item_id)
3106: AND p_line_rec.schedule_status_code is NOT NULL THEN
3107:
3108: IF OE_Item_Tbl.EXISTS(p_line_rec.line_id) THEN
3120:
3121: IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110508' THEN
3122:
3123: -- Bug fix 2331427
3124: IF p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_STANDARD
3125: AND p_line_rec.ato_line_id is null
3126: AND ( NVL(p_line_rec.booked_flag,'N') = 'N' OR
3127: ( NVL(p_line_rec.booked_flag,'N') = 'Y' and
3128: NOT INV_GMI_RSV_BRANCH.Process_Branch(p_organization_id => p_line_rec.ship_from_org_id) and
3177:
3178:
3179: IF(p_line_rec.ato_line_id IS NOT NULL AND
3180: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
3181: p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
3182: OE_GLOBALS.G_ITEM_OPTION))) THEN
3183:
3184: x_atp_rec.config_item_line_id(I) := p_config_line_id ;
3185:
3178:
3179: IF(p_line_rec.ato_line_id IS NOT NULL AND
3180: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
3181: p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
3182: OE_GLOBALS.G_ITEM_OPTION))) THEN
3183:
3184: x_atp_rec.config_item_line_id(I) := p_config_line_id ;
3185:
3186: END IF;
3545: l_type_code := Get_Date_Type(p_line_rec.header_id);
3546: l_order_number := Get_Order_Number(p_line_rec.header_id);
3547:
3548:
3549: IF p_line_rec.item_type_code <> OE_GLOBALS.G_ITEM_CONFIG THEN
3550:
3551: Initialize_mrp_record
3552: (p_x_atp_rec => x_mrp_atp_rec,
3553: l_count => 1);
3651: p_sch_action = OESCH_ACT_UNSCHEDULE OR
3652: p_sch_action = OESCH_ACT_ATP_CHECK THEN
3653: FOR cnt IN 1..p_line_tbl.count LOOP
3654:
3655: IF p_line_tbl(cnt).item_type_code = OE_GLOBALS.G_ITEM_CONFIG THEN
3656:
3657: l_config_count := l_config_count + 1;
3658:
3659: END IF;
3721: l_count => p_line_tbl.count - l_config_count - l_inactive_demand_count); -- 1955004 added last minus
3722:
3723: FOR cnt IN 1..p_line_tbl.count LOOP
3724:
3725: IF p_line_tbl(cnt).item_type_code <> OE_GLOBALS.G_ITEM_CONFIG THEN
3726:
3727: --1955004
3728: IF OE_inactive_demand_tbl.EXISTS(p_line_tbl(cnt).line_id) THEN
3729: IF l_debug_level > 0 THEN
3736: IF l_config_count > 0
3737: AND p_line_tbl(cnt).ato_line_id is not null
3738: AND p_line_tbl(cnt).ato_line_id <> l_ato_line_id
3739: AND NOT(p_line_tbl(cnt).ato_line_id = p_line_tbl(cnt).line_id
3740: AND (p_line_tbl(cnt).item_type_code = OE_GLOBALS.G_ITEM_STANDARD
3741: OR p_line_tbl(cnt).item_type_code = OE_GLOBALS.G_ITEM_OPTION))
3742: THEN
3743:
3744: l_ato_line_id := p_line_tbl(cnt).ato_line_id;
3737: AND p_line_tbl(cnt).ato_line_id is not null
3738: AND p_line_tbl(cnt).ato_line_id <> l_ato_line_id
3739: AND NOT(p_line_tbl(cnt).ato_line_id = p_line_tbl(cnt).line_id
3740: AND (p_line_tbl(cnt).item_type_code = OE_GLOBALS.G_ITEM_STANDARD
3741: OR p_line_tbl(cnt).item_type_code = OE_GLOBALS.G_ITEM_OPTION))
3742: THEN
3743:
3744: l_ato_line_id := p_line_tbl(cnt).ato_line_id;
3745:
4856: -- Purchasing profile option does not allow update of Need By Date when
4857: -- Schedule Ship Date changes on internal sales order line
4858:
4859: OE_delayed_requests_Pvt.log_request
4860: ( p_entity_code => OE_GLOBALS.G_ENTITY_LINE
4861: , p_entity_id => p_x_line_rec.line_id
4862: , p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE
4863: , p_requesting_entity_id => p_x_line_rec.line_id
4864: , p_request_unique_key1 => p_x_line_rec.header_id -- Order Hdr_id
4858:
4859: OE_delayed_requests_Pvt.log_request
4860: ( p_entity_code => OE_GLOBALS.G_ENTITY_LINE
4861: , p_entity_id => p_x_line_rec.line_id
4862: , p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE
4863: , p_requesting_entity_id => p_x_line_rec.line_id
4864: , p_request_unique_key1 => p_x_line_rec.header_id -- Order Hdr_id
4865: , p_request_unique_key2 => p_x_line_rec.source_document_id -- Req Hdr_id
4866: , p_request_unique_key3 => p_x_line_rec.source_document_line_id -- Req Line_id
4869: -- Schedule_Arrival_Date, as while executing G_UPDATE_REQUISITION delayed
4870: -- request via OE_Process_Requisition_Pvt.Update_Internal_Requisition,
4871: -- it can expect change with respect to Ship or Arrival date. Thus, will
4872: -- not raise any issues.
4873: , p_request_type => OE_GLOBALS.G_UPDATE_REQUISITION
4874: , x_return_status => l_return_status
4875: );
4876:
4877: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5002:
5003: ELSE
5004: -- END 1955004
5005:
5006: IF p_x_line_tbl(I).item_type_code = OE_GLOBALS.G_ITEM_CONFIG THEN
5007:
5008: -- The config item might be a part of the table since query
5009: -- of group of lines returns back the config item too. But
5010: -- we did not pass this item to MRP (in load_mrp_request). Thus
5098: Into l_config_exists
5099: From oe_order_lines_all
5100: Where header_id = p_x_line_tbl(I).header_id
5101: And ato_line_id = p_x_line_tbl(I).ato_line_id
5102: And item_type_code = OE_GLOBALS.G_ITEM_CONFIG;
5103:
5104: EXCEPTION
5105: WHEN OTHERS THEN
5106: IF l_debug_level > 0 THEN
5172: IF p_partial THEN
5173: IF l_debug_level > 0 THEN
5174: oe_debug_pub.add( 'SET OPERATION TO NONE' , 1 ) ;
5175: END IF;
5176: p_x_line_tbl(I).operation := OE_GLOBALS.G_OPR_NONE;
5177: x_return_status := FND_API.G_RET_STS_SUCCESS;
5178: ELSE
5179: IF l_debug_level > 0 THEN
5180: oe_debug_pub.add( 'EXP ERROR LINE ' || P_X_LINE_TBL ( I ) .LINE_ID , 1 ) ;
5240:
5241: IF (p_x_line_tbl(i).order_source_id = 10) AND
5242: (
5243: ((p_old_line_tbl(i).schedule_ship_date IS NOT NULL) AND
5244: NOT OE_GLOBALS.Equal(p_x_line_tbl(i).schedule_ship_date,p_old_line_tbl(i).schedule_ship_date))
5245: OR
5246: ((p_old_line_tbl(i).schedule_arrival_date IS NOT NULL) AND
5247: NOT OE_GLOBALS.Equal(p_x_line_tbl(i).schedule_arrival_date,p_old_line_tbl(i).schedule_arrival_date))
5248: ) THEN
5243: ((p_old_line_tbl(i).schedule_ship_date IS NOT NULL) AND
5244: NOT OE_GLOBALS.Equal(p_x_line_tbl(i).schedule_ship_date,p_old_line_tbl(i).schedule_ship_date))
5245: OR
5246: ((p_old_line_tbl(i).schedule_arrival_date IS NOT NULL) AND
5247: NOT OE_GLOBALS.Equal(p_x_line_tbl(i).schedule_arrival_date,p_old_line_tbl(i).schedule_arrival_date))
5248: ) THEN
5249:
5250: IF NOT OE_Internal_Requisition_Pvt.G_Update_ISO_From_Req
5251: AND NOT OE_SALES_CAN_UTIL.G_IR_ISO_HDR_CANCEL THEN
5264: -- Purchasing profile option does not allow update of Need By Date when
5265: -- Schedule Ship Date changes on internal sales order line
5266:
5267: OE_delayed_requests_Pvt.log_request
5268: ( p_entity_code => OE_GLOBALS.G_ENTITY_LINE
5269: , p_entity_id => p_x_line_tbl(i).line_id
5270: , p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE
5271: , p_requesting_entity_id => p_x_line_tbl(i).line_id
5272: , p_request_unique_key1 => p_x_line_tbl(i).header_id -- Order Hdr_id
5266:
5267: OE_delayed_requests_Pvt.log_request
5268: ( p_entity_code => OE_GLOBALS.G_ENTITY_LINE
5269: , p_entity_id => p_x_line_tbl(i).line_id
5270: , p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE
5271: , p_requesting_entity_id => p_x_line_tbl(i).line_id
5272: , p_request_unique_key1 => p_x_line_tbl(i).header_id -- Order Hdr_id
5273: , p_request_unique_key2 => p_x_line_tbl(i).source_document_id -- Req Hdr_id
5274: , p_request_unique_key3 => p_x_line_tbl(i).source_document_line_id -- Req Line_id
5277: -- Schedule_Arrival_Date, as while executing G_UPDATE_REQUISITION delayed
5278: -- request via OE_Process_Requisition_Pvt.Update_Internal_Requisition,
5279: -- it can expect change with respect to Ship or Arrival date. Thus, will
5280: -- not raise any issues.
5281: , p_request_type => OE_GLOBALS.G_UPDATE_REQUISITION
5282: , x_return_status => l_return_status
5283: );
5284:
5285: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6390: IF l_qty_to_reserve > 0 THEN
6391:
6392: -- Since we are calling schedule line from post write.
6393: -- line is posted to db. we do not need to skip the code.
6394: -- IF p_x_line_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
6395: -- We cannot create a reservation currently if the line is
6396: -- being created (since the lines is yet not in the database,
6397: -- and there is a validation done with this line id when we
6398: -- call INV API.). We will populate the reserved quantity on
6781: -- the line for new subinventory.
6782:
6783: -- shipping_interfaced_flag.
6784: -- 4653097
6785: IF (NOT OE_GLOBALS.Equal(p_x_line_rec.subinventory,
6786: p_old_line_rec.subinventory)
6787: OR NOT OE_GLOBALS.Equal(p_x_line_rec.project_id,
6788: p_old_line_rec.project_id)
6789: OR NOT OE_GLOBALS.Equal(p_x_line_rec.task_id,
6783: -- shipping_interfaced_flag.
6784: -- 4653097
6785: IF (NOT OE_GLOBALS.Equal(p_x_line_rec.subinventory,
6786: p_old_line_rec.subinventory)
6787: OR NOT OE_GLOBALS.Equal(p_x_line_rec.project_id,
6788: p_old_line_rec.project_id)
6789: OR NOT OE_GLOBALS.Equal(p_x_line_rec.task_id,
6790: p_old_line_rec.task_id))
6791: AND l_old_reserved_qty > 0
6785: IF (NOT OE_GLOBALS.Equal(p_x_line_rec.subinventory,
6786: p_old_line_rec.subinventory)
6787: OR NOT OE_GLOBALS.Equal(p_x_line_rec.project_id,
6788: p_old_line_rec.project_id)
6789: OR NOT OE_GLOBALS.Equal(p_x_line_rec.task_id,
6790: p_old_line_rec.task_id))
6791: AND l_old_reserved_qty > 0
6792: AND NVL(p_x_line_rec.shipping_interfaced_flag,'N') = 'N'
6793: THEN
6809: -- Start Added for bug 2470416
6810: -- To set the Cascading_Request_Logged to True
6811: -- which will trigger the form to requery
6812:
6813: OE_GLOBALS.G_CASCADING_REQUEST_LOGGED :=TRUE;
6814: -- End Added for bug 2470416
6815:
6816: IF l_debug_level > 0 THEN
6817: oe_debug_pub.add( 'AFTER DELETING THE RESERVATION' , 3 ) ;
6820:
6821: IF nvl(p_x_line_rec.shippable_flag,'N') = 'Y'
6822: THEN
6823: -- 3239619 / 3362461 / 3456052 Convert the old reserve qty as per new UOM if not same.
6824: IF NOT OE_GLOBALS.Equal(p_old_line_rec.order_quantity_uom,p_x_line_rec.order_quantity_uom)
6825: AND l_old_reserved_qty > 0 THEN
6826: l_old_reserved_qty := INV_CONVERT.INV_UM_CONVERT(item_id =>p_old_line_rec.inventory_item_id,
6827: precision =>5,
6828: from_quantity=>l_old_reserved_qty,
7032: IF
7033: -- Bug 6335352
7034: -- Commenting the below line
7035: -- nvl(p_x_line_rec.shipping_interfaced_flag,'N') = 'N' AND
7036: (NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
7037: p_old_line_rec.inventory_item_id)
7038: OR NOT OE_GLOBALS.Equal(p_x_line_rec.subinventory,
7039: p_old_line_rec.subinventory)
7040: OR NOT OE_GLOBALS.Equal(p_x_line_rec.order_quantity_uom,
7034: -- Commenting the below line
7035: -- nvl(p_x_line_rec.shipping_interfaced_flag,'N') = 'N' AND
7036: (NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
7037: p_old_line_rec.inventory_item_id)
7038: OR NOT OE_GLOBALS.Equal(p_x_line_rec.subinventory,
7039: p_old_line_rec.subinventory)
7040: OR NOT OE_GLOBALS.Equal(p_x_line_rec.order_quantity_uom,
7041: p_old_line_rec.order_quantity_uom)
7042: OR NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
7036: (NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
7037: p_old_line_rec.inventory_item_id)
7038: OR NOT OE_GLOBALS.Equal(p_x_line_rec.subinventory,
7039: p_old_line_rec.subinventory)
7040: OR NOT OE_GLOBALS.Equal(p_x_line_rec.order_quantity_uom,
7041: p_old_line_rec.order_quantity_uom)
7042: OR NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
7043: p_old_line_rec.ship_from_org_id)
7044: OR NOT OE_GLOBALS.Equal(p_x_line_rec.project_id,
7038: OR NOT OE_GLOBALS.Equal(p_x_line_rec.subinventory,
7039: p_old_line_rec.subinventory)
7040: OR NOT OE_GLOBALS.Equal(p_x_line_rec.order_quantity_uom,
7041: p_old_line_rec.order_quantity_uom)
7042: OR NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
7043: p_old_line_rec.ship_from_org_id)
7044: OR NOT OE_GLOBALS.Equal(p_x_line_rec.project_id,
7045: p_old_line_rec.project_id)
7046: OR NOT OE_GLOBALS.Equal(p_x_line_rec.task_id,
7040: OR NOT OE_GLOBALS.Equal(p_x_line_rec.order_quantity_uom,
7041: p_old_line_rec.order_quantity_uom)
7042: OR NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
7043: p_old_line_rec.ship_from_org_id)
7044: OR NOT OE_GLOBALS.Equal(p_x_line_rec.project_id,
7045: p_old_line_rec.project_id)
7046: OR NOT OE_GLOBALS.Equal(p_x_line_rec.task_id,
7047: p_old_line_rec.task_id)) THEN
7048:
7042: OR NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
7043: p_old_line_rec.ship_from_org_id)
7044: OR NOT OE_GLOBALS.Equal(p_x_line_rec.project_id,
7045: p_old_line_rec.project_id)
7046: OR NOT OE_GLOBALS.Equal(p_x_line_rec.task_id,
7047: p_old_line_rec.task_id)) THEN
7048:
7049: -- l_re_reserve_flag := 'Y';
7050: -- Call INV to delete the old reservations
7068: -- If the scheduling is happening due to inventory item change.
7069: -- We should call MRP twice. First time we should call the with
7070: -- Undemand for old item. Second call would be redemand.
7071:
7072: IF NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
7073: p_old_line_rec.inventory_item_id)
7074: THEN
7075:
7076: Action_undemand(p_old_line_rec => p_old_line_rec,
7118: -- the new item to db postpone the reservation on new item to
7119: -- process_request.
7120:
7121: IF nvl(p_x_line_rec.shipping_interfaced_flag,'N') = 'N'
7122: AND NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
7123: p_old_line_rec.inventory_item_id)
7124: THEN
7125:
7126: IF l_debug_level > 0 THEN
7166:
7167: IF nvl(p_x_line_rec.shippable_flag,'N') = 'Y'
7168: THEN
7169:
7170: IF NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_ship_date,
7171: p_old_line_rec.schedule_ship_date)
7172: AND OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id, -- 5178175
7173: p_old_line_rec.ship_from_org_id)
7174: AND l_old_reserved_qty > 0
7168: THEN
7169:
7170: IF NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_ship_date,
7171: p_old_line_rec.schedule_ship_date)
7172: AND OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id, -- 5178175
7173: p_old_line_rec.ship_from_org_id)
7174: AND l_old_reserved_qty > 0
7175: AND p_x_line_rec.ordered_quantity > 0
7176: THEN
7269:
7270: -- pre-write scheduling call has been moved to post write.
7271: -- we can perform reservation right here for item change.
7272:
7273: /* IF NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
7274: p_old_line_rec.inventory_item_id)
7275: THEN
7276:
7277: oe_debug_pub.add('No re-reserve due to item change',1);
7311: END IF;
7312:
7313: -- Bug 6335352
7314: -- Added the below code
7315: IF NOT OE_GLOBALS.EQUAL(p_x_line_rec.order_quantity_uom, p_old_line_rec.order_quantity_uom) THEN
7316: IF p_x_line_rec.ordered_quantity > p_x_line_rec.reserved_quantity AND
7317: Within_Rsv_Time_Fence(p_x_line_rec.schedule_ship_date, p_x_line_rec.org_id) THEN
7318: l_qty_to_reserve := p_x_line_rec.ordered_quantity;
7319: ELSIF p_x_line_rec.ordered_quantity < p_x_line_rec.reserved_quantity THEN
7353:
7354: --If ordered qty is not changed on the line, take care of the
7355: --reservation changes.
7356:
7357: IF OE_GLOBALS.Equal(p_x_line_rec.ordered_quantity,
7358: p_old_line_rec.ordered_quantity)
7359: AND NOT OE_GLOBALS.Equal(p_x_line_rec.reserved_quantity,
7360: l_old_reserved_qty)
7361: THEN
7355: --reservation changes.
7356:
7357: IF OE_GLOBALS.Equal(p_x_line_rec.ordered_quantity,
7358: p_old_line_rec.ordered_quantity)
7359: AND NOT OE_GLOBALS.Equal(p_x_line_rec.reserved_quantity,
7360: l_old_reserved_qty)
7361: THEN
7362: Action_reserve(p_x_line_rec => p_x_line_rec,
7363: p_old_line_rec => p_old_line_rec,
7404: -- Pack J
7405: -- Call reserve_line if partial flag is set to 'Yes' and
7406: --ordered quantity is greater than reserved quantity.
7407: ELSIF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
7408: --AND OE_GLOBALS.Equal(p_x_line_rec.ordered_quantity,
7409: -- p_old_line_rec.ordered_quantity)
7410: AND p_x_line_rec.ordered_quantity >NVL(p_x_line_rec.reserved_quantity,0)
7411: AND OE_SYS_PARAMETERS.value('PARTIAL_RESERVATION_FLAG') = 'Y'
7412: AND Within_Rsv_Time_Fence(p_x_line_rec.schedule_ship_date) THEN
7491:
7492: -- Post Pack J
7493: -- Call reserve_line if ordered quantity is greater than reserved quantity.
7494: ELSIF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
7495: --AND OE_GLOBALS.Equal(p_x_line_rec.ordered_quantity,
7496: -- p_old_line_rec.ordered_quantity)
7497: AND p_x_line_rec.ordered_quantity >NVL(p_x_line_rec.reserved_quantity,0)
7498: --AND OE_SYS_PARAMETERS.value('PARTIAL_RESERVATION_FLAG') = 'Y'
7499: AND Within_Rsv_Time_Fence(p_x_line_rec.schedule_ship_date, p_x_line_rec.org_id) THEN --4689197
7879: l_line_tbl OE_ORDER_PUB.line_tbl_type;
7880: l_old_line_tbl OE_ORDER_PUB.line_tbl_type;
7881: l_line_rec OE_ORDER_PUB.line_rec_type
7882: := OE_Order_Pub.G_MISS_LINE_REC;
7883: l_control_rec OE_GLOBALS.control_rec_type;
7884: l_index NUMBER;
7885: l_return_status VARCHAR2(1);
7886:
7887: CURSOR ato_options IS
7915: oe_debug_pub.add( 'SHIP DATE '|| P_X_LINE_REC.SCHEDULE_SHIP_DATE , 1 ) ;
7916: END IF;
7917:
7918: l_index := 0;
7919: l_line_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
7920:
7921: IF p_x_line_rec.ato_line_id is NULL OR
7922: p_x_line_rec.top_model_line_id is NULL
7923: THEN
7987: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
7988: RAISE FND_API.G_EXC_ERROR;
7989: END IF;
7990:
7991: OE_GLOBALS.G_CASCADING_REQUEST_LOGGED := TRUE;
7992: IF l_debug_level > 0 THEN
7993: oe_debug_pub.add( 'UI CASCADE FLAG SET TO TRUE' , 4 ) ;
7994: END IF;
7995:
8176: --This conversion is not required now, as we are passing old_line_rec.order_quantity_uon to Get_Reserved_Quantities API
8177: /*
8178: IF l_old_line_rec.reserved_quantity > 0 THEN
8179: l_old_rsv_qty := l_old_line_rec.reserved_quantity; -- This qty is as per old UOM
8180: IF NOT OE_GLOBALS.Equal(l_old_line_rec.order_quantity_uom,p_x_line_rec.order_quantity_uom) THEN
8181: l_old_rsv_qty := INV_CONVERT.INV_UM_CONVERT(item_id =>l_old_line_rec.inventory_item_id,
8182: precision =>5,
8183: from_quantity=>l_old_line_rec.reserved_quantity,
8184: from_unit => l_old_line_rec.order_quantity_uom, --old uom
8193: -- Bug 6335352 starts
8194: IF p_x_line_rec.reserved_quantity = FND_API.G_MISS_NUM
8195: THEN
8196: -- Converting missing to old value
8197: IF NOT OE_GLOBALS.Equal(l_old_line_rec.order_quantity_uom,p_x_line_rec.order_quantity_uom)
8198: AND nvl(l_old_line_rec.reserved_quantity, 0) > 0
8199: THEN
8200: p_x_line_rec.reserved_quantity := INV_CONVERT.INV_UM_CONVERT
8201: (item_id =>l_old_line_rec.inventory_item_id,
8242: ------------ reserved qty and miss num handling done ----------
8243:
8244: IF p_x_line_rec.source_type_code = 'EXTERNAL' AND
8245: p_x_line_rec.schedule_ship_date is NOT NULL AND
8246: NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_ship_date,
8247: p_old_line_rec.schedule_ship_date) AND
8248: p_x_line_rec.ato_line_id is NOT NULL
8249: THEN
8250: Handle_External_Lines
8255: -- Clear original attributes when item is changed by user
8256: -- on a scheduled line. On an unscheduled substituted item
8257: -- original item will cleared in pre-write code.
8258:
8259: IF NOT OE_GLOBALS.Equal(p_x_line_rec.Inventory_Item_Id,
8260: p_old_line_rec.Inventory_Item_Id)
8261: AND p_x_line_rec.schedule_status_code is not null
8262: AND p_x_line_rec.item_relationship_type is null
8263: THEN
8272:
8273: -- Set auto scheduling flag for batch calls.
8274:
8275:
8276: IF OE_GLOBALS.G_UI_FLAG THEN
8277:
8278: IF l_debug_level > 0 THEN
8279: oe_debug_pub.add( 'UI IS SET' , 1 ) ;
8280: END IF;
8291: IF l_debug_level > 0 THEN
8292: oe_debug_pub.add( 'OPR :' || P_X_LINE_REC.OPERATION , 1 ) ;
8293: END IF;
8294:
8295: IF NOT OE_GLOBALS.G_UI_FLAG
8296: AND NOT (nvl(p_x_line_rec.source_document_type_id,-99) = 2)
8297: AND OE_CONFIG_UTIL.G_CONFIG_UI_USED = 'N'
8298: -- QUOTING change - set auto scheduling flag for complete negotiation step
8299: AND (p_x_line_rec.operation = OE_GLOBALS.G_OPR_CREATE
8295: IF NOT OE_GLOBALS.G_UI_FLAG
8296: AND NOT (nvl(p_x_line_rec.source_document_type_id,-99) = 2)
8297: AND OE_CONFIG_UTIL.G_CONFIG_UI_USED = 'N'
8298: -- QUOTING change - set auto scheduling flag for complete negotiation step
8299: AND (p_x_line_rec.operation = OE_GLOBALS.G_OPR_CREATE
8300: OR OE_Quote_Util.G_COMPLETE_NEG = 'Y'
8301: )
8302: THEN --2998550 added check for G_CONFIG_UI_USED to set flag for batch
8303:
8313: END IF;
8314: END IF;
8315:
8316: -- 4026758
8317: IF (NOT OE_GLOBALS.Equal(p_x_line_rec.ship_set_id,
8318: p_old_line_rec.ship_set_id)
8319: AND p_old_line_rec.ship_set_id IS NOT NULL)
8320: OR (NOT OE_GLOBALS.Equal(p_x_line_rec.arrival_set_id,
8321: p_old_line_rec.arrival_set_id)
8316: -- 4026758
8317: IF (NOT OE_GLOBALS.Equal(p_x_line_rec.ship_set_id,
8318: p_old_line_rec.ship_set_id)
8319: AND p_old_line_rec.ship_set_id IS NOT NULL)
8320: OR (NOT OE_GLOBALS.Equal(p_x_line_rec.arrival_set_id,
8321: p_old_line_rec.arrival_set_id)
8322: AND p_old_line_rec.arrival_set_id IS NOT NULL)
8323: OR ( ( p_x_line_rec.arrival_set_id is not null
8324: OR p_x_line_rec.ship_set_id is not null)
8348: END IF;
8349: END IF;
8350:
8351: IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
8352: AND NOT OE_GLOBALS.Equal(l_old_line_rec.firm_demand_flag,
8353: p_x_line_rec.firm_demand_flag)
8354: AND p_x_line_rec.operation = 'UPDATE' THEN
8355:
8356: IF p_x_line_rec.ship_model_complete_flag = 'Y'
8358: Update oe_order_lines_all
8359: Set firm_demand_flag = p_x_line_rec.firm_demand_flag
8360: Where top_model_line_id = p_x_line_rec.top_model_line_id;
8361:
8362: OE_GLOBALS.G_CASCADING_REQUEST_LOGGED := TRUE;
8363: ELSIF p_x_line_rec.ato_line_id is not null
8364: AND NOT(p_x_line_rec.ato_line_id =p_x_line_rec.line_id
8365: AND p_x_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
8366: OE_GLOBALS.G_ITEM_OPTION))
8361:
8362: OE_GLOBALS.G_CASCADING_REQUEST_LOGGED := TRUE;
8363: ELSIF p_x_line_rec.ato_line_id is not null
8364: AND NOT(p_x_line_rec.ato_line_id =p_x_line_rec.line_id
8365: AND p_x_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
8366: OE_GLOBALS.G_ITEM_OPTION))
8367: THEN
8368:
8369: Update oe_order_lines_all
8362: OE_GLOBALS.G_CASCADING_REQUEST_LOGGED := TRUE;
8363: ELSIF p_x_line_rec.ato_line_id is not null
8364: AND NOT(p_x_line_rec.ato_line_id =p_x_line_rec.line_id
8365: AND p_x_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
8366: OE_GLOBALS.G_ITEM_OPTION))
8367: THEN
8368:
8369: Update oe_order_lines_all
8370: Set firm_demand_flag = p_x_line_rec.firm_demand_flag
8369: Update oe_order_lines_all
8370: Set firm_demand_flag = p_x_line_rec.firm_demand_flag
8371: Where ato_line_id = p_x_line_rec.ato_line_id;
8372:
8373: OE_GLOBALS.G_CASCADING_REQUEST_LOGGED := TRUE;
8374: END IF;
8375: END IF; -- Code
8376:
8377:
8382:
8383: IF not(l_need_sch) THEN
8384:
8385: IF NVL(OE_SYS_PARAMETERS.value('RESCHEDULE_SHIP_METHOD_FLAG'),'Y') = 'N'
8386: AND NOT OE_GLOBALS.Equal(p_x_line_rec.shipping_method_code,
8387: l_old_line_rec.shipping_method_code)
8388: AND fnd_profile.value('ONT_SHIP_METHOD_FOR_SHIP_SET') = 'Y'
8389: THEN
8390:
8392: oe_debug_pub.add( 'SHIPPING_METHOD CHANGED , CASCADE' , 4 ) ;
8393: END IF;
8394:
8395: oe_delayed_requests_pvt.log_request(
8396: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
8397: p_entity_id => p_x_line_rec.line_id,
8398: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
8399: p_requesting_entity_id => p_x_line_rec.line_id,
8400: p_request_type => OE_GLOBALS.G_CASCADE_SHIP_SET_ATTR,
8394:
8395: oe_delayed_requests_pvt.log_request(
8396: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
8397: p_entity_id => p_x_line_rec.line_id,
8398: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
8399: p_requesting_entity_id => p_x_line_rec.line_id,
8400: p_request_type => OE_GLOBALS.G_CASCADE_SHIP_SET_ATTR,
8401: p_param1 => p_x_line_rec.header_id,
8402: p_param2 => p_x_line_rec.ship_set_id,
8396: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
8397: p_entity_id => p_x_line_rec.line_id,
8398: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
8399: p_requesting_entity_id => p_x_line_rec.line_id,
8400: p_request_type => OE_GLOBALS.G_CASCADE_SHIP_SET_ATTR,
8401: p_param1 => p_x_line_rec.header_id,
8402: p_param2 => p_x_line_rec.ship_set_id,
8403: p_param3 => p_x_line_rec.shipping_method_code,
8404: x_return_status => x_return_status);
8443: -- in validation clear the line from set and do not fail the call
8444: -- so that line can be saved. -- 2404401.
8445: IF (p_x_line_rec.ship_set_id is not null
8446: OR p_x_line_rec.arrival_set_id is not null)
8447: AND p_x_line_rec.operation = oe_globals.g_opr_create
8448: AND (p_x_line_rec.top_model_line_id = p_x_line_rec.line_id
8449: OR p_x_line_rec.top_model_line_id IS NULL) THEN
8450:
8451: OE_Order_Cache.Load_Order_Header(p_x_line_rec.header_id);
8534: -- request.After logging a request, we will not have visibility
8535: -- to old data.
8536:
8537: IF l_line_action = OESCH_ACT_RESCHEDULE
8538: AND NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
8539: p_old_line_rec.inventory_item_id)
8540: AND (p_x_line_rec.ship_set_id is NOT NULL OR
8541: p_x_line_rec.arrival_set_id is NOT NULL OR
8542: (nvl(p_x_line_rec.model_remnant_flag, 'N') = 'N' AND
8739: IF p_line_rec.transaction_phase_code = 'N' THEN
8740: RETURN FALSE;
8741: END IF;
8742:
8743: IF (p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_SERVICE) THEN
8744: RETURN FALSE;
8745: END IF;
8746:
8747: IF l_debug_level > 0 THEN
8780: -- CTO team takes care of updating the demand picture for the
8781: -- configuration. If a config item is getting created,
8782: -- we do not need to call scheduling.
8783:
8784: IF p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CONFIG AND
8785: (p_line_rec.operation = OE_GLOBALS.G_OPR_DELETE OR
8786: p_line_rec.operation = OE_GLOBALS.G_OPR_CREATE )
8787: THEN
8788: RETURN FALSE;
8781: -- configuration. If a config item is getting created,
8782: -- we do not need to call scheduling.
8783:
8784: IF p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CONFIG AND
8785: (p_line_rec.operation = OE_GLOBALS.G_OPR_DELETE OR
8786: p_line_rec.operation = OE_GLOBALS.G_OPR_CREATE )
8787: THEN
8788: RETURN FALSE;
8789: END IF;
8782: -- we do not need to call scheduling.
8783:
8784: IF p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CONFIG AND
8785: (p_line_rec.operation = OE_GLOBALS.G_OPR_DELETE OR
8786: p_line_rec.operation = OE_GLOBALS.G_OPR_CREATE )
8787: THEN
8788: RETURN FALSE;
8789: END IF;
8790:
8797: -- have already scheduled the line before.
8798:
8799: IF (p_line_rec.split_from_line_id is not null) AND
8800: (p_line_rec.split_from_line_id <> FND_API.G_MISS_NUM) AND
8801: (p_line_rec.operation = OE_GLOBALS.G_OPR_CREATE)
8802: THEN
8803: IF l_debug_level > 0 THEN
8804: oe_debug_pub.add( 'THIS IS A NEW LINE CREATED THRU SPLIT' , 1 ) ;
8805: END IF;
8813: -- Check to see if this line is the one which is getting split.
8814: -- If it is, then return FALSE, since this line is already rescheduled.
8815: IF (p_line_rec.split_action_code = 'SPLIT') THEN
8816: IF (p_line_rec.schedule_status_code is not null) AND
8817: (p_line_rec.operation = OE_GLOBALS.G_OPR_UPDATE)
8818: THEN
8819: IF l_debug_level > 0 THEN
8820: oe_debug_pub.add( 'THIS LINE IS BEING SPLIT' , 1 ) ;
8821: END IF;
8833: oe_debug_pub.add( 'N5 NOT A SPLIT PARENT' , 1 ) ;
8834: END IF;
8835:
8836:
8837: IF p_line_rec.source_type_code = OE_GLOBALS.G_SOURCE_EXTERNAL
8838: AND p_line_rec.schedule_status_code is null
8839: THEN
8840: IF l_debug_level > 0 THEN
8841: oe_debug_pub.add( 'UNSCHEDULED EXTERNAL LINE' , 1 ) ;
8868:
8869: IF p_line_rec.schedule_status_code is null
8870: THEN
8871:
8872: IF p_line_rec.source_type_code = OE_GLOBALS.G_SOURCE_INTERNAL
8873: AND p_old_line_rec.source_type_code = OE_GLOBALS.G_SOURCE_EXTERNAL
8874: AND p_line_rec.schedule_ship_date IS NOT NULL THEN
8875:
8876: IF l_debug_level > 0 THEN
8869: IF p_line_rec.schedule_status_code is null
8870: THEN
8871:
8872: IF p_line_rec.source_type_code = OE_GLOBALS.G_SOURCE_INTERNAL
8873: AND p_old_line_rec.source_type_code = OE_GLOBALS.G_SOURCE_EXTERNAL
8874: AND p_line_rec.schedule_ship_date IS NOT NULL THEN
8875:
8876: IF l_debug_level > 0 THEN
8877: oe_debug_pub.add( 'EXTERNAL -> INTERNAL WITH SHIP DATE' , 4 ) ;
8880:
8881: END IF;
8882:
8883:
8884: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_ship_date,
8885: p_old_line_rec.schedule_ship_date)
8886: THEN
8887: IF l_debug_level > 0 THEN
8888: oe_debug_pub.add( 'SCH_SHIP_DATE IS CHANGED , SCHEDULE' , 4 ) ;
8889: END IF;
8890: RETURN TRUE;
8891: END IF;
8892:
8893: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_arrival_date,
8894: p_old_line_rec.schedule_arrival_date)
8895: THEN
8896: IF l_debug_level > 0 THEN
8897: oe_debug_pub.add( 'SCH_ARR_DATE IS CHANGED , SCHEDULE' , 4 ) ;
8905: IF l_debug_level > 0 THEN
8906: oe_debug_pub.add( 'OLD RESERVED QTY' || P_OLD_LINE_REC.RESERVED_QUANTITY ) ;
8907: END IF;
8908:
8909: IF NOT OE_GLOBALS.Equal(p_line_rec.reserved_quantity,
8910: p_old_line_rec.reserved_quantity)
8911: THEN
8912: IF l_debug_level > 0 THEN
8913: oe_debug_pub.add( 'RESERVED QTY ENTERED , SCHEDULE' , 4 ) ;
8914: END IF;
8915: RETURN TRUE;
8916: END IF;
8917:
8918: IF NOT OE_GLOBALS.Equal(p_line_rec.ship_set_id,
8919: p_old_line_rec.ship_set_id)
8920: AND p_line_rec.ship_set_id IS NOT NULL
8921: THEN
8922:
8925: END IF;
8926: RETURN TRUE;
8927: END IF;
8928:
8929: IF NOT OE_GLOBALS.Equal(p_line_rec.arrival_Set_id,
8930: p_old_line_rec.arrival_Set_id)
8931: AND p_line_rec.arrival_set_id IS NOT NULL
8932: THEN
8933:
8945: END IF;
8946:
8947: -- QUOTING changes - trigger auto-scheduling if call is from
8948: -- complete negotiation
8949: IF ((p_line_rec.operation = OE_GLOBALS.G_OPR_CREATE
8950: OR OE_Quote_Util.G_COMPLETE_NEG = 'Y')
8951: AND OESCH_AUTO_SCH_FLAG = 'Y') THEN
8952:
8953: IF (p_line_rec.top_model_line_id is null OR
8951: AND OESCH_AUTO_SCH_FLAG = 'Y') THEN
8952:
8953: IF (p_line_rec.top_model_line_id is null OR
8954: p_line_rec.top_model_line_id = FND_API.G_MISS_NUM) AND
8955: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_STANDARD
8956: THEN
8957: IF l_debug_level > 0 THEN
8958: oe_debug_pub.add( 'AUTO SCHEDULE IS TRUE' , 4 ) ;
8959: oe_debug_pub.add( '6663462 : Delay Scheduling : ' || l_delayed_schedule , 4 ) ;
8963: x_auto_sch := 'Y';
8964: RETURN TRUE;
8965: ELSE
8966: OE_delayed_requests_Pvt.log_request(
8967: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
8968: p_entity_id => p_line_rec.header_id,
8969: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
8970: p_requesting_entity_id => p_line_rec.header_id,
8971: p_request_type => OE_GLOBALS.G_DELAYED_SCHEDULE,
8965: ELSE
8966: OE_delayed_requests_Pvt.log_request(
8967: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
8968: p_entity_id => p_line_rec.header_id,
8969: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
8970: p_requesting_entity_id => p_line_rec.header_id,
8971: p_request_type => OE_GLOBALS.G_DELAYED_SCHEDULE,
8972: x_return_status => l_return_status);
8973: l_index := OE_SCHEDULE_UTIL.OE_Delayed_Schedule_line_tbl.count;
8967: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
8968: p_entity_id => p_line_rec.header_id,
8969: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_ALL,
8970: p_requesting_entity_id => p_line_rec.header_id,
8971: p_request_type => OE_GLOBALS.G_DELAYED_SCHEDULE,
8972: x_return_status => l_return_status);
8973: l_index := OE_SCHEDULE_UTIL.OE_Delayed_Schedule_line_tbl.count;
8974: OE_SCHEDULE_UTIL.OE_Delayed_Schedule_line_tbl(l_index+1) := p_line_rec;
8975: oe_debug_pub.add( '6663462 : logging delayed scheduling req for header_id ' || OE_SCHEDULE_UTIL.OE_Delayed_Schedule_line_tbl(l_index+1).header_id, 1 ) ;
9026: IF p_line_rec.schedule_status_code is NOT NULL THEN
9027:
9028: x_line_action := OESCH_ACT_RESCHEDULE;
9029:
9030: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_ship_date,
9031: p_old_line_rec.schedule_ship_date)
9032: THEN
9033: -- On a scheduled line, if user is clearing schedule_ship_date
9034: -- treat is as inschedule.
9043: END IF;
9044: RETURN TRUE;
9045: END IF;
9046:
9047: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_arrival_date,
9048: p_old_line_rec.schedule_arrival_date)
9049: THEN
9050: IF l_debug_level > 0 THEN
9051: oe_debug_pub.add( 'SCH_ARR_DATE CHANGED , RESCHEDULE' , 4 ) ;
9057: END IF;
9058: RETURN TRUE;
9059: END IF;
9060:
9061: IF NOT OE_GLOBALS.Equal(p_line_rec.ship_from_org_id,
9062: p_old_line_rec.ship_from_org_id)
9063: THEN
9064: IF l_debug_level > 0 THEN
9065: oe_debug_pub.add( 'SHIP_FROM_ORG CHANGED , RESCHEDULE' , 4 ) ;
9067: RETURN TRUE;
9068: END IF;
9069:
9070:
9071: IF NOT OE_GLOBALS.Equal(p_line_rec.ordered_quantity,
9072: p_old_line_rec.ordered_quantity)
9073: THEN
9074: IF l_debug_level > 0 THEN
9075: oe_debug_pub.add( 'ORD QTY CHANGED , RESCHEDULE' , 4 ) ;
9076: END IF;
9077: RETURN TRUE;
9078: END IF;
9079:
9080: IF NOT OE_GLOBALS.Equal(p_line_rec.order_quantity_uom,
9081: p_old_line_rec.order_quantity_uom)
9082: THEN
9083: IF l_debug_level > 0 THEN
9084: oe_debug_pub.add( 'ORDER QTY UOM CHANGED , RESCHEDULE' , 4 ) ;
9085: END IF;
9086: RETURN TRUE;
9087: END IF;
9088:
9089: IF NOT OE_GLOBALS.Equal(p_line_rec.request_date,
9090: p_old_line_rec.request_date)
9091: THEN
9092: -- Pack J
9093: --- Return True only if Request date parameter value is set to 'Yes'
9098:
9099: -- This code has been added to avoid re-scheduling the line when request date is changed
9100: -- on a scheduled and overridden line. -- 3524314
9101:
9102: IF OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
9103: p_old_line_rec.override_atp_date_code)
9104: AND nvl(p_line_rec.override_atp_date_code,'N') = 'Y' THEN
9105: l_request_date_flag := 'N';
9106: END IF;
9114: END IF;
9115:
9116: END IF;
9117:
9118: IF NOT OE_GLOBALS.Equal(p_line_rec.shipping_method_code,
9119: p_old_line_rec.shipping_method_code)
9120: THEN
9121: -- Pack J
9122: -- Return True if Ship method parameter value set to 'Yes'.
9133: END IF;
9134:
9135: END IF;
9136:
9137: IF NOT OE_GLOBALS.Equal(p_line_rec.delivery_lead_time,
9138: p_old_line_rec.delivery_lead_time)
9139: THEN
9140: BEGIN
9141: select order_date_type_code
9154: NULL;
9155: END;
9156: END IF;
9157:
9158: IF NOT OE_GLOBALS.Equal(p_line_rec.demand_class_code,
9159: p_old_line_rec.demand_class_code)
9160: THEN
9161: IF l_debug_level > 0 THEN
9162: oe_debug_pub.add( 'DEMAND_CLASS CHANGED , RESCHEDULE' , 4 ) ;
9163: END IF;
9164: RETURN TRUE;
9165: END IF;
9166:
9167: IF NOT OE_GLOBALS.Equal(p_line_rec.ship_to_org_id,
9168: p_old_line_rec.ship_to_org_id)
9169: THEN
9170: IF l_debug_level > 0 THEN
9171: oe_debug_pub.add( 'SHIP_TO_ORG CHANGED , RESCHEDULE' , 4 ) ;
9172: END IF;
9173: RETURN TRUE;
9174: END IF;
9175:
9176: IF NOT OE_GLOBALS.Equal(p_line_rec.sold_to_org_id,
9177: p_old_line_rec.sold_to_org_id)
9178: THEN
9179: IF l_debug_level > 0 THEN
9180: oe_debug_pub.add( 'SOLD_TO_ORG CHANGED , RESCHEDULE' , 4 ) ;
9181: END IF;
9182: RETURN TRUE;
9183: END IF;
9184:
9185: IF NOT OE_GLOBALS.Equal(p_line_rec.inventory_item_id,
9186: p_old_line_rec.inventory_item_id)
9187: THEN
9188: IF l_debug_level > 0 THEN
9189: oe_debug_pub.add( 'INV ITEM ID CHANGED , RESCHEDULE' , 4 ) ;
9190: END IF;
9191: RETURN TRUE;
9192: END IF;
9193:
9194: IF NOT OE_GLOBALS.Equal(p_line_rec.ship_set_id,
9195: p_old_line_rec.ship_set_id)
9196: AND p_line_rec.ship_set_id IS NOT NULL
9197: THEN
9198:
9201: END IF;
9202: RETURN TRUE;
9203: END IF;
9204:
9205: IF NOT OE_GLOBALS.Equal(p_line_rec.arrival_set_id,
9206: p_old_line_rec.arrival_set_id)
9207: AND p_line_rec.arrival_set_id IS NOT NULL
9208: THEN
9209:
9214: END IF;
9215:
9216: -- BUG 1282873
9217: IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110509' THEN
9218: IF NOT OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
9219: p_old_line_rec.override_atp_date_code) THEN
9220: -- This line was previously scheduled with the Override ATP Flag set
9221: -- but it is now not set. Must re-schedule the line
9222: IF l_debug_level > 0 THEN
9228: -- END 1282873
9229:
9230: -- Changing the source type on a scheduled line.
9231: -- We should unschedule the line
9232: IF p_line_rec.source_type_code = OE_GLOBALS.G_SOURCE_EXTERNAL AND
9233: NOT OE_GLOBALS.Equal(p_line_rec.source_type_code,
9234: p_old_line_rec.source_type_code)
9235: THEN
9236: IF l_debug_level > 0 THEN
9229:
9230: -- Changing the source type on a scheduled line.
9231: -- We should unschedule the line
9232: IF p_line_rec.source_type_code = OE_GLOBALS.G_SOURCE_EXTERNAL AND
9233: NOT OE_GLOBALS.Equal(p_line_rec.source_type_code,
9234: p_old_line_rec.source_type_code)
9235: THEN
9236: IF l_debug_level > 0 THEN
9237: oe_debug_pub.add( 'SOURCE TYPE MADE EXTERNAL , UNSCHEDULE' , 4 ) ;
9239: x_line_action := OESCH_ACT_UNSCHEDULE;
9240: RETURN TRUE;
9241: END IF;
9242:
9243: IF NOT OE_GLOBALS.Equal(p_line_rec.reserved_quantity,
9244: p_old_line_rec.reserved_quantity)
9245: THEN
9246: IF l_debug_level > 0 THEN
9247: oe_debug_pub.add( 'RESERVED QTY CHANGED , RESERVE' , 4 ) ;
9254: --reservation. If reservation does not exists for the
9255: --line no action required here.
9256:
9257: -- Do not move this code
9258: IF NOT OE_GLOBALS.Equal(p_line_rec.subinventory,
9259: p_old_line_rec.subinventory)
9260: AND p_old_line_rec.reserved_quantity > 0
9261: THEN
9262: IF l_debug_level > 0 THEN
9265: x_line_action := OESCH_ACT_RESERVE;
9266: RETURN TRUE;
9267: END IF;
9268: --4653097:Start
9269: IF NOT OE_GLOBALS.Equal(p_line_rec.project_id,
9270: p_old_line_rec.project_id)
9271: AND p_old_line_rec.reserved_quantity > 0
9272: THEN
9273: IF l_debug_level > 0 THEN
9276: x_line_action := OESCH_ACT_RESERVE;
9277: RETURN TRUE;
9278: END IF;
9279:
9280: IF NOT OE_GLOBALS.Equal(p_line_rec.task_id,
9281: p_old_line_rec.task_id)
9282: AND p_old_line_rec.reserved_quantity > 0
9283: THEN
9284: IF l_debug_level > 0 THEN
9474: oe_debug_pub.add( 'BEFORE RESERVED QTY CHECK ' || X_RETURN_STATUS , 2 ) ;
9475: END IF;
9476: -- Check to see if the reserved quantity is changed and is more
9477: -- than the ordered quantity. This should not be allowed.
9478: IF NOT OE_GLOBALS.Equal(p_old_line_rec.reserved_quantity,
9479: p_line_rec.reserved_quantity)
9480: THEN
9481: -- Reserved Quantity has changed
9482: IF (p_line_rec.ordered_quantity < p_line_rec.reserved_quantity)
9479: p_line_rec.reserved_quantity)
9480: THEN
9481: -- Reserved Quantity has changed
9482: IF (p_line_rec.ordered_quantity < p_line_rec.reserved_quantity)
9483: AND OE_GLOBALS.Equal(p_old_line_rec.order_quantity_uom, p_line_rec.order_quantity_uom) --Bug 6335352
9484: THEN
9485:
9486: FND_MESSAGE.SET_NAME('ONT','OE_SCH_RES_MORE_ORD_QTY');
9487: OE_MSG_PUB.Add;
9506: END IF;
9507: END IF;
9508: END IF;
9509:
9510: IF NOT OE_GLOBALS.Equal(p_old_line_rec.reserved_quantity2, -- INVCONV
9511: p_line_rec.reserved_quantity2)
9512: THEN
9513: -- Reserved Quantity2 has changed
9514: IF (p_line_rec.ordered_quantity2 < p_line_rec.reserved_quantity2)
9543: -- Check to see if the ordered quantity and reserved quantity
9544: -- both have changed and if the ordered quantity is less than
9545: -- the reserved quantity. This should not be allowed.
9546:
9547: IF NOT OE_GLOBALS.Equal(p_old_line_rec.ordered_quantity,
9548: p_line_rec.ordered_quantity)
9549: THEN
9550: -- Ordered Quantity has changed
9551: IF NOT OE_GLOBALS.Equal(p_old_line_rec.reserved_quantity,
9547: IF NOT OE_GLOBALS.Equal(p_old_line_rec.ordered_quantity,
9548: p_line_rec.ordered_quantity)
9549: THEN
9550: -- Ordered Quantity has changed
9551: IF NOT OE_GLOBALS.Equal(p_old_line_rec.reserved_quantity,
9552: p_line_rec.reserved_quantity)
9553: AND OE_GLOBALS.Equal(p_old_line_rec.order_quantity_uom, p_line_rec.order_quantity_uom) -- Bug 6335352
9554: THEN
9555: IF (p_line_rec.ordered_quantity < p_line_rec.reserved_quantity)
9549: THEN
9550: -- Ordered Quantity has changed
9551: IF NOT OE_GLOBALS.Equal(p_old_line_rec.reserved_quantity,
9552: p_line_rec.reserved_quantity)
9553: AND OE_GLOBALS.Equal(p_old_line_rec.order_quantity_uom, p_line_rec.order_quantity_uom) -- Bug 6335352
9554: THEN
9555: IF (p_line_rec.ordered_quantity < p_line_rec.reserved_quantity)
9556: THEN
9557:
9565: END IF;
9566: END IF;
9567: END IF;
9568:
9569: IF NOT OE_GLOBALS.Equal(p_old_line_rec.ordered_quantity2, -- INVCONV
9570: p_line_rec.ordered_quantity2)
9571: THEN
9572: -- Ordered Quantity has changed
9573: IF NOT OE_GLOBALS.Equal(p_old_line_rec.reserved_quantity2,
9569: IF NOT OE_GLOBALS.Equal(p_old_line_rec.ordered_quantity2, -- INVCONV
9570: p_line_rec.ordered_quantity2)
9571: THEN
9572: -- Ordered Quantity has changed
9573: IF NOT OE_GLOBALS.Equal(p_old_line_rec.reserved_quantity2,
9574: p_line_rec.reserved_quantity2)
9575: THEN
9576: IF (p_line_rec.ordered_quantity2 < p_line_rec.reserved_quantity2)
9577: THEN
9922: -- following 2 checks are only for ato's
9923:
9924: IF p_line_rec.ato_line_id is not null AND
9925: NOT(p_line_rec.ato_line_id = p_line_rec.line_id AND
9926: p_line_rec.item_type_code IN ( OE_GLOBALS.G_ITEM_OPTION,
9927: OE_GLOBALS.G_ITEM_STANDARD))
9928: THEN
9929:
9930: IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
9923:
9924: IF p_line_rec.ato_line_id is not null AND
9925: NOT(p_line_rec.ato_line_id = p_line_rec.line_id AND
9926: p_line_rec.item_type_code IN ( OE_GLOBALS.G_ITEM_OPTION,
9927: OE_GLOBALS.G_ITEM_STANDARD))
9928: THEN
9929:
9930: IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
9931: AND MSC_ATP_GLOBAL.GET_APS_VERSION = 10 THEN
9968: /* 4171389: Reservations cannot be placed for config items if order
9969: * is not booked.
9970: */
9971: IF p_sch_action = OE_SCHEDULE_UTIL.OESCH_ACT_RESERVE
9972: AND p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CONFIG
9973: AND p_line_rec.booked_flag <> 'Y'
9974: THEN
9975: FND_MESSAGE.SET_NAME('ONT','OE_SCH_NO_ACTION_DONE_NO_EXP');
9976: OE_MSG_PUB.Add;
10081:
10082: END IF;
10083: */
10084: IF (p_sch_action = OESCH_ACT_UNSCHEDULE)
10085: AND (p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_MODEL OR
10086: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_OPTION OR
10087: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CLASS OR
10088: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_INCLUDED)
10089: AND NOT(OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
10082: END IF;
10083: */
10084: IF (p_sch_action = OESCH_ACT_UNSCHEDULE)
10085: AND (p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_MODEL OR
10086: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_OPTION OR
10087: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CLASS OR
10088: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_INCLUDED)
10089: AND NOT(OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
10090: AND MSC_ATP_GLOBAL.GET_APS_VERSION = 10 )
10083: */
10084: IF (p_sch_action = OESCH_ACT_UNSCHEDULE)
10085: AND (p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_MODEL OR
10086: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_OPTION OR
10087: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CLASS OR
10088: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_INCLUDED)
10089: AND NOT(OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
10090: AND MSC_ATP_GLOBAL.GET_APS_VERSION = 10 )
10091:
10084: IF (p_sch_action = OESCH_ACT_UNSCHEDULE)
10085: AND (p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_MODEL OR
10086: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_OPTION OR
10087: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_CLASS OR
10088: p_line_rec.item_type_code = OE_GLOBALS.G_ITEM_INCLUDED)
10089: AND NOT(OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
10090: AND MSC_ATP_GLOBAL.GET_APS_VERSION = 10 )
10091:
10092: THEN
10130: -- when Order Date Type is specified.
10131: /*
10132: OE_DEBUG_PUB.Add('Checking for Order date Type - Arrival');
10133:
10134: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_ship_date,
10135: p_old_line_rec.schedule_ship_date)
10136: THEN
10137: -- If the Order Type is ARRIVAL, the user is not
10138: -- allowed to change the schedule ship date
10153: END IF;
10154:
10155: OE_DEBUG_PUB.Add('Checking for Order date Type - Ship');
10156:
10157: IF NOT OE_GLOBALS.Equal(p_line_rec.schedule_arrival_date,
10158: p_old_line_rec.schedule_arrival_date)
10159: THEN
10160:
10161: -- If the Order Type is SHIP (or null), the user is not
10186: oe_debug_pub.add( 'ONT_OVERRIDE_ATP' || L_AUTH_TO_OVERRIDE_ATP , 3 ) ;
10187: END IF;
10188: IF l_auth_to_override_atp = 'N' THEN
10189:
10190: IF NOT OE_GLOBALS.Equal(p_line_rec.override_atp_date_code,
10191: p_old_line_rec.override_atp_date_code)
10192: THEN
10193:
10194: -- only authorized users have authority to update the
10298: END IF; -- schedule_status_code IS NOT NULL
10299: END IF; -- overide_atp = N
10300:
10301: IF ((p_line_rec.ship_set_id IS NOT NULL AND
10302: NOT oe_globals.equal(p_line_rec.ship_set_id,
10303: p_old_line_rec.ship_set_id)) OR
10304: (p_line_rec.arrival_set_id IS NOT NULL AND
10305: NOT oe_globals.equal(p_line_rec.arrival_set_id,
10306: p_old_line_rec.arrival_set_id))) THEN
10301: IF ((p_line_rec.ship_set_id IS NOT NULL AND
10302: NOT oe_globals.equal(p_line_rec.ship_set_id,
10303: p_old_line_rec.ship_set_id)) OR
10304: (p_line_rec.arrival_set_id IS NOT NULL AND
10305: NOT oe_globals.equal(p_line_rec.arrival_set_id,
10306: p_old_line_rec.arrival_set_id))) THEN
10307:
10308: l_set_rec := OE_ORDER_CACHE.Load_Set
10309: (nvl(p_line_rec.arrival_set_id,p_line_rec.ship_set_id));
10451: x_return_status := FND_API.G_RET_STS_ERROR;
10452: END IF;
10453: -- 3894212
10454: IF ((p_line_rec.ship_set_id IS NOT NULL AND
10455: NOT oe_globals.equal(p_line_rec.ship_set_id,
10456: p_old_line_rec.ship_set_id)) OR
10457: (p_line_rec.arrival_set_id IS NOT NULL AND
10458: NOT oe_globals.equal(p_line_rec.arrival_set_id,
10459: p_old_line_rec.arrival_set_id))) THEN
10454: IF ((p_line_rec.ship_set_id IS NOT NULL AND
10455: NOT oe_globals.equal(p_line_rec.ship_set_id,
10456: p_old_line_rec.ship_set_id)) OR
10457: (p_line_rec.arrival_set_id IS NOT NULL AND
10458: NOT oe_globals.equal(p_line_rec.arrival_set_id,
10459: p_old_line_rec.arrival_set_id))) THEN
10460:
10461: l_set_rec := OE_ORDER_CACHE.Load_Set
10462: (nvl(p_line_rec.arrival_set_id,p_line_rec.ship_set_id));
10486: l_found := 'N';
10487: --4653097
10488: IF nvl(p_line_rec.shipping_interfaced_flag,'N') = 'Y'
10489: AND p_sch_action = OESCH_ACT_RESERVE
10490: AND OE_GLOBALS.Equal(p_old_line_rec.subinventory,
10491: p_line_rec.subinventory)
10492: AND OE_GLOBALS.Equal(p_old_line_rec.project_id,
10493: p_line_rec.project_id)
10494: AND OE_GLOBALS.Equal(p_old_line_rec.task_id,
10488: IF nvl(p_line_rec.shipping_interfaced_flag,'N') = 'Y'
10489: AND p_sch_action = OESCH_ACT_RESERVE
10490: AND OE_GLOBALS.Equal(p_old_line_rec.subinventory,
10491: p_line_rec.subinventory)
10492: AND OE_GLOBALS.Equal(p_old_line_rec.project_id,
10493: p_line_rec.project_id)
10494: AND OE_GLOBALS.Equal(p_old_line_rec.task_id,
10495: p_line_rec.task_id) THEN
10496: BEGIN
10490: AND OE_GLOBALS.Equal(p_old_line_rec.subinventory,
10491: p_line_rec.subinventory)
10492: AND OE_GLOBALS.Equal(p_old_line_rec.project_id,
10493: p_line_rec.project_id)
10494: AND OE_GLOBALS.Equal(p_old_line_rec.task_id,
10495: p_line_rec.task_id) THEN
10496: BEGIN
10497: IF l_debug_level > 0 THEN
10498: OE_DEBUG_PUB.Add('Before checking for Staged/Closed deliveries', 1);
10645: AND p_x_line_rec.schedule_ship_date is null
10646: AND p_x_line_rec.schedule_arrival_date is null
10647: -- QUOTING changes - check for complete negotiation also
10648: -- as it can trigger auto-scheduling
10649: AND (p_x_line_rec.operation = OE_GLOBALS.G_OPR_CREATE
10650: OR OE_Quote_Util.G_COMPLETE_NEG = 'Y'
10651: )
10652: THEN
10653: -- We donot want to error out the insert if autoscheduling
10665: END IF;
10666:
10667: ELSIF p_sch_action = OESCH_ACT_RESCHEDULE THEN
10668:
10669: IF NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
10670: p_old_line_rec.inventory_item_id)
10671: AND p_x_line_rec.source_type_code = 'EXTERNAL' THEN -- 7139462
10672:
10673: p_x_line_rec.schedule_action_code := OESCH_ACT_UNSCHEDULE;
10881:
10882: -- If schedule date has change, we need to call PO callback function
10883: -- to indicate the change.
10884:
10885: -- IF p_x_line_rec.operation = OE_GLOBALS.G_OPR_UPDATE AND --3888871
10886: IF p_x_line_rec.source_document_type_id = 10 AND --3888871
10887: NOT OE_GLOBALS.EQUAL(p_x_line_rec.schedule_arrival_date,
10888: p_old_line_rec.schedule_arrival_date)
10889: THEN
10883: -- to indicate the change.
10884:
10885: -- IF p_x_line_rec.operation = OE_GLOBALS.G_OPR_UPDATE AND --3888871
10886: IF p_x_line_rec.source_document_type_id = 10 AND --3888871
10887: NOT OE_GLOBALS.EQUAL(p_x_line_rec.schedule_arrival_date,
10888: p_old_line_rec.schedule_arrival_date)
10889: THEN
10890: IF l_debug_level > 0 THEN
10891: oe_debug_pub.add( 'PASSING SCHEDULE_ARRIVAL_DATE TO PO ' , 3 ) ;
11360: --------------------------------------------------------------------- */
11361: Procedure call_process_order
11362: ( p_x_old_line_tbl IN OUT NOCOPY OE_ORDER_PUB.line_tbl_type
11363: , p_x_line_tbl IN OUT NOCOPY OE_ORDER_PUB.line_tbl_type
11364: , p_control_rec IN OE_GLOBALS.control_rec_type
11365: , p_caller IN VARCHAR2
11366: , x_return_status OUT NOCOPY VARCHAR2)
11367:
11368: IS
11497: BEGIN
11498: IF l_debug_level > 0 THEN
11499: oe_debug_pub.add( 'OPERATION : ' || P_X_LINE_TBL ( I ) .OPERATION , 1 ) ;
11500: END IF;
11501: IF p_x_line_tbl(I).operation <> OE_GLOBALS.G_OPR_NONE
11502: THEN
11503: Process_Line (p_old_line_rec => p_x_old_line_tbl(I),
11504: p_x_line_rec => p_x_line_tbl(I),
11505: p_caller => p_caller,
11761: l_line_tbl OE_ORDER_PUB.line_tbl_type;
11762: l_old_line_tbl OE_ORDER_PUB.line_tbl_type;
11763: l_sec_result NUMBER;
11764: l_order_type_id NUMBER := OE_Order_Cache.g_header_rec.order_type_id;
11765: l_control_rec OE_GLOBALS.control_rec_type;
11766: l_src_attr_tbl OE_GLOBALS.NUMBER_Tbl_Type;
11767: l_index NUMBER;
11768: --
11769: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
11762: l_old_line_tbl OE_ORDER_PUB.line_tbl_type;
11763: l_sec_result NUMBER;
11764: l_order_type_id NUMBER := OE_Order_Cache.g_header_rec.order_type_id;
11765: l_control_rec OE_GLOBALS.control_rec_type;
11766: l_src_attr_tbl OE_GLOBALS.NUMBER_Tbl_Type;
11767: l_index NUMBER;
11768: --
11769: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
11770: --
11779: END IF;
11780:
11781: /* Start Audit Trail */
11782: --Added is_mass_change condition for bug 4911340
11783: IF NOT OE_GLOBALS.G_UI_FLAG AND OE_MASS_CHANGE_PVT.IS_MASS_CHANGE = 'F' THEN
11784: p_x_line_rec.change_reason := 'SYSTEM';
11785: END IF;
11786:
11787: -- p_x_line_rec.change_comments := 'Scheduling Action';
11828: IF l_debug_level > 0 THEN
11829: oe_debug_pub.add( 'AFTER DOING DIRECT UPDATE ON A CANCELLED LINE' , 1 ) ;
11830: END IF;
11831:
11832: ELSIF NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
11833: p_old_line_rec.ship_from_org_id)
11834: OR NOT OE_GLOBALS.Equal(p_x_line_rec.ship_to_org_id,
11835: p_old_line_rec.ship_to_org_id)
11836: OR NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
11830: END IF;
11831:
11832: ELSIF NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
11833: p_old_line_rec.ship_from_org_id)
11834: OR NOT OE_GLOBALS.Equal(p_x_line_rec.ship_to_org_id,
11835: p_old_line_rec.ship_to_org_id)
11836: OR NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
11837: p_old_line_rec.inventory_item_id)
11838: THEN
11832: ELSIF NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
11833: p_old_line_rec.ship_from_org_id)
11834: OR NOT OE_GLOBALS.Equal(p_x_line_rec.ship_to_org_id,
11835: p_old_line_rec.ship_to_org_id)
11836: OR NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
11837: p_old_line_rec.inventory_item_id)
11838: THEN
11839:
11840: IF l_debug_level > 0 THEN
11861: l_line_tbl(1) := p_x_line_rec;
11862:
11863: -- We are doing this since we are calling the po from post write.
11864:
11865: l_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
11866:
11867: Call_Process_Order(p_x_old_line_tbl => l_old_line_tbl,
11868: p_x_line_tbl => l_line_tbl,
11869: p_control_rec => l_control_rec,
11877: END IF;
11878:
11879: ELSE -- warehouse is not changed on the line.
11880:
11881: IF p_x_line_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
11882:
11883: IF l_debug_level > 0 THEN
11884: oe_debug_pub.add( 'IT IS UPDATE , CALL SECURITY' ) ;
11885: END IF;
11920: END IF; -- operation update.
11921:
11922: --Value of the G_ATTR_UPDATED_BY_DEF will be set in defaulting
11923: -- We will re-set the value, before calling.
11924: OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'N';
11925:
11926: IF l_debug_level > 0 THEN
11927: oe_debug_pub.add( 'OLD SHIP :' || P_OLD_LINE_REC.SCHEDULE_SHIP_DATE , 1 ) ;
11928: END IF;
11929: IF l_debug_level > 0 THEN
11930: oe_debug_pub.add( 'NEW SHIP :' || P_X_LINE_REC.SCHEDULE_SHIP_DATE , 1 ) ;
11931: END IF;
11932:
11933: IF NOT OE_GLOBALS.Equal(trunc(p_x_line_rec.schedule_ship_date), -- 5999034
11934: trunc(p_old_line_rec.schedule_ship_date))
11935:
11936: THEN
11937:
11949: END IF;
11950:
11951: END IF;
11952: IF l_debug_level > 0 THEN
11953: oe_debug_pub.add( 'DIRECT/PO ' || OE_GLOBALS.G_ATTR_UPDATED_BY_DEF , 1 ) ;
11954: END IF;
11955: IF OE_GLOBALS.G_ATTR_UPDATED_BY_DEF = 'Y' THEN
11956:
11957:
11951: END IF;
11952: IF l_debug_level > 0 THEN
11953: oe_debug_pub.add( 'DIRECT/PO ' || OE_GLOBALS.G_ATTR_UPDATED_BY_DEF , 1 ) ;
11954: END IF;
11955: IF OE_GLOBALS.G_ATTR_UPDATED_BY_DEF = 'Y' THEN
11956:
11957:
11958: l_control_rec.controlled_operation := TRUE;
11959: l_control_rec.change_attributes := TRUE;
11975: l_line_tbl(1) := p_x_line_rec;
11976:
11977: -- We are doing this since we are calling the po from post write.
11978:
11979: l_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
11980:
11981: Call_Process_Order(p_x_old_line_tbl => l_old_line_tbl,
11982: p_x_line_tbl => l_line_tbl,
11983: p_control_rec => l_control_rec,
12042:
12043: -- Start 2806483
12044: IF (p_x_line_rec.shipping_method_code IS NOT NULL
12045: AND p_x_line_rec.shipping_method_code <> FND_API.G_MISS_CHAR)
12046: AND NOT OE_GLOBALS.EQUAL(p_x_line_rec.shipping_method_code
12047: ,p_old_line_rec.shipping_method_code)
12048: THEN
12049:
12050: p_x_line_rec.freight_carrier_code :=
12089: IF l_debug_level > 0 THEN
12090: oe_debug_pub.add( 'AFTER DOING DIRECT UPDATE' , 1 ) ;
12091: END IF;
12092:
12093: END IF; -- OE_GLOBALS.G_ATTR_UPDATED_BY_DEF.
12094: END IF; -- warehouse is changed.
12095:
12096: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12097: IF l_debug_level > 0 THEN
12111: l_line_tbl(1) := p_x_line_rec;
12112:
12113: -- We are doing this since we are calling the po from post write.
12114:
12115: l_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
12116:
12117:
12118: END IF;
12119:
12728: END IF;
12729:
12730:
12731:
12732: IF l_line_rec.item_type_code <> OE_GLOBALS.G_ITEM_CONFIG THEN
12733:
12734:
12735: IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
12736: AND MSC_ATP_GLOBAL.GET_APS_VERSION = 10
12753: IF l_ato_exists = 'Y' THEN
12754:
12755: l_request_search_rslt :=
12756: OE_Delayed_Requests_PVT.Check_For_Request
12757: (p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
12758: p_entity_id => l_line_rec.ato_line_id,
12759: p_request_type => OE_GLOBALS.G_SCHEDULE_ATO);
12760:
12761:
12755: l_request_search_rslt :=
12756: OE_Delayed_Requests_PVT.Check_For_Request
12757: (p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
12758: p_entity_id => l_line_rec.ato_line_id,
12759: p_request_type => OE_GLOBALS.G_SCHEDULE_ATO);
12760:
12761:
12762: IF l_request_search_rslt THEN
12763: Return;
12764: END IF;
12765:
12766: -- Log request.
12767: OE_Delayed_Requests_Pvt.Log_Request
12768: (p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
12769: p_entity_id => l_line_rec.ato_line_id,
12770: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
12771: p_requesting_entity_id => l_line_rec.line_id,
12772: p_request_type => OE_GLOBALS.G_SCHEDULE_ATO,
12766: -- Log request.
12767: OE_Delayed_Requests_Pvt.Log_Request
12768: (p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
12769: p_entity_id => l_line_rec.ato_line_id,
12770: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
12771: p_requesting_entity_id => l_line_rec.line_id,
12772: p_request_type => OE_GLOBALS.G_SCHEDULE_ATO,
12773: p_param1 => OE_Schedule_Util.OESCH_ACT_RESCHEDULE,
12774: p_param2 => l_line_rec.top_model_line_id,
12768: (p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
12769: p_entity_id => l_line_rec.ato_line_id,
12770: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
12771: p_requesting_entity_id => l_line_rec.line_id,
12772: p_request_type => OE_GLOBALS.G_SCHEDULE_ATO,
12773: p_param1 => OE_Schedule_Util.OESCH_ACT_RESCHEDULE,
12774: p_param2 => l_line_rec.top_model_line_id,
12775: p_param3 => l_line_rec.ship_from_org_id,
12776: p_param4 => l_line_rec.ship_to_org_id,
12797:
12798: ELSE -- Not an ato child
12799:
12800: -- Start 2691579
12801: l_line_rec.operation := OE_GLOBALS.G_OPR_DELETE;
12802: IF l_debug_level > 0 THEN
12803: oe_debug_pub.add( 'Operation '||l_line_rec.operation , 1 ) ;
12804: END IF;
12805: -- End 2691579
13374: x_return_status => x_return_status);
13375:
13376: FOR I in 1..p_x_line_tbl.count LOOP
13377:
13378: IF p_x_line_tbl(I).operation = OE_GLOBALS.G_OPR_UPDATE AND
13379: p_x_line_tbl(I).schedule_status_code is not null AND
13380: p_x_line_tbl(I).split_action_code = 'SPLIT' THEN
13381:
13382: IF l_debug_level > 0 THEN
13402: p_x_line_tbl(I).schedule_action_code := Null;
13403:
13404: -- Now let's schedule the new split lines.
13405: FOR J IN 1..p_x_line_tbl.count LOOP
13406: IF p_x_line_tbl(J).operation = OE_GLOBALS.G_OPR_CREATE AND
13407: p_x_line_tbl(J).split_from_line_id = p_x_line_tbl(I).line_id
13408: THEN
13409: oe_debug_pub.add('Split lines ship from: ' ||
13410: p_x_line_tbl(J).ship_from_org_id,1);
13503: -- transfer any reservations.
13504:
13505: -- Start 2346233 --
13506: IF l_reserved_quantity > 0 THEN
13507: IF NOT OE_GLOBALS.Equal(p_x_line_tbl(I).order_quantity_uom,
13508: l_rsv_tbl(1).primary_uom_code) THEN
13509: l_ordered_quantity :=
13510: INV_CONVERT.INV_UM_CONVERT( item_id => p_x_line_tbl(I).inventory_item_id,
13511: precision => 5,
13602: IF l_debug_level > 0 THEN
13603: oe_debug_pub.add( 'IN THE BEGINING OF THE LOOP J ' || J , 1 ) ;
13604: END IF;
13605: IF p_x_line_tbl(J).operation =
13606: OE_GLOBALS.G_OPR_CREATE AND
13607: p_x_line_tbl(J).split_from_line_id =
13608: p_x_line_tbl(I).line_id
13609: THEN
13610: continue_loop := FALSE;
13610: continue_loop := FALSE;
13611: l_rsv_qty := p_x_line_tbl(J).ordered_quantity;
13612: l_rsv_qty2 := p_x_line_tbl(J).ordered_quantity2; -- INVCONV
13613: ---- Start 2346233 ---
13614: IF NOT OE_GLOBALS.Equal(p_x_line_tbl(J).order_quantity_uom,
13615: l_rsv_rec.primary_uom_code) THEN
13616: l_rsv_qty_primary :=
13617: INV_CONVERT.INV_UM_CONVERT( item_id => p_x_line_tbl(J).inventory_item_id,
13618: precision => 5,
13761: END IF;
13762:
13763:
13764: IF p_x_line_tbl(J).operation =
13765: OE_GLOBALS.G_OPR_CREATE AND
13766: p_x_line_tbl(J).split_from_line_id =
13767: p_x_line_tbl(I).line_id
13768: THEN
13769: -- continue_loop := FALSE;
13974: I NUMBER;
13975: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
13976: l_msg_count NUMBER := 0;
13977: l_msg_data VARCHAR2(2000) := null;
13978: l_control_rec OE_GLOBALS.control_rec_type;
13979: l_line_tbl OE_ORDER_PUB.line_tbl_type;
13980: l_old_line_tbl OE_ORDER_PUB.line_tbl_type;
13981: l_file_val VARCHAR2(80);
13982: */
14041: l_line_rec.change_reason := 'SYSTEM';
14042: -- l_line_rec.change_comments := 'Scheduling Action';
14043: -- End Audit Trail
14044: l_line_rec.visible_demand_flag := 'Y';
14045: l_line_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
14046: l_line_tbl(I) := l_line_rec;
14047: END LOOP;
14048:
14049:
14097: -- Added the following code to fix the bug 3105070
14098:
14099: FOR I in 1..l_line_tbl.count LOOP
14100: IF l_line_tbl(I).source_document_type_id = 10 AND
14101: NOT OE_GLOBALS.EQUAL(l_line_tbl(I).schedule_arrival_date,
14102: l_old_line_tbl(I).schedule_arrival_date)
14103:
14104: THEN
14105: oe_debug_pub.add( 'PASSING SCHEDULE_ARRIVAL_DATE TO PO ' , 3 ) ;
14581: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
14582: END IF;
14583: -- Start 2346233
14584: -- l_qty_to_unreserve := p_quantity_to_unreserve;
14585: IF NOT OE_GLOBALS.Equal(p_line_rec.order_quantity_uom,l_rsv_tbl(1).primary_uom_code ) THEN
14586: l_qty_to_unreserve := INV_CONVERT.INV_UM_CONVERT( item_id => p_line_rec.inventory_item_id,
14587: precision => 5,
14588: from_quantity =>p_quantity_to_unreserve,
14589: from_unit =>p_line_rec.order_quantity_uom,
14598: gets updated, but reservation is still for the original UOM (non-primary). So unreservation in this case
14599: will be done using primary reservation quantity
14600: */
14601: IF l_rsv_tbl(1).primary_reservation_quantity > p_quantity_to_unreserve
14602: AND NOT oe_globals.equal(p_line_rec.order_quantity_uom,l_rsv_tbl(1).reservation_uom_code)
14603: THEN
14604: l_qty_to_unreserve := l_rsv_tbl(1).primary_reservation_quantity ;
14605: ELSE
14606: l_qty_to_unreserve := p_quantity_to_unreserve;
15644: IS
15645:
15646: l_line_tbl OE_ORDER_PUB.line_tbl_type;
15647: l_old_line_tbl OE_ORDER_PUB.line_tbl_type;
15648: l_control_rec OE_GLOBALS.control_rec_type;
15649: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
15650: --
15651: l_msg_count NUMBER;
15652: l_msg_data VARCHAR2(2000);
15671:
15672: FOR I IN 1..l_line_tbl.count LOOP
15673:
15674: l_line_tbl(I).shipping_method_code := p_request_rec.param3;
15675: l_line_tbl(I).operation := OE_GLOBALS.G_OPR_UPDATE;
15676:
15677: END LOOP;
15678:
15679: IF l_debug_level > 0 THEN
15915: l_line_tbl := OE_SCHEDULE_UTIL.OE_Delayed_Schedule_line_tbl;
15916: l_old_line_tbl := l_line_tbl;
15917: for j in 1..l_line_tbl.count LOOP
15918: oe_debug_pub.add( ' 6663462 : line_id '|| l_line_tbl(j).line_id );
15919: l_line_tbl(j).operation := OE_GLOBALS.G_OPR_UPDATE; --6715950
15920: end loop;
15921: oe_debug_pub.add( ' 6663462 : calling process group ' );
15922: IF l_line_tbl.count > 0 THEN
15923: