Two Graphs in a single screen

Hi Experts,
I want to display two graphs in a single screen. It should be a pie chart.
Currently I did one pie chart using GRAPH_MATRIX_2D.
It is working fine.
But i want to display another PIE Chart within the same screen.
Can anyone help me sort out?
Thanks in advance

Hi Vimal,
Go throungh the following code. it will help you.
REPORT Z_3DGRAPH.*structure declaration for performance measurementTYPES: BEGIN OF ty_performance,
      company(15) TYPE c,
      q1 TYPE i,
      q2 TYPE i,
      q3 type i,
      q4 type i,
      END OF ty_performance.*structure declaration for options table
types : BEGIN OF ty_opttable,
        options(30) TYPE c,
        END OF ty_opttable.*Internal table and work area declarations
DATA: it_performance TYPE STANDARD TABLE OF ty_performance,
      wa_performance TYPE ty_performance.DATA : it_opttable type standard table of ty_opttable,
       wa_opttable type ty_opttable.*initialization event
INITIALIZATION.*start of selection event
START-OF-SELECTION.*clearing the work areas
CLEAR WA_PERFORMANCE.
CLEAR wa_opttable.*appending values into the performance internal table
wa_performance-company = 'Company A'.
wa_performance-q1      = 78.
wa_performance-q2      = 68.
wa_performance-q3      = 79.
wa_performance-q4      = 80.append wa_performance to it_performance.wa_performance-company = 'Company B'.
wa_performance-q1      = 48.
wa_performance-q2      = 68.
wa_performance-q3      = 69.
wa_performance-q4      = 70.append wa_performance to it_performance.wa_performance-company = 'Company C'.
wa_performance-q1      = 78.
wa_performance-q2      = 48.
wa_performance-q3      = 79.
wa_performance-q4      = 85.append wa_performance to it_performance.*appending values into the options internal tablewa_opttable-options = 'P3TYPE = TO'.
APPEND wa_opttable TO it_opttable.wa_opttable-options = 'P2TYPE = VB'.
APPEND wa_opttable TO it_opttable.wa_opttable-options = 'TISIZE = 1'.
APPEND wa_opttable TO it_opttable.*calling the graph function module
  CALL FUNCTION 'GRAPH_MATRIX_3D'
    EXPORTING
      col1      = 'Quarter 1'
      col2      = 'Quarter 2'
      col3      = 'Quarter 3'
      col4      = 'Quarter 4'
       dim1      = 'In Percentage%'
      set_focus = 'X'
      titl      = 'Company Performances'
    TABLES
      data      = it_performance
      opts      = it_opttable
    EXCEPTIONS
      others    = 1.
Regards,
Rajesh Kumar

