Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 261

REPORT ZMAMATHA__ALL_REPORTS NO STANDARD PAGE HEADING

COUNT 20(2) LINE-SIZE 150.

LINE-

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP, "PURCHASE ITEM
MATNR TYPE MATNR, "MATERIAL NUMBER
END OF TY_EKPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
END OF TY_MAKT.

DATA : WA_LFA1
IT_LFA1
WA_EKKO
IT_EKKO
WA_EKPO
IT_EKPO
WA_MAKT
IT_MAKT
V_LIFNR
SELECT-OPTIONS

TYPE TY_LFA1,
TYPE TABLE OF TY_LFA1,
TYPE TY_EKKO,
TYPE TABLE OF TY_EKKO,
TYPE TY_EKPO,
TYPE TABLE OF TY_EKPO,
TYPE TY_MAKT,
TYPE TABLE OF TY_MAKT,
TYPE
LIFNR.
S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.

**********************INITIALIZATION****************
INITIALIZATION.
S_LIFNR-LOW = 6000.
S_LIFNR-HIGH = 8000.
S_LIFNR-SIGN = 'I'.
S_LIFNR-OPTION = 'BT'.
APPEND S_LIFNR TO S_LIFNR[].

***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI

TY' COLOR 3,SY-PAGNO COLOR 6.


END-OF-PAGE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P
URCHASE MATERIALS' COLOR 7.
WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
SORT IT_LFA1 BY LIFNR.
IF IT_LFA1 IS NOT INITIAL.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 4,WA_LFA1-NAME1 COLOR 5,WA_LFA1LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.
ENDIF.
WHEN 2.
"START-OF-SELECTION.
SELECT EBELN EBELP MATNR INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = SYLISEL+14(10).
"END-OF-SELECTION.
IF IT_EKPO IS NOT INITIAL. "2ND 2RY LIST.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 3,23 WA_EKPO-EBELP COLOR 4,45 WA_EKPOMATNR COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE ITEMS FOR THE GIVEN DOCUMENT' COLOR 1.
ENDIF.
WHEN 3.
SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SYLISEL+44(18).
IF IT_MAKT IS NOT INITIAL.
LOOP AT IT_MAKT INTO WA_MAKT.
WRITE : / WA_MAKT-MATNR COLOR 1,WA_MAKT-SPRAS COLOR 2.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO MATERIALS FOR THE GIVEN ITEMS' COLOR 3.
ENDIF.
ENDCASE.

****************** END-OF-PAGE**********
END-OF-PAGE.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA__ALL_REPORTS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZMAMATHA__ATLINE_REPORTS NO STANDARD PAGE HEADING


COUNT 20(2) LINE-SIZE 150.

LINE-

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP, "PURCHASE ITEM
MATNR TYPE MATNR, "MATERIAL NUMBER
END OF TY_EKPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
END OF TY_MAKT.

DATA : WA_LFA1
IT_LFA1
WA_EKKO
IT_EKKO
WA_EKPO
IT_EKPO
WA_MAKT
IT_MAKT
V_LIFNR
SELECT-OPTIONS

TYPE TY_LFA1,
TYPE TABLE OF TY_LFA1,
TYPE TY_EKKO,
TYPE TABLE OF TY_EKKO,
TYPE TY_EKPO,
TYPE TABLE OF TY_EKPO,
TYPE TY_MAKT,
TYPE TABLE OF TY_MAKT,
TYPE
LIFNR.
S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.

***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI
TY' COLOR 3,SY-PAGNO COLOR 6.
END-OF-PAGE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P

URCHASE MATERIALS' COLOR 7.


WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
IF IT_LFA1 IS NOT INITIAL.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 4,WA_LFA1-NAME1 COLOR 5,WA_LFA1LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.
ENDIF.

WHEN 2.
"START-OF-SELECTION.
SELECT EBELN EBELP MATNR INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = SYLISEL+14(10).
"END-OF-SELECTION.
IF IT_EKPO IS NOT INITIAL. "2ND 2RY LIST.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 3,23 WA_EKPO-EBELP COLOR 4,45 WA_EKPOMATNR COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE ITEMS FOR THE GIVEN DOCUMENT' COLOR 1.
ENDIF.
WHEN 3.
SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SYLISEL+44(18).
IF IT_MAKT IS NOT INITIAL.
LOOP AT IT_MAKT INTO WA_MAKT.
WRITE : / WA_MAKT-MATNR COLOR 1,WA_MAKT-SPRAS COLOR 2.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO MATERIALS FOR THE GIVEN ITEMS' COLOR 3.
ENDIF.
ENDCASE.

****************** END-OF-PAGE**********
END-OF-PAGE.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA__ALL_REPORTS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA__GETCURSOR_REPORTS NO STANDARD PAGE HEADING
COUNT 20(2) LINE-SIZE 150.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP, "PURCHASE ITEM
MATNR TYPE MATNR, "MATERIAL NUMBER
END OF TY_EKPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
END OF TY_MAKT.

DATA : WA_LFA1 TYPE TY_LFA1,


IT_LFA1 TYPE TABLE OF TY_LFA1,
WA_EKKO TYPE TY_EKKO,

LINE-

IT_EKKO TYPE TABLE OF TY_EKKO,


WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE TABLE OF TY_EKPO,
WA_MAKT TYPE TY_MAKT,
IT_MAKT TYPE TABLE OF TY_MAKT,
V_LIFNR TYPE
LIFNR,
V_FNAME TYPE
STRING,
V_FVAL(10) TYPE
C.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.
***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI
TY' COLOR 3,SY-PAGNO COLOR 6.
END-OF-PAGE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P
URCHASE MATERIALS' COLOR 7.
WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
IF IT_LFA1 IS NOT INITIAL.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 4,WA_LFA1-NAME1 COLOR 5,WA_LFA1LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
*********** GET CURSOR*****************

GET CURSOR FIELD V_FNAME VALUE V_FVAL.


CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_FVAL
IMPORTING
OUTPUT
= V_FVAL
.

SELECT LIFNR EBELN INTO TABLE


IF V_FNAME = 'WA_LFA1-LIFNR' .

IT_EKKO FROM EKKO

WHERE LIFNR = V_FVAL.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_FVAL COLOR
3.
ENDIF.
ENDIF.

WHEN 2.
"START-OF-SELECTION.
SELECT EBELN EBELP MATNR INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = V_FVAL.
"SY-LISEL+14(10)
"END-OF-SELECTION.
IF V_FNAME = 'WA_EKKO-EBELN'.
IF IT_EKPO IS NOT INITIAL. "2ND 2RY LIST.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 3,23 WA_EKPOEBELP COLOR 4,45 WA_EKPO-MATNR COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE ITEMS FOR THE GIVEN DOCUMENT' COLOR 1.
ENDIF.
ELSE.
WRITE : / 'NO MATCH'.

ENDIF.
WHEN 3.
SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE
LISEL+44(18)
IF V_FNAME = 'WA_EKPO-MATNR'.
IF IT_MAKT IS NOT INITIAL. "3RD 2NDRY LIST.

MATNR = V_FVAL. "SY-

LOOP AT IT_MAKT INTO WA_MAKT.


WRITE : / WA_MAKT-MATNR COLOR 1,WA_MAKT-SPRAS COLOR 2.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO MATERIALS FOR THE GIVEN ITEMS' COLOR 3.
ENDIF.
ENDIF.
ENDCASE.

****************** END-OF-PAGE**********
END-OF-PAGE.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA__ALL_REPORTS
*&
*&---------------------------------------------------------------------*

*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_ALL_REPORTS NO STANDARD PAGE HEADING
SIZE 150.

LINE-COUNT 20(2) LINE-

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP, "PURCHASE ITEM
MATNR TYPE MATNR, "MATERIAL NUMBER
END OF TY_EKPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
END OF TY_MAKT.

DATA : WA_LFA1
IT_LFA1
WA_EKKO
IT_EKKO
WA_EKPO
IT_EKPO
WA_MAKT
IT_MAKT
V_LIFNR
SELECT-OPTIONS

TYPE TY_LFA1,
TYPE TABLE OF TY_LFA1,
TYPE TY_EKKO,
TYPE TABLE OF TY_EKKO,
TYPE TY_EKPO,
TYPE TABLE OF TY_EKPO,
TYPE TY_MAKT,
TYPE TABLE OF TY_MAKT,
TYPE
LIFNR.
S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.

***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI
TY' COLOR 3,SY-PAGNO COLOR 6.
END-OF-PAGE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.

WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.


WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P
URCHASE MATERIALS' COLOR 7.
WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
IF IT_LFA1 IS NOT INITIAL.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 4,WA_LFA1-NAME1 COLOR 5,WA_LFA1LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR

3.
ENDIF.
WHEN 2.
"START-OF-SELECTION.
SELECT EBELN EBELP MATNR INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = SYLISEL+14(10).
"END-OF-SELECTION.
IF IT_EKPO IS NOT INITIAL. "2ND 2RY LIST.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 3,23 WA_EKPO-EBELP COLOR 4,45 WA_EKPOMATNR COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE ITEMS FOR THE GIVEN DOCUMENT' COLOR 1.
ENDIF.
WHEN 3.
SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SYLISEL+44(18).
IF IT_MAKT IS NOT INITIAL.
LOOP AT IT_MAKT INTO WA_MAKT.
WRITE : / WA_MAKT-MATNR COLOR 1,WA_MAKT-SPRAS COLOR 2.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO MATERIALS FOR THE GIVEN ITEMS' COLOR 3.
ENDIF.
ENDCASE.

****************** END-OF-PAGE**********

END-OF-PAGE.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_AT_USER_COMMAND_9AM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_AT_USER_COMMAND_9AM.

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LIFNR,
NAME1 TYPE NAME1,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN,
END OF TY_EKKO.
DATA : IT_LFA1 TYPE TABLE OF TY_LFA1,
WA_LFA1 TYPE
TY_LFA1,
IT_EKKO TYPE TABLE OF TY_EKKO,
WA_EKKO TYPE
TY_EKKO,
V_LIFNR TYPE
LIFNR,
V_BOX(1) TYPE
C.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.

SELECT LIFNR NAME1 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR.
IF IT_LFA1 IS NOT INITIAL.
SET PF-STATUS 'ZGETSTATUS'.
PERFORM DISP_DATA.
ELSE.
WRITE : / 'NO DATA IN THE LFA1'.
ENDIF.

AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'GETPOS'.
*IF V_BOX = 'X'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= WA_LFA1-LIFNR
IMPORTING
OUTPUT
= WA_LFA1-LIFNR
.
*ENDIF.
SELECT LIFNR EBELN INTO TABLE IT_EKKO FROM EKKO WHERE LIFNR in WA_LFA1LIFNR.
SORT IT_EKKO BY LIFNR.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR,WA_EKKO-EBELN.
ENDLOOP.
ELSE.
WRITE : / 'NODATA FOR THE SELECTED VENDOR'.
ENDIF.

WHEN 'SHALL'.
V_BOX = 'X'.
PERFORM DISP_DATA.
WHEN 'DESHALL'.
V_BOX = ' '.
PERFORM DISP_DATA.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING

FILENAME
WRITE_FIELD_SEPARATOR
TABLES
DATA_TAB

'C:\EMAX\ABAP\MAMATHA\LFA1.TXT'

= 'T'

IT_LFA1

.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED ALL THE FIELDA' TYPE 'X'.
ENDIF.
ENDCASE.

FORM

DISP_DATA.

LOOP AT IT_LFA1 INTO WA_LFA1.


WRITE : / V_BOX AS CHECKBOX, WA_LFA1-LIFNR,WA_LFA1-NAME1.
ENDLOOP.

ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA__ALL_REPORTS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_AT_USER_COMMAND_REP NO STANDARD PAGE HEADING

LINE-

COUNT 20(2) LINE-SIZE 150.


TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP, "PURCHASE ITEM
MATNR TYPE MATNR, "MATERIAL NUMBER
END OF TY_EKPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
END OF TY_MAKT.

DATA : WA_LFA1 TYPE TY_LFA1,


IT_LFA1 TYPE TABLE OF TY_LFA1,
IT_SELECTED_LFA1 TYPE TABLE OF TY_LFA1,
WA_EKKO TYPE TY_EKKO,
IT_EKKO TYPE TABLE OF TY_EKKO,
IT_SELECTED_EKKO TYPE TABLE OF TY_EKKO,
WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE TABLE OF TY_EKPO,
WA_MAKT TYPE TY_MAKT,
IT_MAKT TYPE TABLE OF TY_MAKT,
V_BOX(5) TYPE C,
V_LINES TYPE I,
V_LIFNR TYPE
LIFNR.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.
***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI
TY' COLOR 3,SY-PAGNO COLOR 6.
END-OF-PAGE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.

WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.


WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P
URCHASE MATERIALS' COLOR 7.
WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
IF IT_LFA1 IS NOT INITIAL.
SET PF-STATUS 'GETSTATUS'.
PERFORM DISP.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
*******************AT USER COMMAND**************
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELECT'.
SY-LSIND = 0.
V_BOX = 'X'.
PERFORM DISP.
WHEN 'DESELECT'.
SY-LSIND = 0.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename
WRITE_FIELD_SEPARATOR
tables
data_tab

= 'C:\MAMATHA\LFA1.TXT'
= 'T'

= IT_SELECTED_LFA1

.
IF sy-subrc = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.

ENDIF.
WHEN 'GETPOS'.
REFRESH IT_SELECTED_LFA1.
PERFORM GETSELECTED_LINES.
IF IT_SELECTED_LFA1 IS NOT INITIAL.
SELECT LIFNR EBELN INTO TABLE IT_EKKO FROM EKKO
FOR ALL ENTRIES IN IT_SELECTED_LFA1
WHERE LIFNR = IT_SELECTED_LFA1-LIFNR.
SORT IT_EKKO BY LIFNR.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR,WA_EKKO-EBELN.
ENDLOOP.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT'.
ENDIF.
ELSE.
WRITE : / 'NO SELECTED DATA'.
ENDIF.
ENDCASE.

IF IT_EKKO IS NOT INITIAL.


SET PF-STATUS 'STATUS1'.
PERFORM DISP1.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
*******************AT USER COMMAND**************
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELECT'.
V_BOX = 'X'.
PERFORM DISP.
WHEN 'DESELECT'.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename

= 'C:\MAMATHA\EKKO.TXT'

WRITE_FIELD_SEPARATOR
tables
data_tab

= 'T'

= IT_SELECTED_EKKO

.
IF sy-subrc = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ENDIF.
WHEN 'GETITEMS'.
PERFORM GETSELECTED1_LINES.
IF IT_SELECTED_EKKO IS NOT INITIAL.
SELECT EBELN EBELP INTO TABLE IT_EKPO FROM EKPO
FOR ALL ENTRIES IN IT_SELECTED_EKKO
WHERE EBELN = IT_SELECTED_EKKO-EBELN.
SORT IT_EKPO BY EBELN.
IF IT_EKPO IS NOT INITIAL.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN,WA_EKPO-EBELP.
ENDLOOP.
ELSE.
WRITE : / 'NO PURCHASE ITEMS'.
ENDIF.
ELSE.
WRITE : / 'NO SELECTED DATA'.
ENDIF.
ENDCASE.

*
*
*
*

************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.
ENDIF.
ENDCASE.

***************GETSELECT************
FORM GETSELECTED_LINES.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_LFA1-LIFNR WA_LFA1-NAME1 WA_LFA1LAND1 WA_LFA1-ORT01.
IF V_BOX = 'X'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input
= WA_LFA1-LIFNR
IMPORTING
OUTPUT
= WA_LFA1-LIFNR
.
APPEND WA_LFA1 TO IT_SELECTED_LFA1.
ENDIF.
ENDDO.
ENDFORM.

FORM GETSELECTED1_LINES.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_EKKO-LIFNR WA_EKKO-EBELN.
IF V_BOX = 'X'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input
= WA_LFA1-LIFNR
IMPORTING
OUTPUT
= WA_LFA1-LIFNR
.
APPEND WA_EKKO TO IT_SELECTED_EKKO.
ENDIF.
ENDDO.
ENDFORM.

FORM DISP.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / V_BOX AS CHECKBOX ,WA_LFA1-LIFNR COLOR 4,WA_LFA1NAME1 COLOR 5,WA_LFA1-LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ENDFORM.
FORM DISP1.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / V_BOX AS CHECKBOX ,WA_EKKO-LIFNR COLOR 4,WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ENDFORM.

************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.
ENDIF.
WHEN 2.
"START-OF-SELECTION.
SELECT EBELN EBELP MATNR INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = SYLISEL+14(10).
"END-OF-SELECTION.
IF IT_EKPO IS NOT INITIAL. "2ND 2RY LIST.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 3,23 WA_EKPO-EBELP COLOR 4,45 WA_EKPOMATNR COLOR 5.

ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE ITEMS FOR THE GIVEN DOCUMENT' COLOR 1.
ENDIF.
WHEN 3.
SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SYLISEL+44(18).
IF IT_MAKT IS NOT INITIAL.
LOOP AT IT_MAKT INTO WA_MAKT.
WRITE : / WA_MAKT-MATNR COLOR 1,WA_MAKT-SPRAS COLOR 2.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO MATERIALS FOR THE GIVEN ITEMS' COLOR 3.
ENDIF.
ENDCASE.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
******************* END-OF-PAGE**********
*END-OF-PAGE.
* WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA__ALL_REPORTS
*&
*&---------------------------------------------------------------------*
*&
*&

*&---------------------------------------------------------------------*
REPORT ZMAMATHA_AT_USER_COMMAND_REP NO STANDARD PAGE HEADING
COUNT 20(2) LINE-SIZE 150.

LINE-

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP, "PURCHASE ITEM
MATNR TYPE MATNR, "MATERIAL NUMBER
END OF TY_EKPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
END OF TY_MAKT.

DATA : WA_LFA1 TYPE TY_LFA1,


IT_LFA1 TYPE TABLE OF TY_LFA1,
IT_SELECTED_LFA1 TYPE TABLE OF TY_LFA1,
WA_EKKO TYPE TY_EKKO,
IT_EKKO TYPE TABLE OF TY_EKKO,
IT_SELECTED_EKKO TYPE TABLE OF TY_EKKO,
WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE TABLE OF TY_EKPO,
WA_MAKT TYPE TY_MAKT,
IT_MAKT TYPE TABLE OF TY_MAKT,
V_BOX(5) TYPE C,
V_LINES TYPE I,
V_LIFNR TYPE
LIFNR.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.
***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI
TY' COLOR 3,SY-PAGNO COLOR 6.
END-OF-PAGE.

TOP-OF-PAGE DURING LINE-SELECTION.


CASE SY-LSIND.
WHEN 1.
WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P
URCHASE MATERIALS' COLOR 7.
WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
IF IT_LFA1 IS NOT INITIAL.
SET PF-STATUS 'GETSTATUS'.
PERFORM DISP.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
*******************AT USER COMMAND**************
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELECT'.
SY-LSIND = 0.
V_BOX = 'X'.
PERFORM DISP.
WHEN 'DESELECT'.
SY-LSIND = 0.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename
WRITE_FIELD_SEPARATOR
tables
data_tab

= 'C:\MAMATHA\LFA1.TXT'
= 'T'

= IT_SELECTED_LFA1

.
IF sy-subrc = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ENDIF.
WHEN 'GETPOS'.
REFRESH IT_SELECTED_LFA1.
PERFORM GETSELECTED_LINES.
IF IT_SELECTED_LFA1 IS NOT INITIAL.
SELECT LIFNR EBELN INTO TABLE IT_EKKO FROM EKKO
FOR ALL ENTRIES IN IT_SELECTED_LFA1
WHERE LIFNR = IT_SELECTED_LFA1-LIFNR.
SORT IT_EKKO BY LIFNR.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR,WA_EKKO-EBELN.
ENDLOOP.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT'.
ENDIF.
ELSE.
WRITE : / 'NO SELECTED DATA'.
ENDIF.
ENDCASE.

IF IT_EKKO IS NOT INITIAL.


SET PF-STATUS 'STATUS1'.
PERFORM DISP1.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
*******************AT USER COMMAND**************
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELECT'.
V_BOX = 'X'.
PERFORM DISP.
WHEN 'DESELECT'.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING
filename
WRITE_FIELD_SEPARATOR
tables
data_tab

= 'C:\MAMATHA\EKKO.TXT'
= 'T'

= IT_SELECTED_EKKO

.
IF sy-subrc = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ENDIF.
WHEN 'GETITEMS'.
PERFORM GETSELECTED1_LINES.
IF IT_SELECTED_EKKO IS NOT INITIAL.
SELECT EBELN EBELP INTO TABLE IT_EKPO FROM EKPO
FOR ALL ENTRIES IN IT_SELECTED_EKKO
WHERE EBELN = IT_SELECTED_EKKO-EBELN.
SORT IT_EKPO BY EBELN.
IF IT_EKPO IS NOT INITIAL.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN,WA_EKPO-EBELP.
ENDLOOP.
ELSE.
WRITE : / 'NO PURCHASE ITEMS'.
ENDIF.
ELSE.
WRITE : / 'NO SELECTED DATA'.
ENDIF.
ENDCASE.

*
*

*
*
************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.
ENDIF.
ENDCASE.

***************GETSELECT************
FORM GETSELECTED_LINES.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_LFA1-LIFNR WA_LFA1-NAME1 WA_LFA1LAND1 WA_LFA1-ORT01.
IF V_BOX = 'X'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input
= WA_LFA1-LIFNR
IMPORTING
OUTPUT
= WA_LFA1-LIFNR
.
APPEND WA_LFA1 TO IT_SELECTED_LFA1.

ENDIF.
ENDDO.
ENDFORM.
FORM GETSELECTED1_LINES.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_EKKO-LIFNR WA_EKKO-EBELN.
IF V_BOX = 'X'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input
= WA_LFA1-LIFNR
IMPORTING
OUTPUT
= WA_LFA1-LIFNR
.
APPEND WA_EKKO TO IT_SELECTED_EKKO.
ENDIF.
ENDDO.
ENDFORM.

FORM DISP.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / V_BOX AS CHECKBOX ,WA_LFA1-LIFNR COLOR 4,WA_LFA1NAME1 COLOR 5,WA_LFA1-LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ENDFORM.
FORM DISP1.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / V_BOX AS CHECKBOX ,WA_EKKO-LIFNR COLOR 4,WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ENDFORM.

************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.
ENDIF.
WHEN 2.
"START-OF-SELECTION.
SELECT EBELN EBELP MATNR INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = SYLISEL+14(10).
"END-OF-SELECTION.
IF IT_EKPO IS NOT INITIAL. "2ND 2RY LIST.

LOOP AT IT_EKPO INTO WA_EKPO.


WRITE : / WA_EKPO-EBELN COLOR 3,23 WA_EKPO-EBELP COLOR 4,45 WA_EKPOMATNR COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE ITEMS FOR THE GIVEN DOCUMENT' COLOR 1.
ENDIF.
WHEN 3.
SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SYLISEL+44(18).
IF IT_MAKT IS NOT INITIAL.
LOOP AT IT_MAKT INTO WA_MAKT.
WRITE : / WA_MAKT-MATNR COLOR 1,WA_MAKT-SPRAS COLOR 2.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO MATERIALS FOR THE GIVEN ITEMS' COLOR 3.
ENDIF.
ENDCASE.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
******************* END-OF-PAGE**********
*END-OF-PAGE.
* WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BAPI_BANK_CREATE
*&
*&---------------------------------------------------------------------*
*&

*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_BAPI_BANK_CREATE.

TYPES : BEGIN
BANKS
BANKL
BANKA
ORT01
END OF

OF TY_BNKA,
TYPE BNKA-BANKS,
TYPE BANKL,
TYPE BANKA,
TYPE ORT01,
TY_BNKA.

DATA : ITAB TYPE TABLE OF TY_BNKA,


WA TYPE TY_BNKA,
WA_ADDRESS TYPE BAPI1011_ADDRESS,
RETURN TYPE BAPIRET2.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
= 'C:\MAMATA\BANK.TXT'
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'T'
= ITAB.

LOOP AT ITAB INTO WA.


WA_ADDRESS-BANK_NAME = WA-BANKA.
WA_ADDRESS-CITY = WA-ORT01.

*
*
*
*

*
*

CALL FUNCTION 'BAPI_BANK_CREATE'


EXPORTING
BANK_CTRY
= WA-BANKS
BANK_KEY
= WA-BANKL
BANK_ADDRESS
= WA_ADDRESS
BANK_METHOD
=
BANK_FORMATTING
=
BANK_ADDRESS1
=
I_XUPDATE
= 'X'
IMPORTING
RETURN
= RETURN
BANKCOUNTRY
=
BANKKEY
=
.
IF RETURN IS INITIAL.
WRITE : / 'BANK' ,WA-BANKL, 'IS CREATED'.
COMMIT WORK.
ELSE.
WRITE : / RETURN-MESSAGE .

ENDIF.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_COMP_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_COMP_UI.

DATA :

V_BUKRS TYPE BUKRS.


" V_T001 TYPE BUKRS.
TABLES T001.
"SELECT-OPTIONS S_T001 FOR V_T001.
CALL SCREEN 2222.

*&---------------------------------------------------------------------*
*&
Module STATUS_2222 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2222 OUTPUT.
SET PF-STATUS 'STATUS2222'.
ENDMODULE.
" STATUS_2222 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2222 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*

MODULE USER_COMMAND_2222 INPUT.


IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_2222 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE-2222 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE-2222 INPUT.
* IF SY-UCOMM = 'TX'.
*
SELECT BUKRS INTO V_BUKRS FROM T001 UP TO 1 ROWS WHERE BUKRS IN S_T001.
"= T001-BUKRS.
*
ENDSELECT.
* ENDIF.
IF SY-UCOMM = 'CRT'.
SELECT BUKRS INTO V_BUKRS FROM T001 UP TO 1 ROWS WHERE BUKRS = T001BUKRS.
ENDSELECT.
IF SY-SUBRC = 0.
MESSAGE 'ALREADY RECORD EXIST' TYPE 'S'.
ELSE.
CALL SCREEN 2223.
ENDIF.
ENDIF.
ENDMODULE.
" VALLIDATE-2222 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_2223 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2223 OUTPUT.
SET PF-STATUS 'STATUS2223'.
ENDMODULE.
" STATUS_2223 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2223 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2223 INPUT.
IF SY-UCOMM = 'SV'.
INSERT T001 FROM T001.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'S'.
ELSE.
MESSAGE 'ALREADY EXIST' TYPE 'S'.

ENDIF.
ELSEIF SY-UCOMM = 'BK'.
LEAVE TO SCREEN 0.
ELSEIF SY-UCOMM = 'DEL'.
DELETE T001 FROM T001.
"DELETE FROM T001 WHERE BUKRS = '1349'.
IF SY-SUBRC <> 0.
MESSAGE 'RECORD DELETED' TYPE 'S'.
*
ELSE.
*
CALL SCREEN '2224'.
ENDIF.
ENDIF.
ENDMODULE.
" USER_COMMAND_2223

INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_COMPANY_DETAILS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_COMPANY_DETAILS.
DATA V_BUKRS TYPE BUKRS.
TABLES ZCOMPANY_DETAILS.
CALL SCREEN 9002.

MODULE VALLIDATE_COMPANY_DETAILS.
SELECT SINGLE BUKRS INTO V_BUKRS FROM ZCOMPANY_DETAILS
WHERE BUKRS = ZCOMPANY_DETAILS.
IF SY-SUBRC = 0.

MESSAGE 'COMPANY CODE ALREADY EXISTS' TYPE 'S'.


ENDIF.
ENDMODULE.
MODULE PROCESS_COMPANY_DETAILS.
CASE SY-UCOMM.
WHEN 'SV'.
INSERT ZCOMPANY_DETAILS FROM ZCOMPANY_DETAILS.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULL INSERTED' TYPE 'S'.
ENDIF.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module STATUS_9002 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_9002 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
" STATUS_9002 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_9002 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9002 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.

" USER_COMMAND_9002

INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_CUST
*&

*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_CUST.
DATA V_KUNNR TYPE KUNNR.
TABLES ZMAMATHA_CUST.
CALL SCREEN 9999.

MODULE VALLIDATION.
"AT SELECTION-SCREEN.
SELECT SINGLE KUNNR INTO V_KUNNR FROM ZMAMATHA_CUST.
"ENDSELECT.
IF SY-SUBRC = 0.
MESSAGE 'RECORD ALREADY EXIT' TYPE 'S'.
ENDIF.
ENDMODULE.
MODULE INSERT_DATA.
INSERT ZMAMATHA_CUST FROM ZMAMATHA_CUST.
CASE SY-UCOMM.
WHEN 'SVS'.
IF SY-SUBRC = 0.
MESSAGE 'RECORD SUCCESSFULLY INSERTRD' TYPE 'S'.
ENDIF.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module STATUS_9999 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_9999 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
MODULE USER_COMMAND_9999 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.

ENDMODULE.

_FORM_

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_FORM_TEMPLATE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_FORM_TEMPLATE.

DATA : V_FM
TYPE RS38L_FNAM.
PARAMETERS P_EBELN TYPE EBELN DEFAULT 3000000037.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME
='ZMAMATA_FORM'
*
VARIANT
= ' '
*
DIRECT_CALL
= ' '
IMPORTING
FM_NAME
= V_FM
* EXCEPTIONS
*
NO_FORM
= 1
*
NO_FUNCTION_MODULE
= 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.

CALL FUNCTION
V_FM
EXPORTING
*
ARCHIVE_INDEX
=
*
ARCHIVE_INDEX_TAB
=
*
ARCHIVE_PARAMETERS
=
*
CONTROL_PARAMETERS
=
*
MAIL_APPL_OBJ
=
*
MAIL_RECIPIENT
=
*
MAIL_SENDER
=
*
OUTPUT_OPTIONS
=
*
USER_SETTINGS
= 'X'
PO_NO
= P_EBELN
* IMPORTING
*
DOCUMENT_OUTPUT_INFO
=
*
JOB_OUTPUT_INFO
=
*
JOB_OUTPUT_OPTIONS
=
* EXCEPTIONS
*
FORMATTING_ERROR
= 1
*
INTERNAL_ERROR
= 2
*
SEND_ERROR
= 3
*
USER_CANCELED
= 4
*
OTHERS
= 5
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_GCL_MARA

*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_GCL_MARA.
DATA : OBJ1 TYPE REF TO ZMAMATHA_GCL_MARA,
OBJ2 TYPE REF TO ZMAMATHA_GCL_MARA.
START-OF-SELECTION.
CREATE OBJECT : OBJ1,OBJ2.
CALL METHOD OBJ1->GET_DATA EXPORTING MAT_TPE = 'ROH'.
CALL METHOD OBJ1->DISP_DATA.
CALL METHOD OBJ2->GET_DATA EXPORTING MAT_TPE = 'FERT'.
CALL METHOD OBJ2->DISP_DATA.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA__ALL_REPORTS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_HIDE_REPORTS NO STANDARD PAGE HEADING
COUNT 20(2) LINE-SIZE 150.

LINE-

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP, "PURCHASE ITEM
MATNR TYPE MATNR, "MATERIAL NUMBER
END OF TY_EKPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
END OF TY_MAKT.

DATA : WA_LFA1
IT_LFA1
WA_EKKO
IT_EKKO
WA_EKPO
IT_EKPO
WA_MAKT
IT_MAKT
V_LIFNR
SELECT-OPTIONS

TYPE TY_LFA1,
TYPE TABLE OF TY_LFA1,
TYPE TY_EKKO,
TYPE TABLE OF TY_EKKO,
TYPE TY_EKPO,
TYPE TABLE OF TY_EKPO,
TYPE TY_MAKT,
TYPE TABLE OF TY_MAKT,
TYPE
LIFNR.
S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.

***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI
TY' COLOR 3,SY-PAGNO COLOR 6.
END-OF-PAGE.

TOP-OF-PAGE DURING LINE-SELECTION.


CASE SY-LSIND.
WHEN 1.
WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P
URCHASE MATERIALS' COLOR 7.
WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
IF IT_LFA1 IS NOT INITIAL.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 4,WA_LFA1-NAME1 COLOR 5,WA_LFA1LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
HIDE : WA_LFA1-LIFNR.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
*
*
*
*
*
*
*

"V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT
LIFNR.

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = WA_LFA1-

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
HIDE : WA_EKKO-EBELN.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1.
ENDIF.
WHEN 2.
"START-OF-SELECTION.
SELECT EBELN EBELP MATNR INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = WA_EKKO
-EBELN.
"END-OF-SELECTION.
IF IT_EKPO IS NOT INITIAL. "2ND 2RY LIST.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 3,23 WA_EKPO-EBELP COLOR 4,45 WA_EKPOMATNR COLOR 5.
HIDE: WA_EKPO-EBELP.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE ITEMS FOR THE GIVEN DOCUMENT' COLOR 1.
ENDIF.
WHEN 3.
SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = WA_EKPO-EBELP.
IF IT_MAKT IS NOT INITIAL.
LOOP AT IT_MAKT INTO WA_MAKT.
WRITE : / WA_MAKT-MATNR COLOR 1,WA_MAKT-SPRAS COLOR 2.
HIDE: WA_MAKT-MATNR.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO MATERIALS FOR THE GIVEN ITEMS' COLOR 3.
ENDIF.
ENDCASE.

****************** END-OF-PAGE**********
END-OF-PAGE.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_INITIALIZATION
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_INITIALIZATION.

TYPES: BEGIN OF TY_LFA1,


LIFNR TYPE LIFNR,
NAME1 TYPE NAME1,
END OF TY_LFA1.
DATA : IT_LFA1 TYPE TABLE OF TY_LFA1,
WA_LFA1 TYPE
TY_LFA1,
V_LIFNR TYPE LIFNR,
V_LOW TYPE LIFNR,
V_HIGH TYPE LIFNR.

SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 3000.


INITIALIZATION.
V_LOW = 4000.
V_HIGH = 5000.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LOW
IMPORTING
OUTPUT
= V_LOW
.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING
INPUT
IMPORTING
OUTPUT
.

= V_HIGH
= V_HIGH.

S_LIFNR-LOW = V_LOW.
S_LIFNR-HIGH = V_HIGH.
S_LIFNR-SIGN = 'I'.
S_LIFNR-OPTION = 'BT'.
APPEND S_LIFNR TO S_LIFNR[].
AT SELECTION-SCREEN.
SELECT LIFNR NAME1 INTO WA_LFA1 FROM LFA1 UP TO 1 ROWS WHERE LIFNR IN S_LIF
NR.
ENDSELECT." HERE WE ARE USING WORK AREA ENDSELECT IS MUST.
* SELECT LIFNR NAME1 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR. "H
ERE WE ARE USING ITAB NO NEED OF ENDSELECT
* SELECT LIFNR INTO V_LIFNR FROM LFA1 WHERE LIFNR IN S_LIFNR."HERE WE ARE U
SING ONE FILD SO WE USE VARIABLE AND ENDSELECT IS MUST.
* ENDSELECT.
* SELECT SINGLE LIFNR NAME1 INTO WA_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR.
IF SY-SUBRC = 0.
MESSAGE 'RECORD FOUND' TYPE 'S'.
ELSE.
MESSAGE 'NO RECORD FOUND' TYPE 'E'.
ENDIF.

*
*
*

AT SELECTION-SCREEN.
SELECT LIFNR NAME1 INTO WA_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR.
ENDSELECT.

*AT SELECTION-SCREEN.
* SELECT LIFNR NAME1 INTO TABLE

IT_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR.

START-OF-SELECTION.
*SELECT LIFNR NAME1 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR.
SELECT SINGLE LIFNR NAME1 INTO WA_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR.
"NO NEED TO USE ITAB BECAUSE WE ARE USING SINGLE RECORD.
WRITE WA_LFA1.
END-OF-SELECTION.
*SORT

IT_LFA1 BY LIFNR.

*LOOP AT IT_LFA1 INTO WA_LFA1.


* WRITE : / WA_LFA1-LIFNR,WA_LFA1-NAME1.
*ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_INSERT_RECORDS_DB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_INSERT_RECORDS_DB.

PARAMETERs: KUNNR
NAME1
ORT01
STRAS
LAND1
SPRAS

TYPE
TYPE
TYPE
TYPE
TYPE
TYPE

KUNNR,
NAME1,
ORT01,
STRAS,
LAND1,
SPRAS.

DATA : WA_ZCUST TYPE ZCUSTOMERS_9AM.


WA_ZCUST-KUNNR = KUNNR.
WA_ZCUST-NAME1 = NAME1.
WA_ZCUST-ORT01 = ORT01.
WA_ZCUST-STRAS = STRAS.
WA_ZCUST-LAND1 = LAND1.
WA_ZCUST-SPRAS = SPRAS.
INSERT

ZCUSTOMERS_9AM FROM

WA_ZCUST.

IF SY-SUBRC = 0.
MESSAGE 'RECORDS ARE SUCCESSFULLY INSERTED' TYPE 'S'.
ELSE.
MESSAGE 'RECORDS ARE NOT INSERTED' TYPE 'S'.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_INTERACTIVE_PURCHAE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_INTERACTIVE_PURCHAE NO STANDARD PAGE HEADING LINECOUNT 20(2) LINE-SIZE 150.
*PARAMETER : P_EKORG TYPE EINE-EKORG.
TYPES :

BEGIN OF TY_EINE,
EKORG TYPE EKORG, "PURCHASE ORGANIZATION.
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
WAERS TYPE WAERS, "CURRENCY KEY
END OF TY_EINE.
TYPES : BEGIN OF TY_EKKO,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
BPRME TYPE BPRME, "PURCHASE ORDER
END OF TY_EKPO.

DATA : WA_EINE TYPE TY_EINE,


