FBL3N/FBL5N/FAGLL03 user exits and badis for authorization

Hi Gurus,
I have tried userexit and badis for FBL3N , FBL5N and FAGLL03 for the purpose of  user want to display documents created by him and other users documents should not display . Please suggest me any user exit or badi and logic for the same.
Moderator message: last warning, if you continue to disregard moderator messages and post the same question nevertheless, I will initiate deletion of your user ID.
Edited by: Thomas Zloch on May 10, 2011 9:57 AM

Hi,
1. Execute report FBL3n and in the output goto menu SETTINGS -> SPECIAL FIELDS and add the entry BKPF-USNAM and save. Now the user who have created the entry will be available in your FBL*N report.
2. Goto BTE event 00001650 - SAMPLE_INTERFACE_00001650, and copy the FM SAMPLE_INTERFACE_00001650 to custom FM. Inside this custom FM, first pass the value of I_POSTAB to E_POSTAB. i.e
E_POSTAB[] = I_POSTAB[].
Now loop E_POSTAB and check whether E_POSTAB-USNAM NE SY-UNAME, then delete that entry from the internal table E_POSTAB.
3. Now create a custom product in FIBF transaction and check the activate checkbox. Attach the event 00001650 and custom FM to the P/S module customer part.
Hope this will meet your requirement.
Regards,
Harish
Moderator message: please be more selective when replying to questions (especially the "do my work" kind), better check the posters history before investing effort.
Edited by: Thomas Zloch on May 10, 2011 9:59 AM

