Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Half screen alv grid, half screen tabstrip

manole_apetroaie
Participant
0 Kudos

Hi , does anyone know how to make half screen alv grid, half screen tabs that will have some PERFORM fields from ALV GRID? Thanks in advance. Please find below my code :

REPORT  Z_DATE_BAZA_PF.

TABLES MAKT.

TABLES MVKE.

TABLES T178T.

TABLES MARA.

TABLES MARC.

TABLES T002.


TYPE-POOLS: slis.  " SLIS contains all the ALV data types



DATA: MyGridTitle TYPE LVC_TITLE.

DATA: report_id LIKE sy-repid.

DATA: MyLayout TYPE slis_layout_alv. "alv layout

DATA: afield TYPE slis_fieldcat_alv.

*DATA: it_sort TYPE slis_t_sortinfo_alv.

DATA: it1_sort TYPE slis_t_sortinfo_alv.

*DATA: wa_sort   TYPE slis_sortinfo_alv.

DATA: it_filter TYPE slis_t_filter_alv.

Data: ls_filter TYPE slis_filter_alv.

DATA: FIELDCATALOG TYPE slis_t_fieldcat_alv, "WITH HEADER LINE,

      GD_LAYOUT    TYPE slis_layout_alv,

      G_SAVE TYPE C VALUE 'X',

      G_VARIANT TYPE DISVARIANT,

      GX_STOC TYPE DISVARIANT,

      G_EXIT TYPE C.

DATA: MyEvents TYPE slis_t_event.



DATA: it_sort      TYPE slis_t_sortinfo_alv,

      wa_sort      TYPE slis_sortinfo_alv..



data: MySwitch_Acces(3) Type c.

Data: MySwitch_Unit(3)  Type c.

Data: MySwitch_Depozit(3)  Type c.

CONSTANTS MySpras(2)   VALUE '4'.

DATA: LowUnit(7) TYPE c.

DATA: LowDivizia(5) TYPE c.

Data: wTxt1(50)    type C.

DATA: PRIVILEG_USER(100) type c VALUE 'K_ABAP,K_BASIS,K_PRG,PRG_IT'.

DATA: w_layout TYPE lvc_s_layo.

DATA  number TYPE sy-dynnr.

data: ok_code type SY-UCOMM.

DATA: GV_FLAG TYPE CHAR1.



DATA: name  TYPE vrm_id,

      list  TYPE vrm_values,

      value LIKE LINE OF list,

      save_ok TYPE sy-ucomm.

DATA: GV_SCR TYPE SY-DYNNR.



TYPES: BEGIN OF ROWUSERS,

            RECORD_ID   LIKE ZUSERS-RECORD_ID,

            USER_NAME   LIKE ZUSERS-USER_NAME,

            PROG_NAME   LIKE ZUSERS-PROG_NAME,

            REPO_TITLE  LIKE ZUSERS-REPO_TITLE,

            OPTIONS     LIKE ZUSERS-OPTIONS,

            UNITLOG     LIKE ZUSERS-UNITLOG,

            DOMENII     LIKE ZUSERS-DOMENII,

            CONTMAT     LIKE ZUSERS-CONTMAT,

            DEPOZITE    LIKE ZUSERS-DEPOZITE,

            DIVIZII     LIKE ZUSERS-DIVIZII,

            PCTLUCR     LIKE ZUSERS-PCTLUCR,

            CENTPROF    LIKE ZUSERS-CENTPROF,

            PROG_PROD   LIKE ZUSERS-PROG_PROD,

            RETETE      LIKE ZUSERS-RETETE,

            SERVICII    LIKE ZUSERS-SERVICII,

            ACCES       LIKE ZUSERS-ACCES,

            LOWDATA     LIKE ZUSERS-LOWDATA,

            HIGHDATA    LIKE ZUSERS-HIGHDATA,

            FLAG(1)     TYPE C,

            LINE_KOLOR(4) TYPE C,

      END OF ROWUSERS.

*

DATA: ARTUSERS TYPE ROWUSERS,

      ARTPROGR TYPE ROWUSERS,

      ITUSERS  TYPE STANDARD TABLE OF ROWUSERS INITIAL SIZE 0,

      ITPROGR  TYPE STANDARD TABLE OF ROWUSERS INITIAL SIZE 0.

