Dynamic selection in ALV report

Hi Guru's
I have cpoied a standatrd program(RFBILA00) into Z-program.
I need to display the profit centre from dynamic selection in ALV header  output when profit centre is selected.If not no need to display it.
Please do the needful.
Thanks,
Sunil.

hi,
Refer to the link,
http://www.abapcode.info/2007/06/dynamic-selection-on-alv-at-run-time.html
This may help you.
Regards
Sumit Aagrwal

Similar Messages

  • To increase dynamically columns in ALV report

    hi everyone,
    Could any one give me a sample code ,to increase columns in ALV report output dynamically as record increase, i need to increase columns so that i can keep all the years data of a particular project in one row

    Please refer to the code piece
    *& Report  ZTEST_DYNAMIC_ALV
    REPORT  ztest_dynamic_alv.
    DATA: gt_fcat TYPE lvc_t_fcat,
          gw_grid TYPE REF TO cl_gui_alv_grid.
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01.
    PARAMETERS: p_number TYPE i.
    SELECTION-SCREEN : END OF BLOCK b1.
    ** Start of Selection
    START-OF-SELECTION.
    *1) Create Base Catalog
      PERFORM sub_create_base_catalog.
    *2) Add additional fields
      PERFORM sub_fill_addtional.
    *3) Display output data.
      PERFORM sub_display_output.
    *&      Form  SUB_CREATE_BASE_CATALOG
    *       Create Base catalog for display
    FORM sub_create_base_catalog .
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name       = 'ZSTRCT'
        CHANGING
          ct_fieldcat            = gt_fcat
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
    ENDFORM.                    " SUB_CREATE_BASE_CATALOG
    *&      Form  SUB_FILL_ADDTIONAL
    *       text
    FORM sub_fill_addtional .
      DATA: lw_fcat  TYPE lvc_s_fcat,
            lw_from  TYPE i,
            lw_data  TYPE REF TO data,
            lw_fname TYPE stfna,
            lw_index(2) TYPE n.
      FIELD-SYMBOLS: <l_output> TYPE table.
      DESCRIBE TABLE gt_fcat LINES lw_from.
      DO p_number TIMES.
        lw_from = lw_from + 1.
        lw_index = sy-index.
        CONCATENATE 'DYNA' lw_index INTO lw_fname SEPARATED BY '-'.
        lw_fcat-col_pos = lw_from.
        lw_fcat-fieldname = lw_fname.
        lw_fcat-tabname = '1'.
       lw_fcat-scrtext_l = lw_fcat-scrtext_m = lw_fcat-scrtext_s = lw_fname.
        APPEND lw_fcat TO gt_fcat.
        CLEAR lw_fcat.
      ENDDO.
    ** Convert gt_fcat to internal table.
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog           = gt_fcat
        IMPORTING
          ep_table                  = lw_data
        EXCEPTIONS
          generate_subpool_dir_full = 1
          OTHERS                    = 2.
      IF sy-subrc = 0.
    ** Create the internal table form field catalog.
        ASSIGN lw_data->* TO <l_output>.
    ** display the ALV data.
        CREATE OBJECT gw_grid
          EXPORTING
            i_parent          = cl_gui_container=>screen0
          EXCEPTIONS
            error_cntl_create = 1
            error_cntl_init   = 2
            error_cntl_link   = 3
            error_dp_create   = 4
            OTHERS            = 5.
        IF sy-subrc = 0.
          CALL METHOD gw_grid->set_table_for_first_display
            CHANGING
              it_outtab                     = <l_output>
              it_fieldcatalog               = gt_fcat
            EXCEPTIONS
              invalid_parameter_combination = 1
              program_error                 = 2
              too_many_lines                = 3
              OTHERS                        = 4.
          IF sy-subrc = 0.
            MESSAGE s000(zrak) WITH p_number 'DISPLAYED DYNAMICALLY'.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " SUB_FILL_ADDTIONAL
    *&      Form  SUB_DISPLAY_OUTPUT
    *       text
    FORM sub_display_output .
      CALL SCREEN '9001'.
    ENDFORM.                    " SUB_DISPLAY_OUTPUT
    *&      Module  STATUS_9001  OUTPUT
    *       text
    MODULE status_9001 OUTPUT.
      SET PF-STATUS ' '.
      SET TITLEBAR 'MAIN00'.
    ENDMODULE.                 " STATUS_9001  OUTPUT
    *&      Module  USER_COMMAND_9001  INPUT
    *       text
    MODULE user_command_9001 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK' OR
             'CANC' OR
             '%EX'.
          SET SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9001  INPUT

  • TOP-OF-PAGE During line-selection in alv report

    Hi Expart
    In intractive Alv report u using top-of-page during line-selection . If u using so u give me one example with codeing .
    Regards
    Bhabani

    Hi,
    try this code...
    *& Report  ZCS_PRG8
    REPORT  Z_SJALV__PRG8.
    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
    EXCEPTIONS
       LIST_TYPE_WRONG       = 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.                    "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 IT_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_PF_STATUS_SET          = ' '
         I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
         I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
         I_GRID_TITLE                      = I_TITLE_EKKO
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         = ALV_LAYOUT
         IT_FIELDCAT                       = I_FIELDCAT[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
        i_default                         = 'ZLAY1'
         I_SAVE                            = 'A'
        is_variant                        = i_variant
         IT_EVENTS                         = V_EVENTS
        TABLES
          T_OUTTAB                          = IT_EKKO
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "display_alv_report
    *&      Form  TOP_OF_PAGE
          text
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = IT_LISTHEADER
       i_logo                   =
       I_END_OF_LIST_GRID       =
    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
    EXCEPTIONS
      LIST_TYPE_WRONG       = 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.                    "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
       i_logo                   =
       I_END_OF_LIST_GRID       =
    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_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = V_REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'
       I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
       I_GRID_TITLE                      = I_TITLE_EKPO
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = I_FIELDCAT[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         =
       I_SAVE                            = 'A'
      IS_VARIANT                        =
       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.
    reward if helpful
    regards
    Shashi

  • Dynamic selection button on report RCATS_APPROVE_ACTIVITIES

    Hi,
    I made a copy of the program RCATS_APPROVE_ACTIVITIES with all its components, and the dynamic selection button on the selection screen doesn't work like the standard.
    In my researches, I found that the dynamic selection that the standard program uses is associated to the logical database 'PNP', but the logical database that the programs uses is 'PNPCE', and that's the dynamic selection that my program copy is showing.
    Does any one have an idea how this happens and how to solve?
    Thanks.
    Sónia

    Hi Sonia,
    You program is using dynamic selection screen which actually is the selection screen of your logical database. You can see that thru tcode SE36-> PNP->click on selection check box. You will see the code of selection screen. This selection screen is called in standard program and since you have copied the standard program, your program is also showing the same selection screen. LDB can be called in standard program thru Function module LDB_PROCESS.
    In case you want to remove some of the selection screen fields of LDB from your report, you can do so in the
    'at selection-screen output' event by looping at the selection screen variables and stopping unwanted fields from display.
    You need to check the group name and the field name of the fields you want to disable and use it in the below code accordingly.
    e.g.
    at selection-screen output.
    loop at screen.
    if screen-group2 = 'DBS'.
          screen-active    = 0.
          screen-invisible = 1.
    endif.
    modify screen.
    endloop.
    Cheers,
    Vikram
    Please reward for the helpful replies!!

  • Dynamic Select List in Reports

    Hi,
    I have come across solutions to implement dynamic Select Lists. But can the same be implemented in a report.
    I have a report of 2 columns which are select lists. The Value of one depends of the other.
    Can this be done?
    Thanks in Advance

    Hi Abdullah,
    Thanks for the Tip. However, couple of queries.
    1) The first modification involves changing the query to : select lov_pkg.savekey() , colA, colB, ... But the function savekey takes a value.
    Ideally, I need this function to be called while loading and when the first select list is changed. How can this be done.
    2) Also, To make this change in query, I had to use (Use Generic Column Names (parse query at runtime only)) option. Now my Add Row button doesnt work? Can you tell me how that can be customized.
    Thanks,
    Sunil

  • Dynamic selection in alv

    hai
      How to display a column in alv(Container) in dynamic manner at runtime.
    specify the code if u have.
    thx in advance.

    Hi,
    Herewith i am sending the mdoel report for the DYNAMIC DEMO.
    Kindly go through it the following.
    REPORT  YMS_DYNAMICDEMO
                 NO STANDARD PAGE HEADING
                 MESSAGE-ID zcs_c2c_001.
    type-pools : abap.
    field-symbols: <dyn_table> type standard table,
                   <dyn_wa>,
                   <dyn_field>.
    data: dy_table type ref to data,
          dy_line  type ref to data,
          xfc type lvc_s_fcat,
          ifc type lvc_t_fcat.
    selection-screen begin of block b1 with frame.
    parameters: p_table(30) type c default 'T001'.
    selection-screen end of block b1.
    start-of-selection.
      perform get_structure.
      perform create_dynamic_itab.
      perform get_data.
      perform write_out.
    form get_structure.
    data : idetails type abap_compdescr_tab,
           xdetails type abap_compdescr.
    data : ref_table_des type ref to cl_abap_structdescr.
    Get the structure of the table.
      ref_table_des ?=
          cl_abap_typedescr=>describe_by_name( p_table ).
      idetails[] = ref_table_des->components[].
      loop at idetails into xdetails.
        clear xfc.
        xfc-fieldname = xdetails-name .
        xfc-datatype = xdetails-type_kind.
        xfc-intlen = xdetails-length.
        xfc-decimals = xdetails-decimals.
        append xfc to ifc.
      endloop.
    endform.
    form create_dynamic_itab.
    Create dynamic internal table and assign to FS
      call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = ifc
                   importing
                      ep_table        = dy_table.
      assign dy_table->* to <dyn_table>.
    Create dynamic work area and assign to FS
      create data dy_line like line of <dyn_table>.
      assign dy_line->* to <dyn_wa>.
    endform.
    form get_data.
    Select Data from table.
      select * into table <dyn_table>
                 from (p_table).
    endform.
    form write_out.
    Write out data from table.
      loop at <dyn_table> into <dyn_wa>.
        do.
          assign component  sy-index
             of structure <dyn_wa> to <dyn_field>.
          if sy-subrc <> 0.
            exit.
          endif.
          if sy-index = 1.
            write:/ <dyn_field>.
          else.
            write: <dyn_field>.
          endif.
        enddo.
      endloop.
    endform.
    Thanks,
    Shankar

  • At line selection in alv report

    hi,
    i had developed a code in which at 1st execution the normal output is displayed and if i click on a purticular Itemid it displays the whole of items  and i want to display only that item's data which i had clicked on.
    following is the code which i am using for the at line-selection.
    **BEGIN - TEST CODE FOR LINE SELECTION**
    data: fld LIKE ITAB-ITEMID,
          val LIKE ITAB-ITEMID.
    at line-selection.
      get cursor field fld value val.
      IF fld = 'ITAB-ITEMID'.
            SET PARAMETER ID 'ANR' FIELD val.
            CLEAR ITAB-ITEMID.
      ENDIF.
        PERFORM PRN_SMSTOCK_ALV USING VAL.
        IF SY-SUBRC <> 0.
          MESSAGE 'NO RECORD FOUND' TYPE 'W'.
        ENDIF.
      FORM PRN_SMSTOCK_ALV USING VAL.
    *****END OF TEST CODE FOR LINE SELECTION******
    plzz help me out by providing the solution for this problem.

    Hi,
    You need to add extra piece of code as below:
    call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'
                I_callback_user_command = 'USER_COMMAND'   "see FORM
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
                i_save                  = 'X'
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
    *       FORM USER_COMMAND                                          *
    *       --> R_UCOMM                                                *
    *       --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    * Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
    *   Check field clicked on within ALVgrid report
        IF rs_selfield-fieldname = 'EBELN'.
    *     Read data table, using index of row user clicked on
          READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
    *     Set parameter ID for transaction screen field
          SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
    *     Sxecute transaction ME23N, and skip initial data entry screen
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDCASE.
    ENDFORM.
    "For further information please refer the link below :
    http://www.sapdev.co.uk/reporting/alv/alvgrid_ucomm.htm
    Thanks,
    Sriram Ponna.

  • Dynamic columns in ALV report

    halo fellow SAPiens,
    i need to show dynamic columns for a particular material........the scenario is as follows....
    1) there r 7 fixed columns describing the material...
    2)when the material returns back to the plant for some reason , i need to insert a column which shows the date and reason(char) of return.
    3)again after dispatching the material for some reason it comes back again a new column shld be displayed showin the date and reason(char).
    4)if the material doesnt come back...the report shows only 7 columns.
    any solution?

    try <a href="http://www.alvrobot.com.ar/home.php">here</a>  ......its a useful tool for dealing with ALV
    <b>reward points if useful</b>

  • Dynamic column in ALV Report

    Hi,
    We need to display amount fields in the ALV and that fields should be able to display both 3 decimals or 2 decimals at the same time.When we refer this as a character field it is not allowed for totals/subtotals .
    if we refer it as 3 decimals ,it is adding zero for 2 decimal  values.
    if we refer it as 2 decimals ,it is adding rounding off  for 2 decimal  values.
    How can we dynamically refer this field in order to handle both these cases at the same time?
    We tried with reference of CURR ,but no use.
    Any pointers in this regard are highly appreciated.
    Regards,

    Hi Kranti,
    if you want to display amount then you should use amount fields. Then you need another column for the currency displayed. In the field catalog, you reference the amount field to the currensy field using fieldcat component CFIELDNAME.
    Then all values are displayed with the number of decimals defined for the respective currency.
    Additionally, you will get separate subtotal lines for each currency.
    --  asked several times, answered several times --
    What serach term did you use?
    Kind regards,
    Clemens

  • Dynamic select list in report based on other report column

    I have a report with three columns. The first column is the Id, the second is the name that matches the Id. In the third column I would
    like to have a list of values that are dependant on the Id in the first column.
    This is the query I have.
    SELECT c.category_id,
    c.category_name,
    APEX_ITEM.SELECT_LIST_FROM_QUERY(3, NULL,
    'SELECT option_name, option_id
    FROM invmodel_category_option
    WHERE category_id = APEX_APPLICATION.G_F01('||rownum||')') AS options
    FROM invmodel_model m,
    invmodel_category c
    WHERE m.model_id = :P2_MODEL_ID
    This doesn't give any error, but I do not get any select list.
    I have tried various other ways to reference the category_id within the APEX_ITEM function, including:
    WHERE category_id = c.category_id (c.category_id is an invalid identifier)
    WHERE category_id = ''#CATEGORY_ID#''' (number error)
    As an example what I would like to see is
    Id Name Options
    1 Fruit Banana, Apple, Orange
    2 Vegetable Carrot, Potato, Onion
    Can anyone please tell me if this can be done, and how.
    Thanks

    This can be done if you follow this example:
    http://apex.oracle.com/pls/otn/f?p=31517:176
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://htmldb.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Dynamic selection while Broadcasting reports

    Hello Experts,
                          I have a scenario where I need to Broadcast reports as excel file based on Country, however for each Country there is a person responsible and that person responsible should see data pertaining to their own Country only. Data related to other Countries should not appear in their report when the broadcast is done.
    For example - Currently my report has data for 2 countries Germany and South Africa and each country has their own person resposible. So when I broadcast the report, I need a certain kind of filtering to be done, so that the German person resposible
    should not see the data for country South Africa and vice versa.
    I know that Query can be restricted to Authorization levels, but can the same be done during Information Broadcasting?
    Thanks in advance!

    HI,
    yes this can be achieved by using the Option of Broadcast to Email By Bursting.
    Here the only thing that you need is that you need to enhance the country master data with a column called as email where you maintain the email address of the person to whom the mail has to be sent for a given country and the query to be broadcaster as Workbook must contain a variable for country.
    This way the broadcaster picks every row maintained in the country master data and then sends mail to the corresponding mail ID maintained.
    Hope this helps.
    Regards.
    Shafi.

  • Dynamic Selections for the F.42 report

    Hii Experts,
    I want to add a field called Business Place(BUPLA) in dynamic Selection in tcode F.42.
    So, in F.42 KDF Logical Database is used, so i make a Custom Selection view for KDF database.
    Business place is successfully added in Dynamic Selection, but it doesn`t reflect when i execute F.42.
    When i test from SE36, it reflects.
    Nitin Garg

    Note 50370 explains in full detail how the system works for selecting the documents with dynamic selection.
    Balance report reads the transaction figures which are stored with the help of several different fields, so the selection according to further fields cannot be proceed. This is standard design.
    The dynamic selection for Document Data does not work for reports which use customer / vendor transaction tables (KNC1 LFC1),i.e., document data like doc.number and Doc.date is not stored in transaction tables.
    Dynamic selections can only be used with customer / vendor, company code
    or fiscal year fields.  The following reports are affected by this
    program design.
    S_ALR_87012186 - Customer sales
    S_ALR_87012082 - Vendor Balances in Local Currency
    S_ALR_87012093 - Vendor Business
    S_ALR_87012079 - Transaction Figures: Account Balance
    S_ALR_87012080 - Transaction Figures: Special Sales
    S_ALR_87012081 - Transaction Figures: Sales
    S_ALR_87012105 - List of Down Payments open at Key Date - Vendors
    S_ALR_87012172 - Customer balances in local currency
    RFKSLD00       - F.42
    RFDSLD00       - F.23
    Hope this clarifies.
    Kind Regards
    Soumya

  • Execution of report with dynamic selection in method

    Dear Experts,
    I need to execute report 'RCATS_APPROVE_ACTIVITIES' in background in the method after populating field-'Processing status'. Also there is a option of dynamic selections for this report in menu bar. In Dynamic selections, there is a field - 'CREATED BY' which also i want to populate before execution.
    Here I am able to populate field- 'Processing status' like code below:-
    DATA: rspar    TYPE STANDARD TABLE OF rsparams,
         wa_rspar TYPE rsparams.
    wa_rspar-selname = 'LDBSTAT'.
    wa_rspar-kind = 'S'.
    wa_rspar-option = 'EQ'.
    wa_rspar-sign = 'I'.
    wa_rspar-low = '10'.
    APPEND wa_rspar TO rspar.
    CLEAR wa_rspar.
    SUBMIT RCATS_APPROVE_ACTIVITIES
         USING SELECTION-SCREEN 1000
        WITH SELECTION-TABLE rspar
    But I am not able to populate the dynamic selection field- CREATED BY.
    Please suggest(if possible with code) how to resolve this.
    Regards
    Nitin

    Dear KArri,
    Thanks for the reply but this i am performing in the Method of BO and want to execute this method in my workflow. That is the reason, I have posted this in workflow forums.
    For this I have created a customised BO to use in CATS workflow.
    Regards
    Nitin

  • ALV Report dynamically fields i want to display

    Hi experts,
    how to declare dynamical fields in ALV reports not in oops.can i use fieldcat merge function mod for this requirement.pls write the code if possible.

    Hi,
    how to declare dynamical fields in ALV reports not in oops. ? I didnt understand what exactly you mean ? Do you want to build an internal table which is of dynamic in nature ?
    can i use fieldcat merge function mod for this requirement.  No
    pls write the code if possible. No one writes the code here. Paste your code here !! If there any mistakes, any one of the SDNer will let you know !!
    If you want the internal table to be dynamically created, check the following link:
    Re: Dynamic Table with Validation
    Regards
    Kannaiah

  • Dynamic selections in S_ALR_87012310 Trial Balance (South Korea) not workin

    Hi Experts,
    Dynamic selections in the report S_ALR_87012310 Trial Balance (South Korea) not working.
    Can some help me on this.
    We are in ECC 6 EPH4.
    Thanks and Regards
    Om

    It is standard report and standard for dynamic selections as well.
    If it is not working check with your tech team (Basis team) there could be any authorisation issue
    Srinivas

Maybe you are looking for

  • How to do autofit selection in the GUI_DOWNLOAD

    hi, I am working on reports, i need to download to a .csv file. I am using GUI_DOWNLOAD is there any option for it where text fits exactly in a single cell. For Eg: I excel there is an option (Format-column-Autofitselection). Then the column size inc

  • 870A-G54 rebranded as 870S-G54?

    I was poking around inside my computer and noticed that printed on the motherboard was USB 3.0 even though my 870S was not spec'd as having any of them. Then I looked at where my board was branded as 870S to find a sticker over it. Out of curiosity I

  • No audio with avchd clips

    Hi, My video camera produces .mts files - avchd. Wanting a good editor I downloaded a Trial version of Premiere Pro CC  , BUT no matter what I tried - including many suggestions from on line users- could not get audio with any of my clips.  Prelude w

  • Partial Page Refresh Samples

    Hi Guys, Where can I find some cases/page in HRMS 9.1, which leverage partial page refresh, a new features from PeopleTools 8.50? Thanks,

  • Query Filter Question

    I need to query a knowledge base folder and I use this query to filter it. QueryFilter stringFilter = new StringQueryFilter( ObjectProperty.Created, Operator.Contains, keyword ); //wherein keyword is defined as the string that the user enters in a se