<div>G'day Jocelyn,</div><div> </div><div>Yep, when I created the Sub-class I selected the 'with Message Class' option which included the interface. I don't quite understand the use of the Interface as I don't need to do anything with it. I haven't reimplemented the GET_TEXT method. Within normal ABAP if I raise and catch an exception, the standard GET_TEXT will correctly resolve the message variable into appropriate text.</div>
<div> </div><div>My harness is as follows:</div><div><font color="#0000ff"><font color="#0000ff"><p>REPORT</p></font><p></p></font><p><font>Z_PYC_EXCEPTION</font><font color="#800080"><font color="#800080">.</font></font><font><br>
<br>
</font><font color="#0000ff"><font color="#0000ff">data</font></font><font color="#800080"><font color="#800080">:</font></font><font><br>
lr_cx </font><font color="#0000ff"><font color="#0000ff">TYPE REF TO </font></font><font>zcx_awi_wf_temp_trim</font><font color="#800080"><font color="#800080">,</font></font><font><br>
lv_msg </font><font color="#0000ff"><font color="#0000ff">type </font></font><font>string</font><font color="#800080"><font color="#800080">.</font></font><font><br>
<br>
</font><font color="#0000ff"><font color="#0000ff">try</font></font><font color="#800080"><font color="#800080">.</font></font><font><br>
</font><font color="#0000ff"><font color="#0000ff">perform </font></font><font>sub1</font><font color="#800080"><font color="#800080">.</font></font><font><br>
</font><font color="#0000ff"><font color="#0000ff">catch </font></font><font>zcx_awi_wf_temp_trim </font><font color="#0000ff"><font color="#0000ff">INTO </font></font><font>lr_cx</font><font color="#800080"><font color="#800080">.</font></font><font><br>
</font><font color="#0000ff"><font color="#0000ff">call method </font></font><font>lr_cx</font><font color="#808080"><font color="#808080">-></font></font><font>if_message</font><font color="#808080"><font color="#808080">~</font></font><font>get_text<br>
receiving<br>
result </font><font color="#800080"><font color="#800080">= </font></font><font>lv_msg</font><font color="#800080"><font color="#800080">.</font></font><font><br>
</font><font color="#0000ff"><font color="#0000ff">write</font></font><font color="#800080"><font color="#800080">:</font></font><font>/ lv_msg</font><font color="#800080"><font color="#800080">.</font></font><font><br>
</font><font color="#0000ff"><font color="#0000ff">ENDTRY</font></font><font color="#800080"><font color="#800080">.</font></font><font><br>
<br>
</font><font color="#0000ff"><font color="#0000ff">form </font></font><font>SUB1 </font><font color="#0000ff"><font color="#0000ff">RAISING </font></font><font>zcx_awi_wf_temp_trim</font><font color="#800080"><font color="#800080">.</font></font><font><br>
</font><font color="#0000ff"><font color="#0000ff">data</font></font><font color="#800080"><font color="#800080">:</font></font><font><br>
lv_m1 </font><font color="#0000ff"><font color="#0000ff">type </font></font><font>symsgv</font><font color="#800080"><font color="#800080">.</font></font><font><br>
<br>
lv_m1 </font><font color="#800080"><font color="#800080">= </font></font><font color="#4da619"><font color="#4da619">'BUS2013'</font></font><font color="#800080"><font color="#800080">.</font></font><font><br>
</font><font color="#0000ff"><font color="#0000ff">RAISE </font></font><font>EXCEPTION </font><font color="#0000ff"><font color="#0000ff">TYPE </font></font><font>zcx_awi_wf_temp_trim<br>
</font><font color="#0000ff"><font color="#0000ff">EXPORTING</font></font><font><br>
textid </font><font color="#800080"><font color="#800080">= </font></font><font>zcx_awi_wf_temp_trim</font><font color="#808080"><font color="#808080">=></font></font><font>invalid_business_object_type<br>
mv1 </font><font color="#800080"><font color="#800080">= </font></font><font>lv_m1</font><font color="#800080"><font color="#800080">.</font></font><font><br>
<br>
</font><font color="#0000ff"><font color="#0000ff">endform</font></font><font color="#800080"><font color="#800080">. </font></font><i><font color="#808080"><font color="#808080">" SUB1</font></font></i></p>
<i><font color="#808080"><font color="#808080"></font></font></i><font color="#808080"><font color="#808080"></font></font></div><div> </div><div>It gives:</div><div>BUS2013 is an invalid Business Object Type</div><div> </div>
<div>When included into WF, the Step History shows:</div><div>MV1 is an invalid Business Object Type </div><div> </div><div>I'm just not sure if WF is doing something other than calling GET_TEXT and therefore missing the T100 logic. I know that the CX_BO_TEMPORARY doesn't include the T100 interface and so the WF code won't be expecting to do anything with it, but just having the interface linked is enough from some snippets I've read. WF runtime should be able to call GET_TEXT without needing to know about T100 explicitly....???</div>
<div> </div><div>Any advice appreciated.</div><div> </div><div>Have fun,</div><div>Mark</div><div> </div><div> </div><div class="gmail_quote">On 15 February 2012 15:41, Dart, Jocelyn <span dir="ltr"><<a href="mailto:jocelyn.dart@sap.com">jocelyn.dart@sap.com</a>></span> wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote"><div lang="EN-AU" vlink="purple" link="blue"><div><p class="MsoNormal">
<span style="color:rgb(31,73,125);font-family:"Calibri","sans-serif";font-size:11pt">Hi Mark, <u></u><u></u></span></p><p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:"Calibri","sans-serif";font-size:11pt">I’ve not tried IF_T100_MESSAGE – are you able to add it to your exception class and call a method or function module to create the message text from the GET_TEXT method? <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:"Calibri","sans-serif";font-size:11pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:"Calibri","sans-serif";font-size:11pt">There are heaps of function modules that do it... I seem to recall I used one of the BAL_LOG_ ones... <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:"Calibri","sans-serif";font-size:11pt">Regards,<u></u><u></u></span></p><p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:"Calibri","sans-serif";font-size:11pt">Jocelyn<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:"Calibri","sans-serif";font-size:11pt"><u></u> <u></u></span></p><div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) currentColor currentColor;padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span style="font-family:"Tahoma","sans-serif";font-size:10pt" lang="EN-US">From:</span></b><span style="font-family:"Tahoma","sans-serif";font-size:10pt" lang="EN-US"> <a href="mailto:sap-wug-bounces@mit.edu" target="_blank">sap-wug-bounces@mit.edu</a> [mailto:<a href="mailto:sap-wug-bounces@mit.edu" target="_blank">sap-wug-bounces@mit.edu</a>] <b>On Behalf Of </b>Mark Pyc<br>
<b>Sent:</b> Wednesday, 15 February 2012 12:53 PM<br><b>To:</b> WUG<br><b>Subject:</b> Exception Classes which use T100 Message - IF_T100_MESSAGE<u></u><u></u></span></p></div><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p>
<div><p class="MsoNormal">G'day Wuggers,<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Is it possible to utilise T100 based exceptions within WF? <u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">I've created an sub-class of CX_BO_TEMPORARY and included an Exception ID which is based on a T100 message including variables. I've extended my class to have additional attributes for passing in data (MV1, MV2, MV3, MV4 all like SYMSGV) which are then referenced as appropriate in the pop-up for assigning a T100 message to the Exception ID. <u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">When I raise the exception, I pass in the additional parameters.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div>
<div><p class="MsoNormal">If I test this via a simple harness program, the text of the message is resolved correctly.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">When I integrate into WF, the variable isn't resolved and remains as MV1 in the text of the WF log. <u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">I've seen some prior posts from Jocelyn that suggest adding a BAPIRET2 based table and redefining the GET_TEXT method to offer the ability of passing multiple messages with a single exception. Is this necessary to even handle a basic scenario?<u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">I've found OSS note 1671428 (yet to be translated) which looks promising but am waiting for it to be applied to the system. However in thinking it through further I doubt it will change anything since CX_BO_TEMPORARY doesn't implement IF_T100_MESSAGE.<u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Can anyone confirm if the T100 based exceptions are possible in WF, or do I need to go down the path of redefining GET_TEXT as suggested by Jocelyn?<u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Many thanks,<br>Mark<u></u><u></u></p></div></div></div></div></div><br>_______________________________________________<br>
SAP-WUG mailing list<br>
<a href="mailto:SAP-WUG@mit.edu">SAP-WUG@mit.edu</a><br>
<a href="http://mailman.mit.edu/mailman/listinfo/sap-wug" target="_blank">http://mailman.mit.edu/mailman/listinfo/sap-wug</a><br>
<br></blockquote></div><br>