CW_PUBLIC_API_PROCESS_ORDER

The procedure CW_PUBLIC_API_PROCESS_ORDER calls the procedure DELETE_PROCESSED_RECORD:

Create Or Replace Procedure Cw_Public_API_Process_Order (pOrder_Number Number)
IS
p_api_version_number                NUMBER;
p_init_msg_list                     VARCHAR2(1000);
l_init_msg_list                     VARCHAR2(1000);
p_return_values                     VARCHAR2(1000);
l_return_values                     VARCHAR2(1000);
p_action_commit                     VARCHAR2(1000);
l_action_commit                     VARCHAR2(1000);
l_return_status                     VARCHAR2(1000);
l_msg_count                         NUMBER;
l_msg_data                          VARCHAR2(1000);
l_header_rec                        OE_ORDER_PUB.Header_Rec_Type;
l_old_header_rec                    OE_ORDER_PUB.Header_Rec_Type;
l_header_val_rec                    OE_ORDER_PUB.Header_Val_Rec_Type;
l_old_header_val_rec                OE_ORDER_PUB.Header_Val_Rec_Type;
l_Header_Adj_tbl                    OE_ORDER_PUB.Header_Adj_Tbl_Type;
l_old_Header_Adj_tbl                OE_ORDER_PUB.Header_Adj_Tbl_Type;
l_Header_Adj_val_tbl                OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
l_old_Header_Adj_val_tbl            OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
l_Header_price_Att_tbl              OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
l_old_Header_Price_Att_tbl          OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
l_Header_Adj_Att_tbl                OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
l_old_Header_Adj_Att_tbl            OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
l_Header_Adj_Assoc_tbl              OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
l_old_Header_Adj_Assoc_tbl          OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
l_Header_Scredit_tbl                OE_ORDER_PUB.Header_Scredit_Tbl_Type;
l_old_Header_Scredit_tbl            OE_ORDER_PUB.Header_Scredit_Tbl_Type;
l_Header_Scredit_val_tbl            OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
l_old_Header_Scredit_val_tbl        OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
l_line_tbl                          OE_ORDER_PUB.Line_Tbl_Type;
l_old_line_tbl                      OE_ORDER_PUB.Line_Tbl_Type;
l_line_val_tbl                      OE_ORDER_PUB.Line_Val_Tbl_Type;
l_old_line_val_tbl                  OE_ORDER_PUB.Line_Val_Tbl_Type;
l_Line_Adj_tbl                      OE_ORDER_PUB.Line_Adj_Tbl_Type;
l_old_Line_Adj_tbl                  OE_ORDER_PUB.Line_Adj_Tbl_Type;
l_Line_Adj_val_tbl                  OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
l_old_Line_Adj_val_tbl              OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
l_Line_price_Att_tbl                OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
l_old_Line_Price_Att_tbl            OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
l_Line_Adj_Att_tbl                  OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
l_old_Line_Adj_Att_tbl              OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
l_Line_Adj_Assoc_tbl                  OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
l_old_Line_Adj_Assoc_tbl              OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
l_Line_Scredit_tbl                  OE_ORDER_PUB.Line_Scredit_Tbl_Type;
l_old_Line_Scredit_tbl              OE_ORDER_PUB.Line_Scredit_Tbl_Type;
l_Line_Scredit_val_tbl              OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
l_old_Line_Scredit_val_tbl          OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
l_Lot_Serial_tbl                    OE_ORDER_PUB.Lot_Serial_Tbl_Type;
l_old_Lot_Serial_tbl                OE_ORDER_PUB.Lot_Serial_Tbl_Type;
l_Lot_Serial_val_tbl                OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
l_old_Lot_Serial_val_tbl            OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
l_action_request_tbl                  OE_ORDER_PUB.Request_Tbl_Type;
 
x_return_status                     VARCHAR2(1000);
x_msg_count                         NUMBER;
x_msg_data                          VARCHAR2(1000);
x_header_rec                        OE_ORDER_PUB.Header_Rec_Type;
x_header_val_rec                    OE_ORDER_PUB.Header_Val_Rec_Type;
x_Header_Adj_tbl                    OE_ORDER_PUB.Header_Adj_Tbl_Type;
x_Header_Adj_val_tbl                OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
x_Header_price_Att_tbl              OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
x_Header_Adj_Att_tbl                OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
x_Header_Adj_Assoc_tbl                OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
x_Header_Scredit_tbl                OE_ORDER_PUB.Header_Scredit_Tbl_Type;
x_Header_Scredit_val_tbl            OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
x_line_tbl                          OE_ORDER_PUB.Line_Tbl_Type;
x_line_val_tbl                      OE_ORDER_PUB.Line_Val_Tbl_Type;
x_Line_Adj_tbl                      OE_ORDER_PUB.Line_Adj_Tbl_Type;
x_Line_Adj_val_tbl                  OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
x_Line_price_Att_tbl                OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
x_Line_Adj_Att_tbl                  OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
x_Line_Adj_Assoc_tbl                  OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
x_Line_Scredit_tbl                  OE_ORDER_PUB.Line_Scredit_Tbl_Type;
x_Line_Scredit_val_tbl              OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
x_Lot_Serial_tbl                    OE_ORDER_PUB.Lot_Serial_Tbl_Type;
x_Lot_Serial_val_tbl                OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
x_action_request_tbl                  OE_ORDER_PUB.Request_Tbl_Type;
 
 
-- Sales Credit and Price Adjustments can be for Header as Well as Lines, 
-- When Line_Id is specified along with Header_Id 
-- the Record is For LINES other wise for HEADER.
 
--
--  User_ID Is required for giving call to Fnd_Global.apps_Initialize
--  But CW User for each customer can have different Userid
--  So Instead of Defining UserID, 
--  Define UserName Varchar2(30)
--  and a Select statement such as Select User_Id Into pUserId From Fnd_User Where 
--  Upper(UserName) = User_Name
--  Define pUserId aLocal Variable of Type Number and Use it 
--  In Fnd_Global.apps_Initialize Call.
--
 
Cursor    w_Oe_Order_Headers_All  Is
    Select    * 
    From     OE_HEADERS_IFACE_ALL
    Where     Orig_Sys_Document_Ref=pOrder_Number;
 
Cursor    w_Oe_Price_Adjustments  Is
    Select    * 
    From     OE_PRICE_ADJS_IFACE_ALL
    Where     Orig_Sys_Document_Ref=pOrder_Number;
 
Cursor    w_Oe_Sales_Credits  Is
    Select    * 
    From     OE_CREDITS_IFACE_ALL
    Where     Orig_Sys_Document_Ref=pOrder_Number;
 
Cursor    w_Oe_Order_Lines_All  Is
    Select    * 
    From     OE_LINES_IFACE_ALL
    Where     Orig_Sys_Document_Ref=pOrder_Number;
 
Cursor    w_Oe_Lot_Serial_Numbers  Is
    Select    * 
    From     OE_LOTSERIALS_IFACE_ALL
    Where     Orig_Sys_Document_Ref=pOrder_Number;
 
Cursor    w_Oe_Price_Adj_Attribs  Is
    Select    * 
     From     OE_PRICE_ATTS_IFACE_ALL
    Where     Orig_Sys_Document_Ref=pOrder_Number;
 
Cw_Oe_Order_Headers_All_Rec     w_Oe_Order_Headers_All%ROWTYPE;
Cw_Oe_Price_Adjustments_Rec     w_Oe_Price_Adjustments%ROWTYPE;
Cw_Oe_Sales_Credits_Rec     w_Oe_Sales_Credits%ROWTYPE;
Cw_Oe_Order_Lines_All_Rec     w_Oe_Order_Lines_All%ROWTYPE;
Cw_Oe_Lot_Serial_Numbers_Rec     w_Oe_Lot_Serial_Numbers%ROWTYPE;
Cw_Oe_Price_Adj_Attribs_Rec     w_Oe_Price_Adj_Attribs%ROWTYPE;
 
i     Number;
 
BEGIN
 
If w_Oe_Order_Headers_All%ISOPEN Then
    CLOSE w_Oe_Order_Headers_All;
        End If;
