Im trying to create 2 screens, screen 9002 is non editable and screen 9003 is editable, im using different variables but same ztables for these 2 screens. Im displaying the screen 9003 frm 9001 screen PAI.
When I called screen 9003 it is throwing me Dyn Pro error, the code is as follows
*&---------------------------------------------------------------------*
*& Include MZDLGPROG_03_REPORTTOP - Module Pool SAPMZDLGPROG_03_REPORT
*&---------------------------------------------------------------------*
PROGRAM SAPMZDLGPROG_03_REPORT.
TABLES: ZEKKO_03,
ZEKPO_03.
CONTROLS: TC_ZEKPO TYPE TABLEVIEW USING SCREEN 9002, ""for display
TC_ZEKPO2 TYPE TABLEVIEW USING SCREEN 9003. ""for edit
DATA : OK_CODE TYPE SY-UCOMM,
GT_ZEKKO TYPE TABLE OF ZEKKO_03,
GWA_ZEKKO TYPE ZEKKO_03,
GT_ZEKPO TYPE TABLE OF ZEKPO_03,
GWA_ZEKPO like LINE OF gt_zekpo,
GV_EBELN TYPE ZEBELN_EL.
DATA :
GT_ZEKKO2 TYPE TABLE OF ZEKKO_03,
GWA_ZEKKO2 TYPE ZEKKO_03,
GT_ZEKPO2 TYPE TABLE OF ZEKPO_03,
GWA_ZEKPO2 like LINE OF gt_zekpo.
DATA: f1 TYPE char1,
gv_tabix TYPE sy-tabix.
*&---------------------------------------------------------------------*
*& Include MZDLGPROG_03_REPORTO01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_9001 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE STATUS_9001 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'ZTITLE'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module STATUS_9002 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE STATUS_9002 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'ZTITLE1'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module STATUS_9002 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE STATUS_9003 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'ZTITLE2'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module FETCH_DATA OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE FETCH_DATA OUTPUT.
if f1 <> 1.
SELECT ebeln lifnr ekorg ekgrp bukrs waers zterm zdesc FROM zekko_03
INTO CORRESPONDING FIELDS OF TABLE gt_zekko
WHERE ebeln = gwa_zekko-ebeln.
SELECT SINGLE ebeln lifnr ekorg ekgrp bukrs waers zterm zdesc FROM zekko_03
INTO CORRESPONDING FIELDS OF gwa_zekko
WHERE ebeln = gwa_zekko-ebeln.
READ TABLE gt_zekko INTO gwa_zekko INDEX sy-tabix.
SELECT EBELP MATNR werks LGORT menge meins
INTO CORRESPONDING FIELDS OF TABLE gt_zekpo FROM zekpo_03
WHERE ebeln = gwa_zekko-ebeln.
ELSE.
IF gv_tabix is NOT INITIAL.
DELETE gt_zekko INDEX gv_tabix.
delete gt_zekpo INDEX gv_tabix.
ENDIF.
endif.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module FETCH_DATA_EDIT OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE FETCH_DATA_EDIT OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
SELECT ebeln lifnr ekorg ekgrp bukrs waers zterm zdesc FROM zekko_03
INTO CORRESPONDING FIELDS OF TABLE gt_zekko
WHERE ebeln = gwa_zekko-ebeln.
SELECT SINGLE ebeln lifnr ekorg ekgrp bukrs waers zterm zdesc FROM zekko_03
INTO CORRESPONDING FIELDS OF gwa_zekko
WHERE ebeln = gwa_zekko-ebeln.
READ TABLE gt_zekko INTO gwa_zekko INDEX sy-tabix.
SELECT EBELP MATNR werks LGORT menge meins
INTO CORRESPONDING FIELDS OF TABLE gt_zekpo FROM zekpo_03
WHERE ebeln = gwa_zekko-ebeln.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9003 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9003 INPUT.
* CASE ok_code.
*
* ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Include MZDLGPROG_03_REPORTI01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9002 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9002 INPUT.
CASE OK_CODE.
WHEN 'BACK'.
SET SCREEN 0.
LEAVE TO SCREEN 0.
WHEN 'DEL'.
GET CURSOR LINE gv_tabix.
f1 = 1.
call screen 9002.
* LOOP AT gt_zekpo WHERE MARK = 'X'.
* DELETE gt_zekpo.
* ENDLOOP.
* IF SY-SUBRC <> 0.
* GET CURSOR FIELD FLD LINE LINNO OFFSET OFF.
* SET CURSOR FIELD FLD LINE LINNO OFFSET OFF.
* IF FLD CP 'GT_ZEKPO*' AND SY-SUBRC = 0.
* LINNO = LINNO + TC_ZEKPO-TOP_LINE - 1.
* DELETE GT_ZEKPO INDEX LINNO.
* TC_ZEKPO-LINES = TC_ZEKPO-LINES - 1.
* ENDIF.
* ENDIF.
* READ TABLE gt_zekko INTO gwa_zekko WITH KEY gwa_zekko-ebeln.
* if gwa_zekko-ebeln is NOT INITIAL.
* delete ZEKKO_03 FROM TABLE gt_zekko.
* delete zekpo_03 FROM TABLE gt_zekpo.
* endif.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module MODIFY_IT_ZEKPO INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE MODIFY_GT_ZEKPO INPUT.
MODIFY gt_zekpo2 FROM gwa_zekpo2
INDEX TC_ZEKPO2-CURRENT_LINE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9001 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9001 INPUT.
CASE OK_CODE.
WHEN 'BACK' OR 'EXIT' OR 'CANC'.
LEAVE PROGRAM.
WHEN 'DELETE'.
IF GWA_ZEKKO-EBELN IS INITIAL .
MESSAGE 'Please enter document number' TYPE 'E'.
ELSE.
CALL SCREEN 9002.
ENDIF.
WHEN 'DISPLAY'.
IF GWA_ZEKKO-EBELN IS INITIAL .
MESSAGE 'Please enter document number' TYPE 'E'.
ELSE.
CALL SCREEN 9002.
ENDIF.
WHEN 'CREATE' .
CALL SCREEN 9003. <<<< to display editable screen
ENDCASE.
ENDMODULE.