Merging Smartform Output and Adobe Form Output in a single PDF File
Hi All,
My Requirement is as follows -
I have multiple Smartforms and a single Adobe Form.
I want to merge the Smartform Outputs and Adobe Form output in a single PDF.
I am able to merge multiple Smartform Output in a PDF , but not able to find any way to merge smartform and adobe form output as the Smartform output is in OTF Format and Adobe form output is in PDF Format itself.
I have tried few ways , but could not find any success.
Request you all to give me some direction to this problem.
Thanks & Regards
Bhavika
Kumar,
I am afraid this is not possible using SAP functionality. There are probably 3rd party tools which allow you to merge several PDFs into one, but SAP itself does not offer such a mechanism. There is an internal SAP function, though, which can merge several "parts" (=several PDFs) within an Adobe-created spool request into a single PDF, intended for downloading this PDF from SP01.
This is described in note 1717357.
Best regards,
Alexander
Similar Messages
-
Create adobe form in SFP from a pdf file on disc
Hi all,
How in transaction SFP can we import an existing pdf file on the disc? I did not see any way to do so but I'm sure it's possible.
Is it always relevant and saving development time?
Points awarded for any help
Thanks
YannHi Yann,
Go to Layout tab in SFP transaction and then Tools --> Import. Here select the PDF you want to upload.
Hope it helps.
With Regards,
Manu -
Multiple Adobe Forms Output in single Adobe Form
Hi Experts,
When we login to portal a list of applications will be available in a table, each record contains details of the application. when we click on first field of any record in that table it will display one adobe form. Under the table i have a button print, suppose if i select some 5 records in the table and when i click that print button then all the 5 adobe forms output should display as a single adobe form with page breaks. I mean after completion of first adobe form output, the next adobe form output should start in a fresh page. i could able to display single adobe form but the problem is with multiple adobe forms output in single form. Any inputs will be greatly appreciated.
Regards,
VenkatHi,
The only way to solved your issue is to change your forms and give it all necessary information in several table . Like this you can manage break page depending of content.
For example, you form interface contains one header structure and a table of item . If you want to have several form into one result , change the interface by passing an internal table of header information . Then in the layout you have to use the different table to get the result you want .
Unfortunately there is no solution actually with AdObe Forms in SAP to merge several PDF into one .
Hope this help you.
Regards -
How to send adobe form output in mail as a attachment
i am get the adobe form output
how to attach in a mail ....
Regards
Anbu Bmy program is like this.............
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = 'YHRIN_WELCOME'
IMPORTING
e_funcname = lv_funcname
gs_output-nodialog = 'X'.
gs_output-preview = 'X'.
gs_output-getpdl = 'X'.
gs_output-getpdf = 'X'.
gs_output-dest = 'LP01'.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = gs_output
EXCEPTIONS
CANCEL = 1
USAGE_ERROR = 2
SYSTEM_ERROR = 3
INTERNAL_ERROR = 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.
DATA : gs_outputpara TYPE sfpdocparams.
DATA : ls_return TYPE fpformoutput .
gs_outputpara-langu = 'E'.
gs_outputpara-country = 'IN'.
CALL FUNCTION lv_funcname
EXPORTING
/1bcdwb/docparams = gs_outputpara
wa_data = wa_mail
IMPORTING
/1bcdwb/formoutput = ls_return
EXCEPTIONS
OTHERS = 1.
DATA lv_output TYPE sdokcntbins WITH HEADER LINE.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = ls_return-pdf "PDF file from function module
TABLES
binary_tab = lv_output .
*DATA : result TYPE sfpjoboutput WITH HEADER LINE .
CALL FUNCTION 'FP_JOB_CLOSE'
IMPORTING
e_result = result
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DATA : iv_len_in LIKE sood-objlen,
it_tline TYPE TABLE OF tline WITH HEADER LINE.
PERFORM pdf_file.
DATA: lt_imessage TYPE STANDARD TABLE OF solisti1 WITH HEADER LINE,
lt_iattach TYPE STANDARD TABLE OF solisti1 WITH HEADER LINE,
lt_ipacking_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
lt_ireceivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
lt_iattachment LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA : lt_record LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA : it_otf TYPE itcoo OCCURS 0 WITH HEADER LINE.
DATA: lv_email TYPE somlreci1-receiver
VALUE 'anbu.'.
PERFORM build_xls_data .
APPEND lt_iattach.
Populate message body text
CLEAR lt_imessage. REFRESH lt_imessage.
lt_imessage = 'Please find attached PDF file'.
APPEND lt_imessage.
Send file by email as .xls speadsheet
PERFORM send_email_with_xls TABLES lt_imessage
lt_iattach
USING lv_email
'PDF Attachment of an Employee'
'PDF'
'TestFileName'
'Employee Detail'.
Form BUILD_XLS_DATA
FORM build_xls_data .
DATA :lv_buffer TYPE string.
Convert PDF from 132 to 255.
LOOP AT it_tline.
Replacing space by ~
TRANSLATE it_tline USING ' ~'.
CONCATENATE lv_buffer it_tline INTO lv_buffer.
ENDLOOP.
replacing ~ by space
TRANSLATE lv_buffer USING '~'.
DO.
lt_record = lv_buffer.
Appending 255 characters as a record
APPEND lt_record.
SHIFT lv_buffer LEFT BY 255 PLACES.
IF lv_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
lt_iattach[] = lt_record[].
ENDFORM.
Form SEND_EMAIL_WITH_XLS
FORM send_email_with_xls TABLES pit_message
pit_attach
USING p_email
p_mtitle
p_format
p_filename
p_attdescription.
DATA: es_xdocdata LIKE sodocchgi1,
lv_xcnt TYPE i.
Fill the document data.
es_xdocdata-doc_size = 1.
Populate the subject/generic message attributes
es_xdocdata-obj_langu = sy-langu .
es_xdocdata-obj_name = 'SAPRPT' .
es_xdocdata-obj_descr = p_mtitle .
Fill the document data and get size of attachment
CLEAR es_xdocdata.
READ TABLE lt_iattach INDEX lv_xcnt.
es_xdocdata-doc_size =
( lv_xcnt - 1 ) * 255 + STRLEN( lt_iattach ).
es_xdocdata-obj_langu = sy-langu.
es_xdocdata-obj_name = 'SAPRPT'.
es_xdocdata-obj_descr = p_mtitle.
CLEAR lt_iattachment. REFRESH lt_iattachment.
lt_iattachment[] = pit_attach[].
Describe the body of the message
CLEAR lt_ipacking_list. REFRESH lt_ipacking_list.
lt_ipacking_list-transf_bin = space.
lt_ipacking_list-head_start = 1.
lt_ipacking_list-head_num = 0.
lt_ipacking_list-body_start = 1.
DESCRIBE TABLE lt_imessage LINES lt_ipacking_list-body_num.
lt_ipacking_list-doc_type = 'RAW'.
APPEND lt_ipacking_list.
Create attachment notification
lt_ipacking_list-transf_bin = 'X'.
lt_ipacking_list-head_start = 1.
lt_ipacking_list-head_num = 1.
lt_ipacking_list-body_start = 1.
DESCRIBE TABLE lt_iattachment LINES lt_ipacking_list-body_num.
lt_ipacking_list-doc_type = p_format.
lt_ipacking_list-obj_descr = p_attdescription.
lt_ipacking_list-obj_name = p_filename.
lt_ipacking_list-doc_size = lt_ipacking_list-body_num * 255.
APPEND lt_ipacking_list.
Add the recipients email address
CLEAR lt_ireceivers. REFRESH lt_ireceivers.
lt_ireceivers-receiver = p_email.
lt_ireceivers-rec_type = 'U'.
lt_ireceivers-com_type = 'INT'.
lt_ireceivers-notif_del = 'X'.
lt_ireceivers-notif_ndel = 'X'.
APPEND lt_ireceivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = es_xdocdata
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = lt_ipacking_list
contents_bin = lt_iattachment
CONTENTS_HEX = lv_output
contents_txt = lt_imessage
receivers = lt_ireceivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = '' AND RETURN.
ENDFORM. -
How to avoid printing a balnk page at the end in the Adobe form output
Hello Experts,
Can anyone please let me know as how to avoid/delete the blank page at the end of adobe form output.
I have a master page with header n footer and a body page seperate.
For ex.. I have 3 line items and i want each line item to be displayed in the new page. I am able to get this functionality . I have set the settings in the paginationb tab of the subform as
"after " Go to Next content Area" " but an extra page is getting printed at the end. 3 + 1 extra pages total. I want to avoid this blank page. I have checked the Allow page break with in content box but it is still not working.
Can someone guide me as how to solve this problem.
Any help is appreciated. Thanks in advance.
Regards,
Maheshhey mahesh,
this normally happens because of triggering a new page manually, what u would have done is that you would be checking for the new line item and when this condition is satisfied , you are triggering a new page , the reason for the last blank page is that the condition gets satisfied ( beacuse the line item number changes from the last line item no to initial or space).
This can be handled by doing the following
By knowing the number of line items by the following stmt.
describe table itab lines v_lines.
Now you have the value in v_lines.
use a counter in ur form and keep it increasing it by 1 ( say v_sno ) ie v_sno = v_sno + 1 in the loop of ur internal table.
ONLY WHEN V_LINES IS LESS THAN OR EQUAL TO V_SNO , TRIGGER THE NEW PAGE
this should be along with the condition which u have already put, ie when ever line item no changes
when both these conditions are satisfied , then only the new page will be triggered.
Hope it helps,
Reward if useful,
Regards,
KP. -
Can I color a line of "standard text" in adobe forms output?
Simple question: Can I color a line of "standard text" in adobe forms output?
My standard text (SO10) has multiple lines.
Can I make one of the lines red?
OllieHi Oliver,
I believe you standard text is a table type of TDLINES.
On the form you would display it with a table of 1 column 1 row with repeat row ticked.
Have the like below code on the fomr ready event of your table.
for(var i =0; i<this.Row1.nodes.length;i++)
if(i == 1){
this.Row1.Cell1.font.fill.color.value = "255,0,0";
this.Row1.xx.font.fill.color.value = "255,0,0";
Note: in my example I had a table with one row names Row1 and 2 fields cell1 type textbox, & xx as text / label.
If its like you have it in a text box with multiple entries, we need to spli the value such that 1st row is displayed in a text box whose parameters are by defeult set to font red, and rest of them to this text area.
If your procedure is table the code sud work, else let me know how you get data and how do you display it on the screen.
Cheers,
Sai -
Saving a adobe form Output to presentation server from webdynpro
Hi all
I have a webdynpro aplication, where on clicking a button I want one adobe form output to be downloaded
in pdf format to local server.
currently while clicking the button its calling the webdynpro application where pdf is integrated and its displayed
on the browser.
Instead of the display I want to download to presentation server on clicking of the same button ,
The layout type of the PDF component is ZCI Layout and interface is XML schema based interface.With an XML based interface it is going to be much easier to display the form and then download it. The user could choose the save from the Adobe Plug-In toolbar or you can get the XSTRING content of the PDF from the PDFSource Property of the InteractiveForm UI element. With the XSTRING you can then, start a download with this content. However PDFSource doesn't get populated until the InteractiveForm is visible on the screen.
If you want complete background rendering of the PDF, you would have to call the form interface and pass the data into it with the XML format. Function Module based form interfaces are really much better suited to background calls because of their nice, flat and ABAP structure based interfaces. -
Adobe form output in local file
Hi All,
My requirement is to download the output of Adobe form PDF to a local file without showing the output. Could any body provide some inputs ?
ThanksHi,
Please see the following KBA about a solution for this.
[Download Adobe PDF Spool|https://bosap-support.wdf.sap.corp/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?param=69765F6D6F64653D3030312669765F7361706E6F7465735F6E756D6265723D3030303136303236323526]
You need to Install at least SAPDFPRINT patch level 3(see note #1444342) and SAPGUI 7.20 patch level 5 and then follow the steps of the KBA.
Regards,
Aidan -
Adobe forms output not showing
Hi,
Iam working on ECC5.0 version.
i created adobe form after click on test button it will ask for output device.
i checked with all output device options but i did not see the output.
any configuration required for seeing the adobe forms output?
Regards,
SureshHi,
First question is do you have Adobe Document Services (ADS) in your system landscape? This is essential to generate output from adobe forms.
If your ADS is set up you can call function module FP_GET_LAST_ADS_ERRSTR after you call the generated form function module you will get the last error message from the ADS.
Regards,
Nick -
Hello Gurus,
I have requirement to send fax of an adobe form from my program. In FM "FP_JOB_OPEN", we have parameter "DEVICE" where we can give as "TELEFAX" and Other parameter is there where we can get the PDF i.e. through the parameter "GETPDF".
But, Later am not understanding where to give the Fax Number n so on details....
Please let me know how to proceed further.
Thanks in advance.
Regards,
UshaHi Nishikant Kumbhar ,
Thanks for ur reply, Actually problem is where should I mention the Fax number (i.e. in some parameter we have mention).
Here, we have different options to send.
For Printer, We use the set of code.
Pass the parameters in OUT structure.
sample :
out-device = 'PRINTER' " in case of Printer
out-nodialog = 'X'.
out-dest = par_priz. " Normally for the printer, We specify the printer name
out-reqnew = 'X'.
out-reqimm = 'X'.
out-reqdel = 'X'.
out-reqfinal = 'X'.
For EMail, We use the set of code.
Pass the parameters in OUT structure.
sample :
out-device = 'MAIL'' " in case of Printer
out-nodialog = 'X'.
out-getpdf = 'X'. "It will return the PDF
We will call FM FP_JOB_OPEN, Next Call Adobe Form Generated FM will return PDF , Next based on return PDF, we send the mail using FM "SO_NEW_DOCUMENT_ATT_SEND_API1".
For Fax, Do we need to this set of code... Confirm this.....
Pass the parameters in OUT structure.
sample :
out-device = 'TELEFAX' " in case of Fax
out-nodialog = 'X'.
out-dest = par_priz. " Normally for the printer, We specify the printer name but * now For Fax, where should I specify the Fax number.
out-reqnew = 'X'.
out-reqimm = 'X'.
out-reqdel = 'X'.
out-reqfinal = 'X'.
But, here also, do I need to use any other FM where I can specify the Fax no's or any othre way to do...
Please, Let me know about this...
Thanks in advance.
Reply,
Usha -
Multiple smartform output to single pdf file
HI,
I am new to ABAP. I have a requirement to combine multiple smartfrom output to single pdf file. I searched in this site. I got material but i did not get the complete concept. Can anybody tell me the methodology and sample code to do that.
Thanks & regards,
Maha.Hi Mahalakshmi,
Clik on the link to view document: <b>[Combining Multiple Smartform Outputs Into One PDF File|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/62ae7fcd-0b01-0010-3e9d-a54f26944450?overridelayout=true]</b>
Thanks
Venkat.O -
Convert Smartforms to SFP Adobe Forms
Moderator message: please do not post the same question in more than one forum.
Dear all,
Is there any possibility to convert the smartforms into SFP Adobe forms programatically?
I could able to achieve the same Manually, but can we do the same programatically.
Supporting documents appreciated.
Regards
Jiku
Edited by: Matt on Nov 20, 2008 9:23 AMHello Srini,
To Migrate Smart Form into Adobe
Prerequisites
All graphics that are used in the Smart Form have already been migrated.
Process:
Go to the Smart Forms initial screen (transaction SMARTFORMS).
Choose Utilities --> Migration --> Interactive Form -->Export.
In the dialog box, enter the name of the Smart Form that you want to migrate, the name of the PDF-based target form, and the target interface. The system suggests the name of the Smart Form as the name for the target form and target interface. You can change these names. The target form and the target interface can have different names.
Choose Continue.
The system displays the Settings dialog box where you can flag various options for migration. To activate the selected options and close the dialog box, choose Continue.
the dialog box Create Object Directory Entry, enter a package for the interface, or save it as a local object.
Assign the form to a package, or save the form as a local object.
The system migrates the form.
If no errors occur during the migration, you can activate the new interface and the PDF-based form. If you see an error message, read Migration with Errors or Warnings below.
Activating an Interface and PDF-Based Print Form
If the form was migrated without errors, the system returns a corresponding message. You now have a PDF-based form (consisting of a form and interface) that you can edit. Initially, migrated forms and interfaces are always inactive and therefore have to be activated before a call can be made from the application.
To activate or edit the form, choose Utilities --> Migration --> Interactive Form --> Edit. The system displays the initial screen of the form builder for PDF-based forms. After you have activated the form, you can "switch runtime" as described below.
Refer:Migrating Smart Forms
Pl read the constraints before migrating
Notes About Migrating Smart Forms
Hope the above information helps......
Regards,
Kittu -
How to merge data to the adobe forms
Can any one tell me the solution to merge data to the adobe form created using adobe life cycle designer. Here i want to merge data in the server side and send the resulting forms to the users
Hi,
You are correct, You can load the Data from ODSA / ODSB to ODSC.
1. Create the ODSC which are include the fileds A,B,C,D,E.
2. Create the Transfermation from ODSA to ODSC> Give the Propermapping with A,B,C,D> Save and Activate the Transfermation.
3. Create the another Transfermation from ODSB to ODSC--> Give the mapppings with A and E only, then save and activate the Transfermation.
4. Create the two DTPs for indevidual loading data from ODSA>ODSC and ODSB>ODSC.
You can see the Data from ODSC by selecting Manage.
Regards. -
Im using a pci-6221 daq-card.I want to know the difference(use)of a line output and a port output.
Hello Hellraiser24,
This question has actually been discussed in another thread here:
http://forums.ni.com/ni/board/message?board.id=170&message.id=95895&requireLogin=False
I hope this helps,
E.Lee
Eric
DE For Life! -
Hi all
Can anyone help us with the differences between Jetforms and Adobe forms.
Thanks and regards
Leena and Jaydeepsolved
Maybe you are looking for
-
Error Message When Installing eLearning Suite on New PC
Hi. I have been using the eLearning Suite 2 since its launch last year. I recently treated myself to a new PC (64 bit, Windows 7) and have downloaded the software again from the Adobe site so that I could reinstall it. The download (via the Akami dow
-
Hi All, I am not getting LOGON USER ID ( who has logged into the AM 7.1 ) after redirecting to the Application, This is Happened in Windows 2000 IIS 5.0 for an ASP application, I m getting the same when I m trying it in WINDOWs2003 IIS 6.0, I dont kn
-
JBO 35007 Row Currency has changed - Master Detail Table
Hi, I have a one master table and one detailed table. I can create rows in the master table with no errors. However, when I try to insert rows in the detailed table, I receive JBO-35007 error, Row currency has changed. How do I fix this? thank you
-
Problem: Firefox Browser Tabs when using RoboForm When using Tabs in the Firefox browser (with multiple Tabs already open), I (1) click to open a new (blank) tab and then, (2) click on RoboForm to go to a new website. Instead of the new website openi
-
Hi, in earlier JDeveloper while creating a web service client we used to easily set the call timeout, but now we're using JDev 10.1.3, generating a proxy create a lot of new classes, moreover, the methods calls is not handled the same way it was, but