Creating Spool request
Hi friends,
as per the old message I am trying to create a spool request which further will be downloaded to PDF format. I am facing a problem, as per message when I try to do write in worte_perform I am receving ABAP dumps with Illegal page number
anyidea why is it so .
Thanks
Lakhbir
data: loc_dest like pri_params-pdest .
clear : wf_listname , loc_dest , wf_listtext .
move: 'List name' to wf_listname .
move: 'List header text' to wf_listtext .
select single spld into usr01-spld from usr01 where bname eq sy-uname .
if sy-subrc eq 0 .
move: usr01-spld to loc_dest .
endif .
call function 'GET_PRINT_PARAMETERS'
exporting
destination = loc_dest
copies = wf_copies
list_name = wf_listname
list_text = wf_listtext
immediately = ' '
release = ' '
new_list_id = 'X'
expiration = wf_days
line_size = 200
line_count = 65
layout = 'X_65_200'
sap_cover_page = 'X'
receiver = 'SAP*'
department = ''
no_dialog = 'X'
importing
out_parameters = wf_params
valid = wf_valid.
if wf_valid <> space.
new-page print on parameters wf_params no dialog.
perform write_summary .
new-page print off.
endif .
within the write_summary do a normal write operation.
loop at <itab> .
write:/
endloop .
We encountered a similar problem on 4.6C using a custom BAPI to save invoices to PDF for an internal web app. We used a BDC/call transaction to access the output function from there. This was only supposed to be a temporary workaround but has been working and we probably won't revisit until our next upgrade. Hopefully this idea will help on your version, if so I am new here and need points!
*Generate Transaction
PERFORM dynpro USING :
'X' 'SAPMV60A' '0101' ,
' ' 'VBRK-VBELN' v_invoice ,
' ' 'BDC_OKCODE' '=DRCK' .
PERFORM dynpro USING :
'X' 'SAPLVMSG' '0110' ,
' ' 'DNAST-KSCHL' v_kschl,
' ' 'BDC_OKCODE' '=STAR' .
SELECT * UP TO 1 ROWS
FROM nast WHERE objky = v_invoice
AND vstat = '1'
AND kappl = 'V3'
AND kschl = v_kschl
AND aktiv = space.
ENDSELECT.
IF sy-subrc = 0.
PERFORM dynpro USING :
'X' 'SAPLSPO1' '0300' ,
' ' 'BDC_OKCODE' '=YES' .
ENDIF.
PERFORM dynpro USING :
'X' 'SAPLVMSG' '0100' ,
' ' 'NAST-LDEST' 'TD06',
' ' 'NAST-DIMME' space,
' ' 'NAST-TDOCOVER' space,
' ' 'NAST-TDRECEIVER' space,
' ' 'NAST-DELET' 'X',
' ' 'BDC_OKCODE' '=STAR' .
CALL TRANSACTION 'VF03'
USING i_bdcdata
MODE v_mode
UPDATE 'S'
MESSAGES INTO i_bdcmsgcoll.
Similar Messages
-
Pop problem while creating spool request in reuse_alv_grid_display
Hi Experts,
I am trying to create a spool request of alv
and problem is that i do not want pop-up window for asking output devices,
actually i am calling reuse alv in loop and following steps i have done:
w_print-print = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_BYPASSING_BUFFER = 'X'
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = FIELDCAT[]
I_DEFAULT = 'X'
I_SAVE = 'X'
is_print = w_print
TABLES
T_OUTTAB = T_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Please give the solution.
Thanks
PankajHi,
Use FM GET_PRINT_PARAMETERS , and use command NEW-PAGE PRINT ON PARAMETERS <wa_params> NO DIALOG. before calling the alv FM.
ls_print-print = 'X'.
DATA: lwa_params TYPE pri_params,
lv_valid TYPE c.
CLEAR: lwa_params, lv_valid.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
in_parameters = lwa_params
layout = 'X_65_132'
line_count = 65
line_size = 132
no_dialog = 'X'
IMPORTING
out_parameters = lwa_params
valid = lv_valid
EXCEPTIONS
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
OTHERS = 4.
MOVE-CORRESPONDING lwa_params TO ls_print-print_ctrl-pri_params.
ls_print-print_ctrl-pri_params-pdest = 'LP01'. " your printr device
NEW-PAGE PRINT ON PARAMETERS lwa_params NO DIALOG.
then call FM CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'.
this will work.
refer link [ALV - print - create spool request;
Regards,
Ravi. -
FM "open form ; how to craete create SPOOL REQUEST
Hi.
I have a Z program n layout . We have used a FM "open form."
But when I run, i dont get spool
In this case I want to create SPOOL REQUEST whenever I run program.Can anyone
suggest what fields I need to mark in ITCPO and NAST or more than these.Hi,
Check this link :
http://www.thespot4sap.com/articles/SAPscript_example_code.asp
Regards
Appana -
Saving a delivery, does not create spool request
Hi,
I have a delivery and 2 output types. The print program of first output type already exists and I created one for the second one.
When I save the delivery, spool request gets created for the first output type but doesn for the one I created. Can anyon tell why?hi,
It has to be assigned to the second output type, the first one is for a different purpose.
Is there any change need to be done in program to correct it?
But, It does work when run through transaction. -
Creating spool requests using smartforms
hi folks,
I need help in this area...
I have an ABAP print program that I run to create monthly statements. There are two categories while running the monthly statements identified by the code '6' or '7' Now, i have to create separate spool requests so that while running the print program for these monthly customers.
How can I do this?
SanthoshOk, first lets say that ACCITAB has the records that are printed in the main window of the form. The number of pages for each customer depends on how many records are present in the ACCITAB for the customer.
For example.... ACCITAB.
<b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
1234 08/26/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
1234 08/27/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
5678 08/21/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
5678 08/22/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
5678 08/23/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
5678 08/24/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
5678 08/25/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
5678 08/26/2005 <b>Customer Invoice Date Passed Due</b>
1234 08/25/2005 $1.00
1234 08/26/2005 $1.00
1234 08/27/2005 $1.00
5678 08/21/2005 $1.00
5678 08/22/2005 $1.00
5678 08/23/2005 $1.00
5678 08/24/2005 $1.00
5678 08/25/2005 $1.00
5678 08/26/2005 $1.00
.00
Lets say we have two customers in our table, customer 1234 has only two records associated with him, customer 5678 has like 75 lets say. Here you will need to loop at this table and count how many records are there for each customer and store it in another internal. Maybe you can have a separate internal table for each category.
Types: begin of titab,
kunnr type kna1-kunnr,
count type i,
end of titab.
Data: itab_1 type table of titab with header line.
Data: itab_2_5 type table of titab with header line.
Data: itab_6_M type table of titab with header line.
One for 1 pagers, one of 2-5 pagers, and one for 6 and more pages.
Now loop thru ACCITAB and at the end of a customer you need to write a record to one of these tables with the record count. Use the AT END statement. You will need to determine the maximum number of printed lines that your form handles in the MAIN window. Example, how many printed lines does it take to make the form go to the next page. You need to find what this number is.
When you have this number, now you can do some logic which will split the customers into there categorys.
Let's say that the max is 50 lines per page.
Data: counter type i.
LOOP AT ACCITAB.
counter = counter + 1.
at end of kunnr.
IF counter < '50'.
itab_1-kunnr = accitab-kunnr.
itab_1-count = counter.
append itab_1.
elseif counter => '51'
and counter =< '250'.
itab_2_5-kunnr = accitab-kunnr.
itab_2_5-count = counter.
append itab_2_5.
elseif counter => '251'.
itab_6_m-kunnr = accitab-kunnr.
itab_6_m-count = counter.
append itab_6_m.
ENdif.
clear counter.
endat.
ENDLOOP.
Now you have the customers split out into separate internal tables depending on how many pages for thier statement. Now you can start printing.
call fucntion 'OPEN_FORM'.
Loop at itab_1.
* Do the logic which prints your form.
endloop.
call fucntion 'CLOSE_FORM'.
call fucntion 'OPEN_FORM'.
Loop at itab_2_5.
* Do the logic which prints your form.
endloop.
call fucntion 'CLOSE_FORM'.
call fucntion 'OPEN_FORM'.
Loop at itab_6_m.
* Do the logic which prints your form.
endloop.
call fucntion 'CLOSE_FORM'.
Please remember to award points for helpful answers. Thanks.
Regards,
Rich Heilman -
ALV - print - create spool request
Hi all,
We have made SAP Query (The majority and 'was written in ABAP code), a report using ALV grid (function 'REUSE_ALV_GRID_DISPLAY'). There is a 'Print' button on the grid. If the user presses this button the system will send a screen where the user can choose print parameters (name of printer, printing, direct or not, etc..) If the user presses 'Continue' a spool request is then created.
But the users do not want to see the screen parameters.
After pressing the button 'Print' on the grid, the spool request should be immediately created using the parameters seted in the ABAP program, the same program that creates ALV.
Any idea how to do this?
Thanks in advanceHi,
Please refer to the link to add button in the ALV tool bar:
[http://www.sapalv.net/2009/07/sap-alv-tutorial-4-%E2%80%93-add-button-to-toolbar/]
For creating spool on click of this pushbutton you can use the following:
* Set the Spool Parameters
DATA: lwa_params TYPE pri_params,
lv_valid TYPE c.
CLEAR: lwa_params, lv_valid.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
in_parameters = lwa_params
layout = 'X_65_132'
line_count = 65
line_size = 132
no_dialog = 'X'
IMPORTING
out_parameters = lwa_params
valid = lv_valid
EXCEPTIONS
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
OTHERS = 4.
IF sy-subrc EQ 0.
NEW-PAGE PRINT ON PARAMETERS lwa_params NO DIALOG.
* Write code for displaying the ALV here......
NEW-PAGE PRINT OFF.
ENDIF.
Regards,
Aparna Alashe. -
Hi averybody,
Is there any parameter to avoid I create a spool request? I work with Smartforms.
thanks in advance
RegardsHi,
You need pass these parameter in the OUTPUT_OPTIONS parameter of Smartform FM
OUTPUT_OPTIONS-TDNEWID = ' ' "---> No Spool Request
OUTPUT_OPTIONS-TDIMMED = 'X' " --> Print Immdietly -
Hi Friends,
I have to print like 5000 checks . In my custom program I need to create new spool for every 1000 checks so that I can send them to 5 printers from the Spool .
Please advise What paramenters I need to take care of .
Thanks,You can write simple logic ,just fill the ITCPO Structure in OPEN_FORM FM's
count the records in internal table.
if internal table data reaches 1000 records then use below logic.
if i_data-count = 1000.
itcpo-tddest = p_print.
itcpo-tdnewid = 'X'.
itcpo-tdpreview = 'X'.
itcpo-tdimmed = 'X'.
itcpo-tdcopies = '1'.
endif.
call function 'OPEN_FORM'
exporting
device = 'PRINTER'
dialog = ' '
form = 'ZAUTO_REPLPRINT'
language = sy-langu
options = itcpo.
Thanks
Seshu -
How to create the multiple spool requests for a single report.
Hi gurus,
I have one requirement to be completed , i need to send the out put of the report via mail in pdf format. for that what i did was, iam executing report in background and creating spool request and converting it to pdf and sending the file.
now the problem is, its a customer ledger report, for each customer i need to create a new spool request and send mail to that particular customer, now my dought is how to create multiple spool requests for a single pro and how i need to go about it.
And one more question is can we create a spool request for a report which is running in online.
waiting for inputs frm gurus.Hello,
As per my knowledge for creating new spool id you will have to set
output_options-tdnewid = 'X'.
and then using
job_output_info-spoolids
create a pdf using
call function 'CONVERT_OTFSPOOLJOB_2_PDF'
Rachana. -
How to create Spool through ABAP program
How to create spool request for Smartforms through program. So I can go in TCODE SP01 and see the output of my smartforms.
Include the below code in ur program .......
DATA: PRINT_PARAMETERS TYPE PRI_PARAMS,
VALID_FLAG TYPE C LENGTH 1.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
IMMEDIATELY = 'X' "C_IMMEDIATELY
*LAYOUT = 'Z_48_144'
*LINE_COUNT = '48'
LINE_SIZE = '255'
*NEW_LIST_ID = C_NEW_LIST_ID
NO_DIALOG = 'X'
RELEASE = 'X'
IMPORTING
OUT_PARAMETERS = PRINT_PARAMETERS
VALID = VALID_FLAG
EXCEPTIONS
ARCHIVE_INFO_NOT_FOUND = 1
INVALID_PRINT_PARAMS = 2
INVALID_ARCHIVE_PARAMS = 3
OTHERS = 4 .
G_PDEST = PRINT_PARAMETERS-PDEST.
NEW-PAGE PRINT ON PARAMETERS PRINT_PARAMETERS
NO DIALOG.
List of write statements to be output.......
NEW-PAGE PRINT OFF.
Reward if useful.............. -
Hello,
I created spool requests for the samartforms by executing in background.
Can any one tell me how to send the the spool request to printer? I would like to send from ABAP program not using tcode sp02.
Thank youHi
We can use FM: <b>RSPO_OUTPUT_SPOOL_REQUEST</b> for the same.
CALL FUNCTION 'RSPO_OUTPUT_SPOOL_REQUEST'
EXPORTING
device = <printer>
spool_request_id = <request>.
Regards
Eswar -
Hi,
I have one program, that calls transaction code CIP2. When I run in backgound, it creates spool request but with 0 pages.
And have the message:
ERROR => missing close of spool request [rspoooh.c 1173]
If I run this program without background and calls CIP2, it runs well and no spool is created.
Any idea how to solve this problem? or close the spool request?
All ideias are welcome.
Best regards,
Anabela FernandesHi Harsh,
When my program run in background it is done by one job and run when one event occurs.
My program calls CIP2 with FM PROCESS_CC2_MESSAGES_PARALLEL. So I can't use the command SUBMIT.
The spools request are created in backgound.
I was think to do like: at end of program if sy-batch = 'X' -> Close the pending spool requests. But I don't know how to do it. Any idea?
Thanks in advance.
Regards,
Anabela Fernandes -
SAP-Script Spool Requests over 2 GB
Hi Experts,
if I make a dunning run the created spool requests are over 2 GB and the printing will be cancelled by the system. I use SAPF150D2 for printing the SAP script dunning froms. According to SAP it's not possible to handle spool files with more than 2 GB in Temse.
I don't have any idea why the spool request take so much space. I only generate 2000 pages in one spool request without any graphics, only text and some table lines. On the same system we make invoice forms also in SAP script with more than 4000 pages and there is no problem.
Has anybody an idea what reasons could be that the request take so much space???
Regards
CDHi Christian,
It still looks strange to me that spool request is so big. If it would be output request then I would say that problem lies in your printer - it doesn't recognize Arial font and because of that data have to be send as images and not text, but spool....hmmm. I guess there is still a lot to learn That way or other thanks for info. It may be useful in future.
Best regards
Marcin Cholewczuk -
Saving spool request in PDF format using background job
Hi,
We have some important jobs which create spool requests. My requirement is to save those spool requests either on front end or on application server in pdf format. I tried with program RSTXPDF4 but i can save those files only when pdf conversion is done online and I want it to run in background as some of the spool request have more then 3000 pages and also i'm not looking for ABAP development.
It is fine with me to save it in text format but some of the spool request have around 3000 pages and i cannot save the whole request in one shot using option system->list->save->local file
It is appreciated if someone has any alternative for the above one.
Regards,
ChaitanyaHi,
Just check Is it solve your purpose... When you are creating background jobs mention your email / user id as spool list recipient...
I think you will recv. the spool output in the mailbox in pdf
Edited by: Mrinal Das on Jan 3, 2011 2:37 PM -
Process Spool Request from RFC
We are creating an Output in a Delivery with a bapi from a Remote system. The Output is created successfully, but do you have any ideas how to print this output from a remote device?
Is there a RFC to convert this into PDF? If so, how do we process this.
I appreciate any help.
Thanks -Hello Brijo
Maybe this can help you?
Create Spool Request Number for Smartform?
Best regards
Thomas
Maybe you are looking for
-
Based on sap's documentation, loop in bpm works as While, Can anybody explain how to exit a loop in bpm similar to break statement in While loop? Is cancel the right step to use? will it cause potential issues then terminte the bpm normally(Stop)? Th
-
I have to drag my picture from iphoto to pse 11 even though I have it set to edit in pse 11 when I double click. it does bring up pse 11 but then I have to choose between editor and organizer...then I have to drag picture from iphoto into pse 11...an
-
Hi Experts, Could you help me with the following scenario using XI: The sender is a webservice client which sends a SOAP request with the order number (over HTTPS). The order number needs to be pased to SAP ECC to return the order details as a SOAP r
-
Why do i have 3.5GB in other? i have deleted almost everything from my ipad
why do i have 3.5GB in other? i have deleted almost everything from my ipad
-
Hi all I create a new profile and make this profile for a user but the it no work I know it must be alter system statement but I not know this statemet plz can any one help me in this statement thanks