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

internal table NAST

Former Member
0 Likes
780

Hi All!

I have the code:

......

LOOP AT IT_VBRK.

AT NEW VBELN.

SELECT OBJKY KAPPL KSCHL NACHA VSZTP USNAM LDEST

ERDAT ERUHR

INTO TABLE IT_NAST

FROM NAST

WHERE OBJKY = IT_VBRK-VBELN AND

KAPPL = 'V3' AND KSCHL = 'RD00'.

IF SY-SUBRC = 4.

WRITE : / 'No RD00 record in NAST for:' , IT_VBRK-VBELN.

ENDIF.

ENDAT.

AT END OF VBELN.

ENDAT.

ENDLOOP.

SORT IT_NAST BY OBJKY AS TEXT ASCENDING.

.....

LOOP AT IT_VBRK.

WA_VBRK = IT_VBRK.

AT NEW VBELN.

WRITE : /5 WA_VBRK-VBELN , WA_VBRK-FKART , WA_VBRK-FKDAT ,

WA_VBRK-VKORG , WA_VBRK-VTWEG , WA_VBRK-KKBER , WA_VBRK-SPART ,WA_VBRK-KUNAG , WA_VBRK-ERNAM , WA_VBRK-ERZET , WA_VBRK-WERKS .

LOOP AT IT_NAST.

WA_NAST = IT_NAST.

IF IT_NAST-OBJKY = IT_VBRK-VBELN.

WRITE : WA_NAST-OBJKY , WA_NAST-KSCHL .

ENDIF.

ENDLOOP.

ENDAT.

AT END OF VBELN.

ENDAT.

ENDLOOP.

..........

The effect is that the list of the information from NAST is outputed only for the last record from IT_VBRK.

I don't know which one is the cause? May be the fact that in IT_NAST I may have more records for the same OBJKY?

Thank you.

Florina C.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
710

You can make changes in below two ways:

LOOP AT IT_VBRK.
     AT NEW VBELN.
        SELECT OBJKY KAPPL KSCHL NACHA VSZTP 
               USNAM LDEST ERDAT ERUHR
               <b>APPENDING</b> TABLE IT_NAST
               FROM NAST
        WHERE OBJKY = IT_VBRK-VBELN AND
        KAPPL = 'V3' AND KSCHL = 'RD00'.
        IF SY-SUBRC = 4.
           WRITE : / 'No RD00 record in NAST for:' , IT_VBRK-VBELN.
        ENDIF.
     ENDAT.
     AT END OF VBELN.
     ENDAT.
ENDLOOP.
SORT IT_NAST BY OBJKY AS TEXT ASCENDING.
.....

<b>OR</b>

<b>CHECK NOT IT_VBRK[] IS INITIAL</b>.
SELECT OBJKY KAPPL KSCHL NACHA VSZTP 
       USNAM LDEST ERDAT ERUHR
       INTO TABLE IT_NAST
       FROM NAST
       <b>FOR ALL ENTRIES IN IT_VBRK</b>
       WHERE OBJKY = IT_VBRK-VBELN AND
       KAPPL = 'V3' AND KSCHL = 'RD00'.
SORT IT_NAST BY OBJKY AS TEXT ASCENDING.
.....

Kind Regards

Eswar

3 REPLIES 3
Read only

Former Member
0 Likes
711

You can make changes in below two ways:

LOOP AT IT_VBRK.
     AT NEW VBELN.
        SELECT OBJKY KAPPL KSCHL NACHA VSZTP 
               USNAM LDEST ERDAT ERUHR
               <b>APPENDING</b> TABLE IT_NAST
               FROM NAST
        WHERE OBJKY = IT_VBRK-VBELN AND
        KAPPL = 'V3' AND KSCHL = 'RD00'.
        IF SY-SUBRC = 4.
           WRITE : / 'No RD00 record in NAST for:' , IT_VBRK-VBELN.
        ENDIF.
     ENDAT.
     AT END OF VBELN.
     ENDAT.
ENDLOOP.
SORT IT_NAST BY OBJKY AS TEXT ASCENDING.
.....

<b>OR</b>

<b>CHECK NOT IT_VBRK[] IS INITIAL</b>.
SELECT OBJKY KAPPL KSCHL NACHA VSZTP 
       USNAM LDEST ERDAT ERUHR
       INTO TABLE IT_NAST
       FROM NAST
       <b>FOR ALL ENTRIES IN IT_VBRK</b>
       WHERE OBJKY = IT_VBRK-VBELN AND
       KAPPL = 'V3' AND KSCHL = 'RD00'.
SORT IT_NAST BY OBJKY AS TEXT ASCENDING.
.....

Kind Regards

Eswar

Read only

0 Likes
710

Thank you Eswar!

For the first variant I have in IT_NAST just one record from NAST for the OBJKY (the last one) (and I want to have all the records).

The second variant is not working, IT_VBRK-VBELN and OBJKY have not the same type and length.

Your suggestions helped me.

Florina C.

Read only

0 Likes
710

Sorry, is working.

Thank you very much!

Florina