You are on page 1of 2

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

*& Report  ZCUSTOMERWISE_SALES_ORDER
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZCUSTOMERWISE_SALES_ORDER.
TYPES: BEGIN OF TY_VBAK,
        VBELN TYPE VBELN_VA,
        KUNNR TYPE KUNAG,
      END OF TY_VBAK.

 TYPES: BEGIN OF TY_VBAP,
         VBELN TYPE VBELN_VA,
         POSNR TYPE POSNR,
         MATNR TYPE MATNR,
         NETWR TYPE NETWR_AP,
         WAERK TYPE WAERK,
       END OF TY_VBAP.

 TYPES:BEGIN OF TY_KNA1,
       KUNNR TYPE KUNAG,
       NAME1 TYPE NAME1_GP,
       END OF TY_KNA1.

 TYPES: BEGIN OF TY_MAKT,
        MATNR TYPE MAKT-MATNR,
        MAKTX TYPE MAKT-MAKTX,
        END OF TY_MAKT.

TYPES:BEGIN OF TY_FINAL,
      VBELN TYPE VBELN_VA,
      KUNNR TYPE KUNAG,
      NAME1 TYPE NAME1_GP,
      POSNR TYPE POSNR,
      NETWR TYPE NETWR_AP,
      WAERK TYPE WAERK,
      MATNR TYPE MATNR,
      MAKTX TYPE MAKTX,
      END OF TY_FINAL.

 DATA: IT_VBAK TYPE TABLE OF TY_VBAK,
       IT_VBAP TYPE TABLE OF TY_VBAP,
       IT_FINAL TYPE TABLE OF TY_FINAL,
       IT_KNA1 TYPE TABLE OF TY_KNA1,
       IT_MAKT TYPE TABLE OF TY_MAKT,
       WA_VBAK TYPE TY_VBAK,
       WA_VBAP TYPE TY_VBAP,
       WA_FINAL TYPE TY_FINAL,
       WA_KNA1 TYPE TY_KNA1,
       WA_MAKT TYPE TY_MAKT.

PARAMETERS: org type VBAK-VKORG.
DATA: KUNAG TYPE CHAR10.
SELECT-OPTIONS: S_ORG FOR KUNAG.
SELECT KUNNR
       NAME1
       FROM KNA1
       INTO TABLE IT_KNA1
       WHERE KUNNR IN S_ORG.
SELECT VBELN
       KUNNR
       FROM VBAK
       INTO TABLE IT_VBAK
       FOR ALL ENTRIES IN IT_KNA1
       WHERE KUNNR = IT_KNA1-KUNNR.
IF SY-SUBRC = 0.
  SORT IT_VBAK BY KUNNR.
ENDIF.
  SELECT MATNR
         MAKTX
         FROM MAKT
         INTO TABLE IT_MAKT
         FOR ALL ENTRIES IN IT_VBAP
         WHERE MATNR = IT_VBAP-MATNR.
   SELECT VBELN
       POSNR
       NETWR
       WAERK
       MATNR
       FROM VBAP
       INTO TABLE IT_VBAP
       FOR ALL ENTRIES IN IT_VBAK
       WHERE VBELN = IT_VBAK-VBELN.
LOOP AT  IT_VBAK INTO WA_VBAK.
    READ TABLE IT_KNA1 INTO WA_KNA1 WITH  KEY KUNNR = WA_VBAK-KUNNR.
   
    WA_FINAL-NAME1 = WA_KNA1-NAME1.
    WA_FINAL-VBELN = WA_VBAK-VBELN.
    WA_FINAL-POSNR = WA_VBAP-POSNR.
    WA_FINAL-MATNR = WA_VBAP-MATNR.
    WA_FINAL-MAKTX = WA_MAKT-MAKTX.
    WA_FINAL-NETWR = WA_VBAP-NETWR.
    WA_FINAL-WAERK = WA_VBAP-WAERK.
    APPEND WA_FINAL TO IT_FINAL.
ENDLOOP.
LOOP AT IT_FINAL INTO WA_FINAL.
  WRITE:/ WA_FINAL-NAME1,
    WA_FINAL-VBELN,
    WA_FINAL-POSNR,
    WA_FINAL-MATNR,
    WA_FINAL-MAKTX,
    WA_FINAL-NETWR,
    WA_FINAL-WAERK.
ENDLOOP.

You might also like