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

script

Former Member
0 Likes
369

hi experts,

i developed script layout and print program also.i can print the line items in first page but if its more line items it is showing the error like this.

'WRITE_FORM is invalid, START_FORM is missing'.

how can i get the line items in second page.

can anybody help me for this.

thanks & regards

praveen

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
343

Hi Chang ur code according ur requirement.Its a working example.

REPORT ZGA_STEST.

TABLES: SPFLI.

data: s_spfli type table of spfli with header line.

select * from spfli UP TO 3 ROWS into TABLE s_spfli .

CALL FUNCTION 'OPEN_FORM'

EXPORTING

  • APPLICATION = 'TX'

  • ARCHIVE_INDEX =

  • ARCHIVE_PARAMS =

  • DEVICE = 'PRINTER'

  • DIALOG = 'X'

FORM = 'ZGA_SFORM1 '

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT S_SPFLI INTo SPFLI.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'TEXT_100'

FUNCTION = 'SET'

TYPE = 'BODY'

WINDOW = 'MAIN'

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

3 REPLIES 3
Read only

Former Member
0 Likes
343

Can you please cut-paste the code from your print prg...it seems that you are closing the form in the loop and hence the error.

Regards

Anurag

Read only

Former Member
0 Likes
343

Hi

You need a START_FORM FM because if more no. of line items are there means system will generate the second page .

Read only

Former Member
0 Likes
344

Hi Chang ur code according ur requirement.Its a working example.

REPORT ZGA_STEST.

TABLES: SPFLI.

data: s_spfli type table of spfli with header line.

select * from spfli UP TO 3 ROWS into TABLE s_spfli .

CALL FUNCTION 'OPEN_FORM'

EXPORTING

  • APPLICATION = 'TX'

  • ARCHIVE_INDEX =

  • ARCHIVE_PARAMS =

  • DEVICE = 'PRINTER'

  • DIALOG = 'X'

FORM = 'ZGA_SFORM1 '

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT S_SPFLI INTo SPFLI.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'TEXT_100'

FUNCTION = 'SET'

TYPE = 'BODY'

WINDOW = 'MAIN'

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.