Application Development and Automation 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: 
Read only

ALV second selection about

Former Member
0 Likes
1,112

Hi,

i use CALL METHOD O_GRID2->GET_SELECTED_ROWS but second alv selected  I_ROWINDEX[] is intial.

why this reason happing ?

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

*& Report  ZPLANLAMAEKRANI

*& Planma Ekranı ALV'yi iki ekranda göstermek REF : ZSD_ICL_P004

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

*& Mustafa Hamit

*& Bilgisayar Öğretmeni

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

REPORT  ZPLANLAMAEKRANI.

TABLES : LIKP.

DATA IT_LIKP TYPE STANDARD TABLE OF LIKP,

         IT_LIKP2 TYPE STANDARD TABLE OF LIKP,

         IT_LIKP3 TYPE STANDARD TABLE OF LIKP,

         WA_LIKP LIKE LINE OF IT_LIKP,

         STABLE TYPE LVC_S_STBL,

         I_FIELDLIKP TYPE STANDARD TABLE OF LVC_S_FCAT,"Field catalog

         GS_LAYOUT TYPE LVC_S_LAYO,

         W_VARIANT TYPE DISVARIANT,

         O_DOCKING TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Docking Container

         O_GRID TYPE REF TO CL_GUI_ALV_GRID,"Grid.

         O_DOCKING2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Docking Container

         O_GRID2 TYPE REF TO CL_GUI_ALV_GRID,"Grid.

         O_DOCKING3 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Docking Container

         O_GRID3 TYPE REF TO CL_GUI_ALV_GRID,"Grid.

         I_ROWINDEX TYPE LVC_T_ROW,

         SELROWS_LINE LIKE LINE OF I_ROWINDEX.

DATA : BEGIN OF GT_LIKP OCCURS 0,

           VBELN LIKE LIKP-VBELN,"Teslimat No

           NTGEW LIKE LIKP-NTGEW,"Net Ağırlık

        END OF GT_LIKP.

DATA : BEGIN OF GT_LIKP2 OCCURS 0,

           VBELN LIKE LIKP-VBELN,"Teslimat No

           NTGEW LIKE LIKP-NTGEW,"Net Ağırlık

        END OF GT_LIKP2.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE BASLIK.

SELECT-OPTIONS SO_VBELN FOR LIKP-VBELN.

SELECTION-SCREEN END OF BLOCK B1.

*---- CLASS ALV ----*

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

*&  Include           ZPLANLAMAEKRAN_CLASS

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

CLASS LCL_EVENTHANDLER DEFINITION.

   PUBLIC SECTION.

     CLASS-METHODS:

       HANDLE_DATA_CHANGED FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID

         IMPORTING

           ER_DATA_CHANGED

           E_ONF4

           E_ONF4_BEFORE

           E_ONF4_AFTER

           E_UCOMM

           SENDER.

ENDCLASS.                    "lcl_eventhandler DEFINITION

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

*       CLASS lcl_eventhandler IMPLEMENTATION

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

*

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

CLASS LCL_EVENTHANDLER IMPLEMENTATION.

   METHOD HANDLE_DATA_CHANGED.

