cancel
Showing results for 
Search instead for 
Did you mean: 

POWL Easy and Portal Actions

Former Member
0 Kudos

Does anybody know if you can trigger a Portal Action in the method IF_POWL_EASY_FEEDER~POWL_ACTION of POW_EASY?

I don't see the parameter E_PORTAL_ACTIONS in this method.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Any help document for POWL?

Edited by: sk123456 on Nov 15, 2010 6:22 AM

Former Member
0 Kudos

Hello,

in the POWL Easy Configuration you can indeed name only one parameter that consist of a concatenation of several values. The concatenation is done with option RESPECTING BLANKS and thus you might get a lot of spaces (%20) in your URL. This is necessary so the receiving application can divide this one big string into several parameters again. You can also specify the name of the WebDynpro application. The idea is that (in the "easy" and thus simple way) the name of the application also identifies the action and the parameter contains the object key the action operates on. Thus you need several applications for one component.

For example, if you have a component BOOKING dealing with flight bookings that you want to start from a POWL, you need an application BOOKING_DISPLAY and BOOKING_EDIT assigned to your component BOOKING.

If your application is more complex or you want to call existing applications that doesn't work this way (there is only one application that requires different parameters) you still don't need to create your own feeder from scratch. Just use Easy-POWL but don't define parameters. Instead redefine the feeder method HANDLE_ACTION. In the redefinition you call the super class method (just uncomment the automatically suggested coding) and then modify E_PORTAL_ACTIONS-PARAMETERS. Here you can append all the parameters you like, e.g. the configuration ID. Note: This must be done in a special way as the underlying webDynpro component POWL_EASY interprets these parameters. The KEY must always contain 'EASY_POWL_WDPARAM' while the VALUE contains '<Parameter name>=<Parameter value>'. Example:

LS_PARAMETERS-KEY = 'EASY_POWL_WDPARAM'.

LS_PARAMETERS-VALUE = 'sap-wd-configId=BOOKING_CFG'.

The navigation that is done by the framework depends on the client your application is running on:

If you are not in the Portal or Netweaver Business Client, the webdynpro application you have configured will be called.

If you are in the portal an OBN naviagtion must be configured in the portal that points to your target application. The configured application name is used as OBN name. This means you could define an application name that doesn't exist as application as long as you have an OBN with that name. however, to be able to test and use the application without the portal, I recommend to use an OBN name identical to the application. To make the navigation work you need to provide the system name which is an input parameter to the POWL_EASY WebDynpro component. This is done when defining the portal content.

If you are in the NWBC you also need an OBN similar as described above. However, the portal content is not used, instead you need to set up a PFCG role. To define an OBN there you need a business object (transaction SWO1) that has a method of the same name as the WD-application you defined as target in the Easy-POWL action. The parameters of this method must match the parameters you provide in the feeder. When setting up the role in PFCG you map that method and its parameters to the WD-application you want to start. Like described above for the portal the application name defined in Easy-POWL does not have to match the application you want to start, but it less confusing if you choose the same name.

I hope i got this all correct out of my mind and it will help you to understand Easy-POWL a bit better.

Best regards,

Cedric

Edited by: Cedric Reinartz on Nov 12, 2010 2:38 PM

ChrisPaine
Active Contributor
0 Kudos

Hi,

if you look in the handler (IF_POWL_FEEDER implementation) of the Easy POWL - CL_POWL_EASY_FEEDER you can see in the handle action method that a couple of portal actions do get triggered - but not to anything that you can configure!

However, you can configure it to launch a new WD application, and this application could trigger a portal event...

It is worth noting however, that the POWL Easy Feeder logic uses SHMA to transport data between applications and the implementation of the Shared memory area that it uses does not transport data across multiple application servers. Launching a new application - there is no guarantee that it will be run on the same app server if your system is load balancing across multiple servers.

Now, I'd think that this ought to be something that SAP provides a fix for - but as of currently (EhP4) I cannot see any standard application that actually receives data from the Easy POWL app launch - so reproducing the error in standard SAP would be difficult, and I can imagine you'd have a long drawn out conversation with support to convince them that this was an error in the framework.

If you're looking to do things like launch your portal event from your POWL - I think you'd probably be better off writing your own feeder implementation.

Cheers,

Chris

Former Member
0 Kudos

>

> Hi,

>

> if you look in the handler (IF_POWL_FEEDER implementation) of the Easy POWL - CL_POWL_EASY_FEEDER you can see in the handle action method that a couple of portal actions do get triggered - but not to anything that you can configure!

>

> However, you can configure it to launch a new WD application, and this application could trigger a portal event...

>

> It is worth noting however, that the POWL Easy Feeder logic uses SHMA to transport data between applications and the implementation of the Shared memory area that it uses does not transport data across multiple application servers. Launching a new application - there is no guarantee that it will be run on the same app server if your system is load balancing across multiple servers.

>

> Now, I'd think that this ought to be something that SAP provides a fix for - but as of currently (EhP4) I cannot see any standard application that actually receives data from the Easy POWL app launch - so reproducing the error in standard SAP would be difficult, and I can imagine you'd have a long drawn out conversation with support to convince them that this was an error in the framework.

>

> If you're looking to do things like launch your portal event from your POWL - I think you'd probably be better off writing your own feeder implementation.

>

> Cheers,

>

> Chris

Thanks Chris. I figured I would be able to call a WDA, and then have the WDA trigger a portal event, and I have this working. In our version 7.01, you don't have to use Shared Objects. There is a checkbox to disable that. However, you can only pass one attribute (the key) to the WDA app. That key can be a bunch of concenated fields, but have not figured out how to pass the event yet (other than nameing the parameter id in such a way that I know what was pressed).