cancel
Showing results for 
Search instead for 
Did you mean: 

good receipt smartform

Former Member
0 Kudos

hi

i had created a smart form for goods receipt.my requirement is i want it in 6 copies

first copy is original and remaining five are duplicates i want dup1 and dup2 and so on must be printed on them.

how can i do it.

thanks in advance

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

what ever way i need 6 copies please help?

marius_greeff
Active Participant
0 Kudos

Create a table, append 6 lines to it and loop at it in your main window. Everything in your main window goes under this internal table's loop. Before the end of this loop after all your other stuff put a command to go to a new page1.

Under types tab in form to create table type and structure

TYPES: BEGIN OF is_copies,

copy(1),

END OF is_copies.

TYPES: t_copies TYPE TABLE OF is_copies.

Under Global data:

IT_COPIES TYPE T_COPIES

WA_COPIES TYPE IS_COPIES

Under Initialization Tab

APPEND it_copies 6 times.

In Main Window

LOOP AT it_copies INTO wa_copies.

OR create the internal table in your program and call the smartform 6 times.

Answers (2)

Answers (2)

marius_greeff
Active Participant
0 Kudos

Hi,

I once used a internal table in my form with a field for form header. In the initialization part of the form I appended lines each for each copy of the form and header for that form, 'Customer Copy', 'Original Copy', ect. Then I used it in my main window and nested loop for items under this. Main window was the first window in the form and hence the header window would then print this value from my internal table for it was already populated in the main window. Windows in the form gets processed top-down. By adding a command to go to new page after each loop of headers will then start a brand new form with new heading.

This worked for me quite well.

Regards,

MG

Former Member
0 Kudos

hi bala r u printing all the 6 ar the same time or you r calling 6 times