cancel
Showing results for 
Search instead for 
Did you mean: 

How to Execute WebDynpro Applications as Background Job ?

Former Member
0 Kudos

Hi Gurus,

We have developed a lot of WDJ applications with component reusage; ie,

quite a lot of business logic are wrapped in WDJ Components which are

re-used by other WD UIs.

Now we'd like to automate some of the processes with background jobs

and faced with a few problems :

#1. How can we write a background WD application which can be

triggered by external mechanism and without presenting any UI?

#2. If we write the background program in a Java DC, how can we

invoke existing methods in WD components ?

Anyone got a clue ??

Ying-Jie Chen

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Your problem is that you've got business logic embedded in your WDJ Components - that's bad design... Web Dynpro should deal with GUI stuff - business logic should be confined to your EJB layer... where your WDJ Components can have access to them... as well as any other client (either GUI based or background jobs).

But that's probably not what you wanted to hear... hope it helps anyway (maybe for future projects?)

Former Member
0 Kudos

Hello,

> Your problem is that you've got business logic embedded in

> your WDJ Components - that's bad design... Web Dynpro should

> deal with GUI stuff - business logic should be confined to your

> EJB layer... where your WDJ Components can have access to them...

> as well as any other client (either GUI based or background jobs).

We thought about wrapping business logic into EJB layer too; but

since our business logic involves RFC calls to SAP R/3. Using EJB

we then need to go thru lower-level JCo coding; a much more

time-consuming task than using Adaptive RFC models in WD Component.

I'm quite curious which option people will choose as business

logic layer when SAP R/3 RFC invocations are required for

fronend WD UI - EJB or WD Component ?

FYI,

Ying-Jie Chen

Former Member
0 Kudos

Hai,

If you want run some background jobs, like timed services, you can use KM's scheduler task

/people/prakash.singh4/blog/2005/04/20/did-you-know-you-can-schedule-jobs-in-portal-using-kms-scheduler-task

Regards,

Naga

Former Member
0 Kudos

Hello Naga,

We also looked at KM scheduler; but the problem is that we don't know

how to invoke the methods which are wrapped in a WD Component inside

a KM task, Or at least how we can invoke RFC calls to backend SAP R/3 ?

Ying-Jie Chen

Former Member
0 Kudos

Hai ,

you can Invoke RFC Calls by using JCO or SAP Enterprise Connector.

SAP EC can Generate proxies for your RFC. you can use those proxies to execute the BAPi.

This sample guide will help you.

http://help.sap.com/saphelp_nw04/helpdata/en/ed/897483ea5011d6b2e800508b6b8a93/content.htm

Regards,

Naga

Former Member
0 Kudos

Hi Yingjie,

Well I can think of a workaround in this case.If you are aware of the suspend-resume functionality of the WD application then its possible to run the WD application virtually in background.

You'll require to fire the suspend link the passing the URL of the external application to it.Now whenever you require the WD Component you can send a

request back to the WD application which will(invisibily) resume do the operation

and again suspend it back.Finally while closing the external application you will

require to destroy the instance.Your actual application works like a handle :).

If you require to call the WD too frequently this practise is discouraged for

obvious reasons

Otherwise this solves your problem.

Refer to the SAP Netweaver Documentation for more details on suspend resume

plugs for extra details

Also let me know why are you preffering the WD if you dont require its UI

Regards

Amit

Former Member
0 Kudos

Hello Amit,

> Well I can think of a workaround in this case.If you are aware

> of the suspend-resume functionality of the WD application then

> its possible to run the WD application virtually in background.

[ stuffs deleted ...]

It sounds like a possible alternative to our requirement, I'll

spend some time to investigate on the WD suspend-resume mechanism !

> Also let me know why are you preffering the WD if you dont

> require its UI

Our application requires the process to be performed with UI interaction;

with some instances it should be run as a background job. Either case involves

RFC calls to backend SAP R/3 and it's easy for RFC access with WD

Component. Though it's also possible to use CAF application service for

RFC access; due to some technical constrains, we did not use CAF

framework. Therefore it ends up where we are now ...

Thanks for your tip!

Ying-Jie Chen

Former Member
0 Kudos

wat is a background job?

do u mean a backend job..?if so u should do it by using a BAPI...where u could access the backend through the server and develop your webdynpro application for the interface..