Updating delivery quantity in outbound delivery.

Hi,
I have to update the delivery quantity field of an outbound delivery from the quantity that is coming in through an idoc.Is there any BAPI to do the the updation? Also please explain the parameters which need to be passed in the BAPI.
I tried using a BDC recording but it gave an error that the article is locked.
Its urgently required.
Thanks,
Sandeep.

Hi,
Here are the some useful links.
BAPI to create delivery
Delivery
BAPI Outbound delivery
Please go through them
Regards,
Rama.Pammi

Similar Messages

  • Urgent-Help needed in FM to update picking quantity in outbound delivery.

    Hi,
    I have to automatically update the delivery and picking quantity for an outbound delivery without doing any post goods issue.Could you please help me with any FM which does this with proper explanation.
    Any help will be greatly appreciated.
    Thanks,
    Sandeep.

    Check with FM : SD_DELIVERY_UPDATE_PICKING
    The above FM will update Picking in delivery
    Check the structure VBPOK ,within structure VBPOKKOMMI(Include structure)
    Field is PIKMG.
    Thanks
    Seshu

  • LSMW Custom program for updating picked quantity in outbound delivery

    I have been tasked with creating an LSMW that will update the picked quantity in an outbound delivery.  I originally thought of using a recording on transaction vl02n, but I need the LSMW to work with variable amount of item lines. 
    Through some research I figured out that FM WS_DELIVERY_UPDATE_2 can update the picked quantity.  I have successfully created a custom program that calls this FM. 
    I have created what I believe to be the correct entries in the SXDA0, SXDA1, SXDA2, and SXDA3 tables to make my custom program work with LSMW.  I am able to find my program in the "Maintain Object Attributes."  I am also able to "Maintain Structure Relations Step" (screen shot attached)  I am currently using VBKOK and VBPOK for the header and line item structures respectively. 
    My difficulty is converting the data.  I have tried everything from having no conversion rules to mapping many fields and I always receive the following error (screen shot also provided).
    Error analysis
    The statement
         "Move src TO dst"
    requires that the operands "dst" and "src" are convertible.
    Since this statement is in a Unicode program, the special conversion
    rules for Unicode programs apply.
    In this case, these rules were violated.
    Program /SAPDMC/SAP_LSMW_CONV_FORMS
    Include  /SAPDMC/SAP_LSMW_CONV_FORMS
    Row 1,080
    Module type (FORM)
    Module Name TRANSFER_RECORD
    Since I have run the conversion with no conversion rules I am very confused as to why I am still receiving this error.  Any insight would be greatly appreciated.

    For anyone I have uncovered some interesting things about my issue.  I started going through the conversion code piece by piece trying to figure out what data element the system was choking on. 
    After digging though the program and using the debugger I found out that the issue was in FORM transfer_record. 
    ASSIGN (g_record) TO <l_record>.
         CASE g_objecttype.
           WHEN '01' OR '02'.
             gt_buffer-record = g_record.
             gt_buffer-data = <l_record>.
             APPEND gt_buffer.
    If this LSMW was working
    g_record = 'VBKOK'
    <l_record> = 'VBKOK'
    But what is actually happening
    g_record = 'VBKOK'
    <l_record> = "Structure of some sort
    I do not know why this is happening since the field symbol is being assigned right before this piece of code.  Any suggestions are greatly appreciated.

  • Updating delivery quantity irrespectuve of errors using Std FM's

    Hi all,
    Im need to update the quantity for an inbound delivery.I tried using  FM "BBP_INB_DELIVERY_UPDATE".But it gives different results for dfferent Inbound delivries.For some the update happens while for some it doesnt.
    The main problem is it doesnt return any exception parameter/error table to know that the update hasnt happened
    this FM in turn actually calls the FM 's WS_DELIVERY_UPDATE' and WS_DELIVERY_UPDATE'_2 .These functina have return parameters for errors and hence can be useful in checking the confirmation of update.
    However when using these FM 's(WS_DELIVERY_UPDATE' and WS_DELIVERY_UPDATE'_2).,sometimes if there are any errors found,the program stops there and nothig happens further.How do I avoid these errors when using these FM's.I basically need to update the quantty in the dleivery forcefully irresepective of the errors!
    Please suggest?
    Also if i need to copy the std FM's (mentioned above) which one should i copy??Has anybody worked on a similar reqt earlier?
    Thanks.

    Hi,
    Could you get the solution for your problem? I am having the same problem and I couldnu2019t solve it.
    There is a note 1073754  - BBP_INB_DELIVERY_UPDATE: Missing error Handling but it didnu2019t solve it for me.
    If you have some information you could share with me I would be really grateful.
    Thanks in advanced.
    Maria

  • Update picking quantity in delivery (Batch split items) using function modu

    Hi All,
    I need to update a picking quantity with zero value in delivery for batch split items (Item numbers start with 900001. etc).I'm trying to use WS_DELIVERY_UPDATE
    and SD_DELIVERY_UPDATE_PICKING. I'm passing parameter VBKOK-KOMUE , and all other details, but it is not updating.
    I'm able to update delivery quantity of same item with zero value but not picking quantity.
    Could you please let me know how to achive this.
    Regards
    Vikram

    I think the number 900001is mean batch split line item.
    example:
    In Deivery Note:
    Item 10
         Batch 900001
         Batch 900002
    Item 20
         Batch 900003
         Batch 900004
    That right,

  • Automatic Pick Quantity In Outbound Delivery

    Dear all,
    Please give me a solution for Automatic Pick Quantity In Outbound Delivery using t-code VL01N.
    Thanks & Regards
    Amit Karalkar

    Hi Amit,
    I will explain how you set up this automatic picking, and then you can
    work backwards from there.  The automatic picking you are experiencing
    is actually related to the output type EK00 assigned to your shipping
    point.
    Consider the following two setup steps which will result is automatic
    picking:
    Set the output type to EKOO, in the print picking list of the shipping
    point in customizing.
    Make sure the parameters below are set:
    Message Language
    Number of Messages
    Send Time              <<<<<<<<<<< this must be set to 4 (send immed)!!
    Transmission Medium
    1) you have to set the parameters for EK00 in the shipping-point-
       maintenance in customizing:
              -> Enterprise Structure
                 -> Definition
                    -> Logistics Execution
                       -> Define, copy, delete, check shipping point
    2) as second step you define the shipping-print-parameters in
       customizing:
               -> Logistics Execution
                  -> Shipping
                     -> Basic Shipping Functions
                        -> Output Control
                           -> Define print parameters shipping
                             -> Shipping (Spec.case)
    Therein there should be an entry for every shipping-point, where
    you like to use the picking-list EK00!
    If you have 1 & 2 setup for a particular shipping point you will
    experience the "automatic" picking of deliveries.
    Regards,
    Ramana

  • WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes not updating delivery..

    Hi guys,
         If I am not wrong is the API to update delivery details in WSH_DELIVERY_DETALS TABLE.
    Here i am updating tracking_number for a given delivery_detail_id, but its not working.
    Please help me if I am doing amy mistake.
    create OR REPLACE procedure UPDATE_DETAILS_PROC_SAT is
    l_changed_rec WSH_DELIVERY_DETAILS_PUB.ChangedAttributeTabType;
    l_init_rec WSH_DELIVERY_DETAILS_PUB.ChangedAttributeRecType;
    l_return_status VARCHAR2(1000);
    l_msg_count NUMBER;
    l_msg_data VARCHAR2(1000);
    error exception;
    begin
    WSH_DELIVERY_DETAILS_PUB.Init_Changed_Attribute_Rec(p_init_rec => l_init_rec,
    x_return_status => l_return_status);
    l_init_rec.delivery_detail_id :=111482;
    l_init_rec.tracking_number := 184854;
    l_init_rec.shipped_quantity := 1;
    l_changed_rec(1) :=l_init_rec;
    WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes(p_api_version_number => 1.0,
    p_init_msg_list => FND_API.G_TRUE,
    p_commit => FND_API.G_TRUE,
    x_return_status => l_return_status,
    x_msg_count => l_msg_count,
    x_msg_data => l_msg_data,
    p_changed_attributes => l_changed_rec,
    p_source_code => 'OE');
    end;

    What is the status of this delivery detail ID? Why are you passing the shipped quantity? Do you want to ship the delivery (hence associated details) and update the tracking number?
    Remove the shipped_quantity and try updating first and then use deliveries actions to ship the delivery.
    Thanks
    Nagamohan

  • Function Module to update delivery

    Hi,
    I created a outbound delivery using the BAPI. I need to update the ROUTE field in the created Delivery.
    Is there any BAPI or FM to update delivery?
    Pls help
    Thanks
    Ram

    Hi Prabha,
    Try out the FM LE_MOB_DELIVERY_UPDATE.
    Pls reward if found useful.
    Thanks
    Shyam

  • Cannot update delivery attributes: the following field(s) are not updatable

    Hi. I create in EBS simple Order
    Now , my goal is to create a delivery , pick , change shipping quantity and ship confirm. Here is my code
    DECLARE
    p_sales_order NUMBER := 10014445;
    p_line_number NUMBER := 1.1;
    p_org_id NUMBER := 308;
    l_shipped_quantity NUMBER := 5;
    p_api_version_number NUMBER := 1.0;
    init_msg_list VARCHAR2(200);
    l_commit VARCHAR2(30);
    x_msg_details VARCHAR2(3000);
    x_msg_summary VARCHAR2(3000);
    x_return_status VARCHAR2(3);
    x_msg_count NUMBER;
    x_msg_data VARCHAR2(3000);
    p_validation_level NUMBER;
    v_errbuf VARCHAR2(2000);
    v_retcode VARCHAR2(20);
    v_released_status wsh_delivery_details.released_status%TYPE;
    v_inv_interfaced_flag wsh_delivery_details.inv_interfaced_flag%TYPE;
    v_oe_interfaced_flag wsh_delivery_details.oe_interfaced_flag%TYPE;
    v_source_code wsh_delivery_details.source_code%TYPE;
    v_pending_interface_flag wsh_trip_stops.pending_interface_flag%TYPE;
    l_changed_attributes wsh_delivery_details_pub.changedattributetabtype;
    l_source_code VARCHAR2(30) := 'OE';
    -- Parameters for WSH_DELIVERIES_PUB
    p_delivery_name VARCHAR2(30);
    p_action_code VARCHAR2(15);
    p_asg_trip_id NUMBER;
    p_asg_trip_name VARCHAR2(30);
    p_asg_pickup_stop_id NUMBER;
    p_asg_pickup_loc_id NUMBER;
    p_asg_pickup_loc_code VARCHAR2(30);
    p_asg_pickup_arr_date DATE;
    p_asg_pickup_dep_date DATE;
    p_asg_dropoff_stop_id NUMBER;
    p_asg_dropoff_loc_id NUMBER;
    p_asg_dropoff_loc_code VARCHAR2(30);
    p_asg_dropoff_arr_date DATE;
    p_asg_dropoff_dep_date DATE;
    p_sc_action_flag VARCHAR2(10);
    p_sc_intransit_flag VARCHAR2(10);
    p_sc_close_trip_flag VARCHAR2(10);
    p_sc_create_bol_flag VARCHAR2(10);
    p_sc_stage_del_flag VARCHAR2(10);
    p_sc_trip_ship_method VARCHAR2(30);
    p_sc_actual_dep_date VARCHAR2(30);
    p_sc_report_set_id NUMBER;
    p_sc_report_set_name VARCHAR2(60);
    p_sc_defer_interface_flag VARCHAR2(60);
    p_sc_send_945_flag VARCHAR2(60);
    p_sc_rule_id NUMBER;
    p_sc_rule_name VARCHAR2(60);
    p_wv_override_flag VARCHAR2(10);
    p_asg_pickup_stop_seq NUMBER;
    p_asg_dropoff_stop_seq NUMBER;
    x_trip_id VARCHAR2(30);
    x_trip_name VARCHAR2(30);
    fail_api EXCEPTION;
    x_debug_file VARCHAR2(100);
    l_ship_method_code VARCHAR2(100);
    l_user_id NUMBER;
    l_resp_id NUMBER;
    l_appl_id NUMBER;
    CURSOR c_ord_details IS
    SELECT DISTINCT det.source_header_number sales_order,
    det.org_id,
    det.source_line_number,
    det.source_header_id,
    det.source_line_id,
    det.source_header_type_name,
    det.inventory_item_id,
    det.requested_quantity,
    det.delivery_detail_id,
    (SELECT concatenated_segments
    FROM mtl_system_items_kfv
    WHERE inventory_item_id = det.inventory_item_id
    AND organization_id = det.organization_id) ordered_item,
    det.organization_id,
    det.src_requested_quantity,
    det.shipped_quantity,
    del.delivery_id,
    del.status_code delivery_status_code,
    det.released_status pick_release_status,
    det.oe_interfaced_flag,
    det.inv_interfaced_flag
    FROM wsh_delivery_details det,
    wsh_delivery_assignments asn,
    wsh_new_deliveries del
    WHERE 1 = 1
    AND det.delivery_detail_id = asn.delivery_detail_id
    AND asn.delivery_id = del.delivery_id(+)
    AND det.source_header_number = 1199656
    AND det.source_line_number = '1.1'
    AND det.org_id = 10102
    AND shipped_quantity IS NULL
    AND NVL(del.status_code, 'OP') <> 'CL'
    and det.delivery_detail_id =21439836
    /* AND det.released_status = 'Y'*/;
    BEGIN
    -- Initializing the Applications
    SELECT user_id INTO l_user_id FROM fnd_user WHERE user_name = 'MSHAPIRA';
    SELECT responsibility_id, application_id
    INTO l_resp_id, l_appl_id
    FROM fnd_responsibility_vl
    WHERE responsibility_name = 'OM Super User - UDS UK';
    fnd_global.apps_initialize(l_user_id, l_resp_id, l_appl_id);
    FOR i IN c_ord_details LOOP
    DBMS_OUTPUT.put_line('Initializing the Application for Shipping Transactions');
    -- Mandatory initialization for R12
    mo_global.set_policy_context('S', i.org_id);
    mo_global.init;
    -- Ship Confirming
    p_delivery_name := TO_CHAR(i.delivery_id);
    DBMS_OUTPUT.put_line('Before Shipping, Calling WSH_DELIVERY_DETAILS_PUB API to Update Shipping Attributes');
    DBMS_OUTPUT.put_line('=============================================');
    l_changed_attributes(1).delivery_detail_id := i.delivery_detail_id;
    l_changed_attributes(1).shipped_quantity := 5;
    wsh_delivery_details_pub.update_shipping_attributes(p_api_version_number => 1.0,
    p_init_msg_list => init_msg_list,
    p_commit => l_commit,
    x_return_status => x_return_status,
    x_msg_count => x_msg_count,
    x_msg_data => x_msg_data,
    p_changed_attributes => l_changed_attributes,
    p_source_code => l_source_code);
    IF (x_return_status <> wsh_util_core.g_ret_sts_success) THEN
    RAISE fail_api;
    DBMS_OUTPUT.put_line('Failed to Update the Shipping Attributes');
    ELSE
    DBMS_OUTPUT.put_line('Successfully Updated the Shipping Attributes');
    END IF;
    BEGIN
    SELECT shipping_method_code
    INTO l_ship_method_code
    FROM oe_order_headers_all
    WHERE order_number = i.sales_order
    AND org_id = i.org_id;
    EXCEPTION
    WHEN OTHERS THEN
    l_ship_method_code := NULL;
    END;
    p_action_code := 'CONFIRM'; -- The action code for ship confirm
    p_sc_action_flag := 'S'; -- Ship entered quantity.
    p_sc_intransit_flag := 'Y';
    --In transit flag is set to 'Y' closes the pickup stop and sets the delivery in transit.
    p_sc_close_trip_flag := 'Y'; -- Close the trip after ship confirm
    p_sc_trip_ship_method := l_ship_method_code; -- The ship method code
    p_sc_defer_interface_flag := 'Y';
    p_sc_stage_del_flag := 'Y';
    p_sc_create_bol_flag := 'N';
    p_wv_override_flag := 'N';
    -- API Call for Ship Confirmation
    DBMS_OUTPUT.put_line('Calling WSH_DELIVERIES_PUB to Perform Ship Confirmation');
    DBMS_OUTPUT.put_line('=============================================');
    wsh_deliveries_pub.delivery_action(p_api_version_number => 1.0,
    p_init_msg_list => init_msg_list,
    x_return_status => x_return_status,
    x_msg_count => x_msg_count,
    x_msg_data => x_msg_data,
    p_action_code => p_action_code,
    p_delivery_id => i.delivery_id,
    p_delivery_name => p_delivery_name,
    p_asg_trip_id => p_asg_trip_id,
    p_asg_trip_name => p_asg_trip_name,
    p_asg_pickup_stop_id => p_asg_pickup_stop_id,
    p_asg_pickup_loc_id => p_asg_pickup_loc_id,
    p_asg_pickup_stop_seq => p_asg_pickup_stop_seq,
    p_asg_pickup_loc_code => p_asg_pickup_loc_code,
    p_asg_pickup_arr_date => p_asg_pickup_arr_date,
    p_asg_pickup_dep_date => p_asg_pickup_dep_date,
    p_asg_dropoff_stop_id => p_asg_dropoff_stop_id,
    p_asg_dropoff_loc_id => p_asg_dropoff_loc_id,
    p_asg_dropoff_stop_seq => p_asg_dropoff_stop_seq,
    p_asg_dropoff_loc_code => p_asg_dropoff_loc_code,
    p_asg_dropoff_arr_date => p_asg_dropoff_arr_date,
    p_asg_dropoff_dep_date => p_asg_dropoff_dep_date,
    p_sc_action_flag => p_sc_action_flag,
    p_sc_intransit_flag => p_sc_intransit_flag,
    p_sc_close_trip_flag => p_sc_close_trip_flag,
    p_sc_create_bol_flag => p_sc_create_bol_flag,
    p_sc_stage_del_flag => p_sc_stage_del_flag,
    p_sc_trip_ship_method => p_sc_trip_ship_method,
    p_sc_actual_dep_date => p_sc_actual_dep_date,
    p_sc_report_set_id => p_sc_report_set_id,
    p_sc_report_set_name => p_sc_report_set_name,
    p_sc_defer_interface_flag => p_sc_defer_interface_flag,
    p_sc_send_945_flag => p_sc_send_945_flag,
    p_sc_rule_id => p_sc_rule_id,
    p_sc_rule_name => p_sc_rule_name,
    p_wv_override_flag => p_wv_override_flag,
    x_trip_id => x_trip_id,
    x_trip_name => x_trip_name);
    IF (x_return_status <> wsh_util_core.g_ret_sts_success) THEN
    DBMS_OUTPUT.put_line('Ship confirm has not been Completed For SO => ');
    ROLLBACK;
    RAISE fail_api;
    ELSE
    DBMS_OUTPUT.put_line('Ship confirm Successfully Completed For SO => ');
    COMMIT;
    DBMS_OUTPUT.put_line('Checking the Delivery Status after delivery action API Call');
    DBMS_OUTPUT.put_line('==========================================');
    SELECT wdd.source_code,
    wdd.released_status,
    wdd.inv_interfaced_flag,
    wdd.oe_interfaced_flag,
    wts.pending_interface_flag
    INTO v_source_code,
    v_released_status,
    v_inv_interfaced_flag,
    v_oe_interfaced_flag,
    v_pending_interface_flag
    FROM wsh_trips wtr,
    wsh_trip_stops wts,
    wsh_delivery_legs wlg,
    wsh_new_deliveries wnd,
    wsh_delivery_assignments wda,
    wsh_delivery_details wdd
    WHERE wtr.trip_id = wts.trip_id
    AND wts.stop_id = wlg.pick_up_stop_id
    AND wts.pending_interface_flag = 'Y'
    AND wdd.inv_interfaced_flag <> 'Y'
    AND wlg.delivery_id = wnd.delivery_id
    AND wnd.delivery_id = wda.delivery_id
    AND wda.delivery_detail_id = wdd.delivery_detail_id
    AND wnd.delivery_id = p_delivery_name
    AND wdd.source_line_id = i.source_line_id;
    IF (v_source_code = 'OE' AND v_released_status = 'C' AND
    v_inv_interfaced_flag <> 'Y' AND v_oe_interfaced_flag <> 'Y' AND
    v_pending_interface_flag = 'Y') THEN
    DBMS_OUTPUT.put_line('The Delivery has been Shipped & the Next Step is - Run Interface');
    DBMS_OUTPUT.put_line('===========================================');
    -- API Call for Submitting Interface Trip Stop
    wsh_ship_confirm_actions.interface_all_wrp(errbuf => v_errbuf,
    retcode => v_retcode,
    p_mode => 'ALL',
    p_stop_id => NULL,
    p_delivery_id => p_delivery_name,
    p_log_level => 0,
    p_batch_id => NULL,
    p_trip_type => NULL,
    p_organization_id => i.organization_id,
    p_num_requests => 1,
    p_stops_per_batch => 1);
    ELSE
    DBMS_OUTPUT.put_line('The Delivery has not Shipped Properly');
    END IF;
    END IF;
    END LOOP;
    EXCEPTION
    WHEN fail_api THEN
    DBMS_OUTPUT.put_line('==============');
    DBMS_OUTPUT.put_line('Error Details If Any');
    DBMS_OUTPUT.put_line('==============');
    wsh_util_core.get_messages(p_init_msg_list => 'Y',
    x_summary => x_msg_summary,
    x_details => x_msg_details,
    x_count => x_msg_count);
    IF x_msg_count > 1 THEN
    x_msg_data := x_msg_summary ||' '||x_msg_details;
    DBMS_OUTPUT.put_line(x_msg_data);
    ELSE
    x_msg_data := x_msg_summary||' '|| x_msg_details;
    DBMS_OUTPUT.put_line(x_msg_data);
    END IF;
    END;
    But at the stage of updating delivery attributes I get the following error message
    Warning: For Delivery Detail 21439836, the following field(s) are not updatable: SHIPPED_QUANTITY.
    Why?

    Hi Paul
    Looks like the authorisation is failing due to a bad registration for some reason.
    Would you be kind enough to clear out the registration to ensure we are dealing with a fresh start and no information is being used which may have become corrupt. You may do this by following this procedure;
    Remove existing reg details
    # usr/lib/cc-ccr/bin/eraseCCRRepository
    List /tmp/RegistrationProfile.properties file
    # cat /tmp/RegistrationProfile.properties
    Attempt re-registration
    # sconadm register -a -r /tmp/RegistrationProfile.properties
    Send us the full output of the commands above if you would please.

  • How to update delivery block in delivery(vl02n) using BAPI

    hi all,
    i have to update delivery block of a delivery using a BAPI. can any one suggest which bapi i have to use. and if possible let me know what are the mandatory fields that i have to fill in that bapi.
    thank you all in advance

    HI,
    Use the BAPI BAPI_OUTB_DELIVERY_CHANGE..
    Pass the delivery number DELIV_NUMB in both HEADER_DATA and HEADER_CONTROL..
    In HEADER_DATA-DLV_BLOCK pass the delivery block.
    In HEADER_CONTROL-DLV_BLOCK_FLG pass 'X'
    Thanks
    Naren

  • Function Module or BAPI to update Delivery Date (LIKP-lfdat)

    Hello friends,
    I have a requirement to update Delivery Date (LIKP-lfdat) , is there any Function Module or BAPI to do that? any sample codes are appreciated.
    Thanks a lot!
    Edited by: Qiwei Yin on Dec 11, 2008 8:50 AM

    hi
    try this
    BAPI_SALESORDER_CHANGE
    hope this helps
    regards
    Aakash Banga

  • BAPI to update DELIVERY

    Hi Experts ,
    I want to update delivery in the FM IDOC_INPUT_SHPMNT .
    I have checked WS_DELIVERY_UPDATE_2 , but it is not released .
    Please help .

    Hi ,
    Both of them show in attributes as NOT RELEASED .
    Can we use them?
    REgards,
    Sunitha

  • Bapi to update delivery date in confirmation tab in purchase order me22n tc

    Hi All,
    I am writing a BDC to update the data in confirmation tab for puchase orders for enjoy transaction.
    Please let me know how to updated delivery date in confirmation tab in purchase order(ME22N) using a bapi.
    I tried using BAPI_PO_CHANGE but found no parameter related to confirmations tab.  this BAPI has every thing to update like header data, item data, scheduling data..... except confirmation.
    So please let me know how to update the data in confirmation.
    We need to use only enjoy transaction ME22N not ME22 in BDC thats why we are looking for a BAPI.
    Regards,
    Venkat

    Hi
    Check the table parameter POCONFIRMATION in BAPI_PO_CHANGE
    U can see the field DELIV_DATE in the structure BAPIEKES.
    DELIVERY_DATE in the structure BAPIMEPOSCHEDULE as well.
    Regards,
    Dwaraka.S
    Edited by: Dwarakanath Sankarayogi on Feb 5, 2009 7:57 AM

  • User exit for updating delivery block of Sales order before Delivery

    Hi  Folks,
    Need to have an user exit for updating Delivery Block indicator for a Sales order Before creating its delivery
    I have got an exit in Program SAPMV45A
    MV50AFZ1
    FORM USEREXIT_REFRESH_DOCUMENT.
    that hits before processing the delivery block fro delivery (Correct me if i m wrong with this )
    Now i want now how to change the Delivery Block indicator of Sales order in that exit
    any FM available ?
    Thanks n regards
    Sonal...

    Hi  ,
    How did you solved this issue?
    I am having similar scenario in which while pressing the save button  delivery block should update if multiple schedule line exist.
    Tried by two different approaches in various user exit without any success.
    AFAIK we have two ways to achieve this functionality.
    1) Count the no of rows in vbep. If greater than 1 then multiple schedule line exist and we can assign the value to VBAK-LIFSK(delivery block) as per our requirement.
    This is not correct. If there are two line items both with single schedule line . This case total no lines in vbep will 2 and above condition will true which is incorrect.
    2) There is a indicator for multiple schedule line (VBAPD-EPMEH , xvbap-epmeh ) if it is check then multiple schedule line exist and we can assign the value to VBAK-LIFSK(delivery block) as per our requirement.
    If I write code in USEREXIT_SAVE_DOCUMENT_PREPARE.
    Multiple schedule line indicator is not populate so can not use 2nd approach.
    If I write code in  USEREXIT_SAVE_DOCUMENT it of no use as vbak is updated before reaching this user exit.
    If I write code in USEREXIT_MOVE_FIELD_TO_VBAK as this user exit is also called while pressing the enter key for this I have use
    the condition of fcode but it also fails in some condition.
    If fcode eq 'SICH'.
    Read table xvbap with key epmeh = 'X'.
    IF SY-SUBRC = 0.
    VBAK-LIFSK = '03'.
    Else.
    VBAK-LIFSK = ' '.
    Endif.
    Endif.
    Please help me to get the desired functionality working for all cases.
    1) One line item with multiple schedule line                                              
    2) Two line item with multiple schedule line                                             
    3) One line item having one schedule line and second one having multiple
    4)Two line item both with single schedule line.

  • MBST - Update Delivery completion indicator

    Hi,
    In tcode MBST.
    I want to select Delivery completion indicator check box and save it . There is any BAPI for it. I tried BAPI_GOODSMVT_CANCEL is not working for this requirement. I also tried MB_CHANGE_DOCUMENT, its not working. I wrote BDC / call transaction, the screen number often changes so its not working.
    I require BAPI or function module to update Delivery completion indicator.
    I am using SAP  4.6b version.
    Thanks
    Edited by: harryibm on Mar 30, 2010 4:10 PM
    Edited by: harryibm on Mar 30, 2010 4:11 PM

    HI
    But i have to update Delivery Completion Indicator based upon material document number, year and item no of material document.
    Please can you show a code to do it. I am picking it from MSEG table.

  • Problem while updating Delivery date uisng BAPI_PO_CHANGE

    Hi friends,
    Iam facing a problem while updating delivery date of a purchase order using the bapi BAPI_PO_CHANGE
    After the bapi is getting triggered iam geting sy-subrc = 0
    But in the return parameters iam getting 3 error messages so iam unable to update the  delivery date..
    Error meesage which iam getting are
    a) Purchase order still contains faulty items
    b) Enter Tax Code
    c) Instance 1000001 of object type PurchaseOrder could not be changed.
    How can i correct it..
    Please find my code below
    LOOP AT it_eket INTO wa_eket.
        wa_poschedule-po_item = wa_eket-ebelp.
        wa_poschedule-sched_line = wa_eket-etenr.
        wa_poschedule-delivery_date = wa_eket-eindt.
        APPEND wa_poschedule TO poschedule.
        wa_poschedulex-po_item = wa_eket-ebelp.
        wa_poschedulex-sched_line = wa_eket-etenr.
        wa_poschedulex-po_itemX = 'X'.
        wa_poschedulex-sched_lineX = 'X'.
        wa_poschedulex-delivery_date = 'X'.
        APPEND wa_poschedulex TO poschedulex.
    READ TABLE IT_EKPO INTO WA_EKPO WITH KEY EBELN  = WA_EKET-EBELN
                                             EBELP = WA_EKET-EBELP.
          IF SY-SUBRC = 0.
          WA_POITEM-PO_ITEM = WA_EKPO-EBELP.
          APPEND WA_POITEM TO POITEM.
          WA_POITEMX-PO_ITEM = WA_EKPO-EBELP.
          WA_POITEMX-PO_ITEMX = 'X'.
          APPEND WA_POITEMX TO POITEMX.
         ENDIF.
        CALL FUNCTION 'BAPI_PO_CHANGE'
          EXPORTING
            purchaseorder = wa_eket-ebeln
          TABLES
            return        = t_bapiret2
            POITEM        = POITEM
            POITEMX       = POITEMX
            poschedule    = poschedule
            poschedulex   = poschedulex.
        READ TABLE t_bapiret2 INTO wa_bapiret2 WITH KEY type = 'E'.
        IF sy-subrc NE 0.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    * EXPORTING
    *   WAIT          =
    * IMPORTING
    *   RETURN        =.
          IF sy-subrc = 0.
            WRITE :  'DELIVERY DATE UPDATED'.
          ENDIF.
        ENDIF.
    how can i correct it...
    Regards
    Kumar

    Hi,
    Pass the following values...
    POACCOUNT LIKE BAPIMEPOACCOUNT...
    poaccount-TAX_CODE = ? (value)....
    That should take care of the missing field.
    Regards,
    Madan..

