Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Security and deployment best practices for InfoSphere Information Server Packs for SAP applications, Part 1: A security primer

Christian Gaege (gaege@de.ibm.com), Software Engineer, IBM
Photo of author Christian Gaege
Christian Gaege is a software engineer working in the Information Platform and Solutions team. He started at IBM in 2008 in the IBM Silicon Valley Labs in the United States and is currently based in the IBM Research and Development Lab in Germany. Christian is developing applications and tools for the integration of SAP into the IBM Information Server product portfolio. He holds a master's degree in computer science from Furtwangen University in Germany.
Martin Oberhofer (martino@de.ibm.com), Senior IT Architect, IBM
Martin Oberhofer 的照片
Martin Oberhofer works as Senior IT Architect in the area of Enterprise Information Architecture with large clients world-wide. He helps customers to define their Enterprise Information Strategy and Architecture solving information-intense business problems. His areas of expertise include master data management based on an SOA, data warehousing, information integration and database technologies. He especially likes to work with enterprises running SAP applications solving the SAP-specific information management challenges. Martin provides, in a lab advocate role, expert advice for Information Management to large IBM clients. He started his career at IBM in the IBM Silicon Valley Labs in the United States at the beginning of 2002 and is currently based in the IBM Research and Development Lab in Germany. Martin co-authored the books Enterprise Master Data Management: An SOA Approach to Managing Core Information and The Art of Enterprise Information Architecture: A Systems-Based Approach for Unlocking Business Insight as well as numerous research articles and developerWorks articles. As inventor, he contributed to over 30 patent applications for IBM. Martin is also a The Open Group Master Certified IT Architect and holds a master’s degree in mathematics from the University of Constance/Germany.
(An IBM developerWorks Contributing Author)
Nicole Schoen (nrausch@de.ibm.com), Software Engineer, IBM
Photo of author Nicole Schoen
Nicole Schoen is a software engineer working in the Information Platform and Solutions team at the IBM Research and Development Lab in Boeblingen. She started working for IBM as a developer for OMEGAMON XE for DB2 Performance Expert on z/OS in 2006. Now she is developing applications and tools for the integration of SAP into the IBM Information Server product portfolio.

Summary:  This article shows you how to deploy the SAP side components of the IBM® InfoSphere® Information Server DataStage® Packs for SAP applications. It explains the various stage types and gives an overview of the relevant installation and security administration concepts.

View more content in this series

Date:  19 Jan 2012
Level:  Intermediate PDF:  A4 and Letter (1457KB | 38 pages)Get Adobe® Reader®
Also available in:   Chinese

Activity:  10280 views
Comments:  

Introduction

This two-part series introduces security and code management best practices for the IBM InfoSphere Information Server Pack for SAP Applications V7 (referred to hereafter as SAP Packs).

Scope

This first article introduces the relevant installation and security concepts and provides best practices for installing the required SAP side components and setting up security. The following topics are discussed in more detail:

  • What needs to be done on the SAP side in order to use the SAP Packs.
  • How to benefit from the authorization profiles for design time and run-time and how to customize them.
  • Which SAP authorization requirements are needed for each stage (ABAP, IDoc, BAPI) in the different phases of the life cycle of a DataStage job.

The second article will describe the best practices for code management in real world, enterprise-level InfoSphere and SAP landscapes, including the following:

  • Code management landscape for development, test and production systems.
  • Simplified SAP side code management using CTS.
  • Best practices for Information server-side code management requirements to align with the SAP-side code management.
  • How to prevent code modifications in test and production systems.

IBM InfoSphere Information Server

IBM InfoSphere Information Server (see Resources) is a leading information integration platform. IBM InfoSphere Information Server provides a comprehensive set of capabilities to understand, cleanse, transform, and deliver trusted information for a broad variety of business scenarios such as master data management, business analytics and data warehousing, application migration and consolidation. IBM InfoSphere Information Server can be used as enterprise information integration platform for all data integration needs within an enterprise. It provides linear scalability, broad out-of-the-box connectivity to nearly all data sources, productivity tools for organizational efficiency and accelerated deployment, and a holistic metadata platform enabling end-to-end impact analysis and data lineage.

A core element of the IBM InfoSphere Information Server platform is a state of the art ETL component called DataStage. This component is used to rapidly develop UI-driven ETL jobs by drag & drop wiring of stages providing atomic operators such as sort, join, slowly changing dimensions, connectivity to a database and many more. The jobs can be created within folder structures within a development project. See Figure 1 for an example.


Figure 1. A DataStage project with an example job
Figure 1 shows a DataStage project inluding an example DataStage job

Quick introduction to SAP Netweaver and interfaces

SAP provides many operational applications as well as business intelligence (BI) solutions based on its Netweaver platform (see Resources). SAP Netweaver ERP for enterprise resource planning, SAP Netweaver CRM for customer relationship management, SAP Netweaver SRM for supplier relationship management and SAP Netweaver SCM for supply chain management and SAP Netweaver BI are the most well-known operational applications and BI solutions from SAP. The operational applications are all built on a common Netweaver architecture as shown in Figure 2.


Figure 2. Netweaver – simplified architecture overview
Figure 2 shows a architecture diagram of SAP Web application server with DDIC and DB ASL, accessing                     separate database

