F4 help in ALV list

Hi.
I have a problem with f4 help in alv list.
There is a field in my alv list which have a domain. This domain has its own values in value range.
I have found how to show f4 help according to system tables ( for example kunnr in kna1 ) but I need to show this value range values as f4 help in my alv list.
Please help me.
Thanks.

hi
try this example
REPORT zoo_alvf4 .
DATA : alvgrid TYPE REF TO cl_gui_alv_grid,
custom_container TYPE REF TO cl_gui_custom_container,
fieldcatalog TYPE lvc_t_fcat.
table to contain fields that require f4...............................
DATA : lt_f4 TYPE lvc_t_f4 WITH HEADER LINE.
DATA : ok_code TYPE sy-ucomm.
TABLES : zemployee_c7.
TYPES : BEGIN OF ty_emp,
empid LIKE zemployee_c7-empid,
empname LIKE zemployee_c7-empname,
END OF ty_emp.
DATA : i_emp TYPE TABLE OF ty_emp.
DATA : wa_emp TYPE ty_emp.
SELECT-OPTIONS : s_empid FOR zemployee_c7-empid.
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
METHODS :
handle_on_f1 FOR EVENT onf1 OF cl_gui_alv_grid
IMPORTING e_fieldname es_row_no er_event_data,
handle_on_f4 for event onf4 of cl_gui_alv_grid
importing e_fieldname es_row_no er_event_data
ENDCLASS.
CLASS lcl_event_handler IMPLEMENTATION.
METHOD handle_on_f1.
IF e_fieldname = 'EMPID'.
CALL SCREEN 3001.
ENDIF.
to prevent processing of standard f1 help............................
er_event_data->m_event_handled = 'X'.
ENDMETHOD.
Method handle_on_f4.
endmethod.
ENDCLASS.
start of selection....................................................
START-OF-SELECTION.
SELECT empid empname FROM zemployee_c7
INTO CORRESPONDING FIELDS OF TABLE i_emp
WHERE empid IN s_empid.
CALL SCREEN 3000.
MODULE status_3000 OUTPUT.
SET PF-STATUS 'ZTOOL'.
SET TITLEBAR 'ZTITLE'.
IF alvgrid IS INITIAL.
CREATE OBJECT custom_container
EXPORTING
container_name = 'ZCONTAINER'.
CREATE OBJECT alvgrid
EXPORTING
i_parent = custom_container.
PERFORM prepare_f4.
CALL METHOD alvgrid->register_f4_for_fields
EXPORTING
it_f4 = lt_f4[]
creating instance for event handler..................................
DATA : event_handler TYPE REF TO lcl_event_handler.
CREATE OBJECT event_handler.
SET HANDLER event_handler->handle_on_f1 FOR alvgrid.
SET HANDLER event_handler->handle_on_f4 FOR alvgrid.
preparing field catalog..............................................
PERFORM prepare_fieldcatalog CHANGING fieldcatalog.
CALL METHOD alvgrid->set_table_for_first_display
EXPORTING
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
IS_LAYOUT =
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
CHANGING
it_outtab = i_emp
it_fieldcatalog = fieldcatalog
IT_SORT =
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDMODULE. " STATUS_3000 OUTPUT
preparing field catalog...............................................
FORM prepare_fieldcatalog CHANGING i_fieldcatalog TYPE lvc_t_fcat.
DATA : ls_fcat TYPE lvc_s_fcat.
ls_fcat-fieldname = 'EMPID'.
ls_fcat-ref_table = 'ZEMPLOYEE_C7'.
ls_fcat-coltext = 'EMPLOYEE ID'.
APPEND ls_fcat TO i_fieldcatalog.
CLEAR ls_fcat.
ls_fcat-fieldname = 'EMPNAME'.
ls_fcat-ref_table = 'ZEMPLOYEE_C7'.
ls_fcat-coltext = 'EMPLOYEE NAME'.
APPEND ls_fcat TO i_fieldcatalog.
ENDFORM.
MODULE user_command_3000 INPUT.
CASE ok_code.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_3000 INPUT
MODULE user_command_3001 INPUT.
CASE ok_code.
WHEN 'SAVE'.
LEAVE TO SCREEN 0.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_3001 INPUT
MODULE status_3001 OUTPUT.
SET PF-STATUS 'GUI'.
SET TITLEBAR 'TITLE'.
ENDMODULE. " STATUS_3001 OUTPUT
preparing fields to be registered for f4 help.........................
FORM prepare_f4.
lt_f4-fieldname = 'EMPNAME'.
lt_f4-register = 'X'.
lt_f4-getbefore = 'X'.
lt_f4-chngeafter = 'X'.
APPEND lt_f4.
ENDFORM.
Regards