DATA: FIELDCATALOG2 TYPE lvc_s_fcat OCCURS 0,

      G_VARIANT2    TYPE DISVARIANT.



"DATA: afield        type lvc_s_fcat.



DATA: Splitter_1  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,

      Grid1       TYPE REF TO cl_gui_alv_grid,

      Grid2       TYPE REF TO cl_gui_alv_grid.

DATA: G_container TYPE scrfname VALUE 'CCONTAINER'.

TYPE-POOLS cndp.



 call screen 100.



TYPES: BEGIN OF tables_fields,

  WERKS TYPE MARC-WERKS, "Unitate logistica

  "MATNR TYPE MARC-MATNR, "Cod material

  MATNR TYPE MARA-MATNR,  "Cod material

  MAKTX TYPE MAKT-MAKTX, "Date de baza 1->Descriere material

  KONDM TYPE MVKE-KONDM, "Vanzari 2 ->GrupCalcPretMaterial cod

  VTEXT TYPE T178T-VTEXT, "Vanzari 2 ->GrupCalcPretMaterial descriere

  GROES TYPE MARA-GROES, "Date de baza 1 -> Marime/ Dimensiuni

  SPRAS TYPE MAKT-SPRAS,

  TEXTPRI(250) TYPE c, "Text date principale.

  TEXTVER(75) TYPE C, "Text verificare.

  COMINT(75) TYPE C, "Comentariu intern.

  TEXTVANZ(75) TYPE C, "Text vanzari.

  "vbeln Type VBAK-VBELN,

  "POSNR TYPE VBAK-POSNR,

END OF tables_fields.



DATA: lt_join TYPE STANDARD TABLE OF tables_fields,

      wa_join TYPE tables_fields.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE text-001.

SELECT-OPTIONS UnitLog FOR MARC-WERKS DEFAULT '3000'. " Unitate logistica

SELECT-OPTIONS Material FOR MARC-MATNR default'V826016-C0.75L'."Cod material

SELECT-OPTIONS DenMat FOR MAKT-MAKTX."Descriere material

SELECTION-SCREEN END OF BLOCK BLOCK1.



PERFORM UserAcces.



if  MySwitch_Unit = 'Yes' AND MySwitch_Acces = 'Yes'.

  PERFORM Selectare.

  loop at lt_join into wa_join.

    PERFORM READTEXT.

    PERFORM READTEXT2.

    PERFORM READTEXT3.

    PERFORM READTEXT4.

  Modify lt_join from Wa_join transporting TEXTPRI TEXTVER COMINT TEXTVANZ.



  PERFORM BUILD_FIELDCATALOG.

  PERFORM sort_catalog.

  EndLoop.

*  PERFORM LOOP.

*  PERFORM CULOARE.

*  PERFORM FILTRARE.



  PERFORM DISPLAY_ALV_REPORT TABLES lt_join.



*ELSE.

*  Perform mymessage using 'Nu aveti acces'  'Va rog consultati superiorul dvs' '.'.

Endif.



at selection-screen.

*https://archive.sap.com/discussions/thread/82713

*https://archive.sap.com/discussions/thread/347034

*https://archive.sap.com/discussions/thread/53618

*  http://www.onexeno.com/alv-grid-should-display-in-three-tabstrips/

START-OF-SELECTION.

Form UserAcces.

  select *

    ##too_many_itab_fields

  INTO CORRESPONDING FIELDS OF TABLE ITusers

  from zusers

  where USER_NAME = SY-UNAME and PROG_NAME = 'z_date_baza_pf'.

*

  if Sy-DBCNT = 0.  "Utilizator inexistent in tabela - PRIVILEGIAT

    if Privileg_User ns Sy-UName.

      Concatenate Sy-Uname ',' Privileg_User

                 into Privileg_User.

    EndIf.

    MySwitch_Acces    = 'Yes'.

*      MySwitch_Depozit  = 'Yes'.

    MySwitch_Unit     = 'Yes'.

  else.

    MySwitch_Unit      = 'No'.

    MySwitch_Acces     = 'No'.  " Daca utilizatorul exista in tabela