The SAP Netweaver Web Application Server (SAP WebAS for short) is a common runtime infrastructure on which SAP customers can deploy their applications such as SAP Netweaver ERP. SAP Netweaver is implemented in ABAP, the SAP proprietary programming language. In recent years SAP also provides some functionality on a J2EE stack. The SAP WebAS of Netweaver is available in version 7.00 and newer. The root of this platform is the core runtime which was available as SAP WebAS in version 6.20 and version 6.40 on the SAP R/3 system already and is still in use at many enterprises today. Due to this history the IDoc, BAPI and ABAP (see Resources) application level interfaces exist since SAP R/3 and are still the most commonly used interfaces for data exchange between SAP systems as well as other systems in SAP Netweaver environments today. Notice that SAP Netweaver also offers web service interfaces – however for bulk data processing they are not suitable and thus not shown previously in Figure 2.

Exchanging data with SAP systems requires a bit of understanding on how the data architecture is designed. SAP applications have within the SAP WebAS the Data Dictionary (DDIC). The DDIC contains logical table definitions for all tables known by the SAP system. In addition, the SAP WebAS has the database abstraction layer (DB ASL). DDIC and DB ASL allow SAP to be independent of the underlying database, so SAP can support commercial database solutions such as Oracle, DB2 and Informix. To achieve this the DB ASL maps the logical table definitions to the physical model whenever database access is required.

An SAP business object such as customer, material, vendor or sales order usually spans multiple tables and the tables for a business object usually have parent-child relationships. However, since the database vendors have different implementations regarding primary key, foreign key relationships and other data integrity constraints, SAP is enforcing most of the data integrity constraints within the application and not in the database. As a consequence, it is not permitted to access the database used by an SAP application on database level with well-known interfaces such as JDBC or ODBC because only the SAP application knows about the relationship between the data tables and other data integrity constraints. A write operation to the database used by SAP might thus cause data integrity violations that in the worst case prevent the SAP application from working properly. This is the reason why data exchange with SAP always has to go through the SAP application level interfaces IDoc, BAPI and ABAP. Read operations do not share the same problem – however it is recommended to use the application-level interfaces also for read operations.

A short introduction to SAP Packs

The SAP Packs provide SAP certified connectivity to the SAP interfaces ABAP, BAPI and IDoc. They are part of a long list of connectors available for InfoSphere Information Server. InfoSphere Information Server is used with the SAP Packs in the following solution scenarios (example list only).

  • SAP application consolidation and SAP business transformation: Improving data quality while reducing cost, risk and implementation time can be achieved for these scenarios with the Ready-To-Launch Solution. The Ready-To-Launch Solution is built on top of the Information Server and the SAP Packs (see Resources).
  • Master Data Management solutions where master data is extracted from, or loaded to SAP applications.
  • Enterprise Data Warehousing based on Netezza or InfoSphere Dynamic Warehousing solutions where SAP applications are part of the operational source systems.
  • Any data integration project extracting data or loading data to SAP.

The following are two SAP Packs.

  • InfoSphere Pack for SAP Applications: This pack provides support for the following interfaces ABAP, BAPI and IDoc with the following stages:
    • ABAP Extract stage
    • BAPI stage
    • IDoc Extract stage and IDoc Load stage
  • InfoSphere Pack for SAP BW:
    • BW Extract stage and BW Load stage

Notice that the InfoSphere Pack for SAP BW provides access to the SAP Netweaver BI 7.x systems as well as the older SAP BW 3.x systems. However, for the remaining part of this article and the next, the InfoSphere Pack for SAP BW is not in scope.

ABAP Extract stage

The ABAP Extract stage provides a synchronous interface to SAP for data extraction purposes and has the following capabilities.

  • Supports Extraction Object Builder and SQL Builder.
  • Supports graphical construction of Open SQL queries.
  • Loads and executes ABAP programs from DataStage.
  • Supports ABAP syntax check ability in DataStage.
  • Invocation of ABAP programs by DataStage.
  • Supports RFC and FTP as data transfer methods.

An example job that uses the ABAP Extract stage is shown in Figure 3.


Figure 3. ABAP extraction job example
Figure 3 shows SAP accessing DB2 through ABAP_EXTRACT_MARA

The architecture of the ABAP Extract stage can be split in a design-time part that covers the DataStage job development and a runtime part relevant for DataStage job execution (see Figure 4). It is critical to understand what is happening in each phase of the life cycle of the DataStage job because, as you will see later, the security authorization profiles reflect the different requirements and are thus separated along the same line.


Figure 4. ABAP design and runtime architecture
Figure 4 inlcudes a diagram showing ABAP design time and runtime architecture

The developer uses the DataStage Designer to develop the jobs. The ABAP stage allows the developer to browse or search the DDIC to select the tables that he or she wants to extract data from by retrieving the required metadata from SAP. Joining tables is supported as well as refining the data scope by selecting only a subset of columns or defining a WHERE-clause. Once the data scope has been defined, the developer can trigger the ABAP code generation. An ABAP report is created based on the table metadata and specified SQL conditions which, if executed, reads the data from SAP and provides the data to DataStage for further processing. The custom ABAP report needs to be uploaded to SAP for which there are several procedures available.

  • Using the ABAP stage UI.
  • Using the ABAP stage UI by means of CTS (The SAP Change and Transport System).
  • Manually by the SAP Basis Administrator.

