SMARTFORM-PAGE NO
Hi exports,
I am working on smartforms.I developed 2 pages.I wrote in text element
<C3>Page: &SFSY-PAGE& OF &SFSY-FORMPAGES&</>
But in printview,It is showing me only 1 page.I want to see the second page .Even if I push pagedown button,I am not getting.
How can i solve this problem .pls suggest me
Thanks&Regards
Raghu
Hi ,
First while you view the print preview , try to click on the next page icon .
If it doesn't work, in the General Atributes of First page u should give the Next Page as the name of your second page.
All the best.
Regards,
Leo
Similar Messages
-
Smartform : How do i append o/p of a report(ZA3C) as Smartform Pages
Dear all
I have three smartform pages with a Driver prog .
Now i want 2 append the o/p of mere a report(not SapScript) as smartform pages .
I m trying 2 achieve that by the following BOLD part of my code .
Throw some light on this
Thnx in Advance
Moni
Have look at my code plz
*Printing of Export Invoice, Packing List,Enclosure to Packing List & Case Marking in one SMART FORMS layout *
REPORT ZSD_REP_MULTI_PRINT.
TABLES :
VBAK,
VBAP,
VBFA,
LIKP,
LIPS,
KONV,
t005t,
KNA1,
t001w,
T001,
ADRC.
DATA: FM_NAME1 TYPE RS38L_FNAM,
FM_NAME2 TYPE RS38L_FNAM,
FM_NAME3 TYPE RS38L_FNAM,
FM_NAME4 TYPE RS38L_FNAM,
P_E_DEVTYPE TYPE RSPOPTYPE,
P_JOB_OUTPUT_INFO TYPE SSFCRESCL OCCURS 2000 WITH HEADER LINE,
T_OTF LIKE ITCOO OCCURS 0 WITH HEADER LINE,
T_OTF2 TYPE SSFCRESCL OCCURS 2000 WITH HEADER LINE,
P_OUTPUT_OPTIONS TYPE SSFCOMPOP OCCURS 0 WITH HEADER LINE,
P_CONTROL_PARAMETERS TYPE SSFCTRLOP OCCURS 0 WITH HEADER LINE ,
P_DOC LIKE DOCS OCCURS 2000 WITH HEADER LINE,
P_LINES LIKE TLINE OCCURS 200,
P_BIN_FILESIZE TYPE I,
P_LANGUAGE TYPE SFLANGU,
P_BIN_FILE TYPE XSTRING,
OK_CODE LIKE SY-UCOMM.
DATA: T_ITEM TYPE ZSD_TABL_LITEM,
WA_ITEM TYPE ZSD_STRUCT_LITEM,
T_ADRS LIKE ZSD_STRUCT_ADRS OCCURS 0 WITH HEADER LINE,
MSLINES LIKE TLINE OCCURS 1 WITH HEADER LINE,
TIDNO LIKE STXL-TDID,
TNAME LIKE STXL-TDNAME,
TOBJT LIKE STXL-TDOBJECT,
SSORD LIKE VBAK-VBELN,
TOT LIKE VBAK-NETWR,
WORD LIKE SPELL,
ITNO LIKE VBAP-POSNR.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: P_DELNO LIKE LIKP-VBELN OBLIGATORY,
P_INVNO LIKE VBRK-VBELN OBLIGATORY,
P_DATE LIKE SY-DATUM.
SELECTION-SCREEN END OF BLOCK blk1.
AT SELECTION-SCREEN.
CLEAR T_ADRS.
REFRESH T_ITEM.
T_ADRS-INVNO = P_INVNO.
T_ADRS-INVDAT = P_DATE.
SELECT SINGLE VBELV INTO VBFA-VBELV
FROM VBFA
WHERE VBELN = P_DELNO
AND VBTYP_N = 'J' .
SSORD = VBFA-VBELV.
*Exporter's Address
SELECT SINGLE BUKRS_VF INTO VBAK-BUKRS_VF
FROM VBAK
WHERE VBELN = VBFA-VBELV.
SELECT SINGLE ADRNR
INTO T001-ADRNR
FROM T001
WHERE BUKRS = VBAK-BUKRS_VF.
SELECT SINGLE NAME1 STREET CITY1 POST_CODE1 COUNTRY
INTO (T_ADRS-NAME1,T_ADRS-STREET,T_ADRS-CITY1,
T_ADRS-POST_CODE1, ADRC-COUNTRY)
FROM ADRC
WHERE ADDRNUMBER EQ T001-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-COUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
*Consignee Address & Buyer Other Than Consignee
SELECT SINGLE KUNNR KUNAG INTO (LIKP-KUNNR, LIKP-KUNAG)
FROM LIKP WHERE VBELN = P_DELNO.
IF LIKP-KUNNR = LIKP-KUNAG.
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-CNAME1, T_ADRS-CNAME2, T_ADRS-CSTREET,
T_ADRS-CCITY, T_ADRS-CPCODE, T_ADRS-CREGIO,
T_ADRS-CTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNNR.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-CCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
T_ADRS-ONAME1 = T_ADRS-CNAME1 .
T_ADRS-ONAME2 = T_ADRS-CNAME2 .
T_ADRS-OSTREET = T_ADRS-CSTREET .
T_ADRS-OCITY = T_ADRS-CCITY.
T_ADRS-OPCODE = T_ADRS-CPCODE .
T_ADRS-OREGIO = T_ADRS-CREGIO.
T_ADRS-OTELF1 = T_ADRS-CTELF1 .
T_ADRS-OCOUNTRY = T_ADRS-CCOUNTRY.
ELSE.
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-CNAME1, T_ADRS-CNAME2, T_ADRS-CSTREET,
T_ADRS-CCITY, T_ADRS-CPCODE, T_ADRS-CREGIO,
T_ADRS-CTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNNR.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-CCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
*Buyer Other than Consignee
SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
INTO (T_ADRS-ONAME1, T_ADRS-ONAME2, T_ADRS-OSTREET,
T_ADRS-OCITY, T_ADRS-OPCODE, T_ADRS-OREGIO,
T_ADRS-OTELF1, KNA1-ADRNR)
FROM KNA1
WHERE KUNNR = LIKP-KUNAG.
SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
FROM ADRC
WHERE ADDRNUMBER EQ KNA1-ADRNR.
SELECT SINGLE LANDX
INTO T_ADRS-OCOUNTRY
FROM T005T
WHERE SPRAS = 'EN'
AND LAND1 = ADRC-COUNTRY.
ENDIF.
*Other's Ref
TIDNO = 'Z071'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-OREF = mslines-tdline(50).
EXIT.
ENDLOOP.
*Buyer's Order No Ref
TIDNO = 'Z023'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-BUYER = mslines-tdline(50).
EXIT.
ENDLOOP.
*Exporter Ref
TIDNO = 'Z072'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-XPREF = mslines-tdline(50).
EXIT.
ENDLOOP.
*Pre-Carraige By
TIDNO = 'Z074'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PCRG = mslines-tdline(50).
EXIT.
ENDLOOP.
*Place Of reciept by Pre-Carraige
TIDNO = 'Z073'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PLPCRG = mslines-tdline(50).
EXIT.
ENDLOOP.
*Vessel/Flight No
TIDNO = 'Z075'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-VFNO = mslines-tdline(50).
EXIT.
ENDLOOP.
*Port Of Loading
TIDNO = 'Z077'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PLOAD = mslines-tdline(50).
EXIT.
ENDLOOP.
*Port Of Discharge
TIDNO = 'Z076'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-PDISG = mslines-tdline(50).
EXIT.
ENDLOOP.
*Final Destination
TIDNO = 'Z070'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-FDEST = mslines-tdline(50).
EXIT.
ENDLOOP.
*Terms Of Delivery & Payment
TIDNO = 'Z080'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-TERMS = mslines-tdline(50).
EXIT.
ENDLOOP.
APPEND T_ADRS.
*BODY SECTION FOR LINE ITEMS
SELECT POSNR KWMENG VRKME WAERK
INTO (VBAP-POSNR, VBAP-KWMENG, VBAP-VRKME, VBAP-WAERK)
FROM VBAP
WHERE VBELN = SSORD.
*Mark/Case No
TIDNO = '0002'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-MARKNO = mslines-tdline(40).
EXIT.
ENDLOOP.
*Packing Type
TIDNO = '0003'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-PACKTYP = mslines-tdline(40).
EXIT.
ENDLOOP.
*Goods Description
TIDNO = '0001'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-GDESC = mslines-tdline(40).
EXIT.
ENDLOOP.
*Goods Quantity
WA_ITEM-QTY = VBAP-KWMENG.
WA_ITEM-VRKME = VBAP-VRKME.
*Goods Rate
SELECT SINGLE KNUMV INTO VBAK-KNUMV FROM VBAK WHERE VBELN = SSORD.
SELECT SINGLE KBETR WAERS
INTO (WA_ITEM-RATE, WA_ITEM-WAERS)
FROM KONV
WHERE KNUMV = VBAK-KNUMV
AND KPOSN = VBAP-POSNR
AND KSCHL = 'PR00'.
*Item Remarks
TIDNO = 'ZREM'.
CONCATENATE SSORD
VBAP-POSNR
INTO TNAME.
TOBJT = 'VBBP'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
WA_ITEM-REMARK = mslines-tdline(40).
EXIT.
ENDLOOP.
*Goods Amount
WA_ITEM-AMOUNT = WA_ITEM-QTY * WA_ITEM-RATE.
WA_ITEM-WAERK = VBAP-WAERK.
TOT = TOT + WA_ITEM-AMOUNT.
ITNO = VBAP-POSNR.
APPEND WA_ITEM TO T_ITEM.
ENDSELECT.
T_ADRS-TOT = TOT.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = TOT
CURRENCY = VBAP-WAERK
FILLER = ' '
LANGUAGE = SY-LANGU
IMPORTING
IN_WORDS = WORD
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.
*Gross Wieght
TIDNO = 'Z078'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-GWT = mslines-tdline(40).
EXIT.
ENDLOOP.
*Net Wieght
TIDNO = 'Z079'.
TNAME = SSORD.
TOBJT = 'VBBK'.
PERFORM FINDTEXT.
LOOP AT MSLINES.
T_ADRS-NWT = mslines-tdline(40).
EXIT.
ENDLOOP.
T_ADRS-TOT_WORDS = WORD-WORD.
APPEND T_ADRS.
START-OF-SELECTION.
P_LANGUAGE = 'EN'.
CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
EXPORTING
I_LANGUAGE = P_LANGUAGE
I_APPLICATION = 'SAPDEFAULT'
IMPORTING
E_DEVTYPE = P_E_DEVTYPE.
P_OUTPUT_OPTIONS-XSFCMODE = 'X'.
P_OUTPUT_OPTIONS-XSF = SPACE.
P_OUTPUT_OPTIONS-XDFCMODE = 'X'.
P_OUTPUT_OPTIONS-XDF = SPACE.
P_OUTPUT_OPTIONS-TDPRINTER = P_E_DEVTYPE.
P_OUTPUT_OPTIONS-TDDEST = 'LOHP'.
APPEND P_OUTPUT_OPTIONS.
P_CONTROL_PARAMETERS-NO_DIALOG = 'X'.
P_CONTROL_PARAMETERS-GETOTF = 'X'.
P_CONTROL_PARAMETERS-NO_CLOSE = SPACE.
APPEND P_CONTROL_PARAMETERS.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT1'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME1
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 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.
CALL FUNCTION FM_NAME1
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = P_CONTROL_PARAMETERS
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = P_OUTPUT_OPTIONS
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = P_JOB_OUTPUT_INFO
JOB_OUTPUT_OPTIONS =
TABLES
T_ADRS = T_ADRS
T_ITEM = T_ITEM
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
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 P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT2'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME2
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 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.
CALL FUNCTION FM_NAME2
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = P_CONTROL_PARAMETERS
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = P_OUTPUT_OPTIONS
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = P_JOB_OUTPUT_INFO
JOB_OUTPUT_OPTIONS =
TABLES
T_ADRS = T_ADRS
T_ITEM = T_ITEM
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
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 P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_REP_MULTI_PRINT3'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME4
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 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.
CALL FUNCTION FM_NAME4
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = P_CONTROL_PARAMETERS
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = P_OUTPUT_OPTIONS
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = P_JOB_OUTPUT_INFO
JOB_OUTPUT_OPTIONS =
TABLES
T_ADRS = T_ADRS
T_ITEM = T_ITEM
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
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 P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.
<b>*for capturing the o/p pages from ZPL3 and consolidating into table T_OTF to get single PDF
SET PARAMETER ID: 'AUN' FIELD SSORD ,
'APO' FIELD ITNO.
CALL TRANSACTION 'ZPL3' AND SKIP FIRST SCREEN.
IF SY-SUBRC NE 0.
MESSAGE E001(ZQOTBANK).
ENDIF.
IMPORT (T_OTF2) FROM MEMORY ID 'MEMID'.
LOOP AT T_OTF2-OTFDATA INTO T_OTF.
APPEND T_OTF.
ENDLOOP.</b>
CALL FUNCTION 'CONVERT_OTF_2_PDF'
EXPORTING
USE_OTF_MC_CMD = 'X'
ARCHIVE_INDEX =
IMPORTING
BIN_FILESIZE = P_BIN_FILESIZE
TABLES
OTF = T_OTF
DOCTAB_ARCHIVE = P_DOC
LINES = P_LINES
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 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.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = P_BIN_FILESIZE
FILENAME = 'C:\SD6.pdf'
FILETYPE = 'BIN'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
IMPORTING
FILELENGTH = P_BIN_FILESIZE
TABLES
DATA_TAB = P_LINES
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*& Form FINDTEXT
text
FORM FINDTEXT.
REFRESH mslines.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = tidno
language = sy-langu
name = tname
object = tobjt
TABLES
lines = mslines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
DELETE mslines WHERE tdline IS INITIAL.
ENDFORM. "FINDTEXTHello,
You can find out the Spool Request w.r.t the Program by FM RSPO_FIND_SPOOL_REQUESTS.
This Spool Request could be converted to PDF by FM CONVERT_ABAPSPOOLJOB_2_PDF.
P.S.: The Import parameter 'NO_DIALOG' in FM CONVERT_ABAPSPOOLJOB_2_PDF is to be initial. You will be getting a Popup seeking the Path and name of the file to be created. This is because you can direct the Spool list to be created in the same PDF file by appending it into earlier created SSF/SAPScript PDF outputs.
I hope this helps you.
Regards, Murugesh AS -
How can i know total number of lines in a smartform page?
Hello All,
1. How to find the total number of lines that can be printed on a smartform page?
2. Need to determine the current line on which the text is goint to printed
Depending upon the no of lines left for printing i need to call a new page explicitly?
Answers will be rewared...
Thanks and Regards,
Josin George
Edited by: Bhuvaneswari Mathuraiveeran on Jan 1, 2009 1:02 PMhi ,
I think u have to decide no of lines by trial error menthod only ...
u can use SY-TABIX to decide , which line its printing ...
hope its helps ..... -
Hi experts,
I am displaying notification numbers in the ALV format. when the user selects few of the notification numbers and click on display button it should display the notification details using smartform.
I have to trigger a new page for every notification number.
I had problem in numbering the smartform pages.
For example if the user selects 3 notification numbers say 1st one takes 3 pages, second one takes one page and third one takes 2 pages then i have number the pages as below.
1st notif:1of 3,2 of 3,3 of 3.
2nd notif:1 of 1.
3rd notif:1 of 2,2 of 2.
Please give me some suggestion.
Thank you.
Regards,
Bharat Kalagara.hi ,
in the driver program based on on a check on notification number call smartform , and now in smartform where u are printing page number make that window as a final window , this will help in calculating total no of pages now create a text element and write &sfsy-page(3cz)& of &sfsy-formpages(3cz)&.
hope this helps you !!!
regards,
prashanti -
Hi All,
I have a strange issue on Smartform Pages,I have 4 pages in the smartform and i need all pages should be printed one after another,
for that i have selected in GENERAL ATTRIBUTES next page as subsequent page,
Eg:
FIRST PAGE --> SECOND PAGE->THIRD PAGE->FOURTH PAGE and so on .
but when i execute layout is displaying only 2pages,if i change the sequence also 2 pages,
just to check i put command in the main window and in that i gave the page names even though always two pages.
did i miss something?or this is an issue with some other issue like GUI etc....
Please let me know your suggestions to resolve this.
Thanks
SurendraHi Vara,
By default there will be a value set by the administrator for the number of pages you can view in the spool. So to me it looks like this value is set to 33 in yoru case. You can go to setting from the same screen and change thsi setting to display all pages. But beware that this may take a long time some times and also give you a dump at times.
-Guru -
Not able to print Smartforms page
Hi,
I am not able to print more than one page in smartforms.
Even in the print preview, I can see just content of page one ?
I have alse made the next page attribute of page 1 as page 2 ?
Still it does not work.Tushar,
Assume you have 2 pages Page1 and Page2 . Page2 is the next page for Page1. So what u have to do is make a command line in Page1(right click on window -> create -> flow-logic -> command) and in there choose Page2 as your Go to New Page. This should solve your problem.
Regards,
Vinay -
Hi experts
Can i print the data in one form to the first page and print in a different form to the second page.(same data)
How to separate the page break in smartforms.
Thanks in advance.
Regards
RajaramHI ,
In smartforms
Right click->create->flow logic->command
In the conditions tab : give the condition for a particular filed so that a page break should trigger .
In general attributes tab : tick the go to new page cehk box and selexct the page from the drop down list .
Regards -
Regarding smartform page wise total.
hi
guru's
i am having doubt on smartform
i want to caluclate sum of qunatities in pagewise
Regards
AnandHello Anand ,
Really good Question.
As per my knowledge and understanding it is possible only a only when , when the you know the no of row you can print in Main window like......
In my Main Window I can print 5 Row . Then in the Footer you can Code like this. That's i don't thing big issue. But majar thing on the basic of your data in internal table (you can say how many row can be printed in first and so on page).
I haven't done this yet , quite sure it will help you.
Regards
Swati namdeo -
Regarding smartforms page format
i create a page format of size 240mm width and 93mm height and go through the transaction SPAD and i done the device type setup also correctly. but when i try to take the print out it is showing the following error as follows.
exception : send_error
message id : ssfcomposer
device type swin does not support page format <name>.
please anybody can give solution for this.Total Posts: 7
Total Questions: 6 (6 unresolved)
Did you even try to search before posting. Similar threads have been discussed no of times.
[Creating custom page format for sapscript/smartform|http://sample-code-abap.blogspot.com/2009/05/creating-custom-page-format-for.html]
Close the threads if resolved
Edited by: K.Manas on Dec 28, 2010 6:06 AM -
Need help in smartforms page break
HI Experts,
I need yout help in Smartforms.
My requirement is I want to check my current page count with total number of pages in smartform.
Based on above , I wish to print some text only on the main window of last page.Currently, the text is getting printed on all pages.
Steps taken:
1) SFSY-FORMPAGES & SFSY-PAGE already checked but both of them get set simultaneously so the concept doesn't work.
2) Tried creating a custom FM and using total number of line items available at ITEM level . Doesn't work .
Any help would be highly appreciated.
Thanks,
Abhinav.Hi sap_wiz,
I have 2 pages into my smartform ( FIRST & NEXT ). The SFSY-FORMPAGES parameter is not getting set at the trigger of MAIN window of FIRST page .
If I check the value both FORMPAGES & PAGES parameter are 1 and on next page it gets set as 2 & 2. So I am not able to use SFSY concept.
Hi DeepakNandikanti ,
I wish to print the text at the end of MAIN window towards the FOOTER of table ( MAIN window has a table ) and not outside the window.
Thanks,
Abhinav. -
Smartforms -Page Skipping Problem in Continue Sheet Printing.....
Hi Gurus,
I face problem with multiple page printing in dot matrix printer for purchase order printing.
Here are the details about my requirement
Our client Purchase order pre-printed Paper size Width 303 mm Height 203 mm and continued sheet. I have created a z layout zpoprint for the above size and assigned it in smarforms and select DINA4 transverse in printer. Whenever we printing 2nd page it starts printing after 5 cm. My friends asked me to create a customized page format in server properties in printer. Is there any other way to overcome this issue? Anybody face this problem kindly reply to me.
By
SP. ManavalanHi
Though you can double check the page layouts of both pages of your smartform, also keep in consideration that using a dot matrix printer to get the output of smartforms will have some impact of the positioning of the print as dot matrix printers are mechanical in nature(wheels are moving!).
Whereas, in laser printers, the whole data is taken, formatted and then sent to print.
Regards
Raj -
Smartforms - page protection problem
Hi,
I have made an invoice form with smartforms. To protect the positions of page breakes, I have made all position nodes in one folder note and set the page protection flag for that folder. Because in tables the page protection option is not working, I have made it all with paragraphs...
This is my problem now:
If the form has more than one page, I have to show the sum of all positions of the first page on the bottom of the page and one the top of the next page. Therefore I have calculated the sum inside the loop of the positions (at the end of the loop).
This is normaly working... But if I have two pages and only <b>ONE</b> position does not fit on the first page, the calculated sum contains the sum of <b>ALL</b> positions, although the last position is shown on the next page!
Any ideas, how I can only calculate the positions that fit on one page <b>FOR REAL</b>?
Thank You very much!
Cheers ArneHi,
I encountered a similar problem as ur doing.In dat scenario what i did was that I created a <b>Loop</b> instead of a table and secondly based on the page size please create a style with proper an appropriate tab and use this through out while displaying the line items.
Using a tab will ensure equal spacing everywhere and the data will not overflow from any line and where ur writing a variable place an addition (C) at the end of that variables between the &. This also ensures that the data doesnt overflow and confines to the space.
Hope this will help.
Varun -
Smartforms: Page break in main window
Hello all,
I am working on a smartform that has a loop in the Main window which finally shows a table with serveral rows. I would like to have a page break if one group of lines doesn't fit on the page anymore.
I did some research on that and found the following solution:
Protection against page break for several table lines
- Expand the main area of your table node in the navigation tree.
- Insert a file node for the table lines to be protected in the main area.
- If you have already created table lines in the main area, you can put the lines that you want to protect again page break under the file using Drag&Drop. Otherwise, create the table lines as subnodes of the file.
- Choose the Output Options tab page of the file node and set the Page Protection option. All table lines that are in the file with the Page Protection option set are output on one page.
I did all this and activated the form. But when I go the generic output issue to see the form, following error message comes up:
Output could not be displayed (it may not be complete)
Any ideas why this is happening? (If I delete the folder with the "page protection" mark, then it is working fine again..)
Thanks a lot
AnneHey Anne,
If you are getting the error as soon as you check the box for page protection, it indicates that its not placed at correct position.
I think you placed the folder at a wrong node. I placed the folder under the main area of the table and placed the row types under the folder. Then i checked the folder for page protection.
Its working for me. I am working in ECC 6.0. I dont know if we have that provision in 4.6 C.
Create the folder under the main area of the table node.
put the row types under the folder and check the box for page protection.
Thanks,
Vamshi.
Edited by: vamshi p on Jan 31, 2008 9:19 PM -
Smartforms : Page Protection in Main Window
I am working on one smartform which his printing the invoice. In the main window there is one table defined which prints all the line items. After this table there is one more table which prints the subtotals. I want to protect the entire contents of this second table against the page break.
e.g. if i have 4 lines in subtotal table and there is not enough space on the current page to print all the lines, then all the 4 lines should print on the next page. If anyone has encountered the similar problem and have an solution please respond as soon as possible.
Regards,
WasimkhanHi,
I have encountered an identical problem.
Is there any soulution ?
I do not want to count how many lines is used in the main window currently because it is to risky (each table record can ocuupy more than one line).
Regards,
Piotr -
Hi,
I have developed a Smartform and that is working fine with all values
that form have terms and conditions and subtotals
if i have one page i need to display in the first page all the terms and conditions
if i have more than one page i need to display in last page and remaining have doesnot have any space after main window
how to do this please suggest meHi
check the form page SFSY-FORMPAGES
that will contain max no of page
in CONDITION TAB
put condition
if it is 1.
check 'ONLY ON FIRST PAGE' check box
if more than 1
check 'ONLY AFTER END OF MAIN WINDOW' check box
or else you can also try
'ONLY AT THE PARAGRAPH END' check box
regards
Prabhu Shanmugham
Maybe you are looking for
-
Connection to LCD TV - DVI and VGA
Trying to link my MacBook to my Samsubg LCD TV but it's proving more problematic than I thought. Using a straight DVI-I connection, a decent image appears onscreen although the edges of the screen are cut off uniformly all around. I've tried inputtin
-
Trace file errors interpretation
We are running Oracle 11.2.0.3 on a Windows 2008 R2 Server with an app server on the same. Our app has a search function that has recently started timing out on us. Sometimes intermittently but often now. I've ran a trace in our dev environment, belo
-
Access server's serial port thru an applet
hello everyone, i am writing a program that will allow remote computer to read and write on server's serial port. currently i am in the testing stage, so i am programming everything on the same computer. i already wrote an application using java comm
-
DNS -- DHCP vs Client Settings
Does setting DNS Server and a Search Domain in System Preferences>>Network on a client machine override the settings set via the DHCP service on the server? The clients are set to DHCP and the main AD authentication server is down and they're not goi
-
Firefox freezes when I access my add-ons page.
Firefox freezes when I access my add-ons page. I must use Task Manager to unfreeze it. Some add-ons (AdBlock) still work. Others (NetVideoHunter) don't. I would like to remove all the add-ons and start fresh, see if it makes a difference, but when I