<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v =
"urn:schemas-microsoft-com:vml" xmlns:o =
"urn:schemas-microsoft-com:office:office" xmlns:w =
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3059" name=GENERATOR>
<STYLE>@font-face {
        font-family: Verdana;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
P {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0in; MARGIN-RIGHT: 0in; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
SPAN.EmailStyle17 {
        FONT-WEIGHT: normal; COLOR: windowtext; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal-compose
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV dir=ltr align=left><SPAN class=988321818-02042007><FONT face=Arial
color=#0000ff size=2>Dimitri,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=988321818-02042007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=988321818-02042007><FONT face=Arial
color=#0000ff size=2>It looks to me that <FONT
color=#000000>ZMBO_GET_URL_LINK builds the URL. What does this
function module do - it looks like a module you built? I can't figure
out how the URL gets into the attachment. I want to add an internal web
address.<FONT face="Times New Roman"
size=3> </FONT></FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=988321818-02042007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left>
<DIV><SPAN class=345095805-11072002><FONT face=Arial color=#0000ff
size=2></FONT></DIV></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> sap-wug-bounces@mit.edu
[mailto:sap-wug-bounces@mit.edu] <B>On Behalf Of </B>Dimitri
Dupont<BR><B>Sent:</B> Friday, March 30, 2007 4:38 AM<BR><B>To:</B> SAP Workflow
Users' Group<BR><B>Subject:</B> Adding an URL to a Work Item - Sample
Code<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=Section1>
<P><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Hello what we did here is
following</SPAN></FONT> <FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> for the purists it is maybe
not the cleanest code but it does the trick ;-)<o:p></o:p></SPAN></FONT></P>
<P><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><BR>1 Create a background task to
create the attachement object</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The code is here below</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I
did this for an appraisal process thus the 'APPR_DOC' object used but just
replace it with your object</SPAN></FONT> <o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">begin_method insertattachement
changing container.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DATA: p_botype LIKE
borident-objtype VALUE 'APPR_DOC', "</SPAN></FONT> <BR><FONT
face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
p_bo_id LIKE borident-objkey,</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*" Key e.g. PO
No.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* Object_b</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
p_msgtyp LIKE sofm-doctp
VALUE 'URL',</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
p_docty LIKE borident-objtype VALUE
'MESSAGE',</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* Relationship</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
p_reltyp LIKE breltyp-reltype VALUE 'URL'.</SPAN></FONT>
<o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">p_bo_id = object-key.</SPAN></FONT>
<o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">TYPES: BEGIN OF
ty_message_key,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> foltp
TYPE so_fol_tp,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> folyr
TYPE so_fol_yr,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> folno
TYPE so_fol_no,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> doctp
TYPE so_doc_tp,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> docyr
TYPE so_doc_yr,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> docno
TYPE so_doc_no,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> fortp
TYPE so_for_tp,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> foryr
TYPE so_for_yr,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> forno
TYPE so_for_no,</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> END OF
ty_message_key.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DATA : lv_message_key TYPE
ty_message_key.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DATA : lo_message TYPE
swc_object.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DATA : lt_doc_content TYPE STANDARD
TABLE OF soli-line</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
WITH HEADER LINE.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*----------------------------------------------------------------------*</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*
First derive the Attachment's ( MESSAGE )document type.</SPAN></FONT> <BR><FONT
face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">p_docty =
'MESSAGE'.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">p_msgtyp = 'URL'.</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*----------------------------------------------------------------*</SPAN></FONT>
<o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*
Create an initial instance of BO 'MESSAGE' - to call the</SPAN></FONT> <BR><FONT
face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*
instance-independent method 'Create'.</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_create_object
lo_message 'MESSAGE' lv_message_key.</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* define container to
pass the parameter values to the method call</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* in next
step.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_container
lt_message_container.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* Populate container with parameters
for method</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_set_element lt_message_container
'DOCUMENTTITLE' 'MBO Portal'. " title of your attachement</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_set_element lt_message_container
'DOCUMENTLANGU' 'E'.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_set_element lt_message_container
'NO_DIALOG' 'X'.</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_set_element
lt_message_container 'DOCUMENTNAME' p_docty.</SPAN></FONT> <BR><FONT
face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_set_element lt_message_container
'DOCUMENTTYPE' p_msgtyp.</SPAN></FONT> <o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*
In case of URLs..it should be concatenated with &KEY& in the
begining.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DATA: ilen TYPE i.</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DATA: l_url1(255).</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">CASE p_msgtyp.</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> WHEN 'URL'.</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* fill
link</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> DATA: l_url TYPE
string.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> CALL FUNCTION
'ZMBO_GET_URL_LINK'</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
EXPORTING</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
PLAN_VERSION = OBJECT-KEY-PLANVERSION</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
APPRAISAL_ID = OBJECT-KEY-ID</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
PART_AP_ID = OBJECT-KEY-PARTID</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
IMPORTING</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
L_URL = L_URL.</SPAN></FONT> <BR><FONT
face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> CONCATENATE
'&KEY&' l_url INTO lt_doc_content.</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN lang=FR
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">** lt_doc_content
= '&KEY&</SPAN></FONT><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><A
href="http://www.google.com'"><SPAN
lang=FR>http://www.google.com'</SPAN></A></SPAN></FONT><FONT face=Arial
size=2><SPAN lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
.</SPAN></FONT><SPAN lang=FR> <BR></SPAN><FONT face=Arial size=2><SPAN lang=FR
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> APPEND
lt_doc_content.</SPAN></FONT><SPAN lang=FR> <o:p></o:p></SPAN></P>
<P><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*
In case of Notes or Private Notes, get the data from files on appl</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*
server or from wherever(? - remember background).</SPAN></FONT> <BR><FONT
face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> WHEN
'RAW'.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> lt_doc_content =
'Hi How r u?' .</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> APPEND
lt_doc_content.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* In case of PC File
attachments</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> WHEN OTHERS.</SPAN></FONT>
<BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">ENDCASE.</SPAN></FONT>
<o:p></o:p></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P>
<P><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">*
'DocumentContent' is a multi-line element ( itab ).</SPAN></FONT> <BR><FONT
face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_set_table lt_message_container
'DocumentContent' lt_doc_content.</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* Size is required in
case of File attachments</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DATA : lv_doc_size TYPE
i.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DATA : l_file_lines TYPE
i.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">DESCRIBE TABLE lt_doc_content LINES
l_file_lines.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">READ TABLE lt_doc_content INDEX
l_file_lines.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">lv_doc_size = ( 255 * ( l_file_lines
- 1 ) ) +</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
STRLEN( lt_doc_content ).</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_set_element lt_message_container
'DOCUMENTSIZE' lv_doc_size .</SPAN></FONT> <BR><FONT face=Arial
size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* Refresh to get the
reference of create 'MESSAGE' object for attachment</SPAN></FONT> <BR><FONT
face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_refresh_object
lo_message.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_call_method lo_message 'CREATE'
lt_message_container.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">* Get Key of new
object</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_get_object_key lo_message
lv_message_key.</SPAN></FONT> <o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">COMMIT WORK.</SPAN></FONT>
<o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_create_object lo_message 'SOFM'
lv_message_key.</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">swc_set_element container
'LinkAttachement' lo_message.</SPAN></FONT> <o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">end_method.</SPAN></FONT>
<o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">2.
Bind the task contaienr element to the workflow container element
&_ATTACH_OBJECTS&</SPAN></FONT> <o:p></o:p></P>
<P><FONT face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">3.
In your dialog task bind this &_ATTACH_OBJECTS& of the WF COntainer to
the Task COntainer and voila</SPAN></FONT> <BR><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">the trick is done</SPAN></FONT>
<o:p></o:p></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt">Dimitri Dupont</SPAN></FONT><FONT face=Verdana
color=#cccccc size=1><SPAN
style="FONT-SIZE: 7.5pt; COLOR: #cccccc; FONT-FAMILY: Verdana">
</SPAN></FONT><o:p></o:p></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><o:p> </o:p></SPAN></FONT></P></DIV><p></p><p>**************************** <br>CONFIDENTIALITY NOTICE: The information contained in this message may be confidential, privileged, proprietary, or otherwise legally exempt from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you are not authorized to read, print, retain, copy or disseminate this message, any part of it, or any attachments. If you have received this message in error, please delete this message and any attachments from your system without reading the content and notify the sender immediately of the inadvertent transmission. Thank you for your cooperation.</BODY></HTML>