*  MySwitch_Depozit   = 'No'.

    Loop at ITusers into ARTUSERS.  " ZUSERS inseamna

      if sy-subrc = 0.

        exit.

      EndIf.

    EndLoop.

*

    Case ArtUsers-Acces.

      when 'Exc'.

        Perform MyMessage using

             ' Acces nepermis !!!'

             ' Acces nepermis !!!'

             ' Consultati administratorul Bazei de date SAP'.

        MySwitch_Acces = 'No'.

        exit.

      when 'Yes'.

        if Privileg_User ns Sy-UName.

          Concatenate Sy-Uname ',' Privileg_User

                     into Privileg_User.

        EndIf.

        MySwitch_Acces = 'Yes'.

      when 'No' or ''.

        Privileg_User = ''.

        MySwitch_Acces = 'No'.

    EndCase.

*   Validare unitati logistice

    if ArtUsers-UnitLog = ''.

      MySwitch_Unit = 'Yes'.

    else.

      MySwitch_Unit = 'No'.

      Loop at UnitLog.

        Concatenate 'Y-' UnitLog-Low into LowUnit.

        MySwitch_Unit = 'No'.

        if ArtUsers-UnitLog cs LowUnit.

          MySwitch_Unit = 'Yes'.

        else.

          MySwitch_Unit = 'No'.

          Concatenate 'Nu aveti acces la Unitatea:'

                      UnitLog-Low into wtxt1 separated by space.

          Perform MyMessage using

         ' Acces nepermis !!!'

         wtxt1

         ' Consultati administratorul bazei de date'.

          exit.

        EndIf.

      EndLoop.

    EndIf.

  ENDIF.

ENDFORM.



Form MyMessage using p_title p_text1 p_text2.

  CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'

    EXPORTING

      titel        = p_title

      textline1    = p_text1

      textline2    = p_text2

      start_column = 25

      start_row    = 6.

*       importing

*            answer        = risp2.

EndForm.



FORM Selectare.



  SELECT DISTINCT a~werks

         a~matnr

         b~maktx

         c~KONDM

         d~VTEXT

         e~GROES

         b~spras


   FROM MARC as a

   INNER JOIN MAKT AS b

   on a~matnr = b~matnr

   INNER JOIN MVKE as c

   ON a~matnr = c~matnr

   INNER JOIN T178T as d

   on c~kondm = d~kondm

   INNER JOIN MARA as e

   on a~matnr = e~matnr

 INTO CORRESPONDING FIELDS OF TABLE lt_join

    WHERE a~werks IN UnitLog AND " Unitate logistica

          a~matnr IN Material AND "Cod material

          b~maktx IN DenMat." AND

  "b~spras EQ sy-langu.



*SORT lt_join by WERKS.

*DELETE ADJACENT DUPLICATES FROM lt_join comparing WERKS.



ENDFORM.

FORM sort_catalog.



  wa_sort-spos      = 2.

  wa_sort-fieldname = 'MATNR'.

  wa_sort-up        = 'X'.

  wa_sort-subtot    = 'X'.

  APPEND wa_sort TO it_sort.



  wa_sort-spos      = 4.

  wa_sort-fieldname = 'KONDM'.

  wa_sort-up        = 'X'.

  wa_sort-subtot    = 'X'.

  APPEND wa_sort TO it_sort.



  wa_sort-spos      = 5.

  wa_sort-fieldname = 'VTEXT'.

  wa_sort-up        = 'X'.

  wa_sort-subtot    = 'X'.

  APPEND wa_sort TO it_sort.



  wa_sort-spos      = 6.

  wa_sort-fieldname = 'GROES'.

  wa_sort-up        = 'X'.

  wa_sort-subtot    = 'X'.

  APPEND wa_sort TO it_sort.


ENDFORM.