Each of these options requires the technical SAP user to have specific authorizations which will be discussed in more detail in stage-specific authorization details. If the ABAP stage is configured to use the RFC data transfer method an RFC destination must be set up on the SAP system to allow communication between the ABAP report and DataStage. The RFC destination itself is either manually created by the SAP Basis Administrator using sm59 or by the ABAP stage at runtime if the technical SAP user used by the job has the necessary authorizations to do so.

At ABAP runtime, the previously configured DataStage job starts the execution of the ABAP program. The ABAP program returns the qualifying records to the DataStage job which can perform further processing steps and finally writes the data to the specified target such as a relational database.

BAPI stage

The BAPI stage is based on the RFC protocol (see Resources) and provides synchronous access to the SAP system for the BAPI interface. The BAPI stage can be used to call the BAPIs available on the SAP system. The BAPI stage can also be used to invoke any Function Module (FM) which has been enabled for remote method invocation, so-called "Remote Function Modules" (RFM). RFMs are often build to provide custom access to SAP. For each BAPI or RFM, the developer can select which import, export and table parameters should be used in the job. An example BAPI job is shown in Figure 5.


Figure 5. BAPI job example
Figure 5 shows an example of a BAPI job called BAPI_MATERIAL_GET_DETAIL

The architecture of the ABAP Extract stage can also be split in a design-time part that covers the DataStage job development and a runtime part relevant for DataStage job execution. Both are shown in Figure 6.


Figure 6. BAPI design and runtime architecture
The diagram in figure 6 shows BAPI design time and runtime architectures

At BAPI design time, the developer opens the BAPI stage and browses the list of all BAPIs and RFMs from the BAPI library with the BAPI explorer, possibly also using the provided filtering. Once the BAPI or RFM is found it is selected. Furthermore the developer selects the import, export and table parameters that he intends to use for the BAPI or RFM call and a choice is made if its used for inbound or outbound processing. With that information the BAPI or RFM can be invoked at runtime.

At BAPI runtime, the DataStage job with the BAPI stage synchronously invokes the BAPI or RFM configured using the RFC protocol. The input data is hereby provided by the input link whereas the output data is returned through the output link. This way BAPI stage can be used to load data to or extract data from the SAP system.

IDoc Extract and IDoc Load stage

The IDoc stages can be used to receive or send IDocs to, or from SAP, respectively. For extracting data from SAP using the IDoc Extract stage, the IDoc Listener Service on the DataStage Engine tier needs to be started. This component collects IDocs sent from SAP independent of which jobs are currently running. The jobs consuming these IDocs, as shown in Figure 7, and can be run manually, scheduled, or the IDoc Listener service can be configured to start them automatically after a certain amount of IDocs was received.


Figure 7. IDoc Extraction job example
Figure 7 shows a DataStage job example

When IDocs are loaded, as shown in Figure 8, the job will only receive a status from SAP where SAP acknowledges the receipt of the IDoc. Depending on the partner configuration this can mean that the IDoc itself is processed asynchronously at a later time. In order to verify that SAP actually processed the IDocs successfully the configuration must be checked at a later point in time, which can be done using the SAP transaction we02 or in case the Ready-to-Launch Solution for SAP is used via post load reporting included in that solution. Additional capabilities include setting the IDoc control record values automatically before sending IDocs to SAP, as well as providing a packet size for IDocs.


Figure 8. IDoc Load job example
Figure 8 shows the datastage job with IDocs loaded

The IDoc Extract stage and the IDoc Load stage share a common architecture regarding their design time used by developers at DataStage job development time and their runtime applicable to the DataStage job execution time. Both are shown in Figure 9.


Figure 9. IDoc design and runtime architecture
Figure 9 shows the shared common design architecture of the IDoc Design and Runtime

At IDoc design time, the developer opening the IDoc stage can browse the list of all IDocs in the SAP IDoc library and can retrieve the IDoc metadata. The developer chooses the IDoc and the IDoc version as well as the scope for the IDoc (not all segment tables in the segment table hierarchy of an IDoc are mandatory). The IDoc stages communicate with SAP using the RFC protocol. For IDoc processing the SAP Basis Administrator needs perform some SAP-side setup which includes configuring a gateway service, a RFC destination, a partner profile and a distribution model.

When running a DataStage job with an IDoc Load stage the job reads data from a data source, creates one or multiple instances of IDocs which are sent to SAP based on the asynchronous RFC protocol. SAP acknowledges the receipt of the IDoc but just places it into the IDoc inbound storage. Asynchronously at a later point in time SAP processes the IDocs and tries to write their content to the database used by SAP. Therefore, it needs to be checked after job completion whether or not SAP was able to successfully process all IDocs sent to it.

Before running a DataStage job with an IDoc Extract stage, the IDoc Listener needs to be started. If the IDoc Listener is running, then based on the configuration of the job, the job is either executed each time an IDoc is received from SAP or in bulk mode, in which case the IDoc listener accumulates the IDocs and starts a DataStage job after a certain amount of IDocs have been received.

Rapid Modeler for SAP and Rapid Generator for SAP

With SAP Packs version 7, two new capabilities have been added to the SAP Packs.

  • Rapid Modeler for SAP allows to import logical tables and IDoc metadata from SAP into a data model of InfoSphere Data Architect.
  • Rapid Generator for SAP allows to generate ABAP and IDoc jobs from those data models.

