FORM Vs FUNCTION EXITS

Hi folks
I am a little confused on FORM & FUNCTION EXITS...can anyone provide me what exactly is the differnce between these two. How we go about using these two in various scenarioes.
Thanks in advance.
Regards
Ram

hi
<b>FORM EXITS</b>
  Form exits/Userxits allow us to add our own functionality to SAP standard program
without  modifying it . These are implemented in the form of subroutines and hence are also known as FORM EXITs. The userexits are generally collected in includes and attached to the standard program by the SAP.
    All Userexits start with the word USEREXIT_...
FORM USEREXIT_..
z..
ENDFORM.
The problem lies in finding the correct userexit and how to find it if one exists for the purpose. Once the correct userexit is found the necessary
customer code is inserted in the customer include starting with the z..
<b>FUNCTION EXITS</b>
These are used to add functionality through ABAP code . These start from the word EXIT_programname_NNN ending in a 3 digit number. No access code is required to implement any tupe of exit including function exits.
The function exits are called from the standard SAP program in the form
of ABAP statement
CALL CUSTOMER-FUNCTION 'NNN'
This is in contrast to USEREXITs where PERFORM statement is used to call
the required userexit.
To implement the FUNCTION EXITs first of all the project is created and a suitable enhancement package is selected and from its compnents
regards
ravish
<b>plz dont forget to reward points if helpful</b>
Message was edited by:
        ravish goyal

