Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

help for this code.....(QUERRY IN COLLECT STATEMENT)

Former Member
0 Likes
554

DATA : BEGIN OF ITAB OCCURS 0,

FKDAT TYPE VBRK-FKDAT,

VBELN TYPE VBRP-VBELN,

MATNR TYPE VBRP-MATNR,

FKIMG TYPE VBRP-FKIMG,

NETWR TYPE VBRP-NETWR,

WAVWR TYPE VBRP-WAVWR,

ARKTX LIKE VBRP-ARKTX,

END OF ITAB.

DATA : IT_ITAB like ITAB occurs 0.

DATA : WA_ITAB TYPE ITAB occurs 0.

SELECTION-SCREEN : BEGIN OF BLOCK BLK WITH FRAME.

SELECT-OPTIONS : DATE FOR VBKD-FKDAT.

SELECT-OPTIONS : MATERIAL FOR VBAP-MATNR.

SELECTION-SCREEN : END OF BLOCK BLK.

SELECT FKDAT FROM VBRK INTO IT_VBRK WHERE FKDAT IN DATE.

SELECT * FROM VBRP INTO CORRESPONDING FIELDS OF ITAB WHERE VBELN = IT_VBRK-VBELN AND MATNR IN MATERIAL.

LOOP AT ITAB.

MOVE-CORRESPONDING ITAB TO PTAB.

COLLECT PTAB.

ENDLOOP.

ENDSELECT

ENDSELECT,.

LOOP AT PTAB WHERE MATNR = NEW_MATERIAL.

WRITE : / PTAB-MATNR, PTAB-FKIMG, PTAB-NETWR, PTAB-WAVWR.

endloop.

I WANT SUBTOTALS FOR THE PARTICULAR MATERIAL. PLS SUGGEST THE CHANGES IN THE ABOVE CODE........

4 REPLIES 4
Read only

Former Member
0 Likes
510

Dear Manoj,

Where you have declared PTAB.

I don't understand , how your code is activated.

USE IT_ITAB instead of PTAB.

Regds,

Anil

Read only

Former Member
0 Likes
510

Dear Manoj,

try this.

SELECT FKDAT FROM VBRK INTO IT_VBRK WHERE FKDAT IN DATE.

SELECT * FROM VBRP

INTO CORRESPONDING FIELDS OF table ITAB

for all entries in it_vbrk

WHERE VBELN = IT_VBRK-VBELN AND MATNR IN MATERIAL.

LOOP AT ITAB.

in ptab internal table clear dissmilital entries then only it will collect

COLLECT ITAB into PTAB.

ENDLOOP.

LOOP AT PTAB .

WRITE : / PTAB-MATNR, PTAB-FKIMG, PTAB-NETWR, PTAB-WAVWR.

endloop.

Regards,

Vijay

Read only

Former Member
0 Likes
510
TABLES :VBKD,
          VBAP.
  DATA : BEGIN OF ITAB OCCURS 0,
            FKDAT TYPE VBRK-FKDAT,
            VBELN TYPE VBRP-VBELN,
            MATNR TYPE VBRP-MATNR,
            FKIMG TYPE VBRP-FKIMG,
            NETWR TYPE VBRP-NETWR,
            WAVWR TYPE VBRP-WAVWR,
            ARKTX LIKE VBRP-ARKTX,
        END OF ITAB.
  DATA : BEGIN OF PTAB OCCURS 0,
            MATNR TYPE VBRP-MATNR,
            FKIMG TYPE VBRP-FKIMG,
            NETWR TYPE VBRP-NETWR,
            WAVWR TYPE VBRP-WAVWR,
            ARKTX LIKE VBRP-ARKTX,
        END OF PTAB.
  DATA : IT_ITAB LIKE ITAB OCCURS 0,
         IT_VBRK TYPE TABLE OF VBRK.

  SELECTION-SCREEN : BEGIN OF BLOCK BLK WITH FRAME.
  SELECT-OPTIONS : DATE FOR VBKD-FKDAT.
  SELECT-OPTIONS : MATERIAL FOR VBAP-MATNR.
  SELECTION-SCREEN : END OF BLOCK BLK.

  SELECT * FROM VBRK APPENDING CORRESPONDING FIELDS OF TABLE IT_VBRK
          WHERE FKDAT IN DATE.
  CLEAR ITAB[].
  SELECT * FROM VBRP
      APPENDING CORRESPONDING FIELDS OF TABLE ITAB
        FOR ALL ENTRIES IN IT_VBRK
          WHERE VBELN = IT_VBRK-VBELN AND MATNR IN MATERIAL.
  LOOP AT ITAB.
    MOVE-CORRESPONDING ITAB TO PTAB.
    COLLECT PTAB.
  ENDLOOP.

  LOOP AT PTAB.
    WRITE : / PTAB-MATNR, PTAB-FKIMG, PTAB-NETWR, PTAB-WAVWR.
  ENDLOOP.
Read only

kesavadas_thekkillath
Active Contributor
0 Likes
510

SELECT FKDAT FROM VBRK INTO table IT_VBRK

WHERE FKDAT IN DATE.

SELECT * FROM VBRP INTO CORRESPONDING FIELDS OF table

ITAB for all entries in it_vbrk

WHERE VBELN = IT_VBRK-VBELN

AND MATNR IN MATERIAL.

wa type ty_collect.

loop at ITAB.

collect itab into PTAB.

endloop.

LOOP AT PTAB .

WRITE : / PTAB-MATNR, PTAB-FKIMG, PTAB-NETWR, PTAB-WAVWR.

endloop.