IRF
IRF
IRF
SAP NetWeaver
Document Version: 1.0 – 2017-09-21
2 Prerequisites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Activate Business Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Define System Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Set Up Authorizations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Activate OData Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Create ILM Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Retrieving Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1 Start the Collection Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2 Display Results of the Data Collection Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Use
The Information Retrieval Framework (IRF) allows you to search for and retrieve all personal data of a specified
data subject. The search results are displayed in a comprehensive and structured list containing all personal
data of the data subject specified, subdivided according to the purpose for which the data was collected and
processed.
Note
The Information Retrieval Framework might be considered as a potential tool for complying with data
protection requirements. It might be used to inform the data subject on his/ her personal data undergoing
processing, including the reason (purpose) for processing.
The Information Retrieval Framework is available as of the following support packages for SAP NetWeaver:
Table 1:
SAP NetWeaver 7.5 for SAP S/4HANA 1511, on-premise edition SP09
To be able to use the framework’s functionalities, you must set up a data model containing all relevant database
tables that you want to be searched for personal data. This how-to guide is intended to provide information to
enable you to easily configure the data model and to readily utilize the framework.
The following example-based documentation is based on the SAP standard table SFLIGHT and will give you a
step-by-step instruction on how to set up the data model for the Information Retrieval Framework. Once the
data model is set up correctly, you can trigger the data collection process.
The following figure shows the primary flows of user actions that need to be carried out when setting up and
utilizing the Information Retrieval Framework.
To utilize the framework, you must switch on the business function Information Retrieval Framework
(CA_DTINF_FW) in every system you want to enable for the search and retrieval of personal data.
You must define the status of the system you want to enable for the data retrieval process. In Customizing for
Cross-Application Components, go to Data Protection Information Retrieval Framework Maintain System
Status and define your system as Remote System.
For more information about the Customizing activity, see the associated system documentation located in the
same location as the Customizing activity.
A user must have the Data Privacy Specialist (SAP_BR_DATA_PRIVACY_SPECIALIST) role assigned in
combination with the following authorization objects:
Table 2:
S_INF_MAIN Maintain the data model used for the Information Retrieval
Framework
S_INF_COLL Trigger the data collection process and view the search re
sults
Recommendation
When working in a production system, this authorization
object should be assigned to a few users only.
For more information, see the system help for authorization objects S_INF_MAIN and S_INF_COLL in
transaction SU21.
The activation of OData services is necessary to enable the data transfer between the browser-based modeling
tool designed for the Information Retrieval Framework and the SAP NetWeaver back end system.
To set up OData services for the Information Retrieval Framework, refer to the following documentation:
The framework assists you in creating an initial data model based on information stored in ILM objects and
their related archiving objects. Therefore, ILM objects must exist for the applications that you want to enable
for the retrieval of personal data.
1. Call transaction AOBJ and click New Entries on the application toolbar.
2. Fill in the details for the creation of the archiving object as shown below and save your changes in a
transport request.
3. Double-click on ILM Objects in the dialog structure. The system displays a list of all available ILM objects.
4. On the application toolbar, choose Edit. Click on New Entries and enter the necessary information for the
ILM object. Enter the same same as for the archiving object and a description.
Follow below steps tomap the ILM object to the archiving object:
4. Switch to edit mode, choose New Entries and map ILM object ZSFLIGHT to archiving object ZSFLIGHT
5. Save your changes in a transport request.
Before automatically generating an initial data model, you must verify the tables relevant for an ILM object.
Some tables of an ILM object might be obsolete, some might be missing. This pre-modeling step ensures that
all required tables of an ILM object are part of the data model.
1. On the tab Table Cluster, choose Test ILM BAdI and enter the name of the relevant ILM object (ZSFLIGHT).
2. Choose Execute.
The figure below shows an extract of the output generated for ILM object ZSFLIGHT:
If you want to manually define database tables which are used by an ILM object, for example due to the output
list indicating obsolete or missing tables, you can use BadI BAdI: Tables Used by an ILM Object
(BADI_DTINF_ILM_OBJ_TABLES) to define database tables which are used by an ILM object.
The framework assists you in creating an initial data model based on information stored in ILM objects and
their related archiving objects. To generate the initial data model for ILM object ZSFLIGHT, follow below steps:
To reduce complexity and to enable an efficient way of data modeling, tables are grouped in table clusters. This
grouping is based on the application component/ software package associated with each table.
Each table cluster is in the responsibility of the corresponding application. Based on a combination of
application component, delivery package and delivery unit, every responsibility is assigned a unique ID. Since a
set of responsibilities might logically fall under one application area, it is helpful to merge responsibilities before
configuring the data model.
You can use transaction DTINF_ADJUST_MODEL to show all available responsibilities, to rename or to merge
them. In the following, all three of these options will be exemplary described:
● To show all available responsibilities, choose Show Available Responsibilities. The system displays a list of
all available areas, here you can search for the ones you are responsible for.
● When generating the initial data model, the responsibilities are assigned a numeric value. To rename a
responsibility ID, choose an ID from the dropdown list Current Responsibility ID and give it a logical name in
the rename to input field.
4.2 Configure the Data Model Using the IRF Modeling Tool
You can use the IRF modeling tool (transaction DTINF_MODELING), a user interface based on HTML5 and java
script, to view the initial data model and to manually adjust it to your needs, for example to add and link
additional tables.
On the initial screen, use the filtering options Application Component or Responsibility to find your data model.
In this case, the responsibility ID CA_SFLIGHT is used that was created in the previous section.
If you do not want to display table fields or internal connections, select the respective checkboxes at the
bottom of the screen.
Transaction DTINF_ADJUST_MODEL offers additional configuration features that help you to adjust the data
model to your system landscape. In the following, these additional features will be briefly described. Please
note that the following steps are not mandatory for the sample scenario and can be skipped.
Call transaction DTINF_ADJUST_MODEL and click on the respective tab to have aceess to the additional
configuration features.
To get a business-specific output of search results, you must assign purposes to your ILM objects.
Removing Locks
While a user is configuring the data model, it is locked by this user. That way, inconsistencies can be avoided by
ensuring that no other user can make changes to the model at the same time. In case the browser session is
abruptly ended, this feature can be used to remove the inconsistent locks, if any.
Note
Do not remove valid lock entries by other users working on the data model.
After you have configured and saved the data model, you can test it by using transaction DTINF_TEST_MODEL.
Trigger the collection process and verify if the data was retrieved correctly from all the database tables you
defined.
1. Call transaction DTINF_TEST_MODEL and specifiy the details for the collection process:
○ Primary Table: Starting table from which the data collection process can be triggered. Depending on
the design of your data model, the starting table may vary. In this example, the starting table is
SCUSTOM.
○ Field Name 1: This is the starting field within the starting table. Enter ID.
○ Search Value 1: Since ID was chosen as the value for Field Name 1, you must enter a unique identiefer
in this field. For this example, the business partner number 11111 is used.
○ Purpose: Enter BC1 in the Purpose field.
○ Display Options
○ Only Tables with Hits: Display only those tables in which data was found.
○ Online Tree Output: If you select this option, the output will be displayed hierarchically.
○ Create XML-File: If you select this option, the search results will be stored in an XML file (see
transaction AL11).
As you can see in the figure above, there was one record retrieved for business partner number 11111 from table
SCUSTOM. For example, the customer made a total of five bookings (see table SBOOK) with three travel agencies
involved (see table STRAVEL). To get further details on the actual data values, click on the number in the Hits
column.
If tables are missing in this output, you can go back to the IRF modeling tool again and readjust the data model.
This process can be carried out iteratively until you get the desired output.
Once your data model is set up correctly, you can use transaction DTINF_START_COLL to start the collection
process. On the initial screen, specify the data subject by entering the following information:
● Type of data (e.g. business partner, customer, user name). In this example, a business partner number is
used.
● Search value (unique ID, e.g. business partner number)
● Language of data subject
To get an overview of all data collection requests and to display the results of the data collection process, call
transaction DTINF_PROC_COLL.
On the initial screen, you get a list of all data colletion requests triggered. Search for your request and double-
click on it to see more details..
Coding Samples
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system
environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, unless damages were caused by SAP
intentionally or by SAP's gross negligence.
Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be a
binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however,
does not apply in cases of willful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations of
SAP.
Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as
"sales person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun
does not exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.
Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does not
warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any
damages caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for
transparency (see: http://help.sap.com/disclaimer).