Questions on BPS BAPI calls and PDF forms
I will need to create a button on a BPS form and that button is supposed to call a BAPI. One of the buttons will create a PDF of the form (using the contents of the form) and print said form to a 'default' printer. The issue is that not all cFolder users will have an ECC logon name. What am I to do in this instance? Will I need to pass some type of credentials to the ECC backend in order to run this BAPI?
Also, how can I get the contents of the form(s) to the BAPI? I assume that I will need to create the PDF in the code of the BAPI. Please be patient with me as this is my first time to work with cFolders and/or BPS.
Regards,
Davis
Hi Davis,
Well, if you are able to log on the BPS application (thus, a Web Interface if I'm not mistaken) then it means that some user is logged on the ABAP-side. It is either a "personal" user or a technical (common) user, that is used for anonymous access.
You will certainly be able to track down this user with the SM04 transaction.
You should be able to add a button to the BPS page. One idea would be to call an URL with an ICF service behind that will be able to process the parameters contained in this URL.
It will be this very ICF service that will call the BAPI.
Try these links
http://help.sap.com/saphelp_nw04s/helpdata/en/55/33a83e370cc414e10000000a114084/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ea8db790-0201-0010-af98-de15b6c1ee1a
Hope this helps.
Best regards,
Guillaume
Similar Messages
-
Is ADS and PDF forms required for an upgrade to ECC 6.0 for US Payroll?
We're currently on SAP 4.7 for US Payroll, but are working on an upgrade to ECC 6.0. I'm looking for a clear answer to whether or not we have to move to Adobe Document Services and PDF forms with our upgrade. I've heard from several sources that SAP is not providing updates to SAPscript forms in ECC 6.0 and will only make updates to PDF based tax reporter forms going forward. Can anyone comfirm that is the case?
Thanks in advance,
-Nick
Edited by: Nicholas Petters on Oct 29, 2009 5:52 PMHi
This is Srinivasa Rao Pandiri... I have an add on question to Nick. We currently upgraded our SAP from 4.6 C to ECC6.0. WE want to use existing PDF forms provided by SAP. To use the existing forms.. without any changes... Do we need ADS? or is there anyway we can use them? withou ADS installed?
Your help is appreciated.
Thanks -
Is there a way to merge Static PDF files and PDF Forms
Hi All,
The issue I am facing is this: 1200+ PDF forms that employees
will need to sign. The docs are being created in MS Word, and all
have a standard signature block. We have prototyped using LiveCycle
Designer 8 to add fields to static PDF files (print Word files into
Acrobat, import into LiveCycle and paste in fields) but this is
pretty labor-intensive to use with a minimum of 1200 forms per
quarter.
The employee forms go into a CF8/Oracle library app (stored
as BLOBs) and served up for 7,000 or so employees to sign. Posted
data goes back into database.
Here is the issue:
Does anyone know any way to use some combination of cfpdf /
cfpdfform / cfdocument that will allow us to create ONE generic
signature block form, 1200 static PDF files, and merge them on the
fly?
<cfdocument> apparently does not allow PDF data to be
included with a <cfpdfform>, as I have tried outputting PDF
variables, toBinary(PDF variable), PDF served by <cfcontent>
and various other combinations.
(If the non-form data were HTML, we could easily output in a
<cfdocumentsection> of the cfdocument, and add the
<cfpdfform source="#genericForm#" action="populate"> and be
done with it. But, we can't.)
<cfpdf action="merge"> with a combination of a static
PDF file and a populated form results in a flattend PDF file with
no form data.
I am acutely aware that LiveCycle 8 uses the XFA schema, and
regular PDF documents use a different schema. And, this may
prohibit what we want to do.
If anyone has experience with CF8 PDFs and PDF forms, or has
any helpful thoughts, I would be appreciatively gross. Needless to
say, this is a six month project that must be live at the end
November.
Thanks!
Jim Bates
Verizon BusinessAs I mentioned on the other thread, the forms need to be
flattened. CFPDF cannot flatten LiveCycle forms, only Acrobat
Forms. The suggested solution was to use LiveCycle ES
http://www.adobeforums.com/webx/.3c052176 -
Which is better software for brochures and PDF forms ? Photoshop or InDesign ?
Which is better software for brochures and PDF forms ? Photoshop or InDesign ? and why ?
If you are going to be making a lot of brochures, with photos, you probably want both. Photoshop to edit the photos, and InDesign to assemble and layout images with text.
-
Do you know of any way to get the type of field in a PDF form
as opposed to just its value? What about getting the options from a
drop down menu in select? Are these things possible with
CF8?I responded to this question here: http://answers.acrobatusers.com/PDF-Form-Field-calculates-AVERAGE-incorrectly-q13211.aspx
-
REST call from PDf form returns error
I have created a very simple process that allows a user to enter data into a PDF form and submit the form for archiving. In the process I have used LC Output to flatten the PDF and I am using the Sharepoint connector to create and archive the document.
When I do this from the LC Workspace it works no problem. I can go out the SharePoint and see that archive document and all of the data is there. I now want to be able to host the form in another location and have the same functionality. To do this I have change the submit button on the form so that it makes a REST call to the LC server in order to call the correct process. To be sure that I had the right URL for the REST call I took it right out of the Adminui.
I have tested the URL in a browser and the process kicks off no problems. The issue is when I place the URL in a submit button and try to submit the form I get a message box back stating that there was an invalid server response and nothing happens. I am not sure but I do not think that it is even getting to the LC server.
I am using LC ES2 and opening the form in Acrobat 9.5.1. As mentioned it is a very simple process as I am just trying to prove out that a LC process can be invoked using a REST call from a PDF.Hey Amr,
thanks for your feedback. Let me write down some more facts about my environment so we might be able to track down what's going wrong:
- Virtual PC using Windows Server 2012
- SharePoint 2013 with September CU
- Compatibility Level 15 Webapplication using Default "Claims Based Authentication" with form based authentication activated
- Visual Studio 2013 Console Application .NET 4.5 x64 Build Target
Writing down what my base configuration is seems to have brought light into the dark. As soon as I deactivated FBA authentication I was able to execute the request without any problems. So now I know what I have to look for. Thank you!
Regards Andreas MCPD SharePoint 2010. Please remember to mark your question as "answered"/"Vote helpful" if this solves/helps your problem. -
How do I submit a form as e-mail in xml and pdf form?
Hi,
can I set up the submit button to send the form data as xml and also include a copy of the filled out pdf-form?
I can make it work whith either xml-file or pdf-form, but not both at the same time.
Hope anyone can help.
KI know I can import data to a blank form in Acrobat Pro. Is it possible to call Acrobat from the command prompt?
It would be really fine, if we could make Acrobat work together with our in house systems. Or is there another way to import data to a blank form?
As I see it LiveCycle Forms is not an option, because the form data will be handled in a closed enviroment.
K -
Attachments and pdf form offline
It would be great if partecipants in my surveys could be able to attach files at the pdf form while they are filling it offline.
Hi,
Please add or vote on feature ideas:
http://forums.adobe.com/community/formscentral?view=idea
If you need to add a new idea, please go to http://forums.adobe.com/community/formscentral and click on "Submit Feature Request" link within Resources section. We use this list to prioritize our feature list.
Thanks
Wenlan -
hi
i am creating a pdf form and i want to link this form to a selection screen. i will use the selection screen to send paramtetrs to the job.
is there a way to do that?what you can do is add the same type of field in the interface of the form and pass it from the program to the interface of the form.
Regards,
Lalit Mohan Gupta. -
Hi All,
I am using a BAPI Call to SAP in my BLS transaction. One of the action blocks in the transaction is a SQL Query which updates a Oracle table based on the SAP returned values from the previous action block. For the most part, it works fine except once in a blue moon, the values show up as 'null' when in fact I expect some values to be returned from SAP. Is there anyone out there who has faced a similar issue? What would be a quick and easy solution to this? Thanks.
Regards,
V M.Hi Venki,
Possible response segments for CONF_CNT (in DETAIL_RETURN):
1) That BAPI will return "000000" for counter if the confirmation was unable to be processed for some reason, but you were able to connect to SAP. A fairly common reason is the record being locked if you run similar confirmations too close together. It takes time for the confirmation record to be released by SAP.
2) It will return a number "000001 or greater if the confirmation was successful (along with a confirmation number).
3) The circumstances where it will return an empty field are when it is unable to connect to SAP, but you should have a conditional to check for the success flag from the BAPI. This is standard error handling when using a BAPI. This will also leave all fields in the response segment blank.
4) And there is another set of circumstances which will leave the fields blank. This is fairly unusual, but does happen when the error handling inside the BAPI runs into a situation which it can't handle. So the BAPI crashes and never returns any information back to MII.
You will need to decide which of these situations are causing your null data. But put error handling in based on the Success flag for the BAPI for SAP unavailable and for a CONF_CNT = "000000" or blank.
Good luck,
Mike -
So I am sending Acro Forms to the iPad. Single page PDF forms open in the body of the email and when I send them to PDF Expert from the email client, they are broken when I try and send them back via the email button in the form. Multi-page PDF's do not open in the email preview body and they work in PDF Expert and email recipients. Conclusion: PDF Preview on iPAD breaks Acro Forms.
Thoughts?So I am sending Acro Forms to the iPad. Single page PDF forms open in the body of the email and when I send them to PDF Expert from the email client, they are broken when I try and send them back via the email button in the form. Multi-page PDF's do not open in the email preview body and they work in PDF Expert and email recipients. Conclusion: PDF Preview on iPAD breaks Acro Forms.
Thoughts? -
Hi all,
I'm back again in Forms forum : ) !!! and I'm working on a new and very interesting project
version used : Forms [32 bits] Version 10.1.2.3.0 (Production)
A little question for gurus :
On former projects I used to call loops on blocks and item like shown below to do various things such as displaying buttons or showing canvas or different VA depending on the user or scenarios .
PROCEDURE FRM_BLK_ITM_LOOP IS
v_curblk varchar2(90); -- bloc courant
v_curitm varchar2(90); -- item courant
BEGIN
v_curblk := get_form_property(:SYSTEM.CURRENT_FORM,first_block); -- on récupère le 1er block de la form
LOOP
v_curitm := v_curblk||'.'||get_block_property(v_curblk,first_item); -- on récupère le 1er item du block
WHILE v_curitm != v_curblk||'.'||get_block_property(v_curblk,last_item)
LOOP -- tant que l'item n'est pas le dernier du block on loop
v_curitm := v_curblk||'.'||get_item_property(v_curitm,nextitem); -- on récupère l item suivant
if get_item_property(v_curitm,<some property>) = 'TRUE' then
--- I can do something.... or adding more conditions if then etc...
end if;
END LOOP;
EXIT WHEN v_curblk = get_form_property(:SYSTEM.CURRENT_FORM,last_block); -- on sort losrqu on arrive au dernier block
v_curblk := get_block_property(v_curblk, nextblock); -- on passe au block suivant
END LOOP;
END;In my current project we work on quite huge forms which can have a consequent number of blocks and items.
And we must be very careful regarding performance issues as these forms are accessed via LAN and WAN.
So my question :
This method seems to be quite efficient as it goes thrue blocks and items sequences as they are defined in the builder comparing to go_block -> go_item ->do_something which can easily turn into nightmare-programming.
But I don't really know about network roundtrips with this kind of method.
Is everything done in the app server and then fetched to the client?
What triggers block-level and item-level can be fired during the execution of the loop ? and so one...
Thanks in advance for your advices on this matter.
Jean-YvesHmmm, I have to say I never bothered if Forms is in Socket mode or not; I enabled the network statistics, counted the roundtrips and looked for ways to get them lower (my old friend wireshark did also a good job regarding this) ;). But regarding the note Forms 6i uses Socket Connections by default, this might apply to 10g too (or the enhancement request was approved, who knows).
Frankly I am not entirely sure what Socket Mode means; I guess it's the mode the forms applet talks to the forms runtime; wheter it's stateful (via Sockets) or stateless (via HTTP / HTTPS) but this is just a wild guess, and I can't find informations on it quickly. I also enabled networkStats on my Developer Suite only, so I cannot tell if you can enable them on a full-fledged Application Server.
Anyway; as said I just counted the roundtrips and looked where I can avoid them when I made our application ready for WAN.
Another useful tool was Shunra VE Desktop which I used to simulate low bandwith networks with high latencys; I installed it on a virtual XP, started the application and tested how the Application performs. If something looked odd, I looked behind the scenes, built a little testform basing on the code behind and tried out various things; very often you can take advantage of the event bundling forms seems to make when you use several set_xyz calls as Francois also noted; e.g.
set_custom_property('bean_item', 1, 'PROPERTY', prop);
set_custom_property('bean_item', 1, 'PROPERTY', prop);
set_custom_property('bean_item', 1, 'PROPERTY', prop);
set_custom_property('bean_item', 1, 'PROPERTY', prop);
set_custom_property('bean_item', 1, 'PROPERTY', prop);
vRet := get_custom_property('bean_item', 1, 'PROPERTY);most certainly will cause just 1 roundtrip; but if you use get_custom_property in the middle of the set_custom_property calls you will encounter 2 roundtrips as forms needs to synchronize (you get a value from the bean so the forms runtime needs a response) with the forms applet whereas set_custom_property is a one-way-street which can be fired off simultaneous. The same applies to fbean.invoke and fbean.invoke_bool, fbean.invoke_char and the like. Of course if you are using more then one get_custom_property in this case the roundtrips will increase accordingly.
If you want to make use of event bundling make sure you fire off as much set_xyz as you can before forcing forms to synchronize (e.g. with get_xyz, or synchronize, create_timer,...)
cheers -
Email:Text and PDF Forms
Hi Experts,
There is a requirement for sending smartform as Text attachements from one action and smartform as PDF attachements from another action.
Kindly let me know,How can I do this?
Thanks,
Adi.Hi,
The above reply requires spool i guess without that, we can do it this way.
*& Report ZTEST_ATTACHMENT
REPORT ztest_attachment.
DATA: lf_fm_name TYPE rs38l_fnam.
DATA: ls_control_param TYPE ssfctrlop.
DATA: ls_composer_param TYPE ssfcompop.
DATA: ls_recipient TYPE swotobjid.
DATA: ls_sender TYPE swotobjid.
DATA: lf_formname TYPE tdsfname.
DATA: ls_addr_key LIKE addr_key.
DATA: document_output_info TYPE ssfcrespd,
tab_otf_data TYPE ssfcrescl,
job_output_options TYPE ssfcresop.
DATA: file_size TYPE i ,
bin_filesize TYPE i ,
my_tabix TYPE sy-tabix,
w_complines TYPE i .
DATA : pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE ,
pdf_buffered LIKE tline OCCURS 0 WITH HEADER LINE,
itab TYPE TABLE OF ty_tab,
itab_final TYPE itcoo OCCURS 0 WITH HEADER LINE,
t_attach_data TYPE TABLE OF solisti1,
t_objcont TYPE TABLE OF soli.
DATA : w_email TYPE string VALUE ' '.
TABLES: nast, "Messages
*nast, "Messages
tnapr, "Programs & Forms
itcpo, "Communicationarea for Spool
arc_params, "Archive parameters
toa_dara, "Archive parameters
addr_key. "Adressnumber for ADDRESS
DATA price_print_mode(1) TYPE c. "Print-mode
DATA: retcode LIKE sy-subrc. "Returncode
*"Work Areas for Sending Mail..........................................
Data:
wa_doc_data TYPE sodocchgi1, " Work Area to hold Attributes of New Document
wa_pack TYPE sopcklsti1, " Work Area for Packing List of Main Document
wa_objhead TYPE solisti1, " Work Area to store Header Text
wa_messbody TYPE solisti1, " Work Area to store Message Body
wa_receivers TYPE somlrec90, " Work Area to store Receiver Information
wa_attach_data TYPE solisti1, " Work Area to store the Attached Document
wa_objcont TYPE soli, " Work Area to store data upto 255 Lines.
t_receivers LIKE TABLE OF wa_receivers,
t_pack LIKE STANDARD TABLE OF wa_pack,
t_messbody type table of solisti1,
t_objhead like table of wa_objhead,
*"Work Variables for Sending Mail......................................
w_tablines TYPE i, " Variable to store Table Lines
w_line TYPE so_text255, " Line of text
w_title LIKE kna1-anred. "#EC NEEDED
PERFORM set_print_param CHANGING ls_control_param
ls_composer_param.
determine smartform function module for test
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'Z_TESTYH1055'
IMPORTING
fm_name = lf_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
Write : 'Smart form name not recognised'.
ENDIF.
*Calling Function module generated by ssf call...
CALL FUNCTION lf_fm_name
EXPORTING
ARCHIVE_INDEX = ARCHIVE_INDEX
ARCHIVE_INDEX_TAB = ARCHIVE_INDEX_TAB
ARCHIVE_PARAMETERS = ARCHIVE_PARAMETERS
control_parameters = ls_control_param
MAIL_APPL_OBJ = MAIL_APPL_OBJ
MAIL_RECIPIENT = MAIL_RECIPIENT
MAIL_SENDER = MAIL_SENDER
output_options = ls_composer_param
user_settings = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO = DOCUMENT_OUTPUT_INFO
job_output_info = tab_otf_data
JOB_OUTPUT_OPTIONS = JOB_OUTPUT_OPTIONS
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
IF sy-subrc <> 0.
Write : 'Function module name not recognised'.
ENDIF.
itab_final[] = tab_otf_data-otfdata[].
*These lines to be inserted in case when two smart forms are called from the same program
*DELETE tab_otf_data-otfdata WHERE tdprintcom = '//'.
*READ TABLE itab_final WITH KEY tdprintcom = 'EP'.
*my_tabix = sy-tabix + 1.
*INSERT lines of tab_otf_data-otfdata INTO itab_final INDEX my_tabix.
PERFORM otf_to_pdf.
*& Form set_print_param
Setting smart form print parameters
<--P_LS_CONTROL_PARAM text
<--P_LS_COMPOSER_PARAM text
<--P_LS_RECIPIENT text
<--P_LS_SENDER text
<--P_RETCODE text
FORM set_print_param CHANGING cs_control_param TYPE ssfctrlop
cs_composer_param TYPE ssfcompop.
DATA: ls_itcpo TYPE itcpo.
DATA: lf_repid TYPE sy-repid.
*Setting composer parameters and control parameters for display
cs_composer_param-tddest = 'LP01'. "Note 591576
cs_control_param-no_dialog = 'X'.
cs_control_param-preview = space.
cs_control_param-getotf = 'X'.
ENDFORM. " set_print_param
*& Form otf_to_pdf
Convrting Smart-form otf output into PDF Format
--> p1 text
<-- p2 text
FORM otf_to_pdf .
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
ARCHIVE_INDEX = ' '
COPYNUMBER = 0
ASCII_BIDI_VIS2LOG = ' '
PDF_DELETE_OTFTAB = ' '
IMPORTING
bin_filesize = bin_filesize
* BIN_FILE = BIN_FILE
TABLES
otf = itab_final "Otf file of type itcoo
lines = pdf_tab "Pdf file of type tline
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 4.
Downloading the file recieved while conversion of otf 2 pdf
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = bin_filesize
filename = 'D:/TEST4.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'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
filelength = file_size
TABLES
data_tab = pdf_tab
FIELDNAMES = 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.
Changing the pdf file size into the sixe reqd to send it as an attachment
PERFORM conversion_of_size.
PERFORM Subject_line_of_mail.
PERFORM body_of_mail.
PERFORM sending_of_mail.
ENDFORM. " otf_to_pdf.
*& Form conversion_of_size
Changing the pdf file size into the sixe reqd to send it as an attachment
FORM conversion_of_size .
*"Declaring Local Constants............................................
CONSTANTS:
cnv_hexconst_zero TYPE x VALUE '00'.
Internal table to hold 255 Char's Single Line. *
DATA:
lv_big_lines(268) TYPE c
OCCURS 0 WITH HEADER LINE.
*"Local Work Variables.................................................
DATA:
lfl_flag TYPE c,
lv_left_t(268) TYPE c,
lv_left_i TYPE i,
tv_left_i TYPE i,
lv_curr_i TYPE i.
FIELD-SYMBOLS: <f>.
Get the lines into a table of 268 char as the first step to put it in
the pdf file of 255 chars
CLEAR lfl_flag.
LOOP AT pdf_tab INTO pdf_tab.
IF lfl_flag EQ ' '.
CLEAR lv_big_lines .
ASSIGN lv_big_lines(134) TO <f>.
<f> = pdf_tab.
lfl_flag = 'X'.
ELSE.
lv_big_lines+134 = pdf_tab.
APPEND lv_big_lines.
CLEAR: lfl_flag.
ENDIF. " If lfl_flag = ''..
ENDLOOP. " Loop at t_pdf
IF lfl_flag EQ 'X'.
APPEND lv_big_lines.
ENDIF. " If lflf_flag eq 'X'..
Next fill it into a 255 char table
CLEAR: lv_left_t, lv_left_i, tv_left_i.
lv_curr_i = 255.
LOOP AT lv_big_lines.
IF lv_left_i NE 0.
IF lv_curr_i NE 0.
wa_objcont(lv_left_i) = lv_left_t(lv_left_i).
wa_objcont+lv_left_i(lv_curr_i) = lv_big_lines(lv_curr_i).
ELSE.
wa_objcont = lv_left_t(lv_left_i).
ENDIF. " IF lv_curr_i NE 0
ELSE.
wa_objcont = lv_big_lines(lv_curr_i).
ENDIF. " IF lv_left_i NE 0
APPEND wa_objcont TO t_objcont.
tv_left_i = 268 - lv_curr_i.
IF tv_left_i > 255.
wa_objcont = lv_big_lines+lv_curr_i(255).
APPEND wa_objcont TO t_objcont.
lv_left_i = tv_left_i - 255.
tv_left_i = 255 + lv_curr_i.
lv_curr_i = 255 - lv_left_i.
lv_left_t = lv_big_lines+tv_left_i.
ELSE.
lv_left_t = lv_big_lines+lv_curr_i.
lv_left_i = 268 - lv_curr_i.
lv_curr_i = 255 - lv_left_i.
ENDIF. " IF tv_left_i > 255
ENDLOOP. " LOOP AT lv_big_lines.
CLEAR wa_objcont .
ASSIGN wa_objcont(lv_left_i) TO <f>.
<f> = lv_left_t(lv_left_i).
APPEND wa_objcont TO t_objcont.
ENDFORM. " conversion_of_size
*& Form Subject_line_of_mail
text
--> p1 text
<-- p2 text
form Subject_line_of_mail .
CONSTANTS:
lc_f TYPE c VALUE 'F', " Sensitivity
lc_objname(6) TYPE c VALUE 'SAPRPT'.
*"Local Work Variables.................................................
DATA:
lc_descr(30) TYPE c. " Object Description
CLEAR wa_doc_data.
CONCATENATE 'Test mail' '1' into lc_descr.
*"Populate the subject/generic Message attributes......................
wa_doc_data-doc_size = 1.
wa_doc_data-obj_langu = sy-langu.
wa_doc_data-obj_name = lc_objname.
wa_doc_data-sensitivty = lc_f.
wa_doc_data-obj_descr = lc_descr.
endform. " Subject_line_of_mail
*& Form body_of_mail
text
--> p1 text
<-- p2 text
form body_of_mail .
CONSTANTS:
lc_doc_type(3) TYPE c VALUE 'RAW'.
" Document type
REFRESH:
t_pack,
t_messbody.
CLEAR:
wa_pack,
wa_messbody.
*"Preparing Message Body Text..........................................
CONCATENATE 'This is sent to test for language solution , '
'Sorry for any inconvience caused'
INTO wa_messbody-line.
APPEND wa_messbody TO t_messbody.
wa_messbody-line = text-004.
APPEND wa_messbody TO t_messbody.
DESCRIBE TABLE t_messbody LINES w_tablines.
READ TABLE t_messbody INTO wa_messbody INDEX w_tablines.
*"Setting up Document Data Attribute...................................
wa_doc_data-doc_size = w_tablines.
*"Setting up Packing List Attributes...................................
wa_pack-transf_bin = ' '.
wa_pack-head_start = 1.
wa_pack-head_num = 0.
wa_pack-body_start = 1.
wa_pack-body_num = w_tablines.
wa_pack-doc_type = lc_doc_type.
APPEND wa_pack TO t_pack.
endform. " body_of_mail
*& Form sending_of_mail
Sending of mail with attachment
form sending_of_mail .
Refresh:
t_objhead,
t_attach_data.
CLEAR:
wa_attach_data.
Moving the table Recieved after conversion type soli
t_attach_data = t_objcont.
DESCRIBE TABLE t_attach_data LINES w_tablines.
wa_doc_data-doc_size = w_tablines.
*"Setting up Packing List Attributes...................................
wa_pack-transf_bin = 'X'.
wa_pack-head_start = 0.
wa_pack-head_num = 0.
wa_pack-body_start = 0.
wa_pack-body_num = w_tablines.
wa_pack-doc_size = w_tablines * 255.
wa_pack-doc_type = 'PDF'.
wa_pack-obj_name = 'Attachment'.
wa_pack-obj_descr = 'This is a SAP Report'.
APPEND wa_pack TO t_pack.
*"Setting up Receiver Attributes.......................................
wa_receivers-receiver = w_email.
wa_receivers-rec_type = 'U'.
APPEND wa_receivers TO t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = wa_doc_data
put_in_outbox = 'X'
SENDER_ADDRESS = SY-UNAME
SENDER_ADDRESS_TYPE = 'B'
commit_work = 'X'
IMPORTING
SENT_TO_ALL = SENT_TO_ALL
NEW_OBJECT_ID = NEW_OBJECT_ID
SENDER_ID = SENDER_ID
TABLES
packing_list = t_pack
OBJECT_HEADER = t_objhead
contents_bin = t_attach_data
CONTENTS_TXT = t_messbody
CONTENTS_HEX = CONTENTS_HEX
OBJECT_PARA = OBJECT_PARA
OBJECT_PARB = OBJECT_PARB
receivers = t_receivers
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
IF sy-subrc EQ 0 .
WRITE : 'Mail sent'.
ENDIF.
endform. " sending_of_mail
Try this.
Regards,
Nisrin. -
Basic questions about high-quality output and PDFs
I do volunteer work in a non-profit that interfaces with local county government. We've been discussing a project to produce an atlas-type information as a service to the residents. The maps would be rendered by the GIS software the county uses (ESRI's Arc suite). The question is what file format should we ask for given the high-quality print and plot output we have in mind and our desire to add some simple vector markup in some cases to the maps. The markup, when used, would be simple circles, rectangles, arrows or text.
Our idea is the do most of the printing and plotting ourselves (we'd use something like a local Kinkos). This allows is to control paper sizes. In addition, we might want to crop the map and upscale a bit so we need to be careful of data density (dpi). The question is what file format do we request from the county?
Obviously we can ask for PDFs but, as a novice with that output, I don't fully understand 1) its Tools capability (but I am learning about it) and 2) how to control data density.
Since I think its best to envision a PDF as a "box" for other data, is the quality of the output going to be determined by the data density of the object inside the PDF?
I know I may not be very clear so please help me get clear on the question if I haven't expressed it well here.
BTW, I know I can place a PDF into an AI object and then add the vector stuff if needed, but I don't know from a workflow perspective if that's the best way to assure hight quality output.
Thanks
Tom
P.S. We may end up with GIS viewing software as we move forward (ESRI has a grant program for non-profits). All this would mean would be we would be the ones making the decision about output format but the question on workflow would still remain.4. Finally, with CDs burned this way through iTunes, does iTunes place some sort of DRM on the burned CDs? If so, what practical effect does that DRM have on my burned CD (how does it limit the functionality of the CD?
No, so no limits to functionality. -
PHP and PDF Forms Data????
i would like to send the fields of a PDF to a PHP script hosted on my web server. (This can by configuring
SUBMIT to send the form fields to a URL - ie: www.test.com/parse.php)
this works, but i am unable to access any of the form fields inside the PHP script.
are there any examples of how to do this? perhaps there is some undocumented
environment variable that can give me a handle to the data structures that contain
the form field data.
help please!!!
robI think that the license may allow you to submit the data and create a new PDF with that data for use by the user. Be sure to read the license carefully. The tools to do this would be the FDF Toolkit for AcroForms (not those from Designer). You can probably do the same thing with Designer. In any case, you are probably talking about some programming.
Maybe you are looking for
-
Xbox 360 and 360 connect using mini.. please help
My setup is I have my internet running through a Dlink di-524 router which is wired to my Macmini. I have xbox 360 in the other room connected via cable to a gigafast wireless router. Im basically using this gigafast router as an alternative to the e
-
FM to get mail id from user name
Hi I need a Function module which will give me the mail id for the user name . Regards Vikas Edited by: vikas maurya on Jan 18, 2008 7:33 AM
-
Audit log of POST content stream for HIPAA
Gentlemen, One of the regulatory requirements developers of medical applications need to comply with is the complete logging of all access of and modification to Protected Health Information (PHI). Luckily for me I already have a custom authenticatio
-
Conversion of Codepage from 4110 to 4103
Hi, I'm getting a short dump at the execution of the statement READ DATASET. The short dump says a character was found that cannot be displayed in one of the two codepages. I have used a standard SAP Program which converts the code pages ( RSCP_CONVE
-
Iphone 5 cdma/gsm from sprint
Good day! I live in colombia but here iphone 5 is not available yet. All bands here work with gsm sim card. I was wondering if i buy a sprint cdma/gsm versiona can i then make it work with my carrier here? Does sprint cdma/gsm work with sim card and