IT_EINE TYPE TABLE OF TY_EINE,
WA_EKKO TYPE TY_EKKO,
IT_EKKO TYPE TABLE OF TY_EKKO,
WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE TABLE OF TY_EKPO,
V_EKORG TYPE EINE-EKORG,
WA_EKORG TYPE EKORG,
V_REM
TYPE I.
SELECT-OPTIONS S_EKORG FOR V_EKORG DEFAULT 1 TO 4000.
**************** TOP-OF-PAGE**************
TOP-OF-PAGE.
WRITE : / 'PURCHASE ORGANIZATION' COLOR 1, 30 'PURCHASE DOCUMENT NUMBER'
COLOR 2, 60 'CURRENCY' COLOR 3, SY-PAGNO COLOR 4.

********** START-OF-SELECTION*******
START-OF-SELECTION. "IF YOU WANT USE THE TOP-OFPAGE IN THE ABOVE SELECT STATEMENT THEN YOU MUST USE START-OF-SELECTION.
SELECT EKORG INFNR WAERS INTO TABLE IT_EINE FROM EINE WHERE EKORG IN S_EKORG
.
SORT IT_EINE BY EKORG.
LOOP AT IT_EINE INTO WA_EINE.
WRITE : / WA_EINE-EKORG COLOR 1, 30 WA_EINE-EBELN COLOR 2, 60 WA_EINEWAERS COLOR 3.
ENDLOOP.
"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER WRIT
E STATEMENT OR BELOW TWO LINES
V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
SKIP V_REM.

AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
SELECT EBELN BUKRS INTO TABLE IT_EKKO FROM EKKO.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-EBELN COLOR 1, 30 WA_EKKO-BUKRS COLOR 2.
ENDLOOP.
"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER
WRITE STATEMENT OR BELOW TWO LINES
V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
SKIP V_REM.
WHEN 2.
SELECT EBELN BUKRS BPRME INTO TABLE IT_EKPO FROM EKPO.
"WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2, 'PUR
CHASE ORDERS' COLOR 3.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 1, 30 WA_EKPO-BUKRS COLOR 2, 40 WA_EKPOBPRME COLOR 3.
ENDLOOP.
"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7.
V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
SKIP V_REM.
ENDCASE.
***************** TOP-OF-PAGE**************
* TOP-OF-PAGE.

WRITE : / 'PURCHASE ORGANIZATION' COLOR 1, 30 'PURCHASE DOCUMENT NUMBER'


COLOR 2, 60 'CURRENCY' COLOR 3, SY-PAGNO COLOR 4.

************** END-OF-PAGE****************
END-OF-PAGE.
WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7.
ULINE.
*
*****************TOP-OF-PAGE DURING LINE SELECTION**************
*
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2, '
PURCHASE ORDERS' COLOR 3.
ENDCASE.
************* INITIALIZATION ***********
INITIALIZATION.
S_EKORG-LOW = 5000. "111."5000.
S_EKORG-HIGH = 6000. "115."6000.
S_EKORG-SIGN = 'I'.
S_EKORG-OPTION = 'BT'.
APPEND S_EKORG TO S_EKORG[].

*********

AT SELECTION-SCREEN

AT SELECTION-SCREEN.
SELECT EKORG INTO V_EKORG

ENDSELECT.

*************

FROM EINE UP TO 1 ROWS


WHERE EKORG IN S_EKORG.

"When the Result is Not Collected Into TABLE ITAB at Once

IF SY-SUBRC <> 0. "No Record Found


MESSAGE 'Invalid Input' TYPE 'E'.
ENDIF.

*
*SELECT EKORG EBELN WAERS INTO
*
ARE USING WORK AREA.
*

WA_EKORG FROM EINE UP TO 1 ROWS


WHERE EKORG IN S_EKORG. "HERE WE

* APPEND WA_EKORG TO S_EKORG[].


*ENDSELECT. "When the Result is Not Collected Into TABLE ITAB at Once
*SELECT EKORG EBELN WAERS INTO TABLE S_EKORG[] FROM EINE UP TO 10 ROWS
*
WHERE EKORG IN S_EKORG.
*
"TABLE S_EKORG[]
*
* "ENDSELECT. " HERE NO NEED OF ENDSELECT BECAUSE WE ARE COLLECTING DATA TO
INTERNAL TABLE.
" IF WE WRITE THE END SELECT IT SHOWS ERROR BECAUSE WE ARE COL
LECTING DATA IN ITAB

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_INTERACTIVE_PURCHAE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_INTERACTIVE_PURCHASE NO STANDARD PAGE HEADING LINECOUNT 20(2) LINE-SIZE 150.
*PARAMETER : P_EKORG TYPE EINE-EKORG.
TYPES :

BEGIN OF TY_EINE,
EKORG TYPE EKORG, "PURCHASE ORGANIZATION.
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
WAERS TYPE WAERS, "CURRENCY KEY
END OF TY_EINE.
TYPES : BEGIN OF TY_EKKO,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
BPRME TYPE BPRME, "PURCHASE ORDER
END OF TY_EKPO.

DATA : WA_EINE TYPE TY_EINE,


IT_EINE TYPE TABLE OF TY_EINE,
WA_EKKO TYPE TY_EKKO,
IT_EKKO TYPE TABLE OF TY_EKKO,
WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE TABLE OF TY_EKPO,
V_EKORG TYPE EINE-EKORG,
WA_EKORG TYPE EKORG,
V_REM
TYPE I.
SELECT-OPTIONS S_EKORG FOR V_EKORG DEFAULT 1 TO 4000.
**************** TOP-OF-PAGE**************
TOP-OF-PAGE.
WRITE : / 'PURCHASE ORGANIZATION' COLOR 1, 30 'PURCHASE DOCUMENT NUMBER'
COLOR 2, 60 'CURRENCY' COLOR 3, SY-PAGNO COLOR 4.

********** START-OF-SELECTION*******
START-OF-SELECTION. "IF YOU WANT USE THE TOP-OFPAGE IN THE ABOVE SELECT STATEMENT THEN YOU MUST USE START-OF-SELECTION.
SELECT EKORG INFNR WAERS INTO TABLE IT_EINE FROM EINE WHERE EKORG IN S_EKORG
.
"SET PF-STATUS 'GETSTATUS'.
SORT IT_EINE BY EKORG.
LOOP AT IT_EINE INTO WA_EINE.
WRITE : / WA_EINE-EKORG COLOR 1, 30 WA_EINE-EBELN COLOR 2, 60 WA_EINEWAERS COLOR 3.
ENDLOOP.
"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER WRIT
E STATEMENT OR BELOW TWO LINES
V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
SKIP V_REM.
************* AT LINE-SELECTION*********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
SELECT EBELN BUKRS INTO TABLE IT_EKKO FROM EKKO.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-EBELN COLOR 1, 30 WA_EKKO-BUKRS COLOR 2.
ENDLOOP.
"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER

WRITE STATEMENT OR BELOW TWO LINES


V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
SKIP V_REM.
WHEN 2.
SELECT EBELN BUKRS BPRME INTO TABLE IT_EKPO FROM EKPO.
"WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2, 'PUR
CHASE ORDERS' COLOR 3.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 1, 30 WA_EKPO-BUKRS COLOR 2, 40 WA_EKPOBPRME COLOR 3.
ENDLOOP.
"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7.
V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
SKIP V_REM.
ENDCASE.
***************** TOP-OF-PAGE**************
* TOP-OF-PAGE.
*
WRITE : / 'PURCHASE ORGANIZATION' COLOR 1, 30 'PURCHASE DOCUMENT NUMBER'
COLOR 2, 60 'CURRENCY' COLOR 3, SY-PAGNO COLOR 4.
************** END-OF-PAGE****************
END-OF-PAGE.
WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7.
ULINE.
*
*****************TOP-OF-PAGE DURING LINE SELECTION**************
*
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2, '
PURCHASE ORDERS' COLOR 3.
ENDCASE.
************* INITIALIZATION ***********
INITIALIZATION.
S_EKORG-LOW = 5000. "111."5000.
S_EKORG-HIGH = 6000. "115."6000.
S_EKORG-SIGN = 'I'.
S_EKORG-OPTION = 'BT'.

APPEND S_EKORG TO S_EKORG[].

*********

AT SELECTION-SCREEN

AT SELECTION-SCREEN.
SELECT EKORG INTO V_EKORG

ENDSELECT.

*************

FROM EINE UP TO 1 ROWS


WHERE EKORG IN S_EKORG.

"When the Result is Not Collected Into TABLE ITAB at Once

IF SY-SUBRC <> 0. "No Record Found


MESSAGE 'Invalid Input' TYPE 'E'.
ENDIF.

*
*SELECT EKORG EBELN WAERS INTO
WA_EKORG FROM EINE UP TO 1 ROWS
*
WHERE EKORG IN S_EKORG. "HERE WE
ARE USING WORK AREA.
*
* APPEND WA_EKORG TO S_EKORG[].
*ENDSELECT. "When the Result is Not Collected Into TABLE ITAB at Once
*SELECT EKORG EBELN WAERS INTO TABLE S_EKORG[] FROM EINE UP TO 10 ROWS
*
WHERE EKORG IN S_EKORG.
*
"TABLE S_EKORG[]
*
* "ENDSELECT. " HERE NO NEED OF ENDSELECT BECAUSE WE ARE COLLECTING DATA TO
INTERNAL TABLE.
" IF WE WRITE THE END SELECT IT SHOWS ERROR BECAUSE WE ARE COL
LECTING DATA IN ITAB

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_INTERACTIVE_REPORTS
*&
*&---------------------------------------------------------------------*

*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_INTERACTIVE_REPORTS.
*PARAMETERS : P_VKORG TYPE VKORG.
TYPES : BEGIN OF TY_VBKPA,
VKORG TYPE VKORG,
VBELN TYPE VBELN,
END OF TY_VBKPA.
TYPES : BEGIN OF TY_EKKO,
BUKRS TYPE BUKRS,
AEDAT TYPE ERDAT,
END OF TY_EKKO.

TYPES : BEGIN OF TY_VBAK,


VBELN TYPE VBELN,
AEDAT TYPE AEDAT,
AUFNR TYPE AUFNR,
AUDAT TYPE AUDAT,
END OF TY_VBAK.
DATA : IT_VBKPA TYPE TABLE OF TY_VBKPA,
WA_VBKPA TYPE
TY_VBKPA,
IT_EKKO TYPE TABLE OF TY_EKKO,
WA_EKKO TYPE
TY_EKKO,
IT_VBAK TYPE TABLE OF TY_VBAK,
WA_VBAK TYPE
TY_VBAK,
WA TYPE TY_VBAK,
V_VKORG TYPE VKORG.
SELECT-OPTIONS S_VKORG FOR V_VKORG.

SELECT

VKORG

VBELN INTO TABLE IT_VBKPA FROM VBKPA WHERE VKORG IN S_VKORG.

LOOP AT IT_VBKPA INTO WA_VBKPA.


WRITE : / WA_VBKPA-VKORG,WA_VBKPA-VBELN.
ENDLOOP.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
SELECT BUKRS AEDAT INTO TABLE IT_EKKO FROM EKKO.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-BUKRS,WA_EKKO-AEDAT.
ENDLOOP.

WHEN 2.
SELECT

VBELN AEDAT AUFNR AUDAT INTO TABLE IT_VBAK FROM VBAK.

LOOP AT IT_VBAK INTO WA_VBAK.


WRITE : / WA_VBAK-VBELN,WA_VBAK-AEDAT,WA_VBAK-AUFNR,WA_VBAK-AUDAT.
WA = WA_VBAK.
AT LAST.
SUM.
WRITE : / 'THE TOTAL SALES ORDER FOR EACH COMPANY ORGANIZATION', WA
-AUFNR COLOR 7.
ENDAT.
ENDLOOP.
ENDCASE.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_ON_SELECTION_SCREEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_ON_SELECTION_SCREEN.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.


PARAMETERS : P_LIFNR TYPE LIFNR,
P_EKORG TYPE EKORG.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS :P_KUNNR TYPE KUNNR,
P_VKORG TYPE VKORG.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
PARAMETERS : R1 RADIOBUTTON GROUP G1,

R2 RADIOBUTTON GROUP G1,


R3 RADIOBUTTON GROUP G1.
SELECTION-SCREEN SKIP 1.
PARAMETERS : R4 RADIOBUTTON GROUP G2,
R5 RADIOBUTTON GROUP G2,
R6 RADIOBUTTON GROUP G2.
SELECTION-SCREEN END OF BLOCK B3.
*SELECTION-SCREEN BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-005.
*
PARAMETERS : DISP AS CHECKBOX,
*
FILE AS CHECKBOX.
*SELECTION-SCREEN END OF BLOCK B4.
SELECTION-SCREEN BEGIN OF BLOCK B5 WITH FRAME TITLE TEXT-006.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(10) TEXT-AAA.
PARAMETERS : DISP AS CHECKBOX.
SELECTION-SCREEN POSITION 30.
PARAMETERS : FILE AS CHECKBOX.
SELECTION-SCREEN COMMENT 32(15) TEXT-BBB.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B5.
DATA : V_KUNNR,
V_LIFNR.
AT SELECTION-SCREEN ON BLOCK B2.
SELECT KUNNR INTO V_KUNNR FROM KNA1 UP TO 1 ROWS WHERE KUNNR = P_KUNNR.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE 'RECORD NOT FOUND' TYPE 'S'.
ENDIF.
AT SELECTION-SCREEN ON P_LIFNR.
SELECT LIFNR INTO V_LIFNR FROM LFA1 UP TO 1 ROWS WHERE LIFNR = P_LIFNR.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE 'NOT FOUND' TYPE 'E'.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_SALES_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_SALES_UI.

TABLES : EKKO,
EKPO.

*&---------------------------------------------------------------------*
*&
Module STATUS_4000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4000 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
" STATUS_4000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4000 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE_4000 INPUT.
DATA V_VKORG TYPE VKORG.
IF SY-UCOMM = 'CRT'.
SELECT VKORG INTO V_VKORG FROM VBAK UP TO 1 ROWS WHERE VKORG = VBAKVKORG.

ENDSELECT.
IF SY-SUBRC = 0.
MESSAGE 'ALREADY EXIST' TYPE 'S'.
ELSE.
CALL SCREEN 4001.
ENDIF.
ENDIF.

ENDMODULE.

" VALLIDATE_4000

INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SCREENS_BDC_PROGRAM
*&
*&---------------------------------------------------------------------*
*&

REPORT

ZMAMATHA_SCREENS_BDC_PROGRAM.

TYPES: BEGIN OF TY_FILE,


KUNNR TYPE KUNNR,
LAND1 TYPE LAND1_GP,
NAME1 TYPE NAME1_GP,
ORT01 TYPE ORT01_GP,
SORTL TYPE SORTL,
END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE BDCDATA.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
FILENAME
HAS_FIELD_SEPARATOR

= 'D:\MAMATA\KNA1.TXT'
=

'T'

TABLES
DATA_TAB

= IT_FILE.

IF IT_FILE IS NOT INITIAL.


LOOP AT IT_FILE INTO WA_FILE.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' 'CRT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BACK'.
PERFORM BDC_FIELD USING
'KNA1-KUNNR' WA_FILE-KUNNR.
PERFORM BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2100'.
PERFORM BDC_FIELD
USING 'BDC_OKCODE' 'SAVE'.
PERFORM BDC_FIELD USING
'KNA1-LAND1' WA_FILE-LAND1.
PERFORM BDC_FIELD USING
'KNA1-NAME1' WA_FILE-NAME1.
PERFORM BDC_FIELD USING
'KNA1-ORT01' WA_FILE-ORT01.
PERFORM BDC_FIELD USING
'KNA1-SORTL' WA_FILE-SORTL.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BACK'.

CALL TRANSACTION 'ZMVS' USING IT_BDCDATA .


ENDLOOP.
ELSE.
MESSAGE 'NO DATA FOUND' TYPE 'S'.
ENDIF.
INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_SEARCHHELP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_SEARCHHELP.
PARAMETERS : P_ORT01 TYPE ZMAMATHA_SEARCHHELP,
P_LAND1 TYPE C.

TYPES : BEGIN OF TY_T001,


"BUKRS TYPE T001-BUKRS,
"BUTXT TYPE T001-BUTXT,
"ORT01 TYPE T001-ORT01,
LAND1 TYPE T001-LAND1,
"WAERS TYPE T001-WAERS,
"SPRAS TYPE T001-SPRAS,
END OF TY_T001.
DATA : IT_T001 TYPE TABLE OF TY_T001,
WA_T001 TYPE TY_T001,
RETURN_TAB TYPE TABLE OF DDSHRETVAL.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LAND1.


SELECT

LAND1 FROM T001 INTO TABLE IT_T001. "WHERE LAND1 = P_LAND1.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'


EXPORTING
*
DDIC_STRUCTURE
= ' '
RETFIELD
= 'LAND1'
*
PVALKEY
= ' '
*
DYNPPROG
= ' '
*
DYNPNR
= ' '
*
DYNPROFIELD
= ' '
*
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
= RETURN_TAB
*
DYNPFLD_MAPPING
=
* EXCEPTIONS
*
PARAMETER_ERROR
= 1
*
NO_VALUES_FOUND
= 2
*
OTHERS
= 3
.
IF SY-SUBRC = 0.

READ TABLE RETURN_TAB INTO WA_T001.


ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_SELECTION_SCREENPAINT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATHA_SELECTION_SCREENPAINT.

TABLES LFA1.

DATA : V_LIFNR TYPE LIFNR,


V_LOW TYPE LIFNR,
V_HIGH TYPE LIFNR.
CALL SCREEN 1111.

MODULE SELECTION.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 3000.
ENDMODULE.
MODULE INITIALIZAION.
V_LOW = 4000.
V_HIGH = 5000.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LOW
IMPORTING
OUTPUT
= V_LOW
.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING

INPUT
IMPORTING
OUTPUT

= V_HIGH
= V_HIGH.
.

S_LIFNR-LOW = V_LOW.
S_LIFNR-HIGH = V_HIGH.
S_LIFNR-SIGN = 'I'.
S_LIFNR-OPTION = 'BT'.
APPEND S_LIFNR TO S_LIFNR[].
ENDMODULE.
MODULE VALLIDATION.
"AT SELECTION-SCREEN.
SELECT LIFNR INTO V_LIFNR FROM LFA1 UP TO 1 ROWS WHERE LIFNR IN S_LIFNR.
ENDSELECT.
IF SY-SUBRC = 0.
MESSAGE 'RECORD FOUND' TYPE 'S'.
ELSE.
MESSAGE 'NO RECORD FOUND' TYPE 'S'.
ENDIF.
ENDMODULE.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_VEN_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATHA_VEN_UI.
DATA V_LIFNR TYPE LIFNR.
TABLES LFA1.
CALL SCREEN 3000.

*&---------------------------------------------------------------------*
*&
Module STATUS_3000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_3000 OUTPUT.
SET PF-STATUS 'STATUS3000'.
ENDMODULE.
" STATUS_3000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_3000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_3000 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_3000 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE-LFA1 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE-LFA1 INPUT.
IF SY-UCOMM = 'CRT'.
SELECT LIFNR INTO V_LIFNR UP TO 1 ROWS FROM LFA1 WHERE LIFNR = LFA1LIFNR.
ENDSELECT.
IF SY-SUBRC = 0.
MESSAGE 'RECORD ALREADY EXIST' TYPE 'S'.
ELSE.
CALL SCREEN 3001.
ENDIF.
ENDIF.
ENDMODULE.
" VALLIDATE-LFA1 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_3001 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_3001 OUTPUT.
SET PF-STATUS 'STATUS3001'.

ENDMODULE.
" STATUS_3001 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_3001 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_3001 INPUT.
IF SY-UCOMM = 'SV'.
INSERT LFA1 FROM LFA1.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULL INSERT' TYPE 'S'.
ENDIF.
ELSEIF SY-UCOMM = 'BK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_3001 INPUT

*&---------------------------------------------------------------------*
*& Report ZDEMO_ACCESS_DB_VIEW
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_ACCESS_DB_VIEW.

DATA :it_pos type table of ZDBVI_LFA1_EKKO,


WA_POS TYPE
ZDBVI_LFA1_EKKO.
DATA : V_LIFNR TYPE LIFNR,
V_EBELN TYPE EBELN.
SELECT-OPTIONS : S_LIFNR FOR V_LIFNR,
S_EBELN FOR V_EBELN.
SELECT * INTO TABLE

IT_POS FROM ZDBVI_LFA1_EKKO WHERE LIFNR IN S_LIFNR


AND
EBELN IN S_EBELN.

LOOP AT IT_POS INTO WA_POS.


WRITE : / WA_POS-LIFNR,WA_POS-LAND1,WA_POS-EBELN,WA_POS-BUKRS.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZDEMO_ACCESS_DB_VIEW
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_ACCESS_DB_VIEW_EMP.

DATA :IT_EMP type table of ZMVIEW_EMP,


WA_EMP TYPE
ZMVIEW_EMP.
DATA : V_EMP TYPE ZEMPID,
V_SAL TYPE ZSAL.
SELECT-OPTIONS : S_EMP FOR V_EMP,
S_SAL FOR V_SAL.
SELECT * INTO TABLE

IT_EMP FROM ZMVIEW_EMP WHERE EMPID IN S_EMP


AND
SAL IN S_SAL.

LOOP AT IT_EMP INTO WA_EMP.


WRITE : / WA_EMP-EMPID,WA_EMP-EMPNAME,WA_EMP-SAL.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_ACCESS_INTERFACE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_ACCESS_INTERFACE.

DATA : OBJ1 TYPE REF TO ZMAMATA_GCL_LFA1,


OBJ2 TYPE REF TO ZMAMATA_GCL_LFA1.
START-OF-SELECTION.
CREATE OBJECT : OBJ1,OBJ2.
CALL METHOD OBJ1->GET1_DATA EXPORTING LIF_TP = 'IN'.
CALL METHOD OBJ1->DISP1_DATA.
CALL METHOD OBJ2->GET2_DATA EXPORTING MAT_TP = 'FERT'.
CALL METHOD OBJ2->DISP2_DATA.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_ACCESS_TYPE_GROUP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_ACCESS_TYPE_GROUP.
TYPE-POOLS ZSMS .
PARAMETERS : P_LIFNR TYPE LIFNR.
DATA: WA_LFA1 TYPE ZSMS_LFA1,
IT_LFA1 TYPE TABLE OF ZSMS_LFA1.
SELECT LIFNR NAME1 NAME2 ORT01 FROM LFA1 INTO TABLE IT_LFA1 WHERE LIFNR = P_L
IFNR.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Module Pool
ZMAMATA_ADDITION_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
PROGRAM ZMAMATA_ADDITION_UI.
*&---------------------------------------------------------------------*
*&
Module STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2000 OUTPUT.
SET PF-STATUS 'GETSTATUS1'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
" STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2000 INPUT.
DATA : INPUT1 TYPE I,
INPUT2 TYPE I,
OUTPUT TYPE I.

IF SY-UCOMM = 'SUM'.
OUTPUT = INPUT1 + INPUT2.
"COMMIT WORK.
CALL SCREEN '2100'.
ENDIF.
ENDMODULE.
" USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2100 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2100 INPUT.
"OUTPUT = INPUT1 + INPUT2.

ENDMODULE.

" USER_COMMAND_2100

INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMA_AT_USER_COMMAND_9AM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_AT_USER_COMMAND_9AM.

TYPES : BEGIN OF TY_T001,


BUKRS TYPE BUKRS, "company code.
BUTXT TYPE BUTXT,
END OF TY_T001.
TYPES : BEGIN OF TY_KNB1,
BUKRS TYPE BUKRS,
KUNNR TYPE KUNNR, "CUSTOMER NUMBER.
END OF TY_knb1.

DATA : IT_T001 TYPE TABLE OF TY_T001,


WA_T001 TYPE
TY_T001,
IT_SELECTED_T001 TYPE TABLE OF TY_T001,
IT_KNB1 TYPE TABLE OF TY_KNB1,
WA_KNB1 TYPE
TY_KNB1,
V_BOX(2) TYPE C,
V_LINES
TYPE I,
V_BUKRS1 TYPE I,
V_bukrs TYPE bukrs.
SELECT-OPTIONS S_bukrs for V_bukrs DEFAULT 1000 TO 4000.

SELECT BUKRS BUTXT INTO TABLE IT_T001 FROM T001 WHERE BUKRS IN S_bukrs.
IF IT_T001 is not initial.
set PF-STATUS 'GETSTATUS'.
PERFORM DISP.
ELSE.
MESSAGE 'NODATA' TYPE 'E'.
ENDIF.
****** AT USER_COMMAND ******
START-OF-SELECTION.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELL'.

SY-LSIND = 0.
V_BOX = 'x'.
PERFORM DISP.
WHEN 'DESELL'.
SY-LSIND = 0.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME
WRITE_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'C:\EMAX\T001.TXT'
=

't'

= IT_T001

.
IF SY-SUBRC = 0.
MESSAGE 'successfully downloaded' TYPE 'S'.
ELSE.
MESSAGE 'NOT DOWNLOADED' TYPE 'I'.
ENDIF.
PERFORM DISP.
WHEN 'GETCUST'.
REFRESH IT_SELECTED_T001. " FOR EVERY TIME NOT GETTING THE PREVIOUS RECORDS
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_T001-BUKRS WA_T001-BUTXT.
IF V_BOX = 'X'.
APPEND WA_T001 TO IT_SELECTED_T001.
ENDIF.
ENDDO.
IF IT_SELECTED_T001 IS NOT INITIAL.
SELECT BUKRS KUNNR INTO TABLE IT_KNB1 FROM KNB1
FOR ALL ENTRIES IN IT_SEL
ECTED_T001
WHERE BUKRS = IT_SELECTED_T001BUKRS.
SORT IT_KNB1 BY BUKRS.
IF IT_KNB1 IS NOT INITIAL.
LOOP AT IT_KNB1 INTO WA_KNB1.
AT NEW BUKRS.
WRITE : / WA_KNB1-BUKRS COLOR 1.
ENDAT.
WRITE /20 WA_KNB1-KUNNR COLOR 2.

ENDLOOP.
ELSE.
MESSAGE 'NO CUSTOMERS FOR THE SELECTED COMPANY' TYPE 'W'.
ENDIF.
ELSE.
MESSAGE 'NO LINES SELECTED' TYPE 'S'.
ENDIF.
WHEN 'DOWNLOAD'.
PERFORM GET_SELECT.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME

= 'D:\EMAX\MAMATHA\T001.TXT'

WRITE_FIELD_SEPARATOR
= 'M'
TABLES
DATA_TAB
= IT_SELECTED_T001
.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY DOWNLOAD' TYPE 'S'.
ENDIF.

ENDCASE.

******** AT LINE SELECTION *********


AT LINE-SELECTION.
case sy-LSIND.
WHEN 1.
V_BUKRS1 = SYLISEL+0(6). "IN TABLE SIZE IS 4 BUT WE ARE TAKING 6 AND ALSO TAKE V_BUKRS TYP
E AS I MEANS WRONG IN THE DATABASETABLE KNB1
"AND TAKE THE WHOLE VALUE MEANS 1000 IDES AG SO W
E ARE TAKE AS DATATYPE I.
SELECT BUKRS KUNNR INTO TABLE IT_KNB1 FROM KNB1 WHERE BUKRS = V_BUKRS1.
SORT IT_KNB1 BY BUKRS.
IF IT_KNB1 IS NOT INITIAL.
LOOP AT IT_KNB1 INTO WA_KNB1.
WRITE : / WA_KNB1-BUKRS COLOR 1, WA_KNB1-KUNNR COLOR 2.
ENDLOOP.
ELSE.

MESSAGE 'NO CUSTOMERS FOR THE GIVEN COMPANY' TYPE 'S'.


ENDIF.
ENDCASE.
*******************

TOP-OF-PAGE.
WRITE : / 'COMPANY CODE' COLOR 1, 30 'COMPANY NAME' COLOR 2.

FORM GET_SELECT.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_T001-BUKRS WA_T001-BUTXT.
IF V_BOX = 'X'.
APPEND WA_T001 TO IT_SELECTED_T001.
ENDIF.
ENDDO.
ENDFORM.

FORM DISP.
LOOP AT IT_T001 INTO WA_T001.
WRITE : / V_BOX AS CHECKBOX ,WA_T001-bukrs COLOR 1, 30 WA_T001butxt COLOR 2.
ENDLOOP.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMA_AT_USER_COMMAND_9AM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT

ZMAMATA_AT_USER_COMMAND_9KO.

TYPES : BEGIN OF TY_T001,


BUKRS TYPE BUKRS, "company code.
BUTXT TYPE BUTXT,
END OF TY_T001.
TYPES : BEGIN OF TY_KNB1,
BUKRS TYPE BUKRS,
KUNNR TYPE KUNNR, "CUSTOMER NUMBER.
END OF TY_knb1.

DATA : IT_T001 TYPE TABLE OF TY_T001,


WA_T001 TYPE
TY_T001,
IT_SELECTED_T001 TYPE TABLE OF TY_T001,
IT_KNB1 TYPE TABLE OF TY_KNB1,
WA_KNB1 TYPE
TY_KNB1,
V_BOX(2) TYPE C,
V_LINES
TYPE I,
V_bukrs TYPE bukrs.
SELECT-OPTIONS S_bukrs for V_bukrs DEFAULT 1000 TO 4000.

SELECT BUKRS BUTXT INTO TABLE IT_T001 FROM T001 WHERE BUKRS IN S_bukrs.
IF IT_T001 is not initial.
set PF-STATUS 'GETSTATUS'.
PERFORM DISP.
ELSE.
MESSAGE 'NODATA' TYPE 'E'.
ENDIF.
****** AT USER_COMMAND ******
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELL'.
SY-LSIND = 0.
V_BOX = 'x'.
PERFORM DISP.
WHEN 'DESELL'.
SY-LSIND = 0.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING

FILENAME
WRITE_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'D:\EMAX\T001.TXT'
=

't'

= IT_T001

.
IF SY-SUBRC = 0.
MESSAGE 'successfully downloaded' TYPE 'S'.
ELSE.
MESSAGE 'NOT DOWNLOADED' TYPE 'I'.
ENDIF.
PERFORM DISP.
WHEN 'GETCUST'.
REFRESH IT_SELECTED_T001. " FOR EVERY TIME NOT GETTING THE PREVIOUS RECORDS
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_T001-BUKRS WA_T001-BUTXT.
IF V_BOX = 'X'.
APPEND WA_T001 TO IT_SELECTED_T001.
ENDIF.
ENDDO.
IF IT_SELECTED_T001 IS NOT INITIAL.
SELECT BUKRS KUNNR INTO TABLE IT_KNB1 FROM KNB1 FOR ALL ENTRIES IN IT_SELEC
TED_T001
WHERE BUKRS = IT_SELECTED_T001BUKRS.
SORT IT_KNB1 BY BUKRS.
IF IT_KNB1 IS NOT INITIAL.
LOOP AT IT_KNB1 INTO WA_KNB1.
AT NEW BUKRS.
WRITE : / WA_KNB1-BUKRS COLOR 1.
ENDAT.
WRITE /20 WA_KNB1-KUNNR COLOR 2.
ENDLOOP.
ELSE.
MESSAGE 'NO CUSTOMERS FOR THE SELECTED COMPANY' TYPE 'W'.
ENDIF.
ELSE.
MESSAGE 'NO LINES SELECTED' TYPE 'S'.
ENDIF.
WHEN 'DOWNLOAD'.
PERFORM GET_SELECT.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING

FILENAME

= 'C:\EMAX\MAMATHA\T001.TXT'

WRITE_FIELD_SEPARATOR
= 'M'
TABLES
DATA_TAB
= IT_SELECTED_T001
.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY DOWNLOAD' TYPE 'S'.
ENDIF.

ENDCASE.

******** AT LINE SELECTION *********


AT LINE-SELECTION.
SELECT BUKRS KUNNR INTO TABLE IT_KNB1 FROM KNB1 WHERE BUKRS = SYLISEL+0(4).
SORT IT_KNB1 BY BUKRS.
IF IT_KNB1 IS NOT INITIAL.
LOOP AT IT_KNB1 INTO WA_KNB1.
WRITE : / WA_KNB1-BUKRS COLOR 1, WA_KNB1-KUNNR COLOR 2.
ENDLOOP.
ELSE.
MESSAGE 'NO CUSTOMERS FOR THE GIVEN COMPANY' TYPE 'S'.
ENDIF.
*******************

TOP-OF-PAGE.
WRITE : / 'COMPANY CODE' COLOR 1, 30 'COMPANY NAME' COLOR 2.

FORM GET_SELECT.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_T001-BUKRS WA_T001-BUTXT.
IF V_BOX = 'X'.
APPEND WA_T001 TO IT_SELECTED_T001.

ENDIF.
ENDDO.
ENDFORM.

FORM

DISP.
LOOP AT IT_T001 INTO WA_T001.
WRITE : / V_BOX AS CHECKBOX ,WA_T001-bukrs COLOR 1, 30 WA_T001butxt COLOR 2.
ENDLOOP.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA__ALL_REPORTS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_AT_USER_COMMAND_REP NO STANDARD PAGE HEADING
COUNT 20(2) LINE-SIZE 150.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP, "PURCHASE ITEM
MATNR TYPE MATNR, "MATERIAL NUMBER
END OF TY_EKPO.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
END OF TY_MAKT.

DATA : WA_LFA1 TYPE TY_LFA1,

LINE-

IT_LFA1 TYPE TABLE OF TY_LFA1,


IT_SELECTED_LFA1 TYPE TABLE OF TY_LFA1,
WA_EKKO TYPE TY_EKKO,
IT_EKKO TYPE TABLE OF TY_EKKO,
IT_SELECTED_EKKO TYPE TABLE OF TY_EKKO,
WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE TABLE OF TY_EKPO,
WA_MAKT TYPE TY_MAKT,
IT_MAKT TYPE TABLE OF TY_MAKT,
V_BOX(5) TYPE C,
V_LINES TYPE I,
V_LIFNR TYPE
LIFNR.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.
***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI
TY' COLOR 3,SY-PAGNO COLOR 6.
END-OF-PAGE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P
URCHASE MATERIALS' COLOR 7.
WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
IF IT_LFA1 IS NOT INITIAL.
SET PF-STATUS 'GETSTATUS'.
PERFORM DISP.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
*******************AT USER COMMAND**************

AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELECT'.
SY-LSIND = 0.
V_BOX = 'X'.
PERFORM DISP.
WHEN 'DESELECT'.
SY-LSIND = 0.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename
WRITE_FIELD_SEPARATOR
tables
data_tab

= 'C:\MAMATHA\LFA1.TXT'
= 'T'

= IT_SELECTED_LFA1

.
IF sy-subrc = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ENDIF.
WHEN 'GETPOS'.
REFRESH IT_SELECTED_LFA1.
PERFORM GETSELECTED_LINES.
IF IT_SELECTED_LFA1 IS NOT INITIAL.
SELECT LIFNR EBELN INTO TABLE IT_EKKO FROM EKKO
FOR ALL ENTRIES IN IT_SELECTED_LFA1
WHERE LIFNR = IT_SELECTED_LFA1-LIFNR.
SORT IT_EKKO BY LIFNR.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR,WA_EKKO-EBELN.
ENDLOOP.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT'.
ENDIF.
ELSE.
WRITE : / 'NO SELECTED DATA'.
ENDIF.

ENDCASE.

IF IT_EKKO IS NOT INITIAL.


SET PF-STATUS 'STATUS1'.
PERFORM DISP1.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
*******************AT USER COMMAND**************
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELECT'.
V_BOX = 'X'.
PERFORM DISP.
WHEN 'DESELECT'.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename
WRITE_FIELD_SEPARATOR
tables
data_tab

= 'C:\MAMATHA\EKKO.TXT'
= 'T'

= IT_SELECTED_EKKO

.
IF sy-subrc = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ENDIF.
WHEN 'GETITEMS'.
PERFORM GETSELECTED1_LINES.
IF IT_SELECTED_EKKO IS NOT INITIAL.
SELECT EBELN EBELP INTO TABLE IT_EKPO FROM EKPO
FOR ALL ENTRIES IN IT_SELECTED_EKKO
WHERE EBELN = IT_SELECTED_EKKO-EBELN.
SORT IT_EKPO BY EBELN.
IF IT_EKPO IS NOT INITIAL.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN,WA_EKPO-EBELP.

ENDLOOP.
ELSE.
WRITE : / 'NO PURCHASE ITEMS'.
ENDIF.
ELSE.
WRITE : / 'NO SELECTED DATA'.
ENDIF.
ENDCASE.

**
**
**

*
*
*
*
************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.

ENDIF.
ENDCASE.

***************GETSELECT************
FORM GETSELECTED_LINES.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_LFA1-LIFNR WA_LFA1-NAME1 WA_LFA1LAND1 WA_LFA1-ORT01.
IF V_BOX = 'X'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input
= WA_LFA1-LIFNR
IMPORTING
OUTPUT
= WA_LFA1-LIFNR
.
APPEND WA_LFA1 TO IT_SELECTED_LFA1.
ENDIF.
ENDDO.
ENDFORM.
FORM GETSELECTED1_LINES.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_EKKO-LIFNR WA_EKKO-EBELN.
IF V_BOX = 'X'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input
= WA_LFA1-LIFNR
IMPORTING
OUTPUT
= WA_LFA1-LIFNR
.
APPEND WA_EKKO TO IT_SELECTED_EKKO.
ENDIF.
ENDDO.
ENDFORM.

FORM DISP.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / V_BOX AS CHECKBOX ,WA_LFA1-LIFNR COLOR 4,WA_LFA1NAME1 COLOR 5,WA_LFA1-LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
ENDLOOP.

WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.


ENDFORM.
FORM DISP1.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / V_BOX AS CHECKBOX ,WA_EKKO-LIFNR COLOR 4,WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ENDFORM.