Both capabilities have been added to dramatically reduce the development time of ETL jobs reading or writing data to and from SAP. These capabilities are particularly valuable to develop batch ETL interfaces for SAP or in the context of SAP migration or consolidation projects using the Ready-to-Launch for SAP solution.

Figure 10 shows a logical data model created with the Rapid Modeler for SAP in IBM InfoSphere Data Architect. The Data Project Explorer in the upper left corner shows the logical data model MATMAS04.ldm for the SAP IDoc type MATMAS04. The main view shows two IDoc segments of MATMAS04 and its corresponding IDoc fields.

Based on this logical data model, a physical data model can be derived, which is the base for the automatic DataStage job generation that is done by the Rapid Generator for SAP. Figure 11 shows a fully generated DataStage job with an IDoc Extract stage that processes MATMAS04 IDocs and stores the IDoc segments in a database.


Figure 10. Rapid Modeler – Extraction of SAP IDoc metadata into a logical data model
Figure 10 shows a logical data model created with Rapid Modeler – Extraction of SAP IDoc metadata into a logical data model

Figure 11. DataStage job generated by Rapid Generator
Figure 11 shows the fully generated DataStage job that is generated by Rapid Generator

SAP Administrator Client

The SAP Administrator Client, as shown in Figure 12, is a tool that helps to configure the connections required by DataStage jobs using the SAP Packs. The SAP Administrator Client allows the creation and maintenance of SAP connections and additional configuration options like IDoc partner numbers.


Figure 12. DataStage Administrator Client for SAP
Figure 12 shows the DataStage Administrator Client for SAP

SAP security primer

During a project where IBM InfoSphere Information Server is used for data exchange with SAP, a technical user on SAP needs to be made available for the DataStage jobs to connect to the SAP system. Therefore, a member from the ETL development team needs to work with the SAP Basis Administrator to get technical users for the SAP system with appropriate permissions. It is called a technical user because this user ID is supposedly only used by DataStage to connect to SAP, and these user IDs are supposedly not used to work through the SAP GUI with SAP.

A user in SAP is created by using the transaction su01 as shown in Figure 13.


Figure 13. SAP transaction su01 for user maintenance
Figure 13 shows a user in SAP using transaction su01 for user maintenance

When creating a user, this is a client-specific operation since SAP is a multi-client system. This means that if DataStage needs to load data to SAP, then you need to know into which client identified by a 3-digit number the data should be loaded. Understanding the fact that SAP is a multi-client system is not only important for user management, it is also critical since importing transports to add custom functionality to SAP is also a client specific operation. As discussed in the installation section, when the deployment of the SAP Packs to SAP are explained, you need to know in which client you are installing.

When using su01 in the client for which either data should be loaded or extracted, you can assign the expected parameters like a user name, some description fields and a password for the user. Another important concept of a user in SAP are authorization profiles as shown in Figure 14.


Figure 14. Profiles for a user
Figure 14 shows of                     authorizatoin profiles for a user

A profile in SAP is the authorization to perform a certain task or a group of tasks. For example, if you assign the SAP_ALL authorization to a user, the user is permitted to do everything. If you only assign B_ALE_ALL and S_IDOC_ALL, the user can perform ALL operations and process IDocs, but can’t do other things. Using the InfoSphere Packs for SAP requires depending on the stages you intend to implement, and whether or not it is for design or runtime purposes or both authorizations for the technical SAP user used. Those authorizations need to be configured appropriately in su01 by the SAP Basis Administrator for you.

SAP Packs authorization requirements

To perform the different steps of job design and job execution as described in the SAP Packs section, certain privileges must be granted to the technical SAP user. The privileges vary depending on the stage that is used and the phase in the life cycle of the DataStage job. There are pre-configured authorization profiles delivered with the product. For details on how to customize the authorization profiles see stage-specific authorization details.

An introduction to SAP Packs authorization profiles

There are two authorization profiles delivered with the product. The authorization profiles are made available as transport requests, so they can be imported into a SAP system as described in the Installation of the SAP Packs section.

An authorization profile is composed of authorizations. An authorization represents an authorization object together with the values that are assigned to the set of authorization fields that make up the authorization object.

The authorization profiles provided for the SAP Packs are composed of SAP-defined authorizations when possible, but also contain authorizations specifically configured for the use with the SAP Packs. In addition, SAP provides complete pre-defined authorization profiles that contain all authorizations needed to perform a specific set of activities, for example S_IDOC_ALL contains all the authorizations needed for working with IDocs. When available these SAP-defined profiles are documented for the use with the SAP Packs.

The delivered authorization profiles contain the required authorizations needed for using the ABAP, BAPI, and IDoc stages. In addition to these profiles, the technical SAP user must have the following SAP-defined profiles assigned to use the full SAP Packs functionality.

  • S_IDOC_ALL and B_ALE_ALL to access IDoc stage functionality.
  • Each BAPI / RFM call has its specific authorization requirements.
  • S_TMW_CREATE to access ABAP Extract stage Change and Transport System (CTS) functionality.

The user is required to have a developer key assigned when using CTS to upload the ABAP program.