*   define local data

     DATA: LD_ANSWER(1TYPE C.

     " Triggers PAI -> required for list refresh

     CALL METHOD CL_GUI_CFW=>SET_NEW_OK_CODE

       EXPORTING

         NEW_CODE = 'REFRESH'

*        IMPORTING

*          rc       =

         .

   ENDMETHOD.                    "handle_data_changed

ENDCLASS.                    "LCL_EVENTHANDLER IMPLEMENTATION

*---- FORMLAR ----*

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

*&  Include           ZPLANLAMAEKRAN_FORMS

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

FORM GRID_YENILE.

   IF O_GRID IS NOT INITIAL .

     CALL METHOD O_GRID->REFRESH_TABLE_DISPLAY

       EXPORTING

         IS_STABLE = STABLE.

   ENDIF .

   IF O_GRID2 IS NOT INITIAL .

     CALL METHOD O_GRID->REFRESH_TABLE_DISPLAY

       EXPORTING

         IS_STABLE = STABLE.

   ENDIF .

   IF O_GRID3 IS NOT INITIAL .

     CALL METHOD O_GRID->REFRESH_TABLE_DISPLAY

       EXPORTING

         IS_STABLE = STABLE.

   ENDIF .

ENDFORM.                    "grid_yenile

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

*&      Form  CON1_olustur

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

*       text

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

FORM CON1_OLUSTUR.

   CREATE OBJECT O_DOCKING

     EXPORTING

       CONTAINER_NAME              = 'CON1' " Screen 1500 custom kontrol adı verilir...

     EXCEPTIONS

       CNTL_ERROR                  = 1

       CNTL_SYSTEM_ERROR           = 2

       CREATE_ERROR                = 3

       LIFETIME_ERROR              = 4

       LIFETIME_DYNPRO_DYNPRO_LINK = 5

       OTHERS                      = 6.

   IF SY-SUBRC EQ 0.

     CREATE OBJECT O_GRID

       EXPORTING

         I_PARENT          = O_DOCKING

       EXCEPTIONS

         ERROR_CNTL_CREATE = 1

         ERROR_CNTL_INIT   = 2

         ERROR_CNTL_LINK   = 3

         ERROR_DP_CREATE   = 4

         OTHERS            = 5.

     IF SY-SUBRC EQ 0.

       CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

         EXPORTING

           I_STRUCTURE_NAME       = 'LIKP'

         CHANGING

           CT_FIELDCAT            = I_FIELDLIKP

         EXCEPTIONS

           INCONSISTENT_INTERFACE = 1

           PROGRAM_ERROR          = 2

           OTHERS                 = 3.

       IF SY-SUBRC EQ 0.

         W_VARIANT-REPORT = SY-REPID.

         "GS_LAYOUT-SEL_MODE = 'A'. " ALV seçim aktif olsun...

         GS_LAYOUT-ZEBRA = 'X'. " Zebra Görünümlü ALV olsun...

         CALL METHOD O_GRID->SET_TABLE_FOR_FIRST_DISPLAY

           EXPORTING

             IS_VARIANT                    = W_VARIANT

             I_SAVE                        = 'X'

             IS_LAYOUT                     = GS_LAYOUT

           CHANGING

             IT_OUTTAB                     = IT_LIKP

             IT_FIELDCATALOG               = I_FIELDLIKP

           EXCEPTIONS

             INVALID_PARAMETER_COMBINATION = 1

             PROGRAM_ERROR                 = 2

             TOO_MANY_LINES                = 3

             OTHERS                        = 4.

*----------------ALV Çoklu Seçme Açılıyor.......---------------*****

*        CALL METHOD O_GRID->SET_READY_FOR_INPUT

*          EXPORTING

*            I_READY_FOR_INPUT = 1.

*

*        CALL METHOD O_GRID->REGISTER_EDIT_EVENT

*          EXPORTING

*            I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.

*

*        CALL METHOD O_GRID->REGISTER_EDIT_EVENT

*          EXPORTING

*            I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.

*----------------ALV Çoklu Seçme Açılıyor.......---------------*****

       ENDIF.

     ENDIF.

   ENDIF.

ENDFORM.                    "CON1_olustur

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

*&      Form  CON2_OLUSTUR

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

*       text

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

FORM CON2_OLUSTUR.

   IT_LIKP2[] = IT_LIKP.

   CLEAR : WA_LIKP,IT_LIKP3.

*********bakkkkkkkkk

   LOOP AT GT_LIKP2.

     READ TABLE IT_LIKP INTO WA_LIKP WITH KEY VBELN = GT_LIKP2-VBELN.

     IF SY-SUBRC EQ 0.

       DELETE IT_LIKP2 WHERE VBELN = GT_LIKP2-VBELN.

       CALL METHOD O_GRID2->FREE.

       "PERFORM GRID_OLUSTUR USING O_GRID2 O_DOCKING2 IT_LIKP2.

       CREATE OBJECT O_GRID2

         EXPORTING

           I_PARENT          = O_DOCKING2

         EXCEPTIONS

           ERROR_CNTL_CREATE = 1

           ERROR_CNTL_INIT   = 2

           ERROR_CNTL_LINK   = 3

           ERROR_DP_CREATE   = 4

           OTHERS            = 5.

       SET HANDLER LCL_EVENTHANDLER=>HANDLE_DATA_CHANGED FOR O_GRID2.

       CALL METHOD O_GRID2->REGISTER_EDIT_EVENT

         EXPORTING

           I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.

       CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

         EXPORTING

           I_STRUCTURE_NAME       = 'LIKP'

         CHANGING

           CT_FIELDCAT            = I_FIELDLIKP

         EXCEPTIONS

           INCONSISTENT_INTERFACE = 1

           PROGRAM_ERROR          = 2

           OTHERS                 = 3.

       W_VARIANT-REPORT = SY-REPID.

       GS_LAYOUT-SEL_MODE = 'A'. " ALV seçim aktif olsun...

       GS_LAYOUT-ZEBRA = 'X'. " Zebra Görünümlü ALV olsun...

       CALL METHOD O_GRID2->SET_TABLE_FOR_FIRST_DISPLAY

         EXPORTING

           IS_VARIANT                    = W_VARIANT

           I_SAVE                        = 'X'

           IS_LAYOUT                     = GS_LAYOUT

         CHANGING

           IT_OUTTAB                     = IT_LIKP2

           IT_FIELDCATALOG               = I_FIELDLIKP

         EXCEPTIONS

           INVALID_PARAMETER_COMBINATION = 1

           PROGRAM_ERROR                 = 2

           TOO_MANY_LINES                = 3

           OTHERS                        = 4.

       CALL METHOD O_DOCKING2->LINK

         EXPORTING

           REPID                       = SYST-REPID

           DYNNR                       = '2000'

*      CONTAINER                   =

         EXCEPTIONS

           OTHERS                      = 4.

     ENDIF.

   ENDLOOP.

*********bakkkkkkkkk

   CREATE OBJECT O_DOCKING2

     EXPORTING

       CONTAINER_NAME              = 'CON2' " Screen 2000 custom kontrol adı verilir...

     EXCEPTIONS

       CNTL_ERROR                  = 1

       CNTL_SYSTEM_ERROR           = 2

       CREATE_ERROR                = 3

       LIFETIME_ERROR              = 4

       LIFETIME_DYNPRO_DYNPRO_LINK = 5

       OTHERS                      = 6.

   IF SY-SUBRC EQ 0.

     CREATE OBJECT O_GRID2

       EXPORTING

         I_PARENT          = O_DOCKING2

       EXCEPTIONS

         ERROR_CNTL_CREATE = 1

         ERROR_CNTL_INIT   = 2

         ERROR_CNTL_LINK   = 3

         ERROR_DP_CREATE   = 4

         OTHERS            = 5.

     SET HANDLER LCL_EVENTHANDLER=>HANDLE_DATA_CHANGED FOR O_GRID2.

     CALL METHOD O_GRID2->REGISTER_EDIT_EVENT

       EXPORTING

         I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.

     IF SY-SUBRC EQ 0.

       CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

         EXPORTING

           I_STRUCTURE_NAME       = 'LIKP'

         CHANGING

           CT_FIELDCAT            = I_FIELDLIKP

         EXCEPTIONS

           INCONSISTENT_INTERFACE = 1

           PROGRAM_ERROR          = 2

           OTHERS                 = 3.

       IF SY-SUBRC EQ 0.

         W_VARIANT-REPORT = SY-REPID.

         GS_LAYOUT-SEL_MODE = 'A'. " ALV seçim aktif olsun...

         GS_LAYOUT-ZEBRA = 'X'. " Zebra Görünümlü ALV olsun...

         CALL METHOD O_GRID2->SET_TABLE_FOR_FIRST_DISPLAY

           EXPORTING

             IS_VARIANT                    = W_VARIANT

             I_SAVE                        = 'X'

             IS_LAYOUT                     = GS_LAYOUT

           CHANGING

             IT_OUTTAB                     = IT_LIKP2

             IT_FIELDCATALOG               = I_FIELDLIKP

           EXCEPTIONS

             INVALID_PARAMETER_COMBINATION = 1

             PROGRAM_ERROR                 = 2

             TOO_MANY_LINES                = 3

             OTHERS                        = 4.

         PERFORM GRID_YENILE.

*----------------ALV Çoklu Seçme Açılıyor.......---------------*****

*        CALL METHOD O_GRID2->SET_READY_FOR_INPUT

*          EXPORTING

*            I_READY_FOR_INPUT = 1.

*

*        CALL METHOD O_GRID2->REGISTER_EDIT_EVENT

*          EXPORTING

*            I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.

*----------------ALV Çoklu Seçme Açılıyor.......---------------*****

       ENDIF.

     ENDIF.

   ENDIF.

ENDFORM.                    "CON1_olustur

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

*&      Form  CON3_OLUSTUR

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

*       text

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

FORM CON3_OLUSTUR.

   CLEAR : WA_LIKP,IT_LIKP3.

*********bakkkkkkkkk

   LOOP AT GT_LIKP2.

     READ TABLE IT_LIKP INTO WA_LIKP WITH KEY VBELN = GT_LIKP2-VBELN.

     IF SY-SUBRC EQ 0.

       APPEND WA_LIKP TO IT_LIKP3.

       CALL METHOD O_GRID3->FREE.

       "PERFORM GRID_OLUSTUR USING O_GRID3 O_DOCKING3 IT_LIKP3.

       CREATE OBJECT O_GRID3

         EXPORTING

           I_PARENT          = O_DOCKING3

         EXCEPTIONS

           ERROR_CNTL_CREATE = 1

           ERROR_CNTL_INIT   = 2

           ERROR_CNTL_LINK   = 3

           ERROR_DP_CREATE   = 4

           OTHERS            = 5.

       CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

         EXPORTING

           I_STRUCTURE_NAME       = 'LIKP'

         CHANGING

           CT_FIELDCAT            = I_FIELDLIKP

         EXCEPTIONS

           INCONSISTENT_INTERFACE = 1

           PROGRAM_ERROR          = 2

           OTHERS                 = 3.

       W_VARIANT-REPORT = SY-REPID.

       GS_LAYOUT-SEL_MODE = 'A'. " ALV seçim aktif olsun...

       GS_LAYOUT-ZEBRA = 'X'. " Zebra Görünümlü ALV olsun...

       CALL METHOD O_GRID3->SET_TABLE_FOR_FIRST_DISPLAY

         EXPORTING

           IS_VARIANT                    = W_VARIANT

           I_SAVE                        = 'X'

           IS_LAYOUT                     = GS_LAYOUT

         CHANGING

           IT_OUTTAB                     = IT_LIKP3

           IT_FIELDCATALOG               = I_FIELDLIKP

         EXCEPTIONS

           INVALID_PARAMETER_COMBINATION = 1

           PROGRAM_ERROR                 = 2

           TOO_MANY_LINES                = 3

           OTHERS                        = 4.

     ENDIF.

   ENDLOOP.

*********bakkkkkkkkk

   CREATE OBJECT O_DOCKING3

     EXPORTING

       CONTAINER_NAME              = 'CON3' " Screen 3000 custom kontrol adı verilir...

     EXCEPTIONS

       CNTL_ERROR                  = 1

       CNTL_SYSTEM_ERROR           = 2

       CREATE_ERROR                = 3

       LIFETIME_ERROR              = 4

       LIFETIME_DYNPRO_DYNPRO_LINK = 5

       OTHERS                      = 6.

   IF SY-SUBRC EQ 0.

     CREATE OBJECT O_GRID3

       EXPORTING

         I_PARENT          = O_DOCKING3

       EXCEPTIONS

         ERROR_CNTL_CREATE = 1

         ERROR_CNTL_INIT   = 2

         ERROR_CNTL_LINK   = 3

         ERROR_DP_CREATE   = 4

         OTHERS            = 5.

     IF SY-SUBRC EQ 0.

       CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

         EXPORTING

           I_STRUCTURE_NAME       = 'LIKP'

         CHANGING

           CT_FIELDCAT            = I_FIELDLIKP

         EXCEPTIONS

           INCONSISTENT_INTERFACE = 1

           PROGRAM_ERROR          = 2

           OTHERS                 = 3.

       IF SY-SUBRC EQ 0.

         W_VARIANT-REPORT = SY-REPID.

         GS_LAYOUT-SEL_MODE = 'A'. " ALV seçim aktif olsun...

         GS_LAYOUT-ZEBRA = 'X'. " Zebra Görünümlü ALV olsun...

         CALL METHOD O_GRID3->SET_TABLE_FOR_FIRST_DISPLAY

           EXPORTING

             IS_VARIANT                    = W_VARIANT

             I_SAVE                        = 'X'

             IS_LAYOUT                     = GS_LAYOUT

           CHANGING

             IT_OUTTAB                     = IT_LIKP3

             IT_FIELDCATALOG               = I_FIELDLIKP

           EXCEPTIONS

             INVALID_PARAMETER_COMBINATION = 1

             PROGRAM_ERROR                 = 2

             TOO_MANY_LINES                = 3

             OTHERS                        = 4.

         PERFORM GRID_YENILE.

*----------------ALV Çoklu Seçme Açılıyor.......---------------*****

*        CALL METHOD O_GRID3->SET_READY_FOR_INPUT

*          EXPORTING

*            I_READY_FOR_INPUT = 1.

*

*        CALL METHOD O_GRID3->REGISTER_EDIT_EVENT

*          EXPORTING

*            I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.

*

*        CALL METHOD O_GRID3->REGISTER_EDIT_EVENT

*          EXPORTING

*            I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.

*

*        CALL METHOD O_GRID3->CHECK_CHANGED_DATA.

*----------------ALV Çoklu Seçme Açılıyor.......---------------*****

       ENDIF.

     ENDIF.

   ENDIF.

ENDFORM.                    "CON1_olustur

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

*&      Form  grid_sec_oku

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

*       text

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

FORM GRID_SEC_OKU.

   CLEAR GT_LIKP2.

   CALL METHOD O_GRID2->GET_SELECTED_ROWS

     IMPORTING

       ET_INDEX_ROWS = I_ROWINDEX.

   IF I_ROWINDEX[] IS NOT INITIAL .

     LOOP AT I_ROWINDEX INTO SELROWS_LINE.

       READ TABLE GT_LIKP INDEX SELROWS_LINE-INDEX.

       IF SY-SUBRC EQ 0.

         MOVE-CORRESPONDING GT_LIKP TO GT_LIKP2.

         APPEND GT_LIKP2.

       ENDIF.

     ENDLOOP.

   ENDIF.

PERFORM GRID_YENILE.

ENDFORM.                    "grid_sec_oku

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

*&      Form  grid_olustur

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

*       text

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

*      -->O_DOCKING  text

*      -->O_GRID     text

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

FORM GRID_OLUSTUR USING O_GRID TYPE REF TO CL_GUI_ALV_GRID

                         O_DOCKING TYPE REF TO CL_GUI_CUSTOM_CONTAINER

                         IT_LIKP TYPE STANDARD TABLE OF LIKP.

   CREATE OBJECT O_GRID

     EXPORTING

       I_PARENT          = O_DOCKING

     EXCEPTIONS

       ERROR_CNTL_CREATE = 1

       ERROR_CNTL_INIT   = 2

       ERROR_CNTL_LINK   = 3

       ERROR_DP_CREATE   = 4

       OTHERS            = 5.

   CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

     EXPORTING

       I_STRUCTURE_NAME       = 'LIKP'

     CHANGING

       CT_FIELDCAT            = I_FIELDLIKP

     EXCEPTIONS

       INCONSISTENT_INTERFACE = 1

       PROGRAM_ERROR          = 2

       OTHERS                 = 3.

   W_VARIANT-REPORT = SY-REPID.

   GS_LAYOUT-SEL_MODE = 'A'. " ALV seçim aktif olsun...

   GS_LAYOUT-ZEBRA = 'X'. " Zebra Görünümlü ALV olsun...

   CALL METHOD O_GRID->SET_TABLE_FOR_FIRST_DISPLAY

     EXPORTING

       IS_VARIANT                    = W_VARIANT

       I_SAVE                        = 'X'

       IS_LAYOUT                     = GS_LAYOUT

     CHANGING

       IT_OUTTAB                     = IT_LIKP

       IT_FIELDCATALOG               = I_FIELDLIKP

     EXCEPTIONS

       INVALID_PARAMETER_COMBINATION = 1

       PROGRAM_ERROR                 = 2

       TOO_MANY_LINES                = 3

       OTHERS                        = 4.

ENDFORM.                    "grid_olustur

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

INITIALIZATION.

   BASLIK = 'Teslimat Seç - Kamyonlaştır.'.

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

AT SELECTION-SCREEN OUTPUT.

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

AT SELECTION-SCREEN.

   IF SO_VBELN IS INITIAL.

     MESSAGE 'Teslimat no girilmedi...' TYPE 'E'.

   ENDIF.

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

START-OF-SELECTION.

   SELECT * FROM LIKP INTO TABLE IT_LIKP WHERE VBELN IN SO_VBELN.

   IF SY-SUBRC NE 0.

     MESSAGE 'Teslimat Seçilemedi' TYPE 'I'.

   ENDIF.

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

END-OF-SELECTION.

   CALL SCREEN 1500.

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

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

*&      Module  STATUS_1500  OUTPUT

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

*       text

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

MODULE STATUS_1500 OUTPUT.

   SET PF-STATUS 'ZMUSTI'.

   SET TITLEBAR 'Mustafa Hamit'.

   PERFORM CON1_OLUSTUR.

   CLEAR LIKP-NTGEW.

   LOOP AT IT_LIKP INTO WA_LIKP.

*GT_LIKP doldur ve toplam tonaj bul.....

     GT_LIKP-VBELN = WA_LIKP-VBELN.

     GT_LIKP-NTGEW = WA_LIKP-NTGEW.

     LIKP-NTGEW = LIKP-NTGEW + WA_LIKP-NTGEW.

*GT_LIKP doldur ve toplam tonaj bul.....

     APPEND GT_LIKP.

   ENDLOOP.

ENDMODULE.                 " STATUS_1500  OUTPUT

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

*&      Module  USER_COMMAND_1500  INPUT

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

*       text

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

MODULE USER_COMMAND_1500 INPUT.

O_GRID->CHECK_CHANGED_DATA( ).

   CASE SY-UCOMM.

     WHEN 'CANCEL' OR 'EXIT'.

       LEAVE PROGRAM.

     WHEN 'BACK'.

       LEAVE TO SCREEN 0.

     WHEN 'KAMYON'.

       CALL SCREEN 2000.

   ENDCASE.

ENDMODULE.                 " USER_COMMAND_1500  INPUT

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

*&      Module  STATUS_2000  OUTPUT

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

*       text

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

MODULE STATUS_2000 OUTPUT.

   SET PF-STATUS 'ZMUSTI2'.

   SET TITLEBAR 'Mustafa Hamit'.

   PERFORM CON2_OLUSTUR.

   PERFORM CON3_OLUSTUR.

   PERFORM GRID_YENILE.

ENDMODULE.                 " STATUS_2000  OUTPUT

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

*&      Module  USER_COMMAND_2000  INPUT

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

*       text

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

MODULE USER_COMMAND_2000 INPUT.

O_GRID2->CHECK_CHANGED_DATA( ).

O_GRID3->CHECK_CHANGED_DATA( ).

   CASE SY-UCOMM.

     WHEN 'CANCEL' OR 'EXIT'.

       LEAVE PROGRAM.

     WHEN 'BACK'.

       LEAVE TO SCREEN 1500.

*      SET SCREEN 1500.

*      LEAVE SCREEN.

     WHEN 'SAG'.

       PERFORM GRID_SEC_OKU.

     WHEN 'SOL'.

   ENDCASE.

ENDMODULE.                 " USER_COMMAND_2000  INPUT

1 ACCEPTED SOLUTION
Read only

roberto_vacca2
Active Contributor
0 Likes
1,055

Hi.

I'm not sure 100%, but when you do:

      CALL METHOD O_DOCKING2->LINK

         EXPORTING

           REPID                       = SYST-REPID

           DYNNR                       = '2000'

*      CONTAINER                   =

         EXCEPTIONS

           OTHERS                      = 4.


Link to 3000 instead of 2000 and create a "phantom" dynpro 3000  where to link.


Hope to help

Bye

4 REPLIES 4
Read only

roberto_vacca2
Active Contributor
0 Likes
1,056

Hi.

I'm not sure 100%, but when you do:

      CALL METHOD O_DOCKING2->LINK

         EXPORTING

           REPID                       = SYST-REPID

           DYNNR                       = '2000'

*      CONTAINER                   =

         EXCEPTIONS

           OTHERS                      = 4.


Link to 3000 instead of 2000 and create a "phantom" dynpro 3000  where to link.


Hope to help

Bye

Read only

0 Likes
1,055

Hi Roberto,

i changed dynpro 3000. My problem is solved.

But i have a question. do i have to use CALL METHOD O_DOCKING2->LINK ?

And why do we need to write 3000 instead of 2000?I did not understand the reason behind of this.

Read only

0 Likes
1,055

Hi.

Well normally a container must be linked to an object grid and in the way you were using it made your dynpro 2000 linked to different instances of your object grid.

Your problem is here

       CALL METHOD O_DOCKING2->LINK

         EXPORTING

           REPID                       = SYST-REPID

           DYNNR                       = '2000'

*      CONTAINER                   =

         EXCEPTIONS

           OTHERS                      = 4.

     ENDIF.

   ENDLOOP.

*********bakkkkkkkkk

   CREATE OBJECT O_DOCKING2

     EXPORTING

       CONTAINER_NAME              = 'CON2' " Screen 2000 custom kontrol adı verilir...

     EXCEPTIONS

       CNTL_ERROR                  = 1

       CNTL_SYSTEM_ERROR           = 2

       CREATE_ERROR                = 3

       LIFETIME_ERROR              = 4

       LIFETIME_DYNPRO_DYNPRO_LINK = 5

       OTHERS                      = 6.


If you associate CON2 to 2000 you'll overwrite your grid event and data with your last docking creation.


Using 3000 you'll have your correct reference to your grid in the change event because dynpro is not overwritten.


Even though I wouldn't realize a solution like this. You should better create 2 container in the same dynpro (top and bottom or right and left) using a container as Master and the other as Slave.


Hope you understand what I mean.


Bye





Read only

Former Member
0 Likes
1,055

thank u so much for all reply.