************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.
ENDIF.
WHEN 2.
"START-OF-SELECTION.
SELECT EBELN EBELP MATNR INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = SYLISEL+14(10).
"END-OF-SELECTION.
IF IT_EKPO IS NOT INITIAL. "2ND 2RY LIST.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 3,23 WA_EKPO-EBELP COLOR 4,45 WA_EKPOMATNR COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE ITEMS FOR THE GIVEN DOCUMENT' COLOR 1.
ENDIF.
WHEN 3.
SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SYLISEL+44(18).
IF IT_MAKT IS NOT INITIAL.
LOOP AT IT_MAKT INTO WA_MAKT.
WRITE : / WA_MAKT-MATNR COLOR 1,WA_MAKT-SPRAS COLOR 2.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO MATERIALS FOR THE GIVEN ITEMS' COLOR 3.
ENDIF.
ENDCASE.
*
*
*
*
*
*

*
*
*
*
*
*
*
*
*
*
******************* END-OF-PAGE**********
*END-OF-PAGE.
* WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_AUTOMATION_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT
DATA

ZMAMATA_AUTOMATION_ALV.
:

IT_BNKA TYPE TABLE OF BNKA.

SELECT * INTO TABLE

IT_BNKA FROM BNKA UP TO 60 ROWS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_STRUCTURE_NAME

*IT_FIELDCAT
TABLES
T_OUTTAB

= 'BNKA'

= IT_BNKA.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BAPI_BANK_CREATE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BAPI_BANK_CREATE.

TYPES : BEGIN
BANKS
BANKL
BANKA
ORT01
END OF

OF TY_BNKA,
TYPE BNKA-BANKS,
TYPE BANKL,
TYPE BANKA,
TYPE ORT01,
TY_BNKA.

DATA : ITAB TYPE TABLE OF TY_BNKA,


WA TYPE TY_BNKA,
WA_ADDRESS TYPE BAPI1011_ADDRESS,
RETURN TYPE BAPIRET2.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
= 'C:\MAMATA\FILE.TXT'
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'T'
= ITAB.

LOOP AT ITAB INTO WA.


WA_ADDRESS-BANK_NAME = WA-BANKA.
WA_ADDRESS-CITY = WA-ORT01.

*
*
*
*

*
*

CALL FUNCTION 'BAPI_BANK_CREATE'


EXPORTING
BANK_CTRY
= WA-BANKS
BANK_KEY
= WA-BANKL
BANK_ADDRESS
= WA_ADDRESS
BANK_METHOD
=
BANK_FORMATTING
=
BANK_ADDRESS1
=
I_XUPDATE
= 'X'
IMPORTING
RETURN
= RETURN
BANKCOUNTRY
=
BANKKEY
=

.
IF RETURN IS INITIAL.
WRITE : / 'BANK' ,WA-BANKL,
COMMIT WORK.
ELSE.
WRITE : / RETURN-MESSAGE .
ENDIF.
ENDLOOP.

'IS CREATED'.

*&---------------------------------------------------------------------*
*& Include
ZMAMATA_BDC
*&---------------------------------------------------------------------*

FORM BDC_DYNPRO USING FP_PROGRAM TYPE C FP_DYNPRO TYPE C.


CLEAR WA_BDCDATA.
WA_BDCDATA-DYNBEGIN = 'X'.
WA_BDCDATA-PROGRAM = FP_PROGRAM.
WA_BDCDATA-DYNPRO = FP_DYNPRO.
APPEND WA_BDCDATA TO IT_BDCDATA.
ENDFORM.
FORM BDC_FIELD USING FP_FNAM TYPE C FP_FVAL TYPE C.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = FP_FNAM.
WA_BDCDATA-FVAL = FP_FVAL.
APPEND WA_BDCDATA TO IT_BDCDATA.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SCREENS_BDC_PROGRAM
*&
*&---------------------------------------------------------------------*
*&

REPORT

ZMAMATA_BDC_CALLLTCODE_SESSION.

TYPES: BEGIN OF TY_FILE,


KUNNR TYPE KUNNR,
LAND1 TYPE LAND1_GP,
NAME1 TYPE NAME1_GP,
ORT01 TYPE ORT01_GP,
SORTL TYPE SORTL,
END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE BDCDATA,
V_GROUP_OPENED(1) TYPE C.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
FILENAME
HAS_FIELD_SEPARATOR

= 'C:\MAMATA\KNA1.TXT'
=

TABLES
DATA_TAB

'T'

= IT_FILE.

"IF IT_FILE IS NOT INITIAL.


LOOP AT IT_FILE INTO WA_FILE.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
"PERFORM BDC_FIELD
"PERFORM BDC_FIELD

USING 'ZMAMATA_SCREENS_BDC' '2000'.


USING 'BDC_OKCODE' 'CRT'.
USING
'KNA1-KUNNR' WA_FILE-KUNNR.
USING 'ZMAMATA_SCREENS_BDC' '2100'.
USING 'BDC_OKCODE' 'SAVE'.
USING
'KNA1-LAND1' WA_FILE-LAND1.
USING
'KNA1-NAME1' WA_FILE-NAME1.
USING
'KNA1-ORT01' WA_FILE-ORT01.
USING
'KNA1-SORTL' WA_FILE-SORTL.
USING 'BDC_OKCODE' '=BACK'.
USING 'BDC_OKCODE' '=BACK'.

CALL TRANSACTION 'ZMVS' USING IT_BDCDATA MODE 'N' UPDATE 'A'.


IF SY-SUBRC = 0.
WRITE : / 'CUSTOMER CREATED SUCCESSFULLY'.
ELSE.
IF V_GROUP_OPENED <> 'X'.
CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING
GROUP

= 'MAMATA_SESS'

KEEP
USER

= 'X'
= SY-UNAME

.
IF SY-SUBRC = 0.
V_GROUP_OPENED = 'X'.
ENDIF.
ENDIF.

CALL FUNCTION 'BDC_INSERT'


EXPORTING
TCODE
= 'ZMVS'
TABLES
DYNPROTAB

= IT_BDCDATA

.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDLOOP.
"ELSE.
"MESSAGE 'NO DATA FOUND' TYPE 'S'.
"ENDIF.
"ENDIF.
IF V_GROUP_OPENED = 'X'.

CALL FUNCTION 'BDC_CLOSE_GROUP'


* EXCEPTIONS
*
NOT_OPEN
= 1
*
QUEUE_ERROR
= 2
*
OTHERS
= 3
.
IF SY-SUBRC = 0.
WRITE : / ' SESSION SUCCESSFULLY CREATED' .

ENDIF.
ENDIF.

INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BDC_CALLTCODE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BDC_CALLTCODE.

TYPES : BEGIN OF TY_EKKO,


EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
LIFNR TYPE LIFNR,
SPRAS TYPE SPRAS,
END OF TY_EKKO.

DATA : IT_EKKO TYPE TABLE OF TY_EKKO,


WA_EKKO TYPE
TY_EKKO,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE
BDCDATA.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'C:\MAMATA\EKKO.TXT'
= 'T'

= IT_EKKO

.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'ZMAMATA_BDC_EKPO' '4000'.
PERFORM BDC_FIELD USING 'EKKO-EBELN' WA_EKKO-EBELN.
PERFORM BDC_DYNPRO USING 'ZMAMATA_BDC_EKPO' '4100'.
PERFORM BDC_FIELD USING 'EKKO-BUKRS' WA_EKKO-BUKRS.
PERFORM BDC_FIELD USING 'EKKO-LIFNR' WA_EKKO-LIFNR.
PERFORM BDC_FIELD USING 'EKKO-SPRAS' WA_EKKO-SPRAS.
CALL TRANSACTION 'ZMSR' USING IT_BDCDATA.
ENDLOOP.
ELSE.
MESSAGE 'FILE NOT FOUND IN YOUR SYSTEM' TYPE 'S'.
ENDIF.
INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BDC_CALLTCODE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BDC_CALLTCODE_ERRORHAN.

TYPES : BEGIN OF TY_EKKO,


EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
LIFNR TYPE LIFNR,
SPRAS TYPE SPRAS,
END OF TY_EKKO.

DATA : IT_EKKO TYPE TABLE OF TY_EKKO,


WA_EKKO TYPE
TY_EKKO,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE
BDCDATA,
IT_BDCMSGCOLL TYPE TABLE OF BDCMSGCOLL,

WA_BDCMSGCOLL
V_TEXT TYPE

TYPE
STRING.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

BDCMSGCOLL,

= 'C:\MAMATA\EKKO.TXT'
= 'T'

= IT_EKKO

.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'ZMAMATA_BDC_EKPO' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=CRT'.
PERFORM BDC_FIELD USING 'EKKO-EBELN' WA_EKKO-EBELN.
PERFORM BDC_DYNPRO USING 'ZMAMATA_BDC_EKPO' '4100'.
PERFORM BDC_FIELD USING 'EKKO-BUKRS' WA_EKKO-BUKRS.
PERFORM BDC_FIELD USING 'EKKO-LIFNR' WA_EKKO-LIFNR.
PERFORM BDC_FIELD USING 'EKKO-SPRAS' WA_EKKO-SPRAS.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=SAVE'.
"PERFORM BDC_FIELD USING 'BDC_OKCODE' 'BACK'.
CALL TRANSACTION 'ZMSR' USING IT_BDCDATA MODE 'N' MESSAGES INTO IT_BDCMS
GCOLL.
ENDLOOP.
ELSE.
MESSAGE 'FILE NOT FOUND IN YOUR SYSTEM' TYPE 'S'.
ENDIF.
LOOP AT IT_BDCMSGCOLL INTO WA_BDCMSGCOLL.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID
= WA_BDCMSGCOLL-MSGID
LANG
= WA_BDCMSGCOLL-MSGSPRA
NO
= WA_BDCMSGCOLL-MSGNR
V1
= WA_BDCMSGCOLL-MSGV1
V2
= WA_BDCMSGCOLL-MSGV2
V3
= WA_BDCMSGCOLL-MSGV3
V4
= WA_BDCMSGCOLL-MSGV4
IMPORTING
MSG
= V_TEXT
*
EXCEPTIONS

*
*

NOT_FOUND
= 1
OTHERS
= 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WRITE : / V_TEXT.
ENDLOOP.
"ELSE.
" MESSAGE 'FILE NOT FOUND IN YOUR SYSTEM' TYPE 'S'.
"ENDIF.

INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BDC_CALLTCODE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BDC_CALLTCODE_OKCODE.

TYPES : BEGIN OF TY_EKKO,


EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
LIFNR TYPE LIFNR,
SPRAS TYPE SPRAS,
END OF TY_EKKO.

DATA : IT_EKKO TYPE TABLE OF TY_EKKO,


WA_EKKO TYPE
TY_EKKO,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE
BDCDATA.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'C:\MAMATA\EKKO.TXT'
= 'T'

= IT_EKKO

.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'ZMAMATA_BDC_EKPO' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=CRT'.
PERFORM BDC_FIELD USING 'EKKO-EBELN' WA_EKKO-EBELN.
PERFORM BDC_DYNPRO USING 'ZMAMATA_BDC_EKPO' '4100'.
PERFORM BDC_FIELD USING 'EKKO-BUKRS' WA_EKKO-BUKRS.
PERFORM BDC_FIELD USING 'EKKO-LIFNR' WA_EKKO-LIFNR.
PERFORM BDC_FIELD USING 'EKKO-SPRAS' WA_EKKO-SPRAS.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=SAVE'.
"PERFORM BDC_FIELD USING 'BDC_OKCODE' 'BACK'.
CALL TRANSACTION 'ZMSR' USING IT_BDCDATA.
ENDLOOP.
ELSE.
MESSAGE 'FILE NOT FOUND IN YOUR SYSTEM' TYPE 'S'.
ENDIF.
INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Module Pool
ZMAMATA_BDC_EKPO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
PROGRAM

ZMAMATA_BDC_EKPO.

TABLES EKKO.
*&---------------------------------------------------------------------*
*&
Module STATUS_4000 OUTPUT

*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4000 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_4000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4000 INPUT.
IF
SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE_4000 INPUT.
IF SY-UCOMM = 'CRT'.
DATA : V_EBELN TYPE EBELN.
SELECT SINGLE EBELN INTO V_EBELN FROM EKKO WHERE EBELN = EKKO-EBELN.
" ENDSELECT.
IF SY-SUBRC = 0.
MESSAGE 'RECORD ALREADY EXIST' TYPE 'E'.
ELSE.
CALL SCREEN 4100.
ENDIF.
ENDIF.
ENDMODULE.
" VALLIDATE_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_4100 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4100 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_4100 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4100 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4100 INPUT.

CASE
SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT EKKO FROM EKKO.
COMMIT WORK.
IF SY-SUBRC = 0.
MESSAGE 'SUCESSFULLY CREATED' TYPE 'S'.
ELSE.
MESSAGE 'NOT CREATED' TYPE 'E'.
ENDIF.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.

" USER_COMMAND_4100

INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SCREENS_BDC_PROGRAM
*&
*&---------------------------------------------------------------------*
*&

REPORT

ZMAMATA_BDC_PROGRAM.

TYPES: BEGIN OF TY_FILE,


BANKS TYPE BANKS,
BANKL TYPE BANKK,
BANKA TYPE BANKA,
END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE BDCDATA.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES

= 'C:\MAMATA\BNKA.TXT'
=

'T'

DATA_TAB

= IT_FILE.

IF IT_FILE IS NOT INITIAL.


LOOP AT IT_FILE INTO WA_FILE.
REFRESH IT_BDCDATA.

PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM

BDC_DYNPRO USING 'SAPMF02B' '100'.


BDC_FIELD USING 'BNKA-BANKS' WA_FILE-BANKS.
BDC_FIELD USING 'BDC_OKCODE' '/00'.
BDC_FIELD USING 'BNKA-BANKL' WA_FILE-BANKL.
BDC_DYNPRO USING 'SAPMF02B' '110'.
BDC_FIELD USING 'BNKA-BANKA' WA_FILE-BANKA.
BDC_FIELD USING 'BDC_OKCODE' '=UPDA'.

CALL TRANSACTION 'FI01' USING IT_BDCDATA.


ENDLOOP.
ELSE.
MESSAGE 'NO DATA FOUND' TYPE 'S'.
ENDIF.
INCLUDE

ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SCREENS_BDC_PROGRAM
*&
*&---------------------------------------------------------------------*
*&

REPORT

ZMAMATA_BDC_PROGRAMS.

TYPES: BEGIN OF TY_FILE,


BANKS TYPE BANKS,
BANKL TYPE BANKK,
BANKA TYPE BANKA,
END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE BDCDATA.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING

FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'C:\MAMATA\BNKA.TXT'
=

'T'

= IT_FILE.

IF IT_FILE IS NOT INITIAL.


LOOP AT IT_FILE INTO WA_FILE.
REFRESH IT_BDCDATA.

PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM

BDC_DYNPRO USING 'SAPMF02B' '100'.


BDC_FIELD USING 'BNKA-BANKS' WA_FILE-BANKS.
BDC_FIELD USING 'BDC_OKCODE' '/00'.
BDC_FIELD USING 'BNKA-BANKL' WA_FILE-BANKL.
BDC_DYNPRO USING 'SAPMF02B' '110'.
BDC_FIELD USING 'BNKA-BANKA' WA_FILE-BANKA.
BDC_FIELD USING 'BDC_OKCODE' '=UPDA'.

CALL TRANSACTION 'FI01' USING IT_BDCDATA.


ENDLOOP.
ELSE.
MESSAGE 'NO DATA FOUND' TYPE 'S'.
ENDIF.
INCLUDE

ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BDC_CALLTCODE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BDC_SESSSION.

TYPES : BEGIN OF TY_EKKO,

EBELN TYPE EBELN,


BUKRS TYPE BUKRS,
LIFNR TYPE LIFNR,
SPRAS TYPE SPRAS,
END OF TY_EKKO.

DATA : IT_EKKO TYPE TABLE OF TY_EKKO,


WA_EKKO TYPE
TY_EKKO,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE
BDCDATA.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'C:\MAMATA\EKKO.TXT'
= 'T'

= IT_EKKO

.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
GROUP

'MAMATAS_SESS'

KEEP
USER

=
=

'X'
SY-UNAME

*
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'ZMAMATA_BDC_EKPO' '4000'.
PERFORM BDC_FIELD USING 'EKKO-EBELN' WA_EKKO-EBELN.
PERFORM BDC_DYNPRO USING 'ZMAMATA_BDC_EKPO' '4100'.
PERFORM BDC_FIELD USING 'EKKO-BUKRS' WA_EKKO-BUKRS.
PERFORM BDC_FIELD USING 'EKKO-LIFNR' WA_EKKO-LIFNR.

PERFORM BDC_FIELD USING 'EKKO-SPRAS' WA_EKKO-SPRAS.


CALL TRANSACTION 'ZMSR' USING IT_BDCDATA.
ENDLOOP.
ELSE.
MESSAGE 'FILE NOT FOUND IN YOUR SYSTEM' TYPE 'S'.
ENDIF.
INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BDC_VIA_BAPI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BDC_VIA_BAPI.

TYPES : BEGIN OF TY_BNKA,


BANKS TYPE BNKA-BANKS,
BANKL TYPE BNKA-BANKL,
BANKA TYPE BNKA-BANKA,
ORT01 TYPE BNKA-ORT01,
END OF TY_BNKA.
DATA : ITAB TYPE TABLE OF TY_BNKA,
wa
TYPE ty_bnka.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
*
FILETYPE
HAS_FIELD_SEPARATOR
*
HEADER_LENGTH
*
READ_BY_LINE
*
DAT_MODE
*
CODEPAGE
*
IGNORE_CERR
*
REPLACEMENT
*
CHECK_BOM
*
VIRUS_SCAN_PROFILE
*
NO_AUTH_CHECK

= 'C:\MAMATA\BANK.TXT'
= 'ASC'
= 'T'
= 0
= 'X'
= ' '
= ' '
= ABAP_TRUE
= '#'
= ' '
=
= ' '

*
HAI
=
*
ADARSH
=
* IMPORTING
*
FILELENGTH
=
*
HEADER
=
TABLES
DATA_TAB
= ITAB
* EXCEPTIONS
*
FILE_OPEN_ERROR
= 1
*
FILE_READ_ERROR
= 2
*
NO_BATCH
= 3
*
GUI_REFUSE_FILETRANSFER
= 4
*
INVALID_TYPE
= 5
*
NO_AUTHORITY
= 6
*
UNKNOWN_ERROR
= 7
*
BAD_DATA_FORMAT
= 8
*
HEADER_NOT_ALLOWED
= 9
*
SEPARATOR_NOT_ALLOWED
= 10
*
HEADER_TOO_LONG
= 11
*
UNKNOWN_DP_ERROR
= 12
*
ACCESS_DENIED
= 13
*
DP_OUT_OF_MEMORY
= 14
*
DISK_FULL
= 15
*
DP_TIMEOUT
= 16
*
OTHERS
= 17
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WA_ADDRESS TYPE BAPI1011_ADDRESS.

CALL FUNCTION 'BAPI_BANK_CREATE'


EXPORTING
BANK_CTRY
= WA-BANKS
BANK_KEY
= WA-BANKL
BANK_ADDRESS
= WA_ADDRESS
*
BANK_METHOD
=
*
BANK_FORMATTING
=
*
BANK_ADDRESS1
=
*
I_XUPDATE
= 'X'
* IMPORTING
RETURN
= RETURN
*
BANKCOUNTRY
=
*
BANKKEY
=
.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BDC_VIA_BAPI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BDC_VIA_BAPI.

TYPES : BEGIN OF TY_BNKA,


BANKS TYPE BNKA-BANKS,
BANKL TYPE BNKA-BANKL,
BANKA TYPE BNKA-BANKA,
ORT01 TYPE BNKA-ORT01,
END OF TY_BNKA.
DATA : ITAB TYPE TABLE OF TY_BNKA,
wa
TYPE ty_bnka.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
*
FILETYPE
HAS_FIELD_SEPARATOR
*
HEADER_LENGTH
*
READ_BY_LINE
*
DAT_MODE
*
CODEPAGE
*
IGNORE_CERR
*
REPLACEMENT
*
CHECK_BOM
*
VIRUS_SCAN_PROFILE
*
NO_AUTH_CHECK
*
HAI
*
ADARSH
* IMPORTING
*
FILELENGTH
*
HEADER
TABLES
DATA_TAB
* EXCEPTIONS
*
FILE_OPEN_ERROR
*
FILE_READ_ERROR
*
NO_BATCH
*
GUI_REFUSE_FILETRANSFER
*
INVALID_TYPE
*
NO_AUTHORITY
*
UNKNOWN_ERROR

= 'C:\MAMATA\BANK.TXT'
= 'ASC'
= 'T'
= 0
= 'X'
= ' '
= ' '
= ABAP_TRUE
= '#'
= ' '
=
= ' '
=
=
=
=
= ITAB
=
=
=
=
=
=
=

1
2
3
4
5
6
7

*
*
*
*
*
*
*
*
*
*

BAD_DATA_FORMAT
= 8
HEADER_NOT_ALLOWED
= 9
SEPARATOR_NOT_ALLOWED
= 10
HEADER_TOO_LONG
= 11
UNKNOWN_DP_ERROR
= 12
ACCESS_DENIED
= 13
DP_OUT_OF_MEMORY
= 14
DISK_FULL
= 15
DP_TIMEOUT
= 16
OTHERS
= 17
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WA_ADDRESS TYPE BAPI1011_ADDRESS.

CALL FUNCTION 'BAPI_BANK_CREATE'


EXPORTING
BANK_CTRY
= WA-BANKS
BANK_KEY
= WA-BANKL
BANK_ADDRESS
= WA_ADDRESS
*
BANK_METHOD
=
*
BANK_FORMATTING
=
*
BANK_ADDRESS1
=
*
I_XUPDATE
= 'X'
* IMPORTING
RETURN
= RETURN
*
BANKCOUNTRY
=
*
BANKKEY
=
.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BLOCKED_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BLOCKED_ALV.

TYPE-POOLS SLIS.
DATA : IT_EKKO TYPE TABLE OF EKKO,
IT_EKPO TYPE TABLE OF EKPO,
*
WA_EKKO TYPE EKKO,
*
WA_EKPO TYPE EKPO,
V_EBELN TYPE EBELN,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
IS_LAYOUT TYPE SLIS_LAYOUT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT.
SELECT-OPTIONS S_EBELN FOR V_EBELN.

PERFORM SELECTED_DATA.

PERFORM BLOCK_INIT.
PERFORM BLOCK_APPEND.
PERFORM BLOCK_DISPLAY.

FORM SELECTED_DATA .
SELECT * INTO TABLE IT_EKKO FROM EKKO WHERE EBELN IN S_EBELN.
SELECT * INTO TABLE IT_EKPO FROM EKPO WHERE EBELN IN S_EBELN.
ENDFORM.
" SELECTED_DATA
FORM BLOCK_DISPLAY .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.

ENDFORM.
FORM BLOCK_INIT .

" BLOCK_DISPLAY

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'


EXPORTING
I_CALLBACK_PROGRAM
= SY-CPROG
*
I_CALLBACK_PF_STATUS_SET
= ' '
*
I_CALLBACK_USER_COMMAND
= ' '
*
IT_EXCLUDING
=

ENDFORM.

" BLOCK_INIT

FORM BLOCK_APPEND .

*
*
*
*
*
*

*
*
*
*

*
*

*
*
*
*
*

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'


EXPORTING
I_PROGRAM_NAME
=
I_INTERNAL_TABNAME
=
I_STRUCTURE_NAME
= 'EKKO'
I_CLIENT_NEVER_DISPLAY
= 'X'
I_INCLNAME
=
I_BYPASSING_BUFFER
=
I_BUFFER_ACTIVE
=
CHANGING
CT_FIELDCAT
= IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE
= 1
PROGRAM_ERROR
= 2
OTHERS
= 3
.
IF SY-SUBRC <> 0.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-EMPHASIZE = 'C710'.
MODIFY IT_FIELDCAT FROM WA_FIELDCAT TRANSPORTING EMPHASIZE WHERE FIELDNAME
'EBELN'.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT
= IS_LAYOUT
IT_FIELDCAT
= IT_FIELDCAT
I_TABNAME
= 'IT_EKKO'
IT_EVENTS
= IT_EVENTS
IT_SORT
=
I_TEXT
= ' '
TABLES
T_OUTTAB
= IT_EKKO
EXCEPTIONS
PROGRAM_ERROR
= 1
MAXIMUM_OF_APPENDS_REACHED
= 2
OTHERS
= 3
.
IF SY-SUBRC = 0.

*ENDIF.
REFRESH : IT_FIELDCAT,IT_EVENTS.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
*
I_PROGRAM_NAME
=
*
I_INTERNAL_TABNAME
=
I_STRUCTURE_NAME
= 'EKPO'
*
I_CLIENT_NEVER_DISPLAY
= 'X'
*
I_INCLNAME
=
*
I_BYPASSING_BUFFER
=
*
I_BUFFER_ACTIVE
=
CHANGING
CT_FIELDCAT
= IT_FIELDCAT
*
EXCEPTIONS
*
INCONSISTENT_INTERFACE
= 1
*
PROGRAM_ERROR
= 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.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'


EXPORTING
IS_LAYOUT
= IS_LAYOUT
IT_FIELDCAT
= IT_FIELDCAT
I_TABNAME
= 'IT_EKPO'
IT_EVENTS
= IT_EVENTS
*
IT_SORT
=
*
I_TEXT
= ' '
TABLES
T_OUTTAB
= IT_EKPO
* EXCEPTIONS
*
PROGRAM_ERROR
= 1
*
MAXIMUM_OF_APPENDS_REACHED
= 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.

ENDFORM.

" BLOCK_APPEND

*&---------------------------------------------------------------------*
*& Report ZMAMATA_TRAFFICLIGHTS_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_CELLCOLOR_ALV.
TYPE-POOLS SLIS.
TYPES BEGIN OF TY_LIKP.
INCLUDE STRUCTURE LIKP.
TYPES CELL_TAB TYPE SLIS_T_SPECIALCOL_ALV.
TYPES END OF TY_LIKP.

DATA : IT_LIKP TYPE TABLE OF TY_LIKP,


WA_LIKP TYPE TY_LIKP,
IT_TEMP_LIKP TYPE TABLE OF LIKP,
WA_TEMP_LIKP TYPE LIKP,
IS_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT * INTO TABLE IT_TEMP_LIKP FROM LIKP UP TO 30 ROWS.

LOOP AT IT_TEMP_LIKP INTO WA_TEMP_LIKP.


MOVE-CORRESPONDING WA_TEMP_LIKP TO WA_LIKP.
APPEND WA_LIKP TO IT_LIKP.
CLEAR : WA_LIKP, WA_TEMP_LIKP.
ENDLOOP.

DATA :

ITAB TYPE SLIS_T_SPECIALCOL_ALV,


WA
TYPE LINE OF SLIS_T_SPECIALCOL_ALV.

WA-FIELDNAME = 'LPRIO'.
WA-COLOR-COL = 7.

WA-COLOR-INT = 1.
WA-COLOR-INV = 0.
APPEND WA TO ITAB.
clear wa_LIKP.
WA_LIKP-CELL_TAB = ITAB. "Red
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING CELL_TAB
WHERE LPRIO = '01'.

IS_LAYOUT-LIGHTS_FIELDNAME = 'CELL_TAB'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME
IS_LAYOUT
TABLES
T_OUTTAB

= 'LIKP'
=

IS_LAYOUT

= IT_LIKP.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_TRAFFICLIGHTS_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_CELLCOLOR_ALVS.
TYPE-POOLS SLIS.
TYPES BEGIN OF TY_LIKP.
INCLUDE STRUCTURE LIKP.
TYPES CELL_TAB TYPE SLIS_T_SPECIALCOL_ALV.
TYPES END OF TY_LIKP.

DATA : IT_LIKP TYPE TABLE OF TY_LIKP,


WA_LIKP TYPE TY_LIKP,
IT_TEMP_LIKP TYPE TABLE OF LIKP,

WA_TEMP_LIKP TYPE LIKP,


IS_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT * INTO TABLE IT_TEMP_LIKP FROM LIKP UP TO 30 ROWS.

LOOP AT IT_TEMP_LIKP INTO WA_TEMP_LIKP.


MOVE-CORRESPONDING WA_TEMP_LIKP TO WA_LIKP.
APPEND WA_LIKP TO IT_LIKP.
CLEAR : WA_LIKP, WA_TEMP_LIKP.
ENDLOOP.

DATA :

ITAB TYPE SLIS_T_SPECIALCOL_ALV,


WA
TYPE LINE OF SLIS_T_SPECIALCOL_ALV.

WA-FIELDNAME = 'LPRIO'.
WA-COLOR-COL = 5.
WA-COLOR-INT = 1.
WA-COLOR-INV = 0.
APPEND WA TO ITAB.
clear wa_LIKP.
WA_LIKP-CELL_TAB = ITAB. "Red
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING CELL_TAB
WHERE LPRIO = '2'.

IS_LAYOUT-COLTAB_FIELDNAME

= 'CELL_TAB'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_STRUCTURE_NAME
IS_LAYOUT
TABLES
T_OUTTAB

= 'LIKP'
=

IS_LAYOUT

= IT_LIKP.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_COMP_UI

*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_COMP_UI.

DATA :

V_BUKRS TYPE BUKRS.


" V_T001 TYPE BUKRS.
TABLES T001.
"SELECT-OPTIONS S_T001 FOR V_T001.
CALL SCREEN 2222.

*&---------------------------------------------------------------------*
*&
Module STATUS_2222 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2222 OUTPUT.
SET PF-STATUS 'STATUS2222'.
ENDMODULE.
" STATUS_2222 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2222 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2222 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_2222 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE-2222 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE-2222 INPUT.
* IF SY-UCOMM = 'TX'.
*
SELECT BUKRS INTO V_BUKRS FROM T001 UP TO 1 ROWS WHERE BUKRS IN S_T001.
"= T001-BUKRS.
*
ENDSELECT.
* ENDIF.
IF SY-UCOMM = 'CRT'.
SELECT BUKRS INTO V_BUKRS FROM T001 UP TO 1 ROWS WHERE BUKRS = T001BUKRS.

ENDSELECT.
IF SY-SUBRC = 0.
MESSAGE 'ALREADY RECORD EXIST' TYPE 'S'.
ELSE.
CALL SCREEN 2223.
ENDIF.
ENDIF.
ENDMODULE.
" VALLIDATE-2222 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_2223 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2223 OUTPUT.
SET PF-STATUS 'STATUS2223'.
ENDMODULE.
" STATUS_2223 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2223 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2223 INPUT.
IF SY-UCOMM = 'SV'.
INSERT T001 FROM T001.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'S'.
ELSE.
MESSAGE 'ALREADY EXIST' TYPE 'S'.
ENDIF.
ELSEIF SY-UCOMM = 'BK'.
LEAVE TO SCREEN 0.
ELSEIF SY-UCOMM = 'DEL'.
DELETE T001 FROM T001.
"DELETE FROM T001 WHERE BUKRS = '1349'.
IF SY-SUBRC <> 0.
MESSAGE 'RECORD DELETED' TYPE 'S'.
*
ELSE.
*
CALL SCREEN '2224'.
ENDIF.
ENDIF.
ENDMODULE.
" USER_COMMAND_2223 INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_CONSTRUCTOR
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_CONSTRUCTOR.

CLASS LCL_CON DEFINITION.


PUBLIC SECTION.
METHOD DISP.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS LCL_CON IMPLEMENTATION.
METHOD DISP.
WRITE : / 'MAMATA IS A VERY GOOD GIRL'.
ENDMETHOD.
ENDCLASS.
DATA : OBJ TYPE REF TO LCL_CON.
START-OF-SELECTION.
CREATE OBJECT OBJ.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_CONSTRUCTOR_TYPES
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_CONSTRUCTOR_TYPES.

CLASS SUPER_LCL DEFINITION.

PUBLIC SECTION.
METHODS : M1,
CONSTRUCTOR.
CLASS-METHODS CLASS_CONSTRUCTOR.
ENDCLASS.
CLASS SUPER_LCL IMPLEMENTATION.
METHOD M1.
WRITE : / 'METHOD M1'.
ENDMETHOD.
METHOD CONSTRUCTOR.
WRITE : / 'BASE CLASS CONSTRUCTOR'.
ENDMETHOD.
METHOD CLASS_CONSTRUCTOR.
WRITE : / 'BASE CLASS STATIC CONSTRUCTOR'.
ENDMETHOD.
ENDCLASS.
CLASS SUB_LCL DEFINITION INHERITING FROM SUPER_LCL.
PUBLIC SECTION.
METHODS : M2,
CONSTRUCTOR.
CLASS-METHODS : CLASS_CONSTRUCTOR.
ENDCLASS.
CLASS SUB_LCL IMPLEMENTATION.
METHOD M2.
WRITE : / 'METHOD M2'.
ENDMETHOD.
METHOD CONSTRUCTOR.
SUPER->CONSTRUCTOR( ).
WRITE : / 'SUB CLASS CONSTRUCTOR'.
ENDMETHOD.
METHOD CLASS_CONSTRUCTOR.
WRITE : / 'SUB CLASS STATIC CONSTRUCTOR'.
ENDMETHOD.
ENDCLASS.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_CONSTRUCTORS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_CONSTRUCTORS.

CLASS LCL_SUPER DEFINITION.


PUBLIC SECTION.
METHODS : CONSTRUCTOR,
DISP.
CLASS-METHODS CLASS_CONSTRUCTOR.
PROTECTED SECTION.
PRIVATE SECTION.
CLASS-DATA V1 TYPE I.
ENDCLASS.
CLASS LCL_SUPER IMPLEMENTATION.
METHOD CONSTRUCTOR.
WRITE : / 'I AM A SUPER CLASS CONSTRUCTOR'.
ENDMETHOD.
METHOD DISP.
WRITE : / 'I AM METHOD DISPLAY'.
ENDMETHOD.
CLASS-METHODS CLASS_CONSTRUCTOR.
WRITE : / 'I AM SUPER CLASS STATIC CONSTRUCTOR'.
ENDMETHOD.
ENDCLASS.
CLASS LCL_SUB DEFINITION INHERITING FROM LCL_SUPER.
PUBLIC SECTION.
METHOD CONSTRUCTOR.
CLASS-METHODS CLASS_CONSTRUCTOR.
ENDCLASS.
CLASS LCL_SUB IMPLEMENTATION.
METHOD CONSTRUCTOR.
WRITE : / 'I AM SUB CLASS CONSTRUCTOR'.
ENDMETHOD.
CLASS-METHODS CLASS_CONSTRUCTOR.
WRITE : / 'I AM SUB CLASS STATIC CONSTRUCTOR'.
ENDCLASS.

DATA : O1 TYPE REF TO LCL_SUPER,

O2 TYPE REF TO LCL_SUB.


CREATE OBJECT : O1,O2.

*&---------------------------------------------------------------------*
*& Report ZRAVI_DB_TO_TABLECNTRL
*&
*&---------------------------------------------------------------------*
*& Report Z_DB_TABLECONTROL
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_DB_TO_TABLECNTRL.

TABLES: MARA.
CONTROLS MATERIAL TYPE TABLEVIEW USING SCREEN 130.
TYPES: BEGIN OF ST_MARA,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
ERNAM TYPE MARA-ERNAM,
LAEDA TYPE MARA-LAEDA,
END OF ST_MARA.
DATA: IT_ST TYPE TABLE OF ST_MARA,
WA_ST TYPE ST_MARA,
IT_MARA TYPE MARA,
WA_MARA TYPE MARA,
OK_CODE LIKE SY-UCOMM.
CALL SCREEN 130.
*&---------------------------------------------------------------------*
*&
Module V1 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE V1 INPUT.
CASE OK_CODE.
WHEN 'SAVE'.
WA_ST-MATNR = MARA-MATNR.
WA_ST-ERSDA = MARA-ERSDA.
WA_ST-ERNAM = MARA-ERNAM.
WA_ST-LAEDA = MARA-LAEDA.

MOVE-CORRESPONDING WA_ST TO WA_MARA.


INSERT INTO MARA VALUES WA_MARA.
WHEN 'DELETE'.
WA_ST-MATNR = MARA-MATNR.
WA_ST-ERSDA = MARA-ERSDA.
WA_ST-ERNAM = MARA-ERNAM.
WA_ST-LAEDA = MARA-LAEDA.
MOVE-CORRESPONDING WA_ST TO WA_MARA.
DELETE MARA FROM WA_MARA.
WHEN 'MODIFY'.
WA_ST-MATNR = MARA-MATNR.
WA_ST-ERSDA = MARA-ERSDA.
WA_ST-ERNAM = MARA-ERNAM.
WA_ST-LAEDA = MARA-LAEDA.
MOVE-CORRESPONDING WA_ST TO WA_MARA.
MODIFY MARA FROM WA_MARA.
ENDCASE.ENDMODULE.
" V1 INPUT
*&---------------------------------------------------------------------*
*&
Module EXIT INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.
IF OK_CODE = 'EXIT'.
LEAVE PROGRAM.
ENDIF.
ENDMODULE.
" EXIT INPUTCreate a screen by number 130 and provide the following attribut
es:

*&---------------------------------------------------------------------*
*& Report ZMAMATA_DEMO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_DEMO.

DATA : A,B.

WRITE : / 'MATERIAL NO'(001),


'MATERIAL TYPE'(002),
'MATERIAL NAME'(003),
'MATERIALS'(004) .
TYPES : BEGIN OF TY_FI01,
BANKS TYPE BANKS,
END OF TY_FI01.
DATA : IT_FI01 TYPE TABLE OF TY_FI01.

DATA : V_FILE TYPE STRING.