Similar Messages

  • Need help in interactive alv list

    hi,
    i  need document and simple Example prog for interactive alv list.If anybody have it kindly help me..
    thanks in advance,
    Kavitha.

    hi,
    Jus copy and paste the following code in SE38.
    *& This is an Interactive ALV report, where on line slection we can see
    *&  the secondry list
    REPORT  ZZ_22038_22098_002 NO STANDARD PAGE HEADING LINE-SIZE 650
    MESSAGE-ID ZZ_9838                      .
    TYPE-POOLS: SLIS.
    *type declaration for values from ekko
    TYPES: BEGIN OF I_EKKO,
           EBELN LIKE EKKO-EBELN,
           AEDAT LIKE EKKO-AEDAT,
           BUKRS LIKE EKKO-BUKRS,
           BSART LIKE EKKO-BSART,
           LIFNR LIKE EKKO-LIFNR,
           END OF I_EKKO.
    DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,
          WA_EKKO TYPE I_EKKO.
    *type declaration for values from ekpo
    TYPES: BEGIN OF I_EKPO,
           EBELN LIKE EKPO-EBELN,
           EBELP LIKE EKPO-EBELP,
           MATNR LIKE EKPO-MATNR,
           MENGE LIKE EKPO-MENGE,
           MEINS LIKE EKPO-MEINS,
           NETPR LIKE EKPO-NETPR,
           END OF I_EKPO.
    DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,
          WA_EKPO TYPE I_EKPO .
    *variable for Report ID
    DATA: V_REPID LIKE SY-REPID .
    *declaration for fieldcatalog
    DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.
    declaration for events table where user comand or set PF status will
    be defined
    DATA: V_EVENTS TYPE SLIS_T_EVENT,
          WA_EVENT TYPE SLIS_ALV_EVENT.
    declartion for layout
    DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.
    declaration for variant(type of display we want)
    DATA: I_VARIANT TYPE DISVARIANT,
          I_VARIANT1 TYPE DISVARIANT,
          I_SAVE(1) TYPE C.
    *PARAMETERS : p_var TYPE disvariant-variant.
    *Title displayed when the alv list is displayed
    DATA:  I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.
    DATA:  I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.
    INITIALIZATION.
      V_REPID = SY-REPID.
      PERFORM BUILD_FIELDCATLOG.
      PERFORM EVENT_CALL.
      PERFORM POPULATE_EVENT.
    START-OF-SELECTION.
      PERFORM DATA_RETRIEVAL.
      PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.
      PERFORM DISPLAY_ALV_REPORT.
    *&      Form  BUILD_FIELDCATLOG
          Fieldcatalog has all the field details from ekko
    FORM BUILD_FIELDCATLOG.
      WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'EBELN'.
      WA_FIELDCAT-SELTEXT_M = 'PO NO.'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'AEDAT'.
      WA_FIELDCAT-SELTEXT_M = 'DATE.'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'BUKRS'.
      WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'BUKRS'.
      WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'LIFNR'.
      WA_FIELDCAT-NO_OUT    = 'X'.
      WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    "BUILD_FIELDCATLOG
    *&      Form  EVENT_CALL
      we get all events - TOP OF PAGE or USER COMMAND in table v_events
    FORM EVENT_CALL.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         I_LIST_TYPE           = 0
       IMPORTING
         ET_EVENTS             = V_EVENTS
      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.                    "EVENT_CALL
    *&      Form  POPULATE_EVENT
         Events populated for TOP OF PAGE & USER COMAND
    FORM POPULATE_EVENT.
      READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'TOP_OF_PAGE'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
    WA_EVENT-FORM.
      ENDIF.
      READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'USER_COMMAND'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
    WA_EVENT-NAME.
      ENDIF.
    ENDFORM.                    "POPULATE_EVENT
    *&      Form  data_retrieval
      retreiving values from the database table ekko
    FORM DATA_RETRIEVAL.
      SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.
    ENDFORM.                    "data_retrieval
    *&      Form  bUild_listheader
          text
         -->I_LISTHEADEtext
    FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.
      DATA HLINE TYPE SLIS_LISTHEADER.
      HLINE-INFO = 'this is my first alv pgm'.
      HLINE-TYP = 'H'.
    ENDFORM.                    "build_listheader
    *&      Form  display_alv_report
          text
    FORM DISPLAY_ALV_REPORT.
      V_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         I_CALLBACK_PROGRAM                = V_REPID
         I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
         I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
         I_GRID_TITLE                      = I_TITLE_EKKO
         IT_FIELDCAT                       = I_FIELDCAT[]
         I_SAVE                            = 'A'
         IT_EVENTS                         = V_EVENTS
        TABLES
          T_OUTTAB                          = IT_EKKO
      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_alv_report
    *&      Form  TOP_OF_PAGE
          text
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = IT_LISTHEADER
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  USER_COMMAND
          text
         -->R_UCOMM    text
         -->,          text
         -->RS_SLEFIELDtext
    FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
    RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN '&IC1'.
          READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.
          PERFORM BUILD_FIELDCATLOG_EKPO.
          PERFORM EVENT_CALL_EKPO.
          PERFORM POPULATE_EVENT_EKPO.
          PERFORM DATA_RETRIEVAL_EKPO.
          PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.
          PERFORM DISPLAY_ALV_EKPO.
      ENDCASE.
    ENDFORM.                    "user_command
    *&      Form  BUILD_FIELDCATLOG_EKPO
          text
    FORM BUILD_FIELDCATLOG_EKPO.
      WA_FIELDCAT-TABNAME = 'IT_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'EBELN'.
      WA_FIELDCAT-SELTEXT_M = 'PO NO.'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'EBELP'.
      WA_FIELDCAT-SELTEXT_M = 'LINE NO'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'I_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'I_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'MENGE'.
      WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'I_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'MEINS'.
      WA_FIELDCAT-SELTEXT_M = 'UOM'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'I_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'NETPR'.
      WA_FIELDCAT-SELTEXT_M = 'PRICE'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    "BUILD_FIELDCATLOG_EKPO
    *&      Form  event_call_ekpo
      we get all events - TOP OF PAGE or USER COMMAND in table v_events
    FORM EVENT_CALL_EKPO.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         I_LIST_TYPE           = 0
       IMPORTING
         ET_EVENTS             = V_EVENTS
      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.                    "event_call_ekpo
    *&      Form  POPULATE_EVENT
           Events populated for TOP OF PAGE & USER COMAND
    FORM POPULATE_EVENT_EKPO.
      READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'TOP_OF_PAGE'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
    WA_EVENT-FORM.
      ENDIF.
      ENDFORM.                    "POPULATE_EVENT
    *&      Form  TOP_OF_PAGE
          text
    FORM F_TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = IT_LISTHEADER
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  USER_COMMAND
          text
         -->R_UCOMM    text
         -->,          text
         -->RS_SLEFIELDtext
    *retreiving values from the database table ekko
    FORM DATA_RETRIEVAL_EKPO.
    SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.
    ENDFORM.
    FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.
    DATA: HLINE1 TYPE SLIS_LISTHEADER.
    HLINE1-TYP = 'H'.
    HLINE1-INFO = 'CHECKING PGM'.
    ENDFORM.
    FORM DISPLAY_ALV_EKPO.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       I_CALLBACK_PROGRAM                = V_REPID
       I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
       I_GRID_TITLE                      = I_TITLE_EKPO
       IT_FIELDCAT                       = I_FIELDCAT[]
       I_SAVE                            = 'A'
       IT_EVENTS                         = V_EVENTS
      TABLES
        T_OUTTAB                          = IT_EKPO
    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.
    Another program..............
    TABLES : LFA1,KNA1.
    DATA ITAB LIKE LFA1 OCCURS 0 WITH HEADER LINE.
    DATA ITAB1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE T.
    SELECT-OPTIONS LIFNR FOR LFA1-LIFNR.
    SELECTION-SCREEN END OF BLOCK B.
    INITIALIZATION .
    T = 'VENDOR DETAILS'.
    AT SELECTION-SCREEN OUTPUT.
    LIFNR-LOW = '1000'.
    LIFNR-HIGH = '4000'.
    APPEND LIFNR.
    START-OF-SELECTION.
    SELECT * FROM LFA1 INTO ITAB WHERE LIFNR IN LIFNR.
    APPEND ITAB.
    ENDSELECT.
    LOOP AT ITAB.
    FORMAT COLOR 6 INVERSE ON.
    WRITE : /2 SY-VLINE,4 ITAB-LAND1,7 SY-VLINE,9 ITAB-NAME1,44 SY-VLINE,46
    ITAB-ORT01,60 SY-VLINE.
    HIDE ITAB-ORT01.
    ENDLOOP.
    FORMAT COLOR OFF.
    TOP-OF-PAGE.
    WRITE : / 'VENDOR DETAILS'.
    ULINE AT /(70).
    SKIP.
    END-OF-PAGE.
    AT LINE-SELECTION.
    CASE SY-LSIND.
    WHEN 1.
    SELECT * FROM KNA1 INTO TABLE ITAB1 WHERE ORT01 = ITAB-ORT01.
    LOOP AT ITAB1.
    FORMAT COLOR 6 INVERSE ON.
    WRITE : /2 SY-VLINE,4 ITAB1-LAND1,7 SY-VLINE,9 ITAB1-NAME1,44 SY-VLINE,
    46 ITAB1-ORT01,60 SY-VLINE.
    FORMAT COLOR OFF.
    ENDLOOP.
    ENDCASE.
    TOP-OF-PAGE DURING LINE-SELECTION.
    CASE SY-LSIND.
    WHEN 1.
    WRITE : / 'VENDOR DETAILS'.
    ULINE AT /(70).
    SKIP.
    FORMAT COLOR 6 INVERSE ON.
    WRITE : /2 SY-VLINE,4 'LAND',7 SY-VLINE,9 'NAME',44 SY-VLINE,46
    'CITY',60 SY-VLINE.
    FORMAT COLOR OFF.
    WHEN 2.
    WRITE : / 'ANOTHER VENDOR DETAILS'.
    FORMAT COLOR 6 INVERSE ON.
    WRITE : /2 SY-VLINE,4 'LAND',7 SY-VLINE,9 'NAME',44 SY-VLINE,46
    'CITY',60 SY-VLINE.
    FORMAT COLOR OFF.
    endcase.
    END-OF-SELECTION.
    feel free to ask your clarifications.
    Senthil kumar

  • I cannot dowload all fields from ALV list to Excel - urgent, please help me

    I developed a report and displayed in ALV list using FM 'REUSE_ALV_GRID_DISPLAY'.The list contains 200 fields.But when i am trying to download in EXCEL file from ALV list, it is unable to download all the fields from ALV list into EXCEL.
    Thanks in advance,
    Katta.

    is your list having packed decimals or any fields which are of large length (around 128 char)?
    It can happen so.

  • Alv list diplay help needed

    Hi all,
    Is it possible to dispaly a list which is is selected from another alv list as a daiolog box.I mean i need to display all corresponding items which is selcted in a dailog box or as a dailog box. is it possible.
    Regards,
    Lisa.

    hi,
    check this example...
    REPORT  ZTEST_ALV_CHECK                         .
    TYPE-POOLS: SLIS.
    DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
          IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          L_LAYOUT type slis_layout_alv.
    DATA: BEGIN OF ITAB OCCURS 0,
          VBELN LIKE VBAK-VBELN,
          POSNR LIKE VBAP-POSNR,
          CHK(1),
         END OF ITAB.
    SELECT VBELN
           POSNR
           FROM VBAP
           UP TO 20 ROWS
           INTO TABLE ITAB.
    X_FIELDCAT-FIELDNAME = 'CHK'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS = 1.
    X_FIELDCAT-INPUT = 'X'.
    X_FIELDCAT-EDIT = 'X'.
    X_FIELDCAT-CHECKBOX = 'X'.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    X_FIELDCAT-FIELDNAME = 'VBELN'.
    X_FIELDCAT-SELTEXT_L = 'VBELN'.
    X_FIELDCAT-INPUT = 'X'.
    X_FIELDCAT-EDIT = 'X'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS = 2.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    X_FIELDCAT-FIELDNAME = 'POSNR'.
    X_FIELDCAT-SELTEXT_L = 'POSNR'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS = 3.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    L_LAYOUT-window_titlebar = 'Popup window'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        I_CALLBACK_PROGRAM       = SY-REPID
        IS_LAYOUT                = L_LAYOUT
        I_CALLBACK_PF_STATUS_SET = 'STATUS'
        I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
        IT_FIELDCAT              = IT_FIELDCAT
        I_SCREEN_START_COLUMN    = 10
        I_SCREEN_START_LINE      = 1
        I_SCREEN_END_COLUMN      = 50
        I_SCREEN_END_LINE        = 20
      TABLES
        T_OUTTAB                 = ITAB
      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  STATUS
    *       text
    *      -->P_EXTAB    text
    FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
    *- Pf status
      SET PF-STATUS 'STATUS'.
    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.
    ENDFORM.                    "USER_COMMAND
    Regards
    Vijay

  • Help Me Plz In ALV List Display

    hi,
    I am using ALV List display for output pupose and where i am using push buttons  and using  PF-STATUS its fetching other details and its workin fine..my problem is when i press back button and again press the push button .... the same content is repeating or the list is not cleared ......what to do how to clear the content in the list ........
    regrds,
    karthik.

    Clear and Refresh your main internal table in OK_CODE = 'BACK' button.
    Ok den do this..
    if ok_code = 'BACK'.
    p_code = ok_code.
    clear itab[].
    refresh itab.
    endif.
    now for coding of pushbutton,write this.
    if ok_code = 'pusbutton' ( your name of pushbutton)
    if p_code = 'BACK'.
    clear p_code .
    clear itab[]. "ITAB is your displayed main internal table
    refresh itab.
    endif.
    reward if useful.
    Amit Singla
    Message was edited by:
            Amit Singla

  • Issue in ALV List display

    Issue in ALV List display  
    Posted: Apr 5, 2008 10:25 AM     Edit      E-mail this message      Reply 
    Hi Friends,
    Can any one help me out in the logic to display the output in the ALV list.
    i want to get the out put as
    based on the field4 i have to display fieds5, field6 and field 7 values as mentioned below.
    field1 field2 field3 field4 field5 field6 field7
    0L 123 456 2008  001 123.00 456.00
    -    -     -       -     002  213.00 789.00
    -      -       -     003 0.00     0.00
    -      -       -     004 0.00     0.00
    -      -        -    005 0.00     0.00
    -       -       -     006 0.00     0.00
                                   336.00  1245.00
    Thanks,
    Vijay

    for display you have to define fieldcatlaog and use Fm RESUE_ALV_GRID_DISPLAY,
    Go through this program
    *& Report  Z_OPEN_CLOSE                                                *
    REPORT  Z_OPEN_CLOSE MESSAGE-ID YW2 LINE-SIZE 231 LINE-COUNT 45
    NO STANDARD PAGE HEADING.
    Type Declaration *
    TYPE-POOLS SLIS.
    Tables *
    TABLES: MKPF, " Material Document: Header Data
            MSEG, " Material Document: Item Data
            MARA,
            MARD,
            S031,
            EKKO,
            EKPO,
            LIKP,
            MAKT,
            J_1IWRKCUS,
            T001W,
            WB2_V_MKPF_MSEG2,
            MMIM_REP_PRINT,
            YW2_STKMOVEMENTS,
            YPLNT,
            MARDH.
    Internal Tables *
    DATA: I_WERKS LIKE J_1IWRKCUS OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF I_YPLNT OCCURS 0,
             PPLNT LIKE YPLNT-PPLNT,
             WPLNT LIKE YPLNT-WPLNT,
          END OF I_YPLNT.
    DATA: BEGIN OF I_MKPF OCCURS 0,
            MBLNR LIKE MKPF-MBLNR,
            MJAHR LIKE MKPF-MJAHR,
            BUDAT LIKE MKPF-BUDAT,
            VGART LIKE MKPF-VGART,
            BWART LIKE MSEG-BWART,
            MATNR LIKE MSEG-MATNR,
            WERKS LIKE MSEG-WERKS,
            LGORT LIKE MSEG-LGORT,
            MENGE LIKE MSEG-MENGE,
            MEINS LIKE MSEG-MEINS,
            KUNNR LIKE MSEG-KUNNR,
            ZEILE LIKE MSEG-ZEILE,
            XAUTO LIKE MSEG-XAUTO,
            SHKZG LIKE MSEG-SHKZG,
            MATNR1 LIKE MSEG-MATNR,
          END OF I_MKPF.
    DATA: BEGIN OF I_MARDH OCCURS 0,
           WERKS LIKE MARDH-WERKS,
           MEINS LIKE MARA-MEINS,
           MATNR LIKE MARDH-MATNR,
           LGORT LIKE MARDH-LGORT,
           LABST LIKE MARDH-LABST,
           LFGJA LIKE MARDH-LFGJA, "Added -MB
           LFMON LIKE MARDH-LFMON, "Added -MB
           PERIO(6),
           INSME LIKE MARDH-LABST,
           EINME LIKE MARDH-LABST,
           SPEME LIKE MARDH-LABST,
           RETME LIKE MARDH-LABST,
           O_STK LIKE MARDH-LABST, " Opening Stock
           C_STK LIKE MARDH-LABST, " Closing Stock
          END OF I_MARDH.
    DATA: BEGIN OF I_MARD OCCURS 0,
           WERKS LIKE MARD-WERKS,
           MATNR LIKE MARD-MATNR,
           LGORT LIKE MARD-LGORT,
           LABST LIKE MARD-LABST,
           INSME LIKE MARD-LABST,
           MEINS LIKE MARA-MEINS,
           EINME LIKE MARD-LABST,
           SPEME LIKE MARD-LABST,
           RETME LIKE MARD-LABST,
          END OF I_MARD.
    DATA: I_MARD1 LIKE I_MARD OCCURS 0 WITH HEADER LINE.
    DATA: I_MARDH1 LIKE I_MARDH OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF I_MKPF1 OCCURS 0,
            MBLNR LIKE MKPF-MBLNR,
            WERKS LIKE MSEG-WERKS,
            MATNR LIKE MSEG-MATNR,
            BUDAT LIKE MKPF-BUDAT,
            BWART LIKE MSEG-BWART,
            MJAHR LIKE MKPF-MJAHR,
            VGART LIKE MKPF-VGART,
            LGORT LIKE MSEG-LGORT,
            MENGE LIKE MSEG-MENGE,
            MEINS LIKE MSEG-MEINS,
            XAUTO LIKE MSEG-XAUTO,
            SHKZG LIKE MSEG-SHKZG,
          END OF I_MKPF1.
    DATA: BEGIN OF I_MKPF2 OCCURS 0,
           WERKS LIKE MSEG-WERKS,
           MATNR LIKE MSEG-MATNR,
           BUDAT LIKE MKPF-BUDAT,
           BWART LIKE MSEG-BWART,
           MJAHR LIKE MKPF-MJAHR,
           VGART LIKE MKPF-VGART,
           LGORT LIKE MSEG-LGORT,
           MENGE LIKE MSEG-MENGE,
           MEINS LIKE MSEG-MEINS,
           XAUTO LIKE MSEG-XAUTO,
         END OF I_MKPF2.
    DATA: BEGIN OF I_FINAL5 OCCURS 0,
           WERKS LIKE MSEG-WERKS, " Plant
           MATNR LIKE MSEG-MATNR, " Material
           LGORT LIKE MSEG-LGORT, " Storage Location
           BUDAT LIKE MKPF-BUDAT, " Posting Date
           MTART LIKE MARA-MTART, " Material Type
           SPMON LIKE S031-SPMON, " Month
           MAKTX LIKE MAKT-MAKTX, " Description
    meins(3), " UOM
            MEINS LIKE MSEG-MEINS,
            O_STK LIKE MARDH-LABST, " opening stock
            TRECEP LIKE MARDH-LABST, " total receipts
            PRODU LIKE MARDH-LABST, " Net Receipts - Production
            RECEP LIKE MARDH-LABST, " Net Receipts - Receipts
            SAL_RET LIKE MARDH-LABST, " Net Receipts - Sales Return
            TDISP LIKE MARDH-LABST, " total dispatches
            CUSTMR LIKE MARDH-LABST, " Net Dispatches - Customers
            OPLANT LIKE MARDH-LABST, " Net Dispatches - To Other Plant
            TLOSS LIKE MARDH-LABST, " Total Loss
            TRLOSS LIKE MARDH-LABST, " Transit Loss
            WHLOSS LIKE MARDH-LABST, " Warehouse Loss
            C_STK LIKE MARDH-LABST, " Closing Stock
            TRFSTK LIKE MARDH-LABST, "Transfer stock
            MENGE LIKE MSEG-MENGE,
            OTHADJ LIKE MARDH-LABST,
          END OF I_FINAL5.
    DATA: BEGIN OF I_FINAL OCCURS 0,
            WERKS LIKE MSEG-WERKS, " Plant
            MATNR LIKE MSEG-MATNR, " Material
            BUDAT LIKE MKPF-BUDAT, " Posting Date
            MTART LIKE MARA-MTART, " Material Type
            SPMON LIKE S031-SPMON, " Month
            MAKTX LIKE MAKT-MAKTX, " Description
    meins(3), " UOM
            MEINS LIKE MSEG-MEINS,
            O_STK LIKE MARDH-LABST, " opening stock
            TRECEP LIKE MARDH-LABST, " total receipts
            PRODU LIKE MARDH-LABST, " Net Receipts - Production
            RECEP LIKE MARDH-LABST, " Net Receipts - Receipts
            SAL_RET LIKE MARDH-LABST, " Net Receipts - Sales Return
            TDISP LIKE MARDH-LABST, " total dispatches
            CUSTMR LIKE MARDH-LABST, " Net Dispatches - Customers
            OPLANT LIKE MARDH-LABST, " Net Dispatches - To Other Plant
            TRFSTK LIKE MARDH-LABST, "Material Transfer stock
            TRLOSS LIKE MARDH-LABST, " Transit Loss
            WHLOSS LIKE MARDH-LABST, " Warehouse Loss
            TLOSS LIKE MARDH-LABST, " Total Loss
            C_STK LIKE MARDH-LABST, " Closing Stock
            OTHADJ LIKE MARDH-LABST,
           END OF I_FINAL.
    DATA: I_FINAL1 LIKE I_FINAL OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF I_FINAL_TEMP OCCURS 0,
            WERKS LIKE MSEG-WERKS, " Plant
            MATNR LIKE MSEG-MATNR, " Material
            MTART LIKE MARA-MTART, " Material Type
            MAKTX LIKE MAKT-MAKTX, " Description
            MEINS LIKE MSEG-MEINS,
            O_STK LIKE MARDH-LABST, " opening stock
            TRECEP LIKE MARDH-LABST, " total receipts
            PRODU LIKE MARDH-LABST, " Net Receipts - Production
            RECEP LIKE MARDH-LABST, " Net Receipts - Receipts
            SAL_RET LIKE MARDH-LABST, " Net Receipts - Sales Return
            TDISP LIKE MARDH-LABST, " total dispatches
            CUSTMR LIKE MARDH-LABST, " Net Dispatches - Customers
            OPLANT LIKE MARDH-LABST, " Net Dispatches - To Other Plant
            TRFSTK LIKE MARDH-LABST, "Material Transfer stock
            TRLOSS LIKE MARDH-LABST, " Transit Loss
            WHLOSS LIKE MARDH-LABST, " Warehouse Loss
            TLOSS LIKE MARDH-LABST, " Total Loss
            C_STK LIKE MARDH-LABST, " Closing Stock
            OTHADJ LIKE MARDH-LABST,
          END OF I_FINAL_TEMP.
    For Materials
    DATA: BEGIN OF I_MARA OCCURS 0,
           MATNR TYPE MARA-MATNR,
           MTART TYPE MARA-MTART,
           MEINS LIKE MARA-MEINS,
           LABST TYPE MARD-LABST,
           MAKTX LIKE MAKT-MAKTX,
          END OF I_MARA.
    DATA: BEGIN OF I_STKMVMNTS OCCURS 0,
           BWART LIKE MSEG-BWART,
           SHKZG LIKE MSEG-SHKZG,
           VZBEW LIKE YW2_STKMOVEMENTS-VZBEW,
          END OF I_STKMVMNTS.
    DATA: BEGIN OF I_FINALT OCCURS 0,
           WERKS LIKE MSEG-WERKS, " Plant
           MATNR LIKE MSEG-MATNR, " Material
           BUDAT LIKE MKPF-BUDAT, " Posting Date
           MTART LIKE MARA-MTART, " Material Type
           SPMON LIKE S031-SPMON, " Month
           MAKTX LIKE MAKT-MAKTX, " Description
    meins(3), " UOM
           MEINS LIKE MSEG-MEINS,
           O_STK LIKE MARDH-LABST, " opening stock
           TRECEP LIKE MARDH-LABST, " total receipts
           PRODU LIKE MARDH-LABST, " Net Receipts - Production
           RECEP LIKE MARDH-LABST, " Net Receipts - Receipts
           SAL_RET LIKE MARDH-LABST, " Net Receipts - Sales Return
           TDISP LIKE MARDH-LABST, " total dispatches
           CUSTMR LIKE MARDH-LABST, " Net Dispatches - Customers
           OPLANT LIKE MARDH-LABST, " Net Dispatches - To Other Plant
           TRFSTK LIKE MARDH-LABST, "Material Transfer stock
           TRLOSS LIKE MARDH-LABST, " Transit Loss
           WHLOSS LIKE MARDH-LABST, " Warehouse Loss
           TLOSS LIKE MARDH-LABST, " Total Loss
           C_STK LIKE MARDH-LABST, " Closing Stock
           OTHADJ LIKE MARDH-LABST,
           MONTH(8) ,
          END OF I_FINALT.
    DATA: IMKPFT LIKE I_MKPF OCCURS 0 WITH HEADER LINE.
    DATA: IMKPFT1 LIKE I_MKPF1 OCCURS 0 WITH HEADER LINE.
    DATA: IMARDT LIKE I_MARD OCCURS 0 WITH HEADER LINE.
    DATA: IMARDHT LIKE I_MARDH OCCURS 0 WITH HEADER LINE.
    DATA: T_FINAL LIKE I_MKPF OCCURS 0 WITH HEADER LINE.
    DATA: IMKPFT2 LIKE I_MKPF OCCURS 0 WITH HEADER LINE.
    FCAT is used for the field catalog
    DATA: FCAT TYPE TABLE OF SLIS_FIELDCAT_ALV WITH NON-UNIQUE DEFAULT KEY
                      WITH HEADER LINE INITIAL SIZE 0,
    for excluding the ICONs from the application toolbar
          FEXC TYPE TABLE OF SLIS_EXTAB WITH NON-UNIQUE DEFAULT KEY
                     WITH HEADER LINE INITIAL SIZE 0,
    FS_LAYO is used for Grid Layout
          FS_LAYO TYPE SLIS_LAYOUT_ALV,
    FEVENTS to handle the events TOP OF PAGE & USER_COMMAND
          FEVENTS TYPE TABLE OF SLIS_ALV_EVENT WITH NON-UNIQUE DEFAULT KEY
                     WITH HEADER LINE INITIAL SIZE 0,
    FHEADER is used for List header
          FHEADER TYPE TABLE OF SLIS_LISTHEADER WITH NON-UNIQUE DEFAULT KEY
                     WITH HEADER LINE INITIAL SIZE 0,
    sort is used for sorting
          FSORT TYPE TABLE OF SLIS_SORTINFO_ALV WITH NON-UNIQUE DEFAULT KEY
                     WITH HEADER LINE INITIAL SIZE 0,
          FCAT1 TYPE TABLE OF SLIS_FIELDCAT_ALV WITH NON-UNIQUE DEFAULT KEY
                    WITH HEADER LINE INITIAL SIZE 0,
          FS_LAYO1 TYPE SLIS_LAYOUT_ALV,
          GT_LIST_TOP_OF_PAGE1 TYPE SLIS_T_LISTHEADER,
          FEVENTS1 TYPE TABLE OF SLIS_ALV_EVENT WITH NON-UNIQUE DEFAULT KEY
                 WITH HEADER LINE INITIAL SIZE 0,
           FHEADER1 TYPE TABLE OF SLIS_LISTHEADER WITH NON-UNIQUE DEFAULT  
                  KEY WITH HEADER LINE INITIAL SIZE 0,
           G_STATU_071 TYPE SLIS_FORMNAME VALUE 'Z_PFSTATUS',
           ALV_VARIANT1 LIKE DISVARIANT.
    Variable Declaration *
    TYPES: TRFF_TYPE_DEC_6_5(6) TYPE P DECIMALS 5.
    DATA: FYEAR(4),
          MON(2),
          FYEAR1(4),
          MON1(2),
          OBAL LIKE MARD-LABST,
          CBAL LIKE MARD-LABST,
          INDEX TYPE I,
          COUNT,
          COUNT1 TYPE I,
          O_STK TYPE P DECIMALS 3,
          C_STK TYPE P DECIMALS 3,
          V_MJAHR LIKE MKPF-MJAHR,
          MONTHS TYPE TRFF_TYPE_DEC_6_5,
          MONTH TYPE I.
    Global variables for handling ALV functionality
    DATA: ALV_KEYINFO TYPE SLIS_KEYINFO_ALV,
          ALV_VARIANT LIKE DISVARIANT,
          ALV_LAYOUT TYPE SLIS_LAYOUT_ALV,
          ALV_REPID LIKE SY-REPID,
          ALV_PRINT TYPE SLIS_PRINT_ALV,
          ALV_DETAIL_FUNC(30),
          ALV_DEFAULT_VARIANT LIKE DISVARIANT-VARIANT,
          ALV_COLOURIZE_FIELDS LIKE MMIM_REP_PRINT-COLOR.
    RANGES: R_BUDAT FOR MKPF-BUDAT.
    *Added by Prabhu for year on 26.4.05.
    DATA: IDATE LIKE R_BUDAT OCCURS 0 WITH HEADER LINE.
    Selection Screen Elements *
    SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-001.
      SELECT-OPTIONS: S_WERKS FOR MARD-WERKS OBLIGATORY NO INTERVALS.
      PARAMETER: P_SPMON LIKE S031-SPMON NO-DISPLAY .
      SELECT-OPTIONS: S_MATNR FOR MARA-MATNR OBLIGATORY,
                      S_LGORT FOR MSEG-LGORT NO-EXTENSION NO INTERVALS,
                      S_MBLNR FOR MKPF-MBLNR,
                      S_BUDAT FOR MKPF-BUDAT OBLIGATORY .
    SELECTION-SCREEN END OF BLOCK BLK.
    SELECTION-SCREEN BEGIN OF BLOCK BLK3 WITH FRAME TITLE TEXT-004.
          PARAMETER : MTART LIKE MARA-MTART DEFAULT 'FERT' NO-DISPLAY.
    SELECTION-SCREEN END OF BLOCK BLK3.
    SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-003.
    SELECTION-SCREEN END OF BLOCK BLK2.
    ADDED BY PRABHU FOR DAY-WISE REPORT.
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-007.
      PARAMETERS: D1 RADIOBUTTON GROUP P1 DEFAULT 'X',
                  M1 RADIOBUTTON GROUP P1,
                  Y1 RADIOBUTTON GROUP P1.
    SELECTION-SCREEN END OF BLOCK B3.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-006.
    PARAMETERS: ALV_DEF LIKE DISVARIANT-VARIANT.
    SELECTION-SCREEN END OF BLOCK B2.
    DATA: S_BUDAT1 LIKE S_BUDAT OCCURS 0 WITH HEADER LINE."prabhu
    Initialization *
    INITIALIZATION.
      PERFORM ALV_INIT.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR ALV_DEF.
      PERFORM ALV_F4.
    At Selection Screen
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_spmon.
    PERFORM monat_f4.
    At Selection Screen *
    AT SELECTION-SCREEN.
    checking for the layout
      PERFORM ALV_CHECK.
    authorisation check for the Plant
    PERFORM auth_check.
    Validation for the Plant
      PERFORM VALIDITY_CHECK.
      IF MTART NE 'FERT'.
        MESSAGE E041 WITH 'Material Type must be FERT Only...'.
      ENDIF.
      IF D1 = 'X'." On 26.4.05.
        P_SPMON0(4) = S_BUDAT-LOW0(4).
        P_SPMON4(2) = S_BUDAT-LOW4(2).
      ELSE.
        P_SPMON0(4) = S_BUDAT-LOW0(4).
        P_SPMON4(2) = S_BUDAT-LOW4(2).
      ENDIF.
      LOOP AT S_BUDAT.
        IF S_BUDAT-HIGH IS INITIAL.
          S_BUDAT-HIGH = S_BUDAT-LOW.
          MODIFY S_BUDAT.
        ENDIF.
      ENDLOOP.
      IDATE-LOW = S_BUDAT-LOW.
      IDATE-HIGH = S_BUDAT-HIGH.
      CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
        EXPORTING
           I_DATE_FROM = IDATE-LOW
           I_DATE_TO = IDATE-HIGH
       IMPORTING
    E_DAYS =
          E_MONTHS = MONTH
    E_YEARS =
      DATA: I(3) TYPE C.
      I = S_BUDAT-LOW+4(2).
      CLEAR: R_BUDAT.
      REFRESH: R_BUDAT.
    *added by Prabhu for Only for Oneday.on 18.5.5
      IF MONTH EQ '0'.
        MONTH = MONTH + 1.
      ENDIF.
    *added by Prabhu for Only for Oneday.on 18.5.5
      DO MONTH TIMES.
        R_BUDAT-LOW = S_BUDAT-LOW.
        APPEND R_BUDAT.
      ENDDO.
      I = 0.
      LOOP AT R_BUDAT.
        R_BUDAT-LOW4(2) = S_BUDAT-LOW4(2) + I.
        I = I + 1.
        R_BUDAT-LOW+6(2) = '01'.
        MODIFY R_BUDAT.
      ENDLOOP.
      LOOP AT R_BUDAT.
        CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
           EXPORTING
             DAY_IN = R_BUDAT-LOW
           IMPORTING
             LAST_DAY_OF_MONTH = R_BUDAT-HIGH
          EXCEPTIONS
            DAY_IN_NO_DATE = 1
            OTHERS = 2
        MODIFY R_BUDAT.
      ENDLOOP.
      LOOP AT R_BUDAT.
        IF R_BUDAT-LOW4(2) = S_BUDAT-LOW4(2).
          R_BUDAT-LOW = S_BUDAT-LOW.
          MODIFY R_BUDAT.
        ENDIF.
        IF R_BUDAT-HIGH4(2) = S_BUDAT-HIGH4(2).
          R_BUDAT-HIGH = S_BUDAT-HIGH.
          MODIFY R_BUDAT.
        ENDIF.
    For Summary on 26.4.05.
        IF Y1 = 'X'.
          CLEAR R_BUDAT.
          REFRESH R_BUDAT.
          R_BUDAT-LOW = S_BUDAT-LOW.
          R_BUDAT-HIGH = S_BUDAT-HIGH.
          APPEND R_BUDAT.
          CLEAR R_BUDAT.
        ENDIF.
      ENDLOOP.
    At Selection Screen *
    AT SELECTION-SCREEN OUTPUT.
    Start of Selection *
    START-OF-SELECTION.
      V_MJAHR = P_SPMON+0(4).
    Get plant distinction warehouse/production
      PERFORM GET_PLANT_DISTINCTION.
    Collect the data from various tables
      PERFORM GETDATA_FG_STOCK.
    here the number of rows in the output table is found
      PERFORM OUTPUT_TABLE_CHECK.
    here the top of the page code is written, that is to be displayed
    in the output
      PERFORM Z_TOP_OF_PAGE.
    here ALV layout properties are set
      PERFORM Z_LAYOUT_SETTINGS.
    ALV EVENTS for TOP OF PAGE and for USER COMMAND
      PERFORM Z_ALV_EVENTS.
    The field catalog is defined for the Primary List is defined in
    the subroutine CREATE_FIELD_CATALOG include program ZPRRDOCR_FCAT
      PERFORM Z_CREATE_FIELD_CATALOG.
    This is for displaying the output
      PERFORM Z_REUSE_ALV_GRID_DISPLAY.
    *& Form getdata_fg_stock
    Getting data from standard tables
    FORM GETDATA_FG_STOCK.
    For getting the Start date & end date of the month
    PERFORM get_month_dates.
    Getting the Opening Stock from MARDH table
      IF MON EQ '01'.
        MON1 = MON.
        FYEAR1 = FYEAR.
        MON = '12'.
        FYEAR = FYEAR - 1.
      ELSE.
        MON1 = MON.
        FYEAR1 = FYEAR.
        MON = MON - 1.
        FYEAR = FYEAR.
      ENDIF.
      PERFORM GET_RECORDS_FROM_DB.
    *added for Month Summary on 26.4.05.
      LOOP AT R_BUDAT.
        S_BUDAT-LOW = R_BUDAT-LOW.
        S_BUDAT-HIGH = R_BUDAT-HIGH.
    *for Month
        P_SPMON0(4) = S_BUDAT-LOW0(4).
        P_SPMON4(2) = S_BUDAT-LOW4(2).
    *for summary.
        IF Y1 = 'X'.
          LOOP AT S_BUDAT.
            S_BUDAT1-SIGN = 'I'.
            S_BUDAT1-OPTION = 'NB'.
            S_BUDAT1-LOW = S_BUDAT-LOW.
            S_BUDAT1-HIGH = S_BUDAT-HIGH.
            APPEND S_BUDAT1.
            CLEAR S_BUDAT1.
          ENDLOOP.
        ENDIF.
        IMKPFT[] = I_MKPF[].
        IMKPFT2[] = I_MKPF[].
        IMARDT[] = I_MARD[].
        IMARDHT[] = I_MARDH[].
        PERFORM MONTH_WISE.
        PERFORM PROCESS_MOVEMENTS.
        PERFORM CALCULATE_OPENING_STOCK.
        PERFORM UPDATE_NON_TRANSACTION_ITMS.
        PERFORM DELETE_EMPTY_RECORDS.
        CLEAR: IMARDHT,IMARDT,IMKPFT1,IMKPFT,I_FINAL,I_FINAL5.
        REFRESH: IMARDHT,IMARDT,IMKPFT1,I_FINAL,I_FINAL5,IMKPFT.
      ENDLOOP.
      CLEAR: R_BUDAT.
      REFRESH: R_BUDAT.
    *end of changes for month.
    ENDFORM. " getdata_fg_stock
    FORM MONAT_F4 *
    F4-Hilfe für Monat *
    FORM MONAT_F4.
      DATA: BEGIN OF MF_DYNPFIELDS OCCURS 1.
              INCLUDE STRUCTURE DYNPREAD.
      DATA: END OF MF_DYNPFIELDS.
      DATA: MF_RETURNCODE LIKE SY-SUBRC,
             MF_MONAT LIKE ISELLIST-MONTH,
             MF_HLP_REPID LIKE SY-REPID.
      FIELD-SYMBOLS: .
    Wert von Dynpro lesen
      GET CURSOR FIELD MF_DYNPFIELDS-FIELDNAME.
      APPEND MF_DYNPFIELDS.
      MF_HLP_REPID = SY-REPID.
      DO 2 TIMES.
        CALL FUNCTION 'DYNP_VALUES_READ'
          EXPORTING
            DYNAME               = MF_HLP_REPID
            DYNUMB               = SY-DYNNR
          TABLES
            DYNPFIELDS           = MF_DYNPFIELDS
          EXCEPTIONS
            INVALID_ABAPWORKAREA = 01
            INVALID_DYNPROFIELD  = 02
            INVALID_DYNPRONAME   = 03
            INVALID_DYNPRONUMMER = 04
            INVALID_REQUEST      = 05
            NO_FIELDDESCRIPTION  = 06
            UNDEFIND_ERROR       = 07.
        IF SY-SUBRC = 3.
    Aktuelles Dynpro ist Wertemengenbild
          MF_HLP_REPID = 'SAPLALDB'.
        ELSE.
          READ TABLE MF_DYNPFIELDS INDEX 1.
    Unterstriche durch Blanks ersetzen
          TRANSLATE MF_DYNPFIELDS-FIELDVALUE USING '_ '.
          EXIT.
        ENDIF.
      ENDDO.
      IF SY-SUBRC = 0.
    Konvertierung ins interne Format
        CALL FUNCTION 'CONVERSION_EXIT_PERI_INPUT'
          EXPORTING
            INPUT         = MF_DYNPFIELDS-FIELDVALUE
          IMPORTING
            OUTPUT        = MF_MONAT
          EXCEPTIONS
            ERROR_MESSAGE = 1.
        IF MF_MONAT IS INITIAL.
    Monat ist initial => Vorschlagswert aus akt. Datum ableiten
          MF_MONAT = SY-DATLO(6).
        ENDIF.
        CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
          EXPORTING
            ACTUAL_MONTH               = MF_MONAT
          IMPORTING
            SELECTED_MONTH             = MF_MONAT
            RETURN_CODE                = MF_RETURNCODE
          EXCEPTIONS
            FACTORY_CALENDAR_NOT_FOUND = 01
            HOLIDAY_CALENDAR_NOT_FOUND = 02
            MONTH_NOT_FOUND            = 03.
        IF SY-SUBRC = 0 AND MF_RETURNCODE = 0.
    ASSIGN (MF_DYNPFIELDS-FIELDNAME) TO <MF_FELD>. " ==>> note 148804
    <MF_FELD> = MF_MONAT.
          CALL FUNCTION 'CONVERSION_EXIT_PERI_OUTPUT'
            EXPORTING
              INPUT  = MF_MONAT
            IMPORTING
              OUTPUT = MF_DYNPFIELDS-FIELDVALUE.
          COLLECT MF_DYNPFIELDS.
          CALL FUNCTION 'DYNP_VALUES_UPDATE'
            EXPORTING
              DYNAME               = MF_HLP_REPID
              DYNUMB               = SY-DYNNR
            TABLES
              DYNPFIELDS           = MF_DYNPFIELDS
            EXCEPTIONS
              INVALID_ABAPWORKAREA = 01
              INVALID_DYNPROFIELD  = 02
              INVALID_DYNPRONAME   = 03
              INVALID_DYNPRONUMMER = 04
              INVALID_REQUEST      = 05
              NO_FIELDDESCRIPTION  = 06
              UNDEFIND_ERROR       = 07. "<<== note 148804
        ENDIF.
      ENDIF.
    ENDFORM.                                                    "MONAT_F4
    *& Form get_month_dates
    Calculating the Month Start & End Date
    FORM GET_MONTH_DATES.
      IF M1 = 'X'.
        FYEAR = P_SPMON+0(4).
        MON = P_SPMON+4(2).
        CONCATENATE FYEAR MON '01' INTO R_BUDAT-LOW.
        R_BUDAT-SIGN = 'I'.
        R_BUDAT-OPTION = 'BT'.
        CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
          EXPORTING
            I_DATE = R_BUDAT-LOW
          IMPORTING
            E_DATE = R_BUDAT-HIGH.
        APPEND R_BUDAT.
        CLEAR S_BUDAT.
        REFRESH S_BUDAT.
        S_BUDAT-SIGN = 'I'.
        S_BUDAT-OPTION = 'BT'.
        S_BUDAT-LOW = R_BUDAT-LOW.
        S_BUDAT-HIGH = R_BUDAT-HIGH.
        APPEND S_BUDAT.
      ELSE.
        FYEAR = P_SPMON+0(4).
        MON = P_SPMON+4(2).
        CONCATENATE FYEAR MON '01' INTO R_BUDAT-LOW.
        R_BUDAT-SIGN = 'I'.
        R_BUDAT-OPTION = 'BT'.
        CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
          EXPORTING
            I_DATE = R_BUDAT-LOW
          IMPORTING
            E_DATE = R_BUDAT-HIGH.
        APPEND R_BUDAT.
      ENDIF.
    ENDFORM. " get_month_dates
    *& Form output_table_Check
    checking for records for output
    FORM OUTPUT_TABLE_CHECK .
      DESCRIBE TABLE I_FINALT LINES INDEX.
      IF INDEX EQ 0.
        MESSAGE I041 WITH TEXT-005.
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM. "OUTPUT_TABLE_CHECK
    *& Form Z_TOP_OF_PAGE
    for setting the details in the top of page *
    has no formal paramters *
    FORM Z_TOP_OF_PAGE.
      DATA: V_MON(2),
      V_YR(40),
      V_FIN(18),
      V_FIN1(48),
      LOW(10),
      HIGH(10).
      V_MON = P_SPMON+4(2).
      V_YR = P_SPMON+0(4).
      FHEADER-TYP = 'H'.
      FHEADER-INFO = 'Stock Register Report (FG Stock)'.
      APPEND FHEADER.
      CLEAR FHEADER.
    *if m1 = 'X'.
    CONCATENATE 'Month = ' v_mon '.' v_yr INTO v_fin.
    fheader-typ = 'H'.
    fheader-info = v_fin.
    APPEND fheader.
    CLEAR fheader.
    *endif."prabhu on 18.5.5
      IF D1 = 'X'.
        CLEAR S_BUDAT.
        LOOP AT S_BUDAT.
          CONCATENATE S_BUDAT-LOW6(2) '/' S_BUDAT-LOW4(2) '/'
          S_BUDAT-LOW+0(4) INTO LOW.
          CONCATENATE S_BUDAT-HIGH6(2) '/' S_BUDAT-HIGH4(2) '/'
          S_BUDAT-HIGH+0(4) INTO HIGH.
          CONCATENATE 'Date = ' LOW ' - ' HIGH INTO V_FIN1.
          FHEADER-TYP = 'H'.
          FHEADER-INFO = V_FIN1.
          APPEND FHEADER.
          CLEAR FHEADER.
        ENDLOOP.
      ENDIF.
    ENDFORM. " Z_TOP_OF_PAGE
    *& Form Z_LAYOUT_SETTINGS
    this is done for setting the properties for the layout of the *
    grid *
    has no formal paramters *
    FORM Z_LAYOUT_SETTINGS.
      FS_LAYO-ZEBRA = 'X'. " Output in Zebra pattern
      FS_LAYO-DETAIL_POPUP = 'X'. " A popup window appears to give
      FS_LAYO-DETAIL_TITLEBAR = TEXT-022.
      FS_LAYO-COLWIDTH_OPTIMIZE = 'X'.
    ENDFORM. " Z_LAYOUT_SETTINGS
    *& Form Z_ALV_EVENTS
    This is used for handling the events TOP OF PAGE and the USER *
    COMMAND event *
    has no formal paramters *
    FORM Z_ALV_EVENTS.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE = 0
        IMPORTING
          ET_EVENTS   = FEVENTS[].
      READ TABLE FEVENTS WITH KEY NAME = 'TOP_OF_PAGE'.
      IF SY-SUBRC = 0.
        FEVENTS-FORM = 'Z_TOPOFPAGE'.
        MODIFY FEVENTS INDEX SY-TABIX.
        CLEAR FEVENTS.
      ENDIF.
      READ TABLE FEVENTS WITH KEY NAME = 'USER_COMMAND'.
      IF SY-SUBRC = 0.
        FEVENTS-FORM = 'Z_USER_COMMAND'.
        MODIFY FEVENTS INDEX SY-TABIX.
        CLEAR FEVENTS.
      ENDIF.
    ENDFORM. "Z_ALV_EVENTS
    *& Form Z_CREATE_FIELD_CATALOG
    here the field catalog is created for the primary list *
    no formal parameters *
    FORM Z_CREATE_FIELD_CATALOG.
    for the Plant
      FCAT-FIELDNAME = 'WERKS'.
      FCAT-KEY = 'X'.
      FCAT-OUTPUTLEN = '000005'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Plant'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Material Type
      FCAT-FIELDNAME = 'MTART'.
      FCAT-KEY = 'X'.
      FCAT-OUTPUTLEN = '000006'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'MatTyp'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Material No.
      FCAT-FIELDNAME = 'MATNR'.
      FCAT-KEY = 'X'.
    fcat-hotspot = 'X'.
      FCAT-OUTPUTLEN = '000018'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Material'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Material Description
      FCAT-FIELDNAME = 'MAKTX'.
      FCAT-KEY = ''.
      FCAT-OUTPUTLEN = '000040'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Description'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Unit of Measure
      FCAT-FIELDNAME = 'MEINS'.
      FCAT-KEY = ''.
      FCAT-OUTPUTLEN = '03'.
      FCAT-JUST = 'C'.
      FCAT-SELTEXT_M = 'UOM'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'UNIT'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Plant
      FCAT-FIELDNAME = 'MONTH'.
      FCAT-KEY = 'X'.
      FCAT-OUTPUTLEN = '08'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'MONTH'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Opening Stock
      FCAT-FIELDNAME = 'C_STK'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Opening Stock'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
    fcat-do_sum = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Total Receipts
      FCAT-FIELDNAME = 'TRECEP'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Total Receipts'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Production
      FCAT-FIELDNAME = 'PRODU'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Production'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Other Plant Receipts
      FCAT-FIELDNAME = 'RECEP'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Othr Plnt Recpts'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    Sales Return
      FCAT-FIELDNAME = 'SAL_RET'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Sales Return'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    Total Dispatches
      FCAT-FIELDNAME = 'TDISP'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Total Dispatches'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.

  • Display error protocol in an alv list

    Hi!
    I have in my program an alv list.Two of its fields are editable. For one of this field I want to control the value key by the user. So , i used ADD_PROTOCOL_ENTRY from class CL_ALV_CHANGED_DATA_PROTOCOL like in report BCALV_EDIT_04. The control works very well when the user key a wrong value.
    But, here is my problem. I add a button to allow user to change value for several line with one click (mass change) and i would like to control entry too. 
    Since when i call method CHECK_CHANGED_DATA after my mass changes nothing appends, in PAI module i add this code.
    DATA WT_CHANGED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.    CREATE OBJECT WT_CHANGED EXPORTING I_CALLING_ALV = GRID1.
    PERFORM MASS_CHANGE.
    CALL METHOD G_VERIFIER->HANDLE_DATA_CHANGED( WT_CHANGED ).
    In perform mass_change i had this code :
    WT_CELLS-ROW_ID = WT_INDEX2-ROW_ID.
    WT_CELLS-FIELDNAME = '/BIC/ZC_SIPROD'.
    WT_CELLS-VALUE = P_SIPROD.
    WT_CELLS-TABIX = W_TABIX.
    APPEND WT_CELLS.
    APPEND WT_CELLS TO WT_CHANGED->MT_GOOD_CELLS.
    The protocol windows appears. When i click on an error message the cell witch contains the error is selected but the fiels <i>name of the columns</i> is empty in the protocol windows and the incorrect value is not deleted.
    NB : when i do manual change (i.e line by line) this columns isn't empty and the incorrect value is deleted.
    can you help me in order to solve my problem?
    Thanks by advance,
    LB.
    Message was edited by:
            Laurent BOUDART

    Hi,
    you can have a look in BCALV_GRID_EDIT.
    Look in the perform data_changed.
    Edited by: Mario Schmidt on Jun 21, 2010 5:05 AM

  • Extract from ALV List

    Hello All,
    Please suggest me is there any way to extract the data from ALV LIST.
    For example:
    SUBMIT  XXX WITH SELECTION-TABLE rspar_tab AND RETURN.
    This XXX  program gives the result in alv list.Once it returns back to original program i want to fetch the results.
    Thanks and Best Regards,
    Vinoth

    Hi Vinoth...
    SUBMIT XXX WITH SELECTION-TABLE rspar_tab AND RETURN.
    Whether ur submit program (XXX) is standard or Zreport?
    1, If it is standard means u need to copy the program  in to ZXXX..
        And now change the ZXXX.
        Fetch where the final Internal table is populating for output display..
    There u need to Export that internal table ..
    eg:
    export g_t_belege1 to memory id 'ZSARA'.
    export bestand1 to memory id 'ZSARA1'.
    1,g_t_belege1
    2,bestand1
    these are internal tables in the Submit program (ZXXX)..
    Now u may come to ur original program..
    and import this..
      import g_t_belege1 from memory id 'ZSARA'.
      import bestand1 from memory id 'ZSARA1'.
    g_t_belege1,bestand1 these internal table structures sholud be same as Submit program structures..
    Else.. it may give Dump ..
    Now u may process the internal tables  g_t_belege1,bestand1 by ur wish..
    2,
    If it Zreport means no need to copy ..
    Just export into one id and import in ur original program.
    Hope it will helps..
    Reward if it is useful means.
    Regards
    Bala..
    Message was edited by:
            S Balasubramanian

  • From ALV list to Selection-screen

    Hi,
    I have problem in coming back to selection screen after displaying ALV List.
    In ALV list i'm using check box option to delete selected records. After deletion I'm displaying the remaining records with one more call to ALV function module.
    As this is not a secondary list i'm not able to use SY-LSIND and even call selection-screen or leave to screen 0 are not working.
    could you please help me out.
    Thanks,
    Vinay.

    Hi
      You don't have to show the remaining records in another ALV.
      In the user command sub-routine we will be passing the parameter RS_SELFIELD TYPE SLIS_SELFIELD.
      When you delete the rows from the internal table in the user command set the refresh field to on.
      RS_SELFIELD-REFRESH = 'X'.
      Please let me know if it works.
    Thanks,
    Naren

  • 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

  • Hi all   F4 on field in alv list

    hi all
    i would like to know how is it possible to give f4 help to a field in alv list.  this is field is input enable.
    if not in alv list, is it possible in alv grid.
    thanx
    rocky

    HI
    like this
    TYPES : BEGIN OF ST_OBJID_SH,
             OTYPE TYPE HRP1000-OTYPE,
             OBJID TYPE HRP1000-OBJID,
            END OF ST_OBJID_SH.
    DATA : IT_OBJID_SH TYPE STANDARD TABLE OF ST_OBJID_SH.
    DATA : WA_OBJID_SH TYPE ST_OBJID_SH.
    ***********SELECTION SCREEN DESIGN***********************
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    *SELECT-OPTIONS : S_OTYPE FOR HRP1001-OTYPE NO INTERVALS .
    SELECT-OPTIONS : S_OBJID FOR HRP1001-OBJID NO INTERVALS .
    SELECT-OPTIONS : DATE FOR SY-DATUM NO-EXTENSION OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1.
    **********END OF SELECTION SCREEN DESIGN*****************
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_OBJID-LOW.
    IF S_OBJID IS NOT INITIAL.
        SELECT OTYPE OBJID FROM HRP1000
                     INTO TABLE IT_OBJID_SH
                     WHERE OTYPE = 'D'.
    IF SY-SUBRC EQ 0.
    SEARCH HELP FOR QUALIFICATION.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
          EXPORTING
                 DDIC_STRUCTURE         = ' '
            RETFIELD               =  'OBJID'
                 PVALKEY                = ' '
           DYNPPROG               = SY-REPID
           DYNPNR                 = SY-DYNNR
           DYNPROFIELD            = 'S_OBJID'
                 STEPL                  = 0
                 WINDOW_TITLE           =
                 VALUE                  = ' '
           VALUE_ORG              = 'S'
                 MULTIPLE_CHOICE        = ' '
                 DISPLAY                = ' '
                 CALLBACK_PROGRAM       = ' '
                 CALLBACK_FORM          = ' '
                 MARK_TAB               =
               IMPORTING
                 USER_RESET             =
          TABLES
            VALUE_TAB              =  IT_OBJID_SH
                 FIELD_TAB              =
                 RETURN_TAB             = RETURN_TAB
                 DYNPFLD_MAPPING        =
               EXCEPTIONS
                 PARAMETER_ERROR        = 1
                 NO_VALUES_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.
      ENDIF.

  • Time field in alv list

    Hi all ,
    i want to display alv list with time field . if no data exists in that field its showing 00:00:00 , i have to show it blank. if i change time field as type c in my internal table its showing like this 121314, i need to display it 12:13:14 . if no data it should display balnk . can any one help me out to reslove this issue?

    Hi priya,
    do this:
    declare in your itab a field like sy-uzeit.
    as example.
    move sy-uzeit to itab-uzeit.
    In fieldcat do this:
        MOVE  'X'                        TO   WA_FIELDCAT-NO_ZERO.
    Hope it helps.
    regards, Dieter

  • Can we display ICONS in ALV list?

    Hi,
       Is it possible to display icons (ICON_GREEN_LIGHT) in the ALV list using the function module REUSE_ALV_LIST_DISPLAY.
       Is there any possibility of displaying a list using object oriented ALV?
    Thanks and Regards,
    Lakshmi.

    Hi Lakshmi,
    Just check this once.
    REPORT  Zxxx  MESSAGE-ID ZZ                       .
    *& TABLES DECLARATION                                                  *
    TABLES: VBAK.
    *& TYPE POOLS DECLARATION                                              *
    TYPE-POOLS: SLIS.
    *& INTERNAL TABLE DECLARATION                                          *
    DATA: BEGIN OF ITAB OCCURS 0,
           ICON TYPE ICON-ID,
           VBELN LIKE VBAK-VBELN,
           AUDAT LIKE VBAK-AUDAT,
           VBTYP LIKE VBAK-VBTYP,
           AUART LIKE VBAK-AUART,
           AUGRU LIKE VBAK-AUGRU,
           NETWR LIKE VBAK-NETWR,
           WAERK LIKE VBAK-WAERK,
        END OF ITAB.
    *INTERNAL TABLE FOR FIELD CATALOG
    DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
        IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV
               WITH HEADER LINE,
    *INTERNAL TABLE FOR EVENTS
    DATA:    IT_EVENT TYPE SLIS_T_EVENT,
          WA_EVENT TYPE SLIS_ALV_EVENT,
    *INTERNAL TABLE FOR SORTING
          IT_SORT TYPE SLIS_T_SORTINFO_ALV,
          WA_SORT TYPE SLIS_SORTINFO_ALV,
    *INTERNAL TABLE FOR LAYOUT
          WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
    *& VARIABLE DECLARATION                                                *
    DATA : V_REPID TYPE SY-REPID,
           V_PAGNO(4) TYPE N,
           V_DATE(8)  TYPE C.
    *& CONSTANTS                                                           *
    CONSTANTS: C_X TYPE C VALUE 'X'.
    *& SELECTION SCREEN                                                    *
    SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,
                    S_VBTYP FOR VBAK-VBTYP DEFAULT 'C'.
    SELECTION-SCREEN: END OF BLOCK B1.
    SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
    SELECTION-SCREEN : BEGIN OF LINE.
    SELECTION-SCREEN  COMMENT 1(20) TEXT-003.
    PARAMETERS: P_LIST RADIOBUTTON GROUP RAD1 DEFAULT 'X'.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) TEXT-004.
    PARAMETERS: P_GRID RADIOBUTTON GROUP RAD1.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN: END OF BLOCK B2.
    AT SELECTION-SCREEN.
      PERFORM VALIDATE_SCREEN.
    *& START OF SELECTION                                               *
    START-OF-SELECTION.
      CLEAR: ITAB, ITAB[].
    V_REPID = SY-REPID.
      PERFORM GET_DATA.
      PERFORM DISPLAY_DATA.
    *& END OF SELECTION                                                    *
    END-OF-SELECTION.
    *--DO ALV Process
      V_REPID = SY-REPID.
    *--Sort the Output Fields
      PERFORM SORT_FIELDS.
    *--Build Field catalog for the Output fields
    PERFORM BUILD_FIELDCAT.
    *--Set the Layout for ALV
      PERFORM SET_LAYOUT.
    *&      Form  GET_DATA
          text
    TO GET THE DATA FROM TABLES INTO ITAB
    FORM GET_DATA .
      SELECT VBELN
             AUDAT
             VBTYP
             AUART
             AUGRU
             NETWR
             WAERK
             INTO CORRESPONDING FIELDS OF TABLE ITAB
             FROM VBAK
             WHERE VBELN IN S_VBELN AND
             AUDAT > '04.04.2005'
             AND NETWR > 0.
      LOOP AT ITAB.
        IF ITAB-NETWR < 10000.
          ITAB-ICON = '@08@'.
        ELSEIF ITAB-NETWR > 10000 AND ITAB-NETWR < 100000.
          ITAB-ICON = '@09@'.
        ELSEIF ITAB-NETWR > 100000.
          ITAB-ICON = '@0A@'.
        ENDIF.
        MODIFY ITAB INDEX SY-TABIX.
      ENDLOOP.
    ENDFORM.                    " GET_DATA
    *&      Form  sort_fields
    FORM SORT_FIELDS .
      CLEAR WA_SORT.
      WA_SORT-FIELDNAME = 'VBTYP'.
      WA_SORT-SPOS = '1'.
      WA_SORT-UP = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
      WA_SORT-FIELDNAME = 'NETWR'.
      WA_SORT-SPOS = '2'.
      WA_SORT-UP = 'X'.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
    ENDFORM.                    " sort_fields
    *&      Form  build_fieldcat
    *FORM BUILD_FIELDCAT .
    IT_FIELDCAT-COL_POS    = '1'.
    IT_FIELDCAT-FIELDNAME  = 'ICON'.
    IT_FIELDCAT-KEY        = 'X'.
    IT_FIELDCAT-OUTPUTLEN  = '10'.
    IT_FIELDCAT-SELTEXT_L  = 'LIGHT'.
    APPEND IT_FIELDCAT.
    CLEAR  IT_FIELDCAT.
    IT_FIELDCAT-COL_POS    = '2'.
    IT_FIELDCAT-FIELDNAME  = 'VBELN'.
    IT_FIELDCAT-KEY        = 'X'.
    IT_FIELDCAT-OUTPUTLEN  = '10'.
    IT_FIELDCAT-SELTEXT_L  = 'SALES DOC NUMBER'(009).
    APPEND IT_FIELDCAT.
    CLEAR  IT_FIELDCAT.
    IT_FIELDCAT-COL_POS    = '3'.
    IT_FIELDCAT-FIELDNAME  = 'AUDAT'.
    IT_FIELDCAT-KEY        = 'X'.
    IT_FIELDCAT-OUTPUTLEN  = '4'.
    IT_FIELDCAT-SELTEXT_L  = 'DOCUMENT DATE'(010).
    APPEND IT_FIELDCAT.
    CLEAR  IT_FIELDCAT.
    IT_FIELDCAT-COL_POS    = '4'.
    IT_FIELDCAT-FIELDNAME  = 'VBTYP'.
    IT_FIELDCAT-KEY        = 'X'.
    IT_FIELDCAT-OUTPUTLEN  = '4'.
    IT_FIELDCAT-SELTEXT_L  = 'CATEGORY'(011).
    APPEND IT_FIELDCAT.
    CLEAR  IT_FIELDCAT.
    IT_FIELDCAT-COL_POS    = '5'.
    IT_FIELDCAT-FIELDNAME  = 'AUART'.
    IT_FIELDCAT-OUTPUTLEN  = '4'.
    IT_FIELDCAT-SELTEXT_L  = 'DOCUMENT TYPE'(012).
    APPEND IT_FIELDCAT.
    CLEAR  IT_FIELDCAT.
    IT_FIELDCAT-COL_POS    = '6'.
    IT_FIELDCAT-FIELDNAME  = 'AUGRU'.
    IT_FIELDCAT-OUTPUTLEN  = '12'.
    IT_FIELDCAT-SELTEXT_L  = 'Order reason'(013).
    APPEND IT_FIELDCAT.
    CLEAR  IT_FIELDCAT.
    IT_FIELDCAT-COL_POS    = '7'.
    IT_FIELDCAT-FIELDNAME  = 'NETWR'.
    IT_FIELDCAT-OUTPUTLEN  = '12'.
    IT_FIELDCAT-SELTEXT_L  = 'NET VALUE'(014).
    APPEND IT_FIELDCAT.
    CLEAR  IT_FIELDCAT.
    IT_FIELDCAT-COL_POS    = '8'.
    IT_FIELDCAT-FIELDNAME  = 'WAERK'.
    IT_FIELDCAT-OUTPUTLEN  = '12'.
    IT_FIELDCAT-SELTEXT_L  = 'SD DOC CURR'(015).
    APPEND IT_FIELDCAT.
    CLEAR  IT_FIELDCAT.
    *ENDFORM.                    " build_fieldcat
    *&      Form  set_layout
    FORM SET_LAYOUT .
      IF P_LIST = C_X .
        WA_LAYOUT-WINDOW_TITLEBAR = 'LIST DISPLAY'(016).
        WA_LAYOUT-ZEBRA = 'X'.
    *-- ALV LIST DISPLAY
        PERFORM LIST_DISPLAY TABLES ITAB.
    *-- ALV GRID DISPLAY
      ELSEIF P_GRID = C_X.
        WA_LAYOUT-WINDOW_TITLEBAR = 'GRID DISPLAY'(017).
        WA_LAYOUT-ZEBRA = 'X'.
        PERFORM GRID_DISPLAY TABLES ITAB.
      ENDIF.
    ENDFORM.                    " set_layout
    *&      Form  list_display
    FORM LIST_DISPLAY  TABLES   P_ITAB .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM = V_REPID
          IS_LAYOUT          = WA_LAYOUT
          IT_FIELDCAT        = IT_FIELDCAT[]
          IT_SORT            = IT_SORT[]
          I_SAVE             = 'U'
        TABLES
          T_OUTTAB           = ITAB
        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_display
    *&      Form  GRID_DISPLAY
    FORM GRID_DISPLAY  TABLES   P_ITAB .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM = V_REPID
          IS_LAYOUT          = WA_LAYOUT
          IT_FIELDCAT        = IT_FIELDCAT[]
          IT_SORT            = IT_SORT[]
          IT_EVENTS          = IT_EVENT
        TABLES
          T_OUTTAB           = ITAB
        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_DISPLAY
    *&      Form  VALIDATE_SCREEN
          text
    -->  p1        text
    <--  p2        text
    FORM VALIDATE_SCREEN .
      DATA: LV_VBELN LIKE VBAK-VBELN.
      IF NOT S_VBELN IS INITIAL.
        SELECT VBELN
        INTO LV_VBELN
        UP TO 1 ROWS
        FROM VBAK
        WHERE VBELN IN S_VBELN.
        ENDSELECT.
        IF SY-SUBRC <> 0.
          MESSAGE E000 WITH 'INVALID SALES DOC'.
        ENDIF.
      ENDIF.
    ENDFORM.                    " VALIDATE_SCREEN
    *&      Form  display_data
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLAY_DATA .
      DEFINE M_FIELDCAT.
        ADD 1 TO WA_FIELDCAT-COL_POS.
        WA_FIELDCAT-FIELDNAME   = &1.
        WA_FIELDCAT-REF_TABNAME = 'VBAK'.
        WA_FIELDCAT-DO_SUM      = &2.
        WA_FIELDCAT-CFIELDNAME  = &3.
        APPEND WA_FIELDCAT TO IT_FIELDCAT.
      END-OF-DEFINITION.
    DATA:
        ls_fieldcat TYPE slis_fieldcat_alv,
        lt_fieldcat TYPE slis_t_fieldcat_alv.
      m_fieldcat 'ICON' ''  ''.
      m_fieldcat 'VBELN' ''  ''.
      m_fieldcat 'AUDAT' ''  ''.
      m_fieldcat 'VBTYP' ''  ''.
      m_fieldcat 'AUART' ''  ''.
      m_fieldcat 'AUGRU' ''  ''.
      m_fieldcat 'NETWR' 'C' 'WAERK'.
      m_fieldcat 'WAERK' ''  ''.
    ENDFORM.                    " display_data
    hope it helps u
    regards
    laxmi

  • How to print text on container using oop on alv list

    Hello Guru's,
             pl guide me how to print text on container using alv list-display which have interactive events  using     oop classes/methods ...
                    I want to print hard coded text on coantainer , on double clicking it will call another screen.
    Pl Help..
    Message was edited by:
            paresh sonavane

    Hi Paresh,
           1.      Go to the Layout and Create One custom container box and give name it.
            2. Custom Container is the one type of tool and its used for Displaying the Reports 
                with the use of ABAP Objects.
            3. Go to se38 and Write The Following Code.
    tables ZTEAM_GD.
    DATA : OBJ TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
           OBJ1 TYPE REF TO CL_GUI_ALV_GRID.
    DATA IT_TEAM LIKE TABLE OF ZPLAYER_BAT_DET       .
    SELECT * FROM ZPLAYER_BAT_DET INTO TABLE IT_TEAM.
    CREATE OBJECT OBJ
      EXPORTING
        CONTAINER_NAME              = 'ALV'.          -
    > Give ur Container Name
    CREATE OBJECT OBJ1
      EXPORTING
        I_PARENT          = OBJ.
    CALL METHOD OBJ1->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
        I_STRUCTURE_NAME              = 'ZPLAYER_BAT_DET'
      CHANGING
        IT_OUTTAB                     = IT_TEAM.
    *CALL METHOD OBJ1->SET_DROP_DOWN_TABLE
    EXPORTING
       I_STRUCTURE_NAME = 'ZTEAM_GD'
    CHANGING
       IT_OUTTAB        = IT_TEAM.
    CALL SCREEN 9000.
    *&      Module  USER_COMMAND_9000  INPUT
          text
    MODULE USER_COMMAND_9000 INPUT.
    CASE SY-UCOMM.
    WHEN 'EXT'.
      LEAVE PROGRAM.
    ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9000  INPU     
    Thanks.
    Reward If Helpful.

  • Scrolling-problem in an editable ALV-list

    Hi,
    I have built an <b>ALV-list</b> with one of the fields <b>open for input</b>. The user wants to use the arrow to scroll <u>down</u> through the table and update that particular field in every row. I have <b>2</b> questions about this:
    - First of all, the cursor moves in a strange way. The first number of rows it stays in the right column, but then, out of the blue, it jumps back and forth to other columns after scrolling.
    - Secondly, the field I want to edit is always in Insert-mode. Is there any way I can get it into Overwrite-mode? I cannot use the Tab-key, because of the lead-selection.
    Thanks in advance for your help.
    Kind regards,
    Andre Moniharapon

    Hi Vijay,
    please don't get me wrong, I really appreciate your attempts to help me, but my problem is that when I press the Down-arrow it <u>doesn't</u> always go to the next cell in the <i>same</i> column. It sometimes goes to the next cell in <i>another</i> column. And if I can't force it to stay in the same column in some way, than my problem cannot be solved and I must think of another solution. So, I don't want the cursor to stay in the same field, I want it to go to the next cell in the same column. You got that right. Again, I really appreciate your help, but it looks more and more that there's no solution to my problem.
    Kind regards,
    Andre

