cancel
Showing results for 
Search instead for 
Did you mean: 

Invoice: How to use more than one Internal Table's info in one Table

Former Member
0 Kudos

Hi ,

I am doing an invoice, and have the info from internal table wa_itgen showing - Matnr, material description and quantity.

I want to also invlude the info Unit Price and Total price on the table line, but can't seem to do it.

I know that someone I must fill an internal table as I did on the Table itself : is_bil_invoice-it_gen INTO wa_ITGEN.

( TYPE IBBIL_INVOICE).

So now I need to insert:

IS_BIL_INVOICE-IT_PRICE INTO WA_ITPRICE.

Do I insert Program Lines, or do it via a LOOP. Obviously it needs to go under the same Table's cells to incluce it.

I tried a LOOP, Program lines under the CELL of the table where I want it displayed, and even a Second table.

If I have the first table's info, the page displays under VF03, but as soon as I try to insert the 2nd Table's info, under VF03 the screen just not show anymore.

Please help - I've started looking at local maps for bridges... yes, to jump from...

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Do you need the solution for the problem or may I help u to find the bridge

ne ways..

TRY THIS INSTEAD

In the line type of the table line add the fields unit price..etc

u loop at the main table as u r doing.

at the cell (add a program lines)

for unit price read the itab where u have stored the unit price and total (using some key from the main loop ...like MATNR)..and fill up a workarwea(WA)

display as wa-unit_price...wa-total_price...etc

Edited by: Pratik Mallick on Aug 4, 2008 1:24 PM

Former Member
0 Kudos

I have now entered ordinary text, and then the invoice shows in a Print preview. When I enter the Field again, nothing shows. The screen goes blank. Could it be that the field is too long for the width of the Cell that I specified?

How do I get it shorter without using SHIFT dobj LEFT 5 PLACES etc, because I tried it already?

Former Member
0 Kudos

Now I have entered a database field from the same internal table, and the invoice was shown in the screen. BUT - I used it in my other internal table and put it in a wider window, and it showed the full Doc No. However, where I want to display the subtotal, the Doc No. is cut off in 3CM wide cell, where it wasn't cut off in a 2 CM wide window.

I am slightly freaked out...

Can someone please help?

Former Member
0 Kudos

either increase the window dimensions or condense the spaces using &FIELD(C)&

eg&Field(3ZC)&---3-outputlen,c-condense,

the various text formatting options in Smartforms

&symbol(Z)& Omit Leading Zeros

&symbol(S)& Omit Leading Sign

&symbol(<)& Display Leading Sign to the Left

&symbol(>)& Display Leading Sign to the Right

&symbol(C)& Compress Spaces

&symbol(.N)& Display upto N decimal places

&symbol(T)& Omit thousands separator

&symbol(R)& Right justified

&symbol(I)& Suppress output of the initial value

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi try this,

in the program lines fetch unit price and total price based on ur invoice number(as u are already in main loop which fetches invoice no material no etc).

now loop that internal table with condition inv no = current invoice no and item no = item number

and display those values on a new text field accordingly.

sample code...

select vbeln

posnr

j_3asize

FKIMG

KZWI1

from vbrp

into table itab

where vbeln = GS_IT_GEN-BIL_NUMBER.

loop at itab into wa where vbeln = GS_IT_GEN-BIL_NUMBER and

posnr = GS_IT_GEN-ITM_NUMBER .

move : wa-j_3asize to v_grid,

WA-FKIMG TO V_QTY,

wa-KZWI1 to v_val.

v_up = v_val / v_qty.

endloop.---->like this

Former Member
0 Kudos

I got it working. It seems like my invoice doesn't like the field with a type Currency.

I used another WA where i changed the fields to type N , length 13, decimals 2, moved the value to the new WA-fields, and it is now printing fine.