<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>RE: Exception Handling in ABAP OO and Workflow</TITLE>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2>Hi Alon, </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2>One of the basic rules is you have to obey is that your
class must support interface IF_WORKFLOW. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2>BI_PERSISTENT does not support IF_WORKFLOW. Also as
BI_PERSISTENT is part of the IF_WORKFLOW interface you could run into recursive
scenarios so best to create something completely separate. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2>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??? This is ok to do and lets you pass in any workflow
capable class at runtime. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=224590503-16112006><FONT face=Arial
color=#0000ff size=2>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". </FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV><!-- Converted from text/rtf format -->
<P><SPAN lang=en-us><FONT face=Arial size=1>Regards,</FONT></SPAN> <BR><SPAN
lang=en-us><B><FONT face=Arial color=#000080 size=1>Jocelyn
Dart</FONT></B></SPAN> <BR><SPAN lang=en-us><FONT face=Arial color=#808080
size=1>Senior Consultant</FONT></SPAN> <BR><SPAN lang=en-us><B><FONT face=Arial
color=#808080 size=1>SAP Australia Pty Ltd.</FONT></B></SPAN> <BR><SPAN
lang=en-us><FONT face=Arial color=#808080 size=1>Level 1/168 Walker
St.</FONT></SPAN> <BR><SPAN lang=en-us><FONT face=Arial color=#808080
size=1>North Sydney </FONT></SPAN><BR><SPAN lang=en-us><FONT face=Arial
color=#808080 size=1>NSW, 2060</FONT></SPAN> <BR><SPAN lang=en-us><FONT
face=Arial color=#808080 size=1>Australia</FONT></SPAN> <BR><SPAN
lang=en-us><FONT face=Arial color=#808080 size=1>T +61 412 390
267</FONT></SPAN> <BR><SPAN lang=en-us><FONT face=Arial color=#808080
size=1>M + 61 412 390 267</FONT></SPAN> <BR><SPAN lang=en-us><FONT
face=Arial color=#808080 size=1>E jocelyn.dart@sap.com</FONT></SPAN>
<BR><SPAN lang=en-us><FONT face=Arial color=#808080 size=1><A
href="http://www.sap.com/">http://www.sap.com</A></FONT></SPAN> </P>
<P><SPAN lang=en-au><FONT face="Times New Roman" color=#ff0000 size=1>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. </FONT></SPAN></P>
<P><SPAN lang=en-au><FONT face="Times New Roman" color=#ff0000 size=1>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.</FONT></SPAN></P>
<P><SPAN lang=en-au><FONT face="Times New Roman" color=#ff0000 size=1>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. </FONT></SPAN></P>
<DIV> </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>Alon Raskin<BR><B>Sent:</B>
Thursday, 16 November 2006 8:13 AM<BR><B>To:</B> SAP Workflow Users'
Group<BR><B>Subject:</B> Specifying Interface as Importing
parameter<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV id=idOWAReplyText7406 dir=ltr>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2>Well this Workflow-OO stuff
just gets better and better.</FONT></DIV><FONT face=Arial size=2>
<DIV dir=ltr><BR>It seems that I can not declare a container element of type
<EM>interface</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.</DIV>
<DIV dir=ltr> </DIV>
<DIV dir=ltr>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.</DIV>
<DIV dir=ltr> </DIV>
<DIV dir=ltr>Am I going crazy or is this a big 'hole' in the OO - Workflow
implementation?</FONT></DIV>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2></FONT> </DIV></DIV>
<DIV id=idSignature32163 dir=ltr>
<DIV><FONT face=Arial color=#000000>
<DIV dir=ltr align=left><STRONG>
<DIV dir=ltr align=left><STRONG>
<DIV dir=ltr align=left><STRONG><FONT size=2>Alon Raskin</FONT></STRONG></DIV>
<DIV dir=ltr align=left><STRONG><FONT size=2>e: </FONT></STRONG><A
href="mailto:araskin@3i-consulting.com" target=_blank><STRONG><FONT
size=2>araskin@3i-consulting.com</FONT></STRONG></A></DIV>
<DIV dir=ltr align=left><STRONG><FONT size=2>p: +1 207 523 3489
</FONT></STRONG></DIV>
<DIV dir=ltr align=left><STRONG><FONT size=2><SPAN style="FONT-SIZE: 12pt"><FONT
size=2>c</FONT>: </SPAN>+1 207 409 4983</FONT></STRONG></DIV>
<DIV dir=ltr align=left><STRONG><FONT size=2>f: +1 806 403
4983</FONT></STRONG></DIV>
<DIV dir=ltr align=left><FONT size=2></FONT> </DIV>
<DIV dir=ltr align=left></STRONG></STRONG></FONT><FONT
size=2></FONT> </DIV></DIV></DIV></DIV></DIV></BODY></HTML>