abap all programs
DESCRIPTION
ABAP programsTRANSCRIPT
REPORT ZMAMATHA__ALL_REPORTS 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, WA_EKKO TYPE TY_EKKO, 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.SELECT-OPTIONS 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, 'CIT
Y' 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 'PURCHASE 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_LFA1-LAND1 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 = SY-LISEL+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_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.
WHEN 3.SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SY-LISEL+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 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, WA_EKKO TYPE TY_EKKO, 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.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, 'CITY' 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 'PU
RCHASE 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_LFA1-LAND1 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 = SY-LISEL+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_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.
WHEN 3.SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SY-LISEL+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 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, WA_EKKO TYPE TY_EKKO,
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, 'CITY' 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 'PURCHASE 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_LFA1-LAND1 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 IT_EKKO FROM EKKO WHERE LIFNR = V_FVAL.IF V_FNAME = 'WA_LFA1-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_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_EKPO-EBELP 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 MATNR = V_FVAL. "SY-LISEL+44(18) IF V_FNAME = 'WA_EKPO-MATNR'. IF IT_MAKT IS NOT INITIAL. "3RD 2NDRY LIST.
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 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, WA_EKKO TYPE TY_EKKO, 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.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, 'CITY' 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 'PURCHASE 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_LFA1-LAND1 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 = SY-LISEL+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_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.
WHEN 3.SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SY-LISEL+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_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 : / '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 = 'C:\EMAX\ABAP\MAMATHA\LFA1.TXT'
WRITE_FIELD_SEPARATOR = 'T'
TABLES DATA_TAB = 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 2
0(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, 'CITY' 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 'PURCHASE 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 = 'C:\MAMATHA\LFA1.TXT'
WRITE_FIELD_SEPARATOR = 'T'
tables data_tab = 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 = 'T'
tables data_tab = 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_LFA1-LAND1 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_LFA1-NAME1 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 = SY-LISEL+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_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.
WHEN 3.SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SY-LISEL+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 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, 'CITY' 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 'PURCHASE 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 = 'C:\MAMATHA\LFA1.TXT'
WRITE_FIELD_SEPARATOR = 'T'
tables data_tab = 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 = 'T'
tables data_tab = 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_LFA1-LAND1 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_LFA1-NAME1 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 = SY-LISEL+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_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.
WHEN 3.SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SY-LISEL+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 OF TY_BNKA, BANKS TYPE BNKA-BANKS, BANKL TYPE BANKL, BANKA TYPE BANKA, ORT01 TYPE ORT01, END OF 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 = 'T' TABLES DATA_TAB = 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 = T001-BUKRS. 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 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, WA_EKKO TYPE TY_EKKO, 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.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, 'CITY' 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 'PURCHASE 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_LFA1-LAND1 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 EBELN INTO TABLE IT_EKKO FROM EKKO WHERE LIFNR = WA_LFA1-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.
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_EKPO-MATNR 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_LOWIMPORTING OUTPUT = V_LOW .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING INPUT = V_HIGH IMPORTING
OUTPUT = 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_LIFNR. ENDSELECT." HERE WE ARE USING WORK AREA ENDSELECT IS MUST.* SELECT LIFNR NAME1 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR. "HERE WE ARE USING ITAB NO NEED OF ENDSELECT
* SELECT LIFNR INTO V_LIFNR FROM LFA1 WHERE LIFNR IN S_LIFNR."HERE WE ARE USING 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 TYPE KUNNR, NAME1 TYPE NAME1, ORT01 TYPE ORT01, STRAS TYPE STRAS, LAND1 TYPE LAND1, SPRAS TYPE 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 LINE-COUNT 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-OF-PAGE IN THE ABOVE SELECT STATE
MENT 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_EINE-WAERS COLOR 3.ENDLOOP. "WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER WRITE STATEMENT OR BELOW TWO LINES V_REM = SY-LINCT - SY-LINNO. "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 - SY-LINNO. "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, 'PURCHASE ORDERS' COLOR 3. LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 1, 30 WA_EKPO-BUKRS COLOR 2, 40 WA_EKPO-BPRME COLOR 3. ENDLOOP. "WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. V_REM = SY-LINCT - SY-LINNO. "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 FROM EINE UP TO 1 ROWS WHERE EKORG IN S_EKORG.
ENDSELECT. "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 COLLECTING DATA IN ITAB
*&---------------------------------------------------------------------**& Report ZMAMATHA_INTERACTIVE_PURCHAE*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT ZMAMATHA_INTERACTIVE_PURCHASE NO STANDARD PAGE HEADING LINE-COUNT 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-OF-PAGE 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_EINE-WAERS COLOR 3.ENDLOOP. "WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER WRITE STATEMENT OR BELOW TWO LINES V_REM = SY-LINCT - SY-LINNO. "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 - SY-LINNO. "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, 'PURCHASE ORDERS' COLOR 3. LOOP AT IT_EKPO INTO WA_EKPO.
WRITE : / WA_EKPO-EBELN COLOR 1, 30 WA_EKPO-BUKRS COLOR 2, 40 WA_EKPO-BPRME COLOR 3. ENDLOOP. "WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. V_REM = SY-LINCT - SY-LINNO. "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 FROM EINE UP TO 1 ROWS WHERE EKORG IN S_EKORG.
ENDSELECT. "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 COLLECTING 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 = VBAK-VKORG. 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 = '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 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_LOWIMPORTING OUTPUT = V_LOW .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING INPUT = V_HIGH IMPORTING OUTPUT = 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 = LFA1-LIFNR. 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_LIFNR.
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 = 'C:\EMAX\T001.TXT'
WRITE_FIELD_SEPARATOR = 't'
TABLES DATA_TAB = 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 RECORDSDESCRIBE 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_SELECTED_T001 WHERE BUKRS = IT_SELECTED_T001-BUKRS. 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 = SY-LISEL+0(6). "IN TABLE SIZE IS 4 BUT WE ARE TAKING 6 AND ALSO TAKE V_BUKRS TYPE AS I MEANS WRONG IN THE DATABASETABLE KNB1 "AND TAKE THE WHOLE VALUE MEANS 1000 IDES AG SO WE 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_T001-butxt 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 = 'D:\EMAX\T001.TXT'
WRITE_FIELD_SEPARATOR = 't'
TABLES DATA_TAB = 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 RECORDSDESCRIBE 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_SELECTED_T001 WHERE BUKRS = IT_SELECTED_T001-BUKRS. 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 = SY-LISEL+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_T001-butxt COLOR 2. ENDLOOP.ENDFORM.
*&---------------------------------------------------------------------**& Report ZMAMATHA__ALL_REPORTS*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT ZMAMATA_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, 'CITY' 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 'PURCHASE 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 = 'C:\MAMATHA\LFA1.TXT'
WRITE_FIELD_SEPARATOR = 'T'
tables data_tab = 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 = 'T'
tables data_tab = 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_LFA1-LAND1 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_LFA1-NAME1 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 = SY-LISEL+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_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.
WHEN 3.SELECT MATNR SPRAS INTO TABLE IT_MAKT FROM MAKT WHERE MATNR = SY-LISEL+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 ZMAMATA_AUTOMATION_ALV.
DATA : 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 = 'BNKA'
*IT_FIELDCAT =
TABLES T_OUTTAB = IT_BNKA.
*&---------------------------------------------------------------------**& Report ZMAMATA_BAPI_BANK_CREATE*&
*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT ZMAMATA_BAPI_BANK_CREATE.
TYPES : BEGIN OF TY_BNKA, BANKS TYPE BNKA-BANKS, BANKL TYPE BANKL, BANKA TYPE BANKA, ORT01 TYPE ORT01, END OF 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 = 'T' TABLES DATA_TAB = 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.
*&---------------------------------------------------------------------**& 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 = 'C:\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 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 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 = 'X' USER = 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 = 'C:\MAMATA\EKKO.TXT'
HAS_FIELD_SEPARATOR = 'T'
TABLES DATA_TAB = 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 TYPE BDCMSGCOLL, V_TEXT TYPE STRING.
CALL FUNCTION 'GUI_UPLOAD' EXPORTING FILENAME = 'C:\MAMATA\EKKO.TXT'
HAS_FIELD_SEPARATOR = 'T'
TABLES DATA_TAB = 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_BDCMSGCOLL.
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 = 'C:\MAMATA\EKKO.TXT'
HAS_FIELD_SEPARATOR = 'T'
TABLES DATA_TAB = 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 = 'C:\MAMATA\BNKA.TXT'
HAS_FIELD_SEPARATOR = '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 'SAPMF02B' '100'. PERFORM BDC_FIELD USING 'BNKA-BANKS' WA_FILE-BANKS. PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'. PERFORM BDC_FIELD USING 'BNKA-BANKL' WA_FILE-BANKL. PERFORM BDC_DYNPRO USING 'SAPMF02B' '110'. PERFORM BDC_FIELD USING 'BNKA-BANKA' WA_FILE-BANKA. PERFORM 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 = 'C:\MAMATA\BNKA.TXT'
HAS_FIELD_SEPARATOR = '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 'SAPMF02B' '100'. PERFORM BDC_FIELD USING 'BNKA-BANKS' WA_FILE-BANKS. PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'. PERFORM BDC_FIELD USING 'BNKA-BANKL' WA_FILE-BANKL. PERFORM BDC_DYNPRO USING 'SAPMF02B' '110'. PERFORM BDC_FIELD USING 'BNKA-BANKA' WA_FILE-BANKA. PERFORM 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 = 'C:\MAMATA\EKKO.TXT'
HAS_FIELD_SEPARATOR = 'T'
TABLES DATA_TAB = IT_EKKO
.
CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING
GROUP = 'MAMATAS_SESS'
KEEP = 'X' USER = 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 = 'C:\MAMATA\BANK.TXT'* FILETYPE = 'ASC' HAS_FIELD_SEPARATOR = '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 = 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 = 'C:\MAMATA\BANK.TXT'* FILETYPE = 'ASC' HAS_FIELD_SEPARATOR = '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 = 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_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_DATAFORM BLOCK_DISPLAY .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
ENDFORM. " BLOCK_DISPLAYFORM BLOCK_INIT .
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. "RedMODIFY 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 = 'LIKP'
IS_LAYOUT = IS_LAYOUT
TABLES T_OUTTAB = 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. "RedMODIFY 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 = 'LIKP'
IS_LAYOUT = IS_LAYOUT
TABLES T_OUTTAB = 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 = T001-BUKRS. 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 attributes:
*&---------------------------------------------------------------------**& 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 = V_FILE* FILETYPE = 'ASC' HAS_FIELD_SEPARATOR = 'X'* 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_FI01* 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.
*&---------------------------------------------------------------------**& 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 = SY-CPROG
I_STRUCTURE_NAME = 'BNKA'
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 = '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_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 = SY-CPROG
* I_STRUCTURE_NAME = '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 = SY-CPROG
* I_STRUCTURE_NAME = '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_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 '400000' 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 UP TO 30 ROWS.
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.
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 UP TO 30 ROWS.
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 =
* 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 INTO WA_BNKA FROM BNKA WHERE BANKS = P_BANKS. "WRITE : / WA_BNKA-BANKL. CALL FUNCTION 'GUI_UPLOAD' EXPORTING FILENAME = 'C:\MAMATA\PURDOC.TXT'* FILETYPE = 'ASC' HAS_FIELD_SEPARATOR = '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 = 'TX'* ARCHIVE_INDEX =* ARCHIVE_PARAMS =* DEVICE = 'PRINTER'* DIALOG = '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 = 'SET'* TYPE = 'BODY' WINDOW = 'BAN_WIN'* 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 = '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 = 'PRINT_TERMS'* 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 '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 = SY-CPROG
I_STRUCTURE_NAME = 'BNKA'
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 = '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 O_BDC->BDC_DYNPRO EXPORTING PROGRAM = 'SAPMF02B' DYNPRO = '100'.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'BNKA-BANKS' FVAL = wa-BANKS.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'BNKA-BANKL' FVAL = wa-BANKL.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'BDC_OKCODE' FVAL = '/00'.
CALL METHOD O_BDC->BDC_DYNPRO EXPORTING PROGRAM = 'SAPMF02B' DYNPRO = '110'.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'BNKA-BANKA' FVAL = wa-BANKA.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'BDC_OKCODE' FVAL = '=UPDA'.
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 O_BDC->BDC_DYNPRO EXPORTING PROGRAM = 'ZMAMATA_SCREENS_BDC' DYNPRO = '2000'.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'KNA1-KUNNR' FVAL = wa-KUNNR.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'BDC_OKCODE' FVAL = '/00'.
CALL METHOD O_BDC->BDC_DYNPRO EXPORTING PROGRAM = 'ZMAMATA_SCREENS_BDC' DYNPRO = '2100'.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'KNA1-LAND1' FVAL = wa-LAND1.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'KNA1-NAME1' FVAL = wa-NAME1.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'KNA1-ORT01' FVAL = wa-ORT01.CALL METHOD O_BDC->BDC_FIELD EXPORTING FNAM = 'KNA1-SORTL' FVAL = wa-SORTL.CALL METHOD O_BDC->BDC_FIELD 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 LINE-COUNT 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 TYPE KUNNR, NAME1 TYPE NAME1, ORT01 TYPE ORT01, STRAS TYPE STRAS, LAND1 TYPE LAND1, SPRAS TYPE 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 = IT_EVENTS
TABLES T_OUTTAB = IT_EKPO.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 = '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 = IT_LIST* I_LOGO =* I_END_OF_LIST_GRID =
* I_ALV_FORM = .
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 = 'EKKO'
TABLES T_OUTTAB = IT_EKKO.
ENDIF. WHEN 'DETAIL'.
SELECT * INTO TABLE IT_EKKO FROM EKKO FOR ALL ENTRIES IN IT_EKKO WHERE EBELN = IT_EKKO-EBELN. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING
I_STRUCTURE_NAME = 'EKKO'
TABLES T_OUTTAB = 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 LINE-COUNT 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-OF-PAGE 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 - SY-LINNO. "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, 'PURCHASE ORDERS' COLOR 3.* LOOP AT IT_EKPO INTO WA_EKPO.** WRITE : / WA_EKPO-EBELN COLOR 1, 30 WA_EKPO-BUKRS COLOR 2, 40 WA_EKPO-BPRME COLOR 3.* ENDLOOP. "WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7.* V_REM = SY-LINCT - SY-LINNO. "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 FROM EINE UP TO 1 ROWS WHERE EKORG IN S_EKORG.
ENDSELECT. "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_EINE-EBELN COLOR 2, 60 WA_EINE-WAERS COLOR 3.ENDLOOP. "WRITE : / 'MAMATHA ABAP EMAX TECHNOLOGIES' COLOR 7. "WE CAN USE EITHER WRITE STATEMENT OR BELOW TWO LINES V_REM = SY-LINCT - SY-LINNO. "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 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 COLLECTING DATA IN ITAB
*&---------------------------------------------------------------------**& Report ZMAMATA_INTERACTIVE_REPORTS*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT ZMAMATA_INTERACTIVE_REPORTS LINE-COUNT 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 TYPE TY_LFA1, IT_LFA1 TYPE TABLE OF TY_LFA1, WA_EKKO TYPE TY_EKKO, IT_EKKO TYPE TABLE OF TY_EKKO, V_LIFNR 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 LIFNR IN S_LIFNR .IF IT_LFA1 IS NOT INITIAL. LOOP AT IT_LFA1 INTO WA_LFA1. WRITE : / WA_LFA1-LIFNR COLOR 1, 12 WA_LFA1-LAND1 COLOR 3, 20 WA_LFA1-NAME1 COLOR 4. 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 = SY-LISEL+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_EKKO-BUKRS 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,SY-PAGNO 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 METHOD OBJ1->CREATE.CALL METHOD OBJ1->DISPLAY.CALL METHOD OBJ2->CREATE.CALL METHOD 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 = IM_FNM
HAS_FIELD_SEPARATOR = IM_SEP
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.
ENDMETHOD. METHOD DISP. LOOP AT IT_FILE INTO WA_FILE. WRITE : / WA_FILE-RNO,WA_FILE-NAME,WA_FILE-ADDR,WA_FILE-CITY,WA_FILE-CTRY. 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 LINE-COUNT 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 = 'C:\MAMATA\LFA1.TXT'
WRITE_FIELD_SEPARATOR = 'T' TABLES DATA_TAB = OBJ->IT_LFA1
. IF SY-SUBRC = 0. MESSAGE 'SUCCESSFULLY DOWNLOADED' TYPE 'S'. ELSE. MESSAGE 'NOT DOWNLOADED' TYPE 'E' . ENDIF. ENDMETHOD.ENDCLASS.
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_TPE. 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_TPE. 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 TABLE OF TY_LFA1, WA_LFA1 TYPE TY_LFA1, IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV, IS_LAYOUT 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 'CITY' COLOR 4. LOOP AT IT_LFA1 INTO WA_LFA1.
WRITE : / WA_LFA1-LIFNR COLOR 1,15 WA_LFA1-LAND1 COLOR 2,30 WA_LFA1-NAME1 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 = '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_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 = 0* I_LIFETIME = 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 IMPORTING E_ROW, HANDLE_USER_COMMAND FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID IMPORTING E_UCOMM, HANDLE_TOOLBAR FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID IMPORTING E_OBJECT, 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' AND 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 = 'C:\MAMATA\MSKU.TXT' TABLES DATA_TAB = 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 ZPJVIEW_LFA1 WHERE LAND1 = P_LAND1.
ULINE.
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 = 'C:\MAMATA\KNA1.TXT'
HAS_FIELD_SEPARATOR = 'T' TABLES DATA_TAB = IT_KNA1 .
LOOP AT IT_KNA1 INTO WA_KNA1."perform open_group.
perform bdc_dynpro using 'ZMAMATA_SCREENS_BDC' '2000'.perform bdc_field using 'BDC_OKCODE' '=CRT'.
perform bdc_field using 'KNA1-KUNNR' WA_KNA1-KUNNR.perform bdc_dynpro using 'ZMAMATA_SCREENS_BDC' '2100'.perform bdc_field using 'BDC_OKCODE' '=SAVE'.
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, 'CITY' 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 'PURCHASE 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 = 'C:\MAMATHA\LFA1.TXT'
WRITE_FIELD_SEPARATOR = 'T'
tables data_tab = 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_LFA1-
LAND1 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_LFA1-NAME1 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 IN 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_VBAK-BUKRS_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_LFA1-NAME1 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 = 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.
*&---------------------------------------------------------------------**& 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_LFA1-NAME1 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 = VBAK-VKORG. 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 = '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.
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_BDCMSGCOLL. "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 = '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 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 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_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 = 'D:\MAMATA\KNA1.TXT'
HAS_FIELD_SEPARATOR = 'T'
TABLES DATA_TAB = IT_FILE.
CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING* CLIENT = SY-MANDT* DEST = FILLER8 GROUP = 'SESS_MAMATA'* HOLDDATE = FILLER8 KEEP = 'X' USER = SY-UNAME "USER NAME. HERE WHICH USER CAN PROCESS THE SESSION.HERE WE ARE GIVEN SYSTEM USER NAME. "INDIVIDUAL USER NAME ALSO GIVEN 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 = 'D:\MAMATA\BNKA.TXT'
HAS_FIELD_SEPARATOR = 'T'
TABLES DATA_TAB = IT_BNKA.
IF IT_BNKA IS NOT INITIAL. LOOP AT IT_BNKA INTO WA_BNKA.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'SAPMF02B' '100'. PERFORM BDC_FIELD USING 'BNKA-BANKS' WA_BNKA-BANKS. PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'. PERFORM BDC_FIELD USING 'BNKA-BANKL' WA_BNKA-BANKL. PERFORM BDC_DYNPRO USING 'SAPMF02B' '110'. PERFORM BDC_FIELD USING 'BNKA-BANKA' WA_BNKA-BANKA. PERFORM 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 = 'TX'* ARCHIVE_INDEX =* ARCHIVE_PARAMS =* DEVICE = 'PRINTER'* DIALOG = 'X' FORM = 'ZPICTURE'* 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 = 'ADD_PICTURE'* FUNCTION = 'SET'* TYPE = 'BODY' WINDOW = 'PICWIN'* 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 = '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 using 'ZMAMATA_TABLECONTROL_UI' '4000'.perform bdc_field using 'BDC_OKCODE' '=CRT'.perform bdc_field using 'BDC_CURSOR' 'LFA1-LIFNR'.perform bdc_field using 'LFA1-LIFNR' record-LIFNR_001.perform bdc_dynpro using 'ZMAMATA_TABLECONTROL_UI' '4001'.perform bdc_field using 'BDC_OKCODE' '=TAB2'.perform bdc_field using 'LFA1-LAND1' record-LAND1_002.perform bdc_field using 'LFA1-NAME1' record-NAME1_003.perform bdc_field using 'LFA1-ORT01' record-ORT01_004.perform bdc_field using 'LFA1-STRAS' record-STRAS_005.perform bdc_field using 'LFA1-ADRNR' record-ADRNR_006.perform bdc_dynpro using 'ZMAMATA_TABLECONTROL_UI' '4001'.perform bdc_field using 'BDC_OKCODE' '=TAB3'.perform bdc_field using 'LFA1-LAND1' record-LAND1_007.perform bdc_field using 'LFA1-NAME1' record-NAME1_008.
perform bdc_field using 'LFA1-ORT01' record-ORT01_009.perform bdc_field using 'LFA1-STRAS' record-STRAS_010.perform bdc_field using 'LFA1-ADRNR' record-ADRNR_011.perform bdc_field using 'BDC_CURSOR' 'LFB1-EIKTO'.perform bdc_field using 'LFB1-BUKRS' record-BUKRS_012.perform bdc_field using 'LFB1-PERNR' record-PERNR_013.perform bdc_field using 'LFB1-EIKTO' record-EIKTO_014.perform bdc_dynpro using 'ZMAMATA_TABLECONTROL_UI' '4001'.perform bdc_field using 'BDC_OKCODE' '=SAVE'.perform bdc_field using 'LFA1-LAND1' record-LAND1_015.perform bdc_field using 'LFA1-NAME1' record-NAME1_016.perform bdc_field using 'LFA1-ORT01' record-ORT01_017.perform bdc_field using 'LFA1-STRAS' record-STRAS_018.perform bdc_field using 'LFA1-ADRNR' record-ADRNR_019.perform bdc_field using 'LFB1-BUKRS' record-BUKRS_020.perform bdc_field using 'LFB1-PERNR' record-PERNR_021.perform bdc_field using 'LFB1-EIKTO' record-EIKTO_022.perform bdc_field using 'BDC_CURSOR' 'LFBK-BANKN(02)'.perform bdc_field using 'LFBK-BANKS(01)' record-BANKS_01_023.perform bdc_field using 'LFBK-BANKS(02)' record-BANKS_02_024.perform bdc_field using 'LFBK-BANKL(01)' record-BANKL_01_025.perform bdc_field using 'LFBK-BANKL(02)' record-BANKL_02_026.perform bdc_field using 'LFBK-BANKN(01)' record-BANKN_01_027.perform bdc_field using 'LFBK-BANKN(02)' record-BANKN_02_028.perform bdc_dynpro using 'ZMAMATA_TABLECONTROL_UI' '4001'.perform bdc_field using 'BDC_OKCODE'
'=BACK'.perform bdc_field using 'BDC_CURSOR' 'LFA1-LIFNR'.perform bdc_field using 'LFA1-LAND1' record-LAND1_029.perform bdc_field using 'LFA1-NAME1' record-NAME1_030.perform bdc_field using 'LFA1-ORT01' record-ORT01_031.perform bdc_field using 'LFA1-STRAS' record-STRAS_032.perform bdc_field using 'LFA1-ADRNR' record-ADRNR_033.perform bdc_field using 'LFB1-BUKRS' record-BUKRS_034.perform bdc_field using 'LFB1-PERNR' record-PERNR_035.perform bdc_field using 'LFB1-EIKTO' record-EIKTO_036.perform 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 = 'DO YOU WANT CANCEL' TEXT_BUTTON_1 = 'YES'
TEXT_BUTTON_2 = 'NO'
IMPORTING ANSWER = V_ANSWER
. IF V_ANSWER = '1'. LEAVE PROGRAM. ENDIF.
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-TABLETABLES: 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 areaDATA: G_BANK_DETAILS_COPIED. "copy flag
*&SPWIZARD: DECLARATION OF TABLECONTROL 'BANK_DETAILS' ITSELFCONTROLS: BANK_DETAILS TYPE TABLEVIEW USING SCREEN 2000.
*&SPWIZARD: OUTPUT MODULE FOR TC 'BANK_DETAILS'. DO NOT CHANGE THIS LINE*&SPWIZARD: COPY DDIC-TABLE TO ITABMODULE 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 DYNPROMODULE 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 TABLEMODULE 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 TABMODULE 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 TABMODULE 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 TABMODULE 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 TABMODULE 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 Valuesclear 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 = 'LIKP'
IS_LAYOUT = IS_LAYOUT
TABLES T_OUTTAB = 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 = LFA1-LIFNR. 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 = LFA1-LIFNR. " SELECT SINGLE NAME1 INTO V_LIFNR FROM LFA1 WHERE NAME1 = LFA1-NAME1.
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 IN S_VBELN.IF IT_VBAK IS NOT INITIAL. SET PF-STATUS 'GETSTATUS'. PERFORM DISPLAY. ELSE. MESSAGE 'NO DATA' TYPE 'E'.ENDIF.
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_VBAP-VBELN."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_VBAK-ERDAT 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( FROM = 'FIRST' TO = 'FIFTH' NAME = 'MAMATA' AGE = '10').
ZMAMATA_STATIC=>BOOK_ROOM( FROM = 'FIRST' TO = 'FIFTH' NAME = 'HEMA' AGE = '10').
*&---------------------------------------------------------------------**& 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 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'.
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 ROW WHERE LPRIO = '01'. IS_LAYOUT-INFO_FIELDNAME = 'ROW'.
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 using 'ZMAMATA_BDC_EKPO' '4000'.perform bdc_field using 'BDC_OKCODE' '=CRT'.perform bdc_field using 'BDC_CURSOR' 'EKKO-EBELN'.perform bdc_field using 'EKKO-EBELN' '30'.perform bdc_dynpro using 'ZMAMATA_BDC_EKPO' '4100'.perform bdc_field using 'BDC_OKCODE' '=SAVE'.perform bdc_field using 'BDC_CURSOR' 'EKKO-SPRAS'.perform bdc_field using 'EKKO-BUKRS' '300'.perform bdc_field using 'EKKO-LIFNR' '3000'.perform bdc_field using 'EKKO-SPRAS' 'EN'.perform 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 = 'D:\FI01.TXT' has_field_separator = 'T' "Tab tables data_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 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.
*&---------------------------------------------------------------------**& 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 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.
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 using 'SAPLAIST' '1000'.perform bdc_field 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, "CTRY BANKL TYPE KNBK-BANKL, "BANK KEY BANKN TYPE KNBK-BANKN, "ACCOUNTNO END OF TY_KNBK.
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 = 'C:\MAMATA\KNA1.TXT'* HAS_FIELD_SEPARATOR = 'T' TABLES DATA_TAB = 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. perform bdc_field using 'KNA1-SPRAS' WA_KNA1-SPRAS.
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'.perform bdc_dynpro using 'SAPMF02D' '0125'.
perform bdc_field using 'BDC_OKCODE' '=VW'.
*****TABLE CONTROL****************perform bdc_dynpro using 'SAPMF02D' '0130'.
perform bdc_field using 'BDC_OKCODE' '=UPDA'. CLEAR V_INDEX.
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 using 'SAPMF02D' '0100'.perform bdc_field using 'BDC_CURSOR' 'RF02D-BUKRS'.perform bdc_field using 'BDC_OKCODE' '/00'.perform bdc_field using 'RF02D-KUNNR' record-KUNNR_001.perform bdc_field using 'RF02D-BUKRS' record-BUKRS_002.perform bdc_dynpro using 'SAPMF02D' '7100'.perform bdc_field using 'RF02D-BUKRS' record-BUKRS_003.perform bdc_field using 'RF02D-KTOKD' record-KTOKD_004.
perform bdc_dynpro using 'SAPMF02D' '0110'.perform bdc_field using 'BDC_CURSOR' 'KNA1-SPRAS'.perform bdc_field using 'BDC_OKCODE' '/00'.perform bdc_field using 'KNA1-NAME1' record-NAME1_005.perform bdc_field using 'KNA1-SORTL' record-SORTL_006.perform bdc_field using 'KNA1-STRAS' record-STRAS_007.perform bdc_field using 'KNA1-ORT01' record-ORT01_008.perform bdc_field using 'KNA1-LAND1' record-LAND1_009.perform bdc_field using 'KNA1-SPRAS' record-SPRAS_010.perform bdc_dynpro using 'SAPMF02D' '0120'.perform bdc_field using 'BDC_CURSOR' 'KNA1-LIFNR'.perform bdc_field using 'BDC_OKCODE' '=VW'.perform bdc_dynpro using 'SAPMF02D' '0125'.perform bdc_field using 'BDC_CURSOR' 'KNA1-NIELS'.perform bdc_field using 'BDC_OKCODE' '=VW'.perform bdc_dynpro using 'SAPMF02D' '0130'.perform bdc_field using 'BDC_CURSOR' 'KNBK-KOINH(02)'.perform bdc_field using 'BDC_OKCODE' '=UPDA'.perform bdc_field using 'KNBK-BANKS(01)' record-BANKS_01_011.perform bdc_field using 'KNBK-BANKS(02)' record-BANKS_02_012.perform bdc_field using 'KNBK-BANKL(01)' record-BANKL_01_013.perform bdc_field using 'KNBK-BANKL(02)' record-BANKL_02_014.perform bdc_field using 'KNBK-BANKN(01)' record-BANKN_01_015.perform bdc_field using 'KNBK-BANKN(02)' record-BANKN_02_016.perform bdc_field using 'KNBK-KOINH(01)' record-KOINH_01_017.perform bdc_field using 'KNBK-KOINH(02)' record-KOINH_02_018.perform bdc_dynpro using 'SAPLBANK' '0100'.perform bdc_field using 'BDC_OKCODE' '/E'.perform bdc_field using 'BDC_CURSOR' 'BNKA-BANKA'.perform bdc_dynpro using 'SAPLBANK' '0100'.perform bdc_field using 'BDC_OKCODE'
'/E'.perform bdc_field using 'BDC_CURSOR' 'BNKA-BANKA'.perform bdc_dynpro using 'SAPMF02D' '0130'.perform bdc_field using 'KNBK-BANKL(01)' record-BANKL_01_019.perform bdc_dynpro using 'SAPLBANK' '0100'.perform bdc_field using 'BDC_OKCODE' '/E'.perform bdc_field using 'BDC_CURSOR' 'BNKA-BANKA'.perform bdc_dynpro using 'SAPMF02D' '0130'.perform bdc_field using 'KNBK-BANKL(02)' record-BANKL_02_020.perform bdc_dynpro using 'SAPLBANK' '0100'.perform bdc_field using 'BDC_OKCODE' '/E'.perform bdc_field using 'BDC_CURSOR' 'BNKA-BANKA'.perform bdc_dynpro using 'SAPMF02D' '0130'.perform bdc_field using 'KNBK-BANKL(02)' record-BANKL_02_021.perform bdc_dynpro using 'SAPLBANK' '0100'.perform bdc_field using 'BDC_OKCODE' '/E'.perform bdc_field using 'BDC_CURSOR' 'BNKA-BANKA'.perform bdc_dynpro using 'SAPMF02D' '0130'.perform bdc_field using 'KNBK-BANKL(02)' record-BANKL_02_022.perform bdc_dynpro using 'SAPLBANK' '0100'.perform bdc_field using 'BDC_OKCODE' '/E'.perform bdc_field using 'BDC_CURSOR' 'BNKA-BANKA'.perform bdc_dynpro using 'SAPMF02D' '0130'.perform bdc_field using 'KNBK-BANKL(02)' record-BANKL_02_023.perform bdc_dynpro 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 T001-LAND1* FIELD <KNA1-KUNNR> MODULE <M2>. "When F4 is Pressed on Field KNA1-KUNNR
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 READclear 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 Screen 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.