PARAMETERS : P_FILE TYPE IBIPPARMS-PATH.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'F4_FILENAME'
*EXPORTING
*
PROGRAM_NAME
=
*
DYNPRO_NUMBER
= SYST-DYNNR
*
FIELD_NAME
= ' '
IMPORTING
FILE_NAME
= P_FILE

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

*
*
*

.
START-OF-SELECTION.
V_FILE = P_FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
FILETYPE
HAS_FIELD_SEPARATOR
HEADER_LENGTH
READ_BY_LINE
DAT_MODE
CODEPAGE
IGNORE_CERR
REPLACEMENT
CHECK_BOM
VIRUS_SCAN_PROFILE
NO_AUTH_CHECK
HAI
ADARSH
IMPORTING
FILELENGTH
HEADER
TABLES
DATA_TAB
EXCEPTIONS
FILE_OPEN_ERROR
FILE_READ_ERROR

= V_FILE
= 'ASC'
= 'X'
= 0
= 'X'
= ' '
= ' '
= ABAP_TRUE
= '#'
= ' '
=
= ' '
=
=
=
=
= IT_FI01
= 1
= 2

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

NO_BATCH
= 3
GUI_REFUSE_FILETRANSFER
= 4
INVALID_TYPE
= 5
NO_AUTHORITY
= 6
UNKNOWN_ERROR
= 7
BAD_DATA_FORMAT
= 8
HEADER_NOT_ALLOWED
= 9
SEPARATOR_NOT_ALLOWED
= 10
HEADER_TOO_LONG
= 11
UNKNOWN_DP_ERROR
= 12
ACCESS_DENIED
= 13
DP_OUT_OF_MEMORY
= 14
DISK_FULL
= 15
DP_TIMEOUT
= 16
OTHERS
= 17
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_EVENTS_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_EVENTS_ALV.
TYPE-POOLS SLIS.
DATA : IT_BNKA TYPE TABLE OF BNKA,
WA_BNKA TYPE BNKA,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE LINE OF SLIS_T_EVENT.
PARAMETERS : RB_NALV RADIOBUTTON GROUP G1,
RB_ALV RADIOBUTTON GROUP G1.
SELECT * FROM BNKA INTO TABLE IT_BNKA.

IF RB_NALV = 'X'.
LOOP AT IT_BNKA INTO WA_BNKA.

WRITE : / WA_BNKA-BANKS, WA_BNKA-BANKL,WA_BNKA-BANKA.


ENDLOOP.
ELSEIF RB_ALV = 'X'.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'T0P_OF_PAGE'.
WA_EVENTS-FORM = 'PRINT_HEADER'.
APPEND WA_EVENTS TO IT_EVENTS.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM

I_STRUCTURE_NAME
IT_EVENTS
TABLES
T_OUTTAB
ENDIF.

SY-CPROG
= 'BNKA'

IT_EVENTS

= IT_BNKA.

FORM PRINT_HEADER.
DATA : IT_LIST TYPE SLIS_T_LISTHEADER,
WA_LIST TYPE LINE OF SLIS_T_LISTHEADER.
CLEAR WA_LIST.
WA_LIST-TYP = 'H'.
WA_LIST-INFO = 'BANK DETAILS'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP = 'A'.
WA_LIST-INFO = 'BANK DETAILS'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP = 'S'.
WA_LIST-KEY = 'MAMATA'.
WA_LIST-INFO = 'BANK DETAILS'.
APPEND WA_LIST TO IT_LIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY
= IT_LIST

*
*

I_LOGO
I_END_OF_LIST_GRID
I_ALV_FORM
.

= 'ALV_STAR_LOGO'
=
=

ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_EVENTS_ALV_MANUAL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_EVENTS_ALV_INTERACTIVE.
TYPE-POOLS SLIS.
DATA : IT_BNKA TYPE TABLE OF TY_BNKA,
WA_BNKA TYPE TY_BNKA,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE LINE OF SLIS_T_EVENT.
PARAMETERS : RB_NALV RADIOBUTTON GROUP G1,
RB_ALV RADIOBUTTON GROUP G1.
SELECT * FROM BNKA INTO TABLE IT_BNKA UP TO 40 ROWS.
IF RB_NALV = 'X'.
IF IT_BNKA IS NOT INITIAL.
LOOP AT IT_BNKA INTO WA_BNKA.
WRITE : / WA_BNKA-BANKS,WA_BNKA-BANKL,WA_BNKA-BANKA.
ENDLOOP.
ELSE.
WRITE : / 'NO DATA IN THE BNKA BANK TABLE'.
ENDIF.
ELSEIF RB_ALV = 'X'.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'TOP_OF_PAGE'.
WA_EVENTS-FORM = 'PRINT_HEADER'.
APPEND WA_EVENTS TO IT_EVENTS.

PERFORM

BANK_DETAILS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM
*

I_STRUCTURE_NAME

SY-CPROG
= 'TY_BNKA'

IT_FIELDCAT

= IT_FIELDCAT

IT_EVENTS

= IT_EVENTS

TABLES
T_OUTTAB

= IT_BNKA

.
ENDIF.
FORM PRINT_HEADER.
DATA : IT_LIST TYPE SLIS_T_LISTHEADER ,
WA_LIST TYPE LINE OF SLIS_T_LISTHEADER .
CLEAR WA_LIST.
WA_LIST-TYP
= 'H'.
WA_LIST-INFO = 'MAMATA BANK PVT LTD'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP

= 'A'.

WA_LIST-INFO = 'MAMATA BANK PVT LTD'.


APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP
= 'S' .
WA_LIST-INFO = 'MAMATA BANK PVT LTD'.
APPEND WA_LIST TO IT_LIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY
= IT_LIST
I_LOGO
= 'alv_ star_logo'
*
I_END_OF_LIST_GRID
=
*
I_ALV_FORM
=
.

ENDFORM.

FORM BANK_DETAILS.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKS'.
WA_FIELDCAT-COL_POS
= '1'.
WA_FIELDCAT-KEY
= 'X'.
WA_FIELDCAT-JUST
= 'C'.
WA_FIELDCAT-SELTEXT_M = 'COUNTRY KEY'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKL'.
WA_FIELDCAT-COL_POS
= '2'.
WA_FIELDCAT-SELTEXT_M = 'BANK NUMBER'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKA'.
WA_FIELDCAT-COL_POS
= '3'.
WA_FIELDCAT-SELTEXT_M = 'BANK NAME'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_EVENTS_ALV_MANUAL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_EVENTS_ALV_MANUAL.
TYPE-POOLS SLIS.
TYPES : BEGIN OF TY_BNKA,
BANKS TYPE BNKA-BANKS,
BANKL TYPE BNKA-BANKL,

BANKA TYPE BNKA-BANKA,


END OF TY_BNKA.
DATA : IT_BNKA TYPE TABLE OF TY_BNKA,
WA_BNKA TYPE TY_BNKA,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE LINE OF SLIS_T_EVENT.
PARAMETERS : RB_NALV RADIOBUTTON GROUP G1,
RB_ALV RADIOBUTTON GROUP G1.
SELECT BANKS BANKL BANKA FROM BNKA INTO TABLE IT_BNKA UP TO 40 ROWS.
IF RB_NALV = 'X'.
IF IT_BNKA IS NOT INITIAL.
LOOP AT IT_BNKA INTO WA_BNKA.
WRITE : / WA_BNKA-BANKS,WA_BNKA-BANKL,WA_BNKA-BANKA.
ENDLOOP.
ELSE.
WRITE : / 'NO DATA IN THE BNKA BANK TABLE'.
ENDIF.
ELSEIF RB_ALV = 'X'.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'TOP_OF_PAGE'.
WA_EVENTS-FORM = 'PRINT_HEADER'.
APPEND WA_EVENTS TO IT_EVENTS.
PERFORM

BANK_DETAILS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM
*

I_STRUCTURE_NAME

SY-CPROG
= 'TY_BNKA'

IT_FIELDCAT

= IT_FIELDCAT

IT_EVENTS

= IT_EVENTS

TABLES
T_OUTTAB
.
ENDIF.
FORM PRINT_HEADER.

= IT_BNKA

DATA : IT_LIST TYPE SLIS_T_LISTHEADER ,


WA_LIST TYPE LINE OF SLIS_T_LISTHEADER .
CLEAR WA_LIST.
WA_LIST-TYP
= 'H'.
WA_LIST-INFO = 'MAMATA BANK PVT LTD'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP

= 'A'.

WA_LIST-INFO = 'MAMATA BANK PVT LTD'.


APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP
= 'S' .
WA_LIST-INFO = 'MAMATA BANK PVT LTD'.
APPEND WA_LIST TO IT_LIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY
= IT_LIST
I_LOGO
= 'alv_ star_logo'
*
I_END_OF_LIST_GRID
=
*
I_ALV_FORM
=
.

ENDFORM.

FORM BANK_DETAILS.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKS'.
WA_FIELDCAT-COL_POS
= '1'.
WA_FIELDCAT-KEY
= 'X'.
WA_FIELDCAT-JUST
= 'C'.
WA_FIELDCAT-SELTEXT_M = 'COUNTRY KEY'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKL'.
WA_FIELDCAT-COL_POS
= '2'.
WA_FIELDCAT-SELTEXT_M = 'BANK NUMBER'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKA'.

WA_FIELDCAT-COL_POS
= '3'.
WA_FIELDCAT-SELTEXT_M = 'BANK NAME'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_EVENTS_INTERACTIVE_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_EVENTS_INTERACTIVE_ALV.

DATA : IT_EKKO TYPE TABLE OF EKKO,


WA_EKKO TYPE EKKO,
IT_EKPO TYPE TABLE OF EKPO,
WA_EKPO TYPE EKPO,
V_EBELN TYPE EBELN.
SELECT-OPTIONS S_EBELN FOR V_EBELN DEFAULT '4
00000' TO '400000'.
SELECT * FROM EKKO INTO TABLE IT_EKKO WHERE EBELN IN S_EBELN.
PARAMETERS : RB_ALV RADIOBUTTON GROUP G1,
RB_NALV RADIOBUTTON GROUP G1.
IF RB_ALV = 'X'.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR,WA_EKKO-EBELN,WA_EKKO-AEDAT.
ENDLOOP.
ELSEIF RB_NALV = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
*
CALLBACK_PROGRAM
= ' '
I_STRUCTURE_NAME
= 'EKKO'
*
IT_EVENTS
=
TABLES
T_OUTTAB
= IT_EKKO.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_FIELDCAT_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_EVENTS1_ALV.

TYPE-POOLS SLIS.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EKPO-EBELN,
BUKRS TYPE EKPO-BUKRS,
AEDAT TYPE EKPO-AEDAT,
END OF TY_EKPO.
DATA : IT_EKPO TYPE TABLE OF TY_EKPO,
WA_EKPO TYPE TY_EKPO,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV ,
WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE LINE OF SLIS_T_EVENT.
SELECT EBELN BUKRS AEDAT FROM EKKO INTO TABLE IT_EKPO

CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'TOP-OF-PAGE'.
WA_EVENTS-FORM = 'EVENTS_ALV'.
APPEND WA_EVENTS TO IT_EVENTS.
PERFORM FIELDCAT_DETAILS.
*PERFORM EVENTS_ALV.

UP TO 30 ROWS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
I_BYPASSING_BUFFER
= ' '
*
I_BUFFER_ACTIVE
= ' '
I_CALLBACK_PROGRAM
= SY-CPROG
*
I_CALLBACK_PF_STATUS_SET
= ' '
*
I_CALLBACK_USER_COMMAND
= ' '
*
I_CALLBACK_TOP_OF_PAGE
= ' '
*
I_CALLBACK_HTML_TOP_OF_PAGE
= ' '
*
I_CALLBACK_HTML_END_OF_LIST
= ' '
*
I_STRUCTURE_NAME
=
*
I_BACKGROUND_ID
= ' '
*
I_GRID_TITLE
=
*
I_GRID_SETTINGS
=
*
IS_LAYOUT
=
IT_FIELDCAT
= IT_FIELDCAT
*
IT_EXCLUDING
=
*
IT_SPECIAL_GROUPS
=
*
IT_SORT
=
*
IT_FILTER
=
*
IS_SEL_HIDE
=
*
I_DEFAULT
= 'X'
*
I_SAVE
= ' '
*
IS_VARIANT
=
IT_EVENTS
= IT_EVENTS
*
IT_EVENT_EXIT
=
*
IS_PRINT
=
*
IS_REPREP_ID
=
*
I_SCREEN_START_COLUMN
= 0
*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
*
I_HTML_HEIGHT_TOP
= 0
*
I_HTML_HEIGHT_END
= 0
*
IT_ALV_GRAPHICS
=
*
IT_HYPERLINK
=
*
IT_ADD_FIELDCAT
=
*
IT_EXCEPT_QINFO
=
*
IR_SALV_FULLSCREEN_ADAPTER
=
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= IT_EKPO
* EXCEPTIONS
*
PROGRAM_ERROR
= 1
*
OTHERS
= 2

.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
INCLUDE ZMAMATA_FIELDCAT_ALV_FIELDCF01.
INCLUDE ZMAMATA_EVENTS1_ALV_EVENTS_F01.
FORM EVENTS_ALV.
DATA : IT_LIST TYPE SLIS_T_LISTHEADER,
WA_LIST TYPE LINE OF SLIS_T_LISTHEADER.
CLEAR WA_LIST.
WA_LIST-TYP = 'H'.
WA_LIST-INFO = 'MAMATHA'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP = 'S'.
WA_LIST-INFO = 'SOFTWARE EMPLOYEE'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP = 'A'.
WA_LIST-INFO = 'IBM IBM
IBM
IBM'.
APPEND WA_LIST TO IT_LIST.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'


EXPORTING
IT_LIST_COMMENTARY
= IT_LIST
*
I_LOGO
=
*
I_END_OF_LIST_GRID
=
*
I_ALV_FORM
=
.

ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_FIELDCAT_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_FIELDCAT_ALV.

TYPE-POOLS SLIS.
TYPES : BEGIN OF TY_EKKO,
EBELN TYPE EKKO-EBELN,
BUKRS TYPE EKKO-BUKRS,
AEDAT TYPE EKKO-AEDAT,
END OF TY_EKKO.
DATA : IT_EKKO TYPE TABLE OF TY_EKKO,
WA_EKKO TYPE TY_EKKO,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV ,
WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV.
SELECT EBELN BUKRS AEDAT FROM EKKO INTO TABLE IT_EKKO
PERFORM FIELDCAT_DETAILS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
*
I_INTERFACE_CHECK
=
*
I_BYPASSING_BUFFER
=
*
I_BUFFER_ACTIVE
=
*
I_CALLBACK_PROGRAM
=
*
I_CALLBACK_PF_STATUS_SET
=
*
I_CALLBACK_USER_COMMAND
=
*
I_CALLBACK_TOP_OF_PAGE
=
*
I_CALLBACK_HTML_TOP_OF_PAGE
=
*
I_CALLBACK_HTML_END_OF_LIST
=
*
I_STRUCTURE_NAME
=

'
'
'
'
'
'
'
'
'

'
'
'
'
'
'
'
'
'

UP TO 30 ROWS.

*
*
*
*

I_BACKGROUND_ID
= ' '
I_GRID_TITLE
=
I_GRID_SETTINGS
=
IS_LAYOUT
=
IT_FIELDCAT
= IT_FIELDCAT
*
IT_EXCLUDING
=
*
IT_SPECIAL_GROUPS
=
*
IT_SORT
=
*
IT_FILTER
=
*
IS_SEL_HIDE
=
*
I_DEFAULT
= 'X'
*
I_SAVE
= ' '
*
IS_VARIANT
=
*
IT_EVENTS
=
*
IT_EVENT_EXIT
=
*
IS_PRINT
=
*
IS_REPREP_ID
=
*
I_SCREEN_START_COLUMN
= 0
*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
*
I_HTML_HEIGHT_TOP
= 0
*
I_HTML_HEIGHT_END
= 0
*
IT_ALV_GRAPHICS
=
*
IT_HYPERLINK
=
*
IT_ADD_FIELDCAT
=
*
IT_EXCEPT_QINFO
=
*
IR_SALV_FULLSCREEN_ADAPTER
=
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= IT_EKKO
* EXCEPTIONS
*
PROGRAM_ERROR
= 1
*
OTHERS
= 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
INCLUDE ZMAMATA_FIELDCAT_ALV_FIELDCF01.

*----------------------------------------------------------------------*
***INCLUDE ZMAMATA_FIELDCAT_ALV_FIELDCF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form FIELDCAT_DETAILS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM FIELDCAT_DETAILS .
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-SELTEXT_M = 'PO NUMBER'.
WA_FIELDCAT-JUST
= 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.
*
WA_FIELDCAT-JUST
= 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'AEDAT'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-SELTEXT_M = 'DATE'.
WA_FIELDCAT-JUST
= 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.

ENDFORM.

" FIELDCAT_DETAILS

*&---------------------------------------------------------------------*
*& Report ZMAMATA_FM
*&
*&---------------------------------------------------------------------*
*&

*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_FM.

CALL FUNCTION 'ZGET_CREDIT_LIMITS' DESTINATION '9AM_800'.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_FORM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_FORM.
PARAMETER P_BANKS TYPE BNKA-BANKS.
TYPES : BEGIN OF TY_BNKA,
BANKS TYPE BNKA-BANKS,
BANKL TYPE BNKA-BANKL,
BANKA TYPE BNKA-BANKA,
END OF TY_BNKA.
TYPES : BEGIN OF TY_PURDOC,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
END OF
TY_PURDOC.

DATA : WA_BNKA TYPE TY_BNKA,


IT_PURDOC TYPE TABLE OF TY_PURDOC,
WA_PURDOC TYPE TY_PURDOC.

SELECT SINGLE BANKS BANKL BANKA


.
"WRITE : / WA_BNKA-BANKL.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
*
FILETYPE
HAS_FIELD_SEPARATOR

INTO WA_BNKA FROM BNKA WHERE BANKS = P_BANKS

= 'C:\MAMATA\PURDOC.TXT'
= 'ASC'
= 'T'

*
*
*
*
*
*
*
*
*
*
*
*
*
*

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

*
*

HEADER_LENGTH
= 0
READ_BY_LINE
= 'X'
DAT_MODE
= ' '
CODEPAGE
= ' '
IGNORE_CERR
= ABAP_TRUE
REPLACEMENT
= '#'
CHECK_BOM
= ' '
VIRUS_SCAN_PROFILE
=
NO_AUTH_CHECK
= ' '
HAI
=
ADARSH
=
IMPORTING
FILELENGTH
=
HEADER
=
TABLES
DATA_TAB
= IT_PURDOC
EXCEPTIONS
FILE_OPEN_ERROR
= 1
FILE_READ_ERROR
= 2
NO_BATCH
= 3
GUI_REFUSE_FILETRANSFER
= 4
INVALID_TYPE
= 5
NO_AUTHORITY
= 6
UNKNOWN_ERROR
= 7
BAD_DATA_FORMAT
= 8
HEADER_NOT_ALLOWED
= 9
SEPARATOR_NOT_ALLOWED
= 10
HEADER_TOO_LONG
= 11
UNKNOWN_DP_ERROR
= 12
ACCESS_DENIED
= 13
DP_OUT_OF_MEMORY
= 14
DISK_FULL
= 15
DP_TIMEOUT
= 16
OTHERS
= 17
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'OPEN_FORM'


EXPORTING
*
APPLICATION
*
ARCHIVE_INDEX
*
ARCHIVE_PARAMS
*
DEVICE
*
DIALOG

= 'TX'
=
=
= 'PRINTER'
= 'X'

FORM
= 'ZBANKSSS_DETAILS'
*
LANGUAGE
= SY-LANGU
*
OPTIONS
=
*
MAIL_SENDER
=
*
MAIL_RECIPIENT
=
*
MAIL_APPL_OBJECT
=
*
RAW_DATA_INTERFACE
= '*'
*
SPONUMIV
=
* IMPORTING
*
LANGUAGE
=
*
NEW_ARCHIVE_PARAMS
=
*
RESULT
=
* EXCEPTIONS
*
CANCELED
= 1
*
DEVICE
= 2
*
FORM
= 3
*
OPTIONS
= 4
*
UNCLOSED
= 5
*
MAIL_OPTIONS
= 6
*
ARCHIVE_ERROR
= 7
*
INVALID_FAX_NUMBER
= 8
*
MORE_PARAMS_NEEDED_IN_BATCH
= 9
*
SPOOL_ERROR
= 10
*
CODEPAGE
= 11
*
OTHERS
= 12
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
*
ELEMENT
*
FUNCTION
*
TYPE
WINDOW
* IMPORTING
*
PENDING_LINES
* EXCEPTIONS
*
ELEMENT
*
FUNCTION
*
TYPE
*
UNOPENED
*
UNSTARTED
*
WINDOW
*
BAD_PAGEFORMAT_FOR_PRINT
*
SPOOL_ERROR
*
CODEPAGE

= ' '
= 'SET'
= 'BODY'
= 'BAN_WIN'
=
=
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
8
9

OTHERS

= 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT
= 'PRINT_MASK'
*
FUNCTION
= 'SET'
*
TYPE
= 'BODY'
WINDOW
= 'MASK'
* IMPORTING
*
PENDING_LINES
=
* EXCEPTIONS
*
ELEMENT
= 1
*
FUNCTION
= 2
*
TYPE
= 3
*
UNOPENED
= 4
*
UNSTARTED
= 5
*
WINDOW
= 6
*
BAD_PAGEFORMAT_FOR_PRINT
= 7
*
SPOOL_ERROR
= 8
*
CODEPAGE
= 9
*
OTHERS
= 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT
*
FUNCTION
*
TYPE
WINDOW
* IMPORTING
*
PENDING_LINES
* EXCEPTIONS
*
ELEMENT
*
FUNCTION
*
TYPE
*
UNOPENED
*
UNSTARTED
*
WINDOW
*
BAD_PAGEFORMAT_FOR_PRINT
*
SPOOL_ERROR

= 'PRINT_TERMS'
= 'SET'
= 'BODY'
= 'MAIN'
=
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
8

*
*

CODEPAGE
= 9
OTHERS
= 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT
= 'HEADER_DATA'
*
FUNCTION
= 'SET'
*
TYPE
= 'BODY'
WINDOW
= 'MAIN'
* IMPORTING
*
PENDING_LINES
=
* EXCEPTIONS
*
ELEMENT
= 1
*
FUNCTION
= 2
*
TYPE
= 3
*
UNOPENED
= 4
*
UNSTARTED
= 5
*
WINDOW
= 6
*
BAD_PAGEFORMAT_FOR_PRINT
= 7
*
SPOOL_ERROR
= 8
*
CODEPAGE
= 9
*
OTHERS
= 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

loop AT IT_PURDOC INTO WA_PURDOC.


CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT
= 'ITEM_DATA'
*
FUNCTION
= 'SET'
*
TYPE
= 'BODY'
WINDOW
= 'MAIN'
* IMPORTING
*
PENDING_LINES
=
* EXCEPTIONS
*
ELEMENT
= 1
*
FUNCTION
= 2
*
TYPE
= 3
*
UNOPENED
= 4
*
UNSTARTED
= 5

*
*
*
*
*

WINDOW
= 6
BAD_PAGEFORMAT_FOR_PRINT
= 7
SPOOL_ERROR
= 8
CODEPAGE
= 9
OTHERS
= 10
.
*IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'


* IMPORTING
*
RESULT
=
*
RDI_RESULT
=
* TABLES
*
OTFDATA
=
* EXCEPTIONS
*
UNOPENED
= 1
*
BAD_PAGEFORMAT_FOR_PRINT
= 2
*
SEND_ERROR
= 3
*
SPOOL_ERROR
= 4
*
CODEPAGE
= 5
*
OTHERS
= 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_FORMS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_FORMS.

DATA : ITAB TYPE TABLE OF

ZMAMATHA_EXP,

WA
TYPE ZMAMATHA_EXP,
V_IDS TYPE C.
SELECT-OPTIONS S_IDS FOR V_IDS.
SELECT SINGLE * FROM ZMAMATHA_EXP INTO WA WHERE IDS IN S_IDS.

CALL FUNCTION 'OPEN_FORM'


EXPORTING
*
APPLICATION
= 'TX'
*
ARCHIVE_INDEX
=
*
ARCHIVE_PARAMS
=
*
DEVICE
= 'PRINTER'
*
DIALOG
= 'X'
FORM
= 'ZMAMATHA_EXP'
*
LANGUAGE
= SY-LANGU
*
OPTIONS
=
*
MAIL_SENDER
=
*
MAIL_RECIPIENT
=
*
MAIL_APPL_OBJECT
=
*
RAW_DATA_INTERFACE
= '*'
*
SPONUMIV
=
* IMPORTING
*
LANGUAGE
=
*
NEW_ARCHIVE_PARAMS
=
*
RESULT
=
* EXCEPTIONS
*
CANCELED
= 1
*
DEVICE
= 2
*
FORM
= 3
*
OPTIONS
= 4
*
UNCLOSED
= 5
*
MAIL_OPTIONS
= 6
*
ARCHIVE_ERROR
= 7
*
INVALID_FAX_NUMBER
= 8
*
MORE_PARAMS_NEEDED_IN_BATCH
= 9
*
SPOOL_ERROR
= 10
*
CODEPAGE
= 11
*
OTHERS
= 12
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
*
ELEMENT
= ' '

*
*

FUNCTION
= 'SET'
TYPE
= 'BODY'
WINDOW
= 'MAIN'
* IMPORTING
*
PENDING_LINES
=
* EXCEPTIONS
*
ELEMENT
= 1
*
FUNCTION
= 2
*
TYPE
= 3
*
UNOPENED
= 4
*
UNSTARTED
= 5
*
WINDOW
= 6
*
BAD_PAGEFORMAT_FOR_PRINT
= 7
*
SPOOL_ERROR
= 8
*
CODEPAGE
= 9
*
OTHERS
= 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'CLOSE_FORM'
*IMPORTING
*
RESULT
=
*
RDI_RESULT
=
* TABLES
*
OTFDATA
=
* EXCEPTIONS
*
UNOPENED
= 1
*
BAD_PAGEFORMAT_FOR_PRINT
= 2
*
SEND_ERROR
= 3
*
SPOOL_ERROR
= 4
*
CODEPAGE
= 5
*
OTHERS
= 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_EVENTS_ALV
*&
*&---------------------------------------------------------------------*

*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_EVENTS_ALV.
TYPE-POOLS SLIS.
DATA : IT_BNKA TYPE TABLE OF BNKA,
WA_BNKA TYPE BNKA,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE LINE OF SLIS_T_EVENT.
PARAMETERS : RB_NALV RADIOBUTTON GROUP G1,
RB_ALV RADIOBUTTON GROUP G1.
SELECT * FROM BNKA INTO TABLE IT_BNKA.

IF RB_NALV = 'X'.
LOOP AT IT_BNKA INTO WA_BNKA.
WRITE : / WA_BNKA-BANKS, WA_BNKA-BANKL,WA_BNKA-BANKA.
ENDLOOP.
ELSEIF RB_ALV = 'X'.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'T0P_OF_PAGE'.
WA_EVENTS-FORM = 'PRINT_HEADER'.
APPEND WA_EVENTS TO IT_EVENTS.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM

I_STRUCTURE_NAME
IT_EVENTS
TABLES
T_OUTTAB
ENDIF.

SY-CPROG
= 'BNKA'

IT_EVENTS

= IT_BNKA.

FORM PRINT_HEADER.
DATA : IT_LIST TYPE SLIS_T_LISTHEADER,
WA_LIST TYPE LINE OF SLIS_T_LISTHEADER.
CLEAR WA_LIST.
WA_LIST-TYP = 'H'.

WA_LIST-INFO = 'BANK DETAILS'.


APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP = 'A'.
WA_LIST-INFO = 'BANK DETAILS'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP = 'S'.
WA_LIST-KEY = 'MAMATA'.
WA_LIST-INFO = 'BANK DETAILS'.
APPEND WA_LIST TO IT_LIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY
= IT_LIST
I_LOGO
= 'ALV_STAR_LOGO'
*
I_END_OF_LIST_GRID
=
*
I_ALV_FORM
=
.

ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_GCL_BDC
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_GCL_BDC.
types: begin of ty_BNKA,
BANKS type BNKA-BANKS,
BANKL type BNKA-BANKL,
BANKA type BNKA-BANKA,
end of ty_BNKA.
data : itab type table of ty_BNKA,
wa
type ty_BNKA,
it_bdcdata type table of bdcdata.

DATA O_BDC TYPE REF TO ZGCL_BDC_9AM.


START-OF-SELECTION.
CREATE OBJECT O_BDC.
CALL METHOD O_BDC->UPLOAD_FILE
EXPORTING
FILE_NAME = 'C:\MAMATA\FI01.TXT'
SEP
= 'X'
IMPORTING
ITAB
= ITAB
.

loop at itab into wa.


CALL METHOD
>BDC_DYNPRO
CALL METHOD
CALL METHOD
CALL METHOD

O_BDCEXPORTING PROGRAM
O_BDC->BDC_FIELD
O_BDC->BDC_FIELD
O_BDC->BDC_FIELD

CALL METHOD
>BDC_DYNPRO
CALL METHOD
CALL METHOD

O_BDCEXPORTING PROGRAM = 'SAPMF02B' DYNPRO = '110'.


O_BDC->BDC_FIELD EXPORTING FNAM = 'BNKA-BANKA' FVAL = wa-BANKA.
O_BDC->BDC_FIELD EXPORTING FNAM = 'BDC_OKCODE' FVAL = '=UPDA'.

= 'SAPMF02B' DYNPRO = '100'.


EXPORTING FNAM = 'BNKA-BANKS' FVAL = wa-BANKS.
EXPORTING FNAM = 'BNKA-BANKL' FVAL = wa-BANKL.
EXPORTING FNAM = 'BDC_OKCODE' FVAL = '/00'.

CALL METHOD O_BDC->EXPORT_BDCDATA


IMPORTING
ITAB
= it_bdcdata
.
CALL TRANSACTION 'FI01' USING IT_BDCDATA.
endloop.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_GCL_BDC_CUSTOMER
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT

ZMAMATA_GCL_BDC_CUSTOMER.

TYPES : BEGIN OF TY_KNA1,


KUNNR TYPE KUNNR,
LAND1 TYPE LAND1,
NAME1 TYPE NAME1,
ORT01 TYPE ORT01,
SORTL TYPE SORTL,
END OF TY_KNA1.
data : itab type table of TY_KNA1,
wa
type ty_KNA1,
it_bdcdata type table of bdcdata.
DATA O_BDC TYPE REF TO ZMAMATA_GCL_BDC_CUSTOMER.
START-OF-SELECTION.
CREATE OBJECT O_BDC.
CALL METHOD O_BDC->UPLOAD_FILE
EXPORTING
FILE_NAME = 'C:\MAMATA\KNA1.TXT'
SEP
= 'X'
IMPORTING
ITAB
= ITAB
.

loop at itab into wa.


CALL METHOD
>BDC_DYNPRO
CALL METHOD
CALL METHOD

O_BDCEXPORTING PROGRAM = 'ZMAMATA_SCREENS_BDC' DYNPRO = '2000'.


O_BDC->BDC_FIELD EXPORTING FNAM = 'KNA1-KUNNR' FVAL = wa-KUNNR.
O_BDC->BDC_FIELD EXPORTING FNAM = 'BDC_OKCODE' FVAL = '/00'.

CALL METHOD
>BDC_DYNPRO
CALL METHOD
CALL METHOD
CALL METHOD
CALL METHOD
CALL METHOD

O_BDCEXPORTING PROGRAM
O_BDC->BDC_FIELD
O_BDC->BDC_FIELD
O_BDC->BDC_FIELD
O_BDC->BDC_FIELD
O_BDC->BDC_FIELD

= 'ZMAMATA_SCREENS_BDC' DYNPRO = '2100'.


EXPORTING FNAM = 'KNA1-LAND1' FVAL = wa-LAND1.
EXPORTING FNAM = 'KNA1-NAME1' FVAL = wa-NAME1.
EXPORTING FNAM = 'KNA1-ORT01' FVAL = wa-ORT01.
EXPORTING FNAM = 'KNA1-SORTL' FVAL = wa-SORTL.
EXPORTING FNAM = 'KNA1_OKCODE' FVAL = '=UPDA'.

CALL METHOD O_BDC->EXPORT_BDCDATA


IMPORTING
ITAB
= it_bdcdata
.

CALL TRANSACTION 'ZMVS' USING IT_BDCDATA.


endloop.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_GCL_BDC_SUPER_SUB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_GCL_BDC_SUPER_SUB.
DATA : OBSUPER TYPE REF TO ZMAMATA_SUPER_GCL ,
OBSUB
TYPE REF TO ZMAMATA_SUB_GCL.
START-OF-SELECTION.
CREATE OBJECT : OBSUPER,OBSUB.
CALL METHOD OBSUB->GET_DATA EXPORTING LAN_TPE = 'IN'.
CALL METHOD OBSUB->DISP_DATA.
CALL METHOD OBSUB->SAVE_FILE.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_GCL_CONSTRUCTORS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_GCL_CONSTRUCTORS.

DATA O1 TYPE REF TO ZMAMATA_SUB_CONSTRUCTOR.


CREATE OBJECT O1.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_GCL_EVENTS_HANDLING
*&
*&---------------------------------------------------------------------*

*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_GCL_EVENTS_HANDLING NO STANDARD PAGE HEADING LINECOUNT 20(1).
*******DEFINE EVENT HANDLER CLASS********
CLASS LCL_HANDLER DEFINITION.
PUBLIC SECTION.
METHODS : HANDLE_HALF_OF_PAGE FOR EVENT HALF_OF_PAGE OF ZMAMATA_GCL_EVENTS.
ENDCLASS.
********IMPLEMENT EVENT HANDLE CLASS******
CLASS LCL_HANDLER IMPLEMENTATION.
METHOD HANDLE_HALF_OF_PAGE.
WRITE : / '***********HALF OF PAGE***********'.
ENDMETHOD.
ENDCLASS.
DATA : O_VENDOR TYPE REF TO ZMAMATA_GCL_EVENTS,
O_HANDLER TYPE REF TO LCL_HANDLER.
START-OF-SELECTION.
CREATE OBJECT : O_VENDOR EXPORTING LAN_TPE = 'IN',
O_HANDLER.
********* REGISTRATION***********
SET HANDLER O_HANDLER->HANDLE_HALF_OF_PAGE FOR O_VENDOR.
CALL METHOD O_VENDOR->DISPLAY.
TOP-OF-PAGE.
WRITE : / 'VENDOR_NUM' COLOR 2, 'COUNTRY' COLOR 3.
END-OF-PAGE.
WRITE : / '***********MAMATA*****************' COLOR 4.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_HIRARCHY_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZMAMATA_HIRARCHY_ALV.
TYPE-POOLS SLIS.

DATA : IT_VBAK TYPE TABLE OF VBAK,


IT_VBAP TYPE TABLE OF VBAP,
V_VBELN TYPE VBELN,
IS_KEYINFO TYPE SLIS_KEYINFO_ALV .
SELECT-OPTIONS S_VBELN FOR V_VBELN.
START-OF-SELECTION.
SELECT * FROM VBAK INTO TABLE IT_VBAK WHERE VBELN IN S_VBELN.
SELECT * FROM VBAP INTO TABLE IT_VBAP WHERE VBELN IN S_VBELN.
END-OF-SELECTION.
IS_KEYINFO-HEADER01 ='VBELN'.
IS_KEYINFO-ITEM01 ='VBELN'.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
I_CALLBACK_PROGRAM
=
*
I_CALLBACK_PF_STATUS_SET
= ' '
*
I_CALLBACK_USER_COMMAND
= ' '
*
IS_LAYOUT
=
*
IT_FIELDCAT
=
*
IT_EXCLUDING
=
*
IT_SPECIAL_GROUPS
=
*
IT_SORT
=
*
IT_FILTER
=
*
IS_SEL_HIDE
=
*
I_SCREEN_START_COLUMN
= 0
*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
*
I_DEFAULT
= 'X'
*
I_SAVE
= ' '
*
IS_VARIANT
=
*
IT_EVENTS
=
*
IT_EVENT_EXIT
=
I_TABNAME_HEADER
= 'IT_VBAK'
I_TABNAME_ITEM
= 'IT_VBAP'
I_STRUCTURE_NAME_HEADER
=
'VBAK'
I_STRUCTURE_NAME_ITEM
=
'VBAP'
IS_KEYINFO
= IS_KEYINFO
*
IS_PRINT
=
*
IS_REPREP_ID
=
*
I_BYPASSING_BUFFER
=

*
I_BUFFER_ACTIVE
=
*
IR_SALV_HIERSEQ_ADAPTER
=
*
IT_EXCEPT_QINFO
=
*
I_SUPPRESS_EMPTY_DATA
= ABAP_FALSE
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB_HEADER
= IT_VBAK
T_OUTTAB_ITEM
= IT_VBAP
* EXCEPTIONS
*
PROGRAM_ERROR
= 1
*
OTHERS
= 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_INHERITANCE_TYPES
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_INHERITANCE_TYPES.

CLASS A DEFINITION.
PUBLIC SECTION.
METHODS M1.
ENDCLASS.
CLASS B DEFINITION INHERITING FROM A.
PUBLIC SECTION.
METHODS M2.
ENDCLASS.
CLASS A IMPLEMENTATION.
METHOD M1.
WRITE : / 'I AM METHOD M1()'.
ENDMETHOD.
ENDCLASS.
CLASS B IMPLEMENTATION.

METHOD M2.
WRITE : / 'I AM METHOD M2()'.
ENDMETHOD.
ENDCLASS.
CLASS CC DEFINITION INHERITING FROM B.
PUBLIC SECTION.
METHODS M3.
ENDCLASS.
CLASS CC IMPLEMENTATION.
METHOD M3.
WRITE : / ' I AM METHOD M3'.
ENDMETHOD.
ENDCLASS.
DATA : O TYPE REF TO CC.
START-OF-SELECTION.
CREATE OBJECT O.
CALL METHOD O->M1.
CALL METHOD O->M2.
CALL METHOD O->M3.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_INSERT_RECORDS_DB
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_INSERT_RECORDS_DB.

