Order of fields in HR Report Category

Hi All,
Is it possible to change the order of fields that are populated in the selection screen of an HR report while using HR report category ? The fields that I am talking about are Personnel number, company code, employee group etc that come in the Selection block of the selection screen.
Thanks,
Kajal

Hi Waz,
The HR Report category I am using is a custom one. I added the field customer specific status to the list. I wanted this to come after the already existing employment status...but it gets added before it.
I tried to make a HR report category from scratch too. But in vain. No matter what the order I add the fields the order comes back to the one defined by SAP.
Kajal

Similar Messages

  • Field Addition in Report Category

    Hi All,
    I Need to Add Additional Selection Field in Report Category.
    Ie : In My case For TCODE : S_AHR_61016354 - Telephone Directory ..
    For this SAP STD report I need to Provide PA0105-USRID Field in report Selection.
    How to Add this field in the report Selection.
    Thanks
    Partha.

    Hi,
    Copy the Standard report and change the selection screen accordingly and insert the logic which you require to change. Do not change standard programs.
    Thanks,
    Vasu.

  • Hr report category remove selection fields..

    hi again All,
    I am facing a problem again. I tried generating a new category for my report. Now again after creating the category i do not see how to add fields and remove selection fields. I need only company code in my selection criteria and nothing else.
    can neone help me?
    suresh and sarika, i m expecting lot of you..
    please help..
    Reena..

    Reena,
    Pl follow these steps..
    1.In the Program Attributes, click on the pushbutton 'HR Report Category'.Click on the 'Create' icon in the pop-up window that comes up.
    2. On the next screen click on the 'New entries ' pushbutton in the menu bar.
    3. In the next screen enter a anme for the report Category, say, 0COMPCODE.
    4.On the same screen, you have a Navigation tree to the left hand side, click on the Allowable selection Criteria Node
    5. On the next screen, click on the New Entriees pushbutton
    6. On the next screen enter 'PNPBUKRS'.
    7. You will be prompted to tie it to a Transaport Request. Attach it to the sam ereq that your Report is tied to.
    8. SAVE it & attach it to your Program.
    ~Suresh

  • Add select-option fields in report category (PNP)

    Hi,
    I am trying to create a new report category based on the logical database PNP.
    I noted that the fields available for select-option for report category come from infotype 0 or 1. Is there anyway to include fields from other infotypes ?
    Thank you.
    Regards
    Kir Chern

    Hi Kir Chern
    Due to the structure of the logical database you can just insert selection fields that are bestowed.
    However, as Charles mentioned, you can add selection fields special to your program by coding a selection screen at your program whose fields are inserted just after the ones added by the report category.
    *--Serdar <a href="https://www.sdn.sap.com:443http://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.sdnbusinesscard?u=qbk%2bsag%2bjiw%3d">[ BC ]</a>

  • Regd: Calculation of TOTAL field in ALV report

    Hi All,
    We have a scenario that we are not getting the total value for numeric fields in ALV report.
    Below i have given the code used for it.
    G_KEY = 'X'.
      G_NOKEY = SPACE.
      G_SUM = 'X'.
      G_NOSUM = SPACE.
      PERFORM BUILD_FIELDCAT USING 'VBELN'  G_KEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'BLDAT'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'VGBEL'  G_KEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'POSNR'  G_KEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'MATNR'  G_KEY G_NOSUM..
      PERFORM BUILD_FIELDCAT USING 'LFIMG'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'VRKME'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'NETPR'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'BRTWR'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'VALUE_INR'  G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'B_DUTY'     G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'S_TOTAL1'   G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'CV_DUTY'    G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'C_CVD'      G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'S_TOTAL2'   G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'C_DUTY'     G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'S_TOTAL3'   G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'A_DUTY'     G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'T_DUTY'     G_NOKEY G_SUM.
    PERFORM BUILD_LAYOUT.
      PERFORM BUILD_DISPLAY.
    *&      Form  DISPLAY
          text
    FORM BUILD_DISPLAY.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
      I_CALLBACK_PROGRAM                = ' '
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
         I_GRID_TITLE                      = TEXT-000
      I_GRID_SETTINGS                   =
       IS_LAYOUT                         = IG_LAYOUT
         IT_FIELDCAT                       = IG_FIELDCAT
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
         I_SAVE                            = 'A'
      IS_VARIANT                        =
      IT_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
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = IG_INBOUND
       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.
    ENDFORM.                    "DISPLAY
    *&      Form  BUILD_FIELDCAT
          text
         -->G_FIELDNAME  text
         -->L_KEY        text
         -->L_SUM        text
    FORM BUILD_FIELDCAT USING L_FIELDNAME LIKE DD03L-FIELDNAME L_KEY TYPE C L_SUM TYPE C.
      CLEAR WG_FIELDCAT_LN.
      ADD 1 TO G_COL_POS.
      WG_FIELDCAT_LN-REF_TABNAME = 'IG_INBOUND'.
      WG_FIELDCAT_LN-FIELDNAME = L_FIELDNAME.
      WG_FIELDCAT_LN-KEY = L_KEY.
      WG_FIELDCAT_LN-DO_SUM = L_SUM.
      WG_FIELDCAT_LN-COL_POS = G_COL_POS.
      WG_FIELDCAT_LN-NO_OUT = SPACE.
      WG_FIELDCAT_LN-QFIELDNAME = SPACE.
      WG_FIELDCAT_LN-HOTSPOT = SPACE.
      APPEND WG_FIELDCAT_LN TO IG_FIELDCAT.
    ENDFORM.                    "BUILD_FIELDCAT
    *&      Form  BUILD_LAYOUT
          text
    FORM BUILD_LAYOUT.
    IG_LAYOUT-TOTALS_TEXT = 'Total Amount'.
    *IG_LAYOUT-SUBTOTALS_TEXT = 'A'.
    IG_LAYOUT-ZEBRA = 'X'.
    ENDFORM.
    Help and Sugesstions will be much appreciated.
    Thanks & Regds.
    Ramesh.

    This is sample program for the same
    REPORT  Z_50657_ALV_EX2
            NO STANDARD PAGE HEADING
            LINE-COUNT 65(3)
            LINE-SIZE 220
            MESSAGE-ID ZZ.
    *                             Type Pools                               *
    TYPE-POOLS: SLIS, ICON.
    *                              Tables                                  *
    TABLES: VBAK. "Sales Document Data
    *                         Internal Tables                              *
    * TABLE TO HOLD DATA OF SALES DOCUMENT
    DATA: BEGIN OF IT_VBAK OCCURS 0,
          VBELN LIKE VBAK-VBELN, "Sales Document
          VBTYP LIKE VBAK-VBTYP, "SD document category
          AUDAT LIKE VBAK-AUDAT, "Document date (date received/sent)
          AUGRU LIKE VBAK-AUGRU, "Order reason (reason for the business)
          AUART LIKE VBAK-AUART, "Sales Document Type
          NETWR LIKE VBAK-NETWR, "Net Sales Order in Doc. Currency
          WAERK LIKE VBAK-WAERK, "SD document currency
          ICON TYPE ICON-ID,     "traffic lights
          END OF IT_VBAK.
    *                             Work Areas                               *
    *WORK AREAS DEFINED FOR ALV'S
    DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,      "field catalog
          IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,     "field catalog ITAB
          WA_SORT TYPE SLIS_SORTINFO_ALV,           "SORT work area
          IT_SORT TYPE SLIS_T_SORTINFO_ALV,         "SORT ITAB
          LAYOUT TYPE SLIS_LAYOUT_ALV,              "LAYOUT
          WA_FCODE TYPE SLIS_EXTAB,                 "FUN CODE
          I_FCODE_EXTAB TYPE SLIS_T_EXTAB,
          WA_EVENTS TYPE SLIS_ALV_EVENT,
          IT_EVENTS TYPE SLIS_T_EVENT.
    *                       Selection-Screen                               *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
    SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN.
    PARAMETERS: P_VBTYP LIKE VBAK-VBTYP DEFAULT 'C'.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
    PARAMETERS: LIST RADIOBUTTON GROUP G1,
                GRID RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF BLOCK B2.
    *                     At  Selection-Screen                             *
    *VALIDATION
    *                       Start of Selection                             *
    START-OF-SELECTION.
    *POPULATION OF DATA INTO INTERNAL TABLE ITAB
      PERFORM GET_DATA.
    *DEFINE USER DEFINED FIELDCATALOG
      PERFORM DEFINE_FIELDCATALOG.
    *SUBTOTALS AND TOTALS DISPLAY USING SORT
      PERFORM SORT_LIST.
    *CHANGE FCODE OF STATUS
      PERFORM CHANGE_FCODE.
    *CHECK RADIOBUTTON OPTION AND ACCORDINGLY FINAL DISPLAY
      PERFORM CHECK_OPTION.
    *&      Form  GET_DATA
    *       text
    FORM GET_DATA.
      SELECT VBELN
             VBTYP
             AUDAT
             AUGRU
             AUART
             NETWR
             WAERK FROM VBAK INTO TABLE IT_VBAK
             WHERE VBELN IN S_VBELN AND VBTYP = P_VBTYP
             AND ERDAT > '01.01.2004' AND NETWR > 0.
      LOOP AT IT_VBAK.
        IF IT_VBAK-NETWR < 10000.
          IT_VBAK-ICON = '@08@'.
        ELSEIF IT_VBAK-NETWR > 100000.
          IT_VBAK-ICON = '@0A@'.
        ELSE.
          IT_VBAK-ICON = '@09@'.
        ENDIF.
        MODIFY IT_VBAK INDEX SY-TABIX.
      ENDLOOP.
    ENDFORM.                    "GET_DATA
    *&      Form  CHECK_OPTION
    *       text
    FORM CHECK_OPTION.
      WA_EVENTS-NAME = 'TOP_OF_PAGE'.
      WA_EVENTS-FORM = 'TOP'.
      APPEND WA_EVENTS TO IT_EVENTS.
      CLEAR WA_EVENTS.
      WA_EVENTS-NAME = 'END_OF_LIST'.
      WA_EVENTS-FORM = 'END_LIST'.
      APPEND WA_EVENTS TO IT_EVENTS.
      CLEAR WA_EVENTS.
      IF LIST = 'X'.
        PERFORM LIST_DISP.
      ENDIF.
      IF GRID = 'X'.
        PERFORM GRID_DISP.
      ENDIF.
    ENDFORM.                    "CHECK_OPTION
    *&      Form  DEFINE_FIELDCATALOG
    *       text
    FORM DEFINE_FIELDCATALOG.
      WA_FIELDCAT-COL_POS = 1.
      WA_FIELDCAT-FIELDNAME = 'ICON'.
      WA_FIELDCAT-SELTEXT_L = 'ICON'.
      WA_FIELDCAT-ICON = 'X'.
      WA_FIELDCAT-OUTPUTLEN = 8.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 2.
      WA_FIELDCAT-FIELDNAME = 'VBELN'.
      WA_FIELDCAT-SELTEXT_L = 'SALES DOC NO.'.
      WA_FIELDCAT-OUTPUTLEN = 10.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 3.
      WA_FIELDCAT-FIELDNAME = 'AUDAT'.
      WA_FIELDCAT-SELTEXT_L = 'CREATED ON'.
      WA_FIELDCAT-OUTPUTLEN = 10.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 4.
      WA_FIELDCAT-FIELDNAME = 'VBTYP'.
      WA_FIELDCAT-SELTEXT_L = 'CATEGORY'.
      WA_FIELDCAT-OUTPUTLEN = 1.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 6.
      WA_FIELDCAT-FIELDNAME = 'AUGRU'.
      WA_FIELDCAT-SELTEXT_L = 'REASON'.
      WA_FIELDCAT-OUTPUTLEN = 3.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 5.
      WA_FIELDCAT-FIELDNAME = 'AUART'.
      WA_FIELDCAT-SELTEXT_L = 'DOC TYPE'.
      WA_FIELDCAT-OUTPUTLEN = 4.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 7.
      WA_FIELDCAT-FIELDNAME = 'NETWR'.
      WA_FIELDCAT-SELTEXT_L = 'NET VALUE'.
      WA_FIELDCAT-OUTPUTLEN = 17.
      WA_FIELDCAT-DECIMALS_OUT = 2.
    *  WA_FIELDCAT-DO_SUM = 'X'.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 8.
      WA_FIELDCAT-FIELDNAME = 'WAERK'.
      WA_FIELDCAT-SELTEXT_L = 'UNIT'.
      WA_FIELDCAT-OUTPUTLEN = 50.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    "DEFINE_FIELDCATALOG
    *&      Form  DEFINE_LAYOUT
    *       text
    FORM DEFINE_LAYOUT.
      LAYOUT-ZEBRA = 'X'.
      LAYOUT-SUBTOTALS_TEXT = 'SUBTOTAL SUM'.
      LAYOUT-WINDOW_TITLEBAR = 'EXERCISE 2'.
      LAYOUT-TOTALS_TEXT  = 'TOTAL'.
    ENDFORM.                    "DEFINE_LAYOUT
    *&      Form  SORT_LIST
    *       text
    FORM SORT_LIST.
      WA_SORT-FIELDNAME = 'VBELN'.
      WA_SORT-TABNAME = 'IT_VBAK'.
      WA_SORT-SPOS = 1.
      WA_SORT-UP = 'X'.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
      WA_SORT-FIELDNAME = 'NETWR'.
      WA_SORT-TABNAME = 'IT_VBAK'.
      WA_SORT-UP = 'X'.
      WA_SORT-SPOS = 2.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
    ENDFORM.                    "SORT_LIST
    *&      Form  LIST_DISP
    *       text
    FORM LIST_DISP.
      PERFORM DEFINE_LAYOUT.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
         I_CALLBACK_PROGRAM             = SY-REPID
         IT_FIELDCAT                    = IT_FIELDCAT
         IS_LAYOUT                      = LAYOUT
         IT_SORT                        = IT_SORT
         I_CALLBACK_PF_STATUS_SET       = 'STATUS'
         IT_EXCLUDING                   = I_FCODE_EXTAB
         I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'
         IT_EVENTS                      = IT_EVENTS[]
    *   IMPORTING
    *     E_EXIT_CAUSED_BY_CALLER        =
    *     ES_EXIT_CAUSED_BY_USER         =
        TABLES
         T_OUTTAB                       = IT_VBAK
    *   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.
    ENDFORM.                    "LIST_DISP
    *&      Form  GRID_DISP
    *       text
    FORM GRID_DISP.
      PERFORM DEFINE_LAYOUT.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM       = SY-REPID
          IS_LAYOUT                = LAYOUT
          IT_FIELDCAT              = IT_FIELDCAT
          IT_SORT                  = IT_SORT
          I_CALLBACK_PF_STATUS_SET = 'STATUS'
          IT_EXCLUDING             = I_FCODE_EXTAB
          I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
          IT_EVENTS                = IT_EVENTS[]
        TABLES
          T_OUTTAB                 = IT_VBAK.
    * 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.
    ENDFORM.                    "GRID_DISP
    *&      Form  STATUS
    *       text
    *      -->P_EXTAB    text
    FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.
    ENDFORM.                    "STATUS
    *&      Form  USER_COMMAND
    *       text
    *      -->R_UCOMM      text
    *      -->RS_SELFIELD  text
    FORM USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                                   RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN 'BACK' OR 'CANC' OR 'EXIT'.
          LEAVE TO SCREEN 0.
        WHEN '&IC1'.
          SET PARAMETER ID 'AUN' FIELD RS_SELFIELD-VALUE.
          CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
      ENDCASE.
    ENDFORM.                    "USER_COMMAND
    *&      Form  CHANGE_FCODE
    *       text
    FORM CHANGE_FCODE.
      WA_FCODE = 'PRNT'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&OAD'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&AVE'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&EB9'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&SUM'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&UMC'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&XPA'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&OMP'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
    ENDFORM.                    "CHANGE_FCODE
    *&      Form  TOP
    *       text
    FORM TOP.
      IF LIST = 'X'.
        WRITE:/ SY-ULINE.
        WRITE:/ 'DATE:', SY-DATUM,55 'INTELLIGROUP ASIA PVT LTD'.
        WRITE:/ 'TIME:', SY-UZEIT.
        WRITE:/ 'USER NAME:', SY-UNAME,60 SY-TITLE.
        WRITE:/ 'PAGE', SY-PAGNO.
        WRITE:/ SY-ULINE.
      ENDIF.
      IF GRID = 'X'.
        DATA: LS_LINE TYPE SLIS_LISTHEADER,
              E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    *   Listenüberschrift: Typ H
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'H'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'Summary'.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    *   Kopfinfo: Typ S
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'S'.
        LS_LINE-KEY  = 'Intelligroup'.
        LS_LINE-INFO = ''.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
        LS_LINE-KEY  = 'ASIA'.
        LS_LINE-INFO = 'PVT LTD'.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    *   Aktionsinfo: Typ A
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'A'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'truman'.
        APPEND LS_LINE TO  E04_LT_TOP_OF_PAGE.
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
          EXPORTING
            IT_LIST_COMMENTARY = E04_LT_TOP_OF_PAGE
            I_LOGO             = 'ENJOY_SAP_LOGO'.
      ENDIF.
    ENDFORM.                    "TOP
    *&      Form  END_LIST
    *       text
    FORM END_LIST.
      IF LIST = 'X'.
        SKIP 2.
        WRITE:/60 'END OF PAGE'.
      ENDIF.
      IF GRID = 'X'.
          DATA: LS_LINE TYPE SLIS_LISTHEADER,
              E04_LT_END_OF_LIST TYPE SLIS_T_LISTHEADER.
    *   Listenüberschrift: Typ H
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'H'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'Summary'.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
    *   Kopfinfo: Typ S
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'S'.
        LS_LINE-KEY  = 'Intelligroup'.
        LS_LINE-INFO = ''.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
        LS_LINE-KEY  = 'ASIA'.
        LS_LINE-INFO = 'PVT LTD'.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
    *   Aktionsinfo: Typ A
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'A'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = TEXT-105.
        APPEND LS_LINE TO  E04_LT_END_OF_LIST.
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
          EXPORTING
            IT_LIST_COMMENTARY = E04_LT_END_OF_LIST.
      ENDIF.
    ENDFORM.                    "END_LIST

  • HR Report Category Issue

    Hi,
    We're trying to add the "Functional Area" (PNPFKBER) so it appears immediately on the selection-screen of a number of standard SAP reports, and for the most part it works fine. We've accomplished this by copying the standard report category of the program to a custom report category in T599C, then updating table T599B in order to assign the new copied report category to the program.
    As mentioned, it works for the most part.
    Here's my issue... for program RPTEDT00 (tcode PT_EDT_TELU), we are unable to get the field PNPFKBER to appear on the initial selection-screen. And even when I press the "Further Selections", the field does not appear in the list. I have 5 other programs which react in the same way.
    What I was able to deduce is that the ones that I have an issue with are assigned to transactions that are setup to start with a variant.
    I tested by creating a custom transaction code and assigned it to RPTEDT00 without starting with a variant, and my field PNPFKBER shows up no problem.
    Does anyone know a way around so that we can call the standard transaction with the variant, but that the field will appear?
    Thanks... D.

    Hi
    Execute the program RPTEDT00 through SE38 or SA38 (you can your PNPFKBER in intial screen).
    Save the variant with variant with name SAP&TELU (Is already available overwrite).
    Now run the Transaction you can see Functional Area filed in the intial screen.
    Follow the same procedure for all the other transactions.
    ~~~Ganesh Kumar K.

  • FIELD ISSUE IN REPORT

    one of the Field in my Report is F_Payment_date1 the source column its referring is payment_date which is in the table ..
    The Query for this Group is
    select
    empl.action_context_id
    , empl.full_name
    , ppf.last_name
    , ppf.first_name
    , empl.national_identifier
    ,hou.INTERNAL_ADDRESS_LINE
    , empl.employee_number
    , empl.organization_name
    , substr(empl.employee_address1,1,40) emp_add_ln1
    , substr(empl.employee_address2,1,40) emp_add_ln2
    , substr(empl.employee_address3,1,40) emp_add_ln3
    , rtrim(substr(empl.employee_city,1,26))||' '
    ||empl.employee_state||' '
    ||empl.employee_zip_code emp_add_ln4
    , empl.beginning_date period_start_date
    , empl.ending_date period_end_date
    , empl.payment_date
    , LTRIM(RTRIM(TO_CHAR(empl.pay_rate,'99999999.00'))) base_salary
    , empl.pay_basis salary_basis
    , empl.employee_state resident_state
    , empl.location_name
    , paf.work_At_home
    , empl.assignment_id
    , :org_payment_method_id org_payment_id
    , substr(empl.employer_address1,1,40) emplr_add_ln1
    , substr(empl.employer_address2,1,40) emplr_add_ln2
    , rtrim(substr(empl.employer_city,1,26))||' '
    ||empl.employer_state||' '
    ||empl.employer_zip_code emplr_add_ln3
    from PAY_EMPLOYEE_ACTION_INFO_V empl
    ,pay_assignment_actions paa
    ,per_assignments_f paf
    ,per_people_f ppf
    ,hr_all_organization_units hou
    where paa.assignment_action_id = empl.action_context_id
    and empl.assignment_id = paa.assignment_id
    and paf.assignment_id = paa.assignment_id
    and empl.effective_date between hou.DATE_FROM and nvl(hou.date_to,empl.effective_date)
    and paf.ORGANIZATION_ID = hou.ORGANIZATION_ID
    and empl.employee_number = ppf.employee_number
    and empl.effective_date between paf.effective_start_date
    and paf.effective_end_date
    and empl.effective_date between ppf.effective_start_date
    and ppf.effective_end_date
    even if the payment date expires in the report it is still showing payment_date
    i want to include the logic like this
    if overrideing then
    v_date:=: PPA_OVERRIDING_DD_DATE ( Ihope this does not work as they are in dfferent group i need to write sql )
    else
    v_date:=:PAYMENT_DATE;
    return(v_date);
    PPA_OVERRIDING is in the table pay_assignment_actions
    The Query for the other group where the PPA_OVERRIDING_DD_DATE
    is
    SELECT decode(ppa.action_type,'H',to_number(paa.serial_number)
    ,paa.action_sequence) orderby
    , paa.assignment_action_id asg_actid, to_number(paa.serial_number) xfr_action
    , ppa.action_type
    , ppa.org_payment_method_id
    , paa.assignment_id paa_assignment_id
    , ppa.effective_date ppa_effective_date
    , ppa.business_group_id business_group_id
    , ppa.payroll_action_id ppa_payroll_action_id
    , ppa.payroll_id ppa_payroll_id
    , ppa.consolidation_set_id ppa_consolidation_set_id
    , ppa.date_earned ppa_date_earned
    , ppa.overriding_dd_date ppa_overriding_dd_date
    FROM pay_assignment_actions paa
    ,pay_payroll_actions ppa
    WHERE paa.payroll_action_id = :pactid
    AND paa.chunk_number = :chnkno
    AND ppa.payroll_action_id = paa.payroll_action_id
    ORDER BY 1
    can anyone gimme sugestion how to approach this ..i want to display
    PPA_OVERRIDING_DD_DATE column values where ever
    payment date is expired .
    Thanks in Advance,
    Dev Kishore.T

    If i understand your question well, you could try this:
    In the querygroup (datamodel) of your first query you create a formula column : CF_payment_or_overriding_date
    In the PL/SQL Formula of your formula column you add code like this:
    function CF_payment_or_overriding_dateF return DATE
    is
    ld_return DATE;
    begin
    IF 'overriding'
    THEN
    use your criteria to retrieve the overriding_dd_date from paa via select into or a cursor construction
    ld_return := ppa_overriding_dd_date;
    ELSE
         -- empl.payment_date is fine do not replace
         ld_return := :payment_date;
    END IF;
    RETURN (ld_return);
    end;
    And in your layout section,
    for your field F_Payment_date1 set your source column to
    your formula column CF_payment_or_overriding_date
    Hope this helps,
    Greetings,
    Emiel

  • Hiding Screen fields in a Report selection screen

    Hi Experts,
    I have a requirement to hide/disable  screen fields in a report selection screen when the user clicks on some radio buttons .
    Here is the scenario,
    1) There are 4 radio buttons four radiobuttons in one group on the selection screen:--  
    Block no:1
    PARAMETER: r_not  TYPE c RADIOBUTTON GROUP a1 DEFAULT 'X'.
    PARAMETER: r_prgs TYPE c RADIOBUTTON GROUP a1.
    PARAMETER: r_remv TYPE c RADIOBUTTON GROUP a1.
    PARAMETER: r_noresp TYPE c RADIOBUTTON GROUP a1.
    2) Based on the user clicking/selecting the radio buttons no.2,3 nad 4 i need to hide some fields in the other selection block
    in the selection screen.The parameters are as follows:
    Block no:2( These fields need to be hidden/disabled)
    PARAMETER: r_occ(3) TYPE c OBLIGATORY DEFAULT '1'.
    PARAMETER: r_and TYPE c RADIOBUTTON GROUP g1.
    PARAMETER: r_or  TYPE c RADIOBUTTON GROUP g1.
    PARAMETER: r_days(3) TYPE c OBLIGATORY DEFAULT '1'.
    Thanks

    Contd.....
    AT SELECTION-SCREEN.
      CASE SSCRFIELDS-UCOMM.   
          "When Customer button is clicked set flag 1
        WHEN 'FC01'.
          L_FLAG = '1'.
          "When Sales Order button is clicked set flag 2
        WHEN 'FC02'. "Sales order
          L_FLAG = '2'.
          "When Execute button is clicked set flag 4
        WHEN OTHERS.
          L_FLAG = '4'.
      ENDCASE.
    AT SELECTION-SCREEN OUTPUT.
    CASE L_FLAG.
        WHEN '1'.  "When Customer button is clicked
          LOOP AT SCREEN.
            "Set the Production and Customer Block as inactive
            IF  SCREEN-GROUP1 = 'BL1' OR SCREEN-GROUP1 = 'BL3'.
              SCREEN-ACTIVE = '0'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
        WHEN '2'. "When Sales Order button is clicked
          LOOP AT SCREEN.
            "Set the Production and Customer Block as inactive
            IF  SCREEN-GROUP1 = 'BL1' OR SCREEN-GROUP1 = 'BL2'.
              SCREEN-ACTIVE = '0'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
        WHEN '3'.   "When Refresh button is clicked
          LOOP AT SCREEN.
            "Set the all Blocks as active
           IF  SCREEN-GROUP1 = 'BL2' OR SCREEN-GROUP1 = 'BL3' OR SCREEN-GROUP1 = 'BL1'.
              SCREEN-ACTIVE = '1'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
        WHEN OTHERS."When Execute button is clicked
          "Set the Sales order and Customer Block as inactive
          LOOP AT SCREEN.
            IF  SCREEN-GROUP1 = 'BL2' OR SCREEN-GROUP1 = 'BL3'.
              SCREEN-ACTIVE = '0'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
      ENDCASE.
    ENDFORM.      

  • Help me about the Report Category !!

    In a ABAP report program's "Attributes", we can set the Logical database (eg. in HR, it's PNP) , and then, we can select the "HR report category", for the report screen category setting.  After we set the Master Data(infotypes), we will get the report with several pushbuttons in the first line, like “Further Selections” "Sort order" ...
    So, my question is if I want to add some items into the "Sort Order" selection screen, how to do that ?
    Thanks a lot
    Tom

    Hi Tom,
    You can create the report category from SE38-> Attributes and then give the LDB name as PNP.
    Now click on the HR report category button and proceed creating the new report category by clicking the create button.
    The report category name should start with 0* or 7*.
    Hope this helps you,
    Regards,
    Subbu.

  • ABAP HR Report Category

    What is the best Report Category for the selection fields personnel no, personnel area, personnel subarea, employee group, employee subgroup, organizational unit?
    Thanks
    Vicky

    then create your own.. ie just copy this one & remove the unwanted fields..
    pl take a look at this Re: hr report category remove selection fields..
    ~Suresh

  • HR ABAP: HR Report Category: "Customer Specific Status" Name Change!

    Experts,
    I've successfully created a Custom HR Report Category and assigned it to my program. Report works fine, with all customized fields that i selected!
    There is one field called "Customer Specific Status", which needs to be changed to our requirement. For instance, the existing field's text "Customer Specific Status" needs to be changed as "NS Status" ?
    Helpful answers will be definitely awarded!
    Thanks a lot!
    Rgds,
    Sundar.

    Hello All,
    I got the answer already!
    Thanks!
    Regards,
    Sundar.

  • Add fields in delivery report (ROIGSD01) in TD.

    Dear Expert,
    Anyone knows how can i add fields in the report ROIGSD01? the one which I use to get the deliverys in TD
    I already added the fields in the ROIGSD01_ITEM_ALV structure, but I could not find the user-exit to fill this fields.
    anyone made it before?.
    I would realy appreciate you help.
    Best regards.

    Hi
    Madhu is right. Please, see the coding in include V50R_USEREXITS
    * 1. Add field to list-display
    * Userexits for additional fields on list display
    * use append-structure in DDIC at structure SHP_VL10_ITEM
    * and ad field value in one of these routines
    *INCLUDE LV50R_VIEWG02.       "POS_ITEM_FILL_USER:       SD/MM-orders
    *INCLUDE LV50R_VIEWG03.       "POSTAB_VEPVG_FILL_USER    SD-Index
    *INCLUDE LV50R_VIEWG06.       "POSTAB_VETVG_FILL_USER    MM-Index
    *INCLUDE LV50R_VIEWG07.       "POSTAB_DELIVERY_FILL_USER Delivery item
    Do double click and see the coding. If you are in ECC 6.0, do an implicit. If not, go to SCCR.
    I hope this helps you
    Regards
    Eduardo

  • How to Display  'purchase order text' in MM03 using report program

    Hi Friends,
    Can anybody suggest me how to display 'purchase order text' in MM03 using report program.
    'Purchase order text' tab displays purchase long text of particular material .
    I coded as:
          SET PARAMETER ID 'MXX' FIELD 'E'.
          SET PARAMETER ID 'MAT' FIELD k_final-matnr.
          SET PARAMETER ID 'WRK' FIELD k_final-werks.
          CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
    It displays Purchasing tab other than Purchase Order Text tab of MM03.
    Please suggest me how can i solve this.
    Is there any parameter id to set values for Purchase Order text tab

    >
    Madhu Mano Chitra wrote:
    > I want how to navigate to MM03 'Purchase Order text'  tab/ view using ABAP code.
    > could any suggest me
    You can call a transaction and pass it a BDC table that tells it where you want it to go.  You have to work out for yourself what to put into the BDC table.  The code below works for tcode CATSSHOW.
    DATA: bdcdata_wa  TYPE bdcdata,
          bdcdata_tab TYPE TABLE OF bdcdata.
    DATA opt TYPE ctu_params.
       CLEAR bdcdata_wa.
        bdcdata_wa-program  = 'CATSSHOW'.
        bdcdata_wa-dynpro   = '1000'.
        bdcdata_wa-dynbegin = 'X'.
        APPEND bdcdata_wa TO bdcdata_tab.
        CLEAR bdcdata_wa.
        bdcdata_wa-fnam = 'SO_STATU-LOW'.
        bdcdata_wa-fval = '20'.
        APPEND bdcdata_wa TO bdcdata_tab.
        CLEAR bdcdata_wa.
        bdcdata_wa-fnam = 'ANDZEIT'.
        bdcdata_wa-fval = SPACE.
        APPEND bdcdata_wa TO bdcdata_tab.
        CLEAR bdcdata_wa.
        bdcdata_wa-fnam = 'PAST'.
        bdcdata_wa-fval = 'X'.
        APPEND bdcdata_wa TO bdcdata_tab.
        IF p_selscr = SPACE.
           CLEAR bdcdata_wa.
           bdcdata_wa-fnam = 'BDC_OKCODE'.
           bdcdata_wa-fval = '=ONLI'.
           APPEND bdcdata_wa TO bdcdata_tab.
        ENDIF.
        opt-dismode = 'E'.
        opt-defsize = 'X'.
    CALL TRANSACTION 'CAPP' USING bdcdata_tab OPTIONS FROM opt.

  • Link between Purchase orders created and ORCM(Recommendation report)

    Hi,
    In purchase orders created from MRP recommendation report, we want to change the price, warehouse and some UDF's .For this functionality we are stopping the B1 functionality and adding the Purchase orders through our coding,In this scenario once the purchase order is added to B1 the same record should not be visible in MRP recommendation for creating the Purchase order again.
    we are not finding the link how can we update the ORCM table from were MRP recommendation is picking data to change the status field to "D" so that it will be not visible for creating purchase order again.
    Can any one please help in this issue.
    Thanks in Advance.
    Thanks & Regards,
    OmPrakash.
    Edited by: Om Prakash Akarapu on Dec 26, 2008 6:05 AM

    Hi
    in <b>EKKN</b> table you have sales order and Item fields (VBELN and POSNR)
    using these fields search for the deliveries in LIPS table
    EKKN-VBELN = LIPS-VGBEL and
    EKKN-POSNR = LIPS-VGPOS
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • I need to make the ordered quantity field (RV45A-KWMENG) disabled in 'VA02'

    Hi SAP COMMUNITY,
    I have urgent requirement for which i did'nt worked before on this requirement. I hope you people can help me in this regerd.
    My requirement is, I need to make the ordered quantity field (RV45A-KWMENG) disabled in the transaction code is VA01/VA02. User should not be able to edit this ordered quantity in VA01/VA02 Transaction.
    Here the condition to disable this field ordered quantity is IF ORDER TYPE EQUAL TO OR AND IF ITEM CATEGORY EQUAL TO TANN in technical IF VBAK-AUART EQ OR AND IF VBAP-PSTYV EQ TANN then only the field (RV45A-KWMENG) ordered quantity should be disabled in that transaction VA01/VA02.
    Correct me if iam wrong, I think in the program SAPMV45A and do we need to include any screen number which i have seen in VA02 is 4001. Do we need to write a code in Include MV45AFZZ (FORM USEREXIT_FIELD_MODIFICATION.). But i don't know what code i need to write here to disable this field.
    I had searched in the forum some example code so please suggest me whether i can use this and if i can use this please suggest me how to write the condition and insert the code in that FORM. If this sample code is wrong then please suggest me what exact code should be given. Can anyone help. Quick response will be much appreciated.
    Looking forward for ur prompt replies.

    As per my understanding , To disable the field RV45A-KWMENG based on the condition for Transaction VA01/VA02.
    The conditions which i need to check is Order Type and item category.
    I understand that this is the code which i need to insert for disabling the field but i have a question here, where is the condition here and how the system understand for this field RV45A-KWMENG it has to disable. I think we need give the condition as if RV45A-KWMENG....... Another one if iam not wrong we need check that it has to be done in VA01 and VA02 then only this condition should be executed.
    IF VBAK-AUART EQ 'XXX' OR VBAP-PSTYV EQ TANN .
    IF SCREEN-NAME = 'XXX'.
    SCREEN-ACTIVE = 0
    ENDIF.
    ENDIF.
    Please suggest me the better way how can i do it in the coding.
    Awaiting for ur prompt reply.

Maybe you are looking for