Skip to Content
Author's profile photo Former Member

SAP NetWeaver 7.0 BI: Get runtime information of a Data Transfer Process (DTP) in a Transformation

  • Target InfoProvider</br>

      I_TGT             type RSBKTGTNM.

  • get target</br>

       CALL METHOD P_R_REQUEST->get_TGT

       RECEIVING

          R_TGT = I_TGT.

Result:

The above described fields are available during the runtime of the DTP (transformation).
In this example the result would be “SALES13”.

Please see for example the field “TGT” in the Screenshot of the Debugger Session:

image

</p>

–> get back to the DTP Blog Series … SAP NetWeaver 7.0 BI: Data Transfer Process (DTP) / Blog Series

Assigned Tags

      18 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member
      This is extremely valuable information, thanks for sharing.
      Author's profile photo Former Member
      Former Member
      Thanks for the comment!
      Author's profile photo Former Member
      Former Member
      Michael,

      I tried running my DTP in SIM mode and was not able to get any values back. I ran in regular update mode and posted the values to a table, so I know it works. Is there any easy way to debug the transformation rules similar to BW 3.x where we could 'Simulate Update' AND have access to the DTP information listed in your blog?

      Author's profile photo Former Member
      Former Member
      Hello John,
      thanks a lot for your comment.
      Unfortunately it is not possible to see the DTP runtime information in the 'Simulate' mode.
      Best Michael
      Author's profile photo Former Member
      Former Member
      Hi, the problem with the missing information in simulation mode has been adressed in the meantime. OSS "1071505 70 SP15: Simulation request: Empty attributes in routine" contains a correction.
      Author's profile photo Former Member
      Former Member
      Cool! Thanks for the update!
      Author's profile photo Former Member
      Former Member
      Hi,

      It indeed a good information. I wanted to get the DTP name in the start routine. But not able to get the DTP name.

      Do I have to put any specific code referring to class / interface ?

      Regards,

      Author's profile photo Former Member
      Former Member
      Hi,
      the coding should be:
      * DTP name
         I_DTP type RSBKDTPNM.

      * get DTP
          CALL METHOD P_R_REQUEST->get_DTP
             RECEIVING
                R_DTP = I_DTP.

      The DTP text you should get by using GET_DTPTEXT.
      Cheers Michael

      Author's profile photo Former Member
      Former Member
      Very helpful post!

      I have a quick question in regard to that topic: Is it also possible to access the filter values that were specified for at DTP in Start/End routines - we have a scenario where that would be very helpful.

      Thanks,
      Fabian

      Author's profile photo Former Member
      Former Member
      Yup, I would like to know this as well.
      I was thinking the filter was put in R_TH_RANGE, but this seems to remain empty.
      Author's profile photo Former Member
      Former Member
      Hi Michael,

      Could you help telling me how do we know or find out what standard data type to use, such as RSSLOGSYS in your example ?

      Thanks.

      Author's profile photo Former Member
      Former Member
      Hi Michael,

      i have read your article with great interest and this is really valuable. My challenge is now that I need this information during the processing of the filters of a DTP. I have debuged the whole processing, but as the Filter Coding is generated at runtime there seems to be no link to the calling DTP. Can you give me a hint on this?

      Regards, Nils

      Author's profile photo Former Member
      Former Member
      Hi Nils,
      I never tried. Why do you need this? best Michael
      Author's profile photo Former Member
      Former Member
      Hello!
      The using i_r_request parameter of the selection routine has type ref to if_rsbk_request_admintab_view. The methods of this interface should offer all the information you need. Please check if_rsbk_request_admintab_view in the class builder (transaction se24).

      If this should not be enough you can:
      - first get the DTP ID with i_r_request->get_dtp( )
      - and then create an instance of CL_RSBK_DTP_H by calling the static method create_from_db of this class. Please specify the DTP ID and the actal timestamp.

      For this you need SP19 or note 1172175.

      Best Regards,
      Horatiu

      Author's profile photo Christoph Sommer
      Christoph Sommer
      Hello,
      thanks a lot for your information. Could you please provide example coding:
      I need the DTP filter values of all filter characteristics in a DTP filter routine (not start-/end-/expert-routine).
      L_T_RANGE is empty when I debug the DTP filter routine and according to note 1172175, the method i_r_request->get_th_range( ) is not available.
      Thanks a lot for your reply.
      Best regards,
      Christoph
      Author's profile photo Former Member
      Former Member
      Hi,

      Its a very useful Blog. Would you please provide me one more information related to DTP? In my requirement, I want to upload data from PSA to DSO using selective PSA request number. Would DTP allow to select PSA no? Please suugest How can I do so?

      Thanks
      Sangita

      Author's profile photo Former Member
      Former Member
      Hej,
      your blog is really useful.
      but i need a small help from you. we are working on a program where we are trying to copy a DTP bw two client. now before creating we want to validate if any dtp with same selection condition or filter is existing for tat client.
      we couldnt find any table where we could get information about DTP filters. Table RSSELDTP give the selection list but only if DTP is run. what if DTP was not run.
      kindly provide some input.

      Rakesh

      Author's profile photo Former Member
      Former Member

      Could someone tell me which Class, Method and Instannce could I use to get the following setting on DTP. I need to check in my End Routine if this flag is checked or not on the DTP (Extraction Tab).

      Load Without PSA (By Direct Access)

      Data is not extracted from PSA. Access data source directly (for small amounts of data)

      I could narrow down the structure RSDS_S_TPL and the class as CL_RSDS_X_TPL. The attribute tab on the Class has RSDS_S_TPL as the Associated Type. But I cannot find which Method gives me the information.

      I couldn't find a method that gives me that info on IF_RSBK_REQUEST_ADMINTAB_VIEW