Maybe you are looking for

  • Supplied XML is not valid

    Hi All, While refreshing a Webi report, I am getting following error:  "A database error occured. The database error text is: The supplied XML is not valid. [Measures].[0701FBYSYG9KJQ47GRMMAVZ89]. (WIS 10901) ". Could you please let me know how to re

  • Music sound gets low while earphones are plugged in.  To fix it I have to slide the music progress bar.

    When listening to music with any pair of headphones or earphones plugged in, all of a sudden the volume will get really low for no reason.  Example: say the volume is at 15.  All of a sudden the volume will drop to like a 4, but the volume slider is

  • EOS sales reports in LMS4.0

    HI it's me again:-) I'm trying to generate EoS/EoL reports and reports are empty. so thinking that the download was faulty I have manually downloaded the two ZIP files and copied them in the dedicated directory. rreports were still empty. so I have r

  • Mac mail inbox suddenly empty

    I have an old imac running on snow leopard, and I just got my mom a new imac with lion for christmas. She has two yahoo email addresses, so we set up Mail to import both, and it's been running fine for about 2 weeks now. Then suddenly tonight, one of

  • My wifi is constantly getting disconnected even though it says i'm still connected.

    While i'm just doing random things on the internet and everything seems fine and then all of a sudden if i'm oppening up a link or trying to refresh a page, it just keeps loading and eventually says I have no connection. I then look at my wifi status