Saving and sending a pdf form in a non-editable format (i.e. as an image)
I have created a pdf form with editable fields (text fields, drop-down menus etc). After the form has been filled and graphically signed, I would like create a button to the form, which would save the form in a format that can not anymore be edited and then send this "image" form via e-mail. How could I do this ??
You can flatten the form to make form fields un-editable.
Go to Tools pane > Print Production > Preflight > PDF Fixups > Flatten Annotations and Form Fields
You can also create a custom Action to achieve this at a click of a button.
Similar Messages
-
How do I make a button onj the form which will submit and send the pdf as an email?
how do I make a button on the form which will submit and send the pdf as an email?
You can set up a button with a "Submit a form" action and use a mailto type URL to specify the email address you want the forms sent do. If you want to send the entire PDF, select that option and not FDF or anything else. The mailto URL should not include any spaces and the "mailto" part should be lowercase, like:
mailto:[email protected]
This will attempt to initiate an email using the users default email client. If the user does not have one set up or there is some other problem, the email might not get initiated. If it needs to work with Reader versions prior to 11, then the form needs to be Reader-enabled, which you do in Acrobat 11 by selecting: File > Save As Other > Reader Extended PDF > Enable More Tools -
How do I extract email from a form and send the PDF to that user?
How do I extract email from a form and send the PDF to that user?
here you can add email to send to, CC, Subject, and body message
var oDoc = event.target;
oDoc.mailDoc({
bUI: false,
cTo: "Agency Contact Email",
cCC: "",
cSubject: "Write your title here,
cMsg: "Dear" + AgencyContact + "(" + AgencyContactEmail + ")\nThe student, " + FirstName + " " + LastName + " has applied to work at your agency. Please confirm they can work here blah blah blah.......\n\nThanks.\n\nrespectuflly,\n\nme" -
Sending a pdf form through email
Hi,
I want to send a pdf form through mail for this i have to write code(given below) but my problem is that
it send a xml file to vendor. i want to send its pdf form. how it is possible.........................
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = fp_outputparams
APPEND_TO_TABLE = ' '
IMPORTING
OUTPUT_LENGTH =
TABLES
binary_tab = lt_att_content_hex.
CLASS cl_bcs DEFINITION LOAD.
DATA:
lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.
*--Create persistent send request
lo_send_request = cl_bcs=>create_persistent( ).
Message body and subject*****************************************************************************************
DATA:
lt_message_body TYPE bcsy_text VALUE IS INITIAL,
lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.
APPEND 'Dear Vendor,' TO lt_message_body.
APPEND ' ' TO lt_message_body.
APPEND 'Please fill the attached form and send it back to us.' TO lt_message_body.
APPEND ' ' TO lt_message_body.
APPEND 'Thank You,' TO lt_message_body.
lo_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = lt_message_body
i_subject = 'Vendor Payment Form' ).
DATA: lx_document_bcs TYPE REF TO cx_document_bcs VALUE IS INITIAL.
TRY.
lo_document->add_attachment(
EXPORTING
i_attachment_type = 'PDF'
i_attachment_subject = 'A Test Adobe Form').
i_attachment_size =
i_attachment_language = space
i_att_content_text =
i_attachment_header =
i_att_content_hex = lt_att_content_hex ).
CATCH cx_document_bcs INTO lx_document_bcs.
ENDTRY.
Add attachment
Pass the document to send request
lo_send_request->set_document( lo_document ).
Create sender
DATA:
lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL,
l_send TYPE adr6-smtp_addr VALUE '.............'.
lo_sender = cl_cam_address_bcs=>create_internet_address( l_send ).
Set sender
lo_send_request->set_sender(
EXPORTING
i_sender = lo_sender ).
Create recipient
DATA:
lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.
lo_recipient = cl_sapuser_bcs=>create( sy-uname ).
Set recipient
lo_send_request->add_recipient(
EXPORTING
i_recipient = lo_recipient
i_express = 'X' ).
lo_send_request->add_recipient(
EXPORTING
i_recipient = lo_recipient
i_express = 'X' ).
Send email
DATA: lv_sent_to_all(1) TYPE c VALUE IS INITIAL.
lo_send_request->send(
EXPORTING
i_with_error_screen = 'X'
RECEIVING
result = lv_sent_to_all ).
COMMIT WORK.
MESSAGE 'The payment form has been emailed to the Vendor' TYPE 'I'.
Thanks in advance
ShriTry below logic.
DATA : it_objpack TYPE STANDARD TABLE OF sopcklsti1 ,
it_objtxt TYPE STANDARD TABLE OF solisti1 ,
it_objbin TYPE STANDARD TABLE OF solisti1 ,
it_reclist TYPE STANDARD TABLE OF somlreci1 ,
wa_doc_chng TYPE sodocchgi1,
wa_objhead TYPE soli_tab,
l_attachment TYPE i,
l_testo TYPE i.
DATA: wa_objpack TYPE sopcklsti1,
wa_objtxt TYPE solisti1 ,
wa_objbin TYPE solisti1 ,
wa_reclist TYPE somlreci1 .
CLEAR: wa_reclist,
wa_objhead,
wa_objtxt, it_objtxt[],
wa_objbin, it_objbin[],
wa_objpack, it_objpack[].
Object with PDF.
CLEAR wa_objbin.
REFRESH it_objbin.
it_objbin[] = gt_mess_att[].
DESCRIBE TABLE it_objbin LINES l_attachment.
Object with main text of the mail.
LOOP AT it_message INTO wa_message.
wa_objtxt = wa_message. APPEND wa_objtxt TO it_objtxt.
ENDLOOP.
DESCRIBE TABLE it_objtxt LINES l_testo.
Document information.
wa_doc_chng-obj_name = 'test'.
wa_doc_chng-expiry_dat = sy-datum + 10.
CONCATENATE 'Amex Settlement' ' '
INTO wa_doc_chng-obj_descr .
doc_chng-sensitivty = 'F'.
wa_doc_chng-sensitivty = 'P'.
wa_doc_chng-obj_prio = '1'.
wa_doc_chng-doc_size = l_testo * 255.
CLEAR wa_objpack-transf_bin.
wa_objpack-head_start = 1.
wa_objpack-head_num = 0.
wa_objpack-body_start = 1.
wa_objpack-body_num = l_testo.
wa_objpack-doc_type = 'RAW'.
APPEND wa_objpack TO it_objpack.
CLEAR wa_reclist.
wa_reclist-copy = 'X'.
IF wa_email IS NOT INITIAL.
wa_reclist-receiver = wa_email-value1.
wa_reclist-express = 'X'.
wa_reclist-rec_type = 'U'.
wa_reclist-notif_del = 'X'.
wa_reclist-notif_ndel = 'X'.
APPEND wa_reclist TO it_reclist.
ENDLOOP.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = wa_doc_chng
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = it_objpack
object_header = wa_objhead
contents_bin = it_objbin
contents_txt = it_objtxt
receivers = it_reclist
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.
IF sy-subrc <> 0.
WRITE 'Cannot send email'.
ENDIF.
ENDIF. -
Can I edit the email created to send a PDF form back to me when a user clicks on Submit?
I created several PDF fillable forms for our users to request services and send back data needed to deliver those services. They are simple forms, and users will click on Submit to return to a mailto: address.
My question is about the email message that is auto-created when the user clicks on Submit. I can't find any config window to be able to edit the message in the body of the email. The message reads:
Form Returned: 2014PrintingRequestForm.pdf
The attached file is the filled-out form. Please open it to review the data.
Is there any way to edit this message?majende,
Adobe Reader for iOS does support a Submit button.
(a) Button action to submit an entire PDF document via email
(b) JavaScript submitForm to Adobe FormsCentral
Do you use the desktop version of Adobe Acrobat to create a PDF form?
For option (a)
Add the "Submit a form" action to your Submit button.
Enter "mailto:" (including a colon) followed by email recipient(s). Please add a comma between two email addresses.
Example: [email protected], [email protected]
Select "PDF The complete document".
This particular type of PDF form will work with Adobe Reader desktop and mobile products (including Adobe Reader for iOS and Android).
In Adobe Reader for iOS, a user can do the following steps to submit the particular type of PDF form.
Fill out the PDF form.
Tap the Submit button in the PDF form.
Select "Share Original Document" or "Share Flattened Copy" from the Share File dialog.
Adobe Reader for iOS will automatically fill in the email address(es) that you specified when you created the PDF form.
Tap the Send button in the upper right corner.
Adobe Reader for iOS will send the PDF form as an email attachment via Apple Mail (the default mail app for iOS).
Please let us know if you have additional questions. -
Pe10: when I open a previously saved and rendered project, the work area indicates a majority of non-rendered sections.
When I open a previously saved and rendered project, the work area indicates non-rendered sections. My project is approximately 59 minutes and 27 seconds.
What must be done to have a saved and rendered project, when open again, be rendered?TRUE_SEEKER wrote:
The price tag of $245 for the Prodad's Mercalli video software is too steep for me right now.
Corel's Avid VideoStudio Pro X4 Ultimate (what a mouthful) includes Mercalli SE. It was on sale at half-price on Amazon Black Friday and I missed it - mostly because I was trying to find out what the 'SE' part of it meant.
Annoyingly (very much so) it seems that Mercalli SE is pretty much the whole deal - a YouTube review of the Mercalli feature in VideoStudio by ProDAD (the Mercalli authors) included all the features I would expect to use.
So it seems that the $80 VideoStudio product includes the $150 Mercalli plug-in. Thus a workflow starting with Mercalli stabilisation in VideoStudio and then switching to PRE is viable. I can't really afford the full price VideoStudio product so I'm hoping for a similar 50% reduction after Christmas.
Cheers,
Neale
Insanity is hereditary, you get it from your children -
Saving and sending Adobe Form pdf from WebDynpro
Hi,
I'm developing an application which receives data from a RFC to a R/3. The datas are displayed on a pdf-Document in a Webdynpro. This works fine.
Now I want to send this form as attachment in an email. Do I have to save it first as pdf or can I send it directly?
On SapHelp I found a tutorial how to save a form as pdf:
http://help.sap.com/saphelp_nw04/helpdata/en/dc/f1783fe3263042e10000000a114084/frameset.htm
I tried out the describtion but without success. I defined an action on the view where the form should be displayed and added the coding in the implementation of the event. In the form I added a button Submit to SAP from the Web Dynpro Library. When I press the button, nothing happens. Do I have to make any changes under Object->Field->Control Type?
Another question about the coding:
public void onActionsubmit(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionsubmit(ServerEvent)
IPrivateResultView.IContextElement contextElement =
wdContext.currentContextElement();
byte[] bytes = contextElement.getPdfSource();
try {
File file = new File("C:
temp
example.pdf");
FileOutputStream os = new FileOutputStream(file);
os.write(bytes);
os.close();
} catch (IOException e) {
// do something
e.printStackTrace();
wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess(
"You have pressed Submit!");
//@@end
The path where the pdf shall be saved is "C:
temp
example.pdf", I expected something like "C:\temp\example.pdf" on a windows machine.
Where will the pdf be saved? On the machine i deployed the application (what about rights for saving) to or localy on the machine I start the app?
Does anyone knows how to send the pdf by email when saving the form or knows a helpful tutorial?
Many thanks for your help
Mathias LangeHi all,
doing Tutorial 31 from SDN (Interactive Forms using E-Mail) I have a problem with the entries for the smtp-host in the coding.
I always get the error message:
Sending failed; nested exception is: com.sap.engine.services.javamail.exception.JavaMailMessagingException: Cannot send message to host xxx:25 using the SMTP protocol.
//@@begin onActionSendForm(ServerEvent)
Properties props = new Properties();
String host = "xxx";
props.put("mail.smtp.host", host);
In host I entered the entrie for the smtp i use in Outlook, where it works fine. In the Tutorial i get the errormessage.
I have an smtp-server from our company with which it works too, but it is not the smtp used by Outlook.
And i can't use this smtp at my customers.
Could it be a problem with the used ports or a needed authentication? In the Tutorial is no coding for this.
Does anyone use a freemailer for this tutorial and have success with the smtp of this freemailer?
Kind Regards
Mathias
Message was edited by: Mathias Lange -
Problems with saving and sending info in PDF form
Hi,
I'm trying to make a PDF form in Indesign CS5, exporting it to PDF, opening in Acrobat 9 Pro, and get the form to be able to send the info I type in the fields.
So far I've had no problems making the form, exporting it, opening it in Acrobat 9 Pro, getting Acrobat 9 Pro to recognize the fields and save the form.
However, I'd opened the form and filled it out and attached it to an email, and when I got the email, the form was blank.
How do I get the form to save the data so it can be emailed?
thanks for any help.
Phil(Acrobat Pro and Pro Extended) Choose Advanced > Extend Features In Adobe Reader.
I have somehow solved the problem. I tried using the above direction and it seems to have fixed the problem. I don't seem to get the message about not being able to save anymore and can send a completed PDF form that retains the information typed into the form.
Thanks for all who made suggestions.
Phil -
Submitting a PDF form --- save and send completed PDF document?
A small government site has a number of 'submittable' PDF
form documents
that they'd like me to include on the website. I am not very
familiar
with PDF forms in this way, and hope someone here can help
sort out a
few things...
Can a PDF form be submitted so that
a) the completed PDF doc is saved on the server (and renamed)
b) a printable , completed PDF (looks just like the one they
filled out,
with all their values saved in the input boxes) is emailed to
specific
address
c) the raw user data is saved to database (maybe a list of
fields in one
column of a db table, and a matching list of values in
another? this
would just be for backup in case the completed PDF did not
save
correctly to the server, or for later reference)
We've looked at the standard Acrobat 'submit via email' and
that won't
cut it... that method appears to simply trigger a 'mailto'
popup, with
the pdf as an attachment. Our system needs to be automated
via CFmail.
None of these would handle any 'sensitive' information, the
main
concern, from their part, is people being able to submit the
form and
have both the city office and the recipient get a copy that
prints just
as if they had hit 'print' when filling out the actual PDF.
Is all of this possible ??
if so... any tips appreciated!
Michael Evangelista, Evangelista Design
Web : www.mredesign.com Blog : www.miuaiga.com
Developer Newsgroups: news://forums.mredesign.comnobody?
seems i can do some of this with 'cfpdfform'... looking into
it but also
seeking live examples/experience.
Michael Evangelista, Evangelista Design
Web : www.mredesign.com Blog : www.miuaiga.com
Developer Newsgroups: news://forums.mredesign.com -
Sending a PDF form without a desktop email application
I developed a PDF form using Livecycle and now discoved that the computers that users have do not have an email client installed. instead, they use OWA. So my Save and Send Email button will save the PDF but not email it. Is there a way to send the PDF (I've read something about http or server-side scripts) that will be automatic so that the user doesn't manually have to attach the saved file to an OWA email and type in an email address? We've used pdformail.asp in the past, but, for some reason, it's not working for me now.I get a message saying that the page can't be displayed. The code for this action page is copied below.
<%
Dim strMasterPath
Dim PDForm
' Acquire the server default path
strMasterPath = Server.MapPath(Request.ServerVariables("PATH_INFO"))
strMasterPath = Left(strMasterPath,InstrRev(strMasterPath,"\"))
' Initiate the formium object and call the Render function
Set PDForm = Server.CreateObject("formium.core")
Call PDForm.render_PDForMail(0)
' Close out the object
Set renderPDF = Nothing
%>Here's the javascript on the Submit button, and I'd like a script that would grab user-entered values in the PDF form in the same way. Is this possible?
form1.page3.emailSubform.emailToBtn::preSubmit:form - (JavaScript, client)
app.execMenuItem("SaveAs");
//either way below works
//event.target.submitForm({cURL:"mailto:"+ strToAddress + "?cc=" + strCCAddress + "&subject=" + strSubject + "&body=" + strMessage,cSubmitAs:"PDF",cCharset:"utf-8"});
if (txtCCAddress.rawValue == null) {
var strToAddress, strSubject, strMessage, strSuffix, strMgrFirstName, strMgrLastName, strStoreNum, strRegionNum
strToAddress = txtToAddress.rawValue;
strSuffix = form1.Page1.DropDownList1.rawValue;
strMgrFirstName = form1.page3.MgrFirstName.rawValue;
strMgrLastName = form1.page3.MgrLastName.rawValue;
strStoreNum = form1.Page1.storeNumber.rawValue;
strRegionNum = form1.page3.distRegion.rawValue;
this.resolveNode("#event").submit.target = "mailto:" + strToAddress + "?subject= " + "LOA request for " + strSuffix + " DSM " + strMgrFirstName + " " + strMgrLastName + " Store# " + strStoreNum + " Region# " + strRegionNum;
else
var strToAddress, strCCAddress, strSubject, strMessage, strSuffix, strMgrFirstName, strMgrLastName, strStoreNum, strRegionNum
strToAddress = txtToAddress.rawValue;
strCCAddress = txtCCAddress.rawValue;
strSuffix = form1.Page1.DropDownList1.rawValue;
strMgrFirstName = form1.page3.MgrFirstName.rawValue;
strMgrLastName = form1.page3.MgrLastName.rawValue;
strStoreNum = form1.Page1.storeNumber.rawValue;
strRegionNum = form1.page3.distRegion.rawValue;
this.resolveNode("#event").submit.target = "mailto:"+ strToAddress + "?cc=" + strCCAddress + "&subject=" + "LOA request for " + strSuffix + " DSM " + strMgrFirstName + " " + strMgrLastName + " Store# " + strStoreNum + " Region# " + strRegionNum; -
Sending Filled PDF Form ONLINE without promting outlook/windowsmail etc
This question has been placed serveral times. But no one seemed to have THE anwers/script for it.
now we all know that a filled pdf form, can be send as an attachment when you click on the submit button. It prompts, your computer mail software and place the e-mail adress and subject on the right place with the filed pdf file attached. That's cool.
And also we know you can save the pdf form on your local disk. Login in your gmail, hotmail or yahoo and attach the saved pdf form file and send it there.
But what I want is something more simpler. The above mention is tricky when someone dont have mail client. I just want the complete filled pdf form, send online (through mailserver?). just the send button. without prompting outlook/windowsmail. Just the submit and send the whole damn thing to the right address.
So what's the script to do so?I have the same question, did you have any luck finding an answer/script ? It seems like this process its much more complicated than it should be.
-
I've created PDF Form (Acrobat XI standard) with various field and button for sending the link of document location by outlook mail. I need the adobe java script for save the document in same location and close the document while i use the button for sending the link.
You can only save the file to a specific location if you can install a script on the local machine where the file is used.
Otherwise the best you can do is cause the Save As dialog to open, but you can't force the file to be saved. -
ALV output converted into PDF format and send that PDF to user through mail
Hi Experts,
I have report earlier its output was in alv grid.
Now i want that ALV output converted into PDF format.And that PDF output send to user through mail.
Can u please tell how to do?
My code is here(output is displaying in ALV grid).
INCLUDE <icon>.
TYPE-POOLS: slis, kkblo.
TABLES : zmsd_freight_hdr, zmsd_freight_det, zmsd_blinfo, zmsd_diheader.
TABLES : lfa1.
DATA : t_hdr LIKE zmsd_freight_hdr OCCURS 0 WITH HEADER LINE,
T_DET LIKE ZMSD_FREIGHT_DET OCCURS 0 WITH HEADER LINE,
t_bl LIKE zmsd_blinfo OCCURS 0 WITH HEADER LINE,
t_di LIKE zmsd_diheader OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF t_det OCCURS 0.
INCLUDE STRUCTURE zmsd_freight_det.
DATA type(30).
DATA: END OF t_det.
DATA: v_target2(30),
v_zsammg LIKE t_det-zsammg,
v_gsttotal LIKE t_det-zamount.
DATA : BEGIN OF t_data OCCURS 0,
zsammg LIKE zmsd_freight_hdr-zsammg,
zdidbl LIKE zmsd_freight_hdr-zdidbl,
zvkorg LIKE zmsd_freight_hdr-zvkorg,
zinvno LIKE zmsd_freight_hdr-zinvno,
zttlamt LIKE zmsd_freight_hdr-zttlamt,
zstatus LIKE zmsd_freight_hdr-zstatus,
ztype LIKE zmsd_freight_hdr-ztype,
zconfirm LIKE zmsd_freight_hdr-zconfirm,
zconfirmdate LIKE zmsd_freight_hdr-zconfirmdate,
erdat LIKE zmsd_freight_hdr-erdat,
ernam LIKE zmsd_freight_hdr-ernam,
erzet LIKE zmsd_freight_hdr-erzet,
aedat(10),
aenam LIKE zmsd_freight_hdr-aenam,
aezet LIKE zmsd_freight_hdr-aezet,
zline LIKE zmsd_freight_det-zline,
zfptype LIKE zmsd_freight_det-zfptype,
zchrcode LIKE zmsd_freight_det-zchrcode,
zcurcode LIKE zmsd_freight_det-zcurcode,
zqty LIKE zmsd_freight_det-zqty,
zuom LIKE zmsd_freight_det-zuom,
zrate LIKE zmsd_freight_det-zrate,
zamount LIKE zmsd_freight_det-zamount,
zexrate LIKE zmsd_freight_det-zexrate,
zccode LIKE zmsd_blinfo-zccode, "MADK991565
zccode like ZMSD_FREIGHT_HDR-zfcode, "MADK991565
zbldate(10),
zbl LIKE zmsd_blinfo-zbl,
type(3),
waerk LIKE zmsd_freight_det-zcurcode,
zamountl LIKE zmsd_freight_det-zamount,
END OF t_data.
DATA : w_layout TYPE slis_layout_alv,
w_catalog TYPE slis_fieldcat_alv,
t_catalog TYPE slis_t_fieldcat_alv,
w_sort TYPE slis_sortinfo_alv,
t_sort TYPE slis_t_sortinfo_alv.
DATA V_ZINVNO like T_HDR-ZINVNO. "MADK991565
DATA : v_count TYPE i.
SELECTION-SCREEN BEGIN OF BLOCK a0 WITH FRAME TITLE text-001.
PARAMETERS : p_zvkorg LIKE zmsd_freight_hdr-zvkorg OBLIGATORY .
SELECT-OPTIONS : s_zdidbl FOR zmsd_freight_hdr-zdidbl ,
s_zccode FOR lfa1-lifnr ,
s_status FOR zmsd_freight_hdr-zstatus ,
s_ztype FOR zmsd_freight_hdr-ztype ,
s_erdat FOR zmsd_freight_hdr-erdat ,
s_ernam FOR zmsd_freight_hdr-ernam ,
s_zconfd FOR zmsd_freight_hdr-zconfirmdate .
PARAMETERS : p_zconf AS CHECKBOX .
SELECTION-SCREEN END OF BLOCK a0.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-002.
PARAMETERS : p_hdr RADIOBUTTON GROUP rad DEFAULT 'X' ,
p_det RADIOBUTTON GROUP rad .
SELECTION-SCREEN END OF BLOCK a1.
INITIALIZATION.
AT SELECTION-SCREEN.
START-OF-SELECTION.
PERFORM get_data.
PERFORM process.
PERFORM display.
END-OF-SELECTION.
PERFORM fm_get_num_pages.
AT USER-COMMAND.
AT LINE-SELECTION.
TOP-OF-PAGE.
PERFORM fm_top_of_page USING '7010' sy-title space.
FORM get_data.
SELECT *
FROM zmsd_freight_hdr
INTO TABLE t_hdr
WHERE zvkorg EQ p_zvkorg
AND zdidbl IN s_zdidbl
AND zstatus IN s_status
AND ztype IN s_ztype
AND erdat IN s_erdat
AND ernam IN s_ernam
AND zconfirmdate IN s_zconfd
AND ZFCODE IN S_ZCCODE. "MADK991565
IF p_zconf = 'X'.
DELETE t_hdr WHERE zconfirm NE 'C'.
ENDIF.
CHECK NOT t_hdr[] IS INITIAL.
SELECT *
FROM zmsd_blinfo
INTO TABLE t_bl
FOR ALL ENTRIES IN t_hdr
WHERE zsammg = t_hdr-zsammg.
SORT t_bl BY zsammg.
SELECT *
FROM zmsd_diheader
INTO TABLE t_di
FOR ALL ENTRIES IN t_hdr
WHERE zsammg = t_hdr-zsammg.
SORT t_di BY zsammg.
IF P_DET = 'X'. "MADK933361
SELECT *
FROM zmsd_freight_det
INTO TABLE t_det
FOR ALL ENTRIES IN t_hdr
WHERE zsammg = t_hdr-zsammg
AND ZINVNO = T_HDR-ZINVNO . "MADK991565
SORT t_det BY zsammg zline. "MADK991565
SORT T_DET BY ZSAMMG ZINVNO ZLINE. "MADK991565
ENDIF. "MADK933361
ENDFORM.
FORM process.
REFRESH t_data.
CLEAR v_gsttotal. "MADK933361
LOOP AT t_hdr.
Start of MADK933361
CLEAR: v_target2.
v_zsammg = t_hdr-zsammg.
V_ZINVNO = T_HDR-ZINVNO. "MADK991565
AT NEW zsammg. "MADK991565
AT NEW ZINVNO. "MADK991565
PERFORM get_gst_value.
ENDAT.
End of MADK933361
PERFORM move_header.
CHECK t_data-zccode IN s_zccode.
IF p_det = 'X'.
CSF Project Changes Starts DEV34 MADK985782
LOOP AT T_DET WHERE ZSAMMG = T_HDR-ZSAMMG..
LOOP AT t_det WHERE zsammg = t_hdr-zsammg AND
zinvno = t_hdr-zinvno.
CSF Project Changes Ends DEV34 MADK985782
PERFORM move_header.
CHECK t_data-zccode IN s_zccode.
MOVE-CORRESPONDING t_det TO t_data.
t_data-zamountl = t_data-zamount * t_data-zexrate.
APPEND t_data.
CLEAR t_data.
ENDLOOP.
ELSE.
APPEND t_data.
CLEAR t_data.
ENDIF.
AT END OF zsammg.
CLEAR v_gsttotal.
ENDAT.
*Start of changes for IS090901289-PIA MADK991565
AT END OF ZINVNO.
CLEAR V_GSTTOTAL.
ENDAT.
*End of changes for IS090901289-PIA MADK991565
ENDLOOP.
ENDFORM.
FORM move_header.
MOVE-CORRESPONDING t_hdr TO t_data.
t_data-zttlamt = t_data-zttlamt + v_gsttotal. "MADK933361
t_data-waerk = 'SGD'.
IF NOT t_hdr-aedat IS INITIAL.
WRITE: t_hdr-aedat TO t_data-aedat.
ELSE.
CLEAR : t_data-aedat.
ENDIF.
READ TABLE t_bl WITH KEY zsammg = t_hdr-zsammg BINARY SEARCH.
IF sy-subrc EQ 0.
t_data-zccode = t_bl-zccode. "MADK991565
T_DATA-ZCCODE = T_HDR-ZFCODE. "MADK991565
IF NOT t_bl-zbldate IS INITIAL.
WRITE: t_bl-zbldate TO t_data-zbldate.
ENDIF.
t_data-zbl = t_bl-zbl.
t_data-type = 'DBL'.
ELSE.
READ TABLE t_di WITH KEY zsammg = t_hdr-zsammg BINARY SEARCH.
IF sy-subrc EQ 0.
t_data-zccode = t_di-zdiforcode. "MADK991565
T_DATA-ZCCODE = T_HDR-ZFCODE. "MADK991565
t_data-type = 'DI'.
ENDIF.
ENDIF.
ENDFORM.
FORM display.
IF t_data[] IS INITIAL.
MESSAGE s398(00) WITH 'No Data Selected'.
EXIT.
ENDIF.
DATA : l_repid LIKE sy-repid.
l_repid = sy-repid.
REFRESH t_catalog.
CLEAR t_catalog.
w_layout-cell_merge = 'X'.
PERFORM map_fields.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
i_callback_user_command = 'ALV_USER_COMMAND'
is_layout = w_layout
it_fieldcat = t_catalog[]
i_grid_title = sy-title
i_save = 'A'
it_sort = t_sort[]
TABLES
t_outtab = t_data
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDFORM.
FORM map_fields.
Sort Order
CLEAR v_count.
PERFORM sf USING 'ZDIDBL' 'X' 'X'.
Fields to be displayed
CLEAR v_count.
IF p_hdr = 'X'.
PERFORM af USING :
DESCRIPTION FIELD LEN RTABLE RFIELD
'DI/DBL ' 'ZDIDBL' '14' ' ' ' ',
'Type ' 'TYPE' '04' ' ' ' ',
'Forwarder Code ' 'ZCCODE' '14' ' ' ' ',
'BL Number ' 'ZBL' '14' ' ' ' ',
'BL Date ' 'ZBLDATE' '10' ' ' ' ',
'Invoice Number ' 'ZINVNO' '15' ' ' ' ',
'Extraction ' 'ZSTATUS' '05' 'ZMSD_FREIGHT_HDR' 'ZSTATUS ',
'Freight Type ' 'ZTYPE' '05' 'ZMSD_FREIGHT_HDR' 'ZTYPE ',
'Confirmation ' 'ZCONFIRM' '05' 'ZMSD_FREIGHT_HDR' 'ZCONFIRM',
'Confirm Date ' 'ZCONFIRMDATE' '10' 'ZMSD_FREIGHT_HDR'
'ZCONFIRMDATE',
'Total Amount ' 'ZTTLAMT' '18' ' ' ' ',
'Created On ' 'ERDAT' '10' ' ' ' ',
'Created By ' 'ERNAM' '10' ' ' ' ',
'Changed On ' 'AEDAT' '10' ' ' ' ',
'Changed By ' 'AENAM' '10' ' ' ' '.
ELSE.
PERFORM af USING :
DESCRIPTION FIELD LEN RTABLE RFIELD
'DI/DBL ' 'ZDIDBL' '14' ' ' ' ',
'Type ' 'TYPE' '04' ' ' ' ',
'Forwarder Code ' 'ZCCODE' '14' ' ' ' ',
'BL Number ' 'ZBL' '14' ' ' ' ',
'BL Date ' 'ZBLDATE' '10' ' ' ' ',
'Invoice Number ' 'ZINVNO' '15' ' ' ' ',
'Extraction ' 'ZSTATUS' '05' 'ZMSD_FREIGHT_HDR' 'ZSTATUS ',
'Freight Type ' 'ZTYPE' '05' 'ZMSD_FREIGHT_HDR' 'ZTYPE ',
'Confirmation ' 'ZCONFIRM' '05' 'ZMSD_FREIGHT_HDR' 'ZCONFIRM',
'Confirm Date ' 'ZCONFIRMDATE' '10' 'ZMSD_FREIGHT_HDR'
'ZCONFIRMDATE',
'Total Amount ' 'ZTTLAMT' '18' ' ' ' ',
'Freight Payment ' 'ZFPTYPE' '14' ' ' ' ',
'Charge Code ' 'ZCHRCODE' '10' ' ' ' ',
'Currency ' 'ZCURCODE' '08' ' ' ' ',
'Quantity ' 'ZQTY' '13' ' ' ' ',
'UoM ' 'ZUOM' '04' ' ' ' ',
'Rate ' 'ZRATE' '15' ' ' ' ',
'Amt(Foreign Curr)' 'ZAMOUNT' '16' ' ' ' ',
'Exchange Rate ' 'ZEXRATE' '13' ' ' ' ',
'Amt(Local Curr) ' 'ZAMOUNTL' '16' ' ' ' ',
'Created On ' 'ERDAT' '10' ' ' ' ',
'Created By ' 'ERNAM' '10' ' ' ' ',
'Changed On ' 'AEDAT' '10' ' ' ' ',
'Changed By ' 'AENAM' '10' ' ' ' '.
ENDIF.
ENDFORM.
FORM af USING text
field
len
table
reffield.
v_count = v_count + 1.
w_catalog-col_pos = v_count.
w_catalog-fieldname = field.
w_catalog-ref_tabname = table.
w_catalog-ref_fieldname = reffield.
w_catalog-seltext_s = text.
w_catalog-seltext_m = text.
w_catalog-seltext_l = text.
w_catalog-outputlen = len.
IF field = 'ZTTLAMT' OR field = 'ZAMOUNTL'.
w_catalog-no_zero = 'X'.
w_catalog-cfieldname = 'WAERK'.
w_catalog-datatype = 'CURR'.
ENDIF.
IF FIELD = 'ZRATE' OR FIELD = 'ZAMOUNT'.
IF field = 'ZAMOUNT'.
w_catalog-no_zero = 'X'.
w_catalog-cfieldname = 'ZCURCODE'.
w_catalog-datatype = 'CURR'.
ENDIF.
IF field = 'ZQTY' OR field = 'ZRATE'.
w_catalog-no_zero = 'X'.
w_catalog-datatype = 'DEC'.
ENDIF.
APPEND w_catalog TO t_catalog.
CLEAR w_catalog.
ENDFORM.
FORM sf USING fieldname sortup group.
v_count = v_count + 1.
CLEAR w_sort.
w_sort-fieldname = fieldname.
w_sort-spos = v_count.
w_sort-up = sortup.
w_sort-group = group.
APPEND w_sort TO t_sort.
ENDFORM.
FORM alv_user_command USING in_ucomm LIKE sy-ucomm
in_selfield TYPE slis_selfield.
DATA: lfs_data LIKE t_data.
IF in_ucomm = '&IC1'.
READ TABLE t_data INDEX in_selfield-tabindex INTO lfs_data.
CHECK NOT lfs_data-zdidbl IS INITIAL.
IF lfs_data-type = 'DBL'.
DATA: l_zdbl LIKE zmsd_diheader-zdinum.
l_zdbl = in_selfield-value.
EXPORT l_zdbl TO MEMORY ID 'VBL'.
CALL TRANSACTION 'ZMSD_BL01'.
ENDIF.
IF lfs_data-type = 'DI'.
DATA: v_dinum LIKE zmsd_diheader-zdinum.
v_dinum = in_selfield-value.
EXPORT v_dinum TO MEMORY ID 'VDI'.
CALL TRANSACTION 'ZMSD_DI01'.
ENDIF.
ENDIF.
ENDFORM.
FORM get_gst_value.
LOOP AT t_det WHERE zsammg = v_zsammg
AND ZINVNO = V_ZINVNO. "MADK991565
CHECK t_data-zccode IN s_zccode.
t_det-zamount = t_det-zamount * t_det-zexrate.
SELECT SINGLE y0mmtarget2
INTO v_target2
FROM y0mmipstranslate
WHERE y0mmdatatype = '70' AND
y0mmsource = t_det-zchrcode.
SELECT SINGLE y0mmtarget1
INTO t_det-type
FROM y0mmipstranslate
WHERE y0mmdatatype = '76' AND
y0mmsource = v_target2.
IF t_det-type NE '3Z'.
v_gsttotal = v_gsttotal +
( t_det-zamount * 5 / 100 ).
ENDIF.
ENDLOOP.
Regards,
Raj.Hello,
Following is the procedure to convert alv output to spool and then it to PDF Format.
After we display the ALV, we can check whether it is running in the background using system field u2018sy-batchu2018. Then,we call an function module named u2018GET_JOB_RUNTIME_INFOu2019 to get the current job information. Then go to spool request table tbtcp to get the spool id.
Get current job details
CALL FUNCTION u2018GET_JOB_RUNTIME_INFOu2019
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> u20180000000000u2032
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
Finally, we can call function module u2018CONVERT_ABAPSPOOLJOB_2_PDFu2018 to convert spool reqeust(which is stored in OTF format) to PDF format. Then we can call either function module u2018SO_DOCUMENT_SEND_API1u2032 or SAP BCS (Business Communication Service) to send the pdf as an email attachment.
CALL FUNCTION u2018CONVERT_ABAPSPOOLJOB_2_PDFu2019
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
Regards,
Sayali
Edited by: Sayali Paradkar on Apr 20, 2010 12:51 PM -
We would like to create a PDF form to collect sensitive information (phone numbers, payment information) from our customers. Ideally, we would like for them to be able to fill it out, then hit a button to encrypt it when completed, and send it back to us for us to view. Kind of like sending out an open, self-locking box for them to fill, and once they close it no one can see the contents without the key (which we would have).
I’m using Adobe Acrobat Pro XI (11.0.07) on Mac OSX (10.9.4).
Is this possible? If so, how do I do this? Thank you in advance!You can use certificate encryption. Each of your customers needs to have a digital certificate with a private key and send you the public key version of his/her certificate. You also need to have a digital certificate with private key and to send each customer the public version of your certificate. Then after each customer fills in your form, she encrypts it with certificate encryption entering as recipients herself and you before sending this PDF to you. This way only this particular customer and you can open and see PDF filled with sensitive information.
This workflow presumes that you and each of your customers can procure a digital certificate (Digital ID in Acrobat-speak). -
Making spool, convert it into PDF and send that PDf throgh EMAIl
Hi,
In my making ALV report. In that i want to make the spool and then convert it into the pdf and send mail to the recepient.
AtulHi,
please try the following code. It works for me.
DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
DATA : file_name TYPE string.
DATA : path LIKE pcfile-path.
DATA : extension(5) TYPE c.
DATA : name(100) TYPE c.
DATA:receiver TYPE somlreci1-receiver ,
p_file LIKE rlgrap-filename.
declarations for PDF convertion
DATA: path1 TYPE string ,
fullpath TYPE string.
DATA :textlines LIKE tline OCCURS 100 WITH HEADER LINE.
DATA otf LIKE itcoo OCCURS 1000 WITH HEADER LINE.
DATA it_lines LIKE tline OCCURS 100 WITH HEADER LINE.
DATA options LIKE itcpo.
DATA header LIKE thead.
DATA result LIKE itcpp.
DATA: bin_filesize TYPE i.
fullpath type string.
DATA: docdata LIKE sodocchgi1,
objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objhex LIKE solix OCCURS 10 WITH HEADER LINE,
reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
DATA: tab_lines TYPE i,
doc_size TYPE i,
att_type LIKE soodk-objtp.
DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
DATA: filesize TYPE i,
convcount TYPE i,
cancel(1).
textlines-tdformat = '*'.
textlines-tdline = 'Hello Hao'.
APPEND textlines.
options-tdgetotf = 'X'.
options-tdnoprev = 'X'.
CALL FUNCTION 'PRINT_TEXT'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX = ' '
ARCHIVE_PARAMS = ' '
DEVICE = 'PRINTER'
dialog = ' '
header = header
OPTIONS = options
IMPORTING
NEW_ARCHIVE_PARAMS =
RESULT = RESULT
tables
lines = textlines
otfdata = otf
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
UNKNOWN = 6
FORMAT = 7
TEXTFORMAT = 8
COMMUNICATION = 9
BAD_PAGEFORMAT_FOR_PRINT = 10
OTHERS = 11
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 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = filesize
TABLES
otf = otf
lines = it_lines
EXCEPTIONS
err_conv_not_possible = 1
err_bad_otf = 2.
fullpath = 'C:/foldername/test.pdf'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = bin_filesize
filename = fullpath
filetype = 'BIN'
APPEND = ' '
CODEPAGE = ' '
NO_BYTEORDER_MARK = ' '
IMPORTING
FILELENGTH = c
TABLES
data_tab = it_lines
FORMAT_TAB =
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6.
*filename = fullpath.
CLEAR docdata.
REFRESH objpack.
CLEAR objpack.
REFRESH objhead.
REFRESH objtxt.
CLEAR objtxt.
REFRESH objbin.
CLEAR objbin.
REFRESH objhex.
CLEAR objhex.
REFRESH reclist.
CLEAR reclist.
REFRESH listobject.
CLEAR listobject.
CLEAR tab_lines.
CLEAR doc_size.
CLEAR att_type.
Set Variables
docdata-obj_name = 'Tst'.
docdata-obj_descr = 'Testing'.
reclist-receiver = give the mail id.
reclist-rec_type = 'U'.
APPEND reclist.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = fullpath
filetype = 'BIN'
TABLES
data_tab = itab
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
path = fullpath.
CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
EXPORTING
complete_filename = path
CHECK_DOS_FORMAT =
IMPORTING
DRIVE =
extension = extension
name = name
NAME_WITH_EXT =
PATH =
EXCEPTIONS
invalid_drive = 1
invalid_extension = 2
invalid_name = 3
invalid_path = 4
OTHERS = 5
DATA : pos TYPE i.
DATA : len TYPE i.
Loop And Put Data
LOOP AT itab.
pos = 255 - len.
IF pos > 134. "length of pdf_table
pos = 134.
ENDIF.
objbin+len = itab(pos).
len = len + pos.
IF len = 255. "length of out (contents_bin)
APPEND objbin.
CLEAR: objbin, len.
IF pos < 134.
objbin = itab+pos.
len = 134 - pos.
ENDIF.
ENDIF.
ENDLOOP.
IF len > 0.
APPEND objbin.
ENDIF.
Packing Info For Text Data
DESCRIBE TABLE objtxt LINES tab_lines.
READ TABLE objtxt INDEX tab_lines.
docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
CLEAR objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'TXT'.
APPEND objpack.
Packing Info Attachment
name = extension.
DESCRIBE TABLE objbin LINES tab_lines.
READ TABLE objbin INDEX tab_lines.
objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
objpack-transf_bin = 'X'.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = name.
objpack-obj_name = 'ATTACHMENT'.
objpack-obj_descr = name.
APPEND objpack.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = docdata
put_in_outbox = 'X'
commit_work = 'X' "used from rel. 6.10
TABLES
packing_list = objpack
object_header = objhead
contents_bin = objbin
contents_txt = objtxt
receivers = reclist
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
IF sy-subrc <> 0.
MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
WITH docdata-obj_name.
ENDIF.
Keerthi
Maybe you are looking for
-
Anyone notice a difference with "Auto Brightness" function?
Ive had this phone for about a month now...got it since the 19th...i was one of the first ones to get it. I must say it works great. I ran into a few problems here and there but nothing major. You know how technology is...good when it wants to, ba
-
Custom Top creation in oracle applications
Hi When we create a custom top in oracle applications 11i/R12, is it mandatory to run autoconfig? Are there any manual entry steps to be performed in adding custom top entry other than xml file like topfile.txt????
-
Hi All, I have to Get Each line item Create and Approval dates for a SHOPPING CART in SAP SRM. Either a table, or any Function module, Method, please let me know ASAP. Same i can use in my Program. Thank you Very much. Regards, Ramesh J.
-
Auto thumbnail picture in dream weaver
How do I have a click and have an image get bigger in my web site using Dream Weaver? Thanks,
-
How to detect BO modified objects during the migration?
Hi experts, We migrated from BO XI Prod to 4.1 des environment. Later, we need to upgrade from des to prod. During the process the user can continue works, we manage an audit report to identify all objects had been modified during this period. Is the