PARAMETERs: KUNNR
NAME1
ORT01
STRAS
LAND1
SPRAS

TYPE
TYPE
TYPE
TYPE
TYPE
TYPE

KUNNR,
NAME1,
ORT01,
STRAS,
LAND1,
SPRAS.

DATA : WA_ZCUST TYPE ZCUSTOMERS_9AM,


IT_ZCUST TYPE TABLE OF ZCUSTOMERS_9AM.
WA_ZCUST-KUNNR = KUNNR.
WA_ZCUST-NAME1 = NAME1.
WA_ZCUST-ORT01 = ORT01.

WA_ZCUST-STRAS = STRAS.
WA_ZCUST-LAND1 = LAND1.
WA_ZCUST-SPRAS = SPRAS.
APPEND WA_ZCUST TO IT_ZCUST.
INSERT ZCUSTOMERS_9AM FROM TABLE IT_ZCUST ACCEPTING DUPLICATE KEYS.
IF SY-SUBRC = 0.
MESSAGE 'RECORDS ARE SUCCESSFULLY INSERTED' TYPE 'S'.
ELSE.
MESSAGE 'RECORDS ARE NOT INSERTED' TYPE 'E'.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_INTERACTIVE_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_INTERACTIVE_ALV.
TYPE-POOLS SLIS.
DATA : IT_EKPO TYPE TABLE OF EKPO,
WA_EKPO TYPE EKPO,
IT_EKKO TYPE TABLE OF EKKO,
WA_EKKO TYPE EKKO,
V_EBELN TYPE EBELN,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE LINE OF SLIS_T_EVENT.
SELECT-OPTIONS S_EBELN FOR V_EBELN .
SELECT * FROM EKPO INTO TABLE IT_EKPO WHERE EBELN IN S_EBELN.
PARAMETERS : RB_NALV RADIOBUTTON GROUP G1,
RB_ALV RADIOBUTTON GROUP G1.
IF RB_NALV = 'X'.
LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN,WA_EKPO-EBELP,WA_EKPO-AEDAT.
ENDLOOP.
ELSEIF RB_ALV = 'X'.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'TOP_OF_PAGE'.

WA_EVENTS-FORM = 'PRINT_HEADER'(001).
APPEND WA_EVENTS TO IT_EVENTS.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'USER_COMMAND'.
WA_EVENTS-FORM = 'HANDLE_USER_COMMAND'.
APPEND WA_EVENTS TO IT_EVENTS.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'PF_STATUS_SET'.
WA_EVENTS-FORM = 'GUI_STATUS'.
APPEND WA_EVENTS TO IT_EVENTS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM

= SY-CPROG

I_STRUCTURE_NAME

= 'EKPO'

IT_EVENTS
TABLES
T_OUTTAB
ENDIF.

IT_EVENTS

= IT_EKPO.

FORM PRINT_HEADER.
DATA : IT_LIST TYPE
SLIS_T_LISTHEADER,
WA_LIST TYPE LINE OF SLIS_T_LISTHEADER .
CLEAR WA_LIST.
WA_LIST-TYP = 'H'.
WA_LIST-INFO = 'PURCHASE DOCUMENT NUMBER'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP = 'S'.
WA_LIST-INFO = 'PURCHASE DOCUMENT NUMBER'.
APPEND WA_LIST TO IT_LIST.
CLEAR WA_LIST.
WA_LIST-TYP = 'A'.
WA_LIST-INFO = 'PURCHASE DOCUMENT NUMBER'.
APPEND WA_LIST TO IT_LIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING

*
*
*

IT_LIST_COMMENTARY
I_LOGO
I_END_OF_LIST_GRID
I_ALV_FORM
.

= IT_LIST
=
=
=

ENDFORM.
FORM HANDLE_USER_COMMAND USING V_UCOM TYPE SY-UCOMM
V_SEL TYPE SLIS_SELFIELD.
CASE V_UCOM.
WHEN '&IC1'.
IF V_SEL-FIELDNAME = 'EBELN'.
SELECT * INTO TABLE IT_EKKO FROM EKKO WHERE EBELN = V_SEL-VALUE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME

TABLES
T_OUTTAB

= 'EKKO'

= IT_EKKO.

ENDIF.
WHEN 'DETAIL'.
SELECT * INTO TABLE IT_EKKO FROM EKKO FOR ALL ENTRIES IN IT_EKKO WHERE EBE
LN = IT_EKKO-EBELN.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME

TABLES
T_OUTTAB

= 'EKKO'

= IT_EKKO.

ENDCASE.
ENDFORM.
FORM GUI_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'ZSTATUSES'.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATHA_INTERACTIVE_PURCHAE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_INTERACTIVE_PURCHASE NO STANDARD PAGE HEADING LINECOUNT 20(2) LINE-SIZE 150.
*PARAMETER : P_EKORG TYPE EINE-EKORG.
TYPES :

BEGIN OF TY_EINE,
EKORG TYPE EKORG, "PURCHASE ORGANIZATION.
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
WAERS TYPE WAERS, "CURRENCY KEY
END OF TY_EINE.
TYPES : BEGIN OF TY_EKKO,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
END OF TY_EKKO.
TYPES : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
BPRME TYPE BPRME, "PURCHASE ORDER
END OF TY_EKPO.

DATA : WA_EINE TYPE TY_EINE,


IT_EINE TYPE TABLE OF TY_EINE,
WA_EKKO TYPE TY_EKKO,
IT_EKKO TYPE TABLE OF TY_EKKO,
WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE TABLE OF TY_EKPO,
V_EKORG TYPE EINE-EKORG,
WA_EKORG TYPE EKORG,
V_REM
TYPE I,
V_BOX(5) TYPE C.
SELECT-OPTIONS S_EKORG FOR V_EKORG DEFAULT 1 TO 4000.
**************** TOP-OF-PAGE**************
TOP-OF-PAGE.
WRITE : / 'PURCHASE ORGANIZATION' COLOR 1, 30 'PURCHASE DOCUMENT NUMBER'
COLOR 2, 60 'CURRENCY' COLOR 3, SY-PAGNO COLOR 4.

********** START-OF-SELECTION*******
START-OF-SELECTION. "IF YOU WANT USE THE TOP-OFPAGE IN THE ABOVE SELECT STATEMENT THEN YOU MUST USE START-OF-SELECTION.
SELECT EKORG INFNR WAERS INTO TABLE IT_EINE FROM EINE WHERE EKORG IN S_EKORG
.
IF IT_EINE IS NOT INITIAL.
SET PF-STATUS 'GETSTATUS'.
SORT IT_EINE BY EKORG.
PERFORM DISP.
ELSE.
MESSAGE 'NO DATA' TYPE 'S'.
ENDIF.
************* AT LINE-SELECTION*********
"AT LINE-SELECTION.
***************** AT USER COMMAND ***********
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELL'.
V_BOX = 'X'.
PERFORM DISP.

*
*
*
*

SELECT EBELN BUKRS INTO TABLE IT_EKKO FROM EKKO.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-EBELN COLOR 1, 30 WA_EKKO-BUKRS COLOR 2.
ENDLOOP.
"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER
WRITE STATEMENT OR BELOW TWO LINES
* V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
* SKIP V_REM.
WHEN 'DESELL'.
V_BOX = ' '.
PERFORM DISP.
*
SELECT EBELN BUKRS BPRME INTO TABLE IT_EKPO FROM EKPO.
*
"WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2, 'PU
RCHASE ORDERS' COLOR 3.
* LOOP AT IT_EKPO INTO WA_EKPO.
*
*
WRITE : / WA_EKPO-EBELN COLOR 1, 30 WA_EKPO-BUKRS COLOR 2, 40 WA_EKPOBPRME COLOR 3.
* ENDLOOP.

"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7.


* V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
* SKIP V_REM.
"WHEN 'DOWNLOAD'.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME

= 'C:\EMAX\MAMATHA\EINE.TXT'

WRITE_FIELD_SEPARATOR
= 'T'
TABLES
DATA_TAB
= IT_EINE
.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ENDIF.

ENDCASE.
***************** TOP-OF-PAGE**************
* TOP-OF-PAGE.
*
WRITE : / 'PURCHASE ORGANIZATION' COLOR 1, 30 'PURCHASE DOCUMENT NUMBER'
COLOR 2, 60 'CURRENCY' COLOR 3, SY-PAGNO COLOR 4.
************** END-OF-PAGE****************
END-OF-PAGE.
WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7.
ULINE.
*
*****************TOP-OF-PAGE DURING LINE SELECTION**************
*
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2.
WHEN 2.
WRITE : / 'PURCHASE DOCUMENT NUMBER' COLOR 1, 'COMPANYCODE' COLOR 2, '
PURCHASE ORDERS' COLOR 3.
ENDCASE.
************* INITIALIZATION ***********
INITIALIZATION.

S_EKORG-LOW = 5000. "111."5000.


S_EKORG-HIGH = 6000. "115."6000.
S_EKORG-SIGN = 'I'.
S_EKORG-OPTION = 'BT'.
APPEND S_EKORG TO S_EKORG[].

*********

AT SELECTION-SCREEN

AT SELECTION-SCREEN.
SELECT EKORG INTO V_EKORG

ENDSELECT.

*************

FROM EINE UP TO 1 ROWS


WHERE EKORG IN S_EKORG.

"When the Result is Not Collected Into TABLE ITAB at Once

IF SY-SUBRC <> 0. "No Record Found


MESSAGE 'Invalid Input' TYPE 'E'.
ENDIF.
FORM DISP.
LOOP AT IT_EINE INTO WA_EINE.
WRITE : / V_BOX AS CHECKBOX , WA_EINE-EKORG COLOR 1, 30 WA_EINEEBELN COLOR 2, 60 WA_EINE-WAERS COLOR 3.
ENDLOOP.
"WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER WRIT
E STATEMENT OR BELOW TWO LINES
V_REM = SY-LINCT - SYLINNO. "FOR PRINTING FOOTER FOR THE LAST PAGE ALSO , BY DEFAULT NOT COMING.
SKIP V_REM.
ENDFORM.

*
*SELECT EKORG EBELN WAERS INTO
WA_EKORG FROM EINE UP TO 1 ROWS
*
WHERE EKORG IN S_EKORG. "HERE WE
ARE USING WORK AREA.
*
* APPEND WA_EKORG TO S_EKORG[].
*ENDSELECT. "When the Result is Not Collected Into TABLE ITAB at Once
*SELECT EKORG
*
*
*
* "ENDSELECT.

EBELN WAERS INTO

TABLE S_EKORG[] FROM EINE UP TO 10 ROWS


WHERE EKORG IN S_EKORG.

"TABLE S_EKORG[]
" HERE NO NEED OF ENDSELECT BECAUSE WE ARE COLLECTING DATA TO

INTERNAL TABLE.
" IF WE WRITE THE END SELECT IT SHOWS ERROR BECAUSE WE ARE COL
LECTING DATA IN ITAB

*&---------------------------------------------------------------------*
*& Report ZMAMATA_INTERACTIVE_REPORTS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_INTERACTIVE_REPORTS
LINECOUNT 20(1) NO STANDARD PAGE HEADING. "LINE-SIZE 200.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LIFNR, "VENDOR NO.
LAND1 TYPE LAND1_GP,
NAME1 TYPE NAME1_GP,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
END OF TY_EKKO.

DATA : WA_LFA1
IT_LFA1
WA_EKKO
IT_EKKO
V_LIFNR

TYPE TY_LFA1,
TYPE TABLE OF TY_LFA1,
TYPE TY_EKKO,
TYPE TABLE OF TY_EKKO,
TYPE LIFNR.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.


SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 5000.
SELECTION-SCREEN

END OF BLOCK B1.

SELECT LIFNR LAND1 NAME1 INTO TABLE IT_LFA1 FROM LFA1 WHERE
R .
IF IT_LFA1 IS NOT INITIAL.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 1, 12 WA_LFA1LAND1 COLOR 3, 20 WA_LFA1-NAME1 COLOR 4.

LIFNR IN S_LIFN

ENDLOOP.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
AT LINE-SELECTION.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= SY-LISEL+0(4)
IMPORTING
OUTPUT
= SY-LISEL+0(4)
.

SELECT LIFNR EBELN BUKRS INTO TABLE IT_EKKO FROM EKKO WHERE LIFNR = SYLISEL+0(4).
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 1, 12 WA_EKKO-EBELN COLOR 3, 20 WA_EKKOBUKRS COLOR 4.
ENDLOOP.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR'.
ENDIF.

TOP-OF-PAGE.
WRITE : / 'VENDOR NO' COLOR 1, 12 'COUNTRY' COLOR 3,20 'NAME1' COLOR 4,SYPAGNO COLOR 7.
END-OF-PAGE.
WRITE : / 'INTERACTIVE REPORTS' COLOR 5.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_INTERFACE_IMPL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_INTERFACE_IMPL.
INTERFACE LIM_DATA.
METHODS : CREATE,
CHANGE,
DISPLAY.

ENDINTERFACE.
CLASS LCL_MAT DEFINITION.
PUBLIC SECTION.
INTERFACES LIM_DATA.
ALIASES : CREATE FOR LIM_DATA~CREATE,
CHANGE FOR LIM_DATA~CHANGE,
DISPLAY FOR LIM_DATA~DISPLAY.
ENDCLASS.

CLASS LCL_BANK DEFINITION.


PUBLIC SECTION.
INTERFACES LIM_DATA.
ALIASES : CREATE FOR LIM_DATA~CREATE,
CHANGE FOR LIM_DATA~CHANGE,
DISPLAY FOR LIM_DATA~DISPLAY.
ENDCLASS.
CLASS LCL_MAT IMPLEMENTATION.
METHOD CREATE.
CALL TRANSACTION 'MM01'.
ENDMETHOD.
METHOD CHANGE.
CALL TRANSACTION 'MM02'.
ENDMETHOD.
METHOD DISPLAY.
CALL TRANSACTION 'MM03'.
ENDMETHOD.
ENDCLASS.

CLASS LCL_BANK IMPLEMENTATION.


METHOD CREATE.
CALL TRANSACTION 'FI01'.
ENDMETHOD.
METHOD CHANGE.
CALL TRANSACTION 'FI02'.
ENDMETHOD.
METHOD DISPLAY.
CALL TRANSACTION 'FI03'.
ENDMETHOD.
ENDCLASS.
DATA : OBJ1 TYPE REF TO LCL_MAT.
DATA : OBJ2 TYPE REF TO LCL_BANK.
START-OF-SELECTION.
CREATE OBJECT : OBJ1, OBJ2.

CALL
CALL
CALL
CALL

METHOD
METHOD
METHOD
METHOD

OBJ1->CREATE.
OBJ1->DISPLAY.
OBJ2->CREATE.
OBJ1->DISPLAY.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_LCL_ABSTRACT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_LCL_ABSTRACT.

CLASS LCL_LFA1 DEFINITION ABSTRACT.


PUBLIC SECTION.
METHODS : GET,
DISP ABSTRACT.
PROTECTED SECTION.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LFA1-LIFNR,
NAME1 TYPE LFA1-NAME1,
LAND1 TYPE LFA1-LAND1,
ORT01 TYPE LFA1-ORT01,
END OF TY_LFA1.
DATA : IT_LFA1 TYPE TABLE OF TY_LFA1,
WA_LFA1 TYPE TY_LFA1.
ENDCLASS.
CLASS LCL_LFA1 IMPLEMENTATION.
METHOD GET.
SELECT LIFNR NAME1 LAND1 FROM LFA1 INTO TABLE IT_LFA1.
ENDMETHOD.
ENDCLASS.
CLASS LCL_VENDOR DEFINITION INHERITING FROM LCL_LFA1.
PUBLIC SECTION.
METHODS DISP REDEFINITION.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.

CLASS LCL_VENDOR IMPLEMENTATION.


METHOD DISP.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR, WA_LFA1-NAME1,WA_LFA1-LAND1.
ENDLOOP.
ENDMETHOD.
ENDCLASS.
DATA : OBJ TYPE REF TO LCL_VENDOR.
START-OF-SELECTION.
CREATE OBJECT OBJ.
CALL METHOD OBJ->GET.
CALL METHOD OBJ->DISP.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_LCL_BDC
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_LCL_BDC.

CLASS LCL_FILE DEFINITION.


PUBLIC SECTION.
METHODS : UPLOAD IMPORTING IM_FNM TYPE STRING
IM_SEP TYPE C
CHANGING IT_DATA TYPE STANDARD TABLE,
DISP.
PROTECTED SECTION.
PRIVATE SECTION.
TYPES : BEGIN OF TY_FILE,
RNO(20) TYPE C,
NAME TYPE STRING,
ADDR TYPE STRING,
CITY
TYPE STRING,
CTRY
TYPE STRING,
END OF
TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE TY_FILE.
ENDCLASS.
CLASS LCL_FILE

IMPLEMENTATION.

METHOD UPLOAD.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= IM_FNM
=

IM_SEP

= IT_FILE

*
.
IF SY-SUBRC = 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMETHOD.
METHOD DISP.
LOOP AT IT_FILE INTO WA_FILE.
WRITE : / WA_FILE-RNO,WA_FILE-NAME,WA_FILE-ADDR,WA_FILE-CITY,WA_FILECTRY.
ENDLOOP.
ENDMETHOD.
ENDCLASS.
DATA : OBJ TYPE REF TO LCL_FILE.
START-OF-SELECTION.
CREATE OBJECT OBJ.
CALL METHOD OBJ->UPLOAD EXPORTING IM_FNM = 'C:\MAMATA\FILE.TXT'
IM_SEP = 'T'
CHANGING IT_FILE = IT_DATA.
CALL METHOD OBJ->DISP.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_LCL_EVENTS_HANDLING
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_LCL_EVENTS_HANDLING LINECOUNT 20(2) NO STANDARD PAGE HEADING.

CLASS LCL_VENDOR DEFINITION.


PUBLIC SECTION.
EVENTS : HALF_OF_PAGE.
METHODS : CONSTRUCTOR IMPORTING LAN_TPE TYPE LAND1,
DISPLAY.
PRIVATE SECTION.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
END OF TY_LFA1.
DATA : IT_LFA1 TYPE TABLE OF TY_LFA1,
WA_LFA1 TYPE TY_LFA1,
V_MID TYPE I,
V_COUNT TYPE I.

ENDCLASS.
*******DEFINE EVENT HANDLER CLASS********
CLASS LCL_HANDLER DEFINITION.
PUBLIC SECTION.
METHODS : HANDLE_HALF_OF_PAGE FOR EVENT HALF_OF_PAGE OF LCL_VENDOR.
ENDCLASS.

CLASS LCL_VENDOR IMPLEMENTATION.


METHOD CONSTRUCTOR.
SELECT LIFNR LAND1 FROM LFA1 INTO TABLE IT_LFA1 WHERE LAND1 = LAN_TPE.
ENDMETHOD.
METHOD DISPLAY.
V_MID = SY-LINCT / 2.
IF IT_LFA1 IS NOT INITIAL.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR,WA_LFA1-LAND1.
IF SY-LINNO = V_MID.
RAISE EVENT HALF_OF_PAGE.
V_COUNT = V_COUNT + 1.
ENDIF.
ENDLOOP.
WRITE : / V_COUNT COLOR 4.
ELSE.
WRITE : 'NO DATA'.
ENDIF.
ENDMETHOD.
ENDCLASS.
********IMPLEMENT EVENT HANDLE CLASS******
CLASS LCL_HANDLER IMPLEMENTATION.

METHOD HANDLE_HALF_OF_PAGE.
WRITE : / '***********HALF OF PAGE***********'.
ENDMETHOD.
ENDCLASS.
DATA : O_VENDOR TYPE REF TO LCL_VENDOR,
O_HANDLER TYPE REF TO LCL_HANDLER.
START-OF-SELECTION.
CREATE OBJECT: O_VENDOR EXPORTING LAN_TPE = 'IN',
O_HANDLER.
********* REGISTRATION***********
SET HANDLER O_HANDLER->HANDLE_HALF_OF_PAGE FOR O_VENDOR.

CALL METHOD O_VENDOR->DISPLAY.


TOP-OF-PAGE.
WRITE : / 'VENDOR_NO' COLOR 2,'COUNTRY' COLOR 3.
END-OF-PAGE.
WRITE : / '****************MAMATA*************' COLOR 4.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_LCL_FRIENDCLASS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_LCL_FRIENDCLASS.

CLASS LCL_VENDOR DEFINITION.


PUBLIC SECTION.
METHODS : DOWNLOAD.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.

CLASS LCL_LFA1 DEFINITION FRIENDS LCL_VENDOR.


PUBLIC SECTION.
METHODS : GET,
DISP.
PROTECTED SECTION.
PRIVATE SECTION.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LFA1-LIFNR,
NAME1 TYPE LFA1-NAME1,
LAND1 TYPE LFA1-LAND1,
ORT01 TYPE LFA1-ORT01,
END OF TY_LFA1.
DATA : IT_LFA1 TYPE TABLE OF TY_LFA1,
WA_LFA1 TYPE TY_LFA1.
ENDCLASS.
CLASS LCL_LFA1 IMPLEMENTATION.
METHOD GET.
SELECT LIFNR NAME1 LAND1 FROM LFA1 INTO TABLE IT_LFA1.
ENDMETHOD.
METHOD DISP.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR, WA_LFA1-NAME1,WA_LFA1-LAND1.
ENDLOOP.
ENDMETHOD.
ENDCLASS.
CLASS LCL_VENDOR IMPLEMENTATION.
METHOD DOWNLOAD.
DATA : OBJ TYPE REF TO LCL_LFA1.
CREATE OBJECT OBJ.
CALL METHOD OBJ->GET.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME
WRITE_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'C:\MAMATA\LFA1.TXT'
= 'T'
= OBJ->IT_LFA1

.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ELSE.

MESSAGE 'NOT
ENDIF.
ENDMETHOD.
ENDCLASS.

DOWNLOADED' TYPE 'E'

DATA OBJ2 TYPE REF TO LCL_VENDOR.


START-OF-SELECTION.
CREATE OBJECT OBJ2.
CALL METHOD OBJ2->DOWNLOAD.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_LCL_INTERFACE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_LCL_INTERFACE.

INTERFACE LCL_INTRF.
METHODS : CREATE,
CHANGE,
DISPLAY.
ENDINTERFACE.
CLASS LCL_VENDOR DEFINITION.
PUBLIC SECTION.
INTERFACES
LCL_INTRF.
ALIASES : CREATE FOR LCL_INTRF~CREATE,
CHANGE FOR LCL_INTRF~CHANGE,
DISPLAY FOR LCL_INTRF~DISPLAY.
ENDCLASS.
CLASS LCL_VENDOR IMPLEMENTATION.
METHOD CREATE.
CALL TRANSACTION 'FI01'.
ENDMETHOD.
METHOD CHANGE.
CALL TRANSACTION 'FI02'.
ENDMETHOD.
METHOD DISPLAY.
CALL TRANSACTION 'FI03'.
ENDMETHOD.
ENDCLASS.

DATA : OBJ TYPE REF TO LCL_VENDOR.


START-OF-SELECTION.
CREATE OBJECT OBJ.
CALL METHOD OBJ->CREATE.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_LCL_LFA1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_LCL_LFA1.

CLASS LCL_LFA1 DEFINITION.


PUBLIC SECTION.
METHODS : GET_DATA IMPORTING LIF_VAL TYPE LIFNR,
DISP_DATA.
PROTECTED SECTION.
PRIVATE SECTION.
TYPES: BEGIN OF TY_LFA1,
LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
ORT01 TYPE LFA1-ORT01,
END OF TY_LFA1.
DATA : IT_LFA1 TYPE TABLE OF TY_LFA1,
WA_LFA1 TYPE TY_LFA1,
LIF_VAL TYPE LIFNR.
ENDCLASS.
CLASS LCL_LFA1 IMPLEMENTATION.
METHOD GET_DATA.
SELECT LIFNR LAND1 NAME1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR
= LIF_VAL.
ENDMETHOD.
METHOD DISP_DATA.
IF IT_LFA1 IS INITIAL.
MESSAGE 'NO DATA' TYPE 'S'.
ELSE.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR , WA_LFA1-LAND1 , WA_LFA1-NAME1 ,
WA_LFA1-ORT01.
ENDLOOP.
ENDIF.

*
*
*

ELSE.
WRITE : / 'NO DATA IN THE LFA1 TABLE'.
ENDIF.
ENDMETHOD.

ENDCLASS.
DATA : OBJ1 TYPE REF TO LCL_LFA1.

START-OF-SELECTION.
CREATE OBJECT OBJ1.
CALL METHOD OBJ1->GET_DATA EXPORTING LIF_VAL = '2000'.
CALL METHOD OBJ1->DISP_DATA.
*&---------------------------------------------------------------------*
*& Report ZMAMATA_LCL_MARA
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_LCL_MARA.
CLASS LCL_MARA DEFINITION.
PUBLIC SECTION.
METHODS : GET_DATA IMPORTING MAT_TPE TYPE MTART,
DISP_DATA.
PROTECTED SECTION.
PRIVATE SECTION.
TYPES : BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART, "MATERIAL TYPE
MATKL TYPE MARA-MATKL,
END OF TY_MARA.
DATA : IT_MARA TYPE TABLE OF TY_MARA,
WA_MARA TYPE TY_MARA.
ENDCLASS.
CLASS LCL_MARA IMPLEMENTATION.
METHOD GET_DATA.
SELECT MATNR MTART MATKL FROM MARA INTO TABLE IT_MARA WHERE MTART = MAT_T
PE.
ENDMETHOD.
METHOD DISP_DATA.
IF IT_MARA IS NOT INITIAL.

LOOP AT ME->IT_MARA INTO ME->WA_MARA.


WRITE : / WA_MARA-MATNR,WA_MARA-MTART,WA_MARA-MATKL.
ENDLOOP.
ELSE.
WRITE : / 'NO DATA IN THE TABLE'.
ENDIF.
ENDMETHOD.
ENDCLASS.

DATA : OBJ1 TYPE REF TO LCL_MARA,


OBJ2 TYPE REF TO LCL_MARA.
START-OF-SELECTION.
CREATE OBJECT : OBJ1,OBJ2.
CALL METHOD OBJ1->GET_DATA EXPORTING MAT_TPE = 'ROH'.
CALL METHOD OBJ1->DISP_DATA.
CALL METHOD OBJ2->GET_DATA EXPORTING MAT_TPE = 'FERT'.
CALL METHOD OBJ2->DISP_DATA.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_LCL_MARA
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_LCL_SUBCLASS_MARA.
PARAMETERS P_MAT TYPE MTART.
CLASS LCL_MARA DEFINITION.
PUBLIC SECTION.
METHODS : GET_DATA IMPORTING MAT_TPE TYPE MTART,
DISP_DATA.
PROTECTED SECTION.
PRIVATE SECTION.
TYPES : BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART, "MATERIAL TYPE
MATKL TYPE MARA-MATKL,
END OF TY_MARA.
DATA : IT_MARA TYPE TABLE OF TY_MARA,
WA_MARA TYPE TY_MARA.
ENDCLASS.
CLASS LCL_MARA IMPLEMENTATION.
METHOD GET_DATA.

SELECT MATNR MTART MATKL FROM MARA INTO TABLE IT_MARA WHERE MTART = MAT_T
PE.
ENDMETHOD.
METHOD DISP_DATA.
IF IT_MARA IS NOT INITIAL.
LOOP AT ME->IT_MARA INTO ME->WA_MARA.
WRITE : / WA_MARA-MATNR,WA_MARA-MTART,WA_MARA-MATKL.
ENDLOOP.
ELSE.
WRITE : / 'NO DATA IN THE TABLE'.
ENDIF.
ENDMETHOD.
ENDCLASS.

DATA : OBJ1 TYPE REF TO LCL_MARA,


OBJ2 TYPE REF TO LCL_MARA.
START-OF-SELECTION.
CREATE OBJECT : OBJ1,OBJ2.
CALL METHOD OBJ1->GET_DATA EXPORTING MAT_TPE = P_MAT. "'ROH'.
CALL METHOD OBJ1->DISP_DATA.
CALL METHOD OBJ2->GET_DATA EXPORTING MAT_TPE = P_MAT."'FERT'.
CALL METHOD OBJ2->DISP_DATA.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_LOCKOBJECTS_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_LOCKOBJECTS_UI.

TABLES ZMAMATHA_9AM.
*&---------------------------------------------------------------------*
*&
Module STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2000 OUTPUT.

SET PF-STATUS 'ZSTATUS1'.


ENDMODULE.
" STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2000 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
DATA LV_KUNNR TYPE KUNNR.
SELECT SINGLE KUNNR INTO LV_KUNNR FROM ZMAMATHA_9AM WHERE
KUNNR = ZMAMATHA_9AM-KUNNR.
IF SY-SUBRC <> 0.
MESSAGE 'Customer Doesn'' Exist' type 'S'.
ELSE.
SELECT SINGLE * INTO ZMAMATHA_9AM FROM ZMAMATHA_9AM WHERE KUNNR = ZMAMATHA
_9AM-KUNNR.
CALL FUNCTION 'ENQUEUE_EZMAMA'
EXPORTING
*
MODE_ZMAMATHA_9AM
= 'E'
*
MANDT
= SY-MANDT
KUNNR
= ZMAMATHA_9AM-KUNNR
*
X_KUNNR
= ' '
*
_SCOPE
= '2'
*
_WAIT
= ' '
*
_COLLECT
= ' '
* EXCEPTIONS
*
FOREIGN_LOCK
= 1
*
SYSTEM_FAILURE
= 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.
CALL SCREEN 2100.
ENDIF.
ENDMODULE.
" USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2100 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2100 INPUT.

*
*
*
*
*
*
*
*

case sy-ucomm .
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
UPDATE ZMAMATHA_9AM FROM ZMAMATHA_9AM.
MESSAGE 'Changes have been Done Successfully' TYPE 'S'.
CALL FUNCTION 'DEQUEUE_EZMAMA'
EXPORTING
MODE_ZMAMATHA_9AM
= 'E'
MANDT
= SY-MANDT
KUNNR
=
X_KUNNR
= ' '
_SCOPE
= '3'
_SYNCHRON
= ' '
_COLLECT
= ' '
.

"CALL SCREEN 2000.


ENDCASE.
ENDMODULE.
" USER_COMMAND_2100 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_2100 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2100 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
* SET TITLEBAR 'xxx'.
ENDMODULE.

" STATUS_2100

OUTPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_MANUAL_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_MANUAL_ALV NO STANDARD PAGE HEADING LINE-COUNT 1000.
TYPE-POOLS SLIS.

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
ORT01 TYPE LFA1-ORT01,
ROW_CLR(5) TYPE C,
END OF TY_LFA1.
DATA : IT_LFA1 TYPE
WA_LFA1 TYPE
IT_FIELDCAT
WA_FIELDCAT
IS_LAYOUT

TABLE OF TY_LFA1,
TY_LFA1,
TYPE SLIS_T_FIELDCAT_ALV,
TYPE LINE OF SLIS_T_FIELDCAT_ALV,
TYPE SLIS_LAYOUT_ALV.

PARAMETERS : RB_ALV
RADIOBUTTON GROUP G1,
RB_NALV
RADIOBUTTON GROUP G1.
SELECT LIFNR LAND1 NAME1 ORT01 FROM LFA1 INTO TABLE IT_LFA1 UP TO 20 ROWS.

IF RB_NALV = 'X'.
WRITE : / 'VENDOR NO' COLOR 1, 15 'COUNTRY' COLOR 2,30 'NAME' COLOR 3, 80 'C
ITY' COLOR 4.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 1,15 WA_LFA1-LAND1 COLOR 2,30 WA_LFA1NAME1 COLOR 3,WA_LFA1-ORT01 COLOR 4.
ENDLOOP.
ELSE.
PERFORM FIELDCAT_DETAILS.
CLEAR WA_LFA1.
WA_LFA1-ROW_CLR = 'C610'.
MODIFY IT_LFA1 FROM WA_LFA1 TRANSPORTING ROW_CLR
WHERE LIFNR = '0000000023'
OR
LIFNR = '0000000025'.

IS_LAYOUT-INFO_FIELDNAME = 'ROW_CLR'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_STRUCTURE_NAME
= 'LFA1'
IS_LAYOUT
= IS_LAYOUT
TABLES
T_OUTTAB
= IT_LFA1.

ENDIF.
FORM FIELDCAT_DETAILS.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LIFNR'.
WA_FIELDCAT-COL_POS = '1'.
WA_FIELDCAT-SELTEXT_M = 'VENDOR NO'.
WA_FIELDCAT-KEY = 'X'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LAND1'.
WA_FIELDCAT-COL_POS = '2'.
WA_FIELDCAT-SELTEXT_M = 'COUNTRY'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'NAME1'.
WA_FIELDCAT-COL_POS = '3'.
WA_FIELDCAT-SELTEXT_M = 'NAME'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'ORT01'.
WA_FIELDCAT-COL_POS = '4'.
WA_FIELDCAT-SELTEXT_M = 'CITY'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_MANUAL_ALVS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_MANUAL_ALVS.
TYPE-POOLS SLIS.

TYPES : BEGIN OF TY_BNKA,


BANKS TYPE BNKA-BANKS,

BANKL TYPE BNKA-BANKL,


BANKA TYPE BNKA-BANKA,
END OF TY_BNKA.
DATA : IT_BNKA TYPE TABLE OF TY_BNKA,
WA_BNKA TYPE TY_BNKA,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV.
SELECT BANKS BANKL BANKA FROM BNKA INTO TABLE IT_BNKA UP TO 20 ROWS.

PERFORM FIELDCAT_DETIALS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
IT_FIELDCAT
= IT_FIELDCAT
TABLES
T_OUTTAB
= IT_BNKA.

FORM FIELDCAT_DETIALS.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKS'.
WA_FIELDCAT-COL_POS = '1'.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-SELTEXT_M = 'COUNTRY KEY'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKL'.
WA_FIELDCAT-COL_POS = '2'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-SELTEXT_M = 'COUNTRY NUMBER'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BANKA'.
WA_FIELDCAT-COL_POS = '3'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-SELTEXT_M = 'NAME OF BANK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Report ZMAMATA_NORMAL_ALV
*&
*&---------------------------------------------------------------------*

*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_NORMAL_ALV.

DATA : IT_EKKO TYPE TABLE OF EKKO.


SELECT * FROM EKKO INTO TABLE IT_EKKO.

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_INTERFACE_CHECK
=
I_BYPASSING_BUFFER
=
I_BUFFER_ACTIVE
=
I_CALLBACK_PROGRAM
=
I_CALLBACK_PF_STATUS_SET
=
I_CALLBACK_USER_COMMAND
=
I_CALLBACK_TOP_OF_PAGE
=
I_CALLBACK_HTML_TOP_OF_PAGE
=
I_CALLBACK_HTML_END_OF_LIST
=
I_STRUCTURE_NAME
=
I_BACKGROUND_ID
=
I_GRID_TITLE
=
I_GRID_SETTINGS
=
IS_LAYOUT
=
IT_FIELDCAT
=
IT_EXCLUDING
=
IT_SPECIAL_GROUPS
=
IT_SORT
=
IT_FILTER
=
IS_SEL_HIDE
=
I_DEFAULT
=
I_SAVE
=
IS_VARIANT
=
IT_EVENTS
=
IT_EVENT_EXIT
=
IS_PRINT
=
IS_REPREP_ID
=
I_SCREEN_START_COLUMN
=
I_SCREEN_START_LINE
=
I_SCREEN_END_COLUMN
=
I_SCREEN_END_LINE
=
I_HTML_HEIGHT_TOP
=
I_HTML_HEIGHT_END
=
IT_ALV_GRAPHICS
=
IT_HYPERLINK
=
IT_ADD_FIELDCAT
=

' '
' '
' '
' '
' '
' '
' '
' '
' '
'EKKO'
' '

'X'
' '

0
0
0
0
0
0

*
*
*
*
*

*
*
*

*
*

IT_EXCEPT_QINFO
=
IR_SALV_FULLSCREEN_ADAPTER
=
IMPORTING
E_EXIT_CAUSED_BY_CALLER
=
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= IT_EKKO
EXCEPTIONS
PROGRAM_ERROR
= 1
OTHERS
= 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_OBJECT_GCLINTERFACE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_OBJECT_GCLINTERFACE.

DATA : OBJ1 TYPE REF TO ZZMAMATA_GCL_MATERIAL,


OBJ2 TYPE REF TO ZZMAMATA_GCL_VENDOR,
OBJ3 TYPE REF TO ZZMAMATA_GCL_BANK.
START-OF-SELECTION.
CREATE OBJECT : OBJ1,OBJ2,OBJ3.
CALL METHOD OBJ1->CHANGE.
COMMIT WORK.
CALL METHOD OBJ2->CREATE.
COMMIT WORK.
CALL METHOD OBJ3->CREATE.
COMMIT WORK.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_OO_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_OO_ALV.

DATA : IT_EKKO TYPE TABLE OF EKKO,


O_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
O_GRID TYPE REF TO CL_GUI_ALV_GRID.
START-OF-SELECTION.
CALL SCREEN 8000.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&
Module GET_DATA OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE GET_DATA OUTPUT.
CREATE OBJECT O_CONTAINER
EXPORTING
*
PARENT
=
CONTAINER_NAME
= 'C1'
*
STYLE
=
*
LIFETIME
= LIFETIME_DEFAULT
*
REPID
=
*
DYNNR
=
*
NO_AUTODEF_PROGID_DYNNR
=
*
EXCEPTIONS
*
CNTL_ERROR
= 1
*
CNTL_SYSTEM_ERROR
= 2
*
CREATE_ERROR
= 3
*
LIFETIME_ERROR
= 4
*
LIFETIME_DYNPRO_DYNPRO_LINK = 5
*
OTHERS
= 6
.
IF SY-SUBRC <> 0.
*
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT O_GRID
EXPORTING
*
I_SHELLSTYLE
*
I_LIFETIME

