Add substitute

Hello all, I am working in SRM 4.0 and when I go to approval tab on web transaction and I try to add a substitute, I press this button, then I select active substitution and I put on substitute field value Z* for example, when I click on Find button, system shows me all users for all countries in the company. How can I do to the system shows me only the users that appears in a country? For example in this case only for Spain (this is a company code in my organizational structure)
Thanks
Rosa

Hi. No, if you put Z* it should show you all users in all company codes who's details start with a Z.
I think it checks user ID, first name and last name, so any user with a Z at the start of any of these should be returned.
If it is giving you users who have not got Z at the start then raise a message with SAP, it must be a bug.
Regards,
Dave.

Similar Messages

  • Add Substitutable Fields in transaction OBBH

    Hi,
    I need to add a substitutable field to the list of substitutable fields present in transaction OBBH. Any suggestions would be helpful.
    Thanks,
    Alam.

    This has been answered in your first request.
    pls assign points if helpful as a way to say thanks.

  • Add Substitutable Field VALUT

    Dear All,
    I would like to have field VALUT (Value Date) as a substitutable field which is presently not available. Please guide me how to make this field as substitutable.
    Thanks.

    Eli/All,
    I'm thinking about creating a substitution rule based on trading partner and original FI account. 
    Specifically the prerequisite is:
    ( BSEG-HKONT = '502610' OR BSEG-HKONT = '521200' )
    AND BSEG-VBUND <> ''
    And the substution is:
    BSEG-HKONT = '541100'
    I know that I first have to modify table GB01 to allow BSEG-HKONT as a substitution field.
    My question is: Is there any issue with substituting one G/L account for another? 
    Thanks,
    Dan

  • RFx response; Add item options

    Hi all,
    Do you know how to enable the options:
    - Add Alternative Item
    - Add Substitute Item
    - Add Suppelment Item
    Thanks in advance.
    Regards,
    Ricardo.

    Hi Ricardo,
    When you created the RFx, please make sure to select the option "Allow RFx Response Modification".
    This allows the bidders to provide supplement, substitute or alternative items to line items in an RFx.
    Please let us know if this helps you.
    Regards,
    Wendy

  • Adding substitute in uwl

    Hi all,
    How to add a substitute in a workflow, PCWF in UWL/NWBC a part from business workplace, is there any specific configuration needed to achieve this feature. we are on SRM 7.0
    thanks in advance
    Regards,
    kiran

    Every user should be able to add substitutes for himself from all inboxes. for example settings->workflow settings->maintain substitute in SBWP. or Substitution - Getting Started - Using SAP Software - SAP Library for the portal.
    You can do so as admin using transaction RMPS_SET_SUBSTITUTE.

  • SRM 7.0 New custom fields added to view do not appear in the component conf

    Hi
    I added two custom fields to the view V_QTE_DOFC_I_DESC of the WD componenet /SAPSRM/WDC_DODC_QTE_I_DS. This view gets called when bidder is trying to create a bid and clicks on add Substitute Item in the Item tab. This view is simply a popup window where we can enter ther substitute item.
    I added two custom fields to the context of the above view and placed on the layout of the view as input fields. Then I tried to modify the component configuration /SAPSRM/WDCC_DODC_QTE_I_DS_SUB. When I look in t he web dynrpo built-in for the view V_QTE_DOFC_I_DESC, I don't see the custom fields that I just added. As a result, these custom fields are not displayed when I try to substitute an item. Could anyone tell me how to brining in these two custom fields into the component configuration.
    Any help is greatly appreciated.

    Hi Prasuna,
    Sorry ..You are right..I was looking at some other WDC related to contract data..It you map the CUFs to /SAPSRM/S_CLL_CTR_ITEM which has the include structure INCL_EEW_PD_ITEM_CSF_CTR then it should work fine.
    If you do this, are you able to view the new fields on the screen?
    you mentioned that you are not able to save the data to the table.
    Include your fields in INCL_EEW_PD_ITEM_CSF as well because if you add CUF to any of those doc types, you also have to add those CUF to the global structure for CUF documents.
    Also Check if you fields are there in structures BBPS_CTR_CUF_ITEM,BBPS_CTR_UI_ITEM and BBPS_CTR_ITEM.
    Check whether you have implemented the BADI's like BBP_DOC_CHECK_BADI ,BBP_DOC_CHANGE_BADI and BBP_DOC_SAVE_BADI . check out the structures (whether they having the CUFS) used in those if you have implemented any of them .
    Regards
    Lavanya
    Edited by: LAVANYA CHAVA on Aug 25, 2010 10:10 AM

  • OA FRAMEWORK DATE FORMAT IS CONFLICTING WITH PERSONAL DATE FORMAT IN APPRAI

    We are using Self service appraisals forms and added a field using oa framework personalizations. The field is available in the View Object and is mapped to an Attribute (DFF) field. The created item is of style Message Input Text with datatype DATE. This generates a small calendar icon right beside the field. On clicking the icon a calendar window pops up and a date can be selected. The date is inserted in the field in the format 23-Sep-2008. My personal preferences (equal to site preference) state that the date format should be DD-MON-YYYY. When I press continue in the appraisal form the date in the field is automatically changed in 2008/09/23. This obviously causes a validation error (screen popup). When I change my personal preference date format to YYYY/MM/DD everything works fine. However, we do not want to use date format YYYY/MM/DD. What setting determines the date format used for validating by OA Framework pages?

    Thank you for your answer. First of all I am a functional consultant using basic personalization functionality to modify the layout of the standard forms and to enable the display of some of the descriptive flexfield attributes (you are correct) we activated on the competence elements entity. I encounter a problem with the dateformat and the fact that it is changing.. Can you be more precise in telling me where to look for format changes? Note that I do not have access to tools like JDeveloper and decided is that we cannot customize/add/substitute VOs.
    CompetenciesCO and AssessmentsAM are the Controller and Application module involved using VO CompetenceElementsVO. (I try to insert a date value in Attribute2).

  • Transfer of open POs or SCs?

    Hi all.
    When a purchaser is leaving the company and still has a lot of purchase orders or shopping carts in the system that are still open - is there some way to transfer these to another colleague?
    What have you guys done when a person leaves the company?
    Best Regards
    Dennis M

    Hi
    <u>Note 978126 - Report for list of open POs in case purchaser has moved.</u>
    The requirement from customer is to have a report having a listing of POs in case the person who has created the PO has left the organization or has been moved out of the purchasing organization/group. The report should also be able to update the PO with the new requestor and/or new recipient.
    <b>Table HRUS_D2 : table of substitutes.</b>
    Also, You can setup substitute from your 'Approval' screen itself.
    For example, you are the approver. You are going on leave from 27-Aug-2007 to 05-Sep-07. Then you do the following:
    1) Click on 'Approval' transaction in your SRM webpage
    2) Click on 'Substitute' button
    3)You will see 'Assign Substitute' button at the bottom. Click that
    4)Click on 'Add Substitute' button
    5) Set the dates as required.
    Set the Status (Passive or Active) -- Desc is clear enough
    Select the user
    <b>Useful Transactions -></b>
    SWI6 : check workflow for an object (SC, PO, ...)
    SWI5: workload analysis, usefull to check if a specified user has workitem in his inbox.
    <u>Related links -></u>
    Re: How to handle when the "approvers" goes out of the company ? :-(
    WF - Substitution
    Filter Substitute for EBP Approval Inbox
    Standard Substitute is not working
    Do let me know.
    Hope this will help.
    Regards
    - Atul

  • Can I use my photos and add them or substitute them for wallpaper.

    Can I use my photos and add them or substitute them for wallpaper on the Ipod Touch?  If so, what procedure is suggested to add the photos and use them.
    Thank you for your help.

    Here are the instructions form the Users Guide:
    Adding Wallpaper
    You can set an image or photo as wallpaper for the Lock screen. You can also set
    wallpaper for your Home screen. You can choose an image that came with iPod touch,
    or a photo synced to iPod touch from your computer.
    Set wallpaper (iPod touch 3rd generation or later):
    1 In Settings, choose Wallpaper, tap the image of the Lock and Home screens, then tap
    Wallpaper or an album.
    2 Tap to choose an image or photo. If you choose a photo, drag to position it and pinch
    to zoom in or out, until it looks the way you want.
    3 Tap Set, then choose whether you want to use the photo as wallpaper for your Lock
    Screen, Home screen, or both.
    SInce you said you have iOS 4.3.2, you must and a 3 or 4G ipod.

  • How do I install "Cache Viewer" add-on? I'm trying to search it but could not find it. If it is discarded then which is its substitute?

    Please let me know what to do to get back that add-on as I've formatted my PC.

    * CacheViewer: https://addons.mozilla.org/firefox/addon/cacheviewer/
    * CacheViewer Version 0.7b: https://addons.mozilla.org/firefox/addon/cacheviewer/versions/
    That 0.7b version is not compatible with Firefox 5.0, so you need to bypass the compatibility check if you want to use CacheViewer in Firefox 4 or later at some time.
    * Add-on Compatibility Reporter: https://addons.mozilla.org/firefox/addon/add-on-compatibility-reporter/
    * [/questions/774437]

  • GarageBand substituting earlier versions of clips as I add them

    I haven't used GarageBand 3.0.5 (104.10) to record real instruments yet.
    What I've been doing is building up Mash-Ups, or sample-pieces.
    One or 2 tracks for the backing tracks, then individual tracks for each volume level and effects where I drop in the various short phrases and samples.
    ( an example ? . . sure: http://www.facebook.com/video/video.php?v=1729053578652 )
    What's suddenly happening for the 1st time w/ the current work is that I drop in a new version of a previously used item . . . taken from left-panned stereo to centered mono say . . or a newly edited partial of an earlier full phrase, yet once a new clip has imported, it's a replica of the earlier one !
    It's half the length, back to left-panned, sporting an effect not on that track . . . whatever.
    It's already weird that sometimes an .aiff comes out at a lower pitch and I'll have to convert it to an mp3 w/ iTunes to get to import right . . but this is more deeply odd.
    I put both the com.apple.garageband.cs & com.apple.garageband.plist files on the desktop & re-opened G-Band . . . nuthin' !
    What in tarnation's goin' on here ?

    Well, I take it nobody's gone into similar areas, or encountered quite the same problem ?

  • What intermediate steps to take (updating from 3.6.20 to 14.0.1) to keep add-ons?

    Just updated a Firefox installation from version 3.6.20 to version 14.0.1. (Yes, it's a big jump: this computer went several months without an Internet connection.)
    ''All but one'' of dozens of extensions and themes were absent from the list in 14: it's not that they were listed as ''disabled''; they weren't listed ''at all''. (So I went back to 3.6.20.)
    I'm accustomed to the fact that, when you switch to a newer version of Firefox, some extensions also need to be updated—and some are completely incompatible and you have to find substitutes. But I've never had them all just ''disappear''.
    My guess (really just a guess) is that I can have them migrate (even if disabled because of incompatibility) and remain in the list if I upgrade to some intermediate versions, rather than jumping straight from 3.6.20 to 14.0.1. '''Is this right? If it is, which stepping-stones should I bother to use?''' Trial-and-error of upgrading to every single intermediate version (it seems there are dozens) is not an appealing prospect. And I'm leery of simply installing the extensions anew, because some of them have folders full of personalized data, which I would like to continue to have accessible through the extensions.
    The one extension that was still in the list after the update was Fox Splitter.
    These are some of the many extensions that disappeared from the list in the update:
    # Browse Images
    # DictionarySearch
    # DownloadHelper
    # DownThemAll!
    # FireFTP
    # LocalLink
    # Microsoft .NET Framework Assistant
    # NewTabURL
    # OptimizeGoogle
    # PDF Download
    # Save Image in Folder
    # ScrapBook
    # Scroll Search Engines
    # Split Browser
    # Tab History
    Themes that disappeared:
    # Blue Canidae
    # LittleFox
    # NASA Night Launch
    # Royal Blue
    # Simpler Black
    Thank you for any help you can offer.

    When you updates, how did you do it? Was it by downloading Firefox from getfirefox.com? Or using the internal updater to update Firefox?
    I'd suggest doing the following:
    First make sure Windows is all up to date.
    Then, click on Help, and check for updates inside Firefox. Install any updates it finds (It might be Firefox 3.6.28, or Firefox 12)
    After installing that update, repeat the Firefox check for updates. After you install a version higher than Firefox 4, you will have to click on About Firefox to check for updates.
    If at any time during the update process, Firefox asks to update your add-ons, allow it.
    Finally, once you have all your updates installed, go to your Addons manager and check for any updates.

  • Error in Calendar.add (almost) evey last Monday of March

    Is the following a known bug? I am running under Windows 2000 and using
    C:\jdk1.4>java -version
    java version "1.4.1"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
    Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)
    * Filename: CalendarBug.java
    * Every last Monday of March (except those with a whole week after it),
    * gives a wrong result when subtracting 24 hours with the Calendar.add function.
    * These specific dates give -25 hours...
    * Selected output:
    * Set date: Mon Mar 26 00:00:00 CEST 2001
    * -->Adjusted 24 hours: Sat Mar 24 23:00:00 CET 2001
    * Set date: Mon Mar 25 00:00:00 CET 2002
    * Adjusted 24 hours: Sun Mar 24 00:00:00 CET 2002
    * Set date: Mon Mar 31 00:00:00 CEST 2003
    * -->Adjusted 24 hours: Sat Mar 29 23:00:00 CET 2003
    * Set date: Mon Mar 29 00:00:00 CEST 2004
    * -->Adjusted 24 hours: Sat Mar 27 23:00:00 CET 2004
    * Does anyone care to explain?
    * The result is the same when substituting seedDate.add(Calendar.HOUR,-24) with
    * - seedDate.add(Calendar.HOUR_OF_DAY,-24)
    * - seedDate.add(Calendar.MINUTE, -24*60)
    * Date Created: 25. september 2003 09:53:20
    * Written by: Skjalg Bjorndal
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    public class CalendarBug {
        GregorianCalendar seedDate = new GregorianCalendar();
        public void lastMondayInMarch(int year, int month, int date) {
            System.out.println("   ------- Year: " + year + " ----------");
            for (int i = 0; i < 10; i++) {
                System.out.println("   ---------- " + i + " ----------");
                seedDate.set(year, month, date + i);
                seedDate.setTime(zeroTime(seedDate.getTime()));
                System.out.println("   Set date:          " + seedDate.getTime().toString());
                seedDate.add(Calendar.HOUR, -24);
                if (seedDate.get(Calendar.HOUR_OF_DAY) != 0) {
                    System.out.print("-->");
                } else {
                    System.out.print("   ");
                System.out.println("Adjusted 24 hours: " + seedDate.getTime().toString());
            System.out.println("");
        private Date zeroTime(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            // Zero out time:
            cal.set(Calendar.HOUR_OF_DAY, 0);
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
            cal.set(Calendar.MILLISECOND, 0);
            return cal.getTime();
        public static void main(String args[]) {
            CalendarBug aBug = new CalendarBug();
            aBug.lastMondayInMarch(2001, 2, 19);
            aBug.lastMondayInMarch(2002, 2, 18);     // OK - hole week after last Monday of month
            aBug.lastMondayInMarch(2003, 2, 24);
            aBug.lastMondayInMarch(2004, 2, 22);

    Thanks for both of your prompt replies!
    The number of hours to be subtracted is configurable in a property file in the program in which the problem arose. I.e. it could be 1, 23, 24, 120 or whatever...
    My solution will be to download 1.4.2, as kurisu1 pointed out would solve the problem.
    Until we tested the rest of the code with 1.4.2, I will reprogram and use the seedDate.add(Calendar.DATE, -1); as a temporary work around.
    Best regards
    __Skjalg

  • I wnat to add new fieldtext in the alv list output plz tell me

    hi,
    i whant add new fieldtext in the list output, plz tell me where can i modify it.
    CORRECTIONS
    DATE       CORRECTION NOTE    AUTHOR DESCRIPTION
    09.03.2001 L9CK045451 0388404 XSC    Wrong list output for multiple Os
    05.06.2001 AL0K023393 0410219 Lud    Wrong keydate for search with
                                         Pchbegda and pchendda.
    22.04.2004 S6BK024775 730486  PS     Too many selection parameters in
                                         header
    19.06.2006 S6BK035494 956731  JF     No sorting by qualification
    REPORT RHPK_FIND_PERS_WITH_EXPIRED_QU MESSAGE-ID PQ.
    DATA  AUFRUF(8).
    TABLES : OBJEC, GDSET.
    DATA  LIST.
    DATA  MARKFIELD(1) TYPE C.
    ALV_POOL
    TYPE-POOLS SLIS.
    INCLUDES
    INCLUDE .
    INCLUDE RHPEINI0.
    TABLES
    DATA: orgeh_BUFFER like hrobject OCCURS 1 WITH HEADER LINE.
    DATA: OBJECTS    LIKE HRSOBID    OCCURS 1 WITH HEADER LINE.
    DATA: h_OBJEC    LIKE objec    OCCURS 0 WITH HEADER LINE.
    DATA: pers_objects LIKE HRSOBID    OCCURS 1 WITH HEADER LINE.
    DATA: QUALI_TAB LIKE QUALI_PROF OCCURS 1 WITH HEADER LINE.
    DATA: PERSONS LIKE PERSQ_PROF OCCURS 1 WITH HEADER LINE.
    DATA: H_PERSONS LIKE HRPE_PROFL OCCURS 1 WITH HEADER LINE.
    DATA: LIST_OUTPUT LIKE PERSQ_PROF OCCURS 1 WITH HEADER LINE.
    DATA: BOOK_EVENT_TAB LIKE PERSQ_PROF OCCURS 1 WITH HEADER LINE.
    DATA: PLAN_EVENT_TAB LIKE PERSQ_PROF OCCURS 1 WITH HEADER LINE.
    DATA H_SUITED LIKE DYNP_PCRIT-SUITED.
    DATA: O_COLOR LIKE STREEATTR-COLOR.
    DATA: O_INTENSIV LIKE STREEATTR-INTENSIV.
    DATA  SHOW_KEY.
    DATA EVENT.
    DATA: HTEXT LIKE P1000-STEXT.
    DATA: EVENT_TAB LIKE PERSQ_PROF OCCURS 1 WITH HEADER LINE.
    DATA: COLLECTED_EVENTS LIKE PERSQ_PROF OCCURS 1 WITH HEADER LINE.
    DATA: SUBTY_TAB LIKE HRPE_OTYPE_SUBTY OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF  HIDE_STRU,
            PERSTYPE LIKE HROTYPE-OTYPE,
            PERSOBID LIKE HRSOBID-SOBID,
            PERSTXT LIKE PERSQ_PROF-STEXT,
            SCALE_ID LIKE HRPE_PROFQ-SCALE_ID,
            TRAININGTYPE LIKE HRP1000-OTYPE,
            TRAININGID   LIKE HRP1000-OBJID,
            TRAININGSTXT LIKE HRP1000-STEXT,
            QUALID LIKE QUALI_PROF-QUALID,
            QUALTEXT LIKE QUALI_PROF-QUALSTXT,
          END OF HIDE_STRU.
    DATA: BEGIN OF EXTAB OCCURS 10,
             FCODE LIKE RSMPE-FUNC,
          END OF EXTAB.
    DATA:  CURRENT_QUALID LIKE QUALI_PROF-QUALID.
    DATA:  CURRENT_TRAININGSID LIKE HRP1000-OBJID.
    DATA:  CURRENT_TRAININGTYPE LIKE HRP1000-OTYPE.
    DATA: SUBRC LIKE SY-SUBRC.
    VARIABLES
    DATA: OBJID LIKE P1000-OBJID.
    DATA: H_LINE_COUNT TYPE I.
    DATA: H_TABIX1 LIKE SY-TABIX.
    ALV-Variables
    DATA: alv_events_line    TYPE slis_alv_event.         "header line
    DATA ALV_EVENTS TYPE SLIS_T_EVENT.
    DATA GT_ALV_LIST_TOP_OF_LIST TYPE SLIS_T_LISTHEADER.
    DATA: gt_events TYPE SLIS_T_EVENT.
    DATA G_REPID LIKE SY-REPID.
    DATA G_VARIANT LIKE DISVARIANT.
    DATA ALV_USERCOMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
    DATA G_USERCOMMAND_FOR_RANKINGLIST TYPE SLIS_FORMNAME VALUE
    'USER_COMMAND_FOR_RANKINGLIST'.
    DATA ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA: ALV_OUTPUT  LIKE HRPDV_EXPIRED_Q OCCURS 0 WITH HEADER LINE.
    DATA: Help_OUTPUT LIKE HRPDV_EXPIRED_Q OCCURS 0 WITH HEADER LINE.
    begin of Dynpro 5020 - POPUP: WEITER
    DATA: OK_CODE_5020   LIKE SY-UCOMM.
    DATA: NO_ORG.                          "if no org selected
    DATA: H_TABIX LIKE SY-TABIX.
    begin of Dynpro 20nn - Header
    TABLES: DYNP_RHPP.
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-005.
    PARAMETERS:
       H_EVENTS LIKE DYNP_RHPP-GEN_TRAIN,  "with training sugg
       H_QUAL   LIKE DYNP_RHPP-EXPIRED_QUAL. "with Qual
    SELECTION-SCREEN END OF BLOCK B3.
    INITIALIZATION
    INITIALIZATION.
      PERFORM READ_T77S0_PARAMETERS_FOR_PE.
    get user parameters/Planvariante und Beginndatum setzen:
      PCHOTYPE = $ORGEH.
      CALL FUNCTION 'RHP0_USER_PARAMETERS_GET'
           EXPORTING
                FILL_IF_INITIAL = 'X'
           IMPORTING
                PLVAR           = PCHPLVAR
                BEGDA           = PCHBEGDA
                endda           = Pchendda    "Correction 0410219
                WITH_KEY        = SHOW_KEY
              SUBSTITUTE      =
              ESSENTIAL       = only_essential
                ORG_UNIT        = PCHOBJID-LOW
          EXCEPTIONS
                OTHERS     = 0.
    PCHBEGDA = LOW_DATE.   "Correction note: 0410219 / AL0K023393
    get menu text for key on/off
      PERFORM USER_MENU_TEXT_KEY(SAPLRHP0) USING G_MENU_TEXT_KEY.
    start-of-selection
    START-OF-SELECTION.
    terminate the selection if objid isn't given
      READ TABLE PCHOBJID INDEX 1 TRANSPORTING NO FIELDS.
      IF SY-SUBRC <> 0
      AND PCHOBJID IS INITIAL.
        PCHOBJID-SIGN   = 'I'.
        PCHOBJID-OPTION = 'EQ'.
        PCHOBJID-LOW    = '00000001'.
        APPEND PCHOBJID.
        NO_ORG = TRUE.
      ELSE.
        NO_ORG = FALSE.
      ENDIF.
    GET OBJEC.
    terminate the selection if objid isn't given
      IF NO_ORG = TRUE.
        EXIT.
      ENDIF.
      OBJECTS-PLVAR = PCHPLVAR.
      OBJECTS-OTYPE = PCHOTYPE.
      OBJECTS-SOBID = OBJEC-REALO.
      APPEND OBJECTS.
    Für das lesen der Organisationseinheit
      h_OBJEC-PLVAR = OBJEC-PLVAR.
      h_OBJEC-OTYPE = OBJEC-OTYPE.
      h_OBJEC-OBJID = OBJEC-objid.
      append h_objec.
      Read table h_objec index 1 transporting no fields.
      if sy-subrc = 0.
    Fill Buffer
        orgeh_BUFFER = h_OBJEC.
        orgeh_BUFFER[] = h_OBJEC[].
        CALL FUNCTION 'RH_TEXT_BUFFER_FILL'
          TABLES
            OBJECTS = orgeh_BUFFER.
        Loop at h_OBJEC.
          H_TABIX = SY-TABIX.
    Read text of organisation
          CALL FUNCTION 'RH_READ_OBJECT'
               EXPORTING
                    PLVAR     = h_OBJEC-plvar
                    OTYPE     = h_OBJEC-otype
                    OBJID     = h_OBJEC-OBJID
               IMPORTING
                  OBEG      = h_objec-begda
                  OEND      = h_objec-endda
                   SHORT     = short
                    STEXT     = h_OBJEC-stext
              EXCEPTIONS
                    NOT_FOUND = 1
                    OTHERS    = 2.
          IF SY-SUBRC = 0.
            modify h_OBJEC index H_TABIX.
          ENDIF.
        endloop.
      endif.
    end-of-selection
    END-OF-SELECTION.
    read objects of the organizational unit
      OBJID = OBJECTS-SOBID.
      CALL FUNCTION 'RHPH_PICK_UP_PERSONS'
          EXPORTING
               BEGDA      = PCHBEGDA    "Correction 0410219
               ENDDA      = PCHENDDA    "Correction 0410219
             STATUS     = '1'
               WITH_STEXT = 'X'
           TABLES
                OBJECTS    = OBJECTS
                PERSONS    = H_PERSONS
          EXCEPTIONS
               UNDEFINED  = 1
               OTHERS     = 2.
      IF SY-SUBRC = 0.
    prepare objects !
        objects-otype = h_persons-ttype.
        objects-sobid = h_persons-tobid.
        append objects.
      ELSE.
        EXIT.
      ENDIF.
    CLEAR OBJECTS. REFRESH OBJECTS.
    prepare sel_objects !
      pers_objects-PLVAR = PCHPLVAR.
      LOOP AT H_PERSONS.
        pers_objects-OTYPE = H_PERSONS-TTYPE.
        pers_objects-SOBID = H_PERSONS-TOBID.
        APPEND pers_objects.
      ENDLOOP.
    sort objects and delete adjacent duplicates
      SORT Pers_OBJECTS BY PLVAR OTYPE SOBID.
      DELETE ADJACENT DUPLICATES FROM Pers_OBJECTS COMPARING PLVAR OTYPE
    SOBID.
      CALL FUNCTION 'RHPK_FIND_PERS_WITH_EXPIRED_Q'
           EXPORTING
               PLVAR            = PCHPLVAR
               CHECK_BEGDA      = PCHBEGDA
               CHECK_ENDDA      = PCHENDDA
               SUBTY            = $ownsb                        "'B032'
             only_essential   =
             target_otype     =
             target_ap_iea    =
           TABLES
                IMP_PER_TAB     = pers_objects
                QUALI_TAB       = QUALI_TAB
                PERSONS         = LIST_OUTPUT
            altq_tab          =
          EXCEPTIONS
               NO_QUALIFICATION = 1
               NO_PERSON_FOUND  = 2
               OTHERS           = 3.
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    100% case
      READ TABLE pers_objects INDEX 1 TRANSPORTING NO FIELDS.
      IF SY-SUBRC = 0.
        sort pers_objects by otype sobid.
      check the selected persons: if org.unit was selected !
        Loop at pers_objects.
          H_TABIX = SY-TABIX.
          READ TABLE LIST_OUTPUT WITH KEY  OTYPE = pers_objects-OTYPE
                                           SOBID = pers_objects-SOBID
                                           BINARY SEARCH.
          IF SY-SUBRC <> 0.
          person doesn't belong to the selected org.unit
          DELETE LIST_OUTPUT INDEX H_TABIX.
          ENDIF.
        ENDLOOP.
      ENDIF.                               "org.unit check needed ?
    end-of-selection.
      sort h_objec by otype objid.
      sort list_output by otype sobid.
      sort h_persons by ttype tobid.
    ALV-Liste aufbauen
      loop at h_objec.
        loop at h_persons where otype = h_objec-otype     "XSC
                          and   sobid = h_objec-objid.    "XSC
          Read table list_output with key
                                 otype = h_persons-ttype
                                 sobid = h_persons-tobid
                                 binary search.
          if sy-subrc = 0.
            h_tabix1 = sy-tabix.
            while sy-subrc = 0.
              clear alv_output.                            "XSC
              ALV_OUTPUT-otype    = h_objec-otype.
              ALV_OUTPUT-sobid    = h_objec-objid.
              ALV_OUTPUT-stext    = h_objec-stext.
              ALV_OUTPUT-Ptype    = LIST_OUTPUT-otype.
              ALV_OUTPUT-pobid    = LIST_OUTPUT-sobid.
              ALV_OUTPUT-pshort   = LIST_OUTPUT-short.
              ALV_OUTPUT-ptext    = LIST_OUTPUT-stext.
              ALV_OUTPUT-qualid   = LIST_OUTPUT-qualid.
              ALV_OUTPUT-qualstxt = LIST_OUTPUT-qualstxt.
              ALV_OUTPUT-expbegda = LIST_OUTPUT-vbegda.
              ALV_OUTPUT-expendda = LIST_OUTPUT-vendda.
          PERFORM FIND_TRAINING TABLES QUALI_TAB EVENT_TAB COLLECTED_EVENTS
                    USING $PLVAR $GDATE H_EVENTS H_QUAL.
              IF NOT EVENT_TAB[] IS INITIAL.
                READ TABLE COLLECTED_EVENTS WITH KEY
                                     QUALID = LIST_OUTPUT-QUALID.
                IF SY-SUBRC = 0.
                  ALV_OUTPUT-ICON_S_EVENTS = ICON_BOOKEVENT.
                endif.
              ENDIF.
              Append ALV_OUTPUT.
              h_tabix1 = h_tabix1 + 1.
              READ TABLE list_output INDEX h_tabix1
                         COMPARING otype sobid.
            endwhile.
          endif.
        endloop.
      endloop.
    check if indicator for qualification view is set
      IF h_qual = 'X'.                                          "note 956731
        SORT alv_output by qualid OTYPE SOBID ptype pobid       "note 956731
        expbegda expendda.                                      "note 956731
      ELSE.                                                     "note 956731
        SORT alv_output by OTYPE SOBID ptype pobid qualid expbegda expendda.
      ENDIF.                                                    "note 956731
      DELETE ADJACENT DUPLICATES FROM ALV_OUTPUT COMPARING OTYPE SOBID ptype
        pobid qualid expbegda expendda.
    stext_AQ und icon-Feld noch nicht gefüllt
        perform PREPARE_TOP_OF_LIST.
        perform Build_FIELDCAT using GT_FIELDCAT[] H_EVENTS.
        perform ALV_LAYOUT USING alv_layout.
        G_REPID          = SY-REPID.
        G_VARIANT-REPORT = G_REPID.
        PERFORM EVENTTAB_BUILD USING GT_EVENTS.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
            EXPORTING
        I_INTERFACE_CHECK        = 'X'
            I_CALLBACK_PROGRAM       = G_REPID
        I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
            I_CALLBACK_USER_COMMAND  = ALV_USERCOMMAND
            I_STRUCTURE_NAME         = 'HRPDV_EXPIRED_Q'
            IS_LAYOUT                = ALV_LAYOUT
            IT_FIELDCAT              = GT_FIELDCAT[]
        IT_EXCLUDING             =
        IT_SPECIAL_GROUPS        =
        IT_SORT                  =
        IT_FILTER                =
        IS_SEL_HIDE              =
            I_DEFAULT                = 'X'
            I_SAVE                   = 'A'
            IS_VARIANT               = G_VARIANT
            IT_EVENTS                = GT_EVENTS
        IT_EVENT_EXIT            =
        IS_PRINT                 =
        IS_REPREP_ID             =
        I_SCREEN_START_COLUMN    = 0
        I_SCREEN_START_LINE      = 0
        I_SCREEN_END_COLUMN      = 0
        I_SCREEN_END_LINE        = 0
        IMPORTING
          E_EXIT_CAUSED_BY_CALLER  =
          ES_EXIT_CAUSED_BY_USER   =
          TABLES
            T_OUTTAB                 = ALV_OUTPUT
          EXCEPTIONS
              PROGRAM_ERROR            = 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.
    *&      Form  FIND_TRAINING
          text
         -->P_QUALI_TAB  text
         -->P_EVENT_TAB  text
         -->P_$PLVAR  text
         -->P_GDATE  text
         -->P_H_EVENT  text
         -->P_H_QUAL  text
    FORM FIND_TRAINING TABLES  P_QUALI_TAB STRUCTURE QUALI_TAB
                               P_EVENT_TAB STRUCTURE EVENT_TAB
                               P_COLLECTED_EVENTS STRUCTURE COLLECTED_EVENTS
                       USING   VALUE(P_$PLVAR) LIKE P1000-PLVAR
                               VALUE(P_GDATE) LIKE P1000-GDATE
                               VALUE(P_H_EVENT) TYPE ANY
                               VALUE(P_H_QUAL) TYPE ANY.
      IF NOT P_H_EVENT IS INITIAL.
        READ TABLE EVENT_TAB INDEX 1 TRANSPORTING NO FIELDS.
        IF SY-SUBRC <> 0.
          CLEAR P_EVENT_TAB. REFRESH EVENT_TAB.
          CLEAR P_COLLECTED_EVENTS. REFRESH P_COLLECTED_EVENTS.
          IF EVENT = FALSE.
            EVENT = TRUE.
          ELSE.
            EVENT = FALSE.
          ENDIF.
          CALL FUNCTION 'RHPH_FIND_TRAINING_FOR_QUAL'
               EXPORTING
                    PLVAR            = PCHPLVAR
                    GDATE            = SY-DATUM
                  GET_NAME         = 'X'
               TABLES
                    QUALI_TAB        = QUALI_TAB
                    TO_Q_TAB         = EVENT_TAB
              EXCEPTIONS
                   NO_QUALIFICATION = 1
                   NO_OBJECT_FOUND  = 2
                   TECHNICAL_ERROR  = 3
                   OTHERS           = 4.
          IF SY-SUBRC = 0.
    the found qualifications are picked up into table event_tab
          ENDIF.
          IF SY-SUBRC = 1.
            MESSAGE S015.   "Zu den Eingaben wurden keine Daten gefunden
          ENDIF.
          IF SY-SUBRC > 2.
            EXIT.
          ENDIF.
    collect events when there are double.
    Veranstaltungen kollektieren, Können mehrfach auftauchen, da
    verschiedenen Qualifikationen von gleichen Veranstaltungen vermittelt
          LOOP AT P_EVENT_TAB INTO P_COLLECTED_EVENTS.
            APPEND P_COLLECTED_EVENTS.
          ENDLOOP.
          SORT P_COLLECTED_EVENTS BY QUALID STEXT.
        ENDIF.
      ENDIF.
    ENDFORM.                               " FIND_TRAINING
    *&      Form  PREPARE_TOP_OF_LIST
          text
    -->  p1        text
    <--  p2        text
    FORM PREPARE_TOP_OF_LIST.
      DATA ALV_TOP_OF_LIST TYPE SLIS_LISTHEADER.  "typ, key, info
      DATA STEXT LIKE HRPDV_SUCCESSOR_VIEW-TTEXT.
      DATA P_SUBRC LIKE SY-SUBRC.
      DATA P_STEXT LIKE T777O-OTEXT.
      DATA l_tabix like sy-tabix value 0.
      DATA: h_counter TYPE i.                             "note 730486
      ALV_TOP_OF_LIST-TYP = 'H'.
      ALV_TOP_OF_LIST-INFO = TEXT-REQ.
      APPEND ALV_TOP_OF_LIST TO GT_ALV_LIST_TOP_OF_LIST.
    Organisationseinheit
      ALV_TOP_OF_LIST-typ = 'S'.
    Read text for organisationunit
      PERFORM READ_TEXT_OTYPE_T777O(SAPLRHP0) USING SY-LANGU $ORGEH
                                                    P_STEXT P_SUBRC.
      ALV_TOP_OF_LIST-key = P_STEXT.
    fill buffer for read organisation-text
      CALL FUNCTION 'RH_TEXT_BUFFER_FILL'
         EXPORTING
              CHECK_STRU_AUTH = 'X'
              WITH_EXTINT     = ' '
           TABLES
                OBJECTS         = OBJECTS.
    loop at objects for multipleselection
      clear h_counter.                          "note 730486
      LOOP AT OBJECTS.
        $OBJID = OBJECTS-SOBID.
        CALL FUNCTION 'RH_READ_OBJECT'
             EXPORTING
                PLVAR           = OBJECTS-PLVAR
                OTYPE           = OBJECTS-OTYPE
                OBJID           = $OBJID
             IMPORTING
              SHORT           = short
                STEXT           = STEXT
             EXCEPTIONS
                NOT_FOUND       = 1
                OTHERS          = 2.
        IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        IF h_counter >= 15.                               "note 730486
          MOVE '( ... )' TO ALV_TOP_OF_LIST-INFO.         "note 730486
          APPEND ALV_TOP_OF_LIST TO gt_alv_list_top_of_list.
          "note 730486
          EXIT.                                           "note 730486
        ENDIF.                                            "note 730486
        CONCATENATE $ORGEH OBJECTS-SOBID STEXT INTO
        ALV_TOP_OF_LIST-INFO SEPARATED BY SPACE.
        APPEND ALV_TOP_OF_LIST TO GT_ALV_LIST_TOP_OF_LIST.
        CLEAR ALV_TOP_OF_LIST.
        ALV_TOP_OF_LIST-typ = 'S'.
        l_tabix = l_tabix + 1.
        ADD 1 TO h_counter.                         "note 730486
      ENDLOOP.
    CLEAR ALV_TOP_OF_LIST.
      ALV_TOP_OF_LIST-TYP  = 'S'.
      ALV_TOP_OF_LIST-key = TEXT-003.
      WRITE PCHBEGDA TO ALV_TOP_OF_LIST-INFO.
      APPEND ALV_TOP_OF_LIST TO GT_ALV_LIST_TOP_OF_LIST.
      clear ALV_TOP_OF_LIST-INFO.
      ALV_TOP_OF_LIST-key = TEXT-004.
      WRITE PCHENDDA TO ALV_TOP_OF_LIST-INFO.
      Append ALV_TOP_OF_LIST TO GT_ALV_LIST_TOP_OF_LIST.
    ENDFORM.                               " PREPARE_TOP_OF_LIST
    *&      Form  BUILD_FIELDCAT
          text
         -->P_GT_FIELDCAT[]  text
    FORM BUILD_FIELDCAT USING  P_GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV
                               P_H_EVENTS.
      DATA: WA_FIELDCAT LIKE LINE OF P_GT_FIELDCAT.
      DATA: P_REPNAME LIKE SY-REPID,
            L_TABIX LIKE SY-TABIX.         "local variable for sy-tabix.
      P_REPNAME = SY-REPID.
    Erstellen des Feldkataloges
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
         EXPORTING
               I_PROGRAM_NAME         = P_REPNAME
               I_INTERNAL_TABNAME     =
               I_STRUCTURE_NAME       = 'HRPDV_EXPIRED_Q'
               I_CLIENT_NEVER_DISPLAY = 'X'
               I_INCLNAME             = PRONAME
         CHANGING
               CT_FIELDCAT            = P_GT_FIELDCAT
         EXCEPTIONS
               INCONSISTENT_INTERFACE = 0
               PROGRAM_ERROR          = 0
               OTHERS                 = 0.
      LOOP AT P_GT_FIELDCAT INTO WA_FIELDCAT.
        l_tabix = sy-tabix.
        CASE WA_FIELDCAT-FIELDNAME.
          when 'OTYPE'.
            WA_FIELDCAT-DDICTXT = 'L'.
          when 'SOBID'.
            WA_FIELDCAT-DDICTXT = 'L'.
          WHEN 'STEXT'.
            WA_FIELDCAT-DDICTXT = 'L'.
          when 'PTYPE'.
            WA_FIELDCAT-DDICTXT = 'L'.
          when 'POBID'.
            WA_FIELDCAT-DDICTXT = 'L'.
          when 'PSHORT'.
            WA_FIELDCAT-DDICTXT = 'L'.
          WHEN 'PTEXT'.
            WA_FIELDCAT-DDICTXT = 'L'.
          WHEN 'QUALID'.
            WA_FIELDCAT-DDICTXT = 'L'.
          WHEN 'QUALSTXT'.
            WA_FIELDCAT-DDICTXT = 'L'.
          WHEN 'EXPBEGDA'.
            WA_FIELDCAT-DDICTXT = 'L'.
          WHEN 'EXPENDDA'.
            WA_FIELDCAT-DDICTXT = 'L'.
          WHEN 'ICON_S_EVENTS'.
            IF P_H_EVENTS IS INITIAL.
              WA_FIELDCAT-NO_OUT = 'X'.
            else.
              WA_FIELDCAT-DDICTXT = 'X'.
            endif.
        ENDCASE.
        MODIFY P_GT_FIELDCAT FROM WA_FIELDCAT INDEX l_tabix.
      ENDLOOP.
    ENDFORM.                               " BUILD_FIELDCAT
    *&      Form  ALV_LAYOUT
          text
         -->P_L_ALV_LAYOUT  text
    FORM ALV_LAYOUT USING    P_ALV_LAYOUT  TYPE slis_layout_alv.
    build layout
    P_LAYOUT-BOX_FIELDNAME = 'MARK_X'.   "fieldname for checkbox
      P_ALV_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
      P_ALV_LAYOUT-BOX_TABNAME   =  ALV_OUTPUT.   "tabname for checkbox
      p_ALV_layout-info_fieldname = 'ALV_COLOR'.
    ENDFORM.                               " ALV_LAYOUT
    FORM eventtab_build USING
    FORM EVENTTAB_BUILD USING RT_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      MOVE 'TOP_OF_PAGE' TO LS_EVENT-NAME.
      MOVE 'TOP_OF_PAGE' TO LS_EVENT-FORM.
      APPEND LS_EVENT TO RT_EVENTS.
    ENDFORM.                    "EVENTTAB_BUILD
    *FORM TOP_OF_PAGE
    FORM TOP_OF_PAGE.                                           "#EC CALLED
      NEW-PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = GT_ALV_LIST_TOP_OF_LIST[].
    ENDFORM.                    "TOP_OF_PAGE
          FORM USER_COMMAND                                             *
    USER_COMMAND for the list of successor view                         *
    -->  r_ucomm                                                       *
    -->  rs_selfield                                                   *
    FORM USER_COMMAND USING ALV_UCOMM LIKE SY-UCOMM
          RS_SELFIELD TYPE SLIS_SELFIELD.                       "#EC CALLED
      DATA: SELECTED_LINE LIKE HRPDV_expired_q.
      DATA: SOBID_QUA LIKE P1000-OBJID.
      DATA: LT_PERS_TAB LIKE HRSOBID OCCURS 0 WITH HEADER LINE.
      CASE ALV_UCOMM.
        WHEN '&IC1'.                       "per Doppelklick auswählen
          READ TABLE ALV_OUTPUT INDEX
          RS_SELFIELD-TABINDEX INTO SELECTED_LINE.
          CASE RS_SELFIELD-FIELDNAME.
            WHEN 'POTYPE' or 'POBID' or 'PTEXT' or 'OTYPE' or 'SOBID' or
    'STEXT' or 'QUALID' or 'QUALSTXT' or 'EXPBEGDA' or 'EXPENDDA'.
              READ TABLE ALV_OUTPUT INDEX RS_SELFIELD-TABINDEX INTO
                    Help_output.
              IF SY-SUBRC <> 0.
                MESSAGE S027.               "Bitte gültige Zeile auswählen
                EXIT.
              Endif.
         IF ALV_OUTPUT-SOBID IS INITIAL.
           MESSAGE S015.  "Zu den Eingaben wurden keine Daten gefunden
         ELSE.
         converte the variable because of the different types
         SOBID_QUA = SELECTED_LINE-SOBID_QUA.
              CALL FUNCTION 'RHPP_SHOW_PROFILE'
                EXPORTING
                  PLVAR        = pchplvar
                  OTYPE        = SELECTED_LINE-PTYPE       "XSC
                  OBJID        = SELECTED_LINE-POBID       "XSC
                  BEGDA        = PCHBEGDA
                  ENDDA        = PCHENDDA
                  MAINTAIN     = ' '
                EXCEPTIONS
                  NO_AUTHORITY = 1
                  NOT_FOUND    = 2
                  OTHERS       = 3.
              CASE SY-SUBRC.
                WHEN 0.
                All right.
                WHEN 1.
                  MESSAGE S015.
                Zu Ihren Eingaben konnten keine Daten gefunden werden!
                WHEN 2.
                  MESSAGE E000.
                Dazu haben sie keine berechtigung!
                WHEN OTHERS.
                  MESSAGE E008.
                Es ist ein unvorhergesehener Fehler aufgetreten.
              ENDCASE.                     "sy-subrc.
              CLEAR ALV_OUTPUT.
       ENDIF.    "IF ALV_OUTPUT-SOBID IS INITIAL.
       CLEAR ALV_OUTPUT-SOBID.
            when 'ICON_S_EVENTS'.
              IF SELECTED_LINE-ICON_S_EVENTS IS INITIAL.
                MESSAGE S027.              "Bitte gültige Zeile auswählen
                EXIT.
              ENDIF.
              CLEAR LT_PERS_TAB.
              REFRESH LT_PERS_TAB.
              LT_PERS_TAB-PLVAR = pchPLVAR.
              LT_PERS_TAB-OTYPE = SELECTED_LINE-PTYPE.          "XSC
              LT_PERS_TAB-SOBID = SELECTED_LINE-POBID.          "XSC
              APPEND LT_PERS_TAB.
              SOBID_QUA = SELECTED_LINE-QUALID.
              CALL FUNCTION 'RHPP_SHOW_SUGGEST_EVENTS'
              EXPORTING
                P_PLVAR      = pchPLVAR
                P_SOBID_QUA  = SOBID_QUA
              P_PROFCY_REQ = SELECTED_LINE-RATING_REQ
                P_GDATE      = sy-datum
              TABLES
              EVENT_TAB    =
                PERS_TAB     = LT_PERS_TAB.
          endcase.
          CLEAR SELECTED_LINE.
      ENDCASE.                             "case sy-ucomm
    CLEAR SY-UCOMM.
    ENDFORM.                    "USER_COMMAND

    Pls be more specific in your question. If you want to include an extra field in your alv output, then read the field catalog table you created through "Reuse_alv_fieldcatalog_merge" and then add an extra entry in it giving the details of the field you want to add.. and then call the "resuse_alv_grid_display",
    Hope this helps. To be able to help you in a better way, kindly revert with any specific issue.
    Reward if helpful,
    Karan

  • How to add additional field to the existing report

    hi,
    report name is RHXPE_EXPIRED_QUALI
    if u execute report alv list is genereted with like this.
    object type, id of related object, object name, object type, id of related object,last name, first name like this
    where can i get these field descriptios in the prigram becoz many perform ststements r there. i want to add additional field text.
    program is:
    CORRECTIONS
    DATE       CORRECTION NOTE    AUTHOR DESCRIPTION
    09.03.2001            0388404 XSC    Wrong list output for multiple Os
    05.06.2001 AL0K023393 0410219 Lud    Wrong keydate for search with
                                         Pchbegda and pchendda.
    30.01.2002 S6BK000033 0491055 TS     Report: RHXPE_EXPIRED_QUALI
                                         doesn't provide a spool list.
    REPORT rhpk_find_pers_with_expired_qu MESSAGE-ID pq.
    TABLES : pchdy.
    INCLUDES
    INCLUDE rhxmacro.
    INCLUDE rhpeini0.
    TABLES
    DATA: objects  LIKE hrsobid    OCCURS 1 WITH HEADER LINE.
    VARIABLES
    DATA: subrc LIKE sy-subrc.
    DATA: orgeh_text LIKE t777o-otext.
    SELECTION SCREEN
    objid
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS:
       pchplvar LIKE p1000-plvar NO-DISPLAY,    "plan version
       pchotype LIKE pchdy-otype NO-DISPLAY. "objecttype
    Objid
    rhx-f4-objid-data.
    SELECT-OPTIONS:  pchobjid FOR pchdy-objid_str NO INTERVALS.
    Search
    PARAMETERS:
      pchseark LIKE pchdy-seark.           "matchcode object plom.
    SELECTION-SCREEN END OF BLOCK b1.
    Objecttime
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
    PARAMETERS: se_begd LIKE  p1000-begda DEFAULT sy-datum,  "'19000101',
                se_endd LIKE  p1000-endda DEFAULT high_date.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-005.
    PARAMETERS:
       h_events LIKE dynp_rhpp-gen_train,  "with training sugg
       h_qual LIKE dynp_rhpp-expired_qual. "with Qual
    SELECTION-SCREEN END OF BLOCK b3.
    AT SELECTION-SCREEN ON pchobjid.
      PERFORM check_objid_sign(rhxchk00) USING pchobjid-sign.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR pchobjid-low.
      rhx-f4-objid-low pchplvar pchotype pchobjid '' ''.
    AT SELECTION-SCREEN.
      PERFORM check_plvar(rhxchk00) USING pchplvar.
      PERFORM check_seark(rhxchk00) TABLES pchobjid
                                    USING  pchseark pchplvar pchotype.
    INITIALIZATION
    INITIALIZATION.
      PERFORM read_t77s0_parameters_for_pe.
    get user parameters/Planvariante und Beginndatum setzen:
      pchotype = $orgeh.
      CALL FUNCTION 'RHP0_USER_PARAMETERS_GET'
           EXPORTING
                fill_if_initial = 'X'
           IMPORTING
                plvar           = pchplvar
                begda           = se_begd
                endda           = se_endd
              with_key        =
              SUBSTITUTE      =
              ESSENTIAL       = only_essential
                org_unit        = pchobjid-low
          EXCEPTIONS
                OTHERS     = 0.
    SE_BEGD = LOW_DATE.   "Correction AL0K023393 0410219
      IF NOT pchobjid-low IS INITIAL.
        pchobjid-sign   = 'I'.
        pchobjid-option = 'EQ'.
        APPEND pchobjid.
      ENDIF.
    START-OF-SELECTION
    START-OF-SELECTION.
    correction 0491055
    correction was done for getting a spool list in background-processing.
      CASE sy-batch.
        WHEN space.
          SUBMIT rhpe_expired_quali
               WITH pchplvar = pchplvar
               WITH pchotype = pchotype
               WITH pchobjid IN pchobjid
               WITH pchbegda = se_begd
               WITH pchendda = se_endd
               WITH h_qual = h_qual
               WITH h_events = h_events
                      AND RETURN.
        WHEN 'X'.
          SUBMIT rhpe_expired_quali
               WITH pchplvar = pchplvar
               WITH pchotype = pchotype
               WITH pchobjid IN pchobjid
               WITH pchbegda = se_begd
               WITH pchendda = se_endd
               WITH h_qual = h_qual
               WITH h_events = h_events
                      TO SAP-SPOOL.
      ENDCASE.
    END-OF-SELECTION
    END-OF-SELECTION.

    Hi,
    I think you need to show more programs.
    you said, the report program is 'RHXPE_EXPIRED_QUALI', but you upload  'rhpk_find_pers_with_expired_qu' program.
    usually, ALV field is modifyed in 'PERFORM fieldcatalog_modify', if you use Functional ALV.
    Try to search 'fieldcatalog function', you will find easy.
    Regard,
    SY Kim

Maybe you are looking for