Similar Messages

  • FORM EXITS Vs FUNCTION EXITS

    Hi folks
    I am a little confused on FORM EXITS& FUNCTION EXITS...can anyone provide me what exactly is the differnce between these two. How we go about using these two in various scenarioes.
    Thanks in advance.
    Regards
    Ram

    Hi
    There are 4 types of exits
    like FUNCTIOn MODULE, MENU,FIELD and SCREEN exits
    What is this form exits?
    see the doc
    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
    How to implement screen exit for a SAP standard transaction HOT
    Introduction
    SAP provides standard transactions to enter data into database. But a client may want to maintain some additional information in SAP other than what is provided.
    To make provisions for this, additional screens have to be provided and additional fields must be added into appropriate database table.
    To pave way for this, SAP has provided the option for screen exits. Usually, SAP provides the following:
    An append structure in the database table with the new fields.
    A subscreen area into the standard screen – where the programmer can attach his subscreen of his own program with the new fields.
    A function group under which the new subscreen has to be created with the new fields.
    Function exits to synchronize the PBO and PAI of the standard SAP program with the PBO and PAI of the subscreen – so that data can flow back and forth between the standard SAP program and the program written by the developer for the subscreen. These function modules also exist in the same function group under which the subscreen will have to be developed.
    Finally, a linkage has to be done between the subscreen area of standard SAP screen with the custom subscreen constructed by the developer.
    Typically, SAP provides an enhancement in which the developer can create an append structure, use the function exits to synchronize the PBO and PAI of the standard SAP program and the custom subscreen program, and make the necessary linking( as mentioned above in step 4. But, again, this is not a hard and fast rule. Linking in some case, is also done by configurations.) SAP also usually provides the name of the function group under which the subscreen has to be developed.
    Necessary guidance about implementing a screen exit development is usually available in the Documentation section of the enhancement ( can be availed by transaction SMOD).
    Pre-Requisites
    The developer to work on screen exit should have essential knowledge on the following:
    DDIC concepts, including the knowledge of append structure.
    Concept of SAP Enhancements and implementing them using Projects.
    Concept of function exits.
    Knowledge on Module Pool – including subscreens, Tabstrip controls etc.
    Steps
    Guidelines
    So, a developer can follow the guidelines mentioned below to implement a screen exit to a standard SAP transaction, as and when required:
    Find out the Required Enhancements
    Go to SMOD. Press F4 in the Enhancement field. In the next popup window, click pushbutton ‘SAP Applications’. A list will appear that contains information on all the enhancements, categorized under functional areas. Developer must search for the enhancements relevant to his functional area of interest – for e.g., Purchasing, Asset Accounting, etc.
    Note down the enhancements. Then, come to the initial screen of SMOD and view the documentation of each enhancement to find out which one is required for your development.
    Utilize the Enhancement in a Project
    After you have found one, do as directed in the documentation. Generally, the steps are as follows:
    Create a project using CMOD including your enhancement.
    Create the append structure with new fields.
    Go to the desired function group and create a subscreen with the new fields. Write PBO and PAI for the subscreen, if required.
    Use the function exits in the enhancement to link the PBO and PAI of the subscreen with that of the main SAP program supporting the SAP transaction.
    Maintain necessary linkage between the subscreen area of standard SAP program with the custom subscreen developed along with the custom program name. This can be done in the project (developed by CMOD including the enhancement) or outside as a part of configuration.
    Activate the project.
    Test to ensure that required functionality are met.
    Case Study 1
    Add three new custom fields for Asset master and maintain information for them
    Requirement
    Three fields in the legacy system have to be maintained in Asset master. These fields are:
    Original Asset number – 20 characters
    Location 2 – 15 Characters.
    Model no – 20 characters
    Location 2 should start with ‘L’.
    Pre-Analysis
    Finding out the Enhancement
    As described above, the enhancement is determined. It was found, that enhancement AIST0002 will serve the purpose. It contains the following components (can be viewed by transaction SMOD):
    Exit Type Description EXIT_SAPL1022_001 Function Exit Check of User-Defined Fields when Using Create and Change BAPI EXIT_SAPLAIST_002 Function Exit Transfer Data for User Subscreens in PBO. EXIT_SAPLAIST_003 Function Exit Transfer of User-Defined Fields to SAP Master Data Transactions CI_ANLU Customizing Include Include structure to add new fields
    Studying the Function Exits
    The function module level documentation for the function exits are then viewed from transaction SE37. The documentation clearly laid out for the purpose for their use:
    EXIT_SAPLAIST_002
    Function module Level Documentation
    This function module is called by asset master data maintenance at the start of the dialog. (When changing, it is called after reading of the data from the database; when creating it is called after the transfer of the default values from the asset class and reference asset.) The purpose of the function module is to enable this function group to recognize the master data. For interpreting or controlling master data fields that are important for user fields, it is possible to transfer to global variables at this point, so that they can be recognized when the user subscreens are processed.
    Import Parameters
    Understanding
    This function module is called at the PBO to pass the information retrieved from the database to pass them to the custom subscreen and its underlying program. Import parameter : I_ANLU will be populated with the values for user-defined fields which will be passed to the subscreen program. So, there must be some sort of variable assignment from I_ANLU.
    EXIT_SAPLAIST_003
    Function module Documentation: This function module is called by SAP asset master data maintenance after the screens are processed, but before saving. The purpose of the function module is to transfer fields entered on user sub-screens of SAP asset data maintenance to the database for updating. The export parameter for this function module is:
    Understanding
    This function module will be used to transfer the user entered data in the subscreen fields to the main SAP program, which will then be saved into the database.
    Studying the Documentation of the Enhancement
    The enhancement documentation (as is viewed from the initial screen of SMOD] also supports the idea. Moreover, it informs that we need to develop a subscreen under function group XAIS. This is the function group under which the two function exit modules also exist. So, if the custom subscreen refers to the global data of the function group XAIS, then those values will also be available to these function exits as well.
    Going to SE80 and viewing the function group XAIS helps us to inform that there are three DDIC tables declared for it:
    Deciding the Final course of Action
    After making all the investigations, the final course of action was determined.
    SrlNo Step Justification
    A project has to be created using transaction CMOD where the enhancement AIST0002 will be included.
    Customizing include CI_ANLU has to be created with the custom fields demanded When CI_ANLU will be developed, the custom fields will get appended to the database table ANLU. Also, these fields will be used to create screen fields in the new subscreen.
    A custom subscreen, say, 9000 will be developed under function group XAIS. The screen group for the screen will be ‘CUST’ (or any name). The three custom fields added to table ANLU (by creating CI_ANLU) will be used to create new fields in the screen.
    In the PAI of the subscreen, validation for Location to start with ‘L’ will be added. The subscreen with three new fields has to be developed so that it can be attached to a subscreen area of the asset master screens.
    In the custom include of the function exit module ‘EXIT_SAPLAIST_002’, the following code will be written:-
    ANLU = I_ANLU. I_ANLU is the import parameter of this FM. The value is assigned to the global variable ANLU, referring which the three new subscreen fields are developed. So, data retrieved from database table ANLU will be passed to this FM as I_ANLU by the standard SAP main program. The value will be taken and passed to the global variable of the function group XAIS, so that the three custom fields (referring to ANLU of XAIS) get populated.
    In the custom include of the function exit module ‘EXIT_SAPLAIST_003’, the following code will be written:-
    E_ANLU = ANLU. The changed values in the subscreen fields exist in global variable ANLU for the function group XAIS. This function exit module will pass the data back to the SAP main program as E_ANLU.
    Proper linkage/configuration has to be done so that the new subscreens get linked to the appropriate subscreen area of the Asset master screen. This has to be done – otherwise, the new custom subscreen will not be displayed in the Asset master screens.
    Development
    Creating a Project to include the enhancement
    Go to transaction CMOD and create a project.
    Enter a description for the project. Then, click on the pushbutton ‘Enhancement Assignments’ in the Application Toolbar.
    Enter the name of the enhancement and Save.
    Go to ‘Components’.
    Creating Custom Include for ANLU
    The screen shown below will appear, showing all the enhancement components under the assignment AIST0002. Double-click on the name of the Include Structure to create it.
    Create the include structure with three new fields, as required. Then, save and activate it.
    Develop the subscreen and the program
    Go to transaction SE80. For the function group XAIS, create a new subscreen 9000.
    Create it as subscreen.
    Then, go to the Layout of the screen and create three new fields from Database table ANLU.
    Drag the fields in the screen body and place them.
    Then, save and activate the screen and come back to screen flow editor.
    Create the PAI module to add validation for field “Location 2”, as required .
    Activate the whole function group and come out.
    Write code in the Function Exits to synchronize the programs
    Now, code has to be written in the function modules EXIT_SAPLAIST_002 and EXIT_SAPLAIST_003 so that data flows to and fro between the main SAP program and custom subscreen program. For that, go back to transaction CMOD and change the function exits.
    Write code in the function module EXIT_SAPLAIST_002 called once at the beginning of the transaction:
    Write code in EXIT_SAPLAIST_003 to pass the data from the subscreen to SAP main program.
    Then, activate everything – the whole project and come out.
    Complete the configuration to link the subscreen
    The development portion is complete. Now, linking of the subscreen has to be done with the subscreen area of the main program. In most of the cases, this linking can be done in the enhancement itself. But, here, requirement is a bit different. It is done by configuration using SPRO.
    Assets are created under Asset class. And for each asset class, there is a layout assigned to it. For a layout, there are multiple tab pages assigned to it. And, for each tab page, there are multiple screen groups/field groups assigned.
    Here, the requirement is to create these three custom fields in the tab page ‘General’ of asset master screen ( AS01/AS02/AS03/AS91).
    Determine the Layout
    To achieve this, first of all, we need to find out which layout is assigned to asset class 1000.For that, go to transaction AOLK( information has to be obtained from functional consultant).Select the Asset Class ‘1000’ and click on folder ‘General Assignment of Layout’.
    Here, for Asset class 1000, for all the user groups, tab layout SAP is assigned. Since layout ‘SAP’ cannot be changed, it has to be copied and manipulated to include our screen group. Later, the new layout has to be assigned over here.
    Create new tab layout
    Go to transaction AOLA. Copy the tab layout ‘SAP’ to create another layout, say, YSUB.
    System will copy all the settings and will inform you about that.
    Select your newly created layout and double-click on the folder ‘Tab page titles’.
    You want to put your custom fields in the tab page “General”. So, select this tab page entry and double-click on the folder "Position of Groups".
    Here, all the field groups currently residing in the tab-page “General” are shown. Add an entry for your newly created fields.
    Select the group box from the list. An entry will come with “U” padded with the custom subscreen prepared by you.
    Then, save and come out.
    Assign the new Layout to Asset Class
    Now, go to tcode AOLK and assign tab layout YSUB for asset class 1000.
    Save and come out.
    Test the Exit
    Everything is over. Now, go to transaction code AS01/02/03 or AS91 to deal with an asset of asset class 1000. You will see your new fields added to the screen. Add values to them…save. Then, enter into the tcodes again to see whether the values entered by you are being displayed or not.
    Original Source: ittoolbox.com
    Reward points for useful Answers
    Regards
    Anji

  • How to write BDC in Function exit (user exit )

    Hi champs,
    I am trying to write one bdc code in a function exit but it is giving me the error:
    " Incorrect nesting: Before the statement "FORM", the structure
    introduced by "FUNCTION" must be concluded with "ENDFUNCTION". -     
    The code which i have written is
    **&  Include           ZXMRCU01
    data: begin of it_imptt occurs 0,
            POINT like imptt-point,
            MRMIN like imptt-MRMIN,
            MRMAX like imptt-MRMAX,
          end of it_imptt.
    Internal table to store BDC screens   *
    and field values                      *
    DATA: BEGIN OF it_BDCDATA OCCURS 0.
            INCLUDE STRUCTURE BDCDATA.
    DATA: END OF it_BDCDATA.
    select point
           MRMIN
           MRMAX from imptt into it_imptt
           for all entries in imrg_ins
           where point = imrg_ins-point.
    endselect.
    read table imrg_ins with key point = it_imptt-point.
    if imrg_ins-readg < it_imptt-mrmin
         or imrg_ins-readg > it_imptt-mrmax.
      perform bdc_dynpro      using 'SAPLIQS0' '0100'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RIWO00-QMART'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
      perform bdc_field       using 'RIWO00-QMART'
                                            'M1'.
      perform bdc_dynpro      using 'SAPLIQS0' '7200'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=BUCH'.
      perform bdc_field       using 'VIQMEL-QMTXT'
                                            'test desc1'.
      call transaction 'IW21'
                            using it_BDCDATA
                              Mode 'A'
                                update 'S'.
      REFRESH it_BDCDATA.
    endif.
    **&      Form  bdc_dynpro
          text ---- Taking 2 parameters Screen Name & Screen Number.
    FORM BDC_DYNPRO USING SCREEN_NAME SCREEN_NUMBER.
      CLEAR it_BDCDATA.
      it_BDCDATA-PROGRAM = SCREEN_NAME.
      it_BDCDATA-DYNPRO = SCREEN_NUMBER.
      it_BDCDATA-DYNBEGIN = 'X'.
      APPEND it_BDCDATA.
    ENDFORM.                    "bdc_dynpro
    **&      Form  bdc_field
          text---- Taking 2 parameters Field Name & Field Number.
    FORM BDC_FIELD USING FNAME FVAL.
      CLEAR it_BDCDATA.
      it_BDCDATA-FNAM = FNAME.
      it_BDCDATA-FVAL = FVAL.
      APPEND it_BDCDATA.
    ENDFORM.                    "bdc_field     
    Is there any different way of writing bdc in user exit?

    <b>FUNCTION.</b>
    **& Include ZXMRCU01
    data: begin of it_imptt occurs 0,
    POINT like imptt-point,
    MRMIN like imptt-MRMIN,
    MRMAX like imptt-MRMAX,
    end of it_imptt.
    Internal table to store BDC screens *
    and field values *
    DATA: BEGIN OF it_BDCDATA OCCURS 0.
    INCLUDE STRUCTURE BDCDATA.
    DATA: END OF it_BDCDATA.
    select point
    MRMIN
    MRMAX from imptt into it_imptt
    for all entries in imrg_ins
    where point = imrg_ins-point.
    endselect.
    read table imrg_ins with key point = it_imptt-point.
    if imrg_ins-readg < it_imptt-mrmin
    or imrg_ins-readg > it_imptt-mrmax.
    perform bdc_dynpro using 'SAPLIQS0' '0100'.
    perform bdc_field using 'BDC_CURSOR'
    'RIWO00-QMART'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RIWO00-QMART'
    'M1'.
    perform bdc_dynpro using 'SAPLIQS0' '7200'.
    perform bdc_field using 'BDC_OKCODE'
    '=BUCH'.
    perform bdc_field using 'VIQMEL-QMTXT'
    'test desc1'.
    call transaction 'IW21'
    using it_BDCDATA
    Mode 'A'
    update 'S'.
    REFRESH it_BDCDATA.
    endif.
    <b>ENDFUNCTION.</b>
    **& Form bdc_dynpro
    text ---- Taking 2 parameters Screen Name & Screen Number.
    FORM BDC_DYNPRO USING SCREEN_NAME SCREEN_NUMBER.
    CLEAR it_BDCDATA.
    it_BDCDATA-PROGRAM = SCREEN_NAME.
    it_BDCDATA-DYNPRO = SCREEN_NUMBER.
    it_BDCDATA-DYNBEGIN = 'X'.
    APPEND it_BDCDATA.
    ENDFORM. "bdc_dynpro
    **& Form bdc_field
    text---- Taking 2 parameters Field Name & Field Number.
    FORM BDC_FIELD USING FNAME FVAL.
    CLEAR it_BDCDATA.
    it_BDCDATA-FNAM = FNAME.
    it_BDCDATA-FVAL = FVAL.
    APPEND it_BDCDATA.
    ENDFORM. "bdc_field
    Regards
    Peram

  • Menu Exits and Function Exits. Questions.

    Hi to all,
    I got a question in User Exits.
    Using the Tcode CMOD, I entered the project name and starting building the user exit for a practice.  I selected the enhancement list and looked at the components, I can see the Menu exit and a Function exit.
    I changed it like this,
    I edited the component menu exit and gave a new text and symbol. I saved it, clicked on the function exit, and went to function builder to write my own include program. I did that and activated the project.
    Now my question is that where to look for the menu in the main screen.  Will it be stored somewhere or I can see in the pull down menu in the main screen.  Once I see the pull down menu and the exits there, if I click, it should execute the add on functionality which I have mentioned in the fm include program in abap editor.
    So where to look for the menu exit in the pull down menu? Are the steps which I am narrating are right or I am going wrong somewhere.  Please guys, help me. 
    I will really appreciate you answers.
    Regards,
       -Ashok Patel

    Hi Ashok,
    I checked it, and yes it should work. Here is how they are linked.
    Screen 5000 of the program SAPLBPAR has this PAI module call commented out.
    MODULE 5000_OKCODE.
    Within this module you have a piece of code that is as follows
        WHEN '+003'.
          PERFORM BPDBANK_USER_EXIT_003 USING INDEX_BPDBANK.
    Within this form, there is a call to this function module
      CALL FUNCTION 'BPAR_X_BPDBANK_PROCESS'
           EXPORTING
                bp000_in   = bp000
           TABLES
                bpdbank_in = bpdbank_user
           EXCEPTIONS
                error      = 1
                OTHERS     = 2.
    Within this function module is the call to your function exit.
      CALL CUSTOMER-FUNCTION '003'
           EXPORTING
                BP000_IN    = BP000_IN
           TABLES
                BPDBANK_IN = BPDBANK_IN
           EXCEPTIONS
                ERROR       = 1
                OTHERS      = 2.
    Since the original call to the module itself is commented out, I think that is why your code is not getting executed.
    I cannot think of any other example that you can practice. Go to SMOD and do the drop down on Enhancement field. In the pop-up, click on the 'All Selections' button at the bottom with an arrow+ pointing down. You will see further options now. In the uncheck all the check boxes and check only the 'menu entries' checkbox. In the resultant list, see which one you can work on.
    Hope this helps,
    Srinivas

  • Writing function Exits

    Hi All,
          I m very much interested in knowing how to write function exits in BPS. Can any body pls explain me how to write them step by step.
          Pls suggest me some very good documents on this.
        Is there any standard exits given by SAP? If so pls tell me the names of those exits.
    Regards,
    Ramana.

    Hi Ramana,
    the first (Init) FM has to be used if you need to perform some actions only once before any other operation. In this "how to" doc you read the input file.
    About this FM SAP says:
    <i>"This function module is optional. It is only required if new transaction data records are to be generated in the planning function that are different, in terms of the combinations of values, to characteristics in the previous transaction data that are not to be changed. The keys for these new transaction data records are delivered by the function module in the table ETO_CHAS. The keys are supplemented by the keys of the transaction data that already exist. The data objects for which the planning function is called up are formed from these keys. They also influence how often and with which combinations of transaction data the second function module is called up."</i>
    The second FM is executed many times  and in this "how to" is used to write data: you can easily get that it moves data read from the input file xth_data.
    About SAP says:
    <i>"A function module that is called up several times and that changes transaction data records. This function module receives a package of transaction data records in each case. These differ only in their characteristics to be changed. They have the same values as far as all other characteristics are concerned. The transaction data is in table XTH_DATA. Only the existing records are transferred. If key combinations were returned by the initialization function module, and no transaction data exists for these, then table XTH_DATA is empty. The key combination is in the table ITO_CHASEL."</i>
    Generally you have to implement the second FM (mandatory) that performs calculations on xth_data table: implementing the first (optional FM) depends on your business requirements.
    Hope it helps
    GFV

  • How to use the variables of Function exit in the include program

    i have a problem of using the variables of a function exit in the include program..
    If i use those variables there will be an error indicating 'Field FEBVW_IN is unknown. It is neither in one of the specified tables nor defined by a DATA statement'. Please help... Below is the code of the function exit:
    FUNCTION EXIT_SAPLIEDP_202.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(IDOC_CONTROL_INDEX)
    *"     VALUE(IDOC_DATA_INDEX)
    *"     VALUE(FEBVW_IN) LIKE  FEBVW STRUCTURE  FEBVW
    *"     VALUE(FEBKO_IN) LIKE  FEBKO STRUCTURE  FEBKO
    *"     VALUE(FEBEP_IN) LIKE  FEBEP STRUCTURE  FEBEP
    *"     VALUE(FEBRE_IN) LIKE  FEBRE STRUCTURE  FEBRE
    *"     VALUE(FEBPI_IN) LIKE  FEBPI STRUCTURE  FEBPI
    *"  EXPORTING
    *"     VALUE(I_FIMSG) LIKE  FIMSG STRUCTURE  FIMSG
    *"     VALUE(FEBVW_OUT) LIKE  FEBVW STRUCTURE  FEBVW
    *"     VALUE(FEBKO_OUT) LIKE  FEBKO STRUCTURE  FEBKO
    *"     VALUE(FEBEP_OUT) LIKE  FEBEP STRUCTURE  FEBEP
    *"     VALUE(FEBRE_OUT) LIKE  FEBRE STRUCTURE  FEBRE
    *"     VALUE(FEBPI_OUT) LIKE  FEBPI STRUCTURE  FEBPI
    *"  TABLES
    *"      IDOC_CONTROL STRUCTURE  EDIDC
    *"      IDOC_DATA STRUCTURE  EDIDD
    *"      IDOC_AVIP STRUCTURE  AVIP OPTIONAL
    *"      IDOC_AVIR STRUCTURE  AVIR OPTIONAL
    *"      IDOC_AVIT STRUCTURE  AVIT OPTIONAL
    *"  CHANGING
    *"     REFERENCE(IDOC_AVIK) TYPE  AVIK OPTIONAL
    *"  EXCEPTIONS
    *"      PROC_ERROR
      INCLUDE ZXF08U10.
    Here is the code for the include program.
      INCLUDE ZXF08U10
    MOVE febvw_in TO febvw_out.

    Sometimes you will get this error message when checking include code in exits even though there is really no error - it happens because the include does not realise it is in the function due to the navigation index being out of date.
    Try activating the code - it may work even though the check said there were errors.
    You can also get this issue when trying to drill down on the field in the include to view its structure.
    Andrew

  • Activating only one function-exit in a multiple function-exit in CMOD

    Dear All,
    I am using customer-exit for doing validation in PO during saving. I am using EXIT EXIT_SAPMM06E_012 under enhancement
    MM06E005. The code is working fine. The problem is that when I am activating the screen all the components under that enhancements are getting activated. There are 10 function-exits, 6 screen-exits and 2 incude tables. I have not  added any new screen or done custom include. I only want to activate EXIT_SAPMM06E_012, rest I want to deactivate. It is giving a dump in production server when we are trying to create a contract as it is looking for a screen 0211 which we have not created.
    Regards
    D. Mallick

    am using customer-exit for doing validation in PO during saving. I am using EXIT EXIT_SAPMM06E_012 under enhancement
    MM06E005. The code is working fine. The problem is that when I am activating the screen all the components under that enhancements are getting activated. There are 10 function-exits, 6 screen-exits and 2 incude tables. I have not added any new screen or done custom include. I only want to activate EXIT_SAPMM06E_012, rest I want to deactivate. It is giving a dump in production server when we are trying to create a contract as it is looking for a screen 0211 which we have not created.
    HI ,
    You can activate only one function exit EXIT_SAPMM06E_012, But you must and should create below empty screen and active Using SE51.
    SAPLXM06                       0101
    SAPLXM06                       0111
    SAPLXM06                       0201
    SAPLXM06                       0211
    SAPLXM06                       0301
    SAPLXM06                       0311
    Thanks & Regards
    Sudheer Madisetty

  • Regarding SHipment function exit

    Hi Experts,
                    I have to update some custom table in the function exit of  VT01n transaction code based on some condition.
    I have done it using update statement as it is custom table there is no problem.
    BUT in the code After that UPDATE statement ,based on some condition i have to through a message which will stop the transactionn.
    In that case if i exit from the transaction using exit button in the menu bar, the updated custom table has to roll back.
    Can i use ROLL BACK Statement. in the function exit in that case.
    If i use that ,does it effect any standard functionality.
    Orelse is there any alternative solution for that.
    Regards
    Ramakrishna L

    Hi Ramakrishna,
    If u r updating the custom table in the same exit where u r throwing the message , don't use the commit work after updating the table. use it at end of the exit.
    Regards,
    Srinivas.

  • Menu-exits, Function-exits & Screen-exits

    What is Menu-exits, Function-exits & Screen-exits ? explain

    Hi,
          Why do you need enhancements ?
    The standard applications do not offer some of the functionality you need. The R/3 enchancement concept allows you to add your own functionality to SAP's standard business applications.
    What are the different types of enhancements ?
    Enhancements using customer exits
    Customers' potential requirements which are not included in the standard software are incorporated in the standard as empty modification 'shells'. Customers can then fill these with their own coding. Enhancements can relate to programs, menus and screens. Upward compatibility is assured. In other words, SAP guarantees that the jump from the standard software to the exit and the interface which call the exit will remain valid in future releases.
    Enhancements to ABAP/4 Dictionary elements
    These are ABAP/4 Dictionary enhancements (creation of table appends), text enhancements (customer-specific key words and documentation for data elements) and field exits (creation of additional coding for data elements).
    What is customer development ?
    Creating customer-specific objects within the customer name range.
    What is SSCR ?
    SSCR (SAP Software Change Registration) is a procedure, for registering all manual changes to SAP source coding and SAP Dictionary objects.
    What is the difference between modifications and enhancements ?
    Modifications mean making changes to the SAP standard functionality.
    Enhancements mean adding some functionality to SAP standard functionality.
    What are the disadvantages of modification ?
    Modifying standard code can lead to errors
    Modifications mean more work during software upgrades
    What are the advantages of enhancements ?
    Do not affect standard SAP source code
    Do not affect software upgrades
    when do you opt for modification ?
    Customer exits are not available for all programs and screens within the R/3 standard applications. You can only use exits if they already exist within the SAP R/3 System . Otherwise you have to opt for modifications .
    What are the various types of customer exits ?
    Menu exits
    Screen exits
    Function module exits
    Keyword exits
    What is a menu exit ?
    Adding items to the pulldown menus in standard R/3 applications .
    13.What is a screen exit ?
    Adding fields to the screens within R/3 applications. SAP creates screen exits by placing special subscreen areas within a standard R/3 screen and calling a customer subscreen from within the standard dynpro's flow logic.
    What is a function module exit ?
    Adding functionality to R/3 applications. Function module exits play a role in both menu and screen exits.
    What is a keyword exit ?
    Add documentation to the data elements of key words defined in the ABAP/4 Dictionary. The system displays this documentation whenever a user presses F1 to get online help for a screen field.
    How do SAP organizes its exits ?
    SAP organizes its exits in packages that are called SAP enhancements. Each SAP enhancement can contain many individual exits
    Regards

  • Which category screen exits and function exit come

    Hi ,
    I have created an enhancement in ECC 6.0 system on screen exit and function exit for LM00 tcode. now i want to update my developed object in Solution manager.
    Anyone pls help me under which category this enhancement project falls.

    Thanks everyone for the prompt response.
    The scenario is thet I have 190 CMOD projects and I needa quick way to find out which of the function exits in the CMOD projects have been implemented and which are the Z includes in these implemented function exits.
    Doing it one-by-one would take too much time. TADIR does not give the function exits and the includes in them.
    Need a quick way of identifying the implemented function exits, and the includes in the function exits, from the CMOD project name.
    Peter

  • FB70 Function Exit or user exit

    Hello!
    I have a requirement in which I need to assign customer invoice smartform in FB70 transaction. When the user will press save button then the data should go to spool request.
    Is it possible by using any Function Exit or BADIs. If yes please tell me the Exit or BADIs name.
    Your help will be appreciated.
    Ashvender
    [email protected]

    solved

  • How to read data from a function exit

    Hi friends,
    I have a requirement, where in i am creating a screen exit for ME51N.I am using MEREQ001 enhancement for this.It is working fine, but i am to get data in to this so as to write any code.For that i am using the function exit EXIT_SAPLMEREQ_001 in that same enhancement(thought of doing export and import).
    But the data is declared in this way..
    REFERENCE(IM_REQ_ITEM) TYPE REF TO IF_PURCHASE_REQUISITION_ITEM
    so now it is having a method GET_DATA in which i have all the parameters required.
    can anyone please tell me how to read this data...
    Regards,
    Thoufique.

    thats ok friends..i got the solution.
    Regards,
    Thoufique

  • Regarding a function exit

    hi guys,
    i have extended an idoc and for this i am using a function exit to populate data in the added new segment z1segment under E!knvkm segment ( parent segment). I found which funtion exit to use but i could not make out the logic to populate the data in the segment z1segment.
    can any one please help me regarding this
    thank you very much
           pavan

    Hi Pavan,
    I fail to understand the req.  You have found the proper function exit.. You have application data.. You have the idoc/segment details ....Check following code to update the idoc...
    <b>STEP 1 - Open document to edit</b>
    CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_EDIT'
           EXPORTING
                document_number               = t_docnum
           IMPORTING
                idoc_control                  = itab_edidc
           TABLES
                idoc_data                     = itab_edidd
           EXCEPTIONS
                document_foreign_lock         = 1
                document_not_exist            = 2
                document_not_open             = 3
                status_is_unable_for_changing = 4
                OTHERS                        = 5.
    <b>STEP 2 - Loop at itab_edidd and change data</b>
    LOOP AT itab_edidd WHERE segnam = 'E1EDKA1'.
      e1edka1 = itab_edidd-sdata.
      IF e1edka1-parvw = 'LF'.
        e1edka1-partn = t_eikto.
        itab_edidd-sdata = e1edka1.
        MODIFY itab_edidd.
        EXIT.
      ENDIF.
    ENDLOOP.
    <b>STEP 3 - Change data segments</b>
    CALL FUNCTION 'EDI_CHANGE_DATA_SEGMENTS'
               TABLES
                    idoc_changed_data_range = itab_edidd
               EXCEPTIONS
                    idoc_not_open           = 1
                    data_record_not_exist   = 2
                    OTHERS                  = 3.
    Hope this helps you..let me know if need more input on this...
    Enjoy SAP.
    Pankaj Singh.

  • Parameters in Function-Exit

    Hi all,
      I am using one Function-exit to read two screen fields and to pass a default value to another field. But in the function-exit there is no parameter for first field but i have parameters for second field and for the field which i need to export a value.
    Please explain how can read the value in the first field.
    Thanks,
    Subhani.

    Using field symbol i read the value of the first screen filed

  • Tracing Form and Function modules using SE30

    Hi,
      I want to trace only the Forms and function modules that are executed by a program using SE30. I have tried setting the variants in different ways but it still gives lot of junk information which i dont need. How can I set up the variant so that it only traces Forms and function modules executed by a program?
    Will give points to right answer. Thanks for reading

    Hi Srikrishna,
    First of all create a vraian tin SE30. While creating the variant, in th Tab 'Duratn/Type' select the radio buton 'NONE'. Now execute yur program and then analyse.Select 'GROUP HIT LIST' Icon which gives Function Modules,Subroutines etc.
    Regards,
    Srinivas.

Maybe you are looking for

  • How can I keep my original keyboard mapping in different input methods?

    Hi! i have a question about my keyboard mapping. my powerbook has a german keyboard. and i switch frequently my input methods between german and simplified chinese(ITABC), which was all fine. but after upgrading to Leopard, when i switch to ITABC inp

  • Excel file not created while running application using executable on different PC

    Hi, I have created an executable and an installer for an application. In this application I am saving data to an excel file using a template. This works fine when I run using the executable on development PC. However when I deploy this application on

  • Turn my Sub-Account into Primary Account

    Guys, Looking for some help as i can't get anywhere with online chat and even after speaking to someone over the phone who advised it would be resolved in 24hrs, i got an annoying text that i could not reply to stating it couldn't be done. Basically

  • Zoom Level

    Hi Is it possible to programmatically set the zoom level of an interactive form? I guess it can be done using javascript. Thank you for your help regards Yuval

  • Locating photos in Finder

    I'm using iPhoto '07 and I have a question about locating the files. I want to add a couple pictures as attachments in an e-mail but I find it so difficult to locate them. I have to go into Finder, then pictures, then iPhoto library, then I have to g