= 0
=

I_PARENT
= O_CONTAINER
I_APPL_EVENTS
= SPACE
I_PARENTDBG
=
I_APPLOGPARENT
=
I_GRAPHICSPARENT =
I_NAME
=
I_FCAT_COMPLETE
= SPACE
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT
= 2
ERROR_CNTL_LINK
= 3
ERROR_DP_CREATE
= 4
OTHERS
= 5
.
IF SY-SUBRC <> 0.
*
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
*
*
*
*
*
*
*
*
*
*
*

*
*
*
*
*
*
*
*
*
*
*
*
*
*

*
*
*
*
*
*
*
*

CALL METHOD O_GRID->SET_TABLE_FOR_FIRST_DISPLAY


EXPORTING
I_BUFFER_ACTIVE
=
I_BYPASSING_BUFFER
=
I_CONSISTENCY_CHECK
=
I_STRUCTURE_NAME
= 'EKKO'
IS_VARIANT
=
I_SAVE
=
I_DEFAULT
= 'X'
IS_LAYOUT
=
IS_PRINT
=
IT_SPECIAL_GROUPS
=
IT_TOOLBAR_EXCLUDING
=
IT_HYPERLINK
=
IT_ALV_GRAPHICS
=
IT_EXCEPT_QINFO
=
IR_SALV_ADAPTER
=
CHANGING
IT_OUTTAB
= IT_EKKO
IT_FIELDCATALOG
=
IT_SORT
=
IT_FILTER
=
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR
= 2
TOO_MANY_LINES
= 3
OTHERS
= 4
.
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.
" GET_DATA OUTPUT
*&---------------------------------------------------------------------*
*&
Module DISP_DATA OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE DISP_DATA OUTPUT.
SELECT * FROM EKKO INTO TABLE IT_EKKO UP TO 30 ROWS.
ENDMODULE.

" DISP_DATA

OUTPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_OO_ALVS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_OO_ALVS.

DATA : IT_EKKO TYPE TABLE OF EKKO,


IT_EKPO TYPE TABLE OF EKPO,
WA_EKKO TYPE EKKO,
WA_EKPO TYPE EKPO,
O_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
O_GRID
TYPE REF TO CL_GUI_ALV_GRID,
O_SPLITTER TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
O_HEADER TYPE REF TO CL_GUI_CONTAINER,
O_MAIN
TYPE REF TO CL_GUI_CONTAINER,
O_DOCUMENT TYPE REF TO CL_DD_DOCUMENT.

CLASS LCL_HANDLE DEFINITION.


PUBLIC SECTION.
METHODS: HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK

OF CL_GUI_ALV_GRID IMP

ORTING E_ROW,
HANDLE_USER_COMMAND FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID IMP
ORTING E_UCOMM,
HANDLE_TOOLBAR FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID IMPORTING E_O
BJECT,
HANDLE_TOP_OF_PAGE FOR EVENT TOP_OF_PAGE OF CL_GUI_ALV_GRID.
ENDCLASS.
CLASS LCL_HANDLE IMPLEMENTATION.
METHOD HANDLE_TOP_OF_PAGE.
CALL METHOD O_DOCUMENT->ADD_PICTURE
EXPORTING
PICTURE_ID
= 'ENJOYSAP_LOGO'
*
WIDTH
=
*
ALTERNATIVE_TEXT =
*
TABINDEX
=
.
CALL METHOD O_DOCUMENT->ADD_GAP
EXPORTING
WIDTH
= 25
*
WIDTH_LIKE =
.
CALL METHOD O_DOCUMENT->ADD_TEXT
EXPORTING
TEXT
= 'PURCHASE DOCUMENT'
*
TEXT_TABLE
=
*
FIX_LINES
=
*
SAP_STYLE
=
*
SAP_COLOR
=
*
SAP_FONTSIZE =
*
SAP_FONTSTYLE =
*
SAP_EMPHASIS =
*
STYLE_CLASS
=
*
CHANGING
*
DOCUMENT
=
.
CALL METHOD O_DOCUMENT->DISPLAY_DOCUMENT
EXPORTING
*
REUSE_CONTROL
=
*
REUSE_REGISTRATION =
*
CONTAINER
=
PARENT
= O_HEADER
*
EXCEPTIONS
*
HTML_DISPLAY_ERROR = 1
*
OTHERS
= 2
.
IF SY-SUBRC <> 0.
*
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.
ENDMETHOD.
METHOD HANDLE_DOUBLE_CLICK.
READ TABLE IT_EKKO INTO WA_EKKO INDEX E_ROW-INDEX.
SELECT * FROM EKPO INTO TABLE IT_EKPO. "WHERE EBELN = WA_EKKO-EBELN.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME

= 'EKPO'

TABLES
T_OUTTAB

= IT_EKPO.

ENDMETHOD.
METHOD HANDLE_USER_COMMAND.
CASE E_UCOMM.
WHEN 'GETAI'.
SELECT * INTO TABLE IT_EKPO FROM EKPO FOR ALL ENTRIES IN IT_EKKO
WHERE EBELN = IT_EKKO-EBELN.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME
= 'EKPO'
TABLES
T_OUTTAB
= IT_EKPO.
ENDCASE.
ENDMETHOD.
METHOD HANDLE_TOOLBAR.
DATA WA_BUTTON TYPE LINE OF TTB_BUTTON.
WA_BUTTON-FUNCTION = 'GETAI'.
WA_BUTTON-TEXT = 'GetAllItems'.
APPEND WA_BUTTON TO E_OBJECT->MT_TOOLBAR.

ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
CALL SCREEN 4000.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&
Module GET_DATA OUTPUT
*&---------------------------------------------------------------------*

*
text
*----------------------------------------------------------------------*
MODULE GET_DATA OUTPUT.
SELECT * FROM EKKO INTO TABLE IT_EKKO WHERE EBELN BETWEEN '4500000000' AND
'4500000010'.
ENDMODULE.
" GET_DATA OUTPUT
*&---------------------------------------------------------------------*
*&
Module DISP_DATA OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE DISP_DATA OUTPUT.

CREATE OBJECT O_GRID


EXPORTING
I_PARENT

O_MAIN.

DATA : O1_HANDLER TYPE REF TO LCL_HANDLE.


CREATE OBJECT

O1_HANDLER.

SET HANDLER : O1_HANDLER->HANDLE_DOUBLE_CLICK FOR O_GRID,


O1_HANDLER->HANDLE_USER_COMMAND FOR O_GRID,
O1_HANDLER->HANDLE_TOOLBAR FOR O_GRID,
O1_HANDLER->HANDLE_TOP_OF_PAGE FOR O_GRID.
CREATE OBJECT O_DOCUMENT .
data is_layout type lvc_s_layo.
is_layout-sel_mode = 'D'.
CALL METHOD O_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
*
I_BUFFER_ACTIVE
=
*
I_BYPASSING_BUFFER
=
*
I_CONSISTENCY_CHECK
=
I_STRUCTURE_NAME
= 'EKKO'
*
IS_VARIANT
=
*
I_SAVE
=
*
I_DEFAULT
= 'X'
IS_LAYOUT
= IS_LAYOUT
*
IS_PRINT
=
*
IT_SPECIAL_GROUPS
=
*
IT_TOOLBAR_EXCLUDING
=
*
IT_HYPERLINK
=
*
IT_ALV_GRAPHICS
=
*
IT_EXCEPT_QINFO
=
*
IR_SALV_ADAPTER
=
CHANGING

IT_OUTTAB
= IT_EKKO
IT_FIELDCATALOG
=
IT_SORT
=
IT_FILTER
=
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR
= 2
TOO_MANY_LINES
= 3
OTHERS
= 4
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD O_GRID->LIST_PROCESSING_EVENTS
EXPORTING
I_EVENT_NAME
= 'TOP-OF-PAGE'
I_DYNDOC_ID
= O_DOCUMENT
*
IS_SUBTOTTXT_INFO =
*
IP_SUBTOT_LINE
=
*
I_TABLE_INDEX
=
* CHANGING
*
C_SUBTOTTXT
=
.
ENDMODULE .
*
*
*
*
*
*
*
*

MODULE SET_STATUS OUTPUT.


SET PF-STATUS 'ZSTATUS'.
ENDMODULE.
" SET_STATUS OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4000 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
" USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module SPLITCONTAINER_4000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*

" DISP_DATA

OUTPUT

MODULE SPLITCONTAINER_4000 OUTPUT.


CREATE OBJECT O_CONTAINER
EXPORTING
CONTAINER_NAME

= 'C6'.

CREATE OBJECT O_SPLITTER


EXPORTING
*
LINK_DYNNR
=
*
LINK_REPID
=
*
SHELLSTYLE
=
*
LEFT
=
*
TOP
=
*
WIDTH
=
*
HEIGHT
=
*
METRIC
= CNTL_METRIC_DYNPRO
*
ALIGN
= 15
PARENT
= O_CONTAINER
ROWS
= 2
COLUMNS
= 1
*
NO_AUTODEF_PROGID_DYNNR =
*
NAME
=
* EXCEPTIONS
*
CNTL_ERROR
= 1
*
CNTL_SYSTEM_ERROR = 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.
CALL METHOD O_SPLITTER->GET_CONTAINER
EXPORTING
ROW
= 1
COLUMN
= 1
RECEIVING
CONTAINER = O_HEADER
.
CALL METHOD O_SPLITTER->GET_CONTAINER
EXPORTING
ROW
= 2
COLUMN
= 1
RECEIVING
CONTAINER = O_MAIN
.

CALL METHOD O_SPLITTER->SET_ROW_HEIGHT


EXPORTING
ID
= 1
HEIGHT
= 15
* IMPORTING
*
RESULT
=
* EXCEPTIONS
*
CNTL_ERROR
= 1
*
CNTL_SYSTEM_ERROR = 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.

" SPLITCONTAINER_4000

OUTPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_PROJECT_REPORT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_PROJECT_REPORT.

TYPES : BEGIN OF TY_MSKU,


MATNR TYPE MSKU-MATNR,
KUNNR TYPE MSKU-KUNNR,
KULAB TYPE MSKU-KULAB,
END OF TY_MSKU.
TYPES : BEGIN OF TY_FINAL,
SEQNO(2) TYPE N,
KUNNR TYPE KUNNR,
MATNR TYPE MATNR,
CDATE TYPE D,
CTIME TYPE T,
KULAB TYPE N,
ACCNO(15) TYPE N,
END OF TY_FINAL.
TYPES : BEGIN OF TY_FILE,
TEXT TYPE STRING,
END OF
TY_FILE.
DATA : IT_MSKU TYPE TABLE OF TY_MSKU,
WA_MSKU TYPE
TY_MSKU,
IT_FINAL TYPE TABLE OF TY_FINAL,

WA_FINAL TYPE
TY_FINAL,
IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE
TY_FILE.
SELECT MATNR KUNNR KULAB FROM MSKU INTO TABLE IT_MSKU WHERE WERKS = '2000' A
ND SOBKZ = 'W'.

LOOP AT IT_MSKU INTO WA_MSKU.


WA_FINAL-SEQNO = '42'.
WA_FINAL-KUNNR = WA_MSKU-KUNNR.
WA_FINAL-MATNR = WA_MSKU-MATNR.
WA_FINAL-CDATE = SY-DATUM.
WA_FINAL-CTIME = SY-UZEIT.
WA_FINAL-KULAB = WA_MSKU-KULAB.
CONCATENATE '40' WA_MSKU-KUNNR INTO WA_FINAL-ACCNO.
APPEND WA_FINAL TO IT_FINAL.
ENDLOOP.
LOOP AT IT_FINAL INTO WA_FINAL.
* ADD 1 TO IT_FILE.
CONCATENATE WA_FINAL-SEQNO
WA_FINAL-KUNNR
WA_FINAL-MATNR
WA_FINAL-CDATE
WA_FINAL-KULAB
WA_FINAL-ACCNO
INTO WA_FILE-TEXT
SEPARATED BY '%'.
APPEND WA_FILE TO IT_FILE.
ENDLOOP.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME
TABLES
DATA_TAB

= 'C:\MAMATA\MSKU.TXT'
= IT_FILE."IT_FINAL.

.
IF SY-SUBRC = 0.
WRITE : / 'FILE IS SUCCESSFULLY DOWNLOADED'.
ELSE.
WRITE : / 'NOT DOWNLOADED'.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_PROJECTION_VIEW
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_PROJECTION_VIEW.

DATA : IT_LFA1 TYPE TABLE OF ZPVIEW,


WA_LFA1 TYPE
ZPVIEW,
V_LIFNR TYPE LIFNR.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR.
SELECT * INTO TABLE IT_LFA1 FROM ZPVIEW WHERE LIFNR IN S_LIFNR.

LOOP AT IT_LFA1 INTO WA_LFA1.


WRITE : / WA_LFA1-LIFNR,WA_LFA1-NAME1,WA_LFA1-ORT01,WA_LFA1-LAND1.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_PROJECTIONVIEW
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_PROJECTIONVIEW.
DATA IT_LFA1 TYPE TABLE OF ZPJVIEW_LFA1.
PARAMETERS P_LAND1 TYPE LAND1_GP.
SELECT * INTO TABLE IT_LFA1 FROM

ULINE.

ZPJVIEW_LFA1 WHERE LAND1 = P_LAND1.

report ZMAMATA_RECORDING_BDC
no standard page heading line-size 255.
"include bdcrecx1.
TYPES: BEGIN OF KNA1_REC,
KUNNR TYPE KNA1-KUNNR,
LAND1 TYPE KNA1-LAND1,
NAME1 TYPE KNA1-NAME1,
ORT01 TYPE KNA1-ORT01,
SORTL TYPE KNA1-SORTL,
END OF KNA1_REC.
DATA : IT_KNA1 TYPE TABLE OF KNA1_REC,
WA_KNA1 TYPE
KNA1_REC,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE
BDCDATA.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB
.

= 'C:\MAMATA\KNA1.TXT'
= 'T'
= IT_KNA1

LOOP AT IT_KNA1 INTO WA_KNA1.


"perform open_group.
perform bdc_dynpro
perform bdc_field

using 'ZMAMATA_SCREENS_BDC' '2000'.


using 'BDC_OKCODE'
'=CRT'.

perform bdc_field

using 'KNA1-KUNNR'
WA_KNA1-KUNNR.
using 'ZMAMATA_SCREENS_BDC' '2100'.
using 'BDC_OKCODE'
'=SAVE'.

perform bdc_dynpro
perform bdc_field

perform bdc_field

using 'KNA1-LAND1'
WA_KNA1-LAND1.
perform bdc_field
using 'KNA1-NAME1'
WA_KNA1-NAME1.
perform bdc_field
using 'KNA1-ORT01'
WA_KNA1-ORT01.
perform bdc_field
using 'KNA1-SORTL'
WA_KNA1-SORTL.
CALL TRANSACTION 'ZMVS' USING IT_BDCDATA.
ENDLOOP.

"perform close_group.
INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_REPORTS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_REPORTS.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LIFNR, "VENDOR NUMBER.
NAME1 TYPE NAME1_GP,
LAND1 TYPE LAND1_GP,
ORT01 TYPE ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO,
LIFNR TYPE LIFNR,
EBELN TYPE EBELN, "PURCHASE DOCUMENT NUMBER
END OF TY_EKKO.
DATA : WA_LFA1 TYPE TY_LFA1,
IT_LFA1 TYPE TABLE OF TY_LFA1,
IT_SELECTED_LFA1 TYPE TABLE OF TY_LFA1,
WA_EKKO TYPE TY_EKKO,
IT_EKKO TYPE TABLE OF TY_EKKO,
IT_SELECTED_EKKO TYPE TABLE OF TY_EKKO,
V_BOX(5) TYPE C,
V_LINES TYPE I,
V_LIFNR TYPE
LIFNR.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 4000.
***********TOP-OF-PAGE***********
TOP-OF-PAGE.
WRITE : / 'VENDOR NUMBER' COLOR 4,'NAME' COLOR 5, 45 'COUNTRY' COLOR 6, 'CI
TY' COLOR 3,SY-PAGNO COLOR 6.
END-OF-PAGE.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE : / 'VENDOR NUMBER' COLOR 4,'PURCHASE DOCUMENT' COLOR 5.

WHEN 2.
WRITE : / 'PURCHASE DOCUMENT' COLOR 5, 'PURCHASE ITEMS' COLOR 6, 45 'P
URCHASE MATERIALS' COLOR 7.
WHEN 3.
WRITE : / 'MATERIAL NUMBER' COLOR 5, 'LANGUAGE KEY' COLOR 6.
ENDCASE.
END-OF-PAGE.

**********START-OF-SELECTION********
START-OF-SELECTION.
SELECT LIFNR NAME1 LAND1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_
LIFNR.
END-OF-SELECTION.
IF IT_LFA1 IS NOT INITIAL.
SET PF-STATUS 'GETSTATUS'.
PERFORM DISP.
ELSE.
WRITE : / 'NO DATA'.
ENDIF.
*******************AT USER COMMAND**************
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SELECT'.
SY-LSIND = 0.
V_BOX = 'X'.
PERFORM DISP.
WHEN 'DESELECT'.
SY-LSIND = 0.
V_BOX = ' '.
PERFORM DISP.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename
WRITE_FIELD_SEPARATOR
tables
data_tab

= 'C:\MAMATHA\LFA1.TXT'
= 'T'

= IT_SELECTED_LFA1

.
IF sy-subrc = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ENDIF.

WHEN 'GETPOS'.
REFRESH IT_SELECTED_LFA1.
PERFORM GETSELECTED_LINES.
IF IT_SELECTED_LFA1 IS NOT INITIAL.
SELECT LIFNR EBELN INTO TABLE IT_EKKO FROM EKKO
FOR ALL ENTRIES IN IT_SELECTED_LFA1
WHERE LIFNR = IT_SELECTED_LFA1-LIFNR.
SORT IT_EKKO BY LIFNR.
IF IT_EKKO IS NOT INITIAL.
LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR,WA_EKKO-EBELN.
ENDLOOP.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT'.
ENDIF.
ELSE.
WRITE : / 'NO SELECTED DATA'.
ENDIF.
ENDCASE.

************ AT-LINE-SELECTION**********
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR
IMPORTING
OUTPUT
= V_LIFNR
.

SELECT

LIFNR

EBELN INTO TABLE

IT_EKKO FROM EKKO

WHERE LIFNR = V_LIFNR.

IF IT_EKKO IS NOT INITIAL. "1ST 2NDRY LIST.


LOOP AT IT_EKKO INTO WA_EKKO.
WRITE : / WA_EKKO-LIFNR COLOR 3,15 WA_EKKO-EBELN COLOR 5.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ELSE.
WRITE : / 'NO PURCHASE DOCUMENT FOR THE GIVEN VENDOR' COLOR 1,V_LIFNR COLOR
3.

ENDIF.
ENDCASE.
**************GETSELECT************
FORM GETSELECTED_LINES.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_LFA1-LIFNR WA_LFA1-NAME1 WA_LFA1LAND1 WA_LFA1-ORT01.
IF V_BOX = 'X'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input
= WA_LFA1-LIFNR
IMPORTING
OUTPUT
= WA_LFA1-LIFNR
.
APPEND WA_LFA1 TO IT_SELECTED_LFA1.
ENDIF.
ENDDO.
ENDFORM.
FORM DISP.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / V_BOX AS CHECKBOX ,WA_LFA1-LIFNR COLOR 4,WA_LFA1NAME1 COLOR 5,WA_LFA1-LAND1 COLOR 6,WA_LFA1-ORT01 COLOR 3.
ENDLOOP.
WRITE : / 'MAMATHA IS A SOFTWARE EMPLOYEE' COLOR 1.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_REPORTS_1ST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_REPORTS_1ST.

TYPES : BEGIN OF TY_VBAK,


VKORG TYPE VKORG,
BUKRS_VF TYPE BUKRS_VF,
AUFNR TYPE AUFNR,
NETWR TYPE NETWR_AK,
ERDAT TYPE ERDAT,

END OF TY_VBAK.
DATA : IT_VBAK TYPE TABLE OF TY_VBAK,
WA_VBAK TYPE TY_VBAK,
V_ERDAT TYPE ERDAT.
SELECT-OPTIONS S_ERDAT FOR V_ERDAT.
SELECT VKORG BUKRS_VF AUFNR NETWR FROM VBAK INTO TABLE IT_VBAK WHERE ERDAT I
N S_ERDAT.
LOOP AT IT_VBAK INTO WA_VBAK.
"AT NEW VKORG.
AT LAST.
SUM.
WRITE : / 'SUM OF NETWR',WA_VBAK-NETWR. "WA_VBAK-VKORG,WA_VBAKBUKRS_VF,WA_VBAK-AUFNR,WA_VBAK-NETWR,WA_VBAK-ERDAT.
ENDAT.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_REPORTS_3RD
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_REPORTS_3RD.

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
ORT01 TYPE LFA1-ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_LFBK,
LIFNR TYPE LFBK-LIFNR,
BANKS TYPE LFBK-BANKS,
BANKL TYPE LFBK-BANKL,
BANKN TYPE LFBK-BANKN,
END OF TY_LFBK.
DATA : IT_LFA1 TYPE TABLE OF TY_LFA1,
IT_LFBK TYPE TABLE OF TY_LFBK,
WA_LFA1 TYPE TY_LFA1,
WA_LFBK TYPE TY_LFBK,
V_LIFNR TYPE LIFNR.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT

'1000' TO '6000'.

SELECT LIFNR LAND1 NAME1 ORT01 FROM LFA1 INTO TABLE IT_LFA1 WHERE LIFNR IN S_
LIFNR.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 1,WA_LFA1-LAND1 COLOR 2,WA_LFA1NAME1 COLOR 3,WA_LFA1-ORT01 COLOR 4.
ENDLOOP.
AT LINE-SELECTION.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= SY-LISEL+0(10)
IMPORTING
OUTPUT
= SY-LISEL+0(10)
.

SELECT LIFNR BANKS BANKL BANKN FROM LFBK INTO TABLE IT_LFBK WHERE LIFNR = S
Y-LISEL+0(10).
LOOP AT IT_LFBK INTO WA_LFBK.
WRITE : / WA_LFBK-LIFNR,WA_LFBK-BANKS,WA_LFBK-BANKL,WA_LFBK-BANKN.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_REPORTS_3RD
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_REPORTS_GETCURSOR.

TYPES : BEGIN OF TY_LFA1,


LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
ORT01 TYPE LFA1-ORT01,
END OF TY_LFA1.
TYPES : BEGIN OF TY_LFBK,
LIFNR TYPE LFBK-LIFNR,
BANKS TYPE LFBK-BANKS,
BANKL TYPE LFBK-BANKL,
BANKN TYPE LFBK-BANKN,

END OF TY_LFBK.
DATA : IT_LFA1 TYPE TABLE OF TY_LFA1,
IT_LFBK TYPE TABLE OF TY_LFBK,
WA_LFA1 TYPE TY_LFA1,
WA_LFBK TYPE TY_LFBK,
V_LIFNR TYPE LIFNR,
V_FNAM TYPE STRING,
V_FVAL TYPE STRING.
SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT

'1000' TO '6000'.

SELECT LIFNR LAND1 NAME1 ORT01 FROM LFA1 INTO TABLE IT_LFA1 WHERE LIFNR IN S_
LIFNR.
LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR HOTSPOT COLOR 1,WA_LFA1-LAND1 COLOR 2,WA_LFA1NAME1 COLOR 3,WA_LFA1-ORT01 COLOR 4.
ENDLOOP.
AT LINE-SELECTION.
GET CURSOR FIELD V_FNAM VALUE V_FVAL.
IF V_FNAM = 'WA_LFA1-LIFNR'.
V_LIFNR = SY-LISEL+0(10).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= V_LIFNR "V_FVAL "SY-LISEL+0(10)
IMPORTING
OUTPUT
= V_LIFNR "V_FVAL "SY-LISEL+0(10)
.

SELECT LIFNR BANKS BANKL BANKN FROM LFBK INTO TABLE IT_LFBK WHERE LIFNR = V
_LIFNR. "V_FVAL."SY-LISEL+0(10).
LOOP AT IT_LFBK INTO WA_LFBK.
WRITE : / WA_LFBK-LIFNR,WA_LFBK-BANKS,WA_LFBK-BANKL,WA_LFBK-BANKN.
ENDLOOP.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SALES_UI
*&
*&---------------------------------------------------------------------*
*&

*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_SALES_UI.
TABLES : VBAK,
VBAP.
"CALL SCREEN 4000.
CONTROLS TSC1 TYPE TABSTRIP.
*&---------------------------------------------------------------------*
*&
Module STATUS_4000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4000 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
" STATUS_4000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4000 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE_4000 INPUT.
DATA V_VKORG TYPE VKORG.
IF SY-UCOMM = 'CRT'.
SELECT VKORG INTO V_VKORG FROM VBAK UP TO 1 ROWS WHERE VKORG = VBAKVKORG.
ENDSELECT.
IF SY-SUBRC = 0.
MESSAGE 'ALREADY EXIST' TYPE 'S'.
ELSE.
CALL SCREEN 4003.
ENDIF.
ENDIF.
ENDMODULE.

" VALLIDATE_4000

INPUT

*&---------------------------------------------------------------------*
*&
Module STATUS_4003 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4003 OUTPUT.
SET PF-STATUS 'STATUS1'.

ENDMODULE.
" STATUS_4003 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4003 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4003 INPUT.
CASE SY-UCOMM.
WHEN 'TAB1'.
TSC1-ACTIVETAB = 'TAB1'.
WHEN 'TAB2'.
TSC1-ACTIVETAB = 'TAB2'.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT VBAK FROM VBAK.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'S'.
COMMIT WORK.
IF VBAP IS NOT INITIAL.
INSERT VBAP FROM VBAP.
ENDIF.
ENDIF.
ENDCASE.
ENDMODULE.

" USER_COMMAND_4003

INPUT

*&---------------------------------------------------------------------*
*& Module Pool
ZMAMATA_SCREENS_BDC
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
PROGRAM ZMAMATA_SCREENS_BDC.
TABLES KNA1.

*&---------------------------------------------------------------------*
*&
Module STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2000 OUTPUT.
SET PF-STATUS 'STATUS1'.

ENDMODULE.
" STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2000 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT KNA1 FROM KNA1.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
" USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE_2000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE_2000 INPUT.
DATA V_KUNNR TYPE KUNNR.
IF SY-UCOMM = 'CRT'.
SELECT SINGLE KUNNR INTO V_KUNNR FROM KNA1 WHERE KUNNR = KNA1-KUNNR.
IF SY-SUBRC = 0.
"MESSAGE 'RECORD ALREADY EXIST' TYPE 'S'.
MESSAGE E003(ZMAMATA_9AM) WITH 'KNA1-KUNNR'.
ELSE.
CALL SCREEN 2100.
ENDIF.
ENDIF.
ENDMODULE.
" VALLIDATE_2000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_2100 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2100 OUTPUT.

SET PF-STATUS 'ZSTATUS1'.


ENDMODULE.
" STATUS_2100 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2100 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT KNA1 FROM KNA1.
COMMIT WORK.
IF SY-SUBRC = 0.
MESSAGE S004(ZMAMATA_9AM) WITH 'KNA1-KUNNR'.
"MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'S'.
ELSE.
MESSAGE 'NOT INSERTED' TYPE 'S'.
ENDIF.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.

" USER_COMMAND_2100

INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SCREENS_BDC_PROGRAM
*&
*&---------------------------------------------------------------------*
*&

REPORT

ZMAMATA_SCREENS_BDC_PROGRAM.

TYPES: BEGIN OF TY_FILE,


KUNNR TYPE KUNNR,
LAND1 TYPE LAND1_GP,
NAME1 TYPE NAME1_GP,
ORT01 TYPE ORT01_GP,

SORTL TYPE SORTL,


END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE BDCDATA,
IT_BDCMSGCOLL TYPE TABLE OF BDCMSGCOLL,
WA_BDCMSGCOLL TYPE BDCMSGCOLL.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'D:\MAMATA\KNA1.TXT'
=

'T'

= IT_FILE.

"IF IT_FILE IS NOT INITIAL.


LOOP AT IT_FILE INTO WA_FILE.

PERFORM BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2000'.


PERFORM BDC_FIELD USING 'BDC_OKCODE' 'CRT'.
PERFORM BDC_FIELD USING
'KNA1-KUNNR' WA_FILE-KUNNR.
PERFORM BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2100'.
PERFORM BDC_FIELD
USING 'BDC_OKCODE' 'SAVE'.
PERFORM BDC_FIELD USING
'KNA1-LAND1' WA_FILE-LAND1.
PERFORM BDC_FIELD USING
'KNA1-NAME1' WA_FILE-NAME1.
PERFORM BDC_FIELD USING
'KNA1-ORT01' WA_FILE-ORT01.
PERFORM BDC_FIELD USING
'KNA1-SORTL' WA_FILE-SORTL.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BACK'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BACK'.

CALL TRANSACTION 'ZMVS' USING IT_BDCDATA MODE 'N' MESSAGES INTO IT_BDCMS
GCOLL.
"ELSE.
"MESSAGE 'NO DATA FOUND' TYPE 'S'.
REFRESH IT_BDCDATA.
ENDLOOP.
DATA V_TEXT TYPE STRING.
LOOP AT IT_BDCMSGCOLL INTO WA_BDCMSGCOLL.
MESSAGE ID WA_BDCMSGCOLL-MSGID TYPE 'E' NUMBER WA_BDCMSGCOLL-MSGNR
WITH WA_BDCMSGCOLL-MSGV1 WA_BDCMSGCOLL-MSGV2 WA_BDCMSGCOLL-MSGV3
WA_BDCMSGCOLL-MSGV4 INTO V_TEXT.
**
OR
*
CALL FUNCTION 'FORMAT_MESSAGE'

*
EXPORTING
*
ID
= WA_BDCMSGCOLL-MSGID
*
LANG
= WA_BDCMSGCOLL-MSGSPRA
*
NO
= WA_BDCMSGCOLL-MSGNR
*
V1
= WA_BDCMSGCOLL-MSGV1
*
V2
= WA_BDCMSGCOLL-MSGV2
*
V3
= WA_BDCMSGCOLL-MSGV3
*
V4
= WA_BDCMSGCOLL-MSGV4
*
IMPORTING
*
MSG
= V_TEXT
**
EXCEPTIONS
**
NOT_FOUND
= 1
**
OTHERS
= 2
*
.
*
IF SY-SUBRC <> 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*
ENDIF.
WRITE : / V_TEXT.

ENDLOOP.
"ENDIF.
INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SCREENS_BDC_PROGRAM
*&
*&---------------------------------------------------------------------*
*&

REPORT

ZMAMATA_SCREENS_BDC_PROGRAMS.

TYPES: BEGIN OF TY_FILE,


KUNNR TYPE KUNNR,
LAND1 TYPE LAND1_GP,
NAME1 TYPE NAME1_GP,
ORT01 TYPE ORT01_GP,
SORTL TYPE SORTL,
END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,

WA_FILE TYPE TY_FILE,


IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE BDCDATA.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'D:\MAMATA\KNA1.TXT'
=

'T'

= IT_FILE.

IF IT_FILE IS NOT INITIAL.


LOOP AT IT_FILE INTO WA_FILE.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' 'CRT'.
PERFORM BDC_FIELD USING
'KNA1-KUNNR' WA_FILE-KUNNR.
PERFORM BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2100'.
PERFORM BDC_FIELD
USING 'BDC_OKCODE' 'SAVE'.
PERFORM BDC_FIELD USING
'KNA1-LAND1' WA_FILE-LAND1.
PERFORM BDC_FIELD USING
'KNA1-NAME1' WA_FILE-NAME1.
PERFORM BDC_FIELD USING
'KNA1-ORT01' WA_FILE-ORT01.
PERFORM BDC_FIELD USING
'KNA1-SORTL' WA_FILE-SORTL.
"PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BACK'.
"PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BACK'.

CALL TRANSACTION 'ZMVS' USING IT_BDCDATA.


ENDLOOP.
ELSE.
MESSAGE 'NO DATA FOUND' TYPE 'S'.
ENDIF.
*
DATA V_TEXT TYPE STRING.
**
LOOP AT IT_BDCMSGCOLL INTO WA_BDCMSGCOLL.
* MESSAGE
*
*
***
OR
*
*
*
*
*
*
*

ID WA_BDCMSGCOLL-MSGID TYPE 'E' NUMBER WA_BDCMSGCOLL-MSGNR


WITH WA_BDCMSGCOLL-MSGV1 WA_BDCMSGCOLL-MSGV2 WA_BDCMSGCOLL-MSGV3
WA_BDCMSGCOLL-MSGV4 INTO V_TEXT.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID
= WA_BDCMSGCOLL-MSGID
LANG
= WA_BDCMSGCOLL-MSGSPRA
NO
= WA_BDCMSGCOLL-MSGNR
V1
= WA_BDCMSGCOLL-MSGV1
V2
= WA_BDCMSGCOLL-MSGV2

*
V3
= WA_BDCMSGCOLL-MSGV3
*
V4
= WA_BDCMSGCOLL-MSGV4
*
IMPORTING
*
MSG
= V_TEXT
**
EXCEPTIONS
**
NOT_FOUND
= 1
**
OTHERS
= 2
*
.
*
IF SY-SUBRC <> 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*
ENDIF.
*
WRITE : / V_TEXT.

* ENDLOOP.
"ENDIF.
INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SCREENS_BDC_PROGRAM
*&
*&---------------------------------------------------------------------*
*&

REPORT

ZMAMATA_SCREENS_BDC_SESSION.

TYPES: BEGIN OF TY_FILE,


KUNNR TYPE KUNNR,
LAND1 TYPE LAND1_GP,
NAME1 TYPE NAME1_GP,
ORT01 TYPE ORT01_GP,
SORTL TYPE SORTL,
END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE BDCDATA.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING

FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'D:\MAMATA\KNA1.TXT'
=

'T'

= IT_FILE.

CALL FUNCTION 'BDC_OPEN_GROUP'


EXPORTING
*
CLIENT
= SY-MANDT
*
DEST
= FILLER8
GROUP
= 'SESS_MAMATA'
*
HOLDDATE
= FILLER8
KEEP
= 'X'
USER
= SYUNAME "USER NAME. HERE WHICH USER CAN PROCESS THE SESSION.HERE WE ARE GIVEN
SYSTEM USER NAME.
"INDIVIDUAL USER NAME ALSO GIV
EN IN REAL TIME.
*
RECORD
= FILLER1
*
PROG
= SY-CPROG
*
DCPFM
= '%'
*
DATFM
= '%'
*
IMPORTING
*
QID
=
*
EXCEPTIONS
*
CLIENT_INVALID
= 1
*
DESTINATION_INVALID
= 2
*
GROUP_INVALID
= 3
*
GROUP_IS_LOCKED
= 4
*
HOLDDATE_INVALID
= 5
*
INTERNAL_ERROR
= 6
*
QUEUE_ERROR
= 7
*
RUNNING
= 8
*
SYSTEM_LOCK_ERROR
= 9
*
USER_INVALID
= 10
*
OTHERS
= 11
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

"IF IT_FILE IS NOT INITIAL.


LOOP AT IT_FILE INTO WA_FILE.
REFRESH IT_BDCDATA.

PERFORM BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2000'.


PERFORM BDC_FIELD USING 'BDC_OKCODE' 'CRT'.
PERFORM BDC_FIELD USING
'KNA1-KUNNR' WA_FILE-KUNNR.
PERFORM BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2100'.
PERFORM BDC_FIELD
USING 'BDC_OKCODE' 'SAVE'.
PERFORM BDC_FIELD USING
'KNA1-LAND1' WA_FILE-LAND1.
PERFORM BDC_FIELD USING
'KNA1-NAME1' WA_FILE-NAME1.
PERFORM BDC_FIELD USING
'KNA1-ORT01' WA_FILE-ORT01.
PERFORM BDC_FIELD USING
'KNA1-SORTL' WA_FILE-SORTL.
"PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BACK'.
"PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BACK'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE
= 'ZMVS'
*
POST_LOCAL
= NOVBLOCAL
*
PRINTING
= NOPRINT
*
SIMUBATCH
= ' '
*
CTUPARAMS
= ' '
TABLES
DYNPROTAB
= IT_BDCDATA
* EXCEPTIONS
*
INTERNAL_ERROR
= 1
*
NOT_OPEN
= 2
*
QUEUE_ERROR
= 3
*
TCODE_INVALID
= 4
*
PRINTING_INVALID
= 5
*
POSTING_INVALID
= 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.
ENDLOOP.
*********** CALLING IF01 TRANSACTION CODE**************
TYPES: BEGIN OF TY_BNKA,
BANKS TYPE BANKS,
BANKL TYPE BANKK,
BANKA TYPE BANKA,
END OF TY_BNKA.
DATA : IT_BNKA TYPE TABLE OF TY_BNKA,
WA_BNKA TYPE TY_BNKA.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING

FILENAME
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

= 'D:\MAMATA\BNKA.TXT'
=

'T'

= IT_BNKA.

IF IT_BNKA IS NOT INITIAL.


LOOP AT IT_BNKA INTO WA_BNKA.
REFRESH IT_BDCDATA.

PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM

*
*
*
*

*
*
*
*
*
*
*
*

*
*

BDC_DYNPRO USING 'SAPMF02B' '100'.


