Friday, 9 November 2012

CLASSICAL REPORT ON PURCHASE ORDER




*&---------------------------------------------------------------------*
*& Report  ZSS_TEST_001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zss_test_001.

TABLES:ekko.
TYPES: BEGIN OF ty_ekko,
       ebeln TYPE   ebeln,          "Purchasing Document Number
       bukrs TYPE   bukrs,          "Company Code
       bstyp TYPE   ebstyp,         "Purchasing Document Category
       END OF ty_ekko.

DATA:  it_ekko TYPE STANDARD TABLE OF ty_ekko INITIAL SIZE 0,
       wa_ekko TYPE ty_ekko,
       lv_ebeln TYPE ebeln.
SELECT-OPTIONS:s_ebeln FOR ekko-ebeln.

INITIALIZATION.

  CLEAR:wa_ekko.
  REFRESH:it_ekko.

AT SELECTION-SCREEN.

  IF s_ebeln IS NOT INITIAL.
    SELECT SINGLE ebeln
    FROM ekko
    INTO lv_ebeln
    WHERE ebeln IN s_ebeln.
    IF sy-subrc NE 0.
      MESSAGE: 'Purchasing document number does not exist' TYPE'E'.
    ENDIF.
  ENDIF.

START-OF-SELECTION.

  SELECT ebeln
         bukrs
         bstyp
  FROM ekko
  INTO TABLE it_ekko
  WHERE ebeln IN s_ebeln.
  IF sy-subrc EQ 0.
    SORT it_ekko BY ebeln.
  ENDIF.

END-OF-SELECTION.

  IF it_ekko IS NOT INITIAL.
    LOOP AT it_ekko INTO wa_ekko.
      ULINE 1(70).
      WRITE: /1 sy-vline,wa_ekko-ebeln,
             30 sy-vline,wa_ekko-bukrs,
             45 sy-vline,wa_ekko-bstyp,
             70 sy-vline.
      ULINE /1(70).
    ENDLOOP.
  ENDIF.

TOP-OF-PAGE.

  ULINE /1(70).
  WRITE: 'Purchasing Document Report    pageno:',sy-pagno.
  ULINE /1(70).
  WRITE: /1(70) '' COLOR 4,
           1 'Purchase Document Number' COLOR 4,
           30'Company Code' COLOR 4,
           45'Purchase Document Category' COLOR 4.
  ULINE /1(70).

No comments: