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