Validation of CUF field ? :-(

Hi guys,
I have an easy question for SRM experts
I add 2 new fields in my SC and PO.   Now I want to put a validation of that fields, but I dont know how to accomplish this =(
Somebody knows where should I put the code for CUF validation ?
Thank you guys !
REgards,
Diego

Hi,
  For the SC fields all validations can be put in the BADI BBP_DOC_CHANGE_BADI to check the values of the fields in the SC screen as well as the BADI BBP_DOC_CHECK_BADI can be used to throw the relevant mesage on the Screen...
  Hope this helps...
BR,
Disha.
Pls reward points for helpful answers

Similar Messages

  • Validation on multi fields

    Created a form on a table. table1 has columns:id (not null),fname,lname,div
    Need a validation: if all 3 fields are empty (fname,lname, div) then don't accept the input from the form.
    How do you do a validation on multiple fields in apex? I can write a function like
    if (:fname is null and :lname is null and :div is null ) then return True else return False.
    But how do you put this into the condition under the process section in Apex? basically it means if all 3 fields are null then don't execute the process row of table1 when user click create button.
    Can someone give me some pointers? Many thanks in advance.
    tai

    Tai,
    You can create page level validations in APEX where you can do what you have specified.
    In Page definition, click on + sing against 'Validations', Slelect 'Page level validation' and click NEXT, Select 'PL/SQL' click next and here select 'function returning boolean' and put your code.
    Return FALSE -- if validation fails
    Cheers
    Hari

  • 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

  • Table for Valid To date field in C203 Tcode

    Let me know the table name for "Valid To Date" field in C203 transaction.
    Thanks,
    Angavai.E

    Hi Angavai,
    Check with table PLMW.
    Regards,
    Raghu

  • How to do validation of input fields

    Hi all,
              I have a rquirement to do the validation of input fields.Can anybody explain me how to go for that???Please explain in detail.U can also give me a link where i can find the tutorial for doing this.

    Hi Amit,
    What everyone has said above is correct - in the method of your action simply test for whatever condition you need to validate for.  However, the following tutorial shows you how to use Web Dynpro's Message Manager to display the messages on the screen in an easy user-friendly way:
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/wd%20java/wd%20tutorials/a%20simple%20input%20form%20with%20message%20and%20error%20service%20support.pdf">Enabling Message and Error Support</a>
    In addition, there are some validations that are done automatically depending on what you have your input fields set to - for instance, if you bind your input field to a date and a user enters words into the field instead of an actual date, it will automatically display an error message.  To learn how to turn this feature on and off, see this tutorial
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/edf6ea90-0201-0010-7696-a68662381c12">Using Validating and Non-Validating Actions</a>

  • Passing CUF fields from SRM to ECC 6.0 and PO in Held status

    Hi All,
    We are upgarding from SRM 5.0 to SRM 5.5 ( New system ) and 4.6C to ECC 6.0.
    We have implemented classic scenario. All the codes (BADIs) have been copied to the new systems. We are facing two issues here
    1. CUF fields are not being passed to ECC 6.0
    2. PO in ECC 6.0 is in held status.
    Regarding issue No.1, the CUF coding is in BADI BBP_CREATE_PO_BACK and I hope I dont have to do anything at R/3 end as it will be taken care of.
    Adding header details
    wa_ct_po_extension-structure = 'BAPI_TE_PO_HEADER'.
    WRITE po_number TO wa_ct_po_extension-valuepart1.
    WRITE x_sc_item-zz_moc_rating TO wa_ct_po_extension-valuepart1+10(1).
    WRITE x_sc_item-zz_insurance TO wa_ct_po_extension-valuepart1+11(2).
    WRITE x_sc_item-zz_sr_offshore TO wa_ct_po_extension-valuepart1+13(2).
    WRITE x_sc_item-zz_sr_onshore TO wa_ct_po_extension-valuepart1+15(2).
    WRITE x_sc_item-zz_os_indem TO wa_ct_po_extension-valuepart1+17(2).
    WRITE x_sc_item-zzreqno TO wa_ct_po_extension-valuepart1+48(10).
    WRITE l_newvalue TO wa_ct_po_extension-valuepart1+75(17).
    APPEND wa_ct_po_extension TO ct_po_extension.
    clear wa_ct_po_extension.
    Item Fields to EKPO
    loop at po_items into x_po_items.
    wa_ct_po_extension-structure = 'BAPI_TE_PO_ITEMS'.
    write x_po_items-po_item to wa_ct_po_extension-valuepart1.
    write x_sc_item-zzreqno to wa_ct_po_extension-valuepart1+5(10).
    append wa_ct_po_extension to ct_po_extension.
    endloop.
    Do let me know, if anything further has to be done.
    Point 2. PO is in held status, any thoughts on this.
    Thanks and Regards,
    Madhu C

    Hi Madhu,
    Please check out this note 1027081 which is for the PO Held in classic scenario.
    Praveen.

  • How to create validation on the field in WEBUI ?

    Hi all,
    Can somebody inlight me with the following question?
    Is it possible in IC WebUI when New Customer is being created through IC center to put validation on some field for Example if customer with the Last Name, First Name, email exists already in the system to notify user about it and to not allow create duplicate. If it possible how to do it using adviseable by SAP ways?
    Thank you,
    Maria.

    Hi Maria,
    it is possible by implementing a BAdI. See the following discussion for more details: Execution of duplicate check.
    The SAP help also has some information on this:
    Duplicate Check for Accounts and Contacts - Business Partners - SAP Library
    Duplicate Check - Business Address Services (BC-SRV-ADR) - SAP Library
    Hope this helps,
    Christian
    ps.: I the future please search before posting a question. All the links above where in the 10 google results when searching for "sap crm business pattern duplicate check"

  • Validation fo Reference Field

    Dear Expet's,
    i  have created validation for Reference field(f-43) for one company and activated it, but its not checking it.
    Prerequisite:
    BKPF-BUKRS = '6560' AND BKPF-BLART = 'KR'
    Check:
    BKPF-XBLNR = ''
    Message:
    Please check reference field!
    can someone help in this!

    You can use the standard validation instead of the code you are programming. You activate it where you define the class type. The path under the IMG is: Financial Accounting (New) >> Financial Accounting Global Settings (New) >> Document Document Types >> Define Document Types for Entry View. Then, find the document type, double click on it and check the box “Reference number”. Save.
    Assign points if the information was useful.

  • Validating a Date field in ADF which only contains a time

    Hi,
    I'm having problems in JDeveloper 10121 validating a "time" field in a jsp.
    * I have this field: <html:text property="InterviewTime" size="4" maxlength="4" />
    which is a date. I want the user to enter a date in 24 hour format. I.e. 0000 to 2400.
    * In my view object the interview time has a format of Simple Date (kkmm).
    * In the entity object this is a date column.
    If I submit with a valid date then it's fine. However if for example I enter 3333 and save I get a date parse error. The problem is where do I handle this?
    I added validation to the entity object but this only gets called when the date is valid (I imagine it is further on in the lifecycle?)
    I also added some regex to the onCommit method but again this gets called later in the lifecycle.
    Can anybody help?
    Thanks,
    Andy

    Frank,
    I can't use ADF Faces as I'm using 1012.
    I have a method validation on the entity object as shown below:
    public boolean validateInterviewTime()
    Date interviewTime = getInterviewTime();
    if ( interviewTime != null )
    LOG.info("Testing");
    SimpleDateFormat sd = new SimpleDateFormat("kkmm");
    String interviewTimeString = sd.format( getInterviewTime().getValue() );
    LOG.info("interviewTimeString"+interviewTimeString);
    if ( !Pattern.matches( "((0?[0-9]|1[0-9]|2[0-3])[0-5][0-9])", interviewTimeString ) )
    LOG.info("BAD");
    return false;
    else
    return true;
    However if the interview time is outside the range anyway (i.e. not between 0000 and 2359) then it will not even get as far as validating it as I get an invalid date exception called?
    So I need to catch it somewhere else.

  • Can a field validation point to fields of another record type?

    Field Validation based on another Record Type Field
    I am trying to build validation into a custom object that sums fields under the Account record type.
    The names of the fields from OBI (the table location and field name):
    "- Account Custom Metrics".S_INT_13+"- Account Custom Metrics".S_INT_14+"- Account Custom Metrics".S_INT_11
    My questions: can a field validation point to fields of another record type? My thought was that if OBI can look across record types than all of CRM should be able to, including field validations.
    Thank you,
    David

    Hi !
    I'm afraid this is not possible for the moment. You'll have to wait for the Release 16 I think to have such possibilities.
    The R16 will allow you to create workflow rules accross different record types (e.g. Create a task on the Account linked to the service request when a new service request is created). I hope there will be the same possibilities with the validation rules...
    Hope this will help, feel free to ask more.
    Max

  • UDF - Set Valid Values for Field

    I have a UDF created in Marketing Docs / row level called UOM_Ordered (alphanumeric, length 2) using Set Valid Values for Field.  Values are:
    CS
    IN
    DZ
    PC
    Above are CS abrev for Case, IN abrev for Inner, DZ abrev for Dozen .................
    If possible could I have say for example "IN" not to appear in the drop down if the value in OITM (UDF called U_Inner_Qty) is either NULL or a Zero?  It's would be a way to stop mistakes when orders are inputted.
    Any help on this would be appreciated.
    Thks - Scott

    Hello
    You could try the following:
    Insert a formatted search on the field, which contain conditions, ie whether the condition that the value is 0 or null, then bring the required data, while if it is not the case, applies the search formatted with the available data.
    On the other hand, leave the form with all the options for disabled users. The latter through additional authorizations for users
    I hope it will help
    Best regards,

  • Validating a selection field for meeting the ranges given in the Domain

    Hi Experts,
    Please let me know the proceedure to  Validating a selection field for meeting the ranges given in the Domain.
    In my case, i am using the domain 'AUFTYP' Order category which has value range like 01 , 02 .... Which are displyed during F4 help.
    Please advise to validate these ranges.
    Thanks in advance,
    Viven

    Hi,
    If the values are maintained at domain level guess the check will be done automatically. You dont have to validate the entries in the field.
    Cheers
    VJ

  • How to make a validation for a field?

    Is any possible to make input value
    validation for a field?
    E.g. Force the user enter ItemCode in a
    correct format with proper prefix XX-BB-.... .
    If SDK is a only solution, how to do it?
    Regards,
    Kenneth

    You can't realy do it with out sdk. You could always try to right a query that will clear the code when it isn't in the correct format. then if they press add it will give an error cause there is no item code. But you'll struggle to get this right and it won't be full proof.
    In sdk in your item event you'll test if the specific edit box lost focus and before the action, if that is true then check the value. If it is not correct then bubble the event and give an error. when you bubble the event it won't do the action they wanted to do.
    Hope this helps.

  • Confirmation CUF field

    Hello Friend
    We use SRM Server5.5 with classic scenario.
    We have the following process for GR.
    1.     Buyer creates PO in MM.
    2.     Vendor request GR in SRM
    3.     Buyer approve the requested GR
    We need additional field for confirmation in SRM. So we should add customer field to INCL_EEW_PD_ITEM_CSF_CONF.
    We have to transfer CUF fields to R/3, while material document is created in MM after approval.
    As I know that GR document is transferred to R/3 using IDOC.
    How to transfer CUF field to R/3?
    At first, I thought that we should add IDOC segment in SRM part and R/3 Part.
    But it’s difficult to develop this.
    Can we use other way to transfer CUF fields from SRM to MM?
    Could we use BAPI instead of IDOC? Is it possible?
    If you have any way to solve this problem, let me know that.
    Thank you
    Best regards,
    SH

    Hi
    Confirmation process in SRM is like GR in R/3.
    A BAPI is available in SRM. The BAPI name is BAPI_CONFEC_CREATE
    Include structures where custom fields can be added are as follows ->
    CI_BAPI_CONF_HEADER_D
    CI_BAPI_CONF_ITEM_C
    CI_BAPI_ACC_C
    CI_BAPI_CONF_ITEM_D
    CI_BAPI_ACC_D
    Goods Receipt - Confirmation -  GRs are transferred through Idocs as well as XML.
    Refer to Function module ->
    <b>BBP_BC_CONF_CREATE</b> (For XML Data transfer)
    There is one other <b>function module - BBP_CF_CRT_VND_IN</b>, which in turn calls this  BAPI to do the job.
    Hope this will help.
    Pls reward suitable points.
    Regards
    - Atul

  • Adding item level validation to a field

    Hi All,
    I am new to Oracle APEX.
    I have a field named semester_code in my page and I want end user to enter only alphanumeric values. I want to create item level validation using regular expressions, but I don't know what expression to write for this purpose.
    Any help will be highly appreciated.
    Thanks
    Bilal

    Hi,
    Go to the validations section of the application builder (for the application you are working on)
    -> add item level validation
    -> select the field that you are trying to validate
    ->item string comparison
    -> select 'Item specified is alphanumeric' from list
    Chris

Maybe you are looking for

  • ITunes, Apple TV, a NAS drive and Time Capsule - an idiot's guide

    Hi, I really need some help, and even though I know the information is already on the web, I just need someone to tell me what to do in my circumstance. I have a new Macbook with 250GB hard drive which is now almost full! I have an Apple TV box which

  • When will the new OWB 10g release 2 be available?

    HI... I would like to know if there is a timetable to download in the OTN site about the new version of OWB 10g release 2.. I saw the the new version of this tool last year in the Oracle Open World and I am very curious to do some test and implement

  • IMovie '11 hogs CPU and freezes

    I've been importing a few video files in iMovie (from local hard disk, not HD) and it has been taking over 1hr each time... for about 1hr movies. During each, activity monitor will show that iMovie is taking about 150% of CPU usage... never less than

  • Run apex in oracle 12c

    i try to install apex in oracle 12c but it told me it's already installed & when i run : http://localhost:8888/apex it give me {"message": "Resource not found.", "type": "NoSuchResource", "brief": "error"} how can i install & run apex in oracle 12c 

  • 'Cancel' and 'OK' buttons in the LOV screen switch places randomly

    Hi! While running Oracle Forms and invoking the LOV ,'Cancel' and 'OK' buttons in the LOV screen switch places randomly.Has anyone encountered this before? Is there a way to fix this. Thanks in advance.