abap all programs

311
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 .

Upload: ssannue-laema

Post on 01-Dec-2015

95 views

Category:

Documents


3 download

DESCRIPTION

ABAP programs

TRANSCRIPT

Page 1: Abap All Programs

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

Page 2: Abap All Programs

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.

Page 3: Abap All Programs

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.

Page 4: Abap All Programs

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

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

Page 5: Abap All Programs

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

Page 6: Abap All Programs

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.

Page 7: Abap All Programs

  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.

Page 8: Abap All Programs

*&---------------------------------------------------------------------**& 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,

Page 9: Abap All Programs

       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*****************

Page 10: Abap All Programs

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'.

Page 11: Abap All Programs

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*&*&---------------------------------------------------------------------*

Page 12: Abap All Programs

*&*&*&---------------------------------------------------------------------*

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.

Page 13: Abap All Programs

      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 

Page 14: Abap All Programs

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**********

Page 15: Abap All Programs

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.

Page 16: Abap All Programs

 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

Page 17: Abap All Programs

           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

Page 18: Abap All Programs

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.

Page 19: Abap All Programs

      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'.

Page 20: Abap All Programs

       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'

Page 21: Abap All Programs

         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.

****

Page 22: Abap All Programs

************ 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.

Page 23: Abap All Programs

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.

Page 24: Abap All Programs

************ 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.

Page 25: Abap All Programs

     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*&*&---------------------------------------------------------------------**&*&

Page 26: Abap All Programs

*&---------------------------------------------------------------------*

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.

Page 27: Abap All Programs

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

Page 28: Abap All Programs

                 .       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'

Page 29: Abap All Programs

         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.

**

Page 30: Abap All Programs

**

************ 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.

Page 31: Abap All Programs

    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.

Page 32: Abap All Programs

************ 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.

Page 33: Abap All Programs

     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*&*&---------------------------------------------------------------------**&

Page 34: Abap All Programs

*&*&---------------------------------------------------------------------*

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 .

Page 35: Abap All Programs

   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*----------------------------------------------------------------------*

Page 36: Abap All Programs

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.

Page 37: Abap All Programs

   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'.

Page 38: Abap All Programs

     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*&*&---------------------------------------------------------------------*

Page 39: Abap All Programs

*&*&*&---------------------------------------------------------------------*

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.

Page 40: Abap All Programs

_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

Page 41: Abap All Programs

*   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*&*&---------------------------------------------------------------------*

Page 42: Abap All Programs

*&*&*&---------------------------------------------------------------------*

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*&

Page 43: Abap All Programs

*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

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.

Page 44: Abap All Programs

     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.

Page 45: Abap All Programs

      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.

Page 46: Abap All Programs

****************** 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

Page 47: Abap All Programs

  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.

Page 48: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 49: Abap All Programs

*&---------------------------------------------------------------------**& 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

Page 50: Abap All Programs

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****************

Page 51: Abap All Programs

  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

Page 52: Abap All Programs

*                                            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.

Page 53: Abap All Programs

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.

Page 54: Abap All Programs

 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    *************

Page 55: Abap All Programs

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.

Page 56: Abap All Programs

*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.

Page 57: Abap All Programs

        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,

Page 58: Abap All Programs

                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.

Page 59: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 60: Abap All Programs

        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.

Page 61: Abap All Programs

    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,

Page 62: Abap All Programs

        "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.

Page 63: Abap All Programs

*&---------------------------------------------------------------------**& 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.          .

Page 64: Abap All Programs

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.

Page 65: Abap All Programs

*&---------------------------------------------------------------------**&      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

Page 66: Abap All Programs

*&---------------------------------------------------------------------**       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.

Page 67: Abap All Programs

*&---------------------------------------------------------------------**& 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*&*&---------------------------------------------------------------------*

Page 68: Abap All Programs

*&*&*&---------------------------------------------------------------------*

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*&

Page 69: Abap All Programs

*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

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

Page 70: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 71: Abap All Programs

   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.

Page 72: Abap All Programs

     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.*******************

Page 73: Abap All Programs

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,

Page 74: Abap All Programs

        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'

Page 75: Abap All Programs

       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'

Page 76: Abap All Programs

      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.

Page 77: Abap All Programs

  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,

Page 78: Abap All Programs

       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.

Page 79: Abap All Programs

       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'.

