Using BOR Object as Attribute In ABAP Class

Stevens, Seth Seth.Stevens at anadarko.com
Mon Apr 20 10:08:24 EDT 2009


Mike,

Thanks for the reply.  I assume that you are talking about setting an
initial value in the class and not in the workflow container, if that is
the case I am already doing this.  I have created a constant with
"direct type entry" like below:

BEGIN OF C_BOR_USR01,
  INSTID TYPE SIBFBORIID VALUE IS INITIAL,
  TYPEID TYPE SIBFTYPEID VALUE 'USR01',
  CATID  TYPE SIBFCATID VALUE 'BO',
END OF C_BOR_USR01.

I then created an attribute called TRADER_BOR_USR01 of type SIBFLPORB
and placed the below code in the constructor.

ME->TRADER_BOR_USR01-INSTID = 'MYUSERID'.
ME->TRADER_BOR_USR01-TYPEID = 'USR01'.
ME->TRADER_BOR_USR01-CATID = 'BO'.

The binding editor in the workflow builder shows all the correct
attributes and structure of the USR01 business object so I assume the
editor is reading the correct BO type; however, if I select one of the
attributes and try to use it I get the error.  If you see anything I'm
missing please let me know.

As far as creating a user class, this is something I would like to do.
My only issue is this is our only class based workflow thus far and we
have tons of BOR based workflows.  I don't want to have to maintain all
the custom code associated with the user object in two places.  I guess
I could create a wrapper class for the BO then maintain the code in the
BOR until when/if we convert our old workflows to use the class.
Regardless, I'd still like to figure this problem out for use elsewhere.

Thanks in advance.

--Seth

________________________________

From: sap-wug-bounces at mit.edu [mailto:sap-wug-bounces at mit.edu] On Behalf
Of Mike Pokraka
Sent: Saturday, April 18, 2009 4:35 PM
To: 'SAP Workflow Users' Group'
Subject: RE: Using BOR Object as Attribute In ABAP Class



Hmmm, reading my own post I notice a bit of confusion. Let's try that
second sentence again:

The attribute needs to be populated with an initial value that contains
at least the object class and type.





From: sap-wug-bounces at mit.edu [mailto:sap-wug-bounces at mit.edu] On Behalf
Of Mike Pokraka
Sent: 18 April 2009 20:12
To: 'SAP Workflow Users' Group'
Subject: RE: Using BOR Object as Attribute In ABAP Class



Hi Seth,



The problem is that the binding editor does not know the object type of
your attribute. It needs to have an initial value containing the object
class and type.



However, an SAP user is one of the easiest and most useful objects to
implement as a class. I would suggest going with a ZCL_USER class
instead. Much easier to work with.



Cheers,

Mike





From: sap-wug-bounces at mit.edu [mailto:sap-wug-bounces at mit.edu] On Behalf
Of Stevens, Seth
Sent: 15 April 2009 21:42
To: SAP Workflow Users' Group
Subject: RE: Using BOR Object as Attribute In ABAP Class



As a side note, same thing happens if I try to use an attribute of the
BOR in a binding.  Try to bind ZCL_MKT_TRADE . TRADER_BOR_OBJ . ZEMAIL
to a sendmail step.



--Seth



________________________________

From: sap-wug-bounces at mit.edu [mailto:sap-wug-bounces at mit.edu] On Behalf
Of Stevens, Seth
Sent: Wednesday, April 15, 2009 3:26 PM
To: SAP Workflow Users' Group
Subject: Using BOR Object as Attribute In ABAP Class

I am creating a custom workflow for our marketing group using ABAP
Classes.  The main class I am dealing with is called ZCL_MKT_TRADE.  We
do not have HR implemented and subsequently use BOR object USR01 for
agent assignments in many custom workflows and have a lot of custom
methods and attributes of use to this workflow.

I need to use the trader (user) for several things in the workflow so I
created an attribute on ZCL_MKT_TRADE called TRADER_BOR_OBJ that is of
type BOR Object USR01 as outlined in Jocelyn's SDN BLOG.  I want to use
the trader for the agent assignment on a given workitem.  I use
"Expression" and then select
&ZCL_MKT_TRADE.TRADER_BOR_OBJ.NAMEWITHLEADINGUS& as the expression.
This is available in the dropdown but when I choose it I get an error
saying "NAMEWITHLEADINGUS is not a component of data object
TRADER_BOR_OBJ".

Is it not possible to accomplish what I am trying to do here?  I can
always have the trader attribute on my class simply store the userid of
the trader and then instantiate a separate USR01 BOR Object in my
workflow container to host all the trader details; however, my first
idea seems like better design.

Thanks,
Seth

        <<
                ATT1922862.txt  (0.2KB)

                (0.2KB)
         >>



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/sap-wug/attachments/20090420/26f4009f/attachment.htm


More information about the SAP-WUG mailing list