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

with header line

Former Member
0 Likes
649

hi all ,

While declaring internal table if I wont declare with header line it shows error like that:

"The internal table "IT_VBAK" has no Header line - explicit

specification of an output area with "INTO wa" or "ASSIGNING <fs>" is

required".

Code given below : Pls check let me know correct answer .thnx in advance

REPORT zvik52 .

----


  • Tables

----


TABLES: vbak.

----


  • TYPES

----


TYPES:

BEGIN OF ty_vbak,

vbeln TYPE vbeln_va,

erdat TYPE erdat,

kunnr TYPE kunag,

auart TYPE auart,

vbtyp TYPE vbtyp,

netwr TYPE netwr_ak,

END OF ty_vbak.

&----


*& WORK AREAS

&----


DATA:

wa_vbak TYPE ty_vbak.

&----


*& INTERNAL TABLES

&----


DATA: it_vbak TYPE TABLE OF ty_vbak.

SELECT vbeln erdat kunnr auart vbtyp netwr FROM vbak UP TO 5 ROWS INTO

TABLE it_vbak ORDER BY netwr DESCENDING.

LOOP AT it_vbak.

AT FIRST .

WRITE : /20 'DISPLAYING THE HIGHEST NET VALUE RECORDS' COLOR 6.

ULINE.

WRITE:/10 'vbeln' COLOR 1,

25 'erdat' COLOR 1,

45 'kunnr' COLOR 1,

55 'auart' COLOR 1,

65 'vbtyp' COLOR 1,

82 'netwr' COLOR 1.

ULINE.

ENDAT.

FORMAT COLOR 3.

WRITE :/10 it_vbak-vbeln,

25 it_vbak-erdat,

45 it_vbak-kunnr,

55 it_vbak-auart,

65 it_vbak-vbtyp,

82 it_vbak-netwr.

FORMAT COLOR OFF.

AT LAST .

SUM.

ULINE.

WRITE: /55 ' total no of netwr' COLOR 2, it_vbak-netwr COLOR 2.

ENDAT.

Thanks

Vikas

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
539

When your table has no header like your loop must be:

LOOP AT it_vbak INTO wa_vbak.

You then refer to all fields while in the loop as <b>wa_vbak-fieldname</b>, not <b>it_vbak-...</b>

Andrew

3 REPLIES 3
Read only

Former Member
0 Likes
540

When your table has no header like your loop must be:

LOOP AT it_vbak INTO wa_vbak.

You then refer to all fields while in the loop as <b>wa_vbak-fieldname</b>, not <b>it_vbak-...</b>

Andrew

Read only

Former Member
0 Likes
539

Hi Vikas,

Your Internal table IT_VBAK is not having the header line. You have declared it explicitely with the statement DATA:wa_vbak TYPE ty_vbak.

you are trying to fetch data from workspace to workarea eventhough it is not having workarea(header). try to use command like.

LOOP AT it_vbak into wa_vbak.

<use write statemets if any only for wa_vbak not for it_vbak>

endloop.

Read only

Former Member
0 Likes
539

Hi,

Here u go: -

REPORT zvik52 .

----


  • Tables

----


TABLES: vbak.

----


  • TYPES

----


TYPES:

BEGIN OF ty_vbak,

vbeln TYPE vbeln_va,

erdat TYPE erdat,

kunnr TYPE kunag,

auart TYPE auart,

vbtyp TYPE vbtyp,

netwr TYPE netwr_ak,

END OF ty_vbak.

&----


*& WORK AREAS

&----


DATA:

wa_vbak TYPE ty_vbak.

&----


*& INTERNAL TABLES

&----


DATA: it_vbak TYPE TABLE OF ty_vbak.

SELECT vbeln erdat kunnr auart vbtyp netwr FROM vbak UP TO 5 ROWS INTO

TABLE it_vbak ORDER BY netwr DESCENDING.

LOOP AT it_vbak into wa_vbak.

AT FIRST .

WRITE : /20 'DISPLAYING THE HIGHEST NET VALUE RECORDS' COLOR 6.

ULINE.

WRITE:/10 'vbeln' COLOR 1,

25 'erdat' COLOR 1,

45 'kunnr' COLOR 1,

55 'auart' COLOR 1,

65 'vbtyp' COLOR 1,

82 'netwr' COLOR 1.

ULINE.

ENDAT.

FORMAT COLOR 3.

WRITE :/10 wa_vbak-vbeln,

25 wa_vbak-erdat,

45 wa_vbak-kunnr,

55 wa_vbak-auart,

65 wa_vbak-vbtyp,

82 wa_vbak-netwr.

FORMAT COLOR OFF.

AT LAST .

SUM.

ULINE.

WRITE: /55 ' total no of netwr' COLOR 2, wa_vbak-netwr COLOR 2.

ENDAT.

ENDLOOP.

Regards,

Hari krishna