Interactive Report - Program 1

 TABLESEKKOEKPOMAKT.


TYPESBEGIN OF TY_EKKO,
       EBELN TYPE EBELN,
       LIFNR TYPE ELIFN,
       BUKRS TYPE BUKRS,
       END OF TY_EKKO,

       BEGIN OF TY_EKPO,
       EBELN TYPE EBELN,
       EBELP TYPE EBELP,
       MATNR TYPE MATNR,
       LGORT TYPE LGORT_D,
       MATKL TYPE MATKL,
       MENGE TYPE BSTMG,
       END OF TY_EKPO,

       BEGIN OF TY_MAKT,
       MATNR TYPE MATNR,
       MAKTX TYPE MAKTX,
       END OF TY_MAKT.

DATAT_EKKO    TYPE STANDARD TABLE OF TY_EKKO,
      T_EKPO    TYPE STANDARD TABLE OF TY_EKPO,
      T_MAKT    TYPE STANDARD TABLE OF TY_MAKT.

DATAW_EKKO  TYPE TY_EKKO,
      W_EKPO  TYPE TY_EKPO,
      W_MAKT  TYPE TY_MAKT.

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

SELECT-OPTIONS:PURCHASE FOR EKKO-EBELN.

SELECTION-SCREEN END OF BLOCK B1.

START-OF-SELECTION.

  SELECT  EBELN LIFNR BUKRS
  FROM EKKO
  INTO TABLE T_EKKO
  WHERE EBELN IN PURCHASE.

  IF T_EKKO IS NOT INITIAL.
    SELECT EBELN EBELP MATNR LGORT MATKL MENGE
    FROM EKPO
    INTO TABLE T_EKPO FOR ALL ENTRIES IN T_EKKO
    WHERE EBELN T_EKKO-EBELN.
    SORT T_EKPO.
    IF T_EKPO IS NOT INITIAL.
      SELECT MATNR MAKTX
      FROM MAKT
      INTO TABLE T_MAKT FOR ALL ENTRIES IN T_EKPO
      WHERE MATNR T_EKPO-MATNR AND SPRAS SY-LANGU.
    ENDIF.
  ENDIF.
  LOOP AT T_EKKO INTO W_EKKO.
    WRITE :/1  W_EKKO-EBELN,
            20 W_EKKO-LIFNR,
            30 W_EKKO-BUKRS.
    HIDE W_EKKO.
  ENDLOOP.

TOP-OF-PAGE.

  WRITE'PURCHASE ORDER DETAILS'.
  ULINE.

  WRITE /1  'PURCHASE',
           20 'VENDOR',
           30 'COMPANY CODE'.
  ULINE .

AT LINE-SELECTION.

  IF SY-LSIND 1.
    WRITE /1    SY-VLINE,   'ITEM NO' ,
             20   SY-VLINE,   'MATERIAL NO',
             40   SY-VLINE,   'STORAGE LOCATION',
             60   SY-VLINE,   'PURCHASE ORDER',
             80   SY-VLINE,   'MATERIAL GROUP',
             100  SY-VLINE,   'PURCHASE NO',
             120  SY-VLINE.
    ULINE.
    LOOP AT T_EKPO INTO W_EKPO WHERE EBELN W_EKKO-EBELN.
      WRITE1    SY-VLINE,   W_EKPO-EBELP,
             20   SY-VLINE,   W_EKPO-MATNR,
             40   SY-VLINE,   W_EKPO-LGORT,
             60   SY-VLINE,   W_EKPO-MENGE,
             80   SY-VLINE,   W_EKPO-MATKL,
             100  SY-VLINE,   W_EKPO-EBELN,
             120  SY-VLINE.
      HIDE W_EKPO.
    ENDLOOP.
    ULINE.
  ENDIF.


  IF SY-LSIND 2.
    WRITE:/ SY-VLINE'MATERIAL NUMBER',30
            SY-VLINE'MATERIAL DESCRIPTION',70
            SY-VLINE.
    ULINE.
    LOOP AT T_MAKT INTO W_MAKT WHERE MATNR W_EKPO-MATNR.
      WRITE:/ SY-VLINEW_MAKT-MATNR30
              SY-VLINEW_MAKT-MAKTX70
              SY-VLINE.
      HIDE W_MAKT.
      ULINE.
    ENDLOOP.
  ENDIF.

TOP-OF-PAGE DURING LINE-SELECTION.
  WRITE'SALES ORDER DETAILS'.
  ULINE.

No comments:

Post a Comment

SAP ABAP - Overview

SAP ABAP/4 and R/3 System Overview SAP R/3: ...