The two authorization profiles delivered with the product are called Z-DS_LOAD and Z_DS_PROFILE. Z-DS_LOAD is the design-time profile that contains all authorizations needed to create and run SAP Packs jobs. Z_DS_PROFILE is the runtime profile that contains only the authorizations needed to run SAP Packs jobs. This distinction is made to provide users with an authorization profile that can be used in a development environment (Z-DS_LOAD) where tasks like job design and unit-testing are performed and one that is more restrictive and can be used in a production environment (Z_DS_PROFILE) where only activities needed during the actual job run should be allowed.

Mapping of the SAP authorizations to development, test and production environments

A detailed discussion on best practices using the authorization profiles in relation to different environment strategies is covered in more detail in the second article. The focus of this section is on the required SAP privileges for the different environments which is described for a basic environment setup with a development, testing and production environment.

On the development system, DataStage jobs are designed and unit-tested. To perform these tasks, the technical SAP user needs design-time as well as runtime privileges for the stages that are to be used in the jobs to be developed.

The testing environment should simulate the production environment. On this system, the technical SAP user should be assigned only the runtime authorizations needed for the stages used in jobs that are to run in the production environment.

In the production environment there are usually the most restrictive security policies established. As a result, only the absolutely necessary privileges should be granted to the technical SAP user, which means only the runtime authorizations needed for the stages used in the jobs running in production.

Detailed information on the different authorizations needed for each stage type at design and runtime are found in the stage-specific authorization details section, and enable customizations of the authorization profiles for the different environments.

Stage-specific authorization details

The following section contains specific information on authorizations needed for each stage depending on the respective phase in the life cycle of the DataStage job. This information will help to customize authorization profiles according to your needs. For details on the different activities that are performed for each stage, see the SAP Packs section. The following is an overview list of the different usage scenarios described in this section.

  • ABAP Extract stage
    1. ABAP stage using RFC (job design)
    2. ABAP stage using RFC (job run)
    3. ABAP stage using FTP (job design)
    4. ABAP stage using FTP (job run)
    5. ABAP stage using background processing for the ABAP program
    6. ABAP stage using CTS for uploading the ABAP program
  • BAPI stage
    1. Job design
    2. Job run
  • IDoc stages
    1. Job design
    2. Job run
  • Rapid Modeler for SAP
    1. Table metadata
    2. IDoc metadata

Use SAP transaction SU02 to create an authorization profile or to adjust the imported authorization profiles.

ABAP extract stage

ABAP stage authorizations using RFC (job design) are shown in Table 1.


Table 1. ABAP stage authorizations using RFC (job design)

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, SDTX, SDIFRUNTIME, RFC1, SALF, ZETL, ZETL_CTS
RFC_TYPE: FUGR
S_DEVELOPBC_CABAP WorkbenchACTVT: 01, 02, 03, 06, 16
DEVCLASS: *
OBJTYPE: PROG
OBJNAME: *
P_GROUP: *
S_TABU_DISBC_ATable MaintenanceACTVT: 03
DISBERCLS: *
S_RFC_ADMAAABAdministration for RFC DestinationACTVT: 03
ICF_VALUE: *
RFCDEST: *
RFCTYPE: T

Notes:

  • S_DEVELOP: You can adjust OBJNAME according to the naming convention that you want to use for ABAP programs generated by the ABAP stage (for example specify Z_DS* instead of *).
  • S_RFC_ADM: You can adjust RFCDEST according to the naming conventions that you want to use for the RFC destinations used for communication with the ABAP stage.

ABAP stage authorizations using RFC (job run) are shown in Table 2.


Table 2. ABAP stage authorizations using RFC (job run)

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, SDIFRUNTIME, RFC1, SALF, QOWK, ZETL, ZETL_CTS
RFC_TYPE: FUGR
S_RFC_ADMAAABAdministration for RFC DestinationACTVT: 01, 03, 06
ICF_VALUE: *
RFCDEST: *
RFCTYPE: T
S_DEVELOPBC_CABAP WorkbenchACTVT: 03, 16
DEVCLASS: *
OBJTYPE: PROG
OBJNAME: *
P_GROUP: *
S_ADMI_FCDBC_ASystem AuthorizationsS_ADMI_FCD: NADM
S_BTCH_JOBBC_ABackground ProcessingJOB_ACTION: RELE
JOBGROUP: *

Notes:

  • S_DEVELOP: You can adjust OBJNAME according to the naming convention that you want to use for ABAP programs generated by the ABAP stage (for example specify Z_DS* instead of *)
  • S_RFC_ADM: This authorization is only needed if you enable automatic creation and deletion of the RFC destination in the ABAP stage. You can adjust RFCDEST according to the naming conventions that you want to use for the RFC destinations used for communication with the ABAP stage.

ABAP stage authorizations using FTP (job design) are shown in Table 3.


Table 3. ABAP stage authorizations using FTP (job design)

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, SDTX, SDIFRUNTIME, RFC1, ZETL, ZETL_CTS
RFC_TYPE: FUGR
S_DEVELOPBC_CABAP WorkbenchACTVT: 01, 02, 03, 06, 16
DEVCLASS: *
OBJTYPE: PROG
OBJNAME: *
P_GROUP: *
S_TABU_DISBC_ATable MaintenanceACTVT: 03
DISBERCLS: *

Note: S_DEVELOP: You can adjust OBJNAME according to the naming convention that you want to use for ABAP programs generated by the ABAP stage (for example specify Z_DS* instead of *).

