SAP 管理信息系统
*************************************************************************
* プログラムID: Z_GRADUATION_PROJECT_SY
* 機能名 : GRADUATION_PROJECT
* 機能概要 : 电影票售卖管理系统
* 作成者 : 孫烨
* 作成日付 : 2021/09/17
* 移送番号 : HP1K906022
************************************************************************
REPORT Z_GRADUATION_PROJECT_SY.
DATA TAB_TAB2.
*&---------------------------------------------------------------------*
*& 定义
*&---------------------------------------------------------------------*
INCLUDE:
ZPROJECTD01, "TYPE定义
ZPROJECTS01, "选择屏幕
ZPROJECTS02, "9000屏幕
ZPROJECTF01. "代码处理
AT SELECTION-SCREEN OUTPUT.
*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
* 主処理
PERFORM F_MAIN_SYORI.
*&---------------------------------------------------------------------*
*& Include ZPROJECTD01
*&---------------------------------------------------------------------*
TYPES:
BEGIN OF TYP_9100,
TAB1 TYPE CHAR1,
TAB2 TYPE CHAR1,
END OF TYP_9100.
DATA :GW_9001 TYPE ZTB001_SY,
GW_9100 TYPE TYP_9100.
CONSTANTS: BEGIN OF C_TAB,
TAB1 LIKE SY-UCOMM VALUE 'TAB_FC1',
TAB2 LIKE SY-UCOMM VALUE 'TAB_FC2',
TAB3 LIKE SY-UCOMM VALUE 'TAB3FC3',
TAB4 LIKE SY-UCOMM VALUE 'TAB3FC4',
TAB5 LIKE SY-UCOMM VALUE 'TAB3FC5',
TAB6 LIKE SY-UCOMM VALUE 'TAB3FC6',
END OF C_TAB.
*&SPWIZARD: DATA FOR TABSTRIP 'TAB3'
CONTROLS: TAB TYPE TABSTRIP.
DATA: BEGIN OF G_TAB,
SUBSCREEN LIKE SY-DYNNR,
PROG LIKE SY-REPID , "VALUE 'ZMME001',
PRESSED_TAB LIKE SY-UCOMM VALUE C_TAB-TAB1,
END OF G_TAB.
DATA:
GV_USER TYPE CHAR1,
GV_MANG TYPE CHAR1.
TYPES:
BEGIN OF TYP_CINEMA,
NAME TYPE ZTB002_CINEMA-NAME,
ADDRESS TYPE ZTB002_CINEMA-ADDRESS,
END OF TYP_CINEMA, "影院信息
TYP_T_CINEMA TYPE STANDARD TABLE OF TYP_CINEMA. "影院信息
SELECTION-SCREEN BEGIN OF SCREEN 9101 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
P_1 RADIOBUTTON GROUP G1 USER-COMMAND MM MODIF ID MB DEFAULT 'X',
P_2 RADIOBUTTON GROUP G1 MODIF ID MB,
P_3 RADIOBUTTON GROUP G1 MODIF ID MB.
SELECTION-SCREEN END OF BLOCK BK1.
SELECTION-SCREEN END OF SCREEN 9101.
*&---------------------------------------------------------------------*
*& Include ZPROJECTS02
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_9000 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS 'ZSTATUS_9000'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9000 INPUT.
DATA OK_CODE TYPE SYST_UCOMM.
OK_CODE = SY-UCOMM.
CALL SCREEN 9000.
CASE OK_CODE.
WHEN 'SIGN'.
CALL SCREEN 9001 STARTING AT 20 5.
WHEN 'REG'.
CALL SCREEN 9002 STARTING AT 20 5.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'EESC'.
LEAVE PROGRAM.
CLEAR: OK_CODE.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module STATUS_9001 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE STATUS_9001 OUTPUT.
SET PF-STATUS 'ZSTATUS_9001'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9001 INPUT
*&---------------------------------------------------------------------*
*& 登录界面
*&---------------------------------------------------------------------*
MODULE USER_COMMAND_9001 INPUT.
CLEAR OK_CODE.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'CONFIRM'.
* CASE OK_CODE.
* WHEN 'USER'.
IF GV_USER IS NOT INITIAL.
SELECT SINGLE *
FROM ZTB001_SY
INTO @DATA(LW_SY001)
WHERE ACCOUNT = @GW_9001-ACCOUNT.
IF SY-SUBRC = 0.
IF LW_SY001-PASSWORD = GW_9001-PASSWORD.
MESSAGE '登录成功' TYPE 'S'.
CALL SCREEN 9100.
ELSE.
MESSAGE '密码错误请重新输入' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
ELSE.
MESSAGE '账号不存在,请先注册' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
* WHEN 'MANG'.
ELSEIF GV_MANG IS NOT INITIAL.
SELECT SINGLE *
FROM ZTB001_MANG
INTO @DATA(LW_MANG001)
WHERE ACCOUNT = @GW_9001-ACCOUNT.
IF SY-SUBRC = 0.
IF LW_MANG001-PASSWORD = GW_9001-PASSWORD.
MESSAGE '登录成功' TYPE 'S'.
CALL SCREEN 9100.
ELSE.
MESSAGE '密码错误请重新输入' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
ELSE.
MESSAGE '账号不存在,请先注册' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
* WHEN OTHERS.
* ENDCASE.
ENDIF.
WHEN 'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module STATUS_9002 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*