ABAP-OO Workflow Rule Resolution

Mike Gambier madgambler at hotmail.com
Wed Sep 10 11:51:40 EDT 2008


Florin,
 
Any reason why a container based on ABAP_PARMBIND_TAB couldn't be used here instead?
 
Mike GT> Date: Wed, 10 Sep 2008 16:14:52 +0200> From: florin.wach at gmx.net> Subject: ABAP-OO Workflow Rule Resolution> To: sap-wug at mit.edu> > Hi Wuggies,> > I have just stumbled over an issue with the rule resolution by "function module" using ABAP-OO, as the container is not passed as a reference to IF_SWF_CNT_CONTAINER nor as a persistent XML-reference (as the check and receiver function modules do). So there's currently a small GAP.> > > The requirement was, to pass the persistent object reference (structure SIBFLPOR) and/or the object instance (TYPE REF TO ---type---) to the role-container (AC_CONTAINER).> > The straightforward(?) solution was:> - Create a container element "LPOR" with struct-reference to type SIBFLPOR> - Create a public attribute MS_LPOR and assign this in the binding to the rule (Releasable->MS_LPOR --> LPOR)> > A little bit of a suprise was, that the binding checks returns with an error, saying that that assignment is just incompatible. That was true in the way, that the instance-attribute MS_LPOR was treated as it was a TYPE-REF-TO definition. So the only eligible target type for the binding was a TYPE-REF-TO definition.> > However. I have changed the container stuff and now having a new element RELEASALBE with a TYPE-REF-TO definition and within the dataflow I just pass the _wi_object_id itself. Now the binding checks is fine.> > On runtime now, the following coding will /not/ work, to retrieve the object instance:> > DATA: releasable TYPE REF TO Z_CL_RELEASABLE.> swc_get_element ac_container 'Releasable' releasable.> > Because the "new" ABAP-OO elements are passed in a way, that the old BOR-container macros cannot work with.> > On the other hand, the rule interface does not (!) provide the ac_container as an object referring to IF_SWF_CNT_CONTAINER (or something like this).> > So this is, how it works:> > Create a new import parameter (optional, pass-value) for future use:> ACTOR_CONTAINER_OO TYPE REF TO IF_SWF_CNT_CONTAINER Container: Implementing Class> > > "... further in coding> > * The ABAP-OO container object is currently not designed by SAP. This> * part is not yet fully compatible to the new ABAP-OO-Workflow.> * Therefore we will help ourself here and create it backwards from> * the BOR-container.> * If the interface is correctly(!) used in the future, then we will> * also use, what the standard gives us.> IF actor_container_oo IS INITIAL.> CALL METHOD CL_SWF_CNT_CONTAINER=>IF_SWF_CNT_CONVERSION~CREATE_FROM_BOR_CONTAINER> EXPORTING> values = ac_container[]> RECEIVING> container = actor_container_oo.> ENDIF.> > DATA: releasable_oo TYPE REF TO Z_CL_RELEASABLE.> swf_get_element actor_container_oo 'Releasable' lo_releasable.> "no it's fine :-)> IF NOT sy-subrc EQ 0.> "Handle exceptions here> ENDIF.> > > > Take care,> Florin> _______________________________________________> SAP-WUG mailing list> SAP-WUG at mit.edu> http://mailman.mit.edu/mailman/listinfo/sap-wug
_________________________________________________________________
Make a mini you and download it into Windows Live Messenger
http://clk.atdmt.com/UKM/go/111354029/direct/01/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/sap-wug/attachments/20080910/fd41e645/attachment.htm


More information about the SAP-WUG mailing list