What not to do in User exits ??

Hi ,
I came to know that we should not use Commit,Call transaction,Calling popup's ,Exit and stop should not be used while coding in user exits .
Can anyone please explain me in detail what is the impact of using these in the an exit code . A detailed explanation will serve the purpose .
Thanks,
Daniel .

Using COMMIT.
Consequence.
The data entered in a transaction is not commited at the time the control reaches the EXIT. If you do a commit at that stage, system tries to write the changes that are still in the buffer to the database. There may be more updates to the database tables after the exit which doesn't get commited for some other reason. This may lead to inconsistencies of the data spoiling the basic principles of databse integrity.
Call transaction.
This may lead to an endless loop situation where the exit gets called again in the transaction.
EXIT and STOP have similar consequneces as mentioned for COmmit.
Error messages also rollback the changes that are done till that point in time.
Regards,
Ravi

Similar Messages

  • How to read data which is not on interface of user-exit

    Hi experts,
    the data which I need is not on interface of user-exit. I can do export table to memory id and than in user-exit import that. Does this work always?
    I have seen that sometimes is possible to see data with
    (include-name)table-name. Can I always use this?
    In detail: in transaction ME51N is new tabstrip created with customer fields.I have to know the purchase order for the selected item which is filled on another tabstrip.
    Can anyone help me?
    Thanks.
    Best regards,
    Danijela

    Hi Danijela,
    To answer your question about the "(module)object" approach:
    Have you been in a user exit function and the data you need wasn't passed on to you? You can easily grab the data from the memory stack using this little trick. Let's say that you need some IDoc information that was created from the function IDOC_INPUT_DELVRY... You can get it directly from the call stack like this.
    The code was written in R/3 4.6C but should work in any SAP version.
    DATA: i_EDIDC like EDIDC,
          i_EDIDD like EDIDD occurs 0 with header line.
    CONSTANTS:
          c_EDIDD(21)  value '(SAPLV55K)IDOC_DATA[]',
          c_EDIDC(21)  value '(SAPLV55K)IDOC_CONTRL',
          c_E1ADRM1(7)      value 'E1ADRM1'
          c_SHPCON(6)  value 'SHPCON'.
    Field-symbols: <FC>, <FD> .
    clear: i_EDIDC, i_EDIDD.
    refresh: i_EDIDD.
    * Get the Control Record from memory
    assign (c_EDIDC) to <FC>.
    if SY-SUBRC = 0.
      i_EDIDC = <FC>.
      IF i_EDIDC-MESTYP = c_SHPCON.
    *   None of the partner information can be passed directly from
    *   the IDOC function, so we'll get it from memory.
    *   Get IDOC data records from memory
        assign (c_EDIDD) to <FD>.
        i_EDIDD[] = <FD>.
    *   Now you have the entire IDOC available to you without making
    *   a DB select.
        read table i_EDIDD with key SEGNAM   = c_E1ADRM1.
    *   Load new value HERE...
      ENDIF.
    ENDIF.
    I found this a long time ago on the web and used it successfully multiple times in the past.
    Hope this helps,
    Guenther

  • Whats the exact differnrce between User-Exit and BADI ?

    Hi All,
    Can any one tell me whats the exact difference between User-Exit and BADI ?
    Even in User Exit also we write our code and the same in BADI also. Can any one plse elaborate wats the exact difference between these ...
    Thanks & Regards,
    Anil Kumar.

    BADI is the Object oriented concept of USER-EXIT
    chk this
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Message was edited by:
            Chandrasekhar Jagarlamudi

  • Datasource Enahncement - What is the case when i am not req to do USER Exit

    Experts,
      Can someone explain me what is/are the cases when i do not require to code in the user exit to populate the enhanced field?
    I see for some datasource the enhanced values are populated automatically.
    Appreciate your answers.
    Thanks
    Hari

    Hi Hari,
    In some cases we  do not need to write any code .
    Whenever we need to enhance our datasource we first check in LBWE if the required filed is available in the pool .
    If it is available in pool we simply transfer it to extract structure and in this case we do not write wny code.
    The second case is when we append our extractiion structure because the required field is not abailabl ein the pool.
    In this case we need to write code to populate the field.
    Hope it helps
    Manish Sharma

  • What is the difference between User exit and BADI

    in user exit support to  4 types of exits(Menu exit,Screen exit,Field exit,Function module exit)in similar way  is badi  supported to all  type

    hi,
    BADIs (Business Add-Ins) are the new way in which SAP allows you to enter additional logic into an application, and is based on OO ABAP. (Methods in Interfaces) Transactions SE18/SE19.
    Customer Exits are the older method (which is still supported), whereby you create an include that is in a function module, which is called when the customer exit is activated. Transactions CMOD/SMOD.
    In terms of terminology, people often use the terms "Customer Exit" and "User Exit" interchangeably, however, strictly speaking, User Exits are places provided in subroutines (notably in the SD module) where you can insert your own code, but require a modification to an include (although it is provided for customers to change).
    They are two different methods to do the same thing: to check and update the data into std trx.
    The user-exit is the old concept based on function module
    The BADI is the new concept based on OO ABAP.
    So you can often to find a BADI and an USER-EXIT to do the same thing and you have to decide what you prefer to use.
    Anyway the new trx and the enjoy trx use BADIs as exit
    User-exits are SAP's oldest way of updating data in standard programs - see MV45AFZZ - Form Userexit_Save_Document_Prepare.
    Here you simply add ABAP code or add INCLUDES, etc
    Customer-exits were SAP's next generation. They are built on the concept of function modules - where you add your custom within the Z func modules.
    BADIs are SAP's newest and current way of updating data uisng Object-oriented concepts.
    Please check this link.
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Check the below links:
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/badi-vs-user-exit-405324
    http://www.sapfans.com/forums/viewtopic.php?t=172792
    User-Exit is a specific place in a transaction-process where SAP offers
    third parties to include there own business functionality. Actually
    User-Exit is the namespace used for Exits programmed by SAP specifically
    for SD. For the other modules it's called Customer-Exit.=20
    >Business Add-Ins (BADI) =20
    The use of object orientated code within SAP has lead to new method of
    enhancing standard SAP code called Business Add-Ins or BADI's for short.
    Although the implementation concept is based on classes, methods and
    inheritance you do not really have to understand this fully to implement
    a BADI.
    Difference between BADI's & User-Exit.
    1. Check the replies for your question which asked by another person.
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/569786
    2. Similar thread.
    http://www.sapfans.com/forums/viewtopic.php?p=559472&sid=99caa729618b18a8f7c46cc2f047af52
    3. Same question explained
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Badi Tutorials
    1. Sample program.
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    2. Implementing BADI.
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    Hope it helps.
    3. From help.sap.com
    http://help.sap.com/saphelp_nw04/helpdata/en/5f/071eed117c11d5b37d0050dadef62b/frameset.htm
    Pls : award points if it is useful

  • Add ordered quantity to delivery note idoc desadv01 with user exit

    Hi,
    I am using the IDOC DESADV01 to output electronic delivery info when a user PGIs on a delivery note.
    The problem is I need some extra data like the original order qty, this exists in field VBAP-KWMENG
    So I think I would need to extend the idoc and do some kind of user exit to populate the value into the new idoc field.
    Unfortunately I have no experience with this, can anybody advise if its the correct way and how to get started?
    With thanks
    Rob.

    I apologies our system is totally different based on that I suggested.
    But current I guess you have to extend idoc.
    Below link is helpful for extending idoc.
    Let me know if still if you face any problem.
    http://www.intelligententerprise.com/channels/applications/feature/archive/kasturi.jhtml
    Thanks,
    Narayan

  • DESADV outbound. not sure on correct user exit

    Hi,
    I have been asked to extend the DESADV idoc to include a new segment underneath the E1EDP07 area. I have create a new segment (one we are using on an extended ORDERS01) but I am a little confused on the best way of proceeding.
    I used a customer enhancement project MM06E001 (EXIT_SAPLEINM_002) for the ORDERS01 modification and this worked well - but I dont seem to be able to use a similar structure for DESADV from a delivery document.
    I have found out there is a user exit (USEREXIT_E1EDP07 in Program LVED2FZZ) but I am not sure if I can use this. In my enhancement I managed to include the code in the new segment as I basically coded to say - If parent segment was the last segment updated then the next one should be the new segment. The user exit in LVED2FZZ looks like it is specifcally updating when it hits E1EDP07. I would want to populate some entries in E1EDP07 and my new segment in the same loop - although not sure if you can do this.
    I can send more details if it helps - but basically I am looking for the best way to populate a new segment which has E1EDP07 as the parent segment.
    Any ideas???
    Regards
    Paul

    wow this is very close now... it seems like I have been misinformed and the zsegment should actually sit under E1EDP09. The delivery I have has two lines and the output I am getting in the idoc is slightly wrong. I get two Z1PCK1 lines but they both are located under the first E1EDP09. This should only have one entry and the second E1EDP09 should also have an entry.
    I have the following code
    data: lv_index type sy-tabix.
    data: zsegment type Z1PCK1.
    data: wa_edidd type edidd.
    read table int_edidd with key segnam = 'E1EDP09'.
    if sy-subrc eq 0.
    lv_index  = sy-tabix + 1.
    endif.
      zsegment-ZWIDTH = 100.
      zsegment-ZLENGTH = 101.
      zsegment-ZHEIGHT = 102.
      zsegment-ZPACKWIDTH = 103.
      zsegment-ZPACKLENGTH = 104.
      zsegment-ZPACKHEIGHT = 105.
      zsegment-ZPACKSIZE = 106.
    wa_edidd-segnam = 'Z1PCK1'.
    wa_edidd-sdata = zsegment.
    insert wa_edidd into int_edidd index lv_index.
    clear wa_edidd.
    clear int_edidd.
    clear lv_index.
    I am sure this is something to do with the lv_index. When I run this through debugger both times lv_index = 18. I tried to change the value of this to 19 and also 20 but it still didn't work.
    I basically get the following in the structure
    E1EDP07
    ->E1EDP09
    -->Z1PCK1
    -->Z1PCK1
    ->E1EDP09
    ->E1EDPT1
    any ideas on how to fix the index issue to work with multiple lines??
    Regards
    Paul

  • ATC not checking code in user exit includes

    Dear Friends,
    I'm not sure if you have faced this issue, but I have not found anyone or any post or any document or any OSS note talking about it.
    I've recently have realized than when using ATC for checking the custom code of an Z include it was finding cero errors when it was actually full of them.
    In fact using code inspector, the errors where found. It was not an issue of using a different variant, this was checked, CI and ATC are using the same,
    The issue itself was clear: When the ATC checks a parent object its checks the code of its includes. If you try to check an include directly with ATC, it is ignored with message "No checks are available for the objects types", giving the chance to "add master program" so it will be checked when the master program is checked with all its includes. Last, ATC neither Code Inspector checks custom code.
    The end result is that when trying to check the code in a user exit include with ATC it does not find any error.
    I can think about encapsulating the code found in a user exits but this is a titanic task.
    The main problem is that the jobs for getting in CCLM the quality required massive ATC runs that will not catch the errors in these kind of objects.
    Have you face this issue? do you have any recommendation?
    I would like your opinion before raising this as customer message, as from my point of this this may require a SAP correction.
    Thanks
    Aubin

    Hello Aubin,
    to be perfectely honest I have not started with the indeep analysis yet. One reason is that the behaviour regarding exit techniques has got improoved recently so it is important to do the analysis on a SP level close / identical to yours.
    If I am not mistaken CMOD function exits yield into 2 TADIR keys:
    - 'R3TR' 'FUGX' .... - referring to the definition of the function group - typically provided by SAP - residing in a SAP package
    - 'R3TR' 'FUGS' .... - referring to the implementation - typically custom code - residing in a Z-Package
    My initial assumpution was that mapping partobjects always return FUGX but shall return FUGS. And also I was assuming the custom package shall contain the 'FUGS' implementation which shall enable checking out of the box.
    But it seems these assumptions are not valid. I am not sure wether I would be able to analyse this issue this week. In any case I will update this thread as soon as the analysis has been done.
    Best Regards
      Klaus

  • What are the User Exits for Sales Order creation process?

    Hi,
    what are the User Exits for Sales Order creation process? how can I find them?
    thanks in advance,
    will reward,
    Mindaugas

    Please check this info:
    User Exits In Sales Document Processing
    This IMG step describes additional installation-specific processing in sales document processing. In particular, the required INCLUDES and user exits are described.
    Involved program components
    System modifications for sales document processing affect different areas. Depending on the modification, you make the changes in the program components provided:
    MV45ATZZ
    For entering metadata for sales document processing. User-specific metadata must start with "ZZ".
    MV45AOZZ
    For entering additional installation-specific modules for sales document processing which are called up by the screen and run under PBO (Process Before Output) prior to output of the screen. The modules must start with "ZZ".
    MV45AIZZ
    For entering additional installation-specific modules for sales document processing. These are called up by the screen and run under PAI (Process After Input) after data input (for example, data validation). The modules must start with "ZZ".
    MV45AFZZ and MV45EFZ1
    For entering installation-specific FORM routines and for using user exits, which may be required and can be used if necessary. These program components are called up by the modules in MV45AOZZ or MV45AIZZ.
    User exits in the program MV45AFZZ
    The user exits which you can use for modifications in sales document processing are listed below.
    USEREXIT_DELETE_DOCUMENT
    This user exit can be used for deleting data which was stored in a separate table during sales document creation, for example, if the sales document is deleted.
    For example, if an additional table is filled with the name of the person in charge (ERNAM) during order entry, this data can also be deleted after the sales order has been deleted.
    The user exit is called up at the end of the FORM routine BELEG_LOESCHEN shortly before the routine BELEG_SICHERN.
    USEREXIT_FIELD_MODIFICATION
    This user exit can be used to modify the attributes of the screen fields.
    To do this, the screen fields are allocated to so-called modification groups 1 - 4 and can be edited together during a modification in ABAP. If a field has no field name, it cannot be allocated to a group.
    The usage of the field groups (modification group 1-4) is as follows:
    Modification group 1: Automatic modification with transaction MFAW
    Modification group 2: It contains 'LOO' for step loop fields
    Modification group 3: For modifications which depend on check tables or on other fixed information
    Modification group 4: is not used
    The FORM routine is called up for every field of a screen. If you require changes to be made, you must make them in this user exit.
    This FORM routine is called up by the module FELDAUSWAHL.
    See the Screen Painter manual for further information on structuring the interface.
    USEREXIT_MOVE_FIELD_TO_VBAK
    Use this user exit to assign values to new fields at sales document header level. It is described in the section "Transfer of the customer master fields into the sales document".
    The user exit is called up at the end of the FORM routine VBAK_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBAP
    Use this user exit to assign values to new fields at sales document item level. It is described in the section "Copy customer master fields into the sales document".
    The user exit is called up at the end of the FORM routine VBAP_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBEP
    Use this user exit to assign values to new fields at the level of the sales document schedule lines.
    The user exit is called up at the end of the FORM routine VBEP_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBKD
    Use this user exit to assign values to new fields for business data of the sales document. It is described in the section "Copy customer master fields into sales document".
    The user exit is called up at the end of the FORM routine VBKD_FUELLEN.
    USEREXIT_NUMBER_RANGE
    Use this user exit to define the number ranges for internal document number assignment depending on the required fields. For example, if you want to define the number range depending on the sales organization (VKORG) or on the selling company (VKBUR), use this user exit.
    The user exit is called up in the FORM routine BELEG_SICHERN.
    USEREXIT_PRICING_PREPARE_TKOMK
    Use this user exit if you want to include and assign a value to an additional header field in the communication structure KOMK taken as a basis for pricing.
    USEREXIT_PRICING_PREPARE_TKOMP
    Use this user exit if you want to include or assign a value to an additional item field in the communication structure KOMP taken as a basis for pricing.
    USEREXIT_READ_DOCUMENT
    You use this user exit if further additional tables are to be read when importing TA01 or TA02.
    The user exit is called up at the end of the FORM routine BELEG_LESEN.
    USEREXIT_SAVE_DOCUMENT
    Use this user exit to fill user-specific statistics update tables.
    The user exit is called up by the FORM routine BELEG-SICHERN before the COMMIT command.
    Note
    If a standard field is changed, the field r185d-dataloss is set to X. The system queries this indicator at the beginning of the safety routine. This is why this indicator must also be set during the maintenance of user-specific tables that are also to be saved.
    USEREXIT_SAVE_DOCUMENT_PREPARE
    Use this user exit to make certain changes or checks immediately before saving a document. It is the last possibility for changing or checking a document before posting.
    The user exit is carried out at the beginning of the FORM routine BELEG_SICHERN.
    User exits in the program MV45AFZA
    USEREXIT_MOVE_FIELD_TO_KOMKD
    Use this user exit to include or assign values to additional header fields in the communication structure KOMKD taken as a basis for the material determination. This is described in detail in the section "New fields for material determination".
    USEREXIT_MOVE_FIELD_TO_KOMPD
    Use this user exit to include or assign values to additional item fields in the communication structure KOMPD taken as a basis for the material determination. This is described in detail in the section "New fields for material determination".
    USEREXIT_MOVE_FIELD_TO_KOMKG
    Use this user exit to include or assign values to additional fields in the communication structure KOMKG taken as a basis for material determination and material listing. This is described in detail in the section "New fields for listing/exclusion".
    USEREXIT_MOVE_FIELD_TO_KOMPG
    Use this user exit to include or assign values to additional fields in the communication structure KOMPG taken as a basis for material determination and material listung. This is described in detail in the section "New fields for listing/exclusion".
    USEREXIT_REFRESH_DOCUMENT
    With this user exit, you can reset certain customer-specific fields as soon as processing of a sales document is finished and before the following document is edited.
    For example, if the credit limit of the sold-to party is read during document processing, in each case it must be reset again before processing the next document so that the credit limit is not used for the sold-to party of the following document.
    The user exit is executed when a document is saved if you leave the processing of a document with F3 or F15.
    The user exit is called up at the end of the FORM routine BELEG_INITIALISIEREN.
    User-Exits in program MV45AFZB
    USEREXIT_CHECK_XVBAP_FOR_DELET
    In this user exit, you can enter additional data for deletion of an item. If the criteria are met, the item is not deleted (unlike in the standard system).
    USEREXIT_CHECK_XVBEP_FOR_DELET
    In this user exit, you can enter additional data for deletion of a schedule line. If the criteria are met, the schedule line is not deleted (unlike in the standard system).
    USEREXIT_CHECK_VBAK
    This user exit can be used to carry out additional checks (e.g. for completion) in the document header. The system could, for example, check whether certain shipping conditions are allowed for a particular customer group.
    USEREXIT_CHECK_VBAP
    This user exit can be used to carry out additional checks (e.g. for completion) at item level.
    USEREXIT_CHECK_VBKD
    The user exit can be used to carry out additional checks (e.g. for completion) on the business data in the order.
    USEREXIT_CHECK_VBEP
    This user exit can be use to carry out additional checks (e.g. for completion) on the schedule line. During BOM explosion, for example, you may want certain fields to be copied from the main item to the sub-items (as for billing block in the standard system).
    USEREXIT_CHECK_VBSN
    You can use this user exit to carry out additional checks (e.g. for completion) on the serial number.
    USEREXIT_CHECK_XVBSN_FOR_DELET In this user exit, you can enter additional criteria for deletion of the serial number. If the criteria are met, the serial number is not deleted (unlike in the standard system).
    USEREXIT_FILL_VBAP_FROM_HVBAP
    You can use this user exit to fill additional fields in the sub-item with data from the main item.
    USEREXIT_MOVE_FIELD_TO_TVCOM_H
    You can use this user exit to influence text determination for header texts. For example, you can include new fields for text determination or fill fields that already exist with a new value.
    USEREXIT_MOVE_FIELD_TO_TVCOM_I
    You can use this user exit to influence text determination for item texts. For example, you can include new fields for text determination or fill fields that already exist with a new value.
    User-Exits for product allocation:
    The following user exits all apply to structure COBL, in which the data for account determination is copied to item level.
    USEREXIT_MOVE_FIELD_TO_COBL
    Option to include new fields in structure COBL.
    USEREXIT_COBL_RECEIVE_VBAK
    Option to assign values from the document header to the new fields.
    USEREXIT_COBL_RECEIVE_VBAP
    Option to supply values from the item to the new fields.
    USEREXIT_COBL_SEND_ITEM
    A changed field can be copied from the structure into the item. You could use the user exit to display a certain field in the account assignment block (see also MV45AFZB).
    USEREXIT_COBL_SEND_HEADER
    A changed field can be copied from the structure to the header (see source text MV45AFZB)
    USEREXIT_SOURCE_DETERMINATION
    You can use this user exit to determine which plant will be used for the delivery. In the standard system, the delivering plant is copied from the customer master or the customer-material info record. If you want to use a different rule, then you must enter it in this user exit.
    USEREXIT_MOVE_FIELD_TO_ME_REQ
    With this user exit you can include additional fields for the following fields:
    EBAN (purchase requisition)
    EBKN (purchase requisition-account assignment)
    USEREXIT_GET_FIELD_FROM_SDCOM
    Option to include new fields for the variant configuration. Fields that are included in structure SDCOM can be processed and then returned to the order.
    USEREXIT_MOVE_WORKAREA_TO_SDWA
    You can use this user exit to format additional work areas for the variant configuration. You will find notes on the user exit in MV45AFZB.
    User-Exits for first data transfer:
    The following user exits can only be used for the first data transfer.
    Note
    Only use the user exits if the names/fields do NOT have the same name.
    USEREXIT_MOVE_FIELD_TO_VBAKKOM
    Option to include additional fields in structure VBAKKOM (communiction fields for maintaining the sales document header)
    USEREXIT_MOVE_FIELD_TO_VBAPKOM
    Option to include additional fields in structure VBAPKOM (communication fields for maintaining a sales item)
    USEREXIT_MOVE_FIELD_TO_VBEPKOM
    Option to include additional fields in structure VBEPKOM (communication fields for maintaining a sales document schedule line)
    USEREXIT_MOVE_FIELD_TO_VBSN
    You can use this user exit to include fields in structure VBSN (scheduling agreement-related change status).
    USEREXIT_MOVE_FIELD_TO_KOMKH
    You can use this user exit to include new fields for batch determination (document header).
    USEREXIT_MOVE_FIELD_TO_KOMPH
    You can use this user exit to include new fields for batch determination (document item).
    USEREXIT_CUST_MATERIAL_READ
    You can use this user exit to set another customer number in the customer material info record (e.g. with a customer hierarchy)
    USEREXIT_NEW_PRICING_VBAP
    Option for entry of preconditions for carrying out pricing again (e.g. changes made to a certain item field could be used as the precondition for pricing to be carried out again). Further information in MV45AFZB.
    USEREXIT_NEW_PRICING_VBKD
    Option for entry of preconditions for carrying out pricing again (e.g. changes to the customer group or price group could be set as the preconditions for the system to carry out pricing again). Further information in MV45AFZB.
    User-Exits in Program MV45AFZD
    USEREXIT_CONFIG_DATE_EXPLOSION
    The BOM is exploded in the order with the entry date. You can use this user exit to determine which data should be used to explode the BOM (explosion with required delivery date, for example).
    User exits in the program FV45EFZ1
    USEREXIT_CHANGE_SALES_ORDER
    In the standard SAP R/3 System, the quantity and confirmed date of the sales document schedule line is changed automatically if a purchase requisition is allocated, and it or the sales document is changed (for example, quantity, date).
    If you want to change this configuration in the standard system, you can define certain requirements in order to protect your sales orders from being changed automatically. Use this user exit for this purpose. Decide at this point whether the schedule lines are to be changed.
    User-Exits in Program RV45PFZA
    USEREXIT_SET_STATUS_VBUK
    In this user exit you can you can store a specification for the reserve fields in VBUK (header status). Reserve field UVK01 could, for example, be used for an additional order status (as for rejections status, etc.).
    The following workareas are available for this user exit:
    VBUK (header status)
    FXVBUP (item status)
    FXVBUV (Incompletion)
    USEREXIT_SET_STATUS_VBUP
    In this user exit you can you can store a specification for the reserve fields for VBUP (item status).
    The following workareas are available for this user exit:
    FXVBAP (Item data)
    FXVBAPF (Dynamic part of order item flow)
    FXVBUV (Incompletion)
    USEREXIT_STATUS_VBUK_INVOICE
    You can use this user exit to influence billing status at header level.
    User exits in the screens
    Additional header data is on screen SAPMV45A 0309, additional item data on screen SAPMV45A 0459. These screens contain the Include screens SAPMV45A 8309 or SAPMV45A 8459 as user exits.
    Fields which are also to be included in the sales document for a specific installation should be included on the Include screens for maintaining. If an application-specific check module is needed for the fields, this can be included in the Include MV45AIZZ. The module is called up in the processing logic of the Include screens.
    For field transports, you do not have to make changes or adjustments.
    Example
    A new field, VBAK-ZZKUN, should be included in table VBAK.
    If the check is defined via the Dictionary (fixed values or check table) the field must be included with the fullscreen editor in the Include screen SAPMV45A 8309. In this case, no change has to be made to the processing logic.
    User Exits in Program MV45AFZ4
    USEREXIT_MOVE_FIELD_TO_KOMK
    You can use this user exit to add or edit additional header fields in the communication structure - KOMK- for free goods determination. For more information, see the New Fields for Free Goods Determination IMG activity.
    USEREXIT_MOVE_FIELD_TO_KOMP
    You can use this user exit to add or edit additional item fields in the communication structure KOMP for free goods determination. For more information see the New Fields for Free Goods Determination IMG activity.
    User Exits in the SAPFV45PF0E and SAPFV45PF0C Programs
    EXIT_SAPFV45P_001
    You can use this user exit to decide whether intercompany billing data is used in the profitability segment for cross-company code sales, or whether the data comes from external billing (external customer, sales data from the selling company code.
    Regards
    Eswar

  • So a user exit script is just a function library? What if I have two scripts I want to use?

    Sorry if this is a dumb question, but from what I gather from various examples I've seen online the User Exit piece of MDT lets you specify a script that can contain a library of *multiple* functions right? So what if I have two User Exit Scripts I want
    to use in MDT? Do I just copy the functions I want into a single user exit script and only reference that or is there a way to reference two user exit scripts in customsettings.ini?

    Those two routers don't have USB ports nor similar. Unless you have a network printer you cannot connect the printer to the network. You have to connect the printer to a computer and use printer sharing to make it accessible from the LAN.
    If the printer only has a wired network interface you must run a wire to the LAN. You cannot use the wireless routers to create a wireless bridge. You must run a wire between them to make any use of those two routers. But of course, if you run a wire anyway you could simply connect the network printer directly to the WRT.

  • User-Exit for Serial Number Profile / Equipment creation

    Hi ,
    In the Material Master Data , we have a serial number profile and at the time of
    Post Good Issue , the system do generate an equipment record in the Service Module .
    That is standard SAP and working very well .
    For some customers (Inter-Company) customers we do not want any Equipment record in the Service Module to be created .
    What standard SAP functionality or user-exit can we use in order to not create the Equipment record in the Service Module ?
    Regard's

    Transaction SPRO
    Plant Maintenance and Customer Service --> Master Data in Plant Maintenance and Customer Service --> Technical Objects --> Serial Number Management --> Define Serial Number profile
    In the Serial number profile, go to Serializing procedures. The EqReq field determines whether an equipment is to be created or not. For e.g. 01 in MMSL implies that equipment will not be created during GR,
    Not sure whether this will satisfy your requirement. Will need more information for that...
    Hope this helps,
    Lakshman

  • Regarding Enhancements/User-Exits in ABAP

    Hi,
    Can anybody tell me What is meant BY Enhancements & User-Exits.
    Also what are diffrent types of Enhancements/User-Exits avialable.
    Can anybody explain me about diffrent types of Enhancements/User-Exits.
    Can anybody provide me documentation with the examples
    for diffrent types of Enhancements/User-Exits.
    If anybody is having good material on the same please post it.
    Thanks in advanace.
    Thanks & Regards,
    Rayeez.

    Customizing exits allow you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
    If you want to enhance the functionality of your R/3 System, you should take advantage of the exits available in standard R/3 applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
    •     They do not affect standard SAP source code
    When you add new functionality to your SAP System using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package.
    •     They do not affect software updates
    When you add new functionality to your R/3 System using SAP’s exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects’ names ensure that they will not be affected by any changes or new additions to the standard software package.
    Customer exits are not available for all programs and screens found in R/3 standard applications. You can only use customer exits if they already exist in the R/3 System. You find find more information about locating applications with pre-defined exits in Locating Applications that have Exits.
         As part of the enhancement concept, it is possible for the customer to 
         add his own elements to application logic, screens and menus.                                                                               
    The current possibilities for enhancement are:                                                                               
    Text enhancements:                                                     
         Allow the customer to add supplementary documentation for data fields  
         non-specific to a transaction, and to change key word texts.                                                                               
    Field exits:                                                           
         Every screen element with data element reference can branch to PBO or  
         prior to PAI to a function module if desired. The field contents are   
         available here for doing special checks and making changes (e.g. user- 
         specific checks, authority checks, writing entered data and producing  
         statistics...).                                                                               
    Function exits:                                                        
         From the main program you branch into a software level, in which you you
         can store ABAP/4 coding. The applications programmer at SAP determines 
         where in the main program the function exit is placed, and which data is
         imported/exported via the interface. The accompanying documentation    
         describes the functionality of the function exit.      
         Menu enhancements:                                                       
         Pre-conceived menu items can be activated and named. On the function code
         set at menu item selection, there can be a reaction in a relevant        
         function exit.                                                                               
    Screen enhancements:                                                     
         The customer can determine the layout of areas in screens provided by the
         applications developer. Here, additional information can be displayed or 
         data entered.

  • How to lock the program in User exits

    Hi Guru's
    I have a problem with user exits. for suppose  I am doing enhancement for particular TCODE, the other user is doing some changes to the  same TCODE. My problem is where should  i use the lock. Is it possible to lock the TCODE? How it can be done?  please do needful............
    Regards,
    Krisna

    Hi Shiva,
    What do you exactly mean by locking the T-COde.
    Do you want that the other person should not be able to see the changes you have made. Then you can use your code in the Condition for "SY-UNAME = your user id".
    Or do you want that the other person should not made the change. Then you need not worry because the User Exit does not have multiple instances.
    Please let us know, if you have any query.
    Hope it helps.
    Regards,
    Manish

  • Making parmanent changes to a internal table inside a user exit

    Hi All,
    I am having a User exit to which I am passing a structure as importing parameter.
    The user exit is not exporting the same structure, but is exporting some other values.
    My problem is that I want to make parmanent changes in the structure I am passing to the user exit.
    Currently what is happening:
    I am passing the structure to the user exit. It has got 6 rows. Inside the user exit I am making some changes to a particular field of all the rows. Till the program control is inside the user exit the changes in the structure are visible. As soon as the control come out of the user exit, the values for the field are switched to teh old values(values before passing to teh user exit).
    My question is, is there any method to make changes to a internal table inside a user exit and these changes are visible outside it when the program control come out of the user exit. (This is when the internal table to which the change is made in not exported by the user exit)

    Hi Dear,
    Your changes done in import parameters will not reflect outside exit. You can only change the values of export parameters...
    If you have very urgent requirement then make changes in SAP''s Standard code.
    For your problem you can write to SAP. In many cases SAP provides the solution.
    Award Points If Useful.

  • BADI or USER Exit for BP Adress check

    Hi All ,
                what is the badi or user exit for giving a additional check on Postal Codes when creating a BP ?
    I have checked BUPA_ADDR_CHECK
    BUPA_ADDR_EXPORT
    BUPA_ADDR_IMPORT
    BUPA_ADDR_UPDATE
    BUPA_ADRREL_EXPORT
    and the user exit ZXSZARU01
    but when i am entering the postal code and pressing Enter , i am not able to catch the User/EXIt or badi .
    Thanks for help.

    Hi
      Use the BAdi : ADDRESS_CHECK
      Implement the method: ADDRESS_POSTAL_CHECK
    Once you enter the Post Code and Country on BP Txn, Pressing Enter will trigger this Badi for  address check !
    Good Luck !
    Thanks
    <b>Allot points if this helps !</b>

Maybe you are looking for

  • How to UPDATE a big table in Oracle via Bulk Load

    Hi all, in a datastore target as Oracle 11g, I have a big table having 300milions of record; the structure is One integer key + 10 columns attributes . In IQ Source i have the same table with the same size ; the structure is One integer key + 1 colum

  • Using External HD to backup and run mac OSX

    Howdy all, I'm going to install Snow Leopard "currently running Leopard 10.5.8" and I was hoping to put it on my 1.5 TB external HD, that way I don't need to burn it to a CD since that seems like a bit more work since I already have a external HD lyi

  • Need help on fetching 500k records

    Dear programmers, I'm developing an web application that allow user to download a very large number of records. I used JDBC to query result and put it in a text file. It runs very slow and eats a lot of memory. Does anyone have suggestion? Khanh. Reg

  • I want to download digital stamps but would need to change the size to fit my project. Does keynote have the ability to change picture size?

    I'm trying to find a app that will allow me to change the size of a digital stamp. I have heard that Adobe Photoshop will allow me to do this but that is outside of my price range right now. Would Keynote allow me to do this?

  • Lens correction and DNG

    I have upgraded from Ltroom 3 to 5.2 and lots of differences straight away. I have a question if 1) enable profile corrections 2) setup is Auto or Custom Or Default 3) the camera is correcr ( canon) 4) Model of the lens is correct EF17-40 5) Profile