How to create a Transaction Code for Report Painter ReportsIn many organizations, the usage of transaction GR55 has been removed from end users and theusage of custom transaction for Report Painter report is preferred.These transactions need to be added to roles & also transported via the SAP Transport systemand go through change control.One mistake is to create Variant Transactions that add another layer of objects to maintain andtransactions that are not easily accepted by the end user community:The user will then have to navigate past the selection screen where the report group is selected.
Another common mistake is that users create the transaction code with the SAP-generatedprogram name of the Report Painter report.The users usually run the report and via the menu path system status identifies the SAP generatedreport name, such as GP4D9W908VD93NG59JGEC5C4HE3200 in the development system orin the productive system as GP4D9W908VD93NG59JGEC5C4HE3400. Both program nameslook identical except for the last 3 digits, which represent the client in which the report wasgenerated.Because you don’t have control over the SAP-generated program name, you run into problemswhen the user tries to execute the program and a short dump may occur or the system may tellthe user that the program doesn’t exist.The right approach is to create a Parameter Transaction, map this transaction to the necessaryobjects in SU24 so that you can make sure that you won’t run into any authorization issues whenthe user runs the reports.To create a custom transaction, you need to use transaction SE93 in the development clientwhere your program development & configuration takes place.Enter a transaction with the naming convention that your organization has issued and select the‘create’ button:
Enter a short description (according to naming standards of your organization) and select theoption ‘Transaction with parameters’:Enter transaction ‘START_REPORT’ as shown below (1) and select the ‘Skip Initial Screen)(2):In the lower section, enter Screen Field D_SREPOVARI-REPORTTYPE with the value RW forReport Writer and D_SREPOVARI-REPORT for your report name. If you should have extendedan extended report name, you also can add this screen field with the appropriate valueD_SREPOVARI-EXTDREPORT to the list of screen fields.
After saving the transaction, the system asks you for a package & transport request. Follow thedevelopment standards & instructions from your organization.Once you have created the transaction, you need to make sure that it will be fully functional froma SAP Security standpoint. Use transaction SU24 to map the object S_Program to the transactionyou have just created. The authorization group is the name of the Library with the prefix ofRW_. You can find out the library via the report group or by running a trace. (This is helpful ifyou did not create the report and don’t know what library the developer was using).If you want to run the authorization analysis via ST01, you can find out easily what the valuesfor S_Program should be:
Once you have identified the objects & values, you can then map the object to the transactionwith transaction SU24:Add all objects needed to run this report (you can find out the objects via your trace analysis):Switch the indicator to check/maintain:Enter the values according to your findings
Don’t forget to double-check the values. You may want to make selections regarding on how theuser can run the report according to your company guidelines and development standards:When the SAP Security Administrator maps the newly created transaction to a role, the objectsneeded for this transaction will be automatically pulled into the role:
Depending on your SAP Security setup, the values of the individual authorizations for ReportWriter may be more granular or with access to a broader area.