<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<html                                                                                                                                                                                                                                         >

<head>

<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">



<title>RE: Exception Handling in ABAP OO and Workflow</title>




<style>
<!--
                       
 font-face
        {font-family:Tahoma;}
font-face
        {font-family:Calibri;}
                        
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p
        {
        margin-right:0cm;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle20
        {
        font-family:Arial;
        color:navy;}

div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue >

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style="FONT-SIZE:
 10pt; COLOR: navy; FONT-FAMILY: Arial">Jocelyn,</span></font></p>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"></SPAN></FONT>&nbsp;</P>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style="FONT-SIZE:
 10pt; COLOR: navy; FONT-FAMILY: Arial">Thank you for your response. When I added the IF_WORKLFOW 
interface it also added the BI_PERSISTENT and BI_OBJECT interfaces. It did that 
because the IF_WORKFLOW interface inherits from those BI_PERSISTENT which in 
turn inherits from BI_OBJECT.</span></font></p>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"></SPAN></FONT><FONT 
face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"></SPAN></FONT>&nbsp;</P>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style="FONT-SIZE:
 10pt; COLOR: navy; FONT-FAMILY: Arial">The 
reason that I chose BI_PERSISTENT was because the interface defines the LPOR 
method. I want to call this method so I can get the ObjectType and Key of 
<STRONG>any</STRONG> instance that is passed into my Workflow. However, it seems 
that the current implementation of the Workflow builder does not allow this. I
have to specify a concrete type and not an interface as the type
definition of my container element. </span></font></p>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Your suggestion of not 
specifying a class (type) worked but still did not give what I want. Ultimately 
I want to take this instance and cast it to a reference of BI_PERSISTENT. It is 
'this' that I can not do and therefore greatly reduces my ability to deal with 
'abstraction' in my design. </SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Very disappointing but 
I am sure that SAP will 'fix' this significant limitation in subsequent 
releases.</SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Regards,</SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"></SPAN></FONT><font size=2 color=navy face=Arial><span style="FONT-SIZE:
 10pt; COLOR: navy; FONT-FAMILY: Arial"></span></font>&nbsp;</P>

<div>

<p class=MsoNormal><a name="_MailAutoSig"><strong><b><font size=3 color=navy
 face=Calibri><span style="FONT-SIZE:
 12pt; COLOR: navy; FONT-FAMILY: Calibri">Alon Raskin</span></font></b></strong><b><font color=navy><span
 style="FONT-WEIGHT: bold; COLOR: navy"></span></font></b></a></p>

<p class=MsoNormal><span ><strong><b><font
 size=3 color=navy face=Calibri><span style="FONT-SIZE:
 12pt; COLOR: navy; FONT-FAMILY: Calibri">e:</span></font></b></strong></span><span
><strong><b ><font
 color=navy face=Calibri><span style="FONT-WEIGHT:
 normal; COLOR: navy; FONT-FAMILY: Calibri"> </span></font></b></strong></span><A
 href="mailto:araskin@3i-consulting.com" ><span ><b
><font face=Calibri><span style="FONT-WEIGHT:
 bold; FONT-FAMILY: Calibri">araskin@3i-consulting.com</span></font></b></span><span
></span></a><span ><b><font
 color=navy><span style="FONT-WEIGHT: bold; COLOR: navy"></span></font></b></span></p>

<p class=MsoNormal><span ><b><font size=3
 color=navy face ="Times New Roman"><span style="FONT-WEIGHT:
 bold; FONT-SIZE: 12pt; COLOR: navy">p: +1 207 523 3489</span></font></b></span></p>

<p class=MsoNormal><span ><b><font size=3
 color=navy face ="Times New Roman"><span style="FONT-WEIGHT:
 bold; FONT-SIZE: 12pt; COLOR: navy">c: +1 207 409 4983</span></font></b></span></p>

<p class=MsoNormal><span ><b><font size=3
 color=navy face ="Times New Roman"><span style="FONT-WEIGHT:
 bold; FONT-SIZE: 12pt; COLOR: navy">f:&nbsp; +1 806 403-4983</span></font></b></span></p>

</div>

<div>

<div class=MsoNormal align=center style="TEXT-ALIGN: center"><font size=3
 face ="Times New Roman"><span style="FONT-SIZE: 12pt">

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style="FONT-WEIGHT:
 bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</span></font></b><font size=2
 face=Tahoma><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
sap-wug-bounces@mit.edu [mailto:sap-wug-bounces@mit.edu] <b><span
 style="FONT-WEIGHT: bold">On Behalf Of </span></b>Dart, Jocelyn<br>
<b><span style="FONT-WEIGHT: bold">Sent:</span></b> 15 November 2006 22:16<br>
<b><span style="FONT-WEIGHT: bold">To:</span></b> SAP
 Workflow Users' Group<br>
<b><span style="FONT-WEIGHT: bold">Cc:</span></b> Janetz, Frank<br>
<b><span style="FONT-WEIGHT: bold">Subject:</span></b> RE: Specifying Interface
as Importing parameter</span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style="FONT-SIZE:
 10pt; COLOR: blue; FONT-FAMILY: Arial">Hi Alon, </span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style="FONT-SIZE:
 10pt; COLOR: blue; FONT-FAMILY: Arial">One of the basic rules is you have to obey
is that your class must support interface IF_WORKFLOW. </span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style="FONT-SIZE:
 10pt; COLOR: blue; FONT-FAMILY: Arial">BI_PERSISTENT does not support
IF_WORKFLOW.&nbsp; Also as BI_PERSISTENT is part of the IF_WORKFLOW interface
you could run into recursive scenarios so best to create something completely
separate. </span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style="FONT-SIZE:
 10pt; COLOR: blue; FONT-FAMILY: Arial">Perhaps what you are looking for is a
container element that is an object type of category ABAP Class but without the
class name specified???&nbsp;&nbsp; This is ok to do and lets you pass in any
workflow capable class at runtime. </span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style="FONT-SIZE:
 10pt; COLOR: blue; FONT-FAMILY: Arial">Widening and narrowing bindings are
possible - make sure you use the arrowhead button to refine the binding rules,
e.g. when narrowing cast you might want to use "handle error as
warning". </span></font></p>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

</div>

<p><font size=1 face=Arial><span style="FONT-SIZE: 7.5pt; FONT-FAMILY: Arial">Regards,</span></font>
<br>
<b><font size=1 color=navy face=Arial><span style="FONT-WEIGHT:
 bold; FONT-SIZE: 7.5pt; COLOR: navy; FONT-FAMILY: Arial">Jocelyn Dart</span></font></b> <br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial">Senior Consultant</span></font> <br>
<b><font size=1 color=gray face=Arial><span style="FONT-WEIGHT:
 bold; FONT-SIZE: 7.5pt; COLOR: gray; FONT-FAMILY: Arial">SAP Australia Pty Ltd.</span></font></b> <br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial">Level 1/168
  Walker St.</span></font> <br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial">North Sydney </span></font><br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial">NSW, 2060</span></font> <br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial">Australia</span></font> <br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial">T&nbsp;&nbsp; +61 412 390 267</span></font> <br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial">M&nbsp;&nbsp; + 61 412 390 267</span></font> <br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial">E&nbsp;&nbsp; jocelyn.dart@sap.com</span></font> <br>
<font size=1 color=gray face=Arial><span style="FONT-SIZE:
 7.5pt; COLOR: gray; FONT-FAMILY: Arial"><a href="http://www.sap.com/">http://www.sap.com</a></span></font>
</p>

<p><font size=1 color=red face="Times New Roman"><span lang=EN-AU
 style="FONT-SIZE: 7.5pt; COLOR: red">The information
contained in or attached to this electronic transmission is confidential and
may be legally privileged. It is intended only for the person or entity to
which it is addressed. If you are not the intended recipient, you are hereby
notified that any distribution, copying, review, retransmission, dissemination
or other use of this electronic transmission or the information contained in it
is strictly prohibited. If you have received this electronic transmission in
error, please immediately contact the sender to arrange for the return of the
original documents. </span></font></p>

<p><font size=1 color=red face="Times New Roman"><span lang=EN-AU
 style="FONT-SIZE: 7.5pt; COLOR: red">Electronic
transmission cannot be guaranteed to be secure and accordingly, the sender does
not accept liability for any such data corruption, interception, unauthorized
amendment, viruses, delays or the consequences thereof.</span></font></p>

<p><font size=1 color=red face="Times New Roman"><span lang=EN-AU
 style="FONT-SIZE: 7.5pt; COLOR: red">Any views expressed
in this electronic transmission are those of the individual sender, except
where the message states otherwise and the sender is authorized to state them
to be the views of SAP AG or any of its subsidiaries. SAP AG, its subsidiaries,
and their directors, officers and employees make no representation nor accept
any liability for the accuracy or completeness of the views or information
contained herein. Please be aware that the furnishing of any pricing information/
business proposal herein is indicative only, is subject to change and shall not
be construed as an offer or as constituting a binding agreement on the part of
SAP AG or any of its subsidiaries to enter into any relationship, unless
otherwise expressly stated. </span></font></p>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

<div class=MsoNormal align=center style="TEXT-ALIGN: center"><font size=3
 face ="Times New Roman"><span style="FONT-SIZE: 12pt">

<hr size=2 width="100%" align=center tabIndex=-1>

</span></font></div>

<p class=MsoNormal style="MARGIN-BOTTOM: 12pt"><b><font size=2 face=Tahoma><span
 style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</span></font></b><font
 size=2 face=Tahoma><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
sap-wug-bounces@mit.edu [mailto:sap-wug-bounces@mit.edu] <b><span
 style="FONT-WEIGHT: bold">On Behalf Of </span></b>Alon Raskin<br>
<b><span style="FONT-WEIGHT: bold">Sent:</span></b> Thursday, 16 November 2006
8:13 AM<br>
<b><span style="FONT-WEIGHT: bold">To:</span></b> SAP
 Workflow Users' Group<br>
<b><span style="FONT-WEIGHT: bold">Subject:</span></b> Specifying Interface as
Importing parameter</span></font></p>

<div id=idOWAReplyText7406>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style="FONT-SIZE:
 10pt; COLOR: black; FONT-FAMILY: Arial">Well this Workflow-OO stuff just gets
better and better.</span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style="FONT-SIZE:
 10pt; FONT-FAMILY: Arial"><br>
It seems that I can not declare a container element of type <em><i><font
 face=Arial><span style="FONT-FAMILY: Arial">interface</span></font></i></em>.
The workflow editor requires a concrete type and will not allow me to specify
an element whose type is an interface. The way I see it, this basically blows
away any polymorphic behaviour within Workflow and greatly reduces the benefits
of using OO in SAP Workflow (feel free to let me know that I am over reacting).
To make things worse I can achieve this using the old BOR by simply not
specifying a type.</span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style="FONT-SIZE:
 10pt; FONT-FAMILY: Arial"></span></font>&nbsp;</p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style="FONT-SIZE:
 10pt; FONT-FAMILY: Arial">Before you ask, here is what I am trying to achieve, I am
creating a workflow which should be able to accept any instance of a class
which implements the BI_PERSISTENT interface. However, when I define my
importing container element I am given an error that tells me that I can not
specify a container element of type BI_PERSISTENT and must specify a concrete
type.</span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style="FONT-SIZE:
 10pt; FONT-FAMILY: Arial"></span></font>&nbsp;</p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style="FONT-SIZE:
 10pt; FONT-FAMILY: Arial">Am I going crazy or is this a big 'hole' in the OO -
Workflow implementation?</span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

</div>

</div>

<div id=idSignature32163>

<div>

<p class=MsoNormal><strong><b><font size=2 color=black face=Arial><span
 style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">Alon Raskin</span></font></b></strong><b><font
 color=black face=Arial><span style="FONT-WEIGHT:
 bold; COLOR: black; FONT-FAMILY: Arial"></span></font></b></p>

<p class=MsoNormal><strong><b><font size=2 color=black face=Arial><span
 style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">e: </span></font></b></strong><b><font
 color=black face=Arial><span style="FONT-WEIGHT:
 bold; COLOR: black; FONT-FAMILY: Arial"><A href="mailto:araskin@3i-consulting.com" target=_blank><strong><b><font
 size=2 face=Arial><span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">araskin@3i-consulting.com</span></font></b></strong></a></span></font></b></p>

<p class=MsoNormal><strong><b><font size=2 color=black face=Arial><span
 style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">p: +1 207 523 3489 </span></font></b></strong><b><font
 color=black face=Arial><span style="FONT-WEIGHT:
 bold; COLOR: black; FONT-FAMILY: Arial"></span></font></b></p>

<p class=MsoNormal><strong><b><font size=2 color=black face=Arial><span
 style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">c</span></font></b></strong><strong><b><font
 color=black face=Arial><span style="COLOR: black; FONT-FAMILY: Arial">: </span></font></b></strong><strong><b><font
 size=2 color=black face=Arial><span style="FONT-SIZE:
 10pt; COLOR: black; FONT-FAMILY: Arial">+1 207 409 4983</span></font></b></strong><b><font color=black
 face=Arial><span style="FONT-WEIGHT: bold; COLOR: black; FONT-FAMILY: Arial"></span></font></b></p>

<p class=MsoNormal><strong><b><font size=2 color=black face=Arial><span
 style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">f:&nbsp; +1 806 403 4983</span></font></b></strong><b><font
 color=black face=Arial><span style="FONT-WEIGHT:
 bold; COLOR: black; FONT-FAMILY: Arial"></span></font></b></p>

<p class=MsoNormal><b><font size=3 color=black face=Arial><span
 style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial"></span></font></b>&nbsp;</p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style="FONT-SIZE:
 12pt"></span></font>&nbsp;</p>

</div>

</div>

</div>

</body>

</html>