Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member



Summary

The document briefly explains how to track the transport request flow once released from the development system. We know that once development is completed the changes are saved in a TR and moved to quality systems for further testing prior to production system. The traditional way allows login to each system and manually doing a vlook up after downloading the list of released TRs, which consumes some time. Here we discuss about a new report which can track if the TR is moved to quality and prod systems.

Author Bio


Author(s): Rahul Babukuttan, having around 5 years of SAP experience.

SAP Certified ABAP Consultant. Completed M-Tech in Networking Technologies

Created on: 12 December 2014

Table of Contents

Introduction

Background

Assumptions

How to fetch TR details from SAP tables

How to identify TR is moved to Quality/Production system

References

Introduction

The new report allows user to search the TR using date, username, TR number or TR description. The report provides the output of all the TRs in the selection criteria and the position in which system the TR currently resides. The output can be displayed as alv report with traffic lights say red if it have not reached production. Advantage is that we can mail the report output if SCOT is properly configured.

Background

Once a TR is created in the system an entry will be created in E070 and E071 tables. When a TR is in released status, a datafile and cofile is created by the system and is stored at OS level.

In a project having some 100s of TRs to be created and moved in a bulk to quality and production system. The standard se01 transaction allows finding the list of a particular user or TR number. There is no standard reporting tool to find track the position of TR movement in a bulk based on user or based on specific date criteria. The traditional way is that the basis team needs to login to each system and download the list as excel and to a vlook up to find the difference or to identify if the TR reached till quality and not to production system.

Assumptions

1. This is applied only for released TRs.

2. The input in consideration is only TR number and not the Task number

3. The user who is executing the report is provided with all the required authorizations

4. In the document the assumption is TR is created in development system RD0, then moved to quality RQ0 and then to production RP0. The flow will be RD0->RQ0->RP0.

5. There is no need to transport this report say ZTR_CHECK to any systems say RQ0 or RP0 since the code explained below can retrieve all the data in quality and production systems.

How to fetch TR details from SAP tables

Normally all the TR numbers, type of TR say work bench or customizing TR, the status(released or not), Owner of TR will be stored in the SAP table E070. The description will be stored in the table E07T.

1. If our search is based on date/username/TR number first fetch the records from table E070 and then from E07T for getting description

SELECT * FROM E070 INTO T_E070

WHERE trkorr in s_trkorr[]

AND trfunction in (‘K’, ‘W’)

AND trstatus in (‘R’,’N’)

AND as4user in s_user[]

AND as4date in s_date[].

IF T_E070[] is not initial.

SELECT * FROM E07T INTO TABLE T_E07T

FOR ALL ENTRIES IN T_E070

where TRKORR = T_E070-TRKORR

AND AS4TEXT LIKE ----------->>>>(concatenated value of ‘% ‘ P_TEXT).

Endif.

2. If the search is based on TR description first get records from E07T and then from E070 table.

How to identify TR is moved to Quality/Production system

We can do this by either of two methods. The first method can be used if the quality and prod systems are under same transport group. The second method is preferred if we are having a system with different transport group.

If Quality and Prod are under same Transport Group

Call the FM STRF_READ_COFILE, passing the TR number as parameter. The fm will output an internal table TT_COFI_LINES

  1. In the internal table explained above, we can see the fields TARSYSTEM and FUNCTION.
  2. The TARSYSTEM stands for the target system where if the TR is moved. For example if the TR is moved in RQ0, then the FM will return the internal table with target sytem as RQ0
  3. If the TR is moved successfully, the field FUNCTION in the internal table will have the value “I”(Imported).
  4. There are some other relevant fields like Date/Time/Return Code

However, I have seen a couple of cases like the FM return exceptions. If in case if the cofile is deleted by basis, it will throw info not found exception

If Quality and Prod are under different Transport Group

There are some cases where we can see some systems say RH0 which have a different transport group. We can see in depth in SMTS transaction.  In such cases, the above FM cannot help in providing much clarity about the TRs. Hence we search this by an alternate method provided we have properly configured a logical destination in the transaction SM59 between RD0 and RH0. We assume that the logical destination name is RH0CLNT700. Maintaining logical destination between different system/client is out of the scope of the document.

  1. Call the FM RFC_READ_TABLE destination ‘RH0CLNT700’.
  2. Pass the query table value as ‘E070’. If the TR is transported to RH0, an entry will be created in the table E070.
  3. Also pass the value of internal table “options”. For example, if the TR I need to be checked is  RD12345, the itab options should be populated as    concatenate ‘TRKORR’ ‘=’ ‘’’’ into l_string separated by space.

       CONCATENATE l_string ‘RD12345’ ‘’’’ INTO l_string.

       MOVE l_string to l_str_option-text.

       APPEND  l_str_option TO l_tab_option

   4. Pass the value of fields to be fetched in itab L_TAB_FIELDS.                                                    

For example Append ‘TRKORR’ to L_TAB_FIELDS. Append AS4TIM to L_TAB_FIELDS.

    5.The FM returns the internal table T_DATA which contains the corresponding entry in RH0 from table E070. If an entry is present means that the TR is     moved. Otherwise the TR is not moved at all.

Build Final internal table

Once we fetched all the required data, we can loop the internal table and read all the required data in stages for all the target systems. If the read is successful for all the target systems say RD0/RH0/RQ0/RP0 we can mark that entry as SAFE/ Green. If the read is failed in any of the target systems means that the TR is missed some where and can mark as RED.  Call the FM REUSE_ALV_GRID_DISPLAY with traffic lights on will display a report and easily find out where the TR is stuck.

References

http://wiki.scn.sap.com/wiki/display/ABAP/Transport+Dependency+Utilities

http://scn.sap.com/thread/1150564

http://www.newtosap.info/2013/04/traffic-lights-display-icons-in-alv.html

http://scn.sap.com/thread/584482

2 Comments