BDC_FIELD USING 'BNKA-BANKS' WA_BNKA-BANKS.
BDC_FIELD USING 'BDC_OKCODE' '/00'.
BDC_FIELD USING 'BNKA-BANKL' WA_BNKA-BANKL.
BDC_DYNPRO USING 'SAPMF02B' '110'.
BDC_FIELD USING 'BNKA-BANKA' WA_BNKA-BANKA.
BDC_FIELD USING 'BDC_OKCODE' '=UPDA'.

CALL FUNCTION 'BDC_INSERT'


EXPORTING
TCODE
= 'FI01'
POST_LOCAL
= NOVBLOCAL
PRINTING
= NOPRINT
SIMUBATCH
= ' '
CTUPARAMS
= ' '
TABLES
DYNPROTAB
= IT_BDCDATA
EXCEPTIONS
INTERNAL_ERROR
= 1
NOT_OPEN
= 2
QUEUE_ERROR
= 3
TCODE_INVALID
= 4
PRINTING_INVALID
= 5
POSTING_INVALID
= 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.
ENDLOOP.
ELSE.
MESSAGE 'NO DATA FOUND' TYPE 'S'.

ENDIF.

CALL FUNCTION 'BDC_CLOSE_GROUP'


* EXCEPTIONS
*
NOT_OPEN
= 1
*
QUEUE_ERROR
= 2
*
OTHERS
= 3
.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY CREATED' TYPE 'S'.
ENDIF.

INCLUDE ZMAMATA_BDC.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SCRIPT_FORM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_SCRIPT_FORM.

CALL FUNCTION 'OPEN_FORM'


EXPORTING
*
APPLICATION
*
ARCHIVE_INDEX
*
ARCHIVE_PARAMS
*
DEVICE
*
DIALOG
FORM
*
LANGUAGE

= 'TX'
=
=
= 'PRINTER'
= 'X'
= 'ZPICTURE'
= SY-LANGU

*
OPTIONS
=
*
MAIL_SENDER
=
*
MAIL_RECIPIENT
=
*
MAIL_APPL_OBJECT
=
*
RAW_DATA_INTERFACE
= '*'
*
SPONUMIV
=
* IMPORTING
*
LANGUAGE
=
*
NEW_ARCHIVE_PARAMS
=
*
RESULT
=
* EXCEPTIONS
*
CANCELED
= 1
*
DEVICE
= 2
*
FORM
= 3
*
OPTIONS
= 4
*
UNCLOSED
= 5
*
MAIL_OPTIONS
= 6
*
ARCHIVE_ERROR
= 7
*
INVALID_FAX_NUMBER
= 8
*
MORE_PARAMS_NEEDED_IN_BATCH
= 9
*
SPOOL_ERROR
= 10
*
CODEPAGE
= 11
*
OTHERS
= 12
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT
*
FUNCTION
*
TYPE
WINDOW
* IMPORTING
*
PENDING_LINES
* EXCEPTIONS
*
ELEMENT
*
FUNCTION
*
TYPE
*
UNOPENED
*
UNSTARTED
*
WINDOW
*
BAD_PAGEFORMAT_FOR_PRINT
*
SPOOL_ERROR
*
CODEPAGE
*
OTHERS
.

= 'ADD_PICTURE'
= 'SET'
= 'BODY'
= 'PICWIN'
=
=
=
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
8
9
10

IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
*
ELEMENT
= ' '
*
FUNCTION
= 'SET'
*
TYPE
= 'BODY'
WINDOW
= 'MAIN'
* IMPORTING
*
PENDING_LINES
=
* EXCEPTIONS
*
ELEMENT
= 1
*
FUNCTION
= 2
*
TYPE
= 3
*
UNOPENED
= 4
*
UNSTARTED
= 5
*
WINDOW
= 6
*
BAD_PAGEFORMAT_FOR_PRINT
= 7
*
SPOOL_ERROR
= 8
*
CODEPAGE
= 9
*
OTHERS
= 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'CLOSE_FORM'
* IMPORTING
*
RESULT
=
*
RDI_RESULT
=
* TABLES
*
OTFDATA
=
* EXCEPTIONS
*
UNOPENED
= 1
*
BAD_PAGEFORMAT_FOR_PRINT
= 2
*
SEND_ERROR
= 3
*
SPOOL_ERROR
= 4
*
CODEPAGE
= 5
*
OTHERS
= 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_SIMPLE_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_SIMPLE_ALV.

DATA : IT_EKKO TYPE TABLE OF EKKO.


*
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV
.
SELECT * FROM EKKO INTO TABLE IT_EKKO UP TO 20 ROWS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
I_BYPASSING_BUFFER
= ' '
*
I_BUFFER_ACTIVE
= ' '
*
I_CALLBACK_PROGRAM
= ' '
*
I_CALLBACK_PF_STATUS_SET
= ' '
*
I_CALLBACK_USER_COMMAND
= ' '
*
I_CALLBACK_TOP_OF_PAGE
= ' '
*
I_CALLBACK_HTML_TOP_OF_PAGE
= ' '
*
I_CALLBACK_HTML_END_OF_LIST
= ' '
I_STRUCTURE_NAME
= 'EKKO'
*
I_BACKGROUND_ID
= ' '
*
I_GRID_TITLE
=
*
I_GRID_SETTINGS
=
* IS_LAYOUT
=
*
IT_FIELDCAT
=
*
IT_EXCLUDING
=
*
IT_SPECIAL_GROUPS
=
*
IT_SORT
=
*
IT_FILTER
=
*
IS_SEL_HIDE
=
*
I_DEFAULT
= 'X'
*
I_SAVE
= ' '
*
IS_VARIANT
=
*
IT_EVENTS
=
*
IT_EVENT_EXIT
=
*
IS_PRINT
=
*
IS_REPREP_ID
=
*
I_SCREEN_START_COLUMN
= 0

*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
*
I_HTML_HEIGHT_TOP
= 0
*
I_HTML_HEIGHT_END
= 0
*
IT_ALV_GRAPHICS
=
*
IT_HYPERLINK
=
* IT_ADD_FIELDCAT
= IT_FIELDCAT
*
IT_EXCEPT_QINFO
=
*
IR_SALV_FULLSCREEN_ADAPTER
=
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= IT_EKKO
* EXCEPTIONS
*
PROGRAM_ERROR
= 1
*
OTHERS
= 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_STATIC_VS_INSTANCE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_STATIC_VS_INSTANCE.

CLASS LCL_HOTEL DEFINITION.


PUBLIC SECTION.
METHODS : BOOK_ROOM IMPORTING FROM TYPE STRING TO TYPE STRING
NAME TYPE STRING AGE TYPE I.
DATA

SNO TYPE I.

ENDCLASS.
CLASS LCL_HOTEL IMPLEMENTATION.
METHOD BOOK_ROOM.
SNO = SNO + 1.
WRITE : / 'SUCCESSFULLY ALLOCATED THE ROOMS'.

WRITE : / SNO COLOR 2, NAME COLOR 3,FROM COLOR 4,TO COLOR 5.


ENDMETHOD.
ENDCLASS.
DATA : OBJ1 TYPE REF TO LCL_HOTEL,
OBJ2 TYPE REF TO LCL_HOTEL,
OBJ3 TYPE REF TO LCL_HOTEL.
START-OF-SELECTION.
CREATE OBJECT : OBJ1,OBJ2,OBJ3.
CALL METHOD OBJ1>BOOK_ROOM EXPORTING FROM = 'FIRST' TO = 'FIFTH' NAME = 'AMITA' AGE = '10'.
CALL METHOD OBJ2>BOOK_ROOM EXPORTING FROM = 'FIRST' TO = 'FIFTH' NAME = 'MAMATA' AGE = '10'.
CALL METHOD OBJ3>BOOK_ROOM EXPORTING FROM = 'FIRST' TO = 'FIFTH' NAME = 'HEMA' AGE = '10'.

report ZMAMATA_TABLE_RECORDING
no standard page heading line-size 255.
include bdcrecx1.
parameters: dataset(132) lower case.
***
DO NOT CHANGE - the generated data section - DO NOT CHANGE
*
*
If it is nessesary to change the data section use the rules:
*
1.) Each definition of a field exists of two lines
*
2.) The first line shows exactly the comment
*
'* data element: ' followed with the data element
*
which describes the field.
*
If you don't have a data element use the
*
comment without a data element name
*
3.) The second line shows the fieldname of the
*
structure, the fieldname must consist of
*
a fieldname and optional the character '_' and
*
three numbers and the field length in brackets
*
4.) Each field must be type C.
*
*** Generated data section with specific formatting - DO NOT CHANGE
data: begin of record,
* data element: LIFNR
LIFNR_001(010),
* data element: LAND1_GP
LAND1_002(031),
* data element: NAME1_GP
NAME1_003(035),
* data element: ORT01_GP

***

***

ORT01_004(035),
* data element: STRAS_GP
STRAS_005(035),
* data element: ADRNR
ADRNR_006(035),
* data element: LAND1_GP
LAND1_007(031),
* data element: NAME1_GP
NAME1_008(035),
* data element: ORT01_GP
ORT01_009(035),
* data element: STRAS_GP
STRAS_010(035),
* data element: ADRNR
ADRNR_011(035),
* data element: BUKRS
BUKRS_012(004),
* data element: PERNR_D
PERNR_013(012),
* data element: EIKTO_K
EIKTO_014(012),
* data element: LAND1_GP
LAND1_015(031),
* data element: NAME1_GP
NAME1_016(035),
* data element: ORT01_GP
ORT01_017(035),
* data element: STRAS_GP
STRAS_018(035),
* data element: ADRNR
ADRNR_019(035),
* data element: BUKRS
BUKRS_020(004),
* data element: PERNR_D
PERNR_021(012),
* data element: EIKTO_K
EIKTO_022(012),
* data element: BANKS
BANKS_01_023(003),
* data element: BANKS
BANKS_02_024(003),
* data element: BANKK
BANKL_01_025(015),
* data element: BANKK
BANKL_02_026(015),
* data element: BANKN
BANKN_01_027(018),
* data element: BANKN
BANKN_02_028(018),

* data element: LAND1_GP


LAND1_029(031),
* data element: NAME1_GP
NAME1_030(035),
* data element: ORT01_GP
ORT01_031(035),
* data element: STRAS_GP
STRAS_032(035),
* data element: ADRNR
ADRNR_033(035),
* data element: BUKRS
BUKRS_034(004),
* data element: PERNR_D
PERNR_035(012),
* data element: EIKTO_K
EIKTO_036(012),
end of record.
*** End generated data section ***
start-of-selection.
perform open_dataset using dataset.
perform open_group.
do.
read dataset dataset into record.
if sy-subrc <> 0. exit. endif.
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field

using 'ZMAMATA_TABLECONTROL_UI' '4000'.


using 'BDC_OKCODE'
'=CRT'.
using 'BDC_CURSOR'
'LFA1-LIFNR'.
using 'LFA1-LIFNR'
record-LIFNR_001.
using 'ZMAMATA_TABLECONTROL_UI' '4001'.
using 'BDC_OKCODE'
'=TAB2'.
using 'LFA1-LAND1'
record-LAND1_002.
using 'LFA1-NAME1'
record-NAME1_003.
using 'LFA1-ORT01'
record-ORT01_004.
using 'LFA1-STRAS'
record-STRAS_005.
using 'LFA1-ADRNR'

perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field

record-ADRNR_006.
using 'ZMAMATA_TABLECONTROL_UI' '4001'.
using 'BDC_OKCODE'
'=TAB3'.
using 'LFA1-LAND1'
record-LAND1_007.
using 'LFA1-NAME1'
record-NAME1_008.
using 'LFA1-ORT01'
record-ORT01_009.
using 'LFA1-STRAS'
record-STRAS_010.
using 'LFA1-ADRNR'
record-ADRNR_011.
using 'BDC_CURSOR'
'LFB1-EIKTO'.
using 'LFB1-BUKRS'
record-BUKRS_012.
using 'LFB1-PERNR'
record-PERNR_013.
using 'LFB1-EIKTO'
record-EIKTO_014.
using 'ZMAMATA_TABLECONTROL_UI' '4001'.
using 'BDC_OKCODE'
'=SAVE'.
using 'LFA1-LAND1'
record-LAND1_015.
using 'LFA1-NAME1'
record-NAME1_016.
using 'LFA1-ORT01'
record-ORT01_017.
using 'LFA1-STRAS'
record-STRAS_018.
using 'LFA1-ADRNR'
record-ADRNR_019.
using 'LFB1-BUKRS'
record-BUKRS_020.
using 'LFB1-PERNR'
record-PERNR_021.
using 'LFB1-EIKTO'
record-EIKTO_022.
using 'BDC_CURSOR'
'LFBK-BANKN(02)'.
using 'LFBK-BANKS(01)'
record-BANKS_01_023.
using 'LFBK-BANKS(02)'
record-BANKS_02_024.
using 'LFBK-BANKL(01)'
record-BANKL_01_025.

perform bdc_field
perform
perform
perform
perform
perform
perform
perform
perform
perform
perform
perform
perform
perform
perform

using 'LFBK-BANKL(02)'
record-BANKL_02_026.
bdc_field
using 'LFBK-BANKN(01)'
record-BANKN_01_027.
bdc_field
using 'LFBK-BANKN(02)'
record-BANKN_02_028.
bdc_dynpro
using 'ZMAMATA_TABLECONTROL_UI' '4001'.
bdc_field
using 'BDC_OKCODE'
'=BACK'.
bdc_field
using 'BDC_CURSOR'
'LFA1-LIFNR'.
bdc_field
using 'LFA1-LAND1'
record-LAND1_029.
bdc_field
using 'LFA1-NAME1'
record-NAME1_030.
bdc_field
using 'LFA1-ORT01'
record-ORT01_031.
bdc_field
using 'LFA1-STRAS'
record-STRAS_032.
bdc_field
using 'LFA1-ADRNR'
record-ADRNR_033.
bdc_field
using 'LFB1-BUKRS'
record-BUKRS_034.
bdc_field
using 'LFB1-PERNR'
record-PERNR_035.
bdc_field
using 'LFB1-EIKTO'
record-EIKTO_036.
bdc_transaction using 'ZSVR'.

enddo.
perform close_group.
perform close_dataset using dataset.

*&---------------------------------------------------------------------*
*& Module Pool
ZMAMATA_TABLE_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
PROGRAM ZMAMATA_TABLE_UI.
TABLES BNKA.

DATA : IT_BNKA TYPE TABLE OF BNKA.


CONTROLS TC TYPE TABLEVIEW USING SCREEN '4100'.

*&---------------------------------------------------------------------*
*&
Module STATUS_4000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4000 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_4000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4000 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module CANCEL_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE CANCEL_4000 INPUT.
IF SY-UCOMM = 'CANCEL'.
LEAVE PROGRAM.
ENDIF.
ENDMODULE.
" CANCEL_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE_4000 INPUT.
DATA V_BANKS TYPE BANKS.
IF SY-UCOMM = 'CRT'.
SELECT SINGLE BANKS INTO V_BANKS FROM BNKA WHERE BANKS = BNKA-BANKS.
IF SY-SUBRC = 0.
MESSAGE 'RECORD ALREADY EXIST' TYPE 'E'.
ELSE.
CALL SCREEN '4100'.
ENDIF.

ENDIF.
ENDMODULE.
" VALLIDATE_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_4100 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4100 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_4100 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4100 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
if IT_BNKA is not INITIAL.
INSERT BNKA FROM TABLE IT_BNKA ACCEPTING DUPLICATE KEYS.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'S'.
ENDIF.
ELSE.
MESSAGE 'NOT INSERTED' TYPE 'E'.
ENDIF.
WHEN OTHERS.
ENDCASE.

ENDMODULE.

" USER_COMMAND_4100

INPUT

*&---------------------------------------------------------------------*
*&
Module REFRESH_IT_BNKA_4100 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE REFRESH_IT_BNKA_4100 INPUT.
REFRESH IT_BNKA.
ENDMODULE.
" REFRESH_IT_BNKA_4100 INPUT
*&---------------------------------------------------------------------*
*&
Module MOVE_DATA_FROM_TC_IT INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE MOVE_DATA_FROM_TC_IT INPUT.

APPEND BNKA TO IT_BNKA.


ENDMODULE.

" MOVE_DATA_FROM_TC_IT

INPUT

report ZMAMATA_TABLECONTROL_BDC
no standard page heading line-size 255.
include bdcrecx1.
start-of-selection.
perform open_group.
perform bdc_transaction using ''.
perform close_group.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_TABLECONTROL_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_TABLECONTROL_UI.

TABLES : LFA1,
LFB1,
LFBK.
DATA IT_LFBK TYPE TABLE OF LFBK.
CONTROLS :

TSC TYPE TABSTRIP,


TC TYPE TABLEVIEW USING SCREEN '4300'.

*&---------------------------------------------------------------------*
*&
Module STATUS_4000 OUTPUT

*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4000 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
" STATUS_4000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDE_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDE_4000 INPUT.
DATA V_LIFNR TYPE LIFNR.
IF SY-UCOMM = 'CRT'.
SELECT SINGLE LIFNR INTO V_LIFNR FROM LFA1 WHERE LIFNR = LFA1-LIFNR.
IF SY-SUBRC = 0.
MESSAGE 'RECORD ALREADY EXIST' TYPE 'S'.
ELSE.
CALL SCREEN 4001.
ENDIF.
ENDIF.
ENDMODULE.
" VALLIDE_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4000 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
"WHEN 'SAVE'.
"WHEN 'CANCEL'.
ENDCASE.
ENDMODULE.
" USER_COMMAND_4000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_4001 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4001 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
" STATUS_4001 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_4001 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_4001 INPUT.

CASE SY-UCOMM.
WHEN 'TAB1'.
TSC-ACTIVETAB = 'TAB1'.
WHEN 'TAB2'.
TSC-ACTIVETAB = 'TAB2'.
WHEN 'TAB3'.
TSC-ACTIVETAB = 'TAB3'.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT LFA1 FROM LFA1.
MESSAGE 'SUCCESSFULL INSERTION' TYPE 'S'.
IF LFB1 IS NOT INITIAL.
LFB1-LIFNR = LFA1-LIFNR.
INSERT LFB1 FROM LFB1.
ENDIF.
IF LFBK IS NOT INITIAL.
LFBK-LIFNR = LFA1-LIFNR.
INSERT LFBK FROM TABLE IT_LFBK ACCEPTING DUPLICATE KEYS.
ENDIF.
ENDCASE.
ENDMODULE.
" USER_COMMAND_4001 INPUT
*&---------------------------------------------------------------------*
*&
Module CANCEL_4001 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE CANCEL_4001 INPUT.
DATA V_ANSWER(1) TYPE C.
IF SY-UCOMM = 'CANCEL'.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TEXT_QUESTION
TEXT_BUTTON_1

= 'DO YOU WANT CANCEL'


= 'YES'

TEXT_BUTTON_2

= 'NO'

IMPORTING
ANSWER
.
IF V_ANSWER = '1'.
LEAVE PROGRAM.
ENDIF.

V_ANSWER

ENDIF.
ENDMODULE.
" CANCEL_4001 INPUT
*&---------------------------------------------------------------------*
*&
Module MOVE_DATA_FROM_TC_ITAB_4300 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE MOVE_DATA_FROM_TC_ITAB_4300 INPUT.
LFBK-LIFNR = LFA1-LIFNR.
APPEND LFBK TO IT_LFBK.
ENDMODULE.
" MOVE_DATA_FROM_TC_ITAB_4300 INPUT
*&---------------------------------------------------------------------*
*&
Module REFRESH_4300 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
" REFRESH_4300 INPUT
*&---------------------------------------------------------------------*
*&
Module REFRESH_ITAB_4300 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE REFRESH_ITAB_4300 INPUT.
REFRESH IT_LFBK.
ENDMODULE.
" REFRESH_ITAB_4300 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_4300 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_4300 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
ENDMODULE.

" STATUS_4300

OUTPUT

*&---------------------------------------------------------------------*
*& Module Pool
ZMAMATA_TABLEWIZARD_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

PROGRAM

ZMAMATA_TABLEWIZARD_UI.

***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'BANK_DETAILS'


*&SPWIZARD: DEFINITION OF DDIC-TABLE
TABLES:
BNKA.
*&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'BANK_DETAILS'
TYPES: BEGIN OF T_BANK_DETAILS,
BANKS LIKE BNKA-BANKS,
BANKL LIKE BNKA-BANKL,
BANKA LIKE BNKA-BANKA,
ORT01 LIKE BNKA-ORT01,
END OF T_BANK_DETAILS.
*&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'BANK_DETAILS'
DATA:
G_BANK_DETAILS_ITAB
TYPE T_BANK_DETAILS OCCURS 0,
G_BANK_DETAILS_WA
TYPE T_BANK_DETAILS. "work area
DATA:
G_BANK_DETAILS_COPIED.
"copy flag
*&SPWIZARD: DECLARATION OF TABLECONTROL 'BANK_DETAILS' ITSELF
CONTROLS: BANK_DETAILS TYPE TABLEVIEW USING SCREEN 2000.
*&SPWIZARD: OUTPUT MODULE FOR TC 'BANK_DETAILS'. DO NOT CHANGE THIS LINE
*&SPWIZARD: COPY DDIC-TABLE TO ITAB
MODULE BANK_DETAILS_INIT OUTPUT.
IF G_BANK_DETAILS_COPIED IS INITIAL.
*&SPWIZARD: COPY DDIC-TABLE 'BNKA'
*&SPWIZARD: INTO INTERNAL TABLE 'g_BANK_DETAILS_itab'
SELECT * FROM BNKA
INTO CORRESPONDING FIELDS
OF TABLE G_BANK_DETAILS_ITAB.
G_BANK_DETAILS_COPIED = 'X'.
REFRESH CONTROL 'BANK_DETAILS' FROM SCREEN '2000'.
ENDIF.
ENDMODULE.
*&SPWIZARD: OUTPUT MODULE FOR TC 'BANK_DETAILS'. DO NOT CHANGE THIS LINE
*&SPWIZARD: MOVE ITAB TO DYNPRO
MODULE BANK_DETAILS_MOVE OUTPUT.
MOVE-CORRESPONDING G_BANK_DETAILS_WA TO BNKA.
ENDMODULE.
*&SPWIZARD: INPUT MODULE FOR TC 'BANK_DETAILS'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MODIFY TABLE
MODULE BANK_DETAILS_MODIFY INPUT.
MOVE-CORRESPONDING BNKA TO G_BANK_DETAILS_WA.
MODIFY G_BANK_DETAILS_ITAB
FROM G_BANK_DETAILS_WA

INDEX BANK_DETAILS-CURRENT_LINE.
ENDMODULE.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_TABSTRIP_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_TABSTRIP_UI.
TABLES: LFA1,
EKKO,
EKPO.
CONTROLS TSC TYPE TABSTRIP.
CALL SCREEN 6000.

*&---------------------------------------------------------------------*
*&
Module STATUS_6000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_6000 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_6000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_6000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_6000 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
*
WHEN 'SAVE'.
*
INSERT LFA1 FROM LFA1.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
" USER_COMMAND_6000 INPUT
*&---------------------------------------------------------------------*

*&
Module VALLIDATE_6000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE_6000 INPUT.
DATA V_LIFNR TYPE LIFNR.
IF SY-UCOMM = 'CRT'.
SELECT SINGLE LIFNR INTO V_LIFNR FROM LFA1 WHERE LIFNR = LFA1-LIFNR.
IF SY-SUBRC = 0.
MESSAGE 'ALREADY EXIST' TYPE 'E'.
ELSE.
CALL SCREEN 7000.
ENDIF.
ENDIF.
ENDMODULE.
" VALLIDATE_6000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_7000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_7000 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_7000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_7000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_7000 INPUT.

*
*
*
*

CASE SY-UCOMM.
WHEN 'TAB1'.
TSC-ACTIVETAB = 'TAB1'.
WHEN 'TAB2'.
TSC-ACTIVETAB = 'TAB2'.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT EKKO FROM EKKO.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULL CREATED' TYPE 'S'.
COMMIT WORK.
IF EKPO IS NOT INITIAL.
INSERT EKPO FROM EKPO.
ENDIF.
ENDIF.

ENDCASE.

ENDMODULE.

" USER_COMMAND_7000

INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_TABSTRIP_WIZARD_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_TABSTRIP_WIZARD_UI.
CALL SCREEN 5000.
TABLES : VBAK,
VBAP,
EKKO,
EKPO.
*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TSWC'
CONSTANTS: BEGIN OF C_TSWC,
TAB1 LIKE SY-UCOMM VALUE 'TAB1',
TAB2 LIKE SY-UCOMM VALUE 'TAB2',
TAB3 LIKE SY-UCOMM VALUE 'TAB3',
END OF C_TSWC.
*&SPWIZARD: DATA FOR TABSTRIP 'TSWC'
CONTROLS: TSWC TYPE TABSTRIP.
DATA:
BEGIN OF G_TSWC,
SUBSCREEN
LIKE SY-DYNNR,
PROG
LIKE SY-REPID VALUE 'ZMAMATA_TABSTRIP_WIZARD_UI',
PRESSED_TAB LIKE SY-UCOMM VALUE C_TSWC-TAB1,
END OF G_TSWC.
DATA:
OK_CODE LIKE SY-UCOMM.
*&SPWIZARD: OUTPUT MODULE FOR TS 'TSWC'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: SETS ACTIVE TAB
MODULE TSWC_ACTIVE_TAB_SET OUTPUT.
TSWC-ACTIVETAB = G_TSWC-PRESSED_TAB.
CASE G_TSWC-PRESSED_TAB.
WHEN C_TSWC-TAB1.
G_TSWC-SUBSCREEN = '5001'.
WHEN C_TSWC-TAB2.
G_TSWC-SUBSCREEN = '5002'.
WHEN C_TSWC-TAB3.
G_TSWC-SUBSCREEN = '5003'.
WHEN OTHERS.
*&SPWIZARD:
DO NOTHING

ENDCASE.
ENDMODULE.
*&SPWIZARD: INPUT MODULE FOR TS 'TSWC'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: GETS ACTIVE TAB
MODULE TSWC_ACTIVE_TAB_GET INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN C_TSWC-TAB1.
G_TSWC-PRESSED_TAB = C_TSWC-TAB1.
WHEN C_TSWC-TAB2.
G_TSWC-PRESSED_TAB = C_TSWC-TAB2.
WHEN C_TSWC-TAB3.
G_TSWC-PRESSED_TAB = C_TSWC-TAB3.
WHEN OTHERS.
*&SPWIZARD:
DO NOTHING
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module STATUS_5000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_5000 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_5000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_5000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_5000 INPUT.
DATA V_VKORG TYPE VKORG.
CASE SY-UCOMM.
WHEN 'CRT'.
SELECT SINGLE VKORG INTO V_VKORG FROM VBAK WHERE VKORG = VBAK-VKORG.
IF SY-SUBRC = 0.
MESSAGE 'ALREADY EXIST' TYPE 'S'.
ELSE.
CALL SCREEN 6000.
ENDIF.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN
'SAVE'.
INSERT VBAK FROM VBAK.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'S'.

ELSE.
MESSAGE 'NOT INSERTED' TYPE 'E'.
ENDIF.
IF VBAP IS NOT INITIAL.
INSERT VBAP FROM VBAP.
ENDIF.
ENDCASE.
ENDMODULE.

" USER_COMMAND_5000

INPUT

*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TSWC1'


CONSTANTS: BEGIN OF C_TSWC1,
TAB1 LIKE SY-UCOMM VALUE 'TAB1',
TAB2 LIKE SY-UCOMM VALUE 'TAB2',
END OF C_TSWC1.
*&SPWIZARD: DATA FOR TABSTRIP 'TSWC1'
CONTROLS: TSWC1 TYPE TABSTRIP.
DATA:
BEGIN OF G_TSWC1,
SUBSCREEN
LIKE SY-DYNNR,
PROG
LIKE SY-REPID VALUE 'ZMAMATA_TABSTRIP_WIZARD_UI',
PRESSED_TAB LIKE SY-UCOMM VALUE C_TSWC1-TAB1,
END OF G_TSWC1.
*&SPWIZARD: OUTPUT MODULE FOR TS 'TSWC1'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: SETS ACTIVE TAB
MODULE TSWC1_ACTIVE_TAB_SET OUTPUT.
TSWC1-ACTIVETAB = G_TSWC1-PRESSED_TAB.
CASE G_TSWC1-PRESSED_TAB.
WHEN C_TSWC1-TAB1.
G_TSWC1-SUBSCREEN = '6001'.
WHEN C_TSWC1-TAB2.
G_TSWC1-SUBSCREEN = '6002'.
WHEN OTHERS.
*&SPWIZARD:
DO NOTHING
ENDCASE.
ENDMODULE.
*&SPWIZARD: INPUT MODULE FOR TS 'TSWC1'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: GETS ACTIVE TAB
MODULE TSWC1_ACTIVE_TAB_GET INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN C_TSWC1-TAB1.
G_TSWC1-PRESSED_TAB = C_TSWC1-TAB1.
WHEN C_TSWC1-TAB2.
G_TSWC1-PRESSED_TAB = C_TSWC1-TAB2.
WHEN OTHERS.
*&SPWIZARD:
DO NOTHING
ENDCASE.

ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module STATUS_6000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_6000 OUTPUT.
SET PF-STATUS 'ZSTATUS'.

ENDMODULE.
" STATUS_6000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_6000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_6000 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN
'SAVE'.
INSERT EKKO FROM EKKO.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'S'.
ELSE.
MESSAGE 'NOT INSERTED' TYPE 'E'.
ENDIF.
IF EKPO IS NOT INITIAL.
INSERT EKPO FROM EKPO.
ENDIF.
ENDCASE.
ENDMODULE.

" USER_COMMAND_6000

INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_TEST_DBTABLE_UI
*&
*&---------------------------------------------------------------------*
*&

*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_TEST_DBTABLE_UI.
TABLES ZMAMATA_WIPRO.
CALL SCREEN 2000.
*&---------------------------------------------------------------------*
*&
Module STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2000 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
" STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2000 INPUT.
CASE
SY-UCOMM .
WHEN 'BACK' .
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT ZMAMATA_WIPRO FROM ZMAMATA_WIPRO.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'S'.
ELSE.
MESSAGE 'SUCCESSFULLY INSERTED' TYPE 'E'.
ENDIF.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
" USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*&
Module PRIARITY_CHECKBOX_2000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE PRIARITY_CHECKBOX_2000 OUTPUT.
types :

BEGIN OF VRM_VALUE,
KEY(40) TYPE C,
TEXT(80) TYPE C,
END OF VRM_VALUE.
data : it_values type TABLE OF VRM_VALUE,
WA_VALUES TYPE VRM_VALUE.

refresh it_values.
*Fill it_values with the List of Possible Values
clear wa_values.
wa_values-KEY = 'S-'.
WA_VALUES-TEXT = 'SAP'.
APPEND WA_VALUES TO IT_VALUES.
clear wa_values.
wa_values-KEY = 'A-'.
WA_VALUES-TEXT = 'ABAP'.
APPEND WA_VALUES TO IT_VALUES.
clear wa_values.
wa_values-KEY = 'B-'.
WA_VALUES-TEXT = 'BPC'.
APPEND WA_VALUES TO IT_VALUES.

*
*
*

*
*

CALL FUNCTION 'VRM_SET_VALUES'


EXPORTING
ID
= 'ZMAMATA_WIPRO-PRIARITY'
VALUES
= it_values
EXCEPTIONS
ID_ILLEGAL_NAME
= 1
OTHERS
= 2
.
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.

" PRIARITY_CHECKBOX_2000

OUTPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_TRAFFICLIGHTS_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_TRAFFICLIGHTS_ALV.
TYPE-POOLS SLIS.

TYPES BEGIN OF TY_LIKP.


INCLUDE STRUCTURE LIKP.
TYPES TRAFFIC TYPE I.
TYPES END OF TY_LIKP.

DATA : IT_LIKP TYPE TABLE OF TY_LIKP,


WA_LIKP TYPE TY_LIKP,
IS_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT * INTO TABLE IT_LIKP FROM LIKP UP TO 30 ROWS.
CLEAR WA_LIKP.
WA_LIKP-TRAFFIC = 1.
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING TRAFFIC
WHERE LPRIO = '01'.
CLEAR WA_LIKP.
WA_LIKP-TRAFFIC = 2.
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING TRAFFIC
WHERE LPRIO = '02'.
CLEAR WA_LIKP.
WA_LIKP-TRAFFIC = 3.
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING TRAFFIC
WHERE LPRIO = '03'.

IS_LAYOUT-LIGHTS_FIELDNAME = 'TRAFFIC'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME
IS_LAYOUT
TABLES
T_OUTTAB

= 'LIKP'
=

IS_LAYOUT

= IT_LIKP.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_VALLIDATION_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_VALLIDATION_UI.
TABLES KNA1.
CALL SCREEN 2000.

*&---------------------------------------------------------------------*
*&
Module STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_2000 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
ENDMODULE.
" STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_2000 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT KNA1 FROM KNA1.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
" USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
*&
Module VALLIDATE_2000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE_2000 INPUT.
DATA : V_KUNNR TYPE KUNNR,
V_ORT01 TYPE ORT01.
CASE SY-UCOMM.
WHEN 'CRT'.
SELECT SINGLE KUNNR INTO V_KUNNR FROM KNA1 WHERE KUNNR = V_KUNNR.

SELECT SINGLE ORT01 INTO V_ORT01 FROM KNA1 WHERE KUNNR = V_ORT01.
IF SY-SUBRC = 0.
MESSAGE 'RECORD ALREDY EXIST' TYPE 'E'.
ENDIF.
ENDCASE.
ENDMODULE.
" VALLIDATE_2000 INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_VEN_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_VEN_UI.

TABLES: LFA1,
LFB1.
CONTROLS TSC1 TYPE TABSTRIP.
"CALL SCREEN 1000.
*&---------------------------------------------------------------------*
*&
Module VALLIDATE_LFA1 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE VALLIDATE_LFA1 INPUT.
DATA V_LIFNR TYPE LIFNR.
IF SY-UCOMM = 'CRT'.
SELECT LIFNR INTO V_LIFNR FROM LFA1 UP TO 1 ROWS WHERE LIFNR = LFA1-LIFNR.
ENDSELECT.
IF SY-SUBRC = 0. "Record Already Exist
MESSAGE 'Already Exist' TYPE 'E'.
ELSE.
CALL SCREEN 6000.
ENDIF.
ENDIF.
ENDMODULE.
" VALLIDATE_LFA1 INPUT
*&---------------------------------------------------------------------*

*&
Module STATUS_1000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_1000 OUTPUT.
SET PF-STATUS 'ZSTATUS1000'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
" STATUS_1000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_1000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_1000 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_1000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_1001 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*MODULE STATUS_1001 OUTPUT.
* SET PF-STATUS 'ZSTATUS1001'.
** SET TITLEBAR 'xxx'.
*
*ENDMODULE.
" STATUS_1001 OUTPUT
**&---------------------------------------------------------------------*
**&
Module USER_COMMAND_1001 INPUT
**&---------------------------------------------------------------------*
**
text
**----------------------------------------------------------------------*
*MODULE USER_COMMAND_1001 INPUT.
*
IF SY-UCOMM = 'SAVE'.
*
INSERT LFA1 FROM LFA1.
*
IF SY-SUBRC = 0.
*
MESSAGE 'Successful Creation' TYPE 'S'.
*
ENDIF.
*ELSEIF SY-UCOMM = 'BACK'.
*
LEAVE TO SCREEN 0. "Aleays Back to Previous Screen
*ELSEIF SY-UCOMM = 'NXT'.
* CALL SCREEN 1002.
* ENDIF.
*ENDMODULE.
" USER_COMMAND_1001 INPUT
**&---------------------------------------------------------------------*
**&
Module USER_COMMAND_6000 INPUT
**&---------------------------------------------------------------------*

**
text
**----------------------------------------------------------------------*
MODULE USER_COMMAND_6000 INPUT.
CASE SY-UCOMM.
WHEN 'TAB1'.
TSC1-ACTIVETAB = 'TAB1'. "FCODE OF TAB1
WHEN 'TAB2'.
TSC1-ACTIVETAB = 'TAB2'. "FCODE OF TAB2
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
INSERT LFA1 FROM LFA1.
IF SY-SUBRC = 0.
MESSAGE 'Successful Creation' TYPE 'S'.
COMMIT WORK.
IF LFB1 IS NOT INITIAL .
INSERT LFB1 FROM LFB1.
ENDIF.
ENDIF.
ENDCASE.
ENDMODULE.
" USER_COMMAND_6000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_6000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_6000 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
* SET TITLEBAR 'xxx'.
ENDMODULE.

" STATUS_6000

OUTPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_VEND_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_VEND_UI.
TABLES LFA1.
CALL SCREEN 3000.

*&---------------------------------------------------------------------*
*&
Module STATUS_3000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_3000 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_3000 OUTPUT
*
*&
Module USER_COMMAND_3000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_3000 INPUT.
DATA V_LIFNR TYPE LIFNR.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'DSP'.
SELECT SINGLE LIFNR INTO V_LIFNR FROM LFA1 WHERE LIFNR = LFA1LIFNR.
IF SY-SUBRC = 0.
SELECT SINGLE * INTO LFA1 FROM LFA1 WHERE LIFNR = LFA1-LIFNR.
CALL SCREEN 3001 STARTING AT 10 10.
ELSE.
MESSAGE 'VENDOR DOES NOT EXIST' TYPE 'S'.
ENDIF.
WHEN 'VL'.
SELECT SINGLE * INTO LFA1 FROM LFA1 WHERE LIFNR = LFA1-LIFNR.
LEAVE TO LIST-PROCESSING.
WRITE : / LFA1-LIFNR,LFA1-NAME1.
ENDCASE.

ENDMODULE.
" USER_COMMAND_3000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_3001 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_3001 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_3001 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_3001 INPUT
*&---------------------------------------------------------------------*
*
text