Page 80: Abap All Programs

  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.

Page 81: Abap All Programs

       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.

Page 82: Abap All Programs

***************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.

Page 83: Abap All Programs

   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.

Page 84: Abap All Programs

  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.***********

Page 85: Abap All Programs

************************ 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*&

Page 86: Abap All Programs

*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

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.

Page 87: Abap All Programs

   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,

Page 88: Abap All Programs

      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'

Page 89: Abap All Programs

            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.

Page 90: Abap All Programs

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.

Page 91: Abap All Programs

 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.

Page 92: Abap All Programs

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.

Page 93: Abap All Programs

* 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'

Page 94: Abap All Programs

  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.

Page 95: Abap All Programs

 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'.

Page 96: Abap All Programs

    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.

Page 97: Abap All Programs

 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'

Page 98: Abap All Programs

    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,

Page 99: Abap All Programs

        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.

Page 100: Abap All Programs

 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                        =

Page 101: Abap All Programs

* 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

Page 102: Abap All Programs

*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

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

Page 103: Abap All Programs

*   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.

Page 104: Abap All Programs

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                   =            .

Page 105: Abap All Programs

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.

Page 106: Abap All Programs

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

Page 107: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 108: Abap All Programs

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.

Page 109: Abap All Programs

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*&*&---------------------------------------------------------------------*

Page 110: Abap All Programs

*&*&*&---------------------------------------------------------------------*

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'.

Page 111: Abap All Programs

      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

.

Page 112: Abap All Programs

*&---------------------------------------------------------------------**& 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,

Page 113: Abap All Programs

           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*&

Page 114: Abap All Programs

*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

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.

Page 115: Abap All Programs

*&---------------------------------------------------------------------**& 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'.

Page 116: Abap All Programs

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),

Page 117: Abap All Programs

            '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

Page 118: Abap All Programs

*     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.

Page 119: Abap All Programs

 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               =

Page 120: Abap All Programs

            .

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.

Page 121: Abap All Programs

  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.

Page 122: Abap All Programs

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.

Page 123: Abap All Programs

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 .

Page 124: Abap All Programs

   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'.

Page 125: Abap All Programs

  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.

Page 126: Abap All Programs

*&---------------------------------------------------------------------**& 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'

Page 127: Abap All Programs

 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.

Page 128: Abap All Programs

* 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.

Page 129: Abap All Programs

*&---------------------------------------------------------------------**& 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                  =

Page 130: Abap All Programs

*   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.

Page 131: Abap All Programs

*----------------------------------------------------------------------****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*&*&---------------------------------------------------------------------*

Page 132: Abap All Programs

*&*&*&---------------------------------------------------------------------*

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'

Page 133: Abap All Programs

*     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'

Page 134: Abap All Programs

  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

Page 135: Abap All Programs

*   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

Page 136: Abap All Programs

*   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

Page 137: Abap All Programs

*   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.

Page 138: Abap All Programs

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

Page 139: Abap All Programs

*   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*&

Page 140: Abap All Programs

*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

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'.

Page 141: Abap All Programs

    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,

Page 142: Abap All Programs

       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*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

Page 143: Abap All Programs

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.

Page 144: Abap All Programs

*&---------------------------------------------------------------------**& 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*&*&---------------------------------------------------------------------**&*&

Page 145: Abap All Programs

*&---------------------------------------------------------------------*

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.

Page 146: Abap All Programs

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                =

Page 147: Abap All Programs

*   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.

Page 148: Abap All Programs

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.

Page 149: Abap All Programs

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.

Page 150: Abap All Programs

       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       =

Page 151: Abap All Programs

*       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.

Page 152: Abap All Programs

*&---------------------------------------------------------------------**& 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*******

Page 153: Abap All Programs

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.

Page 154: Abap All Programs

 "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'.

Page 155: Abap All Programs

 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

Page 156: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 157: Abap All Programs

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,

Page 158: Abap All Programs

            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.

Page 159: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 160: Abap All Programs

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

Page 161: Abap All Programs

      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,

Page 162: Abap All Programs

         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.

Page 163: Abap All Programs

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,

Page 164: Abap All Programs

          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.

Page 165: Abap All Programs

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.

Page 166: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 167: Abap All Programs

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.

Page 168: Abap All Programs

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.

Page 169: Abap All Programs

       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

