Problems with F4 help in ALV grid

Hi all,
I am trying to create a F4 help for the field Payee number in my reprot output (ALV Grid OO), i am able to get the window for selection of the value in the F4 help , but i am unable to pass the value back on to the screen.
I need to insert the selected value from the F4 help and aslo need to populate the Name of the payee into the Payee field.
Can some one help me in finding what error have i done in the code.
Thanks in advance for all.
I have the following code
*&  Include      ZRMM_ALV_TOP                *
data: gc_control100 type  ref to cl_gui_custom_container,
      gc_control101 type  ref to cl_gui_custom_container.
data: gi_outtab100  type  table of ty_purchase.
data: g_cont0100    type  ref to cl_gui_custom_container,
      g_grid0100    type  ref to cl_gui_alv_grid, " For Screen 100 Grid
      gi_fcat0100   type  lvc_t_fcat,  " Field Catalog for Screen 100
      gi_sort0100   type  lvc_t_sort,
      g_lout0100    type  lvc_s_layo.
data: okcode_100    like  sy-ucomm,
      save_0100     like  sy-ucomm,
      okcode_200    like  sy-ucomm,
      save_0200     like  sy-ucomm.
types: begin of f4_itab_type,
              LIFNR type lifnr,
              BUKRS type name1,
           end of f4_itab_type.
data: f4_itab type table of f4_itab_type,
      ls_f4_itab type f4_itab_type.
data : it_IZEMTAB type table of IZEMTAB,
       wa_IZEMTAB type IZEMTAB.
Class Definitions.
class event_receiver_0100 definition.
  PUBLIC SECTION.
    types: begin of onf4_event_parameters_type,
              c_fieldname     type lvc_fname,
              cs_row_no       type lvc_s_roid,
              cr_event_data   type ref to cl_alv_event_data,
              ct_bad_cells    type lvc_t_modi,
              c_display       type char01,
            end of onf4_event_parameters_type.
    data: fieldcatalog type lvc_t_fcat.
    data :   f4_alv  type ref to cl_gui_alv_grid,
             f4_cont type ref to cl_gui_custom_container.
    data: f4_params type onf4_event_parameters_type.
    METHODS:
       ON_F4 FOR EVENT ONF4 of cl_gui_alv_grid
           importing sender
                     e_fieldname
                     e_fieldvalue
                     es_row_no
                     er_event_data
                     et_bad_cells
                     e_display.
  on_data_changed for event
                   data_changed of cl_gui_alv_grid
        importing e_onf4
                  e_onf4_before
                  e_onf4_after
                  er_data_changed
                  e_ucomm
                  sender.
endclass.                    "lcl_event_receiver DEFINITION
data: gs_variant type disvariant,
      gc_save    value 'A',
      gs_toolbar  TYPE stb_button,
      gs_toolbar1 type stb_button,
      gs_toolbar2 type stb_button.
DATA : T_RETURN TYPE STANDARD TABLE OF DDSHRETVAL WITH HEADER LINE.
DATA : event_receiver_0100 TYPE REF TO EVENT_RECEIVER_0100.
Class Implementation.
class event_receiver_0100  implementation.
For f4 help.
  method on_f4.
data: ls_outtab type ty_purchase.
field-symbols <itab> type lvc_t_modi.
data: ls_modi type lvc_s_modi,
      ls_f4_itab type f4_itab_type.
    f4_params-c_fieldname   = e_fieldname.
    f4_params-cs_row_no     = es_row_no.
    f4_params-cr_event_data = er_event_data.
    f4_params-ct_bad_cells  = et_bad_cells.
    f4_params-c_display     = e_display.
read table it_purchase into ls_outtab index f4_params-cs_row_no-row_id.
Clear f4_itab[].
CALL FUNCTION 'FI_VENDOR_ALTERN_PAYERS_READ'
  EXPORTING
    I_LIFNR                  = ls_outtab-lifnr
    I_BUKRS                  = ls_outtab-bukrs
  TABLES
    T_ZEMTAB                 = it_izemtab.
     clear f4_itab[].
    if not ls_outtab-lifnr is initial.
    loop at it_izemtab into wa_izemtab.
      ls_f4_itab-LIFNR = wa_izemtab-empfb.
      ls_f4_itab-BUKRS = wa_izemtab-name1.
      append ls_f4_itab to f4_itab.
    endloop.
    endif.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  EXPORTING
   RETFIELD              = 'LIFNR'
   DYNPPROG              = sy-repid
   DYNPNR                = '100'
   WINDOW_TITLE          = 'f4 help for PAYEE'
   VALUE_ORG             = 'S'
  TABLES
    VALUE_TAB            = f4_itab
    RETURN_TAB           = T_RETURN.
IF SY-SUBRC <> 0.
ENDIF.
assign f4_params-cr_event_data->m_data->* to <itab>.
ls_modi-row_id = f4_params-cs_row_no-row_id.
    read table f4_itab into ls_f4_itab index es_row_no-row_id.
    if not f4_itab is initial.
       ls_modi-row_id    = es_row_no-row_id.
       ls_modi-value     = ls_f4_itab-LIFNR.
       ls_modi-FIELDNAME = 'LIFNR'.
       append ls_modi to <itab>.
       ls_modi-row_id    = es_row_no-row_id.
       ls_modi-value     = ls_f4_itab-BUKRS.
       ls_modi-FIELDNAME = 'NAME1'.
       append ls_modi to <itab>.
    endif.
   er_event_data->m_event_handled = 'X'.
ENDMETHOD.                           
*--ENDMETHOD SHOW_F4--
endclass.    "lcl_event_receiver IMPLEMENTATION

I have used the following FM for F4 help on editable ALV grid column and it worked fine.Try the below.
Call function for Input helps
    CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
         EXPORTING
              i_title               = text-049
              i_selection           = c_check
              i_zebra               = c_check
              i_screen_start_column = 55
              i_screen_end_column   = 125
              i_screen_start_line   = 10
              i_screen_end_line     = 20
              i_tabname             = c_fcat_str
              it_fieldcat           = tl_fieldcat
         IMPORTING
              es_selfield           = wal_selfield
         TABLES
              t_outtab              = tl_code
         EXCEPTIONS
              program_error         = 1
              OTHERS                = 2.
    IF sy-subrc <> 0.
     MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ELSEIF sy-subrc = 0 AND NOT wal_selfield IS INITIAL.
      wl_index = wal_selfield-tabindex.
      READ TABLE tl_code ASSIGNING <l_code>
      INDEX wl_index.
      IF sy-subrc = 0.
        <l_fgis_lots>-status   = <l_code>.
      ENDIF.
    ENDIF.
  ENDIF.