Similar Messages

  • Plotting two graphs in one single graph

    Hi.  This is my first time using control and simulation.  I want to plot two graphs within a single graph.  It seems that I have to use bundle and build arrays functions but I just do not know how to plot them.  The x points and y points of (2) are just defined by a single set of points included in the array defined.  The x points and y points of (1) are results of another formula, but both plots would fit in the same location of a single graph.  I hope my question is understandable.  I attach part of the model that I want to be plotted.
    Thank you
    Solved!
    Go to Solution.
    Attachments:
    two graphs.JPG ‏26 KB

    Hi,
    You can try something like this. Check the attached VI.
    Regards,
    Nitzz
    (Give Kudos to good Answers and Mark it as a Solution if your problem is Solved)
    Attachments:
    Untitled 3.vi ‏39 KB

  • Displaying two pages on a single screen on iPad

    In the desktop version Adobe Reader can display two pages of a document on a single screen within the app. I hope Adobe will bring that feature on iPad which will be available if the iPad is in the landscape mode.

    In the desktop version Adobe Reader can display two pages of a document on a single screen within the app. I hope Adobe will bring that feature on iPad which will be available if the iPad is in the landscape mode.

  • Displaying two blocks in a single screen

    Hi all,
    I want to dispaly two screens in a single with as-usual properties.
    Please give your suggestions with steps.
    Thansk in advance,
    Regards,
    Balaaji.

    hi balaji ,
    create a main screen and in which  create two sub screens . like this .
    REPORT ZSUBSCREEN.
    TABLES: USR02,       "Logon data
             SSCRFIELDS.  "FIELDS ON SELECTION SCREENS
    SUBSCREEN 1
    SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-010.
        SELECT-OPTIONS: USERNAME FOR USR02-BNAME.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN END OF SCREEN 100.
    SUBSCREEN 2
    SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-020.
        SELECT-OPTIONS: LASTLOGI FOR USR02-TRDAT.
    SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN END OF SCREEN 200.
    SUBSCREEN 3
    SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-030.
        SELECT-OPTIONS: CLASSTYP FOR USR02-CLASS.
    SELECTION-SCREEN END OF BLOCK B3.
    SELECTION-SCREEN END OF SCREEN 300.
    STANDARD SELECTION SCREEN FOR SCROLLING LEFT AND RIGHT
    SELECTION-SCREEN: FUNCTION KEY 1,
                       FUNCTION KEY 2.
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK SUB FOR 15 LINES,
                       END OF BLOCK SUB.
    START-OF-SELECTION.
         SELECT * FROM USR02 WHERE BNAME IN USERNAME
                               AND ERDAT IN LASTLOGI
                               AND CLASS IN CLASSTYP.
            WRITE: / 'User ', USR02-BNAME,
                     'Last Login Date ', USR02-TRDAT,
                     'Last Login Time ', USR02-LTIME,
                     'CLASS ', USR02-CLASS.
         ENDSELECT.
    END-OF-SELECTION.
    INITIALIZATION.
    SCREEN ICON LEFT AND RIGHT
       SSCRFIELDS-FUNCTXT_01 = '@0D@'.
       SSCRFIELDS-FUNCTXT_02 = '@0E@'.
       SUB-PROG = SY-REPID.
       SUB-DYNNR = 100.
    AT SELECTION-SCREEN.
       CASE SY-DYNNR.
         WHEN 100.
           IF SSCRFIELDS-UCOMM = 'FC01'.
             SUB-DYNNR = 300.
           ELSEIF SSCRFIELDS-UCOMM = 'FC02'.
             SUB-DYNNR = 200.
           ENDIF.
         WHEN 200.
           IF SSCRFIELDS-UCOMM = 'FC01'.
             SUB-DYNNR = 100.
           ELSEIF SSCRFIELDS-UCOMM = 'FC02'.
             SUB-DYNNR = 300.
           ENDIF.
         WHEN 300.
           IF SSCRFIELDS-UCOMM = 'FC01'.
             SUB-DYNNR = 200.
           ELSEIF SSCRFIELDS-UCOMM = 'FC02'.
             SUB-DYNNR = 100.
           ENDIF.
       ENDCASE.
    regard,
    sandeep patel
    reward point if helpful

  • Two table views in single screen

    Hi,
    are we able to put two Table views in one UI window?
    My requirement is if i click on one cell on 1st table view then 2nd table view cell's in the same UI window has to be updated with required values.
    is that possible?
    Please let me know the solution if anyone know.
    Thanks in advance.

    Just go to interface builder and drop two table views in.
    Presto! You're done.

  • Two report outputs in a single screen

    Hi,
    I am looking at giving outputs of two reports in a single screen.
    I mean one below the other.
    We are using web reports and I want to have two reporst made out of differect cubes appear one below the other.
    Kindly let me know if this is possible.
    Suggestions will definitely be rewarded by giving points.
    Regards,
    Naveen

    Hi Naveen,
           In WAD, you can use Generic Navigation Block web item for displaying the Characteristics/Free Characteristics available in the Query.
    In the specific properties tab(Web Item Properties->Specific->List of Characteristics) of this web item, you can specify the Characteristics/Free Characteristics which you want to be displayed in the web report.
    Since you want the table web item(which shows the report having the free characteristics) to be affected by the drill down in Navigational block, then specify the data provider of table web item in the <b>Affected Data Provider</b> of the Navigation Block web item.
    Naveen, it's not mandatory to check the affected data providers if the data providers for both Navigational Block web item and the Table web item are same.
    Hope this helps.
    Regards
    Hari
    Message was edited by: Hari Krishnan K

  • Two grid display in a single screen

    We need to display two grids in a single screen. In first grid we will display the line items and in the other one we need to display the error logs encounterd during the execution of program. Can anyone let us know any way we can do this.

    Hi,
    In one screen . Put 2 containers with different names.
    cont1,cont2
    on each of the container call grid,grid1 like below .
    1. this is for item line display
    IF g_r_grid IS INITIAL.
          CREATE  OBJECT  g_r_cont
                      EXPORTING  container_name  =  'CONT1'.
        g_r_variant  =  sy-repid.
    *--Build  field  catalog
        PERFORM build_field_catalog.
    *--Layout selection
        g_r_layo-cwidth_opt  = g_c_set.
        g_r_layo-no_rowmark  = g_c_set.
        g_r_layo-sel_mode    = space.
        CALL METHOD g_r_grid->set_table_for_first_display
          EXPORTING
            i_buffer_active = g_c_set
            is_variant      = g_r_variant
            is_layout       = g_r_layo
            i_save          = g_c_set
            i_default       = g_c_set
          CHANGING
            it_outtab       = g_t_alv
            it_fieldcatalog = g_t_fieldcat
            it_sort         = g_t_sort.
      endif
    1. this is for error data display
    IF g_r_grid1 IS INITIAL.
          CREATE  OBJECT  g_r_cont
                      EXPORTING  container_name  =  'CONT2'.
        g_r_variant  =  sy-repid.
    *--Build  field  catalog
        PERFORM build_field_catalog.
    *--Layout selection
        g_r_layo-cwidth_opt  = g_c_set.
        g_r_layo-no_rowmark  = g_c_set.
        g_r_layo-sel_mode    = space.
        CALL METHOD g_r_grid->set_table_for_first_display
          EXPORTING
            i_buffer_active = g_c_set
            is_variant      = g_r_variant
            is_layout       = g_r_layo
            i_save          = g_c_set
            i_default       = g_c_set
          CHANGING
            it_outtab       = g_t_error
            it_fieldcatalog = g_t_fieldcat
            it_sort         = g_t_sort.
      endif

  • Two line graphs in a single chart

    Hello Experts,
    I am having set of values each for one line graph.
    But I want to plot these two graphs in a single chart.(2 line graphs in a single chart)
    Please help me how to plot?
    Regards,
    Apex User

    Hi,
    Your query needs to return data in this format:
    link    label        value1   value2
    null    01-JAN-10    5        6
    null    01-FEB-10    3        6
    null    01-MAR-10    2        5where 'value1' column will be the first series, 'value2' column will be the second series, etc.
    So you SQL query will need to be something like:
    select
    null link,
    created_month label,
    sum(value1) value1,
    sum(value2) value2
    from table
    group by
    created_monthAmanda

  • Displaying ALV and Graphs on single screen

    Hi Experts ,
    I want to display the ALV/List and its graphs on a single screen how it can be possible.
    Can anyone give me steps or example code.
    Thanks.......
    Edited by: RNIDHI on Dec 6, 2011 11:14 AM

    Hi,
    I am attaching Code which i executed earlier and i got output correctly.
    REPORT  ZALVMLTP.
    DATA: Splitter_1 TYPE REF TO cl_gui_splitter_container,
                 Splitter_2     TYPE REF TO cl_gui_splitter_container,
                 Container     TYPE REF TO cl_gui_custom_container,
                 Container_1 TYPE REF TO cl_gui_container,
                 Container_2 TYPE REF TO cl_gui_container,
                 Container_3 TYPE REF TO cl_gui_container,
                 Grid1            TYPE REF TO cl_gui_alv_grid,
                 Grid2            TYPE REF TO cl_gui_alv_grid,
                 Grid3            TYPE REF TO cl_gui_alv_grid.
    DATA: Gt_sflight_1 TYPE TABLE OF sflight,
                 Gt_sflight_2 TYPE TABLE OF sflight,
                 Gt_sflight_3 TYPE TABLE OF sflight,
                 G_container TYPE scrfname VALUE 'CCONTAINER'.
    DATA: ok_code TYPE sy-ucomm.
    fetching data from table for different internal tables
    SELECT * FROM sflight INTO TABLE gt_sflight_1.
    SELECT * FROM sflight INTO TABLE gt_sflight_2 UP TO 18 ROWS.
    SELECT * FROM sflight INTO TABLE gt_sflight_3 UP TO 9 ROWS.
    CALL SCREEN 9010.
    *& Module STATUS_9010 OUTPUT                                    *
    MODULE status_9010 OUTPUT.
    SET PF-STATUS 'TEST'.
    *creating object reference for container
    CREATE OBJECT container
    EXPORTING
       container_name = 'CCONTAINER'.
    *splitting the main container into 1 row & 2 coloum
    CREATE OBJECT splitter_1
    EXPORTING
       Parent   = container
       Rows      = 1
       Columns = 2.
    *getting the reference for the splited container (row 1 & col 1 container)
    CALL METHOD splitter_1->get_container
    EXPORTING
       Row      = 1
       Column = 1
    RECEIVING
       Container = container_1.
    *getting the reference for the splited container (row 1 & col 2 container)
    CALL METHOD splitter_1->get_container
    EXPORTING
       Row      = 1
       Column = 2
    RECEIVING
       Container = container_2.
    *splitting the 2nd coloum container in to 2 rows & 1 coloum
    CREATE OBJECT splitter_2
    EXPORTING
       Parent     = container_2
       Rows      = 2
       Columns = 1.
    *getting the reference for the splited container2 (row 1 & col 2 container)
    CALL METHOD splitter_2->get_container
    EXPORTING
       Row      = 1
       Column = 1
    RECEIVING
       Container = container_2.
    *getting the reference for the splited container2 (row 2 & col 1 container)
    CALL METHOD splitter_2->get_container
    EXPORTING
       Row      = 2
       Column = 1
    RECEIVING
       Container = container_3.
    *populating first internal table to the container
    CREATE OBJECT container
    EXPORTING
       container_name = g_container.
    CREATE OBJECT grid1
    EXPORTING
       i_parent = container_1.
    CALL METHOD grid1->set_table_for_first_display
    EXPORTING
       i_structure_name = 'SFLIGHT'
    CHANGING
        it_outtab = gt_sflight_1.
    *populating second internal table
    CREATE OBJECT container
    EXPORTING
       container_name = g_container.
    CREATE OBJECT grid2
    EXPORTING
       i_parent = container_2.
    CALL METHOD grid2->set_table_for_first_display
    EXPORTING
       i_structure_name = 'SFLIGHT'
    CHANGING
       it_outtab = gt_sflight_2.
    *populating third internal table
    CREATE OBJECT container
    EXPORTING
       container_name = g_container.
    CREATE OBJECT grid3
    EXPORTING
        i_parent = container_3.
    CALL METHOD grid3->set_table_for_first_display
    EXPORTING
       i_structure_name = 'SFLIGHT'
    CHANGING
       it_outtab = gt_sflight_3.
    ENDMODULE.
    *& Module EXIT INPUT                                                        *
    MODULE exit INPUT.
    *free the container memory when exit
    CALL METHOD container->free.
    LEAVE PROGRAM.
    ENDMODULE.
    *& Module USER_COMMAND_9010 INPUT                      *
    MODULE user_command_9010 INPUT.
    CALL METHOD cl_gui_cfw=>dispatch.
    CASE SY-UCOMM.
       WHEN 'BACK'.
            LEAVE SCREEN.
       WHEN 'CANCEL'.
            LEAVE PROGRAM.
       WHEN 'EXIT'.
           LEAVE SCREEN.
    ENDCASE.
    ENDMODULE.
    This code will provide total information.
    Warm Regards,
    PavanKumar.G

  • Displaying contents of two int. tables in same screen using grid display

    Hello everyone,
       Can anyone give me any idea how we can print contents of two internal tables of different structures in same screen while we are using GRID display fm. This is working fine in LIST display with fm's like REUSE_ALV_BLOCK_LIST_INIT , BLOCK_LIST_APPEND and BLOCK_LIST_DISPLAY. But what about the same in Grid display?

    Hi,
    You have to define two containers in a single Screen.
    Define two containers on a single screen
    DATA: ok_code LIKE sy-ucomm,
          g_container TYPE scrfname VALUE 'CUSTOM2',
          grid1  TYPE REF TO cl_gui_alv_grid,
          g_custom_container TYPE REF TO cl_gui_custom_container.
    DATA: i_cat            TYPE kkblo_t_fieldcat,
          i_fieldcatalog   TYPE lvc_t_fcat,
          ws_fcat        TYPE lvc_s_fcat,
           wa_layout     TYPE lvc_s_layo.
    DATA:
          g_container1 TYPE scrfname VALUE 'CUSTOM3',
          grid2  TYPE REF TO cl_gui_alv_grid,
          g_custom_container1 TYPE REF TO cl_gui_custom_container.
    DATA: i_cat1            TYPE kkblo_t_fieldcat,
          i_fieldcatalog1   TYPE lvc_t_fcat,
          wa_layout1        TYPE lvc_s_layo.
    Display firstALV
      wa_layout-grid_title = text-029.
      wa_layout-zebra      = 'X'.  "Output rows with alternating colors
      wa_layout-no_author  = 'X'.  "Allow users to enter global layouts
      wa_layout-sel_mode   = 'A'.
      wa_layout-cwidth_opt = 'X'.
      ws_repid = sy-repid.
    *Function module to get the field catalog in the kkblo_t_fieldcat format
      CALL FUNCTION 'K_KKB_FIELDCAT_MERGE'
           EXPORTING
                i_callback_program     = ws_repid
                i_tabname              = 'WS_OPEN_SUM'
                i_inclname             = ws_repid
           CHANGING
                ct_fieldcat            = i_cat
           EXCEPTIONS
                inconsistent_interface = 1
                OTHERS                 = 2.
      IF sy-subrc <> 0.
        MESSAGE e000 WITH text-003.
      ENDIF.
    *Function module to get the field catalog in the lvc_t_fieldcat format
      CALL FUNCTION 'LVC_TRANSFER_FROM_KKBLO'
           EXPORTING
                it_fieldcat_kkblo = i_cat
           IMPORTING
                et_fieldcat_lvc   = i_fieldcatalog
           EXCEPTIONS
                it_data_missing   = 1
                OTHERS            = 2.
      IF sy-subrc <> 0.
        MESSAGE e000 WITH text-003.
      ENDIF.
      LOOP AT i_fieldcatalog INTO ws_fcat.
        IF ws_fcat-fieldname = 'BALANCE'.      "#CCE
    #CCE - IF required
          ws_fcat-do_sum = 'X'.
          MODIFY i_fieldcatalog FROM ws_fcat.
        ENDIF.
      ENDLOOP.
      IF g_custom_container IS INITIAL.
        CREATE OBJECT g_custom_container
         EXPORTING container_name = g_container.
        CREATE OBJECT grid1
                  EXPORTING i_parent = g_custom_container.
        CALL METHOD grid1->set_table_for_first_display
                 EXPORTING
                     is_layout = wa_layout
                 CHANGING
                     it_fieldcatalog  = i_fieldcatalog
                     it_outtab        =  i_open_sum.
      ENDIF.
    Display second ALV
      wa_layout1-grid_title = 'SAP R/3 (GLPCT) Totals'.
      wa_layout1-zebra      = 'X'.  "Output rows with alternating colors
      wa_layout1-no_author  = 'X'.  "Allow users to enter global layouts
      wa_layout1-sel_mode   = 'A'.
      wa_layout1-cwidth_opt = 'X'.
      ws_repid = sy-repid.
    *Function module to get the field catalog in the kkblo_t_fieldcat format
      CALL FUNCTION 'K_KKB_FIELDCAT_MERGE'
           EXPORTING
                i_callback_program     = ws_repid
                i_tabname              = 'WS_GLPCT_CHK'
                i_inclname             = ws_repid
           CHANGING
                ct_fieldcat            = i_cat1
           EXCEPTIONS
                inconsistent_interface = 1
                OTHERS                 = 2.
      IF sy-subrc <> 0.
        MESSAGE e000 WITH text-003.
      ENDIF.
    *Function module to get the field catalog in the lvc_t_fieldcat format
      CALL FUNCTION 'LVC_TRANSFER_FROM_KKBLO'
           EXPORTING
                it_fieldcat_kkblo = i_cat1
           IMPORTING
                et_fieldcat_lvc   = i_fieldcatalog1
           EXCEPTIONS
                it_data_missing   = 1
                OTHERS            = 2.
      IF sy-subrc <> 0.
        MESSAGE e000 WITH text-003.
      ENDIF.
      LOOP AT i_fieldcatalog1 INTO ws_fcat.
        CASE ws_fcat-fieldname.
          WHEN 'HSLVT'.
            ws_fcat-do_sum = 'X'.
          WHEN 'HSL01' OR 'HSL02' OR 'HSL03' OR 'HSL04' OR
               'HSL05' OR 'HSL06' OR 'HSL07' OR 'HSL08' OR
               'HSL09' OR 'HSL10' OR 'HSL11' OR 'HSL12' OR
               'HSL13' OR 'HSL14' OR 'HSL15' OR 'HSL16' .
            ws_fcat-no_out = 'X'.
          WHEN 'RBUKRS' OR 'RACCT' OR 'RPRCTR' .
            ws_fcat-key = 'X'.
        ENDCASE.
        MODIFY i_fieldcatalog1 FROM ws_fcat.
      ENDLOOP.
      IF g_custom_container1 IS INITIAL.
        CREATE OBJECT g_custom_container1
         EXPORTING container_name = g_container1.
        CREATE OBJECT grid2
                  EXPORTING i_parent = g_custom_container1.
        CALL METHOD grid2->set_table_for_first_display
                 EXPORTING
                     is_layout = wa_layout1
                 CHANGING
                     it_fieldcatalog  = i_fieldcatalog1
                     it_outtab        =  i_glpct_chk.
      ENDIF.
    Then call the screen
      Call Screen 9000.
    Regards
    Subramanian

  • Three Graphs and Data need to display in a single screen

    Hi Gurus,
    I have a requirment that customer wants to see three graphs and data in a single screen.
    The data will be avilable in a single query, how can i display.  I gone through with many SDN blogs, but i did not get the solution.
    Requirment is:
    First graph         Business Unit informaiton, there are around 7 BUs, under each BU, they have 3-7 Industry groups.
    Second Graph:  Industry Group, under each industry group there are no of customers, i want to display top ten customers.
    Third Graph:  Top Ten Customers.

    Hi Karanam,
    Assuming you are using WAD;
    First graph Business Unit information, there are around 7 BUs, under each BU, they have 3-7 Industry groups.
    -You would need to have a Query that displays the BUs with their Industry Group count i.e BU in the Rows with Industry Count as the KF - I assume you want to show count here
    -Build a Data Provider DP1 on the Query
    -Drag a Chart webitem onto the web template & assign DP1 to it - use a Column/Bar Chart to display the Category 'BU' & Series 'Industry Count'
    Second Graph: Industry Group, under each industry group there are no of customers, i want to display top ten customers.
    -You need to have a Query that displays the Industry Groups & top 10 Customers within each i.e.  - create a Query Condition to achieve top 10 Customers based on some criteria - I assume Sales Revenue or likewise
    -Build a Data Provider DP2 on the Query
    -Drag a Chart webitem onto the web template & assign DP2 to it - use a Column/Bar Chart to display the Categories 'Industry Group', 'Customer' & Series 'Sales Revenue' or likewise
    Third Graph: Top Ten Customers.
    -You need to have a Query that displays the top 10 Customers i.e.  - create a Query Condition to achieve top 10 Customers based on some criteria - I assume Sales Revenue or likewise
    -Build a Data Provider DP3 on the Query
    -Drag a Chart webitem onto the web template & assign DP3 to it - use a Column/Bar Chart to display the Category 'Customer' & Series 'Sales Revenue' or likewise
    --Priya
    Edited by: Priya Jacob on May 27, 2010 7:41 AM

  • Need to display two ALV GRIDs in a single screen

    Hi,
    I have a question, i'm using version 4.6. I want to display 2 ALVs in a single screen or by calling.
    Step 1 : The internal table (which holds the data for the ALVs has to be populated before calling ALV1 or ALV2) 
    Step 2 : Display In a single report
    ALV1 report (Editable ,Has to be a GRID)
    ALV2 report (Non Editable, Has to be a GRID)
                             (or)
    Step 1 : The internal table (which holds the data for the ALVs has to be populated before calling ALV1 or ALV2)
    Step 2 :
    ALV1 report (Editable ,Has to be a GRID, with a custom button to call ALV2 hiding the ALV1 ie not visible to user)
    ALV2 report (Non Editable ,Has to be a GRID, with a custom button to call ALV1 hiding the ALV2 ie not visible to user)
    Please help me <b><REMOVED BY MODERATOR></b>
    Message was edited by:
            Alvaro Tejada Galindo

    Hi
    ABAP List Viewer
    Simple ALV report
    http://www.sapgenie.com/abap/controls/alvgrid.htm
    http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
    ALV
    1. Please give me general info on ALV.
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    2. How do I program double click in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=11601
    http://www.sapfans.com/forums/viewtopic.php?t=23010
    Check the program in the following link:
    http://sap-img.com/abap/display-secondary-list-using-alv-grid.htm
    3. How do I add subtotals (I have problem to add them)...
    http://www.sapfans.com/forums/viewtopic.php?t=20386
    http://www.sapfans.com/forums/viewtopic.php?t=85191
    http://www.sapfans.com/forums/viewtopic.php?t=88401
    http://www.sapfans.com/forums/viewtopic.php?t=17335
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_basic.htm
    4. How to add list heading like top-of-page in ABAP lists?
    http://www.sapfans.com/forums/viewtopic.php?t=58775
    http://www.sapfans.com/forums/viewtopic.php?t=60550
    http://www.sapfans.com/forums/viewtopic.php?t=16629
    5. How to print page number / total number of pages X/XX in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
    6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
    http://www.sapfans.com/forums/viewtopic.php?t=64320
    http://www.sapfans.com/forums/viewtopic.php?t=44477
    7. How can I set the cell color in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=52107
    8. How do I print a logo/graphics in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=81149
    http://www.sapfans.com/forums/viewtopic.php?t=35498
    http://www.sapfans.com/forums/viewtopic.php?t=5013
    9. How do I create and use input-enabled fields in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=84933
    http://www.sapfans.com/forums/viewtopic.php?t=69878
    10. How can I use ALV for reports that are going to be run in background?
    http://www.sapfans.com/forums/viewtopic.php?t=83243
    http://www.sapfans.com/forums/viewtopic.php?t=19224
    11. How can I display an icon in ALV? (Common requirement is traffic light icon).
    http://www.sapfans.com/forums/viewtopic.php?t=79424
    http://www.sapfans.com/forums/viewtopic.php?t=24512
    12. How can I display a checkbox in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=88376
    http://www.sapfans.com/forums/viewtopic.php?t=40968
    http://www.sapfans.com/forums/viewtopic.php?t=6919
    13. Top-of-page in ALV
    selection-screen and top-of-page in ALV
    14.  ALV Group Heading
    http://www.sap-img.com/fu037.htm
    How to add list heading like top-of-page in ABAP lists?
    http://www.sapfans.com/forums/viewtopic.php?t=58775
    http://www.sapfans.com/forums/viewtopic.php?t=60550
    http://www.sapfans.com/forums/viewtopic.php?t=16629
    15. ALV output to PDF conversion
    It has an example code for PDF Conversion.
    http://www.erpgenie.com/abap/code/abap51.htm
    converting the output of alv in pdf
    Go thru these programs they may help u to try on some hands on
    ALV Demo program
    BCALV_DEMO_HTML
    BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
    BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
    BCALV_GRID_DEMO Simple ALV Control Call Demo Program
    BCALV_TREE_DEMO Demo for ALV tree control
    BCALV_TREE_SIMPLE_DEMO
    BC_ALV_DEMO_HTML_D0100
    The common features of report are column alignment, sorting, filtering, subtotals, totals etc. To implement these, a lot of coding and logic is to be put. To avoid that we can use a concept called ABAP List Viewer (ALV).
    This helps us to implement all the features mentioned very effectively.
    Using ALV, We can have three types of reports:
    1. Simple Report
    2. Block Report
    3. Hierarchical Sequential Report
    There are some function modules which will enable to produce the above reports without much effort.
    All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.
    1. SIMPLE REPORT.
    The important function modules are
    a. Reuse_alv_list_display
    b. Reuse_alv_fieldcatalog_merge
    c. Reuse_alv_events_get
    d. Reuse_alv_commentary_write
    e. Reuse_alv_grid_display
    A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.
    The important parameters are :
    I. Export :
    i. I_callback_program : report id
    ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status
    iii. I_callback_user_command : routine where the function codes are handled
    iv. I_structure name : name of the dictionary table
    v. Is_layout : structure to set the layout of the report
    vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE
    vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.
    II. Tables :
    i. t_outtab : internal table with the data to be output
    B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.
    The Important Parameters are :
    I. Export :
    i. I_program_name : report id
    ii. I_internal_tabname : the internal output table
    iii. I_inclname : include or the report name where all the dynamic forms are handled.
    II Changing
    ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is
    declared in the type pool SLIS.
    C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type
    Parameters :
    I. Import :
    Et_Events : The event table is returned with all possible CALLBACK events
    for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.
    II. Export :
    I_List_type :
    0 = simple list REUSE_ALV_LIST_DISPLAY
    1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY
    2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND
    3 = hierarchical-sequential block list
    REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.
    Parameters :
    I. it_list_commentary : internal table with the headings of the type slis_t_listheader.
    This internal table has three fields :
    Typ : ‘H’ – header, ‘S’ – selection , ‘A’ - action
    Key : only when typ is ‘S’.
    Info : the text to be printed
    E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.
    Parameters : same as reuse_alv_list_display
    This is an example for simple list.
    2. BLOCK REPORT
    This is used to have multiple lists continuously.
    The important functions used in this report are:
    A. REUSE_ALV_BLOCK_LIST_INIT
    B. REUSE_ALV_BLOCK_LIST_APPEND
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    A. REUSE_ALV_BLOCK_LIST_INIT
    Parameters:
    I. I_CALLBACK_PROGRAM
    II. I_CALLBACK_PF_STATUS_SET
    III. I_CALLBACK_USER_COMMAND
    This function module is used to set the default gui status etc.
    B. REUSE_ALV_BLOCK_LIST_APPEND
    Parameters :
    Export :
    I. is_layout : layout settings for block
    II. it_fieldcat : field catalog
    III. i_tabname : internal table name with output data
    IV. it_events : internal table with all possible events
    Tables :
    i. t_outtab : internal table with output data.
    This function module adds the data to the block.
    Repeat this function for all the different blocks to be displayed one after the other.
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    This function module is used for hierarchical sequential blocks.
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    Parameters : All the parameters are optional.
    This function module display the list with data appended by the above function.
    Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.
    3. Hierarchical reports :
    Hierarchical sequential list output.
    The function module is
    A. REUSE_ALV_HIERSEQ_LIST_DISPLAY
    Parameters:
    I. Export:
    i. I_CALLBACK_PROGRAM
    ii. I_CALLBACK_PF_STATUS_SET
    iii. I_CALLBACK_USER_COMMAND
    iv. IS_LAYOUT
    v. IT_FIELDCAT
    vi. IT_EVENTS
    vii. i_tabname_header : Name of the internal table in the program containing the
    output data of the highest hierarchy level.
    viii. i_tabname_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    ix. is_keyinfo : This structure contains the header and item table field
    names which link the two tables (shared key).
    II. Tables
    i. t_outtab_header : Header table with data to be output
    ii. t_outtab_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using ‘REUSE_ALV_FIELDCATALOG_MERGE’.
    Important Attributes :
    A. col_pos : position of the column
    B. fieldname : internal fieldname
    C. tabname : internal table name
    D. ref_fieldname : fieldname (dictionary)
    E. ref_tabname : table (dictionary)
    F. key(1) : column with key-color
    G. icon(1) : icon
    H. symbol(1) : symbol
    I. checkbox(1) : checkbox
    J. just(1) : (R)ight (L)eft (C)ent.
    K. do_sum(1) : sum up
    L. no_out(1) : (O)blig.(X)no out
    M. outputlen : output length
    N. seltext_l : long key word
    O. seltext_m : middle key word
    P. seltext_s : short key word
    Q. reptext_ddic : heading (ddic)
    R. ddictxt(1) : (S)hort (M)iddle (L)ong
    S. datatype : datatype
    T. hotspot(1) : hotspot
    Regards
    Anji

  • Two ALV Grids in a single screen are overlapping eachother

    Hi,
    I have created two ALV grids in a single screen. I have used seperate containers for them.
    But on executing them , both the ALV grids are overlapping eachother.
    Please give me a solution.

    Hi,
      IF w_custom_container IS INITIAL.
    Creating Object for the Custom Container.
        CREATE OBJECT w_custom_container
          EXPORTING
            container_name              = w_container
          EXCEPTIONS
            cntl_error                  = 1
            cntl_system_error           = 2
            create_error                = 3
            lifetime_error              = 4
            lifetime_dynpro_dynpro_link = 5
            OTHERS                      = 6.
        CASE sy-subrc.
          WHEN 1.
            MESSAGE e054.  "CNTL ERROR
          WHEN 2.
            MESSAGE e055.  "CNTL SYSTEM ERROR
          WHEN 3.
            MESSAGE e056.  "CREATE ERROR
          WHEN 4.
            MESSAGE e057.  "LIFETIME ERROR
          WHEN 5.
            MESSAGE e058.  "LIFETIME DYNPRO DYNPRO LINK
        ENDCASE.
    Creating object for the Splitter Container.
        CREATE OBJECT w_split_container
          EXPORTING
            parent            = w_custom_container
            orientation       = 0
            sash_position     = 30
            with_border       = 2
          EXCEPTIONS
            cntl_error        = 1
            cntl_system_error = 2
            OTHERS            = 3.
        CASE sy-subrc.
          WHEN 1.
            MESSAGE e054. "CNTL_ERROR
          WHEN 2.
            MESSAGE e055. "CNTL_SYSTEM_ERROR
        ENDCASE.
    Creating Grid Control.
        CREATE OBJECT w_grid1
          EXPORTING
            i_parent = w_split_container->top_left_container.
        CREATE OBJECT w_grid2
          EXPORTING
            i_parent = w_split_container->bottom_right_container.
    Building field catalog for ALV.
    Fieldcat for the Detail Record.
        PERFORM build_fieldcat        USING:  c_1 c_code c_output c_check
                                              c_comcode c_olength,
                                              c_2 c_fileno c_output c_check
                                              c_filenum c_olength,
                                              c_3 c_dedcod c_output c_check
                                              c_dedcode c_olength,
                                              c_4 c_dedfac c_output c_check
                                              c_dedf c_olength.
    FieldCatlog for the Error Records.
        PERFORM build_fieldcat_error  USING:  c_1 c_pernr c_error c_check
                                              c_person c_olength,
                                              c_2 c_desc c_error c_check
                                              c_descp c_olength.
    ALV Display.
        CALL METHOD w_grid1->set_table_for_first_display
    EXPORTING
       i_buffer_active               =
       i_bypassing_buffer            =
       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               =
       ir_salv_adapter               =
          CHANGING
            it_outtab                     = t_error
            it_fieldcatalog               = t_fieldcat_error
       it_sort                       =
       it_filter                     =
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error                 = 2
            too_many_lines                = 3
            OTHERS                        = 4
        CASE sy-subrc.
          WHEN 1.
            MESSAGE e076. "invalid parameter combination
          WHEN 2.
            MESSAGE e001. "program error
          WHEN 3.
            MESSAGE e078. "too many lines
        ENDCASE.
        CALL METHOD w_grid2->set_table_for_first_display
    EXPORTING
       i_buffer_active               =
       i_bypassing_buffer            =
       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               =
       ir_salv_adapter               =
          CHANGING
            it_outtab                     = t_output
            it_fieldcatalog               = t_fieldcat
       it_sort                       =
       it_filter                     =
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error                 = 2
            too_many_lines                = 3
            OTHERS                        = 4
        CASE sy-subrc.
          WHEN 1.
            MESSAGE e076. "invalid parameter combination
          WHEN 2.
            MESSAGE e001. "program error
          WHEN 3.
            MESSAGE e078. "too many lines
        ENDCASE.
      ELSE.
        CALL METHOD w_grid1->refresh_table_display
          EXPORTING
            i_soft_refresh = 'X'.
        CALL METHOD w_grid2->refresh_table_display
          EXPORTING
            i_soft_refresh = 'X'.
      ENDIF.
    Hope it Helps,
    Jayant Sahu.

  • How to show multiple dynamic tables on a single screen?

    right now im displaying alv for singlr attribute of dimension.
    eg for dimension PRODUCT attribute PROFITCENTER im displaying in alv when user executes it.
    but the requirement is that multiple attributes can be there so multiple tables is to be displayed on a single screen.
    User basically wants to see data of all attributes. if there are 10 attributes hee wants to see 10 tables as every attribute has a different table.
    what i have achieved is below in snapshots. only one attribute table PRODUCT im able to display. since i believe multiple headers cant be displyed in alv so even if i display multiple dynamically populated tables on a single screen then it will be fine.
    i have also ADDED my code below: ZMDREPORT
    this report is for SAP BPC.
    *& Report  ZMDREPORT
    REPORT  zmdreport.
    TABLES /1cpmb/bfrdp3rp.
    DATA: gw_datatbl TYPE tabname,
          gw_datatbl1 TYPE tabname,
          gw_descrptbl TYPE tabname,
          gw_attribute TYPE tabname.
    DATA:
    BEGIN OF gw_attr,
      appset_id      TYPE uja_dim_attr-appset_id,
      dimension      TYPE uja_dim_attr-dimension,
      tech_name      TYPE uja_dim_attr-tech_name,
      attribute_name TYPE uja_dim_attr-attribute_name,
      caption        TYPE uja_dim_attr-caption,
    END OF gw_attr,
    gt_attr          LIKE TABLE OF gw_attr.
    DATA: gt_slis_fcat1 TYPE slis_t_fieldcat_alv,
          gw_slis_fcat1 LIKE LINE OF gt_slis_fcat1.
    DATA : gt_except TYPE TABLE OF zbpcbt007,
           gw_except LIKE LINE OF gt_except,
              gt_except_t TYPE TABLE OF zbpcbt007,
              gt_attrib TYPE TABLE OF tabname,
              gw_attrib LIKE LINE OF gt_attrib.
    DATA: gr_r_ref   TYPE  REF TO data.
    DATA:BEGIN OF gw_mdr,
         appset_id     TYPE  uj_appset_id,
         dimension     TYPE uj_dim_name,
         reasoncd      TYPE zmdreason,
         refdimension  TYPE uj_dim_name,
         attrib        TYPE uj_attr_name,
         END OF gw_mdr,
         gt_mdr1 LIKE TABLE OF gw_mdr,
         gt_mdr2 LIKE TABLE OF gw_mdr,
         gt_mdtable1 TYPE zbpctt_attr,
         gt_mdtable2 TYPE zbpctt_attr,
         gw_mdtable2 LIKE LINE OF gt_mdtable2,
         gt_mdtable3 TYPE zbpctt_attr,
         gt_mdtable4 TYPE zbpctt_attr,
         gw_mdtable4 LIKE LINE OF gt_mdtable4,
          BEGIN OF gw_finalattr,
           dim(32)      TYPE c,
           END OF gw_finalattr,
           gt_finalattr LIKE TABLE OF gw_finalattr,
           gt_tab1 LIKE TABLE OF gw_finalattr,
           gw_tab1 LIKE LINE OF gt_tab1,
           gt_tab2 LIKE TABLE OF gw_finalattr,
           gw_tab2 LIKE LINE OF gt_tab2.
    FIELD-SYMBOLS: <gfs_tab1>  TYPE STANDARD TABLE.
    FIELD-SYMBOLS: <gfs_tab2>  TYPE STANDARD TABLE,
                   <gfs_tab3>  TYPE STANDARD TABLE,
                   <gfs_tab4>  TYPE STANDARD TABLE.
    FIELD-SYMBOLS:<gfs_attr> TYPE any,
                              <gfs_field3> TYPE any,
                              <gfs_field4> TYPE any.
    DATA: gw_sortcond TYPE string.
    FIELD-SYMBOLS: <gfs_t_final>  TYPE STANDARD TABLE.
    FIELD-SYMBOLS: <gfs_final>  TYPE any.
    FIELD-SYMBOLS: <gfs_data> TYPE any .
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_env TYPE uja_dimension-appset_id OBLIGATORY.
    PARAMETERS: p_dim TYPE uja_dimension-dimension OBLIGATORY.
    SELECT-OPTIONS: s_member FOR /1cpmb/bfrdp3rp-mbr_name .
    PARAMETERS: p_hir TYPE /1cpmb/bfrdp3rp-/cpmb/hir.
    PARAMETERS:p_attr TYPE uj_attr_name MODIF ID m1.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: p_radio1 RADIOBUTTON GROUP g1 USER-COMMAND abc DEFAULT 'X',
                p_radio2 RADIOBUTTON GROUP g1.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    PARAMETERS: p_reason  TYPE zbpcbt007-reasoncd MODIF ID m1.
    SELECTION-SCREEN END OF BLOCK b3.
    *********************************************************************alv
    DATA  :gt_fcat    TYPE lvc_t_fcat.
    DATA: gw_ok_code TYPE sy-ucomm,
          gw_okcode  TYPE sy-ucomm.
    DATA: go_custom_container TYPE REF TO cl_gui_custom_container,
          gw_g_container  TYPE scrfname VALUE 'CC1',
          go_grid1        TYPE REF TO cl_gui_alv_grid.
    DATA:BEGIN OF gw_table,
          dimension TYPE uja_dimension-dimension,
         END OF gw_table,
         gt_tab LIKE TABLE OF gw_table ,
         BEGIN OF gw_member,
         mbr_name TYPE uj_dim_member,
           END OF gw_member ,
           gt_member LIKE TABLE OF gw_member,
           BEGIN OF gw_hir ,
           hir TYPE /1cpmb/bfrdp3rp-/cpmb/hir,
           END OF gw_hir,
           gt_hir LIKE TABLE OF gw_hir.
    DATA:gt_slis_fcat2 TYPE slis_t_fieldcat_alv,
              gw_slis_fcat2 LIKE LINE OF gt_slis_fcat2 .
    DATA:  lr_data    TYPE REF TO data.
    DATA  :gt_fcat1   TYPE lvc_t_fcat,
           gt_fcat2   TYPE lvc_t_fcat,
           gt_fcat3   TYPE lvc_t_fcat,
           gt_fcat2_t TYPE lvc_t_fcat,
           gw_fcat    LIKE LINE OF gt_fcat2,
           gw_fcat3    LIKE LINE OF gt_fcat3.
    DATA:  gt_fcat3_t LIKE gt_fcat3.
    DATA:  gw_desc TYPE uj_desc.
    DATA : gw_string  TYPE string,
           gw_str     TYPE string.
    DATA:  gw_len TYPE string,
          BEGIN OF gw_refdim,
            dimension TYPE uja_dimension-dimension,
          END OF gw_refdim,
          gt_refdim LIKE TABLE OF gw_refdim,
          gt_refdim_t LIKE TABLE OF gw_refdim,
          BEGIN OF gw_refdata,
            data_table TYPE tabname,
             desc_table TYPE tabname,
          END OF gw_refdata,
          gt_refdata LIKE TABLE OF gw_refdata,
          BEGIN OF gw_techattr,
            tech_name TYPE uja_dim_attr-tech_name,
            END OF gw_techattr,
            gt_techattr LIKE TABLE OF gw_techattr,
            gw_cond TYPE string.
    DATA:gw_hircond TYPE string.
    DATA: gt_dynpread TYPE TABLE OF dynpread,
          gw_dynpread LIKE LINE OF gt_dynpread,
          gw_dynpread2 LIKE LINE OF gt_dynpread,
          gw_dim TYPE string,
          gw_env TYPE string.
    FIELD-SYMBOLS: <gfs_w_tab1>      TYPE any,
                   <gfs_w_tab2>      TYPE any,
                   <gfs_w_tab3>      TYPE any,
                   <gfs_field>       TYPE any,
                   <gfs_field2>       TYPE any,
                   <gfs_field_final> TYPE any,
                   <gfs_s_fcat>      TYPE lvc_s_fcat,
                   <gfs_s_fcat2>     TYPE lvc_s_fcat,
                   <gfs_s_fcat3>     TYPE lvc_s_fcat
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dim.
      REFRESH gt_dynpread.
      gw_dynpread-fieldname = 'P_ENV'.
      APPEND gw_dynpread TO gt_dynpread.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname                         = sy-repid
          dynumb                         = sy-dynnr
    *     TRANSLATE_TO_UPPER             = ' '
    *     REQUEST                        = ' '
    *     PERFORM_CONVERSION_EXITS       = ' '
    *     PERFORM_INPUT_CONVERSION       = ' '
    *     DETERMINE_LOOP_INDEX           = ' '
    *     START_SEARCH_IN_CURRENT_SCREEN = 'X'
    *     start_search_in_main_screen    = ' '
    *     START_SEARCH_IN_STACKED_SCREEN = ' '
    *     START_SEARCH_ON_SCR_STACKPOS   = ' '
    *     SEARCH_OWN_SUBSCREENS_FIRST    = ' '
    *     SEARCHPATH_OF_SUBSCREEN_AREAS  = ' '
        TABLES
          dynpfields                     = gt_dynpread
        EXCEPTIONS
          invalid_abapworkarea           = 1
          invalid_dynprofield            = 2
          invalid_dynproname             = 3
          invalid_dynpronummer           = 4
          invalid_request                = 5
          no_fielddescription            = 6
          invalid_parameter              = 7
          undefind_error                 = 8
          double_conversion              = 9
          stepl_not_found                = 10
          OTHERS                         = 11.
      IF sy-subrc EQ 0.
        READ TABLE gt_dynpread INTO gw_dynpread INDEX 1.
        IF sy-subrc EQ 0.
          TRY .
              REFRESH gt_tab.
              SELECT dimension
              FROM uja_dimension CLIENT SPECIFIED
              INTO TABLE gt_tab
              WHERE mandt EQ sy-mandt
              AND   appset_id EQ gw_dynpread-fieldvalue.
              IF sy-subrc EQ 0.
                SORT gt_tab BY dimension.
                DELETE ADJACENT DUPLICATES FROM gt_tab COMPARING dimension.
                IF gt_tab IS NOT INITIAL.
                  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' "#EC CI_SUBRC
                     EXPORTING
    *           DDIC_STRUCTURE         = ''
                    retfield               = 'DIMENSION'
    *           PVALKEY                = ' '
                    dynpprog               = sy-repid
                    dynpnr                 = sy-dynnr
                    dynprofield            = 'P_DIM'(004)
    *           STEPL                  = 0
    *           WINDOW_TITLE           =
    *           VALUE                  = ' '
                    value_org              = 'S'
    *           MULTIPLE_CHOICE        = ' '
    *           display                = ''
    *           CALLBACK_PROGRAM       = ' '
    *           CALLBACK_FORM          = ' '
    *           CALLBACK_METHOD        =
    *           MARK_TAB               =
    *           IMPORTING
    *           USER_RESET             =
                    TABLES
                    value_tab              = gt_tab
    *           FIELD_TAB              =
    *           RETURN_TAB             =
    *           DYNPFLD_MAPPING        =
                    EXCEPTIONS
                    parameter_error        = 1
                    no_values_found        = 2
                     OTHERS                 = 3
                  IF sy-subrc NE 0.
                  ENDIF.
                ENDIF.
              ENDIF.
            CATCH cx_root.
          ENDTRY.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_member-low.
      REFRESH gt_dynpread.
      gw_dynpread-fieldname = 'P_ENV'.
      APPEND gw_dynpread TO gt_dynpread.
      gw_dynpread-fieldname = 'P_DIM'.
      APPEND gw_dynpread TO gt_dynpread.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname                         = sy-repid
          dynumb                         = sy-dynnr
    *     TRANSLATE_TO_UPPER             = ' '
    *     REQUEST                        = ' '
    *     PERFORM_CONVERSION_EXITS       = ' '
    *     PERFORM_INPUT_CONVERSION       = ' '
    *     DETERMINE_LOOP_INDEX           = ' '
    *     START_SEARCH_IN_CURRENT_SCREEN = 'X'
    *     start_search_in_main_screen    = ' '
    *     START_SEARCH_IN_STACKED_SCREEN = ' '
    *     START_SEARCH_ON_SCR_STACKPOS   = ' '
    *     SEARCH_OWN_SUBSCREENS_FIRST    = ' '
    *     SEARCHPATH_OF_SUBSCREEN_AREAS  = ' '
        TABLES
          dynpfields                     = gt_dynpread
        EXCEPTIONS
          invalid_abapworkarea           = 1
          invalid_dynprofield            = 2
          invalid_dynproname             = 3
          invalid_dynpronummer           = 4
          invalid_request                = 5
          no_fielddescription            = 6
          invalid_parameter              = 7
          undefind_error                 = 8
          double_conversion              = 9
          stepl_not_found                = 10
          OTHERS                         = 11.
      IF sy-subrc EQ 0.
        SORT gt_dynpread BY fieldname.
        DELETE ADJACENT DUPLICATES FROM gt_dynpread COMPARING fieldname.
        IF gt_dynpread IS NOT INITIAL.
          LOOP AT gt_dynpread INTO gw_dynpread.
            IF gw_dynpread-fieldname EQ 'P_ENV'.
              gw_env = gw_dynpread-fieldvalue.
            ELSEIF gw_dynpread-fieldname EQ 'P_DIM'.
              gw_dim = gw_dynpread-fieldvalue.
            ENDIF.
          ENDLOOP.
          IF sy-subrc EQ 0.
            CLEAR: gw_datatbl1, gt_member.
            SELECT SINGLE data_table
            INTO (gw_datatbl1)
            FROM uja_dimension CLIENT SPECIFIED
            WHERE mandt EQ sy-mandt
            AND   appset_id EQ gw_env
            AND   dimension EQ gw_dim.
            IF sy-subrc EQ 0.
              TRY .
                  REFRESH gt_member.
                  SELECT mbr_name
                  INTO TABLE gt_member
                  FROM (gw_datatbl1) CLIENT SPECIFIED
                  WHERE mandt EQ sy-mandt .
                  IF sy-subrc EQ 0.
                    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
                      EXPORTING
    *           DDIC_STRUCTURE         = ' '
              retfield               = 'MBR_NAME'
    *        PVALKEY                = ' '
              dynpprog               = sy-repid
              dynpnr                 = sy-dynnr
              dynprofield            = 'S_MEMBER'
    *        STEPL                  = 0
    *        WINDOW_TITLE           =
    *        VALUE                  = ' '
              value_org              = 'S'
    *        MULTIPLE_CHOICE        = ' '
    *        DISPLAY                = ' '
              callback_program       = sy-repid
              callback_form          = 'F4CALLBACK'
    *        CALLBACK_METHOD        =
    *        MARK_TAB               =
    *        IMPORTING
    *        USER_RESET             =
              TABLES
              value_tab              = gt_member
    *        FIELD_TAB              =
    *        RETURN_TAB             =
    *        DYNPFLD_MAPPING        =
              EXCEPTIONS
              parameter_error        = 1
                 no_values_found        = 2
                 OTHERS                 = 3
                    IF sy-subrc <> 0.
    * Implement suitable error handling here
                    ENDIF.
                  ENDIF.
                CATCH cx_root.
              ENDTRY.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_member-high.
      REFRESH gt_dynpread.
      gw_dynpread-fieldname = 'P_ENV'.
      APPEND gw_dynpread TO gt_dynpread.
      gw_dynpread-fieldname = 'P_DIM'.
      APPEND gw_dynpread TO gt_dynpread.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname                         = sy-repid
          dynumb                         = sy-dynnr
    *     TRANSLATE_TO_UPPER             = ' '
    *     REQUEST                        = ' '
    *     PERFORM_CONVERSION_EXITS       = ' '
    *     PERFORM_INPUT_CONVERSION       = ' '
    *     DETERMINE_LOOP_INDEX           = ' '
    *     START_SEARCH_IN_CURRENT_SCREEN = 'X'
    *     start_search_in_main_screen    = ' '
    *     START_SEARCH_IN_STACKED_SCREEN = ' '
    *     START_SEARCH_ON_SCR_STACKPOS   = ' '
    *     SEARCH_OWN_SUBSCREENS_FIRST    = ' '
    *     SEARCHPATH_OF_SUBSCREEN_AREAS  = ' '
        TABLES
          dynpfields                     = gt_dynpread
        EXCEPTIONS
          invalid_abapworkarea           = 1
          invalid_dynprofield            = 2
          invalid_dynproname             = 3
          invalid_dynpronummer           = 4
          invalid_request                = 5
          no_fielddescription            = 6
          invalid_parameter              = 7
          undefind_error                 = 8
          double_conversion              = 9
          stepl_not_found                = 10
          OTHERS                         = 11.
      IF sy-subrc EQ 0.
        SORT gt_dynpread BY fieldname.
        DELETE ADJACENT DUPLICATES FROM gt_dynpread COMPARING fieldname.
        IF gt_dynpread IS NOT INITIAL.
          LOOP AT gt_dynpread INTO gw_dynpread.
            IF gw_dynpread-fieldname EQ 'P_ENV'.
              gw_env = gw_dynpread-fieldvalue.
            ELSEIF gw_dynpread-fieldname EQ 'P_DIM'.
              gw_dim = gw_dynpread-fieldvalue.
            ENDIF.
          ENDLOOP.
          IF sy-subrc EQ 0.
            CLEAR: gw_datatbl1.
            SELECT SINGLE data_table
            INTO (gw_datatbl1)
            FROM uja_dimension CLIENT SPECIFIED
            WHERE mandt EQ sy-mandt
            AND   appset_id EQ gw_env
            AND   dimension EQ gw_dim.
            IF sy-subrc EQ 0.
              TRY .
                  REFRESH gt_member.
                  SELECT mbr_name
                  INTO TABLE gt_member
                  FROM (gw_datatbl1) CLIENT SPECIFIED
                  WHERE mandt EQ sy-mandt.
                  IF sy-subrc EQ 0.
                    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
                      EXPORTING
    *          DDIC_STRUCTURE         = ' '
                retfield               = 'MBR_NAME'
    *          PVALKEY                = ' '
                dynpprog               = sy-repid
                dynpnr                 = sy-dynnr
                dynprofield            = 'S_MEMBER'
    *          STEPL                  = 0
    *          WINDOW_TITLE           =
    *          VALUE                  = ' '
                value_org              = 'S'
    *          MULTIPLE_CHOICE        = ' '
    *          DISPLAY                = ' '
                callback_program       = sy-repid
                callback_form          = 'F4CALLBACK'
    *          CALLBACK_METHOD        =
    *          MARK_TAB               =
    *          IMPORTING
    *          USER_RESET             =
                TABLES
                value_tab              = gt_member
    *          FIELD_TAB              =
    *          RETURN_TAB             =
    *          DYNPFLD_MAPPING        =
                EXCEPTIONS
                parameter_error        = 1
                no_values_found        = 2
                OTHERS                 = 3
                    IF sy-subrc <> 0.
    * Implement suitable error handling here
                    ENDIF.
                  ENDIF.
                CATCH cx_root.
              ENDTRY.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    *&      Form  F4CALLBACK
    *       text
    *      -->RECORD_TAB   text
    *      -->SHLP         text
    *      -->CALLCONTROL  text
    FORM f4callback TABLES record_tab STRUCTURE seahlpres
                    CHANGING shlp TYPE shlp_descr
                             callcontrol TYPE ddshf4ctrl.
      callcontrol-no_maxdisp = ''.
    ENDFORM.                    "F4CALLBACK
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_hir.
      REFRESH gt_dynpread.
      CLEAR gw_dynpread.
      gw_dynpread-fieldname = 'P_ENV'.
      APPEND gw_dynpread TO gt_dynpread.
      gw_dynpread-fieldname = 'P_DIM'.
      APPEND gw_dynpread TO gt_dynpread.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname                         = sy-repid
          dynumb                         = sy-dynnr
    *     TRANSLATE_TO_UPPER             = ' '
    *     REQUEST                        = ' '
    *     PERFORM_CONVERSION_EXITS       = ' '
    *     PERFORM_INPUT_CONVERSION       = ' '
    *     DETERMINE_LOOP_INDEX           = ' '
    *     START_SEARCH_IN_CURRENT_SCREEN = 'X'
    *     start_search_in_main_screen    = ' '
    *     START_SEARCH_IN_STACKED_SCREEN = ' '
    *     START_SEARCH_ON_SCR_STACKPOS   = ' '
    *     SEARCH_OWN_SUBSCREENS_FIRST    = ' '
    *     SEARCHPATH_OF_SUBSCREEN_AREAS  = ' '
        TABLES
          dynpfields                     = gt_dynpread
        EXCEPTIONS
          invalid_abapworkarea           = 1
          invalid_dynprofield            = 2
          invalid_dynproname             = 3
          invalid_dynpronummer           = 4
          invalid_request                = 5
          no_fielddescription            = 6
          invalid_parameter              = 7
          undefind_error                 = 8
          double_conversion              = 9
          stepl_not_found                = 10
          OTHERS                         = 11.
      IF sy-subrc EQ 0.
        SORT gt_dynpread BY fieldname.
        DELETE ADJACENT DUPLICATES FROM gt_dynpread COMPARING fieldname.
        LOOP AT gt_dynpread INTO gw_dynpread.
          IF gw_dynpread-fieldname EQ 'P_ENV'.
            gw_env = gw_dynpread-fieldvalue.
          ELSEIF gw_dynpread-fieldname EQ 'P_DIM'.
            gw_dim = gw_dynpread-fieldvalue.
          ENDIF.
        ENDLOOP.
        IF sy-subrc EQ 0.
          CLEAR: gw_datatbl1.
          SELECT SINGLE data_table
          INTO (gw_datatbl1)
          FROM uja_dimension CLIENT SPECIFIED
          WHERE mandt EQ sy-mandt
          AND   appset_id EQ gw_env
          AND   dimension EQ gw_dim.
          IF sy-subrc EQ 0.
            REFRESH gt_member.
            TRY .
                SELECT /cpmb/hir
                INTO TABLE gt_hir
                FROM (gw_datatbl1) CLIENT SPECIFIED
                WHERE mandt EQ sy-mandt.
                IF sy-subrc EQ 0.
                  SORT gt_hir BY hir.
                  DELETE ADJACENT DUPLICATES FROM gt_hir COMPARING hir.
                  IF gt_hir IS NOT INITIAL.
                    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
                                   EXPORTING
    *                   DDIC_STRUCTURE         = ' '
                                     retfield               = '/CPMB/HIR'
    *                   PVALKEY                = ' '
                                    dynpprog               = sy-repid
                                    dynpnr                 = sy-dynnr
                                    dynprofield            = 'P_HIR'
    *                   STEPL                  = 0
    *                   WINDOW_TITLE           =
    *                   VALUE                  = ' '
                                    value_org              = 'S'
    *                   MULTIPLE_CHOICE        = ' '
    *                   DISPLAY                = ' '
    *                   CALLBACK_PROGRAM       = ' '
    *                   CALLBACK_FORM          = ' '
    *                   CALLBACK_METHOD        =
    *                   MARK_TAB               =
    *                 IMPORTING
    *                   USER_RESET             =
                                   TABLES
                                     value_tab              = gt_hir
    *                   FIELD_TAB              =
    *                   RETURN_TAB             =
    *                   DYNPFLD_MAPPING        =
                                  EXCEPTIONS
                                    parameter_error        = 1
                                    no_values_found        = 2
                                    OTHERS                 = 3
                    IF sy-subrc <> 0.
    * Implement suitable error handling here
                    ENDIF.
                  ENDIF.
                ENDIF.
              CATCH cx_root.
            ENDTRY.
          ENDIF.
        ENDIF.
      ENDIF.
    *       CLASS lcl_main DEFINITION
    CLASS lcl_main DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
                 create_alv1,
                 create_alv2,
                 create_alv3,
                 create_fieldcatalog,
                 create_dynamicalv,
                 merge_tables,
                 show_alv1
    ENDCLASS.                    "lcl_main DEFINITION
    *       CLASS lcl_main IMPLEMENTATION
    CLASS lcl_main IMPLEMENTATION.
      METHOD create_fieldcatalog.
        CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'                "#EC CI_SUBRC
                     EXPORTING
                       i_structure_name       = gw_datatbl
                     CHANGING
                       ct_fieldcat            = gt_fcat1
                     EXCEPTIONS
                       inconsistent_interface = 1
                       program_error          = 2
                       OTHERS                 = 3.
        IF sy-subrc <> 0.
    * Implement suitable error handling here
        ENDIF.
        CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'                "#EC CI_SUBRC
          EXPORTING
            i_structure_name       = gw_descrptbl
          CHANGING
            ct_fieldcat            = gt_fcat2
          EXCEPTIONS
            inconsistent_interface = 1
            program_error          = 2
            OTHERS                 = 3.
        IF sy-subrc <> 0.
    * Implement suitable error handling here
        ENDIF.
      ENDMETHOD.                    "create_fieldcatalog
      METHOD create_dynamicalv.
    *    DATA: lr_data    TYPE REF TO data.
        CLEAR lr_data.
        CALL METHOD cl_alv_table_create=>create_dynamic_table
                                                              "#EC CI_SUBRC
                     EXPORTING
    *               i_style_table             =
                       it_fieldcatalog           = gt_fcat2
    *               i_length_in_byte          =
                     IMPORTING
                       ep_table                  = lr_data
    *               e_style_fname             =
                     EXCEPTIONS
                       generate_subpool_dir_full = 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.
      ENDMETHOD.                    "create_dynamicalv
      METHOD merge_tables.
        SORT gt_fcat2 BY col_pos.
        ASSIGN lr_data->* TO <gfs_t_final>.
        LOOP AT <gfs_tab1> ASSIGNING <gfs_w_tab1>.
          APPEND INITIAL LINE TO <gfs_t_final> ASSIGNING <gfs_final>.
          LOOP AT gt_fcat2 ASSIGNING <gfs_s_fcat>.           "#EC CI_NESTED
            ASSIGN COMPONENT <gfs_s_fcat>-fieldname OF STRUCTURE
            <gfs_w_tab1> TO <gfs_field>.
            IF sy-subrc EQ 0 AND <gfs_field> IS ASSIGNED.
              ASSIGN COMPONENT <gfs_s_fcat>-fieldname OF STRUCTURE
              <gfs_final> TO <gfs_field_final>.
              IF sy-subrc EQ 0 AND <gfs_field_final> IS ASSIGNED.
                <gfs_field_final> = <gfs_field>.
              ENDIF.
    *** Creating dynamic where clause for the key fields
              IF <gfs_s_fcat>-key = 'X'.
                READ TABLE gt_fcat2_t ASSIGNING <gfs_s_fcat2>
                WITH KEY
                key       = abap_true
                fieldname = <gfs_s_fcat>-fieldname.
                IF sy-subrc EQ 0.
                  IF gw_string IS INITIAL.
    *Putting value into quotes
                    CONCATENATE `'` <gfs_field> `'` INTO gw_str.
    *Concatenating first field into string
                    CONCATENATE <gfs_s_fcat>-fieldname '=' gw_str
                    INTO gw_string SEPARATED BY space.
                    CLEAR gw_str.
                  ELSE.
    *Concatenating rest all key fields
                    CONCATENATE `'` <gfs_field> `'` INTO gw_str.
                    CONCATENATE gw_string 'AND' <gfs_s_fcat>-fieldname
                    '=' gw_str INTO gw_string SEPARATED BY space.
                    CLEAR gw_str.
                  ENDIF.
                ENDIF.
    *** End of Creation
              ENDIF.
            ENDIF.
          ENDLOOP.
          IF NOT gw_string IS INITIAL.
    *Concatenating sy-langu (-> always present)
            CONCATENATE gw_string 'AND LANGU = SY-LANGU'
            INTO gw_string SEPARATED BY space.
          ENDIF.
    *** Filling Description field based on dynamically created where clause
          LOOP AT <gfs_tab2> ASSIGNING <gfs_w_tab2> WHERE (gw_string).
                                                             "#EC CI_NESTED
            ASSIGN COMPONENT 'TXTLG' OF STRUCTURE <gfs_w_tab2>
            TO <gfs_field>.
            IF sy-subrc EQ 0 AND <gfs_field> IS ASSIGNED.
              ASSIGN COMPONENT 'TXTLG' OF STRUCTURE <gfs_final>
              TO <gfs_field_final>.
              IF sy-subrc EQ 0 AND <gfs_field_final> IS ASSIGNED.
                <gfs_field_final> = <gfs_field>.
              ENDIF.
            ENDIF.
          ENDLOOP.
          CLEAR gw_string.
        ENDLOOP.
      ENDMETHOD.                    "merge_tables
      METHOD create_alv3.
        CREATE DATA gr_r_ref TYPE TABLE OF (gw_datatbl).
        ASSIGN gr_r_ref->* TO <gfs_tab1>.
        SELECT *
        INTO TABLE <gfs_tab1>
        FROM (gw_datatbl) CLIENT SPECIFIED
        WHERE mandt EQ sy-mandt
        AND   mbr_name IN s_member
        AND   /cpmb/calc EQ 'N'.
        IF sy-subrc EQ 0.
          IF p_hir IS NOT INITIAL.
            CLEAR gw_hircond.
            CONCATENATE '/CPMB/HIR' 'NE' 'P_HIR' INTO gw_hircond
            SEPARATED BY space.
            DELETE <gfs_tab1> WHERE (gw_hircond).
          ENDIF.
          CLEAR: gr_r_ref.
          CREATE DATA gr_r_ref TYPE TABLE OF (gw_descrptbl).
          ASSIGN gr_r_ref->* TO <gfs_tab2>.
          SELECT *
          FROM (gw_descrptbl) CLIENT SPECIFIED
          INTO TABLE <gfs_tab2>
          WHERE mandt EQ sy-mandt
          AND langu EQ sy-langu.
          IF sy-subrc EQ 0.
            READ TABLE gt_refdata INTO gw_refdata INDEX 1.
            IF sy-subrc EQ 0.
              CLEAR gr_r_ref.
              CREATE DATA gr_r_ref TYPE TABLE OF (gw_refdata-data_table).
              ASSIGN gr_r_ref->* TO <gfs_tab3>.
              SELECT *
              INTO TABLE <gfs_tab3>
              FROM (gw_refdata-data_table) CLIENT SPECIFIED
              WHERE mandt EQ sy-mandt
              AND /cpmb/calc EQ 'N'.
              IF sy-subrc EQ 0.
                CLEAR gr_r_ref.
                CREATE DATA gr_r_ref TYPE TABLE OF (gw_refdata-desc_table).
                ASSIGN gr_r_ref->* TO <gfs_tab4>.
                SELECT *
                INTO TABLE <gfs_tab4>
                FROM (gw_refdata-desc_table) CLIENT SPECIFIED
                WHERE mandt EQ sy-mandt
                AND   langu EQ sy-langu.
                lcl_main=>create_fieldcatalog( ).
                gt_fcat2_t[] = gt_fcat2[].
                DELETE gt_fcat2 WHERE fieldname NE 'TXTLG'.
                APPEND LINES OF gt_fcat1 TO gt_fcat2.
                gw_len = lines( gt_fcat2 ).
                gw_len = gw_len + 1.
                gw_fcat-fieldname = 'TXTLG1'.
                gw_fcat-reptext   = 'Attribute Description'.
                gw_fcat-col_pos   = gw_len.
                gw_fcat-outputlen = 60.
                APPEND gw_fcat TO gt_fcat2.
                SORT gt_fcat2 BY fieldname.
                READ TABLE gt_techattr INTO gw_techattr INDEX 1.
                LOOP AT gt_fcat2 INTO gw_fcat.
                  READ TABLE gt_attr INTO gw_attr
                  WITH KEY tech_name = gw_fcat-fieldname.
                  IF sy-subrc EQ 0.
                    gw_fcat-reptext = gw_attr-caption.
                  ENDIF.
                  IF gw_fcat-fieldname = 'TXTLG'.
                    gw_fcat-outputlen = 60.
                  ENDIF.
                  MODIFY gt_fcat2 FROM gw_fcat TRANSPORTING
                  outputlen reptext .
                  IF gw_fcat-fieldname NE 'MBR_NAME'
                  AND gw_fcat-fieldname NE 'TXTLG'
                    AND gw_fcat-fieldname NE 'TXTLG1'
                  AND gw_fcat-fieldname NE gw_techattr-tech_name."gw_attrib.
                    gw_fcat-no_out = 'X'.
                    MODIFY gt_fcat2 FROM gw_fcat TRANSPORTING no_out.
                  ENDIF.
                ENDLOOP.
                lcl_main=>create_dynamicalv( ).
                lcl_main=>merge_tables( ).
                CLEAR gw_cond.
                READ TABLE gt_techattr INTO gw_techattr INDEX 1.
    *        CONCATENATE 'MBR_NAME =' '<Gfs_field>' INTO Gw_cond
    *        SEPARATED BY space.
                TRANSLATE gw_techattr-tech_name TO UPPER CASE.
                CONCATENATE `'` gw_techattr-tech_name `'`
                '=' '<Gfs_field>' INTO gw_cond
                SEPARATED BY space.
                CHECK NOT <gfs_t_final> IS INITIAL.
                SORT <gfs_t_final> BY (gw_techattr-tech_name).
                LOOP AT <gfs_tab3> ASSIGNING <gfs_w_tab3>.
                  ASSIGN COMPONENT 'MBR_NAME' OF STRUCTURE <gfs_w_tab3>
                  TO <gfs_field>.
                  IF sy-subrc EQ 0 AND <gfs_field> IS ASSIGNED.
                    DELETE <gfs_t_final> WHERE (gw_cond).
                  ENDIF.
                  IF <gfs_t_final> IS INITIAL.
                    EXIT.
                  ENDIF.
                ENDLOOP.
    *adding attribute description
                DATA gw_cond1 TYPE string.
                DATA gw_cond2 TYPE string.
                CLEAR gw_cond1.
               CONCATENATE `'` gw_techattr-tech_name `'` 'eq' '<gfs_field>'
               INTO gw_cond1 SEPARATED BY space.
                CLEAR gw_cond2.
                CONCATENATE 'TXTLG1' 'eq' 'SPACE'
                INTO gw_cond2 SEPARATED BY space.
                CLEAR gw_cond.
                CONCATENATE 'TXTLG' 'NE' 'SPACE' INTO gw_cond SEPARATED BY
                space.
                gw_sortcond = 'TXTLG'.
                SORT <gfs_tab4> BY (gw_sortcond).
                LOOP AT <gfs_t_final> ASSIGNING <gfs_final> WHERE
                  (gw_cond2).
                  ASSIGN COMPONENT gw_techattr-tech_name OF STRUCTURE
                  <gfs_final> TO <gfs_field>.
                  IF sy-subrc EQ 0 AND <gfs_field> IS ASSIGNED.
                    ASSIGN COMPONENT 'TXTLG1' OF STRUCTURE
                    <gfs_final> TO <gfs_field4>.
                    IF sy-subrc EQ 0 AND <gfs_field4> IS ASSIGNED.
                      LOOP AT <gfs_tab4> ASSIGNING <gfs_attr>
                        WHERE (gw_cond).
                        ASSIGN COMPONENT 2 OF STRUCTURE <gfs_attr> TO
                        <gfs_field2>.
                        IF sy-subrc EQ 0 AND <gfs_field2> IS ASSIGNED.
                          ASSIGN COMPONENT 5 OF STRUCTURE <gfs_attr>
                          TO <gfs_field3>.
                          IF sy-subrc EQ 0 AND <gfs_field3> IS ASSIGNED.
                            IF <gfs_field> EQ <gfs_field2>.
                              <gfs_field4> = <gfs_field3>.
                              MODIFY <gfs_t_final> FROM <gfs_final>
                              TRANSPORTING ('TXTLG1') WHERE (gw_cond1).
                              EXIT.
                            ENDIF.
                          ENDIF.
                        ENDIF.
                      ENDLOOP.
                    ENDIF.
                  ENDIF.
                ENDLOOP.
    *            LOOP AT <gfs_tab4> ASSIGNING <gfs_attr> WHERE (gw_cond) .
    *              ASSIGN COMPONENT 2 OF STRUCTURE <gfs_attr> TO
    *              <gfs_field2>.
    *              IF sy-subrc EQ 0 AND <gfs_field2> IS ASSIGNED.
    *                ASSIGN COMPONENT 5 OF STRUCTURE <gfs_attr> TO
    *                              <gfs_field3>.
    *                IF sy-subrc EQ 0 AND <gfs_field3> IS ASSIGNED.
    *                  LOOP AT <gfs_t_final> ASSIGNING <gfs_final>
    *                    WHERE (gw_cond2).
    *                    ASSIGN COMPONENT gw_techattr-tech_name OF STRUCTURE
    *                    <gfs_final> TO <gfs_field>.
    *                    IF sy-subrc EQ 0 AND <gfs_field> IS ASSIGNED.
    *                     ASSIGN COMPONENT 'TXTLG1' OF STRUCTURE <gfs_final>
    *                     TO <gfs_field4>.
    *                      IF sy-subrc EQ 0 AND <gfs_field4> IS ASSIGNED.
    *                        IF <gfs_field> EQ <gfs_field2>.
    *                          <gfs_field4> = <gfs_field3>.
    *                          MODIFY <gfs_t_final> FROM <gfs_final>
    *                          TRANSPORTING ('TXTLG1') WHERE (gw_cond1).
    *                          EXIT.
    *                        ENDIF.
    *                      ENDIF.
    *                    ENDIF.
    *                  ENDLOOP.
    *                ENDIF.
    *              ENDIF.
    *            ENDLOOP.
                IF <gfs_t_final> IS NOT INITIAL.
                  CALL SCREEN 9000.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDMETHOD.                    "create_alv3
      METHOD create_alv2.
        READ TABLE gt_techattr INTO gw_techattr INDEX 1.
        CONCATENATE gw_techattr-tech_name 'EQ' 'space' INTO gw_cond
        SEPARATED
       BY
        space.
        CREATE DATA gr_r_ref TYPE TABLE OF (gw_datatbl).
        ASSIGN gr_r_ref->* TO <gfs_tab1>.
        SELECT *
        INTO TABLE <gfs_tab1>
        FROM (gw_datatbl) CLIENT SPECIFIED
        WHERE mandt EQ sy-mandt
        AND mbr_name IN s_member
        AND   /cpmb/calc EQ 'N'
        AND (gw_cond).
        IF sy-subrc EQ 0.
          IF p_hir IS NOT INITIAL.
            CLEAR gw_hircond.
            CONCATENATE '/CPMB/HIR' 'NE' 'P_HIR' INTO gw_hircond
                  SEPARATED BY space.
            DELETE <gfs_tab1> WHERE (gw_hircond).
          ENDIF.
          CLEAR: gr_r_ref.
          CREATE DATA gr_r_ref TYPE TABLE OF (gw_descrptbl).
          ASSIGN gr_r_ref->* TO <gfs_tab2>.
          SELECT *
           FROM (gw_descrptbl) CLIENT SPECIFIED
           INTO TABLE <gfs_tab2>
           WHERE mandt EQ sy-mandt
           AND langu EQ sy-langu.
          IF sy-subrc EQ 0.
            lcl_main=>create_fieldcatalog( ).
            gt_fcat2_t[] = gt_fcat2[].
            DELETE gt_fcat2 WHERE fieldname NE 'TXTLG'.
            APPEND LINES OF gt_fcat1 TO gt_fcat2.
            SORT gt_fcat2 BY fieldname.
            LOOP AT gt_fcat2 INTO gw_fcat.
              READ TABLE gt_attr INTO gw_attr WITH KEY
                  tech_name = gw_fcat-fieldname.
              IF sy-subrc EQ 0.
                gw_fcat-reptext = gw_attr-caption.
              ENDIF.
              IF gw_fcat-fieldname = 'TXTLG'.
                gw_fcat-outputlen = 60.
              ENDIF.
              MODIFY gt_fcat2 FROM gw_fcat TRANSPORTING outputlen reptext.
    *      READ TABLE gt_attrib INTO gw_attrib INDEX 1.
    *      IF sy-subrc EQ 0.
              IF gw_fcat-fieldname NE 'MBR_NAME'
              AND gw_fcat-fieldname NE 'TXTLG'
              AND gw_fcat-fieldname NE gw_techattr-tech_name."gw_attrib.
                gw_fcat-no_out = 'X'.
                MODIFY gt_fcat2 FROM gw_fcat TRANSPORTING no_out.
              ENDIF.
    *      ENDIF.
            ENDLOOP.
            lcl_main=>create_dynamicalv( ).
            lcl_main=>merge_tables( ).
            CHECK NOT <gfs_t_final> IS INITIAL.
            SORT <gfs_t_final> BY ('MBR_NAME').
            CALL SCREEN 9000.
          ENDIF.
        ENDIF.
      ENDMETHOD.                    "create_alv2
      METHOD create_alv1.
        CREATE DATA gr_r_ref TYPE TABLE OF (gw_datatbl).
        ASSIGN gr_r_ref->* TO <gfs_tab1>.
        SELECT *
        FROM (gw_datatbl) CLIENT SPECIFIED
        INTO TABLE <gfs_tab1>
        WHERE mandt EQ sy-mandt
        AND   mbr_name IN s_member.
        IF sy-subrc EQ 0.
          IF p_hir IS NOT INITIAL.
            CLEAR gw_hircond.
            CONCATENATE '/CPMB/HIR' 'NE' 'P_HIR'
             INTO gw_hircond SEPARATED BY
               space.
            DELETE <gfs_tab1> WHERE (gw_hircond).
          ENDIF.
          CLEAR: gr_r_ref.
          CREATE DATA gr_r_ref TYPE TABLE OF (gw_descrptbl).
          ASSIGN gr_r_ref->* TO <gfs_tab2>.
          SELECT *
           FROM (gw_descrptbl) CLIENT SPECIFIED
           INTO TABLE <gfs_tab2>
           WHERE mandt EQ sy-mandt
           AND langu EQ sy-langu.
          IF sy-subrc EQ 0.
            lcl_main=>create_fieldcatalog( ).
            SORT gt_fcat2 BY col_pos fieldname.
            gt_fcat2_t[] = gt_fcat2[].
            DELETE gt_fcat2 WHERE fieldname NE 'TXTLG'.
            APPEND LINES OF gt_fcat1 TO gt_fcat2.
            SORT gt_fcat2 BY fieldname.
            SORT gt_attr BY tech_name.
            LOOP AT gt_fcat2 INTO gw_fcat .
              IF gw_fcat-reptext IS INITIAL.
                READ TABLE gt_attr INTO gw_attr
               WITH KEY tech_name = gw_fcat-fieldname BINARY SEARCH.
                IF sy-subrc EQ 0.
                  gw_fcat-reptext = gw_attr-caption.
                ELSE.
                  gw_fcat-reptext = gw_fcat-fieldname.
                ENDIF.
              ENDIF.
              IF gw_fcat-fieldname EQ 'OBJVERS'.
                gw_fcat-no_out = 'X'.
              ELSEIF gw_fcat-fieldname EQ 'ROWFLAG'.
                gw_fcat-no_out = 'X'.
              ELSEIF gw_fcat-fieldname EQ 'MBR_NAME'.
                gw_fcat-no_out = 'X'.
              ELSEIF gw_fcat-fieldname EQ '/CPMB/CALC'.
                gw_fcat-no_out = 'X'.
              ELSEIF gw_fcat-fieldname EQ 'TXTLG'.
                gw_fcat-outputlen = 70.
              ELSEIF gw_fcat-fieldname EQ '/CPMB/HIR'.
                gw_fcat-outputlen = 20.
              ENDIF.
              MODIFY gt_fcat2 FROM gw_fcat
              TRANSPORTING reptext no_out outputlen.
            ENDLOOP.
            lcl_main=>create_dynamicalv( ).
            lcl_main=>merge_tables( ).
            CHECK NOT <gfs_t_final> IS INITIAL.
    *        SORT <gfs_t_final> BY ('TXTLG').
            CALL SCREEN 9000.
          ENDIF.
        ENDIF.
      ENDMETHOD.                    "show_alv1
      METHOD show_alv1.
        IF go_custom_container IS INITIAL.
          CREATE OBJECT go_custom_container
            EXPORTING
    *          parent                      =
              container_name              = gw_g_container
    *          style                       =
    *          lifetime                    = lifetime_default
    *          repid                       =
    *          dynnr                       =
    *          no_autodef_progid_dynnr     =
            EXCEPTIONS
              cntl_error                  = 1
              cntl_system_error           = 2
              create_error                = 3
              lifetime_error              = 4
              lifetime_dynpro_dynpro_link = 5
              OTHERS                      = 6
          IF sy-subrc <> 0.
    *       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          CREATE OBJECT go_grid1
           EXPORTING
    *          i_shellstyle      = 0
    *          i_lifetime        =
             i_parent          = go_custom_container
    *         i_appl_events     = 'X'
    *          i_parentdbg       =
    *          i_applogparent    =
    *          i_graphicsparent  =
    *          i_name            =
    *          i_fcat_complete   = SPACE
           EXCEPTIONS
             error_cntl_create = 1
             error_cntl_init   = 2
             error_cntl_link   = 3
             error_dp_create   = 4
             OTHERS            = 5
          IF sy-subrc <> 0.
    *       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          CALL METHOD go_grid1->set_table_for_first_display   "#EC CI_SUBRC
    *       EXPORTING
    *         i_buffer_active               =
    *         i_bypassing_buffer            =
    *         i_consistency_check           =
    *         i_structure_name              =
    *          is_variant                    =
    *          i_save                        = 'X'
    **         i_default                     = 'X'
    *          is_layout                     =
    **         is_print                      =
    **         it_special_groups             =
    *          it_toolbar_excluding          =
    *         it_hyperlink                  =
    *         it_alv_graphics               =
    *         it_except_qinfo               =
    *         ir_salv_adapter               =
           CHANGING
             it_outtab                     = <gfs_t_final>
             it_fieldcatalog               = gt_fcat2
    *         it_sort                       =
    *         it_filter                     =
           EXCEPTIONS
             invalid_parameter_combination = 1
             program_error                 = 2
             too_many_lines                = 3
             OTHERS                        = 4.
          IF sy-subrc <> 0.
    *     Implement suitable error handling here
          ENDIF.
        ENDIF.
      ENDMETHOD.                    "SHOW_alv1
    ENDCLASS.                    "lcl_main IMPLEMENTATION
    AT SELECTION-SCREEN OUTPUT.
      IF p_radio1 EQ 'X'.
        LOOP AT SCREEN.
          IF screen-group1 = 'M1'.
            screen-active = 0.
            MODIFY SCREEN.
          ENDIF.
    *      IF screen-group1 = 'M'.
    *        screen-active    = 0.
    *        MODIFY SCREEN.
    *      ENDIF.
        ENDLOOP.
      ENDIF.
    *  IF p_radio2 EQ 'X'.
    *    LOOP AT SCREEN.
    *      IF p_reason EQ 30.
    *        IF screen-group1 = 'M2'.
    *          screen-active    = 0.
    *          MODIFY SCREEN.
    *        ENDIF.
    *      ENDIF.
    *    ENDLOOP.
    *  ENDIF.
    START-OF-SELECTION.
      IF p_radio1 EQ 'X'.
        SELECT SINGLE data_table desc_table
        INTO (gw_datatbl , gw_descrptbl)
        FROM uja_dimension CLIENT SPECIFIED
        WHERE mandt EQ sy-mandt
        AND   appset_id EQ p_env
        AND   dimension EQ p_dim.
        IF sy-subrc EQ 0.
          SELECT appset_id dimension tech_name attribute_name caption
          INTO TABLE gt_attr
          FROM uja_dim_attr CLIENT SPECIFIED
          WHERE mandt EQ sy-mandt
          AND   appset_id EQ p_env
          AND   dimension EQ p_dim.
          IF sy-subrc EQ 0.
            lcl_main=>create_alv1( ).
          ENDIF.
        ENDIF.
      ELSE.
        IF p_reason NE 30.
          SELECT *
          INTO TABLE gt_except
          FROM zbpcbt007 CLIENT SPECIFIED
          WHERE mandt EQ sy-mandt
          AND   appset_id EQ p_env
          AND   dimension EQ p_dim
          AND   reasoncd  EQ p_reason.
          IF sy-subrc EQ 0.
            SELECT SINGLE data_table desc_table
                 INTO (gw_datatbl,gw_descrptbl)
                 FROM uja_dimension CLIENT SPECIFIED
                 WHERE mandt EQ sy-mandt
                 AND   appset_id EQ p_env
                 AND   dimension EQ p_dim.
            IF sy-subrc EQ 0.
              SELECT appset_id dimension tech_name attribute_name caption
              INTO TABLE gt_attr
              FROM uja_dim_attr CLIENT SPECIFIED
              WHERE mandt EQ sy-mandt
              AND   appset_id EQ p_env
              AND   dimension EQ p_dim.
              IF sy-subrc EQ 0.
                gt_except_t[] = gt_except[].
                SORT gt_except_t.
                DELETE ADJACENT DUPLICATES FROM gt_except_t.
                IF gt_except_t IS NOT INITIAL.
                  SELECT tech_name
                  INTO TABLE gt_techattr
                  FROM uja_dim_attr CLIENT SPECIFIED
                  FOR ALL ENTRIES IN gt_except_t
                  WHERE mandt EQ sy-mandt
                  AND   appset_id EQ p_env
                  AND   dimension EQ p_dim
                  AND   attribute_name EQ gt_except_t-attrib.
                  IF sy-subrc EQ 0.
                    lcl_main=>create_alv2( ).
                  ENDIF.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.
        ELSEIF p_reason EQ 30.
          SELECT SINGLE data_table desc_table
          INTO (gw_datatbl,gw_descrptbl)
          FROM uja_dimension CLIENT SPECIFIED
          WHERE mandt EQ sy-mandt
          AND   appset_id EQ p_env
          AND   dimension EQ p_dim.
          IF sy-subrc EQ 0.
    *        gt_except_t[] = gt_except[].
    *        SORT gt_except_t BY attrib.
    *        DELETE ADJACENT DUPLICATES FROM gt_except_t COMPARING attrib.
    *        IF gt_except_t IS NOT INITIAL.
            SELECT refdimension
            INTO TABLE gt_refdim
            FROM zbpcbt009 CLIENT SPECIFIED
    *          FOR ALL ENTRIES IN gt_except_t
            WHERE mandt EQ sy-mandt
            AND   appset_id EQ p_env
            AND   dimension EQ p_dim
            AND   attrib EQ p_attr."gt_except_t-attrib.
            IF sy-subrc EQ 0.
              gt_refdim_t[] = gt_refdim[].
              SORT gt_refdim_t BY dimension.
              DELETE ADJACENT DUPLICATES FROM gt_refdim_t COMPARING
              dimension.
              IF gt_refdim_t IS NOT INITIAL.
                SELECT data_table desc_table
                             INTO TABLE gt_refdata
                             FROM uja_dimension CLIENT SPECIFIED
                             FOR ALL ENTRIES IN gt_refdim_t
                             WHERE mandt EQ sy-mandt
                             AND   appset_id EQ p_env
                             AND   dimension EQ gt_refdim_t-dimension.
                IF sy-subrc EQ 0.
                  SELECT appset_id dimension tech_name attribute_name
                  caption
                  INTO TABLE gt_attr
                  FROM uja_dim_attr CLIENT SPECIFIED
                  WHERE mandt EQ sy-mandt
                  AND   appset_id EQ p_env
                  AND   dimension EQ p_dim.
                  IF sy-subrc EQ 0.
                    SELECT  tech_name
                    INTO TABLE gt_techattr
                    FROM uja_dim_attr CLIENT SPECIFIED
    *                  FOR ALL ENTRIES IN gt_except_t
                    WHERE mandt EQ sy-mandt
                    AND   appset_id EQ p_env
                    AND   dimension EQ p_dim
                      AND   attribute_name EQ p_attr."gt_except_t-attrib.
                    IF sy-subrc EQ 0.
                      REFRESH: gt_refdim_t.",gt_except_t.
                      lcl_main=>create_alv3( ).
                    ENDIF.
                  ENDIF.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.
    *      ENDIF.
    *      ENDIF.
        ENDIF.
      ENDIF.
    *&      Module  SHOW_ALV1  OUTPUT
    *&-------

    Yes you can, although you need to do it slightly differently, depending on what your 'original' form is doing.
    You end up having to do two things:
    1. In your second tabular form, you need to explicitly identify the relevant form fields using calls to the relevant APEX_ITEM functions - as well as this, you need to 'manually' specify the array number in the arguments for the function call, ensuring it doesn't overlap with your original form. Normally, this aspect is done for you.
    2. Create your own custom CRUD processes, referencing the above elements. There are a few threads floating around the forum relating to how to deal with this. Do a search for "APEX_APPLICATION.G_F" or "HTMLDB_APPLICATION.G_F" for pointers.
    Happy hunting!

  • Set Default Layout in Reports in a Single Screen

    Hi,
    We have a report, with one screen. But is is divided into 2 parts. The upper report is showing different data compared to the data shown in the lower report.
    We have used OO to display the output. However, when choosing the default layout for each of the section, since it is contained in a single screen, it will only retrieve one default layout for both report. Is it possible to set a default layout, each for the two sections of the report?
    Thanks,
    Louisse

    Hi
    If you're using ALV OO, you can manage several variants in the same report, that means a specific variant for every grid.
    It needs to set a different value (for every grid) in the field IS_VARIANT-HANDLE (IS_VARIANT is a parameter of method SET_TABLE_FOR_FIRST_DISPLAY, structurated like DISVARIANT).
      data: lt_varuant1 type disvariant.
      data: lt_varuant2 type disvariant.
      lt_varuant1-report   = sy-repid.
      lt_varuant1-username = sy-uname.
      lt_varuant1-handle   = 'ALV1'.
      CALL METHOD grid_1->set_table_for_first_display
        EXPORTING
          IS_VARIANT = lt_variant1
      lt_varuant2-report   = sy-repid.
      lt_varuant2-username = sy-uname.
      lt_varuant2-handle   = 'ALV2'.
      CALL METHOD grid_2->set_table_for_first_display
        EXPORTING
          IS_VARIANT = lt_variant2
    Max

Maybe you are looking for

  • XI ADAPTER IN XI

    Hi I am getting the below error in sxmb_moni when I selected the XI adapter in receiver side I need to pass some credentails like Target host Service Number path Authentication data wht details i need to specify there  because i specified the BI deta

  • Problem while transporting Screen exit object from DEV to QAS client

    Hello All, I have developed screen exit for tcode 'ME51N' to add customer field in newly added TAB. To grayout that field in display mode, I have added code on the PBO event of that screen. Code for PBO even has been written inside the include. Exit

  • Can I use keywords in slideshow?

    I am trying to figure out a good way to organize my photos. Some are slides and things I have scanned in, so I use "description" to put a code that lets me know where to find the photo if I need to look it up. I use "title" for what the photo is abou

  • Metadata in SQL

    Hi, I have a PL-SQL procedure that is doing some smart polygons and other types of selections and saves the results into temporary table which I then include in a base map and generate with different style to mark the selection. At the moment it's ho

  • Can not sync iTunes to iPod classic 60GB

    Hello!I am having a problem to sync my iPod Classic to my iTunes (on a PowerBook G4). It can detect it although I am getting the following message ''Attempting to copy to hard disk +"Marco's iPod" failed.The disk could not be read from or written to'