PROGRAM ZSATHI_MP_04.
TABLES:MARA,MAKT.
TYPES:
BEGIN OF TY_MARA,
MATNR TYPE MATNR,
ERNAM TYPE ERNAM,
MBRSH TYPE MBRSH,
MTART TYPE MTART,
END OF TY_MARA,
BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
MAKTX TYPE MAKTX,
END OF TY_MAKT.
DATA:
IT_MARA TYPE STANDARD TABLE OF TY_MARA,
WA_MARA TYPE TY_MARA,
IT_MAKT TYPE STANDARD TABLE OF TY_MAKT,
WA_MAKT TYPE TY_MAKT,
IO_01 TYPE MARA-MATNR.
DATA: SUB1 TYPE SY-DYNNR VALUE '200',
SUB2 TYPE SY-DYNNR VALUE '300',
SUB3 TYPE SY-DYNNR VALUE '400'.
data:FLAG TYPE C,
SSN TYPE SY-DYNNR. "SSN SELECTION SCREEN NO
CONTROLS: TC_01 TYPE TABLEVIEW USING SCREEN 400.
* SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
*
* PARAMETERS:IO_01 TYPE MATNR.
*
* SELECTION-SCREEN END OF SCREEN 100.
* CALL SCREEN 8000.
CONTROLS: TAB_01 TYPE TABSTRIP.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_8000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_8000 INPUT.
CASE SY-UCOMM.
WHEN'MARA'.
TAB_01-ACTIVETAB = 'MARA'.
WHEN'MAKT'.
TAB_01-ACTIVETAB = 'MAKT'. "MAKT PUSHBUTTON
WHEN'MARC'.
TAB_01-ACTIVETAB = 'MARC'. "TAB_01 = TAB STRIP NAME
WHEN'DISP'.
SELECT
MATNR
ERNAM
MBRSH
MTART
FROM MARA
INTO TABLE IT_MARA
WHERE MATNR = IO_01.
SSN = '200'.
SELECT MATNR
SPRAS
MAKTX
FROM MAKT
INTO TABLE IT_MAKT
WHERE MATNR = IO_01.
SSN = '300'.
SELECT
MATNR
ERNAM
MBRSH
MTART
FROM MARA
INTO TABLE IT_MARA
UP TO 10 ROWS.
SSN = '400'.
IF SY-SUBRC = 0.
CALL SCREEN 8000.
ELSE.
MESSAGE 'ENTER THE CORRECT MATERIAL' TYPE 'I'.
ENDIF.
SSN = '500'.
WHEN'BACK'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0200 INPUT.
CASE SY-UCOMM.
when'MARA'.
WA_MARA-MATNR = MARA-MATNR.
WA_MARA-ERNAM = MARA-ERNAM.
WA_MARA-MBRSH = MARA-MBRSH.
WA_MARA-MTART = MARA-MTART.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module STATUS_8000 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_8000 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
IF FLAG IS INITIAL.
SSN = '200'.
FLAG = 'X'.
ENDIF.
ENDMODULE.
*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TAB_WIZARD'
CONSTANTS: BEGIN OF C_TAB_WIZARD,
TAB1 LIKE SY-UCOMM VALUE 'TAB_WIZARD_FC1',
TAB2 LIKE SY-UCOMM VALUE 'TAB_WIZARD_FC2',
END OF C_TAB_WIZARD.
*&SPWIZARD: DATA FOR TABSTRIP 'TAB_WIZARD'
CONTROLS: TAB_WIZARD TYPE TABSTRIP.
DATA: BEGIN OF G_TAB_WIZARD,
SUBSCREEN LIKE SY-DYNNR,
PROG LIKE SY-REPID VALUE 'ZSATHI_MP_04',
PRESSED_TAB LIKE SY-UCOMM VALUE C_TAB_WIZARD-TAB1,
END OF G_TAB_WIZARD.
DATA: OK_CODE LIKE SY-UCOMM.
*&SPWIZARD: OUTPUT MODULE FOR TS 'TAB_WIZARD'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: SETS ACTIVE TAB
MODULE TAB_WIZARD_ACTIVE_TAB_SET OUTPUT.
TAB_WIZARD-ACTIVETAB = G_TAB_WIZARD-PRESSED_TAB.
CASE G_TAB_WIZARD-PRESSED_TAB.
WHEN C_TAB_WIZARD-TAB1.
G_TAB_WIZARD-SUBSCREEN = '0501'.
WHEN C_TAB_WIZARD-TAB2.
G_TAB_WIZARD-SUBSCREEN = '0502'.
WHEN OTHERS.
*&SPWIZARD: DO NOTHING
ENDCASE.
ENDMODULE.
*&SPWIZARD: INPUT MODULE FOR TS 'TAB_WIZARD'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: GETS ACTIVE TAB
MODULE TAB_WIZARD_ACTIVE_TAB_GET INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN C_TAB_WIZARD-TAB1.
G_TAB_WIZARD-PRESSED_TAB = C_TAB_WIZARD-TAB1.
CALL TRANSACTION 'SE11'.
WHEN C_TAB_WIZARD-TAB2.
G_TAB_WIZARD-PRESSED_TAB = C_TAB_WIZARD-TAB2.
WHEN OTHERS.
*&SPWIZARD: DO NOTHING
ENDCASE.
ENDMODULE.
Output: