SAP-WUG Digest, Vol 50, Issue 43

Florin Wach florin.wach at gmx.net
Thu Jan 15 03:09:31 EST 2009


actually: it DOES. When you assign the returned instance to the workflow container, it's stored there in the LPOR format (concatenated primary key).
When you had another step after the first one, using the instance, you'll pass that container element again to the task and to the object's instance method: At that particular time, the class is instantiated through the find_by_lpor method.   (Because this could happen several times during one instance of the workflow execution, it is recommended to implement some caching algorithm for class instances, for example as described in Jocelyn's ABAP OO Workflow whitepaper document).

You can investigate this behaviour by setting a break-point within this method, and an additional endless loop like:
   DO. IF sy-subrc = 99. EXIT. ENDIF. ENDDO.

When you start your workflow manually by transaction SWUS, you'll either be stopped by the frontend debugger, or you'll find your method hanging in the workprocess monitor (transaction SM50). From there you can mark you process and choose to debug it, change sy-subrc to value 99 and continue as you wish.


Best wishes,
   Florin

-------- Original-Nachricht --------
> Datum: Wed, 14 Jan 2009 13:38:33 -0500
> Von: "Simon, Tom" <Simon.Tom at aoins.com>
> An: sap-wug at mit.edu
> Betreff: RE: SAP-WUG Digest, Vol 50, Issue 43

> Florin:
> Thank you.  I added a step to instantiate the object and passed it as
> parameter to the next step and it works.
> I was under the impression that the method bi_persistent~find_by_lpor
> had something to do with creating the instance.
> 
>  
> 
> -----Original Message-----
> From: sap-wug-bounces at mit.edu [mailto:sap-wug-bounces at mit.edu] On Behalf
> Of sap-wug-request at mit.edu
> Sent: Wednesday, January 14, 2009 1:17 PM
> To: sap-wug at mit.edu
> Subject: SAP-WUG Digest, Vol 50, Issue 43
> 
> Send SAP-WUG mailing list submissions to
> 	sap-wug at mit.edu
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://mailman.mit.edu/mailman/listinfo/sap-wug
> or, via email, send a message with subject or body 'help' to
> 	sap-wug-request at mit.edu
> 
> You can reach the person managing the list at
> 	sap-wug-owner at mit.edu
> 
> When replying, please edit your Subject line so it is more specific than
> "Re: Contents of SAP-WUG digest..."
> 
> 
> Today's Topics:
> 
>    1. Re: ABAP OO - OBJECT NOT INSTANTIATED (Florin Wach (gmx))
>    2. Do I need to run program RPTARQPOST for updating the backend
>       Infotypes ? (Vijayendra Rao (Absoft))
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Wed, 14 Jan 2009 18:33:43 +0100
> From: "Florin Wach (gmx)" <florin.wach at gmx.net>
> Subject: Re: ABAP OO - OBJECT NOT INSTANTIATED
> To: "SAP Workflow Users' Group" <sap-wug at mit.edu>
> Message-ID: <89CC43E206C74E3192F5C4792CCA2F85 at SI.local>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Hi,
> 
> 1. There's a dataflow missing from wf_container to task_container
> z_cl_liv_assets --> _wi_object_id
> 
> 2. You'll need an instantiation method that you have a class instance
> before executing the task.
> Example
> z_cl_liv_assets=>get_instance( importing im_beln, im_bukrs) exporting
> class instance as instance independent method.
> Create a new task step that executes that method. do not use a simple
> container operation.
> 
> The rest looks good.
> 
> Yours,
>    Florin
> 
>   ----- Original Message -----
>   From: Simon, Tom
>   To: sap-wug at mit.edu
>   Sent: Wednesday, January 14, 2009 3:56 PM
>   Subject: ABAP OO - OBJECT NOT INSTANTIATED
> 
> 
>   I am using a method in a class(z_cl_liv_assets) that I created for a
> workflow task.  The object does not get instantiated by the workflow.  I
> have read all the blogs by Jocelyn Dart and wondered if anyone could
> look over my structures and provide insight into why it does not work.
> When I test the instant constructor and pass in the doc num and company
> code it works. If I pass the import parameters directly to the method it
> works.  But if I try to use the instant attributes it does not work
> created by the constructor it does not work. 
>   When I test the task in swus it does not instantiate the object?
>   Any help is apprecitated?
> 
>   Thank you,
> 
>   Tom Simon
> 
> 
>   Bindings in the task to class z_cl_liv_assets~retrieve_anek:
> 
>   wf container   task container
>   docnum         -> im_belnr
>   company code   -> im_bukrs
>   ex_anek        <- ex_anek
>   z_cl_liv_assets <- wi_object_id
> 
>   bindings from task to method retrieve_anek.
> 
>   im_belnr to im_belnr
>   im_bukrs to im_bukrs
> 
>   Class: z_cl_liv_assets;
>   Attributes:
> 
>    BELNR               InstanPubl         Type    ANEK-BELNR         
>    BUKRS               InstanPubl         Type    ANEK-BUKRS         
>    T_ANEK              InstanPubl         Type    FAA_T_ANEK         
>    M_POR               InstanProt         Type    SIBFLPOR           
>    GJAHR               InstanPubl         Type    ANEK-GJAHR      
> 
>    Methods:
> 
>   Parameters: 
>   LPOR Importing Type SIBFLPOR
>   RESULT Returning Type Ref To BI_PERSISTENT
> 
>     METHOD bi_persistent~find_by_lpor.
> 
>     DATA: lv_liv_doc TYPE anek-belnr,
>           lv_liv_co  TYPE anek-bukrs.
> 
>     MOVE lpor-instid(10)     TO lv_liv_doc.
>     MOVE lpor-instid+10(4)   TO lv_liv_co.
> 
>     CREATE OBJECT result
>       TYPE
>         z_cl_liv_assets
>       EXPORTING
>         im_belnr        = lv_liv_doc
>         im_bukrs        = lv_liv_co.
> 
> 
>   ENDMETHOD. 
> 
>     Parameters:RESULT Returning Type SIBFLPOR
>      METHOD bi_persistent~lpor.
> 
>     DATA: lpor TYPE sibflpor.
> 
>     lpor-catid = 'CL'.
>     lpor-typeid = 'Z_CL_LIV_ASSETS'.
>     CONCATENATE me->belnr me->bukrs INTO lpor-instid.
>     result = lpor.
>   ENDMETHOD. 
> 
>   parameters:
>   IM_BELNR Type ANEK-BELNR
>   IM_BUKRS Type ANEK-BUKRS
>     METHOD constructor.
>     me->belnr = im_belnr.
>     me->bukrs = im_bukrs.
>     me->M_por-catid = 'CL'.
>     me->M_por-typeid = 'z_cl_liv_assets'.
>     CONCATENATE me->belnr me->bukrs INTO me->M_por-instid.
>   *  me->m_por-instid = me->belnr.
> 
>   ENDMETHOD. 
>   Parameters: 
>   EX_ANEK Exporting Type FAA_T_ANEK
>   METHOD retrieve_anek.
> 
>     CALL FUNCTION 'ANEK_READ_MULITPLE'
>       EXPORTING
>         i_belnr = me->belnr
>         i_bukrs = me->bukrs
>       TABLES
>         t_anek  = ex_anek.
> 
>     IF sy-subrc = 0.
>       me->t_anek = ex_anek.
>     ENDIF.
> 
>   ENDMETHOD. 
> 
> 
> 
> ------------------------------------------------------------------------
> ------
> 
> 
>   _______________________________________________
>   SAP-WUG mailing list
>   SAP-WUG at mit.edu
>   http://mailman.mit.edu/mailman/listinfo/sap-wug
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://mailman.mit.edu/pipermail/sap-wug/attachments/20090114/7117f47c/a
> ttachment-0001.htm
> 
> ------------------------------
> 
> Message: 2
> Date: Wed, 14 Jan 2009 18:16:26 -0000
> From: "Vijayendra Rao (Absoft)" <vrao at absoft.co.uk>
> Subject: Do I need to run program RPTARQPOST for updating the backend
> 	Infotypes ?
> To: <sap-wug at mit.edu>
> Message-ID:
> 	
> <2C9B4CD8BAE97847924AF9B2233248C7DDAA25 at absm01.aberdeen.absoft.co.uk>
> Content-Type: text/plain; charset="us-ascii"
> 
> Hi Guys,
> 
>  
> 
> I am new to workflow so apologies if I am missing something here... 
> 
>  
> 
>  
> 
> *         Problem Statement(Issue): 
> 
> We are using Leave request through Portal and we use Workflow WS12300111
> 
> 
>  
> 
> Process
> 
> 1.      Leave is requested in the portal 
> 
> 2.      Manger gets the request in his login
> 
> 3.      approves / reject the request 
> 
> 4.      employee gets the feed back in the portal
> 
>  
> 
>  
> 
>                 The portal is updated, however if I go and see the
> back-end system (Absence infotype 2001) Its not updated. 
> 
>  
> 
>  
> 
> -        Later after some search on the internet, I found a program
> RPTARQPOST. I executed the program RPTARQPOST and it seems to be
> updating the backend.  
> 
>  
> 
>  
> 
> My Question:
> 
> -         Do I need to schedule this program in the background? Is this
> how workflow works on ESS? 
> 
> -         Am I missing some link between the config and the workflow
> development? 
> 
> -         Am I using the correct workflow? 
> 
>  
> 
>  
> 
> Thanks in advance for your inputs. 
> 
>  
> 
> Kind Regards, 
> 
> Vijay
> 
>  
> 
>  
> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://mailman.mit.edu/pipermail/sap-wug/attachments/20090114/54f1ae14/a
> ttachment.htm
> 
> ------------------------------
> 
> _______________________________________________
> SAP-WUG mailing list
> SAP-WUG at mit.edu
> http://mailman.mit.edu/mailman/listinfo/sap-wug
> 
> 
> End of SAP-WUG Digest, Vol 50, Issue 43
> ***************************************
> 
> 
> 
> _______________________________________________
> SAP-WUG mailing list
> SAP-WUG at mit.edu
> http://mailman.mit.edu/mailman/listinfo/sap-wug



More information about the SAP-WUG mailing list