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.