FORM READTEXT.



  data: it_MVKE type standard table of MVKE initial size 0.

  data: lMVKE like MVKE, lMAKT like MAKT, lT002 like T002 ,

        lTDNAME like THEAD-TDNAME,"text header



        it_TLINE type standard table of TLINE,

        wa_TLINE type TLINE.



  data: cObject(10) type c, cID(4) type c.



  select MATNR from MARA into corresponding fields of table it_MVKE

  where MATNR in Material order by MATNR.

  cID = 'GRUN'. cObject = 'MATERIAL'. "Text date principale "





  loop at it_MVKE into lMVKE.



    lTDNAME = lMVKE-MATNR.



    select spras from T002 into lT002.



      CALL FUNCTION 'READ_TEXT'

        EXPORTING

          CLIENT   = SY-MANDT

          ID       = cID

          LANGUAGE = lT002-SPRAS

          NAME     = lTDNAME

          OBJECT   = cObject

        TABLES

          LINES    = it_TLINE

        EXCEPTIONS

          ID       = 1

          OTHERS   = 8.



      IF SY-SUBRC EQ 0.



        LOOP AT it_TLINE INTO wa_TLINE.

*          wa_join-TEXTPRI = wa_TLINE-TDLINE.

*          append wa_join to lt_join.

*          clear wa_join.



         CONCATENATE wa_join-TEXTPRI wa_tline-tdline INTO wa_join-TEXTPRI separated by ' ; '.



        ENDLOOP.

      ENDIF.

    ENDSELECT.

  ENDLOOP.

ENDFORM.


FORM READTEXT2.



*http://www.gotothings.com/sapac002.htm

*http://www.erpgreat.com/abap/use-fm--read-text-to-read-the-various-text.htm

*http://sap.ittoolbox.com/groups/technical-functional/sap-dev/call-function-read_text-173308

  "https://saplsmw.com/Generate_a_Report_with_Material_Master_Long_Texts

  "https://www.consolut.com/en/s/sap-ides-access/d/s/doc/F-READ_MULTIPLE_TEXTS/

***********************functional doar pe un singur text*******************************************

  data: it_MVKE type standard table of MVKE initial size 0.

  data: lMVKE like MVKE, lMAKT like MAKT, lT002 like T002 ,

   lTDNAME like THEAD-TDNAME,"text header



   it_TLINE type standard table of TLINE,

   wa_TLINE type TLINE, lText type string.


  data: cObject(10) type c, cID(4) type c.

  select MATNR from MARA into corresponding fields of table it_MVKE

  where MATNR in Material order by MATNR.

  cID = 'PRUE'.  cObject = 'MATERIAL'. "Text verificare


  loop at it_MVKE into lMVKE.



    lTDNAME = lMVKE-MATNR.



    "loop at it_cids into wa_cids.



    select spras from T002 into lT002.



      CALL FUNCTION 'READ_TEXT'

        EXPORTING

          CLIENT   = SY-MANDT

          ID       = cID

          LANGUAGE = lT002-SPRAS

          NAME     = lTDNAME

          OBJECT   = cObject

        TABLES

          LINES    = it_TLINE

        EXCEPTIONS

          ID       = 1

          OTHERS   = 8.


      IF SY-SUBRC EQ 0.


        select single * from MAKT into lMAKT where MATNR eq lMVKE-MATNR

         and SPRAS eq lT002-SPRAS.


        LOOP AT it_TLINE INTO wa_TLINE.

*          wa_join-TEXTVER = wa_TLINE-TDLINE.

*          append wa_join to lt_join.

*          CLEAR wa_join.

          CONCATENATE wa_join-TEXTVER wa_tline-tdline INTO wa_join-TEXTVER separated by ' ; '.

        ENDLOOP.

      ENDIF.

    ENDSELECT.

  ENDLOOP.

ENDFORM.



