cancel
Showing results for 
Search instead for 
Did you mean: 

RSPC_API_CHAIN_START in background how to get the e_logid

Former Member
0 Kudos

Hello to all

We use   in the web or excel front end a planning function, which is started by the
end user. The planning function  starts a process chain through function module

RSPC_API_CHAIN_START

We start the function module in ‘background task’

…CALL FUNCTION RSPC_API_CHAIN_START IN BACKGROUND TASK..

This is to avoid popupsm which pop ups when the fb is started in dialog.

My issue here is, that the addition in background task’ doesn’t allow the importing parameter e_logid.

Thus I don’t know how to discover the status of the process chain and inform then the end-user about the status of the chain.

So please if someone has a good idea and way how to get the status of the process chain, I would be happy to get your feedback

Thanks a lot

Christian

Accepted Solutions (1)

Accepted Solutions (1)

matt
Active Contributor
0 Kudos

One way is to interrogate the latest records written to the RSPC_CHAIN_LOG (or similar, sorry don't have a session open at the moment), and find the most recent LOGID for the chain name. This is how SAP do it.

Another way is to create your own function module that runs in background. What it does is launch the chain using the standard CALL FUNCTION MODULE and retrieves the logid. Then write the logid and process chain name into your own table.

Another way that might work, not tried it, is to use CALL FUNCTION MODULE ... STARTING NEW TASK CALLING meth (PERFORMING form) . This allows you to WAIT until the FM is finished, and runs the method meth, or the FORM form, which RECEIVES the e_logid.

Former Member
0 Kudos

Hello Matthew

  

It has taken some days to do the homework:

   

- Option 1: I think that it works fine, whenever the back ground Job starts immediate.
A concern on my side on that approach is, when a background Job is delayed.
Then the select statement on the table RSPCLOGCHAIN - contains the Status G, R,
X etc of the process chain- has to be delayed too.

   - Option 2: is for me similar as Option 1.  I don't know the log-id neither afterwards to
read own table.  Perhaps the executing user
and process chain name is sufficient to write into the table.

- Option 3: This is t0o sophisticated to me as I am not a pure developer. But
it seems that this goes into the right way.

Best regards and thanks for your valuable thoughts

Christian

Answers (1)

Answers (1)

Former Member
0 Kudos

Christian Baumann wrote:

 

My issue here is, that the addition in background task’ doesn’t allow the importing parameter e_logid.

Why should this not be possible? See ABAP Help for the info:

CALL FUNCTION func IN BACKGROUND TASK

                   [AS SEPARATE UNIT]

                   [DESTINATION dest]

                   parameter_list.

-->

Beim transaktionalen Aufruf wird der Name der aufgerufenen Funktion zusammen mit

der Destination und den in parameter_list übergebenen Aktualparametern für die

aktuelle SAP-LUW in den Datenbanktabellen ARFCSSTATE und ARFCSDATA des aktuellen AS
ABAP
unter einer eindeutigen Transaktionskennung registriert (Abkürzung TID,

abgelegt in einer Struktur vom Typ ARFCTID aus dem ABAP Dictionary, Ansicht über

Transaktion SM58). Das aufrufende Programm wird nach der

Registrierung hinter der Anweisung CALL FUNCTION

fortgesetzt.

Former Member
0 Kudos


Hello Christopher

Thanks for your replay.

For me as a not full ABAPer and developer I am confused on that.

The fm is RSPC_API_CHAIN_START.  So how i get then the Import paramter log_id, when the fm is called in Background Task?

Do you have an example? How to use Parameter list? Do I have to read table ARFCSSTATE und ARFCSDATA ?

Thanks a lot for your Input

Christian

Former Member
0 Kudos

Hi Christian,

sorry, I understood that you want to pass Parameter to the function module! In your case, you're right, that does not work.

Let's go back 2 steps:

If you create a z-program which is calling this fm, it will lead to pop-ups? Is that correct?

If yes, please try to set Parameter "I_SYNCHRONOUS" = ABAP_FALSE and check if pop-up still be shown?

Regards

Former Member
0 Kudos

Hello Christopher

The beginning issue is, that my customer was suddenly faced with pop-ups. And nobody changed anything in the system. ( ?)

I didn't find out the reason yet of the changed behaviour.

My customer uses the SAP BI 7.0.

Actually I am working with another customer, where the pop-ups doesnt appear, if the paramater is "I_SYNCHRONOUS" = ABAP_FALSE. But it is Version SAP BW 7.3

I will test neyt week your input.

Best regards

Christian

Former Member
0 Kudos

Hi Christian,

if you need further assistance or a debug remote session, just contact me via xing.

Regards