Coding in user exit in program rffous_t

The ACH file generated has to be updated with company specific information required by the NACHA file format standards. SAP functionality will be used to generate the interface file. 
The ACH file will contain all employees who have pay for the current pay period being processed and have direct deposit set up for the current pay period.  The ACH file will run during the biweekly and monthly payroll runs.This file will be generated upon completion of the current payroll processing.
The user-exits are invoked when the RFFOUS_T program is executed.For each record type, use the mentioned user-exit below:
•     1 (File Header Record)
o     EXIT_100
o     Function Module EXIT_RFFOEXIT_100
•     5 (Batch Header Record)
o     EXIT_101
o     Function Module EXIT_RFFOEXIT_101
•     8 (Batch Control Record)
o     EXIT_105
o     Function Module EXIT_RFFOEXIT_105
Based on the account id (REGUH table-HKTID field), the other fields have been identified.
Record Type "1"          
File ID (Immediate Origin) - Structure DTAMUSFH, Component FH4     
Origination Bank (immediate destination name) - Structure DTAMUSFH,Component FH11
Company Name (immediate origin name) - Structure DTAMUSFH, Component FH12
Record Type "5"                         
Company Name - Structure DTAMUSBH, Component BH3     
Company Discretionary Date - Structure DTAMUSBH, Component BH4
Company ID - Structure DTAMUSBH, Component BH5     
Company Entry Description - Structure DTAMUSBH, Component BH7
Company Descriptive Date - Structure DTAMUSBH, Component BH8
Effective entry date - Structure DTAMUSBH, Component BH9
Record Type "8"     
Company ID - Structure DTAMUSBC, Component BC7     
Message Authentication Code - Structure DTAMUSBC, Component BC8
Can somebody please advice me after reading the above information that how should i proceed for the coding to be done inside the user exit!!

Hi Bhaskar,
1. Go to CMOD(transaction) create an enchancement project .
2. enter the project name ZName and click create and enter the short description of the project.
3.now click on the enhancement assigment button on the application tool bar and enter the enhancement number: RFFOX100 (File Header Record),RFFOX101(Batch Header Record), RFFOX105(Batch Control Record).
4.now select the first enhancement number i'e RFFOX10 and click on the components it will show you the fuction module exit EXIT_RFFOEXIT_100.
5.double click on it it will take you to the fuction builder screen now click on the include it will show you the warrining 'Program names ZX... are reserved for includes of exit function groups' just ignore the warning and press enter after placing your coursour on the include, system asks to create the include press yes.
6..and now in the include code your logic to update The ACH file generated has to be updated with company specific information required by the NACHA file format standards as per your needs.
follow the procedure from 4 to 6 to populate Batch Header Record and Batch control record in the exits EXIT_RFFOEXIT_101and
EXIT_RFFOEXIT_105 respectively.
thanks and Regards,
pavankumar

