2015 Nov 11 1:27 PM
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(1) TYPE 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
2015 Nov 11 2:16 PM
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
2015 Nov 11 2:16 PM
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
2015 Nov 12 1:01 PM
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.
2015 Nov 12 1:12 PM
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
2015 Nov 12 3:32 PM