on 03-04-2009 3:42 AM
Hi All,
Using the Std. pgm RSTXPDFT4 im able to convert my spool into a PDF document but is there anyway that i can split spool and then convert into PDF.
For ex. if my spool has 4 pages is there anyway that i can generate 2 PDF's with 2 pages each?
Thanks in Advance.
Regards..!
i have created a program using which you can create multiple pdf from a single spool number
first in the code below i have taken a spool number which has 2 pages in it.
second you must use the FM : RSPO_RETURN_SPOOLJOB in the program to get the content of the spool . while to perform analysis on how to build logic to split the spool otf/pdf user the FM RSPO_DISPLAY_SPOOLJOB, here by passing the spool number you will get the content in display mode and then based on the keyword you will build logic for e.g in my case i have to perform segregation based on material number so it can be used to decide how many pages are reserved by a specific material number.
another important point to kept in mind is that otf begins with "//" and a page ends with "EP" and last page ends with "//" along with "EP". It can be used to remove the number of lines to keep specific pages .
program layout as with proper documentation has been provided.
REPORT zdk_spool_split.
**********************************************************************
* DATA DECLARATION.
TYPES : tbuf LIKE tline OCCURS 1.
FIELD-SYMBOLS: <buf> TYPE tbuf.
FIELD-SYMBOLS : <lit_otf> TYPE ANY TABLE.
DATA : lit_otf TYPE STANDARD TABLE OF itcoo.
DATA : objcont LIKE soli OCCURS 0 WITH HEADER LINE.
DATA : format(5) TYPE c, dummy TYPE i.
DATA : buffer_pdf TYPE STANDARD TABLE OF tline.
DATA : p_file LIKE rlgrap-filename VALUE 'C:\temp\file1.pdf'. "#EC NOTEXT
DATA : numbytes TYPE i VALUE 255.
DATA : cancel.
DATA : otfcmd LIKE itcoo VALUE '//'.
DATA : pdfcnv_archive_index LIKE toa_dara.
DATA : bin_file TYPE xstring,
pdf_username TYPE c.
**********************************************************************
* GET THE SPOOL NUMBER FROM THE USER.
PARAMETERS : p_sid TYPE tsp01-rqident OBLIGATORY.
**********************************************************************
* GET THE CONTENT OF THE SPOOL NUMBER
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = p_sid
TABLES
buffer = objcont
EXCEPTIONS
no_such_job = 1
job_contains_no_data = 2
selection_empty = 3
no_permission = 4
can_not_access = 5
read_error = 6
type_no_match = 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.
**********************************************************************
* INCORPORATE YOUR LOGIC TO DELETE LINES WHICH ARE NOT REQUIRED.
* IN MY CASE I HAVE REMOVED LINES FROM 351 TO 715 TO REMOVE THE SECOND PAGE FROM MY SPOOL
* MY OBJCONT AFTER DELTED BEGINS WITH "//" AND ENDS WITH "EP" AND "//"
DELETE objcont[] FROM 351 TO 715.
* IT ONLY CONTAINS ONE PAGE OUT OF 2 PAGES FROM THE SPOOL NUMBER I HAVE PROVIDED.
**********************************************************************
* CONVERT OTF TO PDF
lit_otf = objcont[]. " GET THE OTF IN CORRECT OTF FORMAT
ASSIGN buffer_pdf TO <buf>.
format = 'PDF'. " CHOOSE THE CORRECT FORMAT IE PDF MUST FOR CONVERSION
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = format
IMPORTING
bin_filesize = dummy
TABLES
otf = lit_otf
lines = <buf>
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
IF sy-subrc IS NOT INITIAL.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
**********************************************************************
* GET THE NUMBYTES OF THE PDF CONTENT OBTAINED AFTER THE CONVERSION
* CORRECT NUMBYTE IS VERY IMPORTANT OTHERWISE IT WILL NOT GENERATE
* PDF IN CORRECT FORMAT.
PERFORM convert_otf2pdf_end(rstxcpdf) TABLES <buf>
USING otfcmd
numbytes
pdfcnv_archive_index
bin_file
pdf_username.
**********************************************************************
* NOW DOWNLOAD THE PDF TO VIEW IN ACTUAL PDF AT DESIRED PATH
PERFORM download_w_ext(rstxpdft) TABLES <buf>
USING p_file
'.pdf'
'BIN'
numbytes
cancel.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
what are u working on?
Scripts or forms?
кu03B1ятu03B9к
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
convert spool to otf and this otf can be edited in any way u want then, converrt otf to pdf using FM CONVERT_OTF
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This message was moderated.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Dude,
Once the spool has been generated its not possible to create multiple spools for the pdf output.
in the print program only you can write FM open_form twice...
Hope it may helps for you
Thanks & Regards
Ramakrishna Pathi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.