Similar Messages

  • User Exit -  EXIT_SAPLVEDA_001 program ZXVEDU13

    Hi All,
    I am very new to Extensions i.e user exits. there is requirement to make validations in the user exit 'EXIT_SAPLVEDA_001' program ZXVEDU13. There is a structure given for EDI and  SAP orders/contracts from which i have to to create two internal table and the entries are to be made based on some conditions given.
    Please give me some idea on this on how to proceed?
    thanks,
    Poonam

    Hi All,
    I am very new to Extensions i.e user exits. there is requirement to make validations in the user exit 'EXIT_SAPLVEDA_001' program ZXVEDU13. There is a structure given for EDI and  SAP orders/contracts from which i have to to create two internal table and the entries are to be made based on some conditions given.
    Please give me some idea on this on how to proceed?
    thanks,
    Poonam

  • Update termination error on coding in user exit EXIT_SAPLCOIH_009

    HI All,
    I am working on approval of a work order in IW32 for which I am coding within a user exit EXIT_SAPLCOIH_009 which gets triggerred at the time of saving the work order. This will update the AUFK table and send a mail to a recipient. But when I save the work order after approving it, it gives me an error saying "Update Termination error". I checked within the SM13 transaction and ST22 for dump analysis, it says "The ABAP/4 Open SQL array insert results in duplicate database records.". Can anyone tell me what could have gone wrong and how I can rectify this. Your help is greatly appreciated.
    Thanks in Advance

    Hello
    This type of error will appear in three cases
    1.when there is a record in the database and trying to insert another with the same number
    2.If there is any inconsistencies in number ranges  (check this only if you have changed the number ranges very recently)
    3. If the output type and the output device is wrongly selected ( not the prescribed)
    Analyse yourself.
    Regards,
    Prakash

  • User-exit for program RFPNFC00

    I need to create an ACH format file. For this i'm using program RFPNFC00 to create file.
    I need to modify few things in the file for which i need any user-exit available to do the required modifications. Please lemme know if anyone have used this program to create file and implemented any user-exit to modify the ACH file format.
    Regards
    VEnk@

    I am not wble to find any exit but i have the following two suggestions.
    1. I can see lot of subroutines where you can create implicit enhancemnts and modify the data accordingly to solve your purpose.
    2. This approach i usually dont prefer but it depends on person to person. You can create a Z copy of report and do modifications.
    I will advise you find a suitable point and do implicit enhancement.
    Nabheet

  • USER EXIT - Sample Program or Material

    Hai,
         I don't know User Exit Programs.So, If anybody have Sample Program or Material, please send them to me...

    Finding the User Exit:
    Code SE18 is used to Identify the BADI available.
    Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.
    Open Standard Program and do a global search 'CL_EXITHANDLER'.
    SE18 > give the BADI name found through above search.
    CUSTOMER_ADD_DATA > which has a method SAVE_DATA.
    T.Code SE19 is used to Implement BADI.
    SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.
    User Exit
    Exits are basically the hooks whcih SAP has provided to add your own code. There are two types of Exits:
    1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
    2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
    BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
    Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
    Please go through the following link which will help you understand the exits in a much better way:
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    http://sap.niraj.tripod.com/id21.html
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.sap-img.com/ab038.htm
    User Exits.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    customer exits
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Menu Exit.
    http://www.sappoint.com/abap/spmp.pdf
    http://www.sappoint.com/abap/userexit.pdf
    http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
    http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Field Exit
    If you are in 4.7 and up follow this
    1. Run report RSMODPRF
    2. Run on the selection screen
    3. In list Field Exit > Create
    4. Give your data element
    5.System will generate the FM FIELD_EXIT_XXXXX
    6. Activate it.
    7. Select your field exit and assign to your program and screen
    8. Select again .. Field exit > Activate
    If you are in version below 4.7
    1. CMOD
    2. Go to >Text enhancment > Field exit
    then follow the same step from 3 onwards as given above.
    Menu Exit
    Procedure for Creating MENU Exits.
    1) To get into Area Menu Maintenance Screen Type SE43 T.Code in Command
    Line.
    2) In Area Menu Paramenter type 'S000' (S triple Zero)
    3) Then Press Change Icon in Application Tool Bar. Then It may ask for
    Access Key or it may display "Specify Processing mode" window. If it ask
    for the Access Key Check for the availability of OSS Note and apply to open
    Standard SAP Menu to include MENU Exits. Otherwise, if it display "Specify
    Processing mode" window with Three Push Button. In which select "Change" and
    proceed further.
    4) Then it will display "Information" window with the following information
    "Caution : The Original Language of the structure is German (editing lang. :
    English) ". Then press "Enter Key to proceed further.
    5) Then you will get into "Edit Area Menu S000".
    6) for eg:- Expand Tools Menu.
    7) Then Press ABAP Workbench <Icon>.
    8) Then you will get into ABAP Workbench Menu Tree.
    9) Then Expand Utilities Menu.
    10) In the last line you will find one MENU EXIT Provision to include your
    own menu. "Node Text Not Found" This text can be change by double Clicking
    that. There you can find the T.Code. Here for Eg:- "+DW4".
    11) for eg: - Here change the Text to "Sample Menu Exit" and then note down
    the T.Code "+DW4".
    12) Then Save with Change Request Number and come out of Transaction SE43.
    13) Then Goto Transaction SE93.
    14) Then type T.Code "+DW4" and press Create.
    15) Then proceed further to create transaction called "+DW4".
    I hope this could help you in Creating Menu Exit...
    Creating menu exits
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/19762743b111d1896f0000e8322d00/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/83/7a18cbde6e11d195460000e82de14a/frameset.htm
    Regards,

  • User exit macro - Program name

    Hi,
    In the APO macro builder, we have a USER EXIT MACRO defined and i just see the description of the macro there. Where do we see which User exit (Program) it is executing if i run the macro?
    Thanks,
    Shankar.

    Hi,
    Refer to the note 418801 which explains in detail about user exit macro.
    Regards,
    Sunitha

  • Debugging a User Exit or Program

    Hi,
    I would like to debug a program, and locate and fix an error in one of the user exits. How can I go about doing this?
    Thanks,
    Shah.

    Hi,
    Enhancement/Modifications
    1) Execute tcode SMOD to find available enhancement/modifications.
    2) Create a project for the enhancement in tcode CMOD.
    3) You must activate your project first in order to hit a break-point or get into debug mode for your existing enhancements/modifications, if you do not, the best you will be able to do is step through the main program until you hit the call for that particular customer enhancement.
    4) To get into debug, you can enter a hard break-point in the enhancement itself, set a soft break-point with the stop sign, or the long way, before you execute your transaction or while you are in your transaction, you can place a /h in the ok code area (this is the area of your gui where you can type in a tcode). Once you have the /h, hit enter and that will take you into debug, from there, you can do many different things to find exactly what you are looking for.
    User Exits
    1) Identify the main program you want to locate a user exit/debug.
    2) For example, go to SE80 and do a search by program or dev class (SAPMV45A sales order or Dev Class VMOD, most SD user exits are in this dev class). In SE80 if you go by program, most user exit programs end in a 'Z' on a rare occasion 'X' or 'Y'.
    3) If you are looking at including MV45AFZZ, you can see where there are different forms. These forms will get called at times within the program. If you are looking to fill the storage location on the sales order, you will probably want to take a look at the perform that fills in a field in vbap.
    4) If this is what you are trying to accomplish, you will need to do the select against the config Table TVKOL based on the shipping point/plant and possibly storage condition based on your picking strategies.
    5) For the debug part, you can do the same as in the enhancements/modifications but you will not need to activate any projects.
    Reward points if found helpfull..
    Cheers,
    Chandra Sekhar.

  • User exit at program RGGBS000

    Hi all,
    I need to start a Workflow at user exit RGGBS000.
    I know that I need to do a copy of this program ( ZRGGBS000).
    But I don´t know how to implement on there.
    I only need to call this function like this:
    *Calls Workflow
              call function 'SWE_EVENT_CREATE_FOR_UPD_TASK'
                exporting
                  objtype           = 'QMSM'             "Name of the object
                  objkey            = l_objectkey        "Key field
                  event             = 'zwf_create_acao'  "Eventacionador WF
                  creator           = w_creator          "User
                tables
                  event_container   = t_event_container   "WF variables
                exceptions
                  objtype_not_found = 1
                  others            = 2.
              if sy-subrc <> 0.
              MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              endif.
    Is there a form to pass values to this exit?
    How this works?
    Thanks
    Ricardo

    In RGGBS000 (or the copy thereof) you can maintain user exits that will be used in field value substitions of accounting documents.
    Please see SAP help for all background information.
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/5b/d231a843c611d182b30000e829fbfe/frameset.htm
    Cheers
    Thomas

  • ME21N, User Exit/customize program

    Please , advice is it possible to check, whether the is customize program/user exit, in ME21N, When user save ME21N, some funny stuff happened, how to check whether there is a customize program/user exit when save ME21N, please advice

    hi,
    you can try transaction SMOD
    and see if there are any active user exits for the following:
    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     Individual customer 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
    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
    MM06E011     Activate PReq Block
    good luck
    Shachar

  • User Exit for program

    All,
    Is there any user exit for adding an authority check object in ME55 transaction program .?
    Kindly advise.
    regards

    Hi,
          check the following  <b>BADI's</b>MD_PURREQ_CHANGE
    MD_PURREQ_POST
    ME_REQ_NEW_VERSION
    <b>user exits</b>
    COZF0001
    COZF0002
    M06B0001
    M06B0002
    MCP20010
    MM06E004
    OIAMSEG
    SAPLMEWP
    Regards

  • Doubts in abap user exit and coustomer exit

    Hi every bady,
    Any one knows the different between user exit and coustomer exit please answer my question
    with regards,
    Sentha

    Hi,
    Difference between user exits & customer exits:
    User exit - A user exit is a three character code that instructs the system to access a program during system processing.
    SXX: S is for standard exits that are delivered by SAP.   XX represents the 2-digit exit number.
    UXX: U is for user exits that are defined by the user.  XX represents the 2-digit exit number
    Customer exit - The R/3 enhancement concept allows 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.
    The following links are also useful:
    User Exit Vs Customer Exit
    coding in user exit in program rffous_t
    User exits
    User Exits
    Refer this link
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975e643b111d1896f0000e8322d00/frameset.htm
    Check the following links.
    For customer exits
    http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975d943b111d1896f0000e8322d00/frameset.htm
    Difference b/w BADI and user exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    User Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    Regards,
    Rakesh

  • User exit ZXF08U06.. values not able to see while program execution.

    Am working with user exit ZXF08U06...
    I am passing values into IDOC in this user exit ZXF08U06 program.
    once we run RFFOEDI1, it excutes through this user exit ZXF08U06...When we use /nWE02 to look at the following IDOC:   ( basic type:  pexr2001; logical message: payext; partner port: edixign ). 
    The IDOC will be there but instead of segments <b>E2E</b>XXXX, the segments  are like <b>E1E</b>XXXX. 
    But in user exit ZXF08U06I, am writing conditions for  <b>E2E</b>XXXX fields. 
    I  believe once the idoc is processed...it writes into one file  where it shows as E2EXXXX.
    So I could not see and correct my userexit program with the values how they are getting passing (or processed ) into IDOC.
    Could you please suggest me how to achieve this ?
    MUCH THANKS in ADVANCE

    Hi Piyush,
    1) Why Rowimpl generated empty? Is is generating empty that why while compiling .class file is not generating that why I am getting error.
    --> Rowimpl should not generate empty. It should generate same as the standard VO's VORowImpl. You can go to JDeveloper and try checking and unchecking Generate Java Files.
    eg.
    While extension if you have not checked Generate Java File inside VO --> Edit --> Java
    it would point to standard VOImpl and VORowImpl of VO which you extended.
    <ViewObject
       Name="xxReturnItemsVO"
       Extends="oracle.apps.icx.por.rcv.server.ReturnItemsVO"
       BindingStyle="Oracle"
       CustomQuery="true"
       RowClass="oracle.apps.icx.por.rcv.server.ReturnItemsVORowImpl"
       ComponentClass="oracle.apps.icx.por.rcv.server.ReturnItemsVOImpl"
       MsgBundleClass="oracle.jbo.common.JboResourceBundle"
       UseGlueCode="false" >While extension if you have checked Generate Java File inside VO --> Edit --> Java
    it would point to custom VOImpl and VORowImpl . It will generate two classess xxReturnItemsVORowImpl and xxReturnItemsVOImpl
    which should not be empty
    <ViewObject
       Name="xxReturnItemsVO"
       Extends="oracle.apps.icx.por.rcv.server.ReturnItemsVO"
       BindingStyle="Oracle"
       CustomQuery="true"
       RowClass="xx.oracle.apps.icx.por.rcv.server.xxReturnItemsVORowImpl"
       ComponentClass="xx.oracle.apps.icx.por.rcv.server.xxReturnItemsVOImpl"
       MsgBundleClass="oracle.jbo.common.JboResourceBundle"
       UseGlueCode="false" >2) As the JPXImport was successful, why I am not able to get my extended VO XXCustomerAccessesVO iinstead of standard CustomerAccessesVO in about this page link.
    If jdr_utils.printdocument is showing correct substitution issue could be with RowImpl file.
    3) Can you please share the properties values that we need to pass while creating new column in Advance table byb personlaization.
    -- Not sure

  • Help reqd on USER EXIT

    Hi all....
    I got a new object in USER EXIT for my current impl project...
    1st,i know that how to creat it in cmod but i desnt know how to do enhancement assignment and writing a code for the below requirement
    my SD consultant req is......
    IN VA01, the end user will able to enter(create std order) only 4 items(POSNR)
    at a time as maximum....(should restrict it) and if while entering the 5th item,it throws an error msg and revert back it.....
    the std program is "MV45AFZZ" ,here the enhancement assignment should be added in,inside the below sub-routine......as include program
    "Form USEREXIT_SAVE_DOCUMENT_PREPARE"...
    Endform..
    Do u people know how to do it.....if anyone have done already...pls help on this by replying with sample codes and ur helps...
    waiting for ur replies
    thanks & regards
    sankar

    Hi,
    These are standard enhancements available for VA01.
    SDAPO001 Activating Sourcing Subitem Quantity Propagation
    SDTRM001 Reschedule schedule lines without a new ATP check
    V45A0001 Determine alternative materials for product selection
    V45A0002 Predefine sold-to party in sales document
    V45A0003 Collector for customer function modulpool MV45A
    V45A0004 Copy packing proposal
    V45E0001 Update the purchase order from the sales order
    V45E0002 Data transfer in procurement elements (PRreq., assembly)
    V45L0001 SD component supplier processing (customer enhancements)
    V45P0001 SD customer function for cross-company code sales
    V45S0001 Update sales document from configuration
    V45S0003 MRP-relevance for incomplete configuration
    V45S0004 Effectivity type in sales order
    V45W0001 SD Service Management: Forward Contract Data to Item
    V46H0001 SD Customer functions for resource-related billing
    V60F0001 SD Billing plan (customer enhancement) diff. to billing plan
    this can be checkit out in 'SMOD' and find out the user exits  like screen, filed, funtionction exits etc under each enhancement which mentioned above.
    Once if you find the user exit under one enhancement let suppose 'V60F0001' go to 'CMOD' and crete one project and click on create button.
    then give the enhance ment name V60F0001 under the 'enhancement assign' componet
    Then bydefault u will get all userexits available under this enhancement select one them a/c to your require ment press on one userexit and it enter the funtion exit and double click on 'INCLUDE' it ask to create press yes then write ur won code 'ACTIVATE' and come back and 'ACTIVATE' and come backe 'ACTIVATE'  and come to initial screen ie 'CMOD' and press 'ACTIVATE' button.
    this is the way how to create user exit.
    There are some exit for checking order
    User exits in the program MV45AFZZ :
    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 program MV45AFZB :
    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.
    etc.
    Look at User Exits in Sales Docuemnet Processing
    <a href="http://">User Exits in Sales Docuemnet Processing</a>
    <b>some of tips to find user exits  :</b>
    User Exits & Customer Exits :
         User Exits: Executed with the help of user exits (these are subroutines reserved for customers that have been inserted in objects in the SAP namespace) 'hard-coded' at various points within SAP Repository objects.
         Customer Exits :
         1. Menu Exits: Menu exits add items to the pull down menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications. These special entries have function codes that begin with "+" (a plus sign).
         2. Screen Exits: Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special sub screen areas on a standard R/3 screen and calling a customer sub screen from the standard screen’s flow logic.
         it is called by call customer- sub screen
         3.Function Module Exits :Function module exits add functions to R/3 applications. Function module exits play a role in both menu and screen exits. When you add a new menu item to a standard pulldown menu, you use a function module exit to define the actions that should take place once your menu is activated. Function module exits also control the data flow between standard programs and screen exit fields.
         it is called by Call Customer- function
         Go to SMOD and press F4 where you will get the options of screen, menu, function exits.
         Go to SE81 select the module which you want to check and find the       enhancement.
          In IMG (SPRO), search for enhancements in interested area.
         Go to the program or transaction and search for  “CALL CUSTOMER-FUCTION” or  “EXIT_<Progname>_nnn”
         For screen exits go to screen in SE51/SE80 search for-  “CALL CUSTOMER-SUBSCREEN..”
    <b>Reward with points if helpful.</b>
    Regards,
    Vijay

  • An user-exit example

    Hi all,
    Please tell me what you have coded as user-exit.
    Tell me the transaction and what you have done for this transaction as user-exit.
    I want to learn the user exit topic well.
    I will need user-exit too much and use also user-exit's screen but do not know how to do well.
    Thanks.

    Hi
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is:
    EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
    2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
    BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
    Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
    Please go through the following link which will help you understand the exits in a much better way:
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    http://sap.niraj.tripod.com/id21.html
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.sap-img.com/ab038.htm
    User Exits.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    customer exits
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Menu Exit.
    http://www.sappoint.com/abap/spmp.pdf
    http://www.sappoint.com/abap/userexit.pdf
    http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
    http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
    1. Previously there were only user-exits.
    2. Then came the concept of customer-exits.
    3. user exits were nothing but subroutines
    FORM/PERFORM
    called from standard programs.
    4. The FORM defintion was placed inside
    an empty include file.
    5. So It was called EVERYTIME.
    and we need to MODIFY/REPAIR the
    standard include .
    6. Then it came with concept of customer-exit
    7. It consists of calling a FUNCTION MODULE,
    which is called only if
    the user-exit is ACTIVATED (other wise not called)
    In this case, the code in put inside
    a pre-defined Z include.
    8. Functionality of both is same, howerver
    we can note the following important differences
    a) Customer exit is called only if activated.
    (hence, it does not waste resources)
    b) in customer exit, REPAIR does not happen
    to the standard include.
    Exits are basically the hooks whcih SAP has provided to add your own code. There are two types of Exits:

  • 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

Maybe you are looking for

  • Receive a "Server is Not Available" error when trying to connect win 7 pro PC to Windows Server Essentials 2012 R2 Domain via Connector

    I am trying to connect Windows 7 Pro 64 bit SP1 Computers to a Windows Server 2012 Essentials R2 domain and I receive the following error: "The server is not available.  Try connecting to this computer again, or for more information, see Troubleshoot

  • Due date and payment terms data

    Hi All, Goodday to you all! My client is posting one transfer posting. He is transferring the normal customer line items to special GL items through FB01. Giving the first lime item posting key as 09 and customer number and special gl indicator But a

  • Resizing selected objects

    Ok, so I am trying to write a script that resizes an object that is selected. I have two objects selected, the one on top is a group item, the one below it is a rectangle. I am trying to resize the rectangle to the size of the group item on top of it

  • PPPD in Solaris 8

    Hi, Anyone knows what I have to do in Solaris 8 for using pppd 4.0? I have added the packege, but when I tried to run pppd, I got "kernel lacks ppp support"........... Thanks, BR. //Steven

  • Use existing session to call OIM api methods

    We have a situation where the user logs into the application using his/her username and password. At this point we perform a post to one of the OAM handlers, that authenticates the user and lets them in to the rest of the application. By the time we