Regarding SMOD

In SMOD tcode for Enhancement SDW00003 i saw code is +DW3
Similarly for SDW00002 its displaying the code as +DW2
Whats tht code.
Where can we find it & why its used.
Thanks in advance.

hi,
<b>1</b>. This particular enhancement comes under <b>'MENU ENHANCEMENTS'</b> which means u can enhance certain standard SAP menu's to add your own items. and u can also provide functionality of your interest to it.
<b>2</b>. for this funcitonality to happen when u click on the added item, there must be a function code which the system will capture.
in the present case <b>+DW2</b> is a similar thing.
u write the functionality as below.
<b>OKCODE = SY-UCOMM
CASE OKCODE
  WHEN '+DW2'.
     write  "HELLO''.
ENDCASE.</b>
<b>3</b>. since u will have to write code lines to give required fucnctionality, <b>menu exits mostly require a function module exit also.</b>
hope that helps...
pls. reward if useful...

Similar Messages

  • Goods Issue in MB!A, regarding display of avaliable stock

    Hi,
    During Goods Issue from transaction MB1A, the user wants to know if sufficient stock is avaliable, to check that user has to go to menu and view the avaliable stock which is very time consuming.
    So the user wants the avaliable stock to be displayed on the screen where he enters the  issue values.
    Can this requirment be achieved by writing a screen exit, if so how can i find the name of the exit.
    Thanks,
    Sai.

    Go to SMOD Trxn code and In Enhancement Field Press F4 and in Next Window Click on Information System Tab and Give Package Field value MB and Enter. Then it will show the list of User Exists.
    Identify the User Exit which is suiting your Requirement / Else Communicate your abaper.
    Regards,
    Ashok

  • In which table can I find a project (CMOD)and enhancement (SMOD)??

    In which table can I find a project (CMOD)and enhancement (SMOD)??
    or else please suggest to me how I can find the project assigned to a enhancement?
    Regards,
    Shashank.

    Shashank,
    It looks like table MODACT makes the link between the project and the contained enhancements.
    Regards,
    Gary

  • Regarding Purchase order User-exit

    Hello friends,
    Here is the situation.
    when we create purchase order ... I need to modify the planned delivery field value under delivery tab at item level.
    For this I found user exit. 'EXIT_SAPMM06E_016' and I have written the logic in the include program.
    when I tested in debbugmode... the cursor is not at all comming to that point. It was failing always at the function module 'MODX_FUNCTION_ACTIVE_CHECK'.
    I don't know alwys active field showing blank. I think we need to activate the user exit some where. how to do and where to do?
    plese help me ..
    extract the code --from include program MM06EF0C_CUSTSCR1_ITEM_SET_D03
    User-Exit für Positionsfelder versorgen (PBO)
    FORM custscr1_item_set_data_pbo USING im_no_screen LIKE fc_call.
      DATA: l_enj_call TYPE c.
      STATICS: first_call(1) TYPE c VALUE 'X',
               active        LIKE sy-calld.
      IF NOT first_call IS INITIAL.
        CLEAR first_call.
        CALL FUNCTION 'MODX_FUNCTION_ACTIVE_CHECK'
          EXPORTING
            cprogname  = 'SAPMM06E'
            funcnumber = '016'
          IMPORTING
            active     = active
          EXCEPTIONS
            not_found  = 1
            OTHERS     = 2.
        IF NOT sy-subrc IS INITIAL.
          CLEAR active.
        ENDIF.
      ENDIF.
      CHECK NOT active IS INITIAL.         ==========================> always active sowing blank
      IF fc_vorga EQ cva_en.
        l_enj_call = 'X'.
      ELSE.
        l_enj_call = space.
      ENDIF.
    *-Define Fields:
      DATA: l_ci_ekpo LIKE ekpo_ci,
            lt_usr_tekpo LIKE bekpo OCCURS 0,
            lt_usr_teket LIKE beket OCCURS 0,
            lt_usr_tekkn LIKE ekknu OCCURS 0,
            lt_usr_tkomv LIKE tkomv OCCURS 0.
    *-Copy Tables:
      MOVE-CORRESPONDING ekpo TO l_ci_ekpo.
      lt_usr_tekpo[] = pot[].
      lt_usr_teket[] = ett[].
      lt_usr_tekkn[] = knt[].
      lt_usr_tkomv[] = tkomv[].
    *-User Exit
      CALL FUNCTION 'EXIT_SAPMM06E_016'
        EXPORTING
          i_ekpo      = ekpo
    ===============
    thanks in advance
    Regards
    Raghu

    Hi Raghunath
    I hope you have included your enhancement in a project and activated the project.
    1-Needed help
    2-SMOD and CMOD
    Hope it is helpful.
    Regards
    Neha

  • How to Use CMOD and SMOD in SAP using ABAP Code

    Hello anyone,
      Please help me How to use CMOD and SMOD in SAP using ABAP code.
    Give Me Some Sample Example.
    Mail ID: [email protected]
    Thanks,
    Regards,
    S.Muthu,
    SAP Developer.

    Hi,
    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

  • Query regarding screen exits

    Hi ppl,
    I am looking for a screen exit for tcode MSC3n.
    Using SMOD, I found the following enhancements:
    BATCHCHK
    MBCFC010
    SAPLCHVW
    SAPLMHD1
    SAPLV01D
    SAPLV01P
    SAPLV01Z
    SAPLV1ZE
    SAPLV1ZN
    But, all these have function exits. There was no screen exit specifically mentioned in any of these enhancements.
    Does it mean that there is no screen exit or will these function exits be useful?
    Please help.
    Regards,
    David.

    Hi,
    My requirement is to remove 2 fields from a subscreen of the tcode MSC3n and replace with 2 custom fields which I have appended in the standard database table. All the fields are from the same database table.
    Thanks,
    David.
    Edited by: David D on Aug 28, 2009 6:59 AM

  • Regarding IDOC Extension

    Hi Experts,
    I need to Extend IDOC <b>COND_A03</b> with 5 Custom feilds. This Idoc will be populating 10 tables like A932,A933,A34,A35,A36,A37....,.I need to extend in
    <b>IDOC_INPUT_COND_A</b> through exit CALL CUSTOMER FUNCTION '002'.
    Here the 3 feilds will be present in A932 table and there will be only 4 feilds in A933 table and 3 feilds will be present in A934 table and so on. I..e all the 5 custom  feilds will not be present in all the tables.
    How i need to build the logic so that when the data comes to that function module i need to populate only 3 feilds into A932 table and 4 feilds into A933 table and so on..
    How do i need to build the logic.., to post the data when the number  of fields differ from one table to the other.

    ALE FUNCTION MODULE ENHANCEMENTS
    Having extended the IDOC type to contain additional fields for an inbound or outbound application, you now want to enhance ALE function modules for populating the additional segment on the outbound or applying the additional segment data on the inbound application.
    The core working code for ALE processes for a given application area is always encapsulated in ABAP/4 function modules. These function modules are associated with such control information as message types and process codes. So the ALE process checks this control information and derives the name of the function module to invoke for that particular IDOC processing from certain database tables. These function modules contain objects known as customer functions, which can be considered SAP Enhanced user exits. A function module is called at a particular point during the processing of the main program or function module, and it can be used to influence data processing at that point by adding code to the customer function. The customer function behaves like a normal function module and has import and export parameters, tables (internal tables) statement, and exception processing. Unlike a conventional user exit, customer functions give you the ability to modify only data available to you by the function moduleâs parameters and internal tables. While most ALE/EDI function modules are supported by customer functions, there are ALE/EDI processes that still use conventional user exits. There are a few ways to determine which function module to enhance for a given message type/process code:
    • For master data distribution, from SALE go to Extensions -> Master data distribution -> Setup additional data for message types. Search for message type DEBMAS in this example. You see an entry for DEBMAS associated with function module MASTERIDOC_CREATE_SMD_DEBMAS. This data is stored on table TBDME. The function module names for all master data message types follow this pattern: MASTERIDOC_CREATE_SMD_messagetype. This function module calls another function module of name MASTERIDOC_CREATE_DEBMAS or MASTERIDOC_CREATE_messagetype. Search for the words customer function, and you find several hits that can be used to add code to the function module.
    • From WEDI got to Control -> Inbound process codes -> Inbound with ALE service -> Processing by function module (transaction WE42), or from WEDI go to Control -> Outbound process codes -> Outbound with ALE service -> With function module (transaction WE41). There will be function modules associated with the process codes. For inbound, the function modules usually follow this pattern: IDOC_INPUT_messagetype: for example, IDOC_INPUT_CHRMAS for inbound characteristics master.
    • Use transaction WE57 or from WEDI go to Development -> Message/Application Object. The entries list the function module, Business Object, message type, and IDOC type that are used for inbound ALE/EDI interfaces.
    Customer functions are not specific only to ALE and EDI but also to all programs/modules in SAP R/3. Customer function is a SAP enhancement component; the other two types are menu and screen enhancements.
    All customer function exits are maintained in SAP enhancements and are found by using transaction SMOD. After executing transaction SMOD, pull down (F4) on the enhancement name field, and execute again. This provides you with a list of all SAP enhancements available. SAP enhancements are grouped by development class pertaining to an application area. Choose Application development R/3 SD master data distribution for development class VSV to lead to a screen that lists VSV00001 as an enhancement (see Figure 5). Press Component +/- to display its function exit components. There are four possible components listed, all of which are function exits (and are function modules) that are called from the ALE function modules in the form Call Customer Function Î001â. This is a special occurrence of the ABAP statement Call. Go to item Exit_SAPLVV01_ 001, which you need to enhance for the Customer Master outbound example of an IDOC extension. In the ALE-function module MASTERIDOC_CREATE_DEBMAS, the statement CALL Customer Function 001 is translated in the background to call component EXIT_SAPLVV01_001. Although this function exit can be edited using transaction SE37, you will use a simpler approach.
    When you use SAP enhancements and their components, you manage them with an SAP object known as a project, which is like an envelope containing the selected enhancements and their components. A project can be used to control the execution of components and to transport them to other clients and instances in SAP. Basically, the process involves creating a project, including enhancements and components that are to be enhanced, editing the components, and then activating the project. The following process creates a project for our example Customer Master IDOC extension:
    • Execute transaction CMOD.
    • Enter name of project, say CSTMAST1.
    • Click on Create.
    • Enter a description of the project.
    • Save.
    • Click on SAP Enhancements.
    • Enter VSV00001 for Enhancement.
    • Save.
    Once youâve created the project, edit the function exit components and activate the project. Remember that the code in the function exit enhancement will execute only if the project is activated. In fact, this is a convenient SAP enhancements feature, whereby the work in progress (developing code in the customer function) will not affect users of that application. When the code is completed, the project can be activated so the enhanced functionality takes effect. It can also be deactivated for maintenance.
    As mentioned earlier, customer functions (function exits) are embedded in ALE function modules and can be used to influence the creation and modification of IDOC data on an outbound application or to post additional or modified IDOC data to an inbound R/3 application. Function exits are similar to regular function modules, with import/export parameters, tables (internal tables), and exceptions.
    The two important factors to consider while developing the customer function are:
    1. The point in the ALE function module where the function exit occurs
    2. The data made available by the customer function that can be modified or posted to the R/3 application, based on the direction.
    Because some function modules have several customer functions, it is critical to choose the function exit best suited for that particular enhancement. Do not attempt to perform activities that the function exit is not designed for. The importance of this point is illustrated by the following description of enhancing function modules for outbound and inbound ALE interfaces.
    Outbound interfaces. In an outbound ALE interface you use function exits (customer functions) to populate additional segments created by an IDOC extension or to modify the existing IDOC data segments as per business requirements. Previously, you identified that enhancement VSV00001 has a component EXIT_SAPLVV01_001 (function exit), which can be used for populating the additional data segment Z1SADRX that you created in the IDOC extension ZDEBMASX (IDOC type ZDEBMASZ, based on Basic IDOC type DEBMAS02). You also learned that the ALE function module that calls this function exit is MASTERIDOC_CREATE_DEBMAS, which has a statement Call Customer Function 001.
    Browse the function module MASTERIDOC_CREATE_DEBMAS using transaction SE37. You will find that this customer function is invoked for every segment of IDOC type DEBMAS02. In fact, the function exit is called soon after the creation of an existing segment has been populated with data and appended to the IDOC data table (internal table). Also, the function exit is exporting the message type, IDOC type, and the segment name and is importing the IDOC extension type. It is also passing the IDOC data internal table. This indicates that the ALE function module is allowing you to populate additional segments for every existing segment and modify the existing segmentâs data.
    Letâs write ABAP/4 code to accomplish the task of populating IDOC segment Z1SADRX with a contact personâs business address:
    • From SE37, display function module MASTERIDOC_CREATE_ DEBMAS.
    • Find Customer Function 001.
    • Double-click on 001.
    • The function EXIT_SAPLVV01_001 will be displayed.
    • Double-click on INCLUDE ZXVSVU01.
    • You will be asked to create a new include object. Proceed as desired.
    • Enter code (as in Listing 1).
    • Be sure to perform a main program check (Function Module -> Check -> main program) and extended program check (Function module -> Check -> Extended check).
    Now that you have extended the IDOC and enhanced the ALE function module based on the requirements for the contact personâs business address on the Customer Master, letâs test the interface. You should create a logical system and define a port for this interface. You should also configure the Customer Distribution Model to indicate that message type DEBMAS is being distributed to this logical system. The only difference in configuration between a regular outbound ALE interface and an enhanced one is the partner profile definition. While maintaining the outbound parameters of the partner profile, make sure the IDOC type is ZDEBMASZ. The fields for Basic IDOC type and extension type are automatically populated with DEBMAS02 and ZDEBMASX, respectively.
    To maintain the contact personâs business address of a customer:
    • Use transaction BD12 or from BALE go to Master Data ->Customer -> Send and send that Customer Master record by executing the transaction after filling in the relevant fields such as customer number, message type, and logical system.
    • Use transaction WE02 or WE05 to verify the IDOC created. You should see the new segment Z1SADRX populated with the correct data.
    With SAP releases below 4.5B, you cannot capture changes to business address through change pointers because a change document object is not available for capturing business address changes, and also earlier releases have not been configured to write change documents for a contact personâs business address. If you would like this functionality, you can either create change document objects, generate function modules to create change documents, and perform ALE configuration to tie it in, or make a cosmetic change to the contact person screen data while changing the contact personâs business address so that it gets captured as a change to the Customer Master. Subsequently, the ALE enhancement that you performed captures the contact personâs business address.
    Inbound interfaces. The process for enhancing inbound ALE interfaces is similar for outbound, with a few exceptions; specifically in the coding of customer functions (function exits) for the ALE/EDI function modules.
    The first step is to create an IDOC extension for the specific Basic IDOC type by adding new segments at the appropriate hierarchy level: that is, associated to the relevant existing segment. Populate the data fields on the new segments with application data by the translator or external system/program before importing them into the R/3 System. Then, find the ALE function module that is invoked by the inbound processing. By browsing through the code or reading the documentation on the function exit enhancements using the SMOD transaction, identify the function exit in which you should place your code. The technique used in the code to post the additional or modified IDOC data to the application can vary based on the application rules and requirements, the data available at that point in processing, and the application function modules available to update the application tables. It is important to search first for application modules that process the data and see if they can be called within the function exit. If the additional data in the extended segments in specific to a custom table or resides in nonkey fields of a single or small set of tables, you may be able to update it directly by SQL statements in the function exit. This approach should be carefully evaluated and is certainly not highly recommended.
    Another option is to use Call Transaction from within the function exit to process the additional data. For example, in the case of message type WMMBXY for inbound goods movements from a warehouse management system, the standard interface creates batches for materials, but does not update its characteristics. In such a case, you can use Call Transaction MSC1 to create the batch and assign characteristic values to it from within the function exit provided.
    regards,
    srinivas
    *reward for useful answers*</b>

  • Regarding Screen Exits

    Hi all,
    In tcode XD02 i want to add 3 fields (account no. , Branch and Bank Details)..In Standard Screen.
    What is Screen Exit For the XDO2?
    Can Any One Tell the Step by step process to create Screen Exits.
    How To work with  Tcodes CMOD And SMOD?

    Hi,
    Check the link below on screen exits:
    http://****************/Tutorials/ExitsBADIs/ExitsMain.htm
    regards
    Shiva

  • Regarding BADI implementation in Debugging

    Hi,
       i have a doubt regarding BADI.There are multiple badi implementations for VA02 transaction. now i am processing the VA02 transaction. Can i know which implementation is processing for the transaction.

    Hi Praveen,
    Use this code to find out the BADI of a Transaction code:
    *& Report ZGET_BADI
    REPORT ZGET_BADI.
    TABLES : TSTC,
    TADIR,
    MODSAPT,
    MODACT,
    TRDIR,
    TFDIR,
    ENLFDIR,
    SXS_ATTRT ,
    TSTCT.
    DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA : FIELD1(30).
    DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
    PARAMETERS : P_TCODE LIKE TSTC-TCODE,
    P_PGMNA LIKE TSTC-PGMNA .
    DATA wa_tadir type tadir.
    START-OF-SELECTION.
    IF NOT P_TCODE IS INITIAL.
    SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
    ELSEIF NOT P_PGMNA IS INITIAL.
    TSTC-PGMNA = P_PGMNA.
    ENDIF.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'PROG'
    AND OBJ_NAME = TSTC-PGMNA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    IF SY-SUBRC NE 0.
    SELECT SINGLE * FROM TRDIR
    WHERE NAME = TSTC-PGMNA.
    IF TRDIR-SUBC EQ 'F'.
    SELECT SINGLE * FROM TFDIR
    WHERE PNAME = TSTC-PGMNA.
    SELECT SINGLE * FROM ENLFDIR
    WHERE FUNCNAME = TFDIR-FUNCNAME.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'FUGR'
    AND OBJ_NAME EQ ENLFDIR-AREA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    ENDIF.
    ENDIF.
    SELECT * FROM TADIR INTO TABLE JTAB
    WHERE PGMID = 'R3TR'
    AND OBJECT in ('SMOD', 'SXSD')
    AND DEVCLASS = V_DEVCLASS.
    SELECT SINGLE * FROM TSTCT
    WHERE SPRSL EQ SY-LANGU
    AND TCODE EQ P_TCODE.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    WRITE:/(19) 'Transaction Code - ',
    20(20) P_TCODE,
    45(50) TSTCT-TTEXT.
    SKIP.
    IF NOT JTAB[] IS INITIAL.
    WRITE:/(105) SY-ULINE.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    *Sorting the internal Table
    sort jtab by OBJECT.
    data : wf_txt(60) type c,
    wf_smod type i ,
    wf_badi type i ,
    wf_object2(30) type C.
    clear : wf_smod, wf_badi , wf_object2.
    *Get the total SMOD.
    LOOP AT JTAB into wa_tadir.
    at first.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 'Enhancement/ Business Add-in',
    41 SY-VLINE ,
    42 'Description',
    105 SY-VLINE.
    WRITE:/(105) SY-ULINE.
    endat.
    clear wf_txt.
    at new object.
    if wa_tadir-object = 'SMOD'.
    wf_object2 = 'Enhancement' .
    elseif wa_tadir-object = 'SXSD'.
    wf_object2 = ' Business Add-in'.
    endif.
    FORMAT COLOR COL_GROUP INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 wf_object2,
    105 SY-VLINE.
    endat.
    case wa_tadir-object.
    when 'SMOD'.
    wf_smod = wf_smod + 1.
    SELECT SINGLE MODTEXT into wf_txt
    FROM MODSAPT
    WHERE SPRSL = SY-LANGU
    AND NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    when 'SXSD'.
    *For BADis
    wf_badi = wf_badi + 1 .
    select single TEXT into wf_txt
    from SXS_ATTRT
    where sprsl = sy-langu
    and EXIT_NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED ON.
    endcase.
    WRITE:/1 SY-VLINE,
    2 wa_tadir-OBJ_NAME hotspot on,
    41 SY-VLINE ,
    42 wf_txt,
    105 SY-VLINE.
    AT END OF object.
    write : /(105) sy-ULINE.
    ENDAT.
    ENDLOOP.
    WRITE:/(105) SY-ULINE.
    SKIP.
    FORMAT COLOR COL_TOTAL INTENSIFIED ON.
    WRITE:/ 'No.of Exits:' , wf_smod.
    WRITE:/ 'No.of BADis:' , wf_badi.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'No userexits or BADis exist'.
    ENDIF.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'Transaction does not exist'.
    ENDIF.
    AT LINE-SELECTION.
    data : wf_object type tadir-object.
    clear wf_object.
    GET CURSOR FIELD FIELD1.
    CHECK FIELD1(8) EQ 'WA_TADIR'.
    read table jtab with key obj_name = sy-lisel+1(20).
    move jtab-object to wf_object.
    case wf_object.
    when 'SMOD'.
    SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
    CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    when 'SXSD'.
    SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
    CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
    endcase.
    Reward if useful
    Regards
    Ravi

  • Regarding BADI's and Transaction

    Hi All,
    I would like to know, how to find the BADI for a particular  transaction ?
    Thanks and Regards
    Mayank

    hi,
    execute  this program, it will give allexits and badi's avilable for a transaction.
    REPORT  YMS_USEREXITBADITEST  .
    TABLES : TSTC,
    TADIR,
    MODSAPT,
    MODACT,
    TRDIR,
    TFDIR,
    ENLFDIR,
    SXS_ATTRT ,
    TSTCT.
    DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA : FIELD1(30).
    DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
    PARAMETERS : P_TCODE LIKE TSTC-TCODE,
    P_PGMNA LIKE TSTC-PGMNA .
    DATA WA_TADIR TYPE TADIR.
    START-OF-SELECTION.
      IF NOT P_TCODE IS INITIAL.
        SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
      ELSEIF NOT P_PGMNA IS INITIAL.
        TSTC-PGMNA = P_PGMNA.
      ENDIF.
      IF SY-SUBRC EQ 0.
        SELECT SINGLE * FROM TADIR
        WHERE PGMID = 'R3TR'
        AND OBJECT = 'PROG'
        AND OBJ_NAME = TSTC-PGMNA.
        MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
        IF SY-SUBRC NE 0.
          SELECT SINGLE * FROM TRDIR
          WHERE NAME = TSTC-PGMNA.
          IF TRDIR-SUBC EQ 'F'.
            SELECT SINGLE * FROM TFDIR
            WHERE PNAME = TSTC-PGMNA.
            SELECT SINGLE * FROM ENLFDIR
            WHERE FUNCNAME = TFDIR-FUNCNAME.
            SELECT SINGLE * FROM TADIR
            WHERE PGMID = 'R3TR'
            AND OBJECT = 'FUGR'
            AND OBJ_NAME EQ ENLFDIR-AREA.
            MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
          ENDIF.
        ENDIF.
        SELECT * FROM TADIR INTO TABLE JTAB
        WHERE PGMID = 'R3TR'
        AND OBJECT IN ('SMOD', 'SXSD')
        AND DEVCLASS = V_DEVCLASS.
        SELECT SINGLE * FROM TSTCT
        WHERE SPRSL EQ SY-LANGU
        AND TCODE EQ P_TCODE.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) P_TCODE,
        45(50) TSTCT-TTEXT.
        SKIP.
        IF NOT JTAB[] IS INITIAL.
          WRITE:/(105) SY-ULINE.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
    SORTING THE INTERNAL TABLE
          SORT JTAB BY OBJECT.
          DATA : WF_TXT(60) TYPE C,
          WF_SMOD TYPE I ,
          WF_BADI TYPE I ,
          WF_OBJECT2(30) TYPE C.
          CLEAR : WF_SMOD, WF_BADI , WF_OBJECT2.
    *GET THE TOTAL SMOD.
      LOOP AT JTAB INTO WA_TADIR.
        AT FIRST.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
          WRITE:/1 SY-VLINE,
          2 'Enhancement/ Business Add-in',
          41 SY-VLINE ,
          42 'Description',
          105 SY-VLINE.
          WRITE:/(105) SY-ULINE.
        ENDAT.
        CLEAR WF_TXT.
        AT NEW OBJECT.
          IF WA_TADIR-OBJECT = 'SMOD'.
            WF_OBJECT2 = 'Enhancement' .
          ELSEIF WA_TADIR-OBJECT = 'SXSD'.
            WF_OBJECT2 = ' Business Add-in'.
          ENDIF.
          FORMAT COLOR COL_GROUP INTENSIFIED ON.
          WRITE:/1 SY-VLINE,
          2 WF_OBJECT2,
          105 SY-VLINE.
        ENDAT.
        CASE WA_TADIR-OBJECT.
          WHEN 'SMOD'.
            WF_SMOD = WF_SMOD + 1.
            SELECT SINGLE MODTEXT INTO WF_TXT
            FROM MODSAPT
            WHERE SPRSL = SY-LANGU
            AND NAME = WA_TADIR-OBJ_NAME.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
          WHEN 'SXSD'.
    FOR BADIS
            WF_BADI = WF_BADI + 1 .
              SELECT SINGLE TEXT INTO WF_TXT
              FROM SXS_ATTRT
              WHERE SPRSL = SY-LANGU
              AND EXIT_NAME = WA_TADIR-OBJ_NAME.
              FORMAT COLOR COL_NORMAL INTENSIFIED ON.
          ENDCASE.
          WRITE:/1 SY-VLINE,
          2 WA_TADIR-OBJ_NAME HOTSPOT ON,
          41 SY-VLINE ,
          42 WF_TXT,
          105 SY-VLINE.
          AT END OF OBJECT.
            WRITE : /(105) SY-ULINE.
          ENDAT.
        ENDLOOP.
        WRITE:/(105) SY-ULINE.
        SKIP.
        FORMAT COLOR COL_TOTAL INTENSIFIED ON.
        WRITE:/ 'No.of Exits:' , WF_SMOD.
        WRITE:/ 'No.of BADis:' , WF_BADI.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(105) 'No userexits or BADis exist'.
      ENDIF.
    ELSE.
      FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
      WRITE:/(105) 'Transaction does not exist'.
    ENDIF.
    AT LINE-SELECTION.
      DATA : WF_OBJECT TYPE TADIR-OBJECT.
      CLEAR WF_OBJECT.
      GET CURSOR FIELD FIELD1.
      CHECK FIELD1(8) EQ 'WA_TADIR'.
      READ TABLE JTAB WITH KEY OBJ_NAME = SY-LISEL+1(20).
      MOVE JTAB-OBJECT TO WF_OBJECT.
      CASE WF_OBJECT.
        WHEN 'SMOD'.
          SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
          CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
        WHEN 'SXSD'.
          SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
          CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
      ENDCASE.
    reward points if hlpful.

  • Regarding BADI's

    Hi ALL,
    What is BADI, how many types of badi, and what is filter dependent BADI.
    please provide me any links or examples regarding above will be appreciated.
    Points will be awarded..
    thanks,
    vinesh.

    Hi,
    Business Add-Ins
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
    As with customer exits (SMOD/CMOD [Page 40]), two different views are available:
    • In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
    • In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-system infrastructure (SAP and customers), but instead allow for multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time.
    In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard.
    A single Business Add-In contains all of the interfaces necessary to implement a specific task. In Release 4.6A, program and menu enhancements can be made with Business Add-Ins. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects
    DEFINING THE BADI
    1) execute Tcode SE18.
    2) Specify a definition Name : ZBADI_SPFLI
    3) Press create
    4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
    multiple use.
    5) Choose the interface tab
    6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
    7) Dbl clk on interface name to start class builder . specify a method name (name,
    level, desc).
    Method level desc
    Linese;ection instance methos some desc
    8) place the cursor on the method name desc its parameters to define the interface.
    Parameter type refe field desc
    I_carrid import spfli-carrid some
    I_connid import spefi-connid some
    9) save , check and activate…adapter class proposed by system is
    ZCL_IM_IM_LINESEL is genereated.
    IMPLEMENTATION OF BADI DEFINITION
    1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
    2) Specify aname for implementation ZIM_LINESEL
    3) Specify short desc.
    4) Choose interface tab. System proposes a name fo the implementation class.
    ZCL_IM_IMLINESEL which is already generarted.
    5) Specify short desc for method
    6) Dbl clk on method to insert code..(check the code in “AAA”).
    7) Save , check and activate the code.
    Some useful URL
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    Now write a sample program to use this badi method..
    Look for “BBB” sample program.
    “AAA”
    data : wa_flights type sflight,
    it_flights type table of sflight.
    format color col_heading.
    write:/ 'Flight info of:', i_carrid, i_connid.
    format color col_normal.
    select * from sflight
    into corresponding fields of table it_flights
    where carrid = i_carrid
    and connid = i_connid.
    loop at it_flights into wa_flights.
    write:/ wa_flights-fldate,
    wa_flights-planetype,
    wa_flights-price currency wa_flights-currency,
    wa_flights-seatsmax,
    wa_flights-seatsocc.
    endloop.
    “BBB”
    *& Report ZBADI_TEST *
    REPORT ZBADI_TEST .
    tables: spfli.
    data: wa_spfli type spfli,
    it_spfli type table of spfli with key carrid connid.
    *Initialise the object of the interface.
    data: exit_ref type ref to ZCL_IM_IM_LINESEL,
    exit_ref1 type ref to ZIF_EX_BADISPFLI1.
    selection-screen begin of block b1.
    select-options: s_carr for spfli-carrid.
    selection-screen end of block b1.
    start-of-selection.
    select * from spfli into corresponding fields of table it_spfli
    where carrid in s_carr.
    end-of-selection.
    loop at it_spfli into wa_spfli.
    write:/ wa_spfli-carrid,
    wa_spfli-connid,
    wa_spfli-cityfrom,
    wa_spfli-deptime,
    wa_spfli-arrtime.
    hide: wa_spfli-carrid, wa_spfli-connid.
    endloop.
    at line-selection.
    check not wa_spfli-carrid is initial.
    create object exit_ref.
    exit_ref1 = exit_ref.
    call method exit_ref1->lineselection
    EXPORTING
    i_carrid = wa_spfli-carrid
    i_connid = wa_spfli-connid.
    clear wa_spfli.
    With Regards
    Madhu

  • How can we find all the available  user-exits in sap without using SMOD?.

    How can we find all the available  user-exits in sap without using SMOD?.

    Hi,
    Please check this links for user exits list.
    http://www.planetsap.com/Userexit_List.htm
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/ab038.htm
    Regards,
    Ferry Lianto

  • Project name in smod

    Where can we see the project name in smod transaction?

    Hi Deepthi,
    Go to SMOD transaction.
    Enter the Enhancement Name in SMOD.
    Open in Display mode.
    Now get the package name from the window.
    Now go to transaction SE80.
    Choose package from the listbox
    and enter the package name.
    Now it will display the list of Transactions associated with the project.
    check these too:
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    Regards
    Divya

  • Need to find Enhancement in SMOD for exit FM : EXIT_SAPLJ1AV_007

    I need to do some code developments inside FM exit EXIT_SAPLJ1AV_007 which is present inside Function Group: XJ1A.
    All the FM inside this FG are for mainly User exits for Argentina.
    I am not able to find the Enhancement in Tcode SMOD which is attached to this FM exit EXIT_SAPLJ1AV_007.
    I need the name of the enhancement in SMOD attached to this FM EXIT_SAPLJ1AV_007 so that I can implement the same in CMOD.
    If anybody knows the enhancement related to this exit FM , then pls let me know.
    Thanks in advance
    Ramesh

    Thanks Pankaj.
    Already I tried using table MODSAP apart from SMOD.
    I was not able to find for this one.
    The other 2 exits that u have mentioned that even I was able to find but not this one.
    If this exit is not at all linked to any enhancements then I am wondering why SAP has provided this ?
    regards
    Ramesh

  • Regarding Exit of validation in SPRO

    Hi  All,
             Normally for user exits the system should not ask for the Access key. But the exits of validations in tcode 'SPRO' it is asking for the acess key. It is creating some sort of confusion.plz clarify.
    Regards
    Prashanth

    Hi prashanth,
    1. customer exits (using CMOD, SMOD)
      won't ask for access key.
    2. But user-exits, (especially in SD Module)
       have some Z INCLUDE,
       which needs to be modified,
       for writing our code.
    So, only for the first time, it will ask for access key.
    regards,
    amit m.

Maybe you are looking for

  • What is best solution for backup ?

    Our environment consisted of RAC (2 nodes). we are trying to back up our database using RMAN with NetBackup. we also have other different databases need to be backed up. In RAC case, what is best solution for backing up the database ? As I mentioned

  • Error when attempting to open Numbers file

    I have Numbers v2.2.2 running on IOS and v3.2.2 on OSX 10.9.4. and I am getting an error message when trying to open file: "Spreadsheet can't be imported. Document was created with an unsupported version" The file which was stored on iCloud had been

  • Video driver issue - black screen after XP loads

    I've used Bootcamp to run Windows XP on my Macbook for the past year. No major issues up to this point... Today I decided to update my graphics drivers on XP because I was going to install Starcraft II. I went to Nvidia website and it auto-detected t

  • Direct material planning

    Dear all,      In what basis the following requirements will be created. 1.  Dependent requirement 2.  Purchase requisition 3.  Schedule agreement and also would like to know what are the key fields in Material Master is deciding alll these three?  P

  • Backing up stuff

    Whats a good way to back things up?  I want to cp certain files to another computer so that incase I screw something up I can recover quickly.  While I'm at it I'd like to backup mail and other things too.  Is that something I'd use cron for?  Sounds