Page 170: Abap All Programs

*----------------------------------------------------------------------*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'.

Page 171: Abap All Programs

        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,

Page 172: Abap All Programs

       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'.

Page 173: Abap All Programs

         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,

Page 174: Abap All Programs

       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.

Page 175: Abap All Programs

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

Page 176: Abap All Programs

      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*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

Page 177: Abap All Programs

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

Page 178: Abap All Programs

*    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.

Page 179: Abap All Programs

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.

Page 180: Abap All Programs

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.

Page 181: Abap All Programs

      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*&---------------------------------------------------------------------*

Page 182: Abap All Programs

*&      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

Page 183: Abap All Programs

*    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'.

Page 184: Abap All Programs

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

Page 185: Abap All Programs

*    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'.

Page 186: Abap All Programs

  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*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

Page 187: Abap All Programs

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,

Page 188: Abap All Programs

        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.

Page 189: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 190: Abap All Programs

**********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

Page 191: Abap All Programs

                                      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-

Page 192: Abap All Programs

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.

Page 193: Abap All Programs

   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.

Page 194: Abap All Programs

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.

Page 195: Abap All Programs

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.

Page 196: Abap All Programs

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'.

Page 197: Abap All Programs

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'.

Page 198: Abap All Programs

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.

Page 199: Abap All Programs

  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.

Page 200: Abap All Programs

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

Page 201: Abap All Programs

*            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'

Page 202: Abap All Programs

    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*                   .

Page 203: Abap All Programs

*         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.

Page 204: Abap All Programs

    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.

Page 205: Abap All Programs

    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.

Page 206: Abap All Programs

     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.

Page 207: Abap All Programs

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                =

Page 208: Abap All Programs

*   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'

Page 209: Abap All Programs

  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*&*&---------------------------------------------------------------------**&

Page 210: Abap All Programs

*&*&---------------------------------------------------------------------*

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

Page 211: Abap All Programs

*   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.

Page 212: Abap All Programs

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

Page 213: Abap All Programs

        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),

Page 214: Abap All Programs

* 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.

Page 215: Abap All Programs

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'

Page 216: Abap All Programs

                              '=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

Page 217: Abap All Programs

*&---------------------------------------------------------------------**       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.

Page 218: Abap All Programs

  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.

Page 219: Abap All Programs

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

Page 220: Abap All Programs

*&---------------------------------------------------------------------**       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'.

Page 221: Abap All Programs

      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.

Page 222: Abap All Programs

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,

Page 223: Abap All Programs

         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.

Page 224: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 225: Abap All Programs

      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*&

Page 226: Abap All Programs

*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

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.

Page 227: Abap All Programs

      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

Page 228: Abap All Programs

*&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'.

Page 229: Abap All Programs

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*&---------------------------------------------------------------------*

Page 230: Abap All Programs

*       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.

Page 231: Abap All Programs

      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,

Page 232: Abap All Programs

       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*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

Page 233: Abap All Programs

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

Page 234: Abap All Programs

*&---------------------------------------------------------------------**& 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*&---------------------------------------------------------------------*

Page 235: Abap All Programs

*&      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

Page 236: Abap All Programs

   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'.

Page 237: Abap All Programs

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.

Page 238: Abap All Programs

  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.

Page 239: Abap All Programs

    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*&---------------------------------------------------------------------*

Page 240: Abap All Programs

*&      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.

Page 241: Abap All Programs

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.

Page 242: Abap All Programs

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').

Page 243: Abap All Programs

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').

Page 244: Abap All Programs

*&---------------------------------------------------------------------**& 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.

Page 245: Abap All Programs

 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'.

Page 246: Abap All Programs

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                   =

Page 247: Abap All Programs

*      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 .

Page 248: Abap All Programs

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.

Page 249: Abap All Programs

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.

Page 250: Abap All Programs

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,

Page 251: Abap All Programs

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'.

Page 252: Abap All Programs

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,

Page 253: Abap All Programs

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'.

Page 254: Abap All Programs

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.

Page 255: Abap All Programs

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

Page 256: Abap All Programs

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.

Page 257: Abap All Programs

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'

Page 258: Abap All Programs

'/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.

Page 259: Abap All Programs

*&---------------------------------------------------------------------**& 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

Page 260: Abap All Programs

*    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        = ' '

Page 261: Abap All Programs

*   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.