Similar Messages

  • Problem with check box in ALV Grid Display

    I am Displaying Material Master Data in ALV Grid Display with Check Box for each record and if i checked check box then i am processing Update operation in Database,  my question is after perform update operation check box should be clear.
    Kindly help me!!!!

    Hello Raj
    Given the fact that you do not tell us the most important piece of information (namely whether you are using OO-based ALV or not) I assume you are using fm-based ALV lists.
    In this case you probably have defined a USER_COMMAND routine as described in the documentation of the fm.
    FORM user_command  USING r_ucomm LIKE sy-ucomm
                             rs_selfield TYPE slis_selfield.
    * define local data
      DATA: ls_outtab  LIKE LINE OF gt_outtab,
                ld_idx       TYPE i.
      LOOP AT gt_outtab INTO ls_outtab
                     WHERE ( chkbox = 'X' ).
        ld_idx = syst-tabix.
        " Call your update function / method / perform
       ls_outtab-chkbox = space.
       MODIFY gt_outtab FROM ls_outtab INDEX ld_Idx
          TRANSPORTING chkbox.
      ENDLOOP.
    " And now trigger refresh of the ALV display:
      rs_selfield-refresh = 'X'.  " <<< !!!
    ENDFORM.
    Regards
      Uwe

  • Problem with print preview in alv grid

    Hello all,
    I have to display base unit of measure(meins) in alv grid output. i am using a conversion routine to convert it from ST TO PC before display.After executing the report i am getting the correct data. the problem is when i select the print preview
    alv list is displayed. in that the unit of measure pc is not displayed, it is comming as '*******. what i came to know is the same conversion routine is triggered in the standard program for the display. so it canot convert that.
    so please help me out in solving this.
    Thanks in advance,
    Sarat

    hi sarath,
        this is an example code try using the statement before displaying, i think it works.
    *example cdoe.
    LOOP AT i_grp1 INTO wa_grp1.
    AT NEW tknum.
    READ TABLE i_grp1 intto wa_grp1 index sy-tabix.
    SUM.
    MOVE-CORRESPONDING wa_grp1 TO wa_grp2.
    APPEND wa_grp2 TO i_grp2.
    ENDAT.
    ENDLOOP.

  • Problem with Excel button in ALV Grid...URGENT

    Hi All,
    I have developed a report in ALV Grid. As we all know that by default we get few buttons in ALV Grid, like summation, sorting download, etc.. In that we have one excel button. When i click that excel button the output of the report should give the output in excel sheet. But this is not working.
    The report is running fine except the excel button.
    Do anyone of u have any idea how to do that?
    Its very urgent...
    Regards,
    Parvez.

    Go through the code and Execute it on your system, I think this will do for you.
    In this code I used 3 radio buttons in my selection screen:
    If u selects the first radio button your out put shows into to the Excel sheet.
    If u selects the second radio button your out put shows the in the Editor screen.
    If u clicks the third radio button your output shows into the Excel as well as in the Editor.
    *&                       DATA DECLARATION                              *
    TABLES: MARA,                      "GENERAL MASTER DATA
            MARC,                      "PLANT DATA FOR MATERIAL
            MARD,                      "STORAGE LOCATION DATA FOR MATERIAL
            MBEW,                      "MATERIAL VALUATION
            MVKE,                      "SALES DATA FOR MATERIAL
            MAKT,                      "MATERIAL DESCRIPTION
            EKKO,                      "PURCHASING DOCUMENT HEADER
            EKPO,                      "PURCHASING DOCUMENT ITEM
            VBAK,                      "SALES DOCUMENT HEADER DATA
            VBAP.                      "SALES DOCUMENT ITEM DATA
    TYPE-POOLS : SLIS.
    DATA: VT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
          V_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
          V_LAYOUT TYPE SLIS_LAYOUT_ALV,
          BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
          BEGIN OF I_MARA OCCURS 0,
             MATNR LIKE MARA-MATNR,  "MATERIAL NUMBER
             MBRSH LIKE MARA-MBRSH,  "INDUSTRY SECTOR
             MEINS LIKE MARA-MEINS,  "BASE UNIT OF MEASURE
             MATKL LIKE MARA-MATKL,  "MATERIAL GROUP
          END OF I_MARA,
          BEGIN OF I_MARC OCCURS 0,
             MATNR LIKE MARC-MATNR,  "MATERIAL NUMBER
             WERKS LIKE MARC-WERKS,  "PLANT
             LVORM LIKE MARC-LVORM,  "FLAG MATERIAL FOR DELETION AT PLANT
                                      "LEVEL
             DISPO LIKE MARC-DISPO,  "MRP CONTROLLER
          END OF I_MARC,
          BEGIN OF I_MAKT OCCURS 0,
             MATNR LIKE MAKT-MATNR,  "MATERIAL NUMBER
             MAKTX LIKE MAKT-MAKTX,  "MATERIAL DESCRIPTION
             SPRAS LIKE MAKT-SPRAS,  "LANGUAGE KEY
          END OF I_MAKT,
          BEGIN OF I_MVKE OCCURS 0,
             MATNR LIKE MVKE-MATNR,  "MATERIAL NUMBER
             VKORG LIKE MVKE-VKORG,  "SALES ORGANIZATION
             VTWEG LIKE MVKE-VTWEG,  "DISTRIBUTION CHANNEL
          END OF I_MVKE,
          BEGIN OF I_MARD OCCURS 0,
            MATNR LIKE MARD-MATNR,  "MATERIAL NUMBER
            LGORT LIKE MARD-LGORT,  "STORAGE LOCATION
            LABST LIKE MARD-LABST,  "VALUATED STOCK WITH UNRESTRICTED USE
          END OF I_MARD,
          BEGIN OF I_EKPO OCCURS 0,
            EBELN LIKE EKPO-EBELN,  "PURCHASING DOCUMENT NUMBER
            EBELP LIKE EKPO-EBELP,  "ITEM NUMBER OF PURCHASING DOCUMENT
            MATNR LIKE EKPO-MATNR,  "MATERIAL NUMBER
          END OF I_EKPO,
          BEGIN OF I_VBAP OCCURS 0,
            VBELN LIKE VBAP-VBELN,  "SALES DOCUMENT
            POSNR LIKE VBAP-POSNR,  "SALES DOCUMENT ITEM
            MATNR LIKE VBAP-MATNR,  "MATERIAL NUMBER
          END OF I_VBAP,
          BEGIN OF I_OUT OCCURS 0,
            MATNR LIKE MARC-MATNR,
            WERKS LIKE MARC-WERKS,
            LVORM LIKE MARC-LVORM,
            DISPO LIKE MARC-DISPO,
            MBRSH LIKE MARA-MBRSH,
            MEINS LIKE MARA-MEINS,
            MATKL LIKE MARA-MATKL,
            VKORG LIKE MVKE-VKORG,
            VTWEG LIKE MVKE-VTWEG,
            SPRAS LIKE MAKT-SPRAS,
            MAKTX LIKE MAKT-MAKTX,
            LGORT LIKE MARD-LGORT,
            LABST LIKE MARD-LABST,
            EBELN LIKE EKPO-EBELN,
            EBELP LIKE EKPO-EBELP,
            VBELN LIKE VBAP-VBELN,
            POSNR LIKE VBAP-POSNR,
          END OF I_OUT,
          BEGIN OF I_HEADING OCCURS 0,
            TEXT1(20),
            TEXT2(20),
            TEXT3(20),
            TEXT4(20),
            TEXT5(20),
            TEXT6(20),
            TEXT7(20),
            TEXT8(20),
            TEXT9(20),
            TEXT10(20),
            TEXT11(40),
            TEXT12(20),
            TEXT13(20),
            TEXT14(20),
            TEXT15(20),
            TEXT16(20),
            TEXT17(20),
          END OF I_HEADING.
    *&                   S E L E C T I O N - S C R E E N                   *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.
    SELECT-OPTIONS: S_MATNR FOR MARA-MATNR. "OBLIGATORY.
    PARAMETERS: P_WERKS LIKE MARC-WERKS. "OBLIGATORY.
    SELECT-OPTIONS: S_LGORT FOR MARD-LGORT,
                    S_DISPO FOR MARC-DISPO,
                    S_EBELN FOR EKPO-EBELN .
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-101.
    PARAMETERS : RB1 RADIOBUTTON GROUP G1,
                 RB2 RADIOBUTTON GROUP G1,
                 RB3 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF BLOCK B2.
    *&             S T A R T - O F - S E L E C T I O N                     *
    START-OF-SELECTION.
      SELECT MATNR WERKS LVORM DISPO FROM MARC
      INTO CORRESPONDING FIELDS OF TABLE I_MARC
                          WHERE MATNR IN S_MATNR
                          AND DISPO IN S_DISPO
                          AND WERKS = P_WERKS.
      IF I_MARC[] IS INITIAL.
        WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARC'.
        EXIT.
      ENDIF.
      PERFORM PURCHASEDATA_VALIDATION.
      PERFORM SALESDATA_VALIDATION.
      SELECT MATNR LGORT LABST FROM MARD INTO TABLE  I_MARD
                          FOR ALL ENTRIES IN I_MARC
                          WHERE MATNR = I_MARC-MATNR
                          AND WERKS EQ P_WERKS
                          AND LGORT IN S_LGORT.
      IF I_MARD[] IS INITIAL.
        WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARD'.
        EXIT.
      ENDIF.
      SELECT MATNR VKORG VTWEG FROM MVKE INTO TABLE I_MVKE
                          FOR ALL ENTRIES IN I_MARC
                          WHERE MATNR = I_MARC-MATNR.
      IF I_MVKE[] IS INITIAL.
        WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MVKE'.
        EXIT.
      ENDIF.
      LOOP AT I_MARC.
        MOVE-CORRESPONDING I_MARC TO I_OUT.
        CLEAR MARC.
        SELECT SINGLE MATNR MBRSH MEINS MATKL FROM MARA
                          INTO CORRESPONDING FIELDS OF MARA
                          WHERE MATNR = I_OUT-MATNR.
        IF SY-SUBRC = 0.
          MOVE: MARA-MBRSH TO I_OUT-MBRSH,
                MARA-MEINS TO I_OUT-MEINS,
                MARA-MATKL TO I_OUT-MATKL.
        ELSE.
          CONTINUE.
        ENDIF.
        SELECT SINGLE MATNR MAKTX SPRAS FROM MAKT
                        INTO  CORRESPONDING FIELDS OF MAKT
                        WHERE  MATNR = I_OUT-MATNR.
        IF SY-SUBRC = 0.
          MOVE: MAKT-MAKTX TO I_OUT-MAKTX,
                MAKT-SPRAS TO I_OUT-SPRAS.
        ELSE.
          CONTINUE.
        ENDIF.
        LOOP AT I_EKPO WHERE MATNR =  I_MARC-MATNR.
          MOVE: I_EKPO-EBELN TO I_OUT-EBELN,
                I_EKPO-EBELP TO I_OUT-EBELP.
        ENDLOOP.
        LOOP AT I_VBAP WHERE MATNR =  I_MARC-MATNR.
          MOVE: I_VBAP-VBELN TO I_OUT-VBELN,
                I_VBAP-POSNR TO I_OUT-POSNR.
        ENDLOOP.
        LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR.
          MOVE: I_MARD-LABST TO I_OUT-LABST,
                I_MARD-LGORT TO I_OUT-LGORT.
        ENDLOOP.
        LOOP AT I_MVKE WHERE MATNR = I_MARC-MATNR.
          MOVE: I_MVKE-VKORG TO I_OUT-VKORG,
                I_MVKE-VTWEG TO I_OUT-VTWEG.
          APPEND I_OUT.
        ENDLOOP.
        CLEAR I_OUT.
      ENDLOOP.
      PERFORM OPTIONS.
                         FORM  OPTIONS                                *
    FORM OPTIONS.
      IF RB2 = 'X'.
        PERFORM FIELDCAT.
        PERFORM OUTPUT.
      ELSE.
        IF RB1 = 'X'.
          PERFORM HEADINGS.
          PERFORM DLOAD.
        ELSE.
          IF RB3 = 'X'.
            PERFORM HEADINGS.
            PERFORM DLOAD.
            PERFORM FIELDCAT.
            PERFORM OUTPUT.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    "OPTIONS
                         FORM  HEADINGS                               *
    FORM HEADINGS.
      I_HEADING-TEXT1 = 'MATNR'.
      I_HEADING-TEXT2 = 'WERKS'.
      I_HEADING-TEXT3 = 'LVORM'.
      I_HEADING-TEXT4 = 'DISPO'.
      I_HEADING-TEXT5 = 'MBRSH'.
      I_HEADING-TEXT6 = 'MEINS'.
      I_HEADING-TEXT7 = 'MATKL'.
      I_HEADING-TEXT8 = 'VKORG'.
      I_HEADING-TEXT9 = 'VTWEG'.
      I_HEADING-TEXT10 = 'SPRAS'.
      I_HEADING-TEXT11 = 'MAKTX'.
      I_HEADING-TEXT12 = 'LGORT'.
      I_HEADING-TEXT13 = 'LABST'.
      I_HEADING-TEXT14 = 'EBELN'.
      I_HEADING-TEXT15 = 'EBELP'.
      I_HEADING-TEXT16 = 'VBELN'.
      I_HEADING-TEXT17 = 'POSNR'.
      APPEND I_HEADING.
    ENDFORM.                    "HEADINGS
                         FORM  DLOAD                                  *
    FORM DLOAD.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME              = 'C:\MATSTK.XLS'
          FILETYPE              = 'DAT'
          WRITE_FIELD_SEPARATOR = 'X'
        TABLES
          DATA_TAB              = I_HEADING
        EXCEPTIONS
          FILE_WRITE_ERROR      = 1.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME              = 'C:\MATSTK.XLS'
          FILETYPE              = 'DAT'
          APPEND                = 'X'
          WRITE_FIELD_SEPARATOR = 'X'
        TABLES
          DATA_TAB              = I_OUT.
    ENDFORM.                    "DLOAD
                              FORM  FIELDCAT                          *
    FORM FIELDCAT.
      V_FIELDCAT-COL_POS = '1'.
      V_FIELDCAT-FIELDNAME     = 'MATNR'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-HOTSPOT = 'X'.
      V_FIELDCAT-REF_FIELDNAME = 'MATNR'.
      V_FIELDCAT-REF_TABNAME   = 'MARC'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '2'.
      V_FIELDCAT-FIELDNAME     = 'WERKS'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'WERKS'.
      V_FIELDCAT-REF_TABNAME   = 'MARC'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '3'.
      V_FIELDCAT-FIELDNAME     = 'LVORM'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'LVORM'.
      V_FIELDCAT-REF_TABNAME   = 'MARC'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '4'.
      V_FIELDCAT-FIELDNAME     = 'DISPO'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'DISPO'.
      V_FIELDCAT-REF_TABNAME   = 'MARC'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '5'.
      V_FIELDCAT-FIELDNAME     = 'MBRSH'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'MBRSH'.
      V_FIELDCAT-REF_TABNAME   = 'MARA'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '6'.
      V_FIELDCAT-FIELDNAME     = 'MEINS'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'MEINS'.
      V_FIELDCAT-REF_TABNAME   = 'MARA'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '7'.
      V_FIELDCAT-FIELDNAME     = 'MATKL'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'MATKL'.
      V_FIELDCAT-REF_TABNAME   = 'MARA'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '8'.
      V_FIELDCAT-FIELDNAME     = 'VKORG'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'VKORG'.
      V_FIELDCAT-REF_TABNAME   = 'MVKE'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '9'.
      V_FIELDCAT-FIELDNAME     = 'VTWEG'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'VTWEG'.
      V_FIELDCAT-REF_TABNAME   = 'MVKE'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '10'.
      V_FIELDCAT-FIELDNAME     = 'SPRAS'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'SPRAS'.
      V_FIELDCAT-REF_TABNAME   = 'MAKT'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '11'.
      V_FIELDCAT-FIELDNAME     = 'MAKTX'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'MAKTX'.
      V_FIELDCAT-REF_TABNAME   = 'MAKT'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '12'.
      V_FIELDCAT-FIELDNAME     = 'LGORT'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
    V_FIELDCAT-REF_FIELDNAME = 'LGORT'.
    V_FIELDCAT-REF_TABNAME   = 'MARD'.
      V_FIELDCAT-SELTEXT_L = 'STRG LOCT'.
      V_FIELDCAT-OUTPUTLEN = 10.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '13'.
      V_FIELDCAT-FIELDNAME     = 'LABST'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-SELTEXT_M = 'STOCK'.
      V_FIELDCAT-OUTPUTLEN = 15.
    V_FIELDCAT-REF_FIELDNAME = 'LABST'.
    V_FIELDCAT-REF_TABNAME   = 'MARD'.
      V_FIELDCAT-DO_SUM = 'X'.
      V_LAYOUT-TOTALS_TEXT = 'TOTAL STOCK:'.
      V_FIELDCAT-HOTSPOT = 'X'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '14'.
      V_FIELDCAT-FIELDNAME     = 'EBELN'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-HOTSPOT = 'X'.
      V_FIELDCAT-REF_FIELDNAME = 'EBELN'.
      V_FIELDCAT-REF_TABNAME   = 'EKPO'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '15'.
      V_FIELDCAT-FIELDNAME     = 'EBELP'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'EBELP'.
      V_FIELDCAT-REF_TABNAME   = 'EKPO'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '16'.
      V_FIELDCAT-FIELDNAME     = 'VBELN'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-HOTSPOT = 'X'.
      V_FIELDCAT-REF_FIELDNAME = 'VBELN'.
      V_FIELDCAT-REF_TABNAME   = 'VBAP'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '17'.
      V_FIELDCAT-FIELDNAME     = 'POSNR'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'POSNR'.
      V_FIELDCAT-REF_TABNAME   = 'VBAP'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
    ENDFORM.                      "FIELDCAT
                              FORM  OUTPUT                            *
    FORM OUTPUT.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM      = SY-REPID
          I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'
          I_GRID_TITLE = 'CLICK ON MATERIAL/PURDOC/SALESDOC FOR DETAILS'
          I_CALLBACK_USER_COMMAND = 'DISPLAYDETAILS'
          IS_LAYOUT               = V_LAYOUT
          IT_FIELDCAT             = VT_FIELDCAT1
        TABLES
          T_OUTTAB                = I_OUT.
      IF SY-SUBRC <> 0.
      ENDIF.
    ENDFORM.                    "OUTPUT
                            FORM  TOP-OF-PAGE                         *
    FORM TOP-OF-PAGE.
      DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
            WA_HEADER TYPE SLIS_LISTHEADER.
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = 'REPORT FOR : '.
      APPEND WA_HEADER TO T_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'S'.
      WA_HEADER-INFO = 'MATERIAL DETAILS'.
      APPEND WA_HEADER TO T_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'S'.
      WA_HEADER-INFO = 'PURCHASE ORDER DETAILS'.
      APPEND WA_HEADER TO T_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'S'.
      WA_HEADER-INFO = 'SALES ORDER DETAILS'.
      APPEND WA_HEADER TO T_HEADER.
      CLEAR WA_HEADER.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          I_LOGO             = 'GEAR'
          IT_LIST_COMMENTARY = T_HEADER.
    ENDFORM.                    "TOP-OF-PAGE
    *&                  FORM  PURCHASEDATA_VALIDATION                      *
    FORM PURCHASEDATA_VALIDATION.
      SELECT EBELN EBELP MATNR
                 FROM EKPO
                 INTO TABLE I_EKPO
                 FOR ALL ENTRIES IN I_MARC
                 WHERE MATNR = I_MARC-MATNR
                 AND EBELN IN S_EBELN
                 AND WERKS EQ P_WERKS.
      IF I_EKPO[] IS INITIAL.
        WRITE:/ 'NO MATCHING DATA IS SELECTED FROM TABLE EKPO'.
        EXIT.
      ENDIF.
      DATA: T_EKPO LIKE I_EKPO OCCURS 0 WITH HEADER LINE.
      T_EKPO[] = I_EKPO[].
      REFRESH I_EKPO.
      FREE I_EKPO.
      LOOP AT T_EKPO.
        SELECT SINGLE EBELN FROM EKKO INTO EKPO-EBELN
        WHERE EBELN = T_EKPO-EBELN.
        IF SY-SUBRC = 0.
          MOVE-CORRESPONDING T_EKPO TO I_EKPO.
          APPEND I_EKPO.
          CLEAR I_EKPO.
        ELSE.
          CONTINUE.
        ENDIF.
      ENDLOOP.
      SORT I_EKPO.
    ENDFORM.                    "PURCHASEDATA_VALIDATION
    *&                  FORM  SALESDATA_VALIDATION                         *
    FORM SALESDATA_VALIDATION.
      SELECT VBELN POSNR MATNR
              FROM VBAP
              INTO CORRESPONDING FIELDS OF TABLE
              I_VBAP FOR ALL ENTRIES IN I_MARC
              WHERE MATNR = I_MARC-MATNR.
      DATA: T_VBAP LIKE I_VBAP OCCURS 0 WITH HEADER LINE.
      T_VBAP[] = I_VBAP[].
      REFRESH I_VBAP.
      FREE I_VBAP.
      LOOP AT T_VBAP.
        SELECT SINGLE VBELN FROM VBAK INTO VBAK-VBELN
        WHERE VBELN = T_VBAP-VBELN.
        IF SY-SUBRC = 0.
          MOVE-CORRESPONDING T_VBAP TO I_VBAP.
          APPEND I_VBAP.
          CLEAR I_VBAP.
        ELSE.
          CONTINUE.
        ENDIF.
      ENDLOOP.
      SORT I_VBAP.
    ENDFORM.                    "SALESDATA_VALIDATION

  • Problem in F4 help in ALV Grid

    Hi All,
        Structure of my internal table is :-
      TYPES : BEGIN OF t_webtech,
              chk          TYPE char01,
              uname        TYPE uname,
              werks        TYPE ewerks,
              req_typ      TYPE zreqtyp,
             cost_cen     TYPE kostl,
              work_cen     TYPE kostl,
              general_cen  TYPE kostl,
              aufnr        TYPE aufnr,
              proj_wbs     TYPE ps_posnr,
              addrnumber   TYPE ad_addrnum,
              orig_row     TYPE i,
              ins_check    TYPE char01,
              celltab TYPE lvc_t_styl, "Table to edit
            END OF t_webtech.
    and fieldcatalog is like :-
    lv_pos = lv_pos + 1.
        ls_fcat-edit      = 'X'.
        ls_fcat-tabname   = 'IT_TECH'.
        ls_fcat-fieldname = 'COST_CEN'.
        ls_fcat-coltext   = 'Department'.
        ls_fcat-col_pos   = lv_pos.
        ls_fcat-outputlen = 20.
        ls_fcat-col_opt   = 'X'.
        ls_fcat-ref_field = 'KOSTL'.
        ls_fcat-ref_table = 'CSKS'.
        APPEND ls_fcat TO pt_fcat.
        CLEAR ls_fcat.
        lv_pos = lv_pos + 1.
        ls_fcat-edit      = 'X'.
        ls_fcat-tabname   = 'IT_TECH'.
        ls_fcat-fieldname = 'WORK_CEN'.
        ls_fcat-coltext   = 'Workcenter'.
        ls_fcat-col_pos   = lv_pos.
        ls_fcat-outputlen = 20.
        ls_fcat-col_opt   = 'X'.
        ls_fcat-ref_field = 'KOSTL'.
        ls_fcat-ref_table = 'CSKS'.
        APPEND ls_fcat TO pt_fcat.
        CLEAR ls_fcat.
    now the problem is  i am able to see F4 help in grid but once i click on it (F4 on cell) its giving dump.
    anybody know's where is the problem?
    Thanks & Regards,
    Ruchi Tiwari

    Hi,
    Check whether you are passing the correct 'Field name' and proper content to the F4 help function module.
    I guess the problem lies with the F4-help FM called.
    Regards,
    Rajesh

  • Problem with 'BACK' option for ALV grid

    Hi Friends,
    I'm using FM, REUSE_ALV_GRID_DISPLAY in my report.
    Once I got an ALV output, when I press the BACK button,
    it's going to blank sceen again when I press BACK am getting selection screen.
    From output am not able to goto the selection screen. Kindly suggest on this issue.
    Thanks in advance.
    Regards,
    Bharat.

    Hi,
    I don't have write statement anywhere in my prog.
    pls refer to the code.
    REPORT  ZCDC_TRACKING_REPORT no standard page heading message-id zz1
    tables:vbak,
           vbap,
           vbkd,
           vtfa,
           vbfa,
           vtrkh,
           vttk.
    TYPE-POOLS: SLIS.                      "Field catalog structure
    DATA: FCATALOG TYPE SLIS_FIELDCAT_ALV OCCURS 30.
    DATA: FZEILE   TYPE SLIS_FIELDCAT_ALV OCCURS 30 with header line.
    data:w_disp_variant TYPE disvariant,
         s_alv_layout   type slis_layout_alv.
    DATA: W_REPID     LIKE SY-REPID,
          W_SUBRC     LIKE SY-SUBRC,
          W_LOOPCOUNT LIKE SY-TABIX,
          W_LINES     TYPE I,
          IS_VARIANT  LIKE DISVARIANT,
          GS_LAYOUT   TYPE SLIS_LAYOUT_ALV.
    *Internal table declaration.
    data: begin of i_vbak occurs 0,
          vbeln like vbak-vbeln,
          kunnr like vbak-kunnr,
          bstnk like vbak-bstnk,
          end of i_vbak.
    data: begin of i_vbfa occurs 0,
          vbeln like vbfa-vbeln,
          vbelv like vbfa-vbelv,
          end of i_vbfa.
    data: begin of i_vtfa occurs 0,
          tknum like vtfa-tknum,
          vbeln like vbak-vbeln,
          end of i_vtfa.
    data: begin of i_vttp occurs 0,
          tknum like vtfa-tknum,
          vbeln like vbak-vbeln,
          end of i_vttp.
    data: begin of i_vttk occurs 0,
          tknum like vtfa-tknum,
          vsart like vttk-vsart,
          dtabf like vttk-dtabf,
          tdlnr like vttk-tdlnr,
          TNDR_TRKID like vttk-TNDR_TRKID,
          end of i_vttk.
    data: begin of i_final occurs 0,
          kunnr like vbak-kunnr,
          name1 like kna1-name1,
          vbeln like vbak-vbeln,
          bstkd like vbkd-bstkd,
          dtabf like vttk-dtabf,
          tdlnr like vttk-tdlnr,
          TNDR_TRKID like vttk-TNDR_TRKID,
          end of i_final,
          wa_final like i_final.
    data: v_name1 like kna1-name1,
          v_trackno like vtrkh-trackn.
    **selection-screen.
    SELECTION-SCREEN begin of block b1 with frame.
    parameters: R1 RADIOBUTTON GROUP rad1 DEFAULT 'X'.
    parameters: p_vbeln like vbak-vbeln,
                p_bstkd like vbkd-bstkd.
    SKIP.
    SKIP.
    *SELECTION-SCREEN end of block b1.
    *SELECTION-SCREEN begin of block b2.
    parameters: R2 RADIOBUTTON GROUP rad1.
    select-options: s_kunnr for vbak-kunnr.
    select-options: s_dtabf for VTTK-DTABF.
    SELECTION-SCREEN end of block b1.
    SELECTION-SCREEN begin of block b2 with frame.
    parameters: P_track RADIOBUTTON GROUP rad2 default 'X',
                P_car RADIOBUTTON GROUP rad2,
                P_both RADIOBUTTON GROUP rad2.
    SELECTION-SCREEN end of block b2.
    **Initialization.
    Initialization.
      MOVE SY-REPID TO W_REPID.
    *At selection-screen.
    At selection-screen.
    if R1 eq 'X'.
       if p_vbeln eq ' ' and p_bstkd eq ' '.
         message e000(zz1) with 'Please enter either PO # or SO #'.
       endif.
    elseif R2 eq 'X'.
      if ( s_kunnr-low is initial and  s_kunnr-high is initial ) and
         ( s_dtabf-low is initial and  s_dtabf-high is initial )  .
         message e000(zz1) with 'Please limit your selection criteria, this'
                             'cannot run without a Customer # & Date range'.
      endif.
    endif.
    **start-of-selection.
    start-of-selection.
    **if option foreground is selected
    IF R1 eq 'X'.
    **step1 select data from VBAK,VBKD
    **step2 select data from VTTK
      perform get_data_foreground.
    Perform process_data.
    elseif R2 eq 'X'.
    **if option Batch processing selected
    **select data from KNA1,VBAK,VTTKelseif R2 eq 'X'.
      perform get_data_batch_processing.
    endif.
      Perform process_data.
    end-of-selection.
    *&      Form  get_data_foreground
          text
    -->  p1        text
    <--  p2        text
    form get_data_foreground .
    if p_vbeln ne ' ' and p_bstkd ne ' '.
    select vbeln
           kunnr
           bstnk
           from vbak into table i_vbak
           where vbeln eq p_vbeln
             and bstnk eq p_bstkd.
    elseif p_vbeln eq ' ' .
    select vbeln
           kunnr
           bstnk
           from vbak into table i_vbak
           where bstnk eq p_bstkd.
    elseif p_bstkd eq ' '.
    select vbeln
           kunnr
           bstnk
           from vbak into table i_vbak
           where vbeln eq p_vbeln.
    endif.
    **Get data from VBFA
      if not i_vbak[] is initial.
       select vbeln
              vbelv from VBFA into table i_vbfa
              for all entries in i_vbak
              where vbelv = i_vbak-vbeln
                and vbtyp_n = 'J'.
      endif.
    **select data from VTTP
      if not i_vbfa[] is initial.
       select tknum
              vbeln
              from vttp into table i_vttp
              for all entries in i_vbfa
              where vbeln = i_vbfa-vbeln.
      endif.
    *select data from VTTK
    if not i_vttp[] is initial.
       select  tknum
               vsart
               dtabf
               tdlnr
               TNDR_TRKID  from vttk into table i_vttk
               for all entries in i_vttp
               where tknum eq i_vttp-tknum.
    endif.
    **select data from VTFA
    if not i_vbak[] is initial.
      select tknum
             vbeln
             from vtfa into table i_vtfa
             for all entries in i_vbak
             where vbeln = i_vbak-vbeln.
    endif.
    *select data from VTTK
    if not i_vtfa[] is initial.
      select  tknum
              dtabf
              tdlnr
              TNDR_TRKID  from vttk into table i_vttk
              for all entries in i_vtfa
              where tknum eq i_vtfa-tknum.
    endif.
    endform.                    " get_data_foreground
    *&      Form  get_data_batch_processing
          text
    -->  p1        text
    <--  p2        text
    form get_data_batch_processing .
    select vbeln
           kunnr
           bstnk
           from vbak into table i_vbak
           where kunnr in s_kunnr.
    **Get data from VBFA
      if not i_vbak[] is initial.
       select vbeln from VBFA into table i_vbfa
              for all entries in i_vbak
              where vbelv = i_vbak-vbeln
                and vbtyp_n = 'J'.
      endif.
    **select data from VTTP
      if not i_vbfa[] is initial.
       select tknum
              vbeln
              from vttp into table i_vttp
              for all entries in i_vbfa
              where vbeln = i_vbfa-vbeln.
      endif.
    *select data from VTTK
    if not i_vttp[] is initial.
       select  tknum
               vsart
               dtabf
               tdlnr
               TNDR_TRKID  from vttk into table i_vttk
               for all entries in i_vttp
               where tknum eq i_vttp-tknum
                 and dtabf eq s_dtabf.
    endif.
    **select data from VTFA
    if not i_vbak[] is initial.
      select tknum
             vbeln
             from vtfa into table i_vtfa
             for all entries in i_vbak
             where vbeln = i_vbak-vbeln.
    endif.
    **select data from VTTK
    if not i_vtfa[] is initial.
      select  tknum
              dtabf
              tdlnr
              TNDR_TRKID  from vttk into table i_vttk
              for all entries in i_vtfa
              where tknum eq i_vtfa-tknum
                and dtabf eq s_dtabf.
    endif.
    endform.                    " get_data_batch_processing
    *&      Form  process_data
          text
    -->  p1        text
    <--  p2        text
    form process_data .
    **loop processing
    loop at i_vbak.
       wa_final-vbeln = i_vbak-vbeln.
       wa_final-bstkd = i_vbak-bstnk.
       wa_final-kunnr = i_vbak-kunnr.
       select single name1 into v_name1
                           from kna1
                           where kunnr eq wa_final-kunnr.
       if sy-subrc eq 0.
         wa_final-name1 = v_name1.
       endif.
      read table i_vbfa with key vbelv = i_vbak-vbeln.
      if sy-subrc eq 0.
         read table i_vttp with key vbeln = i_vbfa-vbeln.
         if sy-subrc eq 0.
            read table i_vttk with key tknum = i_vttp-tknum.
             if sy-subrc eq 0.
                wa_final-dtabf = i_vttk-dtabf.
                if p_track eq 'X'.
                   if i_vttk-vsart = 'LTL'.
                      wa_final-TNDR_TRKID = i_vttk-TNDR_TRKID.
                   else.
                     select single trackn from VTRKH into v_trackno
                                      where uevbeln = i_vbfa-vbeln
                                        and uevbtyp = 'J'
                                        and vbtyp   = 'X'.
                       if sy-subrc eq 0.
                        wa_final-TNDR_TRKID = v_trackno.
                       endif.
                   endif.
                elseif P_car eq 'X'.
                   wa_final-tdlnr = i_vttk-tdlnr.
                else.
                   wa_final-tdlnr = i_vttk-tdlnr.
                   if i_vttk-vsart = 'LTL'.
                      wa_final-TNDR_TRKID = i_vttk-TNDR_TRKID.
                   else.
                     select single trackn from VTRKH into v_trackno
                                      where uevbeln = i_vbfa-vbeln
                                        and uevbtyp = 'J'
                                        and vbtyp   = 'X'.
                       if sy-subrc eq 0.
                        wa_final-TNDR_TRKID = v_trackno.
                       endif.
                   endif.
                endif.
             endif.
          endif.
      endif.
      append wa_final to i_final.
      clear : i_final, wa_final,i_vbak,i_vbfa,i_vttp, i_vttk,v_name1.
    endloop.
    IF R1 eq 'X'.
      PERFORM FIELDCATALOG.
      PERFORM LAYOUT_BUILD CHANGING GS_LAYOUT.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
             I_CALLBACK_PROGRAM       = W_REPID
             IS_LAYOUT                = GS_LAYOUT
             IT_FIELDCAT              = FCATALOG
            TABLES
                 T_OUTTAB             = i_final
            EXCEPTIONS
                 PROGRAM_ERROR        = 1
                 OTHERS               = 2.
    else.
      PERFORM BACKGROUND_JOB.
    **Transfer of data into Application server
    OPEN DATASET P_PFILE for output IN TEXT MODE encoding DEFAULT .
      if sy-subrc eq 0.
          loop at itab.
         transfer itab to p_pfile.
        endloop.
      else.
       message e000(zz1) with p_pfile.
      endif.
    CLOSE dataset p_pfile.
    endif.
    endform.                    " process_data
    *&      Form  FIELDCATALOG
          text
    -->  p1        text
    <--  p2        text
    form FIELDCATALOG .
      DATA: L_FIELDNO LIKE SY-TABIX.
      L_FIELDNO = 1.
    **Cust. Number
      CLEAR FZEILE.
      FZEILE-COL_POS    = L_FIELDNO.
      L_FIELDNO         = L_FIELDNO + 1.
      FZEILE-FIELDNAME  = 'KUNNR'.
      FZEILE-DATATYPE   = 'CHAR'.
      FZEILE-OUTPUTLEN  = 15.
      FZEILE-SELTEXT_L  = 'Customer' .
      FZEILE-LOWERCASE  = 'X'.
      FZEILE-SP_GROUP   = 'A'.
      FZEILE-KEY = 'X'.
      FZEILE-DDICTXT       = 'M'.          " medium text
      APPEND FZEILE TO FCATALOG.
    **Customer name
      CLEAR FZEILE.
      FZEILE-COL_POS    = L_FIELDNO.
      L_FIELDNO         = L_FIELDNO + 1.
      FZEILE-FIELDNAME  = 'NAME1'.
      FZEILE-DATATYPE   = 'CHAR'.
      FZEILE-OUTPUTLEN  = 35.
      FZEILE-SELTEXT_L  = 'Customer Name' .
      FZEILE-LOWERCASE  = 'X'.
      FZEILE-SP_GROUP   = 'A'.
      FZEILE-KEY = 'X'.
      FZEILE-DDICTXT       = 'M'.          " medium text
      APPEND FZEILE TO FCATALOG.
    **Sales order
      CLEAR FZEILE.
      FZEILE-COL_POS    = L_FIELDNO.
      L_FIELDNO         = L_FIELDNO + 1.
      FZEILE-FIELDNAME  = 'VBELN'.
      FZEILE-DATATYPE   = 'CHAR'.
      FZEILE-OUTPUTLEN  = 10.
      FZEILE-SELTEXT_L  = 'Sales order' .
      FZEILE-LOWERCASE  = 'X'.
      FZEILE-SP_GROUP   = 'A'.
      FZEILE-KEY = 'X'.
      FZEILE-DDICTXT       = 'M'.          " medium text
      APPEND FZEILE TO FCATALOG.
    **Custmoer PO
      CLEAR FZEILE.
      FZEILE-COL_POS    = L_FIELDNO.
      L_FIELDNO         = L_FIELDNO + 1.
      FZEILE-FIELDNAME  = 'BSTKD'.
      FZEILE-DATATYPE   = 'CHAR'.
      FZEILE-OUTPUTLEN  = 30.
      FZEILE-SELTEXT_L  = 'Custmoer PO' .
      FZEILE-LOWERCASE  = 'X'.
      FZEILE-SP_GROUP   = 'A'.
      FZEILE-KEY = 'X'.
      FZEILE-DDICTXT       = 'M'.          " medium text
      APPEND FZEILE TO FCATALOG.
    **Date shipped
      CLEAR FZEILE.
      FZEILE-COL_POS    = L_FIELDNO.
      L_FIELDNO         = L_FIELDNO + 1.
      FZEILE-FIELDNAME  = 'DTABF'.
      FZEILE-DATATYPE   = 'CHAR'.
      FZEILE-OUTPUTLEN  = 15.
      FZEILE-SELTEXT_L  = 'Date shipped' .
      FZEILE-LOWERCASE  = 'X'.
      FZEILE-SP_GROUP   = 'A'.
      FZEILE-KEY = 'X'.
      FZEILE-DDICTXT       = 'M'.          " medium text
      APPEND FZEILE TO FCATALOG.
    **Carrier
      CLEAR FZEILE.
      FZEILE-COL_POS    = L_FIELDNO.
      L_FIELDNO         = L_FIELDNO + 1.
      FZEILE-FIELDNAME  = 'TDLNR'.
      FZEILE-DATATYPE   = 'CHAR'.
      FZEILE-OUTPUTLEN  = 15.
      FZEILE-SELTEXT_L  = 'Carrier' .
      FZEILE-LOWERCASE  = 'X'.
      FZEILE-SP_GROUP   = 'A'.
      FZEILE-KEY = 'X'.
      FZEILE-DDICTXT       = 'M'.          " medium text
      APPEND FZEILE TO FCATALOG.
    **Tracking/Pro #
      CLEAR FZEILE.
      FZEILE-COL_POS    = L_FIELDNO.
      L_FIELDNO         = L_FIELDNO + 1.
      FZEILE-FIELDNAME  = 'TNDR_TRKID'.
      FZEILE-DATATYPE   = 'CHAR'.
      FZEILE-OUTPUTLEN  = 15.
      FZEILE-SELTEXT_L  = 'Tracking/Pro#' .
      FZEILE-LOWERCASE  = 'X'.
      FZEILE-SP_GROUP   = 'A'.
      FZEILE-KEY = 'X'.
      FZEILE-DDICTXT       = 'M'.          " medium text
      APPEND FZEILE TO FCATALOG.
      CLEAR FZEILE.
    endform.                    " FIELDCATALOG
    *&      Form  LAYOUT_BUILD
          text
         <--P_GS_LAYOUT  text
    form LAYOUT_BUILD  changing p_gs_layout TYPE SLIS_LAYOUT_ALV.
      CLEAR P_GS_LAYOUT.
      P_GS_LAYOUT-ZEBRA            = 'X'.
      P_GS_LAYOUT-BOX_FIELDNAME    = SPACE.
      P_GS_LAYOUT-MAX_LINESIZE     = 250.
    endform.                    " LAYOUT_BUILD
    *&      Form  BACKGROUND_JOB
          text
    -->  p1        text
    <--  p2        text
    form BACKGROUND_JOB .
    DATA: JOB_NAME         LIKE TBTCO-JOBNAME,
    JOB_NR           LIKE TBTCO-JOBCOUNT,
    JOB_RELEASED     TYPE C,
    JOB_START_SOFORT TYPE C.
    DATA: TITEL(15) TYPE C,
    TEXT1(35) TYPE C,
    TEXT2(40) TYPE C,
    ANSWER    TYPE C.
    DATA: PARAMS    LIKE PRI_PARAMS,
    VALID     TYPE C.
    JOB_NAME = SYST-REPID.
    CALL FUNCTION 'JOB_OPEN'
    EXPORTING
    JOBNAME          = JOB_NAME
    IMPORTING
    JOBCOUNT         = JOB_NR
    EXCEPTIONS
    CANT_CREATE_JOB  = 1
    INVALID_JOB_DATA = 2
    JOBNAME_MISSING  = 3
    OTHERS           = 4.
    IF SYST-SUBRC NE 0.
    MESSAGE I162(00) WITH
    'An error occured while creating the background job.'.
    STOP.
    ELSE.
    *set print parameters to output any errors to spool...
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
    IMMEDIATELY            = ' '
    MODE                   = 'BATCH'
    NO_DIALOG              = 'X'
    RELEASE                = 'X'
    NEW_LIST_ID            = 'X'
    LINE_SIZE              = SY-LINSZ
    *LIST_NAME              = 'RBE'
    LIST_TEXT              = 'Extract Results'
    IMPORTING
    OUT_PARAMETERS         = PARAMS
    VALID                  = VALID
    EXCEPTIONS
    ARCHIVE_INFO_NOT_FOUND = 1
    INVALID_PRINT_PARAMS   = 2
    INVALID_ARCHIVE_PARAMS = 3
    OTHERS                 = 4.
    IF VALID NE SPACE.
    *submit job with all the selection screen params...
    SUBMIT (JOB_NAME) USER SYST-UNAME
    VIA JOB JOB_NAME NUMBER JOB_NR
    *WITH CLIENT   = CLIENT
    *WITH MONIFROM = MONIFROM
    *WITH MONI_TO  = MONI_TO
    *WITH TQ_FROM  = TQ_FROM
    *WITH TQ_TO    = TQ_TO
    *WITH WORKLOAD = WORKLOAD
    *WITH ALL      = ALL
    *WITH SPL1     = SPL1
    *WITH APPSERV1 = APPSERV1
    *WITH SPOOLNR  = SPOOLNR
    *WITH APPPATH1 = APPPATH1
    *WITH PCPATH   = PCPATH
    *WITH SPL2     = SPL2
    *WITH APPSERV2 = APPSERV2
    TO SAP-SPOOL SPOOL PARAMETERS PARAMS
    WITHOUT SPOOL DYNPRO
    AND RETURN.
    IF SYST-SUBRC <> 0.
    CASE SYST-SUBRC.
    WHEN  4.
    MESSAGE I162(00) WITH
    'Error defining background job!'
    ' Background job canceled by User.'.
    WHEN 8.
    MESSAGE I162(00) WITH
    'Error defining background job!'
    ' Error in job scheduling (JOB_SUBMIT)'.
    WHEN 12.
    MESSAGE I162(00) WITH
    'Error defining background job!'
    ' Error in internal number assignment'.
    ENDCASE.
    ENDIF.
    endif.
    endif.
    endform.                    " BACKGROUND_JOB

  • How to merge rows with similar values in alv grid display in webdynpro

    Hi experts,
                   i want to know about how to merge rows with similar values in alv grid display of webdynpro.grouping rows is possible in table display in webdynpro but i am not able to do row grouping in the alv grid display in webdynpro.
    kindly suggest.
    thanks ,
    Anita.

    Hi Anita,
    did you find a solution for this? I have opened a Thread, if you know the answer maybe you could help me out:
    Is there an ALV function similar to the TABLE Row grouping?
    Thanx in advanced!!!
    Kind Regards,
    Gerardo J

  • F4 help in ALV grid using existing search help

    Hi All,
    It would be appreciable , if some help on problem. Thanks in advance.
    How to provide user defined F4 help in ALV grid using existing search help?
    ALV grid has developed using OOPS concept.
    Thanks,
    Sudhakar.

    Hi,
    if you already developed using OO concept, it should be possible to:
    create a handler for event ONF4
    The interface will tell you actual field name and value where F4 is pressed. This will enable you to call your own routine (see FM F4-IF....).
    Please check how the standard handles F4  - if you have standard and customer-F4 mixed you shouldtake care that the standard handling is triggered.
    Regards,
    Clemens

  • F4 help in ALV Grid Control (using classes)

    Hi All,
        I have created a report using ALV Grid control (using classes). I need to provide F4 help for some of the fields in the Grid control.  I couldn't understand the standard demo program BCALV_GRID_F4_HELP. So Can anyone please provide me sample code for the same.
    Regards
    Jaker.

    hi check this..programs also
    BCALV_GRID_EDIT_DELTA
    BCALV_TEST_GRID_F4_HELP
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/how%2bto%2bimplement%2bf4%2bsearch%2bhelp%2bin%2boo%2balv%2bgrid
    Struggling with f4 handling in ALV grid - Minisap 46D
    regards,
    venkat

  • How to get f4 help in alv grid in container-urgent

    hi,
    how to get f4 help in alv grid in container using abap objects
    ganesh

    Hi Ganesh,
    Did you have a look at sample report BCALV_TEST_GRID_F4_HELP ?
    Here is part of the header documentation:
    *& Report  BCALV_GRID_F4_HELP                                          *
    Purpose:
    ~~~~~~~~
    This report illustrates the use of f4-Help in an alv grid control.
    Background:
    ~~~~~~~~~~~
    There a two possibilities to implement an f4-Help in the alv grid
    control: one can either use standard f4-help or write one by Hand.
    For the former there is nothing to do at all. This report shows how
    to implement user-defined f4-help.
    I am sure you will find within this report the solution you are looking for.
    Reward points if this Helps.
    Manish

  • Editable field with F4 help in alv tree output using cl_gui_alv_tree

    HI
    i need Editable field with F4 help in alv tree output using cl_gui_alv_tree
    Regards
    Naresh

    Hi Naresh,
    Pass the field catalog with the additional parameter (ls_fcat-edit = 'X'.).
    for F4 help if the data element have the search help it automatically will come. other wise include the additional parameter in the field catalog (ls_fcat-F4AVAILABL = 'X')
    Reward if found helpful.
    Regards,
    Boobalan Suburaj

  • I can't delete my bt emails or move them to folders, other emails from tiscali no problem with, anyone help please

    I can't delete my bt emails or move them to folders, other emails from tiscali no problem with, anyone help please

    I did that and it is currently whirring away, had over 16000 emails as everything got imported when I set emails up (only had this computer 5 days). So will see what happens when it stops doing whatever it is doing. Sorry if I appear stupid but first Mac I have owned so everything a bit new. Have managed to get most things working correctly just can't sort this BT email problem out. Will report back later!

  • F4 Help in ALV GRID class based

    hi
    you have any idea about how to invoke the F4 help in ALV GRID Class based program.,
    if u have any other related document or program using F4 function in ALV GRId please send to me for reference
    Thanks & Regards
    K.G

    hi for what kind of fields you need to give f4.
    are they std or custom...
    please let me know about the fields..
    try to check my logic which i gave in the below post..
    it will give f4 help to the fields(if thet are standard table fieldS)
    Message was edited by: Vijay Babu Dudla

  • ITunes has stopped working.  Problem with iTunes Helper Module

    After i installed the 7.3.1 iTUNES update for my windows VISTA, i keep getting iTunes has stopped working, and a message saying there is a problem with iTunes Helper Module.. I've tried to re-install and everything.. Can anyone help me out?

    here you go
    Problem signature
    Problem Event Name: APPCRASH
    Application Name: iTunesHelper.exe
    Application Version: 7.3.1.3
    Application Timestamp: 468d67e8
    Fault Module Name: QuickTimeStreamingAuthoring.qtx
    Fault Module Version: 7.2.0.240
    Fault Module Timestamp: 4684a83a
    Exception Code: c0000005
    Exception Offset: 00016c09
    OS Version: 6.0.6000.2.0.0.768.3
    Locale ID: 1033
    Additional Information 1: 18fe
    Additional Information 2: f42ba5cd8b2ed31f18b99a5ea46137af
    Additional Information 3: 4735
    Additional Information 4: ae0a749503b699b3b75d581a3dbfd557
    Extra information about the problem
    Bucket ID: 466198587

  • Search Help In ALV Grid

    What is shortest way to attach particular Search Help in ALV grid using OOPS ?

    Thanks Gurpreet,
    Through search helps attached to data element it is possible but is there any other way to attach searchhelp differet from from the search help attached to the data element ? The new search-elp is not customized search help as given in the above threads ?
    Eg. - If I want to attach MAT2 to a field named MATNR in the table instead of the MAT1 which is standard.
    Thanks in advance

Maybe you are looking for

  • Scanning Multiple Pages using HP ENVY 4500

    Hi, I have a macbook pro running OSX 10.9.4, and cannot see how I can scan multiple pages.  I have tried using Image Capture and the Scan function under system preferences.  I place the first page on the glass and change format to pdf and check the b

  • Customer downpayment for sale order

    Hi, we have a situation where customer will give an advance amount for a sale order. the same will be recorded with Spl GL indicator. now the users have to manually select those sales orders while clearing the advance payment. but due to compulsion t

  • Getting all of my iTunes library onto my external hard-drive

    Hey, I've recently noticed that my MacBook (now called a McBook pro?) is running slightly slower than usual. I have the majority of my music stored on an external hard-drive, but anything that I've downloaded looks to be stored on my MacBook's intern

  • Photoshop CS6 problems in Mavericks

    Hi, Ever since I updated my Mac to Mavericks, Photoshop CS6 started freezing at random intervals, and it's making it really hard to work like this. Please, release an update that fixes whatever is causing this. Thank you

  • Errors when installing CS5 Master

    I am trying to install Adobe CS5 Master Suite and all programs except Illustrator, Fireworks, Flash, and a couple more have error messages and won't download.  Please Help!