Similar Messages

  • User Exit and BADI for Sales Order

    Dear Experts,
                        please give me available user exits and BADI for sales order .i want to take the data from sales order at the time of sales order posting .

    Hi,
    In debugging you can find some Enhancement Spots where you can implement your code. This lets you ignore the need for access key, but its a time consuming process spotting out the exact enhancement point.
    Regards
    Karthik D

  • Need user exit or BADI for FB60

    Hi Guys!!,
    I am working on one object which   belongs to FB60 transaction. I have to give error message when user enter the ZTERM Value above 45 days for particular vendor group(MSMED).please help out.
    Richard.

    Hi,
    Foloowing are available user exits and BADIs for FB60.
    F050S001                                               FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment
    F050S002                                               FIDCC1: Change IDoc/do not send
    F050S003                                               FIDCC2: Change IDoc/do not send
    F050S004                                               FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not send
    F050S005                                               FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document
    F050S006                                               FI Outgoing IDoc: Reset Clearing in FI Document
    F050S007                                               FIDCCH Outbound: Influence on IDoc for Document Change
    F180A001                                               Balance Sheet Adjustment
    FARC0002                                              Additional Checks for Archiving MM Vendor Master Data
    RFAVIS01                                               Customer Exit for Changing Payment Advice Segment Text
    RFEPOS00                                              Line item display: Checking of selection conditions
    RFKORIEX                                              Automatic correspondence
    SAPLF051                                              Workflow for FI (pre-capture, release for payment)
    Please find the one suitable to your need.
    Hope it will help you.
    Regards
    Natasha Garg

  • User exit or BADI for F110 transaction

    Hello, i need a user exit or badi for the F110 transaction with the objective to shoot workflow of approval of payment proposal.

    Hi Mathias,
    Welcome to SDN.
    Please check this link for sample code to find user exits and BADIs for a given transaction code.
    User Exit
    Hope this will help.
    Regards,
    Ferry Lianto

  • User exit or BADI for VL01N and VL02N

    Hi Experts,
    My requirment is while creating and changing delivery, change inco terms of delivery when some condition satisfy. can you any one tell me any user exit or badi , i will write the logic to change inco terms based some condition.
    Regards
    Jayasunder

    create the following program in $tmp.. execute it . you will get all the user exits and BADIs.
    *& Report  Z_FIND_EXIT_TRANS
    report  z_find_exit_trans.
    *& Enter the transaction code that you want to search through in order
    *& to find which Standard SAP User Exits exists.
    *& Tables
    tables : tstc, "SAP Transaction Codes
    tadir, "Directory of Repository Objects
    modsapt, "SAP Enhancements - Short Texts
    modact, "Modifications
    trdir, "System table TRDIR
    tfdir, "Function Module
    enlfdir, "Additional Attributes for Function Modules
    tstct. "Transaction Code Texts
    **& Variables
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    **& Selection Screen Parameters
    selection-screen begin of block a01 with frame title text-001.
    selection-screen skip.
    parameters : p_tcode like tstc-tcode.
    selection-screen skip.
    selection-screen end of block a01.
    **& Start of main program
    start-of-selection.
    *Validate Transaction Code
    select single * from tstc
    where tcode eq p_tcode.
    *Find Repository Objects for transaction code
    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 = enlfdir-area.
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    *Find SAP Modifactions
    select * from tadir
    into table jtab
    where pgmid = 'R3TR'
    and object = 'SMOD'
    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:/(95) sy-uline.
    format color col_heading intensified on.
    write:/1 sy-vline,
    2 'Exit Name',
    21 sy-vline ,
    22 'Description',
    95 sy-vline.
    write:/(95) sy-uline.
    loop at jtab.
    select single * from modsapt
    where sprsl = sy-langu and
    name = jtab-obj_name.
    format color col_normal intensified off.
    write:/1 sy-vline,
    2 jtab-obj_name hotspot on,
    21 sy-vline ,
    22 modsapt-modtext,
    95 sy-vline.
    endloop.
    write:/(95) sy-uline.
    describe table jtab.
    skip.
    format color col_total intensified on.
    write:/ 'No of Exits:' , sy-tfill.
    else.
    format color col_negative intensified on.
    write:/(95) 'No User Exit exists'.
    endif.
    else.
    format color col_negative intensified on.
    write:/(95) 'Transaction Code Does Not Exist'.
    endif.
    *Take the user to SMOD for the Exit that was selected.
    at line-selection.
    get cursor field field1.
    check field1(4) eq 'JTAB'.
    set parameter id 'MON' field sy-lisel+1(10).
    call transaction 'SMOD' and skip first screen.

  • How to find the user exits and BADIS from SPRO

    Hi all,
    please let us know how to find the User exits or BADIS for an application from SPRO.
    Regards,
    Madhavi

    Hi Varisetty,
    Finding user exits and BAdis from SPRO can be cumbsersome. In most instances you know the standard SAP program and want to check (find) an exit called in the flow of the transaction. You can do this as follows:
    For User Exit:
    Put "/h" in the command box (to start debugging)
    Execute your transaction
    When you enter debugging - put a breakpoint at statement
    CALL CUSTOMER-FUNCTION
    the control will stop at all calls to User Exits
    For BAdi (it's simpler)
    Go to class CL_EXITHANDLER in SE24
    Enter method GET_INSTANCE
    Put a breakpoint in this method
    Run your standard transaction - control will stop at all BAdis called within the flow since this method is used to check BAdi implementations before invoking them
    Also, if you want to find enhancements by package - go to SE80, enter the package and check function groups starting with X - those contain function exits (conventional user exits). For BAdis in a package, there is normally a separate tree node (under the package) for Enhancements hence clearly identifiable.
    Cheers,
    Adi

  • User exit or badi for me52n transaction.

    Hi all,
           i have a requirement to write a user exit or badi for me52n transaction. the requirement is in header section, only one plant should be accepted. that is in the first row one plant will be inserted. in the second row if we are inserting another plant other the first row plant, it should not accept it and it should raise an error.
    that is from the second row onwards, every plant should match with the first row plant.
    if any part of this issue is unclear, plz let me know so that i can explain it clearly
    this is urgent requirement.
    please let me know the solution as soon as possible.
    points will be awarded.
    thanking u in advance.
    A.srinivas.

    In this version exit EXIT_SAPLMEREQ_005 should exists (look at OSS <a href="https://service.sap.com/sap/support/notes/843446">Note 843446 - MEREQ001: Cannot call up external service data in user exit</a> this note refers to the exit and is applicable in  4.70. Look also at OSS <a href="https://service.sap.com/sap/support/notes/310154">Note 310154 - ME21N/ME51N: Customer-specific check, generating error log</a>
    Regards

  • User Exit or Badi for CN22

    Hi All
    Can anyone tell me an user exit or badi for Tcode CN22 which gets triggered when i save a network.
    whenever i make changes in the WBS assignment of the network in the activity level then the i need to copy dates to other networks whenever a change in WBS element is done. Please treat this as pretty urgent
    Thanks
    Sowjanya

    Hello,
    Please check and see if the BADI
    <b>"AFABD_CHANGE"</b> suits your requirement
    it has
    <b>AFABD
    Network: Dialog table for AFA</b>
    as a changable parameter....
    and import parameter as
    <b>CAUFVD                       
    Dialog Structure for Order Headers and Items</b>
    Reward if helpful
    Regards
    Byju

  • User exit or BADI for ME22N

    Hi,
    I need a user exit or Badi for defaulting Plant at line item level.
    The scenario goes like this: when ever user tries to change an existing Purchase order and tries to add a new line item in it, I need to trigger USEREXIT or BADI , so that it reads the previous line Plant and updates the current line with the same plant.
    I tried with user exit MM06E005 but it didnt seem to work.
    Can any one please help me?
    I am new to BADI, so I am not sure how to find the BADI and use it. It would be great if anyone can help me i this.
    Thanks
    Ramya

    Hello
    The BAdI ME_PROCESS_PO_CUST is the right one. The method PROCESS_ITEM should be triggered whenever the user changes something in the purchase order at item level and executes any kind of function (e.g. ENTER, CHECK or SAVE).
    However, instead of overwriting the user input via the BAdI you should implement method CHECK ( Closing Check ) where you can validate the user input. If any of your validation fails you can send an error message and set CHANGING parameter CH_FAILED = 'X'. This approach is much more transparent for the user.
    NOTE: In order to "send" an error message you need to add the include mm_messages_mac to your implementing class. For an example see class CL_EXM_IM_ME_PROCESS_PO_CUST (should be available on ERP 6.0):
    METHOD if_ex_me_process_po_cust~process_item .
      DATA: ls_mepoitem TYPE mepoitem,
            ls_customer TYPE mepo_badi_exampl,
            ls_tbsg     TYPE tbsg.
      INCLUDE mm_messages_mac. "useful macros for message handling
    * here we check customers data
      ls_mepoitem = im_item->get_data( ).
      IF ls_mepoitem-loekz EQ 'D'.
    * check field badi_afnam
        IF ls_customer-badi_afnam IS INITIAL.
          mmpur_metafield mmmfd_cust_02.
          mmpur_message_forced 'W' 'ME' '083' text-003 '' '' ''.
        ENDIF.
      ENDIF.
    ENDMETHOD.                    "IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM
    Regards
      Uwe

  • User Exit OR Badi for MK01 transaction (used for saving vendor amster data)

    Hi All,
    I have a requirement where I have to call my workflow, when we create the Vendor using my custom transaction (ZMK01, which is a copy of standard transaction MK01).
    For Workflow triggering I am using FM 'SAP_WAPI_CREATE_EVENT' in the user exit  'EXIT_SAPMF02K_001' but this is only for checking the data on saving Vendor Master.
    So I want to use FM 'SAP_WAPI_CREATE_EVENT' at right place. For that , I need User-Exit or BADI which is used for saving vendor master data.
    Could anyone please help me to find out the user exit or BADI for save event of vendor master data using transaction MK01.
    Looking forward to your advise and thanks in advance.
    Best Regards,
    Mamta

    Hi ,
    I forgot to activiate the project linked with User exit 'EXIT_SAPMF02K_001' .
    so problem is solved now
    Thanks,
    Mamta

  • User exit or BADI for recruitment

    Hi,
    I am new to HCM, can you give me user exit or badi for recruitment.
    Requirement - i have developed an infotype which i am updating through BSP, while the custom infotype is updated it should simultaneously update some of my Z tables. Hoping for positve replies earliest.
    Thanks in advance:-
    Santosh

    Hi,
    <b>Infotype</b>The data fields of HR master data, time management and recruitment are grouped logically into information types or infotypes for short.
    Examples of infotypes are "Family/Related Person", "Organizational Assignment, "Basic Pay".
    The following naming conventions apply to infotypes:
    Infotypes 0000 to 0999 are used for HR master data
    and sometimes for applicant data
    Infotypes 1000 - 1999 for organizational management
    Infotypes 2000 - 2999 for time data
    Infotypes 4000 - 4999 for applicant data
    Infotypes 9000 - 9999 for customers
    <b>Function character of step</b>
    This controls for which types of processing (create, change and/or delete a data record) a dynamic action should be carried out.
    The processing type is indicated by a two-digit numeric value. These values can be added up; in other words, you can enter several processing types for each infotype, subtype or field. A dynamic action can also be carried out independent of the current processing type.
    00 for Independent of the current function carried out
    02 for Change
    04 for Create
    06 for Change and create
    08 for Delete
    10 for Change and delete
    12 for Create and delete
    Examples
    If you enter 06, an action is carried out if the specified infotype was created or changed.
    If you enter 00, an action is carried out irrespective of whether the specified infotype was created, changed or deleted.
    <b>Variable function part</b>
    The variable function part, which depends on the indicator for step, can have the following meaning:
    <b>P - Plausibility checks</b>
    You can enter values for specific infotype fields. Field names must be entered in full. Literals and constants can serve as comparison values. These must be enclosed by inverted commas. Variables can also be used.
    The old value of a field can be used for comparison; the field name must be preceded by PSAVE-.
    If fields of other infotypes are used for comparison, these must be stored in the module pool of the current infotype.
    The following comparison operators are supported:
    = equal to,
    < less than,
    <= less than or equal to,
    > greater than
    >= greater than or equal to and
    <> not equal to.
    Consecutive checks must be linked by a logical AND. Logical OR links must also be indicated by a /X.
    Note:
    Note that all checks with OR links must have a /X.
    If the result of the comparison operation is not "true", then the following commands (I, F, W etc.) are skipped over until a field is reached or a new comparison operation takes place.
    Examples
    Infotype  Field ..... Ind.   Variable function part
    0007      STAT3       P      P0007-STAT3='0'
    0007      STAT3       P      PSAVE-STAT3='1'
    The step is taken if the value in the P0007-STAT3 field changes from 1 to 0.
    0007                     P      P0013-KLKZ1<>'0'/X
    0007                     P      P0013-ALVKZ<>'0'/X
    0007                     P      P0013-RVKZ1<>'0'/X
    0007                    P      P0013-RVNUM=SPACE
    The first three conditions are linked by an OR; at least one of these conditions must be met. Condition 4 must always be met.
    The step is taken if the following holds true:
    P0013-KVKZ1 not equal to 0 or P0013-ALVKZ not equal to 0 or P0013-RVKZ1 not equal to 0, and P0013-RVNUM empty.
    <b>I - Maintain infotype record</b>
    Enter the step, infotype, subtype, object ID, start and end dates of the record and an indicator which defines whether the step is to be run in the background. The possible actions are INS, COP, MOD, and DEL.
    Use commas to separate selection criteria just like the separator in the matchcode. If an entry is missing, the system inserts a comma.
    Separate the indicator for suppressing dialog from other entries by a slash D (/D).
    Constants, such as those for subtypes, are not enclosed in inverted commas.
    Variable entries are also permitted. Fields containing such values must be put in brackets.
    Examples:
    Infotype  Field ....  Ind.  Variable function part
          ....             I    INS,19,01/D
    Step: Create a Dates record, subtype 01, run in the background
          ....             I    DEL,14,M559
    Step: Delete Rec. Payments/Deds. record with subtype (wage type) M559.
    0007 ....                I    INS,8,,,(P0007-BEGDA),(P0007-ENDDA)
    Step: Create a Basic Pay record (0008) without subtype and object ID. The start and end dates are the same as those in the current Planned Working Time record (0007); specify these two fields only if they are filled because the dynamic action was triggered by this infotype.
    <b>W - Default values for new record</b>
    Literals or variables are used as default values.
    Set the defaults for the infotype, subtype, object ID, start and end dates using an I step and not a W step.
    Do not set defaults for Q fields of an infotype because the values for these fields are derived from the corresponding P fields.
    Examples
    Infotype  Subtype  ..... FC  Ind.  Variable function part
    0021       2              04  I     INS,0015,M430
    0021        2              04  W     P0015-BETRG='10000'
    When a Family/Related Person record (0021) record with subtype 2 (child) is created, an Additional Payments record (0015) with a default amount of 100.00 is created.
    <b>V - Cross-reference to another step</b>
    Here, you can combine fields to groups. The variable function part contains the value in the field which follows the "field" column. Steps which are specified only for the following field are also triggered for each of the other fields.
    Examples
    Infotype  Field  ..... FC  Ind.  Variable function part
    0016       PRBZH        06  V     PRBZT
    0016       PRBZT        06  I     DEL,0019,01/D
    Infotype 0019, subtype 01 is deleted in the background when the field PRBZT or PRBZH in infotype 0016 is changed or created (function code 06).
    The following entries are equivalent:
    0016       PRBZH        06  I     DEL,0019,01/D
    0016       PRBZT        06  I     DEL,0019,01/D
    <b>F - Call a routine</b>
    You can call internal (module pool) as well as external routines.
    If you call external routines, type the program name in brackets after the routine name. Do not specify 'using' parameters. When calling an external routine, all data must be declared in a common part. You can use the fields of structure RP50D to return values from the routine. These are not used in the standard system and can only be populated via the routine and then can be used for defaults (W-Commands).
    This allows customer-specific routines to be formulated with all the above steps.
    Example 1:
    Infotype  Field  .....  Ind.   Var.function part
    0016      PRBZT         F      PROBATION
    0016      PRBZT         I      INS,19,01
    0016      PRBZT         W      P0019-VTRMN=PRBEND
    Module pool MP001600 contains the PROBATION routine. This routine uses the entries in the fields P0016-PRBZT and P0016-PRBEH to determine the end of the probation period which it stores in the field PRBEND.
    The system creates a new 'Dates' record with the reminder date = PRBEND.
    Example 2:
    Infotyp ..... Ind. Var. function part
    0001           F      GET_DATE(ZPUDYN01)
    0001          I      INS,19,01
    0001           W      P0019-VTRMN=RP50D-DATE1
    The GET_DATE routine in program ZPUDYN01 calculates a date and enters this date in the RP50D-DATE1 field via "TABLES RP50D" in ZPUDYN01. This date can be user-defined in GET_DATE: if necessary, user-defined infotypes can be read afterwards.
    <b>M - Send a mail</b>
    Enter the name of the feature which defines the characteristics of the mail.
    Example
    Infotype  Field  .....  Ind.    Var.function part
    0001     SACHP         M       M0001
    A mail is sent when the field SACHP is changed. The characteristics of the mail are defined in feature M0001.
    In the standard system, feature M0001 is provided as a model. The documentation on feature M0001 explains how to define the characteristics of a mail.
    <b>ADDITIONAL HINTS</b>
    If you use a date as a constant, enter it as YYYYMMDD (YYYY=year, MM=month, DD=day).
    The table strings T001P, T503 and PSPAR are filled with the values which are valid on the record start date.
    The old values of the infotype are stored in the field string PSAVE. The structure of this string is the same as the Pnnnn structure (nnnn=infotype). The structure is filled with (valid) values only when the delete, change and create functions are used.
    Please read Create dynamic actions in the Implementation Guide.
    Regards
    Bernd

  • User Exit Or Badi for Framework Release PO

    Anyone could tell me about any user exit or BADI for storing the calculated value in Frameork order.
    Since it is storing the GNETW in CEKKO and that is used in releasing procedure.
    First of all i want to calculate the total price according to srat date and end date and then only for framework order put that value in CEKKO-KTWRT field.
    Please Help and suggest some thing about this.
    Thanks & Regards,
    Nitin Malhotra

    Hi,
    Check the following PDF .
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/9cd334f3-0a01-0010-d884-f56120039915
    May be useful to you.
    Regards
    Sachin

  • User Exit or BADI for MIGO on entry of inbound delivery number

    Hi all,
    I want a user exit or BADI for MIGO, my requirement is that whenever a user enters an inbound delivery number and presses enter in MIGO the exit should get fired.
    Please help, if someone knows.
    Thanks and Regards,
    Mohammed.

    hi
    you can try out various BADI'S-
    MB_MIGO_BADI
    MB_MIGO_ITEM_BADI
    Helpful function modules:-
    MIGO_BADI_EXAMPLE
    MIGO_BADI_EXAMPLE_GET_DATA
    MIGO_BADI_EXAMPLE_GET_HEADER
    MIGO_BADI_EXAMPLE_PUT_DATA
    MIGO_BADI_EXAMPLE_PUT_HEADER
    MIGO_BADI_EXAMPLE_UPATE_DATA
    MIGO_BADI_EXAMPLE_UPDATE_HEAD
    I hope at least one of these helps.
    regards
    Aakash

  • User exit or BADI for technical closure of a maintenance order

    Hello,
    Please I need the help of you.
    Is there any User exit or BADI for technical closure of a maintenance order
    regards

    Hello ROB,
    Please do not post duplicate thread.
    You can check below two BADI's.  ATP_PUBLISH_RESULTS and  IWO1_SCREEN_MODIFY. Because I have got two BADI's through finder.
    You can also check WO10004, WO10005, WO10006, WO10007, WO10008, WO10009, WO10010 and WO10011 user exits.
    Thanks & Regards,
    Abhijit

  • User Exits or BADI for Tcode ME51N

    Hi All,
    My requirement is i need to check available quantity at the time of Purchase req creation. If PR quantity is available in stock then it should not allow to create new PR.
    Is there any user exit or Badi for this requirement. Kindly send me.
    Regards,
    Paras

    Hi Paras,
    Copy this program and execute. Will get all list of existin g Exits and Badis.
    very useful program
    Below code will give a list of BADIs for particular transaction.
    *& Report ZNEGI16 *
    REPORT ZNEGI16 .
    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 this helps.
    hema.

Maybe you are looking for

  • Lockbox Issue with payment on exact day as Cash Discount Days 1 Due Date

    Dear Gurus We are running into an issue in as much as when we receive a payment against our Lockbox on the exact day as the Cash Discount Days 1 due date the system posts this as an on account posting as opposed to applying the cash against the open

  • G3 I-Book display problem

    I gave a 10 year old I-Book to a ten year old relative and he believes that someone accidentally stepped on the closed book while it was on the floor charging. I have two images, one a photo of the screen showing black lines, maybe the outline of a b

  • TABLE DESIGN

    Hi I have this business rule which makes my table design very complex(at least for me) My application keeps track of all the patients who are admitted to the hospital with some diagnosis(disease) like TB,asthma,Heart attack etc.Also my application is

  • Install Oracle E-Business Suite Release 12.1.1 Media Pack to Windows Server

    Hi, I am completely new to Oracle - I have used My SQL in the past and I am coming from a windows Background. I have just downloaded Oracle E-Business Suite Release 12.1.1 Media Pack for Microsoft. Now this has gave me about 30+ Zip folders - how do

  • Excise invoice after GR

    Hello i have done for exciasable materials . while doing GR ... syetem asked for the excise details ...... i have selected no exise .... i want capture the exise now ..please help me steps @sakhi