‎2007 Sep 27 12:47 PM
I am trying to execute this progarm ,
but here it is showing error message like: WRITE_FORM is invalid START_FORM is missing.....
Please any one can check
&----
*& Report ZSANDYFORM
*&
&----
*&
*&
&----
REPORT ZSANDYFORM.
TABLES: EKPO.
Data: begin of it_sandy occurs 0,
ebeln like ekpo-ebeln,
ebelp like ekpo-ebelp,
matnr like ekpo-matnr,
end of it_sandy.
select ebeln
from ekpo into table it_sandy
up to 100 rows.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX =
ARCHIVE_PARAMS =
DEVICE = 'PRINTER'
DIALOG = 'X'
FORM = 'ZSANDYSCRIPT'
LANGUAGE = SY-LANGU
OPTIONS =
MAIL_SENDER =
MAIL_RECIPIENT =
MAIL_APPL_OBJECT =
RAW_DATA_INTERFACE = '*'
SPONUMIV =
IMPORTING
LANGUAGE = SY-LANGU
NEW_ARCHIVE_PARAMS =
RESULT =
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
CODEPAGE = 11
OTHERS = 12
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
*SELECT *
UP TO 200 ROWS
FROM vbap
INTO TABLE it_sandy.
loop at it_sandy.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'SALES'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
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 'START_FORM'
EXPORTING
ARCHIVE_INDEX =
FORM = 'ZSANDYFORM'
LANGUAGE = SY-LANGU
STARTPAGE = ' '
PROGRAM = ' '
MAIL_APPL_OBJECT =
IMPORTING
LANGUAGE = SY-LANGU
EXCEPTIONS
FORM = 1
FORMAT = 2
UNENDED = 3
UNOPENED = 4
UNUSED = 5
SPOOL_ERROR = 6
CODEPAGE = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT =
RDI_RESULT =
TABLES
OTFDATA =
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
CODEPAGE = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Thanks in advance
Sandy Bondy...
‎2007 Sep 27 12:51 PM
Hi,
https://forums.sdn.sap.com/click.jspa?searchID=5541159&messageID=3738451
thanks,
Reward If Helpful.
‎2007 Sep 27 12:51 PM
Hi sandy,
in function module write_form
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'SALES'
FUNCTION = 'APPEND'
TYPE = 'BODY'
WINDOW = 'MAIN'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10.
use this hope u will get rid of the error.
regards,
Santosh Thorat
‎2007 Sep 27 12:53 PM
Hi Sandy..
This error generally comes when you did not assign the NEXT PAGE for Every page in the Layout set FORM .
So in your Layout set assign the NEXT PAGE for each page and Activate the layoutset.
Then run the print program.
It should work. Get back if u still have the issues.
<b>reward if Helpful.</b>
‎2007 Sep 27 12:57 PM
YOU MUST CALL
END_FORM AFTER START_FORM BEFORE USING WRITE FORM.
TRY THIS.
REWARD IF USEFUL.
AMIT SINGLA
‎2007 Sep 27 1:01 PM
‎2007 Sep 27 1:05 PM
NO FOR A START_FORM THERE SHOULD BE END_FORM AS FOR EVERY
OPEN_FORM THERE IS CLOSE_FORM.
HERE YOU USE STSRT_FORM.
WHICH IS REQUIRED IF YOU NEED TO PRINT ( SAY A CUSTOMER DETAILS) PRINT ON DIFFERENT PAGES. SAY FOR CUSTOMER 1 ON FIRST PAGE.
THEN CUSTOMER 2 ON SECOND.
REWARD IF USEFUL.
AMIT SINGLA
‎2007 Sep 27 1:17 PM
Hi Sandy..
Have u checked my previous post? It will solve ur problem.
There is no need to Call START_FORM and END_FORM functions in this case.
<b>reward if Helpful.</b>
‎2007 Sep 27 1:04 PM
Hi,
This error may be occur due to assigning of next page in script..
please check this,
if it is not assinged,, then when prining of 1 page it will not give any problem,
but if u r output goes more than one page it will pop up the message,,
can u check
and let me know if it available
Reward the points
‎2007 Sep 27 1:14 PM
HI SANDY
SEE THI S PROG
&----
*& Report ZSAMP_INVOICE *
*& *
&----
REPORT zsamp_invoice .
TABLES : vbrk,
vbrp.
DATA : BEGIN OF i_inv OCCURS 0 ,
vbeln LIKE vbrk-vbeln,
fkdat LIKE vbrk-fkdat,
kunag LIKE vbrk-kunag,
arktx LIKE vbrp-arktx,
matnr LIKE vbrp-matnr,
fkimg LIKE vbrp-fkimg,
netwr LIKE vbrp-netwr,
name1 LIKE kna1-name1,
adrnr LIKE kna1-adrnr,
END OF i_inv.
DATA : sum TYPE i ,
sum1 LIKE vbrp-netwr,
sum2 LIKE spell,
amount(20) TYPE n .
PARAMETER : p_inv TYPE vbrk-vbeln .
select a~vbeln
a~fkdat
a~kunag
b~arktx
b~matnr
b~fkimg
b~netwr
c~name1
c~adrnr
into corresponding fields of table i_inv
from vbrk as a inner join vbrp as b on avbeln = bvbeln
inner join kna1 as c on ckunnr = akunag
where a~vbeln = p_inv .
loop at i_inv.
endloop.
*write : i_inv-fkdat,
i_inv-name1.
*
CALL FUNCTION 'OPEN_FORM'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX =
ARCHIVE_PARAMS =
DEVICE = 'PRINTER'
DIALOG = 'X'
FORM = 'ZSAMP_INVOICE1'
LANGUAGE = SY-LANGU
OPTIONS =
MAIL_SENDER =
MAIL_RECIPIENT =
MAIL_APPL_OBJECT =
RAW_DATA_INTERFACE = '*'
IMPORTING
LANGUAGE =
NEW_ARCHIVE_PARAMS =
RESULT =
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
CODEPAGE = 11
OTHERS = 12
.
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 I_INV.
sum = i_INV-fkimg + sum.
sum1 = i_INV-netwr + sum1.
sum2 = sum1.
endloop.
amount = sum1 .
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = sum1
CURRENCY = 'INR'
FILLER = ' '
LANGUAGE = SY-LANGU
IMPORTING
IN_WORDS = sum2
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3.
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 I_INV.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'MAIN'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
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 'WRITE_FORM'
EXPORTING
ELEMENT = 'DATA1'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'SECOND'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DATA2'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'THIRD'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DATA3'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'FOUTH'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DATA4'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'FIFTH'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT =
RDI_RESULT =
TABLES
OTFDATA =
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
CODEPAGE = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IT WILL HELP U
KK.
‎2007 Sep 27 2:15 PM
before write_form you need to call start_form other wise you will get that error.