VA02 user exit - cannot update append structure field in XVBAP/VBAP

Hi Guys,
I am currently using one of the many user exits in updating XVBAP to update the VBAP sap table in VA02.
However I am encountering a problem when updating a customized append structure field. When I change the value of the append structure field only it doesnt update in VBAP upon save event. Only when I also change a sap standard field (ARKTX) the append structure gets updated.
Is there a way to resolve this wherein even if I just XVBAP-<append structure field> only ... the corresponding field in VBAP gets updated?
THanks guys and hope to hear from you soon.

Hi,
Which userexit subroutine are you using to move the append structure field values to the XVBAP table?  Are you having the user enter values on a screen during VA02 for the append structure fields, or are you setting those values within the code when the user saves?  For the purposes of this response, I will assume you are not having the user enter the values, and that (from what you have described) you are using subroutine userexit_move_field_to_vbap. 
While userexit_move_field_to_vbap sounds logical at first, you should be aware that this subroutine (which is called at the end of module vbap_fuellen) may only be called when one of the chain fields (in the flow logic of the VA02 screen) is changed.  If you search for all the calls of module vbap_fuellen in screens of SAPMV45A, you will see that most of them have a list of chain fields with "on chain-request" logic.  Since your append structure fields will not be listed in the flow logic of the standard VA02 screen, changing one of the append structure fields alone would not trigger the PAI module vbap_fuellen.  Of course, changing a standard VBAP field (ARKTX was your example) could trigger the vbap_fuellen module (as long as it was one of the chain fields) which would consequently trigger the userexit_move_field_to_vbap subroutine.
You may want to consider trying USEREXIT_SAVE_DOCUMENT_PREPARE.  Please explain further if I have misunderstood your question. 
Anyone else out there have any ideas?  Does my analysis make any sense?
Best Regards,
Jamie