*----------------------------------------------------------------------*
MODULE USER_COMMAND_3001 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'ENTER'.
CALL SCREEN 3002.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
" USER_COMMAND_3001 INPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_3002 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_3002 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_3002 INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATA_VEND_UI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATA_VENDOR_UI.
TABLES LFA1.
"CALL SCREEN 3000.

*&---------------------------------------------------------------------*
*&
Module STATUS_3000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_3000 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.

ENDMODULE.
" STATUS_3000 OUTPUT
*
*&
Module USER_COMMAND_3000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_3000 INPUT.
DATA V_LIFNR TYPE LIFNR.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN 'DSP'.
SELECT SINGLE LIFNR INTO V_LIFNR FROM LFA1 WHERE LIFNR = LFA1LIFNR.
" SELECT SINGLE NAME1 INTO V_LIFNR FROM LFA1 WHERE NAME1 = LFA1NAME1.
IF SY-SUBRC = 0.
SELECT SINGLE * INTO LFA1 FROM LFA1 WHERE LIFNR = LFA1-LIFNR.
CALL SCREEN 3001 STARTING AT 10 10.
ELSE.
MESSAGE 'VENDOR DOES NOT EXIST' TYPE 'E'.
ENDIF.
WHEN 'VL'.
SELECT SINGLE * INTO LFA1 FROM LFA1 WHERE LIFNR = LFA1-LIFNR.
LEAVE TO LIST-PROCESSING.
WRITE : / LFA1-LIFNR,LFA1-NAME1.
ENDCASE.

ENDMODULE.
" USER_COMMAND_3000 INPUT
*&---------------------------------------------------------------------*
*&
Module STATUS_3001 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_3001 OUTPUT.
SET PF-STATUS 'ZSTATUS1'.
ENDMODULE.
" STATUS_3001 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_3001 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_3001 INPUT.

CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 3000.
WHEN 'ENTER'.
CALL SCREEN 3002.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
" USER_COMMAND_3001 INPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_3002 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_3002 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
" USER_COMMAND_3002 INPUT

*&---------------------------------------------------------------------*
*& Report ZMAMATAS_AT_USER_COMMAND_9AM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATAS_AT_USER_COMMAND_9AM NO STANDARD PAGE HEADING LINE-COUNT 20 .

TYPES : BEGIN OF TY_VBAK,


VBELN TYPE VBELN_VA, "sales document.
ERDAT TYPE ERDAT,
END OF
TY_VBAK.
TYPES : BEGIN OF TY_VBAP,
VBELN TYPE VBELN_VA,
MATNR TYPE MATNR, "material number.
END OF TY_VBAP.
DATA : IT_VBAK TYPE TABLE OF TY_VBAK,
WA_VBAK TYPE
TY_VBAK,
IT_SELECT_VBAK TYPE TABLE OF TY_VBAK,
IT_VBAP TYPE TABLE OF TY_VBAP,
WA_VBAP TYPE
TY_VBAP,
V_BOX(2) TYPE
c,
V_LINES TYPE
I,

V_VBELN TYPE
VBELN.
SELECT-OPTIONS S_VBELN FOR V_VBELN DEFAULT 1000 TO 8000.
SELECT VBELN ERDAT INTO TABLE IT_VBAK FROM VBAK WHERE VBELN
IF IT_VBAK IS NOT INITIAL.
SET PF-STATUS 'GETSTATUS'.
PERFORM DISPLAY.
ELSE.
MESSAGE 'NO DATA' TYPE 'E'.
ENDIF.

IN

S_VBELN.

AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SEL'.
V_BOX = 'X'.
PERFORM DISPLAY.
WHEN 'DESEL'.
V_BOX = ' '.
PERFORM DISPLAY.
WHEN 'DOWNLOADS'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME

= 'C:\EMAX\MAMATHA\VBAK.TXT'

WRITE_FIELD_SEPARATOR
= 'g'
TABLES
DATA_TAB
= IT_VBAK
.
IF SY-SUBRC = 0.
MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'.
ENDIF.
"PERFORM SELECT_FIELDS.
WHEN 'GETMAT'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= WA_VBAK-VBELN
IMPORTING
OUTPUT
= WA_VBAK-VBELN
.
"PERFORM SELECT_FIELDS.
"IF IT_SELECT_VBAK IS NOT INITIAL.
SELECT VBELN MATNR INTO TABLE IT_VBAP FROM VBAP.
" WHERE VBELN IN IT_VBAPVBELN."FOR ALL ENTRIES IN IT_SELECT_VBAK WHERE VBELN = IT_SELECT_VBAK.
*
where VBELN IN IT_VBAP-VBELN.
IF IT_VBAP IS NOT INITIAL.
LOOP AT IT_VBAP INTO WA_VBAP.
WRITE : / WA_VBAP-VBELN,WA_VBAP-MATNR.

ENDLOOP.
ELSE.
MESSAGE 'NO MATERIALS FOR THE SELECTED DOCUMENT' TYPE 'E'.
ENDIF.
"ELSE.
MESSAGE 'NO RECORDS SELECTED' TYPE 'S'.
"ENDIF.

ENDCASE.

TOP-OF-PAGE.
WRITE : / 'SALESDOCUMENT' COLOR 1, 20 'DATE' COLOR 2.
FORM SELECT_FIELDS.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES.
READ LINE SY-INDEX FIELD VALUE V_BOX WA_VBAK-VBELN WA_VBAK-ERDAT.
IF V_BOX = 'X'.
APPEND WA_VBAK TO IT_SELECT_VBAK.
ENDIF.
ENDDO.
ENDFORM.
FORM DISPLAY.
LOOP AT IT_VBAK INTO WA_VBAK.
WRITE : / V_BOX AS CHECKBOX ,WA_VBAK-VBELN COLOR 1,20 WA_VBAKERDAT COLOR 2.
ENDLOOP.
ENDFORM.

*&---------------------------------------------------------------------*
*& Report ZMAMATAS_STATIC_GLOBAL
*&
*&---------------------------------------------------------------------*
*&
*&

*&---------------------------------------------------------------------*
REPORT ZMAMATAS_STATIC_GLOBAL.
START-OF-SELECTION.
ZMAMATA_STATIC=>BOOK_ROOM( FROM = 'FIRST' TO = 'FIFTH' NAME = 'AMITA' AGE =
'10').
ZMAMATA_STATIC=>BOOK_ROOM(
'10').

FROM = 'FIRST' TO = 'FIFTH' NAME = 'MAMATA' AGE =

ZMAMATA_STATIC=>BOOK_ROOM(
10').

FROM = 'FIRST' TO = 'FIFTH' NAME = 'HEMA' AGE = '

*&---------------------------------------------------------------------*
*& Report ZMAMATA_STATIC_VS_INSTANCE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZMAMATAS_STATIC_VS_INSTANCE.

CLASS LCL_HOTEL DEFINITION.


PUBLIC SECTION.
CLASS-METHODS : BOOK_ROOM IMPORTING FROM TYPE STRING TO TYPE STRING
NAME TYPE STRING AGE TYPE I.
CLASS-DATA
ENDCLASS.

SNO TYPE I.

CLASS LCL_HOTEL IMPLEMENTATION.


METHOD BOOK_ROOM.
SNO = SNO + 1.
WRITE : / 'SUCCESSFULLY ALLOCATED THE ROOMS'.
WRITE : / SNO COLOR 2, NAME COLOR 3,FROM COLOR 4,TO COLOR 5.
ENDMETHOD.
ENDCLASS.
**DATA : OBJ1 TYPE REF TO LCL_HOTEL,
**
OBJ2 TYPE REF TO LCL_HOTEL,
**
OBJ3 TYPE REF TO LCL_HOTEL.
START-OF-SELECTION.
**CREATE OBJECT : OBJ1,OBJ2,OBJ3.
**CALL METHOD OBJ1>BOOK_ROOM EXPORTING FROM = 'FIRST' TO = 'FIFTH' NAME = 'AMITA' AGE = '10'.
**CALL METHOD OBJ2>BOOK_ROOM EXPORTING FROM = 'FIRST' TO = 'FIFTH' NAME = 'MAMATA' AGE = '10'.
**CALL METHOD OBJ3>BOOK_ROOM EXPORTING FROM = 'FIRST' TO = 'FIFTH' NAME = 'HEMA' AGE = '10'.

LCL_HOTEL=>BOOK_ROOM( FROM = 'FIRST' TO = 'FIFTH' NAME = 'AMITA' AGE = '10')


.
LCL_HOTEL=>BOOK_ROOM( FROM = 'FIRST' TO = 'FIFTH' NAME = 'MAMATA' AGE = '10')
.
LCL_HOTEL=>BOOK_ROOM( FROM = 'FIRST' TO = 'FIFTH' NAME = 'HEMA' AGE = '10').

*&---------------------------------------------------------------------*
*& Report ZMAMATA_TRAFFICLIGHTS_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMAMATAS_TRAFFICLIGHTS_ALV.
TYPE-POOLS SLIS.
TYPES : BEGIN OF TY_LIKP,
VBELN TYPE LIKP-VBELN,
LPRIO TYPE LIKP-LPRIO,
ROW(5) TYPE C,
TRAFFIC TYPE I,
CELL TYPE SLIS_T_SPECIALCOL_ALV ,
END OF TY_LIKP.
TYPES : BEGIN OF TY_TEMP,
VBELN TYPE LIKP-VBELN,
LPRIO TYPE LIKP-LPRIO,
END OF TY_TEMP.

DATA : IT_LIKP TYPE TABLE OF TY_LIKP,


WA_LIKP TYPE TY_LIKP,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE LINE OF SLIS_T_EVENT,
IS_LAYOUT TYPE SLIS_LAYOUT_ALV,

IT_TEMP_LIKP TYPE TABLE OF TY_TEMP,


WA_TEMP_LIKP TYPE TY_TEMP.

SELECT VBELN LPRIO

INTO TABLE IT_TEMP_LIKP FROM LIKP UP TO 30 ROWS.

CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'TOP_OF_PAGE'.
WA_EVENTS-FORM = 'PRINT_HEADER'.
APPEND WA_EVENTS TO IT_EVENTS.
PERFORM FIELDCAT_DETAILS.
DATA : IT_LIKP1 TYPE SLIS_T_SPECIALCOL_ALV,
WA_LIKP1 TYPE LINE OF SLIS_T_SPECIALCOL_ALV.
LOOP AT IT_TEMP_LIKP INTO WA_TEMP_LIKP.
MOVE-CORRESPONDING WA_TEMP_LIKP TO WA_LIKP.
APPEND WA_LIKP TO IT_LIKP.
CLEAR : WA_LIKP, WA_TEMP_LIKP.
ENDLOOP.
CLEAR WA_LIKP1.
WA_LIKP1-FIELDNAME
= 'VBELN'.
WA_LIKP1-COLOR-COL = 5.
WA_LIKP1-COLOR-INT = 1.
WA_LIKP1-COLOR-INV = 1.
APPEND WA_LIKP1 TO IT_LIKP1.
WA_LIKP-CELL = IT_LIKP1.
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING CELL WHERE VBELN = '0080003384'.
IS_LAYOUT-coltab_fieldname = 'CELL'.

CLEAR WA_LIKP.
WA_LIKP-ROW = 'C511'.
MODIFY IT_LIKP FROM WA_LIKP
transporting
IS_LAYOUT-INFO_FIELDNAME = 'ROW'.

ROW WHERE LPRIO = '01'.

CLEAR WA_LIKP.
WA_LIKP-TRAFFIC = 1.
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING TRAFFIC

WHERE LPRIO = '01'.


CLEAR WA_LIKP.
WA_LIKP-TRAFFIC = 2.
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING TRAFFIC
WHERE LPRIO = '02'.
CLEAR WA_LIKP.
WA_LIKP-TRAFFIC = 3.
MODIFY IT_LIKP FROM WA_LIKP TRANSPORTING TRAFFIC
WHERE LPRIO = '03'.

IS_LAYOUT-LIGHTS_FIELDNAME = 'TRAFFIC'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM
= SY-CPROG
IS_LAYOUT
= IS_LAYOUT
IT_FIELDCAT
= IT_FIELDCAT
IT_EVENTS
= IT_EVENTS
TABLES
T_OUTTAB

= IT_LIKP
.

FORM FIELDCAT_DETAILS.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-COL_POS = '1'.
WA_FIELDCAT-SELTEXT_M = 'DELIVERY'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LPRIO '.
WA_FIELDCAT-COL_POS = '2'.
WA_FIELDCAT-SELTEXT_M = 'DELIVERY PRIORITY'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.

ENDFORM.
FORM PRINT_HEADER.

DATA : IT_LIST TYPE SLIS_T_LISTHEADER,


WA_LIST TYPE LINE OF SLIS_T_LISTHEADER.
CLEAR WA_LIST.
WA_LIST-TYP = 'H'.
WA_LIST-INFO = 'DELIVERY REPORT'.
APPEND WA_LIST TO IT_LIST.

*
*
*

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'


EXPORTING
IT_LIST_COMMENTARY
= IT_LIST
I_LOGO
=
I_END_OF_LIST_GRID
=
I_ALV_FORM
=
.

ENDFORM.
report ZMAMA1
no standard page heading line-size 255.
include bdcrecx1.
start-of-selection.
perform open_group.
perform bdc_dynpro
perform bdc_field
perform
perform
perform
perform
perform
perform
perform
perform
perform

using 'ZMAMATA_BDC_EKPO' '4000'.


using 'BDC_OKCODE'
'=CRT'.
bdc_field
using 'BDC_CURSOR'
'EKKO-EBELN'.
bdc_field
using 'EKKO-EBELN'
'30'.
bdc_dynpro
using 'ZMAMATA_BDC_EKPO' '4100'.
bdc_field
using 'BDC_OKCODE'
'=SAVE'.
bdc_field
using 'BDC_CURSOR'
'EKKO-SPRAS'.
bdc_field
using 'EKKO-BUKRS'
'300'.
bdc_field
using 'EKKO-LIFNR'
'3000'.
bdc_field
using 'EKKO-SPRAS'
'EN'.
bdc_transaction using 'ZMSR'.

perform close_group.

*&---------------------------------------------------------------------*
*& Report ZDEMO_BDC_FI01
*
*&
*
*&---------------------------------------------------------------------*
*&
*
*&
*
*&---------------------------------------------------------------------*
REPORT

ZDEMO_BDC_FI01

types: begin of ty_BNKA,


BANKS type BNKA-BANKS,
BANKL type BNKA-BANKL,
BANKA type BNKA-BANKA,
end of ty_BNKA.
data : itab type table of ty_BNKA,
wa
type ty_BNKA,
wa_bdcdata type bdcdata,
it_bdcdata type table of bdcdata,
V_BANKL
TYPE BANKL.

call function 'GUI_UPLOAD'


exporting
filename
has_field_separator
tables
data_tab
.

= 'D:\FI01.TXT'
= 'T' "Tab
= itab

loop at itab into wa.


perform bdc_dynpro using 'SAPMF02B' '100'.
perform bdc_field using 'BNKA-BANKS' wa-BANKS.
perform bdc_field using 'BNKA-BANKL' wa-BANKL.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_dynpro using 'SAPMF02B' '110'.
perform bdc_field using 'BNKA-BANKA' wa-BANKA..
perform bdc_field using 'BDC_OKCODE' '=UPDA'.
call transaction 'FI01' using it_bdcdata MODE 'N'. "UPDATE 'S'.
IF SY-SUBRC = 0. "Successful
WRITE : / 'Bank', wa-bankl, 'Is Created Successfully'.
SELECT SINGLE BANKL INTO V_BANKL FROM BNKA
WHERE BANKS = WA-BANKS
AND
BANKL = WA-BANKL.
IF SY-SUBRC = 0.
WRITE : / WA-BANKL, 'Found in DB'.
ELSE.

WRITE : / WA-BANKL, 'Not Found in DB'.


ENDIF.
ENDIF.
refresh it_bdcdata.
endloop.

FORM BDC_FIELD USING FP_FNAM TYPE C FP_FVAL TYPE C.


CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = FP_FNAM.
WA_BDCDATA-FVAL = FP_FVAL.
APPEND WA_BDCDATA TO IT_BDCDATA.
ENDFORM.
FORM BDC_DYNPRO USING
CLEAR WA_BDCDATA.
WA_BDCDATA-DYNBEGIN
WA_BDCDATA-PROGRAM
WA_BDCDATA-DYNPRO
APPEND WA_BDCDATA TO
ENDFORM.

FP_PROGRAM TYPE C FP_DYNPRO

TYPE C.

= 'X'.
= FP_PROGRAM.
= FP_DYNPRO.
IT_BDCDATA.

*&---------------------------------------------------------------------*
*& Report ZMAMATA_BDC_PROGRAMS
*
*&
*
*&---------------------------------------------------------------------*
*&
*
*&
*
*&---------------------------------------------------------------------*
REPORT

ZMAMATA_BDC_PROGRAMS.

DATA : V_KUNNR TYPE KUNNR.


TYPES: BEGIN OF TY_FILE,
KUNNR TYPE KUNNR,
LAND1 TYPE LAND1_GP,
NAME1 TYPE NAME1_GP,
ORT01 TYPE ORT01_GP,
SORTL TYPE SORTL,
END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE BDCDATA.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
= 'D:\MAMATA\KNA1.TXT'

HAS_FIELD_SEPARATOR = 'T'
TABLES
DATA_TAB
= IT_FILE.
IF IT_FILE IS NOT INITIAL.
LOOP AT IT_FILE INTO WA_FILE.
REFRESH
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM
PERFORM

IT_BDCDATA.
BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2000'.
BDC_FIELD USING 'BDC_OKCODE' 'CRT'.
BDC_FIELD USING
'KNA1-KUNNR' WA_FILE-KUNNR.
BDC_DYNPRO USING 'ZMAMATA_SCREENS_BDC' '2100'.
BDC_FIELD
USING 'BDC_OKCODE' 'SAVE'.
BDC_FIELD USING
'KNA1-LAND1' WA_FILE-LAND1.
BDC_FIELD USING
'KNA1-NAME1' WA_FILE-NAME1.
BDC_FIELD USING
'KNA1-ORT01' WA_FILE-ORT01.
BDC_FIELD USING
'KNA1-SORTL' WA_FILE-SORTL.

CALL TRANSACTION 'ZMVS' USING IT_BDCDATA.


SELECT SINGLE KUNNR INTO V_KUNNR FROM KNA1
WHERE KUNNR =

WA_FILE-KUNNR

AND LAND1 = WA_FILE-LAND1


.

IF SY-SUBRC = 0.
WRITE : / 'RECORD IS SUCCESSFULLY INSERTED'.
ELSE.
WRITE : / 'RECORD IS NOT SUCCESSFULLY INSERTD'.
ENDIF.
ENDLOOP.
ELSE.
MESSAGE 'NO DATA FOUND' TYPE 'S'.
ENDIF.
FORM BDC_DYNPRO USING FP_PROGRAM TYPE C FP_DYNPRO TYPE C.
CLEAR WA_BDCDATA.
WA_BDCDATA-DYNBEGIN = 'X'.
WA_BDCDATA-PROGRAM = FP_PROGRAM.
WA_BDCDATA-DYNPRO = FP_DYNPRO.
APPEND WA_BDCDATA TO IT_BDCDATA.
ENDFORM.
FORM BDC_FIELD USING FP_FNAM TYPE C FP_FVAL TYPE C.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = FP_FNAM.
WA_BDCDATA-FVAL = FP_FVAL.
APPEND WA_BDCDATA TO IT_BDCDATA.
ENDFORM.

report ZMAMATA_PROJECT_BDC no standard page heading line-size 255.


TYPES : BEGIN OF TY_FILE,
ANLKL TYPE ANLA-ANLKL,
BUKRS TYPE ANLA-BUKRS,
NASSETS TYPE RA02S-NASSETS,
TXT50
TYPE ANLA-TXT50,
MENGE
TYPE ANLA-MENGE,
MEINS
TYPE ANLA-MEINS,
GSBER
TYPE ANLZ-GSBER,
KOSTL
TYPE ANLZ-KOSTL,
WERKS
TYPE ANLZ-WERKS,
END OF TY_FILE.
DATA : IT_FILE TYPE TABLE OF TY_FILE,
WA_FILE TYPE
TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA,
WA_BDCDATA TYPE
BDCDATA.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
=

'C:\MAMATA\AS01.TXT'

HAS_FIELD_SEPARATOR
= 'T'
TABLES
DATA_TAB
= IT_FILE
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LOOP AT IT_FILE INTO WA_FILE.


REFRESH IT_BDCDATA.
perform bdc_dynpro

using 'SAPLAIST' '0105'.

perform bdc_field

using 'BDC_OKCODE'
'/00'.

perform bdc_field

using 'ANLA-ANLKL'
WA_FILE-ANLKL.

perform bdc_field

using 'ANLA-BUKRS'
WA_FILE-BUKRS.

perform bdc_field

using 'RA02S-NASSETS'
WA_FILE-NASSETS.

perform bdc_dynpro

using 'SAPLAIST' '1000'.

perform bdc_field

using 'BDC_OKCODE'
'=TAB02'.

perform bdc_field

using 'ANLA-TXT50'
WA_FILE-TXT50.

perform bdc_field

using 'ANLA-MENGE'
WA_FILE-MENGE.

perform bdc_field

using 'ANLA-MEINS'
WA_FILE-MEINS.

perform bdc_dynpro
perform bdc_field

using 'SAPLAIST' '1000'.


using 'BDC_OKCODE'
'=BUCH'.

perform bdc_field

using 'ANLZ-GSBER'
WA_FILE-GSBER.

perform bdc_field

using 'ANLZ-KOSTL'
WA_FILE-KOSTL.

perform bdc_field

using 'ANLZ-WERKS'
WA_FILE-WERKS.
CALL TRANSACTION 'AS01' USING IT_BDCDATA.
ENDLOOP.

INCLUDE ZDEMO_BDC_FORMS_9AM.

report ZMAMATA_TABLECONTROL no standard page heading line-size 255.

TYPES : BEGIN OF TY_KNA1,


KUNNR TYPE KNA1-KUNNR, "CUST NO
KTOKD TYPE KNA1-KTOKD, "ACCOUNT GROUP
LAND1 TYPE KNA1-LAND1,
"COUNTRY
NAME1 TYPE KNA1-NAME1, "NAME
"STRAS TYPE KNA1-STRAS, "STRRET
ORT01 TYPE KNA1-ORT01,
"CITY
SORTL TYPE KNA1-SORTL, "SEARCH ITEM
SPRAS TYPE KNA1-SPRAS,
"LANG
END OF TY_KNA1.
TYPES : BEGIN OF TY_KNBK,
KUNNR TYPE KNBK-KUNNR,
BANKS TYPE KNBK-BANKS,
BANKL TYPE KNBK-BANKL,
BANKN TYPE KNBK-BANKN,
END OF TY_KNBK.

"CTRY
"BANK KEY
"ACCOUNTNO

TYPES : BEGIN OF TY_FILE,


TEXT TYPE STRING,
END OF TY_FILE.
************* INTERNAL TABLES************

DATA : IT_KNA1 TYPE TABLE OF TY_KNA1,


IT_KNBK TYPE TABLE OF TY_KNBK,
IT_FILE TYPE TABLE OF TY_FILE,
IT_BDCDATA TYPE TABLE OF BDCDATA.
********** WORK AREAS***********
DATA:
WA_KNA1 TYPE TY_KNA1,
WA_KNBK TYPE TY_KNBK,
WA_FILE TYPE TY_FILE,
WA_BDCDATA TYPE BDCDATA,
V_RTYPE
TYPE STRING,
V_INDEX TYPE N,
V_FNAM TYPE STRING.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
FILENAME
*
HAS_FIELD_SEPARATOR
TABLES
DATA_TAB

'C:\MAMATA\KNA1.TXT'
= 'T'
IT_FILE

.
LOOP AT IT_FILE INTO WA_FILE.
IF

WA_FILE-TEXT+0(2) = '10'.
SPLIT WA_FILE-TEXT AT ',' INTO V_RTYPE

WA_KNA1-KUNNR
WA_KNA1-KTOKD
WA_KNA1-LAND1
WA_KNA1-NAME1
"WA_KNA1-STRAS
WA_KNA1-ORT01
WA_KNA1-SORTL
WA_KNA1-SPRAS.

APPEND WA_KNA1 TO IT_KNA1.


ELSEIF WA_FILE-TEXT+0(2) = '20'.
SPLIT WA_FILE-TEXT AT ',' INTO V_RTYPE WA_KNBK-KUNNR
WA_KNBK-BANKS
WA_KNBK-BANKL
WA_KNBK-BANKN.
APPEND WA_KNBK TO IT_KNBK.
ENDIF.
ENDLOOP.

LOOP AT IT_KNA1 INTO WA_KNA1.

REFRESH IT_BDCDATA.

perform bdc_dynpro

using 'SAPMF02D' '0100'.

perform bdc_field

using 'RF02D-KUNNR'
WA_KNA1-KUNNR.

perform bdc_field

using 'RF02D-KTOKD'
WA_KNA1-KTOKD.

perform bdc_field

using 'BDC_OKCODE'
'/00'.

perform bdc_dynpro

using 'SAPMF02D' '0110'.

perform bdc_field

using 'KNA1-NAME1'
WA_KNA1-NAME1.

perform bdc_field

using 'KNA1-SORTL'
WA_KNA1-SORTL.

perform bdc_field

using 'KNA1-ORT01'
WA_KNA1-ORT01.
using 'KNA1-SPRAS'
WA_KNA1-SPRAS.

perform bdc_field

perform bdc_field

using 'KNA1-LAND1'
WA_KNA1-LAND1.

perform bdc_field

using 'BDC_OKCODE'
'=VW'.

perform bdc_dynpro

using 'SAPMF02D' '0120'.

perform bdc_field

using 'BDC_OKCODE'
'=VW'.
using 'SAPMF02D' '0125'.

perform bdc_dynpro

perform bdc_field

using 'BDC_OKCODE'
'=VW'.

*****TABLE CONTROL****************
perform bdc_dynpro
using 'SAPMF02D' '0130'.
perform bdc_field
CLEAR V_INDEX.

using 'BDC_OKCODE'
'=UPDA'.

LOOP AT IT_KNBK INTO WA_KNBK WHERE KUNNR = WA_KNA1-KUNNR.


ADD 1 TO V_INDEX.
**** BANK COUNTRY*****
CONCATENATE 'KNBK-BANKS(' V_INDEX ')' INTO V_FNAM.
PERFORM BDC_FIELD USING V_FNAM WA_KNBK-BANKS.
****** BANK KEY*******
CONCATENATE 'KNBK-BANKL(' V_INDEX ')' INTO V_FNAM.
PERFORM BDC_FIELD USING V_FNAM WA_KNBK-BANKL.
******** ACCOUNT NUMBER************

CONCATENATE 'KNBK-BANKN(' V_INDEX ')' INTO V_FNAM.


PERFORM BDC_FIELD USING V_FNAM WA_KNBK-BANKN.
ENDLOOP.
CALL TRANSACTION 'XD01' USING IT_BDCDATA.
ENDLOOP.
INCLUDE ZDEMO_BDC_FORMS_9AM.

report ZMAMATA_TABLECONTROL_RECORDING no standard page heading line-size


include bdcrecx1.
parameters: dataset(132) lower case.
***
DO NOT CHANGE - the generated data section - DO NOT CHANGE
*
*
If it is nessesary to change the data section use the rules:
*
1.) Each definition of a field exists of two lines
*
2.) The first line shows exactly the comment
*
'* data element: ' followed with the data element
*
which describes the field.
*
If you don't have a data element use the
*
comment without a data element name
*
3.) The second line shows the fieldname of the
*
structure, the fieldname must consist of
*
a fieldname and optional the character '_' and
*
three numbers and the field length in brackets
*
4.) Each field must be type C.
*
*** Generated data section with specific formatting - DO NOT CHANGE
data: begin of record,
* data element: KUN16
KUNNR_001(016),
* data element: BUKRS
BUKRS_002(004),
* data element: BUKRS

***

***

BUKRS_003(004),
* data element: KTOKD
KTOKD_004(032),
* data element: NAME1_GP
NAME1_005(035),
* data element: SORTL
SORTL_006(010),
* data element: STRAS_GP
STRAS_007(035),
* data element: ORT01_GP
ORT01_008(035),
* data element: LAND1_GP
LAND1_009(003),
* data element: SPRAS
SPRAS_010(002),
* data element: BANKS
BANKS_01_011(003),
* data element: BANKS
BANKS_02_012(003),
* data element: BANKK
BANKL_01_013(015),
* data element: BANKK
BANKL_02_014(015),
* data element: BANKN
BANKN_01_015(018),
* data element: BANKN
BANKN_02_016(018),
* data element: KOINH_FI
KOINH_01_017(060),
* data element: KOINH_FI
KOINH_02_018(060),
* data element: BANKK
BANKL_01_019(015),
* data element: BANKK
BANKL_02_020(015),
* data element: BANKK
BANKL_02_021(015),
* data element: BANKK
BANKL_02_022(015),
* data element: BANKK
BANKL_02_023(015),
* data element: AKONT
AKONT_024(010),
end of record.
*** End generated data section ***
start-of-selection.
perform open_dataset using dataset.
perform open_group.
do.
read dataset dataset into record.

if sy-subrc <> 0. exit. endif.


perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field

using 'SAPMF02D' '0100'.


using 'BDC_CURSOR'
'RF02D-BUKRS'.
using 'BDC_OKCODE'
'/00'.
using 'RF02D-KUNNR'
record-KUNNR_001.
using 'RF02D-BUKRS'
record-BUKRS_002.
using 'SAPMF02D' '7100'.
using 'RF02D-BUKRS'
record-BUKRS_003.
using 'RF02D-KTOKD'
record-KTOKD_004.
using 'SAPMF02D' '0110'.
using 'BDC_CURSOR'
'KNA1-SPRAS'.
using 'BDC_OKCODE'
'/00'.
using 'KNA1-NAME1'
record-NAME1_005.
using 'KNA1-SORTL'
record-SORTL_006.
using 'KNA1-STRAS'
record-STRAS_007.
using 'KNA1-ORT01'
record-ORT01_008.
using 'KNA1-LAND1'
record-LAND1_009.
using 'KNA1-SPRAS'
record-SPRAS_010.
using 'SAPMF02D' '0120'.
using 'BDC_CURSOR'
'KNA1-LIFNR'.
using 'BDC_OKCODE'
'=VW'.
using 'SAPMF02D' '0125'.
using 'BDC_CURSOR'
'KNA1-NIELS'.
using 'BDC_OKCODE'
'=VW'.
using 'SAPMF02D' '0130'.
using 'BDC_CURSOR'
'KNBK-KOINH(02)'.
using 'BDC_OKCODE'
'=UPDA'.
using 'KNBK-BANKS(01)'
record-BANKS_01_011.
using 'KNBK-BANKS(02)'
record-BANKS_02_012.
using 'KNBK-BANKL(01)'
record-BANKL_01_013.
using 'KNBK-BANKL(02)'

perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_dynpro
perform bdc_field
perform bdc_dynpro

record-BANKL_02_014.
using 'KNBK-BANKN(01)'
record-BANKN_01_015.
using 'KNBK-BANKN(02)'
record-BANKN_02_016.
using 'KNBK-KOINH(01)'
record-KOINH_01_017.
using 'KNBK-KOINH(02)'
record-KOINH_02_018.
using 'SAPLBANK' '0100'.
using 'BDC_OKCODE'
'/E'.
using 'BDC_CURSOR'
'BNKA-BANKA'.
using 'SAPLBANK' '0100'.
using 'BDC_OKCODE'
'/E'.
using 'BDC_CURSOR'
'BNKA-BANKA'.
using 'SAPMF02D' '0130'.
using 'KNBK-BANKL(01)'
record-BANKL_01_019.
using 'SAPLBANK' '0100'.
using 'BDC_OKCODE'
'/E'.
using 'BDC_CURSOR'
'BNKA-BANKA'.
using 'SAPMF02D' '0130'.
using 'KNBK-BANKL(02)'
record-BANKL_02_020.
using 'SAPLBANK' '0100'.
using 'BDC_OKCODE'
'/E'.
using 'BDC_CURSOR'
'BNKA-BANKA'.
using 'SAPMF02D' '0130'.
using 'KNBK-BANKL(02)'
record-BANKL_02_021.
using 'SAPLBANK' '0100'.
using 'BDC_OKCODE'
'/E'.
using 'BDC_CURSOR'
'BNKA-BANKA'.
using 'SAPMF02D' '0130'.
using 'KNBK-BANKL(02)'
record-BANKL_02_022.
using 'SAPLBANK' '0100'.
using 'BDC_OKCODE'
'/E'.
using 'BDC_CURSOR'
'BNKA-BANKA'.
using 'SAPMF02D' '0130'.
using 'KNBK-BANKL(02)'
record-BANKL_02_023.
using 'SAPMF02D' '0210'.

perform bdc_field

using 'KNB1-AKONT'
record-AKONT_024.
perform bdc_dynpro
using 'SAPLSPO1' '0100'.
perform bdc_field
using 'BDC_OKCODE'
'=YES'.
perform bdc_transaction using 'XD01'.
enddo.
perform close_group.
perform close_dataset using dataset.

*&---------------------------------------------------------------------*
*& Report ZDEMO_SEARCH_HELPS
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_SEARCH_HELPS.

PARAMETERS : P_LAND1
TYPE YLAND1,
P_BUKRS(4) TYPE C,
p1 type c,
p2 type c.
TYPES: BEGIN OF TY_T001,
BUKRS TYPE T001-BUKRS,
BUTXT TYPE T001-BUTXT,
ORT01 TYPE T001-ORT01,
LAND1 TYPE T001-LAND1,
END OF TY_T001.
DATA : IT_T001 TYPE TABLE OF TY_T001,
WA_T001 TYPE TY_T001,
RETURN_TAB TYPE TABLE OF DDSHRETVAL,
WA
TYPE DDSHRETVAL,
IT_FIELDS TYPE TABLE OF DYNPREAD,
WA_FIELDS TYPE DYNPREAD.
.
*For the Normal Screens ->
*EVENT : PROCESS ON VALUE-REQUEST.
*
FIELD <t001-land1> MODULE <M1>. "When F4 is Pressed on Field T001LAND1

*
KUNNR

FIELD <KNA1-KUNNR> MODULE <M2>. "When F4 is Pressed on Field KNA1-

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BUKRS. "For F4


*Fill IT_FIELDS with the List Field Names For Which the Field Values
*From the Screen Has to be READ
clear wa_fields.
wa_fields-FIELDNAME = 'P_LAND1'.
APPEND WA_FIELDS TO IT_FIELDS.
*Read values of all the Screen Fields from IT_FIELDS Before Leaving the Scree
n
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME
= SY-CPROG
DYNUMB
= SY-DYNNR
*
TRANSLATE_TO_UPPER
= ' '
*
REQUEST
= ' '
*
PERFORM_CONVERSION_EXITS
= ' '
*
PERFORM_INPUT_CONVERSION
= ' '
*
DETERMINE_LOOP_INDEX
= ' '
*
START_SEARCH_IN_CURRENT_SCREEN
= ' '
*
START_SEARCH_IN_MAIN_SCREEN
= ' '
*
START_SEARCH_IN_STACKED_SCREEN
= ' '
*
START_SEARCH_ON_SCR_STACKPOS
= ' '
*
SEARCH_OWN_SUBSCREENS_FIRST
= ' '
*
SEARCHPATH_OF_SUBSCREEN_AREAS
= ' '
TABLES
DYNPFIELDS
= IT_FIELDS
* EXCEPTIONS
*
INVALID_ABAPWORKAREA
= 1
*
INVALID_DYNPROFIELD
= 2
*
INVALID_DYNPRONAME
= 3
*
INVALID_DYNPRONUMMER
= 4
*
INVALID_REQUEST
= 5
*
NO_FIELDDESCRIPTION
= 6
*
INVALID_PARAMETER
= 7
*
UNDEFIND_ERROR
= 8
*
DOUBLE_CONVERSION
= 9
*
STEPL_NOT_FOUND
= 10
*
OTHERS
= 11
.
IF SY-SUBRC = 0.
READ TABLE IT_FIELDS INTO WA_FIELDS WITH KEY FIELDNAME = 'P_LAND1'.
P_LAND1 = WA_FIELDS-FIELDVALUE.
ENDIF.
TRANSLATE P_LAND1 TO UPPER CASE.

SELECT BUKRS BUTXT ORT01 LAND1 INTO TABLE IT_T001 FROM T001
WHERE LAND1 = P_LAND1.
uline.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
*
DDIC_STRUCTURE
= ' '
RETFIELD
= 'BUKRS' "Exporting from the Selected
*
PVALKEY
= ' '
*
DYNPPROG
= ' '
*
DYNPNR
= ' '
*
DYNPROFIELD
= ' '
*
STEPL
= 0
*
WINDOW_TITLE
=
*
VALUE
= ' '
VALUE_ORG
= 'S' "Show Values
*
MULTIPLE_CHOICE
= ' '
*
DISPLAY
= ' '
*
CALLBACK_PROGRAM
= ' '
*
CALLBACK_FORM
= ' '
*
MARK_TAB
=
* IMPORTING
*
USER_RESET
=
TABLES
VALUE_TAB
= IT_T001
*
FIELD_TAB
=
RETURN_TAB
= return_tab "Return Field Value from the
"Selected Line as One Record
*
DYNPFLD_MAPPING
=
* EXCEPTIONS
*
PARAMETER_ERROR
= 1
*
NO_VALUES_FOUND
= 2
*
OTHERS
= 3
.
IF SY-SUBRC = 0.
READ TABLE RETURN_TAB INTO WA INDEX 1.
P_BUKRS = WA-FIELDVAL. "Assign RetFIeld Value to Input Field

ENDIF.

You might also like