How to implement F4IF_INT_TABLE_VALUE_REQUEST in search help User Exit?

Hi,
I need to enhanse search help and add F4 functionality to display list of company codes when cursor is in PBUKR field. I put F4IF_INT_TABLE_VALUE_REQUEST
into the user exit but nothing works.
I get error that PROCESS is not defined. If I remove that line there is no error but nothing works.
Can someone tell me what is wrong in the code below.
Thank you.
FUNCTION z_hr_shlp_wbs_element.
""Local interface:
*"  TABLES
*"      SHLP_TAB TYPE  SHLP_DESCR_TAB_T
*"      RECORD_TAB STRUCTURE  SEAHLPRES
*"  CHANGING
*"     VALUE(SHLP) TYPE  SHLP_DESCR_T
*"     VALUE(CALLCONTROL) LIKE  DDSHF4CTRL STRUCTURE  DDSHF4CTRL
  TABLES: prps.
  DATA: it_prps LIKE prps OCCURS 0 WITH HEADER LINE.
  DATA: status_tab LIKE jstat OCCURS 0 WITH HEADER LINE.
  DATA: l_posid LIKE prps-posid.
  DATA: l_subrc LIKE sy-subrc.
  DATA: l_pbukr LIKE prps-pbukr,   " Added by vr
        value TYPE DDSHIFACE-VALUE.
EXIT immediately, if you do not want to handle this step
  IF callcontrol-step <> 'SELONE' AND
     callcontrol-step <> 'SELECT' AND
                                       " AND SO ON
     callcontrol-step <> 'DISP'.
    EXIT.
  ENDIF.
------------------------------------------------------ added by vr
PROCESS ON VALUE-REQUEST.
FIELD PRPS-PBUKR MODULE PBUKR.
  DATA: BEGIN OF VALUE_TAB OCCURS 0,
  LPBUKR LIKE PRPS-PBUKR,
  LPOSID LIKE PRPS-POSID,
  END OF VALUE_TAB.
DATA: BEGIN OF RETURN_TAB OCCURS 0.
INCLUDE STRUCTURE DDSHRETVAL.
DATA END OF RETURN_TAB.
SELECT PBUKR POSID FROM PRPS UP TO 20 ROWS
INTO TABLE VALUE_TAB WHERE SLWID = 'QLT UDF'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'PBUKR'
WINDOW_TITLE = 'Statusselektion'
VALUE_ORG = 'S' "hierdurch kann die Struktur genommen werden
TABLES
VALUE_TAB = VALUE_TAB
RETURN_TAB = RETURN_TAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
end of additions
STEP SELONE  (Select one of the elementary searchhelps)
This step is only called for collective searchhelps. It may be used
to reduce the amount of elementary searchhelps given in SHLP_TAB.
The compound searchhelp is given in SHLP.
If you do not change CALLCONTROL-STEP, the next step is the
dialog, to select one of the elementary searchhelps.
If you want to skip this dialog, you have to return the selected
elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
either to 'PRESEL' or to 'SELECT'.
  IF callcontrol-step = 'SELONE'.
  PERFORM SELONE .........
    EXIT.
  ENDIF.
STEP PRESEL  (Enter selection conditions)
This step allows you, to influence the selection conditions either
before they are displayed or in order to skip the dialog completely.
If you want to skip the dialog, you should change CALLCONTROL-STEP
to 'SELECT'.
Normaly only SHLP-SELOPT should be changed in this step.
  IF callcontrol-step = 'PRESEL'.
  PERFORM PRESEL ..........
    EXIT.
  ENDIF.
STEP SELECT    (Select values)
This step may be used to overtake the data selection completely.
To skip the standard seletion, you should return 'DISP' as following
step in CALLCONTROL-STEP.
Normally RECORD_TAB should be filled after this step.
Standard function module F4UT_RESULTS_MAP may be very helpfull in this
step.
  IF callcontrol-step = 'SELECT'.
