MPP : Table control
Click on create
Provide the title and type
Click on save
Provide the package and click on save ,enter
Enter
Click on display object list
Select the program in left side
Right click -> create -> screen
Provide the screen number 1000
Click on enter
Provide the short description ,save
Click on layout button
Click on f6 function key
Provide the table name
Design the screen
create the 2nd screen
Click on layout design the screen
PROGRAM
*&---------------------------------------------------
------------------*
*& Module Pool YOGI_MPP
*&
*&---------------------------------------------------
------------------*
*&
*&
*&---------------------------------------------------
------------------*
PROGRAM YOGI_MPP.
DATA A TYPE EKKO-EBELN.
CONTROLS TC TYPE TABLEVIEW USING SCREEN 2000.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EKPO-EBELN,
EBELP TYPE EKPO-EBELP,
MATNR TYPE EKPO-MATNR,
MENGE TYPE EKPO-MENGE,
MEINS TYPE EKPO-MEINS,
NETPR TYPE EKPO-NETPR,
END OF TY_EKPO.
DATA : WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE TABLE OF TY_EKPO.
*&---------------------------------------------------
------------------*
*& Module USER_COMMAND_1000 INPUT
*&---------------------------------------------------
------------------*
* text
*----------------------------------------------------
------------------*
MODULE USER_COMMAND_1000 INPUT.
IF SY-UCOMM = 'DIS'.
SELECT EBELN EBELP MATNR MENGE MATNR NETPR FROM EKPO
INTO TABLE IT_EKPO WHERE EBELN = A.
CALL SCREEN 2000.
ELSEIF SY-UCOMM = 'BACK'.
LEAVE PROGRAM.
ENDIF.
ENDMODULE. " USER_COMMAND_1000 INPUT
*&---------------------------------------------------
------------------*
*& Module USER_COMMAND_2000 INPUT
*&---------------------------------------------------
------------------*
* text
*----------------------------------------------------
------------------*
MODULE USER_COMMAND_2000 INPUT.
IF SY-UCOMM = 'DOWN'.
CALL FUNCTION 'DOWNLOAD'
EXPORTING
* BIN_FILESIZE = ' '
* CODEPAGE = ' '
* FILENAME = ' '
FILETYPE = 'DAT'
* ITEM = ' '
* MODE = ' '
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* FILEMASK_MASK = ' '
* FILEMASK_TEXT = ' '
* FILETYPE_NO_CHANGE = ' '
* FILEMASK_ALL = ' '
* FILETYPE_NO_SHOW = ' '
* SILENT = 'S'
* COL_SELECT = ' '
* COL_SELECTMASK = ' '
* NO_AUTH_CHECK = ' '
* IMPORTING
* ACT_FILENAME =
* ACT_FILETYPE =
* FILESIZE =
* CANCEL =
TABLES
DATA_TAB = IT_EKPO
* FIELDNAMES =
* EXCEPTIONS
* INVALID_FILESIZE = 1
* INVALID_TABLE_WIDTH = 2
* INVALID_TYPE = 3
* NO_BATCH = 4
* UNKNOWN_ERROR = 5
* GUI_REFUSE_FILETRANSFER = 6
* OTHERS = 7
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*REFRESH IT_EKPO.
ELSEIF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE. " USER_COMMAND_2000 INPUT
CREQATE THE TRANSACTION
CLICK ON ENTER
PROVIDE THE PROGRAM , SCREEN NO AND SELECT THE GUI CHECK BOXES.
CLICK ON SAVE
SELECT THE TCODE -> EXECUTE -> DIRECT PROCESSING.
FIRST SCREEN 1000.
CLICK ON DISPLAY
CLICK ON DOWNLOAD BUTTON, TOTAL FILE DOWNLOAD
2ND PROGRAM :
CLICK ON CREATE
PROVIDE THE TITLE TYPE
SAVE THE OWN PACKAGE
CLICK ON DISPLAY OBJECT LIST
CRETAE THE FIRST SCREEN 5000
PROVIDE THE SCREEN NO,ENTER
PROVIDE THE SHORT DESCRIPTION CLICK ON LAYOUT
DESIGN THE SCREEN.
*&---------------------------------------------------
------------------*
*& Module Pool YOGI_MPP2
*&
*&---------------------------------------------------
------------------*
*&
*&
*&---------------------------------------------------
------------------*
PROGRAM YOGI_MPP2.
DATA A TYPE T001-BUKRS.
TYPES : BEGIN OF TY_EKKO,
BUKRS TYPE EKKO-BUKRS,
EBELN TYPE EKKO-EBELN,
BEDAT TYPE EKKO-BEDAT,
LIFNR TYPE EKKO-LIFNR,
END OF TY_EKKO.
DATA : WA_EKKO TYPE TY_EKKO,
IT_EKKO TYPE TABLE OF TY_EKKO.
TYPES : BEGIN OF TY_T001,
BUKRS TYPE T001-BUKRS,
BUTXT TYPE T001-BUTXT,
END OF TY_T001.
DATA : WA_T001 TYPE TY_T001,
IT_T001 TYPE TABLE OF TY_T001.
*&---------------------------------------------------
------------------*
*& Module USER_COMMAND_5000 INPUT
*&---------------------------------------------------
------------------*
* text
*----------------------------------------------------
------------------*
MODULE USER_COMMAND_5000 INPUT.
IF SY-UCOMM = 'DIS'.
SELECT BUKRS EBELN BEDAT LIFNR FROM EKKO INTO TABLE
IT_EKKO WHERE BUKRS = A.
LEAVE TO LIST-PROCESSING.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-BUKRS,WA_EKKO-EBELN,WA_EKKO-
BEDAT,WA_EKKO-LIFNR.
ENDLOOP.
ELSEIF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE. " USER_COMMAND_5000 INPUT
*&---------------------------------------------------
------------------*
*& Module YOGI INPUT
*&---------------------------------------------------
------------------*
* text
*----------------------------------------------------
------------------*
MODULE YOGI INPUT.
SELECT BUKRS BUTXT FROM T001 INTO TABLE IT_T001.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
RETFIELD = 'BUKRS'
* PVALKEY = ' '
DYNPPROG = 'YOGI_MPP2'
DYNPNR = '5000'
DYNPROFIELD = 'A'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
VALUE_ORG = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
VALUE_TAB = IT_T001.
* FIELD_TAB =
* RETURN_TAB =
* DYNPFLD_MAPPING =
* EXCEPTIONS
* PARAMETER_ERROR = 1
* NO_VALUES_FOUND = 2
* OTHERS = 3
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " YOGI INPUT
CREATE THE TRASANCTION
PROVIDE THE PROGRAN NAME , SCREEN NU,SELECT GUI CHECK BOXES.
3RD PROGRAM :
CLICK ON CREATE
SAVE THE PROGRAM
CLICK ON DISPLAY OBJECT LIST
*&---------------------------------------------------
------------------*
*& Module Pool YOGI_MPP4
*&
*&---------------------------------------------------
------------------*
*&
*&
*&---------------------------------------------------
------------------*
PROGRAM YOGI_MPP4.
CONTROLS TBS TYPE TABSTRIP.
TABLES : T001,KNA1.
*&---------------------------------------------------
------------------*
*& Module USER_COMMAND_6000 INPUT
*&---------------------------------------------------
------------------*
* text
*----------------------------------------------------
------------------*
MODULE USER_COMMAND_6000 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ELSEIF SY-UCOMM = 'TAB1'.
TBS-ACTIVETAB = 'TAB1'.
ELSEIF SY-UCOMM = 'TAB2'.
TBS-ACTIVETAB = 'TAB2'.
ENDIF.
ENDMODULE. " USER_COMMAND_6000 INPUT
*&---------------------------------------------------
------------------*
*& Module STATUS_6000 OUTPUT
*&---------------------------------------------------
------------------*
* text
*----------------------------------------------------
------------------*
MODULE STATUS_6000 OUTPUT.
SET PF-STATUS 'SATA'.
* SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_6000 OUTPUT
*&---------------------------------------------------
------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------
------------------*
* text
*----------------------------------------------------
------------------*
MODULE USER_COMMAND_0100 INPUT.
IF SY-UCOMM = 'INS'.
INSERT T001 FROM T001.
ENDIF.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------
------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------
------------------*
* text
*----------------------------------------------------
------------------*
MODULE USER_COMMAND_0200 INPUT.
IF SY-UCOMM = 'SAVE'.
INSERT KNA1 FROM KNA1.
ENDIF.
ENDMODULE. " USER_COMMAND_0200 INPUT
SCREEN 6000 :
PROCESS BEFORE OUTPUT.
MODULE STATUS_6000.
CALL SUBSCREEN : SA1 INCLUDING SY-REPID '0100',
SA2 INCLUDING SY-REPID '0200'.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_6000.
CALL SUBSCREEN : SA1 ,SA2.