FORM BUILD_FIELDCATALOG.

  REFRESH FIELDCATALOG.



  afield-FIELDNAME = 'WERKS'.

  afield-SELTEXT_M = 'Unitate logistica'.

  afield-COL_POS   = 1.

  afield-OUTPUTLEN = 10.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.



  afield-FIELDNAME = 'MATNR'.

  afield-SELTEXT_M = 'Cod material'.

  afield-COL_POS   = 2.

  afield-OUTPUTLEN = 10.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.



  afield-FIELDNAME = 'MAKTX'.

  afield-SELTEXT_M = 'Descriere material '.

  afield-COL_POS   = 3.

  afield-OUTPUTLEN = 20.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.



  afield-FIELDNAME = 'KONDM'.

  afield-SELTEXT_M = 'Cod grupa'.

  afield-COL_POS   = 4.

  afield-OUTPUTLEN = 7.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.



  afield-FIELDNAME = 'VTEXT'.

  afield-SELTEXT_M = 'Descriere grupa'.

  afield-COL_POS   = 5.

  afield-OUTPUTLEN = 10.

  afield-decimals_out = 0.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.



  afield-FIELDNAME = 'GROES'.

  afield-SELTEXT_M = 'Marime/Dimensiuni'.

  afield-COL_POS   = 6.

  afield-OUTPUTLEN = 28.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.


  afield-FIELDNAME = 'TEXTPRI'.

  afield-SELTEXT_M = 'Text date principale'.

  afield-COL_POS   = 7.

  afield-OUTPUTLEN = 20.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.

  afield-FIELDNAME = 'TEXTVER'.

  afield-SELTEXT_M = 'Text verificare'.

  afield-COL_POS   = 8.

  afield-OUTPUTLEN = 15.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.



  afield-FIELDNAME = 'COMINT'.

  afield-SELTEXT_M = 'Comentariu intern'.

  afield-COL_POS   = 09.

  afield-OUTPUTLEN = 18.

  afield-decimals_out = 0.

  APPEND afield TO FIELDCATALOG.

  CLEAR afield.

ENDFORM.

FORM DISPLAY_ALV_REPORT TABLES lt_join.

* USING P_GRID_TITLE.

* rs_selfield TYPE slis_selfield.

  report_id = SY-REPID.

* RS_SELFIELD-ROW_STABLE = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      I_CALLBACK_PROGRAM       = report_id

      I_CALLBACK_TOP_OF_PAGE   = 'TOP-OF-PAGE'

*     I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'

*     I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'

      IT_FIELDCAT              = FIELDCATALOG"[]

*     I_GRID_TITLE             = P_GRID_TITLE

      I_SAVE                   = 'X'

      IT_EVENTS                = MyEvents

      is_layout                = MyLayout

      it_sort                  = it_sort

      it_filter                = it_filter " List output filter criteria

*     IS_VARIANT               = G_VARIANT



    TABLES

      T_OUTTAB                 = lt_join

    EXCEPTIONS

      PROGRAM_ERROR            = 1

      OTHERS                   = 2.



  IF SY-SUBRC <> 0.

  ENDIF.



ENDFORM.

*---------------------------------------------------------*

* Grid  Header                                            *

*---------------------------------------------------------*

Form TOP-OF-PAGE.

*ALV Header declarations

  data: My_header type slis_t_listheader,

        wa_header type slis_listheader,

        My_line   like wa_header-info,

        ld_lines  type i,

        ld_linesc(10) type c.

* Title

  clear wa_header.

  wa_header-typ  = 'H'.

  wa_header-info =

    'Raport date de baza produse finite'.

  append wa_header to My_header.

*

*  clear wa_header.

*  wa_header-typ  = 'H'.

*  wa_header-info =

*  'Efectuati DUBLU Click pt Analiza Grafica - optiunile 01-08'.

*  append wa_header to My_header.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      it_list_commentary = My_header.

*            i_logo             = 'Z_LOGO'.

endform.

*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TABSTRIP'

CONSTANTS: BEGIN OF C_TABSTRIP,

             TAB1 LIKE SY-UCOMM VALUE 'P1',

             TAB2 LIKE SY-UCOMM VALUE 'P2',

             TAB3 LIKE SY-UCOMM VALUE 'P3',

             TAB4 LIKE SY-UCOMM VALUE 'P4',

           END OF C_TABSTRIP.

*&SPWIZARD: DATA FOR TABSTRIP 'TABSTRIP'

CONTROLS:  TABSTRIP TYPE TABSTRIP.

DATA:      BEGIN OF G_TABSTRIP,

             SUBSCREEN   LIKE SY-DYNNR,

             PROG        LIKE SY-REPID VALUE 'Z_DATE_BAZA_PF',

             PRESSED_TAB LIKE SY-UCOMM VALUE C_TABSTRIP-TAB1,

           END OF G_TABSTRIP.

*&SPWIZARD: OUTPUT MODULE FOR TS 'TABSTRIP'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: SETS ACTIVE TAB

MODULE TABSTRIP_ACTIVE_TAB_SET OUTPUT.

  SET PF-STATUS 'MAIN100'.

*  creating object reference for container



*  PERFORM Selectare.

*  PERFORM BUILD_FIELDCATALOG.

  CREATE OBJECT container

  EXPORTING

    container_name = 'CCONTAINER'."Pass name of container created in Screen no 100


*splitting the main container into 2 rows & 1 coloum

CREATE OBJECT splitter_1

EXPORTING

   Parent     = container

   Rows      = 2

   Columns = 1.


*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 2 & col 1 container)

*CALL METHOD splitter_1->get_container

*EXPORTING

*   Row      = 2

*   Column = 1

*RECEIVING

*   Container = container_2.

*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

    is_variant  = G_VARIANT2

    i_save      = ' '

    is_layout   = w_layout

CHANGING

    it_outtab       = lt_join

    IT_FIELDCATALOG = FIELDCATALOG

EXCEPTIONS

    invalid_parameter_combination = 1

    program_error                 = 2

    too_many_lines                = 3

    OTHERS                        = 4.



  TABSTRIP-ACTIVETAB = G_TABSTRIP-PRESSED_TAB.

  CASE G_TABSTRIP-PRESSED_TAB.

    WHEN C_TABSTRIP-TAB1.

      G_TABSTRIP-SUBSCREEN = '0101'.

    WHEN C_TABSTRIP-TAB2.

      G_TABSTRIP-SUBSCREEN = '0102'.

    WHEN C_TABSTRIP-TAB3.

      G_TABSTRIP-SUBSCREEN = '0103'.

    WHEN C_TABSTRIP-TAB4.

      G_TABSTRIP-SUBSCREEN = '0104'.

    WHEN OTHERS.

*&SPWIZARD:      DO NOTHING

  ENDCASE.

ENDMODULE.


*&SPWIZARD: INPUT MODULE FOR TS 'TABSTRIP'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: GETS ACTIVE TAB

*MODULE TABSTRIP_ACTIVE_TAB_GET INPUT.

*  OK_CODE = SY-UCOMM.

*  CASE OK_CODE.

*    WHEN C_TABSTRIP-TAB1.

*      G_TABSTRIP-PRESSED_TAB = C_TABSTRIP-TAB1.

*    WHEN C_TABSTRIP-TAB2.

*      G_TABSTRIP-PRESSED_TAB = C_TABSTRIP-TAB2.

*    WHEN C_TABSTRIP-TAB3.

*      G_TABSTRIP-PRESSED_TAB = C_TABSTRIP-TAB3.

*    WHEN C_TABSTRIP-TAB4.

*      G_TABSTRIP-PRESSED_TAB = C_TABSTRIP-TAB4.

*    WHEN OTHERS.

**&SPWIZARD:      DO NOTHING

*  ENDCASE.

*ENDMODULE.

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.

  CALL METHOD cl_gui_cfw=>dispatch.

  IF   sy-ucomm = 'BACK'

    OR sy-ucomm = 'EXIT'

    OR sy-ucomm = 'CANCEL'.



   CALL METHOD container->free.

*   LEAVE PROGRAM.

    LEAVE TO SCREEN 0.


<br>

Below see below how it should look like

4 REPLIES 4

raymond_giuseppi
Active Contributor

Just split the dynpro in two area, a container upper part, and a tab subscreen in lower part.

Or for dynamic ratio, define only the tab dynpro subfield area as a full screen wide, then use a docking container for the ALV, attached upper side and with a ratio of 50%

0 Kudos

Hi Raymond, thank you for your answer ,i already did a container in the upper part and a tabstrip in the bottom part.How can i now fill my alv content in the container and in the tab subscreen?

0 Kudos

The first is basic concept within SE51, the second one look for samples in wiki of the forum with keyword CL_GUI_DOCKING_CONTAINER.

0 Kudos

raymond.giuseppi Thank you!