Archivelink object / mail
Hi all,
how can I add documents which are linked to a business transaction (archivelink) to an automatically generated e-mail?
In transactions one can add all sorts of documents in the documents tab. In certain cases, when saving the transaction an e-mail is generated automatically (action profile). I want to add these documents to the e-mail.
Is there a way of achieving this?
Kind regards,
Micky.
Cleaning up my (unresolved) questions.
Similar Messages
-
One spool for several archivelink object
Hello,
I would like to create a single pool to print several archivelink object ?
THanks
Best regardsHi Aurélien :
Could you explain your solution?.
I have to create one spool for each document linked to a specific invoice and don't know how to do it.
Best Regards,
Carlos. -
ArchiveLink object (not DMS) for KB23N (Display Direct Activity Allocation)
Does anyone know the ArchiveLink object for KB23N for linking ArchiveLink (Scanned not SAP DMS) documents?
I can't seem to find a standard object in the object list so I thought I'd check here before attempt to create a custom ArchiveLink object for this area. There are a couple with similar names but configuring them doesn't enable the store business document option.Hi Athol,
We have observed that for MIGO transaction,the 'Store Business Document' option is disabled.Could you please let know how this can be enabled? We have serarched the forums,no inputs.Also,there is no indicator from the configuration side as well. -
ArchiveLink Objects/Extractor ?
Hi Experts,
Are there any extractors or Info-objects that correspond to ArchiveLink information like ArchiveID , Arch_Doc_ID or is there a method to retrieve URL to the content server. The underlying table is TOA01.
Does anyone have any documents or information on ArchiveLink with respect to BW with an external storage system being used to store the documents.
Please suggest
Thanks
SarahHi there
I have the same requirement as well. Could you provide me with some information on how you resolved this?
Thanks!
Roshan -
How to find out URL for ArchiveLink objects?
Hi All,
SCENARIO:
I'm working on "Archive Link", where a document (like word, JPEG photo, etc) is stored on a "Content Server" (specially meant for Database Management System) through a txn code(OAWD).
This is successfully storing the document on the content server.We have 2 options to view this stored document:
1) Use Document Viewer and
2) Use Internet Explorer
By default, system will open this document in Document Viewer. But, we changed it to view in Internet Explorer. It is also showing the document in IE along with a complete URL (system generated), which has details like domain, document ID and so on.
We want to find out where that URL is getting stored in the system (R/3).
Hope somebody would reply to this question.
Thanks in advance
AbdulHi there
I have the same requirement as well. Could you provide me with some information on how you resolved this?
Thanks!
Roshan -
Problem in sending mail from VF03
Hi
I am just getting a problem in sending mail to the recipient from script.
please find the below code and let me know why there is no data in otf_tab table.
DATA: otf_tab TYPE TABLE OF itcoo WITH HEADER LINE.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT = i_itcpp
TABLES
otfdata = otf_tab
EXCEPTIONS
OTHERS = 1.
IF otf_tab[] IS NOT INITIAL.
TRY.
CREATE OBJECT mailer
EXPORTING
i_nast = nast.
mailer->get_mail_address( EXPORTING i_adrnr = vbdkr-adrnr ).
mailer->get_mail_address( EXPORTING i_adrnr = vbdkr-adrnr
i_vkorg = vbdkr-vkorg
i_vtweg = vbdkr-vtweg ).
zcl_sd_mail_output=>convert_otf_to_pdf( IMPORTING pdf_xstring =
gv_pdf_string
CHANGING otf_table =
otf_tab[] ).
mailer->build_and_send_email( EXPORTING pdf_xstring =
gv_pdf_string ).
CATCH zcx_sd_mail_no_mailid INTO error.
error_txt = error->get_text( ).
zcl_sd_mail_output=>protocol_update( msg_id = 'VN'
msg_nr = '902'
msg_ty = 'E'
msg_v1 = error_txt ).
retcode = 1.
CLEAR error_txt.
ENDTRY.
ENDIF.
Since my OTf_tab is initial i am unable to send mails.Hi,
If the OTF Data table is blank then you might have missed the parameter "GETOTFDATA" at the time of calling "OPEN_FORM". Please pass field TDGETOTF = "X" in paramter "OPTIONS" when you are calling "OPEN_FORM".
You can also visit this link for more information.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/49e15474-0e01-0010-9cba-e62df8244556?QuickLink=index&overridelayout=true
Cheers, -
Conversion Agent - Mail Adapter integration issue
Hi Experts,
I have a Conversion Agent Serializer for generating a text file on the receiver side.
The Serializer works perfectly with the File Adapter on the receiver
side and generates the text file.
Now I have a requirement to send this file as an attachement in an email.
When I include the Serializer Module in the File Adapter
(Receiver), the email is not triggered.
The Communication Channel Monitoring shows the following:
2007-04-29 07:34:55 Success Message successfully received
by messaging system. Profile: XI URL:
http://bibox01:50000/MessagingSystem/receive/AFW/XI Credential (User):
PIISUSER
2007-04-29 07:34:55 Success Using connection
Mail_http://sap.com/xi/XI/System. Trying to put the message into the
receive queue.
2007-04-29 07:34:55 Success Message successfully put into
the queue.
2007-04-29 07:34:55 Success The message was successfully
retrieved from the receive queue.
2007-04-29 07:34:55 Success The message status set to DLNG.
2007-04-29 07:34:55 Success Delivering to channel:
FIle_Mail
2007-04-29 07:34:55 Success MP: entering
2007-04-29 07:34:55 Success MP: processing local module
localejbs/sap.com/com.sap.nw.cm.xi/CMTransformBean
2007-04-29 07:34:55 Success TransformationName:
TravelexBAI_Serializer
2007-04-29 07:34:56 Success CM_Transformation_succeeded
2007-04-29 07:34:56 Success MP: processing local module
localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean
2007-04-29 07:34:56 Success Mail: message entering the
adapter
2007-04-29 07:34:56 Success Mail: Receiver adapter entered
with qos ExactlyOnce
2007-04-29 07:34:56 Success Mail: calling the adpter for
processing
2007-04-29 07:34:56 Success Mail: call completed
2007-04-29 07:34:56 Success Mail: continuing to response
message 4ee64c80-f5d0-11db-8932-000bcdcf4920
2007-04-29 07:34:56 Success Mail: sending a delivery ack
2007-04-29 07:34:56 Success Mail: sent a delivery ack
2007-04-29 07:34:56 Success MP: leaving
2007-04-29 07:34:56 Success The message was successfully
delivered to the application using connection
Mail_http://sap.com/xi/XI/System.
2007-04-29 07:34:56 Success The message status set to DLVD.
The Audit log above states that the Serializer was executed successfully
and the the Mail Adapter was called.
The Message Content shows the Payload being generated correctly. But the
Email is still not triggered.
Could someone please provide some help with pinpointing the issue over here.
Michael, are you there??
Thanks & Regards,
ShobhitHi Ahmad,
The mail adapter works perfectly fine when I remove the Conversion Agent module from it. And the Conversion Agent module works perfectly fine with the File Adapter on the receiver side. So that authenticates that both the objects (Mail Adapter - receiver & Conversion Agent Serailizer module) are configured correctly as individual objects.
I have used the following parameters in the receiver mail adapter:
PARAMETERS
Transport Protocall: SMTP
Message Protocall: XIPAYLOAD
URL: smtp://xyz.com
Content Encoding: Base64
Keep Attachments: <TICKED>
MODULE
Processing Sequence==>>
Module Name: localejbs/sap.com/com.sap.nw.cm.xi/CMTransformBean
Type: Local EJB
Module Key: 1
Module Configuration==>>
Module key: 1
ParameterName: TransformationName
Parameter Value: <SerializerServiceName>
Regards,
Shobhit -
Hi All,
Requirement is to display the Archivelink document in a R/3 workflow using task 30100047 ( method ARCHIVELINKOBJECT-DISPLAY ) , create invoice and assign which is fine , but send a workitem to an SRM user so that he can view the Archivelink object . Can this be done ?
RadhaHi,
You will have to use the function module 'ARCHIV_CONNECTION_INSERT' to acheive this functionality. While creating the transaction you will have to do this inorder for the attachment to be available. The following code might be of help to you:
FUNCTION ZCREATE_ATTACHMENT.
""Local interface:
*" IMPORTING
*" VALUE(AR_OBJECT) TYPE TOAOM-AR_OBJECT ZUS2000126
*" VALUE(SAP_OBJECT) TYPE TOAOM-SAP_OBJECT BUS2000126
*" VALUE(OBJECT_ID) TYPE SAPB-SAPOBJID GUID
*" EXPORTING
*" VALUE(MESSAGE) TYPE CHAR255
*START OF ATTACHMENT
DATA: DOC_ID TYPE TOAV0-ARC_DOC_ID.
DATA: KEY TYPE SAPB-SAPOBJID,
V_ORDER TYPE CRMD_ORDERADM_H.
CALL FUNCTION 'SCMS_AO_FILE_CREATE'
EXPORTING
ARC_ID = 'AL'
FILE = 'Call_Report.doc'
PATH = 'D:\usr\sap\L2Z\DVEBMGS20\work\'
DOC_TYPE = 'DOC'
IMPORTING
DOC_ID = DOC_ID
EXCEPTIONS
ERROR_HTTP = 1
ERROR_ARCHIV = 2
ERROR_KERNEL = 3
ERROR_CONFIG = 4
ERROR_FILE = 5
OTHERS = 6.
IF SY-SUBRC <> 0.
ENDIF.
IF SAP_OBJECT EQ 'BUS2000116'.
SELECT SINGLE * FROM CRMD_ORDERADM_H INTO V_ORDER
WHERE OBJECT_ID EQ OBJECT_ID
AND OBJECT_TYPE EQ 'BUS2000116'
AND PROCESS_TYPE EQ 'ZSE1'.
MOVE V_ORDER-GUID TO OBJECT_ID.
ENDIF.
CALL FUNCTION 'ARCHIV_CONNECTION_INSERT'
EXPORTING
ARC_DOC_ID = DOC_ID
AR_OBJECT = AR_OBJECT
MANDANT = '800'
OBJECT_ID = OBJECT_ID
SAP_OBJECT = SAP_OBJECT
DOC_TYPE = 'DOC'
EXCEPTIONS
ERROR_CONNECTIONTABLE = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ELSE.
MESSAGE = 'Attachment created successfully'.
ENDIF.
*END OF ATTACHMENT
ENDFUNCTION.
Hope this helps,
Sudhi -
Hi all,
HOW TO Pass parameters into the FM of a Smartform to send a mail (Mail Receipant & Application Object & Mail Sender).
Is it neccesary to convert the SM into XSF or XDF format.hi,
chka sample code.
REPORT y_cb_test_051 .
* DATA DECLARATION
TYPE-POOLS: meein.
TABLES: toa_dara,
nast,
tnapr,
arc_params.
DATA: ent_retco TYPE sy-subrc,
ent_screen TYPE c,
l_xkomk LIKE TABLE OF komk WITH HEADER LINE,
xscreen. "Kz. Probeausgabe
DATA: i_texto_cuerpo LIKE solisti1 OCCURS 0 WITH HEADER LINE.
* SELECT OPTIONS / PARAMETERS
PARAMETERS:
p_kappl LIKE nast-kappl OBLIGATORY DEFAULT 'EF',
p_objky LIKE nast-objky OBLIGATORY DEFAULT '0010001125',
p_kschl LIKE nast-kschl OBLIGATORY DEFAULT 'NEU',
p_spras LIKE nast-spras OBLIGATORY DEFAULT 'EN',
p_parnr LIKE nast-parnr OBLIGATORY DEFAULT '50009123',
p_parvw LIKE nast-parvw OBLIGATORY DEFAULT 'BA',
p_erdat LIKE nast-erdat OBLIGATORY DEFAULT '20050908',
p_eruhr LIKE nast-eruhr OBLIGATORY DEFAULT '130105',
p_aende LIKE nast-aende DEFAULT 'X',
p_nacha LIKE nast-nacha DEFAULT '1',
p_ndialo TYPE tdsfflag DEFAULT ' ',
p_telfx LIKE nast-telfx DEFAULT '1-920-721-0284',
p_tland LIKE nast-tland DEFAULT 'US',
p_sform TYPE tdsfname DEFAULT 'ZMMNABPR3PFMMPO_L3' OBLIGATORY.
*PDF TABLES
DATA: tb_pdf LIKE tline OCCURS 0.
DATA: tb_pdf255 TYPE so_text255 OCCURS 0.
* MAIN PROCESSING SECTION
START-OF-SELECTION.
* SELECT SINGLE *
* INTO nast
* FROM nast
* WHERE kappl = p_kappl
* AND objky = p_objky
* AND kschl = p_kschl
* AND spras = p_spras
* AND parnr = p_parnr
* AND parvw = p_parvw
* AND erdat = p_erdat
* AND eruhr = p_eruhr.
* IF sy-subrc <> 0.
MESSAGE s000(00) WITH 'Record in NAST not found.'.
nast-kappl = p_kappl.
nast-objky = p_objky.
nast-kschl = p_kschl.
nast-spras = p_spras.
nast-parnr = p_parnr.
nast-parvw = p_parvw.
nast-erdat = p_erdat.
nast-eruhr = p_eruhr.
nast-nacha = p_nacha.
nast-telfx = p_telfx.
nast-tland = p_tland.
* ENDIF.
nast-aende = p_aende.
tnapr-sform = p_sform.
PERFORM entry_neu
USING
ent_retco
ent_screen.
* FORMS
*& Form entry_neu
* text
* -->ENT_RETCO text
* -->ENT_SCREEN text
FORM entry_neu
USING
ent_retco
ent_screen.
DATA: l_druvo LIKE t166k-druvo,
l_nast LIKE nast,
l_from_memory,
l_doc TYPE meein_purchase_doc_print.
DATA: ls_print_data_to_read TYPE lbbil_print_data_to_read.
DATA: ls_bil_invoice TYPE lbbil_invoice.
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.
* xscreen = ent_screen.
* clear ent_retco.
IF nast-aende EQ space.
l_druvo = '1'.
ELSE.
l_druvo = '2'.
ENDIF.
CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
EXPORTING
ix_nast = nast
ix_screen = ent_screen
IMPORTING
ex_retco = ent_retco
ex_nast = l_nast
doc = l_doc
CHANGING
cx_druvo = l_druvo
cx_from_memory = l_from_memory.
CHECK ent_retco EQ 0.
IF nast-adrnr IS INITIAL.
PERFORM get_addr_key
CHANGING ls_addr_key.
ELSE.
ls_addr_key = nast-adrnr.
ENDIF.
*Set the print Parameters
PERFORM set_print_param USING ls_addr_key
CHANGING ls_control_param
ls_composer_param
ls_recipient
ls_sender
ent_retco.
*Get the Smart Form name.
IF NOT tnapr-sform IS INITIAL.
lf_formname = tnapr-sform.
ELSE.
lf_formname = tnapr-fonam.
ENDIF.
* determine smartform function module for invoice
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = lf_formname
IMPORTING
fm_name = lf_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
* error handling
ent_retco = sy-subrc.
* perform protocol_update_i.
ENDIF.
ls_control_param-getotf = 'X'.
DATA: l_document_output_info TYPE ssfcrespd,
l_job_output_info TYPE ssfcrescl,
l_job_output_options TYPE ssfcresop.
CALL FUNCTION lf_fm_name
EXPORTING
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = ls_control_param
mail_recipient = ls_recipient
mail_sender = ls_sender
output_options = ls_composer_param
user_settings = ' '
zxekko = l_doc-xekko
zxpekko = l_doc-xpekko
* zxaend = l_doc-xaend
IMPORTING
document_output_info = l_document_output_info
job_output_info = l_job_output_info
job_output_options = l_job_output_options
TABLES
l_xekpo = l_doc-xekpo[]
l_xekpa = l_doc-xekpa[]
l_xpekpo = l_doc-xpekpo[]
l_xeket = l_doc-xeket[]
l_xtkomv = l_doc-xtkomv[]
l_xekkn = l_doc-xekkn[]
l_xekek = l_doc-xekek[]
l_xaend = l_doc-xaend[]
l_xkomk = l_xkomk
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
BREAK-POINT.
ENDIF.
* Converts OTF to PDF
DATA: v_len_in TYPE i.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = v_len_in
TABLES
otf = l_job_output_info-otfdata
lines = tb_pdf
EXCEPTIONS
err_max_linewidth = 0
err_format = 1
err_conv_not_possible = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Change the PDF format from 132 to 255.
CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
EXPORTING
* line_width_src =
* line_width_dst =
transfer_bin = 'X'
TABLES
content_in = tb_pdf
content_out = tb_pdf255
EXCEPTIONS
err_line_width_src_too_long = 1
err_line_width_dst_too_long = 2
err_conv_failed = 3
OTHERS = 4
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: lw_subject TYPE so_obj_des.
DATA: lwa_body TYPE solisti1.
DATA: ltb_body TYPE TABLE OF solisti1.
DATA: lw_filename TYPE char100.
DATA: ltb_recipients TYPE TABLE OF somlreci1.
DATA: lwa_recipients TYPE somlreci1.
lw_subject = 'This is the email subject'.
lwa_body-line = 'This is the email body - Line1'.
APPEND lwa_body TO ltb_body.
lwa_body-line = 'This is the email body - Line2'.
APPEND lwa_body TO ltb_body.
lwa_body-line = 'This is the email body - Line3'.
APPEND lwa_body TO ltb_body.
lwa_body-line = 'This is the email body - Line4'.
APPEND lwa_body TO ltb_body.
lw_filename = 'Contract'.
*RECIPIENTS
lwa_recipients-rec_type = 'U'.
lwa_recipients-express = 'X'.
lwa_recipients-receiver = sy-uname.
lwa_recipients-copy = ''.
APPEND lwa_recipients TO ltb_recipients.
* RECIPIENTS
lwa_recipients-rec_type = 'U'.
lwa_recipients-express = 'X'.
lwa_recipients-receiver = '[email protected]'.
lwa_recipients-copy = ''.
APPEND lwa_recipients TO ltb_recipients.
* RECIPIENTS
lwa_recipients-rec_type = 'U'.
lwa_recipients-express = 'X'.
lwa_recipients-receiver = '[email protected]'.
lwa_recipients-copy = ''.
APPEND lwa_recipients TO ltb_recipients.
* Sends the PDF by email.
PERFORM f_send_pdf_by_email
TABLES
tb_pdf255
ltb_body
ltb_recipients
USING
lw_subject
lw_filename.
ENDFORM. "entry_neu
*& Form ZCA_MAIL_BIN
* text
FORM f_send_pdf_by_email
TABLES
ptb_pdf255 STRUCTURE solisti1
ptb_body STRUCTURE solisti1
ptb_recipients STRUCTURE somlreci1
USING
pw_subject TYPE so_obj_des
pw_filename TYPE char100.
*-DATA DECLARATION--------------------------------------------------
* Variables y tablas internas.
DATA: BEGIN OF ltb_objbin OCCURS 0.
INCLUDE STRUCTURE solisti1.
DATA: END OF ltb_objbin.
DATA: lwa_doc_chng LIKE sodocchgi1,
lw_tab_lines LIKE sy-tabix,
ltb_objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
ltb_objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
*-MAIN PROCESSING SECTION-------------------------------------------
clear: ltb_objbin, ltb_objtxt, ltb_objpack, lwa_doc_chng.
refresh: ltb_objbin, ltb_objtxt, ltb_objpack.
* Control Data
lwa_doc_chng-obj_name = 'URGENT'.
lwa_doc_chng-sensitivty = 'P'.
lwa_doc_chng-no_change = 'X'.
lwa_doc_chng-priority = '1'.
lwa_doc_chng-obj_prio = '1'.
lwa_doc_chng-obj_langu = sy-langu.
lwa_doc_chng-no_change = 'X'.
* Email Subject
lwa_doc_chng-obj_descr = pw_subject.
* Email Body
ltb_objtxt[] = ptb_body[].
CLEAR ltb_objtxt.
DESCRIBE TABLE ltb_objtxt LINES lw_tab_lines.
IF lw_tab_lines GT 0.
READ TABLE ltb_objtxt INDEX lw_tab_lines.
lwa_doc_chng-doc_size =
( lw_tab_lines - 1 ) * 255 + STRLEN( ltb_objtxt ).
CLEAR ltb_objpack-transf_bin.
ltb_objpack-body_start = 1.
ltb_objpack-body_num = lw_tab_lines.
ltb_objpack-doc_type = 'RAW'.
APPEND ltb_objpack.
ENDIF.
* Attachment
* Move the binary attachment to other internal table.
ltb_objbin[] = ptb_pdf255[].
ltb_objpack-transf_bin = 'X'.
ltb_objpack-body_start = 1.
* Get the number of lines in the Attachment (PDF FILE)
DESCRIBE TABLE ltb_objbin LINES lw_tab_lines.
ltb_objpack-body_num = lw_tab_lines.
ltb_objpack-doc_type = 'PDF'.
ltb_objpack-obj_descr = pw_filename.
ltb_objpack-obj_name = pw_filename.
ltb_objpack-doc_size = lw_tab_lines * 255.
APPEND ltb_objpack.
* Call the function to send the PDF file by email
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = lwa_doc_chng
put_in_outbox = 'X'
TABLES
packing_list = ltb_objpack
contents_bin = ltb_objbin
contents_txt = ltb_objtxt
receivers = ptb_recipients
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.
CASE sy-subrc.
WHEN 0.
WHEN 1. RAISE too_many_receivers.
WHEN 2. RAISE document_not_sent .
WHEN 3. RAISE document_type_not_exist.
WHEN 4. RAISE operation_no_authorization.
WHEN 5. RAISE parameter_error.
WHEN 7. RAISE enqueue_error .
WHEN OTHERS. RAISE x_error.
ENDCASE.
COMMIT WORK.
ENDFORM. "ZCA_MAIL_BIN
*& Form get_addr_key
* text
* -->P_CS_BIL_INVOICE_HD_ADR text
* <--P_CS_ADDR_KEY text
FORM get_addr_key
CHANGING l_addr_key LIKE addr_key.
DATA: l_lfa1 LIKE lfa1.
SELECT SINGLE * FROM lfa1 INTO l_lfa1
WHERE lifnr = nast-parnr.
IF sy-subrc = 0.
MOVE l_lfa1-adrnr TO l_addr_key.
ENDIF.
ENDFORM. " get_addr_key
*& Form set_print_param
* text
* -->P_LS_ADDR_KEY text
* <--P_LS_CONTROL_PARAM text
* <--P_LS_COMPOSER_PARAM text
* <--P_LS_RECIPIENT text
* <--P_LS_SENDER text
* <--P_CF_RETCODE text
FORM set_print_param USING is_addr_key LIKE addr_key
CHANGING cs_control_param TYPE ssfctrlop
cs_composer_param TYPE ssfcompop
cs_recipient TYPE swotobjid
cs_sender TYPE swotobjid
cf_retcode TYPE sy-subrc.
DATA: ls_itcpo TYPE itcpo.
DATA: lf_repid TYPE sy-repid.
DATA: lf_device TYPE tddevice.
DATA: ls_recipient TYPE swotobjid.
DATA: ls_sender TYPE swotobjid.
lf_repid = sy-repid.
* CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
CALL FUNCTION 'Z_MMNA_WFMC_PREPARE_SMART_FORM'
EXPORTING
pi_nast = nast
pi_addr_key = is_addr_key
pi_repid = lf_repid
IMPORTING
pe_returncode = cf_retcode
pe_itcpo = ls_itcpo
pe_device = lf_device
pe_recipient = cs_recipient
pe_sender = cs_sender.
IF cf_retcode = 0.
MOVE-CORRESPONDING ls_itcpo TO cs_composer_param.
cs_composer_param-tdimmed = ' '.
cs_control_param-device = lf_device.
cs_control_param-no_dialog = 'X'.
* cs_control_param-no_dialog = p_ndialo.
cs_control_param-preview = xscreen.
cs_control_param-getotf = ls_itcpo-tdgetotf.
cs_control_param-langu = nast-spras.
ENDIF.
ENDFORM. "set_print_param
rgds
Anver
<b><i>if hlped pls mark points</i></b> -
Send Email with Attachment Callable Object
Hello,
I have a GP Application where i have 2 steps....in the first action the initiator attaches a document through standard GP functionality......i want to send this attachment to the approver alongwith the email i am already sending using 'Send email with Attachment (optional)' callable obejct.....how can i implement this....?
Any help would be highly appreciated.
Regards,
AnilHello Anil!
Well, if i really undestand your question, i think you resolve it using callable object mail with attachment, you said that do it, so, you only need to configure your smtp on youser server and you don´t need more work.
Please write any doubts. -
My cs4 mail list sign up has stopped functioning. Need help to correct "warning" messages
Don't know what's happening, but I do have a screen shot of the warning messages:
I'm not code conversant enough to figure this one out. Help!Here ya go:
<?php require_once('Connections/innerchoice_books.php'); ?>
<?php require_once('Connections/innerchoice_books.php'); ?>
<?php require_once('Connections/innerchoice_books.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO email_list (ml_fname, ml_lname, ml_email, ml_job, ml_state) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['ml_fname'], "text"),
GetSQLValueString($_POST['ml_lname'], "text"),
GetSQLValueString($_POST['ml_email'], "text"),
GetSQLValueString($_POST['ml_job'], "text"),
GetSQLValueString($_POST['ml_state'], "text"));
mysql_select_db($database_innerchoice_books, $innerchoice_books);
$Result1 = mysql_query($insertSQL, $innerchoice_books) or die(mysql_error());
mysql_select_db($database_innerchoice_books, $innerchoice_books);
$query_rsSubscribers = "SELECT * FROM email_list";
$rsSubscribers = mysql_query($query_rsSubscribers, $innerchoice_books) or die(mysql_error());
$row_rsSubscribers = mysql_fetch_assoc($rsSubscribers);
$totalRows_rsSubscribers = mysql_num_rows($rsSubscribers);
mysql_select_db($database_innerchoice_books, $innerchoice_books);
$query_rsStates = "SELECT * FROM states ORDER BY state_id ASC";
$rsStates = mysql_query($query_rsStates, $innerchoice_books) or die(mysql_error());
$row_rsStates = mysql_fetch_assoc($rsStates);
$totalRows_rsStates = mysql_num_rows($rsStates);
mysql_select_db($database_innerchoice_books, $innerchoice_books);
$query_rsJobs = "SELECT * FROM jobs ORDER BY job_id ASC";
$rsJobs = mysql_query($query_rsJobs, $innerchoice_books) or die(mysql_error());
$row_rsJobs = mysql_fetch_assoc($rsJobs);
$totalRows_rsJobs = mysql_num_rows($rsJobs);
?>
<?php require_once("webassist/email/mail_php.php"); ?>
<?php require_once("webassist/email/mailformatting_php.php"); ?>
<?php
if (!isset($_SESSION))session_start();
if ((($_SERVER["REQUEST_METHOD"] == "POST") && (isset($_SERVER["HTTP_REFERER"]) && strpos(urldecode($_SERVER["HTTP_REFERER"]), urldecode($_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"])) > 0) && isset($_POST))) {
//WA Universal Email object="mail"
set_time_limit(0);
$EmailRef = "waue_mailList_signup_2";
$BurstSize = 0;
$BurstTime = 0;
$WaitTime = 0;
$GoToPage = "mailList_signup_thanks.php";
$RecipArray = array();
$StartBurst = time();
$LoopCount = 0;
$TotalEmails = 0;
$RecipIndex = 0;
// build up recipients array
$CurIndex = sizeof($RecipArray);
$RecipArray[$CurIndex] = array();
$RecipArray[$CurIndex ][] = "".((isset($_POST["ml_email"]))?$_POST["ml_email"]:"") ."";
$TotalEmails += sizeof($RecipArray[$CurIndex]);
$RealWait = ($WaitTime<0.25)?0.25:($WaitTime+0.1);
$TimeTracker = Array();
$TotalBursts = floor($TotalEmails/$BurstSize);
$AfterBursts = $TotalEmails % $BurstSize;
$TimeRemaining = ($TotalBursts * $BurstTime) + ($AfterBursts*$RealWait);
if ($TimeRemaining < ($TotalEmails*$RealWait) ) {
$TimeRemaining = $TotalEmails*$RealWait;
$_SESSION[$EmailRef."_Total"] = $TotalEmails;
$_SESSION[$EmailRef."_Index"] = 0;
$_SESSION[$EmailRef."_Remaining"] = $TimeRemaining;
while ($RecipIndex < sizeof($RecipArray)) {
$EnteredValue = is_string($RecipArray[$RecipIndex][0]);
$CurIndex = 0;
while (($EnteredValue && $CurIndex < sizeof($RecipArray[$RecipIndex])) || (!$EnteredValue && $RecipArray[$RecipIndex][0])) {
$starttime = microtime_float();
if ($EnteredValue) {
$RecipientEmail = $RecipArray[$RecipIndex][$CurIndex];
} else {
$RecipientEmail = $RecipArray[$RecipIndex][0][$RecipArray[$RecipIndex][2]];
$EmailsRemaining = ($TotalEmails- $LoopCount);
$BurstsRemaining = ceil(($EmailsRemaining-$AfterBursts)/$BurstSize);
$IntoBurst = ($EmailsRemaining-$AfterBursts) % $BurstSize;
if ($AfterBursts<$EmailsRemaining) $IntoBurst = 0;
$TimeRemaining = ($BurstsRemaining * $BurstTime * 60) + ((($AfterBursts<$EmailsRemaining)?$AfterBursts:$EmailsRemaining)*$RealWait) - (($AfterBursts>$EmailsRemaining)?0:($IntoBurst*$RealWait));
if ($TimeRemaining < ($EmailsRemaining*$RealWait) ) {
$TimeRemaining = $EmailsRemaining*$RealWait;
$CurIndex ++;
$LoopCount ++;
session_commit();
session_start();
$_SESSION[$EmailRef."_Index"] = $LoopCount;
$_SESSION[$EmailRef."_Remaining"] = round($TimeRemaining);
session_commit();
wa_sleep($WaitTime);
include("webassist/email/waue_mailList_signup_2.php");
$endtime = microtime_float();
$TimeTracker[] =$endtime - $starttime;
$RealWait = array_sum($TimeTracker)/sizeof($TimeTracker);
if ($LoopCount % $BurstSize == 0) {
$TimePassed = (time() - $StartBurst);
if ($TimePassed < ($BurstTime*60)) {
$WaitBurst = ($BurstTime*60) -$TimePassed;
wa_sleep($WaitBurst);
else {
$TimeRemaining = ($TotalEmails- $LoopCount)*$RealWait;
$StartBurst = time();
if (!$EnteredValue) {
$RecipArray[$RecipIndex][0] = mysql_fetch_assoc($RecipArray[$RecipIndex][1]);
$RecipIndex ++;
$_SESSION[$EmailRef."_Total"] = 0;
$_SESSION[$EmailRef."_Index"] = 0;
$_SESSION[$EmailRef."_Remaining"] = 0;
session_commit();
session_start();
if ($GoToPage!="") {
header("Location: ".$GoToPage);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Join the Innerchoice Network</title>
<link href="assets/Main.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
#apDiv2 {
position:absolute;
left:1033px;
top:965px;
width:63px;
height:322px;
z-index:1;
-->
</style>
<style type="text/css">
<!--
a:link {
color: #060;
text-decoration: underline;
a:visited {
text-decoration: underline;
color: #006900;
a:hover {
text-decoration: none;
color: #C60;
a:active {
text-decoration: underline;
color: #DC6100;
#apDiv1 {
position:absolute;
left:790px;
top:506px;
width:80px;
height:80px;
z-index:1;
#apDiv3 {
position:absolute;
width:200px;
height:115px;
z-index:1;
#apDiv4 {
position:absolute;
width:200px;
height:115px;
z-index:1;
#featuredCover {
position:absolute;
width:136px;
height:174px;
z-index:1;
left: 20px;
overflow: hidden;
-->
</style>
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<script src="SpryAssets/SpryValidationSelect.js" type="text/javascript"></script>
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryValidationSelect.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="specials">
<p>Sign up for the FREE Monday Morning Sharing Circle and More!</p>
</div>
<div id="wrapper">
<div id="header">
<h1>INNERCHOICE Publishing</h1>
<h2>Bringing Emotional Intelligence to Life!</h2>
<!--begin main-nav element-->
<div>
<ul>
<li id="home"><a href="index.html"></a></li>
<li id="books"><a href="books.php" class="visited"></a></li>
<li id="training"><a href="circleWorkshops.html"></a></li>
<li id="resources"><a href="resources.html"></a></li></ul></div>
<!--begn sub-nave element-->
<div id="subNav">
<form method="GET" action="/remsearch.cgi">
<img src="assets/images/homePage/cart.png" alt="cart.gif" width="25" height="15" style="margin-bottom:-2px;">
<a href="cart.php">CART</a> |
<a href="contactHelp.html">CONTACT US</a> |
<a href="contactHelp.html#help">HELP</a> |
<a href="aboutUs.html">ABOUT INNERCHOICE</a>
</form>
</div>
<div id="kids"><img src="assets/images/kids-sans-text.png" width="300" height="442" alt="Happy Kids" />
</div>
</div>
<div id="selResources">
<p><img src="assets/images/homePage/SELresources.png" width="691" height="66" alt="SEL Resources" /></p>
</div>
<div id="mainContent">
<div id="mailList">
<h1>Become part of the Sharing Circle Community. Join in the fun!</h1>
<h2>Sign up now to start enjoying the <span class="free"><br />
FREE</span> Monday Morning Sharing Circle</h2>
<p class="introText">As our site grows,you'll find more and more great resources to support your Social and Emotional Learning efforts. Right now, enjoy a weekly treat as we send the <a href="circleMonday.html">Monday Morning Sharing Circle Topic</a> your way. This is a sample of the <a href="circleCentral.html">EQ Super Strategy</a> that you can use to bring another dimension to your SEL work with students. Here's this week's<a href="circleMonday.html"> Sharing Circle</a>.</p>
<p class="introText"><strong>*</strong>Required fields</p>
<form id="form1" name="form1" method="POST" action=<?php echo $editFormAction; ?>>
<table width="99%" border="0">
<tr>
<td width="606" height="22" valign="bottom" nowrap="nowrap">Email Address: *</td>
</tr>
<tr>
<td align="left" nowrap="nowrap"><span id="spryEmail">
<label>
<input name="ml_email" type="text" id="ml_email" size="60" />
</label>
<span class="textfieldRequiredMsg">An email address is required.</span><span class="textfieldInvalidFormatMsg">Invalid format.</span></span></td>
</tr>
<tr>
<td height="22" valign="bottom" nowrap="nowrap">First Name: *</td>
</tr>
<tr>
<td nowrap="nowrap"><span id="spryFirstname">
<label>
<input name="ml_fname" type="text" id="ml_fname" size="60" />
</label>
<span class="textfieldRequiredMsg">Your first name is required.</span></span></td>
</tr>
<tr>
<td height="22" valign="bottom" nowrap="nowrap">Last Name: *</td>
</tr>
<tr>
<td nowrap="nowrap"><span id="spryLastname">
<label>
<input name="ml_lname" type="text" id="ml_lname" size="60" />
</label>
<span class="textfieldRequiredMsg">Your last name is required.</span></span></td>
</tr>
<tr>
<td height="45"><p>To guide us in giving you the most useful resource please tell us a little more about your role in education and where you are located.</p></td>
</tr>
<tr>
<td height="22" valign="bottom">Please select a category from the following: *</td>
</tr>
<tr>
<td nowrap="nowrap"><span id="spryRole">
<label>
<select name="ml_job" id="ml_job">
<?php
do {
?>
<option value="<?php echo $row_rsJobs['job_id']?>"><?php echo $row_rsJobs['job_title']?></option>
<?php
} while ($row_rsJobs = mysql_fetch_assoc($rsJobs));
$rows = mysql_num_rows($rsJobs);
if($rows > 0) {
mysql_data_seek($rsJobs, 0);
$row_rsJobs = mysql_fetch_assoc($rsJobs);
?>
</select>
<span class="selectRequiredMsg">Please select your role.</span><br />
</label>
</span></td>
</tr>
<tr>
<td height="22" valign="bottom">Please tell us the state in which you work: *</td>
</tr>
<tr>
<td nowrap="nowrap"><span id="spryState">
<label>
<select name="ml_state" id="ml_state">
<option value="AA">select...</option>
<?php
do {
?>
<option value="<?php echo $row_rsStates['state_id']?>"><?php echo $row_rsStates['state_name']?></option>
<?php
} while ($row_rsStates = mysql_fetch_assoc($rsStates));
$rows = mysql_num_rows($rsStates);
if($rows > 0) {
mysql_data_seek($rsStates, 0);
$row_rsStates = mysql_fetch_assoc($rsStates);
?>
</select>
<span class="selectRequiredMsg">Please select your state.</span><br />
</label>
</span></td>
</tr>
<tr>
<td height="40" valign="bottom"><label>
<input type="submit" name="submit" id="submit" value="Sign me up!" />
You'll receive an acknowledgment email from Innerchoice shortly.</label></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p class="introText">In the coming weeks you'll find other exciting things to enhance your SEL experience. These will include articles and insights about making the most of Social and Emotional Learning, and right away, our new monthly newsletter with even more ideas and interesting, engaging, and fun things to do with your students. You probably get that we're inventing this along the way. So we hope to hear your ideas for broadening the impact of our site and its impact on SEL. </p>
</div>
</div>
<div id="mlQuote">
<p>Over the years, Sharing Circles have been one of the best counseling interventions. They are powerful tools for creating social and emotional learning.</p>
<p> </p>
</div>
<div id="mlUpdate">
<h5>Current Subscribers—</h5>
<h5><a href="mailList_updateTrigger.php">Update your information</a></h5>
<p><em>(Keep Your Email address current)</em></p>
<h5><a href="mailList_deleteTrigger.php">Unsubscribe</a></h5>
</div>
<p> </p>
<p> </p>
<div id="events"><a href="icEvents.html"><img src="assets/images/homePage/training_button.png" width="460" height="99" /></a></div>
<div id="bookBrowse"><a href="titleBrowse.php"></a></div>
<!--begin for footer content-->
<div id="footer">
<div class="left">
<h5>About Innerchoice</h5>
<div class="footer-links"> <a href="index.html">Home</a> | <a href="aboutUs.html">Mission</a> | <a href="aboutUs.html#ourStory">History</a> | <a href="aboutUs.html#ourCommitment">Commitment to You</a></div>
<h5>Resources for</h5>
<div class="footer-links"> <a href="contactHelp.html#writersAuthors">Writers and Authors</a> | <a href="resources.html">Those Who Educate</a></div>
</div>
<div class="right">
<div class="icLinks">
<p><a href="mailto:[email protected]">Send Us Your Ideas</a><a href=""></a></p>
<p><a href="contactHelp.html">Contact Us</a> | <a href="contactHelp.html#help">Help</a> | <a href="privacyPolicy.html">Privacy Policy</a> | <a href="siteMap.html">Site Map</a> | <a href="contactHelp.html#internationalRights">International Rights</a></p>
</div>
<div class="copyright"> <a href="aboutUs.html#ourCopyright">Copyright © 2010</a> by <a href="index.html">Innerchoice Publishing, Inc.</a> All rights reserved. </div>
</div>
<hr class="clearing"/>
</div>
</div>
<script type="text/javascript">
<!--
var sprytextfield1 = new Spry.Widget.ValidationTextField("spryEmail", "email", {validateOn:["change"]});
var sprytextfield2 = new Spry.Widget.ValidationTextField("spryFirstname", "none", {validateOn:["change"]});
var sprytextfield3 = new Spry.Widget.ValidationTextField("spryLastname", "none", {validateOn:["change"]});
var spryselect1 = new Spry.Widget.ValidationSelect("spryRole", {validateOn:["change"]});
var spryselect2 = new Spry.Widget.ValidationSelect("spryState", {validateOn:["change"]});
//-->
</script>
</body>
</html>
<?php
mysql_free_result($rsSubscribers);
mysql_free_result($rsStates);
mysql_free_result($rsJobs);
?> -
Dear all,
Our scanned doc is store in IBM Commonstore as an archivelink to SAP. At the first place i don't have access to Commonstore, so would like to check if there is any TCode in SAP provide the functionality to view the archivelink object?Hi.
Perhaps this links helps you:
[Storing Documents|http://help.sap.com/saphelp_nw04/helpdata/en/8c/43a63acd23a74ae10000000a11402f/content.htm]
[How to Store Document in SAP?|http://fuller.mit.edu/workflow/archive_link_store_docs.pdf]
Best Regards
Edited by: Alberto Ruiz on Oct 10, 2008 10:48 AM -
Output type - Special function 8 - ARCHIV_CONNECTION_INSERT
Hi gurus,
I created a new Output Type with special function 8 called ZPDF in transaction NACE with application MR (invoice verification) and I added to that Output Type ZPDF our custom program called ZXXX_ARCHIVE_LINK in order to post into the MM invoice, a PDF who cames from the SD inovoice.
The SD invoice number is recorder into the field "Referece" in the MM invoice.
So, the program should (through the output type and the program):
1. Read the MM invoice number generated (NAST table into NAST-OBJKY).
2. Enter to table RBKP with MM invoice number RBKP-BELNR and get the SD invoice number: RBKP-XBLNR.
3. Enter with SD invoice number XBLNR to table TOA01-OBJECT_ID And get TOA01-ARC_DOC_ID.
4. Call FM ARCHIV_CONNECTION_INSERT.
The problem here is when I post a MM inovice in MIRO transaction the system through the condition record added the ZPDF Output Type but don´t read the program ZMIC_INVOICE_PDF_ARCHIVE_LINK added to that output type. The status of the output type is green (but without any processing log). I checked the setting for the Output Type like 100 times and everything seems to be OK.
Please this is very urgent. Any advice?
I don´t know why SAP don´t call the program. I think the ABAP code is wrong:
REPORT ZXXX_ARCHIVE_LINK.
Table Declaration
TABLES: NAST, " Message Status
CMFP, " Storage Structure for Errors Collected
EDIDS, " Status Record (IDoc)
VBRK, " Billing Document: Header Data
TOA01. " Link table 1
TYPES: BEGIN OF TY_RBKP,
BELNR TYPE RE_BELNR, " Document number of an invoice document
XBLNR TYPE XBLNR1, "SAEOBJID, " Reference Document Number
END OF TY_RBKP.
TYPES: BEGIN OF TY_TOA01,
OBJECT_ID TYPE SAEOBJID, " SAP ArchiveLink: Object ID (object identifier)
ARC_DOC_ID TYPE SAEARDOID, " SAP ArchiveLink: Document ID
END OF TY_TOA01.
Data Declaration
DATA: WA_BELNR TYPE RE_BELNR ,
WA_ARC_DOC_ID TYPE TY_TOA01 , "-ARC_DOC_ID,
WA_SAP_OBJECT LIKE SAPB-SAPOBJID," TYPE TOAOM-SAP_OBJECT ,
ARC_DOC_ID TYPE TOAV0-ARC_DOC_ID,
GT_RBKP TYPE STANDARD TABLE OF TY_RBKP , "WITH HEADER LINE,
GT1_RBKP TYPE STANDARD TABLE OF TY_RBKP, " WITH HEADER LINE,
GT_ARC_DOC_ID TYPE STANDARD TABLE OF TY_TOA01, " -ARC_DOC_ID,
WA1_RBKP TYPE TY_RBKP ,
WA_RBKP TYPE TY_RBKP.
DATA: WA1_OBJECT_ID TYPE SAEOBJID.
DATA: WA_OBJKY TYPE NA_OBJKEY,
WA1_OBJKY TYPE RE_BELNR.
FORM entry USING ent_retco ent_screen.
CLEAR ent_retco.
PERFORM ARCHIV_CONNECTION_INSERT USING nast-objky ent_retco.
ENDFORM. "entry
FORM ARCHIV_CONNECTION_INSERT USING objky returncode.
* Select Reference Document Number from RBKP table
SELECT BELNR XBLNR
FROM RBKP
INTO TABLE GT_RBKP
WHERE BELNR = objky . " .WA1_OBJKY .
IF SY-SUBRC EQ 0 .
LOOP AT GT_RBKP INTO WA_RBKP.
WA1_OBJECT_ID = WA_RBKP-XBLNR .
CONCATENATE WA1_OBJECT_ID '%' INTO WA1_OBJECT_ID .
WA_SAP_OBJECT = WA_RBKP-BELNR .
SELECT OBJECT_ID
ARC_DOC_ID
FROM TOA01
INTO TABLE GT_ARC_DOC_ID
WHERE OBJECT_ID LIKE WA1_OBJECT_ID.
IF SY-SUBRC EQ 0 .
READ TABLE GT_ARC_DOC_ID INTO WA_ARC_DOC_ID INDEX 1.
ARC_DOC_ID = WA_ARC_DOC_ID-ARC_DOC_ID.
WA_SAP_OBJECT = WA_ARC_DOC_ID-OBJECT_ID.
ENDIF.
CALL Function Module:Link table operations
CALL FUNCTION 'ARCHIV_CONNECTION_INSERT'
EXPORTING
ARCHIV_ID = 'Z0'
ARC_DOC_ID = ARC_DOC_ID
AR_DATE = SY-DATUM
AR_OBJECT = 'MMILOGINV'
DEL_DATE = ' '
MANDANT = SY-MANDT
OBJECT_ID = WA_SAP_OBJECT
SAP_OBJECT = 'BUS2081'
DOC_TYPE = 'PDF'
BARCODE = ' '
EXCEPTIONS
ERROR_CONNECTIONTABLE = 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.
CLEAR: WA_RBKP.
ENDLOOP.
ENDIF.
ENDFORM.Hi,
Use
You can process a message immediately by updating the application document or you can process it at a later time. For later processing you must use the report program RSNAST00 or a corresponding application function.
The individual possibilites are:
Time 1: The message is processed through report program RSNAST00. This report program can be scheduled periodically or started manually.
Time 2: As in time 1, but the message contains an earliest processing date and a requested processing time. The message is ignored by report program RSNAST00 before the requested date.
Time 3: The message is selected and processed by application specific programs. Processing can take place online or in the background.
Time 4: The message is processed when the application document is saved. No further processing of the message is necessary.
Kapil -
PDFs not created using Acrobat fail to read in PB20 short profile
In our ECC system, when trying to read an applicant resume in PB20 (Short Profile->ArchiveLink Object Hit List), we get an error when trying to load someone's resume in which the resume that is saved as a PDF but created in something other than Acrobat (Example: MS Word-->Save as PDF):
In SDV--> "The file is damaged and could not be repaired"
Can anyone offer any suggestions as how to fix this?Well, I tried a quick test of the Save As Excel and also Word and the conversion replaces hyphens with bullets; -$20,083.86 becomes •$20,083.86 and 18-JUN-2013 becomes 18•JUN•2013
I can work with this if I have to, but it certainly is a cludgy approach.
Do you happen to know if there's a routine in the VB-accessible SDK that allows me to fetch a block of text without any parsing by the SDK? That is, if I could read the contents of the PDF as a stream of characters and do my own parsing, perhaps I could see the hyphens. -
Change file name in attachment -- Sales Order
Hi guys,
I have to change the file name in attachment (sales order ), a pdf sent via va02 Extras/output/header/edit to mail defined in xd02.
I used the standard program /SMB40/RVADOR01,
what I have now : in attachement file is like 'SAPLSTXBE /20080102/174052.pdf'
in object mail 'SAPLSTXBE /20080102/174052' .
What can I do for changing those values?
need urgent help please
thanks.I have tried this but that doiesn't work:
Changing the subject for email order confirmations
An output type ZEXT was created to send emails of order confirmations to a certain distribution list in PDF format. (See the SAP Exchange Connector Implementation Documentation for details on this setup.)
The following code and config was implemented in order to change the email subject line.
Configuration for ZEXT (External order confirmation by email)
Transaction: V/30
General Data: Access Seq: 0009 (SalesOrg./Cust./Order type), Access to Conditions CHECKED.
Replacement of text symbols Program: ZEXT. Form routine: TEXT_SYMBOL_REPLACE
Default Values: Transmission Medium: 5. Communication Strategy CS01.
Mail and Titles: &KUNNR&:Order &VBELN&
Processing Routines: Program: RVADOR01, Form Routine: ENTRY, Form: YPCC_ORDCONF_STD
Condition Record
Using VV12 you need to add a condition record as applicable. Note that the Communication record must point to your ZMAIL output device and has the following entry as Text for Cover Page: &KUNNR&(&VBELN&)
Code for ZEXT subject definition
REPORT zext.
Author: Kevin Wilson
Date: 01/07/2003
Description: This program changes the title of the email for output
type ZEXT. Maintain output type ZEXT using V/30.
The mail title and texts tab has entry:
&KUNNR&:Order &VBELN&
The general tab has entry in Replacement of text
symbols: Program ZEXT. Form:TEXT_SYMBOL_REPLACE
tables: kna1.
FORM text_symbol_replace TABLES xtlines STRUCTURE tline
USING xthead STRUCTURE thead
snast STRUCTURE nast.
data: t_vbeln(10) type c.
DESCRIBE TABLE xtlines LINES sy-tabix.
CHECK sy-tabix GT 0.
LOOP AT xtlines.
move snast-objky to t_vbeln.
replace '&VBELN&' with t_vbeln into xtlines-tdline.
select single name1 into kna1-name1
from kna1
where kunnr = snast-parnr.
replace '&KUNNR&' with kna1-name1 into xtlines-tdline.
condense xtlines-tdline.
modify xtlines.
ENDLOOP.
ENDFORM.
Maybe you are looking for
-
Hello. I have a pretty big problem, I can't install Photoshop or Premiere Pro on my PC. I get to the " initializing installer " part, it fills to 100%, then the window simply disappears. What should I do ? My OS is XP SP3, and I have enough HDD space
-
How do I stop videos playing full screen on iPhone 5c?
Hi I've recently purchased the iPhone 5C and I'm having trouble working out Safari and playing audios. When I click an audio (ie.. a radio programme on download) it immediately expands to full screen and I cannot find a way of going back to the safar
-
Is weblogic designed to be a 24/7 webserver?
I am beginning to wonder if it was written for a specific business market or if it is able to handle heavy loads of traffic for an unlimited amount of time. The scenario is thus...we start the webservers (4 of them on single CPU sparc boxes roughly e
-
The job was stopped prior to completion by (Unknown)
I'm getting the following intermittent error on a job: The job was stopped prior to completetion by (unknown) Any ideas as to what could be causing it? 2008 R2 John Schroeder
-
Can't resize columns in new iTunes store
Well .. the new iTunes9 store is just horrendous, and a step back from the previous version. i'd beg for the previous version but it's never gonna happen. one of the most simple and yet horrendously awful things is the apparant inabilityto resize col