cancel
Showing results for 
Search instead for 
Did you mean: 

Processing of load from different infopackage from same datasource to cube differently

former_member209032
Active Contributor
0 Kudos

Hi,

  I have a transformation from a datasource to cube. The datasource will be loaded using multiple full load infopakages with different selections. Based on the infopackage i should process the data in different manner for each infopackage in the transformation. Is it possible to get the PSA request number in transformation so that i can get the infopackage name from it and do the coding in transformation accordingly?

Note : This is easy in 3.x

Regards,

Raghavendra.

Accepted Solutions (0)

Answers (2)

Answers (2)

ccc_ccc
Active Contributor
0 Kudos

Hi Raghavendra,

Yes, we can get PSA reqeust Id in transformation at run time, here the code.

DATA: t_requid     TYPE rsbkrequid,

           t_requid30   TYPE rsrequid,

           t_t_psa      TYPE rsds_t_rsdsseg,

           t_logsys     TYPE rsslogsys,

           t_datasource TYPE rsoltpsourcer.

     CALL METHOD p_r_request->get_requid RECEIVING r_requid = t_requid. (10 length ID)


     CALL METHOD p_r_request->get_requid30 RECEIVING r_requid30 = t_requid30.(30 Length ID)

     CALL METHOD p_r_request->get_t_psa RECEIVING r_t_psa = t_t_psa. (PSA name)

     CALL METHOD p_r_request->get_logsys RECEIVING r_logsys = t_logsys.(source system name)

     CALL METHOD p_r_request->get_datasource RECEIVING r_datasource = t_datasource. (datasource name)



Now, t_requid and t_requid30 id will be available at run time.


By using IF CONDITION you can write logic accordingly.


Hope, it will help for you.


Thank you,

Nanda




matt
Active Contributor
0 Kudos

Or, more prettily (and easier to read and more modern):

t_requid = p_r_request->get_requid( ).

t_requid30 = p_r_request->get_requid30( ).

t_t_psa = p_r_request->get_t_psa( ).

t_logsys = p_r_request->get_logsys( ).

t_datasource = p_r_request->get_datasource( ).

To see all the possibilities go to SE24 and look at IF_RSBK_REQUEST_ADMINTAB_VIEW


But I think the TVARV solution (while still not perfect) is a lot better than than using InfoPackage name. TVARV is designed for this kind of thing. InfoPackage names are not.

matt
Active Contributor
0 Kudos

Yes, it is easy in 3.x. But it is still atrocious design, that can lead to all sorts of expensive problems that take ages to resolve. Very bad. I've had to fix the problems this kind of awful design has led to.

To do advise you on how to do it properly and safely, I need to know what the criteria are for the different processes? I.e. what are the conditions for process 1, for process 2, etc.

former_member209032
Active Contributor
0 Kudos

Hi Mathew,

   I know it is not proper design, But this is how the current process works in 3.x and the client wants to reproduce the same using in 7.X. We are planning to use TVARVC for this. Each and every process chain will set what data it is getting in TVARVC and depending on that the code in transformation will read it and process the data accordingly. This model is being is used to reduce the number of objects(transformation) developed in the system.

Regards,

Raghavendra.