Maybe you are looking for

  • HT1553 Backing up to a NTFS External Hard Drive (I have Paragon NTFS)

    Dear Apple experts, I have a Macbook Pro OS X 10.6.8 and a 1.5 TB Hard Drive (USB 2.0), to which I'd like to create a backup disk image. the 1.5 TB Hard Drive already has about 300 GB of data on it and is formatted NTFS Macbook has Paragon NTFS on it

  • How to create a .msg with a reference to a mail item with in the same mailbox.

    Hi, I want to achieve the following: I want to create a .msg message in a mailbox with some custom text and a reference to a mail item within the same mailbox but resides in a different folder. Is there a way to create a reference to a individual mai

  • Wont stay asleep

    when i try to put the computer to sleep it goes to sleep but immediately turns back on

  • EP 7.4 with SAML 2.0

    Hi All, I am using 7.4 portal and need to connect to .net system using SAML 2.0. The user ids will be different in portal and .net system. Please help me in configuring this SSO. Thanks, Swarnaprakash

  • Running LC Workbench on Mac OS X

    Hi all I really hope you can help me guyz. Im am shifting to mac but at work i am working with Adobe LC on win. Ideas on best solution for running Workbench/LC designer - bootcamp windows XP or WM fusion??? I would like to run VM, is that running ok