OPEN w_Oe_Order_Headers_All;
LOOP
    FETCH w_Oe_Order_Headers_All     INTO     Cw_Oe_Order_Headers_All_Rec;
    EXIT WHEN w_Oe_Order_Headers_All%NOTFOUND;
 
    l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC; 
 
    If Cw_Oe_Order_Headers_All_Rec.Accounting_Rule_Id Is Not Null Then
          l_header_rec.ACCOUNTING_RULE_ID 
                := Cw_Oe_Order_Headers_All_Rec.Accounting_Rule_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Agreement_Id Is Not Null Then
          l_header_rec.AGREEMENT_ID 
                := Cw_Oe_Order_Headers_All_Rec.Agreement_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CONTEXT Is Not Null Then
          l_header_rec.CONTEXT := Cw_Oe_Order_Headers_All_Rec.CONTEXT;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE1 Is Not Null Then
          l_header_rec.ATTRIBUTE1 := Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE1;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE2 Is Not Null Then
          l_header_rec.ATTRIBUTE2 := Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE2;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE3 Is Not Null Then
          l_header_rec.ATTRIBUTE3 := Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE3;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE4 Is Not Null Then
          l_header_rec.ATTRIBUTE4 := Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE4;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE5 Is Not Null Then
          l_header_rec.ATTRIBUTE5:= Cw_Oe_Order_Headers_All_Rec.ATTRIBUTE5;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CANCELLED_FLAG Is Not Null Then
             l_header_rec.CANCELLED_FLAG 
                := Cw_Oe_Order_Headers_All_Rec.CANCELLED_FLAG;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Conversion_Rate Is Not Null Then
          l_header_rec.CONVERSION_RATE 
                := Cw_Oe_Order_Headers_All_Rec.Conversion_Rate;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Conversion_Type_code Is Not NUll Then
          l_header_rec.CONVERSION_TYPE_CODE
                := Cw_Oe_Order_Headers_All_Rec.Conversion_Type_code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Conversion_Rate_Date Is Not Null Then
          l_header_rec.CONVERSION_RATE_DATE 
                := Cw_Oe_Order_Headers_All_Rec.Conversion_Rate_Date;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CREATION_DATE Is Not Null Then
          l_header_rec.CREATION_DATE 
                := Cw_Oe_Order_Headers_All_Rec.CREATION_DATE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CREATED_BY Is Not Null Then
         l_header_rec.CREATED_BY := Cw_Oe_Order_Headers_All_Rec.CREATED_BY;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Customer_Po_Number Is Not Null Then
          l_header_rec.CUST_PO_NUMBER 
          := Cw_Oe_Order_Headers_All_Rec.Customer_Po_Number;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.DELIVER_TO_CONTACT_ID Is Not Null Then
          l_header_rec.DELIVER_TO_CONTACT_ID
         := Cw_Oe_Order_Headers_All_Rec.DELIVER_TO_CONTACT_ID;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Deliver_To_Org_Id Is Not Null Then
          l_header_rec.DELIVER_TO_ORG_ID 
          := Cw_Oe_Order_Headers_All_Rec.Deliver_To_Org_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Demand_class_code Is Not Null Then
          l_header_rec.DEMAND_CLASS_CODE 
          := Cw_Oe_Order_Headers_All_Rec.Demand_class_code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.earliest_SCHEDULE_LIMIT Is Not Null Then
          l_header_rec.earliest_SCHEDULE_LIMIT 
        := Cw_Oe_Order_Headers_All_Rec.earliest_SCHEDULE_LIMIT;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Fob_Point_Code Is Not Null Then
          l_header_rec.FOB_POINT_CODE 
         := Cw_Oe_Order_Headers_All_Rec.Fob_Point_Code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Freight_Terms_Code Is Not Null Then
          l_header_rec.FREIGHT_TERMS_CODE 
         := Cw_Oe_Order_Headers_All_Rec.Freight_Terms_Code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Header_Id Is Not Null Then
        l_header_rec.Header_ID := Cw_Oe_Order_Headers_All_Rec.Header_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Invoice_To_Contact_Id Is Not Null Then
         l_header_rec.INVOICE_TO_CONTACT_ID 
         := Cw_Oe_Order_Headers_All_Rec.Invoice_To_Contact_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Invoice_To_Org_Id Is Not Null Then
        l_header_rec.INVOICE_TO_ORG_ID 
        := Cw_Oe_Order_Headers_All_Rec.Invoice_To_Org_Id;
        End If;
    If Cw_Oe_Order_Headers_All_Rec.Invoicing_Rule_Id Is Not Null Then
        l_header_rec.INVOICING_RULE_ID 
            := Cw_Oe_Order_Headers_All_Rec.Invoicing_Rule_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.LAST_UPDATE_DATE Is Not Null Then
          l_header_rec.LAST_UPDATE_DATE 
           := Cw_Oe_Order_Headers_All_Rec.LAST_UPDATE_DATE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.LAST_UPDATED_BY Is Not Null Then
          l_header_rec.LAST_UPDATED_BY 
          := Cw_Oe_Order_Headers_All_Rec.LAST_UPDATED_BY;
        End If;
    If Cw_Oe_Order_Headers_All_Rec.LAST_UPDATE_LOGIN Is Not Null Then
          l_header_rec.LAST_UPDATE_LOGIN 
          := Cw_Oe_Order_Headers_All_Rec.LAST_UPDATE_LOGIN;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.LATEST_SCHEDULE_LIMIT Is Not Null Then
          l_header_rec.LATEST_SCHEDULE_LIMIT 
         := Cw_Oe_Order_Headers_All_Rec.LATEST_SCHEDULE_LIMIT;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Ordered_Date Is Not Null Then
        l_header_rec.ORDERED_DATE := Cw_Oe_Order_Headers_All_Rec.Ordered_Date;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.ORDER_DATE_TYPE_CODE Is Not Null Then
        l_header_rec.ORDER_DATE_TYPE_CODE
            := Cw_Oe_Order_Headers_All_Rec.ORDER_DATE_TYPE_CODE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Order_Number Is Not Null Then
        l_header_rec.ORDER_NUMBER := Cw_Oe_Order_Headers_All_Rec.Order_Number;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Order_Type_Id Is Not Null Then
        l_header_rec.ORDER_TYPE_ID := Cw_Oe_Order_Headers_All_Rec.Order_Type_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Order_Source_Id Is Not Null Then
        l_header_rec.ORDER_SOURCE_ID := Cw_Oe_Order_Headers_All_Rec.Order_Source_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Orig_Sys_Document_Ref Is Not Null Then
        l_header_rec.ORIG_SYS_DOCUMENT_REF
               := Cw_Oe_Order_Headers_All_Rec.Orig_Sys_Document_Ref;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Payment_Term_Id Is Not Null Then
        l_header_rec.PAYMENT_TERM_ID := Cw_Oe_Order_Headers_All_Rec.Payment_Term_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Price_List_Id Is Not Null Then
         l_header_rec.PRICE_LIST_ID := Cw_Oe_Order_Headers_All_Rec.Price_List_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Ordered_Date Is Not Null Then
        l_header_rec.PRICING_DATE := Cw_Oe_Order_Headers_All_Rec.Ordered_Date;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.PROGRAM_APPLICATION_ID Is Not Null Then
        l_header_rec.PROGRAM_APPLICATION_ID 
            := Cw_Oe_Order_Headers_All_Rec.PROGRAM_APPLICATION_ID;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.PROGRAM_ID Is Not Null Then
        l_header_rec.PROGRAM_ID := Cw_Oe_Order_Headers_All_Rec.PROGRAM_ID;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.PROGRAM_UPDATE_DATE Is Not Null Then
        l_header_rec.PROGRAM_UPDATE_DATE
            := Cw_Oe_Order_Headers_All_Rec.PROGRAM_UPDATE_DATE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.REQUEST_ID IS Not Null Then
        l_header_rec.REQUEST_ID := Cw_Oe_Order_Headers_All_Rec.REQUEST_ID;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.REQUEST_DATE IS Not Null Then
          l_header_rec.REQUEST_DATE := Cw_Oe_Order_Headers_All_Rec.REQUEST_DATE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.SALESREP_ID Is Not Null Then
          l_header_rec.SALESREP_ID := Cw_Oe_Order_Headers_All_Rec.SALESREP_ID;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.SALES_CHANNEL_CODE Is Not Null Then
         l_header_rec.SALES_CHANNEL_CODE 
             := Cw_Oe_Order_Headers_All_Rec.SALES_CHANNEL_CODE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Shipment_Priority_Code Is Not Null Then
        l_header_rec.SHIPMENT_PRIORITY_CODE 
            := Cw_Oe_Order_Headers_All_Rec.Shipment_Priority_Code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Shipping_Method_Code Is Not Null Then
        l_header_rec.SHIPPING_METHOD_CODE 
            := Cw_Oe_Order_Headers_All_Rec.Shipping_Method_Code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Sold_To_Org_Id Is Not Null Then
        l_header_rec.SOLD_TO_ORG_ID := Cw_Oe_Order_Headers_All_Rec.Sold_To_Org_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Tax_Exempt_Flag Is Not Null Then
        l_header_rec.TAX_EXEMPT_FLAG 
            := Cw_Oe_Order_Headers_All_Rec.Tax_Exempt_Flag;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Tax_Exempt_Number Is Not Null Then
        l_header_rec.TAX_EXEMPT_NUMBER 
               := Cw_Oe_Order_Headers_All_Rec.Tax_Exempt_Number;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Tax_Exempt_Reason_Code Is Not Null Then
        l_header_rec.TAX_EXEMPT_REASON_CODE
            := Cw_Oe_Order_Headers_All_Rec.Tax_Exempt_Reason_Code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Transactional_Curr_Code Is Not Null Then
        l_header_rec.TRANSACTIONAL_CURR_CODE 
               := Cw_Oe_Order_Headers_All_Rec.Transactional_Curr_Code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Operation_Code Is Not Null Then
          l_header_rec.Operation   := Cw_Oe_Order_Headers_All_Rec.Operation_Code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.PAYMENT_TYPE_CODE Is Not Null Then
        l_header_rec.PAYMENT_TYPE_CODE
              := Cw_Oe_Order_Headers_All_Rec.PAYMENT_TYPE_CODE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.PAYMENT_AMOUNT Is Not Null Then
          l_header_rec.PAYMENT_AMOUNT 
              := Cw_Oe_Order_Headers_All_Rec.PAYMENT_AMOUNT;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CHECK_NUMBER Is Not Null Then
        l_header_rec.CHECK_NUMBER := Cw_Oe_Order_Headers_All_Rec.CHECK_NUMBER;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CREDIT_CARD_CODE Is Not Null Then
        l_header_rec.CREDIT_CARD_CODE 
               := Cw_Oe_Order_Headers_All_Rec.CREDIT_CARD_CODE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CREDIT_CARD_HOLDER_NAME Is Not Null Then
        l_header_rec.CREDIT_CARD_HOLDER_NAME 
            := Cw_Oe_Order_Headers_All_Rec.CREDIT_CARD_HOLDER_NAME;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CREDIT_CARD_NUMBER Is Not Null Then
         l_header_rec.CREDIT_CARD_NUMBER 
             := Cw_Oe_Order_Headers_All_Rec.CREDIT_CARD_NUMBER;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CREDIT_CARD_EXPIRATION_DATE Is Not Null Then
        l_header_rec.CREDIT_CARD_EXPIRATION_DATE 
            := Cw_Oe_Order_Headers_All_Rec.CREDIT_CARD_EXPIRATION_DATE;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.CUSTOMER_PAYMENT_TERM_ID Is Not Null Then
        l_header_rec.CUSTOMER_PAYMENT_TERM_ID
             := Cw_Oe_Order_Headers_All_Rec.CUSTOMER_PAYMENT_TERM_ID;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.SHIPPING_INSTRUCTIONS Is Not Null Then
        l_header_rec.SHIPPING_INSTRUCTIONS
               := Cw_Oe_Order_Headers_All_Rec.SHIPPING_INSTRUCTIONS;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.PACKING_INSTRUCTIONS Is Not Null Then
        l_header_rec.PACKING_INSTRUCTIONS 
            := Cw_Oe_Order_Headers_All_Rec.PACKING_INSTRUCTIONS;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Ship_Tolerance_above Is Not Null Then
        l_header_rec.SHIP_TOLERANCE_ABOVE
            := Cw_Oe_Order_Headers_All_Rec.Ship_Tolerance_above;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Ship_Tolerance_Below Is Not Null Then
        l_header_rec.SHIP_TOLERANCE_BELOW 
            := Cw_Oe_Order_Headers_All_Rec.Ship_Tolerance_Below;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Tax_Point_Code Is Not Null Then
        l_header_rec.TAX_POINT_CODE
            := Cw_Oe_Order_Headers_All_Rec.Tax_Point_Code;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Sold_From_Org_Id Is Not Null Then
        l_header_rec.SOLD_FROM_ORG_ID 
            := Cw_Oe_Order_Headers_All_Rec.Sold_From_Org_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Ship_From_Org_Id Is Not Null Then
        l_header_rec.SHIP_FROM_ORG_ID
            := Cw_Oe_Order_Headers_All_Rec.Ship_From_Org_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Ship_To_Org_Id Is Not Null Then
        l_header_rec.SHIP_TO_ORG_ID 
            := Cw_Oe_Order_Headers_All_Rec.Ship_To_Org_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Sold_To_Contact_Id Is Not Null Then
         l_header_rec.SOLD_TO_CONTACT_ID 
            := Cw_Oe_Order_Headers_All_Rec.Sold_To_Contact_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.Ship_To_Contact_Id Is Not Null Then
        l_header_rec.SHIP_TO_CONTACT_ID 
            := Cw_Oe_Order_Headers_All_Rec.Ship_To_Contact_Id;
    End If;
    If Cw_Oe_Order_Headers_All_Rec.RETURN_REASON_CODE Is Not Null Then
        l_header_rec.RETURN_REASON_CODE
            := Cw_Oe_Order_Headers_All_Rec.RETURN_REASON_CODE;
    End If;
 
    END Loop;
    CLOSE w_Oe_Order_Headers_All;
 
    --     Order Header Adjustment
 
    If w_Oe_Price_Adjustments%ISOPEN Then
        CLOSE     w_Oe_Price_Adjustments;
    End if;
        OPEN     w_Oe_Price_Adjustments;
        i := 1;
        LOOP
        FETCH w_Oe_Price_Adjustments    INTO     Cw_Oe_Price_Adjustments_Rec;
        EXIT WHEN w_Oe_Price_Adjustments%NOTFOUND;
        If Cw_Oe_Price_Adjustments_Rec.Orig_Sys_Document_Ref Is NULL Then
            l_header_adj_tbl(i) := OE_ORDER_PUB.G_MISS_HEADER_ADJ_REC;
 
        If Cw_Oe_Price_Adjustments_Rec.Operation_Code = 'UPDATE' or 
           Cw_Oe_Price_Adjustments_Rec.Operation_Code = 'DELETE'  Then
                l_header_adj_tbl(i).Price_Adjustment_ID 
                  := Cw_Oe_Price_Adjustments_Rec.Orig_Sys_Discount_Ref;
        End If;
 
        If Cw_Oe_Price_Adjustments_Rec.PROGRAM_APPLICATION_ID Is Not Null Then
            l_header_adj_tbl(i).PROGRAM_APPLICATION_ID 
                := Cw_Oe_Price_Adjustments_Rec.PROGRAM_APPLICATION_ID;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Program_Id Is Not Null Then
             l_header_adj_tbl(i).PROGRAM_ID 
                  := Cw_Oe_Price_Adjustments_Rec.Program_Id;
                End If;
        If Cw_Oe_Price_Adjustments_Rec.Program_Update_Date Is Not Null Then
              l_header_adj_tbl(i).PROGRAM_UPDATE_DATE
                  := Cw_Oe_Price_Adjustments_Rec.Program_Update_Date;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Request_Id Is Not Null Then
              l_header_adj_tbl(i).REQUEST_ID
                   := Cw_Oe_Price_Adjustments_Rec.Request_Id;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Automatic_Flag Is Not Null Then
              l_header_adj_tbl(i).AUTOMATIC_FLAG 
                       := Cw_Oe_Price_Adjustments_Rec.Automatic_Flag;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Percent Is Not Null Then
              l_header_adj_tbl(i).PERCENT 
                     := Cw_Oe_Price_Adjustments_Rec.Percent;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Context Is Not Null Then
              l_header_adj_tbl(i).CONTEXT 
                     := Cw_Oe_Price_Adjustments_Rec.Context;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute1 Is Not Null Then
              l_header_adj_tbl(i).ATTRIBUTE1 
            := Cw_Oe_Price_Adjustments_Rec.Attribute1;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute2 Is Not Null Then
              l_header_adj_tbl(i).ATTRIBUTE2 
            := Cw_Oe_Price_Adjustments_Rec.Attribute2 ; 
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute3 Is Not Null Then
              l_header_adj_tbl(i).ATTRIBUTE3 
            := Cw_Oe_Price_Adjustments_Rec.Attribute3;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute4 Is Not Null Then
              l_header_adj_tbl(i).ATTRIBUTE4 
            := Cw_Oe_Price_Adjustments_Rec.Attribute4 ; 
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute5 Is Not Null Then
              l_header_adj_tbl(i).ATTRIBUTE5 
            := Cw_Oe_Price_Adjustments_Rec.Attribute5;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.ORIG_SYS_DISCOUNT_REF Is Not Null Then
              l_header_adj_tbl(i).ORIG_SYS_DISCOUNT_REF 
                     := Cw_Oe_Price_Adjustments_Rec.ORIG_SYS_DISCOUNT_REF;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LIST_HEADER_ID Is Not Null Then
              l_header_adj_tbl(i).LIST_HEADER_ID 
                    := Cw_Oe_Price_Adjustments_Rec.LIST_HEADER_ID;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LIST_LINE_ID Is Not Null Then
              l_header_adj_tbl(i).LIST_LINE_ID 
                       := Cw_Oe_Price_Adjustments_Rec.LIST_LINE_ID;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.CHANGE_REASON_CODE Is Not Null Then
            l_header_adj_tbl(i).CHANGE_REASON_CODE 
                := Cw_Oe_Price_Adjustments_Rec.CHANGE_REASON_CODE;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.CHANGE_REASON_TEXT Is Not Null Then
             l_header_adj_tbl(i).CHANGE_REASON_TEXT 
                  := Cw_Oe_Price_Adjustments_Rec.CHANGE_REASON_TEXT;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.OPERAND Is Not Null Then
              l_header_adj_tbl(i).OPERAND
                  := Cw_Oe_Price_Adjustments_Rec.OPERAND;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.CREATION_DATE Is Not Null Then
              l_header_adj_tbl(i).CREATION_DATE 
                    := Cw_Oe_Price_Adjustments_Rec.CREATION_DATE;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.CREATED_BY Is Not Null Then
              l_header_adj_tbl(i).CREATED_BY 
                     := Cw_Oe_Price_Adjustments_Rec.CREATED_BY;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LAST_UPDATE_DATE Is Not Null Then
              l_header_adj_tbl(i).LAST_UPDATE_DATE 
                    := Cw_Oe_Price_Adjustments_Rec.LAST_UPDATE_DATE;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LAST_UPDATED_BY Is not Null Then
              l_header_adj_tbl(i).LAST_UPDATED_BY 
                     := Cw_Oe_Price_Adjustments_Rec.LAST_UPDATED_BY;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LAST_UPDATE_LOGIN Is Not Null Then
              l_header_adj_tbl(i).LAST_UPDATE_LOGIN 
                    := Cw_Oe_Price_Adjustments_Rec.LAST_UPDATE_LOGIN;
        End If;
 
        End If;
            i := i + 1;
        End Loop;
        CLOSE     w_Oe_Price_Adjustments;
 
    --    Order Header Sales Credits
        If w_Oe_Sales_Credits%ISOPEN Then
            CLOSE     w_Oe_Sales_Credits;
        End If;
        OPEN     w_Oe_Sales_Credits;
        i := 1;
        LOOP
        FETCH w_Oe_Sales_Credits    INTO     Cw_Oe_Sales_Credits_Rec;
        EXIT WHEN w_Oe_Sales_Credits%NOTFOUND;
        If Cw_Oe_Sales_Credits_Rec.Orig_Sys_Line_Ref Is NULL Then
            l_Header_Scredit_tbl(i) := OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_REC;
 
        If Cw_Oe_Sales_Credits_Rec.SALESREP_ID Is Not Null Then
              l_Header_Scredit_tbl(i).SALESREP_ID 
                    := Cw_Oe_Sales_Credits_Rec.SALESREP_ID;
        End If;
        If Cw_Oe_Sales_Credits_Rec.PERCENT Is Not Null Then
              l_Header_Scredit_tbl(i).PERCENT
                    := Cw_Oe_Sales_Credits_Rec.PERCENT;
        End If;
        If Cw_Oe_Sales_Credits_Rec.Orig_Sys_Credit_Ref Is Not Null and 
        Cw_Oe_Sales_Credits_Rec.Operation_Code != 'CREATE' Then
              l_Header_Scredit_tbl(i).Sales_Credit_ID 
                     := Cw_Oe_Sales_Credits_Rec.Orig_Sys_Credit_Ref;
        End If;
        If Cw_Oe_Sales_Credits_Rec.CONTEXT Is Not Null Then
              l_Header_Scredit_tbl(i).CONTEXT 
                    := Cw_Oe_Sales_Credits_Rec.CONTEXT;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE1 Is Not Null Then
              l_Header_Scredit_tbl(i).ATTRIBUTE1 
                    := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE1;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE2 Is Not Null Then
              l_Header_Scredit_tbl(i).ATTRIBUTE2 
                    := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE2;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE3 Is Not Null Then
              l_Header_Scredit_tbl(i).ATTRIBUTE3 
                    := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE3;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE4 Is Not Null Then
              l_Header_Scredit_tbl(i).ATTRIBUTE4 
                     := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE4;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE5 Is Not Null Then
              l_Header_Scredit_tbl(i).ATTRIBUTE5 
                    := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE5;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ORIG_SYS_CREDIT_REF Is Not Null Then
              l_Header_Scredit_tbl(i).ORIG_SYS_CREDIT_REF
                     := Cw_Oe_Sales_Credits_Rec.ORIG_SYS_CREDIT_REF;
        End If;
        If Cw_Oe_Sales_Credits_Rec.SALES_CREDIT_TYPE_ID Is Not Null Then
              l_Header_Scredit_tbl(i).SALES_CREDIT_TYPE_ID 
                    := Cw_Oe_Sales_Credits_Rec.SALES_CREDIT_TYPE_ID;
        End If;
        If Cw_Oe_Sales_Credits_Rec.CREATION_DATE Is Not Null Then
              l_Header_Scredit_tbl(i).CREATION_DATE 
                    := Cw_Oe_Sales_Credits_Rec.CREATION_DATE;
        End If;
        If Cw_Oe_Sales_Credits_Rec.CREATED_BY Is Not Null Then
              l_Header_Scredit_tbl(i).CREATED_BY 
                     := Cw_Oe_Sales_Credits_Rec.CREATED_BY;
        End If;
        If Cw_Oe_Sales_Credits_Rec.LAST_UPDATE_DATE Is Not Null Then
              l_Header_Scredit_tbl(i).LAST_UPDATE_DATE 
                     := Cw_Oe_Sales_Credits_Rec.LAST_UPDATE_DATE;
        End If;
        If Cw_Oe_Sales_Credits_Rec.LAST_UPDATED_BY Is Not Null Then
              l_Header_Scredit_tbl(i).LAST_UPDATED_BY 
                       := Cw_Oe_Sales_Credits_Rec.LAST_UPDATED_BY;
        End If;
        If Cw_Oe_Sales_Credits_Rec.LAST_UPDATE_LOGIN Is Not Null Then
              l_Header_Scredit_tbl(i).LAST_UPDATE_LOGIN 
                    := Cw_Oe_Sales_Credits_Rec.LAST_UPDATE_LOGIN;
        End If;
        End If;
        i := i + 1;
        End Loop;
        CLOSE     w_Oe_Sales_Credits;
 
 
    --     Order Header Attributes
        If w_Oe_Price_Adj_Attribs%ISOPEN Then
            CLOSE     w_Oe_Price_Adj_Attribs;
        End If;
        OPEN     w_Oe_Price_Adj_Attribs;
        i := 1;
        LOOP
        FETCH w_Oe_Price_Adj_Attribs    INTO     Cw_Oe_Price_Adj_Attribs_Rec;
        EXIT WHEN w_Oe_Price_Adj_Attribs%NOTFOUND;
        If Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref Is Null Then
            l_Line_Price_Att_tbl(i) := OE_ORDER_PUB.G_MISS_LINE_PRICE_ATT_REC;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_CONTEXT Is Not Null Then
                l_Line_Price_Att_tbl(i).PRICING_CONTEXT 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_CONTEXT;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE1 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE1 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE1;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE2 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE2 
                     := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE2;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE3 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE3 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE3;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE4 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE4
                     := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE4;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE5 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE5 
                      := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE5;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_APPLICATION_ID Is Not Null Then
              l_Line_Price_Att_tbl(i).PROGRAM_APPLICATION_ID 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_APPLICATION_ID;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_ID Is Not Null Then
              l_Line_Price_Att_tbl(i).PROGRAM_ID 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_ID;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_UPDATE_DATE Is Not Null Then
              l_Line_Price_Att_tbl(i).PROGRAM_UPDATE_DATE 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_UPDATE_DATE;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.REQUEST_ID Is Not Null Then
              l_Line_Price_Att_tbl(i).REQUEST_ID 
                    := Cw_Oe_Price_Adj_Attribs_Rec.REQUEST_ID;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.FLEX_TITLE Is Not Null Then
              l_Line_Price_Att_tbl(i).FLEX_TITLE 
                    := Cw_Oe_Price_Adj_Attribs_Rec.FLEX_TITLE;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.CREATION_DATE Is Not Null Then
              l_Line_Price_Att_tbl(i).CREATION_DATE 
                     := Cw_Oe_Price_Adj_Attribs_Rec.CREATION_DATE;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.CREATED_BY Is Not Null Then
              l_Line_Price_Att_tbl(i).CREATED_BY 
                     := Cw_Oe_Price_Adj_Attribs_Rec.CREATED_BY;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATE_DATE Is Not Null Then
              l_Line_Price_Att_tbl(i).LAST_UPDATE_DATE
                    := Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATE_DATE;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATED_BY Is Not Null Then
              l_Line_Price_Att_tbl(i).LAST_UPDATED_BY 
                    := Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATED_BY;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATE_LOGIN Is Not Null Then
              l_Line_Price_Att_tbl(i).LAST_UPDATE_LOGIN 
                       := Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATE_LOGIN;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.Operation_Code= 'UPDATE' Or
           Cw_Oe_Price_Adj_Attribs_Rec.Operation_Code= 'DELETE' Then 
        If Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref Is Not Null Then
              l_Line_Price_Att_tbl(i).Order_Price_Attrib_ID 
                    := Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref;
        End if;
        End If;
        If Cw_Oe_Price_Adj_Attribs_Rec.Operation_Code= 'CREATE' Then 
            If Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref Is Not Null Then
                  l_Line_Price_Att_tbl(i).Line_Index 
                         := Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref;
                End if;
            End If;
                End If;
        i := i + 1;
        End Loop;
        CLOSE     w_Oe_Price_Adj_Attribs;
 
    --    Order Line Details
        If w_Oe_Order_Lines_All%ISOPEN Then
            CLOSE     w_Oe_Order_Lines_All;
        End If;
        OPEN     w_Oe_Order_Lines_All;
        i := 1;
        LOOP
        FETCH w_Oe_Order_Lines_All    INTO     Cw_Oe_Order_Lines_All_Rec;
        EXIT WHEN w_Oe_Order_Lines_All%NOTFOUND;
            l_line_tbl(i) := OE_ORDER_PUB.G_MISS_LINE_REC;
 
            If Cw_Oe_Order_Lines_All_Rec.LINE_ID Is Not Null Then
              l_line_tbl(i).LINE_ID 
                      := Cw_Oe_Order_Lines_All_Rec.LINE_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.LINE_TYPE_ID Is Not NUll Then
              l_line_tbl(i).LINE_TYPE_ID 
                      := Cw_Oe_Order_Lines_All_Rec.LINE_TYPE_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.LINE_NUMBER Is Not Null Then
              l_line_tbl(i).LINE_NUMBER 
                    := Cw_Oe_Order_Lines_All_Rec.LINE_NUMBER;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.REQUEST_DATE Is Not Null Then 
              l_line_tbl(i).REQUEST_DATE 
                    := Cw_Oe_Order_Lines_All_Rec.REQUEST_DATE;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.PROMISE_DATE Is Not Null Then
              l_line_tbl(i).PROMISE_DATE 
                     := Cw_Oe_Order_Lines_All_Rec.PROMISE_DATE;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.SCHEDULE_SHIP_DATE Is Not Null Then
              l_line_tbl(i).SCHEDULE_SHIP_DATE 
                       := Cw_Oe_Order_Lines_All_Rec.SCHEDULE_SHIP_DATE;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.ORDER_QUANTITY_UOM Is Not NUll Then
              l_line_tbl(i).ORDER_QUANTITY_UOM 
                       := Cw_Oe_Order_Lines_All_Rec.ORDER_QUANTITY_UOM;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.ORDERED_QUANTITY Is Not Null Then
              l_line_tbl(i).ORDERED_QUANTITY 
                    := Cw_Oe_Order_Lines_All_Rec.ORDERED_QUANTITY;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.DELIVERY_LEAD_TIME Is Not Null Then
              l_line_tbl(i).DELIVERY_LEAD_TIME 
                    := Cw_Oe_Order_Lines_All_Rec.DELIVERY_LEAD_TIME;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.TAX_EXEMPT_FLAG Is Not Null Then
              l_line_tbl(i).TAX_EXEMPT_FLAG 
                  := Cw_Oe_Order_Lines_All_Rec.TAX_EXEMPT_FLAG;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.TAX_EXEMPT_NUMBER Is Not Null Then
              l_line_tbl(i).TAX_EXEMPT_NUMBER 
                      := Cw_Oe_Order_Lines_All_Rec.TAX_EXEMPT_NUMBER;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.TAX_EXEMPT_REASON_CODE Is Not Null Then 
              l_line_tbl(i).TAX_EXEMPT_REASON_CODE 
                       := Cw_Oe_Order_Lines_All_Rec.TAX_EXEMPT_REASON_CODE;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.SHIP_FROM_ORG_ID Is Not Null Then
              l_line_tbl(i).SHIP_FROM_ORG_ID 
                    := Cw_Oe_Order_Lines_All_Rec.SHIP_FROM_ORG_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.SHIP_TO_ORG_ID Is Not Null Then
              l_line_tbl(i).SHIP_TO_ORG_ID 
                    := Cw_Oe_Order_Lines_All_Rec.SHIP_TO_ORG_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.INVOICE_TO_ORG_ID Is Not Null Then
              l_line_tbl(i).INVOICE_TO_ORG_ID 
                    := Cw_Oe_Order_Lines_All_Rec.INVOICE_TO_ORG_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.DELIVER_TO_ORG_ID Is Not Null Then
              l_line_tbl(i).DELIVER_TO_ORG_ID 
                    := Cw_Oe_Order_Lines_All_Rec.DELIVER_TO_ORG_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.SHIP_TO_CONTACT_ID Is Not Null Then
              l_line_tbl(i).SHIP_TO_CONTACT_ID 
                    := Cw_Oe_Order_Lines_All_Rec.SHIP_TO_CONTACT_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.DELIVER_TO_CONTACT_ID Is Not Null then
              l_line_tbl(i).DELIVER_TO_CONTACT_ID 
                       := Cw_Oe_Order_Lines_All_Rec.DELIVER_TO_CONTACT_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.INVOICE_TO_CONTACT_ID Is Not Null Then
              l_line_tbl(i).INVOICE_TO_CONTACT_ID 
                       := Cw_Oe_Order_Lines_All_Rec.INVOICE_TO_CONTACT_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.SOLD_FROM_ORG_ID Is Not Null then
              l_line_tbl(i).SOLD_FROM_ORG_ID 
                    := Cw_Oe_Order_Lines_All_Rec.SOLD_FROM_ORG_ID;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.SOLD_TO_ORG_ID Is Not Null Then
              l_line_tbl(i).SOLD_TO_ORG_ID 
                    := Cw_Oe_Order_Lines_All_Rec.SOLD_TO_ORG_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CUSTOMER_PO_NUMBER Is Not Null Then
              l_line_tbl(i).CUST_PO_NUMBER 
                    := Cw_Oe_Order_Lines_All_Rec.CUSTOMER_PO_NUMBER;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SHIP_TOLERANCE_ABOVE Is Not Null Then
              l_line_tbl(i).SHIP_TOLERANCE_ABOVE 
                    := Cw_Oe_Order_Lines_All_Rec.SHIP_TOLERANCE_ABOVE;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.SHIP_TOLERANCE_BELOW Is Not Null Then
              l_line_tbl(i).SHIP_TOLERANCE_BELOW 
                    := Cw_Oe_Order_Lines_All_Rec.SHIP_TOLERANCE_BELOW;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.DEMAND_BUCKET_TYPE_CODE Is Not Null Then
              l_line_tbl(i).DEMAND_BUCKET_TYPE_CODE 
                    := Cw_Oe_Order_Lines_All_Rec.DEMAND_BUCKET_TYPE_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.VEH_CUS_ITEM_CUM_KEY_ID Is Not Null Then
              l_line_tbl(i).VEH_CUS_ITEM_CUM_KEY_ID 
                    := Cw_Oe_Order_Lines_All_Rec.VEH_CUS_ITEM_CUM_KEY_ID;
            End If;
        If Cw_Oe_Order_Lines_All_Rec.CUSTOMER_DOCK_CODE Is Not Null Then
              l_line_tbl(i).CUSTOMER_DOCK_CODE 
                    := Cw_Oe_Order_Lines_All_Rec.CUSTOMER_DOCK_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CUSTOMER_JOB Is Not Null Then
              l_line_tbl(i).CUSTOMER_JOB 
                    := Cw_Oe_Order_Lines_All_Rec.CUSTOMER_JOB;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CUSTOMER_PRODUCTION_LINE Is Not Null Then
              l_line_tbl(i).CUSTOMER_PRODUCTION_LINE 
                    := Cw_Oe_Order_Lines_All_Rec.CUSTOMER_PRODUCTION_LINE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CUST_MODEL_SERIAL_NUMBER Is Not Null Then
              l_line_tbl(i).CUST_MODEL_SERIAL_NUMBER 
                    := Cw_Oe_Order_Lines_All_Rec.CUST_MODEL_SERIAL_NUMBER;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PROJECT_ID Is Not Null Then
              l_line_tbl(i).PROJECT_ID 
                      := Cw_Oe_Order_Lines_All_Rec.PROJECT_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TASK_ID Is Not Null Then
              l_line_tbl(i).TASK_ID 
                    := Cw_Oe_Order_Lines_All_Rec.TASK_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.INVENTORY_ITEM_ID Is Not Null Then
              l_line_tbl(i).INVENTORY_ITEM_ID 
                    := Cw_Oe_Order_Lines_All_Rec.INVENTORY_ITEM_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TAX_DATE Is Not Null Then
              l_line_tbl(i).TAX_DATE 
                       := Cw_Oe_Order_Lines_All_Rec.TAX_DATE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TAX_CODE Is Not Null Then
              l_line_tbl(i).TAX_CODE 
                        := Cw_Oe_Order_Lines_All_Rec.TAX_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.DEMAND_CLASS_CODE Is Not Null Then
              l_line_tbl(i).DEMAND_CLASS_CODE 
                       := Cw_Oe_Order_Lines_All_Rec.DEMAND_CLASS_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PRICE_LIST_ID Is Not Null Then
              l_line_tbl(i).PRICE_LIST_ID 
                    := Cw_Oe_Order_Lines_All_Rec.PRICE_LIST_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PRICING_DATE Is Not Null Then
              l_line_tbl(i).PRICING_DATE 
                    := Cw_Oe_Order_Lines_All_Rec.PRICING_DATE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.AGREEMENT_ID Is Not Null Then
              l_line_tbl(i).AGREEMENT_ID 
                    := Cw_Oe_Order_Lines_All_Rec.AGREEMENT_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SHIPMENT_PRIORITY_CODE Is Not Null Then
              l_line_tbl(i).SHIPMENT_PRIORITY_CODE
                    := Cw_Oe_Order_Lines_All_Rec.SHIPMENT_PRIORITY_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SHIPPING_METHOD_CODE Is Not Null Then
              l_line_tbl(i).SHIPPING_METHOD_CODE
                    := Cw_Oe_Order_Lines_All_Rec.SHIPPING_METHOD_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.FREIGHT_TERMS_CODE Is Not Null Then
              l_line_tbl(i).FREIGHT_TERMS_CODE 
                    := Cw_Oe_Order_Lines_All_Rec.FREIGHT_TERMS_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.FOB_POINT_CODE Is Not Null Then
              l_line_tbl(i).FOB_POINT_CODE 
                    := Cw_Oe_Order_Lines_All_Rec.FOB_POINT_CODE;
        End If;
        If Cw_Oe_Order_Lines_All_Rec.TAX_POINT_CODE Is Not Null Then
              l_line_tbl(i).TAX_POINT_CODE
                    := Cw_Oe_Order_Lines_All_Rec.TAX_POINT_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PAYMENT_TERM_ID Is Not Null Then
              l_line_tbl(i).PAYMENT_TERM_ID 
                    := Cw_Oe_Order_Lines_All_Rec.PAYMENT_TERM_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.INVOICING_RULE_ID Is Not Null Then
              l_line_tbl(i).INVOICING_RULE_ID 
                    := Cw_Oe_Order_Lines_All_Rec.INVOICING_RULE_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ACCOUNTING_RULE_ID Is Not Null Then
              l_line_tbl(i).ACCOUNTING_RULE_ID 
                     := Cw_Oe_Order_Lines_All_Rec.ACCOUNTING_RULE_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ORIG_SYS_DOCUMENT_REF Is Not Null Then
              l_line_tbl(i).ORIG_SYS_DOCUMENT_REF 
                    := Cw_Oe_Order_Lines_All_Rec.ORIG_SYS_DOCUMENT_REF;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ORIG_SYS_LINE_REF Is Not Null Then
              l_line_tbl(i).Header_ID 
                    := Cw_Oe_Order_Lines_All_Rec.ORIG_SYS_LINE_REF;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ITEM_REVISION Is Not Null Then
              l_line_tbl(i).ITEM_REVISION 
                      := Cw_Oe_Order_Lines_All_Rec.ITEM_REVISION;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.UNIT_SELLING_PRICE Is Not Null Then
              l_line_tbl(i).UNIT_SELLING_PRICE 
                    := Cw_Oe_Order_Lines_All_Rec.UNIT_SELLING_PRICE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.UNIT_LIST_PRICE Is Not Null Then
              l_line_tbl(i).UNIT_LIST_PRICE 
                    := Cw_Oe_Order_Lines_All_Rec.UNIT_LIST_PRICE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.LINE_PO_CONTEXT Is Not Null Then
              l_line_tbl(i).CONTEXT 
                     := Cw_Oe_Order_Lines_All_Rec.LINE_PO_CONTEXT;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE1 Is Not Null Then
              l_line_tbl(i).ATTRIBUTE1 
                     := Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE1;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE2 Is Not Null Then
              l_line_tbl(i).ATTRIBUTE2 
                    := Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE2;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE3 Is Not Null Then
              l_line_tbl(i).ATTRIBUTE3
                    := Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE3;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE4 Is Not Null Then
              l_line_tbl(i).ATTRIBUTE4 
                    := Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE4;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE5 Is Not Null Then
              l_line_tbl(i).ATTRIBUTE5 
                    := Cw_Oe_Order_Lines_All_Rec.ATTRIBUTE5;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PROGRAM_APPLICATION_ID Is Not Null Then
              l_line_tbl(i).PROGRAM_APPLICATION_ID 
                   := Cw_Oe_Order_Lines_All_Rec.PROGRAM_APPLICATION_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PROGRAM_ID Is Not Null Then
              l_line_tbl(i).PROGRAM_ID 
                       := Cw_Oe_Order_Lines_All_Rec.PROGRAM_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PROGRAM_UPDATE_DATE Is Not Null Then
              l_line_tbl(i).PROGRAM_UPDATE_DATE
                    := Cw_Oe_Order_Lines_All_Rec.PROGRAM_UPDATE_DATE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.REQUEST_ID Is Not Null Then
              l_line_tbl(i).REQUEST_ID 
                    := Cw_Oe_Order_Lines_All_Rec.REQUEST_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.COMPONENT_CODE Is Not Null Then
              l_line_tbl(i).COMPONENT_CODE 
                    := Cw_Oe_Order_Lines_All_Rec.COMPONENT_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE1 Is Not Null Then
              l_line_tbl(i).RETURN_ATTRIBUTE1 
                    := Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE1;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE2 Is Not Null Then
              l_line_tbl(i).RETURN_ATTRIBUTE2 
                    := Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE2;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE3 Is Not Null Then
              l_line_tbl(i).RETURN_ATTRIBUTE3 
                    := Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE3;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE4 Is Not Null Then
              l_line_tbl(i).RETURN_ATTRIBUTE4 
                    := Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE4;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE5 Is Not Null Then
              l_line_tbl(i).RETURN_ATTRIBUTE5
                      := Cw_Oe_Order_Lines_All_Rec.RETURN_ATTRIBUTE5;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SCHEDULE_ARRIVAL_DATE Is Not Null Then
              l_line_tbl(i).SCHEDULE_ARRIVAL_DATE
                     := Cw_Oe_Order_Lines_All_Rec.SCHEDULE_ARRIVAL_DATE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SOURCE_TYPE_CODE Is Not Null Then
              l_line_tbl(i).SOURCE_TYPE_CODE 
                       := Cw_Oe_Order_Lines_All_Rec.SOURCE_TYPE_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SALESREP_ID Is Not Null Then
              l_line_tbl(i).SALESREP_ID 
                    := Cw_Oe_Order_Lines_All_Rec.SALESREP_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.RETURN_REASON_CODE Is Not Null Then
              l_line_tbl(i).RETURN_REASON_CODE 
                    := Cw_Oe_Order_Lines_All_Rec.RETURN_REASON_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ARRIVAL_SET_ID Is Not Null Then
              l_line_tbl(i).ARRIVAL_SET_ID 
                    := Cw_Oe_Order_Lines_All_Rec.ARRIVAL_SET_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SHIP_SET_ID Is Not Null Then
              l_line_tbl(i).SHIP_SET_ID 
                    := Cw_Oe_Order_Lines_All_Rec.SHIP_SET_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SPLIT_FROM_LINE_ID Is Not Null Then
              l_line_tbl(i).SPLIT_FROM_LINE_ID 
                    := Cw_Oe_Order_Lines_All_Rec.SPLIT_FROM_LINE_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CUST_PRODUCTION_SEQ_NUM Is Not Null Then
              l_line_tbl(i).CUST_PRODUCTION_SEQ_NUM 
                      := Cw_Oe_Order_Lines_All_Rec.CUST_PRODUCTION_SEQ_NUM;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.AUTHORIZED_TO_SHIP_FLAG Is Not Null Then
              l_line_tbl(i).AUTHORIZED_TO_SHIP_FLAG 
                       := Cw_Oe_Order_Lines_All_Rec.AUTHORIZED_TO_SHIP_FLAG;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.OVER_SHIP_RESOLVED_FLAG Is Not Null Then
              l_line_tbl(i).OVER_SHIP_RESOLVED_FLAG 
                    := Cw_Oe_Order_Lines_All_Rec.OVER_SHIP_RESOLVED_FLAG;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CREDIT_INVOICE_LINE_ID Is Not Null Then
              l_line_tbl(i).CREDIT_INVOICE_LINE_ID 
                     := Cw_Oe_Order_Lines_All_Rec.CREDIT_INVOICE_LINE_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ORDER_SOURCE_ID Is Not Null Then
              l_line_tbl(i).ORDER_SOURCE_ID 
                    := Cw_Oe_Order_Lines_All_Rec.ORDER_SOURCE_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ORIG_SYS_SHIPMENT_REF Is Not Null Then
              l_line_tbl(i).ORIG_SYS_SHIPMENT_REF 
                    := Cw_Oe_Order_Lines_All_Rec.ORIG_SYS_SHIPMENT_REF;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CHANGE_SEQUENCE Is Not Null Then
              l_line_tbl(i).CHANGE_SEQUENCE 
                    := Cw_Oe_Order_Lines_All_Rec.CHANGE_SEQUENCE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CUSTOMER_LINE_NUMBER Is Not Null Then
              l_line_tbl(i).CUSTOMER_LINE_NUMBER 
                     := Cw_Oe_Order_Lines_All_Rec.CUSTOMER_LINE_NUMBER;
        End If;
            if Cw_Oe_Order_Lines_All_Rec.CUSTOMER_SHIPMENT_NUMBER Is Not Null Then
              l_line_tbl(i).CUSTOMER_SHIPMENT_NUMBER 
                    := Cw_Oe_Order_Lines_All_Rec.CUSTOMER_SHIPMENT_NUMBER;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CUSTOMER_ITEM_NET_PRICE Is Not Null Then
              l_line_tbl(i).CUSTOMER_ITEM_NET_PRICE 
                    := Cw_Oe_Order_Lines_All_Rec.CUSTOMER_ITEM_NET_PRICE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CUSTOMER_PAYMENT_TERM_ID Is Not Null Then
              l_line_tbl(i).CUSTOMER_PAYMENT_TERM_ID 
                    := Cw_Oe_Order_Lines_All_Rec.CUSTOMER_PAYMENT_TERM_ID;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.END_ITEM_UNIT_NUMBER Is Not Null Then
              l_line_tbl(i).END_ITEM_UNIT_NUMBER 
                    := Cw_Oe_Order_Lines_All_Rec.END_ITEM_UNIT_NUMBER;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SHIPPING_INSTRUCTIONS Is Not Null Then
              l_line_tbl(i).SHIPPING_INSTRUCTIONS 
                    := Cw_Oe_Order_Lines_All_Rec.SHIPPING_INSTRUCTIONS;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PACKING_INSTRUCTIONS Is Not Null Then
              l_line_tbl(i).PACKING_INSTRUCTIONS 
                    := Cw_Oe_Order_Lines_All_Rec.PACKING_INSTRUCTIONS;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SERVICE_TXN_REASON_CODE Is Not Null Then
              l_line_tbl(i).SERVICE_TXN_REASON_CODE 
                     := Cw_Oe_Order_Lines_All_Rec.SERVICE_TXN_REASON_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SERVICE_TXN_COMMENTS Is Not Null Then
              l_line_tbl(i).SERVICE_TXN_COMMENTS
                    := Cw_Oe_Order_Lines_All_Rec.SERVICE_TXN_COMMENTS;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SERVICE_DURATION Is Not Null Then
              l_line_tbl(i).SERVICE_DURATION 
                     := Cw_Oe_Order_Lines_All_Rec.SERVICE_DURATION;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SERVICE_START_DATE Is Not Null Then
              l_line_tbl(i).SERVICE_START_DATE 
                     := Cw_Oe_Order_Lines_All_Rec.SERVICE_START_DATE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SERVICE_END_DATE Is Not Null Then
              l_line_tbl(i).SERVICE_END_DATE 
                    := Cw_Oe_Order_Lines_All_Rec.SERVICE_END_DATE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SERVICE_COTERMINATE_FLAG Is Not Null Then
              l_line_tbl(i).SERVICE_COTERMINATE_FLAG 
                       := Cw_Oe_Order_Lines_All_Rec.SERVICE_COTERMINATE_FLAG;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.UNIT_LIST_PERCENT Is Not Null Then
              l_line_tbl(i).UNIT_LIST_PERCENT 
                       := Cw_Oe_Order_Lines_All_Rec.UNIT_LIST_PERCENT;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.UNIT_SELLING_PERCENT Is Not Null Then
              l_line_tbl(i).UNIT_SELLING_PERCENT 
                    := Cw_Oe_Order_Lines_All_Rec.UNIT_SELLING_PERCENT;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SERVICE_PERIOD Is Not Null Then
              l_line_tbl(i).SERVICE_PERIOD 
                    := Cw_Oe_Order_Lines_All_Rec.SERVICE_PERIOD;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TP_CONTEXT Is Not Null Then
              l_line_tbl(i).TP_CONTEXT 
                     := Cw_Oe_Order_Lines_All_Rec.TP_CONTEXT;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE1 Is Not Null Then
              l_line_tbl(i).TP_ATTRIBUTE1 
                     := Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE1;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE2 Is Not Null Then
              l_line_tbl(i).TP_ATTRIBUTE2 
                    := Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE2;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE3 Is Not Null Then
              l_line_tbl(i).TP_ATTRIBUTE3 
                    := Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE3;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE4 Is Not Null Then
              l_line_tbl(i).TP_ATTRIBUTE4 
                       := Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE4;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE5 Is Not Null Then
              l_line_tbl(i).TP_ATTRIBUTE5 
                       := Cw_Oe_Order_Lines_All_Rec.TP_ATTRIBUTE5;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.SERVICE_REFERENCE_TYPE_CODE Is Not Null Then
              l_line_tbl(i).SERVICE_REFERENCE_TYPE_CODE
                       := Cw_Oe_Order_Lines_All_Rec.SERVICE_REFERENCE_TYPE_CODE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CALCULATE_PRICE_FLAG Is Not Null Then
              l_line_tbl(i).CALCULATE_PRICE_FLAG 
                       := Cw_Oe_Order_Lines_All_Rec.CALCULATE_PRICE_FLAG;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.PREFERRED_GRADE Is Not Null Then
              l_line_tbl(i).PREFERRED_GRADE 
                    := Cw_Oe_Order_Lines_All_Rec.PREFERRED_GRADE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.ORDERED_QUANTITY2 Is Not Null Then
              l_line_tbl(i).ORDERED_QUANTITY2 
                    := Cw_Oe_Order_Lines_All_Rec.ORDERED_QUANTITY2;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CREATION_DATE Is Not Null Then
              l_line_tbl(i).CREATION_DATE 
                    := Cw_Oe_Order_Lines_All_Rec.CREATION_DATE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.CREATED_BY Is Not Null Then
              l_line_tbl(i).CREATED_BY 
                    := Cw_Oe_Order_Lines_All_Rec.CREATED_BY;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.LAST_UPDATE_DATE Is Not Null Then
              l_line_tbl(i).LAST_UPDATE_DATE 
                    := Cw_Oe_Order_Lines_All_Rec.LAST_UPDATE_DATE;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.LAST_UPDATED_BY  Is Not Null Then
              l_line_tbl(i).LAST_UPDATED_BY 
                    := Cw_Oe_Order_Lines_All_Rec.LAST_UPDATED_BY ;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.LAST_UPDATE_LOGIN Is Not Null Then
              l_line_tbl(i).LAST_UPDATE_LOGIN 
                       := Cw_Oe_Order_Lines_All_Rec.LAST_UPDATE_LOGIN;
        End If;
        if Cw_Oe_Order_Lines_All_Rec.Operation_Code Is Not Null Then
              l_line_tbl(i).Operation 
                    := Cw_Oe_Order_Lines_All_Rec.Operation_Code;
        End If;
 
        i := i + 1;
        End Loop;
        CLOSE     w_Oe_Order_Lines_All;
 
 
    --     Order Line Adjustment
        If w_Oe_Price_Adjustments%ISOPEN Then
            CLOSE     w_Oe_Price_Adjustments;
        End If;
        OPEN     w_Oe_Price_Adjustments;
        i := 1;
        LOOP
        FETCH w_Oe_Price_Adjustments    INTO     Cw_Oe_Price_Adjustments_Rec;
        EXIT WHEN w_Oe_Price_Adjustments%NOTFOUND;
        If Cw_Oe_Price_Adjustments_Rec.Orig_Sys_Line_Ref Is not Null Then
            l_Line_Adj_tbl(i) := OE_ORDER_PUB.G_MISS_LINE_ADJ_REC;
 
 
        If Cw_Oe_Price_Adjustments_Rec.Operation_Code = 'UPDATE' or 
           Cw_Oe_Price_Adjustments_Rec.Operation_Code = 'DELETE'  Then
                   l_Line_adj_tbl(i).Line_ID 
                     := Cw_Oe_Price_Adjustments_Rec.Orig_Sys_Line_Ref;
        End If;
 
        If Cw_Oe_Price_Adjustments_Rec.PROGRAM_APPLICATION_ID Is Not Null Then
              l_Line_Adj_Tbl(i).PROGRAM_APPLICATION_ID 
                       := Cw_Oe_Price_Adjustments_Rec.PROGRAM_APPLICATION_ID;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Program_Id Is Not Null Then
              l_Line_Adj_Tbl(i).PROGRAM_ID 
                     := Cw_Oe_Price_Adjustments_Rec.Program_Id;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Program_Update_Date Is Not Null Then
              l_Line_Adj_Tbl(i).PROGRAM_UPDATE_DATE 
                    := Cw_Oe_Price_Adjustments_Rec.Program_Update_Date;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Request_Id Is Not Null Then
              l_Line_Adj_Tbl(i).REQUEST_ID 
                     := Cw_Oe_Price_Adjustments_Rec.Request_Id;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Automatic_Flag Is Not Null Then
              l_Line_Adj_Tbl(i).AUTOMATIC_FLAG 
                    := Cw_Oe_Price_Adjustments_Rec.Automatic_Flag;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Percent Is Not Null Then
              l_Line_Adj_Tbl(i).PERCENT 
                    := Cw_Oe_Price_Adjustments_Rec.Percent;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Orig_Sys_Line_Ref Is Not Null Then
              l_Line_Adj_Tbl(i).LINE_ID 
                    := Cw_Oe_Price_Adjustments_Rec.Orig_Sys_Line_Ref;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Context Is Not Null Then
              l_Line_Adj_Tbl(i).CONTEXT
                    := Cw_Oe_Price_Adjustments_Rec.Context;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute1 Is Not Null Then
              l_Line_Adj_Tbl(i).ATTRIBUTE1 
                                        := Cw_Oe_Price_Adjustments_Rec.Attribute1;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute2 Is Not Null Then
              l_Line_Adj_Tbl(i).ATTRIBUTE2
                     := Cw_Oe_Price_Adjustments_Rec.Attribute2 ; 
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute3 Is Not Null Then
              l_Line_Adj_Tbl(i).ATTRIBUTE3 
                     := Cw_Oe_Price_Adjustments_Rec.Attribute3;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute4 Is Not Null Then
              l_Line_Adj_Tbl(i).ATTRIBUTE4 
                    := Cw_Oe_Price_Adjustments_Rec.Attribute4 ; 
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Attribute5 Is Not Null Then
              l_Line_Adj_Tbl(i).ATTRIBUTE5 
                    := Cw_Oe_Price_Adjustments_Rec.Attribute5;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.ORIG_SYS_DISCOUNT_REF Is Not Null Then
              l_Line_Adj_Tbl(i).ORIG_SYS_DISCOUNT_REF 
                     := Cw_Oe_Price_Adjustments_Rec.ORIG_SYS_DISCOUNT_REF;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LIST_HEADER_ID Is Not Null Then
              l_Line_Adj_Tbl(i).LIST_HEADER_ID 
                    := Cw_Oe_Price_Adjustments_Rec.LIST_HEADER_ID;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LIST_LINE_ID Is Not Null Then
              l_Line_Adj_Tbl(i).LIST_LINE_ID 
                     := Cw_Oe_Price_Adjustments_Rec.LIST_LINE_ID;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.CHANGE_REASON_CODE Is Not Null Then
              l_Line_Adj_Tbl(i).CHANGE_REASON_CODE 
                     := Cw_Oe_Price_Adjustments_Rec.CHANGE_REASON_CODE;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.CHANGE_REASON_TEXT Is Not Null Then
              l_Line_Adj_Tbl(i).CHANGE_REASON_TEXT 
                    := Cw_Oe_Price_Adjustments_Rec.CHANGE_REASON_TEXT;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.OPERAND Is Not Null Then
              l_Line_Adj_Tbl(i).OPERAND 
                       := Cw_Oe_Price_Adjustments_Rec.OPERAND;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.CREATION_DATE Is Not Null Then
              l_Line_Adj_Tbl(i).CREATION_DATE 
                      := Cw_Oe_Price_Adjustments_Rec.CREATION_DATE;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.CREATED_BY Is Not Null Then
              l_Line_Adj_Tbl(i).CREATED_BY 
                       := Cw_Oe_Price_Adjustments_Rec.CREATED_BY;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LAST_UPDATE_DATE Is Not Null Then
              l_Line_Adj_Tbl(i).LAST_UPDATE_DATE 
                    := Cw_Oe_Price_Adjustments_Rec.LAST_UPDATE_DATE;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LAST_UPDATED_BY Is not Null Then
              l_Line_Adj_Tbl(i).LAST_UPDATED_BY 
                     := Cw_Oe_Price_Adjustments_Rec.LAST_UPDATED_BY;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.LAST_UPDATE_LOGIN Is Not Null Then
              l_Line_Adj_Tbl(i).LAST_UPDATE_LOGIN
                    := Cw_Oe_Price_Adjustments_Rec.LAST_UPDATE_LOGIN;
        End If;
        If Cw_Oe_Price_Adjustments_Rec.Operation_Code = 'CREATE' Then
        If Cw_Oe_Price_Adjustments_Rec.Orig_Sys_Line_Ref Is Not Null Then
            l_Line_Adj_Tbl(i).line_index
                     := Cw_Oe_Price_Adjustments_Rec.Orig_Sys_Line_Ref;
                End If;
            End If;
            End If;
        i := i + 1;
        End Loop;
        CLOSE     w_Oe_Price_Adjustments;
 
 
    --     Order Line Attributes
        If w_Oe_Price_Adj_Attribs%ISOPEN Then
            CLOSE     w_Oe_Price_Adj_Attribs;
        End If;
        OPEN     w_Oe_Price_Adj_Attribs;
        i := 1;
        LOOP
        FETCH w_Oe_Price_Adj_Attribs    INTO     Cw_Oe_Price_Adj_Attribs_Rec;
        EXIT WHEN w_Oe_Price_Adj_Attribs%NOTFOUND;
        If Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref Is Not Null Then
            l_Line_Price_Att_tbl(i) := OE_ORDER_PUB.G_MISS_LINE_PRICE_ATT_REC;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_CONTEXT Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_CONTEXT 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_CONTEXT;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE1 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE1
                     := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE1;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE2 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE2 
                     := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE2;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE3 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE3 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE3;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE4 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE4 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE4;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE5 Is Not Null Then
              l_Line_Price_Att_tbl(i).PRICING_ATTRIBUTE5 
                   := Cw_Oe_Price_Adj_Attribs_Rec.PRICING_ATTRIBUTE5;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_APPLICATION_ID Is Not Null Then
              l_Line_Price_Att_tbl(i).PROGRAM_APPLICATION_ID 
                     := Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_APPLICATION_ID;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_ID Is Not Null Then
              l_Line_Price_Att_tbl(i).PROGRAM_ID 
                       := Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_ID;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_UPDATE_DATE Is Not Null Then
              l_Line_Price_Att_tbl(i).PROGRAM_UPDATE_DATE 
                    := Cw_Oe_Price_Adj_Attribs_Rec.PROGRAM_UPDATE_DATE;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.REQUEST_ID Is Not Null Then
              l_Line_Price_Att_tbl(i).REQUEST_ID 
                     := Cw_Oe_Price_Adj_Attribs_Rec.REQUEST_ID;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.FLEX_TITLE Is Not Null Then
              l_Line_Price_Att_tbl(i).FLEX_TITLE 
                    := Cw_Oe_Price_Adj_Attribs_Rec.FLEX_TITLE;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.CREATION_DATE Is Not Null Then
              l_Line_Price_Att_tbl(i).CREATION_DATE
                     := Cw_Oe_Price_Adj_Attribs_Rec.CREATION_DATE;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.CREATED_BY Is Not Null Then
              l_Line_Price_Att_tbl(i).CREATED_BY 
                    := Cw_Oe_Price_Adj_Attribs_Rec.CREATED_BY;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATE_DATE Is Not Null Then
              l_Line_Price_Att_tbl(i).LAST_UPDATE_DATE
                     := Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATE_DATE;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATED_BY Is Not Null Then
              l_Line_Price_Att_tbl(i).LAST_UPDATED_BY 
                     := Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATED_BY;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATE_LOGIN Is Not Null Then
              l_Line_Price_Att_tbl(i).LAST_UPDATE_LOGIN
                    := Cw_Oe_Price_Adj_Attribs_Rec.LAST_UPDATE_LOGIN;
        End if;
        If Cw_Oe_Price_Adj_Attribs_Rec.Operation_Code= 'UPDATE' Or
           Cw_Oe_Price_Adj_Attribs_Rec.Operation_Code= 'DELETE' Then 
        If Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref Is Not Null Then
              l_Line_Price_Att_tbl(i).Line_ID 
                    := Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref;
        End if;
        End If;
        If Cw_Oe_Price_Adj_Attribs_Rec.Operation_Code= 'CREATE' Then 
        If Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref Is Not Null Then
              l_Line_Price_Att_tbl(i).Line_Index 
                    := Cw_Oe_Price_Adj_Attribs_Rec.Orig_Sys_Line_Ref;
                    End if;
                End If;
                          End If;
            i := i + 1;
        End Loop;
        CLOSE     w_Oe_Price_Adj_Attribs;
 
 
    --    Order Line Sales Credits
        If w_Oe_Sales_Credits%ISOPEN Then
            CLOSE     w_Oe_Sales_Credits;
        End If;
        OPEN     w_Oe_Sales_Credits;
        i := 1;
        LOOP
        FETCH w_Oe_Sales_Credits    INTO     Cw_Oe_Sales_Credits_Rec;
        EXIT WHEN w_Oe_Sales_Credits%NOTFOUND;
        If Cw_Oe_Sales_Credits_Rec.Orig_Sys_Line_Ref Is Not Null Then
            l_Line_Scredit_tbl(i) := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_REC;
 
        If Cw_Oe_Sales_Credits_Rec.Operation_Code = 'CREATE' Then
        If Cw_Oe_Sales_Credits_Rec.Orig_Sys_Line_Ref Is Not Null Then
              l_Line_Scredit_tbl(i).Line_Index 
                    := Cw_Oe_Sales_Credits_Rec.Orig_Sys_Line_Ref;
        End If;
        End If;
        If Cw_Oe_Sales_Credits_Rec.SALESREP_ID Is Not Null Then
              l_Line_Scredit_tbl(i).SALESREP_ID 
                    := Cw_Oe_Sales_Credits_Rec.SALESREP_ID;
        End If;
        If Cw_Oe_Sales_Credits_Rec.PERCENT Is Not Null Then
              l_Line_Scredit_tbl(i).PERCENT 
                       := Cw_Oe_Sales_Credits_Rec.PERCENT;
        End If;
        If Cw_Oe_Sales_Credits_Rec.Operation_Code != 'CREATE' Then
        If Cw_Oe_Sales_Credits_Rec.Orig_Sys_Line_Ref Is Not Null Then
              l_Line_Scredit_tbl(i).LINE_ID 
                    := Cw_Oe_Sales_Credits_Rec.Orig_Sys_Line_Ref;
        End If;
        End If;
        If Cw_Oe_Sales_Credits_Rec.CONTEXT Is Not Null Then
              l_Line_Scredit_tbl(i).CONTEXT 
                    := Cw_Oe_Sales_Credits_Rec.CONTEXT;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE1 Is Not Null Then
              l_Line_Scredit_tbl(i).ATTRIBUTE1 
                := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE1;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE2 Is Not Null Then
              l_Line_Scredit_tbl(i).ATTRIBUTE2
                    := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE2;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE3 Is Not Null Then
              l_Line_Scredit_tbl(i).ATTRIBUTE3
                    := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE3;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE4 Is Not Null Then
              l_Line_Scredit_tbl(i).ATTRIBUTE4 
                     := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE4;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ATTRIBUTE5 Is Not Null Then
              l_Line_Scredit_tbl(i).ATTRIBUTE5 
                    := Cw_Oe_Sales_Credits_Rec.ATTRIBUTE5;
        End If;
        If Cw_Oe_Sales_Credits_Rec.ORIG_SYS_CREDIT_REF Is Not Null Then
              l_Line_Scredit_tbl(i).ORIG_SYS_CREDIT_REF
                    := Cw_Oe_Sales_Credits_Rec.ORIG_SYS_CREDIT_REF;
        End If;
        If Cw_Oe_Sales_Credits_Rec.SALES_CREDIT_TYPE_ID Is Not Null Then
              l_Line_Scredit_tbl(i).SALES_CREDIT_TYPE_ID
                       := Cw_Oe_Sales_Credits_Rec.SALES_CREDIT_TYPE_ID;
        End If;
        If Cw_Oe_Sales_Credits_Rec.CREATION_DATE Is Not Null Then
              l_Line_Scredit_tbl(i).CREATION_DATE 
                    := Cw_Oe_Sales_Credits_Rec.CREATION_DATE;
        End If;
        If Cw_Oe_Sales_Credits_Rec.CREATED_BY Is Not Null Then
              l_Line_Scredit_tbl(i).CREATED_BY 
                     := Cw_Oe_Sales_Credits_Rec.CREATED_BY;
        End If;
        If Cw_Oe_Sales_Credits_Rec.LAST_UPDATE_DATE Is Not Null Then
              l_Line_Scredit_tbl(i).LAST_UPDATE_DATE
                    := Cw_Oe_Sales_Credits_Rec.LAST_UPDATE_DATE;
        End If;
        If Cw_Oe_Sales_Credits_Rec.LAST_UPDATED_BY Is Not Null Then
              l_Line_Scredit_tbl(i).LAST_UPDATED_BY 
                       := Cw_Oe_Sales_Credits_Rec.LAST_UPDATED_BY;
        End If;
        If Cw_Oe_Sales_Credits_Rec.LAST_UPDATE_LOGIN Is Not Null Then
              l_Line_Scredit_tbl(i).LAST_UPDATE_LOGIN 
                    := Cw_Oe_Sales_Credits_Rec.LAST_UPDATE_LOGIN;
        End If;
        End If;
        i := i + 1;
        End Loop;
        CLOSE     w_Oe_Sales_Credits;
 
 
    --    Order Line Lot Serial Number
        If w_Oe_Lot_Serial_Numbers%ISOPEN Then
            CLOSE     w_Oe_Lot_Serial_Numbers;
        End If;
        OPEN     w_Oe_Lot_Serial_Numbers;
        i := 1;
        LOOP
        FETCH w_Oe_Lot_Serial_Numbers    INTO     Cw_Oe_Lot_Serial_Numbers_Rec;
        EXIT WHEN w_Oe_Lot_Serial_Numbers%NOTFOUND;
        If Cw_Oe_Lot_Serial_Numbers_Rec.Orig_Sys_Line_Ref Is Not Null Then
            l_Lot_Serial_tbl(i) := OE_ORDER_PUB.G_MISS_LOT_SERIAL_REC;
 
 
        If Cw_Oe_Lot_Serial_Numbers_Rec.Orig_Sys_Line_Ref Is Not Null Then
            l_Lot_Serial_tbl(i).LINE_ID
            := Cw_Oe_Lot_Serial_Numbers_Rec.Orig_Sys_Line_Ref;
        End If;
 
 
        If Cw_Oe_Lot_Serial_Numbers_Rec.Orig_Sys_Line_Ref Is Not Null Then
            l_Lot_Serial_tbl(i).Line_Index 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.Orig_Sys_Line_Ref;
 
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.LOT_NUMBER Is Not Null Then
            l_Lot_Serial_tbl(i).LOT_NUMBER 
                           := Cw_Oe_Lot_Serial_Numbers_Rec.LOT_NUMBER;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.FROM_SERIAL_NUMBER Is Not Null Then
            l_Lot_Serial_tbl(i).FROM_SERIAL_NUMBER 
                     := Cw_Oe_Lot_Serial_Numbers_Rec.FROM_SERIAL_NUMBER;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.TO_SERIAL_NUMBER Is Not Null Then
            l_Lot_Serial_tbl(i).TO_SERIAL_NUMBER 
                   := Cw_Oe_Lot_Serial_Numbers_Rec.TO_SERIAL_NUMBER;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.QUANTITY Is Not Null Then
            l_Lot_Serial_tbl(i).QUANTITY 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.QUANTITY;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.CONTEXT Is Not Null Then
            l_Lot_Serial_tbl(i).CONTEXT 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.CONTEXT;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE1 Is Not Null Then
            l_Lot_Serial_tbl(i).ATTRIBUTE1 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE1;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE2 Is Not Null Then
            l_Lot_Serial_tbl(i).ATTRIBUTE2 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE2;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE3 Is Not Null Then
            l_Lot_Serial_tbl(i).ATTRIBUTE3 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE3;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE4 Is Not Null Then
            l_Lot_Serial_tbl(i).ATTRIBUTE4 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE4;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE5 Is Not Null Then
            l_Lot_Serial_tbl(i).ATTRIBUTE5 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.ATTRIBUTE5;
        End If;
 
        If Cw_Oe_Lot_Serial_Numbers_Rec.ORIG_SYS_LOTSERIAL_REF 
            Is Not Null Then
            l_Lot_Serial_tbl(i).ORIG_SYS_LOTSERIAL_REF 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.ORIG_SYS_LOTSERIAL_REF;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.CREATION_DATE Is Not Null Then
            l_Lot_Serial_tbl(i).CREATION_DATE 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.CREATION_DATE;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.CREATED_BY Is Not Null Then
            l_Lot_Serial_tbl(i).CREATED_BY 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.CREATED_BY;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.LAST_UPDATE_DATE Is Not Null Then
            l_Lot_Serial_tbl(i).LAST_UPDATE_DATE 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.LAST_UPDATE_DATE;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.LAST_UPDATED_BY Is Not Null Then
            l_Lot_Serial_tbl(i).LAST_UPDATED_BY 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.LAST_UPDATED_BY;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.LAST_UPDATE_LOGIN Is Not Null Then
            l_Lot_Serial_tbl(i).LAST_UPDATE_LOGIN 
                       := Cw_Oe_Lot_Serial_Numbers_Rec.LAST_UPDATE_LOGIN;
        End If;
        If Cw_Oe_Lot_Serial_Numbers_Rec.OPERATION_CODE Is Not Null Then
            l_Lot_Serial_tbl(i).OPERATION 
                    := Cw_Oe_Lot_Serial_Numbers_Rec.OPERATION_CODE;
                End If;
                 End If;
            i := i + 1;
        End Loop;
        CLOSE     w_Oe_Lot_Serial_Numbers;
 
 
        fnd_global.apps_initialize (0, 21623, NULL);
 
        OE_ORDER_PUB.process_order ( 
                    p_api_version_number => 1.0 ,
                    p_init_msg_list => l_init_msg_list,
                    p_return_values => l_return_values,
                    p_action_commit => l_action_commit,
                    x_return_status => l_return_status,
                    x_msg_count   => l_msg_count,
                    x_msg_data   => l_msg_data,
                    p_header_rec => l_header_rec,
                    p_old_header_rec => l_old_header_rec,
                    p_header_val_rec => l_header_val_rec,
                    p_old_header_val_rec => l_old_header_val_rec,
                    p_Header_Adj_tbl   => l_header_adj_tbl,
                    p_old_Header_Adj_tbl => l_old_header_adj_tbl,
                    p_Header_Adj_val_tbl => l_header_adj_val_tbl,
                    p_old_Header_Adj_val_tbl => l_old_header_adj_val_tbl,
                    p_Header_price_Att_tbl => l_header_price_att_tbl,
                    p_old_Header_Price_Att_tbl => l_old_header_price_att_tbl,
                    p_Header_Adj_Att_tbl     => l_header_adj_att_tbl,
                    p_old_Header_Adj_Att_tbl => l_old_header_adj_att_tbl,
                    p_Header_Adj_Assoc_tbl => l_header_adj_assoc_tbl,
                    p_old_Header_Adj_Assoc_tbl => l_old_header_adj_assoc_tbl,
                    p_Header_Scredit_tbl     => l_header_scredit_tbl,
                    p_old_Header_Scredit_tbl => l_old_header_scredit_tbl,
                    p_Header_Scredit_val_tbl => l_header_scredit_val_tbl,
                    p_old_Header_Scredit_val_tbl => l_old_header_scredit_val_tbl,
                    p_line_tbl                 => l_line_tbl,
                    p_old_line_tbl            => l_old_line_tbl,
                    p_line_val_tbl           => l_line_val_tbl,
                    p_old_line_val_tbl      => l_old_line_val_tbl,
                    p_Line_Adj_tbl         => l_line_adj_tbl,
                    p_old_Line_Adj_tbl    => l_old_line_adj_tbl,
                    p_Line_Adj_val_tbl   => l_line_adj_val_tbl,
                    p_old_Line_Adj_val_tbl => l_old_line_adj_val_tbl,
                    p_Line_price_Att_tbl => l_line_price_att_tbl,
                    p_old_Line_Price_Att_tbl => l_old_line_price_att_tbl,
                    p_Line_Adj_Att_tbl      => l_line_adj_att_tbl,
                    p_old_Line_Adj_Att_tbl => l_old_line_adj_att_tbl,
                    p_Line_Adj_Assoc_tbl  => l_line_adj_assoc_tbl,
                    p_old_Line_Adj_Assoc_tbl => l_old_line_adj_assoc_tbl,
                    p_Line_Scredit_tbl     =>  l_line_scredit_tbl,
                    p_old_Line_Scredit_tbl => l_old_line_scredit_tbl,
                    p_Line_Scredit_val_tbl => l_line_scredit_val_tbl,
                    p_old_Line_Scredit_val_tbl => l_old_line_scredit_val_tbl,
                    p_Lot_Serial_tbl         => l_lot_serial_tbl,
                    p_old_Lot_Serial_tbl    => l_old_lot_serial_tbl,
                    p_Lot_Serial_val_tbl   => l_lot_serial_val_tbl,
                    p_old_Lot_Serial_val_tbl => l_old_lot_serial_val_tbl,
                    x_header_rec                => l_header_rec,
                    x_header_val_rec           => l_header_val_rec,
                    x_Header_Adj_tbl         => l_header_adj_tbl, 
                    x_Header_Adj_val_tbl    => l_header_adj_val_tbl, 
                    x_Header_price_Att_tbl => l_header_price_att_tbl, 
                    x_Header_Adj_Att_tbl  => l_header_adj_att_tbl, 
                    x_Header_Adj_Assoc_tbl => l_header_adj_assoc_tbl,
                    x_Header_Scredit_tbl  => l_header_scredit_tbl,
                    x_Header_Scredit_val_tbl => l_header_scredit_val_tbl,
                    x_line_tbl             => l_line_tbl,
                    x_line_val_tbl        => l_line_val_tbl,
                    x_Line_Adj_tbl      => l_line_adj_tbl, 
                    x_Line_Adj_val_tbl => l_line_adj_val_tbl, 
                    x_Line_price_Att_tbl => l_line_price_att_tbl, 
                    x_Line_Adj_Att_tbl  => l_line_adj_att_tbl ,
                    x_Line_Adj_Assoc_tbl  => l_line_adj_assoc_tbl,
                    x_Line_Scredit_tbl   => l_line_scredit_tbl,
                    x_Line_Scredit_val_tbl => l_line_scredit_val_tbl,
                    x_Lot_Serial_tbl          => l_lot_serial_tbl,
                    x_Lot_Serial_val_tbl     => l_lot_serial_val_tbl,
                    x_action_request_tbl    => l_action_request_tbl);
 
        if l_msg_count > 0 then
        for l_index in 1..l_msg_count loop
        l_msg_data 
        := oe_msg_pub.get(p_msg_index => l_index, p_encoded => 'F');
                   insert into CW_Oe_Api_Errors values 
                ('Order Number - ' || 
            Cw_Oe_Order_Headers_All_Rec.Order_Number
               || '  -  ' || l_msg_data);
        end loop;
        end if;
             DBMS_OUTPUT.PUT_LINE(l_msg_data);
             DBMS_OUTPUT.PUT_LINE(x_msg_data);
             DBMS_OUTPUT.PUT_LINE(x_return_status);
        If l_return_status = 'S' Then
        delete from CW_Oe_Api_Errors ; 
        Commit;
        DBMS_OUTPUT.PUT_LINE('Delete Processed Record');
        Delete_Processed_Record(pOrder_Number); 
        End If;
 
        If l_return_status = 'E' Then
            insert into CW_Oe_Api_Errors  values (l_msg_data);
            DBMS_OUTPUT.PUT_LINE('Error');
        End If;
 
        If l_return_status = 'U' Then
            DBMS_OUTPUT.PUT_LINE('UnExpected Error');
        End If;
 
--    END Loop;
--    CLOSE w_Oe_Order_Headers_All;
END;
/
Show errors;

CW_DEL_PROCESSED_ORDER

Create Or Replace Procedure Delete_Processed_Record (POrder_Number Number)
IS
BEGIN
 
        Delete 
        From Oe_Headers_Iface_All
        Where         Orig_Sys_Document_Ref=pOrder_Number;
 
        Delete
        From         Oe_Price_Adjs_Iface_all
        Where         Orig_Sys_Document_Ref=pOrder_Number;
 
        Delete 
        From         Oe_Price_Atts_Iface_All
        Where         Orig_Sys_Document_Ref=pOrder_Number;
 
        Delete 
        From         Oe_Lines_Iface_All 
        Where         Orig_Sys_Document_Ref=pOrder_Number;
 
        Delete 
        From         Oe_LotSerials_Iface_All
        Where         Orig_Sys_Document_Ref=pOrder_Number;
 
        Delete 
        From         Oe_Credits_Iface_All 
        Where         Orig_Sys_Document_Ref=pOrder_Number;
 
        Commit;
END;
/
show errors;

Copyright IBM Corp. 1997, 2004