Maximum records are set to 0 because the counter for Max records keeps
running, even if you filter out certain records. This is a similar
problem as described in OSS Note 148525.
Feb 3, 2004 LS: devk907353
                (maxrecords = 0 defaults to maxrecords 500)
                As of release 4.7, it appears that maxrecords is
                being considered on the read of the view, rather
                than prior to presenting the selection list.
                When only 500 records are passed into this exit,
                the subsequent evaluation yields very few records
                in the selection list.  By setting maxrecords to
                8000, the entire contents of the view are passed
                to this user exit, and therefor the search help
                yields a reasonable selection list to the user
                (as was the case in release 4.6b).
  callcontrol-maxrecords = 0.        " devk907353
    callcontrol-maxrecords = 8000.     " devk907353
  PERFORM STEP_SELECT TABLES RECORD_TAB SHLP_TAB
                      CHANGING SHLP CALLCONTROL RC.
  IF RC = 0.
    CALLCONTROL-STEP = 'DISP'.
  ELSE.
    CALLCONTROL-STEP = 'EXIT'.
  ENDIF.
    EXIT. "Don't process STEP DISP additionally in this call.
  ENDIF.
Added by vr, Nov. 2007 ---------------------------
  CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
  EXPORTING
    PARAMETER               = 'PBUKR' " Reference to search help parameter
  IMPORTING
    VALUE                   = value
  TABLES
    SHLP_TAB                = shlp_tab
    RECORD_TAB              = record_tab
  CHANGING
    SHLP                    = shlp
    CALLCONTROL             = callcontrol.
  l_pbukr = value.
End of additions by vr ---------------------------
STEP DISP     (Display values)
This step is called, before the selected data is displayed.
You can e.g. modify or reduce the data in RECORD_TAB
according to the users authority.
If you want to get the standard display dialog afterwards, you
should not change CALLCONTROL-STEP.
If you want to overtake the dialog on you own, you must return
the following values in CALLCONTROL-STEP:
- "RETURN" if one line was selected. The selected line must be
  the only record left in RECORD_TAB. The corresponding fields of
  this line are entered into the screen.
- "EXIT" if the values request should be aborted
- "PRESEL" if you want to return to the selection dialog
Standard function modules F4UT_PARAMETER_VALUE_GET and
F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
  IF callcontrol-step = 'DISP'.
DEVK909420 Begin
  SELECT * FROM prps INTO TABLE it_prps
     WHERE belkz = 'X'.
Changed by vr, Nov. 2007
  IF l_pbukr <> ''.
    SELECT * FROM prps INTO TABLE it_prps
       WHERE belkz =  'X'
         AND fkstl <> ''
         AND pbukr = l_pbukr.
    ELSE.
    SELECT * FROM prps INTO TABLE it_prps
       WHERE belkz =  'X'
         AND fkstl <> ''.
    ENDIF.
End of changes
DEVK909420 End
    SORT it_prps BY posid.
    LOOP AT record_tab.
      l_posid = record_tab+96(24).
      READ TABLE it_prps WITH KEY posid = l_posid.
      IF sy-subrc = 0.
        CALL FUNCTION 'STATUS_READ'
             EXPORTING
                  objnr       = it_prps-objnr
                  only_active = 'X'
             TABLES
                  status      = status_tab.
DEVK909329 Begin
        read table status_tab with key inact = ''
                                       stat  = 'E0001'.
        if sy-subrc is initial.
          read table status_tab with key inact = ''         "DEVK909345
                                         stat  = 'I0002'.   "DEVK909345
        endif.
DEVK909329 End
      ENDIF.
      IF sy-subrc NE 0.
        DELETE record_tab.
      ELSE.
       IF record_tab+114(1) EQ '.' AND
          record_tab+115(1) EQ '9'.
         DELETE record_tab.
       ELSE.
DEVK909420 Begin
        IF record_tab+102(1) EQ '9'.
          DELETE record_tab.
        ELSEIF record_tab+104(1) EQ '9'.
          DELETE record_tab.
        ENDIF.
DEVK909420 End
       ENDIF.
      ENDIF.
    ENDLOOP.
    EXIT.
  ENDIF.
ENDFUNCTION.

