PROGRAM YLWMM005 MESSAGE-ID YL. *----------------------------------------------------------------------- * maintain additional fields on table t336 - difference indicators * written by sheila titchener *----------------------------------------------------------------------- TABLES: T336, " Difference indicators T300T, " Warehouse description T336T. " Difference indicator text DATA: OK_CODE(4), OK_CODE2(4), W_ERR_FLAG. DATA: BEGIN OF XT336 OCCURS 1, X LIKE T336, DTEXT LIKE T336T-DTEXT, END OF XT336. DATA C LIKE SY-INDEX. *&---------------------------------------------------------------------* *& Module USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* MODULE USER_COMMAND_0100 INPUT. * Warehouse must not be space. CHECK T336-LGNUM NE ' '. CASE OK_CODE. WHEN 'SAVE'. PERFORM SAVE_T336. WHEN 'DISP'. PERFORM DISPLAY_T336. WHEN 'LIST'. C = 0. PERFORM LIST_T336. WHEN OTHERS. PERFORM DISPLAY_T336. ENDCASE. CLEAR OK_CODE. ENDMODULE. " USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* *& Module STATUS_0100 OUTPUT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* MODULE STATUS_0100 OUTPUT. SET PF-STATUS 'AMEND'. SET TITLEBAR '100'. ENDMODULE. " STATUS_0100 OUTPUT *&---------------------------------------------------------------------* *& Form SAVE_T336 *&---------------------------------------------------------------------* * Save screen details *&---------------------------------------------------------------------* FORM SAVE_T336. * reread record to make sure key is for last record read * but store new value of ZZNOTO first DATA: W_ZZNOTO LIKE T336-ZZNOTO. W_ZZNOTO = T336-ZZNOTO. SELECT SINGLE * FROM T336 WHERE LGNUM = T336-LGNUM AND KZDIF = T336-KZDIF . IF SY-SUBRC = 0. T336-ZZNOTO = W_ZZNOTO. UPDATE T336. MESSAGE I018 WITH 'T336'. COMMIT WORK. ELSE. MESSAGE I029 WITH T336-LGNUM T336-KZDIF. W_ERR_FLAG = 'Y'. ENDIF. * CLEAR OK_CODE. ENDFORM. *&---------------------------------------------------------------------* *& Form DISPLAY_LOC *&---------------------------------------------------------------------* *----------------------------------------------------------------------* FORM DISPLAY_T336. W_ERR_FLAG = 'N'. * SELECT SINGLE * FROM T336 WHERE LGNUM = T336-LGNUM AND KZDIF = T336-KZDIF. IF SY-SUBRC NE 0. MESSAGE I065. W_ERR_FLAG = 'Y'. ENDIF. CLEAR T300T-LNUMT. SELECT SINGLE * FROM T300T WHERE SPRAS = SY-LANGU AND LGNUM = T336-LGNUM. SELECT SINGLE * FROM T336T WHERE SPRAS = SY-LANGU AND LGNUM = T336-LGNUM AND KZDIF = T336-KZDIF. * Abort if no warehouse CHECK W_ERR_FLAG = 'N'. * ENDFORM. *&---------------------------------------------------------------------* *& Module EXIT_COMMAND INPUT *&---------------------------------------------------------------------* * exit commands are processed before validation * *----------------------------------------------------------------------* MODULE EXIT_COMMAND INPUT. CASE OK_CODE. WHEN 'EXIT'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN. WHEN 'CANC'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN. WHEN 'BACK'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN. ENDCASE. ENDMODULE. " EXIT_COMMAND INPUT *&---------------------------------------------------------------------* *& Form READ_T336 *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM LIST_T336. DATA: T336-DTEXT_ST LIKE T336T-DTEXT. T336-DTEXT_ST = T336T-DTEXT. SELECT * FROM T336 INTO TABLE XT336 WHERE LGNUM = T336-LGNUM. LOOP AT XT336. SELECT SINGLE * FROM T336T WHERE SPRAS = 'E' AND LGNUM = T336-LGNUM AND KZDIF = XT336-X-KZDIF. XT336-DTEXT = T336T-DTEXT. MODIFY XT336. ENDLOOP. T336T-DTEXT = T336-DTEXT_ST. CLEAR OK_CODE. SET SCREEN 200. LEAVE SCREEN. ENDFORM. " LIST_T336 *&---------------------------------------------------------------------* *& Module EXIT_COMMAND_200 INPUT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* MODULE EXIT_COMMAND_200 INPUT. CASE OK_CODE2. WHEN 'EXIT'. CLEAR OK_CODE2. SET SCREEN 0. LEAVE SCREEN. WHEN 'CANC'. CLEAR OK_CODE2. SET SCREEN 0. LEAVE SCREEN. WHEN 'BACK'. CLEAR OK_CODE2. SET SCREEN 100. LEAVE SCREEN. ENDCASE. ENDMODULE. " EXIT_COMMAND_200 INPUT *&---------------------------------------------------------------------* *& Module STATUS_0200 OUTPUT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* MODULE STATUS_0200 OUTPUT. SET PF-STATUS 'POPUP'. * SET TITLEBAR 'xxx'. IF T300T-LGNUM NE T336-LGNUM. SELECT SINGLE * FROM T300T WHERE SPRAS = SY-LANGU AND LGNUM = T336-LGNUM . ENDIF. ENDMODULE. " STATUS_0200 OUTPUT