ABAP stage authorizations using FTP (job run) are shown in Table 4.


Table 4. ABAP stage authorizations using FTP (job run)

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, SDIFRUNTIME, RFC1, ZETL, ZETL_CTS
RFC_TYPE: FUGR
S_DEVELOPBC_CABAP WorkbenchACTVT: 03, 16
DEVCLASS: *
OBJTYPE: PROG
OBJNAME: *
P_GROUP: *
S_BTCH_JOBBC_ABackground ProcessingJOB_ACTION: RELE
JOBGROUP: *
S_DATASETBC_AAuthorizations for file accessACTVT: 34
FILENAME: *
PROGRAM: Z*,Y*

Note: S_DEVELOP: You can adjust OBJNAME according to the naming convention that you want to use for ABAP programs generated by the ABAP stage (for example specify Z_DS* instead of *).

ABAP stage authorizations for background job processing are shown in Table 5.
Add the following authorizations to your ABAP stage runtime profile if you want to run the ABAP program that extracts the data, as a background job in your SAP System.


Table 5. ABAP stage authorizations for background processing of the ABAP program

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SXMI, SXBP
RFC_TYPE: FUGR
S_XMI_PRODBC_AAuthorizations for external management toolINTERFACE: XBP
EXTPROD: DATASTAGE
EXTCOMPANY: IBM Corp.

ABAP stage authorizations for CTS support.

Assign the following SAP-defined authorization profile to the user that configures the ABAP jobs (design-time user): S_TMW_CREATE
This profile grants the required authorizations to add the ABAP program by means of a transport request to your SAP System. In addition the user must have a developer key assigned to create transport requests.

BAPI stage

Authorizations for BAPI stage (job design) are shown in Table 6.


Table 6. Authorizations for BAPI stage (job design)

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, SDIFRUNTIME, RFC1, SEM5, SWOR
RFC_TYPE: FUGR

Authorizations for BAPI stage (job run) are shown in Table 7.


Table 7. Authorizations for BAPI stage (job run)

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, BAPT
RFC_TYPE: FUGR

Each BAPI call has its specific authorization requirements. For more information about the required authorizations, see the BAPI documentation.

IDOC stages

Authorizations for IDoc stages (job design) are shown in Table 8.


Table 8. Authorizations for IDoc stages (job design)

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, SDIFRUNTIME, SDTX, RFC1, EDIMEXT
RFC_TYPE: FUGR
S_TABU_DISBC_ATable MaintenanceACTVT: 03
DISBERCLS: *

In addition assign the SAP-defined authorization profile to the user performing the IDoc job configuration: S_IDOC_ALL.

Authorizations for IDoc stages (job run) are shown in Table 9.


Table 9. Authorizations for IDoc stages (job run)

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, SDIFRUNTIME, RFC1, EDIN
RFC_TYPE: FUGR

In addition assign the SAP-defined authorization profile to the user running the jobs: B_ALE_ALL.

Rapid Modeler for SAP

Authorizations for extracting table metadata are shown in Table 10.


Table 10. Authorizations for extracting table metadata

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: RFC1, SDIFRUNTIME, SDTB, SDTX, SYST
RFC_TYPE: FUGR
S_TABU_DISBC_ATable MaintenanceACTVT: 03
DISBERCLS: *

Authorizations for extracting IDoc metadata are shown in Table 11.


Table 11. Authorizations for extracting IDoc metadata

Authorization ObjectAuthorization ClassDescriptionAuthorization Definition
S_RFCAAABAuthorization check for RFC AccessACTVT: 16
RFC_NAME: SYST, SDIFRUNTIME, SDTX, RFC1, EDIMEXT
RFC_TYPE: FUGR
S_TABU_DISBC_ATable MaintenanceACTVT: 03
DISBERCLS: *

In addition assign the SAP-defined authorization profile to the user performing the IDoc job configuration: S_IDOC_ALL.
For running the generated ABAP and IDoc jobs find the required ABAP and IDoc runtime authorizations shown previously.

Changes in the security authorization profiles

This section describes the changes in the security authorization profiles from version 6.5.x.x to version 7.0.

SAP Authorizations contained in Z_DS_PROFILE and related changes are shown in Table 12.


Table 12. SAP authorizations contained in Z_DS_PROFILE

Authorization ObjectDescriptionAuthorizationChanges since v6.5.x.x
S_RFC_ADMAdministration for RFC destinationsZ:DS_RFC_ADM
S_RFCAuthorization check for RFC accessZ:DS_RFC
S_DATASETAuthorization for file accessZ:DS_DATASET
S_CPICCalls from ABAP programsZ:DS_CPIC
S_TABU_DISTable MaintenanceZ:DS_TABU_DI
S_BTCH_JOBBackground processingZ:DS_BJOB
S_XMI_PRODAuthorization for external management interfacesZ:DS_XMI
S_ADMI_FCDSystem authorizationsZ:DS_ADMIFCDadded for the ABAP Extract stage in v7
S_DEVELOPABAP WorkbenchZ:DS_RUN

SAP Authorizations contained in Z-DS_LOAD and related changes are shown in Table 13.


Table 13. SAP authorizations contained in Z-DS_LOAD

