CW_PUBLIC_API_PROCESS_ORDER

プロシージャー CW_PUBLIC_API_PROCESS_ORDERは、以下のプロシージャー 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. 2004