Hi Vitaly,
Process on Value Request and search help exit is entirely two idea to display the f4 values.please remove the PROCESS ON VALUE REQUEST from the function module.write the required select statements after   CHECK callcontrol-step EQ 'SELECT' . and pass the value to the function module
CALL FUNCTION 'F4UT_RESULTS_MAP'
      TABLES
        shlp_tab          = shlp_tab
        record_tab        = record_tab
        source_tab        = l_record
      CHANGING
        shlp              = shlp
        callcontrol       = callcontrol
      EXCEPTIONS
        illegal_structure = 1
        OTHERS            = 2.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    IF ( sy-subrc = 0 AND l_record IS INITIAL ).
      MESSAGE 'No values found' TYPE 'S'.
    ENDIF.
    callcontrol-step = 'DISP'.
Find the documentaion for this function module for further help
message edited by
shibu

Similar Messages

  • Need selection screen values in Search help user exit in same report

    Hi Experts,
    I am using Logical Data Base PNP.
    Created a custom search help to validate the records for IT000 based on the selection screen dates.
    Enter the DATEs for Data Selection Period and Person selection period in the selection screen.
    When I for search help for PERNR field in the same report, I need the selectin screen DATE values to be in user-exit of search help.
    This will help me in validating the records for specific employees within the date range of given DATE in selectin period.
    As of now it's picking the employees based on the DATE selection of selection screen,
    Regards,
    Prasad

    Hi,
    Go Ahead as mentioned by Satyesh T - (Option two).
    Reading Select Options from DYNP_VALUES_READ
    reffer the above link for getting more clarity for using  'DYNP_VALUES_READ'
    Regards.
    Arun

  • Search Help User Exit (if "one" entry in hit list, skip hit list and export)

    Hi everyone,
    I hope you can help me. I spent many hours on this one but I just could not find a solution (by myself and by searching google and searching the SCN).
    Problem like thread subject.
    I have the requirement to create a search help using search help exit. Done so far. My search help works fine. There´s a Sel Opt and I get the hit list with several entries. "But" I have one problem. If there is only one entry I have to skip the hit list and just export the value straight to the caller.
    I just don´t get it to work. I used the function module F4UT_PARAMETER_RESULTS_PUT but there was no value in shlp-interface-value. Record Tab was written, but value is not exported.
    Maybe you got some hints for me?`
    Best regards
    Dominik

    Hi Raymond,
    I passed as followed:
    ***CALL FUNCTION 'F4UT_PARAMETER_RESULTS_PUT'
    ***  EXPORTING
    ***       PARAMETER         = 'DOC_ID'
    ***       VALUE             = ls_disp_data-doc_id
    ***       fieldname         = 'DOC_ID'
    ***  TABLES
    ***       SHLP_TAB          = SHLP_TAB
    ***       RECORD_TAB        = RECORD_TAB
    ***        SOURCE_TAB       = lt_disp_data
    ***  CHANGING
    ***       SHLP              = SHLP
    ***       CALLCONTROL       = CALLCONTROL
    ***  EXCEPTIONS
    ***       PARAMETER_UNKNOWN = 1
    ***       OTHERS            = 2.
    LT_DISP_DATA is filled with one entry only. DOC_ID is the name of the field I want the value to be set.
    Update: It´s fixed. I reset the whole thing. I did set callcontrol-step = 'RETURN' after function call, "but" at the end of the coding there was a leftover from previous tries (an empty if callcontrol-step = 'RETURN' -shell). By setting this condition explicitly the "standard flow" was interrupted.
    So, in short: I had to delete the empty if-condition for callcontrol-step = RETURN and then it worked.
    Thank you all for your feedback, hints and suggestions!
    Best regards,
    Dominik

  • How to make custom append search help tab default for all users?

    I've implemented my own search help append and I need to make the F4 search help to display my tab as default for all users. I know that search help stores the last tab used by the user in memory and when user uses the search help next time the last used tab is displayed but I have to make the system display the tab od my search help append always as default tab. Any idea how to do it?
    Message was edited by:
            Marcin Milczynski

    hi
    <b>Enhancement using Append structures</b>
        Append structures allow you to attach fields to a table without actually having to modify the table itself. You can use the fields in append structures in ABAP programs just as you would any other field in the table.
    Click on the append structure tab and opt to create new
    structure.
    Append structures allow you to enhance tables by adding fields to them that are not part of the standard. With append structures; customers can add their own fields to any table or structure they want.
    Append structures are created for use with a specific table. However, a table can have multiple append structures assigned to it
        Customers can add their own fields to any table or structure they want.
    The customer creates append structures in the customer namespace. The append structure is thus protected against overwriting during an upgrade. The fields in the append structure should also reside in the customer namespace, that is the field names should begin with ZZ or YY. This prevents name conflicts with fields inserted in the table by SAP

  • How to implement Master-Detail Search in TopLink without using DataControl

    Hi,
    I am using TopLink and EJB in our requirement. But we are not creating any data controls. Without data controls how to implement master detail search using TopLink and EJB. I did search for a single table. It is working fine. The way i implented is as follows.
    1) Taking search parameter from UI and passing it to A delegator class's method.
    2) Delegator class's method calls the EJB's NamedQuery which i already created using expression builder.
    3) EJB executes the NamedQuery with the parameter we are passing. And it returns the results back to UI.
    But as i am new to TopLink, can anyone tell me the procedure to implement Master - Detail search. Here we need to search based on Master table's column.
    Waiting for the replies regarding this.
    Thanks & Regards,
    Suresh Kethireddy

    Hi,
    I did it successfully. Following is the code.
    Session session = getSessionFactory().acquireSession();
    UnitOfWork uow = session.acquireUnitOfWork();
    ReadAllQuery raq = new ReadAllQuery();
    Dept d = new Dept();
    d.setLoc(loc);
    raq.setExampleObject(d);
    List<Dept> res=(List<Dept>)uow.executeQuery(raq);
    for(int i=0; i<res.size();i++){
    System.out.println("Dept DeptNo ---"+res.get(i).getDeptno());
    System.out.println("Dept DeptName ---"+res.get(i).getDname());
    System.out.println("Dept Location ---"+res.get(i).getLoc());
    List<Emp> eRes=res.get(i).getEmpCollection();
    for(int j=0; j<eRes.size();j++){
    System.out.println(" Emp No ---"+eRes.get(j).getEmpno());
    System.out.println(" Emp Name ---"+eRes.get(j).getEname());
    System.out.println("Emp HireDate ---"+eRes.get(j).getHiredate());
    System.out.println(" Emp Job ---"+eRes.get(j).getJob());
    System.out.println(" Emp Mgr ---"+eRes.get(j).getMgr());
    System.out.println(" Emp Sal ---"+eRes.get(j).getSal());
    But now my question is, i want to search by providing Dept param as well Emp(Which is child table) param also. Is it possible?
    I tried in 2 ways like this.
    1) Emp emp = new Emp();
    emp.setEname(eName);
    dept.addEmp(emp);
    raq.setExampleObject(dept);
    2) Emp e = new Emp();
    e.setEname("ADAMS");
    List<Emp> list = new ArrayList();
    list.add(e);
    d.setEmpCollection(list);
    raq.setExampleObject(d);
    But in both cases i failed to search based on the values i am passing to Emp.
    Is there any other way to achieve my requirement?
    Any help on this is great.
    Thanks & Regards,
    Suresh K

  • Web dynpro for abap how to create a customize search help in alv column

       hi:
          Web dynpro for abap how to create a customize search help in alv column and put search help value into alv column?
          Are there specific examples ?
          thanks!!

    HI:
       I want to created a freely programed help which include date&time,and put help value to alv column.
      I have created a freely programed help in web dynpro for abpa application,I refer:
      **************** - WebDynpro for ABAP
      but have a problem!
       If you focus on the the input field in the first row, you get the value help
    However if  I go to the second row and focus on the same input field in this column, I don't get the value help:
    What is a good way to solve similar problems?
    thanks

  • How to implement this? please help

    In my java class, I have a string array called strarray which hold serveral elements, some of the elements have the same value , for example, the first element is "swimming", the forth element is also swimming. I use a for loop to get each element and give it to arrayHolder which is also a array with the same size as strarray. Now, what I want is: I defined a Vector called element I want this vector to filter out the element from arrayHolder, get the name of non-duplicated name from the arrayHolder, the result should be inside the element vector (swimming,walking,running,dancing), no duplicated name. My code is like follows:
    import java.util.*;
    import java.io.*;
    public class arrayTest{
    public static void main(String arg[]){
    String[] strarray={"swimming","running","walking","swimming","dancing","running"};
    String[] arrayHolder=new String[strarray.size];
    Vector element=new Vector();
    for(int i=0;i<strarray.length();i++){
    arrayHolder[  i  ]=strarray[  i  ];
    /* What should I do next to get the non-duplicated element from arrayHolder and
    * add them into the element vector????
    I did not finnish it, since I am a little bit confused, how to implement? Need some help. thanks.
    Message was edited by:
    Mellon

    Not sure if I see the use of strArray & arrayHolder (I've not looked at your code - you might use code tags next time (check the "code" button above the message textarea), but may I suggest using a Map of some sort instead of a Vector? It will prevent duplicates for you.
    Good Luck
    lee

  • How to copy a standard search help to another field

    Hi All,
    I have a BSP screen in that for one input field i need to copy the standard search help for the Business Partner. Could any one guide me how to copy the standard search help for the business partner into the input field in the BSP screen.
    Thanks In advance for the help...
    Thanks,
    SAP SAP

    Hi,
    the BP search is its own web client UI component. For the integration you could check any standard transaction UI component like the BT115H_SLSO, as those contain several partner fields.
    Best Regards,
    Michael

  • How to find an existing search help?

    Hi Friends,
    How to find an existing search help for some certain fields? for example search help "H_TVKO" is for "Help view for Sales Organizations"[for the field VKORG], and search help "MAT1" is for "Find Material Number"[for the field MATNR]...... but how to find these search helps for a certain field?
    Thanks a lot!!

    Hello Qiwei,
    You can find the search help using their table and fields name.
    simply you have to point the cursor on same field for which you want to see search help in SE11.and then in same window search help tab available click on this..
    It will show all search help which is having same field.
    Have a Nice Day.
    Regards,
    Sujeet
    Edited by: Sujeet on Jan 14, 2009 10:41 AM

  • How to remove additional of search help?

    In complex standard of search help S_MAT1 has added the additional of search search help ZTEST_SEARCH, now I wish to remove the additional  of search help ZTEST_SEARCH, but at removal attempt the error stands out: "Because of use in objects of the dictionary it is impossible to spend removal".
    We look magazine of use for additional of search help ZTEST_SEARCH - shows use only in standard of search help S_MAT1. And how to be, how to remove additional  of search help?

    hi,
    try to do the where used list of ZTEST_SEARCH for all the objects, programs, function moduels, exits, screens etc etc....any of the object may be using your search help.......
    hope this helps,
    thanks,
    tanmaya

  • How can we identify what are all user exits are there for sales orders,deli

    Dear All,
    How can we identify what are all user exits are there for sales orders,deliverys and invoices
    thanks
    nitchel v

    Hi Nitchel
    There are many ways to find out the user exits..
    For example for VA01.
    Goto Transaction ie VA01:
    goto System-- Status
    doubleclick on the program name ie SAPMV45A
    SE38 -> Enter the program name and in the program( SAPMV45A) goto -- attributes
    get the package name from here ie VA
    note the package(VA) and get back to main screen
    goto SMOD tcode  and click on find button in the package spec giv the package name ie VA and execute it
    you will find list of exits available
    check out the exit that suits ur requirement
    goto cmod and create a new project and implement in that user exit.
    You will get the following exits in SMOD..
    SDTRM001  Reschedule schedule lines without a new ATP check
    V45A0001  Determine alternative materials for product selection
    V45A0002  Predefine sold-to party in sales document
    V45A0003  Collector for customer function modulpool MV45A
    V45A0004  Copy packing proposal
    V45E0001  Update the purchase order from the sales order
    V45E0002  Data transfer in procurement elements (PRreq., assembly
    V45L0001  SD component supplier processing (customer enhancements
    V45P0001  SD customer function for cross-company code sales
    V45S0001  Update sales document from configuration
    V45S0003  MRP-relevance for incomplete configuration
    V45S0004  Effectivity type in sales order
    V45W0001  SD Service Management: Forward Contract Data to Item
    V46H0001  SD Customer functions for resource-related billing
    V60F0001  SD Billing plan (customer enhancement) diff. to billing
    For Delivery you will get .. here the package name will be VL.
    V02V0001  Sales area determination for stock transport order
    V02V0002  User exit for storage location determination
    V02V0003  User exit for gate + matl staging area determination (h
    V02V0004  User Exit for Staging Area Determination (Item)
    V50PSTAT  Delivery: Item Status Calculation
    V50Q0001  Delivery Monitor: User Exits for Filling Display Fields
    V50R0001  Collective processing for delivery creation
    V50R0002  Collective processing for delivery creation
    V50R0004  Calculation of Stock for POs for Shipping Due Date List
    V50S0001  User Exits for Delivery Processing
    V53C0001  Rough workload calculation in time per item
    V53C0002  W&S: RWE enhancement - shipping material type/time slot
    V53W0001  User exits for creating picking waves
    VMDE0001  Shipping Interface: Error Handling - Inbound IDoc
    VMDE0002  Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0003  Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0004  Shipping Interface: Message SDPACK (Packing, Inbound)
    For Billing VF01..Package is VF..
    SDVFX007  User exit: Billing plan during transfer to Accounting
    SDVFX008  User exit: Processing of transfer structures SD-FI
    SDVFX009  Billing doc. processing KIDONO (payment reference numbe
    SDVFX010  User exit item table for the customer lines
    SDVFX011  Userexit for the komkcv- and kompcv-structures
    V05I0001  User exits for billing index
    V05N0001  User Exits for Printing Billing Docs. using POR Procedu
    V60A0001  Customer functions in the billing document
    V60P0001  Data provision for additional fields for display in lis
    V61A0001  Customer enhancement: Pricing
    Or another way is ..
    - Get the program name for that T-Code
    - Go to that program
    - In that program, search for word 'EXIT' or 'CUSTOMER-FUNCTION' by using where-used list which will give u the list of user exits for that program
    And also you can check in the tables in SE16 for user exits..
    MODSAP - Stores SAP Enhancements
    MODSAPT - Stores SAP Enhancements - Short Texts
    MODACT - Stores Modifications
    And there are other ways as well , pls check the forum for this ,
    Regards,
    Vvieks
    Note : If you have any specific requirement then pls let us know , we will guide you

  • How to access the global data in user exit.

    Hi All,
    How to access the global data in user exit.
    the question is that when we were writing a code in the FM. i need to read data from the standard program like newly created documen and this document number need to be accessed in my program.
    this document number is not imported to the FM i needed to access for frther proceed.
    Thanks in advance.

    Hi,
    See the below PDF file by Jeff Goldstein. There you can find all the details about accessing data outside of the exit.
    [SAP User Exits and the People Who Love Them|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/208811b0-00b2-2910-c5ac-dd2c7c50c8e8]
    This will help you to solve your problem.
    Regards
    Karthik D
    Edited by: Karthik D on Dec 2, 2008 4:18 PM

  • Regarding how to find out a program is User Exit/executable

    Hi,
    Can anybody tell me how can we find wether a particular program is used in executable program (or) user exit program?
    One thing we can find out is wether the program type is 'I' or 'R' etc..
    Thanks in advance.
    Thanks,
    Deep.

    Hi...
    See the following links..
    it helps you a lot..
    how can we C the USER_EXITS in Z programs
    how can we find the list of user exits for a transaction
    How to find the active user exits in my client
    How to find user exits for a transaction
    Hope it helps you...
    Let me know if u have any more doubt...
    Reward points if useful......
    Suresh.......

  • How can we find the list of user exits for a transaction

    hi all
    iam new in user exits please send the basic details
    how can we find the list of user exit for a perticular transaction and how can we determine that a particulr user exit is used for a field
    regards
    jagadish

    hi,
    check the below links for userexits
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    FAQ's
    http://http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    http://www.easymarketplace.de/userexit.php
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    1. what is the defference between enhancement and user-exits?
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Re: difference between user exits & customer exits
    Some Questions ! Plz help...
    http://searchsap.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid21_gci1190924_tax299358,00.html?bucket=ETA
    2. Difference between CMOD and SMOD?
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    http://www.sap-img.com/abap.htm
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/diff-between-cmod-and-smod-236095
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/diff-between-cmod-and-smod-236107
    check these links..
    http://www.sapgenie.com/abap/tips_and_tricks.htm
    http://www.sap-img.com/abap/field-exits-smod-cmod-questions-and-answers.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    passing selet-option variable to subrouine...
    Finding the user-exits of a SAP transaction code
    Finding the user-exits of a SAP transaction code
    Enter the transaction code in which you are looking for the user-exit
    and it will list you the list of user-exits in the transaction code.
    Also a drill down is possible which will help you to branch to SMOD.
    Written by : SAP Basis, ABAP Programming and Other IMG Stuff
                 http://www.sap-img.com/*
    report zuserexit no standard page heading.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
             tables : 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 obligatory.
    select single * from tstc where tcode eq p_tcode.
    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 = '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.
    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.
    *---End of Program
    if u want to find the function exit
    then check the below code
    REPORT ZV_FIND_EXIT NO STANDARD PAGE HEADING.
    TABLES : TSTC, TADIR, MODSAPT, MODACT, TRDIR, TFDIR, ENLFDIR.
    TABLES : 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 OBLIGATORY.
    SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
    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 = '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.
    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.
    or
    1. in se11, goto table MODSAP
    View table contents
    2. in Type field, enter 'E' (for function exit)
    3. For that tcode, u should know the program name.
    eg. SAPLLMOB
    4. then type SAPLLMOB and execute
    or
    REPORT z34331_user_exit .
    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
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    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.
    Regards,
    Naveen

  • How to get status profile (STSMA) in user exit ILOM0001

    Hi ABAPers,
    I am currently working on user exit ILOM0001 (Check before saving a functional location) and need to get information about status profile (STSMA). I have checked parameters that is imported into this user exit (DATA_IFLO, DATA_IFLO_OLD, DATA_IFLOS) and none of them have STSMA.
    Could anybody help me how to get this field STSMA into user exit ILOM0001?
    Appreciate it.
    Thanks
    Regards
    Hadi

    Dear Kolla,
    Really appreciate your answer, but
    I don't want to generate or make settlement receiver.
    I was building a script in user exit IW010009,
    And the issue is I can not capture the content of field settlement receiver.
    If we want to capture screen field, ex. equnr, we can use structure CAUFVD,
    when i see the technical detail in this field, the structure for settlement is DKOBR, field EMPGE, but i cannot call it on debug.
    Kindly need your help on this issue.

Maybe you are looking for

  • How can i access the internet using a non-wireless...

    Before upgrading my BT broadband to BT Infinity, I was able to connect my two desktop PC's to the BTHUB2 without a problem. One of them is running Windows 7 and has a wireless connection, the other is running Windows XP and does not have a wireless a

  • Sorenson Squeeze 3 from Final cut

    Does anyone know the best settings to export to get a high quality video to show on a PC with output to a projector with or without Sorenson squeeze? Any Comments welcome! Thanks, Ed

  • Hello every one,happy new year!

    Hello, I am a loyal user of Apple, with Apple for a long time, I want to know about siri siri when support for the Chinese? Why can not support the iPhone 4? This is not unfair iphone4 users? My E-mail: [email protected], I hope to give a good explan

  • Accessing a Item master from across multiple operating units

    HI, We have created two operating units and two inventory org's. we have created an item in teh item master and assigned to the inventory org. now we have a scenario. one inventory org belongs to one OU and another inventory belongs to another OU. i

  • DP90 pricing date missing in DMR item data

    Background:  Im implementing sales pricing discounts for sales orders generated from service orders via RRB.  Currently, we create service orders to capture costs then use RRB (DP90/DP95) to create DMR documents to bill customers for the services.  C