Authorization ObjectDescriptionAuthorizationChanges since v6.5.x.x
S_RFC_ADMAdministration for RFC destinationsZ:DS_RFC_ADM
S_RFCAuthorization check for RFC accessZ:DS_RFC
S_DATASETAuthorization for file accessZ:DS_DATASET
S_CPICCalls from ABAP programsZ:DS_CPIC
S_TABU_DISTable MaintenanceZ:DS_TABU_DI
S_BTCH_JOBBackground processingZ:DS_BJOB
S_XMI_PRODAuthorization for external management interfacesZ:DS_XMI
S_ADMI_FCDSystem authorizationsZ:DS_ADMIFCDadded for the ABAP Extract stage in v7
S_DEVELOPABAP WorkbenchZ:DS_LOAD
S_CTS_ADMINAdministration functions in CTSZ:DS_CTS_AD
S_TRANSPRTTransport OrganizerZ:DS_TRANSP

Installation of the SAP Packs

For the installation of the SAP Packs the following three main parts are installed.

  1. Server-side installation where the InfoSphere Information Server components are installed.
  2. Client-side installation where the InfoSphere Information Server clients are installed.
  3. Installation of SAP Transports on the SAP application systems.

The first two parts are not in the scope of this article (see Resources). The following section focuses on the components that must be deployed on the SAP side to use the SAP Packs. The SAP Transport Management System works per client, so the deployment needs to be performed for each SAP client that is supposed to be used with the SAP Packs.

For illustrating the best practices example, a SAP Netweaver ERP 6.0 Unicode system on AIX is used. In Tables 14 and 15 you find the transport IDs for other system combinations.


Table 14. Transport IDs for other system combinations - Unicode

Unicode
ECC 6.0R/3
RFC ServiceR47K900478R47K900478
RFC Service CTSR47K900485R47K900485
Authorization ProfilesRP5K900874R47K900498


Table 15. Transport IDs for other system combinations - non-Unicode
non-Unicode
ECC 6.0R/3
RFC ServiceEC1K900176E47K900252
RFC Service CTSEC1K900177E47K900256
Authorization ProfilesEC1K900182E47K900257

There are 3 transports delivered with the product that need to be imported to SAP. Each transport consists of 2 files, a data and a co-file.

  1. RFC Service IIS Pack for V7.0 consists of: R900478.R47 and K900478.R47
  2. RFC Service (CTS) IIS Pack for V7.0 Unicode consists of: R900485.R47 and K900485.R47
  3. Profiles for IIS Pack for SAP V7.0 (ECC 6.0, Unicode) consists of: R900874.RP5 and K900874.RP5

Table 16 shows you the detailed content of each transport.


Table 16. Content per transport

Transport IDDescriptionContent
K900478.R47RFC Service IIS Pack for SAP 7.0 (Unicode)Function Modules: Z_DS_ABAP_TRANS, Z_RFC_DS_SERVICE
Database Tables: ZETLTRSF, ZETLTRSFX
Structures: ZETLSTR
K900485.R47RFC Service (CTS) IIS Pack for SAP 7.0 (Unicode)Function Modules: Z_RFC_DS_SERVICE_CTS
K900874.RP5Profiles for IIS Pack 7.0 (ECC 6.0, Unicode)Authorization Profiles: Z-DS_LOAD, Z_DS_PROFILE

To prepare the transports for the import in the SAP client copy the data and co-files to the respective sub-directories. The files named Rxxx are the data files and must be copied to the data sub-directory in the transport directory, and the files named Kxxx are the co-files and must be copied to the co-files sub-directory in the transport directory of your SAP installation. This leads to the following file listings for the 2 directories (also shown in Figure 15).

Data Directory (in our example located in /usr/sap/trans/data).

  • R900478.R47
  • R900485.R47
  • R900874.RP5

Co-files Directory (in our example located in /usr/sap/trans/cofiles).

  • K900478.R47
  • K900485.R47
  • K900874.RP5

Figure 15. Example location for the transports on AIX
Figure 15 shows the example location for the transports on AIX

Make sure the files are owned by root and have the 777 file permission. Otherwise you might get an error message during the deployment of the transports.

