Validation for VF01 - Billing Date

Hi Experts,
                 My requirement is to validate the Billing date in VF01.I tried using the BADI "BADI_SD_BILLING_ITEM".
But i am getting the message is only for SAP Internal use.Please let me know how to implement my BADI  using this "BADI_SD_BILLING_ITEM".
Regards,
Saravanan.S

Hi,
  Try with BADI: SD_CIN_LV60AU02
Steps:
To Create Implementation Goto T.Code SE19 and select the Option Classic Badi in the Create Implementation Section and Hit Button Create Implementation.
Enter the Implementation Name, save the Implementation and activate.
Regards,
Saravanan M

Similar Messages

  • RFC validation for VF01

    Hi.
    I need to do RFC validation for VF01(Exit name: EXIT_SAPLVB001),i am created new RFC for that..
    Is it possible to call Subroutine inside of User exit?
    <REMOVED BY MODERATOR>
    Jay
    Edited by: Alvaro Tejada Galindo on Feb 13, 2008 4:24 PM

    ya sure...
    U can call subroutines inside userexits...
    Just try it...
    Post ur doubts after working with that...

  • BI : Billing date for largest billing date

    Hi,
    I have a scenario where I have data for sales order and invoices in the cube.
    Now I need the <b>billing date for the largest billing amount against a sales order</b> in the cube. Can we calculate the billing date in the cube/report?
    If yes then how......

    Query kept in wrong discussion group..

  • In vf01 billing date

    hi all,
    i need to make billing date in vf01 non editable and date should be system date.
    how to get it done.
    any idea.
    thanks
    chandramani

    i check and created that badi.
    but when i put break-oint its not trigring.
    my code is
    method IF_EX_SD_CIN_LV60AU02~EXCISE_INVOICE_CREATE .
    break-point.
    data it_vbrk type vbrk.
    it_vbrk-FKDAT = SY-datum.
    endmethod.
    do you have any idea.
    how to get it done??

  • Apply a validation for a "prompt date"

    Hello friends.
    As I can include a validation to a "Prompt" date. operator is between and.
    Basically what I want is to limit the "prompt".
    example:
    Date between: 01/01/2012 and: 12/01/2012
    The date range exceeded 6 months.
    Thank you for your cooperation

    You will need to do this:
    1) You will need to build your between prompt like this:
    http://oraclebizint.wordpress.com/2008/02/26/oracle-bi-ee-101332-between-prompts-for-date-columns-using-presentation-variables/
    The reason is because we need the PV for the start date and end date. (I call the PVs pv_StartDate and pv_EndDate, respectively in my example below.)
    2) Create a small report with 3 columns: one column from your SA, it doesn't matter what; and one dummy column.
    3) In the dummy column, click on the fx button, delete the contents and enter the following:
    CASE WHEN TIMESTAMPADD(SQL_TSI_MONTH, 6, '@{pv_StartDate}' > '@{pv_EndDate}' THEN NULL END
    4) Put a filter on the second column for IS NOT NULL
    What this small report does is this: when the difference between the start and end dates is greater than 6 months, then the CASE statement will be NULL and since the filter is only looking for "not NULL" values, the report will return no rows.
    5) Now in your dashboard, add a section and put your report in it. In the Section properties, click on Properties>Guided Navigation and point it to the small report "if request returns rows."
    6) Add another Section below the one above and this time drag a Text object to the section. Put the text you have: "The date range exceeded 6 months. Please choose a date range within 6 months. Thank you."
    7) On the Section properties of this one, click on Properties>Guided Navigation and point it to the small report "if request returns nothing."
    I think you get the picture. When the date range exceeds 6 months, the top section does not appear; instead the user sees the text to change the date range.
    That should resolve your issue.

  • VF01 - Billing date always date your create.

    Hi Gurus,
    scenario
    We have a Sales Order#81500 (by exemple). Will be created from this Sales Order a lot of billing in differents date.
    We would like that Billing date always date your create and not the date from Sales Order field=VBKD-FKDAT.
    Is there standard solution to solved it?
    Thanks and best regards,
    Wilson

    Hi  Wilson
    Apart from our friend  Mr.Laksmipathi's  suggestion , also check the delivery date in the sales order in schedule line tab  , because the delivery date will be the billing date most of the times  and also check the factory calendar that has been assigned in CMR
    Regards
    Srinath

  • Validation for vendor master data creation

    Dear All,
    Can anybody suggest how to apply validation while creation of vendor master data. As this can not be done through GGB1 as it is ment for document level validation. Please suggest any user exit or badi or validation path for this.
    Thanks & Regards

    hi,
    the enhancement for vendor master is SAPMF02K, you can easily add your own check, pls. check in tcode SMOD!
    hope this helps
    ec
    >
    Srinivasa Maruvada wrote:
    > Hi
    >
    > Check TCode for validation OB28, for substitution OBBH
    > and also OKC9 which may helps you.
    > Cheers
    > Srinivas
    your post is rubbish, substitutions and validations are in use in document posting, not for master data creation. Even the OP told this, when he asked his question...

  • BAPI_ADMGMTSO_CHANGE for change billing data set of mam order

    Dear,
    i  change Start of Copy/Publication Date Period of mam order using  BAPI_ADMGMTSO_CHANGE this bapi but the billing dataset can't change it's date(i.e serv.date,edservdate).
    Give the solution for above problem.

    Hi,
    in this BAPI 'BAPI_ADMGMTSO_CHANGE' you have to pass update parameter.
    for example you are going to change item data, then you have to update
    item table and itemx table.
    and check the documentation of the BAPI.
    Test program is also avilable for this BAPI. in SE37 give the BAPI name and click the 'Where used list' button, it will show the test program.
    Regards,
    Boobalan S

  • How to write Validations for Sample Data??

    Hi Frnds,
    I want to know how to write validations  for sample oracle data?? Can anyone explain anyone clearly??
    Regards,
    Raj

    Hi shushma,
    Simply put a check that:
    If(wdContext.current<YOUR_NODE>Element().get<YOUR_ATTRIBUTE_NAME> !=null){
    else{
    // Show the error messages
    //Displaying the error message is very easy.
    //You can report exception using the message manager API's. You will get this easily on SDN.
    I hope this helps! if you need ay further help please let me know.
    Thanks and Regards,
    Pravesh

  • Billing date at line item level in a sales order

    HI!
    Can anyone let me know the significance of billing date being present at the line item level in a sales order?
    And why does it get changed as per the Requested delivery date if the Prop. Pricing date in the maintanenece of sales doc type is set  as 'A'?
    Can it be different for different line items?

    Hello Asha,
    Can anyone let me know the significance of billing date being
    present at the line item level in a sales order ???
    The comprehensive information is available at SAP technical help(F1) for the "BILLING DATE" field at Sales Order line item level...Before raising these type of questions, i would urge to  conduct initiate analysis and then post at SDN forum if you are unable to find out answers...For your quick reference, i have extracted the same description for Billing date from SAP techincal help (F1) and pasted below.
    Billing date for billing index and printout
    +The date on which the billing is processed and booked for
    accounting purposes.+
    Use
    +You can use the billing date as one of the selection criteria
    when you process billing documents collectively.+
    Procedure
    +If invoice dates are defined for the customer, the system proposes
    the billing date from the invoice date calendar. If no invoice dates are
    agreed, then the actual goods issue date is formed on the basis of
    delivery related billing. In order related billing, the billing date of the
    order forms the basis of the billing date.+
    +If you are billing services, the system proposes the date of services
    rendered. You can change the date manually in the sales document.+
    +If you are using a billing plan to bill a project, the system can propose
    billing dates for the billing plan on the basis of planned or actual dates
    in the corresponding milestone.+
    +In a billing plan for a maintenance or rental contract, you can specify rules
    by which the system determines billing dates on the basis of other dates in the contract.+
    Regards,
    Sarthak

  • Billing plan/billing date/erdat of order

    Hello you wise people,
    I have wondered is it possible to put billing date to same date like creation date of order?
    I know you can give rule for determing billing date, you can also give in advance or not,
    but how you determine that order has been created 24.9.2008, billing rule and period
    is 1.9-31.12.2008, but you want to fix billing date to 24.9.2008 (FPLT-AFDAT).
    Regards, Kirsi

    hello again.
    i came across the following answer by GSL in thread "Invoice Date Problem" posted by Raju dated oct 12:
    "In a regular scenario if PGI date is 13-10-2008 and billing is done on 18-10-2008, the billing date by default should be 13-10-2008. If this is not happening and you are getting the billing date as 18-10-2008, check the copy controls from delivery to billing VTFL for the item category. Here, Data VBRK/VBRP field might be maintained as 011. If so, change it to 001 or 007."
    this might be worth looking into.  if it works, GSL deserves the points (although i don't know how you could get the points to him... hahahaha).
    cheers and regards.

  • VF11 - Billing Date should be defaulted with system date

    Hi All,
    My requirement is to default the System date in Billing Date for the transaction VF11.
    Please let me know whether any Exits/BADI exist for this.
    I tried to create the field exit but the problem is for this Billing Date field there is no Parameter ID , so how can I assign the todays date to Billing date field in VF11 else is there any other way to do this ????.
    Please do the needful.
    Thanks in advance

    hi ,
    below are the exits available for vf11. choose the most apprapriate one
    Transaction Code - VF11                     Cancel Billing Document                                                                               
    Exit Name           Description                                                                               
    SDVFX007            User exit: Billing plan during transfer to Accounting                                 
    SDVFX008            User exit: Processing of transfer structures SD-FI                                    
    SDVFX009            Billing doc. processing KIDONO (payment reference number)                             
    SDVFX010            User exit item table for the customer lines                                           
    SDVFX011            Userexit for the komkcv- and kompcv-structures                                        
    V05I0001            User exits for billing index                                                          
    V05N0001            User Exits for Printing Billing Docs. using POR Procedure                             
    V60A0001            Customer functions in the billing document                                            
    V60P0001            Data provision for additional fields for display in lists                             
    V61A0001            Customer enhancement: Pricing                                                         
    SDVFX001            User exit header line in delivery to accounting                                       
    SDVFX002            User exit for A/R line (transfer to accounting)                                       
    SDVFX003            User exit: Cash clearing (transfer to accounting)                                     
    SDVFX004            User exit: G/L line (transfer to accounting)                                          
    SDVFX005            User exit: Reserves (transfer to accounting)                                          
    SDVFX006            User exit: Tax line (transfer to accounting)                                                                               
    regads,

  • Maintain billing date rule

    Dear Experts,
    I come across follong error while attaching billing plan to WBS element.
    Message no. V2029
    " For period billing date use rule with base line date = billing date "
    Diagnosis
    Use the baseline date = billing date rule for the billing date period.
    Procedure
    Maintain the rule in Customizing.
    How to maintain it in cust.
    Thanks in advance
    Raghav

    Dear Sir,
    I have maintain that rule and make necessary setting but same error has been seen at the time of attaching billing plan to WBS element.
    Raghav

  • VF01 Determine Billing date for billing index and printout to current date

    Hi
    we need to determine the Billing date for billing index and printout to current date
    What can I do to determine automatically at the time of creation current day to Billing date for billing index and printout?
    please let me know
    Best Regards,

    Hi Beatriz ,
    You have two options here. you can chose either of these solutions:
    1.
    A. T-Code: VTFL ( if using del related billing)   For the billing document and delivery, at item level assign the copying requirement 011 or if you are currently using some other routine then you can use following in that
    VBRK-FKDAT = SY-DATUM.
    B. T-code VTFA (if using order related billing)
    Similar to A, using copying requirement 011.
    2. You may also try option of Checking in the User Exit for the Program RV60AFZA & RV60AFZA.
    Please let us know if this helps
    Regards
    Harpreet

  • Process_order api - Validation Failed for Field Bill To

    I am relatively new to the EBS world and I'm having some issues with calling the OE_Order_Pub.Process_order API. When I call this API I am getting a return error of "Validation failed for field - Bill To".
    For a background...I have an APEX application where users can choose parts from a small part master list to add to an existing order. The existing order will not have a status of Closed or Cancelled and there will be atleast 1 line in the order before the new parts are added. The parts will be added as new lines to the order with some of the new line data defaulting to the same information as the first line. I am using EBS version 12.1.3 with a multi-org setup. It seems that the orders under one org (id=3) are working fine, but another org(id=569) they never work and keep getting the error. I am setting the context to the org of the order and initializing the apps user information with the responsibility "Order Management Super User".
    Do you have any idea what could be wrong or how I can debug the error to get a little more detail?
    Here is the procedure I have.
    PROCEDURE TEK_ORD_PROCESS_ORDER(p_order_id IN NUMBER, p_return_code OUT NOCOPY VARCHAR2, p_status OUT NOCOPY VARCHAR2) IS
        CURSOR c_order_parts IS
          SELECT *
            FROM TEK_APEX.TEK_ORD_ORDER_PARTS
           WHERE ORDER_ID = p_order_id;
        TYPE t_parts IS TABLE OF TEK_APEX.TEK_ORD_ORDER_PARTS%ROWTYPE;
        v_order_parts t_parts;
        --Setup variables
        H_Op_Code      VARCHAR2(25) DEFAULT OE_GLOBALS.G_OPR_UPDATE;
        L_Op_Code      VARCHAR2(25) DEFAULT OE_GLOBALS.G_OPR_CREATE;
        v_install_type VARCHAR2(25) := 'PTO';
        v_source_id    NUMBER;
        v_user_id      NUMBER;
        v_resp_id      NUMBER;
        v_app_id       NUMBER;
        v_debug        VARCHAR2(32767);
        v_oracle_order OE_ORDER_HEADERS_ALL%ROWTYPE;
        v_apex_order   TEK_APEX.TEK_ORD_SALES_ORDERS%ROWTYPE;
        p_header_rec                    OE_Order_Pub.Header_Rec_Type;
        p_header_val_rec                OE_Order_Pub.Header_Val_Rec_Type;
        p_Header_Adj_tab                OE_Order_Pub.Header_Adj_Tbl_Type;
        p_Header_Adj_val_tab            OE_Order_Pub.Header_Adj_Val_Tbl_Type;
        p_Header_price_Att_tab          OE_Order_Pub.Header_Price_Att_Tbl_Type;
        p_Header_Adj_Att_tab            OE_Order_Pub.Header_Adj_Att_Tbl_Type;
        p_Header_Adj_Assoc_tab          OE_Order_Pub.Header_Adj_Assoc_Tbl_Type;
        p_Header_Scredit_tab            OE_Order_Pub.Header_Scredit_Tbl_Type;
        p_Header_Scredit_val_tab        OE_Order_Pub.Header_Scredit_Val_Tbl_Type;
        p_line_tab                      OE_Order_Pub.Line_Tbl_Type;
        p_line_val_tab                  OE_Order_Pub.Line_Val_Tbl_Type;
        p_Line_Adj_tab                  OE_Order_Pub.Line_Adj_Tbl_Type;
        p_Line_Adj_val_tab              OE_Order_Pub.Line_Adj_Val_Tbl_Type;
        p_Line_price_Att_tab            OE_Order_Pub.Line_Price_Att_Tbl_Type;
        p_Line_Adj_Att_tab              OE_Order_Pub.Line_Adj_Att_Tbl_Type;
        p_Line_Adj_Assoc_tab            OE_Order_Pub.Line_Adj_Assoc_Tbl_Type;
        p_Line_Scredit_tab              OE_Order_Pub.Line_Scredit_Tbl_Type;
        p_Line_Scredit_val_tab          OE_Order_Pub.Line_Scredit_Val_Tbl_Type;
        p_Lot_Serial_tab                OE_Order_Pub.Lot_Serial_Tbl_Type;
        p_Lot_Serial_val_tab            OE_Order_Pub.Lot_Serial_Val_Tbl_Type;
        p_action_request_tab            OE_Order_pub.Request_Tbl_Type;
        l_header_rec                    OE_Order_Pub.Header_Rec_Type;
        l_header_val_rec                OE_Order_Pub.Header_Val_Rec_Type;
        l_Header_Adj_tab                OE_Order_Pub.Header_Adj_Tbl_Type;
        l_Header_Adj_val_tab            OE_Order_Pub.Header_Adj_Val_Tbl_Type;
        l_Header_price_Att_tab          OE_Order_Pub.Header_Price_Att_Tbl_Type;
        l_Header_Adj_Att_tab            OE_Order_Pub.Header_Adj_Att_Tbl_Type;
        l_Header_Adj_Assoc_tab          OE_Order_Pub.Header_Adj_Assoc_Tbl_Type;
        l_Header_Scredit_tab            OE_Order_Pub.Header_Scredit_Tbl_Type;
        l_Header_Scredit_val_tab        OE_Order_Pub.Header_Scredit_Val_Tbl_Type;
        l_line_tab                      OE_Order_Pub.Line_Tbl_Type;
        l_line_val_tab                  OE_Order_Pub.Line_Val_Tbl_Type;
        l_Line_Adj_tab                  OE_Order_Pub.Line_Adj_Tbl_Type;
        l_Line_Adj_val_tab              OE_Order_Pub.Line_Adj_Val_Tbl_Type;
        l_Line_price_Att_tab            OE_Order_Pub.Line_Price_Att_Tbl_Type;
        l_Line_Adj_Att_tab              OE_Order_Pub.Line_Adj_Att_Tbl_Type;
        l_Line_Adj_Assoc_tab            OE_Order_Pub.Line_Adj_Assoc_Tbl_Type;
        l_Line_Scredit_tab              OE_Order_Pub.Line_Scredit_Tbl_Type;
        l_Line_Scredit_val_tab          OE_Order_Pub.Line_Scredit_Val_Tbl_Type;
        l_Lot_Serial_tab                OE_Order_Pub.Lot_Serial_Tbl_Type;
        l_Lot_Serial_val_tab            OE_Order_Pub.Lot_Serial_Val_Tbl_Type;
        l_ret_status                    VARCHAR2(200);
        l_msg_count                     NUMBER;
        l_msg_data                      VARCHAR2(200);
           --Email information
        v_email_address           varchar2(100);
           v_msg_text                varchar(1000);
           v_subject_text            varchar(1000);
           --Default line information
        v_item_id           NUMBER;
        v_contact_id        NUMBER;
        v_invoice_to_org_id oe_order_lines_all.INVOICE_TO_ORG_ID%TYPE;
        v_ship_to_org_id    oe_order_lines_all.SHIP_TO_ORG_ID%TYPE;
        v_sold_to_org_id    oe_order_lines_all.SOLD_TO_ORG_ID%TYPE;
        v_flow_status_code  oe_order_lines_all.FLOW_STATUS_CODE%TYPE;
        FUNCTION GET_ORACLE_ORDER(p_order_number IN OE_ORDER_HEADERS_ALL.ORDER_NUMBER%TYPE)
          RETURN OE_ORDER_HEADERS_ALL%ROWTYPE IS
          v_order OE_ORDER_HEADERS_ALL%ROWTYPE;
        BEGIN
          SELECT *
            INTO v_order
            FROM APPS.OE_ORDER_HEADERS_ALL
           WHERE ORDER_NUMBER = p_order_number;
          RETURN v_order;
        EXCEPTION
          WHEN OTHERS THEN
            RETURN NULL;
        END GET_ORACLE_ORDER;
        FUNCTION GET_APEX_ORDER(p_order_id IN TEK_APEX.TEK_ORD_SALES_ORDERS.ORDER_ID%TYPE)
          RETURN TEK_APEX.TEK_ORD_SALES_ORDERS%ROWTYPE IS
          v_order TEK_APEX.TEK_ORD_SALES_ORDERS%ROWTYPE;
        BEGIN
          SELECT *
            INTO v_order
            FROM TEK_APEX.TEK_ORD_SALES_ORDERS
           WHERE ORDER_ID = p_order_id;
          RETURN v_order;
        EXCEPTION
          WHEN OTHERS THEN
            RETURN NULL;
        END GET_APEX_ORDER;
        FUNCTION GET_SOURCE_ID(p_source_name IN VARCHAR2)
          RETURN OE_ORDER_SOURCES.ORDER_SOURCE_ID%TYPE IS
          v_source_id OE_ORDER_SOURCES.ORDER_SOURCE_ID%TYPE;
        BEGIN
          SELECT ORDER_SOURCE_ID
            INTO v_source_id
            FROM APPS.OE_ORDER_SOURCES
           WHERE NAME = p_source_name;
          RETURN v_source_id;
        EXCEPTION
          WHEN OTHERS THEN
            RETURN NULL;
        END GET_SOURCE_ID;
        FUNCTION GET_ITEM_ID(p_part_number IN VARCHAR2, p_org_id IN NUMBER)
          RETURN MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE IS
          v_item_id MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE;
        BEGIN
          SELECT INVENTORY_ITEM_ID
            INTO v_item_id
            FROM APPS.MTL_SYSTEM_ITEMS
           WHERE SEGMENT1 = p_part_number
             AND ORGANIZATION_ID = p_org_id;
          RETURN v_item_id;
        EXCEPTION
          WHEN OTHERS THEN
            RETURN NULL;
        END GET_ITEM_ID;
      BEGIN
        apps.mo_global.set_policy_context('S',3);
        apps.mo_global.init('XXTEK');
        BEGIN
          SELECT USER_ID
            INTO v_user_id
            FROM APPS.FND_USER
           WHERE USER_NAME = 'SYSADMIN';
        EXCEPTION
          WHEN OTHERS THEN
            RAISE_APPLICATION_ERROR(-20001, 'Error selecting user');
        END;
        BEGIN
          SELECT RESPONSIBILITY_ID, APPLICATION_ID
            INTO v_resp_id, v_app_id
            FROM TEK_APEX.TEK_RR_ACTIVE_RESP_VW
           WHERE UPPER(RESPONSIBILITY_NAME) = 'ORDER MANAGEMENT SUPER USER';
          --Set current user information
          fnd_global.apps_initialize (user_id      => v_user_id
                                     ,resp_id      => v_resp_id
                                     ,resp_appl_id => v_app_id);
        EXCEPTION
          WHEN OTHERS THEN
            RAISE_APPLICATION_ERROR(-20001, 'Error selecting responsibility');
        END;
        --Get the order information from Oracle and APEX
        v_apex_order := GET_APEX_ORDER(p_order_id);
        IF v_apex_order.ORDER_ID IS NULL THEN
          RAISE_APPLICATION_ERROR(-20001, 'APEX Order ID is invalid: ' || p_order_id);
        END IF;
        v_oracle_order := GET_ORACLE_ORDER(TO_NUMBER(v_apex_order.ORDER_NUMBER));
        IF v_oracle_order.ORDER_NUMBER IS NULL THEN
          RAISE_APPLICATION_ERROR(-20001, 'Order Number not found in Oracle: ' || v_apex_order.ORDER_NUMBER);
        END IF;
        apps.mo_global.set_policy_context('S', v_oracle_order.ORG_ID);
        v_source_id := GET_SOURCE_ID('IMPORT');
        IF v_source_id IS NULL THEN
          RAISE_APPLICATION_ERROR(-20001, 'Source ID not found for IMPORT');
        END IF;
        /* ********** Gather Order Header********** */
        /* ********** Info.              ********** */
        OE_Order_Pub.Get_Order(p_api_version_number    =>      1.0,
                               p_init_msg_list         =>      FND_API.G_TRUE,
                               p_return_values         =>      FND_API.G_TRUE,
                               x_return_status         =>      l_ret_status,
                               x_msg_count             =>      l_msg_count,
                               x_msg_data              =>      l_msg_data,
                               p_header_id             =>      v_oracle_order.HEADER_ID,
                               p_header                =>      NULL,
                               x_header_rec            =>      l_header_rec,
                               x_header_val_rec        =>      l_header_val_rec,
                               x_Header_Adj_tbl        =>      l_Header_Adj_tab,
                               x_Header_Adj_val_tbl    =>      l_Header_Adj_val_tab,
                               x_Header_price_Att_tbl  =>      l_Header_price_Att_tab,
                               x_Header_Adj_Att_tbl    =>      l_Header_Adj_Att_tab,
                               x_Header_Adj_Assoc_tbl  =>      l_Header_Adj_Assoc_tab,
                               x_Header_Scredit_tbl    =>      l_Header_Scredit_tab,
                               x_Header_Scredit_val_tbl=>      l_Header_Scredit_val_tab,
                               x_line_tbl              =>      l_line_tab,
                               x_line_val_tbl          =>      l_line_val_tab,
                               x_Line_Adj_tbl          =>      l_Line_Adj_tab,
                               x_Line_Adj_val_tbl      =>      l_Line_Adj_val_tab,
                               x_Line_price_Att_tbl    =>      l_Line_price_Att_tab,
                               x_Line_Adj_Att_tbl      =>      l_Line_Adj_Att_tab,
                               x_Line_Adj_Assoc_tbl    =>      l_Line_Adj_Assoc_tab,
                               x_Line_Scredit_tbl      =>      l_Line_Scredit_tab,
                               x_Line_Scredit_val_tbl  =>      l_Line_Scredit_val_tab,
                               x_Lot_Serial_tbl        =>      l_Lot_Serial_tab,
                               x_Lot_Serial_val_tbl    =>      l_Lot_Serial_val_tab);
        --Save defaults from first line
        IF l_line_tab.EXISTS(1) THEN
          v_contact_id        := l_line_tab(1).SHIP_TO_CONTACT_ID;
          v_invoice_to_org_id := l_line_tab(1).INVOICE_TO_ORG_ID;
          v_ship_to_org_id    := l_line_tab(1).SHIP_TO_ORG_ID;
          v_sold_to_org_id    := l_line_tab(1).SOLD_TO_ORG_ID;
          v_flow_status_code  := l_line_tab(1).FLOW_STATUS_CODE;
        END IF;
        --Clear out the line array before adding any new parts
        FOR i IN l_line_tab.FIRST..l_line_tab.LAST LOOP
          l_line_tab.DELETE(i);
          l_line_val_tab.DELETE(i);
          l_line_adj_tab.DELETE(i);
          l_line_adj_val_tab.DELETE(i);
          l_line_price_att_tab.DELETE(i);
          l_line_adj_att_tab.DELETE(i);
          l_line_adj_assoc_tab.DELETE(i);
          l_line_scredit_tab.DELETE(i);
          l_line_scredit_val_tab.DELETE(i);
          l_lot_serial_tab.DELETE(i);
          l_lot_serial_val_tab.DELETE(i);
        END LOOP;
        /* ********** Gather Order Lines ********** */
        OPEN c_order_parts;
        FETCH c_order_parts BULK COLLECT INTO v_order_parts;
        CLOSE c_order_parts;
        FOR i IN v_order_parts.FIRST..v_order_parts.LAST LOOP
          v_item_id := GET_ITEM_ID(v_order_parts(i).PART_NUMBER, v_oracle_order.SHIP_FROM_ORG_ID);
          IF v_item_id IS NULL THEN
            RAISE_APPLICATION_ERROR(-20001, 'Error selecting part number ' || v_order_parts(i).PART_NUMBER);
          END IF;
          --Clear line first
          l_line_tab(i)             := OE_Order_Pub.G_Miss_Line_Rec;
             l_line_val_tab(i)         := OE_ORDER_PUB.G_MISS_LINE_VAL_REC;
          l_line_adj_tab(i)             := OE_ORDER_PUB.G_MISS_LINE_ADJ_REC;
          l_line_adj_val_tab(i)     := OE_ORDER_PUB.G_MISS_LINE_ADJ_VAL_REC;
          l_line_price_att_tab(i)      := OE_ORDER_PUB.G_MISS_LINE_PRICE_ATT_REC ;
          l_line_adj_att_tab(i)     := OE_ORDER_PUB.G_MISS_LINE_ADJ_ATT_REC;
          l_line_adj_assoc_tab(i)   := OE_ORDER_PUB.G_MISS_LINE_ADJ_ASSOC_REC;
          l_line_scredit_tab(i)     := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_REC;
          l_line_scredit_val_tab(i) := OE_ORDER_PUB.G_MISS_LINE_SCREDIT_VAL_REC;
          l_lot_serial_tab(i)       := OE_ORDER_PUB.G_MISS_LOT_SERIAL_REC;
          l_lot_serial_val_tab(i)   := OE_ORDER_PUB.G_MISS_LOT_SERIAL_VAL_REC;
          --Set line information
             l_line_tab(i).PRICE_LIST_ID          := v_oracle_order.PRICE_LIST_ID;
          l_line_tab(i).header_id              := v_oracle_order.header_id;
          l_line_tab(i).inventory_item_id      := v_item_id;
          l_line_tab(i).ordered_quantity       := v_order_parts(i).QUANTITY;
          l_line_tab(i).operation              := l_op_code;
          l_line_tab(i).unit_list_price        := 0;
          l_line_tab(i).ship_from_org_id       := v_oracle_order.ship_from_org_id;
          l_line_tab(i).program_id             := fnd_global.conc_program_id ;
          l_line_tab(i).program_application_id := fnd_global.PROG_APPL_ID;
          l_line_tab(i).order_source_id        := v_source_id;
          l_line_tab(i).calculate_price_flag   := 'N' ;
          l_line_tab(i).unit_selling_price     := 0.00 ;
             l_line_tab(i).request_date           := v_apex_order.onsite_date;
             l_line_tab(i).Schedule_ship_date     := v_apex_order.onsite_date;
             l_line_tab(i).promise_date           := null;
          l_line_tab(i).invoice_to_org_id      := v_invoice_to_org_id;
          l_line_tab(i).ship_to_org_id         := v_ship_to_org_id;
          l_line_tab(i).sold_to_org_id         := v_sold_to_org_id;
          l_line_tab(i).ship_to_contact_id     := v_contact_id;
        END LOOP;
    --OE_DEBUG_PUB.DEBUG_ON;
    --OE_DEBUG_PUB.Initialize;
    --OE_DEBUG_PUB.SetDebugLevel(5);
        --Add lines to order
        OE_Order_Pub.Process_order(p_api_version_number            =>      1.0,
                                   p_init_msg_list                 =>      FND_API.G_TRUE,
                                   p_return_values                 =>      FND_API.G_TRUE,
                                   p_action_commit                 =>      FND_API.G_FALSE,
                                   x_return_status                 =>      l_ret_status,
                                   x_msg_count                     =>      l_msg_count,
                                   x_msg_data                      =>      l_msg_data,
                                   p_header_rec                    =>  l_header_rec,
                                   p_old_header_rec                =>  l_header_rec,
                                   p_header_val_rec                =>  l_header_val_rec,
                                   p_old_header_val_rec            =>  l_header_val_rec,
                                   p_Header_Adj_tbl                =>  l_Header_Adj_tab,
                                   p_old_Header_Adj_tbl            =>  l_Header_Adj_tab,
                                   p_Header_Adj_val_tbl            =>  l_Header_Adj_val_tab,
                                   p_old_Header_Adj_val_tbl        =>  l_Header_Adj_val_tab,
                                   p_Header_price_Att_tbl          =>  l_Header_price_Att_tab,
                                   p_old_Header_Price_Att_tbl      =>  l_Header_price_Att_tab,
                                   p_Header_Adj_Att_tbl            =>  l_Header_Adj_Att_tab,
                                   p_old_Header_Adj_Att_tbl        =>  l_Header_Adj_Att_tab,
                                   p_Header_Adj_Assoc_tbl          =>  l_Header_Adj_Assoc_tab,
                                   p_old_Header_Adj_Assoc_tbl      =>  l_Header_Adj_Assoc_tab,
                                   p_Header_Scredit_tbl            =>  l_Header_Scredit_tab,
                                   p_old_Header_Scredit_tbl        =>  l_Header_Scredit_tab,
                                   p_Header_Scredit_val_tbl        =>  l_Header_Scredit_val_tab,
                                   p_old_Header_Scredit_val_tbl    =>  l_Header_Scredit_val_tab,
                                   p_line_tbl                      =>  l_line_tab,
                                   p_line_val_tbl                  =>  l_line_val_tab,
                                   p_Line_Adj_tbl                  =>  l_line_adj_tab,
                                   p_Line_Adj_val_tbl              =>  l_line_adj_val_tab,
                                   p_Line_price_Att_tbl            =>  l_line_price_att_tab,
                                   p_Line_Adj_Att_tbl              =>  l_line_adj_att_tab,
                                   p_Line_Adj_Assoc_tbl            =>  l_line_adj_assoc_tab,
                                   p_Line_Scredit_tbl              =>  l_line_scredit_tab,
                                   p_Line_Scredit_val_tbl          =>  l_line_scredit_val_tab,
                                   p_Lot_Serial_tbl                =>  l_lot_serial_tab,
                                   p_Lot_Serial_val_tbl            =>  l_lot_serial_val_tab,
                                   p_action_request_tbl            =>  OE_ORDER_PUB.G_MISS_REQUEST_TBL,
                                   x_header_rec                    =>      p_header_rec,
                                   x_header_val_rec                =>      p_header_val_rec,
                                   x_Header_Adj_tbl                =>      p_Header_Adj_tab,
                                   x_Header_Adj_val_tbl            =>      p_Header_Adj_val_tab,
                                   x_Header_price_Att_tbl          =>      p_Header_price_Att_tab,
                                   x_Header_Adj_Att_tbl            =>      p_Header_Adj_Att_tab,
                                   x_Header_Adj_Assoc_tbl          =>      p_Header_Adj_Assoc_tab,
                                   x_Header_Scredit_tbl            =>      p_Header_Scredit_tab,
                                   x_Header_Scredit_val_tbl        =>      p_Header_Scredit_val_tab,
                                   x_line_tbl                      =>      p_line_tab,
                                   x_line_val_tbl                  =>      p_line_val_tab,
                                   x_line_adj_tbl                  =>      p_line_adj_tab,
                                   x_line_adj_val_tbl              =>      p_line_adj_val_tab,
                                   x_line_price_att_tbl            =>      p_line_price_att_tab,
                                   x_line_adj_att_tbl              =>      p_line_adj_att_tab,
                                   x_line_adj_assoc_tbl            =>      p_line_adj_assoc_tab,
                                   x_line_scredit_tbl              =>      p_line_scredit_tab,
                                   x_line_scredit_val_tbl          =>      p_line_scredit_val_tab,
                                   x_lot_serial_tbl                =>      p_lot_serial_tab,
                                   x_lot_serial_val_tbl            =>      p_lot_serial_val_tab,
                                   x_action_request_tbl            =>      p_action_request_tab);
    --  OE_DEBUG_PUB.DEBUG_OFF;
        p_return_code := l_ret_status;
        IF l_ret_status != 'S' THEN
          DBMS_OUTPUT.PUT_LINE(l_msg_data);
          IF l_msg_count = 1 THEN
            p_status := OE_Msg_Pub.Get(1,'F');
          ELSE
            FOR i IN 1..l_msg_count LOOP
              p_status := OE_Msg_Pub.Get(i,'F') || '<br />';
            END LOOP;
          END IF;
          p_status := 'Error loading lines<br>' || p_status;
        ELSE
          p_status := 'Order Processed Successfully<br>' || v_order_parts.COUNT || ' Line(s) Loaded';
        END IF;
    --    WHILE OE_DEBUG_PUB.G_DEBUG_INDEX < OE_DEBUG_PUB.CountDebug LOOP
    --      OE_DEBUG_PUB.GetNext(v_debug);
    --      DBMS_OUTPUT.PUT_LINE(v_debug);
    --    END LOOP;
      EXCEPTION
        WHEN OTHERS THEN
          ROLLBACK;
          RAISE;
      END TEK_ORD_PROCESS_ORDER;Thanks!
    Jonathan Hart

    Hello,
    Try the following
    1) Check if any processing constraints are applied to customer/location
    2) Try to create a new customer and associate internal location.
    Create a new order to reproduce the issue
    Thanks
    -Arif

Maybe you are looking for