Similar Messages

  • User exit to update VBEP (XVBEP) records while changing VBAP-MVGR2

    Hi experts,
    I have a requirement below in the sales order user exits . please help.
    During Sales order change (VA02), If I change the material group 2 (from additional data 1) vbap-mvgr2 field value from blank to '06', the delivery date of the sales order item needs to be redermined (i.e. vbep-edatu).
    However, the change of field VBAP-MVGR2 doesn't trigger the user exits (USEREXIT_MOVE_FIELD_TO_VBAP, USEREXIT_MOVE_FIELD_TO_VBEP and USEREXIT_CHECK_VBEP). The only user exit I know that is getting called during this change is USEREXIT_CHECK_VBAP. If we write the code in USEREXIT_CHECK_VBAP for updating the delivery date (VBEP-EDATU), it is not updating the delivery dates. (I tried updating XVBEP, IVBEP1 tables also in this user exit, but once after saving the sales order and comeback to display/change mode the previous values in delivery dates still exist).
    Can somebody suggest if there is any other user exit available which will update the VBEP, XVBEP tables after processing them.
    Best regards,
    Siva

    Hi Vinod,
    Thank you very much for the answer. Somehow, I forgot to update the UPDKZ indicator. The VBEP table is getting updated with the new dates..I am writing this code in USEREXIT_CHECK_VBAP as someother checks also are required to made this.
    With the change I haved done, for one sales order before applying the new date, the schedule line date are as follows
    Delivery date|ordered qty|rounded qty|Confirmed Qty
    01/05/2011   |30               |30               |0
    02/02/2011   |0                 |0                 |30
    after the changes with the new delivery date for xvbep table, the sales order now showing
    Delivery date|ordered qty|rounded qty|Confirmed Qty
    01/07/2011   |30               |30               |0
    01/07/2011   |0                 |0                 |30
    Is this resultant values practically correct. I think when we consider standard sap it should contain the values like below I believe. Do you have inputs on this..
    Delivery date|ordered qty|rounded qty|Confirmed Qty
    01/07/2011   |30               |30               |30
    If we want to achieve this what could be done.
    Best regards,
    Siva

  • Update VBRK append structure field

    Hi,
    I have added append structure field in VBRK.
    While doing billing cancellation, i have to update a value in this field for the billing number.
    I have coded this in a user exit.
    I ve called another program and written coding for updation. DB_UPDATE_TABLE FM  used for updation.
    The value is getting updated in the table. But once it came to the user exit, the value of the field is gone from the table.
    What could cause this issue?
    Thanks in advance.
    Ezhil

    Hi,
    1. Please check in the program that are you clearing the internal table any where ?
    2. If you are using the submit statement you can use with return statement .
    3. Other Export that internal table to memory inside the program and import that same internal table in the  user exit.
    Hope this might helps you to solve your problem.
    With Regards,
    Sumodh.P

  • User Exit to update user status at VA01/VA02

    Hi Expert
    Please help identify any User Exit to update User Status stored in tables (JSTO/JEST), at time of sales order (Business Object 2032) creation / change.
    Requirement is to set check mark on a specific user status in case of a material master is missing HTS code.
    Regards-Aamir

    Hi,
    If your requirement is to set the check the HTS field in the material master, you can make the field as Mandatory without which the  Material cant be saved
    You can make this field mandatory in OMS9 transaction code with field status as 89 and the field is MARC-STAWN
    Please revert if you need more details
    regards,
    santosh

  • User exit for update rule of info structure

    Hi gurus,
    Can anybody tell me how to implement a user exit of update rule for LIS info structure, for ex,S140.
    Thanks
    Eric xu

    There is no user exit and we are not allowed to modify the update rules of the standard SAP info structures. However, you can create your own info structure with the same or similar configuration and then apply a formula or a requirement in the update definitions (MC25 transaction), as you please.
    After that you can just turn off the update of S140 (in OMO1 transaction) and use your own info structure instead in MCSI transaction.

  • User exit to update extended segment in idoc for va01

    Hi Experts,
    I am working on Outbound IDOC interface for VA02 and VA01
    I am using ORDERS05 IDOC type
    i want to create one custom segment
    and i want to fill that custom segment
    but i am not able to find user exit to update this custom segment
    please help.

    Akshay,
    I think you want to send order response for the orders created via Va01 or edited by Va02
    To do this steps are:-
    1) Use FM IDOC_OUTPUT_ORDRSP to send order response (ORDERS05)
    2) Find the function exits in this Fm using search string as " Call Customer-function".
    3) Use include in the exits to write code to append new segments to the IDOC. Look for the Tables parameter in the Exits which are of structure type EDIDD. Insert new Segment details in this table and your IDOC will be generated with required values.
    Hope this helps!!
    Harry

  • User exit to update Vendor Confirmation in ME22N

    Hi,
    I am adding a subscreen at the header level using BADI ME_GUI_PO_CUST and ME_PROCESS_PO_CUST. This new sub screen at the header level will have fields like confirmation category, delivery date..etc., and a push buttom called 'CONFIRM'. When the user selects the line items to be confirmed and clicks the 'CONFIRM' button the data from the customer subscreen should be copied to the item details(in Confirmations tab).
    The problem is with the confirmation tab. I need an user exit to update this. When the PO is saved confirmation should be created and EKES table should be updated.
    Any useful information will surely be rewarded
    Thanks in advance
    Antony.

    Hi
    Following enhancements are available....
    Transaction Code - ME22N                    Change Purchase Order
    Exit Name           Description
    AMPL0001            User subscreen for additional data on AMPL
    LMEDR001            Enhancements to print program
    LMELA002            Adopt batch no. from shipping notification when posting a GR
    LMELA010            Inbound shipping notification: Transfer item data from IDOC
    LMEQR001            User exit for source determination
    LMEXF001            Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001            Customer-Specific Source Determination in Retail
    M06B0001            Role determination for purchase requisition release
    M06B0002            Changes to comm. structure for purchase requisition release
    M06B0003            Number range and document number
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn.
    M06E0004            Changes to communication structure for release purch. doc.
    M06E0005            Role determination for release of purchasing documents
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1            Enhancement to Document Overview ME21N/ME51N
    MEVME001            WE default quantity calc. and over/ underdelivery tolerance
    MM06E001            User exits for EDI inbound and outbound purchasing documents
    MM06E003            Number range and document number
    MM06E004            Control import data screens in purchase order
    MM06E005            Customer fields in purchasing document
    MM06E007            Change document for requisitions upon conversion into PO
    MM06E008            Monitoring of contr. target value in case of release orders
    MM06E009            Relevant texts for "Texts exist" indicator
    MM06E010            Field selection for vendor address
    MM06E011            Activate PReq Block
    MMAL0001            ALE source list distribution: Outbound processing
    MMAL0002            ALE source list distribution: Inbound processing
    MMAL0003            ALE purcasing info record distribution: Outbound processing
    MMAL0004            ALE purchasing info record distribution: Inbound processing
    MMDA0001            Default delivery addresses
    MMFAB001            User exit for generation of release order
    MRFLB001            Control Items for Contract Release Order
    Hope this helps to solve ur problem....
    <b>do reward if useful....</b>
    regards
    dinesh

  • How to find which are the user exits that updating z table.

    There was a question posted by someone else which said:
    I have a z table. my requirement is to find the user exits that update the value to this table?
    but my requirement is to get only those user exits that update my z table.
    Before that question was rejected, it got 5 replies which made me think that this tip is worth sharing.
    So the steps are:
    Do a where-used list search from SE11
    Click on Search Range button at bottom
    Type UPDATE (you can also add Insert, Delete etc to select-option) to ABAP Key Words field
    Say No to the popup that asks whether to include Fields of the Table
    Result will show relevant programs with code snippets doing static Update on that custom table.

    EWK1 would be too performance heavy in this case. It scans the source code to get the result.
    You can however, download the list of programs given in where-used list, and give that as limiting condition in EWK1 or some other code scanning utility.
    Using my method, where-used list of table is taken from database tables, and then code scanning is done only on the that list, not on entire Z* programs.
    Try it yourself to notice the speed difference.

  • Re: User Exits on Updating and Integrating

    Carl,
    I sent this out to the list some time ago. But in case
    you missed it here it is again.
    Below is a zip file (UUencoded) containing instructions
    on integrating Forte with Microsoft SourceSafe. It may
    contain enough information for you to figure out how to
    tap the repository callouts that happen on integrations.
    -Fred
    [email protected]
    >
    I was reading an old Forte v3.0 presentation on whats new in Forte v3.0.
    One of the proposed features was a set of primitives for defining user exits
    on updates and integrations.
    I haven't seen any facility for this in Forte v3.0g though. Has this in fact been
    done ? Does anyone have any information on this.
    Thanks,
    -Carl
    Carl Schei
    Technical Forte Consultant
    South Africa
    +27 31 3641765 (w)
    email : [email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>------------------------------------------------------------------------
    Any views expressed in this message are those of the individual sender,
    except where the sender specifically states them to be the views of
    Reuters Ltd.
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Although not a direct answer to your question, this blog series will help you to understand the difference better :
    /people/thomas.weiss/blog/2006/01/24/what-the-new-enhancement-framework-is-for-150-its-basic-structure-and-elements-for-beginners
    /people/thomas.weiss/blog/2006/03/15/the-new-enhancement-framework-part-2--what-else-you-need-to-know-before-building-an-enhancement
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework

  • User Exit to Override ASN IDOC field

    Hello Experts,
    I am looking for an user exit to override ASN IDOC field while sending IDOC to third party tool. Below is the scenario
    Once we do the PGI on outbound delivery SPED output creates ASN and it triggers ZASN output. We use basic type DELVRY03 to send IDOC to third party tool. Now before sending ASN to third party tool we would want to send them a flag so based on that they perform auto receipt process in their system.
    I have selected Export Indicator (EXPKZ) field from IDOC since this hasn't been mapped with third party tool. Once we get an user exit to update the Auto Receipt flag in the Export Indicator field in IDOC we will map it in XI/PI so that it will go to third party tool for further processing.
    I have a logic to identify the ASN which needs to set auto flag but I am struggling where and how to put that logic, what user exit suffice the requirement?
    Thanks in Advance
    Jay

    If my understanding correct Before you send inbound delivery information to third party system you will send one Flag to Third party system to do goods receipt.I have one question if system failed to create /user cancelled Outbound delivery then how will you stop auto goods receipt in Third party system ?.Also After goods receipt GR messages failed in sap as there is no ASN created in system.
    If you want to send the flag before ASN creation then at Speed message level you split the Idoc message into two parts one for flag the message two third party system and another one to create Inbound delivery.

  • User Exit for checking Purchase Requisitioner Field in CJ20N Transaction

    Hi,
    I want user Exit for checking Purchase Requisitioner field while making PR through CJ20N transaction. I have trie EXIT_SAPLEBND_001 user exit. Problem in this user exit is I am not getting Purchase Requisitioner No & Item No in I_CEBAN
    structure.
    Please suggest what to do ?
    Regard's
    Shabbir

    Hi,
    You can check with this BADI ME_PROCESS_REQ_CUST. 
    Kindly refer below mentioned link for further details:
    Badi ME_REQ_POSTED  For CJ20N Transaction
    Hope this will help you.
    Regards,
    Mudita

  • BADI or User exit to update the data in a PO(ME22N or ME21N)

    Hi,
    I require a BADI or an user exit to update all the line items of a PO...
    Please let me know if there is a badi or user exit that triggers before the saving of the PO..and also updates the values of all the item data fields..
    Thanks in advance
    Regards
    Shiva

    Hi,
    we have checked above BADI;s but will not suffice the requirement;
    The requiement is
    While Creating PO(ME21N) and Changing PO(ME22N):
    When the user tries to Save the PO:
    All the line items should be accessible and can be editable.
    If the validation fails, error message should be displayed on
    the screen and user should be able to edit at that location.
    Please let me know if there is any other way or enhancement point for the same...
    Regards
    Shiva

  • User exit to update characteristic attributes in sales order

    Hi all,
    I am having one queer requirement.
    We are having variant configuration. We are manufactiuring a material which is having lenght as one of the characteristic.
    While creating the sales order the user will enter the value against length. This we have to pull in the inspection lot with range.
    For ex. if the length required by customer is 1000 mm then depending upon the tolerance limit say +/-1.5 %, another characteristic should get updated with the allowed range (here in this example the lower range  985 and upper range 1015) against another characteristic.
    This characteristis will sever as class characteristic for QM master inspection characteristic.
    Here the problem is the functionality can't be mapped with object dependency in satandard SAP (you can't derive range with object dependency), so I am looking for user exit to update the second characteristic depending upon the value of first characteristic and allowed percentage.
    The user exit should be effective for sales order creation as well as sales order change.
    Please help.

    Hello Nikhil,
    I am looking for the tolerance limit to upadte against one char only and not two separate chars.
    If the range is against only one char (and that too again in numeric format and not characteristic format) same shall can be pulled against master inspection characteristic in inspection lot.
    Looking forward for the soution.
    Mimiri

  • 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.

  • User Exits on Updating and Integrating

    I was reading an old Forte v3.0 presentation on whats new in Forte v3.0.
    One of the proposed features was a set of primitives for defining user exits
    on updates and integrations.
    I haven't seen any facility for this in Forte v3.0g though. Has this in fact been
    done ? Does anyone have any information on this.
    Thanks,
    -Carl
    Carl Schei
    Technical Forte Consultant
    South Africa
    +27 31 3641765 (w)
    email : [email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    You can use the BADI:MB_MIGO_BADI. In this badi you could check the header by using the method status and header.
    Hope this solves your problem.
    Regards,
    Narayani

Maybe you are looking for