Note: If you want to make use of CTS for deploying the required SAP-side components to your system landscape, then you have to create the packages ZETL and ZETL_CTS with the appropriate transport route definition for your environment before you continue to import the transports that you just added to your file system. Work with your SAP Administrator to get the correct transport layer for your environment. You can use transaction se80 to create a new package. In Part 2 of this article series you will find detailed information on deployment strategies.

  1. To get started deploying the transports, log in to your SAP system. Open the SAP transaction STMS (short for SAP Transport Management System) as shown in Figure 16.

    Figure 16. Starting the STMS transaction for deploying ABAP Transports
    Figure 16 shows you the starting the STMS transaction for deploying ABAP Transports

  2. Click on the truck icon shown in Figure 17.

    Figure 17. Start screen of Transport Management System
    Figure 17 shows you the Start screen of Transport Management System

  3. The screen shown in Figure 18 shows where all your import queues are listed. Double-click the queue which you intend to use for your transports, which is usually the SID of the SAP system.

    Figure 18. List of import queues for transports
    Figure 18 shows all of the Import Queues for Transports

  4. In order to add the SAP Packs transports to your input queue, go to ExtrasOther RequestsAdd, as shown in Figure 19.

    Figure 19. Start to add a transport to a transport queue
    Figure 19 shows shows the Extras - Other Requests - Add where you                     start to add a transport to a transport queue

  5. Select the SAP Packs transport you want to import, as shown in Figure 20. Repeat this for each of the SAP Packs transports.

    Figure 20. List of available transports to be added
    Figure 20 shows the list of available transports to be imported

  6. As a result the three transports are added to the imports queue as shown in Figure 21.

    Figure 21. List of imports
    Figure 21 shows the                     result of transports that were added tothe imports queue

  7. Now you have the following two choices. You can either import each transport individually by clicking the truck icon where the back part of the truck is partially covered in yellow, or you can import all transports together by clicking the truck icon where the back part of the truck is fully covered in yellow as shown in Figure 21. Note: Make sure you import the RFC Service transport (R47K900478) before the RFC Service (CTS) transport (R47K900485).
  8. Once you've triggered the import, a pop-up screen appears as shown in Figure 22.

    Figure 22. Select the client
    Figure 22 shows                     entering the client number for which you intend to install the SAP                     Packs

  9. Enter the client number for which you intend to install the SAP Packs. SAP is a multi-client system, so you need to install the SAP Packs in each client where you want to use it. Also select the option Immediate in case you want to get the transports applied right away. Then click on the green check mark on the lower right corner of the pop-up moving you to the screen shown in Figure 23 where you need to confirm the import request.

    Figure 23. Confirm import request
    Figure 23 shows how to                     confirm the import request

This completes the SAP Packs installation including the installation of the security profiles. In case you want to check if the imports were successful, you can check the logs by right-clicking on the transport request and selecting Logs from the list. Furthermore you can verify that the RFC services and authorization profiles are available on the system.

Open se80 and select the package ZETL for the RFC service and ZETL_CTS for the CTS RFC service respectively. Now you can verify if the components listed in the previous table are in place as shown with the example in Figures 24 and 25.


Figure 24. Function Builder
Figure 24 shows                     verifcation of the components from the Function Builder

Figure 25. DataStage Administrator Client for SAP
Figure 25 shows the verification of components by the DataStage Administrator Client for SAP

Open su01 again and try to assign the Z_DS_PROFILE and Z-DS_LOAD security authorization profiles to a user as shown in Figure 26.


Figure 26. Assigning the design and run-time authorizations for SAP Packs to a technical SAP user
Figure 26 shows assigning the Z_DS_PROFILE and Z-DS-Load design and run-time authorizations for SAP Packs to a technical SAP user

Conclusion

In this article InfoSphere Information Server and InfoSphere Information Server Pack for SAP Applications V7 were introduced. The article discussed the authorization requirements for each of the SAP Packs stages as well as for the Rapid Modeler and Generator for SAP. It also provided details on which authorizations are needed in the different phases of the DataStage job life cycle. With this information you can customize the authorizations according to the requirements in the respective system environment where you want to use the SAP Packs.

Part 2 of this article series will provide you with the best practices on how to apply the security concepts and authorization profiles for addressing different security and code management requirements in enterprise-level Information Server and SAP environments.

Acknowledgement

The authors would like to thank their colleague Oliver Suhre for his valuable feedback and comments improving this article.


Resources

Learn

Get products and technologies

  • Evaluate IBM products in the way that suits you best: Download a product trial, try a product online, use a product in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement Service Oriented Architecture efficiently.

Discuss

About the authors

Photo of author Christian Gaege

Christian Gaege is a software engineer working in the Information Platform and Solutions team. He started at IBM in 2008 in the IBM Silicon Valley Labs in the United States and is currently based in the IBM Research and Development Lab in Germany. Christian is developing applications and tools for the integration of SAP into the IBM Information Server product portfolio. He holds a master's degree in computer science from Furtwangen University in Germany.

Martin Oberhofer 的照片 developerWorks Contributing author level

Martin Oberhofer works as Senior IT Architect in the area of Enterprise Information Architecture with large clients world-wide. He helps customers to define their Enterprise Information Strategy and Architecture solving information-intense business problems. His areas of expertise include master data management based on an SOA, data warehousing, information integration and database technologies. He especially likes to work with enterprises running SAP applications solving the SAP-specific information management challenges. Martin provides, in a lab advocate role, expert advice for Information Management to large IBM clients. He started his career at IBM in the IBM Silicon Valley Labs in the United States at the beginning of 2002 and is currently based in the IBM Research and Development Lab in Germany. Martin co-authored the books Enterprise Master Data Management: An SOA Approach to Managing Core Information and The Art of Enterprise Information Architecture: A Systems-Based Approach for Unlocking Business Insight as well as numerous research articles and developerWorks articles. As inventor, he contributed to over 30 patent applications for IBM. Martin is also a The Open Group Master Certified IT Architect and holds a master’s degree in mathematics from the University of Constance/Germany.

Photo of author Nicole Schoen

Nicole Schoen is a software engineer working in the Information Platform and Solutions team at the IBM Research and Development Lab in Boeblingen. She started working for IBM as a developer for OMEGAMON XE for DB2 Performance Expert on z/OS in 2006. Now she is developing applications and tools for the integration of SAP into the IBM Information Server product portfolio.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Information Management
ArticleID=787928
ArticleTitle=Security and deployment best practices for InfoSphere Information Server Packs for SAP applications, Part 1: A security primer
publish-date=01192012

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers