How to show a variable at titlebar of alv screen

Hi,
I want to say that :
Data: number type i.
Number  = 100.
Set TITLEBAR 'ABC' .
'I want to say'  100 'of'  500 'records have been selected'.
How can I do that?
Thanks.

Declare your TITLEBAR like this way
and while calling your title bar
Data: number type i.
Number = 100.
data : v_text(2) type c value 'of'.
data : v_stext(50) type c.
v_stext = 'records have been selected'.
set titlebar 'ABC' with number v_text '500' v_stext .

Similar Messages

  • How to show argument variable names to webservice client

    Hi java expert(S)!
    This is sri, i am creating a webservice using sun java studio enterprise 8.1 IDE, my problem is consumer(from .net) say ,parameter names are not clear or visible. say, for example, my webservice method look like
    public java.lang.String login(final String clientid, final String password) throws java.rmi.RemoteException {...}
    to me but for webservice client String login(String_1, String_2). so how to show argument variables to client
    webservice client needs to know argument names for proper usage.
    Any body knows how to do this, Any help will be appreciated!!!!!
    Thanks & Regards,
    SRI.

    hI
    i have posted my wsdl below
    If you go through , you can find that in order to call a method , we have to supply string or int arguments but those names are not shown
    for example to call login , you need to supply 2 string arguments but how do you know first one is username and second one is for password.
    it shows simply string_1 and string_2 as arguments, instead if it shows login(String username,String password) for caller(webservice client), it will be easy to handle you know.
    How to do this????
    <definitions name="mysws" targetNamespace="urn:mysws/wsdl">
    &#8722;
         <types>
    &#8722;
         <schema targetNamespace="urn:mysws/types">
    &#8722;
         <complexType name="getData">
    &#8722;
         <sequence>
    <element name="String_1" type="string" nillable="true"/>
    <element name="String_2" type="string" nillable="true"/>
    <element name="int_3" type="int"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="getDataResponse">
    &#8722;
         <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="getMoreRows">
    &#8722;
         <sequence>
    <element name="int_1" type="int"/>
    <element name="int_2" type="int"/>
    <element name="int_3" type="int"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="getMoreRowsResponse">
    &#8722;
         <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="insertData">
    &#8722;
         <sequence>
    <element name="String_1" type="string" nillable="true"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="insertDataResponse">
    &#8722;
         <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="login">
    &#8722;
         <sequence>
    <element name="String_1" type="string" nillable="true"/>
    <element name="String_2" type="string" nillable="true"/>
    <element name="String_3" type="string" nillable="true"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="loginResponse">
    &#8722;
         <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="logout">
    &#8722;
         <sequence>
    <element name="String_1" type="string" nillable="true"/>
    <element name="String_2" type="string" nillable="true"/>
    </sequence>
    </complexType>
    &#8722;
         <complexType name="logoutResponse">
    &#8722;
         <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <element name="getData" type="tns:getData"/>
    <element name="getDataResponse" type="tns:getDataResponse"/>
    <element name="getMoreRows" type="tns:getMoreRows"/>
    <element name="getMoreRowsResponse" type="tns:getMoreRowsResponse"/>
    <element name="insertData" type="tns:insertData"/>
    <element name="insertDataResponse" type="tns:insertDataResponse"/>
    <element name="login" type="tns:login"/>
    <element name="loginResponse" type="tns:loginResponse"/>
    <element name="logout" type="tns:logout"/>
    <element name="logoutResponse" type="tns:logoutResponse"/>
    </schema>
    </types>
    &#8722;
         <message name="myswsSEI_getData">
    <part name="parameters" element="ns2:getData"/>
    </message>
    &#8722;
         <message name="myswsSEI_getDataResponse">
    <part name="result" element="ns2:getDataResponse"/>
    </message>
    &#8722;
         <message name="myswsSEI_getMoreRows">
    <part name="parameters" element="ns2:getMoreRows"/>
    </message>
    &#8722;
         <message name="myswsSEI_getMoreRowsResponse">
    <part name="result" element="ns2:getMoreRowsResponse"/>
    </message>
    Regards,
    Sri

  • How to show a variable screen when clicking on direct link of report in ,when that report is used as target in RRI alsoRRI

    Hi All,
    I have created RRI between two reports and the type is web template/WAD.
    My requirement is to show the variable screen of target report when clicked on direct link and it should not show the var. screen if it goes from jump/go to.
    while currently I can not see var. screen on both the places and when switching the var. scree. display on in web template , it shows the screen at both the places.
    Please suggest.
    Thanks,
    Anu

    Hi Anu,
    "And when I am using another var. in assignment details which is ready for input (in both the queries), its not helping."
    Did you try using such a variable? What kind of a problem do you face? I am sorry I am still trying to understand your problem. I am just saying that which variable you use is not important for the first query. Only in the second query, add a variable with ready for input (I am not sure why the other doesn't work, I just tried and it gave an error, that's why I suggest this) and in RRI connection make the assignment with this variable. Please try this and let me know the result.

  • How to show the variable values in key format in the information tab

    Dear all
      in the information tab of the query, we can see all the filters and the variable value. But we can only see the infoobject <b>text</b> of this variable, how can we do if the user needs to see the <b>key</b> of this variable?

    I've referred to the Web API, and find a way to display some specified variable, but since this is the standard webtemplate and we need to show all the possbible variable used in the query. Anybody has better solution?
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="GET_ITEM"/>
             <param name="NAME" value="StaticFilter"/>
             <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_TEXT_ELEMENTS"/>
             <param name="DATA_PROVIDER" value="DP"/>
             <param name="CAPTION" value="SAP_BW_TEXT?program=SAPLRRSV&amp;key=722"/>
             <param name="GENERATE_LINKS" value=""/>
             <param name="WIDTH" value="330"/>
             <param name="ELEMENT_TYPE_100" value="VARIABLE_KEY" />
             <param name="ELEMENT_NAME_100" value="0P_WBSO"/>
             <param name="ELEMENT_TYPE_101" value="VARIABLE_KEY" />
             <param name="ELEMENT_NAME_101" value="0P_PRJ"/>
             ITEM:            FILTERS
    </object>

  • 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!

  • How to show the "SIA name" in the CMC screen(s) for administration ( BI 4.1 SP5)

    When logging on to "BI4" (cmc) we have several options.
    First option: the web page for the login.
    Our system has 3 SIA's ( DEV , TEST , PROD ), three Tomcat "web app servers" with respective urls
    DEV is a simple one: everything on one machine.
    (exceptions: databases in Oracle, IFRS / OFRS are NAS mapped to D:/something on the BI4-DEV server)
    TEST is separated:
    tomcat on an application server (url:bi4-web-test) ,
    one "management server" BI4-MAN-TEST for SIA,
    a "processing server" BI4-PRO-TEST for the processing services.
    PROD is much like test, only more processing servers on extra machines
    BUT
    logging on to CMC, at either one of these 3 URLs : http:/<siaservername>/BOE/CMC/ ,
    I still have the option: "Server:" ( BI4-DEV , BI4MAN-TEST, BI4MAN-PROD : three different "manager" or SIA names)
    So starting from BI4-DEV, I can log on to BI4-PROD
    My problem: the URL shown in the browser navbar now does NOT tell me any more at which server I am working. The url only shows where I logged in.
    Is it possible to SHOW the ACTUAL SERVER somewhere - say next to the logged-in user name ?
    Instead having a page header showing:
    ... <preferences> ... Welcome, Administrator
    I imagine it showing:
    ... <preferences> ... Welcome, Administrator ON <SIA>
    Is this at all possible ?
    In Boxi 3.1 we could modify the "header layout" for InfoView. Users would see our company logo, their login name ... but we never did that for boxi 3.1 "CMC"
    Now in BI4.1 , with the much more complicated setup, we want to do that.
    I did not find it in the "Administrators' Guide" .... yet.
    Hans Rens,
    Brussels

    ( long reply)
    Thank you for this First step.
    Though reading through your reply, I understand that my question was not clear.
    On the (Launchpad) LOGIN page, I see the company name. That page thus was “customized”
    On the CMC login page, we didn’t customize it. We judged that “Administrators know what they are doing”
    and that “ICT personnel can live with reading the SAP logo instead of company logo/name/colours”
    BUT
    Once logged in to the CMC, every “internal page” (the menu, the Universes page, the Applications page, the Users and Groups – page … ) have a uniform header saying :
    Welcome: HANREN | Preferences | | Log Off
    (yes, HANREN is the name of the BI User logged on)
    I would like to make it something like :
    Welcome: HANREN | BI4MAN-PROD | Preferences | | Log Off
    Where the red name is “the name of the SIA, a.k.a. “manager server” for the (prod) cluster. (or test cluster – and when nothing is showing, we will know “this is DEV” because we “did not customize that one” )
    WHY ?
    At login, everybody KNOWS where he is logging in to, because you need to supply the SERVER NAME
    But further on, working in two (or more) browser windows / tabs, one needs a way to find “where I am”.
    This goes fine, when logging in to DEV on the DEV URL, then opening a second window and logging in to the TEST URL and on the test sia.
    But SWITCHING from one window to another tab … a small indicator would be very helpful.
    Lucky escape ?
    We did have a problem recently, were two admins were loggin on / off to the different systems, looking for differences to correct something … but nobody wanted to “correct” a system that was working well.
    It was quite frustrating to find out that it was “very easy” to think I was working on system1 (in the url) while actually connected to the system3(sia)
    OK, we saw that in time, before the problem from system3 had been “implemented” on system1, instead of applying the solution (settings of working system1) to the faulty system3.
    But the stress of the error found, the search for solutions “asap” … has to be counted in. If there is a simple way to “know” where one is working, instead of having to “guess” , human mistakes can be brought to a minimum.
    This morning I tested again: it is perfectly possible, to open 3 browser windows on exactlu the same URL, then open 3 DIFFERENT CMS logins : one on prod, another on test, a third one with my colleagues login also on test … and the navigation bar will NOT show who is adding user groups in which system.
    Thank you for the first step hint, though. I’ll add it to our documentation.
    It is a little different in BI 4.x than in our boxi-3.x setup )

  • How to show PowerPoint presentation using laptop as 2nd screen

    I bought my Playbook to use as a second screen for my laptop.  Apparently I can't do that.  Now I want to use my Playbook to control the PowerPoint on my laptop so that I can show it to clients.  My laptop doesn't appear to have an HDMI port.  Any solutions? (It has a port that looks like HDMI but one side is square instead of 45 degrees.

    you need to check with the  laptop maker and check if your laptop has hdmi otherwise wont be possible
    http://btsc.webapps.blackberry.com/btsc/microsites/search.do?cmd=displayKC&docType=kc&externalId=KB2...

  • How to show up "Photo Tour Bar" in full screen mode under Aperture 2?

    HELLO,
    Mine is a MBA with Aperture 2.
    I am unable to show up the photo tour bar in full screen mode>
    What should I do to get the photo tour bar on the top of my full screen mode?
    Camera Canon 40D.

    Hi 153957,
    Thanks for the response.
    I could see the film strip on the bottom ok in Browser plus viewer mode.
    When I go to viewer screen the full screen mode and I could not see the Photo tool bar-sorry I spelt it "Tour" in my question.
    Now I realised that the Photo Tool bar only appear when I move the cursor to the top of the screen.
    However in full screen mode I am unable to bring my inspector! Is that possible?

  • How to show all table fields in correct alv disply

    Hi all,
    This is my report that disply in ALV . but this is only displying the join table (t_p0001_p0002) fields.i want to disply the other two table fields i.e t_pa0315 and t_pa0007.what is the logic to ALV disply the other two table fields like the table t_pa0001_pa0002.pls help me regarding this.
    send me the code its urgent.
    thanks!
    Vipin
    pls find the code below:->
    REPORT Y_WP03 .
    DEFINE m_fieldcat.
      add 1 to ls_fieldcat-col_pos.
      ls_fieldcat-fieldname   = &1.
      ls_fieldcat-ref_tabname = &2.
      append ls_fieldcat to lt_fieldcat.
    END-OF-DEFINITION.
    TYPE-POOLS: slis.                      " ALV Global types
    tables:pa0001,
           pa0315,
           pa0007,
           disvariant.
         Selection-Screen
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    *SELECTION-SCREEN SKIP 1.
    SELECT-OPTIONS: s_pernr FOR pa0001-pernr.            " Personnel No
    SELECT-OPTIONS: s_orgeh FOR pa0001-orgeh .           " Organization unit
    SELECT-OPTIONS: s_werks FOR pa0001-werks.            " Personnel Area
    SELECT-OPTIONS: s_plans FOR pa0001-plans.            " Position
    SELECT-OPTIONS: s_ebeln FOR pa0315-ebeln.            " Purchase order
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN BEGIN OF BLOCK b2k2 WITH FRAME TITLE text-002.
    *SELECT-OPTIONS: s_var FOR disvariant-variant.
    PARAMETERS: p_disva1 LIKE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK b2k2.
                     Type Definition                                     *
    TYPES :
    BEGIN OF ty_pa0001_pa0002,
        pernr TYPE pa0001-pernr , " Personnel no.
        endda TYPE pa0001-endda , " end date
        begda TYPE pa0001-begda , " start date
        bukrs TYPE pa0001-bukrs , " company code
        werks TYPE pa0001-werks , " Personnnel area
        persg TYPE pa0001-persg , " Employee group
        persk TYPE pa0001-persk , " Employee subgroup
        btrtl TYPE pa0001-btrtl , " Personnnel subarea
        abkrs TYPE pa0001-abkrs , " Payroll area
        kostl TYPE pa0001-kostl , " cost center
        orgeh TYPE pa0001-orgeh , " Organizational Unit
        plans TYPE pa0001-plans , " Position
        nachn TYPE pa0002-nachn , " Last name
        vorna TYPE pa0002-vorna , " First name
        midnm TYPE pa0002-midnm , " Middle name
      END   OF ty_pa0001_pa0002 ,
    BEGIN OF ty_pa0315,
       pernr TYPE pa0315-pernr , " Personnel no.
       kostl TYPE pa0315-kostl , " Sending cost center
       lstar TYPE pa0315-lstar , " Activity type
       werks TYPE pa0315-werks , " Plant
       lifnr TYPE pa0315-lifnr , " Vendor number
       ebeln TYPE pa0315-ebeln , " Sending pruchase ord
       ebelp TYPE pa0315-ebelp , " Sending PO item
       lstnr TYPE pa0315-lstnr , " Activity number
    END   OF ty_pa0315,
    BEGIN  OF ty_pa0007,
      pernr TYPE pa0007-pernr,
      schkz TYPE pa0007-schkz,
    END  OF ty_pa0007.
    *BEGIN  OF ty_pa0002,
    pernr TYPE pa0002-pernr,
    nachn TYPE pa0002-nachn,
    vorna TYPE pa0002-vorna,
    midnm TYPE pa0002-midnm,
    *END  OF ty_pa0002.
                     Data Declaration                                    *
    DATA :
      t_pa0001_pa0002 TYPE STANDARD TABLE OF ty_pa0001_pa0002 ,
      w_pa0001_pa0002 TYPE ty_pa0001_pa0002 ,
      t_pa0315 TYPE STANDARD TABLE OF ty_pa0315 ,
      w_pa0315 TYPE ty_pa0315 ,
      t_pa0007 TYPE STANDARD TABLE OF ty_pa0007 ,
      w_pa0007 TYPE ty_pa0007 .
    t_pa0002 TYPE STANDARD TABLE OF ty_pa0002 ,
    w_pa0002 TYPE ty_pa0002 .
    START-OF-SELECTION .
      SELECT a~pernr
             a~endda
             a~begda
             a~bukrs
             a~werks
             a~persg
             a~persk
             a~btrtl
             a~abkrs
             a~kostl
             a~orgeh
             a~plans
             b~nachn
             b~vorna
             b~midnm
             INTO TABLE t_pa0001_pa0002
             FROM pa0001 AS a INNER JOIN pa0002 AS b
             ON apernr = bpernr
             WHERE a~pernr IN s_pernr
             AND   a~werks IN s_werks
             AND   a~orgeh IN s_orgeh
             AND   a~plans IN s_plans.
      SORT t_pa0001_pa0002 BY pernr .
      IF NOT t_pa0001_pa0002[] IS INITIAL .
        SELECT pernr
               kostl
               lstar
               werks
               lifnr
               ebeln
               ebelp
               lstnr
               FROM pa0315
               INTO TABLE t_pa0315
               FOR ALL ENTRIES IN t_pa0001_pa0002
               WHERE pernr = t_pa0001_pa0002-pernr
               AND   kostl = t_pa0001_pa0002-kostl
               AND   ebeln IN s_ebeln.
        SELECT pernr
               schkz
               FROM pa0007
               INTO TABLE t_pa0007
               FOR ALL ENTRIES IN t_pa0001_pa0002
               WHERE pernr = t_pa0001_pa0002-pernr.
        SELECT pernr
               nachn
               vorna
               midnm
               FROM pa0002
               INTO TABLE t_pa0002
               FOR ALL ENTRIES IN t_pa0001
               WHERE pernr = t_pa0001-pernr .
      ENDIF.
    PERFORM f_display_data.
    FORM f_display_data.
      DATA:
        ls_fieldcat TYPE slis_fieldcat_alv,
        lt_fieldcat TYPE slis_t_fieldcat_alv.
    Build the field catalog
      m_fieldcat 'PERNR' 'PA0001'.
      m_fieldcat 'NACHN' 'PA0002'.
      m_fieldcat 'VORNA' 'PA0002'.
      m_fieldcat 'MIDNM' 'PA0002'.
      m_fieldcat 'BUKRS' 'PA0001'.
      m_fieldcat 'WERKS' 'PA0001'.
      m_fieldcat 'PERSG' 'PA0001'.
      m_fieldcat 'PERSK' 'PA0001'.
      m_fieldcat 'BTRTL' 'PA0001'.
      m_fieldcat 'ABKRS' 'PA0001'.
      m_fieldcat 'ORGEH' 'PA0001'.
      m_fieldcat 'PLANS' 'PA0001'.
      m_fieldcat 'SCHKZ' 'PA0007'.
      m_fieldcat 'KOSTL' 'PA0315'.
      m_fieldcat 'LSTAR' 'PA0315'.
      m_fieldcat 'WERKS' 'PA0315'.
      m_fieldcat 'LIFNR' 'PA0315'.
      m_fieldcat 'EBELN' 'PA0315'.
      m_fieldcat 'EBELP' 'PA0315'.
      m_fieldcat 'LSTNR' 'PA0315'.
      m_fieldcat 'BEGDA' 'PA0001'.
      m_fieldcat 'ENDDA' 'PA0001'.
    Display the list
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program      = sy-cprog
          i_callback_user_command = 'USER_COMMAND'
          it_fieldcat             = lt_fieldcat
        TABLES
          t_outtab                = t_pa0001_pa0002.
    ENDFORM.                               " F_DISPLAY_DATA_VBAK
          FORM USER_COMMAND                                             *
    FORM user_command USING u_ucomm     TYPE syucomm
                            us_selfield TYPE slis_selfield.     "#EC CALLED
      CASE u_ucomm.
        WHEN '&IC1'.
          READ TABLE t_pa0001_pa0002 INDEX us_selfield-tabindex INTO
    w_pa0001_pa0002.
          CHECK sy-subrc EQ 0.
      ENDCASE.
    ENDFORM.                               " USER_COMMAND

    Hey,
    Look at ur code.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = sy-cprog
    i_callback_user_command = 'USER_COMMAND'
    it_fieldcat = lt_fieldcat
    TABLES
    t_outtab = <b>t_pa0001_pa0002</b>.
    Here you're passing only the join table t_pa0001_pa0002. If you want to display the other tables as well, then u must have an internal table that has the columns of all the 3 tables. Then u need to buil;d the fieldcatalog accordingly and then display that table,
    Cheers,
    Sam

  • How to show more than one image on my screen at same time?

    I recently upgraded to PS-CS4 from CS3 and notice that I can only view one image on my screen. Is there a way to view more than one image on the screen at the same time? I cannot seem to find a way to change this feature.
    Thanks, Richie

    John Joslin wrote:
    In addition, if you don't like the tabs, select Float All in Windows from the Arrange Documents drop-down in the Menu bar up top.
    Or keep pressing the F key.
    The drop-down bar also has a conveneint way of fitting multiple images on the screen. See the illustration below:

  • How to show check box in ALV grid??

    Hi All,
         I am using an option edit in the feild catalogue which allows me to change the values in a few columns in the ALV list.
    What I want is to be able to show a check box in a few columns which user can check and use the value X in the program for the later processing....
    Can somebody tell me how to show a check box in the ALV screen in the changeable format??
    Win full point by answering this typical question..
    Thanks - Chandan

    hi go through the fallowing code.
    *& Report  YGS_ALV_BOM                                                 *
    REPORT  YGS_ALV_BOM                             .
    TABLES : MAST,STKO,STPO.
    TYPE-POOLS: SLIS.
    TYPES : BEGIN OF TY_MAST,
            CHECK_BOX,
            MATNR TYPE MAST-MATNR,
            WERKS TYPE MAST-WERKS,
            STLAN TYPE MAST-STLAN,
            STLNR TYPE MAST-STLNR,
            STLAL TYPE MAST-STLAL,
            END OF TY_MAST.
    TYPES : BEGIN OF TY_STKO,
            STLTY TYPE STKO-STLTY,
            STLNR TYPE STKO-STLNR,
            STLAL TYPE STKO-STLAL,
            STKOZ TYPE STKO-STKOZ,
            BMENG TYPE STKO-BMENG,
            BMEIN TYPE STKO-BMEIN,
            END OF TY_STKO.
    TYPES : BEGIN OF TY_STPO,
            LIGHTS,
            STLTY TYPE STPO-STLTY,
            STLNR TYPE STPO-STLNR,
            STLKN TYPE STPO-STLKN,
            STPOZ TYPE STPO-STPOZ,
            IDNRK TYPE STPO-IDNRK,
            MENGE TYPE STPO-MENGE,
            MEINS TYPE STPO-MEINS,
            END OF TY_STPO.
    DATA : IT_MAST TYPE TABLE OF TY_MAST,
           WA_MAST TYPE TY_MAST,
           IT_STKO TYPE TABLE OF TY_STKO,
           WA_STKO TYPE TY_STKO,
           IT_STPO TYPE TABLE OF TY_STPO,
           WA_STPO TYPE TY_STPO.
    DATA : lt_fieldcat TYPE slis_t_fieldcat_alv,
           ls_layout TYPE slis_layout_alv,
           ls_event TYPE slis_alv_event,
           lt_event TYPE slis_t_event,
           it_sortinfo type slis_t_sortinfo_alv,
           ls_header TYPE slis_listheader,
           lt_header TYPE slis_t_listHEADER.
    DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    SELECT-OPTIONS : S_MATNR FOR MAST-MATNR.
    START-OF-SELECTION.
    PERFORM GET_DATA.
    PERFORM BUILD_FIELDCAT USING LT_FIELDCAT.
    PERFORM BUILD_LAYOUT.
    END-OF-SELECTION.
    PERFORM DISPLAY_DATA.
    *&      Form  GET_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form GET_DATA .
    REFRESH : IT_MAST.
    SELECT MATNR
           WERKS
           STLAN
           STLNR
      FROM MAST
      INTO CORRESPONDING FIELDS OF TABLE IT_MAST
    WHERE MATNR IN S_MATNR.
    endform.                    " GET_DATA
    *&      Form  BUILD_FIELDCAT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form BUILD_FIELDCAT USING LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA  : L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    REFRESH : LT_FIELDCAT.
            L_FIELDCAT-COL_POS = 1.
            L_FIELDCAT-FIELDNAME = 'MATNR'.
            L_FIELDCAT-TABNAME = 'IT_MAST'.
            L_FIELDCAT-REF_FIELDNAME = 'MATNR'.
            L_FIELDCAT-REF_TABNAME = 'MAST'.
            APPEND L_FIELDCAT TO LT_FIELDCAT.
            L_FIELDCAT-COL_POS = 2.
            L_FIELDCAT-FIELDNAME = 'WERKS'.
            L_FIELDCAT-TABNAME = 'IT_MAST'.
            L_FIELDCAT-REF_FIELDNAME = 'WERKS'.
            L_FIELDCAT-REF_TABNAME = 'MAST'.
            APPEND L_FIELDCAT TO LT_FIELDCAT.
            L_FIELDCAT-COL_POS = 3.
            L_FIELDCAT-FIELDNAME = 'STLNR'.
            L_FIELDCAT-TABNAME = 'IT_MAST'.
            L_FIELDCAT-REF_FIELDNAME = 'STLNR'.
            L_FIELDCAT-REF_TABNAME = 'MAST'.
            APPEND L_FIELDCAT TO LT_FIELDCAT.
    endform.                    " BUILD_FIELDCAT
    *&      Form  BUILD_LAYOUT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form BUILD_LAYOUT .
    CLEAR LS_LAYOUT.
    LS_LAYOUT-BOX_FIELDNAME = 'CHECK_BOX'.
    LS_LAYOUT-BOX_TABNAME =  'IT_MAST'.
    endform.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form DISPLAY_DATA .
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    *   I_INTERFACE_CHECK              = ' '
    *   I_BYPASSING_BUFFER             =
    *   I_BUFFER_ACTIVE                = ' '
       I_CALLBACK_PROGRAM             = SY-REPID
       I_CALLBACK_PF_STATUS_SET       = 'PF_STATUS'
       I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'
    *   I_STRUCTURE_NAME               =
       IS_LAYOUT                      = LS_LAYOUT
       IT_FIELDCAT                    = LT_FIELDCAT
    *   IT_EXCLUDING                   =
    *   IT_SPECIAL_GROUPS              =
    *   IT_SORT                        =
    *   IT_FILTER                      =
    *   IS_SEL_HIDE                    =
    *   I_DEFAULT                      = 'X'
    *   I_SAVE                         = ' '
    *   IS_VARIANT                     =
    *   IT_EVENTS                      =
    *   IT_EVENT_EXIT                  =
    *   IS_PRINT                       =
    *   IS_REPREP_ID                   =
    *   I_SCREEN_START_COLUMN          = 0
    *   I_SCREEN_START_LINE            = 0
    *   I_SCREEN_END_COLUMN            = 0
    *   I_SCREEN_END_LINE              = 0
    * IMPORTING
    *   E_EXIT_CAUSED_BY_CALLER        =
    *   ES_EXIT_CAUSED_BY_USER         =
      TABLES
        t_outtab                       = IT_MAST
    * EXCEPTIONS
    *   PROGRAM_ERROR                  = 1
    *   OTHERS                         = 2
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endform.                    " DISPLAY_DATA
    FORM PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'YSTATUS' OF PROGRAM SY-REPID
                               EXCLUDING RT_EXTAB.
    ENDFORM.
    FORM USER_COMMAND USING RF_UCOMM TYPE SY-UCOMM
                      SELFIELD TYPE SLIS_SELFIELD.
      CASE RF_UCOMM.
          WHEN '&NEXT'.
           PERFORM GET_DATA_BOM .
           PERFORM BUILD_FIELDCAT_BOM USING LT_FIELDCAT.
           PERFORM BUILD_LAYOUT_BOM.
           PERFORM DISPLAY_DATA_BOM.
      ENDCASE.
    ENDFORM.
    *&      Form  GET_DATA_BOM
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form GET_DATA_BOM .
      CLEAR   : WA_STPO,
                WA_MAST.
      REFRESH : IT_STPO.
      DATA  : IT_CHECK TYPE TABLE OF TY_MAST.
      LOOP AT IT_MAST INTO WA_MAST.
          IF WA_MAST-CHECK_BOX EQ 'X'.
             APPEND WA_MAST TO IT_CHECK.
          ENDIF.
      ENDLOOP.
      SELECT STLTY
             STLNR
             STLKN
             VGKNT
             IDNRK
             MENGE
             MEINS
        FROM STPO
        INTO CORRESPONDING FIELDS OF TABLE IT_STPO
         FOR ALL ENTRIES IN IT_CHECK
       WHERE IDNRK EQ IT_CHECK-MATNR.
    CLEAR WA_STPO.
       LOOP AT IT_STPO INTO WA_STPO.
         SELECT SINGLE * FROM MAST WHERE MATNR EQ WA_STPO-IDNRK.
         IF SY-SUBRC = 0.
           WA_STPO-LIGHTS = '2'.
         ELSE.
           WA_STPO-LIGHTS = '1'.
         ENDIF.
         MODIFY IT_STPO FROM WA_STPO.
       ENDLOOP.
    endform.                    " GET_DATA_BOM
    *&      Form  BUILD_FIELDCAT_BOM
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form BUILD_FIELDCAT_BOM USING LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA  : L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    REFRESH : LT_FIELDCAT.
            L_FIELDCAT-COL_POS = 1.
            L_FIELDCAT-FIELDNAME = 'STLTY'.
            L_FIELDCAT-TABNAME = 'IT_STPO'.
            L_FIELDCAT-REF_FIELDNAME = 'STLTY'.
            L_FIELDCAT-REF_TABNAME = 'STPO'.
            APPEND L_FIELDCAT TO LT_FIELDCAT.
            L_FIELDCAT-COL_POS = 2.
            L_FIELDCAT-FIELDNAME = 'STLNR'.
            L_FIELDCAT-TABNAME = 'IT_STPO'.
            L_FIELDCAT-REF_FIELDNAME = 'STLNR'.
            L_FIELDCAT-REF_TABNAME = 'STPO'.
            APPEND L_FIELDCAT TO LT_FIELDCAT.
            L_FIELDCAT-COL_POS = 3.
            L_FIELDCAT-FIELDNAME = 'STLKN'.
            L_FIELDCAT-TABNAME = 'IT_STPO'.
            L_FIELDCAT-REF_FIELDNAME = 'STLKN'.
            L_FIELDCAT-REF_TABNAME = 'STPO'.
            APPEND L_FIELDCAT TO LT_FIELDCAT.
            L_FIELDCAT-COL_POS = 4.
            L_FIELDCAT-FIELDNAME = 'IDNRK'.
            L_FIELDCAT-TABNAME = 'IT_STPO'.
            L_FIELDCAT-REF_FIELDNAME = 'IDNRK'.
            L_FIELDCAT-REF_TABNAME = 'STPO'.
            APPEND L_FIELDCAT TO LT_FIELDCAT.
            L_FIELDCAT-COL_POS = 5.
            L_FIELDCAT-FIELDNAME = 'MENGE'.
            L_FIELDCAT-TABNAME = 'IT_STPO'.
            L_FIELDCAT-REF_FIELDNAME = 'MENGE'.
            L_FIELDCAT-REF_TABNAME = 'STPO'.
            APPEND L_FIELDCAT TO LT_FIELDCAT.
    endform.                    " BUILD_FIELDCAT_BOM
    *&      Form  BUILD_LAYOUT_BOM
    *      text
    * -->  p1        text
    *<--  p2        text
    form BUILD_LAYOUT_BOM .
    CLEAR  : LS_LAYOUT.
    LS_LAYOUT-LIGHTS_FIELDNAME = 'LIGHTS'.
    LS_LAYOUT-LIGHTS_TABNAME = 'IT_STPO'.
    endform.                    " BUILD_LAYOUT_BOM
    *&      Form  DISPLAY_DATA_BOM
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form DISPLAY_DATA_BOM .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    *   I_INTERFACE_CHECK                 = ' '
    *   I_BYPASSING_BUFFER                = ' '
    *   I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = SY-REPID
    *   I_CALLBACK_PF_STATUS_SET          = ' '
       I_CALLBACK_USER_COMMAND           = 'USER_COMMAND_BOM'
       I_CALLBACK_TOP_OF_PAGE            = 'TOP9'
    *   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
    *   I_CALLBACK_HTML_END_OF_LIST       = ' '
    *   I_STRUCTURE_NAME                  =
       I_BACKGROUND_ID                   = 'ALV_BACKGROUND'
    *   I_GRID_TITLE                      =
    *   I_GRID_SETTINGS                   =
       IS_LAYOUT                         = LS_LAYOUT
       IT_FIELDCAT                       = LT_FIELDCAT
    *   IT_EXCLUDING                      =
    *   IT_SPECIAL_GROUPS                 =
    *   IT_SORT                           =
    *   IT_FILTER                         =
    *   IS_SEL_HIDE                       =
    *   I_DEFAULT                         = 'X'
    *   I_SAVE                            = ' '
    *   IS_VARIANT                        =
    *   IT_EVENTS                         =
    *   IT_EVENT_EXIT                     =
    *   IS_PRINT                          =
    *   IS_REPREP_ID                      =
    *   I_SCREEN_START_COLUMN             = 0
    *   I_SCREEN_START_LINE               = 0
    *   I_SCREEN_END_COLUMN               = 0
    *   I_SCREEN_END_LINE                 = 0
    *   IT_ALV_GRAPHICS                   =
    *   IT_HYPERLINK                      =
    *   IT_ADD_FIELDCAT                   =
    *   IT_EXCEPT_QINFO                   =
    *   I_HTML_HEIGHT_TOP                 =
    *   I_HTML_HEIGHT_END                 =
    * IMPORTING
    *   E_EXIT_CAUSED_BY_CALLER           =
    *   ES_EXIT_CAUSED_BY_USER            =
      TABLES
        t_outtab                          = IT_STPO
    * EXCEPTIONS
    *   PROGRAM_ERROR                     = 1
    *   OTHERS                            = 2
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endform.                    " DISPLAY_DATA_BOM
    FORM TOP9 .
    CLEAR   LS_HEADER.
    REFRESH  LT_HEADER.
    LS_HEADER-TYP = 'H'.
    LS_HEADER-INFO = 'BILL OF MATERIALS'.
    APPEND LS_HEADER TO LT_HEADER.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = LT_HEADER
       I_LOGO                   = 'ENJOYSAP_LOGO'
    *   I_END_OF_LIST_GRID       =
    ENDFORM.
    FORM USER_COMMAND_BOM USING RF_UCOMM_BOM LIKE SY-UCOMM
                      SEL_FIELD TYPE SLIS_SELFIELD.
        CASE RF_UCOMM_BOM.
          WHEN '&IC1'.
          SET PARAMETER ID 'MAT' FIELD WA_STPO-IDNRK.
          SET PARAMETER ID 'WRK' FIELD WA_MAST-WERKS.
          SET PARAMETER ID 'CSA' FIELD WA_MAST-STLAN.
          CALL TRANSACTION 'CS03' AND SKIP FIRST SCREEN.
        ENDCASE.

  • How to show all the user entry variables in a workbook.

    Hi,
    My user need to see in the workbook all variables he had entered in the variable entry popup at the openning of the workbook.
    I know how to show all the variables, included the hardcoded variable in the query (with a text element, select the checkbox "Display All Statics Filters"), but I need only the user entry variables.
    There is a way to print only these variables?
    Thank you

    Thanks, but the problem is that this workbook is my Global default workbook used for all the queries. So I only want the user entry variables visible automaticly.
    There is a way to do that ?
    For information, i'm using Netweaver 7.
    Thank you

  • How to show delivery date in Bex Analyzer

    Hi Gurus!
    I have to create a report in logistic scenario and my client wants that the report shows a column with the "Scheduled delivery date". I don't know how to show it in a column because in my KF structure, I can't put just this time characteristic.
    Does anybody know how can I solve it?
    Many thanks!

    Hi,
    Create a Formula Variable on Scheduled  DeliveryDate with processing as replacement path, replace variable with InfoObject, replace with Key and use it in the new formula in the columns.
    in this way query designer will accept you to use the char as in column,
    hope it helps you.
    Regards
    Reddy A

  • How to pass session variable value with GO URL to override session value

    Hi Gurus,
    We have below requirement.Please help us at the earliest.
    How to pass session variable value with GO URL to override session value. ( It is not working after making changes to authentication xml file session init block creation as explained by oracle (Bug No14372679 : which they claim it is fixed in 1.7 version  Ref No :Bug 14372679 : REQUEST VARIABLE NOT OVERRIDING SESSION VARIABLE RUNNING THRU A GO URL )
    Please provide step by step solution.No vague answers.
    I followed below steps mentioned.
    RPD:
    ****-> Created a session variable called STATUS
    -> Create Session Init block called Init_Status with SQL
        select 'ACTIVE' from dual;
    -> Assigned the session variable STATUS to Init block Init_Status
    authenticationschemas.xml:
    Added
    <RequestVariable source="url" type="informational"
    nameInSource="RE_CODE" biVariableName="NQ_SESSION.STATUS"/>
    Report
    Edit column "Contract Status" and added session variable as
    VALUEOF(NQ_SESSION.STATUS)
    URL:
    http://localhost:9704/analytics/saw.dll?PortalGo&Action=prompt&path=%2Fshared%2FQAV%2FTest_Report_By%20Contract%20Status&RE_CODE='EXPIRED'
    Issue:
    When  I run the URL above with parameter EXPIRED, the report still shows for  ACTIVE only. The URL is not making any difference with report.
    Report is picking the default value from RPD session variable init query.
    could you please let me know if I am missing something.

    Hi,
    Check those links might help you.
    Integrating Oracle OBIEE Content using GO URL
    How to set session variables using url variables | OBIEE Blog
    OBIEE 10G - How to set a request/session variable using the Saw Url (Go/Dashboard) | GerardNico.com (BI, OBIEE, O…
    Thanks,
    Satya

  • How to show only date in BO webi 3.1 text box

    how to show only date in BO webi 3.1 text box for e.g:-
    01/01/2005  (no time only date)

    hi,
    just check by which format your date is coming
    just create a one variable and check =UserResponse("Transaction Date From (mm/dd/yy)")
    if your output is in format of("mm/dd/yyyy hh:mm:ss a")
    then some format we have to write in todate syntax
    then your final formula for date would be
    =FormatDate(ToDate(UserResponse("Transaction Date From (mm/dd/yy)");"mm/dd/yyyy hh:mm:ss A");"dd/mm/yyyy")

Maybe you are looking for