Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

452
User Guide Informatica PowerCenter Connect for SAP NetWeaver (Version 8.1.1)

Transcript of Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Page 1: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

User Guide

Informatica PowerCenter Connectfor SAP NetWeaver(Version 8.1.1)

Page 2: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Informatica PowerCenter Connect for SAP NetWeaver User GuideVersion 8.1.1September 2007

Copyright (c) 1998–2007 Informatica Corporation.All rights reserved. Printed in the USA.

This software and documentation contain proprietary information of Informatica Corporation, and are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright law. Reverse engineering of the software is prohibited. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without the prior written consent of Informatica Corporation.

Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable.

The information in this product or documentation is subject to change without notice. If you find any problems in the software or documentation, please report them to us in writing. Informatica Corporation does not warrant that this product or documentation is error free.

Informatica, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, Metadata Manager, Informatica Data Quality and Informatica Data Explorer are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be trade names or trademarks of their respective owners. U.S. Patent Pending.

DISCLAIMER: Informatica Corporation provides this documentation “as is” without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of non-infringement, merchantability, or use for a particular purpose. The information provided in this documentation may include technical inaccuracies or typographical errors. Informatica could make improvements and/or changes in the products described in this documentation at any time without notice.

Page 3: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table of Contents

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiAbout This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii

Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii

Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxiii

Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . .xxiii

Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxiii

Visiting the Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . .xxiii

Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxiii

Part I: Getting Started with PowerCenter Connect for SAP NetWeaver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Chapter 1: Understanding PowerCenter Connect for SAP NetWeaver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

PowerCenter and mySAP Integration Methods . . . . . . . . . . . . . . . . . . . . . . . . 5

Data Integration Using the ABAP Program . . . . . . . . . . . . . . . . . . . . . . . 5

IDoc Integration Using ALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Data Integration Using RFC/BAPI Functions . . . . . . . . . . . . . . . . . . . . . 7

Data Migration Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Business Content Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

PowerCenter and BW Integration Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 8

BW Data Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

BW Data Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Communication Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Common Program Interface-Communications . . . . . . . . . . . . . . . . . . . . 12

Remote Function Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Transport System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Table of Contents iii

Page 4: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Chapter 2: Configuring mySAP Option . . . . . . . . . . . . . . . . . . . . . . . . 15Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Changes to Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Upgrading mySAP Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Configuration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Configuration Tasks and Integration Methods . . . . . . . . . . . . . . . . . . . . 18

Integrating with SAP Using ABAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Integrating with SAP Using ALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Integrating with SAP Using RFC/BAPI Functions . . . . . . . . . . . . . . . . . 20

Migrating Data to SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Integrating with SAP Business Content . . . . . . . . . . . . . . . . . . . . . . . . . 20

Installing and Configuring SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Step 1. Delete Transport Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Step 2. Transport Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Step 3. Run Transport Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Step 4. Create Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Step 5. Create Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Step 6. Create a Development Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Renaming the sideinfo and saprfc.ini Files on Windows . . . . . . . . . . . . . . . . 30

Defining PowerCenter as a Logical System in SAP . . . . . . . . . . . . . . . . . . . . 31

Creating a Logical System for IDoc ALE Integration . . . . . . . . . . . . . . . . 31

Creating a Logical System for Business Content Integration . . . . . . . . . . 35

Configuring the sideinfo File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Sample sideinfo File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Configuring an Entry in the sideinfo File . . . . . . . . . . . . . . . . . . . . . . . . 39

Creating Entries in the Services File for Stream Mode Sessions . . . . . . . . 40

Configuring the saprfc.ini File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

saprfc.ini Entry Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Sample saprfc.ini File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Configuring an Entry in the saprfc.ini File . . . . . . . . . . . . . . . . . . . . . . . 42

Uninstalling mySAP Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Cleaning Up the SAP System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Chapter 3: Configuring BW Option . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

iv Table of Contents

Page 5: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Changes to Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Configuration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Upgrading BW Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Creating Profiles for Production and Development Users . . . . . . . . . . . . . . . 48

Renaming the saprfc.ini File on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Defining PowerCenter as a Logical System in SAP BW . . . . . . . . . . . . . . . . . 52

Configuring the saprfc.ini File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

saprfc.ini Entry Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Sample saprfc.ini File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Configuring an Entry in the saprfc.ini File . . . . . . . . . . . . . . . . . . . . . . 54

Creating the SAP BW Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Load Balancing for the BW System and the SAP BW Service . . . . . . . . . 56

Steps to Create the SAP BW Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Importing the ABAP Program into SAP BW . . . . . . . . . . . . . . . . . . . . . . . . 59

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Part II: Data Integration Using ABAP . . . . . . . . . . . . . . . . . . . . . . . . . 61

Chapter 4: Importing SAP R/3 Source Definitions . . . . . . . . . . . . . . . 63Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Table and View Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Importing Key Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Hierarchy Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Uniform Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Non-Uniform Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Importing Hierarchy Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Establishing Hierarchy Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

IDoc Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Importing IDoc Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Viewing IDoc Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Importing a Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Filtering Definitions in the Import Dialog Box . . . . . . . . . . . . . . . . . . . 78

Steps to Import an SAP R/3 Source Definition . . . . . . . . . . . . . . . . . . . 78

Editing a Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Organizing Definitions in the Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Creating Repository Nodes for Hierarchies . . . . . . . . . . . . . . . . . . . . . . 83

Working with Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Table of Contents v

Page 6: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Chapter 5: Working with ABAP Mappings. . . . . . . . . . . . . . . . . . . . . . 87Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Setting the Select Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Select Single . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Select Distinct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Setting the Order By Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Transparent Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Pool and Cluster Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Viewing the Hierarchy Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Viewing IDoc Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Working with the ABAP/4 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Selecting the Program Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Naming the ABAP Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Adding Authority Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Working with ABAP Programs and Versioned Mappings . . . . . . . . . . . . . 97

Generating and Installing the ABAP Program . . . . . . . . . . . . . . . . . . . . . 99

Deploying ABAP Mappings with ABAP Programs . . . . . . . . . . . . . . . . . 102

Uninstalling the ABAP Program and Viewing Program Information . . . . 102

Cleaning ABAP Program Information . . . . . . . . . . . . . . . . . . . . . . . . . 103

Copying Program Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Chapter 6: Working with SAP Functions in ABAP Mappings . . . . . . 107Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Using SAP Functions in the ABAP Program Flow . . . . . . . . . . . . . . . . . . . . 109

SAP Function Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Using SAP Functions in the ABAP Program Flow . . . . . . . . . . . . . . . . . 109

Importing SAP Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Viewing SAP Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Inserting SAP Functions in the ABAP Program Flow . . . . . . . . . . . . . . . . . . 114

Configuring SAP Function Parameters in the ABAP Program Flow . . . . 115

Steps for Inserting an SAP Function in the ABAP Program Flow . . . . . . 116

Validating SAP Functions in the ABAP Program Flow. . . . . . . . . . . . . . 117

vi Table of Contents

Page 7: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Chapter 7: Application Source Qualifier for SAP R/3 Sources . . . . 119Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Generating an ABAP Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Available ABAP Generation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Generating Open SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Generating Exec SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Generating ABAP Join Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Working with ABAP Program Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Validating the ABAP Program Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Joining Source Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Joining Sources Using Open SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Joining Sources Using Exec SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Joining Sources Using ABAP Join Syntax . . . . . . . . . . . . . . . . . . . . . . . 129

Selecting a Join Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Using Multiple Outer Joins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Joining Tables and Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Joining Tables and IDocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Specifying Join Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Creating an ABAP Code Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Rules for Inserting the ABAP Code Block . . . . . . . . . . . . . . . . . . . . . . 136

Creating ABAP Program Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Naming Convention. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Creating Structure and Structure Field Variables . . . . . . . . . . . . . . . . . 137

Creating ABAP Type Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

Viewing ABAP Program Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Using SAP System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Entering a Source Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Using Dynamic Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Using Static Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Using Mapping Variables and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Using Mapping Variables in the ABAP Program Flow . . . . . . . . . . . . . . 145

Working with SAP Date Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Working with IDoc Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Working with IDoc Sources in the ABAP Program Flow . . . . . . . . . . . . 147

Entering an IDoc Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Validating the IDoc Filter Condition . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Creating and Configuring an Application Source Qualifier . . . . . . . . . . . . . 150

Table of Contents vii

Page 8: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring an Application Source Qualifier . . . . . . . . . . . . . . . . . . . . 150

Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Chapter 8: Configuring Sessions with SAP R/3 Sources . . . . . . . . . 153Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Session Modes for ABAP Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Running Stream Mode Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Running File Mode Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Reusing Staging Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Overriding Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Accessing Staging Files for ABAP Mappings . . . . . . . . . . . . . . . . . . . . . . . . 161

Modes of Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Enabling Access to Staging Files on UNIX . . . . . . . . . . . . . . . . . . . . . . 162

Configuring File Mode Session Properties . . . . . . . . . . . . . . . . . . . . . . 163

Pipeline Partitioning for SAP R/3 Sources . . . . . . . . . . . . . . . . . . . . . . . . . 165

Configuring a Session for Mappings with SAP R/3 Sources . . . . . . . . . . . . . 166

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Part III: IDoc Integration Using ALE . . . . . . . . . . . . . . . . . . . . . . . . . 171

Chapter 9: Creating Outbound IDoc Mappings . . . . . . . . . . . . . . . . . 173Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

Defining PowerCenter as a Logical System for Outbound IDocs . . . . . . 174

Creating an Outbound IDoc Mapping . . . . . . . . . . . . . . . . . . . . . . . . . 174

Processing Invalid Outbound IDocs . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

Creating an SAPALEIDoc Source Definition . . . . . . . . . . . . . . . . . . . . . . . 176

Using SAPALEIDoc Source Definitions in an Outbound IDoc Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

Creating the Application Multi-Group Source Qualifier . . . . . . . . . . . . . . . 177

Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Creating the Application Multi-Group Source Qualifier Transformation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Working with the SAP/ALE IDoc Interpreter Transformation . . . . . . . . . . . 178

Segments and Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Creating an SAP/ALE IDoc Transformation . . . . . . . . . . . . . . . . . . . . . 182

Editing an SAP/ALE IDoc Interpreter Transformation . . . . . . . . . . . . . 189

viii Table of Contents

Page 9: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Processing Invalid Outbound IDocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

Chapter 10: Creating Inbound IDoc Mappings . . . . . . . . . . . . . . . . . 193Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Defining PowerCenter as a Logical System for Inbound IDocs . . . . . . . 194

Creating an Inbound IDoc Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Processing Invalid Inbound IDocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Working with the SAP/ALE IDoc Prepare Transformation . . . . . . . . . . . . . 196

IDoc Primary and Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

Creating an SAP/ALE IDoc Prepare Transformation . . . . . . . . . . . . . . . 198

Editing an SAP/ALE IDoc Prepare Transformation. . . . . . . . . . . . . . . . 198

Creating an SAPALEIDoc Target Definition . . . . . . . . . . . . . . . . . . . . . . . 202

Configuring Inbound IDoc Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Passing Values to the DOCNUM Port . . . . . . . . . . . . . . . . . . . . . . . . . 203

Processing Invalid Inbound IDocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Chapter 11: Configuring Workflows for IDoc Mappings Using ALE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

Configuring Sessions for Outbound IDoc Mappings . . . . . . . . . . . . . . . . . . 207

Session Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

Message Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

Pipeline Partitioning for the Application Multi-Group Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Outbound IDoc Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Continuous Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Configuring Sessions for Inbound IDoc Mappings . . . . . . . . . . . . . . . . . . . 212

Pipeline Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Sending IDocs to SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Inbound IDoc Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Caching Inbound IDoc and DMI Data . . . . . . . . . . . . . . . . . . . . . . . . 214

Steps to Configure Sessions for IDoc Mappings Using ALE. . . . . . . . . . . . . 216

Error Handling for IDoc Sessions Using ALE . . . . . . . . . . . . . . . . . . . . . . . 222

Running Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

Part IV: Data Integration Using RFC/BAPI Functions . . . . . . . . . . . . 225

Table of Contents ix

Page 10: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Chapter 12: Working with RFC/BAPI Function Mappings . . . . . . . . 227Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

Extracting Data from SAP Using RFC/BAPI Functions . . . . . . . . . . . . . 228

Changing Data in SAP Using BAPI Functions . . . . . . . . . . . . . . . . . . . 229

Writing Data into SAP Using BAPI Functions . . . . . . . . . . . . . . . . . . . 229

Mapplets in RFC/BAPI Function Mappings . . . . . . . . . . . . . . . . . . . . . 230

Working with RFC/BAPI No Input Mappings . . . . . . . . . . . . . . . . . . . . . . 232

Source Definition in an RFC/BAPI No Input Mapping. . . . . . . . . . . . . 233

Source Qualifier in an RFC/BAPI No Input Mapping . . . . . . . . . . . . . . 233

FunctionCall_No_Input Mapplet in an RFC/BAPI No Input Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

Target Definition in a No Input Mapping . . . . . . . . . . . . . . . . . . . . . . 235

Working with RFC/BAPI Multiple Stream Mappings . . . . . . . . . . . . . . . . . 236

Source Definition in an RFC/BAPI Multiple Stream Mapping . . . . . . . . 238

Source Qualifier for an RFC/BAPI Multiple Stream Mapping . . . . . . . . 239

Prepare Mapplet in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . 240

RFCPreparedData Target Definition in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

Source Qualifier for RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . 242

Transaction_Support Mapplet in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

FunctionCall_MS Mapplet in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

Target Definition in an RFC/BAPI Multiple Stream Mapping . . . . . . . . 244

Working with RFC/BAPI Single Stream Mappings . . . . . . . . . . . . . . . . . . . 246

Source Definition in an RFC/BAPI Single Stream Mapping . . . . . . . . . 247

Source Qualifier in an RFC/BAPI Single Stream Mapping . . . . . . . . . . 250

Sorter Transformation in an RFC/BAPI Single Stream Mapping . . . . . . 251

FunctionCall_SS Mapplet in an RFC/BAPI Single Stream Mapping . . . 251

Target Definition in an RFC/BAPI Single Stream Mapping . . . . . . . . . . 252

Working with Custom Return Structures . . . . . . . . . . . . . . . . . . . . . . . . . . 253

Generating SAP RFC/BAPI Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

Working with Function Input Data for RFC/BAPI Functions . . . . . . . . . . . 261

x Table of Contents

Page 11: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Chapter 13: Configuring RFC/BAPI Function Sessions . . . . . . . . . . 263Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

Copying RFC/BAPI Function Mappings . . . . . . . . . . . . . . . . . . . . . . . 264

Configuring a Session for SAP RFC/BAPI Function Mappings . . . . . . . . . . 265

Error Handling for RFC/BAPI Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

Part V: Data Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Chapter 14: Creating Data Migration Mappings . . . . . . . . . . . . . . . . 273Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

Creating a DMI Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

Working with the SAP DMI Prepare Transformation . . . . . . . . . . . . . . . . . 275

DMI Primary and Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Creating an SAP DMI Prepare Transformation. . . . . . . . . . . . . . . . . . . 277

Editing an SAP DMI Prepare Transformation . . . . . . . . . . . . . . . . . . . 280

Error Handling with DMI Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . 282

Creating a Flat File Target for DMI Data . . . . . . . . . . . . . . . . . . . . . . . . . . 283

Configuring Sessions for DMI Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . 284

Part VI: Business Content Integration . . . . . . . . . . . . . . . . . . . . . . . 285

Chapter 15: Business Content Integration . . . . . . . . . . . . . . . . . . . . 287Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

DataSources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

Logical System in SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

Mappings for Business Content Integration . . . . . . . . . . . . . . . . . . . . . 289

Workflows for Business Content Integration . . . . . . . . . . . . . . . . . . . . 290

Integration Service Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

Steps to Integrate with SAP Business Content . . . . . . . . . . . . . . . . . . . 292

Step 1. Prepare DataSources in SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

Activating a DataSource in SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

Customizing Fields in a DataSource . . . . . . . . . . . . . . . . . . . . . . . . . . 294

Step 2. Import PowerCenter Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

Importing PowerCenter Objects from BCI_Mappings.xml . . . . . . . . . . 295

Creating Database Tables for PowerCenter Objects . . . . . . . . . . . . . . . 296

Configuring an LMAPITarget Application Connection . . . . . . . . . . . . . 297

Table of Contents xi

Page 12: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Identifying and Verifying the Basic IDoc Type in the Listener Mapping . 297

Step 3. Configure and Start the Listener Workflow . . . . . . . . . . . . . . . . . . . 299

Step 4. Create the Processing Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

Update Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

Request Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

Non-Hierarchy and Hierarchy DataSource Processing Mappings . . . . . . 302

Steps to Create a Processing Mapping . . . . . . . . . . . . . . . . . . . . . . . . . 304

Generating and Executing SQL for the Relational Targets . . . . . . . . . . . 311

Step 5. Deploy the Request Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

Step 6. Create the Send Request Workflows . . . . . . . . . . . . . . . . . . . . . . . . 313

Step 7. Create the Processing Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Creating a Processing Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Creating a Cleanup Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Configuring the Processing Workflow . . . . . . . . . . . . . . . . . . . . . . . . . 315

Step 8. Schedule the Processing and Send Request Workflows . . . . . . . . . . . 316

Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

Steps to Schedule the Processing and Send Request Workflows . . . . . . . 318

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

Part VII: BW Data Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Chapter 16: Extracting Data from BW . . . . . . . . . . . . . . . . . . . . . . . . 323Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

Step 1. Create a BW InfoSpoke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

Step 2. Create a PowerCenter Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

Creating the Mapping from an SAP Transparent Table . . . . . . . . . . . . . 326

Creating the Mapping from a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

Step 3. Configure a PowerCenter Workflow . . . . . . . . . . . . . . . . . . . . . . . . 327

Step 4. Configure a Process Chain to Extract Data . . . . . . . . . . . . . . . . . . . 328

Creating the Process Chain and Inserting the Start Process . . . . . . . . . . 328

Inserting an InfoSpoke Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Inserting the ZPMSENDSTATUS ABAP Program . . . . . . . . . . . . . . . . 329

Viewing Log Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

Part VIII: BW Data Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

xii Table of Contents

Page 13: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Chapter 17: Building BW Components to Load Data into BW . . . . . 337Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

InfoSources for Loading Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

SAP BW Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

Transfer Methods for Loading Data into SAP BW . . . . . . . . . . . . . . . . 341

Steps to Build BW Components to Load Data into BW . . . . . . . . . . . . 342

Step 1. Create an InfoSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

Creating an InfoSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

Configuring Hierarchy Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

Step 2. Assign an External Logical System . . . . . . . . . . . . . . . . . . . . . . . . . 345

Step 3. Activate the InfoSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

Chapter 18: Building PowerCenter Objects to Load Data into BW. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

Configuring a Mapping to Filter Data . . . . . . . . . . . . . . . . . . . . . . . . . 348

Step 1. Import an InfoSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

Step 2. Create a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

Filtering Data to Load into SAP BW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

Filtering Data from a Relational Source . . . . . . . . . . . . . . . . . . . . . . . . 352

Filtering Data from a Flat File Source . . . . . . . . . . . . . . . . . . . . . . . . . 353

Filtering Data from an SAP R/3 Source . . . . . . . . . . . . . . . . . . . . . . . . 355

Configuring Mapping Parameters for SAP BW Data Selection . . . . . . . 357

Chapter 19: Loading Data into BW . . . . . . . . . . . . . . . . . . . . . . . . . . 359Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

Step 1. Configure a Workflow to Load Data into SAP BW . . . . . . . . . . . . . 361

Configuring an SAP BW Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361

Creating a PowerCenter Workflow for an SAP BW Session . . . . . . . . . . 362

Step 2. Configure an InfoPackage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364

Creating and Scheduling an InfoPackage . . . . . . . . . . . . . . . . . . . . . . . 364

Setting a Data Selection Entry to Filter Data . . . . . . . . . . . . . . . . . . . . 365

Step 3. Configure a Process Chain to Load Data . . . . . . . . . . . . . . . . . . . . . 366

Creating the Process Chain and Inserting the Start Process . . . . . . . . . . 367

Inserting an InfoPackage Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368

Inserting the ZPMSENDSTATUS ABAP Program . . . . . . . . . . . . . . . . 368

Viewing Log Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

Table of Contents xiii

Page 14: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Viewing SAP BW Service Log Events in the BW Monitor . . . . . . . . . . . 370

Recovering a PowerCenter Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373

Part IX: Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

Appendix A: Virtual Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379Virtual Plug-in (NullDbtype) Source Definition . . . . . . . . . . . . . . . . . . . . . 380

Source Qualifier Transformation for Virtual Plug-in Sources . . . . . . . . . . . . 381

Creating the Application Multi-Group Source Qualifier . . . . . . . . . . . . 381

Virtual Plug-in (NullDbtype) Target Definitions . . . . . . . . . . . . . . . . . . . . 382

Creating a Virtual Plug-in Target Definition . . . . . . . . . . . . . . . . . . . . 382

Appendix B: Datatype Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 383SAP Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

mySAP Option and SAP Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

Overriding Datatypes in the Application Source Qualifier . . . . . . . . . . . 387

Binary Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

CHAR, CUKY, and UNIT Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . 389

BW Option and SAP Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

Date/Time Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Binary Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Numeric Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Writing to SAP BW Date Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

Appendix C: Language Codes, Code Pages, and Unicode Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395Language Code Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

Code Page Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

Code Page Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

Supported Languages and Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

Processing Unicode Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

Processing Unicode Data with a Single Session . . . . . . . . . . . . . . . . . . . 403

Processing Unicode Data with Multiple Sessions . . . . . . . . . . . . . . . . . . 403

Processing Unicode Data with RFC/BAPI Function Sessions . . . . . . . . . 404

Processing Unicode Data with 6.x IDoc Sessions . . . . . . . . . . . . . . . . . 404

Processing Unicode Data with Different Code Pages . . . . . . . . . . . . . . . 404

xiv Table of Contents

Page 15: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Appendix D: Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407Glossary Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

Table of Contents xv

Page 16: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

xvi Table of Contents

Page 17: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

List of Figures

Figure 1-1. PowerCenter and SAP NetWeaver Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Figure 1-2. Extracting Data from BW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Figure 1-3. Loading Data into BW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Figure 1-4. BW Data Loading Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Figure 4-1. Import Table Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figure 4-2. Import Tables with All Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figure 4-3. Import Tables Without All Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Figure 4-4. Sample Uniform Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Figure 4-5. Sample Non-Uniform Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Figure 4-6. Import Hierarchy Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Figure 4-7. Sample Hierarchy Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Figure 4-8. Imported Hierarchy Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Figure 4-9. Detail Table Name for Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Figure 4-10. Import IDoc Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Figure 4-11. IDoc Control Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Figure 4-12. Definitions Organized in Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Figure 5-1. Hierarchy Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Figure 5-2. IDoc Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Figure 5-3. Generate and Install ABAP Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Figure 5-4. Installed Programs Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Figure 6-1. SAP Functions Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Figure 6-2. SAP Function Parameters in the ABAP Program Flow Dialog Box . . . . . . . . . . . . 114

Figure 7-1. Select ABAP Generation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Figure 7-2. ABAP Program Flow Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Figure 7-3. Using SAP System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Figure 8-1. Session Properties for a Stream Mode Session . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Figure 8-2. Session Properties for a File Mode Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Figure 9-1. IDoc Display Tab of the SAP/ALE IDoc Interpreter Transformation . . . . . . . . . 179

Figure 9-2. Segments and Groups in the IDoc Display Tab . . . . . . . . . . . . . . . . . . . . . . . . . 181

Figure 9-3. Segment Status Column Selections when Show Group Status is Cleared . . . . . . . 183

Figure 9-4. SAP/ALE IDoc Transformation Buttons on the Transformations Toolbar . . . . . . 184

Figure 9-5. Outbound IDoc Mapping with Invalid IDoc Error Handling . . . . . . . . . . . . . . . 192

Figure 10-1. Inbound IDoc Mapping with Invalid IDoc Error Handling . . . . . . . . . . . . . . . 203

Figure 11-1. Outbound IDoc Session Conditions in the Session Properties . . . . . . . . . . . . . . 208

Figure 11-2. Configuring a Session for Invalid IDoc Error Handling . . . . . . . . . . . . . . . . . . 214

Figure 12-1. Viewing RFC/BAPI Function Metadata from the Mapplet Input Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

Figure 12-2. RFC/BAPI Mapping for a No-Input BAPI Function Signature . . . . . . . . . . . . . 233

Figure 12-3. Mapplet in a No Input RFC/BAPI Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 234

Figure 12-4. FunctionCall_No_Input Mapplet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

Figure 12-5. RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

List of Figures xv

Page 18: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 12-6. Prepare Mapplet in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . .240

Figure 12-7. RFCPreparedData Target Definition in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241

Figure 12-8. RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242

Figure 12-9. Source Qualifier for RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242

Figure 12-10. Transaction_Support Mapplet in the Function Call Pipeline in a Multiple Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243

Figure 12-11. FunctionCall_MS Mapplet for BAPI_EMPLOYEE_GETLIST . . . . . . . . . . . . .244

Figure 12-12. RFC/BAPI Single Stream Mapping for BAPI_PLANNEDORDER_CREATE . .247

Figure 12-13. Sample Comma Delimited Flat File Source . . . . . . . . . . . . . . . . . . . . . . . . . . .250

Figure 12-14. Flat File Source Definition for BAPI_PLANNEDORDER_CREATE Single Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250

Figure 12-15. Sorter Transformation in an RFC/BAPI Single Stream Mapping . . . . . . . . . . . .251

Figure 12-16. FunctionCall_SS Mapplet in an RFC/BAPI Single Stream Mapping . . . . . . . . .252

Figure 12-17. Return Structure Tab on the Generate SAP RFC/BAPI Mapping Wizard . . . . . .254

Figure 14-1. SAP DMI Prepare Transformation Button on the Transformations Toolbar . . . .278

Figure 15-1. Business Content Integration Workflow Interaction . . . . . . . . . . . . . . . . . . . . . .292

Figure 15-2. Listener Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299

Figure 15-3. Processing Mapping for a Non-Hierarchy DataSource . . . . . . . . . . . . . . . . . . . .303

Figure 15-4. Processing Mapping for a Hierarchy DataSource . . . . . . . . . . . . . . . . . . . . . . . .304

Figure 15-5. Configuring a Delta Update for a Non-Hierarchy DataSource . . . . . . . . . . . . . .308

Figure 15-6. Configuring a Full Update for a Hierarchy DataSource . . . . . . . . . . . . . . . . . . .309

Figure 15-7. Processing Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314

Figure 15-8. Scheduling the Processing and Send Request Workflows . . . . . . . . . . . . . . . . . .317

Figure 17-1. Sample SAP BW Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339

Figure 18-1. Sample Dynamic Filter Condition in the ABAP Program Flow Dialog Box . . . . .356

Figure 18-2. $$BWFILTERVAR Mapping Parameter for SAP BW Data Selection Entries . . . .357

Figure 19-1. Configuring a Process Chain that Loads to the PSA Only . . . . . . . . . . . . . . . . . .366

Figure 19-2. Configuring a Process Chain that Loads to the PSA and a Data Target . . . . . . . .366

Figure C-1. Unicode Data Processing with Different Code Pages . . . . . . . . . . . . . . . . . . . . . .405

xvi List of Figures

Page 19: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

List of Tables

Table 2-1. Configuration Tasks that Apply to Multiple Integration Methods . . . . . . . . . . . . . . 18

Table 2-2. Configuration Tasks and Integration Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Table 2-3. Authorization Necessary for Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Table 2-4. Location for Connection Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Table 2-5. saprfc.ini Entry Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Table 3-1. Authorization Profile for Development User (BW write) . . . . . . . . . . . . . . . . . . . . 48

Table 3-2. Authorization Profile for Production User (BW write) . . . . . . . . . . . . . . . . . . . . . . 49

Table 3-3. Authorization Profile for Development User (BW read) . . . . . . . . . . . . . . . . . . . . . 49

Table 3-4. Authorization Profile for Production User (BW read) . . . . . . . . . . . . . . . . . . . . . . . 50

Table 3-5. Locations for saprfc.ini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Table 3-6. saprfc.ini Entry Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Table 3-7. Create New SAP BW Service Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Table 4-1. Sample Detail Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Table 4-2. Sample Uniform Hierarchy and Detail Table Extract . . . . . . . . . . . . . . . . . . . . . . . 69

Table 4-3. Sample Non-Uniform Hierarchy and Detail Table Extract . . . . . . . . . . . . . . . . . . . 70

Table 5-1. Select Option Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Table 6-1. Rules for Inserting an SAP Function in the ABAP Program Flow . . . . . . . . . . . . . 117

Table 7-1. ABAP Program Generation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Table 7-2. Rules for Inserting an ABAP Code Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Table 7-3. Filter Handling with Static and Dynamic Filters . . . . . . . . . . . . . . . . . . . . . . . . . 141

Table 7-4. Available Mapping Variable Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Table 8-1. SAP Streaming Reader and SAP Staging Reader Properties . . . . . . . . . . . . . . . . . . 155

Table 8-2. File Persistence and File Reinitialization Options . . . . . . . . . . . . . . . . . . . . . . . . . 159

Table 8-3. Staging and Source Directory Sample Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Table 8-4. File Mode Session Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Table 9-1. SAPALEIDoc Source Definition Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

Table 9-2. IDoc Information in SAP/ALE IDoc Interpreter and Prepare Transformations . . . 179

Table 10-1. IDoc Primary and Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

Table 12-1. Transformations in an RFC/BAPI No Input Mapping . . . . . . . . . . . . . . . . . . . . 232

Table 12-2. Transformations in an RFC/BAPI Multiple Stream Mapping . . . . . . . . . . . . . . . 236

Table 12-3. Transformations in an RFC/BAPI Single Stream Mapping . . . . . . . . . . . . . . . . . 246

Table 12-4. Preparing Source Data for RFC/BAPI Single Stream Mapping . . . . . . . . . . . . . . 248

Table 14-1. DMI Primary and Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Table 15-1. Business Content Integration Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

Table 15-2. Scheduling the Processing of DataSources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

Table 15-3. Sample Processing and Send Request Workflows . . . . . . . . . . . . . . . . . . . . . . . . 317

Table 17-1. Sample Fields Used in SAP BW Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

Table 17-2. Sample Hierarchy Transfer Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

Table 18-1. Sample Data Selection Entry in SAP BW for a Relational Source . . . . . . . . . . . . 353

Table 18-2. Sample Data Selection Entry in SAP BW for a Flat File Source . . . . . . . . . . . . . . 354

List of Tables xix

Page 20: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 18-3. Sample Mapping Parameters for a Flat File Source . . . . . . . . . . . . . . . . . . . . . . . .354

Table 18-4. Sample Data Selection Entries in SAP BW for an SAP R/3 Source . . . . . . . . . . . .355

Table 18-5. Sample Mapping Parameters for an SAP R/3 Source . . . . . . . . . . . . . . . . . . . . . . .355

Table 18-6. $$BWFILTERVAR Mapping Parameter for Data Selection Options . . . . . . . . . . .357

Table 18-7. Components of Mapping Parameter Name for Flat File and SAP R/3 Sources . . . .358

Table 18-8. Mapping Parameter Datatypes for SAP BW InfoObject Datatypes . . . . . . . . . . . .358

Table B-1. SAP Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .384

Table B-2. SAP and PowerCenter Transformation Datatype Comparison . . . . . . . . . . . . . . . .386

Table B-3. SAP BW and PowerCenter Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . .390

Table C-1. Language Code Requirements for Application Connections . . . . . . . . . . . . . . . . . .396

Table C-2. Language Codes and Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399

xx List of Tables

Page 21: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Preface

Welcome to PowerCenter Connect, Informatica’s family of packaged software products that helps you extract data and metadata from ERP and other third-party applications.

PowerCenter Connect for SAP NetWeaver is a natural extension to PowerCenter’s open architecture, which supports data extraction from a wide variety of operational data sources. mySAP Option allows you to directly extract corporate data stored in mySAP applications and integrate it into a data warehouse where you can leverage it for enterprise decision support. You can also use mySAP Option to load data into mySAP applications. The BW Option allows you to load data from multiple sources into BW and to extract data from BW.

xxi

Page 22: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

About This Book

The PowerCenter Connect for SAP NetWeaver User Guide provides information to build mappings and run sessions to extract data from SAP NetWeaver into a data warehouse and write data into SAP NetWeaver. It is written for the data warehouse developers and software engineers who are responsible for extracting data from SAP NetWeaver into a data warehouse or loading data into SAP NetWeaver.

This guide assumes you have knowledge of relational database concepts and the database engines, PowerCenter, and SAP NetWeaver. You should also be familiar with the interface requirements for other supporting applications. For additional information on related SAP issues, see the SAP documentation.

The material in this book is also available online.

Document ConventionsThis guide uses the following formatting conventions:

If you see… It means…

italicized text The word or set of words are especially emphasized.

boldfaced text Emphasized subjects.

italicized monospaced text This is the variable name for a value you enter as part of an operating system command. This is generic text that should be replaced with user-supplied values.

Note: The following paragraph provides additional facts.

Tip: The following paragraph provides suggested uses.

Warning: The following paragraph notes situations where you can overwrite or corrupt data, unless you follow the specified procedure.

monospaced text This is a code example.

bold monospaced text This is an operating system command you enter from a prompt to run a task.

xxii Preface

Page 23: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Other Informatica Resources

In addition to the product manuals, Informatica provides these other resources:

♦ Informatica Customer Portal

♦ Informatica web site

♦ Informatica Knowledge Base

♦ Informatica Technical Support

Visiting Informatica Customer PortalAs an Informatica customer, you can access the Informatica Customer Portal site at http://my.informatica.com. The site contains product information, user group information, newsletters, access to the Informatica customer support case management system (ATLAS), the Informatica Knowledge Base, Informatica Documentation Center, and access to the Informatica user community.

Visiting the Informatica Web SiteYou can access the Informatica corporate web site at http://www.informatica.com. The site contains information about Informatica, its background, upcoming events, and sales offices. You will also find product and partner information. The services area of the site includes important information about technical support, training and education, and implementation services.

Visiting the Informatica Knowledge BaseAs an Informatica customer, you can access the Informatica Knowledge Base at http://my.informatica.com. Use the Knowledge Base to search for documented solutions to known technical issues about Informatica products. You can also find answers to frequently asked questions, technical white papers, and technical tips.

Obtaining Technical SupportThere are many ways to access Informatica Technical Support. You can contact a Technical Support Center by using the telephone numbers listed the following table, you can send email, or you can use the WebSupport Service.

Use the following email addresses to contact Informatica Technical Support:

[email protected] for technical inquiries

[email protected] for general customer service requests

Preface xxiii

Page 24: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

WebSupport requires a user name and password. You can request a user name and password at http://my.informatica.com.

North America / South America Europe / Middle East / Africa Asia / Australia

Informatica Corporation Headquarters100 Cardinal WayRedwood City, California 94063United States

Toll Free 877 463 2435

Standard RateUnited States: 650 385 5800

Informatica Software Ltd.6 Waltham ParkWaltham Road, White WalthamMaidenhead, BerkshireSL6 3TNUnited Kingdom

Toll Free 00 800 4632 4357

Standard RateBelgium: +32 15 281 702France: +33 1 41 38 92 26Germany: +49 1805 702 702Netherlands: +31 306 022 797United Kingdom: +44 1628 511 445

Informatica Business Solutions Pvt. Ltd.Diamond DistrictTower B, 3rd Floor150 Airport RoadBangalore 560 008India

Toll Free Australia: 1 800 151 830Singapore: 001 800 4632 4357

Standard RateIndia: +91 80 4112 5738

xxiv Preface

Page 25: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

1

Part I: Getting Started with PowerCenter Connect for SAP NetWeaver

This part contains the following chapters:

♦ Understanding PowerCenter Connect for SAP NetWeaver, 3

♦ Configuring mySAP Option, 15

♦ Configuring BW Option, 45

Page 26: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

2

Page 27: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1

Understanding PowerCenter Connect for SAP NetWeaver

This chapter includes the following topics:

♦ Overview, 4

♦ PowerCenter and mySAP Integration Methods, 5

♦ PowerCenter and BW Integration Methods, 8

♦ Communication Interfaces, 12

♦ Transport System, 13

3

Page 28: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

SAP NetWeaver is an application platform that integrates multiple business applications and solutions, such as Customer Relationship Management (CRM), Advanced Planner and Optimizer (APO), and Bank Analyzer. Developers can add business logic within SAP NetWeaver using Java 2 Enterprise Edition (J2EE) or Advanced Business Application Programming-Fourth Generation (ABAP/4 or ABAP), a language proprietary to SAP.

PowerCenter Connect for SAP NetWeaver offers several integration methods to extract data from or load data into SAP NetWeaver. The integration methods available depend on the option you use:

♦ mySAP Option. You can use the ABAP, Application Link Enabling (ALE), RFC/BAPI functions, data migration, or business content integration methods. For more information about each integration method, see “PowerCenter and mySAP Integration Methods” on page 5.

♦ BW Option. You can extract data from or load data to the BW Enterprise Data Warehouse. For more information about the BW extracting and loading integration methods, see “PowerCenter and BW Integration Methods” on page 8.

SAP NetWeaver is the basis for SAP solutions. Because PowerCenter works with the SAP NetWeaver application platform, you can integrate PowerCenter with any SAP industry solution or mySAP application that provides RFC/BAPI or ALE integration methods.

Figure 1-1 shows how PowerCenter integrates with SAP NetWeaver:

Figure 1-1. PowerCenter and SAP NetWeaver Integration

PowerCenterJ2EE ABAP

ABAP

ALE IDoc

BCI

Integration Methods

BW EnterpriseData Warehouse

mySAP Applications SAP Industry Solutions

CRM SCM ERP APOBank POS

DMI

RFC/BAPI

Retail

Operating System

Database Server

SAP NetWeaver

Analyzer Warehouse

4 Chapter 1: Understanding PowerCenter Connect for SAP NetWeaver

Page 29: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

PowerCenter and mySAP Integration Methods

PowerCenter Connect for SAP NetWeaver mySAP Option integrates with mySAP applications in the following ways:

♦ Data integration using the ABAP program

♦ IDoc integration using ALE

♦ Data integration using RFC/BAPI functions

♦ Data migration integration

♦ Business content integration

Data Integration Using the ABAP ProgramYou can extract data from mySAP applications using the ABAP program. Create a mapping in the Designer that uses the ABAP program. Generate and install the ABAP program on the SAP server that extracts the source data. When you configure a session, you can access the source data through streaming or a staged file. The Integration Service accesses streamed data through CPI-C. It accesses staged files through FTP or standard file I/O, typically using network file sharing, such as NFS.

Complete the following steps to extract data from mySAP applications using the ABAP program:

1. Import source definitions. When you import source definitions from mySAP applications, the Designer uses RFC to connect to the SAP application server. You can import SAP tables, views, hierarchies, or IDocs. For more information, see “Importing SAP R/3 Source Definitions” on page 63.

2. Create a mapping. When you create a mapping with an SAP R/3 source definition, use an Application Source Qualifier. This source qualifier represents the record set queried from the SAP R/3 source when you run a session. In the Application Source Qualifier, you can customize properties of the ABAP program that the SAP server uses to extract source data. For more information, see “Working with ABAP Mappings” on page 87 and “Application Source Qualifier for SAP R/3 Sources” on page 119.

3. Generate and install the ABAP program. If you create a mapping that requires the ABAP program, generate and install an ABAP program that SAP uses to extract source data. For more information, see “Working with the ABAP/4 Program” on page 95.

4. Create a session and run a workflow. When you configure the session, select a reader in the session properties that matches the program mode of the ABAP program installed after you created the mapping. When the Integration Service runs a session for an ABAP mapping, the Integration Service makes a remote function call to mySAP applications to execute the ABAP program associated with the mapping. SAP starts a process to run the ABAP program. The ABAP program extracts data and passes data to the Integration Service, either in a file or a stream. For more information, see “Configuring Sessions with SAP R/3 Sources” on page 153.

PowerCenter and mySAP Integration Methods 5

Page 30: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

IDoc Integration Using ALEYou can integrate PowerCenter with mySAP applications using Application Link Enabling (ALE) to send and receive Intermediate Documents (IDocs). IDocs are messages that exchange electronic data between SAP applications or between SAP applications and external programs.

The message-based architecture of ALE comprises three layers:

♦ Application layer. Provides ALE an interface to R/3 to send or receive messages from external systems.

♦ Distribution layer. Filters and converts messages to ensure that they are compatible between different releases of R/3 and R/2.

♦ Communications layer. Enables ALE to support synchronous and asynchronous communication. You use IDocs for asynchronous communication.

The architecture of ALE provides a way to send IDocs as text files without connecting to a central database. This allows applications to communicate with each other without converting between formats to accommodate hardware or platform differences.

ALE has the following components:

♦ Logical component. Determines how messages flow between the various applications or systems.

♦ Physical component. Transport layer that routes IDoc messages using the tRFC (Transactional RFC) protocol.

♦ Message types. Application messages that classify categories of data. For example, ORDERS and MATMAS (Material Master).

♦ IDoc types. Data structure associated with the message type. For example, MATMAS01, MATMAS02 for MATMAS. IDocs contain the data belonging to the message type.

IDocs contain three record types:

♦ Control record. Identifies the message type.

♦ Data records. Contain the IDoc data in segments.

♦ Status records. Describe the status of the IDoc. Status record names are the same for each IDoc type.

Complete the following steps to integrate with mySAP applications using ALE:

1. Create an outbound or inbound IDoc mapping. For more information, see “Overview” on page 174 or “Configuring Inbound IDoc Mappings” on page 203.

2. Create a session and run a workflow. For more information, see “Overview” on page 206.

6 Chapter 1: Understanding PowerCenter Connect for SAP NetWeaver

Page 31: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Data Integration Using RFC/BAPI FunctionsYou can generate RFC/BAPI function mappings to extract data from, change data in, or load data into mySAP applications. When you run a session for an RFC/BAPI function mapping, the Integration Service makes the RFC function calls on SAP directly to process the SAP data.

Complete the following steps to integrate with mySAP applications using RFC/BAPI functions:

1. Generate an RFC/BAPI mapping. For more information, see “Working with RFC/BAPI Function Mappings” on page 227.

2. Create a session and run a workflow. For more information, see “Configuring RFC/BAPI Function Sessions” on page 263.

Data Migration IntegrationYou can migrate data from legacy applications, from other ERP systems, or data from any number of other sources and prepare it for input into mySAP applications. The Integration Service extracts the data from the data source and prepares the data in an SAP format flat file that you can load into mySAP applications. For more information, see “Part V: Data Migration” on page 271.

Business Content IntegrationYou can integrate PowerCenter with mySAP applications to provide an efficient, high-volume data warehousing solution. SAP business content is a collection of metadata objects that can be integrated with other applications and used for analysis and reporting. SAP produces the business content data, and PowerCenter consumes it. PowerCenter can consume all or changed business content data from mySAP applications and write it to a target data warehouse. You can then use the data warehouse to meet analysis and reporting needs. For more information, see “Part VI: Business Content Integration” on page 285.

PowerCenter and mySAP Integration Methods 7

Page 32: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

PowerCenter and BW Integration Methods

PowerCenter Connect for SAP NetWeaver BW Option integrates with BW in the following ways:

♦ Extracting data from BW

♦ Loading data into BW

The BW Option interacts with BW InfoCubes and InfoSources. An InfoCube is a self-contained dataset created with data from one or more InfoSources. An InfoSource is a collection of data that logically belongs together, summarized into a single unit.

BW Data ExtractionYou can extract data from BW to use as a source in a PowerCenter session with the Open Hub Service (OHS), an SAP framework for extracting data. OHS uses data from multiple BW data sources, including InfoSources and InfoCubes. The OHS framework includes InfoSpoke programs, which extract data from BW and write the output to SAP transparent tables.

The PowerCenter SAP BW Service listens for RFC requests from BW and initiates workflows within PowerCenter that extract from BW. You configure the SAP BW Service in the PowerCenter Administration Console. For more information, see “Creating and Configuring the SAP BW Service” in the PowerCenter Administrator Guide.

Figure 1-2 shows how PowerCenter interacts with BW to extract data:

Figure 1-2. Extracting Data from BW

InfoSpoke

ABAP

Pro

cess

Cha

in

File

OpenHub

ServiceHub

InfoObject

InfoCube

SAP BW Service PowerCenterWorkflow Designer

BW Server

PowerCenter

SAP Transparent

Table

8 Chapter 1: Understanding PowerCenter Connect for SAP NetWeaver

Page 33: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

For more information about extracting data from BW, see “Part VII: BW Data Extraction” on page 321.

BW Data LoadingYou can use Business Application Program Interface (BAPI), an SAP method for linking components into the Business Framework, to exchange metadata with BW. You can use BAPIs to extend SAP Business Information to load data into BW from external systems.

You import BW target definitions into the Designer and use the target in a mapping to load data into BW. During the PowerCenter workflow, the Integration Service uses a transfer method to load data into BW transfer structures.

You configure transfer methods in BW to specify how to load data into a transfer structure. In BW, data can move from a transfer structure to InfoCubes and InfoSources through communication structures. Use transfer rules to move data to a communication structure. Use update rules to move data from communication structures to InfoCubes and InfoSources.

Figure 1-3 shows how PowerCenter interacts with BW to load data:

To run a PowerCenter session, you need to configure an InfoPackage in BW. An InfoPackage specifies the scheduling of BW workflows and data requests from PowerCenter.

Figure 1-3. Loading Data into BW

InfoPackageInfoCube

SAP BW Service IntegrationService

Designer

BW Server

PowerCenter

ABAP

MetadataRepository

Staging Engine

InfoSource

DataStorage

AdministratorWorkbench

BusinessExplorer

IDocTransfer

PSATransfer

OperationalData Store

PersistentData Storage

PowerCenter and BW Integration Methods 9

Page 34: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 1-4 shows the BW data loading process:

For more information about BW structures, see the SAP documentation.

Populating a BW Data WarehouseThere are some differences between using PowerCenter to load data into BW versus using PowerCenter to load data into a data warehouse residing in an RDBMS. The differences include:

♦ BW uses a pull model. BW must request data from a source system before the source system can send data to BW. For BW to request data from PowerCenter, PowerCenter must first register with BW using the SAP Remote Function Call (RFC) protocol. PowerCenter uses its SAP BW Service to register with BW. You configure the SAP BW Service in the PowerCenter Administration Console. For more information, see “Creating and Configuring the SAP BW Service” in the PowerCenter Administrator Guide.

♦ The native interface for loading data into BW is the Staging BAPIs. This is an API published and supported by SAP. The Integration Service uses the Staging BAPIs to perform metadata verification and load data into BW.

♦ Programs communicating with BW use the SAP standard saprfc.ini file to communicate with BW. The saprfc.ini file is similar to the tnsnames file in Oracle or the interfaces file in Sybase. It contains connection type and RFC-specific parameters required to connect to BW. Two entry types are required for PowerCenter. The SAP BW Service uses a type R entry in saprfc.ini to register as an RFC server with BW and receive requests to run

Figure 1-4. BW Data Loading Process

Integration Service

Staging BAPIs

InfoCubeInfoCube

Communication Structure

Transfer StructureTransfer Structure

Update Rules

Transfer RulesODS

PSA

10 Chapter 1: Understanding PowerCenter Connect for SAP NetWeaver

Page 35: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

workflows. The Designer uses a type A entry in the saprfc.ini file. As an RFC client, the Designer imports metadata from BW for the target transfer structures.

♦ BW requires you to define metadata extensions in the BW Administrator Workbench. Create and activate components within BW. External source systems, such as PowerCenter cannot create the structures in BW. Thus, the generate and execute function in the Designer does not apply to BW targets. To load data into a BW target, you need to import the target definition into the Designer. PowerCenter mappings use this target to represent an active transfer structure when loading into BW.

♦ Because BW uses a pull model, BW must control all scheduling. When you configure a PowerCenter session to load data into BW, schedule the workflow to run on demand. You can control scheduling by creating a BW InfoPackage that references the PowerCenter session. BW invokes the PowerCenter workflow when the InfoPackage is scheduled to run in BW.

♦ You can only use PowerCenter to insert data into BW. You cannot update or delete data through the Staging BAPIs.

Steps to Load Data into BWComplete the following steps to use PowerCenter to load data into BW:

1. Build the BW components. Create and activate an InfoSource in BW. For more information, see “Building BW Components to Load Data into BW” on page 337.

2. Build mappings. Import the InfoSource into the PowerCenter repository and build a mapping using the InfoSource as a target. For more information, see “Building PowerCenter Objects to Load Data into BW” on page 347.

3. Load data. Create a session in a PowerCenter workflow and an InfoPackage and process chain in BW. For more information, see “Loading Data into BW” on page 359.

PowerCenter and BW Integration Methods 11

Page 36: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Communication Interfaces

TCP/IP is the native communication interface between PowerCenter and SAP NetWeaver. PowerCenter and SAP NetWeaver also use the following interfaces:

♦ CPI-C

♦ Remote Function Call (RFC)

Common Program Interface-CommunicationsCPI-C is the communication protocol that enables online data exchange and data conversion between SAP and PowerCenter. PowerCenter Connect for SAP NetWeaver mySAP Option uses CPI-C to communicate with SAP NetWeaver only when you run ABAP stream mode sessions.

To initialize CPI-C communication with PowerCenter, SAP NetWeaver requires information, such as the host name of the application server and SAP gateway. This information is stored in a configuration file named sideinfo on the node where the Integration Service process runs. The Integration Service uses parameters in the sideinfo file to connect to SAP NetWeaver when you run ABAP stream mode sessions.

For information about configuring the sideinfo file, see “Configuring the sideinfo File” on page 39.

Remote Function CallRFC is the remote communications protocol used by SAP NetWeaver. It is based on Remote Procedure Call (RPC). PowerCenter makes remote function calls to communicate with SAP NetWeaver.

To execute remote calls from PowerCenter, SAP NetWeaver requires information, such as the connection type and the service name and gateway on the application server. This information is stored in a configuration file named saprfc.ini on the node hosting the PowerCenter Client and the node where the Integration Service and SAP BW Service processes run.

For information about configuring the saprfc.ini file, see “Configuring the saprfc.ini File” on page 41 or “Configuring the saprfc.ini File” on page 53.

12 Chapter 1: Understanding PowerCenter Connect for SAP NetWeaver

Page 37: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Transport System

The transport system is a set of ABAP programs installed on the SAP system. It provides a way to import SAP metadata into the PowerCenter repository. It also enables run-time functionality, such as passing mapping variables and filters.

You use the transport system in the following situations:

♦ Configuring PowerExchange for SAP NetWeaver mySAP Option. When you configure PowerExchange for SAP NetWeaver mySAP Option, you need to transport some customized objects that were developed by Informatica to the SAP system. These objects include tables, structures, programs, and functions. PowerCenter calls one or more of these objects each time you make a request to the SAP system.

For more information about transporting the objects to the SAP system, see “Installing and Configuring SAP” on page 22.

♦ Deploying run-time transports and ABAP programs from development to production. If you are using ABAP to integrate with mySAP applications, you might want to deploy the run-time transports provided by Informatica and the ABAP programs installed by the Designer to extract data when you move from development to production.

For more information about deploying the run-time transports, see “Installing and Configuring SAP” on page 22.

The SAP system administrator is responsible for completing transport tasks.

Transport System 13

Page 38: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

14 Chapter 1: Understanding PowerCenter Connect for SAP NetWeaver

Page 39: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 2

Configuring mySAP Option

This chapter includes the following topics:

♦ Overview, 16

♦ Configuration Checklist, 18

♦ Installing and Configuring SAP, 22

♦ Renaming the sideinfo and saprfc.ini Files on Windows, 30

♦ Defining PowerCenter as a Logical System in SAP, 31

♦ Configuring the sideinfo File, 39

♦ Configuring the saprfc.ini File, 41

15

Page 40: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

PowerCenter Connect for SAP NetWeaver mySAP Option requires configuration on both the PowerCenter and SAP systems. The administrators for each of these systems must perform the configuration tasks for their respective systems.

Before You BeginComplete the following steps before you can configure mySAP Option:

1. Install and configure SAP. To use mySAP Option business content integration, verify that you have installed the SAP plug-in version 2003_1 or later.

2. Install or upgrade PowerCenter. Install or upgrade PowerCenter. For more information, see the PowerCenter Installation and Configuration Guide.

Tip: Use separate development, test, and production SAP systems. Complete all development, testing, and troubleshooting on the development and test systems before deploying to the production systems.

Changes to InstallationPowerCenter Connect for SAP NetWeaver mySAP Option 8.1.1 includes the following installation changes:

♦ Setting the SIDE_INFO and RFC_INI environment variables. You no longer need to register the SIDE_INFO and RFC_INI environment variables before installing PowerCenter.

♦ sideinfo and saprfc.ini file name changes. When you install or upgrade PowerCenter, the installer places the files sideinfo.infa_811 and saprfc.ini.infa_811 on the PowerCenter Client and PowerCenter Services machines. If you want to use these files, you need to rename them. For more information, see “Renaming the sideinfo and saprfc.ini Files on Windows” on page 30.

Upgrading mySAP OptionThe PowerCenter installation DVD contains transports for new installations and upgrades. For information about upgrading transports, see “Installing and Configuring SAP” on page 22.

Complete the following steps if you are upgrading from a previous version of PowerCenter Connect for SAP NetWeaver mySAP Option:

1. Make a copy of the sideinfo and saprfc.ini files.

2. Uninstall the previous version of PowerCenter Connect for SAP NetWeaver mySAP Option according to the following guidelines:

♦ If you are upgrading from PowerCenter Connect for SAP R/3 7.x or earlier, uninstall PowerCenter Connect for SAP R/3.

16 Chapter 2: Configuring mySAP Option

Page 41: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

♦ If you are upgrading from PowerCenter Connect for SAP NetWeaver 8.x, follow the instructions in the PowerCenter Installation and Configuration Guide to upgrade PowerCenter.

3. Install the current version of PowerCenter. When you install the current version of PowerCenter, you also upgrade to the latest version of PowerExchange for SAP NetWeaver.

Note: PowerCenter Connect for SAP R/3 is renamed to PowerCenter Connect for SAP NetWeaver mySAP Option.

Overview 17

Page 42: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuration Checklist

After you install and configure SAP and PowerCenter, use one or more of the following methods to integrate PowerCenter with mySAP applications:

♦ Data integration using ABAP. For more information, see “Integrating with SAP Using ABAP” on page 19.

♦ IDoc integration using ALE. For more information, see “Integrating with SAP Using ALE” on page 20.

♦ Data integration using RFC/BAPI functions. For more information, see “Integrating with SAP Using RFC/BAPI Functions” on page 20.

♦ Data migration. For more information, see “Migrating Data to SAP” on page 20.

♦ Business content integration. For more information, see “Integrating with SAP Business Content” on page 20.

Configuration Tasks and Integration MethodsSome configuration tasks apply to multiple integration methods. When you complete a configuration task for one integration method, you may be able to skip that task for another integration method. For example, if you have configured a Type A entry in saprfc.ini for ABAP, you may be able to skip that task when you integrate with mySAP applications using ALE.

Other configuration tasks apply to only one integration method. For example, configuring the sideinfo file applies only to ABAP integration.

If you have multiple SAP systems, you must repeat certain configuration tasks. For example, you must configure one SAP_ALE_IDoc_Reader application connection for each SAP system from which you want to receive outbound IDocs.

Table 2-1 shows configuration tasks that apply to multiple integration methods:

Table 2-1. Configuration Tasks that Apply to Multiple Integration Methods

Configuration Task Description

Configure entries in saprfc.ini

Configure the saprfc.ini file on the PowerCenter Integration Service and Client with parameters that enable communication with SAP.

Configure an SAP_ALE_IDoc_Reader application connection

Configure a separate SAP_ALE_IDoc_Reader application connection for each SAP system from which you receive outbound IDocs. Configure a separate SAP_ALE_IDoc_Reader application connection for each SAP system from which you consume business content data.

Configure an SAP_ALE_IDoc_Writer application connection

Configure a separate SAP_ALE_IDoc_Writer application connection for each SAP system to which you send inbound IDocs. Configure a separate SAP_ALE_IDoc_Writer application connection for each SAP system from which you consume business content data.

18 Chapter 2: Configuring mySAP Option

Page 43: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 2-2 shows the configuration tasks and the integration methods that apply to them:

Integrating with SAP Using ABAPComplete the following steps to integrate with SAP using ABAP programs:

1. Verify that the SAP user has the appropriate authorization. For more information, see “Installing and Configuring SAP” on page 22.

2. Configure the sideinfo file. Create an entry in the sideinfo file for the SAP system to run sessions in stream mode through the Common Program Interfaces-Communication (CPI-C) protocol. For more information, see “Configuring the sideinfo File” on page 39.

3. Configure the saprfc.ini file. Configure an entry in saprfc.ini to run sessions in file mode through RFC communication. For more information, see “Configuring the saprfc.ini File” on page 41.

4. Configure an SAP R/3 application connection or an FTP connection. For more information, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

Table 2-2. Configuration Tasks and Integration Methods

Configuration Task ABAP ALE RFC/BAPI DMI Business

Content

Define PowerCenter as a logical system in SAP

No Yes No No Yes. Use the ZINFABCI ABAP program provided by Informatica.

Configure the saprfc.ini file

Yes Yes Yes Yes Yes

Configure the sideinfo file Yes No No No No

Configure an SAP_ALE_IDoc_Reader application connection

No Yes, if receiving outbound IDocs

No No Yes

Configure an SAP_ALE_IDoc_Writer application connection

No Yes, if sending inbound IDocs

No No Yes

Configure an SAP R/3 application connection

Yes No No No No

Configure an FTP connection

Yes, if running file mode sessions

No No No No

Configure an SAP RFC/BAPI application connection

No No Yes No No

Prepare DataSources in SAP

No No No No Yes

Configuration Checklist 19

Page 44: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Integrating with SAP Using ALEComplete the following steps to integrate with SAP using ALE:

1. Define PowerCenter as a logical system in SAP. In SAP, define PowerCenter as a logical system. For more information, see “Creating a Logical System for IDoc ALE Integration” on page 31.

2. Configure the saprfc.ini file. Configure an entry in saprfc.ini for RFC communication with SAP. Configure a Type R entry to listen for outbound IDocs. Verify that the PROGID parameter matches the Program ID you configured for the logical system in SAP. For more information, see “Configuring the saprfc.ini File” on page 41.

3. Configure SAP_ALE_IDoc_Reader application connections. Configure to receive outbound IDocs from SAP. For more information, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

4. Configure an SAP_ALE_IDoc_Writer application connection. Configure to send inbound IDocs to SAP. For more information, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

Integrating with SAP Using RFC/BAPI FunctionsComplete the following steps to integrate with SAP using RFC/BAPI functions:

1. Configure the saprfc.ini file. Configure an entry in saprfc.ini for RFC communication with SAP. For more information, see “Configuring the saprfc.ini File” on page 41.

2. Configure an SAP RFC/BAPI Interface application connection. Configure to connect to SAP. For more information, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

Migrating Data to SAPTo migrate data into SAP, configure an entry in saprfc.ini for RFC communication with SAP. For more information, see “Configuring the saprfc.ini File” on page 41.

Integrating with SAP Business ContentComplete the following steps to integrate with SAP business content:

1. Define PowerCenter as a logical system in SAP. In SAP, define PowerCenter as a logical system. For more information, see “Creating a Logical System for Business Content Integration” on page 35.

2. Configure the saprfc.ini file. Configure an entry in saprfc.ini for RFC communication with SAP. Configure a Type R entry to consume business content data. Set PROGID to INFACONTNT. For more information, see “Configuring the saprfc.ini File” on page 41.

3. Configure SAP_ALE_IDoc_Reader application connections. Configure to consume business content data from SAP. For more information, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

20 Chapter 2: Configuring mySAP Option

Page 45: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

4. Configure an SAP_ALE_IDoc_Writer application connection. Configure to send requests for business content data to SAP. For more information, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

5. Prepare DataSources in SAP. Activate and configure each DataSource in SAP before you create a processing mapping for the DataSource. For more information, see “Business Content Integration” on page 287.

Configuration Checklist 21

Page 46: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Installing and Configuring SAP

The SAP system administrator must complete the following steps for PowerCenter integration on the development, test, and production SAP systems:

1. Delete transport programs from previous versions. For more information, see “Step 1. Delete Transport Programs” on page 22.

2. Transport objects to the SAP system. For more information, see “Step 2. Transport Objects” on page 24.

3. Run transported programs that generate unique IDs. For more information, see “Step 3. Run Transport Programs” on page 26.

4. Create users in the SAP system for PowerCenter users. For more information, see “Step 4. Create Users” on page 27.

5. Create profiles in the SAP system for PowerCenter users. For more information, see “Step 5. Create Profiles” on page 28.

6. Create a development class for the ABAP programs that PowerCenter installs on the SAP system. Complete in the development environment only. For more information, see “Step 6. Create a Development Class” on page 29.

Note: Some SAP systems refer to a development class as a package.

Step 1. Delete Transport ProgramsIf you are upgrading from a previous version, you need to delete the old transport programs from the SAP system.

For PowerCenter Connect for SAP NetWeaver mySAP Option version 8.1 and later, note the current configuration in the /INFATRAN/ZPRGSQ SAP R/3 custom table before you delete the transport objects. For versions before 8.1, note the configuration in the ZERPPRGSEQ table. You use this information when you run the YPMPRGSQ program. For more information about running the YPMPRGSQ program, see “Step 3. Run Transport Programs” on page 26.

Modifying /INFATRAN/To delete a transport object, you need to register the namespace /INFATRAN/ and enter the repair license. Also, you need to change the status of /INFATRAN/ in SAP system to Modifiable.

To modify /INFATRAN/:

1. Go to transaction SE03 and double-click Display/Change Namespaces.

The SAP system displays the list of namespaces.

2. Right-click /INFATRAN/ and click Display.

22 Chapter 2: Configuring mySAP Option

Page 47: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Make the following changes to the namespace:

4. Click Save.

5. Go to transaction SE03 and double-click Set System Change Option.

The System Change Option screen appears.

6. Change the Global Setting to Modifiable and click Save.

Deleting Transport ObjectsPowerExchange for SAP NetWeaver 8.x contains the following development classes:

♦ /INFATRAN/ZINFA_DESIGNTIME

♦ /INFATRAN/ZINFA_RUNTIME

♦ /INFATRAN/ZINFABC_RUNTIME

Delete all the development classes. Before you delete a development class, you must delete all of its objects.

To delete transports:

1. Go to transaction SE10 and verify whether there are any locks on the objects under the development class that you want to delete.

An object is locked when another user is modifying or transporting the object. Check the list of modifiable request(s) for all users in transaction SE10 to verify if any requests are associated with the PowerCenter object.

2. Release all the modifiable requests associated with the PowerCenter object.

3. Go to transaction SE10 and create a workbench for deleting all objects.

4. Go to transaction SE80, select the development class that you want to delete, and click display.

For example, select the development class ZINFA_DESIGNTIME. When you select a development class, it displays all of its objects, such as function groups, programs, transactions, and dictionary objects. Dictionary objects include tables and structures.

Field Description

Namespace Enter a unique name to identify the transport programs.

Namespace Role Enter P if the SAP system is a Producer system. Or, enter C if the SAP system is a Recipient system.P represents a namespace that you create. You can develop this namespace if you have a valid Develop License.C represents a namespace that you import into the SAP system. You cannot develop this namespace. However, you can repair the namespace if you have a valid Repair License.

Repair License Enter 10357544012122787918, which is the license key to delete or modify a namespace.

Short Text Enter a short description of the namespace.

Installing and Configuring SAP 23

Page 48: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

5. Select a function group to view its function modules.

6. Right-click each function module and click Delete.

7. Right-click the function group and click Delete.

When you delete a function group, you delete includes and other SAP standard dictionary objects.

8. Right-click each program and click Delete.

9. When prompted, select Includes and click OK.

You must delete each program and includes.

10. Right-click each table and click Delete.

If the tables contain data, delete the data before you delete the tables.

Click OK if prompted with the message that the table is used in the program.

11. Right-click each structure and click Delete.

Click OK if prompted with the message that structure is used in the program.

12. Go to transaction SE10 and select the transport request created for deleting objects.

13. Expand the request node and verify the list of objects.

The list of objects in the request node and the list of objects that you delete from the development class must match.

14. Go to transaction SE10, right-click the transport request for deleting the objects, and select Release Directly.

Wait until the export of the change request is complete. Complete the export before you delete the development class.

15. Go to transaction SE80, right-click the development class, and click Delete.

16. When prompted, create a new local transport request to delete the development class.

17. Go to transaction SE10 and delete the development class.

18. Release the transport request that you created for the deleting development class.

Wait until the export of the change request is complete. This successfully deletes the development class.

Step 2. Transport ObjectsInformatica provides a group of design-time and run-time transports. Transports are customized objects necessary for SAP integration. These objects include tables, programs, structures, and functions that PowerCenter exports to data files. Place these transports on the SAP system. This process creates a development class for each group of transports.

24 Chapter 2: Configuring mySAP Option

Page 49: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The transports you install depend on the version of the SAP system and whether or not the system is Unicode. The installation DVD contains the following transport directories:

♦ saptrans/mySAP/UC. Contains transports for a Unicode SAP system. These transports are created from SAP version 4.7.

♦ saptrans/mySAP/NUC. Contains transports for an SAP system that is not Unicode. The R31 transports are created from SAP version 3.1H. The R46 transports are created from SAP version 4.6C. You can use the R46 transports with SAP 4.0B through 4.6B. However, you may receive warning messages. You can ignore these messages.

Both of these directories contain separate directories for the data files and cofiles that you need to place on the SAP system. The data files contain the transport objects. The cofiles contain the transport conditions. Each set of program files represents a function group that has a specific purpose.

The SAP system administrator can place the transports using Transport Management System (STMS).

The installation DVD has separate directories for the data files and cofiles that you need to place on the SAP system. The data files contain the transport objects. The cofiles contain the transport conditions. Each set of program files represents a function group that has a specific purpose.

Place transports on the SAP system in the following order:

1. Place the ZINFABC run-time transport on the development system.

2. Place the run-time transports on the development system.

3. Place the design-time transports on the development system. The design-time transports you place on the development system depend on the PowerCenter Connect for SAP NetWeaver features you want to use.

After you place the transports on the development system, deploy the run-time transports to the test and production systems. For more information about the transport objects and the order in which you place the transports on the SAP system, see the PowerCenter Connect for SAP NetWeaver Transport Versions Installation Notice.

To place the transports on SAP using the Transport Management System:

1. Go to transaction STMS.

2. Click Overview > Imports.

3. Open the target system queue.

4. Click Extras > Other Requests > Add.

The Add Transport Request to Import Queue dialog box appears.

5. Add a transport request number.

When you add a transport request number, delete the prefix. For example, when you add ZINFABC_RUN_R900101.R46, delete ZINFABC_RUN. Place the ZINFABC run-time transport first.

Installing and Configuring SAP 25

Page 50: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

6. Click Enter.

7. From Request, select the transport request number you added, and click Import.

8. Repeat steps 5 to 7 for each transport you want to add.

Step 3. Run Transport ProgramsAfter you transport the integration objects, run the following programs:

♦ INFATRAN/YPMPARSQ. Part of package INFATRAN/ZINFA_RUNTIME. This program generates unique parameter IDs. Run this program on the development, test, and production systems.

♦ INFATRAN/YPMPRGSQ. As part of package INFATRAN/ZINFA_DESIGNTIME. Run this program on the development system only. You may need to run this program twice. The first time you run this program, you can specify an ABAP program name prefix of up to 10 characters, provide a namespace that you have registered with SAP, and determine the starting sequence number. Run the program again for stream mode sessions and if you are upgrading from a previous version. When you upgrade from a previous version, you run this program to use the same starting sequence number.

The ABAP program name prefix must start with the letter “Y” or “Z.” Use a unique prefix for each SAP system you transport these objects to. For example, use YPC000001 as the prefix and current sequence for one SAP system and ZPM000001 for another SAP system.

For PowerCenter Connect for SAP NetWeaver 8.1, note the current configuration in the /INFATRAN/ZPRGSQ custom table before you delete the transport objects. For versions 8.0 and earlier, note the configuration in the ZERPPRGSEQ table before you delete the transport objects.

When you run the /INFATRAN/YMPRGSQ program, you can select the following options:

♦ Long Names. Select when you provide a customer namespace. When you select Long Names, you generate a program name that is 30 characters in length, including the customer namespace. Do not select this option if the program name is eight characters.

♦ Override. Select to specify a name for the ABAP program, beginning with the letters Y and Z. If you select Override, the ABAP program will be globally available and not in the Customer namespace.

Note: For PowerCenter Connect for SAP NetWeaver mySAP Option version 8.1 and later, before you delete the transport objects, note the current configuration in the /INFATRAN/ZPRGSQ SAP R/3 custom table. For versions before 8.1, note the configuration in the ZERPPRGSEQ table.

Deploying Run-time Development Classes to the Test and Production SystemsAfter you install the transports on the SAP development system, deploy the run-time development classes to the test and production systems. Before deploying the run-time development classes, use the SAP transaction SE10 to verify that no existing transport requests include the run-time development classes.

26 Chapter 2: Configuring mySAP Option

Page 51: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To deploy the run-time development classes to the test and production systems:

1. In the SAP development system, go to transaction SE80.

The Object Navigator window appears.

2. Display the ZINFABC_RUNTIME development class.

3. Right-click the development class name and select Write Transport Request.

The Transport Development Class dialog box appears.

4. Click All Objects.

The Enter Transport Request dialog box appears.

5. Click Create Request.

The Select Request Type dialog box appears.

6. Click Transport of Copies and then click Enter.

The Create Request dialog box appears.

7. Enter a short description and click Save.

8. Go to transaction SE10.

The Transport Organizer window appears.

9. For Request Type, select Transport of Copies.

10. For Request Status, select Modifiable.

11. Click Display.

The Transport Organizer: Requests window appears.

12. Double-click the transport request you created.

The Display Request dialog box appears.

13. On the Properties tab, select the target SAP system to which you want to deploy the development class and click Enter.

14. Select the transport request you created and click Release Directly.

SAP deploys the development class to the target system.

15. Repeat steps 1 to 14 to deploy the /INFATRAN/ZINFA_RUNTIME development class.

Step 4. Create UsersCreate an appropriate user for development, test, and production environments in SAP. The user you create enables dialog-free communication between SAP and PowerCenter.

Depending on the version of the SAP installation, create a Common Program Interface-Communications (CPI-C) user, System user, or a communication user with the appropriate authorization profile.

Installing and Configuring SAP 27

Page 52: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Tip: Ensure that the PowerCenter user that you create in SAP and the user that completes the task in SAP have the same permissions.

Step 5. Create ProfilesThe SAP administrator needs to create a profile in the development, test, and production SAP system so that you can use the integration features. This profile name must include authorization for the objects and related activities. The profile on the test system should be the same as the profile on the production system.

Table 2-3 shows the authorization necessary for integration:

Table 2-3. Authorization Necessary for Integration

Integration Feature Production/ Development

Authorization Object Activity

Install and uninstall programs

Development S_DEVELOP All activities.Also need to set Development ObjectID to PROG.

Extract data Production S_TABU_DIS READ.

Run file mode sessions Production S_DATASET WRITE.

Submit background job Production S_PROGRAM BTCSUBMIT, SUBMIT.

Release background job Production S_BTCH_JOB DELE, LIST, PLAN, SHOW.Set Job Operation to RELE.

Run stream mode sessions Production S_CPIC All activities.

Authorize RFC privileges ProductionDevelopment

S_RFC All activities.Authorize RFC privileges for function group RFC objects of the following function groups:- ZPMV- ZERP- ZPMH- ZPMR- ZPMP- ZPMD- ZPMI- ZPMF- SYST- /INFATRAN/*Include the following function groups for BAPI sessions:- Function group for the BAPI- Function group containing

ABAP4_COMMIT_WORK, BAPI_TRANSACTION_COMMIT, and ABAP4_ROLLBACK_WORK

Include the following function groups for IDoc write sessions:- ARFC, ERFC, EDIN

28 Chapter 2: Configuring mySAP Option

Page 53: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Note: When you run a session with an RFC/BAPI function mapping, you also need to include authorization objects specific to the RFC/BAPI function you are using.

Step 6. Create a Development ClassComplete this step if you are integrating with mySAP applications using ABAP. When you create a mapping with an SAP source definition in the development system, you generate and install an ABAP program. By default, the Designer installs the ABAP programs that you generate from the mapping in the $TMP development class. For easy transport into a test or production system, the SAP administrator needs to create a development class for the ABAP programs. You cannot transport items from the $TMP development class.

IDoc authorization ProductionDevelopment

S_IDOCDEFT READ.Transaction code: WE30.

ALE authorization Production B_ALE_RECV Message type of the IDoc that needs to be written to the SAP system.

Table 2-3. Authorization Necessary for Integration

Integration Feature Production/ Development

Authorization Object Activity

Installing and Configuring SAP 29

Page 54: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Renaming the sideinfo and saprfc.ini Files on Windows

During installation, PowerCenter installs the following template connection files on Windows that mySAP Option uses to connect to SAP:

♦ sideinfo.infa_811. Used to connect to SAP when you integrate with mySAP applications using ABAP.

♦ saprfc.ini.infa_811. Used to connect to SAP for all PowerCenter integration methods.

Note: On UNIX, the installer installs sideinfo and saprfc.ini in the server/bin directory in the PowerCenter Services installation directory.

If you are installing PowerCenter for the first time on Windows, you need to rename the connection files. If you are upgrading from a previous version, and you want to overwrite the existing sideinfo and saprfc.ini files, you need to rename the connection files.

To rename the connection files:

1. Locate the sideinfo.infa_811 and saprfc.ini.infa_811 files.

Table 2-4 shows the install location for connection files:

2. Rename the files as follows:

Table 2-4. Location for Connection Files

Installation Platform sideinfo Location saprfc.ini Location

Client Windows 2000, 2003 \WINNT\system32\ \WINNT\system32\

Client Windows XP \windows\system32\ \windows\system32\

Integration Service Windows 2000, 2003 server\bin in the PowerCenter Services installation directory

\WINNT\system32\

Filename Rename To...

sideinfo.infa_811 sideinfo

saprfc.ini.infa_811 saprfc.ini

30 Chapter 2: Configuring mySAP Option

Page 55: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Defining PowerCenter as a Logical System in SAP

To use IDoc ALE integration or business content integration, you must define PowerCenter as an external logical system in SAP. You complete different steps to create a logical system for each integration method.

Creating a Logical System for IDoc ALE IntegrationBefore PowerCenter can send and receive IDocs from SAP, define PowerCenter as a logical system in SAP. When you define PowerCenter as a logical system, SAP acknowledges PowerCenter as an external system that can receive outbound IDocs from SAP and send inbound IDocs to SAP.

Create a single logical system in SAP for IDoc ALE integration with PowerCenter. If you have multiple Integration Services in the PowerCenter installation, each Integration Service must use the same Type R entry in the saprfc.ini file.

Complete the following steps to define PowerCenter as a logical system:

1. Create a logical system in SAP for PowerCenter.

2. Create an RFC destination for PowerCenter.

3. Create a tRFC port for the RFC destination.

4. Create a partner profile for PowerCenter.

5. Create outbound and inbound parameters for the partner profile.

Note: These steps are based on SAP version 4.6C. The steps may differ if you use a different version. For complete instructions on creating a logical system in SAP, see the SAP documentation.

Step 1. Create a Logical System for PowerCenterCreate a logical system for PowerCenter in SAP. When you create a logical system for PowerCenter, SAP acknowledges PowerCenter as an external system that can receive outbound IDocs from SAP and send inbound IDocs to SAP.

To create a logical system in SAP:

1. Go to transaction SALE.

The Display IMG window appears.

2. Expand the tree to locate the Application Link Enabling > Sending and Receiving Systems > Logical Systems > Define Logical System operation.

3. Click the IMG - Activity icon to run the Define Logical System operation.

An informational dialog box appears.

4. Click Enter.

Defining PowerCenter as a Logical System in SAP 31

Page 56: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The Change View Logical Systems window appears.

5. Click New Entries.

The New Entries window appears.

6. Enter a name and description for the new logical system entry for PowerCenter. For example, you can enter LSPowerCenterALE as the name.

Step 2. Create an RFC DestinationCreate an RFC destination and program ID for PowerCenter. The program ID value you enter must match the PROGID parameter in the type R entry of the saprfc.ini file defined for the Integration Service. For more information, see “Configuring the saprfc.ini File” on page 41.

If the SAP system is a Unicode system and the Integration Service runs on AIX (64-bit), HP-UX IA64, Linux (32-bit), Solaris (64-bit), or Windows, you must configure the logical system to communicate in Unicode mode. SAP provides Unicode RFC libraries for these operating systems. When the Integration Service runs on one of these operating systems, it uses the Unicode RFC libraries to process Unicode data. For more information about processing Unicode data, see “Language Codes, Code Pages, and Unicode Support” on page 395.

To create an RFC destination in SAP:

1. Go to transaction SM59.

The Display and Maintain RFC Destinations window appears.

2. Click Create.

The RFC Destination window appears.

3. For RFC Destination, enter the name of the logical system you created in “Step 1. Create a Logical System for PowerCenter” on page 31.

For example, LSPowerCenterALE.

4. Enter T for Connection Type to create a TCP/IP connection.

5. Enter a description for the RFC destination.

6. Click Save.

The window refreshes.

7. For Activation Type, click Registration.

8. For Program ID, enter the same name that you entered for RFC Destination.

For example, LSPowerCenterALE. Use this Program ID as the value for the PROGID parameter in the saprfc.ini file.

32 Chapter 2: Configuring mySAP Option

Page 57: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

9. If the SAP system is a Unicode system and the Integration Service runs on AIX (64-bit), HP-UX IA64, Linux (32-bit), Solaris (64-bit), or Windows, click the Special Options tab, and then select the Unicode option under Character Width in Target System.

Step 3. Create a tRFC Port for the RFC DestinationCreate a tRFC port for the RFC destination you defined in SAP. SAP uses this port to communicate with PowerCenter.

To create a tRFC port for the RFC destination:

1. Go to transaction WE21.

2. Click Ports > Transactional RFC.

3. Click Create.

The Ports in IDoc Processing dialog box appears.

4. Click Generate Port Name, or click Own Port Name and enter a name.

5. Click Enter.

6. Enter a description for the port.

7. Select the IDoc record version type.

8. Enter the name of the RFC Destination you created in “Step 2. Create an RFC Destination” on page 32.

For example, LSPowerCenterALE.

Step 4. Create a Partner Profile for PowerCenterCreate a partner profile for the logical system you defined for PowerCenter. When SAP communicates with an external system, it uses the partner profile to identify the external system.

To create a partner profile for PowerCenter:

1. Go to transaction WE20.

2. Click Create.

3. Enter the following properties:

Partner Profile Property Description

Partner number Enter the name of the logical system you created for PowerCenter. For example, LSPowerCenterALE.

Partner type Enter LS for logical system.

Defining PowerCenter as a Logical System in SAP 33

Page 58: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

4. Click the Post-processing tab and enter the following properties:

5. Click the Classification tab and enter the following properties:

Step 5. Create Outbound and Inbound Parameters for the Partner ProfileCreate outbound and inbound parameters for the partner profile defined for PowerCenter. Outbound parameters define the IDoc message type, IDoc basic type, and port number for outbound IDocs. SAP uses these parameters when it sends IDocs to PowerCenter. Create an outbound parameter for each IDoc message type that SAP sends to PowerCenter.

Inbound parameters define the IDoc message type for inbound IDocs. SAP uses these parameters when it receives IDocs from PowerCenter. Create an inbound parameter for each IDoc message type that SAP receives from PowerCenter.

To create outbound and inbound parameters for the partner profile:

1. From the partner profiles window, click Create Outbound Parameter.

The Partner Profiles: Outbound Parameters window appears.

2. Enter the following properties:

3. Click Save.

The Packet Size property appears.

Partner Profile Property Description

Type Enter US for user.

Agent Enter the SAP user login name.

Lang Enter EN for English.

Partner Profile Property Description

Partner class Enter ALE.

Partner status Enter A for active.

Outbound Parameter Property Description

Message Type Select the IDoc message type the SAP system sends to PowerCenter.

Receiver Port Select the tRFC port number you defined in “Step 3. Create a tRFC Port for the RFC Destination” on page 33.

IDoc Type Select the IDoc basic type of the IDocs the SAP system sends to PowerCenter.

34 Chapter 2: Configuring mySAP Option

Page 59: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

4. For Packet Size, enter a value between 10 and 200 IDocs.

The packet size determines the number of IDocs that SAP sends in one packet to PowerCenter.

5. Click Enter.

6. Repeat steps 1 to 4 to create an outbound parameter for each IDoc message type that SAP sends to PowerCenter.

7. Click Create Inbound Parameter.

The Partner Profiles: Inbound Parameters window appears.

8. Enter the following properties for each inbound parameter:

9. Click Enter.

10. Repeat steps 7 to 9 to create an inbound parameter for each IDoc message type that SAP receives from PowerCenter.

Creating a Logical System for Business Content IntegrationBefore PowerCenter can consume business content data, define PowerCenter as a logical system in SAP.

You can create a single logical system in SAP for business content integration with PowerCenter. If you have multiple Integration Services in the PowerCenter installation, each Integration Service must use the same Type R entry in the saprfc.ini file.

Informatica provides an ABAP program named /INFATRAN/ZINFABCI that creates or deletes the logical system in SAP for business content integration. The ZINFABCI ABAP program belongs to the /INFATRAN/ namespace reserved by Informatica in the SAP system. The ZINFABCI program completes the following steps in SAP when it creates the logical system:

1. Finds the logical system name of the SAP system.

2. Creates a unique IDoc type for business content integration.

3. Creates a logical system for PowerCenter.

4. Creates an RFC destination for PowerCenter.

5. Creates a tRFC port for the RFC destination.

Inbound Parameter Property Description

Message Type Select the IDoc message type the SAP system receives from PowerCenter.

Process Code Select the process code. The SAP system uses the process code to call the appropriate function module to process the IDocs it receives.

Defining PowerCenter as a Logical System in SAP 35

Page 60: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

6. Creates a partner profile with outbound and inbound parameters required for business content integration.

7. Registers the logical system with the business content integration framework.

A logical system uses an SAP user account to perform background tasks within SAP, such as activating DataSources, preparing data for transfer to PowerCenter, and extracting data. The Integration Service initiates these tasks during session runs.

Choose the background SAP user when you run the ZINFABCI ABAP program to create the logical system for business content integration. Use one of the following options to choose the background SAP user:

♦ Select an existing SAP user account. When you select an existing SAP user account, the ABAP program updates the user account with the “S_BI-WX_RFC - Business Information Warehouse, RFC User Extraction” authorization profile. This authorization profile is required to perform background business content tasks within SAP.

♦ Enter a new SAP user name and password. When you enter a new user name and password, the ABAP program creates the new user account profile with the “S_BI-WX_RFC - Business Information Warehouse, RFC User Extraction” authorization profile only. You can create a new user account if you have a Unicode SAP system.

When you connect to SAP to create a processing mapping, use the logical system user name. For more information, see “Business Content Integration” on page 287.

After you create a logical system for business content integration in SAP, add a Type R entry in the saprfc.ini file. Set the DEST and PROGID parameters equal to the logical system name as configured in SAP for business content. The default name is INFACONTNT. You will use the value you set for the DEST parameter when you configure application connections.

For example:

DEST=INFACONTNT TYPE=R PROGID=INFACONTNT GWHOST=salesSAP GWSERV=sapgw00

For more information, see “Configuring the saprfc.ini File” on page 41.

Note: The logical system created in SAP when you ran the ZINFABCI transaction for PowerCenter Connect for SAP R/3 version 7.x is still valid. Do not run the ZINFABCI transaction in version 8.0.

Creating the Logical SystemUse the /INFATRAN/ZINFABCI ABAP program to create the logical system.

To create the SAP logical system:

1. In SAP, enter /n/INFATRAN/ZINFABCI in the command field.

The Administration: Communication Between SAP and Informatica window appears.

2. Select Create Communication Settings.

36 Chapter 2: Configuring mySAP Option

Page 61: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Select an existing SAP user for Background User in SAP System.

-or-

If you have a Unicode SAP system, enter a new Background User in SAP System.

4. If you enter a new Background User, enter the Background User Password and enter it again to confirm.

5. Enter the logical system name for PowerCenter.

The default name is INFACONTNT.

6. Enter an X for Update if User Exists.

7. Click Execute to save the logical system.

Configuring Unicode ModeIf the SAP system is a Unicode system, and the Integration Service runs on AIX (64-bit), HP-UX IA64, Linux (32-bit), Solaris (64-bit), or Windows, you must configure the logical system to communicate in Unicode mode.

SAP provides Unicode RFC libraries for these operating systems. When the Integration Service runs on one of these operating systems, it uses the Unicode RFC libraries to process Unicode data. For more information about processing Unicode data, see “Language Codes, Code Pages, and Unicode Support” on page 395.

To configure Unicode mode:

1. Go to the sm59 transaction.

2. Select the RFC Destination created for PowerCenter.

The RFC Destination page appears.

3. Select the Special Options tab.

4. In the Character Width in Target System, select the Unicode option.

Deleting the Logical System Created for Business Content IntegrationWhen you delete the logical system created for business content integration, you also delete all activated DataSources associated with the logical system. Delete a logical system only when you want to discontinue integrating PowerCenter Connect for SAP NetWeaver mySAP Option with SAP business content.

Deleting the logical system also deletes the “S_BI-WX_RFC - Business Information Warehouse, RFC User Extraction” authorization profile from the user account profile. However, deleting a logical system does not delete the SAP user account.

Before you delete a logical system, make sure the listener workflow is running. For more information, see “Business Content Integration” on page 287.

Warning: You cannot recover deleted DataSources.

Defining PowerCenter as a Logical System in SAP 37

Page 62: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To delete the logical system created for business content integration:

1. In SAP, enter /n/INFATRAN/ZINFABCI in the command field.

The Administration: Communication Between SAP and Informatica window appears.

2. Select a Background User in SAP System.

3. Select Delete Communication Settings. Then, click Execute.

38 Chapter 2: Configuring mySAP Option

Page 63: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring the sideinfo File

Configure the sideinfo file if you are integrating with mySAP applications using ABAP. Configure the file on the node where the Integration Service process runs to include parameters specific to SAP. This file enables PowerCenter to initiate CPI-C with the SAP system.

If SAP GUI is not installed on the machine that uses the sideinfo file, you must make entries in the Services file to run stream mode sessions.

Sample sideinfo FileThe following is a sample entry in the sideinfo file:

DEST=sapr3 LU=sapr3 TP=sapdp00 GWHOST=sapr3 GWSERV=sapgw00 PROTOCOL=I

Configuring an Entry in the sideinfo FileComplete the following procedure to configure the sideinfo file.

To configure the sideinfo file:

1. Open the sideinfo file in the location specified in Table 2-4 on page 30.

2. Define the following parameters in the sideinfo file:

3. If you are connecting to multiple SAP systems, create one entry for each system in the sideinfo file with unique DEST parameters.

sideinfo Parameter Description

DEST Logical name of the SAP system for the connection.Set equal to the Type A DEST entry in saprfc.ini. For SAP versions 4.6C and higher, use no more than 32 characters. For earlier versions, use no more than eight characters.

LU Host name of the machine where the SAP application server is running.

TP Set to sapdp<system number>.

GWHOST Host name of the SAP Gateway.

GWSERV Set to sapgw<system number>.

PROTOCOL Set to I.

Configuring the sideinfo File 39

Page 64: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating Entries in the Services File for Stream Mode SessionsWhen you install SAP GUI, the installer makes entries in the Services file on the local system. If you have not installed SAP GUI on the node where the Integration Service process runs, you must manually create these entries in the Services file to run stream mode sessions.

To create entries in the Services file:

1. Open the Services file on the PowerCenter Integration Service system.

On Windows 2000 or 2003, look in the \WINNT\system32\drivers\etc directory.

On Windows XP, look in the \WINDOWS\system32\drivers\etc directory.

On UNIX, look in the /etc directory.

2. Create the following entries:

sapdp<system number> <port number of dispatcher service>/tcp

sapgw<system number> <port number of gateway service>/tcp

Check with the SAP administrator for the port numbers of the gateway service and the dispatcher service.

40 Chapter 2: Configuring mySAP Option

Page 65: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring the saprfc.ini File

SAP uses the communications protocol, Remote Function Call (RFC), to communicate with other systems. SAP stores RFC-specific parameters and connection information in a file named saprfc.ini.

Configure the saprfc.ini file on the PowerCenter Client and Integration Service with parameters that enable communication with SAP. This file enables PowerCenter to connect to the SAP system as an RFC client. For more information, see http://help.sap.com.

saprfc.ini Entry TypesPowerCenter Connect for SAP NetWeaver mySAP Option uses the following types of entries to connect to SAP through the saprfc.ini file:

♦ Type A. Enables a connection between an RFC client and a specific SAP system. Each Type A entry specifies one SAP system. Use the same entry for multiple integration methods.

♦ Type B. Enables SAP to create an RFC connection to the application server with the least load at run time. Connect to SAP using a type B entry when you want to use SAP load balancing. For more information about SAP load balancing, see Knowledge Base article 20005.

♦ Type R. Connects to an SAP system from which you want to receive outbound IDocs or consume business content data using ALE.

Table 2-5 shows the saprfc.ini entry type for each integration method:

Sample saprfc.ini FileThe following sample shows a Type A entry in the saprfc.ini file:

DEST=sapr3 TYPE=A ASHOST=sapr3 SYSNR=00 RFC_TRACE=0

Table 2-5. saprfc.ini Entry Types

Entry Type ABAP ALE RFC/BAPI DataMigration

BusinessContent

Type A Yes Yes Yes Yes Yes

Type B Yes Yes Yes Yes Yes

Type R No Yes if receiving outbound IDocs

No No YesSet PROGID to INFACONTNT.

Configuring the saprfc.ini File 41

Page 66: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The following sample shows a Type B entry in the saprfc.ini file:

DEST=sapr3 TYPE=B R3NAME=ABV MSHOST=infamessageserver.informatica.com GROUP=INFADEV

The following sample shows a Type R entry in the saprfc.ini file:

DEST=sapr346CLSQA TYPE=R PROGID=PID_LSRECEIVE GWHOST=sapr346c GWSERV=sapgw00 RFC_TRACE=1

Configuring an Entry in the saprfc.ini FileThe PowerCenter Client and Integration Service use the Type A, Type B, and Type R entries in the saprfc.ini file. The Designer connects to SAP to import metadata into the repository. The Integration Service connects to SAP to read and write data as an RFC client using the database connection that you create in the Workflow Manager.

Warning: Use a DOS editor or Wordpad to configure the saprfc.ini file. If you use Notepad to edit the saprfc.ini file, it may corrupt the file.

To configure an entry in the saprfc.ini file:

1. Open the saprfc.ini file.

Table 2-4 on page 30 lists the default location of the file.

2. Enter the following parameters, depending on whether you are creating a Type A, Type B, or Type R entry:

saprfc.ini Parameter

Type A/Type B/Type R

Description

DEST All Logical name of the SAP system for the connection.For the ABAP integration method, set equal to the DEST entry in sideinfo.For SAP versions 4.6C and higher, use up to 32 characters. For earlier versions, use up to eight characters.All DEST entries must be unique. You must have only one DEST entry for each SAP system.

TYPE All Type of connection. Set to A, B, or R. For a list of the entry types required for each integration method, see Table 2-5 on page 41.

ASHOST A Host name or IP address of the SAP application. PowerCenter uses this entry to attach to the application server.

SYSNR A SAP system number.

R3NAME B Name of the SAP system.

42 Chapter 2: Configuring mySAP Option

Page 67: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. If you are connecting to multiple SAP systems, create an entry for each system in the saprfc.ini file with unique DEST parameters.

MSHOST B Host name of the SAP Message Server.

GROUP B Group name of the SAP application server.

PROGID R Program ID. The Program ID must be the same as the Program ID for the logical system you define in the SAP system to send or receive IDocs or to consume business content data. For business content integration, set to INFACONTNT. For more information, see “Defining PowerCenter as a Logical System in SAP” on page 31.

GWHOST R Host name of the SAP gateway.

GWSERV R Server name of the SAP gateway.

RFC_TRACE A/R Debugs RFC connection-related problems. 0 is disabled. 1 is enabled.

saprfc.ini Parameter

Type A/Type B/Type R

Description

Configuring the saprfc.ini File 43

Page 68: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Uninstalling mySAP Option

You can uninstall PowerCenter Connect for SAP NetWeaver mySAP Option when you uninstall PowerCenter. For more information about uninstalling PowerCenter, see the PowerCenter Installation and Configuration Guide.

When you uninstall mySAP Option, you might want to clean up the SAP system.

Cleaning Up the SAP SystemWhen you uninstall mySAP Option, optionally perform the following tasks to clean up the SAP system:

♦ Delete transport objects from SAP. Use SE10 and SE80 transactions to delete the transport objects that you installed to run mySAP Option. For more information, see “Step 1. Delete Transport Programs” on page 22.

♦ Uninstall ABAP programs. If you used ABAP to extract data from SAP, uninstall ABAP programs from SAP. For more information, see “Uninstalling the ABAP Program and Viewing Program Information” on page 102.

♦ Manually remove ALE configurations. If you used Application Link Enabling (ALE) to send or receive outbound IDocs, manually remove the ALE configurations from SAP.

♦ Delete communication settings using the ZINFABCI transaction. If you used business content integration, use the ZINFABCI transaction to delete communication settings.

44 Chapter 2: Configuring mySAP Option

Page 69: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 3

Configuring BW Option

This chapter includes the following topics:

♦ Overview, 46

♦ Creating Profiles for Production and Development Users, 48

♦ Renaming the saprfc.ini File on Windows, 51

♦ Defining PowerCenter as a Logical System in SAP BW, 52

♦ Configuring the saprfc.ini File, 53

♦ Creating the SAP BW Service, 56

♦ Importing the ABAP Program into SAP BW, 59

♦ Troubleshooting, 60

45

Page 70: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

PowerCenter Connect for SAP NetWeaver BW Option requires configuration on both the PowerCenter and SAP BW systems. The administrators for each of these systems must perform the configuration tasks for their respective systems.

Before You BeginComplete the following steps before you configure BW Option:

1. Install and configure PowerCenter. Install or upgrade PowerCenter.

2. Configure PowerCenter Connect for SAP NetWeaver mySAP Option (optional). To extract data from BW using OHS, configure PowerCenter Connect for SAP NetWeaver mySAP Option. For more information, see “Configuring mySAP Option” on page 15.

3. Configure BW. Configure BW before you complete configuration tasks for PowerCenter Connect for SAP NetWeaver BW Option. For more information about configuring BW, see the SAP BW documentation. See the SAP Online Service System for details.

4. Transport objects to BW (optional). If you are extracting data from BW using OHS and if the BW system is separate from the SAP system, install the transports provided with PowerCenter on the BW system. For more information, see “Step 2. Transport Objects” on page 24.

Changes to InstallationPowerCenter Connect for SAP NetWeaver BW Option includes the following installation changes:

♦ Setting the RFC_INI environment variable. You no longer need to register the SIDE_INFO and RFC_INI environment variables before installing PowerCenter.

♦ saprfc.ini file name change. When you install PowerCenter, the installer places the saprfc.ini.infa_811 file on the PowerCenter Client and PowerCenter Services machines. If you want to use this file, you need to rename it. For more information, see “Renaming the saprfc.ini File on Windows” on page 51.

Configuration ChecklistComplete the following steps to configure BW Option:

1. Create profiles for development and production users. For more information, see “Creating Profiles for Production and Development Users” on page 48.

2. Rename the saprfc.ini file on Windows. If you are installing PowerCenter for the first time on Windows, you need to rename the connection file to saprfc.ini. If you are upgrading from a previous version, and you want to overwrite the existing saprfc.ini file, you need to rename the connection file. For more information, see “Renaming the saprfc.ini File on Windows” on page 51.

46 Chapter 3: Configuring BW Option

Page 71: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Define PowerCenter as a Logical System in SAP BW. For more information, see “Defining PowerCenter as a Logical System in SAP BW” on page 52.

4. Configure the saprfc.ini file. PowerCenter uses the saprfc.ini file on the PowerCenter Client and SAP BW Service to connect to SAP as an RFC client. For more information, see “Configuring the saprfc.ini File” on page 53.

5. Create and enable the SAP BW Service. For more information, see “Creating the SAP BW Service” on page 56.

6. Import the ABAP program. For more information, see “Importing the ABAP Program into SAP BW” on page 59.

7. Configure an SAP BW application connection. Complete only if you use the BW Option to load into SAP BW. For more information, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

Upgrading BW OptionComplete the following steps if you are upgrading from a previous version of PowerCenter Connect for SAP NetWeaver BW Option:

1. Make a copy of the saprfc.ini file.

2. Uninstall the previous version of PowerCenter Connect for SAP NetWeaver BW Option according to the following guidelines:

♦ If you are upgrading from PowerCenter Connect for SAP BW 7.x or earlier, uninstall PowerCenter Connect for SAP BW.

♦ If you are upgrading from PowerCenter Connect for SAP NetWeaver BW Option 8.x, follow the instructions in the PowerCenter Installation and Configuration Guide to upgrade PowerCenter. When you upgrade to the current version of PowerCenter, you also upgrade to the latest version of PowerCenter Connect for SAP NetWeaver BW Option.

3. Uninstall PowerCenter Integration Server for SAP BW (PCISBW) according to the following guidelines:

♦ If you are upgrading from PowerCenter Connect for SAP BW 7.x or earlier, uninstall PowerCenter Integration Server for SAP BW (PCISBW).

♦ If you are upgrading from PowerCenter Connect for SAP NetWeaver BW Option 8.x, you can skip this step. When you upgrade to the current version of PowerCenter, you also upgrade to the current version of PowerCenter Connect for SAP NetWeaver BW Option, which includes the BW Service.

4. Install the current version of PowerCenter. When you install the current version of PowerCenter, you also upgrade to the latest version of PowerExchange for SAP NetWeaver.

Note: PowerCenter Connect for SAP BW is renamed to PowerCenter Connect for SAP NetWeaver BW Option. Informatica PowerCenter Integration Server for SAP BW (PCISBW) is renamed to SAP BW Service.

Overview 47

Page 72: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating Profiles for Production and Development Users

The SAP administrator needs to create the following product and development user authorization profiles.

Table 3-1 shows the authorization profile configuration for a development user (BW write):

Table 3-1. Authorization Profile for Development User (BW write)

Integration Feature Description Class Field Values

S_RFC Authorization Check for RFC Objects

Cross Application Authorization Objects

View, Maintain

S_RS_ADMWB Administrative Workbench Objects

Business Information Warehouse

View, Maintain

S_DEVELOP ABAP Workbench Basis - Development environment

View, Maintain

S_RS_HIER Administrative Workbench Hierarchy

Business Information Warehouse

View, Maintain

S_RS_ICUBE Administrator Workbench - InfoCube Object

Business Information Warehouse

View, Maintain

S_RS_IOBC Administrator Workbench - InfoObject Catalog

Business Information Warehouse

View, Maintain

S_RS_IOBJ Administrator Workbench - InfoObject

Business Information Warehouse

View, Maintain

S_RS_IOMAD Administrator Workbench - Maintain Master data

Business Information Warehouse

View, Maintain

S_RS_ISOUR Administrator Workbench - InfoSource (Flexible update)

Business Information Warehouse

View, Maintain

S_RS_ISRCM Administrator Workbench - InfoSource (Direct update)

Business Information Warehouse

View, Maintain

S_RS_OSDO Administrator Workbench - ODS Object

Business Information Warehouse

View, Maintain

RSPC (TRANSACTION) Transaction for maintain, execute process chain

n/a Maintain, Execute

48 Chapter 3: Configuring BW Option

Page 73: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 3-2 shows the authorization profile configuration for a production user (BW write):

Table 3-3 shows the authorization profile configuration for a development user (BW read):

Table 3-2. Authorization Profile for Production User (BW write)

Integration Feature Description Class Field Values

S_RS_ADMWB Administrative Workbench Objects

Business Information Warehouse

View, Maintain

S_RS_IOBC Administrator Workbench - InfoObject Catalog

Business Information Warehouse

View, Maintain

S_RS_IOBJ Administrator Workbench - InfoObject

Business Information Warehouse

View, maintain

S_RS_IOMAD Administrator Workbench - Maintain Master data

Business Information Warehouse

View, maintain

S_RS_ISRCM Administrator Workbench - InfoSource (Direct update)

Business Information Warehouse

View, maintain

RSPC (TRANSACTION) Transaction for maintain, execute process chain

n/a Maintain, Execute

Table 3-3. Authorization Profile for Development User (BW read)

Integration Feature Description Class Field Values

S_RFC Authorization Check for RFC Objects

Cross Application Authorization Objects

View, Maintain

S_RS_ADMWB Administrative Workbench Objects

Business Information Warehouse

View

S_DEVELOP ABAP Workbench Basis - Development environment

View

S_RS_HIER Administrator Workbench - Hierarchy

Business Information Warehouse

View

S_RS_ICUBE Administrator Workbench - InfoCube Object

Business Information Warehouse

View

S_RS_IOBC Administrator Workbench - InfoObject Catalog

Business Information Warehouse

View

S_RS_IOBJ Administrator Workbench - InfoObject

Business Information Warehouse

View

S_RS_IOMAD Administrator Workbench - Maintain Master data

Business Information Warehouse

View

S_RS_ISOUR Administrator Workbench - InfoSource (Flexible update)

Business Information Warehouse

View

S_RS_ISRCM Administrator Workbench - InfoSource (Direct update)

Business Information Warehouse

View

Creating Profiles for Production and Development Users 49

Page 74: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 3-4 shows the authorization profile configuration for a production user (BW read):

S_RS_OSDO Administrator Workbench - ODS Object

Business Information Warehouse

View

RSPC (TRANSACTION) Transaction for maintain, execute process chain

n/a Maintain, Execute

Table 3-4. Authorization Profile for Production User (BW read)

Integration Feature Description Class Field Values

S_RS_ADMWB Administrative Workbench Objects

Business Information Warehouse

View

S_RS_IOBC Administrator Workbench - InfoObject Catalog

Business Information Warehouse

View

S_RS_IOBJ Administrator Workbench - InfoObject

Business Information Warehouse

View

S_RS_IOMAD Administrator Workbench - Maintain Master data

Business Information Warehouse

View

S_RS_ISRCM Administrator Workbench - InfoSource (Direct update)

Business Information Warehouse

View

RSPC (TRANSACTION) Transaction for maintain, execute process chain

n/a Maintain, Execute

Table 3-3. Authorization Profile for Development User (BW read)

Integration Feature Description Class Field Values

50 Chapter 3: Configuring BW Option

Page 75: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Renaming the saprfc.ini File on Windows

During installation, PowerCenter installs the saprfc.ini.infa_811 connection file on Windows. If you are installing PowerCenter for the first time on Windows, you need to rename the connection file to saprfc.ini. If you are upgrading from a previous version, and you want to overwrite the existing saprfc.ini file, you need to rename the connection file. The BW Option uses the saprfc.ini file to connect to SAP BW.

Note: On UNIX, the installer installs saprfc.ini in the server/bin directory in the PowerCenter Services installation directory.

To rename the connection file:

1. Locate the saprfc.ini.infa_811 file.

Table 3-5 shows the install location for the saprfc.ini file:

2. Rename the file to saprfc.ini.

Table 3-5. Locations for saprfc.ini

Platform PowerCenter Component saprfc.ini File Location

Windows 2000 PowerCenter Client, SAP BW Service \WINNT\system32

Windows 2003 PowerCenter Client, SAP BW Service \windows\system32\

Windows XP PowerCenter Client \windows\system32\

Renaming the saprfc.ini File on Windows 51

Page 76: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Defining PowerCenter as a Logical System in SAP BW

To import InfoSources and load data into SAP BW or to extract data from SAP BW, you must define PowerCenter as an external logical system in the SAP BW system.

Create a single logical system in SAP BW for PowerCenter. If you have multiple SAP BW Services in the PowerCenter installation, each SAP BW Service must use the same Type R entry in the saprfc.ini file.

If the SAP BW system is a Unicode system and the Integration Service and SAP BW Service run on AIX (64-bit), HP-UX IA64, Linux (32-bit), Solaris (64-bit), or Windows, you must configure the logical system to communicate in Unicode mode. SAP provides Unicode RFC libraries for these operating systems. When the Integration Service and SAP BW Service run on these operating systems, they use the Unicode RFC libraries to process Unicode data. For more information about processing Unicode data, see “Language Codes, Code Pages, and Unicode Support” on page 395.

To create a logical system:

1. Log on to the SAP BW system using SAP Logon.

2. Go to transaction RSA1 to open the Administrator Workbench.

3. Right-click the Source Systems folder and select Create.

4. From the Select Source System Type dialog box, select the following option:

External System (Data and Metadata Transfer Using Staging BAPIs)

5. Click Enter.

6. In the Create Source System dialog box, enter the following information and click Enter:

7. On the RFC Destination screen, click the Technical settings tab.

8. Under Registered Server Program, enter the Program ID.

SAP BW uses the Program ID to communicate with the SAP BW Service. The Program ID you enter here must match the PROGID in the Type R entry of the saprfc.ini file defined for the SAP BW Service. For more information about configuring the saprfc.ini file, see “Configuring the saprfc.ini File” on page 53.

9. If the SAP BW system is a Unicode system and the Integration Service and SAP BW Service run on AIX (64-bit), HP-UX IA64, Linux (32-bit), Solaris (64-bit), or Windows, click the Special Options tab, and then select the Unicode option under Character Width in Target System.

10. Click Save and return to the Administrator Workbench.

Parameter Description

Logical System Name Name of the logical system. For example, you can enter LSPowerCenterBW.

Source System Name Description of the source system.

52 Chapter 3: Configuring BW Option

Page 77: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring the saprfc.ini File

SAP uses the communications protocol, Remote Function Call (RFC), to communicate with other systems. SAP stores RFC-specific parameters and connection information in a file named saprfc.ini.

Configure the saprfc.ini file on the PowerCenter Client and SAP BW Service with parameters that enable communication with the BW system. This file enables PowerCenter to connect to the BW system as an RFC client. For more information, see http://help.sap.com.

Note: The Integration Service does not use the saprfc.ini file. When the BW server requests data from PowerCenter, the SAP BW Service records the host name and system number of the BW server. The SAP BW Service passes this information to the Integration Service. The Integration Service uses this information to connect and load data to the same BW server.

saprfc.ini Entry TypesPowerCenter Connect for SAP NetWeaver BW Option uses the following types of entries to connect to BW through the saprfc.ini file:

♦ Type A. Used by the PowerCenter Client. Specifies the BW application server.

♦ Type B. Enables SAP to create an RFC connection to the application server with the least load at run time. Connect to SAP using a type B entry when you want to use SAP load balancing. For more information about SAP load balancing, see Knowledge Base article 20005.

♦ Type R. Used by the SAP BW Service. Specifies the logical system created for PowerCenter in the SAP BW system.

Table 3-6 summarizes the saprfc.ini entry type for each PowerCenter component:

Sample saprfc.ini FileThe following sample shows a Type A entry in the saprfc.ini file:

DEST=sapr3 TYPE=A ASHOST=sapr3 SYSNR=00 RFC_TRACE=0

Table 3-6. saprfc.ini Entry Types

PowerCenter Component Entry Type Usage

PowerCenter Client Type A or Type B

Import transfer structures from BW. Use the DEST entry in the Import BW Transfer Structure dialog box.

SAP BW Service Type R Register as RFC server. Receive requests to run sessions. Use the DEST entry when you create the SAP BW Service.

Configuring the saprfc.ini File 53

Page 78: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The following sample shows a Type B entry in the saprfc.ini file:

DEST=sapr3 TYPE=B R3NAME=ABV MSHOST=infamessageserver.informatica.com GROUP=INFADEV

The following sample shows a Type R entry in the saprfc.ini file:

DEST=sapr346CLSQA TYPE=R PROGID=PID_LSRECEIVE GWHOST=sapr346c GWSERV=sapgw00 RFC_TRACE=1

Configuring an Entry in the saprfc.ini FileThe SAP BW Service uses the Type R entry in the saprfc.ini file. You register the SAP BW Service with BW at the SAP gateway. The SAP BW Service is an RFC server and acts as a listener to receive requests from BW to execute a PowerCenter workflow.

The PowerCenter Client uses the Type A or Type B entry in the saprfc.ini file. The Designer connects to BW to import metadata into the repository.

Warning: Use a DOS editor or Wordpad to configure the saprfc.ini file. If you use Notepad to edit the saprfc.ini file, Notepad may corrupt the file.

To configure an entry in the saprfc.ini file:

1. Open the saprfc.ini file.

Table 3-5 on page 51 lists the default location of the file.

2. Enter the following parameters, depending on whether you are creating a Type A, Type B, or Type R entry:

saprfc.ini Parameter

Type A/Type B/Type R

Description

DEST All Destination in RFCAccept. For SAP versions 4.6C and higher, use no more than 32 characters. For earlier versions, use no more than 8 characters. All DEST entries must be unique. You must have only one DEST entry for each BW system.Use this parameter for the Type A or Type B entry as the connect string when you import an InfoSource in the Target Designer and when you configure database connections in the Workflow Manager.

TYPE All Set to A, B, or R. Specifies the type of connection. For the entry types required for each PowerCenter component, see Table 3-6 on page 53.

ASHOST A Host name or IP address of BW application.

SYSNR A SAP system number.

54 Chapter 3: Configuring BW Option

Page 79: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. If you are connecting to multiple BW systems, create multiple entries in the saprfc.ini file with unique DEST parameters.

R3NAME B Name of the SAP system.

MSHOST B Host name of the SAP Message Server.

GROUP B Group name of the SAP application server.

PROGID R Program ID for the logical system you create in BW for the SAP BW Service, as described in “Defining PowerCenter as a Logical System in SAP BW” on page 52. The Program ID in BW must match this parameter, including case.

GWHOST R Host name of the SAP gateway.

GWSERV R Server name of the SAP gateway.

RFC_TRACE A/R Debugs RFC connection-related problems. 0 is disabled. 1 is enabled.

saprfc.ini Parameter

Type A/Type B/Type R

Description

Configuring the saprfc.ini File 55

Page 80: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating the SAP BW Service

The SAP BW Service is an application service that performs the following tasks:

♦ Listens for RFC requests from BW

♦ Initiates workflows to extract from or load to BW

♦ Sends log events to the PowerCenter Log Manager

Use the Administration Console to manage the SAP BW Service. For more information about managing the SAP BW Service in the Administration Console, see “Creating and Configuring the SAP BW Service” in the PowerCenter Administrator Guide.

Load Balancing for the BW System and the SAP BW ServiceYou can configure the BW system to use load balancing. To support a BW system configured for load balancing, the SAP BW Service records the host name and system number of the BW server requesting data from PowerCenter. It passes this information to the Integration Service. The Integration Service uses this information to load data to the same BW server that made the request. For more information about configuring the BW system to use load balancing, see the BW documentation.

You can also configure the SAP BW Service in PowerCenter to use load balancing. If the load on the SAP BW Service becomes too high, you can create multiple instances of the SAP BW Service to balance the load. To run multiple SAP BW Services configured for load balancing, create each service with a unique name but use the same values for all other parameters. The services can run on the same node or on different nodes. The BW server distributes data to the multiple SAP BW Services in a round-robin fashion.

56 Chapter 3: Configuring BW Option

Page 81: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Steps to Create the SAP BW ServiceComplete the following steps to create the SAP BW Service.

To create the SAP BW Service:

1. In the Administration Console, click Create > SAP BW Service.

The Create New SAP BW Service window appears.

2. Configure the SAP BW Service options.

Table 3-7 describes the information to enter in the Create New SAP BW Service window:

Table 3-7. Create New SAP BW Service Options

Property Required/Optional Description

Service Name Required Name of the SAP BW Service. The name is not case sensitive and must be unique within the domain. The characters must be compatible with the code page of the associated repository. The name cannot have leading or trailing spaces, include carriage returns or tabs, exceed 79 characters, or contain the following characters:\ / * ? < > " |

Location Required Name of the domain and folder in which the SAP BW Service is created. The Administration Console creates the SAP BW Service in the domain where you are connected. Click Select Folder to select a new folder in the domain.

Node Setup Required Node on which this service runs.

Domain for Associated Integration Service

Required Domain that contains the Integration Service associated with the SAP BW Service.If the PowerCenter environment consists of multiple domains, you can click Manage Domain List to access another domain. You can then associate the SAP BW Service with an Integration Service that exists in another domain. For more information about working with multiple domains, see “Managing the Domain” in the PowerCenter Administrator Guide.

Creating the SAP BW Service 57

Page 82: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Click OK.

A message informs you that the SAP BW Service was successfully created.

4. Click Close.

The SAP BW Service properties window appears.

5. Click Enable to start the SAP BW Service.

Before you enable the SAP BW Service, you must define PowerCenter as a logical system in SAP BW. For more information, see “Defining PowerCenter as a Logical System in SAP BW” on page 52.

For more information about configuring the SAP BW Service, see “Creating and Configuring the SAP BW Service” in the PowerCenter Administrator Guide.

Associated Integration Service

Required Integration Service associated with the SAP BW Service.

Repository User Name

Required Account used to access the repository.

Repository Password

Required Password for the repository user.

SAP Destination R Type

Required Type R DEST entry in the saprfc.ini file created for the SAP BW Service. For more information about the saprfc.ini file, see “Configuring the saprfc.ini File” on page 53.

Table 3-7. Create New SAP BW Service Options

Property Required/Optional Description

58 Chapter 3: Configuring BW Option

Page 83: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Importing the ABAP Program into SAP BW

The PowerCenter installation DVD includes an ABAP program that you must import into the BW system. The ABAP program sends status information to the SAP BW Service. The SAP BW Service sends these as log events to the PowerCenter Log Manager.

To import the ABAP program:

1. From the BW window, enter the SE38 transaction.

2. Enter ZPMSENDSTATUS for the program name and select create.

3. Enter a Title.

4. Select Executable Program as the Type.

5. Select Basis as the Application.

6. Select Start Using Variant.

7. Click Save.

8. Click Local Object.

The ABAP Editor window appears.

9. Click Utilities > More Utilities > Upload/Download > Upload.

10. Navigate to the zpmsendstatus.ab4 file located in the saptrans/BW directory on the PowerCenter installation DVD.

11. Save the program.

12. Activate the program.

Importing the ABAP Program into SAP BW 59

Page 84: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

No metadata appears when I try to import from SAP BW.

If the profile for a user name does not have sufficient privileges, you cannot import BW metadata into the PowerCenter Repository. Instead, the Transaction Transfer List and Master Transfer List folders in the Import from SAP BW dialog will be empty.

Import metadata from SAP BW using a BW user name with a profile that lets you access metadata.

60 Chapter 3: Configuring BW Option

Page 85: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

61

Part II: Data Integration Using ABAP

This part contains the following chapters:

♦ Importing SAP R/3 Source Definitions, 63

♦ Working with ABAP Mappings, 87

♦ Working with SAP Functions in ABAP Mappings, 107

♦ Application Source Qualifier for SAP R/3 Sources, 119

♦ Configuring Sessions with SAP R/3 Sources, 153

Page 86: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

62

Page 87: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 4

Importing SAP R/3 Source Definitions

This chapter includes the following topics:

♦ Overview, 64

♦ Table and View Definitions, 65

♦ Hierarchy Definitions, 68

♦ IDoc Definitions, 75

♦ Importing a Source Definition, 78

♦ Editing a Source Definition, 81

♦ Organizing Definitions in the Navigator, 83

♦ Troubleshooting, 85

63

Page 88: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

When you import source definitions from SAP, the Designer uses RFC to connect to the SAP application server. The Designer calls functions in the SAP system to import source definitions. SAP returns a list of definitions from the SAP dictionary. You can select multiple definitions to import into the PowerCenter repository. The Designer imports the definition as an SAP R/3 source definition. After you import a definition, use it in a mapping to define the extract query.

You can import the following definitions into the PowerCenter repository:

♦ SAP tables and views. SAP tables include transparent, pool, and cluster tables. In addition, you can extract data from database views in SAP.

♦ SAP hierarchies. A hierarchy is a tree-like structure that defines classes of information.

♦ SAP IDocs. An IDoc is a generated text file that contains a hierarchical structure consisting of segments.

If the source changes after you import the definition, reimport the definition as a new SAP R/3 source definition.

64 Chapter 4: Importing SAP R/3 Source Definitions

Page 89: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table and View Definitions

You can import transparent, pool, and cluster table definitions as SAP R/3 source definitions. You can also import database view definitions. Database views are based on views of transparent tables. PowerCenter does not differentiate between tables and views. You import definitions and extract data from views the same way you import and extract from tables.

You do not need to know the physical table structure on the underlying database server when you import the definition from the logical table on the application server.

When you import table definitions, the Designer displays both table name and business name in the Import SAP Metadata dialog box. You can filter by table name or business name when you connect to the SAP system. Add source names to an import list before you import them. For table definitions, you can select to import all keys or a subset of all keys. For more information about importing source definitions, see “Importing a Source Definition” on page 78.

Note: Do not use table definitions as SAP sources in a mapping if the sources have circular primary key-foreign key relationships.

Figure 4-1 shows the Import SAP Metadata dialog box after you import tables:

The Designer imports the following SAP table information:

♦ Source name

♦ Column names

♦ Business descriptions

Figure 4-1. Import Table Definitions

Table Name

Business NameImport all keys or a subset of all keys.

Table and View Definitions 65

Page 90: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

♦ Datatypes, length, precision, and scale

♦ Key relationships

Importing Key RelationshipsAfter you connect to the SAP system through the Import SAP Metadata dialog box, you can designate which keys to import. You can select to import all keys or only primary and primary-foreign keys. The selection applies to all tables in the import list.

Importing All Keys When you import all keys, the Designer imports relationships that are defined in the database and in the data dictionary including primary, primary-foreign keys, and foreign keys. This feature is useful when you build mappings between related tables and you need the foreign keys to generate the join.

Figure 4-2 shows the result of importing EKKO and EKPO with all keys:

Note: SAP does not always maintain referential integrity between primary key and foreign key relationships. If you use SAP R/3 source definitions to create target definitions, you might encounter key constraint errors when you load the data warehouse. To avoid these errors, edit the keys in the target definition before you build the physical targets.

Importing a Subset of All KeysWhen you import a subset of keys, the Designer imports relationships that are defined in the data dictionary. This includes primary and primary-foreign keys. However, foreign keys are not imported. SAP maintains referential integrity with the primary and primary-foreign key relationships.

Figure 4-2. Import Tables with All Keys

EKPO Fields

MANDT

EBELN

EBELP

KONNR

ANFNR

Key

P

P/F

P

F

F

EKKO Fields

MANDT

EBELN

LPONR

Key

P

P

F

66 Chapter 4: Importing SAP R/3 Source Definitions

Page 91: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 4-3 shows the result of importing EKKO and EKPO without all keys:

Figure 4-3. Import Tables Without All Keys

EKPO fields

MANDT

EBELN

EBELP

Key

P

P/F

P

EKKO Fields

MANDT

EBELN

Key

P

P

Table and View Definitions 67

Page 92: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Hierarchy Definitions

A hierarchy is a tree-like structure that defines classes of information. Each class is represented by a different level of the hierarchy. A hierarchy is related to one or more tables, called detail tables, that contain detail data associated with the hierarchy. The detail table is keyed to the root level of the hierarchy. The structure at each level of the hierarchy is called a node. A hierarchy has the following types of nodes:

♦ Root node. The highest node in the structure and the origin of all other nodes. The root node represents the hierarchy.

♦ Leaf nodes. The lowest level in the structure. The leaf nodes are keyed to the detail table through a range of values. This range of values is defined by a beginning and ending value, called From_Value and To_Value, respectively.

♦ Higher nodes. The nodes between the root and leaf nodes. Higher nodes represent the logical path from the root node to the leaf nodes. There may be multiple levels of higher nodes.

SAP has the following types of hierarchies:

♦ Uniform. All branches have the same number of levels.

♦ Non-uniform. Branches have different numbers of levels.

Uniform HierarchiesA hierarchy is uniform if each level in the hierarchy represents the same type of information.

Figure 4-4 shows a sample uniform hierarchy:

In this example, the root node represents the company name, level one represents Division, and level two represents Employee ID.

Figure 4-4. Sample Uniform HierarchyTech Co.

Sales R&D

125-150 200 413-435450-500

325-400

Root Node

Level One (Division)

Level Two (Employee)

68 Chapter 4: Importing SAP R/3 Source Definitions

Page 93: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 4-1 shows a sample detail table associated with the sample hierarchy:

Table 4-2 shows the join of the sample hierarchy in Table 4-7 on page 72 and the detail table in Table 4-1. The shaded columns represent data extracted from the detail table:

Table 4-1. Sample Detail Table

Employee ID Name Address1 ... Hire Date

125 John Franks 62 Broadway ... 06-14-79

126 Angela Michaelson 1100 Brookside Pkwy. ... 03-05-97

149 Jose Fernandez 216 8th Avenue ... 07-30-94

200 Jason Green 1600 East First ... 05-07-96

326 Jeff Katigbak 835 Laurel ... 01-30-97

334 Tracy Scott 27251 Paula Lane ... 05-05-92

340 Betty Faulconer 204 SE Morningside ... 04-29-97

413 Sandy Jackson 554 Lake Avenue ... 01-30-92

450 Aaron Williams 401 Studio Circle ... 11-27-98

Table 4-2. Sample Uniform Hierarchy and Detail Table Extract

Root Node SetID Level One SetID From

ValueTo Value

Employee ID Employee Name

Tech Co. TECH-ID Sales SLS-ID 125 150 125 John Franks

Tech Co. TECH-ID Sales SLS-ID 125 150 126 Angela Michaelson

Tech Co. TECH-ID Sales SLS-ID 125 150 149 Jose Fernandez

Tech Co. TECH-ID Sales SLS-ID 200 200 200 Jackson Green

Tech Co. TECH-ID R&D RD-ID 325 335 326 Jeff Katigbak

Tech Co. TECH-ID R&D RD-ID 325 335 334 Tracy Scott

Tech Co. TECH-ID R&D RD-ID 336 400 340 Betty Faulconer

Tech Co. TECH-ID R&D RD-ID 413 435 413 Sandy Jackson

Tech Co. TECH-ID R&D RD-ID 450 500 450 Aaron Williams

Hierarchy Definitions 69

Page 94: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Non-Uniform HierarchiesA hierarchy is non-uniform if one or more of the branches do not have the same number of levels.

Figure 4-5 shows a sample non-uniform hierarchy:

In this example, there is a level between Division and Employee that represents Department. The Sales Division branches directly to Employee.

When the Integration Service extracts data for this hierarchy, it inserts NULLs in the level two and SetID columns associated with Sales. Some nodes do not have descriptions, but all nodes have SetIDs. If a node does not have a description, the Integration Service inserts NULLs in that column, and it extracts the SetID into the associated SetID column.

Table 4-3 shows the join of the sample hierarchy in Figure 4-5 on page 70 and the detail table in Table 4-1 on page 69. The shaded columns represent data extracted from the detail table:

Figure 4-5. Sample Non-Uniform Hierarchy

Table 4-3. Sample Non-Uniform Hierarchy and Detail Table Extract

Root Node SetID Level

One SetID Level Two SetID From

ValueTo Value

Emp. ID

Employee Name

Tech Co. TECH-ID Sales SLS-ID NULL NULL 125 150 125 John Franks

Tech Co. TECH-ID Sales SLS-ID NULL NULL 125 150 126 Angela Michaelson

Tech Co. TECH-ID Sales SLS-ID NULL NULL 125 150 149 Jose Fernandez

Tech Co. TECH-ID Sales SLS-ID NULL NULL 200 200 200 Jackson Green

Tech Co. TECH-ID R&D RD-ID Research RSCH-ID 325 335 326 Jeff Katigbak

Tech Co. TECH-ID R&D RD-ID Research RSCH-ID 325 335 334 Tracy Scott

Tech Co.

Sales R&D

125-150 200 413-435450-500

325-335

Root Node

Level One (Division)

Level Three (Employee)

Research NULL

336-400

Level Two (Department)

70 Chapter 4: Importing SAP R/3 Source Definitions

Page 95: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Importing Hierarchy DefinitionsYou can import single-dimension CO hierarchies as SAP R/3 source definitions. Single-dimension hierarchies have one associated detail table. After you import a hierarchy definition, you can also import the detail table definition and establish a key relationship between the two definitions in the Designer.

When you import hierarchy definitions, the Designer displays all available business names and the SetID in the Import SAP Metadata dialog box. If a business name does not exist, the Designer displays the SetID in its place. You can enter filter criterion for business names only.

Figure 4-6 shows the Import SAP Metadata dialog box after you import hierarchies:

Tech Co. TECH-ID R&D RD-ID Research RSCH-ID 336 400 340 Betty Faulconer

Tech Co. TECH-ID R&D RD-ID NULL <NULL>-ID

413 435 413 Sandy Jackson

Tech Co. TECH-ID R&D RD-ID NULL <NULL>-ID

450 500 450 Aaron Williams

Figure 4-6. Import Hierarchy Definitions

Table 4-3. Sample Non-Uniform Hierarchy and Detail Table Extract

Root Node SetID Level

One SetID Level Two SetID From

ValueTo Value

Emp. ID

Employee Name

Set ID

Business Name

Set ID (Business name not available)

Hierarchy Definitions 71

Page 96: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

After you import a hierarchy definition, the Designer creates the following columns:

♦ The root node and SetID. The Designer creates two columns for the hierarchy root, one column for the root node, and one for the SetID of the root node.

♦ Each node level and SetID. The Designer creates two columns for each level representing higher nodes in the hierarchy, one column for each node level and the SetID of the node level.

♦ Detail range for the leaf nodes. The Designer creates two columns to represent the range of values for the leaf nodes in the hierarchy. These columns are named FROM_VALUE and TO_VALUE.

For example, when you import a hierarchy with the structure as shown in Figure 4-7 on page 72, the Designer creates a definition as shown in Figure 4-8 on page 72.

Figure 4-7 shows a sample hierarchy structure:

Figure 4-8 shows the definitions the Designer creates from the hierarchy structure in Figure 4-7:

Figure 4-7. Sample Hierarchy Structure

Figure 4-8. Imported Hierarchy Definition

Root Node

Higher Nodes

Leaf Nodes

Leaf Nodes

Higher Node

Root Node

Higher Node SetID

Root Node SetID

72 Chapter 4: Importing SAP R/3 Source Definitions

Page 97: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

When you import a hierarchy, the Designer creates all columns with a CHAR datatype. The Designer imports all hierarchy definitions with a precision of 50 for the root and higher nodes, and a precision of 30 for the detail range and the SetIDs.

The Designer also imports the following metadata:

♦ Source name. Hierarchy name.

♦ Hierarchy SetID. Unique identifier of the hierarchy.

♦ Set table name. Table name associated with the hierarchy.

♦ Business descriptions. Business description of the hierarchy.

♦ Detail table name. Table that contains the detail information for the hierarchy.

♦ Related field name. Field that joins the hierarchy with the detail table.

Establishing Hierarchy RelationshipsIf you want to join the hierarchy with the detail table, import the detail table into the Designer. Use the Source Analyzer to establish the key relationship. After you import the hierarchy definition, you can find the detail table information on the Properties tab of the hierarchy definition in the Mapping Designer. Drag the hierarchy definition into the Mapping Designer and note the detail table name and the related field name. You can then import the detail table definition and create the relationship.

Figure 4-9 shows the detail information for the hierarchy definition in Figure 4-8 on page 72:

When you import definitions of related tables, the Designer imports the key relationships. However, when you import a hierarchy and its detail table, you create a logical relationship.

Figure 4-9. Detail Table Name for Hierarchy

Detail Table NameRelated Field Name

Hierarchy Definitions 73

Page 98: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The detail table contains the detail information for the leaf nodes. The hierarchy table contains the range of values for the details.

To establish hierarchy relationships:

1. Double-click the hierarchy table definition.

2. Change the key value of either the FROM_VALUE column or the TO_VALUE column to Foreign Key.

3. In the Primary table list, select the detail table.

4. In the Primary column list, select the primary key of the detail table. Click OK.

74 Chapter 4: Importing SAP R/3 Source Definitions

Page 99: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

IDoc Definitions

SAP uses IDocs to integrate with Electronic Data Interchange (EDI) systems. You can import IDoc definitions as SAP R/3 source definitions. An IDoc is a generated text file that contains a hierarchical structure consisting of segments. Each segment is an SAP structure defined in the SAP system.

An IDoc has the following components:

♦ Header. The header contains control information, such as creation date and status. The control information is in an SAP structure called EDIDC.

♦ Data records. The data records are in an SAP structure called EDIDD.

Import IDoc definitions when you want to extract data from the EDIDC and EDIDD structures.

Note: If you want to use IDocs to receive data from mySAP applications and send data to mySAP applications using ALE, do not import IDoc definitions. To use ALE to send and receive IDocs, use SAP/ALE IDoc Interpreter and SAP/ALE IDoc Prepare transformations in a mapping. For information about sending and receiving IDocs using ALE, see “Part III: IDoc Integration Using ALE” on page 171.

Importing IDoc DefinitionsWhen you import an IDoc definition, the Designer connects to the SAP system and imports the metadata for IDocs from the EDIDC or EDIDD structures in the SAP system. During import, the Designer displays a list of basic IDocs. You can expand each IDoc to view a list of segments.

IDoc Definitions 75

Page 100: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 4-10 shows the Import SAP Metadata dialog box where you import IDoc definitions:

You can import an entire IDoc or an individual segment of an IDoc. When you import an entire IDoc, the Designer imports every segment in the IDoc. After you import an entire IDoc, each segment in the IDoc is independent of the other segments in the IDoc.

Viewing IDoc DefinitionsAfter you import an IDoc definition, the Designer displays data records and some control information of the IDoc. Use the control information to perform lookups on the SAP system.

The Designer adds the following columns from the control information of the IDoc:

♦ DOCNUM. Document number. The SAP system assigns a unique documentation number to each IDoc.

♦ STATUS. The status of the IDoc.

♦ CREDAT. Creation date.

♦ CRETIM. Creation time.

♦ SNDSAD. Sender address.

♦ DIRECT. The direction of the IDoc. The direction of the IDoc can be inbound or outbound.

The Columns tab of the IDoc source definition displays the added columns of control information.

Figure 4-10. Import IDoc Definitions

Basic IDoc Type

IDoc Segments

76 Chapter 4: Importing SAP R/3 Source Definitions

Page 101: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 4-11 shows the Columns tab for an IDoc definition:

The Designer also displays the following IDoc type properties on the Properties tab of the IDoc definition:

♦ IDoc Type. The name of the IDoc definition.

♦ Basic IDoc Type. The name of the basic IDoc type.

♦ Extension IDoc Type. The name of the user-defined extension of a basic IDoc type.

Figure 4-11. IDoc Control Information

Control Information

IDoc Definitions 77

Page 102: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Importing a Source Definition

When you import source definitions, you connect to the SAP system through the Import SAP Metadata dialog box. The Designer provides the following tabs in the Import SAP Metadata dialog box:

♦ Tables. Import table and view definitions.

♦ Hierarchies. Import hierarchy definitions.

♦ IDocs. Import IDoc definitions.

You can also enter filter criterion to reduce the number of definitions the Designer displays in the selection list. If the first character of an SAP source name is an asterisk (*) or a number, the Designer converts the first character to an underscore (_) when you import the source definition.

Filtering Definitions in the Import Dialog BoxWhen you enter a business name filter, the Designer applies the filter to both tables and hierarchies. When you enter a table name filter, the Designer applies the filter to tables only, and returns all hierarchy definitions under the hierarchy tab.

The following rules apply to filter syntax:

♦ Use the percent sign (%) as a wildcard search for multiple characters.

♦ Use an underscore (_) as a wildcard search for single characters.

♦ Separate multiple table or business names with commas.

For example, if you select the Table tab and enter EKKO, BSE%, the SAP system returns the table named EKKO and all tables that begin with BSE.

Steps to Import an SAP R/3 Source DefinitionComplete the following steps to import an SAP R/3 source definition.

To import an SAP R/3 source definition:

1. In the Source Analyzer, click Sources > Import from SAP.

The Import SAP Metadata dialog box appears.

2. To connect to the SAP system, enter the following information:

Field Required/Optional Description

Connect String Required Type A or Type B destination entry in the saprfc.ini file.

User Name Required SAP source system connection user name. The user name must be a user for which you have created a source system connection.

Password Required SAP password for the above user name.

78 Chapter 4: Importing SAP R/3 Source Definitions

Page 103: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Optionally, enter a filter.

4. Select Table or Business names filter button to apply the filter criterion.

5. Click one of the following tabs for the source you want to import: Tables, Hierarchies, or IDocs.

6. Click Connect.

The Designer displays the table, hierarchy, or IDoc definitions according to the criterion entered.

7. If you are importing table definitions, clear All Keys if you want to import a subset of all key relationships.

For more information, see “Importing Key Relationships” on page 66.

8. Select the object or objects you want to import.

♦ Hold down the Shift key to select blocks of sources.

Client Required SAP client number.

Language Required Language you want for the mapping. The language must be compatible with the PowerCenter Client code page. For more information about language and code pages, see “Language Codes, Code Pages, and Unicode Support” on page 395.If you leave this option blank, PowerCenter uses the default language of the SAP system.

Field Required/Optional Description

Select Tables, Hierarchies, or IDocs.

Importing a Source Definition 79

Page 104: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

♦ Hold down the Ctrl key to make non-contiguous selections within a folder.

♦ Use the Select All button to select all tables.

♦ Use the Select None button to clear all highlighted selection.

9. Click Add To Import List.

10. To view the list, click View Import List.

11. To remove items from the list that you do not want to import, select the item and click Delete.

12. Click Close to close the Import List dialog box.

13. When the Import List is complete, click OK.

80 Chapter 4: Importing SAP R/3 Source Definitions

Page 105: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Editing a Source Definition

After you import a table or hierarchy definition from SAP, you can edit the definition properties. For example, you might create logical primary-foreign key relationships between two sources. You can also change the database name of the hierarchy if you want to display the definitions in separate nodes in the Navigator.

To edit an SAP R/3 source definition:

1. In the Source Analyzer, double-click the title bar of the source definition.

2. On the Table tab, edit the following settings:

Source Settings Description

Business name Business name associated with the table.

Owner name SAP Owner.

Description SAP Business Description for the table.

Editing a Source Definition 81

Page 106: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Click the Columns tab.

4. Edit the following settings:

Although you can edit column names in the Source Analyzer, the column names of the source definition need to match the column names of the SAP source to generate an ABAP program.

5. Click the Metadata Extensions tab.

6. Optionally, create user-defined metadata extensions.

Use metadata extensions to associate information with repository metadata. For more information about metadata extensions, see “Metadata Extensions” in the PowerCenter Repository Guide.

7. Click OK.

Source Settings Description

Key Type Establish key relationships with other tables.

Business Name Business name associated with each column.

Description SAP business description for the table.

82 Chapter 4: Importing SAP R/3 Source Definitions

Page 107: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Organizing Definitions in the Navigator

By default, the Navigator displays both table definitions and hierarchy definitions under a single node in the Sources folder. The Designer provides the following ways to organize these definitions in the Navigator:

♦ Create separate repository nodes for the hierarchies.

♦ Create business components for related sources.

Figure 4-12 shows SAP tables and hierarchies that are reorganized within the Sources folder:

Creating Repository Nodes for HierarchiesIf you want to display hierarchies separately in the Navigator, you can set the Designer options to group sources by database name. Then, edit the hierarchy definition, and rename the database name to Hierarchy.

To edit the database name for hierarchies:

1. In the Source Analyzer, double-click the title bar of the hierarchy definition.

The Edit Tables dialog box appears.

2. Click Rename.

Figure 4-12. Definitions Organized in Navigator

Hierarchy Database NameRenamed in Source Definition

SAP Database NameDefault in Source Definition

Business ComponentRelated Definitions

Organizing Definitions in the Navigator 83

Page 108: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The Rename Source Table dialog box appears.

3. Change the Database Name to Hierarchy.

4. Click OK twice.

Note: You also need to change the Designer options to display definitions in the Navigator by database name. For information about changing options, see the PowerCenter Designer Guide.

Working with Business ComponentsBusiness components provide a way to organize related sources. You can create business components in the Navigator to organize related SAP R/3 sources. After you create a business component, drag the table and hierarchy definitions into the business component. The Navigator maintains the definition in the Sources folder and also in the Business Components folder. You can edit the definition in either folder. You can delete the definition in the business component without affecting the definition in the Sources folder. For more information about business components, see “Managing Business Components” in the PowerCenter Designer Guide.

84 Chapter 4: Importing SAP R/3 Source Definitions

Page 109: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

When I tried to import an SAP R/3 source definition, I received the following error:SAP System Exception Failed Key = RFC_ERROR_SYSTEM_FAILURE Message = Function Module “<function module name>” not found

You connected to a production system. Connect to a development system.

When I view the properties of an imported SAP R/3 table definition, I see the number sign (#) for several characters in the table description.

The Designer displays the number sign (#) for each character that is not converted while importing metadata from SAP. If the Integration Service is running in Unicode mode, the conversion error probably occurred because the imported table does not have a description in the connection language you selected in the Import SAP Metadata dialog box. Log in to the SAP system and enter a table description for this language.

Troubleshooting 85

Page 110: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

86 Chapter 4: Importing SAP R/3 Source Definitions

Page 111: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 5

Working with ABAP Mappings

This chapter includes the following topics:

♦ Overview, 88

♦ Setting the Select Option, 89

♦ Setting the Order By Option, 91

♦ Viewing the Hierarchy Properties, 93

♦ Viewing IDoc Properties, 94

♦ Working with the ABAP/4 Program, 95

♦ Troubleshooting, 106

87

Page 112: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

Complete the following steps when you create a mapping with an SAP R/3 source:

1. Configure the source definition. The source definition in a mapping has the following configuration properties that allow you to optimize performance when you extract from SAP:

♦ Select option. Restricts the number of rows returned from the SAP R/3 source.

♦ Order By. Orders by primary keys or by a specific number of ports.

2. Create and configure the Application Source Qualifier. For more information about the Application Source Qualifier, see “Application Source Qualifier for SAP R/3 Sources” on page 119.

3. Install the ABAP program. Install an ABAP program that extracts source data when you run a workflow.

Use the following guidelines when you create a mapping with an SAP R/3 source:

♦ The mapping name cannot exceed 56 characters.

♦ The mapping name or description and the folder or repository name in which you save the mapping cannot contain the word “REPORT.” When the word “REPORT” exists in the mapping name or description and the folder or repository name, the ABAP program fails.

88 Chapter 5: Working with ABAP Mappings

Page 113: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Setting the Select Option

You can restrict the number of rows returned from the SAP R/3 source table. Configure the Select Option property in the source definition to select either a single row or a distinct set of rows from the source. By default, the Select Option property selects all rows from the source. The property settings are:

♦ Select All. Default setting. Select all rows from a source.

♦ Select Single. Select a single row from a table using open SQL.

♦ Select Distinct. Select unique values from a table using open SQL or exec SQL.

Table 5-1 summarizes select options and the conditions for using them:

For more information about open and exec SQL, see “Generating an ABAP Program” on page 121.

Select SingleSelect Single is an open SQL command that returns one row from the SAP R/3 source. When you use open SQL, the Designer generates a Select Single statement for each source definition you configure with the Select Single option.

You might use this option with a nested loop join when you want to join tables based on key values in one table. The inner loop with Select Single matches one record for each join condition. Select Single improves performance in the select loop by selecting a single row of data rather than the entire table.

Select Single is not available with the following options:

♦ Exec SQL and ABAP join syntax. Exec SQL and ABAP join syntax do not recognize Select Single. Therefore, the Designer does not generate a Select Single statement in the ABAP program if you configure the Application Source Qualifier to generate exec SQL or ABAP join syntax.

♦ Order By. If you configure the source definition to use Select Single and Order By, the Designer generates a Select Single statement in the ABAP program, but it does not generate an Order By statement.

♦ Hierarchy and IDoc definitions. The Select Single option is not available for hierarchy and IDoc definitions.

Table 5-1. Select Option Summary

ABAP Generation Select All Select Single Select Distinct

Open SQL Yes Yes Yes

Exec SQL Yes No Configure all sources to Select Distinct.

ABAP join syntax Yes No Configure all sources to Select Distinct.

Hierarchy and IDoc definitions n/a n/a n/a

Setting the Select Option 89

Page 114: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Select DistinctSelect Distinct is a command that returns rows with a distinct set of key values. Use Select Distinct with open SQL, exec SQL, and ABAP join syntax. When you use open SQL, the Designer generates a select distinct statement for each source definition you configure with the Select Distinct option.

You might use this option when you only want to return records associated with particular key values. Select Distinct improves performance by filtering out unnecessary data early in the data flow.

If you join multiple sources in a single Application Source Qualifier configured for exec SQL and ABAP join syntax, and you want to use select distinct, choose Select Distinct for each source connected to the Application Source Qualifier. The Designer generates a Select Distinct statement with exec SQL only when you configure all of the source definitions with the Select Distinct option.

Note: If you use the Select Distinct option for LCHR when the length is greater than 2,000 characters and the underlying source database is Oracle, the session fails.

The Select Distinct option is not available for hierarchy and IDoc definitions.

90 Chapter 5: Working with ABAP Mappings

Page 115: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Setting the Order By Option

You can improve session performance by ordering the source data by primary key or a specified number of ports. Configure the Order By option in the source definition. When the Designer generates ABAP using nested loop joins, it determines the number of columns for each source. This differs from relational sources where you specify the Order By in the Source Qualifier.

The Designer generates an Order By statement in the ABAP program when you specify any positive number of ports. Order by support is different for transparent tables and pool and cluster tables.

Note: If you include LRAW ports in the Order By statement, the session fails.

Transparent TablesWhen you specify the number of Order By ports for a source definition in a mapping, the Designer generates an Order By clause beginning with the first column in the definition. The Designer generates the Order By statement using the following guidelines:

♦ If you specify a number of ports to Order By that is greater than the number of ports in the source definition, the ABAP program generates an Order By statement using all ports in the source definition.

♦ SAP requires all columns in the Order By statement to be part of the select statement. If you include a column in the Order By selection, but you do not project it into the Application Source Qualifier, the ABAP program adds that column to the select statement. The ABAP program does not, however, extract the data from the column you excluded from the Application Source Qualifier.

The Order By statement is different for exec SQL, open SQL, and ABAP join syntax. The following samples are based on the same mapping that joins KONH and KONP in one Application Source Qualifier. Each source definition is configured to order by three ports.

Exec SQLWhen you use exec SQL, the Order By statement is similar to standard relational statements:

exec sql [...]

SELECT KONH.MANDT, KONH.KNUMH, KONH.ERNAM, KONH.ERDAT, KONH.KVEWE,

[...], KONP.MANDT, KONP.KNUMH, KONP.KOPOS, KONP.KAPPL,[...]

INTO [...]

FROM KONH, KONP

where [...] and [...]

order by KONH.MANDT, KONH.KNUMH, KONH.ERNAM, KONP.MANDT, KONP.KNUMH, KONP.KOPOS

endexec.

Setting the Order By Option 91

Page 116: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Open SQL When you use open SQL, the Order By statement is generated within the nested loop for each source in the Application Source Qualifier:

select MANDT KNUMH ERNAM [...]

into [...]

from KONH where [...]

order by MANDT KNUMH ERNAM .

select MANDT KNUMH KOPOS KAPPL [...]

into [...]

from KONP

where [...]

order by MANDT KNUMH KOPOS .

Note: The Designer does not generate an Order By clause if you use select single in the source properties.

ABAP Join SyntaxWhen you use ABAP join syntax, the Designer generates the Order By statement after the WHERE clause:

SELECT KONP~MANDT KONP~KNUMH[...] KONH~ERDAT KONH~KVEWE KONH~KOTABNR KONH~KAPPL [...]

INTO [...]

FROM KONH

INNER JOIN KONP

ON

KONP~KNUMH = KONH~KNUMH

WHERE

[...] and [...]

ORDER BY KONH~MANDT KONH~KNUMH KONH~ERNAM

KONP~MANDT KONP~KNUMH KONP~KOPOS .

Pool and Cluster TablesYou can order by primary keys for pool and cluster tables. When you specify any positive number to order by in the mapping source definition, the Designer generates an Order By clause to order by primary key:

select MANDT KAPPL KSCHL LIFNR MATKL INFNR DATBI DATAB KNUMH into [...] from A015 where [...] order by primary key .

92 Chapter 5: Working with ABAP Mappings

Page 117: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Viewing the Hierarchy Properties

The Properties tab of the hierarchy definition displays the detail table and key field names related to the hierarchy. If you want to join the hierarchy with the detail table, you can look on the properties page in the Mapping Designer for the detail table and key field name. The Select and Order By options are not available for hierarchy definitions.

Figure 5-1 shows the Properties tab of a hierarchy definition:

Figure 5-1. Hierarchy Properties Tab

Viewing the Hierarchy Properties 93

Page 118: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Viewing IDoc Properties

The Properties tab of the IDoc source definition displays the following information:

♦ IDoc Type. The name of the IDoc definition.

♦ Basic IDoc Type. The name of the basic IDoc type.

♦ Extension IDoc Type. The name of the user-defined extension of a basic IDoc.

The Select and Order By options are not available for IDoc definitions.

Figure 5-2 shows the Properties tab of an IDoc definition:

In the Source Analyzer, you can import an entire IDoc or an individual segment of an IDoc. If two different IDocs have segments with the same name, you can edit the IDoc Type to indicate which segment you want to use in the mapping.

For example, the IDocs E1BPACAR01 and E1BPACAR02 both have a segment named E1MVKEM. You import E1MVKEM from E1BPACAR01 in the Source Analyzer. You cannot import E1MVKEM twice in the Source Analyzer. To use the E1MVKEM segment from E1BPACAR02, change the IDoc Type in the Mapping Designer to E1BPACAR02.

Figure 5-2. IDoc Properties Tab

94 Chapter 5: Working with ABAP Mappings

Page 119: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with the ABAP/4 Program

SAP uses its proprietary language, ABAP/4, to extract data. Before you can run a workflow to read data from an SAP R/3 source, generate and install an ABAP program. You generate the program using the Designer after you complete a mapping with an SAP R/3 source. The Designer generates a unique program name and stores it in the repository. When you generate the ABAP program, you install it on the SAP system that extracts source data.

Use the following options to maintain ABAP programs for mappings with SAP R/3 sources:

♦ Generate ABAP programs. Generate an ABAP program to extract source data.

♦ Install ABAP programs directly or from a local copy. Install the ABAP program from the local system or directly onto the SAP system.

♦ Uninstall ABAP programs. Uninstall ABAP programs you no longer want to use.

♦ Clean ABAP programs. Clean ABAP programs if you delete a folder from the repository.

♦ Copy ABAP programs. You can copy ABAP programs when you copy a folder or mapping to another repository.

The Integration Service extracts hierarchy data through a remote function call, not through an ABAP program. If you build a mapping with a hierarchy definition and no detail table definition, the Designer does not generate an ABAP program for the mapping.

Note: You cannot generate and install ABAP programs from mapping shortcuts.

Working with the ABAP/4 Program 95

Page 120: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 5-3 shows the Generate and Install dialog box:

If a mapping becomes invalid after you install the program, validate the mapping, save the repository, and re-install the ABAP program. If you save the repository with the mapping open after you install the ABAP program, the session fails, and the session log instructs you to regenerate and install the program.

Selecting the Program ModeThe program mode is the mode in which the application server extracts data. When you generate an ABAP program, choose one of the following program modes:

♦ File. Extracts data to a staging file. The Integration Service accesses the file through FTP or NFS mount.

♦ Stream. Extracts data to buffers. The Integration Service accesses the buffers through CPI-C, the SAP protocol for program-to-program communication.

For more information about file and stream modes, see “Running Stream Mode Sessions” on page 156 and “Running File Mode Sessions” on page 158.

Figure 5-3. Generate and Install ABAP Programs

Select program mode.

Generate local copy of ABAP program.

View local copy or view program information.

Install ABAP program directly or from local copy.

Perform authority check at session runtime.

Program Name Options

Mapping Version

96 Chapter 5: Working with ABAP Mappings

Page 121: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Note: If a mapping contains both hierarchies and tables, generate the ABAP program using file mode. The Designer does not generate ABAP if you choose stream mode for a mapping that contains hierarchies and tables.

Naming the ABAP ProgramThe Designer generates a unique ABAP program name when you generate or install the ABAP program for the first time. You can override the generated program name if you are installing or generating the ABAP program for the first time.

If you use SAP 46C or later, and you have registered a namespace with SAP, you can also choose to add a namespace prefix to the ABAP program name. The Designer adds the namespace to the ABAP program name if you are installing or generating the ABAP program for the first time. If you override the program name, and you want to add a namespace, enter the namespace as a prefix to the program name.

If you want to override the program name or add a namespace after installing or generating, you need to uninstall the ABAP program from all SAP systems. Then, you can install the ABAP program again with a namespace or program name override.

If you connect to an SAP 3.x system or if you select stream mode as the program mode, you can enter an ABAP program name up to eight characters. If you connect to an SAP 4.x system, you can enter an ABAP program name up to 30 characters.

Adding Authority ChecksWhen you generate the ABAP program, you can add authority checks. The Designer adds an authority check to the ABAP program for each Application Source Qualifier in the mapping.

During a workflow, the application server verifies that the user running the workflow has read permission on the sources. If the user does not have authorization to access one of the sources, the session fails with a NO AUTHORITY error.

If you enabled the Authority Check option when you generated the ABAP program, the SAP application server verifies that the user running the workflow has authorization to read the sources. SAP verifies the authorization before it reads the first source. If the user in the SAP R/3 application connection does not have read authorization on any one of the sources, the session fails with a NO AUTHORITY error.

Working with ABAP Programs and Versioned MappingsYou can install and uninstall an ABAP program for versioned mappings. The repository can contain versioned mappings when you configure it to store multiple copies of the same object as you make changes and save it. For more information about working with versioned objects in a repository, see “Working with Versioned Objects” in the PowerCenter Repository Guide.

Working with the ABAP/4 Program 97

Page 122: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Generating and Installing an ABAP Program for Versioned MappingsYou can install an ABAP program for any or all versions of a mapping. When you create a new version of a mapping, install a new ABAP program. An ABAP program from a previous version of the mapping does not carry over with the new version.

When you generate an ABAP program, the Designer displays all versions of mappings in the Generate and Install dialog box. For example, in Figure 5-3 on page 96, the Generate and Install dialog box displays all versions of the SAPABAP mapping.

Uninstalling an ABAP Program from Versioned MappingsUninstall an ABAP program when you no longer want to associate the program with a mapping. The Designer uninstalls the programs from the repository and the SAP system. You can uninstall an ABAP program for any or all versions of a mapping. You can also uninstall an ABAP program from older or deleted versions of a mapping only.

When you uninstall an ABAP program, the Designer displays all versions of mappings in the Installed Programs dialog box.

Figure 5-4 shows the Installed Programs dialog box from which you uninstall ABAP programs:

For more information about uninstalling ABAP programs, see “Uninstalling the ABAP Program and Viewing Program Information” on page 102.

Undoing a Checkout and Purging a Mapping with an ABAP ProgramIf you undo a checkout of a mapping or purge a mapping, the Designer marks that version of the mapping as deleted. Any valid versions of the mapping no longer use the ABAP program you installed for the deleted version of the mapping. Install an ABAP program for the valid version of the mapping.

The Repository Service does not delete the ABAP program. You need to clean the ABAP program information if you want to delete the program. For more information about cleaning ABAP program information, see “Cleaning ABAP Program Information” on page 103.

Figure 5-4. Installed Programs Dialog Box

Select Old/Deleted Mapping Versions: Select to uninstall ABAP programs from all old and deleted mapping versions.

Mapping Version Number

98 Chapter 5: Working with ABAP Mappings

Page 123: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Generating and Installing the ABAP ProgramThe Designer installs the ABAP program in the development class shown in the Development Class field. The default development class is $TMP. The $TMP development class is temporary. You cannot transport ABAP programs from this class to another system. If you want to transport the ABAP program to a production system, create a development class within SAP for the ABAP programs. Install ABAP programs that use a namespace in a development class that is in the same namespace.

You can install the ABAP program directly on the SAP system, or you can generate the ABAP program locally and install it using the local copy.

If you have a Unicode SAP system, the Designer is connected to a Unicode repository, and the ABAP program contains a source filter with ISO 8859-1 or multibyte characters, generate a local copy of the ABAP program and upload the generated file into the SAP system.

Generating the ABAP Program and Installing Directly onto the SAP SystemYou can install the ABAP program directly onto the SAP system. When you install directly onto the SAP system for the first time, the Designer generates a program name.

If you are generating the ABAP program for the first time, you can override the generated program name by selecting Enable Override. You cannot override the local file name.

To generate the ABAP program and install it directly onto the SAP system:

1. Click Mappings > Generate and Install R/3 Code.

The Generate and Install dialog box appears.

2. Enter the following information to connect to the SAP system:

3. Click Connect.

A list of mappings in the folder appears. If the mappings are versioned, the version number appears next to each version of the mapping.

Field Required/ Optional Description

Connect String Required Type A or Type B destination entry in the saprfc.ini file.

User Name Required SAP development user name.

Password Required Development user password.

Client Required SAP client number.

Language Required Language in which you want to receive messages from the SAP system while connected through this dialog box. If you leave this option blank, PowerCenter connects using the default language of the SAP system. For more information about the language codes for SAP, see “Language Codes, Code Pages, and Unicode Support” on page 395.

Working with the ABAP/4 Program 99

Page 124: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

4. Select the ABAP mapping(s) for which you want to install ABAP.

Use the following guidelines when you select the mappings for which you want to install ABAP:

♦ You can install ABAP for all versions of a mapping.

♦ You can install ABAP for different versions of the same mapping.

♦ You can install ABAP for all versions of multiple mappings.

5. Select the Program Mode: File or Stream.

6. Optionally, select Enable Override to override the default ABAP program name.

7. Optionally, select Use Namespace to prefix a namespace you registered with SAP to the ABAP program name.

8. In the Development Class box, enter the name of the development class where you want to install the program.

The default development class is $TMP.

Note: The $TMP development class is temporary. You cannot transport ABAP programs from this class to another system.

Install ABAP programs that use a namespace in a development class that is in the same namespace.

9. Click Direct Installation.

10. Enter the ABAP program name if you selected Enable Override. If you want to use a namespace, enter the namespace as a prefix to the ABAP program name.

This step also generates the ABAP program.

Generating and Installing from a Local CopyUse the Designer to generate an ABAP program file in a specified local directory so you have a local copy. You can then install from the local copy. To view the file, click View File in the Generate and Install dialog box, or open the file with a text editor.

The naming convention for the local file is mapping_name_file.ab4 or mapping_name_stream.ab4, depending on the program mode you select. The Designer also creates a program name for generating the ABAP program on an SAP system.

Select to install ABAP for all versions of the mapping.Select one or more versions for which you want to install ABAP.

100 Chapter 5: Working with ABAP Mappings

Page 125: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

After you use the Designer to generate the ABAP program file in a specified local directory, you can install from the local copy. When you install from a local copy, you need to be connected to the repository from which the ABAP program was generated.

To generate and install the ABAP program from a local copy:

1. Complete steps 1 to 8 as described in “Generating the ABAP Program and Installing Directly onto the SAP System” on page 99.

2. In the Generate and Install dialog box, click Generate Files to generate the ABAP program.

Or, select Enable Override if you want to override the generated program name, and click Generate Files.

3. If you selected to override the generated program name, enter the ABAP program name and click OK.

ABAP program names must start with “Y” or “Z” when you select to override the program name.

The output window displays a message indicating successful generation:

Program generated successfully for mapping EKKO in file c:\temp\EKKO_File.ab4.

4. To view the local ABAP copy, click View File and double-click the file name.

5. Click Install From Files.

6. Double-click the ABAP file from the Open ABAP File dialog box.

The output window displays a message indicating successful installation:

Program YEKKO_99 installed successfully at destination sophie, from file c:\TEMP\EKKO_File.ab4.

Generating and Uploading into the SAP SystemUse the Designer to generate an ABAP program file in a specified local directory. Use the SAP system to upload the generated file into the SAP system.

Working with the ABAP/4 Program 101

Page 126: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To generate and upload the ABAP program into the SAP system:

1. Complete steps 1 to 6 as described in “Generating and Installing from a Local Copy” on page 100.

2. Log in to the SAP system and upload the generated ABAP program file.

When prompted, override the incorrect program you installed in step 1 with the correct program that you are uploading.

Deploying ABAP Mappings with ABAP ProgramsWhen you add a versioned ABAP mapping with an ABAP program to a deployment group, you can choose to deploy the ABAP program along with the mapping.

Uninstalling the ABAP Program and Viewing Program InformationYou can view program information and uninstall ABAP programs. Uninstall an ABAP program when you no longer want to associate the program with a mapping. When you uninstall ABAP programs, the Repository Manager uninstalls the programs from the repository and the SAP system.

Note: If you remove a folder from a repository, you cannot uninstall any ABAP programs associated with mappings in the folder. To remove the programs, clean the ABAP program information. For more information about cleaning ABAP program information, see “Cleaning ABAP Program Information” on page 103.

You view program information and uninstall programs from the Installed Programs dialog box. The Installed Programs dialog box displays the following information:

♦ The program name and type

♦ Mappings with an associated ABAP program

♦ The version number of the mapping

♦ The ABAP program type

♦ The install time

♦ The SAP user

♦ The client space

You can uninstall ABAP programs using the Uninstall button.

To uninstall ABAP programs:

1. Click Mappings > Generate and Install R/3 code.

2. Connect to the SAP server.

3. Click the View Prog Info button.

4. Select the program you want to uninstall.

You can select multiple programs using the Ctrl key or Shift key.

102 Chapter 5: Working with ABAP Mappings

Page 127: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

You can click Select Old/Deleted Mapping Versions to select all older or deleted mapping versions.

5. Click Uninstall.

The output window displays a message indicating the program was successfully uninstalled:

Program YEKKO_99 un-installed successfully from destination sophie.

Cleaning ABAP Program InformationWhen you delete a folder from the repository, the Repository Service does not uninstall the ABAP program. The ABAP program remains on the SAP system. The repository entry of the ABAP program also remains in the repository.

You can clean the ABAP program information from the SAP system and the repository by clicking Mappings > Cleaning ABAP Program Information. You cannot use the Generate and Install dialog box to uninstall ABAP programs associated with deleted folders.

You may see the following types of ABAP programs when you click Mappings > Cleaning ABAP Program Information:

♦ Shared programs. One or more mappings in other existing folders associate with a shared program. If you clean a shared program, the Designer only cleans the repository entry corresponding to the selected program in the deleted folder.

♦ Orphan programs. Only mappings in the deleted folder associate with an orphan program. If you clean an orphan program, the Designer uninstalls the program from the SAP system and removes all repository entries corresponding to the selected program in the deleted folder.

Working with the ABAP/4 Program 103

Page 128: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To clean ABAP program information in deleted folders:

1. Click Mappings > Cleaning ABAP Program Information.

2. Enter the connection information to connect to the application server.

3. Expand the SAP system node to select the orphan or shared ABAP program you want to clean.

4. Click Uninstall.

5. Click Close.

Copying Program Information When you copy a folder or a mapping to another repository, you can copy the ABAP program information along with the mapping. You can then run a session against the copied mapping without regenerating the ABAP program.

You might want to copy program information when you move into a test or production environment. For example, you develop a mapping, install the ABAP program, and run a successful session. Complete the following steps when you are ready to move to a test environment:

1. Transport the ABAP program to the SAP test system. Typically, SAP development systems have the PowerCenter transports that allow program installation, while the test and production systems do not allow program installation from PowerCenter. Therefore, when you move to test or production, you need to transport the ABAP program.

2. Copy the mapping and program information to a test repository.

Select a shared ABAP program to clean.

Select an orphan ABAP program to clean.

104 Chapter 5: Working with ABAP Mappings

Page 129: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Create and run a session against the mapping using the copied program ID and the transported ABAP program.

When you use the Mapping Copy command or the Folder Copy command, you can choose the mappings for which you want to copy the program information. The Designer copies the program ID and the timestamp of the ABAP program so the program is associated with both mappings. The Designer does not copy the ABAP program.

Use the following guidelines when you copy mappings:

♦ If you are still developing the mapping, do not copy the program information. Instead, generate a new ABAP program from within the copied mapping. If you modify one mapping, the ABAP program might not be valid for the other mapping.

♦ You cannot copy program information to a repository if another program with the same name exists. For example, you can copy program information once from Repository A to Repository B. After you copy from Repository A to Repository B, you cannot copy it again from Repository A to Repository B. You also cannot copy it back from Repository B to Repository A.

♦ You cannot copy program information within the same repository.

♦ When you copy a mapping from one repository to another, or from one folder to another, save the mapping at the target repository or folder before you modify the mapping in the target.

♦ If you modify a mapping, save the modified mapping to the repository before you copy the mapping to another repository.

♦ When you export an ABAP mapping that uses the ABAP program from a PowerCenter 6.x repository and import the mapping into a PowerCenter 8.x repository, do not copy the program information. Regenerate the ABAP program in the PowerCenter 8.x repository and reinstall the updated program on SAP.

Working with the ABAP/4 Program 105

Page 130: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

When I tried to install an ABAP program, I received the following error:SAP System Exception Failed Key = RFC_ERROR_SYSTEM_FAILURE Message = Function Module “<function module name>” not found

You connected to a production system. Connect to a development system.

106 Chapter 5: Working with ABAP Mappings

Page 131: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 6

Working with SAP Functions in ABAP Mappings

This chapter includes the following topics:

♦ Overview, 108

♦ Using SAP Functions in the ABAP Program Flow, 109

♦ Importing SAP Functions, 111

♦ Viewing SAP Functions, 113

♦ Inserting SAP Functions in the ABAP Program Flow, 114

107

Page 132: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

SAP functions are generic modules in the SAP system. The SAP system has a set of standard functions and user-defined functions. SAP functions can accomplish simple tasks such as getting the name of a field, or complex tasks such as calculating depreciation.

If the mapping requires an ABAP program to extract data from SAP, you can insert SAP functions in the ABAP program flow dialog box in the Application Source Qualifier to customize how the ABAP program extracts data. When you run a workflow, the ABAP program calls the SAP function to perform tasks.

To use SAP functions in the ABAP program, you first import the functions in the Source Analyzer and then insert them in the ABAP program flow. In the ABAP program flow, you assign values to function parameters so the function can perform calculations. You then assign variables to hold the result of the function output.

After you customize the ABAP program, you generate and install the ABAP program. The Designer generates a CALL FUNCTION statement in the ABAP program to use the SAP function.

108 Chapter 6: Working with SAP Functions in ABAP Mappings

Page 133: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Using SAP Functions in the ABAP Program Flow

When you use an SAP function in the ABAP program flow, you customize how the ABAP program uses selected rows. Use the result of an SAP function in the ABAP program flow. Or, use the result of an SAP function later in the mapping by creating an output port.

PowerCenter Connect for SAP NetWeaver mySAP Option does not provide versioning for SAP functions. If you remove a function from a mapping, the Designer also removes the function from earlier versions of the mapping.

Note: You cannot use SAP functions if the ABAP program flow contains a hierarchy and no other sources.

SAP Function ParametersEach SAP function has scalar input parameters (input values to the function) and scalar output parameters (output values from the function). The SAP function performs calculations with the values you assign to the scalar input parameters. The SAP function outputs the result of the calculations in the variables you assign to the scalar output parameters.

Some SAP functions may also have changing and table parameters. For more information about changing and table parameters, see “Configuring SAP Function Parameters in the ABAP Program Flow” on page 115.

The Source Analyzer displays information such as the parameter name and parameter type for each parameter. You can assign source fields, constants, and variables to function parameters.

Using SAP Functions in the ABAP Program FlowComplete the following steps to use an SAP function in the ABAP program flow:

1. Import the SAP function in the Source Analyzer.

2. Insert the SAP function in the ABAP program flow.

3. Assign values and variables to function parameters.

4. Generate the ABAP program.

For example, you have a source table that contains company codes and information about each company. You want to get details about each company based on the company code. Use the SAP function BAPI_COMPANYCODE_GETDETAIL to get the information.

Complete the following steps to use the SAP function BAPI_COMPANYCODE_GETDETAIL:

1. Import the SAP function in the Source Analyzer. The Source Analyzer displays the following parameters for BAPI_COMPANYCODE_GETDETAIL:

♦ Scalar input parameter: CompanyCodeID

Using SAP Functions in the ABAP Program Flow 109

Page 134: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

♦ Scalar output parameters: CompanyCode_Detail, CompanyCode_Address, and Return

2. Insert the SAP function into the ABAP program flow. The ABAP program flow in the Application Source Qualifier shows objects in the ABAP program. Insert BAPI_COMPANYCODE_GETDETAIL below the source table in the ABAP program flow.

3. Assign values to function parameters. You want to get details about each company based on the company code. Assign the source field that contains company code to the scalar input parameter CompanyCodeID.

Based on the company code, the SAP function gets details about each company and company address. The results of the function are the scalar output parameters CompanyCode_Detail and CompanyCode_Address. You need variables to hold the results of the function. You create a variable called VAR1 and assign it to CompanyCode_Detail. Create another variable and assign it CompanyCode_Address.

4. Generate the ABAP program. When you generate the ABAP program, the Designer generates a CALL FUNCTION statement to call the SAP function.

110 Chapter 6: Working with SAP Functions in ABAP Mappings

Page 135: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Importing SAP Functions

Import the SAP functions in the Source Analyzer before you insert the functions in the ABAP program flow. After you import an SAP function, use the function in any mapping in the open folder. If you want to use an SAP function in another folder, open that folder and import the function again.

To import an SAP function:

1. In the Source Analyzer, click Sources > SAP Functions.

2. Click Import.

The Import SAP Metadata dialog box appears.

3. Enter the following information to connect to the SAP system:

4. Enter filter criterion for the function import.

Use the following filter syntax rules to define filter criterion:

♦ Use the percent sign (%) as a wildcard search for multiple characters. For example, to find a function with “DATE” as part of the function name, enter %DATE% as the filter criterion.

♦ Use an underscore (_) as a wildcard search for single characters.

5. Separate multiple function names or comments with commas.

6. Select one of the following options to apply to the filter criterion:

♦ Name. Filters functions by function name.

♦ Comment. Filters functions by function comment.

Note: When you use the Comments filter option and specify EN as the language, the SAP Metadata dialog box displays the comments next to the function name for all functions

Field Required/Optional Description

Connect String Required Type A or Type B destination entry in the saprfc.ini file.

User Name Required SAP source system connection user name. The user name must be a user for which you have created a source system connection.

Password Required SAP password for the above user name.

Client Required SAP client number.

Language Required Language you want for the mapping. The language must be compatible with the PowerCenter Client code page. For more information about language and code pages, see “Language Codes, Code Pages, and Unicode Support” on page 395.If you leave this option blank, PowerCenter uses the default language of the SAP system.

Importing SAP Functions 111

Page 136: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

that contain comments in English. If the functions contain comments in another language, the SAP Metadata dialog box does not display comments.

7. Click Connect.

The Designer displays SAP functions according to the filter criterion.

8. Select the function you want to import.

9. Click Add To Import List.

10. To view the list, click View Import List.

11. To remove items from the list, select the item in the Import List dialog box and click Delete.

12. Click Close to close the Import List dialog box.

13. When the Import List is complete, click OK.

The function and its parameters appear in the SAP Functions dialog box.

112 Chapter 6: Working with SAP Functions in ABAP Mappings

Page 137: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Viewing SAP Functions

After you import SAP functions, you can view the function parameters in the SAP Functions dialog box in the Source Analyzer. In the SAP Functions dialog box, the parameters of the SAP function are read only. When you insert an SAP function into the ABAP program flow, you configure the parameters by assigning values or variables to the parameters.

Figure 6-1 shows the SAP Functions dialog box:

Each SAP function has the following types of parameters:

♦ Scalar Input parameters. Input values to the SAP function. The ABAP program generates code to pass scalar input values to the SAP function.

♦ Scalar Output parameters. Output values from the SAP function. The SAP function returns function outputs in the scalar output parameters. The ABAP program generates code to receive scalar output values from the SAP function.

♦ Changing parameters. SAP function parameters that can require both input and output values. For example, an SAP function may use a scalar input parameter, modify it, and return the modified value as a scalar output parameter.

♦ Table parameters. SAP function parameters that are SAP structures. Table parameters have more than one row.

For more information about function parameters, see the SAP documentation.

Figure 6-1. SAP Functions Dialog Box

Viewing SAP Functions 113

Page 138: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Inserting SAP Functions in the ABAP Program Flow

After you import an SAP function, use it in the Application Source Qualifier to help you extract source data. You insert SAP functions in the ABAP program flow and assign values to function parameters. For more information about working with the ABAP program flow, see “Working with ABAP Program Flow” on page 125.

You assign values and variables to SAP function parameters in the ABAP Program Flow dialog box. You first assign values to the scalar input parameters so the SAP function can use them to perform calculations. You then assign variables to scalar output parameters to hold the return values of the function. If the SAP function contains table or changing parameters, you also assign variables to those parameters.

You can configure the Designer to create an output port in the Application Source Qualifier so you can use the values of function parameters later in the mapping.

Figure 6-2 shows an example of configuring an SAP function in the ABAP Program Flow dialog box:

Note: Any error handling options you set in the session properties for the ABAP mappings do not apply to errors returned by SAP functions you use in the ABAP program flow of the mappings.

Figure 6-2. SAP Function Parameters in the ABAP Program Flow Dialog Box

114 Chapter 6: Working with SAP Functions in ABAP Mappings

Page 139: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring SAP Function Parameters in the ABAP Program FlowYou can view read-only fields and assign values to SAP functions in the ABAP Program Flow dialog box. In the ABAP Program Flow dialog box, each SAP function parameter has the following read-only fields:

♦ Parameter. Name of the parameter.

♦ Type. Type of the parameter. The parameter type can be a standard SAP datatype, a user-defined datatype, or a reference to a structure or structure field.

♦ Optional. When selected, the parameter is optional.

Configuring Scalar Input Parameters in the ABAP Program FlowThe SAP function performs calculations with the values or variables you assign to the scalar input parameters. In the ABAP Program Flow dialog box, configure the following fields for scalar input parameters:

♦ Value Type. Type of value for the parameter. Value type can be an ABAP program variable, a constant, or a field from a source table. If the parameter is optional, the value type can also be None.

♦ Value. Value of the parameter. Depending on the value type, the value of the parameter can be an ABAP program variable, a constant, or a field from a source table.

If the scalar input parameter is a variable, you can choose from a list of ABAP program variables you define in the program flow. You can also enter the name of a new variable. The Designer creates the variable if you enter the name of a new variable in the Value field. When the scalar input parameter is a variable, the Designer generates ABAP statements to assign values to the variables before the CALL FUNCTION statement.

Some scalar input parameters might also be structures. The Designer detects the Value Type for each field of the structure so you do not need to enter the value types.

Configuring Scalar Output, Changing, and Table Parameters in the ABAP Program FlowThe SAP function stores the result of the calculations in the variables you assign to the scalar output parameters. If you assigned a variable to a scalar output, changing, or table parameter, you cannot assign the same variable to another function parameter, except for scalar input parameters. You configure the following fields for scalar output, changing, and table parameters:

♦ Variable. ABAP program variable that holds the value of the parameter.

♦ SQ Port. Select to create an output port in the Application Source Qualifier from the function parameter.

You can create output ports from table parameters only if the SAP function is the last object in the ABAP program flow. The Designer generates a loop to create output ports from table parameters in the ABAP program. An SAP function might have several table parameters. However, you can only create output ports from fields in the same table parameter.

Inserting SAP Functions in the ABAP Program Flow 115

Page 140: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Note: If you choose to create output ports from a table parameter, but you later move the SAP function so that it is no longer the last object in the ABAP program flow, the Designer does not create output ports from the table parameter.

Steps for Inserting an SAP Function in the ABAP Program FlowUse the following procedure to insert an SAP function.

To insert an SAP function:

1. In the ABAP Program Flow dialog box, click Insert Function.

2. Choose the SAP function you want to insert and click OK.

3. From the Scalar Input tab, assign a value type and value for scalar input parameters.

You can choose from variables already defined in the program flow. The Designer shows a list of variables that has matching datatype, precision, and scale with the parameter. You can also click in the value field and enter the name of a new variable. The Designer creates the new variable when you enter the new variable name.

4. From the Scalar Output tab, assign variables for scalar output parameters.

5. Select SQ Port if you want the Designer to create an output port for the import parameter.

6. From the Changing tab, assign variables for changing parameters.

You do not need to assign variables for optional changing parameters.

7. Select SQ Port if you want the Designer to create an output port for the changing parameter.

116 Chapter 6: Working with SAP Functions in ABAP Mappings

Page 141: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

8. Expand tables in the Table tab and assign values to the table parameters.

9. Click Validate.

The Designer verifies that you assigned a variable or value for all required parameters.

10. Click Validate All.

The Designer checks the placement of the SAP function in the ABAP program flow.

11. Click OK.

Validating SAP Functions in the ABAP Program FlowWhen you click Validate, the Designer verifies that you assigned a variable or a value for each required parameter. When you click Validate All, the Designer checks the placement of the SAP function in the ABAP program flow. The rules for inserting SAP functions depends on the SQL type you generate.

Rules for Inserting SAP Functions in the ABAP Program FlowYou can insert an SAP function before the first source table or after the last source table in the program flow. If you use a nested loop to join tables, you can also insert an SAP function between source tables. Be aware of where the Designer inserts the SAP function in the ABAP program to generate the ABAP program successfully.

Table 6-1 shows the rules for inserting an SAP function:

Table 6-1. Rules for Inserting an SAP Function in the ABAP Program Flow

SQL Type Rules

Exec SQL - You can insert SAP functions before the first source or after the last source. You cannot insert SAP functions between sources in the program flow.

- If you insert an SAP function before the first source, the Designer calls the function before the exec statement.

- If you insert an SAP function after the last source, the Designer inserts the function after the FORM WRITE_DSQNAME_TO_FILE statement.

ABAP join syntax - You can insert SAP functions before the first source or after the last source. You cannot insert functions between sources in the program flow.

- If you insert an SAP function before the first source, the Designer calls the function before the select statement.

- If you insert an SAP function after the last source, the Designer inserts the function after the WHERE clause.

Open SQL (nested loop) - You can insert SAP functions between sources in the program flow. The Designer inserts SAP functions between the select statements. You can insert SAP functions before the first source or after the last source.

- If you insert an SAP function before the first source, the Designer calls the function before the first select statement.

- If you insert an SAP function after the last source, the Designer inserts the function after the last WHERE clause.

Inserting SAP Functions in the ABAP Program Flow 117

Page 142: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

118 Chapter 6: Working with SAP Functions in ABAP Mappings

Page 143: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 7

Application Source Qualifier for SAP R/3 Sources

This chapter includes the following topics:

♦ Overview, 120

♦ Generating an ABAP Program, 121

♦ Working with ABAP Program Flow, 125

♦ Joining Source Data, 127

♦ Creating an ABAP Code Block, 135

♦ Creating ABAP Program Variables, 137

♦ Entering a Source Filter, 141

♦ Using Mapping Variables and Parameters, 145

♦ Working with IDoc Sources, 147

♦ Creating and Configuring an Application Source Qualifier, 150

♦ Troubleshooting, 152

119

Page 144: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

When you add an SAP R/3 source definition to a mapping, connect it to an Application Source Qualifier transformation. The Application Source Qualifier represents the record set queried from the SAP R/3 source when you run a session.

When you complete the mapping, generate and install the ABAP program that the SAP application server uses to extract source data.

The Designer generates an ABAP program based on the properties in the source definition and the Application Source Qualifier. The Designer can generate open SQL, exec SQL, or ABAP join syntax. You can also set tracing level for session processing.

In the Application Source Qualifier, you can customize the ABAP program in the ABAP Program Flow dialog box. The ABAP Program Flow dialog box shows the order that the ABAP program processes objects. You can configure properties such as filter condition and join condition in the ABAP Program Flow dialog box.

In the ABAP Program Flow dialog box, use static or dynamic filters to specify how the ABAP program selects rows. You can also add more functionality to the ABAP program by adding ABAP code blocks. You can create variables and import SAP functions to use in the ABAP code or filter condition.

If you join multiple sources with one Application Source Qualifier, you can specify how the ABAP program joins the source tables. You can also specify the order that the ABAP program selects the source tables.

120 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 145: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Generating an ABAP Program

When you finish designing a mapping, use the Mapping Designer to generate an ABAP program to extract the data from tables on the SAP system. The Designer generates the ABAP program using the following generation modes:

♦ Open SQL

♦ Exec SQL

♦ ABAP join syntax

You select the ABAP generation mode on the Properties tab of the Application Source Qualifier. To generate the ABAP program using ABAP join syntax, clear the Exec SQL and Force Nested Loop options.

Figure 7-1 shows the Properties tab of the Application Source Qualifier:

Available ABAP Generation ModeThe available ABAP generation mode depends on the condition of the mapping and the SAP system you install. For example, if you connect to an SAP 3.x system, and the mapping only contains transparent tables, the Designer can generate the ABAP program using open SQL or exec SQL.

Figure 7-1. Select ABAP Generation Mode

Generating an ABAP Program 121

Page 146: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 7-1 shows the available ABAP generation modes for mappings:

In the Application Source Qualifier, the Designer does not check whether you selected the correct ABAP generation mode for the mapping. When you connect to an SAP system and generate the ABAP program, the Designer validates that the selected ABAP generation mode matches the condition of the mapping and the SAP system version.

A hierarchy is a structure of metadata and is not accessible through SQL. The Designer does not generate an ABAP program to extract data from hierarchies. The Integration Service makes a remote function call to the application server to extract the hierarchy metadata.

Generating Open SQLOpen SQL is proprietary to SAP and is sometimes referred to as SAP SQL. Open SQL extracts data from buffers on the application server. When you generate the ABAP program with open SQL, the Designer uses a SELECT statement to select data. You can generate the ABAP program using open SQL for all mappings.

The following sample shows an open SQL statement that the Designer generated:

select MANDT KVEWE KAPPL KSCHL KOZGF DATVO DTVOB

into (T685-MANDT,T685-KVEWE,T685-KAPPL,T685-KSCHL,T685-KOZGF,

T685-DATVO,T685-DTVOB)

from T685 where [...].

endselect.

When you join several sources in one Application Source Qualifier, open SQL uses a nested loop to select data. The Designer issues multiple SELECT statements and then generates WHERE clauses for the join conditions within the nested loop. For more information about joining sources, see “Joining Source Data” on page 127.

Table 7-1. ABAP Program Generation Modes

Condition Available SQL Generation Mode

Mapping contains pool or cluster tables. Open SQL

Mapping contains hierarchies and related detail tables. Open SQL

Mapping contains only transparent tables and you connect to an SAP 3.x system. Open SQLExec SQL

Mapping contains only transparent tables and you connect to an SAP 4.x system. ABAP join syntaxOpen SQLExec SQL

Mapping contains IDocs and you connect to an SAP 3.x system. Open SQL

Mapping contains IDocs and you connect to an SAP 4.x system. ABAP join syntaxOpen SQL

Mapping contains only hierarchies. None

122 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 147: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To select Open SQL:

1. With a mapping open, double-click the title bar of an Application Source Qualifier transformation.

The Edit Transformations dialog box appears.

2. Click the Properties tab.

3. Select Force Nested Loop.

4. Click OK.

Generating Exec SQL Exec SQL, or native SQL, is similar to standard SQL. Use the exec SQL option if the mapping contains only transparent tables or database views. The application server passes exec SQL requests directly to the database to execute. Exec SQL extracts data directly from the tables on the database server.

Although exec SQL can improve PowerCenter session performance, it may decrease performance of the SAP system. Extracting directly from the database may result in data inconsistencies due to application server buffering. For more information about buffering, see the SAP documentation. Consult the SAP administrator before using the Exec SQL option.

The following sample shows an exec SQL statement:

exec sql [...]

SELECT T685.MANDT, T685.KVEWE, T685.KAPPL, T685.KSCHL, T685.KOZGF,

T685.DATVO, T685.DTVOB

INTO

:T685-MANDTT685-KVEWE, :T685-KAPPL, :T685-KSCHL, :T685-KOZGF,

:T685-DATVO, :T685-DTVOB

FROM

T685

where [...]

endexec.

Note: Exec SQL is not available for pool or cluster tables, hierarchies, or IDocs.

Generating an ABAP Program 123

Page 148: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To select Exec SQL:

1. In the Edit Transformations dialog box for the Application Source Qualifier, click the Properties tab.

2. Select Exec SQL.

3. Click OK.

Generating ABAP Join SyntaxABAP join syntax is available for transparent tables and IDocs on SAP 4.x systems. When you have multiple sources connected to the same Application Source Qualifier, the ABAP program can select the tables using ABAP join syntax. ABAP join syntax uses an INNER JOIN or an OUTER JOIN statement to select multiple source tables. ABAP join syntax extracts data directly from the tables on the database server. For more information about joining sources, see “Joining Source Data” on page 127.

To use ABAP join syntax to generate the ABAP program, clear both the Force Nested Loop option and the Exec SQL option in the Application Source Qualifier transformation.

124 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 149: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with ABAP Program Flow

The ABAP Program Flow dialog box in the Application Source Qualifier shows the order of objects in the ABAP program and how you can customize the program.

Figure 7-2 shows the ABAP Program Flow dialog box:

The ABAP program selects tables and objects according to the order in the program flow. Select a table in the program flow to configure the filter condition, join type, and join condition for the selected table. You can complete the following tasks in the ABAP Program Flow dialog box:

♦ Change the order of the program flow. Use the up and down arrows to arrange the order of objects in the program flow.

♦ Insert SAP functions. You can insert SAP functions in the program flow after you have imported them in the Source Analyzer. For more information about inserting SAP functions, see “Working with SAP Functions in ABAP Mappings” on page 107.

♦ Create and insert ABAP code blocks in the program flow. You can add new functionality to the program flow by inserting more blocks of ABAP code. Use ABAP program variables in the code block. For more information about ABAP code blocks, see “Creating an ABAP Code Block” on page 135.

♦ Create ABAP program variables. You can create ABAP program variables to represent values in the ABAP program. The ABAP program variables can also represent SAP system

Figure 7-2. ABAP Program Flow Dialog Box

Change program flow.

Validate the syntax in the selected tab.

Specify the join condition.Specify inner or outer join.

Specify the dynamic filter condition.

Specify the static filter condition.

Add a new ABAP code block.Insert SAP functions.

Create ABAP program variables.

Working with ABAP Program Flow 125

Page 150: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

variables. For more information about ABAP program variables, see “Creating ABAP Program Variables” on page 137.

♦ Filter data using dynamic or static filters. Use dynamic or static filters to reduce the rows that the ABAP program selects. Use ABAP program variables with static filters. For more information about dynamic or static filters, see “Entering a Source Filter” on page 141.

♦ Override the default join type and join condition. If you use multiple sources in the mapping, you can join them with one Application Source Qualifier. You can choose how the ABAP program joins the sources. For more information about overriding default join type and join condition, see “Joining Source Data” on page 127.

In the Mapping Designer, you can also configure the source definition to override the default query with a Select Single or Select Distinct statement. For more information, see “Setting the Select Option” on page 89.

Validating the ABAP Program FlowYou can validate the ABAP program flow by clicking the Validate button or the Validate All button. When you click the Validate button, the Designer validates the syntax for the selected tab. You can validate each program object separately by using the Validate button.

When you click the Validate All button, the Designer validates all the objects in the program flow. The Designer also validates the placement of all the objects in the program flow.

If you add a new SAP R/3 table source to the Application Source Qualifier or remove an existing SAP R/3 table source from the Application Source Qualifier, the ABAP program flow rearranges the order of the objects in alphabetical order. You need to update the order of the objects in the ABAP program flow manually.

126 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 151: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Joining Source Data

If a mapping uses multiple SAP R/3 sources, use one Application Source Qualifier to join the sources. The sources you join in an Application Source Qualifier must be accessible from the same application server, and they must have primary-foreign key relationships. To join tables, link the columns to one Application Source Qualifier.

When you join sources, the ABAP program can perform an inner join or an outer join. The Designer generates a left outer join in the ABAP program if you select outer join in the ABAP Program Flow dialog box.

If you generate the ABAP program using exec SQL, the ABAP program can only perform an inner join. If you generate the ABAP program using open SQL or ABAP join syntax, you can select the join type in the ABAP Program Flow dialog box.

When you join sources, the Designer uses primary-foreign key relationships to determine the default join condition and, with open SQL, the default join order.

You can enter the join condition in the ABAP Program Flow dialog box.

Note: The ABAP Program Flow dialog box displays the join order in the mapping. You can change the join order by moving the program flow objects with the up and down arrows. Do not specify the join order by using the $Source_Join_Order attribute in the join condition.

Joining Sources Using Open SQLWhen the Designer generates the ABAP program using open SQL, the ABAP program can perform an inner join or an outer join. For more information about generating the ABAP program using open SQL, see “Generating an ABAP Program” on page 121.

When you use open SQL, the Designer issues multiple SELECT statements. The Designer generates the WHERE clause for the join condition within the nested loop. For example, after the Designer issues the second SELECT statement, it generates the WHERE clause to join the second table with the first table.

The following sample ABAP program is generated using open SQL to join two transparent tables with an inner join. The join order is KONH, KONP. After the Designer generates the SELECT statement for KONH, it generates the WHERE clause to join KONH with KONP:

select KNUMH MANDT [...] LICDT

into (KONH-KNUMH,KONH-MANDT,[...] KONH-LICDT)

from KONH

where

(KONH_clause)

order by MANDT KNUMH ERNAM .

select MANDT KNUMH KOPOS [...] VBEWA

into (KONP-MANDT,KONP-KNUMH,KONP-KOPOS,[...] KONP-VBEWA)

from KONP

Joining Source Data 127

Page 152: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

where

KNUMH = KONH-KNUMH and

(KONP_clause)

order by MANDT KNUMH KOPOS .

endselect. [...]

The following sample ABAP program is generated using open SQL to join KONH and KONP with an outer join:

select KNUMH MANDT [...] LICDT

into (KONH-KNUMH,KONH-MANDT, [...], KONH-LICDT)

from KONH

where

(KONH_clause)

order by MANDT KNUMH ERNAM .

select MANDT KNUMH KOPOS [...] VBEWA

into (KONP-MANDT,KONP-KNUMH,KONP-KOPOS,[...] KONP-VBEWA)

from KONP

where

KNUMH = KONH-KNUMH and

(KONP_clause)

order by MANDT KNUMH KOPOS . [...]

endselect.

if sy-subrc <> 0.

perform move_columns_to_output changing output.

perform terminate_output changing output.

endif.

endselect. [...]

Joining Sources Using Exec SQLExec SQL joins tables much like standard SQL. Exec SQL selects all tables with one SELECT statement. The Designer generates the WHERE clause for the join condition after the SELECT statement. When you join tables using exec SQL, the ABAP program performs an inner join. For more information, see “Generating an ABAP Program” on page 121.

The following sample exec SQL is generated to join the same transparent tables (KOHN, KOHM, and KONP) as above:

exec sql [...]

SELECT KONH.MANDT, [...], KONM.KOPOS, [...], KONP.MANDT, [...]

128 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 153: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

INTO [...]

FROM

KONP, KONH, KONM

where

KONP.MANDT = :client_var and

KONH.MANDT = :client_var and

KONH.MANDT = KONP.MANDT and

KONM.MANDT = :client_var and

KONM.KNUMH = KONP.KNUMH

endexec.

Joining Sources Using ABAP Join SyntaxABAP join syntax is available for transparent tables and IDocs on SAP 4.x systems. When you generate the ABAP program using ABAP join syntax, the ABAP program can perform either an inner join or an outer join. You choose the join type in the ABAP Program Flow dialog box. Each table in the ABAP program flow must have a key relationship with at least one table above it. If a relationship does not exist between the tables you want to join, you can specify a join condition in the ABAP Program Flow dialog box. For more information about specifying join conditions, see “Specifying Join Conditions” on page 133.

For example, you have two tables, KONP and KONH. You generate the ABAP program with ABAP join syntax and choose inner join for the join type. The following sample ABAP program is generated to join KONP and KONM using an inner join:

SELECT KONH~MANDT [...]

INTO (KONH-MANDT, [...]

FROM KONP

INNER JOIN KONH

ON KONH~KNUMH = KONP~KNUMH

WHERE

(KONP_clause) and

(KONH_clause)

ORDER BY KONP~MANDT KONP~KNUMH KONP~KOPOS

KONH~MANDT KONH~KNUMH KONH~ERNAM .

endselect.

You can also choose outer join for the join type. The following sample of the ABAP program is generated to join KONP and KONH using an outer join:

SELECT KONH~MANDT [...]

INTO (KONH-MANDT, [...]

Joining Source Data 129

Page 154: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

FROM KONP

LEFT OUTER JOIN KONH

ON KONH~KNUMH = KONP~KNUMH

WHERE

(KONP_clause) and

(KONH_clause)

ORDER BY KONP~MANDT KONP~KNUMH KONP~KOPOS

KONH~MANDT KONH~KNUMH KONH~ERNAM .

endselect.

To use ABAP join syntax, clear both the Force Nested Loop option and the Exec SQL option in the Application Source Qualifier transformation. You cannot use ABAP join syntax to join hierarchies.

When you have a mapping with inner/outer joins between multiple SAP R/3 tables and you use a dynamic filter on an outer join table, the session fails. This occurs due to ABAP join restrictions on certain combinations of inner and outer joins between SAP tables. SAP produces the following error message:

[CMRCV: 18 Illegal access to the right-hand table in a LEFT OUTER JOIN].

Selecting a Join TypeUse the following procedure to select a join type.

To select a join type:

1. Double-click the title bar of an Application Source Qualifier transformation and select the Properties tab.

2. Select how you will generate the ABAP program: Exec SQL, open SQL (Force Nested Loop), or ABAP join syntax. To select ABAP join syntax, clear both Exec SQL and Force Nested Loop.

130 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 155: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Click the right corner of the Program Flow field to open the ABAP Program Flow dialog box.

4. Select the Join Type tab in the ABAP Program Flow dialog box.

5. Select a table from Program Flow and choose the join type (inner or outer).

If you generate the ABAP program using exec SQL, only choose inner join in the Join Type tab.

6. Select the sources you want to join in Source(s) to Join to.

Click to open the ABAP Program Flow dialog box.

Choose the table(s) you want to join.

Joining Source Data 131

Page 156: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

7. If necessary, change the order of the program flow by clicking the up and down arrows.

8. Click Validate.

The Designer validates that a key relationship exists between the sources you want to join.

9. Click OK.

Note: You cannot use Select Single in source tables when you use ABAP join syntax. When you generate the ABAP program, the Designer returns an error message if you use Select Single with ABAP join syntax.

Using Multiple Outer JoinsWhen you use an outer join, the Designer generates a LEFT OUTER JOIN statement in the ABAP program. You can use more than one outer join in the ABAP program flow. However, the tables you can join using outer join depends on how you join other tables in the program flow.

For example, you have three tables, KONH, KONP, and KONM in the ABAP program flow. You join KONP with KONH using an outer join. When you select KONM in the program flow, you cannot join KONM with KONP using an outer join. If you join KONM with KONP using an outer join, the Designer returns an error message when you generate the ABAP program.

In this example, you can only choose KONH because you already joined KONP with KONH using an outer join. When you join KONP and KONH with an outer join, the ABAP program selects rows that exist in both KONP and KONH, and it discards rows that only exist in KONP.

The same outer join concept applies to an ABAP program with any number of objects.

Joining Tables and HierarchiesYou can join a hierarchy and the detail table in an Application Source Qualifier to extract table data along with hierarchy metadata. A hierarchy definition can only appear as the first object in the ABAP program flow.

When you join a hierarchy and a detail table in an Application Source Qualifier, the Designer generates open SQL to extract table data. Because the hierarchy is a structure of metadata, you cannot access it through SQL.

When you run a workflow, the ABAP program uses SQL to extract data from the detail table. The Integration Service calls an RFC function on the application server to extract the hierarchy metadata. The Integration Service then joins the hierarchy and detail data.

Joining Tables and IDocsYou can join an IDoc with one or more tables in an Application Source Qualifier. An IDoc can only appear as the first object in the program flow. When you join an IDoc with more

132 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 157: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

than one table, each table must have a key relationship with at least one other table above it. If a table has a key relationship with an IDoc source but has no relationship with any other tables in the program flow, the Designer returns an error message when you generate the ABAP program.

When you generate SQL using ABAP join syntax, you cannot override the default join conditions between an IDoc and a table in the Join Condition tab. To override the default join condition, specify the join condition as a static filter condition for the IDoc. Enter the condition in the static filter and clear the IDoc source check box in the Join Type tab.

Note: You cannot override the default join condition between an IDoc and a table if the table is the second object in the ABAP program flow.

For more information about working with IDoc sources, see “Working with IDoc Sources” on page 147.

Specifying Join ConditionsYou can specify the join condition for each table you join in the Application Source Qualifier. If you do not specify a join condition, the Designer uses one of the following conditions as a default join condition:

♦ Default join condition imported from the SAP system.

♦ Key relationship you entered in the Source Analyzer. PowerCenter converts the key relationship to a join condition when it runs the session.

The ABAP Program Flow dialog box does not display the default join condition. When you enter a join condition in the ABAP Program Flow dialog box, you override the default join condition.

You can also create a relationship in the join condition for tables that do not have a relationship. Creating a relationship in the join condition is similar to specifying a key relationship in the Source Analyzer. However, the key relationship you specify in the Source Analyzer applies to all the mappings in the folder. The relationship you specify in the join condition applies only to the mapping. You can then join the tables using an inner join or an outer join.

The join condition must follow ABAP syntax. The Designer validates the syntax of the join condition in the ABAP Program Flow dialog box.

Rules for Specifying Join ConditionsUse the following rules to specify join conditions:

♦ Join conditions must follow ABAP syntax. Specify the join condition using the following syntax:

TABLE_NAME2-FIELD_NAME = TABLE_NAME1-FIELD_NAME

♦ If you want to enter two statements in the join condition, separate the statements with a semicolon (;) or AND.

Joining Source Data 133

Page 158: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

♦ The syntax for join conditions is the same regardless of whether you configure the Application Source Qualifier to use open SQL or exec SQL.

♦ If you do not include the table name with the field name in a join condition, the session might fail due to ambiguous references.

♦ If you create a join condition that joins fields in the same table, the session might result in incorrect data.

To specify a join condition:

1. In the ABAP Program Flow dialog box, select the Join Condition tab.

2. Select the table in Program Flow to edit the join condition.

You can view a list of field names by double-clicking a table name in Source Level Attributes.

3. Double-click the field name to enter it in the join condition.

4. Enter the join condition.

5. Click Validate to validate the syntax of the join condition.

6. Click OK.

134 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 159: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating an ABAP Code Block

You can add more functionality in the ABAP program by adding more ABAP code in the program flow. An ABAP code block is additional ABAP code you can add to the ABAP program. In the ABAP code block, use source fields and ABAP program variables defined for the Application Source Qualifier to customize the ABAP program. For more information about ABAP program variables, see “Creating ABAP Program Variables” on page 137.

The ABAP code block should follow ABAP syntax. Comments in the ABAP code block must start with an asterisk (*). The ABAP program flow represents the order that the ABAP program selects tables and objects. Use source fields or values that are placed above the code block.

Note: You cannot use an ABAP code block if the ABAP program flow contains a hierarchy and no other sources.

To create an ABAP code block:

1. In the ABAP Program Flow dialog box, click New ABAP Block.

2. Enter the name for the new ABAP code block and click OK.

The name of the ABAP code block cannot exceed 28 characters.

3. Expand the source table name and the Variables folder to view the source fields and variable names.

4. Double-click the source field or the variable name to enter it in the ABAP code block.

5. Write the code block.

6. Click OK to save the ABAP code block.

Creating an ABAP Code Block 135

Page 160: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Rules for Inserting the ABAP Code BlockGenerally, you can create a new ABAP code block and insert it before the first source table or after the last source table in the program flow. If you use a nested loop to join tables, you can also insert an ABAP code block between source tables. The SQL generation mode you select in the Application Source Qualifier determines the position you can insert the ABAP code block in the program flow.

Table 7-2 shows the rules for inserting an ABAP code block:

The following rules apply when you create a code block to specify the initial value of ABAP program variables:

♦ If you create a code block to initialize variables used in a filter condition, insert the code block before the first source.

♦ If you create a code block to initialize variables used in data movement, insert the code block after the last source.

Validating the ABAP Code BlockTo validate the placement of the code block, click the Validate All button in the ABAP Program Flow dialog box. You cannot generate the ABAP program if the placement of the ABAP code block does not follow the rules in Table 7-2. The SAP system validates the syntax of the code block when you install the ABAP program.

Table 7-2. Rules for Inserting an ABAP Code Block

Generation Mode Rules

Exec SQL - You can insert code blocks before the first source or after the last source. You cannot insert code blocks between sources in the program flow.

- If you insert a code block before the first source, the Designer inserts the code block before the exec statement.

- If you insert a code block after the last source, the Designer inserts the code block after the FORM WRITE_DSQNAME_TO_FILE statement.

ABAP join syntax - You can insert code blocks before the first source or after the last source. You cannot insert code blocks between sources in the program flow.

- If you insert a code block before the first source, the Designer inserts the code block before the select statement.

- If you insert a code block after the last source, the Designer inserts the code block after the where clause.

Open SQL (nested loop) - You can insert code blocks between sources in the program flow. The Designer inserts code blocks between the select statements. You can insert code blocks before the first source or after the last source.

- If you insert a code block before the first source, the Designer inserts the code block before the first select statement.

- If you insert a code block after the last source, the Designer inserts the code block after the last where clause.

136 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 161: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating ABAP Program Variables

When you write ABAP code blocks or static filter conditions, use variables to represent SAP structures, fields in SAP structures, or values in the ABAP program. You can create the following types of variables in the ABAP Program Flow dialog box:

♦ Structure and structure field variables. Represents structures and fields in structures defined in the SAP system.

♦ ABAP type variable. Represents values in the ABAP program.

After you create the variable, use the variable as many times as you need in the ABAP program flow. The Designer generates a data statement to declare the variable when you generate the ABAP program. The SAP system validates the syntax used with variables in the ABAP code blocks or filter conditions when you install the ABAP program.

When you assign an ABAP program variable to another variable in an ABAP code block, be sure that the variables have the same precision and datatype.

Note: You cannot use an ABAP program variable if the ABAP program flow contains a hierarchy and no other sources.

Naming ConventionWhen you create a variable in the ABAP program flow, be aware of the following rules:

♦ Variable names cannot contain reserved words and special characters such as the pound sign (#).

♦ Variable names are not case sensitive.

♦ The maximum length for variable names is 25 characters.

♦ The maximum length for the definition of structure or structure field variables is 30 characters.

When you generate and install the ABAP program, the SAP system validates the ABAP program variable according to the following rules:

♦ The maximum length for the initial value of a variable is 40 characters.

♦ Variable names cannot contain any SAP datatype names, table, structure, and structure field names, or any ABAP keyword.

Creating Structure and Structure Field VariablesStructures are virtual tables defined in the SAP dictionary. You can create a structure variable to represent any structure in the SAP system. A structure can contain many fields. You can also create a structure field variable to represent a field in a structure.

When you create a structure variable, the Designer generates a data statement in the ABAP program to declare the variable. For example, you create a structure variable named struc1 to

Creating ABAP Program Variables 137

Page 162: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

represent an SAP structure called AENVS. The Designer generates the following statement in the ABAP program to declare struc1:

data: struc1 like AENVS occurs 5 with header line.

The structure AENVS has a field called EXIST. You can create a structure field variable called field1 to represent this field. The Designer generates the following statement in the ABAP program to declare field1:

data: FIELD1 like AENVS-EXIST.

After you create the structure field variable, you specify its initial value in an ABAP code block.

To create a structure variable:

1. In the ABAP Program Flow dialog box, click Variables to open the ABAP Program Variables dialog box.

2. Click Add.

3. Enter a name for the new ABAP program variable.

4. Choose Structure for the Variable Category and click OK.

5. Enter a definition for a structure variable.

The variable definition must be the name of an existing structure in the SAP system. You cannot specify an initial value for a structure variable.

6. Click OK.

To create a structure field variable:

1. Follow steps 1 to 2 for creating a structure variable.

2. Enter a name for the new structure field variable.

3. Choose Structure Field for the Variable Category and click OK.

4. Enter a definition for a structure field variable.

Enter a variable definition that is an existing field in a structure defined in the SAP system. Use the following format:

STRUCTURE_NAME-FIELD_NAME

5. Click OK.

Creating ABAP Type VariablesAn ABAP type variable can represent a value in the ABAP program. You can specify any SAP datatype for the ABAP type variable. For a list of SAP datatypes, see “Datatype Reference” on page 383.

After you create an ABAP type variable, you can specify the datatype, precision, scale, and initial value. Some datatypes, such as floating point, have fixed precision and scale so you

138 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 163: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

cannot specify these fields. If you want to use the value of the variable in other transformations or in the target table, you can make the ABAP type variable an output port in the Application Source Qualifier.

For each ABAP type variable, the Designer generates the following data statement in the ABAP program to declare the variable:

data: Variable_Name(precision) type ABAP_Type Decimals Scale.

Variable_Name = ‘Initial_Value’.

For example, you create an ABAP type variable named var1 to represent a currency value. If you specify zero for the initial value and one for precision and scale, the Designer generates the following statement in the ABAP program:

data: var1(1) type P decimals 1.

var1 = ‘0’.

The ABAP statement does not include precision and scale if you choose a datatype that has fixed precision and scale.

To create an ABAP type variable:

1. In the ABAP Program Flow dialog box, click Variables to open the ABAP Program Variables dialog box.

2. Click Add.

3. Enter a name for the new ABAP program variable.

4. Choose ABAP Type for the Variable Category and click OK.

5. Choose a datatype for Type from the list.

6. Enter the precision and scale for the variable.

You cannot edit these fields if you choose a datatype that has fixed precision and scale.

If you select DEC, the precision must be 14 or less.

7. Enter the initial value for the variable.

8. Select SQ Port if you want the Designer to create an output port for this variable.

9. Click OK.

Viewing ABAP Program VariablesYou can view existing ABAP program variables by clicking Variables in the ABAP Program Flow dialog box. You can change the type, precision, and other fields of each existing ABAP program variable. You can also delete existing ABAP program variables in the ABAP Program Variables dialog box. However, you cannot delete variables still being used in the ABAP program.

Creating ABAP Program Variables 139

Page 164: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Using SAP System VariablesWhen you write ABAP code blocks or static filter conditions, use current system information such as system date and system user name. SAP system variables such as sy-datum and sy-uname can provide current system information. You need to first create a structure field variable to represent a system variable.

For example, you want to create a structure field variable named sysvar1 to represent sy-datum.

Figure 7-3 shows the information you enter in the ABAP Program Variables dialog box:

The Designer generates the following statement in the ABAP program:

data: SYSVAR1 like sy-datum.

You can then use sysvar1 to represent sy-datum in the ABAP program flow. You cannot enter an initial value for system variables in the ABAP Program Variables dialog box. You can assign initial values for system variables in the ABAP code block. For more information about creating an ABAP code block, see “Creating an ABAP Code Block” on page 135. For more information about creating a filter condition, see “Entering a Source Filter” on page 141.

Figure 7-3. Using SAP System Variables

140 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 165: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Entering a Source Filter

For each source table connected to the Application Source Qualifier, use a dynamic or a static filter to reduce the number of rows the ABAP program returns. Use constants in a dynamic filter to select rows. Use constants and variables in a static filter to select rows.

You specify the type of filter and the filter condition for each source table in the ABAP Program Flow dialog box. The type of filter you use is independent of how the Designer generates the ABAP program. You cannot use hierarchy columns in a filter condition.

The Integration Service processes filter conditions differently for static and dynamic filters.

Table 7-3 shows the differences between static and dynamic filter handling:

When you specify a port in a dynamic filter condition, static filter condition, or join override, link that port from the Application Source Qualifier to the target or next transformation in the mapping. Do the same if you specify a dynamic filter condition at the session level.

If you have a Unicode SAP system, the Designer is connected to a Unicode repository, and you enter a source filter that contains ISO 8859-1 or multibyte characters, generate a local copy of the ABAP program and upload the generated file into the SAP system. For more information, see “Generating and Uploading into the SAP System” on page 101.

Note: You cannot use a source filter if the ABAP program flow contains a hierarchy and no other sources.

Table 7-3. Filter Handling with Static and Dynamic Filters

Filter Handling Dynamic Filter Static Filter

Filter condition Use the following on the right side of the filter condition:- Constants- User-defined mapping variables and

parameters- Built-in mapping variables

Use the following on the right side of the filter condition:- Constants- User-defined mapping variables and

parameters- ABAP program variables

Filter stored Designer stores the filter condition in repository.

Designer writes the filter condition to the ABAP program.

Filter processing When you run the workflow, the Integration Service moves the filter from the repository to the SAP system. The ABAP program calls a function to process the filter.

When you run the workflow, the SAP server processes the filter directly from the ABAP program.

Session properties You can override the filter condition in session properties.

You cannot override the filter condition in session properties.

Session log file or Log Events window in the Workflow Monitor

Integration Service includes the filter syntax in log events.

Integration Service does not include the filter syntax in log events.

Entering a Source Filter 141

Page 166: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Using Dynamic FiltersA dynamic filter uses the constant in the filter condition to select rows. When you use a dynamic filter, the Designer stores filter information in the repository. The dynamic filter condition is not part of the ABAP program.

When you run a workflow, the Integration Service moves the dynamic filter condition from the repository to the SAP system and the ABAP program applies it to the rows read from the source tables. You can override dynamic filter conditions in the session properties.

During the session, the Integration Service writes the dynamic filter syntax in the session log.

Note: You cannot use dynamic filters on IDoc source definitions in the ABAP program flow. You cannot override a dynamic filter if you use Exec SQL to generate the ABAP program. When you use Exec SQL, the Designer applies the dynamic filter as a static condition in the select statement during ABAP code generation.

To enter a dynamic filter:

1. In the ABAP Program Flow dialog box, select the table you want to filter.

2. Select the Dynamic Filter tab.

You can view a list of field names in the table by double-clicking the table name in Source Level Attributes.

3. Double-click the field name to enter it in the filter condition.

Source Level Attributes do not show ABAP program variables or other tables in the program flow because you cannot use them in a dynamic filter condition.

4. Finish entering the filter condition.

142 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 167: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

5. Click Validate to validate the syntax of the filter condition.

6. Click OK.

Using Static FiltersA static filter uses constants and variables in the filter condition to select rows. When you use a static filter, the Designer writes the filter information in the SQL portion of the ABAP program as a WHERE clause. The ABAP program executes the filter condition with the SELECT statement. Because the static filter is part of the ABAP program, you cannot override it in the session properties. The Integration Service does not include the static filter condition in log events.

Syntax Rules for Entering FiltersWhen you validate filter conditions, the Designer performs validation according to the following rules:

♦ When you enter filter conditions, use the following syntax:

table_name-field_name [=, >=, <=, <, >, < >] ‘value’

− If you use variables in a static filter condition, the filter condition must be in the following format:

table_name-field_name [=, >=, <=, <, >, < >] :variable_name

− If you use fields from another table in a static filter condition, the filter condition must be in the following format:

table_name1-field_name [=, >=, <=, <, >, < >] table_name2-field_name

Note: The left side of the filter condition must be a field from the table you selected in the ABAP program flow.

♦ Enclose constants on the right side of the condition in single quotes.

♦ If you use an ABAP program variable in a static filter condition, a colon (:) must precede the variable name.

♦ Filter conditions for character strings must match the full precision of the column if the condition is numeric. For example, if you want to filter records from CSKS where KOSTL is greater than 4,000, enter the following condition:

KOSTL > ‘0000004000’

♦ All valid SAP operators can be used in filter conditions.

♦ Use a semicolon (;) or boolean operators (such as AND) to separate multiple conditions.

♦ Always leave a space after every token except commas.

Entering a Source Filter 143

Page 168: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Specifying Filter Conditions for NUMC ColumnsThe following issues may apply when you specify filter conditions for NUMC columns:

♦ The Integration Service ignores negative comparisons for NUMC columns in a filter condition. The Integration Service treats all comparisons as positive.

♦ Because SAP does not store signs with NUMC data, do not use negative filter conditions in the Application Source Qualifier for NUMC columns. SAP does not recognize the negative conditions and treats all comparisons for NUMC columns as positive.

To enter a static filter:

1. In the ABAP Program Flow dialog box, select the table you want to filter.

2. Select the Static Filter tab.

3. In Source Level Attributes, double-click on the table name or the Variables folder to view a list of fields or ABAP program variables.

4. Double-click the field names or variables to enter it into the filter condition. If you use a variable in a static filter condition, enter a colon (:) before the variable name.

You can also use fields from other tables in the ABAP program flow in the right side of the filter condition.

5. Finish entering the filter condition.

6. Click Validate to validate the syntax of the filter condition.

7. Click OK.

144 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 169: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Using Mapping Variables and Parameters

In the ABAP program flow, use mapping variables and parameters in the following ABAP program objects: filter conditions, join conditions, and ABAP code blocks. The type of mapping variables and parameters you use depends on how the SAP server processes the ABAP program object. For more information about mapping variables and parameters, see “Mapping Parameters and Variables” in the PowerCenter Designer Guide.

Use both user-defined and built-in mapping variables and parameters in dynamic filter conditions. The Designer stores dynamic filter conditions in the repository. When you run a workflow, the Integration Service evaluates the variable or parameter and passes the filter from the repository to the SAP system. Then the ABAP program calls a function to process the dynamic filter.

You cannot use built-in mapping variables in static filter conditions because the SAP server processes the static filter directly from the ABAP program. The Integration Service does not pass values from the repository to the SAP system. Similarly, you cannot use built-in mapping variables in join conditions and ABAP code blocks.

Table 7-4 shows the types of mapping variables you can use with each object in the ABAP program flow:

Use mapping parameters in all ABAP program objects.

Using Mapping Variables in the ABAP Program FlowIn the ABAP Program Flow dialog box, you use mapping variables in the filter condition, join condition, or ABAP code blocks. To update the value of the mapping variables, use a variable function in the Expression transformation in the mapping.

For example, you want to select source data from a time period that ends at the session start time. You create a mapping variable named $$FROMTIME to represent the beginning of the time period. You enter the following statement in the dynamic filter condition:

TABLE_NAME-FIELD_NAME >= $$FROMTIME

To update the beginning of the time period for the next session, you set the $$FROMTIME variable to the session start time of the current session. The built-in system variable

Table 7-4. Available Mapping Variable Types

ABAP Program Object Mapping Variable Type

Dynamic filter condition User-defined and built-in mapping variables.

Static filter condition User-defined mapping variables only.

Join condition User-defined mapping variables only.

ABAP code block User-defined mapping variables only.

Using Mapping Variables and Parameters 145

Page 170: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

$$$SESSSTARTTIME returns the session start time. In the mapping, you update the $$FROMTIME variable by entering the following statement:

SETVARIABLE($$FROMTIME, TO_DATE(SESSSTARTTIME))

In an ABAP code block, use a mapping variable as a constant in the right-hand side of comparisons. You cannot modify the mapping variable by assigning a value to it. For example, you cannot assign a value to a mapping variable in the ABAP code block. For more information about mapping variables, see “Mapping Parameters and Variables” in the PowerCenter Designer Guide. For more information about system variables, see “Variables” in the PowerCenter Transformation Language Reference.

Working with SAP Date FormatsMapping variables that return date/time values have the PowerCenter default date format of MM/DD/YYYY HH:MI:SS. The SAP date format is YYYYMMDD. When you run a workflow, the Integration Service converts the date/time format if necessary. You do not need to perform any conversions when you specify a date/time variable.

146 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 171: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with IDoc Sources

An IDoc is a hierarchical structure that contains segments. Each IDoc segment has a header and data records. The header contains control information such as creation date and status. The control information is in an SAP structure called EDIDC.

When you add an IDoc source definition to a mapping, connect the IDoc source definition to an Application Source Qualifier. You can connect one IDoc source definition and other SAP tables to an Application Source Qualifier. You cannot connect more than one IDoc source definition to an Application Source Qualifier.

Working with IDoc Sources in the ABAP Program FlowYou can connect one or more tables to an IDoc source definition in the Application Source Qualifier. You can then customize the ABAP program in the ABAP Program Flow dialog box. You cannot have more than one IDoc source definition in the ABAP program flow.

Use the following guidelines when you have an IDoc in the ABAP program flow:

♦ You cannot generate the ABAP program using Exec SQL.

♦ The IDoc source definition can only be in the first position in the ABAP program flow.

♦ You cannot have both an IDoc source definition and a hierarchy in the ABAP program flow.

♦ You cannot use the dynamic filter in the ABAP Program Flow dialog box to select rows from the IDoc source.

IDoc Control InformationIDoc sources contain control information, such as creation date (CREDAT). When you import the IDoc source definition, the Designer adds the following columns from the control information to the source definition: DOCNUM, STATUS, CREDAT, CRETIM, SNDSAD, and DIRECT. You cannot use any of these columns in any ABAP program flow objects, including static filters, code blocks, and join conditions.

Entering an IDoc FilterIn the ABAP Program Flow dialog box, use a static filter to select rows based on the data records of the IDoc. You cannot use IDoc control information in static filter conditions. To use IDoc header information in a filter condition, use the IDoc filter in the Application Source Qualifier.

In the IDoc filter condition, you select rows based on any field in EDIDC, the table that contains IDoc control information. Use constants, built-in and user-defined mapping variables, and mapping parameters on the right side of the IDoc filter condition.

The Designer processes IDoc filters similar to the way it processes dynamic filters. The Designer stores IDoc filter information in the repository. The IDoc filter condition is not a part of the ABAP program. When you run a workflow, the Integration Service moves the

Working with IDoc Sources 147

Page 172: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

filter condition from the repository to the SAP system and the ABAP program applies it to rows read from the IDoc definition. You can override the IDoc filter condition when you run a workflow. For more information, see “Overriding Filters” on page 159.

To enter an IDoc filter:

1. Double-click the title bar of an Application Source Qualifier.

The Edit Transformation dialog box for the Application Source Qualifier appears.

2. Click the Properties tab.

3. Click the right corner of the IDoc Filter field to open the Source Editor dialog box.

4. Expand the IDoc type to view all the header information in the IDoc definition.

Header information of an IDoc definition is in the format of the SAP structure EDIDC.

Click to open the Source Editor.

148 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 173: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

5. Double-click a field in EDIDC to enter it in the IDoc filter condition.

6. If you want to use mapping variables and parameters in the IDoc filter condition, click the Variables tab to view a list of mapping variables and parameters.

7. Double-click the mapping variable or parameter name to enter it in the IDoc filter condition.

8. Click Validate to validate the syntax of the IDoc filter.

Validating the IDoc Filter ConditionWhen you validate IDoc filter conditions, the Designer performs validation according to the following guidelines:

♦ When you enter IDoc filter conditions, use the following syntax:

EDIDC-field_name [=, >=, <=, <, >, < >] ‘value’

♦ Enclose constants on the right side of the filter condition in single quotes.

♦ Filter conditions for character strings must match the full precision of the column if the condition is numeric.

♦ All valid SAP operators can be used in IDoc filter conditions.

♦ Use a semicolon (;) or boolean operators (such as AND) to separate multiple conditions.

♦ Always leave a space after every token except commas.

Working with IDoc Sources 149

Page 174: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating and Configuring an Application Source Qualifier

By default, the Designer creates an Application Source Qualifier when you add an SAP R/3 source definition to a mapping. You can change the default to manually create source qualifiers each time you add sources to a mapping. For more information about creating Source Qualifiers, see “Source Qualifier Transformation” in the PowerCenter Transformation Guide.

You can create an Application Source Qualifier to join multiple SAP R/3 sources. Use the menu or the toolbar to manually create an Application Source Qualifier.

Configuring an Application Source QualifierAfter you create an Application Source Qualifier, you can set several configuration options.

To configure an Application Source Qualifier:

1. In the Designer, open a mapping.

2. Double-click the title bar of the Application Source Qualifier.

The Edit Transformations dialog box appears.

3. Optionally, click Rename, enter a descriptive name for the transformation, and click OK.

4. Click the Ports tab.

You may want to change numeric or date datatypes to string to maintain accuracy during conversion. For more information, see “Datatype Reference” on page 383.

5. Click the Properties tab.

6. Enter any additional settings for the Application Source Qualifier:

7. Click Sources and indicate any additional source definitions you want to associate with this Application Source Qualifier.

Option Description

Exec SQL Generates native SQL to access transparent tables.

Tracing Level Sets the amount of detail included in the session log when you run a session containing this transformation.

Force Nested Loop Generates open SQL to access SAP tables.

Program Flow Customizes the ABAP program with SAP functions, ABAP code blocks, variables, filters, and join conditions.

IDoc Filter Specifies the filter condition for selecting IDoc source definitions.

150 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 175: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

You identify associated sources only in cases when you plan to join data from multiple tables or Application systems with identical versions.

8. Click OK to return to the Designer.

Note: You cannot do any transformations on data with the SAP binary datatype PREC. You can connect PREC columns to an Application Source Qualifier, but you cannot connect them to other transformations. For more information about datatypes, see “Datatype Reference” on page 383.

Transformation DatatypesWhen you connect an SAP R/3 source definition to an Application Source Qualifier, the Designer creates a port with a transformation datatype that is compatible with the SAP datatype. When the ABAP program extracts from SAP, it stores all data, including dates and numbers, in character buffers. When you configure an Application Source Qualifier, you might want to change some of the dates and number datatypes to string to maintain accuracy during conversion. For more information about datatypes, see “Datatype Reference” on page 383.

Creating and Configuring an Application Source Qualifier 151

Page 176: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

I copied an Application Source Qualifier from an imported mapping and pasted it into another mapping. When I try to install the ABAP program, the program installation fails.

When you create an ABAP mapping, do not use a copy of an Application Source Qualifier from an imported mapping.

152 Chapter 7: Application Source Qualifier for SAP R/3 Sources

Page 177: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 8

Configuring Sessions with SAP R/3 Sources

This chapter includes the following topics:

♦ Overview, 154

♦ Running Stream Mode Sessions, 156

♦ Running File Mode Sessions, 158

♦ Accessing Staging Files for ABAP Mappings, 161

♦ Pipeline Partitioning for SAP R/3 Sources, 165

♦ Configuring a Session for Mappings with SAP R/3 Sources, 166

♦ Troubleshooting, 169

153

Page 178: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

After you create a mapping with an SAP R/3 source definition, create a session and use the session in a workflow.

Complete the following tasks before you can run an SAP workflow:

♦ Configure an Integration Service. Configure an Integration Service to run SAP workflows. For more information about configuring an Integration Service, see “Creating and Configuring the Integration Service” in the PowerCenter Administrator Guide.

♦ Configure source and target connections. Configure connections to extract data from the source and write data to the target. For example, to extract data from SAP, create an application connection in the Workflow Manager. For more information about creating an application connection for mySAP Option, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

Session Modes for ABAP MappingsIf you use a mapping that requires the ABAP program, select the appropriate reader in the session properties. The reader for an SAP session determines the work process under which the SAP application server extracts data. You can run the session in one of the following modes:

♦ Stream mode. Extracts SAP data to buffers. Data from the buffers streams to the Integration Service. Configure the session with an SAP Streaming Reader to run the session in stream mode. Use stream mode if the dataset is small and the execution of data is fast.

♦ File mode. Extracts SAP data to a staging file. Configure the session with an SAP Staging Reader to run the session in file mode. Use file mode if the dataset is large.

For a mapping with an ABAP program, you select stream or file mode when you generate and install the ABAP program. For more information about generating and installing an ABAP program, see “Working with the ABAP/4 Program” on page 95.

If the mapping contains a hierarchy only, you can run the session in stream mode or file mode. If the mapping contains a hierarchy or IDoc definition, the Integration Service makes a remote function call to extract the hierarchy data.

If the mapping contains both a hierarchy definition and the detail table definition in one Application Source Qualifier, the ABAP program that extracts the detail table data also joins the detail data to the hierarchy data extracted through the remote function call. Select the SAP Staging Reader if the mapping contains both a hierarchy and detail table definition.

154 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 179: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 8-1 shows properties for file and stream mode sessions:

For more information about configuring sessions to run in stream mode, see “Running Stream Mode Sessions” on page 156. For more information about configuring sessions to run in file mode, see “Running File Mode Sessions” on page 158.

Table 8-1. SAP Streaming Reader and SAP Staging Reader Properties

Reader Type

Connection File Protocol Data

Access Work Process Sources in Mapping

SAP Streaming Reader

sideinfo CPI-C Data stream Dialog Table, hierarchy*

SAP Staging Reader

saprfc.ini RFC FTP, NFS, Direct

Dialog, background

Table, hierarchy,hierarchy and table

* Although you can choose SAP Streaming Reader or SAP Staging Reader as the reader type in the session properties, the Integration Service always extracts hierarchy data through RFC.

Overview 155

Page 180: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Running Stream Mode Sessions

To run a session in stream mode, select SAP Streaming Reader as the source reader type in the session properties. Select SAP Streaming Reader if you installed an ABAP program in the Mapping Designer, and you selected stream mode when you generated the ABAP program.

Figure 8-1 shows the session properties for a stream mode session:

If you have separate application connections for file and stream modes, select the application connection configured to connect to the SAP system using CPI-C.

When you run a session in stream mode, the installed ABAP program creates buffers on the application server. The program extracts source data and loads it into the buffers. When a buffer fills, the program streams the data to the Integration Service using CPI-C. With this method, the Integration Service can process data when it is received.

Tip: Stream mode sessions require an online connection between PowerCenter and SAP to transfer data in buffers. For this reason, all stream mode sessions use a dialog process. You might want to use streaming when the window of time on the SAP system is large enough to perform both the extraction and the load.

Figure 8-1. Session Properties for a Stream Mode Session

Select Reader Type

156 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 181: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring Pipeline Partitioning for Stream Mode SessionsIf you configure pipeline partitioning for a stream mode session, the number of partitions you create for the session cannot exceed the number of CPI-C connections allowed by SAP.

Running Stream Mode Sessions 157

Page 182: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Running File Mode Sessions

To run a session in file mode, select the SAP Staging Reader as the source reader type in the session properties. Select SAP Staging Reader if you installed an ABAP program in the Mapping Designer, and you selected file mode when you generated the ABAP program.

Figure 8-2 shows a session configured for a file mode session:

If you have separate application connections for file and stream modes, select the application connection that is configured to connect to the SAP system using RFC.

When you run a file mode session, the installed ABAP program creates a staging file on the application server. The program extracts source data and loads it into the file. The Integration Service process is idle while the program extracts data and loads the file. When the file is complete, the Integration Service accesses the file and continues processing the session. The ABAP program then deletes the staging file unless you configure the session to reuse the file.

Tip: File mode sessions do not require an online connection between the Integration Service and SAP while the generated ABAP program is extracting data. For this reason, you can run a file mode session offline using a background process. Choose background processing when the data volume is high and the extraction time exceeds the limit for dialog processes.

Figure 8-2. Session Properties for a File Mode Session

Select Reader Type

158 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 183: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Reusing Staging Files When you run a file mode session, the SAP application server creates a staging file for each Application Source Qualifier in the mapping. By default, the Integration Service deletes the file after reading it. If you run multiple sessions that use identically configured Application Source Qualifiers, you can save the staging file and reuse it in another session. You can also reinitialize the file if the source data has changed.

Use the following session properties when you want to reuse staging files:

♦ Persist the Stage File. The Integration Service checks for the existence and validity of a staging file in the specified staging file directory.

− If the file exists and is valid, the ABAP program does not run. The Integration Service reads the existing file.

− If the file does not exist or is invalid, the ABAP program creates a staging file.

Note: If you use FTP, the Integration Service might record a message in the session log indicating that it cannot find the specified file. The Integration Service logs an informational message when it checks for the existence of the file.

The Integration Service does not delete the staging file after reading the file.

When the Integration Service checks the validity of a staging file, it verifies that the total length of all projected columns equals the total length of the file. The Integration Service does not verify individual columns, or verify the expected size of the entire file.

♦ Reinitialize the Stage File. The ABAP program extracts and replaces the existing staging file. Use this option when source data has changed and you want to refresh the file. Use this option only in conjunction with the File Persistence option.

Table 8-2 describes the Integration Service actions for the File Persistence and File Reinitialize options:

Note: File persistence is not available for hierarchies.

Overriding FiltersWhen you persist the staging file, session-level overrides do not apply. For example, if a staging file exists, and you want to apply a one-time session-level override for a filter

Table 8-2. File Persistence and File Reinitialization Options

Persist the Stage File

Reinitialize the Stage File Action

On Off ABAP program creates the staging file if it does not exist. If the staging file exists, the ABAP program validates and reuses the file. If validation fails, the ABAP program recreates the file. After the Integration Service reads the file, it remains on the system for reuse.

On On ABAP program creates the staging file even if it exists. The file remains on the system for reuse.

Off Off Integration Service reads the staging file and deletes the file.

Running File Mode Sessions 159

Page 184: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

condition, clear the Persist the Stage File option before you run the session. The SAP application server generates a staging file based on the session-level override. PowerCenter reads and deletes the staging file. This ensures two things:

♦ A new file is generated using the filter condition.

♦ The next session run based on the same or identical Application Source Qualifier generates a new staging file without the temporary filter condition.

If you do not clear the Persist the Stage File option, the Integration Service validates and uses the existing file. PowerCenter does not pass the filter condition to the SAP application server. If you persist the staging file and reinitialize the staging file, the ABAP program generates and saves a new staging file. The next session uses the filtered file when you want to use the full extract.

160 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 185: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Accessing Staging Files for ABAP Mappings

When you run a file mode session, SAP creates the file in the directory specified in the session properties. The session settings determine how PowerCenter accesses the staging files. To run a file mode session, establish access to the staging file as follows:

♦ Mode of access. Determine the mode of access and establish connection to the files.

♦ Enable access to the files. Configure access to staging files on UNIX.

♦ Configure a session for file mode. Configure specific session properties for file mode sessions.

Modes of AccessYou can access staging files for an SAP session in the following ways:

♦ File Direct

♦ NFS Mount

♦ FTP

File DirectUse File Direct when the file system is shared between the two machines. There are two file direct situations:

♦ The SAP host and the Integration Service host are on the same machine.

♦ The SAP host and the Integration Service host are on different machines, but have a common view of the shared file system. Map a drive from the Integration Service to the machine where the staging files reside.

The user accessing the file must be the user that runs the Integration Service. If the SAP system is on Windows, that user must have standard read permissions on the directory where you stage the file. For more information about SAP systems on UNIX, see “Enabling Access to Staging Files on UNIX” on page 162.

NFS MountUse NFS Mount when the file path and name are different for the SAP system and the Integration Service. There are two NFS situations:

♦ One host is Windows and the other is UNIX. Map a drive from the Integration Service to the machine where the staging files reside. The path names map differently between the two platforms.

♦ The file system shared between the two hosts are mounted differently. Map a drive from the Integration Service to the machine where the staging files reside.

The user accessing the file must be the user that runs the Integration Service. If the SAP system is on Windows, that user must have standard read permissions on the directory where

Accessing Staging Files for ABAP Mappings 161

Page 186: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

you stage the file. For more information about SAP systems on UNIX, see “Enabling Access to Staging Files on UNIX” on page 162.

FTPUse FTP when the Integration Service accesses the file system through an FTP connection. There are two FTP situations:

♦ The FTP server is configured to view the entire file system. When the Integration Service accesses SAP through FTP, the path to the file is identical.

♦ The FTP server is restricted to a certain directory or directories. The paths for the Staging Directory and Source Directory are different.

Configure an FTP connection in the Workflow Manager. For more information about creating an FTP connection, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

The user who accesses the staging file must be the FTP user. If the SAP system is on Windows, that user must have standard read permissions on the directory where you stage the file. If the SAP system is on UNIX, see “Enabling Access to Staging Files on UNIX” on page 162.

If the Integration Service fails to access the staging file through FTP, it logs the error message returned by SAP in the session log. Use transaction ST22 from the SAP client to get more information about the SAP error message.

Enabling Access to Staging Files on UNIXIf the SAP system is on UNIX, by default SAP creates the staging file with read and write access to the owner and the users in the owner group. The owner of the file is generally the SAP administrator. Outside users have no access to the file.

There are several ways to ensure that the user accessing the staging file has proper permissions:

♦ Access the file as the SAP administrator. If you access the file through File Direct or NFS, use the SAP administrator as the user that runs the Integration Service. If you access the file through FTP, use the SAP administrator as the FTP user.

♦ Place the user accessing the file in the SAP administrator group. If you access the file through File Direct or NFS, place the user that runs the Integration Service in the SAP administrator group. If you access the file through FTP, place the FTP user in the SAP administrator group.

♦ Prepare the staging directory. If you access the file through File Direct, NFS, or FTP, configure the directory so that SAP creates the staging file with the group ID of the directory, not the SAP user who creates the file.

162 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 187: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To prepare the staging directory:

1. The user accessing the staging file must create the staging directory.

2. Run the following UNIX command from the directory where you want to generate the files:

% chmod g+s .

When you run this command, the staging files inherit the group ID of the directory, not the SAP user that creates the file. There are no permission issues because the user who accesses the file also owns the directory.

Note: If the SAP system is on Windows, the user who accesses the file must have standard read permissions on the directory where you stage the file.

Configuring File Mode Session PropertiesWhen you run file mode sessions, configure the following source session properties:

♦ Stage File Directory. The SAP path containing the staging file.

♦ Source File Directory. The Integration Service path containing the source file.

♦ Stage File Name. The name of the staging file. You can edit this file name. If you access the staging file through FTP and the FTP server is running on Windows, do not use a period (.) at the end of the file name.

♦ Reinitialize the Stage File. If enabled, the ABAP program extracts data and replaces the existing staging file. You can only enable this option if you also enable Persist the Stage File.

♦ Persist the Stage File. If enabled, the Integration Service reads an existing, valid staging file. If the staging file does not exist or is invalid, the ABAP program creates a new staging file.

♦ Run Session in Background. Use this option when the data volume is high and the extraction time is long.

For more information about the Reinitialize the Stage File and Persist the Stage File options, see “Reusing Staging Files” on page 159.

Table 8-3 summarizes entries for the staging file and source file directories for different access methods:

Table 8-3. Staging and Source Directory Sample Entries

Access Method

Staging Directory

Source Directory Situation Establish

Connection

File Direct /data/sap /data/sap Paths are the same. Mapped drive if different machines.

NFS /data/sap e:\sapdir Specify the path from each machine. Mapped drive.

Accessing Staging Files for ABAP Mappings 163

Page 188: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

FTP /data/sap /data/sap Unrestricted FTP. FTP connection.

FTP-Restricted e:\ftp\sap /sap FTP server is restricted to e:\ftp. You want the file in e:\ftp\sap. Specify the full path in the staging directory (e:\ftp\sap). Specify the path from the restricted directory in the source directory (/sap).

FTP connection.

Table 8-3. Staging and Source Directory Sample Entries

Access Method

Staging Directory

Source Directory Situation Establish

Connection

164 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 189: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Pipeline Partitioning for SAP R/3 Sources

You can increase the number of partitions in a pipeline to improve session performance. Pipeline partitioning enables the Integration Service to create multiple connections to sources and process partitions of source data concurrently. Use pipeline partitioning if the Integration Service can maintain data consistency when it processes the partitioned data.

When you configure an ABAP mapping to use pipeline partitioning, the Integration Service processes the partition information similar to processing dynamic filters. The Integration Service saves the partition information in the repository.

When you run a session, the Integration Service moves the partition information to the SAP system. The ABAP program then calls a function to process the partition information. If you configure pipeline partitioning for a stream mode session, the number of partitions you create for the session cannot exceed the number of CPI-C connections allowed by SAP.

When you create partitions, you can override the dynamic filter condition in the Application Source Qualifier.

The following partitioning restrictions apply to SAP R/3 sources:

♦ You can only use pass-through and key range partition types.

♦ The pipeline cannot contain multiple partitions if the mapping contains hierarchies.

♦ The pipeline cannot contain multiple partitions if you generate the ABAP program using exec SQL.

♦ Use PowerCenter default date format (MM/DD/YYYY HH:MI:SS) to enter dates in key ranges for datatypes such as DATS and ACCP.

♦ You cannot use a RAW or LRAW column as a key for partitions.

For more information about partitioning data, see “Understanding Pipeline Partitioning” in the PowerCenter Workflow Administration Guide.

Pipeline Partitioning for SAP R/3 Sources 165

Page 190: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring a Session for Mappings with SAP R/3 Sources

This section provides instructions for configuring session properties for sessions for mappings with SAP R/3 sources. For more information about configuring sessions, see “Working with Sessions” in the PowerCenter Workflow Administration Guide.

To configure a session:

1. In the Task Developer, double-click an SAP session to open the session properties.

The Edit Tasks dialog box appears.

2. On the Properties tab, select Fail Task and Continue Workflow or Restart Task for the Recovery Strategy property.

3. Configure the remaining general options and performance settings as needed.

4. From the Connections settings on the Mapping tab (Sources node), select the connection values for the SAP R/3 sources.

Tip: If you are configuring a file mode session, you can access the staging file using an FTP connection.

5. Click Readers and select the appropriate readers for the SAP R/3 sources.

166 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 191: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

6. If you specify the SAP Staging Reader for an SAP R/3 source, click Properties and define the session properties for the file source.

Table 8-4 summarizes the file mode session properties:

Table 8-4. File Mode Session Properties

Attribute Name Required/ Optional Description

Stage File directory Required SAP path containing the stage file.

Source File directory Required Integration Service path containing the source file.

Stage File Name Required Name of the stage file.

Reinitialize the Stage File Optional If enabled, the ABAP program extracts data and replaces the existing staging file. You can only enable this option if you also enable Persist the Stage File.

Persist the Stage File Optional If enabled, the Integration Service reads an existing, valid staging file. If the staging file does not exist or is invalid, the ABAP program creates a new staging file.If cleared, the Integration Service deletes the staging file after reading it.Default is disabled.

Run Session in Background

Optional Use when the data volume is high and the extraction time is very long.

Configuring a Session for Mappings with SAP R/3 Sources 167

Page 192: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configure the settings as described in “Configuring File Mode Session Properties” on page 163.

7. On the Targets node, enter the connection values for the targets in the mapping.

8. Use the Partitions view on the Mapping tab to specify multiple partitions or change the partitioning information for each pipeline in a mapping.

You cannot use the partition option if you generated the ABAP program with exec SQL. For more information about partitioning, see “Understanding Pipeline Partitioning” in the PowerCenter Workflow Administration Guide.

168 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 193: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

The session failed with a NO AUTHORITY error.

The session failed because you selected the Authority Check option when you generated the ABAP program for the mapping, but did not have the proper authorization.

If you enabled the Authority Check option when you generated the ABAP program, the SAP application server verifies that the user running the workflow has authorization to read the sources. SAP verifies the authorization before it reads the first source.

If the user in the SAP R/3 application connection does not have read authorization on any one of the sources, the session fails with a NO AUTHORITY error. For information about the authority check option, see “Adding Authority Checks” on page 97.

Troubleshooting 169

Page 194: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

170 Chapter 8: Configuring Sessions with SAP R/3 Sources

Page 195: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

171

Part III: IDoc Integration Using ALE

This part contains the following chapters:

♦ Creating Outbound IDoc Mappings, 173

♦ Creating Inbound IDoc Mappings, 193

♦ Configuring Workflows for IDoc Mappings Using ALE, 205

Page 196: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

172

Page 197: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 9

Creating Outbound IDoc Mappings

This chapter includes the following topics:

♦ Overview, 174

♦ Creating an SAPALEIDoc Source Definition, 176

♦ Creating the Application Multi-Group Source Qualifier, 177

♦ Working with the SAP/ALE IDoc Interpreter Transformation, 178

♦ Processing Invalid Outbound IDocs, 191

173

Page 198: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

You can configure PowerCenter Connect for SAP NetWeaver mySAP Option to receive outbound SAP IDocs in real time as they are generated by mySAP applications. To receive outbound IDocs, mySAP Option integrates with mySAP applications using Application Link Enabling (ALE). ALE is an SAP proprietary technology that enables data communication between SAP systems. ALE also enables data communication between SAP and external systems. For more information about SAP, see “IDoc Integration Using ALE” on page 6.

Note: Receiving outbound SAP IDocs is different from sourcing IDocs from static EDIDC and EDIDD structures. For more information about sourcing IDocs from EDIDC and EDIDD structures, see “IDoc Definitions” on page 75.

When you use mySAP Option to receive outbound IDocs from mySAP applications using ALE, you can capture changes to the master data or transactional data in the SAP application database in real time. When data in the application database changes, the SAP system creates IDocs to capture the changes and sends the IDocs to the Integration Service.

The Integration Service and SAP use transactional RFC (tRFC) communication to send and receive IDocs. tRFC is an SAP method that guarantees the RFCs are executed only once. As a result, the Integration Service receives each IDoc only once.

If the PowerCenter session is not running when the SAP system sends outbound IDocs, the Integration Service does not receive the IDocs. However, the SAP system stores the outbound IDocs in EDI tables, which are a staging area for guaranteed message delivery.

You can configure the SAP system to resend the IDocs during the PowerCenter session by configuring the tRFC port used to communicate with the Integration Service. When you configure the port, you can enable background processes in SAP that try to resend the IDocs to the Integration Service a set number of times. For more information about configuring the SAP system, see the SAP documentation.

Defining PowerCenter as a Logical System for Outbound IDocsBefore you can receive IDocs from SAP using ALE, define PowerCenter as a logical system that receives IDocs from the base logical system in SAP. For more information about defining a logical system in SAP, see “Defining PowerCenter as a Logical System in SAP” on page 31.

Creating an Outbound IDoc MappingTo receive outbound IDocs from mySAP applications, create an outbound IDoc mapping. The outbound IDoc mapping can contain the following components:

♦ SAPALEIDoc source definition (required). Source definition to read data from the SAP source system. For more information about creating an SAPALEIDoc source definition, see “Creating an SAPALEIDoc Source Definition” on page 176.

♦ Application Multi-Group Source Qualifier transformation (required). Determines how the Integration Service reads data from the SAP source. For more information about

174 Chapter 9: Creating Outbound IDoc Mappings

Page 199: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

creating an Application Multi-Group Source Qualifier transformation, see “Creating the Application Multi-Group Source Qualifier” on page 177.

♦ SAP/ALE IDoc Interpreter transformation (optional). Processes IDoc data according to the IDoc type you specify when you create the transformation. For more information about creating an SAP/ALE IDoc Interpreter transformation, see “Working with the SAP/ALE IDoc Interpreter Transformation” on page 178.

♦ Target definition (required). Target definition for the target to which you want the Integration Service to write the IDoc data. For more information about creating a target definition, see “Working with Targets” in the PowerCenter Designer Guide.

For more information about creating mappings, see “Mappings” in the PowerCenter Designer Guide.

Processing Invalid Outbound IDocsYou can validate outbound IDocs. If you validate outbound IDocs, you can configure an outbound IDoc mapping to write invalid IDocs to a flat file or relational target. For more information about processing invalid IDocs, see “Processing Invalid Outbound IDocs” on page 191.

Overview 175

Page 200: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating an SAPALEIDoc Source Definition

To receive outbound IDocs from SAP using ALE, create an SAPALEIDoc source definition in the Designer. An SAPALEIDoc source definition represents metadata for outbound IDocs. When you create an SAPALEIDoc source definition, the Designer displays a table with IDoc fields and SAP datatypes. When the Integration Service extracts data from the SAP source, it converts the data based on the datatypes in the Source Qualifier transformation associated with the source.

An SAPALEIDoc source definition contains predefined ports. You cannot edit the ports.

Table 9-1 describes the SAPALEIDoc source definition ports:

Tip: You only need to maintain one SAPALEIDoc source definition per repository folder. When you include an SAPALEIDoc source definition in a mapping, you can add an instance of the source definition to the mapping.

Using SAPALEIDoc Source Definitions in an Outbound IDoc Mapping

When you include an SAPALEIDoc source definition and its associated Application Multi-Group Source Qualifier transformation in an outbound IDoc mapping, you can only connect the Source Qualifier to one SAP/ALE IDoc Interpreter transformation.

If you want to include multiple SAP/ALE IDoc Interpreter transformations in the mapping, include an SAPALEIDoc source definition and Application Multi-Group Source Qualifier transformation for each SAP/ALE IDoc Interpreter transformation.

Table 9-1. SAPALEIDoc Source Definition Ports

Port Name Description

Basic IDoc Type Basic IDoc type name.

Extended IDoc Type Extended IDoc type name.

IDocRecord IDoc message data.

DocumentNumber Unique message number of the IDoc.

176 Chapter 9: Creating Outbound IDoc Mappings

Page 201: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating the Application Multi-Group Source Qualifier

An Application Multi-Group Source Qualifier in a mapping determines how the Integration Service reads data from the SAPALEIDoc source. When you run a session, the Integration Service reads messages from the SAP system based on the connected ports and transformation properties.

When you use an SAPALEIDoc source definition in a mapping, the Designer includes a predefined Application Multi-Group Source Qualifier with the source definition. You cannot edit the Application Multi-Group Source Qualifier. To extract data from multiple SAP sources, use an Application Multi-Group Source Qualifier for each source definition in the mapping.

Transformation DatatypesThe transformation datatypes in the Application Multi-Group Source Qualifier are internal datatypes based on ANSI SQL-92 generic datatypes, which PowerCenter uses to move data across platforms. When the Integration Service reads data from an SAP source, it converts the data from its native datatype to the transformation datatype. When you run a session, the Integration Service performs transformations based on the transformation datatypes. When writing data to a target, the Integration Service converts the data based on the native datatypes in the target definition.

The transformation datatype for all ports in the Application Multi-Group Source Qualifier are predefined. You cannot change the datatype for any of the fields in the Application Multi-Group Source Qualifier. For more information about transformation datatypes, see “Datatype Reference” on page 383.

Creating the Application Multi-Group Source Qualifier Transformation

By default, the Designer creates an Application Multi-Group Source Qualifier when you add an SAPALEIDoc source definition to a mapping. If you configure the Designer to manually create a Source Qualifier when you add a source definition to a mapping, manually connect an Application Multi-Group Source Qualifier to an SAPALEIDoc source definition.

Creating the Application Multi-Group Source Qualifier 177

Page 202: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with the SAP/ALE IDoc Interpreter Transformation

Include an SAP/ALE IDoc Interpreter transformation in an outbound IDoc mapping when you want to process the outbound IDoc data you receive from the SAP system. The transformation receives data from upstream transformations in the mapping and interprets the segment data.

Each SAP/ALE IDoc Interpreter transformation can interpret data for one IDoc type. For information about reading multiple types of outbound IDocs, see Knowledge Base article 17410.

After you create an SAP/ALE IDoc Interpreter transformation, you can edit the transformation to change the data segments you want to include in the transformation.

When you edit the transformation, you can also view details about the IDoc type and segments. To view details, double-click the title bar of the transformation and select the IDoc Display tab.

Figure 9-1 shows the IDoc Display tab of the SAP/ALE IDoc Interpreter transformation where you can view IDoc details:

Figure 9-1. IDoc Display Tab of the SAP/ALE IDoc Interpreter TransformationSelect to display transformation metadata.

Select to display Group Status column.

Select the segments to include in the transformation.

178 Chapter 9: Creating Outbound IDoc Mappings

Page 203: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 9-2 shows the information that displays when you view details about an IDoc on the IDoc Display tab of an SAP/ALE IDoc Interpreter or SAPALEIDoc Prepare transformation:

Table 9-2. IDoc Information in SAP/ALE IDoc Interpreter and Prepare Transformations

Property Description

Message Type IDoc message type.

Basic Type Basic IDoc type, where applicable.

Extended Type Extended IDoc type, where applicable.

Show Transformation Metadata

Select to display transformation metadata.

Show Group Status Select to display the Group Status column.

Segment Name Segment names of the IDoc type.

Description Description of the segments, where applicable.

Select Select the data segments to include in the transformation.

Segment Status Required segments.

Group Status Required groups. Displays only if you select Show Group Status.

Minimum Occurrence Minimum number of occurrences of the segment in an IDoc.

Maximum Occurrence Maximum number of occurrences of the segment in an IDoc.

Field Name Field names of a segment.

Description Description of the field.

SAP Datatype SAP datatype of the field.

SAP Precision SAP precision of the field.

SAP Scale SAP scale of the field.

Transformation Datatype Transformation datatype of the field. Displays only if you select Show Transformation Metadata.

Transformation Precision Transformation precision of the field. Displays only if you select Show Transformation Metadata.

Transformation Scale Transformation scale of the field. Displays only if you select Show Transformation Metadata.

Working with the SAP/ALE IDoc Interpreter Transformation 179

Page 204: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Segments and GroupsAn IDoc is a hierarchical structure that contains segments. A segment can be a parent or child. A child segment depends on another segment. A parent segment contains child segments. A parent segment can be a child of another segment.

IDoc segments are organized into groups. The following rules determine to which group a segment belongs:

♦ A parent segment starts a new group. For example, in Figure 9-2, the E1MARCM segment contains a child and therefore starts a new group.

♦ A child segment that is not a parent belongs to the group that is started by its immediate parent. For example, in Figure 9-2, the E1MARA1 segment does not contain a child and therefore belongs to the group of its parent E1MARAM.

A group can also be a parent or a child. For example, in Figure 9-2, the E1MARAM group is a parent of the E1MARCM group.

Figure 9-2 shows two groups in the MATMAS04 IDoc:

Some segments and groups are required. In an SAP/ALE IDoc Prepare transformation, SAP/ALE IDoc Interpreter transformation, and SAP DMI Prepare transformation, a required segment must exist in the IDoc only if its group, its parent groups, and its parent segments are required or selected. For example, in Figure 9-2, the E1MARAM group is required.

Figure 9-2. Segments and Groups in the IDoc Display Tab

E1MARAM group

E1MARCM group

180 Chapter 9: Creating Outbound IDoc Mappings

Page 205: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Therefore, its required child segment E1MAKTM must exist in the IDoc. Its optional child segment E1MARA1 does not have to exist in the IDoc.

If a required segment belongs to an optional group that is not selected, then the segment does not have to exist in the IDoc. For example, in Figure 9-2, the E1MARCM group is optional. Therefore, the required E1MARCM segment also becomes optional.

Note: These rules describe the hierarchy of a standard IDoc. The hierarchy of a custom IDoc may differ. However, the Integration Service processes the data in the same way. For more information about creating custom IDocs in SAP, see the SAP documentation.

Viewing Group and Segment StatusTo help you understand when segments are required, use the read-only Segment Status and Group Status columns. To display the Group Status column, click Show Group Status. When a group is required, the Group Status column is selected. When a segment is required, the Segment Status column is selected.

The following example shows how you can use the Segment Status and Group Status columns to understand which segments are required in the MATMAS04 IDoc displayed in Figure 9-2:

When you clear Show Group Status to hide the Group Status column, the Segment Status column uses different rules to determine which segments are selected, depending on the type of segment:

♦ Child segment that is not a parent. When the segment is required, the Segment Status column is selected. For example, in Figure 9-3, the E1MAKTM segment is required, so its Segment Status column is selected.

♦ Parent segment. When both the segment and its group are required, the Segment Status column is selected. For example, in Figure 9-3, the E1MARAM segment and group are required, so its Segment Status column is selected. The E1MARCM segment is required, however its group is optional. The E1MARCM Segment Status column is cleared.

Segment Name Group to which the Segment Belongs Segment Status Group Status Required in IDoc

E1MARAM E1MARAM Required Required Required

E1MARA1 E1MARAM Optional Required Optional

E1MAKTM E1MARAM Required Required Required

E1MARCM E1MARCM Required Optional Optional

Working with the SAP/ALE IDoc Interpreter Transformation 181

Page 206: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 9-3 displays how the Segment Status column changes for the E1MARCM segment when Show Group Status is cleared:

Creating an SAP/ALE IDoc TransformationUse the Generate SAP IDoc Interpreter Transformation Wizard to create an SAP/ALE IDoc Interpreter transformation to read outbound IDocs from the SAP system. You can import basic or extended IDoc type metadata.

When you create an SAP/ALE IDoc Interpreter transformation, you can import the IDoc metadata in the following ways:

♦ From file. Use to import the metadata for the IDocs in the SAP/ALE IDoc Interpreter from a metadata file. For information about generating IDoc metadata, see “Generating IDoc Metadata to File for Import” on page 183.

When you import the IDoc metadata from file, SAP converts numeric datatypes in the IDoc metadata to CHAR. After you create the transformation, apply the appropriate transformation datatypes to the ports that have numeric datatypes in SAP.

♦ Connect to SAP. Use to import the IDoc metadata from the SAP system to use in the transformation. The Integration Service can validate the input data you pass into the transformation during a session.

Figure 9-3. Segment Status Column Selections when Show Group Status is Cleared

Segment Status column shows that the E1MARCM segment is not required in the IDoc.

Clear to hide Group Status column.

182 Chapter 9: Creating Outbound IDoc Mappings

Page 207: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Generating IDoc Metadata to File for ImportIf you want to import IDoc metadata for an SAP/ALE IDoc transformation from file, run the RSEIDoc3 program from the SAP client to generate the metadata. When you run the program, select the IDoc type and range for the IDoc metadata you want to generate. The program exports the metadata it generates into a metadata file. For example, you can export the metadata to a file with the .idc extension. You can then use the metadata file to import the metadata into the Designer for use in the SAP/ALE IDoc transformation.

To generate IDoc metadata using the RSEIDoc3 program:

1. Enter transaction se38 from the SAP client.

2. Execute the RSEIDoc3 program.

3. Select the basic IDoc type and range.

4. Optionally, select extended IDoc type and range, if available.

5. Optionally, select extended grammar, if available.

6. If you are using SAP version 4.6C, click Execute.

-or-

If you are using SAP version 4.7 or higher, click Parser.

7. Click System > List > Save > Local File.

8. On the Save List in File dialog box, select Unconverted.

9. Enter the path and file name where you want to save the metadata file. Save the file with the .idc extension.

Steps to Create an SAP/ALE IDoc TransformationThe Transformations toolbar contains buttons to create SAP/ALE IDoc Interpreter and SAP/ALE IDoc Prepare transformations.

Figure 9-4 shows the buttons on the Transformations toolbar for creating SAP/ALE IDoc Interpreter and SAP/ALE IDoc Prepare transformations:

To create an SAP/ALE IDoc Interpreter or SAP/ALE IDoc Prepare transformation:

1. In the Transformation Developer, click the SAP/ALE IDoc Interpreter transformation button or SAP/ALE IDoc Prepare transformation button.

The pointer becomes a cross.

Figure 9-4. SAP/ALE IDoc Transformation Buttons on the Transformations Toolbar

Creates an SAP/ALE IDoc Prepare transformation.

Creates an SAP/ALE IDoc Interpreter transformation.

Working with the SAP/ALE IDoc Interpreter Transformation 183

Page 208: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

2. Click in the Transformation Developer workspace.

If you clicked the SAP/ALE IDoc Interpreter button, the Generate SAP IDoc Interpreter Transformation Wizard appears. If you selected the SAP/ALE IDoc Prepare button, the Generate SAP IDoc Prepare Transformation Wizard appears.

3. To import IDoc metadata from a file, click Local File.

To import IDoc metadata from the SAP system, go to step 7.

4. If you clicked Local File, enter the name and path of the file from which you want to import IDoc metadata. Or, click Browse to locate the file you want to use.

5. Click Import.

6. Go to step 13.

7. If you want to import IDoc metadata from the SAP system, enter the following information:

8. Click Connect.

After you connect to the SAP system, enter a filter to display specific IDoc types.

9. Select one of the following filter types:

♦ Message Type. Select to display IDocs by message type. The Designer displays the basic and extended type for each IDoc that meets the filter condition.

♦ Basic IDoc Type. Select to display IDocs by basic IDoc type. The Designer displays only the basic type for each IDoc that meets the filter condition.

♦ Extended IDoc Type. Select to display IDocs by extended IDoc type. The Designer displays only the extended type for each IDoc that meets the filter condition.

10. Enter a filter condition.

Field Required/Optional Description

Connect String Required Type A or Type B destination entry in the saprfc.ini file.

User Name Required SAP source system connection user name. The user name must be a user for which you have created a source system connection.

Password Required SAP password for the above user name.

Client Required SAP client number.

Language Required Language you want for the mapping. The language must be compatible with the PowerCenter Client code page. For more information about language and code pages, see “Language Codes, Code Pages, and Unicode Support” on page 395.If you leave this option blank, PowerCenter uses the default language of the SAP system.

184 Chapter 9: Creating Outbound IDoc Mappings

Page 209: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

You can enter an IDoc name. Or, use an asterisk (*) or percent sign (%) as wildcard characters to display IDocs that meet the filter condition. Use the following syntax when you enter a wildcard character:

♦ Enter the filter condition as a prefix. For example, enter MAT* or MAT% to display all IDocs that begin with MAT.

♦ Enter the filter condition as a suffix. For example, enter *AT or %AT to display all IDocs that end with AT.

♦ Enter the filter condition as a substring. For example, enter *MAT* or %MAT% to display all IDocs that contain MAT.

11. Click Show IDoc Types.

All IDocs that meet the filter condition appear.

12. To further refine the IDocs that display, you can select one or both of the following options:

♦ Show Only Unknown Message Type. If IDocs display that are of an unknown message type, you can select this option to display only those IDocs.

♦ Show Release For Message Type. Select to display IDocs by SAP release.

Working with the SAP/ALE IDoc Interpreter Transformation 185

Page 210: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

For example, the following figure shows IDocs displayed by release:

186 Chapter 9: Creating Outbound IDoc Mappings

Page 211: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

13. Expand an IDoc Type to see a list of basic and extended IDocs.

14. Select the basic or extended IDoc whose metadata you want to import and click Next.

Click to view basic and extended IDoc types.

Working with the SAP/ALE IDoc Interpreter Transformation 187

Page 212: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 2 of the wizard appears.

15. Select the IDoc segments you want to include in the mapping.

You can manually select the segments you want to include in the transformation. Or, click one of the following options to select IDoc segments:

♦ Select All Segments. Click to include all segments.

♦ Clear All Segments. Click to remove all selected segments except required segments.

To display which groups are required, click Show Group Status. For more information about the IDoc details that display in this step of the wizard, see Table 9-2 on page 179.

When you select the segments to include in the transformation, the transformation uses the following rules to select parent and child segments:

♦ If you select a segment, all its parent segments are selected, and all its required child segments are selected.

♦ If you clear a segment, all its child segments are cleared.

16. Click Next.

Step 3 of the wizard appears. The wizard provides a name for the transformation.

17. Optionally, modify the name of the transformation.

Select to display Group Status column.

Select the segments to include in the transformation.

188 Chapter 9: Creating Outbound IDoc Mappings

Page 213: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

If you clicked Transformation > Create to create the transformation, you cannot modify the name of the transformation in Step 3 of the wizard. The Designer names the transformation using the name you entered in the Create Transformation dialog box.

18. Optionally, modify the description of the transformation.

19. Click Finish.

Editing an SAP/ALE IDoc Interpreter TransformationYou can edit an SAP/ALE IDoc Interpreter transformation to change the data segments you want to include in the transformation. You can also modify the name and description of the transformation.

To edit an SAP/ALE IDoc Interpreter transformation:

1. In the Transformation Developer or Mapping Designer, double-click the title bar of the SAP/ALE IDoc Interpreter transformation.

The Edit Transformations window appears.

2. Select Output is Deterministic on the Properties tab if you want to enable recovery for an outbound IDoc session.

Select Output is Deterministic to enable recovery.

Working with the SAP/ALE IDoc Interpreter Transformation 189

Page 214: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

For more information about enabling recovery, see “Message Recovery” on page 210.

3. Click the IDoc Display tab.

For more information about the IDoc details that display on the IDoc Display tab, see Table 9-2 on page 179.

4. Optionally, modify the segments you want to include in the SAP/ALE IDoc Interpreter transformation.

You can manually select the segments you want to include in the transformation. Or, click one of the following options to select IDoc segments:

♦ Select All Segments. Click to include all segments.

♦ Clear All Segments. Click to remove all selected segments except required segments.

When you select the segments to include in the transformation, the transformation uses the following rules to select parent and child segments:

♦ If you select a segment, all its parent segments are selected, and all its required child segments are selected.

♦ If you clear a segment, all its child segments are cleared.

5. Click OK.

190 Chapter 9: Creating Outbound IDoc Mappings

Page 215: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Processing Invalid Outbound IDocs

You can configure an outbound IDoc mapping to write invalid IDocs to a relational or flat file target. To write invalid IDocs to a relational or flat file target, connect the Error Output port in the SAP/ALE IDoc Interpreter transformation to a relational or flat file target definition. For more information about creating SAP/ALE IDoc Interpreter transformations, see “Working with the SAP/ALE IDoc Interpreter Transformation” on page 178.

Figure 9-5 shows an example of an outbound IDoc mapping configured to write invalid IDocs to a relational target:

To write invalid outbound IDocs to a relational or flat file target, you must also configure the outbound IDoc session to check for invalid IDocs. For more information, see “Configuring Sessions for Outbound IDoc Mappings” on page 207.

Note: SAP/ALE IDoc Interpreter transformations created in version 7.x do not contain the Error Output port. As a result, the Integration Service cannot validate outbound IDocs for SAP/ALE IDoc Interpreter transformations created in earlier versions. You must recreate the transformation to write invalid outbound IDocs to a relational or flat file target.

Figure 9-5. Outbound IDoc Mapping with Invalid IDoc Error Handling

Processing Invalid Outbound IDocs 191

Page 216: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

192 Chapter 9: Creating Outbound IDoc Mappings

Page 217: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 0

Creating Inbound IDoc Mappings

This chapter includes the following topics:

♦ Overview, 194

♦ Working with the SAP/ALE IDoc Prepare Transformation, 196

♦ Creating an SAPALEIDoc Target Definition, 202

♦ Configuring Inbound IDoc Mappings, 203

193

Page 218: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

You can configure PowerCenter Connect for SAP NetWeaver mySAP Option to send inbound SAP IDocs to mySAP applications. To send inbound IDocs, mySAP Option integrates with mySAP applications using Application Link Enabling (ALE). ALE is an SAP proprietary technology that enables data communication between SAP systems. ALE also enables data communication between SAP and external systems.

For example, you have a legacy application that processes sales transactions. You want to synchronize the transactional data in the legacy application with the data in the SAP application database. Use an inbound SAP IDoc mapping to send the transactional data from the legacy application database to the SAP system. The Integration Service extracts the data from the legacy application data source, prepares the data in SAP IDoc format, and sends the data to the SAP system as inbound IDocs using ALE.

For more information about SAP, see “IDoc Integration Using ALE” on page 6

Defining PowerCenter as a Logical System for Inbound IDocsBefore you can send inbound IDocs to SAP using ALE, define PowerCenter as a logical system that sends IDocs to SAP. For more information about defining a logical system in SAP, see “Defining PowerCenter as a Logical System in SAP” on page 31.

Creating an Inbound IDoc MappingTo send inbound IDocs to mySAP applications, create an inbound IDoc mapping. The inbound IDoc mapping needs to contain the following components:

♦ Source definition. Source definition to read data from the source system. For more information about creating a source definition, see “Working with Sources” in the PowerCenter Designer Guide.

♦ Source Qualifier transformation. Determines how the Integration Service reads data from the source. For more information about creating a Source Qualifier transformation, see “Source Qualifier Transformation” in the PowerCenter Transformation Guide.

♦ SAP/ALE IDoc Prepare transformation. Processes IDoc data according to the IDoc type you specify when you create the transformation. For more information about creating an SAP/ALE IDoc Prepare transformation, see “Working with the SAP/ALE IDoc Prepare Transformation” on page 196.

♦ SAPALEIDoc target definition. Target definition that writes IDocs to the SAP system. For more information about creating an SAPALEIDoc target definition, see “Creating an SAPALEIDoc Target Definition” on page 202.

For more information about creating mappings, see “Mappings” in the PowerCenter Designer Guide.

194 Chapter 10: Creating Inbound IDoc Mappings

Page 219: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Processing Invalid Inbound IDocsYou can validate inbound IDocs before sending them to the SAP system. If you validate inbound IDocs, you can configure an inbound IDoc mapping to write invalid IDocs to a flat file or relational target instead of sending them to SAP. For more information about processing invalid IDocs, see “Configuring Inbound IDoc Mappings” on page 203.

Overview 195

Page 220: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with the SAP/ALE IDoc Prepare Transformation

You need to include an SAP/ALE IDoc Prepare transformation in an inbound IDoc mapping. The transformation receives data from upstream transformations in the mapping and interprets the segment data.

Each SAP/ALE IDoc Prepare transformation can only interpret data for a particular IDoc type. You can include multiple SAP/ALE IDoc Prepare transformations to represent multiple IDoc types in a single mapping.

After you create an SAP/ALE IDoc Prepare transformation, you can edit the transformation to set values for control record segments and to change the data segments you want to include in the transformation.

When you edit the transformation, you can also view details about the IDoc type and segments. To view details, double-click the title bar of the transformation and select the IDoc Display tab. For more information, see Table 9-2 on page 179.

IDoc Primary and Foreign KeysAn IDoc message is organized hierarchically with one top-level parent segment and one or more second-level child segments. Second-level child segments can also have one or more third-level child segments.

To maintain the structure of the IDoc data, the IDoc Prepare transformation uses primary and foreign keys. The top-level parent segment has a primary key. Each child segment has a primary key and a foreign key. The foreign key of each child segment references the primary key of its parent segment. For example, the foreign key of a second-level child segment references the primary key of the top-level parent segment. Similarly, the foreign key of a third-level child segment references the primary key of the second-level child segment.

The IDoc Prepare transformation groups incoming IDoc data based on the values in the primary and foreign key fields. The Control Input group of the IDoc Prepare transformation represents the parent segment. All other groups of the IDoc Prepare transformation except the ErrorIDocData group represent second-level or third-level child segments.

Note: The ErrorIDocData group is used for processing invalid IDocs. For more information about the ErrorIDocData group, see “Configuring Inbound IDoc Mappings” on page 203.

Table 10-1 shows the groups of the IDoc Prepare transformation and the fields used for the primary and foreign keys:

Table 10-1. IDoc Primary and Foreign Keys

Group(s) Field Description

Control Input Group GPK_DOCNUM Primary key of the parent segment.

Child Segment 1 GPK_<Child1_name> Primary key of Child Segment 1.

GFK_DOCNUM_<Child1_name> Foreign key of Child Segment 1 references the primary key of the parent segment.

196 Chapter 10: Creating Inbound IDoc Mappings

Page 221: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Each value for the GPK_<name> field needs to be unique. Each GFK_<parent_name>_<group_name> field needs to reference the primary key of its parent segment.

For example, the following table shows the relationship of primary and foreign keys in an IDoc message named ABSEN1 with four child segments:

The IDoc Prepare transformation uses these primary and foreign key relationships to maintain the structure of the IDoc data. Any foreign key field that does not match the

Child Segment A of Child Segment 1

GPK_<Child1A_name> Primary key of Child Segment A of Child Segment 1.

GFK_<Child1_name>_<Child1A_name> Foreign key of Child Segment A of Child Segment 1 references the primary key of Child Segment 1.

Child Segment 2 GPK_<Child2_name> Primary key of the IDoc child segment.

GFK_DOCNUM_<Child2_name> Foreign key of Child Segment 2 references the primary key of the parent segment.

Child Segment B of Child Segment 2

GPK_<Child2B_name> Primary key of Child Segment B of Child Segment 2.

GFK_<Child2_name>_<Child2B_name> Foreign key of Child Segment B of Child Segment 2 references the primary key of Child Segment 2.

Group Field Primary/Foreign Key(s)

CONTROL_INPUT_ABSEN1 GPK_DOCNUM P1

E2ABSE1 GPK_E2ABSE1 C1

GFK_DOCNUM_E2ABSE1 P1

E2ABSE2 GPK_E2ABSE2 C2

GFK_DOCNUM_E2ABSE2 P1

E2ABSE2A GPK_E2ABSE2A C2A

GFK_E2ABSE2_E2ABSE2A C2

E2ABSE3 GPK_E2ABSE3 C3

GFK_DOCNUM_E2ABSE3 P1

E2ABSE3B GPK_E2ABSE3B C3B

GFK_E2ABSE2_E2ABSE2A C3

E2ABSE4 GPK_E2ABSE4 C4

GFK_DOCNUM_E2ABSE4 P1

Table 10-1. IDoc Primary and Foreign Keys

Group(s) Field Description

Working with the SAP/ALE IDoc Prepare Transformation 197

Page 222: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

primary key of its parent segment results in an orphan row. Any primary key field that is not unique results in a duplicate row.

Verify that each IDoc message has a unique primary key for the top-level parent segment, each child segment, and that each foreign key matches the primary key of its parent.

Creating an SAP/ALE IDoc Prepare TransformationUse the Generate SAP IDoc Prepare Transformation Wizard to create an SAP/ALE IDoc Prepare transformation. The wizard lets you import basic or extended IDoc type metadata.

For more information about using the Generate SAP IDoc Prepare Transformation Wizard to create an SAP/ALE IDoc Prepare transformation, see “Steps to Create an SAP/ALE IDoc Transformation” on page 183.

When you create an SAP/ALE IDoc Prepare transformation, you can import the IDoc metadata in the following ways:

♦ From file. Use to import the metadata for the IDocs in the SAP/ALE IDoc Prepare transformation from a metadata file. For information about generating IDoc metadata, see “Generating IDoc Metadata to File for Import” on page 183.

When you import the IDoc metadata from file, SAP converts numeric datatypes in the IDoc metadata to CHAR. When you create or edit the transformation, apply the appropriate transformation datatypes to the ports that have numeric datatypes in SAP.

♦ Connect to SAP. Use to import the IDoc metadata from the SAP system to use in the transformation. The Integration Service can validate the input data you pass into the transformation during a session.

Editing an SAP/ALE IDoc Prepare TransformationYou can edit an SAP/ALE IDoc Prepare transformation to set values for control record segments and change the data segments you want to include in the transformation. You can also modify the name and description of the transformation.

To edit an SAP/ALE IDoc Prepare transformation:

1. In the Transformation Developer or Mapping Designer, double-click the title bar of the SAP/ALE IDoc Prepare transformation.

The Edit Transformations window appears.

198 Chapter 10: Creating Inbound IDoc Mappings

Page 223: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

2. Click the IDoc Control Record tab.

The IDoc Control Record tab displays the control record segments in the IDoc, their values, and precision. The Designer provides values for some of the segments when you create an SAP/ALE IDoc Prepare transformation. You can provide values for other segments. The Integration Service writes these values to the SAP system during the session.

You can enter values in the following ways:

♦ Manually enter values for segments.

♦ Connect to the SAP system to get predefined values for required segments.

3. If you do not want to connect to the SAP system to get IDoc control record segment values, enter values for the segments you want.

You can also enter a mapping variable for any segment. For more information about mapping variables, see “Mapping Parameters and Variables” in the PowerCenter Designer Guide.

4. To get predefined values for required control record segments, click Get Partner Profile to connect to the SAP system.

Tip: If you want to connect to the SAP system to get values for required control record segments, and you imported the IDoc metadata for the transformation from file, you can enter a value for MESTYP before clicking Get Partner Profile. When you connect to the

Segments in black are editable.

Segments in gray are not editable.

Working with the SAP/ALE IDoc Prepare Transformation 199

Page 224: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

SAP system, it displays the control record segments for the message type you want. Otherwise, locate the message type.

The Connect to SAP dialog box appears.

5. Enter the following connection information to connect to the SAP system:

6. Enter a partner number.

The Connect to SAP dialog box displays the segment names and values for the Designer to include in the SAP/ALE IDoc Prepare transformation.

7. If you imported IDoc metadata for the SAP/ALE IDoc Prepare transformation or entered a value for MESTYP on the IDoc Control Record tab, click Select. Go to step 9.

8. If there is no value for the message type on the IDoc Control Record tab, click Next until you find the appropriate message type.

Field Required/ Optional Description

Connect String Required Type A or Type B destination entry in the saprfc.ini file.

User Name Required SAP source system connection user name. The user name you use to connect to SAP must be a user for which you have created a source system connection.

Password Required SAP password for the above user name.

Client Required SAP client number.

Language Required Language you want for the mapping. If you leave this option blank, PowerCenter uses the default language of the SAP system. The language you choose must be compatible with the PowerCenter Client code page. For more information about language and code pages, see “Language Codes, Code Pages, and Unicode Support” on page 395.

Message Type

200 Chapter 10: Creating Inbound IDoc Mappings

Page 225: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Find the segments for the message type for which you created the SAP/ALE IDoc Prepare transformation. For example, if you created an SAP/ALE IDoc Prepare transformation for the message type MATMAS, find the segments for the message type MATMAS.

9. Click Select.

Click Cancel if you do not want to use these values.

The Designer prompts you to update the control record.

10. Click Yes to update the control record.

Click No to cancel.

11. Click the IDoc Display tab.

For more information about the IDoc Display tab, see Table 9-2 on page 179.

12. Optionally, modify the segments you want to include in the SAP/ALE IDoc Prepare transformation.

You can manually select the segments you want to include in the transformation. Or, click one of the following options to select IDoc segments:

♦ Select All Segments. Click to include all segments.

♦ Clear All Segments. Click to remove all selected segments except required segments.

When you select the segments to include in the transformation, the transformation uses the following rules to select parent and child segments:

♦ If you select a segment, all its parent segments are selected, and all its required child segments are selected.

♦ If you clear a segment, all its child segments are cleared.

13. Click OK.

Working with the SAP/ALE IDoc Prepare Transformation 201

Page 226: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating an SAPALEIDoc Target Definition

To send inbound IDocs to SAP using ALE, create an SAPALEIDoc target definition in the Designer. An SAPALEIDoc target definition represents metadata for inbound IDocs. When you create an SAPALEIDoc target definition, the Designer displays a table with IDoc fields and SAP datatypes. When the Integration Service sends data to the SAP target, it converts the data based on the transformation datatypes in the mapping to the target datatypes.

An SAPALEIDoc target definition contains the predefined port IDocData. You cannot edit this port in the Designer.

Tip: You only need to maintain one SAPALEIDoc target definition per repository folder. When you include an SAPALEIDoc target definition in a mapping, you can add an instance of the target definition to the mapping.

202 Chapter 10: Creating Inbound IDoc Mappings

Page 227: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring Inbound IDoc Mappings

When you configure an inbound IDoc mapping, use the following guidelines:

♦ Pass a value to the DOCNUM port of the SAP/ALE IDoc Prepare transformation.

♦ Determine how you want to process invalid IDocs.

Passing Values to the DOCNUM PortWhen you configure an inbound IDoc mapping, the mapping must link the DOCNUM port of the SAP/ALE IDoc Prepare transformation to an upstream transformation. The DOCNUM port represents a unique number for each IDoc. The SAP system does not accept inbound IDocs that do not have a unique document number. If the Integration Service does not pass a value to the DOCNUM port, the session fails.

Processing Invalid Inbound IDocsYou can configure an inbound IDoc mapping to write invalid IDocs to a relational or flat file target instead of writing them to the SAP system. To write invalid IDocs to a relational or flat file target, connect the ErrorIDocData port in the SAP/ALE IDoc Prepare transformation to a relational or flat file target definition. For more information about creating SAP/ALE IDoc Prepare transformations, see “Creating an SAP/ALE IDoc Prepare Transformation” on page 198.

Figure 10-1 shows an example of an inbound IDoc mapping configured to write invalid IDocs to a relational target:

To write invalid inbound IDocs to a relational or flat file target, you must also configure the inbound IDoc session to check for invalid IDocs. For more information, see “Configuring Sessions for Inbound IDoc Mappings” on page 212.

Figure 10-1. Inbound IDoc Mapping with Invalid IDoc Error Handling

Configuring Inbound IDoc Mappings 203

Page 228: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

204 Chapter 10: Creating Inbound IDoc Mappings

Page 229: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 1

Configuring Workflows for IDoc Mappings Using ALE

This chapter includes the following topics:

♦ Overview, 206

♦ Configuring Sessions for Outbound IDoc Mappings, 207

♦ Configuring Sessions for Inbound IDoc Mappings, 212

♦ Steps to Configure Sessions for IDoc Mappings Using ALE, 216

♦ Error Handling for IDoc Sessions Using ALE, 222

♦ Running Workflows, 223

♦ Troubleshooting, 224

205

Page 230: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

After you create an outbound or inbound mapping in the Designer, you create a session and use the session in a workflow.

Complete the following tasks before you can run an SAP workflow:

♦ Configure an Integration Service. Configure an Integration Service to run SAP workflows. For more information about configuring the Integration Service, see “Creating and Configuring the Integration Service” in the PowerCenter Administrator Guide.

♦ Configure source and target connections. Configure connections to extract data from the source and write data to the target. For more information about creating an application connection, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

You cannot use a connection variable for an SAP_ALE_IDoc_Reader or SAP_ALE_IDoc_Writer application connection. For more information about connection variables, see the PowerCenter Workflow Administration Guide.

206 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 231: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring Sessions for Outbound IDoc Mappings

When you configure a session for an outbound IDoc mapping to receive IDocs from SAP using ALE, configure the following properties:

♦ Session conditions

♦ Message recovery

♦ Pipeline partitioning

♦ IDoc validation

♦ Continuous workflows

Session ConditionsWhen you configure a session for an outbound IDoc mapping, you can set session conditions to define how the Integration Service reads IDocs from the source.

You can define the following session conditions:

♦ Idle Time

♦ Packet Count

♦ Real-time Flush Latency

♦ Reader Time Limit

Configuring Sessions for Outbound IDoc Mappings 207

Page 232: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 11-1 shows the Properties settings on the Mapping tab of the Sources node where you set session conditions:

When you enter values for multiple session conditions, the Integration Service stops reading IDocs from the SAP source when the first session condition is met. For example, if you set the Idle Time value to 10 seconds and the Packet Count value to 100 packets, the Integration Service stops reading IDocs from the SAP source after 10 seconds or after reading 100 packets, whichever comes first.

Idle TimeUse the Idle Time session condition to indicate the number of seconds the Integration Service waits for IDocs to arrive before it stops reading from the SAP source. For example, if you enter 30 for Idle Time, the Integration Service waits 30 seconds after reading from the source. If no new IDocs arrive within 30 seconds, the Integration Service stops reading from the SAP source.

Packet CountUse the Packet Count session condition to control the number of packets the Integration Service reads from SAP before stopping. For example, if you enter 10 for Packet Count, the Integration Service reads the first 10 packets from the SAP source and then stops. The packet Size property in the ALE configuration determines the number of IDocs the Integration Service receives in a packet.

Figure 11-1. Outbound IDoc Session Conditions in the Session Properties

Session Conditions

208 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 233: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

If you enter a Packet Count value, and you configure the session to use pipeline partitioning, the outbound IDoc session can run on a single node only. The Integration Service that runs the session cannot run on a grid or on primary and backup nodes.

Real-time Flush LatencyIf you have an outbound IDoc mapping, use the Real-time Flush Latency session condition to run the session in real time.

When you use the Real-time Flush Latency session condition with an outbound IDoc mapping, the Integration Service commits IDocs to the target at the end of a specified interval. Each Real-time Flush Latency interval starts after the first IDoc enters the source. The lower you set the interval, the faster the Integration Service commits IDocs to the target.

Note: When you specify a low Real-time Flush Latency interval, the session might consume more system resources.

Complete the following steps when you use the Real-time Flush Latency session condition to run a session in real time:

1. If the pipeline contains an XML target definition, select Append to Document for the On Commit option from the Properties tab when you edit the target definition.

2. Configure the session for source-based commits in the session properties.

3. When you configure the session to use source-based commits and add partitions to the pipeline, specify pass-through partitioning at each partition point.

4. Configure a real-time session to run as a continuous workflow. For more information, see “Continuous Workflows” on page 211.

When the Integration Service runs the session, it begins to read IDocs from the source. When IDocs enter the source, the Real-time Flush Latency interval begins. At the end of each Real-time Flush Latency interval, the Integration Service commits all IDocs read from the source.

When you set the Real-time Flush Latency session condition and configure the session to use source-based commits, the Integration Service commits IDocs to the target using the source-based commit interval and the Real-time Flush Latency interval.

For example, you use 5 seconds as the Real-time Flush Latency session condition and you set the source-based commit interval to 1,000 IDocs. The Integration Service commits IDocs to the target at two points: after reading 1,000 IDocs from the source and after each five second Real-time Flush Latency interval.

If you configure the session to use target-based commits, the Integration Service runs the session using source-based commits. Also, it only commits IDocs to the target based on the Real-time Flush Latency interval. It does not commit IDocs to the target based on the commit interval. For more information about commit types and intervals, see “Understanding Commit Points” in the PowerCenter Workflow Administration Guide.

When you use the Real-time Flush Latency session condition, the following limitations apply:

♦ The pipeline cannot contain Transaction Control transformations.

Configuring Sessions for Outbound IDoc Mappings 209

Page 234: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

♦ The pipeline cannot contain Custom transformations with the Generate Transaction option selected. You select the Generate Transaction option on the Properties tab of the Edit Transformations dialog box.

♦ The pipeline cannot contain transformations with the All Input option selected for the Transformation Scope property. You select a value for the Transformation Scope property on the Properties tab of the Edit Transformations dialog box.

♦ The pipeline cannot contain any transformation that has row transformation scope and receives input from multiple transaction control points.

♦ The mapping cannot contain a flat file target definition.

♦ The session cannot contain partition types other than pass-through at all partition points.

♦ The Integration Service ignores the Real-time Flush Latency session condition when you run a session in debug mode.

♦ If the mapping contains a relational target, the Target Load Type attribute in the Properties settings on the Mapping tab (Targets node) in the session properties must be Normal.

Reader Time LimitUse the Reader Time Limit session condition to read IDocs from the SAP source for a set period of time. When you use the Reader Time Limit session condition, the Integration Service reads IDocs from SAP for the time period you specify. Specify a Reader Time Limit value in seconds in the session properties. For example, if you specify 10 for the Reader Time Limit value, the Integration Service stops reading from the SAP source after 10 seconds.

Message RecoveryYou can configure message recovery for sessions that fail when reading IDocs from an SAP source. When you enable message recovery, the Integration Service stores all IDocs it reads from the SAP source in a cache before processing the IDocs for the target. If the session fails, run the session in recovery mode to recover the messages the Integration Service could not process during the previous session run.

During the recovery session, the Integration Service reads the IDocs from the cache. After the Integration Service reads the IDocs from the cache and processes them for the target, the recovery session ends.

The Integration Service removes IDocs from the cache after the Real-time Flush Latency period expires. It also empties the cache at the end of the session. If the session fails after the Integration Service commits IDocs to the target but before it removes the IDocs from the cache, targets may receive duplicate rows during the next session run.

Complete the following steps to enable message recovery:

1. Select a recovery strategy in the session properties.

2. Specify a recovery cache folder in the session properties at each partition point.

210 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 235: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Note: You also must select Output is Deterministic in the SAP/ALE IDoc Interpreter transformation to enable recovery. For more information, see “Editing an SAP/ALE IDoc Interpreter Transformation” on page 189.

If you change the mapping or the session properties and then restart the session, the Integration Service creates a new cache file and then runs the session. This can result in data loss during the session run.

For more information about message recovery, see “Real-time Processing” in the PowerCenter Workflow Administration Guide.

Pipeline Partitioning for the Application Multi-Group Source Qualifier

You can increase the number of partitions in a pipeline to improve session performance. Increasing the number of partitions enables the Integration Service to create multiple connections to sources and process partitioned data concurrently.

You can specify pass-through partitioning for Application Multi-Group Source Qualifiers in an outbound IDoc mapping.

For more information about partitioning and a list of all partitioning restrictions, see “Understanding Pipeline Partitioning” in the PowerCenter Workflow Administration Guide.

Specifying Partitions and a Recovery Cache FolderWhen you specify partitions for an outbound IDoc mapping in a session, and you configure the Recovery Cache Folder attribute in the session properties, enter a cache folder on a different device for each source partition in the pipeline.

Outbound IDoc ValidationYou can configure an outbound IDoc session to check for invalid IDocs and write them to a relational or flat file target. To check for invalid IDocs, select Extended Syntax Check in the session properties.

To write invalid outbound IDocs to a relational or flat file target, you must also connect the Error Output port in the SAP/ALE IDoc Interpreter transformation to a relational or flat file target definition. For more information, see “Processing Invalid Outbound IDocs” on page 191.

Continuous WorkflowsYou can schedule a workflow to run continuously. A continuous workflow starts as soon as the Integration Service initializes. When the workflow stops, it restarts immediately. To schedule a continuous workflow, select Run Continuously from the Schedule tab in the scheduler properties when you schedule the workflow. For more information about scheduling workflows, see “Working with Workflows” in the PowerCenter Workflow Administration Guide.

Configuring Sessions for Outbound IDoc Mappings 211

Page 236: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring Sessions for Inbound IDoc Mappings

When you configure a session for an inbound IDoc mapping, select an SAP_ALE_IDoc_Writer application for the SAPALEIDoc target definition. You can also configure the following session properties:

♦ Pipeline partitioning

♦ Sending IDocs to SAP

♦ IDoc validation

♦ Caching inbound IDoc and DMI data

Pipeline PartitioningYou can increase the number of partitions in a pipeline to improve session performance. Increasing the number of partitions enables the Integration Service to create multiple connections to sources and process partitioned data concurrently.

When you configure an inbound IDoc session to use pipeline partitioning, use key range partitioning to make sure that all data belonging to an IDoc message is processed in the same logical partition. Use the port connected to the GPK_DOCNUM port in the SAP/ALE IDoc Prepare transformation as the partition key.

The transformation where you define the partitioning depends on the type of source definition the mapping contains. If the mapping contains a relational source definition, define key range partitioning for the Source Qualifier transformation. If the mapping contains a flat file source definition, the Source Qualifier transformation does not support key range partitioning for a flat file source definition. Therefore, include an Expression transformation in the inbound IDoc mapping preceding the SAP/ALE IDoc Prepare transformation. Define key range partitioning for the Expression transformation.

For more information about partitioning and a list of all partitioning restrictions, see “Understanding Pipeline Partitioning” in the PowerCenter Workflow Administration Guide.

212 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 237: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Sending IDocs to SAPThe Integration Service sends IDoc messages to SAP as a packet. By default, SAP allows packets of 10 MB. The SAP administrator can change this packet size configuration. When you configure how the Integration Service sends IDocs, ensure that the packet size is equal to or less than the packet size configured in SAP.

To determine how the Integration Service sends IDocs, select one of the following options for Send IDocs Based On in the session properties:

♦ Packet Size. The Integration Service sends IDoc messages as a packet based on the value you set for the Packet Size property.

♦ Commit Call. The Integration Service sends IDoc messages as a packet at every commit point in the session.

When you send IDocs based on packet size, the Integration Service stores the IDoc messages in memory until the total count reaches the packet size. It then sends the messages as a packet to SAP. A larger packet size reduces the number of calls to SAP. However, if the PowerCenter session fails, the Integration Service must resend a larger amount of data during the next session run. Calculate the value for the Packet Size session property based on the packet size configuration in SAP and the maximum number of rows per IDoc message that you expect to send to SAP.

For example, you configured SAP to handle a packet of 10 MB. One row in an IDoc message is equal to 1000 bytes. You are sending IDoc messages that contain a maximum of 50 rows. Set the Packet Size property to 200.

When you send IDocs based on commit call, the Integration Service commits IDocs to SAP based on the commit properties you configure in the session. The Integration Service sends IDoc messages as a packet at every commit point in the session.

To ensure that the commit occurs at the IDoc message boundary, use a user-defined commit. In a user-defined commit, the Integration Service commits IDocs based on transactions you define in the mapping properties. If you use a source-based commit, the Integration Service may send partial IDocs to SAP. For more information about setting commit properties, see “Understanding Commit Points” in the PowerCenter Workflow Administration Guide.

Inbound IDoc ValidationYou can configure an inbound IDoc session to check for invalid IDocs and write them to a relational or flat file target instead of the SAP system. To check for invalid IDocs, select Extended Syntax Check in the session properties.

To write invalid inbound IDocs to a relational or flat file target, you must also connect the ErrorIDocData port in the SAP/ALE IDoc Prepare transformation to a relational or flat file target definition. For more information, see “Configuring Inbound IDoc Mappings” on page 203.

Configuring Sessions for Inbound IDoc Mappings 213

Page 238: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 11-2 shows the Properties settings on the Mapping tab (Transformations node) where you set Extended Syntax Check:

Caching Inbound IDoc and DMI DataThe Integration Service creates caches in memory for SAP/ALE IDoc Prepare transformations in inbound IDoc mappings and for SAP DMI Prepare transformations in DMI mappings. The SAP/ALE IDoc Prepare and SAP DMI Prepare transformations receive inbound IDoc or DMI data from upstream transformations in the mapping and prepare the segment data. During a session, the Integration Service stores this data in the cache.

Configure the cache size in the session properties. Default cache size is 10 MB. In general, you can set the cache size equal to 20 percent of the available memory for the system. For optimum session performance, calculate the cache size based on factors such as processing overhead and the size of the source data.

If you configure a large cache size, the Integration Service may run out of memory. If you configure a cache size that is more than the available memory for the system, the Integration Service fails the session. For more information about calculating the optimum cache size, see the PowerCenter Workflow Administration Guide.

If the Integration Service requires more memory than the configured cache size, it stores overflow values in cache files. Since paging to disk can slow session performance, configure the cache size to store data in memory. You configure the directory where cache files are stored in the session properties.

Figure 11-2. Configuring a Session for Invalid IDoc Error Handling

Extended Syntax Check

214 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 239: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

When the session completes, the Integration Service releases cache memory and deletes the cache files. You may find cache files in the cache directory if the session does not complete successfully.

Configuring Sessions for Inbound IDoc Mappings 215

Page 240: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Steps to Configure Sessions for IDoc Mappings Using ALE

Use the Workflow Manager to configure session properties for IDoc sessions using ALE. For more information about configuring sessions, see the PowerCenter Workflow Administration Guide.

To configure an IDoc session:

1. In the Task Developer, double-click an SAP session to open the session properties.

2. If you are configuring an outbound IDoc session, select a recovery strategy from the General Options in the Properties tab.

To enable message recovery, select Resume from Last Checkpoint.

If you enable message recovery, you can configure a value for the recovery cache folder from the Properties settings of the Mapping tab (Sources node). Or, use the default cache folder $PMCacheDir\.

3. In the Config Object tab, configure advanced settings, log options, and error handling properties.

4. Click the Mapping tab.

216 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 241: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

5. From the Connections settings on the Mapping tab (Sources node), select the connection values for the sources.

If you are configuring an outbound IDoc session, select an SAP_ALE_IDoc_Reader application connection for the Application Source Qualifier associated with the SAPALEIDoc source definition. For more information about the SAP_ALE_IDoc_Reader application connection, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

6. Optionally, edit the values for the Idle Time, Message Count, Reader Time Limit, and/or Real-time Flush Latency session conditions.

The Workflow Manager assigns the following default values to the session conditions:

Session Condition Default Value Description

Idle Time -1 SAP can remain idle for an infinite period of time before the PowerCenter session ends.

Packet Count -1 Integration Service can read an infinite number of packets before the session ends.

Reader Time Limit 0 Integration Service can read IDocs from SAP for an infinite period of time.

Real-time Flush Latency 0 Integration Service does not run the session in real time.

Steps to Configure Sessions for IDoc Mappings Using ALE 217

Page 242: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

For more information about setting session conditions, see “Configuring Sessions for Outbound IDoc Mappings” on page 207.

7. On the Targets node, enter the connection values for the targets in the mapping.

If you are configuring an inbound IDoc session, select an SAP_ALE_IDoc_Writer application connection for the SAPALEIDoc target definition. For more information about the SAP_ALE_IDoc_Writer application connection, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

218 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 243: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

8. If you are configuring inbound IDoc session, click the Properties settings.

9. Enter the following properties:

Property Required/Optional Description

Packet Size Required Number of IDocs you want the Integration Service to send in a packet to SAP. For more information, see “Configuring Sessions for Inbound IDoc Mappings” on page 212.

Number of Retries Required Number of times you want the Integration Service to attempt to connect to the SAP system.

Delay Between Retries Required Number of seconds you want the Integration Service to wait before attempting to connect to the SAP system if it could not connect on a previous attempt.

Send IDoc Based on Required Select one of the following options:- Packet Size. The Integration Service commits IDocs to SAP based

on the value you set for the Packet Size property. The Integration Service collects IDoc messages until the total count reaches the packet size. It then sends the messages as a packet to SAP.

- Commit Call. The Integration Service commits IDocs to SAP based on the commit properties at every commit point during the session.

For more information, see “Configuring Sessions for Inbound IDoc Mappings” on page 212.

Steps to Configure Sessions for IDoc Mappings Using ALE 219

Page 244: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Do not select Generate Request ID. Use this property only when you configure send request workflows for business content integration. For more information, see “Business Content Integration” on page 287.

10. Click the Transformations node.

220 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 245: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

11. Enter the following properties, depending on whether you are configuring a session for an outbound or inbound IDoc mapping:

12. Click OK.

Property Required/Optional

Outbound/Inbound Description

Duplicate Parent Row Handling

Required Both Determines how the Integration Service handles duplicate parent rows during a session. Choose one of the following values:- First Row. The Integration Service passes the first duplicate

row to the target. The Integration Service rejects rows with the same primary key that it processes after this row.

- Last Row. The Integration Service passes the last duplicate row to the target.

- Error. The Integration Service passes the first row to the target. Rows that follow with duplicate primary keys increment the error count. The session fails when the error count exceeds the error threshold.

For more information about parent rows in IDoc data, see “IDoc Primary and Foreign Keys” on page 196.

Orphan Row Handling

Required Both Determines how the Integration Service handles orphan rows during a session. Choose one of the following values:- Ignore. The Integration Service ignores orphan rows.- Error. The session fails when the error count exceeds the

error threshold.For more information about orphan rows in IDoc data, see “IDoc Primary and Foreign Keys” on page 196.

Extended Syntax Check

Required Both Checks for invalid IDocs. For more information, see “Outbound IDoc Validation” on page 211 or “Inbound IDoc Validation” on page 213.

NULL Field Representation

Required Inbound Determines how the Integration Service handles fields with a null value when preparing the data in IDoc format. Choose one of the following values:- Blank. The Integration Service inserts all blanks for the field.- Slash (/). The Integration Service inserts a single slash (/) for

the field.

Cache Directory Required Inbound Default directory used to cache inbound IDoc or DMI data. By default, the cache files are created in a directory specified by the variable $PMCacheDir. If you override the directory, make sure the directory exists and contains enough disk space for the cache files. The directory can be a mapped or mounted drive.

Cache Size Required Inbound Total memory in bytes allocated to the Integration Service for the caching of data prepared by SAP/ALE IDoc Prepare or SAP DMI Prepare transformations. Default is 10 MB.

Steps to Configure Sessions for IDoc Mappings Using ALE 221

Page 246: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Error Handling for IDoc Sessions Using ALE

During a session to read outbound IDocs or write inbound IDocs using ALE, the session fails if the Integration Service encounters a row error. This is because the Integration Service validates IDocs for consistency by group before it writes the data to the target. Failing the session ensures data consistency.

222 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 247: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Running Workflows

When the Integration Service writes inbound IDocs to the SAP system, SAP does not report status details back to PowerCenter. Therefore, if SAP fails to post an IDoc, or if an error occurs after PowerCenter calls SAP, the PowerCenter session log will not contain the reason for the error. However, you may be able to access detailed information from within SAP.

If a PowerCenter call to SAP fails, PowerCenter writes the error to the session log. For more information, see the SAP documentation.

Running Workflows 223

Page 248: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

The session failed while writing IDocs to the SAP system. The session log shows that the session failed but provides no detailed information.

When PowerCenter writes inbound IDocs to the SAP system, SAP does not report status details back to PowerCenter. If SAP fails to post an IDoc, for example, the PowerCenter session log will not contain the reason for the error. However, you may be able to access detailed information from within SAP. For more information, see the SAP documentation.

224 Chapter 11: Configuring Workflows for IDoc Mappings Using ALE

Page 249: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

225

Part IV: Data Integration Using RFC/BAPI Functions

This part contains the following chapters:

♦ Working with RFC/BAPI Function Mappings, 227

♦ Configuring RFC/BAPI Function Sessions, 263

Page 250: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

226

Page 251: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 2

Working with RFC/BAPI Function Mappings

This chapter includes the following topics:

♦ Overview, 228

♦ Working with RFC/BAPI No Input Mappings, 232

♦ Working with RFC/BAPI Multiple Stream Mappings, 236

♦ Working with RFC/BAPI Single Stream Mappings, 246

♦ Working with Custom Return Structures, 253

♦ Generating SAP RFC/BAPI Mappings, 255

♦ Working with Function Input Data for RFC/BAPI Functions, 261

227

Page 252: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

You can process data in SAP directly from PowerCenter Connect for SAP NetWeaver mySAP Option using RFC/BAPI function mappings. When you use an RFC/BAPI function mapping to process data in SAP, you do not have to install the ABAP program in the Designer for data integration. The Integration Service makes the RFC/BAPI function call on SAP during a workflow and processes the SAP data. Use an RFC/BAPI function mapping to extract data from SAP, change data in SAP, or load data into an SAP system.

To process data in SAP, create an RFC/BAPI function mapping in the Designer with the Generate RFC/BAPI Function Mapping Wizard. During mapping generation, you select RFC/BAPI functions and the function parameters for each RFC/BAPI function you want to use in the mapping. RFC/BAPI functions use the function parameter values to perform tasks. During a session, the Integration Service makes RFC/BAPI function calls on SAP using the function parameter values you pass to the RFC/BAPI functions.

RFC/BAPI functions have the following parameters:

♦ Scalar input parameters. SAP function parameters that require scalar input values. Some BAPI functions require scalar inputs to perform tasks. Use the scalar input parameters in an RFC/BAPI function when you want to pass scalar input values to the RFC/BAPI function.

♦ Scalar output parameters. Scalar output values that a BAPI function returns after performing a task. Use scalar output parameters in an RFC/BAPI function when you want the RFC/BAPI function to return data from SAP as scalar outputs to the function call.

♦ Table parameters. SAP structures that have more than one row. Table parameters can be input, output or both. Use the table parameters when you want to pass table input values to an RFC/BAPI function. You can also use table parameters when you want the RFC/BAPI function to return data from SAP as table outputs to the function call.

♦ Changing parameters. SAP function parameters that can require both input and output values. RFC/BAPI function mappings do not support changing parameters in RFC/BAPI function signatures.

Extracting Data from SAP Using RFC/BAPI FunctionsUse mySAP Option to extract data from mySAP applications using RFC/BAPI function mappings. When you use an RFC/BAPI function mapping, the Integration Service makes the RFC/BAPI function call on SAP during a workflow and reads data that the function call returns.

When you generate a mapping to extract data from mySAP applications, use RFC/BAPI functions that allow read access to data in SAP. Examples of read BAPI functions are the GETLIST BAPI functions. When the Integration Service makes a GETLIST BAPI function call, SAP returns a list of all instances of a particular business object.

The RFC/BAPI functions that allow read access to data in SAP may or may not require scalar or table input for the function call. For example, the BAPI function BAPI_COMPANYCODE_GETLIST does not require any scalar or table input for the

228 Chapter 12: Working with RFC/BAPI Function Mappings

Page 253: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

function call. To use this function in an RFC/BAPI function mapping, generate a No Input mapping in the Mapping Designer.

Other RFC/BAPI functions may require you to provide scalar or table input for the function call. For example, the function BAPI_INTERNALORDER_GETLIST returns a list of all internal orders according to the criteria you specify. If you want to use RFC/BAPI functions in the mapping that require scalar or table input for the function call, create a Multiple Stream mapping or a Single Stream mapping in the Mapping Designer.

For more information about RFC/BAPI No Input mappings, see “Working with RFC/BAPI No Input Mappings” on page 232. For more information about RFC/BAPI Multiple Stream mappings, see “Working with RFC/BAPI Multiple Stream Mappings” on page 236. For information about RFC/BAPI Single Stream mappings, see “Working with RFC/BAPI Single Stream Mappings” on page 246.

Changing Data in SAP Using BAPI FunctionsUse mySAP Option to change data in mySAP applications using RFC/BAPI function mappings. Generate an RFC/BAPI function mapping with RFC/BAPI functions that allow you to change data in SAP. For example, you can update sales order data with the function BAPI_SALESORDER_CHANGE, or you can update customer information in SAP with the function BAPI_CUSTOMER_CHANGEFROMDATA.

When you change data in mySAP applications, use RFC/BAPI functions that require scalar or table inputs for the function call. For example, the function BAPI_CUSTOMER_CHANGEFROMDATA requires a set of scalar inputs that the function call uses to change customer information in SAP.

When you generate an RFC/BAPI mapping that changes data in SAP, select Multiple Stream or Single Stream as the mapping generation context. Multiple Stream mappings and Single Stream mappings require you to supply data for the scalar and table input parameters for the RFC/BAPI functions you use in the mapping. When the Integration Service runs a session, it uses the scalar and table parameter input data you provide to make the RFC/BAPI function call on SAP.

For more information about Multiple Stream mappings, see “Working with RFC/BAPI Multiple Stream Mappings” on page 236. For more information about Single Stream mappings, see “Working with RFC/BAPI Single Stream Mappings” on page 246.

Writing Data into SAP Using BAPI FunctionsUse mySAP Option to write data into mySAP applications using RFC/BAPI function mappings. Generate an RFC/BAPI function mapping with RFC/BAPI functions that allow you to write data into SAP. For example, you can post purchase order data in SAP with the function BAPI_ACC_PURCHASEORDER_POST.

When you write data into mySAP applications, use RFC/BAPI functions that allow you write access to data in SAP. Examples of write functions are the POST BAPI functions, and the CREATE BAPI functions.

Overview 229

Page 254: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

RFC/BAPI functions that allow you write access to data in SAP may or may not require scalar or table inputs for the function call. If the RFC/BAPI function you want to use in the mapping does not require any scalar or table input for the function call, generate a No Input mapping in the Mapping Designer. If the function requires scalar or table inputs, generate a Multiple Stream mapping or a Single Stream mapping in the Mapping Designer.

When you generate an RFC/BAPI Multiple Stream or Single Stream mapping to write data into SAP, supply the data for the scalar and table input parameters for the RFC/BAPI functions. When the Integration Service runs a session, it uses the scalar and table parameter input data you provide to make the RFC/BAPI function call on SAP.

RFC/BAPI functions that write data to SAP can also produce scalar or table outputs. When the Integration Service receives scalar or table outputs from a write RFC/BAPI function call, it interprets the data and passes it to the next transformations in the mapping.

For more information about No Input mappings, see “Working with RFC/BAPI No Input Mappings” on page 232. For more information about Multiple Stream mappings, see “Working with RFC/BAPI Multiple Stream Mappings” on page 236. For more information about Single Stream mappings, see “Working with RFC/BAPI Single Stream Mappings” on page 246.

Mapplets in RFC/BAPI Function MappingsRFC/BAPI function mappings may contain one or more mapplets that perform transformations during the session. The mapplets contain ports for scalar and table input output parameters for the RFC/BAPI functions you use in the mapping. In the Mapping Designer, the mapplets display transformation datatypes for each scalar and table input output port. You can also view the SAP metadata for the scalar and table input output ports from the description of the mapplet ports.

230 Chapter 12: Working with RFC/BAPI Function Mappings

Page 255: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 12-1 shows the Ports tab of a mapplet in an RFC/BAPI Function mapping:

Figure 12-1. Viewing RFC/BAPI Function Metadata from the Mapplet Input Output Ports

Transformation Datatype for Port MI_FN1_SCALAR_ INPUT_PO_HEADER_DOC_DATE

SAP Metadata for Port MI_FN1_SCALAR_INPUT_ PO_HEADER_DOC_DATE

Overview 231

Page 256: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with RFC/BAPI No Input Mappings

Use an RFC/BAPI No Input function mapping to extract data from SAP. When you generate an RFC/BAPI No Input function mapping, select RFC/BAPI function signatures that do not require any scalar or table input to perform tasks. For example, you want to get a list of company codes from SAP. Use the BAPI function BAPI_COMPANYCODE_GETLIST in the mapping. The BAPI_COMPANYCODE_GETLIST function signature does not require any scalar or table input from the user. When the Integration Service makes the BAPI_COMPANYCODE_GETLIST function call, SAP returns a list of company codes in the SAP system.

To create an RFC/BAPI No Input mapping, use the Generate RFC/BAPI Function Mapping Wizard in the Designer. During mapping generation, the wizard prompts you to select the RFC/BAPI functions you want to use in the mapping. For RFC/BAPI No Input mappings, select No Input as the mapping generation context. The wizard creates a mapping based on the selections.

Table 12-1 lists the transformations in an RFC/BAPI No Input mapping:

When you generate an RFC/BAPI No Input mapping, the mapping contains a separate pipeline for each RFC/BAPI function signature you use in the mapping.

Table 12-1. Transformations in an RFC/BAPI No Input Mapping

Transformation Description

Source definition Mapping includes a Virtual plug-in source definition for each RFC/BAPI signature you use in the mapping. For more information, see “Source Definition in an RFC/BAPI No Input Mapping” on page 233.

Source Qualifier Mapping includes an Application Multi-Group Source Qualifier transformation for each Virtual plug-in source definition in the mapping. For more information, see “Source Qualifier in an RFC/BAPI No Input Mapping” on page 233.

FunctionCall mapplet Mapping includes a FunctionCall_No_Input mapplet for each RFC/BAPI function signature you use in the mapping. In the No Input RFC/BAPI mapping, the FunctionCall_No_Input mapplet makes the RFC/BAPI function call on SAP and interprets the data that the function call returns. For more information, see “FunctionCall_No_Input Mapplet in an RFC/BAPI No Input Mapping” on page 233.

Target definition for function output

Mapping includes a Virtual plug-in target definition for each scalar or table output parameter you use in the RFC/BAPI function. The wizard includes the Virtual plug-in target in the mapping for mapping validation. Replace the Virtual plug-in target definitions with appropriate targets for the target warehouse. For more information, see “Target Definition in a No Input Mapping” on page 235.

232 Chapter 12: Working with RFC/BAPI Function Mappings

Page 257: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 12-2 shows a No-Input RFC/BAPI mapping:

Source Definition in an RFC/BAPI No Input MappingWhen you generate an RFC/BAPI No Input mapping to extract data from SAP, the mapping includes a Virtual plug-in source definition for each function signature you use in the mapping. An RFC/BAPI No Input mapping does not receive data from the Virtual plug-in source. The wizard includes the Virtual plug-in source definition in the mapping for mapping validation only. The output of this port links to the Application Multi-Group Source Qualifier transformation in the mapping. For more information about Virtual plug-in source definition, see “Virtual Plug-in (NullDbtype) Source Definition” on page 380.

When you configure a session for an RFC/BAPI No Input mapping, you do not have to define an application connection for the Virtual plug-in source definition in the session properties. The Integration Service connects to SAP using the connection mapping parameter you define during mapping generation. For more information about the connection mapping parameter, see “Generating SAP RFC/BAPI Mappings” on page 255.

Source Qualifier in an RFC/BAPI No Input MappingWhen you generate an RFC/BAPI No Input mapping, the mapping includes an Application Multi-Group Source Qualifier transformation for the Virtual plug-in (NullDbtype) source definition. The wizard includes the Application Multi-Group Source Qualifier transformation in the mapping for mapping validation only. For more information about the Application Multi-Group Source Qualifier, see “Source Qualifier Transformation for Virtual Plug-in Sources” on page 381.

FunctionCall_No_Input Mapplet in an RFC/BAPI No Input Mapping

The RFC/BAPI No Input mapping contains a FunctionCall_No_Input mapplet for each RFC/BAPI function signature you use in the mapping. The mapplet makes the RFC/BAPI function call on SAP and then interprets the data that SAP returns for the function call. The mapplet then passes the interpreted data to the next transformation in the mapping.

Figure 12-2. RFC/BAPI Mapping for a No-Input BAPI Function Signature

Pipeline for the BAPI_COMPANYCODE_GETLIST Function Signature

Pipeline for the BAPI_COMPANY_GETLIST Function Signature

Working with RFC/BAPI No Input Mappings 233

Page 258: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

For example, you create an RFC/BAPI No Input mapping for the BAPI function signature, BAPI_COMPANYCODE_GETLIST to get a list of company codes from SAP. When you generate the mapping, the SAP RFC/BAPI Mapping Wizard includes a mapplet called FunctionCall_No_Input_BAPI_COMPANYCODE_GETLIST in the mapping. The mapplet makes the BAPI_COMPANYCODE_GETLIST function call and receives the function output from SAP.

Figure 12-3 shows the FunctionCall_No_Input_BAPI_COMPANYCODE_GETLIST mapplet in an RFC/BAPI No Input mapping:

Since an RFC/BAPI No Input mapping does not require any scalar or table input, the FunctionCall_No_Input mapplet in the mapping does not receive any input from a source to make the RFC/BAPI function call. The mapplet connects to the Virtual plug-in source definition in the mapping for mapping validation. For more information about the Virtual plug-in source definition in an RFC/BAPI No Input mapping, see “Source Definition in an RFC/BAPI No Input Mapping” on page 233.

The FunctionCall_No_Input mapplet contains a group for all scalar output parameters for the function signature you select during mapping generation. It also contains a group for each table output parameter you select during mapping generation. Each output group in the mapplet contains output ports for the scalar or table output fields.

For example, you want to create a mapping for BAPI_COMPANYCODE_GETLIST, and you specify COMPANYCODE_LIST as the table output parameter for the BAPI function call. The COMPANYCODE_LIST table parameter contains the fields COMP_CODE and COMP_NAME. When you generate the mapping, the SAP RFC/BAPI Function Mapping Wizard creates a group for COMPANYCODE_LIST in the mapplet. The group contains output ports for the fields COMP_CODE and COMP_NAME.

Figure 12-3. Mapplet in a No Input RFC/BAPI Mapping

Virtual plug-in source connects to the Mapplet input port, M1_FN1_Field1.

Mapplet writes function call output to target.

234 Chapter 12: Working with RFC/BAPI Function Mappings

Page 259: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 12-4 shows a FunctionCall_No_Input mapplet:

When you run a session for an RFC/BAPI No Input mapping, the FunctionCall_No_Input mapplet makes the RFC/BAPI function call on SAP. When SAP returns scalar or table output to the function call, the FunctionCall mapplet receives and interprets the output data. The mapplet then passes the interpreted data to the target in the mapping.

Target Definition in a No Input MappingWhen you generate an RFC/BAPI function mapping to extract data from SAP, the mapping contains a Virtual plug-in target definition for each scalar or table output parameter for the RFC/BAPI function you use in the mapping. The wizard includes the target definition in the mapping for mapping validation only.

After you generate the mapping, replace the Virtual plug-in target definitions with target definitions specific to the target warehouse. For example, you can replace the Virtual plug-in target definitions with relational flat file target definitions. For more information about Virtual plug-in target definitions, see “Virtual Plug-in (NullDbtype) Target Definitions” on page 382.

Figure 12-4. FunctionCall_No_Input Mapplet

Mapplet input port connects to a Virtual plug-in source.

Mapplet Output Group Table Output Parameter COMPANYCODE_LIST

Mapplet Output Ports for Table Output Parameter COMPANYCODE_LIST

Working with RFC/BAPI No Input Mappings 235

Page 260: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with RFC/BAPI Multiple Stream Mappings

Unlike an RFC/BAPI No Input mapping, an RFC/BAPI multiple stream mapping takes input from user defined sources and prepares the source data in the format that an RFC/BAPI function can accept. The mapping then uses the prepared data as function input to make RFC/BAPI function calls on SAP. When you generate the mapping, select RFC/BAPI functions that require input for the scalar or table input parameters.

Use an RFC/BAPI multiple stream mapping to complete the following tasks:

♦ Extract data from SAP. Use RFC/BAPI function calls in an RFC/BAPI multiple stream mapping to get data from SAP. For example, use the BAPI_EMPLOYEE_GETLIST function in the mapping to get a list of employees based on a specified search criteria.

♦ Write data into SAP. Use RFC/BAPI function calls in an RFC/BAPI multiple stream mapping to write data into SAP. For example, use the BAPI_PO_CREATE function to create new purchase orders in SAP.

♦ Change data in SAP. Use RFC/BAPI function calls in an RFC/BAPI multiple stream mapping to change or update existing data in SAP. For example, you can update the address of employees that have relocated with the BAPI_ADDRESSEMP_CHANGE function.

To create an RFC/BAPI multiple stream mapping, use the Generate RFC/BAPI Function Mapping Wizard in the Designer. During mapping generation, the wizard prompts you to select the RFC/BAPI functions you want to use in the mapping and define the table input output parameters for the functions. For RFC/BAPI multiple stream mappings, select Multiple Stream as the mapping generation context. The wizard creates a mapping based on the selections.

Table 12-2 lists the transformations in an RFC/BAPI multiple stream mapping:

Table 12-2. Transformations in an RFC/BAPI Multiple Stream Mapping

Transformation Description

Source definition for function input data

Mapping includes Virtual plug-in source definitions for the scalar and table input parameters of an RFC/BAPI function signature. For more information, see “Source Definition in an RFC/BAPI Multiple Stream Mapping” on page 238.

Source Qualifier Mapping includes an Application Multi-Group Source Qualifier transformation for each Virtual plug-in source definition in the mapping. For more information, see “Source Qualifier for an RFC/BAPI Multiple Stream Mapping” on page 239.

Prepare mapplet Mapping includes a Prepare mapplet for each RFC/BAPI function signature you use in the mapping. For more information, see “Prepare Mapplet in an RFC/BAPI Multiple Stream Mapping” on page 240.

RFCPreparedData target definition

Mapping contains a set of flat file target definitions that receive input from the Prepare mapplets in the mapping. Each Prepare mapplet in the mapping passes data to a corresponding RFCPreparedData (flat file) target definition. The RFCPreparedData target definitions represent staging files where the Integration Service writes the prepared data from the Prepare mapplets. For more information, see “RFCPreparedData Target Definition in an RFC/BAPI Multiple Stream Mapping” on page 241.

236 Chapter 12: Working with RFC/BAPI Function Mappings

Page 261: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

When you generate an RFC/BAPI multiple stream mapping, the mapping contains a prepare pipeline for each input parameter in the RFC/BAPI function signatures. The prepare pipeline receives data from the source and flattens the data for each input parameter to a single field called PreparedData. It then writes the PreparedData to the RFCPreparedData staging file target.

The mapping also contains a function call pipeline that reads data from the RFCPreparedData staging files and then uses the data as function input to make the RFC/BAPI function calls on SAP. If the mapping contains RFC/BAPI functions that return function outputs from SAP, the function call pipeline also writes the RFC/BAPI function call outputs to the target definitions in the mapping.

RFCPrepared Data source definition

Mapping contains an RFCPreparedData (flat file) source definition. It represents the RFCPreparedData indirect file, which the Integration Service uses to read data from the RFCPreparedData staging files. For more information, see “RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping” on page 241.

Source Qualifier for RFCPreparedData source

Mapping includes a Source Qualifier transformation for the RFCPreparedData source definition in the mapping. For more information, see “Source Qualifier for RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping” on page 242.

Transaction_Support mapplet

In a multiple stream RFC/BAPI mapping, the mapping includes a Transaction_Support mapplet to ensure transaction control. For more information, see “Transaction_Support Mapplet in an RFC/BAPI Multiple Stream Mapping” on page 243.

FunctionCall_MS mapplet

Mapping includes a FunctionCall_MS mapplet for each RFC/BAPI function signatures you use in the mapping. The Multiple Stream FunctionCall_MS mapplet makes the RFC/BAPI function call to extract data from SAP. It also interprets the data that the function call returns. For more information, see “FunctionCall_MS Mapplet in an RFC/BAPI Multiple Stream Mapping” on page 243.

Target definition for function output

Mapping includes a Virtual plug-in target definition for each scalar or table output parameter you use for the RFC/BAPI functions. The wizard includes the Virtual plug-in target definitions in the mapping for mapping validation. Replace the Virtual plug-in target definitions with the appropriate definitions for the target warehouse. For more information, see “Target Definition in an RFC/BAPI Multiple Stream Mapping” on page 244.

Table 12-2. Transformations in an RFC/BAPI Multiple Stream Mapping

Transformation Description

Working with RFC/BAPI Multiple Stream Mappings 237

Page 262: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 12-5 shows the prepare pipelines and the function call pipeline in an RFC/BAPI multiple stream mapping:

Source Definition in an RFC/BAPI Multiple Stream MappingWhen you generate an RFC/BAPI multiple stream mapping, the wizard creates Virtual plug-in source definitions for the scalar input and table input parameters of each RFC/BAPI function signature you use in the mapping. The Virtual plug-in source definitions are place holders for actual source definitions that pass scalar input data and table input data required for the RFC/BAPI function call. If the RFC/BAPI functions you use in the mapping require scalar inputs, the mapping contains a Virtual plug-in source definition for the scalar inputs of each RFC/BAPI function. If the RFC/BAPI functions require table inputs, the mapping contains a Virtual plug-in source definition for each table input parameter.

An RFC/BAPI multiple stream mapping does not receive data from the Virtual plug-in source definition. The wizard includes the Virtual plug-in source definition in the mapping for mapping validation only. The output of this port links to the Application Multi-Group Source Qualifier transformation in the mapping. For more information about the Virtual plug-in source definition, see “Virtual Plug-in (NullDbtype) Source Definition” on page 380.

After you generate the mapping, replace the Virtual plug-in source definitions with source definitions that pass the appropriate scalar or table input data that the RFC/BAPI function signatures in the mapping require. You can replace the Virtual plug-in source definitions with valid source definitions that pass the required scalar and table inputs for the RFC/BAPI function calls.

Figure 12-5. RFC/BAPI Multiple Stream Mapping

Prepare Pipeline for Scalar Input to Function BAPI_ADDRESSCONTPART_CHANGE

Prepare Pipeline for Scalar Input to Function BAPI_ADDRESSORG_CHANGE

Function call pipeline for the RFC/BAPI function call mapping

238 Chapter 12: Working with RFC/BAPI Function Mappings

Page 263: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

For example, you generate an RFC/BAPI multiple stream mapping with the BAPI function signature, BAPI_ADDRESSCONTPART_CHANGE, to change employee address data for employees. The function signature requires that you pass scalar input values for the EMPLOYEENUMBER, STREETANDHOUSENO, CITY, STATE, COUNTRY and several other scalar input parameters for the function call. In the RFC/BAPI multiple stream mapping, use a source definition to pass the scalar input values to the Prepare mapplet in the mapping.

When you use a source definition to pass the scalar or table input values to the Prepare mapplet, the source definition you use in the mapping must contain KEY fields for IntegrationID and TransactionID. The IntegrationID field uniquely identifies a set of input data for an RFC/BAPI function call. When the RFCPrepare mapplet flattens the scalar and table input data to a single field, it uses the value in the IntegrationID field to group data for each RFC/BAPI function. The TransactionID field defines the commit point for a single logical unit of work. The Transaction_Support mapplet in the mapping uses the TransactionID values from the source to determine the commit point in the mapping.

For example, use the IntegrationID field to uniquely identify multiple rows for an RFC/BAPI function call. The RFCPrepare mapplet flattens the table input to a single field using the value in the IntegrationID field to group the data for the RFC/BAPI function call.

If the RFC/BAPI function you use to extract data from SAP contains optional scalar input parameters, and you do not want to specify scalar inputs for the function call, you still need to supply TransactionID and IntegrationID values to the function from a source. If you do not supply TransactionID and IntegrationID values from a source, the Integration Service fails to make the function call during the session run.

For more information about the RFCPrepare mapplet, see “Prepare Mapplet in an RFC/BAPI Multiple Stream Mapping” on page 240. For more information about the Transaction Support mapplet, see “Transaction_Support Mapplet in an RFC/BAPI Multiple Stream Mapping” on page 243.

Source Qualifier for an RFC/BAPI Multiple Stream MappingWhen you generate an RFC/BAPI multiple stream mapping, the mapping includes an Application Multi-Group Source Qualifier transformation for the Virtual plug-in (NullDbtype) source definition. The wizard includes the Application Multi-Group Source Qualifier transformation in the mapping for mapping validation only. For more information about the Application Multi-Group Source Qualifier, see “Source Qualifier Transformation for Virtual Plug-in Sources” on page 381.

After you generate the mapping, replace the Application Multi-Group Source Qualifier transformations for Virtual plug-in source definitions with the appropriate Source Qualifier transformations for the source definitions you will use in the mapping. For example, if you use a relational source definition to pass the scalar or table input values to the Prepare mapplet, use a Source Qualifier transformation for the relational source definition.

Working with RFC/BAPI Multiple Stream Mappings 239

Page 264: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Prepare Mapplet in an RFC/BAPI Multiple Stream MappingAn RFC/BAPI multiple stream mapping contains a Prepare mapplet in the prepare pipeline for each RFC/BAPI function signature you use in the mapping. The Prepare mapplet contains input groups that receives scalar and table inputs for the RFC/BAPI function from the source definitions in the mapping. The scalar input group contains input ports for the scalar inputs for the function signature. Each table input group in the mapplet contains input ports for the table input structures you specify during mapping generation. In addition to the scalar and table input ports, the Prepare mapplet also receives IntegrationID and TransactionID data for each function input parameter.

Figure 12-6 shows a Prepare mapplet for the BAPI_CUSTOMER_GETLIST function signature:

When the RFCPrepare mapplet receives data from the source definitions in the mapping, it flattens the input data for each function parameter into the PreparedData output port. During the session, the Prepare mapplet also generates a Sequence ID for the RFC/BAPI function. The SequenceID determines the order in which the Integration Service makes the RFC/BAPI function call on SAP in the function call pipeline. The Prepare mapplet generates the SequenceID for the function based on the order in which you select the function during mapping generation. For more information about selecting RFC/BAPI functions for mapping generation, see “Generating SAP RFC/BAPI Mappings” on page 255.

The mapplet output ports in the Prepare mapplet pass the PreparedData, TransactionID, SequenceID, FunctionName, IntegrationID, and ParameterName for each parameter to the RFCPreparedData target definition.

Figure 12-6. Prepare Mapplet in an RFC/BAPI Multiple Stream Mapping

Scalar Input group receives data from the scalar input source.

Mapplet receives input values for TransactionID and IntegrationID for each parameter.

Mapplet passes data for the table inputs to the RFCPreparedData Target.

Table Input group receives data from the table input source.

Mapplet passes data for the scalar inputs to the RFCPreparedData Target.

240 Chapter 12: Working with RFC/BAPI Function Mappings

Page 265: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

RFCPreparedData Target Definition in an RFC/BAPI Multiple Stream Mapping

When you generate an RFC/BAPI multiple stream mapping, the mapping includes a set of RFCPreparedData flat file target definitions in the prepare pipeline. The RFCPreparedData target definitions represent staging files that the Integration Service uses to stage the prepared data from the Prepare mapplets in the mapping. The RFCPreparedData flat file target definitions receive data from the Prepare mapplets and stage the data for the function call pipeline in the mapping.

Figure 12-7 shows an RFCPreparedData target definition in an RFC/BAPI multiple stream mapping:

The RFCPreparedData target definition uses 5000 characters as the precision for the PreparedData port. If the RFC/BAPI function you use in the mapping requires the PreparedData precision to be greater than 5000 characters, the Integration Service fails the session and logs an error in the session log. The error message in the session log indicates the required precision for the PreparedData port in the RFCPreparedData target. To correct the error, replace the RFC/PreparedData target definition in the mapping with a target definition that has the required precision for the PreparedData port to support the RFC/BAPI function you are using.

For example, you can copy the RFCPreparedData target definition in the Designer. Save the copy of the RFCPreparedData target definition with a different name. For example, you can name the copy RFCPreparedData_Copy. Modify the precision of the PreparedData port in the RFCPreparedData_Copy target definition. Replace the RFCPreparedData target definition with the RFCPreparedData_Copy target definition in the mapping. For information about copying objects, see the PowerCenter Designer Guide.

RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping

An RFC/BAPI multiple stream mapping contains an RFCPreparedData source definition in the function call pipeline. The RFCPreparedData source definition is a file list that contains the names of all the PreparedData target files in the Prepare pipelines of the mapping.

Note: If you replaced the RFCPreparedData target definition with a target definition that has the required precision for the PreparedData port to support the RFC/BAPI function you are using, also replace the RFCPreparedData source definition. The PreparedData port in the

Figure 12-7. RFCPreparedData Target Definition in an RFC/BAPI Multiple Stream Mapping

Working with RFC/BAPI Multiple Stream Mappings 241

Page 266: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

RFCPreparedData source definition must have the same precision as the PreparedData port in the RFCPreparedData target definition in the mapping.

Figure 12-8 shows an RFCPreparedData source definition in an RFC/BAPI multiple stream mapping:

When you configure a session for an RFC/BAPI multiple stream mapping, select Indirect as the source filetype value for the RFCPreparedData source. During a session for an RFC/BAPI multiple stream mapping, the Integration Service uses the file list to read data from the RFCPreparedData staging files and passes the data to the RFCTransaction_Support mapplet in the function call pipeline.

Note: If you select Direct as the source file type for the RFCPreparedData source during session configuration, the RFC/BAPI function call fails.

Source Qualifier for RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping

An RFC/BAPI multiple stream mapping contains a Source Qualifier for the RFCPreparedData flat file source definition in the mapping. The Source Qualifier receives data from the RFCPreparedData source and passes the data to the RFCTransaction_Support mapplet in the function call pipeline. For more information about the RFCPreparedData flat file source definition, see “RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping” on page 241.

Figure 12-9 shows the Source Qualifier transformation for the RFCPreparedData source definition in an RFC/BAPI multiple stream mapping:

Figure 12-8. RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping

Figure 12-9. Source Qualifier for RFCPreparedData Source Definition in an RFC/BAPI Multiple Stream Mapping

242 Chapter 12: Working with RFC/BAPI Function Mappings

Page 267: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Transaction_Support Mapplet in an RFC/BAPI Multiple Stream Mapping

An RFC/BAPI multiple stream mapping contains a Transaction_Support mapplet in the function call pipeline. It receives data from the RFCPreparedData source and routes the data to the appropriate Function Call mapplets in the mapping. When the Transaction_Support mapplet receives data, it sorts the data by Transaction ID, Sequence ID, and IntegrationID to define the commit points in the mapping. For example, it uses IntegrationID field to group data for each transaction in the mapping. It uses the TransactionID and SequenceID fields to group data for each RFC/BAPI function within a transaction. The Transaction_Support mapplet uses FunctionName as a filter condition to route the data for each RFC/BAPI function in the mapping to the individual FunctionCall_MS mapplets in the mapping.

The Transaction_Support mapplet is also responsible for making the commit call on SAP when the Integration Service completes a transaction. If the session encounters an error during the transaction, the session fails, and the Integration Service does not proceed to the next transaction.

Figure 12-10 shows a Transaction_Support mapplet routing function input data to two FunctionCall_MS mapplets in the function call pipeline:

FunctionCall_MS Mapplet in an RFC/BAPI Multiple Stream Mapping

The function call pipeline in an RFC/BAPI function call mapping contains a FunctionCall_MS mapplet for each RFC/BAPI function signature you use in the mapping. During a session, the FunctionCall mapplet receives the flattened scalar and table input data for the function call from the Transaction_Support mapplet, and prepares the data in the

Figure 12-10. Transaction_Support Mapplet in the Function Call Pipeline in a Multiple Stream Mapping

The mapplet receives input from the RFCPreparedData source in the function call pipeline.

Transaction_Support mapplet routes data to the individual FunctionCall_MS mapplets for each RFC/BAPI function you use in the mapping.

Working with RFC/BAPI Multiple Stream Mappings 243

Page 268: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

RFC format that the RFC/BAPI function signature accepts. It then connects to the SAP system to make the function call.

If you specify the RFC/BAPI function signatures in the mapping to return scalar or table outputs, the mapplet contains output ports that pass the function output to the Virtual plug-in target definitions in the mapping. Replace the Virtual plug-in target definitions with the appropriate definitions for the target warehouse.

If the RFC/BAPI function signatures you use in the mapping do not contain any scalar or table inputs, or if you do not specify the RFC/BAPI function signatures in the mapping to return any scalar or table outputs, the FunctionCall_MS mapplet contains an output port called MO_FN_Field1 that connects to the Virtual plug-in target definition in the mapping. The MO_FN_Field1 port does not pass any data to the Virtual plug-in target definition in the mapping. It connects to the Virtual plug-in target definition for mapping validation only.

Figure 12-11 shows a FunctionCall_MS mapplet for the BAPI_EMPLOYEE_GETLIST function signature:

Note: If an RFC/BAPI function call returns 99999999 as the value for a DATS field, the transformations in the RFC/BAPI mapping pass the date value as 12/31/9999 to the output.

Target Definition in an RFC/BAPI Multiple Stream MappingWhen you generate an RFC/BAPI multiple stream mapping, the mapping contains a Virtual plug-in target definition for each mapplet output group in the FunctionCall_MS mapplet.

If the RFC/BAPI signature you use in the mapping produces scalar or table outputs that you want to write to a target, replace the Virtual plug-in target definitions with definitions specific to the target warehouse. For example, you can replace the Virtual plug-in target definitions with relational or flat file target definitions.

Figure 12-11. FunctionCall_MS Mapplet for BAPI_EMPLOYEE_GETLIST

FunctionCall_MS mapplet receives data from the Transaction_Support mapplet.

FunctionCall_MS mapplet passes scalar output from function call to target.

FunctionCall_MS mapplet passes table outputs from function call to target.

244 Chapter 12: Working with RFC/BAPI Function Mappings

Page 269: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

If the RFC/BAPI function signature you use in the mapping does not produce any scalar or table output, retain the Virtual plug-in target definitions in the mapping for mapping validation. For more information about Virtual plug-in target definitions, see “Virtual Plug-in (NullDbtype) Target Definitions” on page 382.

Working with RFC/BAPI Multiple Stream Mappings 245

Page 270: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with RFC/BAPI Single Stream Mappings

Similar to an RFC/BAPI multiple stream mapping, use an RFC/BAPI single stream mapping to extract data from SAP, change data in SAP, and write data into an SAP system. Unlike a multiple stream mapping, however, the single stream mapping does not contain RFCPrepare mapplets in the mapping to prepare source data for the function call.

To use an RFC/BAPI single stream mapping, provide the source data for the function input parameters. Single stream mappings contain a single pipeline that takes data for the function input parameters from the source and uses the source data to make function calls on SAP. For more information about the Prepare mapplet in an RFC/BAPI Multiple Stream mapping, see “Prepare Mapplet in an RFC/BAPI Multiple Stream Mapping” on page 240.

To create an RFC/BAPI single stream mapping, use the Generate RFC/BAPI Function Mapping Wizard in the Designer. During mapping generation, the wizard prompts you to select the RFC/BAPI functions you want to use in the mapping and define the table input output parameters for the functions. For RFC/BAPI single stream mappings, select Single Stream as the mapping generation context. The wizard creates a mapping based on the selections.

Table 12-3 lists the transformations in an RFC/BAPI single stream mapping:

Table 12-3. Transformations in an RFC/BAPI Single Stream Mapping

Transformation Description

Source definition for function input data

Mapping includes a Virtual plug-in source definition for the scalar and table input parameters of each RFC/BAPI function signature you use in the mapping. Replace the Virtual plug-in source definitions with source definitions that pass data to the scalar and table input parameters of the RFC/BAPI functions in RFC format. For more information, see “Source Definition in an RFC/BAPI Single Stream Mapping” on page 247.

Source Qualifier Mapping includes an Application Multi-Group Source Qualifier transformation for each Virtual plug-in source definition in the mapping. For more information, see “Source Qualifier in an RFC/BAPI Single Stream Mapping” on page 250.

Sorter transformation

Mapping includes a Sorter transformation to sort source data by TransactionID and IntegrationID. It passes the sorted data to the FunctionCall_SS mapplet. For more information, see “Sorter Transformation in an RFC/BAPI Single Stream Mapping” on page 251.

FunctionCall_SS mapplet

Mapping includes an FunctionCall_SS mapplet for each RFC/BAPI function signature you use in the mapping. The mapplet makes the RFC/BAPI function call on SAP. The mapplet also makes commit calls on SAP for transaction control. If the RFC/BAPI function call returns output, the mapplet interprets the data that the function call returns and passes it to the targets. For more information, see “FunctionCall_SS Mapplet in an RFC/BAPI Single Stream Mapping” on page 251.

Target definition Mapping includes a Virtual plug-in target definition for each scalar or table output parameter you use for the RFC/BAPI functions. The wizard includes the Virtual plug-in target definitions in the mapping for mapping validation. Replace the Virtual plug-in target definitions with the appropriate definitions for the target warehouse. For more information, see “Target Definition in an RFC/BAPI Single Stream Mapping” on page 252.

246 Chapter 12: Working with RFC/BAPI Function Mappings

Page 271: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

When you generate an RFC/BAPI single stream mapping, the mapping contains a separate pipeline for each RFC/BAPI function signature you use in the mapping. The source in each pipeline provides data for the scalar and table input parameters for the function call. The FunctionCall_SS mapplet uses the function input data from the source to make the RFC/BAPI function call on SAP. If the function call returns scalar or table outputs, the FunctionCall_SS mapplet interprets the data and passes the data to the target definitions in the mapping.

Figure 12-12 shows a single stream mapping for the function BAPI_PLANNEDORDER_CREATE:

Source Definition in an RFC/BAPI Single Stream MappingWhen you generate an RFC/BAPI single stream mapping, the wizard creates a Virtual plug-in source definition for the scalar and table input parameters of each RFC/BAPI function signature you use in the mapping. The Virtual plug-in source definitions are place holders for actual source definitions that pass the scalar and table input data for the RFC/BAPI function calls to the FunctionCall_SS mapplet in the mapping.

An RFC/BAPI single stream mapping does not receive data from the Virtual plug-in source. The wizard includes the Virtual plug-in source definition in the mapping for mapping validation only. For more information about the Virtual plug-in source definition, see “Virtual Plug-in (NullDbtype) Source Definition” on page 380.

After you generate the mapping, replace the Virtual plug-in source definition for each RFC/BAPI function with a source definition that passes the appropriate scalar and table input data to the FunctionCall_SS mapplet. Since an RFC/BAPI single stream mapping does not contain a Prepare mapplet to prepare source data for the function call, the data in the source must be prepared in a format that the FunctionCall_SS mapplet can accept.

To pass data to the FunctionCall_SS mapplet, create a source definition that passes the scalar and table inputs in the format that the FunctionCall_SS mapplet can accept. For example, you can create a comma delimited flat file source definition that passes the scalar and table inputs to the FunctionCall_SS mapplet. When you create the source definition, the source definition must contain KEY fields for IntegrationID and TransactionID. Use an indicator

Figure 12-12. RFC/BAPI Single Stream Mapping for BAPI_PLANNEDORDER_CREATE

Flat file source passes scalar and table inputs for the function call.

FunctionCall_SS mapplet makes the RFC/BAPI function call on SAP. It interprets data returned by SAP and passes the data to the target.

Sorter transformation sorts the source data by TransactionID and IntegrationID in ascending order for the FunctionCall_SS mapplet.

Working with RFC/BAPI Single Stream Mappings 247

Page 272: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

field for Scalar Input if you want to pass scalar inputs to the function call. Include an indicator field for each Table Input parameter you want to use in the mapping. Then include fields for each scalar input and table input parameter fields for the function.

For example, you generate an RFC/BAPI single stream mapping with the BAPI function signature BAPI_PLANNEDORDER_CREATE. You want to pass input data to the following scalar and table input parameters of the function:

Create a flat file source definition that passes the scalar and table inputs to the FunctionCall_SS mapplet for the BAPI_PLANNEDORDER_CREATE function. Include KEY fields for IntegrationID and TransactionID in the flat file source definition. Use an indicator field for Scalar Input since you want to pass scalar inputs to the function call. Include an indicator field for the table input parameter COMPONENTSDATA. Then include fields for each scalar input and table input parameter fields for the function.

Table 12-4 lists the fields you can define in the source definition to pass the scalar and table inputs for the function BAPI_PLANNEDORDER_CREATE in a single stream mapping:

Scalar Input Parameter: HEADERDATA fields

Table Input Parameter: COMPONENTSDATA fields

PLANNEDORDER COMPDATAPLANT

MATERIAL COMPDATAMATERIAL

PLANT ENTRYQTY

PRODQTY

ORDERSTARTDATE

ORDERENDDATE

MANUALCOMP

Table 12-4. Preparing Source Data for RFC/BAPI Single Stream Mapping

Field Name Description

TransactionID KEY field that identifies a set of data for a single logical unit of work. The FunctionCall_SS mapplet makes a commit call on SAP when it receives a complete set of records with the same TransactionID.

IntegrationID KEY field that uniquely identifies a set of data for an RFC/BAPI function call. The FunctionCall_SS mapplet makes the RFC/BAPI function call on SAP when it receives a complete set of records with the same IntegrationID.

Scalar input indicator field Indicator field for scalar inputs to the RFC/BAPI function. Include this field in the source definition when you want to pass scalar inputs to an RFC/BAPI function call. You can supply any value for this field to indicate that the source contains data for scalar inputs to the RFC/BAPI function. If you pass scalar inputs to an RFC/BAPI function and you do not supply a value for the scalar input indicator field, the RFC/BAPI function call may return an error from SAP.

248 Chapter 12: Working with RFC/BAPI Function Mappings

Page 273: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

For example, if you use a comma delimited flat file source to pass the scalar and table inputs to the FunctionCall_SS mapplet, supply a value for each field in the source delimited by a comma. If a particular row does not pass a value for a scalar or table input parameter field, the row can only contain a comma delimiter for that field and no other value. For example, you do not want to supply values for the table input parameter fields COMPDATAPLANT and COMPDATAMATERIAL for a number of records. In the flat file source definition, no values can be associated with the COMPDATAMATERIAL and ENTRYQTY fields for these records.

One or more table input indicator fields

Include an indicator field for each table input parameter you use in the mapping. In this example, the source contains a field for the table input parameter, COMPONENTSDATA. You can supply any value for this field to indicate that the source contains data for the table input parameter COMPONENTSDATA. If you pass table inputs to an RFC/BAPI function and you do not supply a value for the corresponding table input indicator field, the RFC/BAPI function call may return an error from SAP.

One or more scalar input fields

Include a field for each scalar input field you want to use for the scalar input parameter. In this example, the source contains the following fields for the scalar input parameter, HEADERDATA:- PLANNEDORDER- MATERIAL- PLANT- PRODQTY- ORDERSTARTDATE- ORDERENDDATE- MANUALCOMP

One or more table input fields

Include a field for each table input field for the table input parameter. In this example, the source contains the following fields for the table input parameter COMPONENTSDATA:- COMPDATAPLANT- COMPDATAMATERIAL- ENTRYQTY

Table 12-4. Preparing Source Data for RFC/BAPI Single Stream Mapping

Field Name Description

Working with RFC/BAPI Single Stream Mappings 249

Page 274: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 12-13 shows a comma delimited flat file source that passes the scalar and table inputs to the function BAPI_PLANNEDORDER_CREATE:

After you create the source data for the RFC/BAPI scalar and table input parameters, import a flat file source definition in the Designer from the flat file source.

Figure 12-14 shows the source definition for BAPI_PLANNEDORDER_CREATE in a single stream mapping:

For more information about importing a flat file source definition, see “Working with Targets” in the PowerCenter Designer Guide.

Source Qualifier in an RFC/BAPI Single Stream MappingWhen you generate an RFC/BAPI single stream mapping, it includes an Application Multi-Group Source Qualifier transformation for the Virtual plug-in source definition. The wizard includes the Application Multi-Group Source Qualifier transformation in the mapping for mapping validation only. For more information about the Application Multi-Group Source Qualifier, see “Source Qualifier Transformation for Virtual Plug-in Sources” on page 381.

Figure 12-13. Sample Comma Delimited Flat File Source

Figure 12-14. Flat File Source Definition for BAPI_PLANNEDORDER_CREATE Single Stream Mapping

Rows do not contain values for the CompDataPlant and CompDataMaterial fields.

Each row provides values for the KEY fields: TransactionID and IntegrationID.

Column Names

KEY Fields for IntegrationID and TransactionID

Indicator Field for the Scalar Input Parameter

Indicator Field for the Table Input Parameter COMPONENTSDATAScalar Input Fields

for the Scalar Input Parameter HEADERDATA

Table Input Fields for the Table Input Parameter COMPONENTSDATA

250 Chapter 12: Working with RFC/BAPI Function Mappings

Page 275: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

After you generate the mapping, replace the Application Multi-Group Source Qualifier transformations for Virtual plug-in source definitions with the appropriate Source Qualifier transformations for the source definitions you will use in the mapping. For example, if you use a flat file source definition to pass the scalar or table input data to the FunctionCall_SS mapplet, use a Source Qualifier transformation for the flat file source definition.

Sorter Transformation in an RFC/BAPI Single Stream MappingThe RFC/BAPI single stream mapping contains a sorter transformation for each RFC/BAPI function signature you use in the mapping. It receives data from the Source Qualifier transformation for the source and passes the sorted data to the FunctionCall_SS mapplets in the mapping. The mapping uses the Sorter transformations to sort source data by TransactionID and IntegrationID in ascending order.

Figure 12-15 shows a Sorter transformation in an RFC/BAPI single stream mapping:

When you replace the Virtual plug-in source definition and the Application Multi-Group Source Qualifier in the mapping with the appropriate source definition and Source Qualifier to pass the RFC/BAPI function inputs to the FunctionCall_SS mapplet, connect the TransactionID and IntegrationID ports to the corresponding ports in the Sorter transformation. If you pass scalar and table input data to the FunctionCall_SS mapplet, link the scalar input and table input indicator ports to the corresponding ports in the Sorter transformation. For more information about the Sorter transformation, see “Sorter Transformation” in the PowerCenter Transformation Guide.

FunctionCall_SS Mapplet in an RFC/BAPI Single Stream MappingThe RFC/BAPI single stream mapping contains a FunctionCall_SS mapplet for each RFC/BAPI function signature you use in the mapping. The FunctionCall_SS mapplet receives source data from the Sorter transformation for the scalar and table input parameters for the RFC/BAPI function call. During a session, the FunctionCall_SS mapplet connects to SAP and makes the RFC/BAPI function call when it receives a complete set of records with the same IntegrationID. It uses TransactionIDs to determine the commit point for each transaction and makes a commit call on SAP when it receives a complete set of records with the same TransactionID. If the session encounters an error during the transaction, the session fails and does not proceed to the next transaction.

Figure 12-15. Sorter Transformation in an RFC/BAPI Single Stream Mapping

Sorter transformation sorts the source data by TransactionID and IntegrationID data in ascending order for the FunctionCall_SS mapplet.

Working with RFC/BAPI Single Stream Mappings 251

Page 276: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

If you specify the RFC/BAPI function signatures in the mapping to return scalar or table outputs, the mapplet contains output ports that pass the function output to the Virtual plug-in target definitions in the mapping. Replace the Virtual plug-in target definitions with the appropriate definitions for the target warehouse.

If the RFC/BAPI function signatures you use in the mapping do not contain any scalar or table output, or if you do not specify the RFC/BAPI function signatures in the mapping to return any scalar or table outputs, the FunctionCall mapplet contains an output port called MO_FN_Field1 that connects to the Virtual plug-in target definition in the mapping. The MO_FN_Field1 port does not pass any data to the Virtual plug-in target definition in the mapping. It connects to the Virtual plug-in target definition for mapping validation only.

Figure 12-16 shows a FunctionCall_SS mapplet in an RFC/BAPI single stream mapping:

Target Definition in an RFC/BAPI Single Stream MappingWhen you generate an RFC/BAPI single stream mapping, the mapping contains a Virtual plug-in target definition for each mapplet output group in the FunctionCall_SS mapplet.

If the RFC/BAPI signature you use in the mapping produces scalar or table outputs that you want to write to a target, replace the Virtual plug-in target definitions with definitions specific to the target warehouse. For example, you can replace the Virtual plug-in target definitions with relational or flat file target definitions.

If the RFC/BAPI signature you use in the mapping does not produce any scalar or table output, retain the Virtual plug-in target definitions in the mapping for mapping validation.

For more information about Virtual plug-in target definitions, see “Virtual Plug-in (NullDbtype) Target Definitions” on page 382.

Figure 12-16. FunctionCall_SS Mapplet in an RFC/BAPI Single Stream Mapping

252 Chapter 12: Working with RFC/BAPI Function Mappings

Page 277: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with Custom Return Structures

When you use an RFC/BAPI function call mapping, use the return structures in the RFC/BAPI functions to determine the status of the function calls. SAP returns information about the success or failure of the function calls through return structures that are part of the scalar output and table parameters of the functions.

There are two types of return structures:

♦ Predefined. Some functions contain predefined return structures in their scalar output and table parameters.

♦ Custom. During mapping generation, the RFC/BAPI Mapping Wizard lets you define custom return structures for a function if the function does not contain predefined return structures in its scalar output and table parameters.

The following are the predefined return structures:

♦ BAPIRETURN

♦ BAPIRETURN-1

♦ BAPIRET1

♦ BAPIRET2

For predefined return structures, the Integration Service returns messages with the SAP status, message number of code, and the message text.

If the function does not contain a predefined return structure, you can designate a scalar output or table parameter structure in the function as the return structure for the function. Specify a field in the structure that returns the status of the function call, and specify a field that returns the status message text.

You also need to specify the status indicator values for warning, error, and abort. During the session, the Integration Service compares the value returned by the status field with the value you assign as the status indicator for warning, error, and abort. If the values match, the Integration Service returns warning, error, or abort accordingly.

By default, the Generate SAP RFC/BAPI Mapping Wizard uses W for warning, E for error, and A for abort as status indicator values. Replace the default values with the status indicator values that the function returns.

You specify the custom return structure for a function from the Return Structure tab of the Generate SAP RFC/BAPI Mapping Wizard.

Working with Custom Return Structures 253

Page 278: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 12-17 shows the Return Structure tab in the Generate SAP RFC/BAPI Mapping Wizard:

Figure 12-17. Return Structure Tab on the Generate SAP RFC/BAPI Mapping Wizard

Custom Return Structure

Status Indicator Field

Text Field for the Status Message

Status Indicators for Warning, Error, or Abort

254 Chapter 12: Working with RFC/BAPI Function Mappings

Page 279: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Generating SAP RFC/BAPI Mappings

You can generate an RFC/BAPI function call mapping using the Generate SAP RFC/BAPI Mapping Wizard. When you generate the mapping, you enter the connection information for the SAP system you want to connect to and select the BAPI functions you want to use in the mapping. You specify the table input and output parameters for the BAPI function. If you want to create a mapping for a custom BAPI function, you can define the return structures for the function. You can also configure the mapping to stop or continue when the RFC/BAPI functions you use in the mapping returns error during the session run. Based on the selections, the wizard generates a mapping in the Designer.

To generate an RFC/BAPI function mapping:

1. In the Mapping Designer, click Mappings > Generate RFC/BAPI Mapping.

The Generate RFC/BAPI Mapping Wizard appears.

2. To connect to the SAP system, enter the following information:

3. Enter the filter criterion for the RFC/BAPI functions.

4. Click Connect.

Field Required/Optional Description

Connect String Required Type A or Type B destination entry in the saprfc.ini file.

User Name Required SAP source system connection user name. The user name must be a user for which you have created a source system connection.

Password Required SAP password for the above user name.

Client Required SAP client number.

Language Required Language you want for the mapping.The language must be compatible with the PowerCenter Client code page. For more information about language and code pages, see “Language Codes, Code Pages, and Unicode Support” on page 395.If you leave this option blank, PowerCenter uses the default language of the SAP system.

Generating SAP RFC/BAPI Mappings 255

Page 280: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The Designer displays a list of RFC/BAPI functions based on the filter criterion you enter.

Note: The Generate RFC/BAPI Mapping Wizard only displays RFC functions. It does not display non-RFC functions.

When you generate an RFC/BAPI mapping to process data in SAP, you can select RFC/BAPI function signatures from only one SAP system to use in the same mapping. Do not select RFC/BAPI function signatures from multiple SAP systems to use in the same mapping.

5. Select the BAPI functions you want to use in the mapping and click Next.

Note: Do not select functions that invoke the SAP GUI. Otherwise, the session fails.

256 Chapter 12: Working with RFC/BAPI Function Mappings

Page 281: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The wizard displays the RFC/BAPI functions and the scalar input output and table input output parameters for the functions.

Use the arrows to order the sequence of the RFC/BAPI function calls in the mapping. The Integration Service makes the RFC/BAPI function calls on SAP based on the sequence you define during mapping generation.

Note: If you define the sequence of the RFC/BAPI function calls for the mapping and use the Back button to return to the previous screen, the sequence of RFC/BAPI function calls you define for the mapping is lost. Redefine the sequence of the RFC/BAPI function calls.

6. Define the following parameters for each RFC/BAPI function in the mapping:

♦ Table

♦ Return Structure

Note: The Generate SAP RFC/BAPI Mapping Wizard selects the scalar input and output parameters required by the functions you select. RFC/BAPI functions do not support changing parameters.

Use the arrows to order the sequence of the RFC/BAPI function calls.

Select the mapping generation context for the RFC/BAPI mapping.

Define the table input and output parameters for the RFC/BAPI functions.

Generating SAP RFC/BAPI Mappings 257

Page 282: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

7. Select one of the following mapping generation contexts:

8. Click Next.

If the Designer does not detect predefined return structures for the functions you want to use in the mapping, you can define custom return structures for the functions. Click the Return Structure tab.

9. Optionally, define the following custom return structure parameters for the functions and click Next:

Mapping Generation Context Description

No Input Select if the BAPI functions you are using do not require any scalar or table input. For more information about RFC/BAPI No Input mappings, see “Working with RFC/BAPI No Input Mappings” on page 232.

Single Stream Input Select if you supply the prepared data for the scalar and table inputs to the RFC/BAPI function calls. A Single Stream mapping does not contain a prepare pipeline. For more information about Single Stream mappings, see “Working with RFC/BAPI Single Stream Mappings” on page 246.

Multiple Stream Input Select if you want the mapping to prepare data for the scalar and table inputs to the RFC/BAPI function calls. A Multiple Stream mapping contains a prepare pipeline for the scalar input parameters. It also contains a prepare pipeline for each table input parameter. For more information about RFC/BAPI Multiple Stream Mappings, see “Working with RFC/BAPI Multiple Stream Mappings” on page 236.

Custom Return Structure Parameter Description

Return Structure Select a structure from the list to designate as the return structure for the function.

Status Field Select a field from the structure for status.

Text Field Select a field from the structure for text messages.

Status Indicator For Warning Enter an indicator message for warning. By default, the wizard uses W for warning.

Status Indicator for Error Enter an indicator message for error. By default, the wizard uses E for error.

Status Indicator for Abort Enter an indicator message for abort. By default, the wizard uses A for abort.

258 Chapter 12: Working with RFC/BAPI Function Mappings

Page 283: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 3 of the wizard appears.

10. Enter the following properties for the BAPI mapping:

Generate BAPI/RFC Mapping Properties

Required/ Optional Description

Mapping Name Required Enter a name for the mapping. Do not use special characters in the mapping name. For a list of special characters that you cannot use in the Designer, see the PowerCenter Designer Guide.

Description Optional Enter a description for the mapping.

Mapping Parameter: RFC/BAPI Connection

Required By default, the wizard provides a mapping parameter name as the RFC/BAPI connection name. You can enter a different mapping parameter name for the connection name. For more information about using mapping parameters, see “Mapping Parameters and Variables” in the PowerCenter Designer Guide.

Mapping Parameter: RFC/BAPI Connection Value

Required Enter the application connection name that you use for the session in the Workflow Manager. Use an application connection of type SAP RFC/BAPI Interface. For more information about configuring an SAP RFC/BAPI Interface application connection in the Workflow Manager, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

Generating SAP RFC/BAPI Mappings 259

Page 284: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

11. Click Finish.

The RFC/BAPI mapping displays in the Mapping Designer.

Note: After you create an RFC/BAPI function mapping in the Designer, do not edit the mapping without proper instructions in the documentation. For information about supplying function input data to RFC/BAPI function mappings, see “Working with Function Input Data for RFC/BAPI Functions” on page 261.

When the Designer generates an RFC/BAPI mapping, it does not use unique names for the objects (mapplets, transformations, source definitions and target definitions) it includes in the mapping. If you generate a mapping that includes an RFC/BAPI function that is present in an existing mapping in the repository, the Designer prompts you to rename, replace, or reuse the objects of the same name. Always select rename to ensure that you do not invalidate existing mappings in the repository.

Mapping Parameter: Continue Session on Error

Required By default, the wizard displays $$CONTINUE_ON_ERROR as the mapping parameter name to stop or continue the session on error. You cannot change the name of this mapping parameter.

Mapping Parameter: Continue Session on Error Value

Required Select Yes or No as the value for the $$CONTINUE_ON_ERROR mapping parameter. Default is Yes. When you have more than one RFC/BAPI function in a multiple stream mapping, the wizard sets the parameter value to No. When you select Yes, the Integration Service logs error messages in the session log when an RFC/BAPI function returns an error during the session. It then continues to run the session to complete executing the remaining function calls. However, if the RFC/BAPI function returns an ABORT status, the Integration Service is unable to continue the session, and the session stops.When you select No, the Integration Service stops the session at the first error returned from the RFC/BAPI function call. You can update the value of the $$CONTINUE_ON_ERROR mapping parameter using the parameter file. If you update the parameter file and do not specify a value for the $$CONTINUE_ON_ERROR mapping parameter, the Integration Service stops the session. For more information about using mapping parameters, see “Mapping Parameters and Variables” in the PowerCenter Designer Guide.

Generate BAPI/RFC Mapping Properties

Required/ Optional Description

260 Chapter 12: Working with RFC/BAPI Function Mappings

Page 285: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with Function Input Data for RFC/BAPI Functions

Use the following guidelines when passing data for the RFC/BAPI function input parameters:

♦ When the function input parameter datatype is INT1 or NUMC, do not provide negative values for the function input.

♦ When you pass data for RFC/BAPI function input parameters, the length of the data must meet the requirements for the function input parameter field. For example, if the function input parameter field expects a numeric value of 10 characters, pass a value with 10 characters to that field. If the value you want to pass is less than 10 characters, use 0s to pad the value to the left. For example, you want to pass the value 10022 to a field that expects a numeric value of 10 characters. Use 0000010022 as the value for the field.

♦ When you supply date or time values for scalar or table input parameters, use date or time values in the transformation datatype date/time format. Do not use a non-date value for a date or time input. RFC/BAPI function mappings do not support non-date values as input for date or time. For more information about valid date and time datatypes, see “mySAP Option and SAP Datatypes” on page 386.

♦ When the source input data for an RFC/BAPI function is of integer datatype, do not use string data in the source definition.

♦ If the RFC/BAPI function parameters use CURR, DEC, NUMC, or QUAN datatype and the input data for the function parameter is high precision, update the Custom transformation ports for the function parameters to String datatype. Also enable high precision for the session in the session properties.

♦ If the input data for an RFC/BAPI function mapping has a higher scale than the SAP metadata specification, the Integration Service rounds off the data to comply with the SAP metadata. When you run a session in high precision mode, this may result in session failure due to overflow if the round-off data cascades to the precision digits. For example, the datatype and precision for an RFC/BAPI function parameter is DEC (6,5). The input data you pass to the function parameter is 9.99999. When the Integration Service processes the input data, it rounds off the input data to 10. The round-off input data, 10, is no longer compatible with the SAP metadata. Therefore, the Integration Service fails the session.

♦ When you run a workflow for an RFC/BAPI mapping, the Integration Service does not validate some default values of the function input parameter that are not compatible with SAP metadata. Ensure that default values for function input parameters are proper and compatible with the SAP metadata for the RFC/BAPI function.

For more information about supplying data for RFC/BAPI function inputs, see the SAP documentation.

Working with Function Input Data for RFC/BAPI Functions 261

Page 286: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

262 Chapter 12: Working with RFC/BAPI Function Mappings

Page 287: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 3

Configuring RFC/BAPI Function Sessions

This chapter includes the following topics:

♦ Overview, 264

♦ Configuring a Session for SAP RFC/BAPI Function Mappings, 265

♦ Error Handling for RFC/BAPI Sessions, 269

263

Page 288: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

After you create a mapping in the Designer, you create a session and use the session in a workflow.

Complete the following tasks before you can run an SAP workflow:

♦ Configure an Integration Service. Configure an Integration Service to run SAP workflows. For more information about configuring an Integration Service, see “Creating and Configuring the Integration Service” in the PowerCenter Administrator Guide.

♦ Configure source and target connections. Configure connections to extract data from the source and write data to the target. For example, to process data in SAP, create an SAP R/3 application connection within the Workflow Manager. For more information about creating an application connection, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

Copying RFC/BAPI Function MappingsWhen you copy an SAP RFC/BAPI mapping from one repository to another, the SAP RFC/BAPI Interface application connection you define for the session in the Workflow Manager does not get copied to the target repository. To use the mapping in a workflow, recreate the SAP RFC/BAPI Interface application connection for the mapping in the target repository. You can also use a parameter file to override the SAP RFC/BAPI Interface application connection. For more information about copying mappings, see “Copying Objects” in the PowerCenter Repository Guide.

264 Chapter 13: Configuring RFC/BAPI Function Sessions

Page 289: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring a Session for SAP RFC/BAPI Function Mappings

When you configure a session for an RFC/BAPI function mapping, configure the following session properties:

♦ Choose an application connection of the SAP RFC/BAPI Interface type. Use the application connection name as the value for the mapping connection parameter you defined in the mapping. For more information about using mapping parameters, see “Mapping Parameters and Variables” in the PowerCenter Designer Guide.

♦ Select Indirect as the source filetype value for the RFCPreparedData source. When you select Indirect, the Integration Service finds the file list, and then reads each listed file for the RFCPreparedData source when it runs the session.

♦ Verify that the RFCPreparedData staging file is delimited. The RFCPreparedData flat file targets for the RFC/BAPI session must be delimited.

♦ Configure the Maximum Processes threshold. Configure the Maximum Processes threshold so that an Integration Service process has enough session slots available to run sessions. The Maximum Processes threshold indicates the maximum number of session slots available to an Integration Service process at one time for running or repeating sessions. It helps you control the number of sessions an Integration Service process can run simultaneously. For more information on the Maximum Processes threshold, see “Creating and Configuring the Integration Service” in the PowerCenter Administrator Guide. For more information about configuring the Maximum Processes threshold, see “Managing the Domain” in the PowerCenter Administrator Guide.

Note: You cannot use pipeline partitioning in an RFC/BAPI function mapping.

To configure a session for an RFC/BAPI function mapping:

1. In the Task Developer, double-click an SAP session to open the session properties.

The Edit Tasks dialog box appears.

Configuring a Session for SAP RFC/BAPI Function Mappings 265

Page 290: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

2. From the Connections settings on the Mapping tab (Sources node), select the connection values for the SAP sources.

266 Chapter 13: Configuring RFC/BAPI Function Sessions

Page 291: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. If you are configuring a session for a multiple stream RFC/BAPI function mapping, select Indirect as the Source Filetype.

For more information about setting source file type for a multiple stream RFC/BAPI function mapping, see “Configuring a Session for SAP RFC/BAPI Function Mappings” on page 265.

4. On the Targets node, enter the connection values for the targets in the mapping.

Configuring a Session for SAP RFC/BAPI Function Mappings 267

Page 292: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

5. If you are configuring a session for an RFC/BAPI mapping, click Set File Properties to verify that the flat file targets for the mapping are set as Delimited.

6. When you finish configuring the session, click OK.

Set File Properties

268 Chapter 13: Configuring RFC/BAPI Function Sessions

Page 293: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Error Handling for RFC/BAPI Sessions

During a session for an RFC/BAPI function mapping, the session fails if the Integration Service encounters a row error. This is because the Integration Service validates the data for consistency by group before it writes the data to the target. Failing the session ensures data consistency.

Error Handling for RFC/BAPI Sessions 269

Page 294: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

270 Chapter 13: Configuring RFC/BAPI Function Sessions

Page 295: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

271

Part V: Data Migration

This part contains the following chapter:

♦ Creating Data Migration Mappings, 273

Page 296: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

272

Page 297: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 4

Creating Data Migration Mappings

This chapter includes the following topics:

♦ Overview, 274

♦ Working with the SAP DMI Prepare Transformation, 275

♦ Creating a Flat File Target for DMI Data, 283

♦ Configuring Sessions for DMI Mappings, 284

273

Page 298: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

You can migrate data from legacy applications, other ERP systems, or any number of other sources into mySAP applications. Create an SAP Data Migration Interface (DMI) mapping to prepare data for migration into mySAP applications. After you create a DMI mapping, you can configure a session for the mapping. During the session, the Integration Service extracts the data from the data source and prepares the data in an SAP format flat file that you can load into SAP. For more information about configuring sessions for DMI mappings, see “Configuring Sessions for DMI Mappings” on page 284.

Creating a DMI MappingTo migrate data into SAP, create a DMI mapping with the following components:

♦ Source definition. Reads data from the source system. For more information about creating a source definition, see “Working with Sources” in the PowerCenter Designer Guide.

♦ Source Qualifier transformation. Determines how the Integration Service reads data from the source. For more information about creating a Source Qualifier transformation, see “Source Qualifier Transformation” in the PowerCenter Transformation Guide.

♦ SAP DMI Prepare transformation. Processes the data to migrate into SAP. For more information about creating an SAP DMI Prepare transformation, see “Working with the SAP DMI Prepare Transformation” on page 275.

♦ Flat file target definition. Loads data to the target. For more information, see “Creating a Flat File Target for DMI Data” on page 283.

For more information about creating mappings, see “Mappings” in the PowerCenter Designer Guide.

274 Chapter 14: Creating Data Migration Mappings

Page 299: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Working with the SAP DMI Prepare Transformation

The SAP DMI Prepare transformation receives data from upstream transformations in the mapping and interprets the segment data. After you create an SAP DMI Prepare transformation, you can edit the transformation to change the data segments you want to include in the transformation. When you edit the transformation, you can also view details about the segments. To view details, double-click the title bar of the transformation and select the DMI Display tab. For more information about the DMI Display tab, see Table 9-2 on page 179.

DMI Primary and Foreign KeysA DMI message is organized hierarchically with one top-level parent segment and one or more second-level child segments. Second-level child segments may have one or more third-level child segments.

To maintain the structure of the DMI data, the SAP DMI Prepare transformation uses primary and foreign keys. The top-level parent segment has a primary key. Each child segment has a primary key and a foreign key. The foreign key of each child segment references the primary key of its parent segment. For example, the foreign key of a second-level child segment references the primary key of the top-level parent segment. Similarly, the foreign key of a third-level child segment references the primary key of the second-level child segment.

The SAP DMI Prepare transformation groups incoming data based on the values in the primary and foreign key fields. The Control Input group of the SAP DMI Prepare transformation represents the parent segment. All other groups of the SAP DMI Prepare transformation except the DMI_Prepare_Error_Output group represent second-level or third-level child segments.

Note: The DMI_Prepare_Error_Output group is used for processing invalid DMI documents. You can process invalid DMI documents the same way as invalid IDocs. For more information, see “Configuring Inbound IDoc Mappings” on page 203.

Table 14-1 shows the groups of the SAP DMI Prepare transformation and the fields used for the primary and foreign keys:

Table 14-1. DMI Primary and Foreign Keys

Group(s) Field Description

Control Input Group GPK_DOCNUM Primary key of the parent segment.

Child Segment 1 GPK_<Child1_name> Primary key of Child Segment 1.

GFK_DOCNUM_<Child1_name> Foreign key of Child Segment 1 references the primary key of the parent segment.

Working with the SAP DMI Prepare Transformation 275

Page 300: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Each value for the GPK_<name> field must be unique. Each GFK_<parent_name>_<group_name> field must reference the primary key of its parent segment.

The following example shows the relationship of primary and foreign keys in a DMI document named ABSEN1 with four child segments:

The SAP DMI Prepare transformation uses these primary and foreign key relationships to maintain the structure of the DMI data. Any foreign key field that does not match the

Child Segment A of Child Segment 1

GPK_<Child1A_name> Primary key of Child Segment A of Child Segment 1.

GFK_<Child1_name>_<Child1A_name> Foreign key of Child Segment A of Child Segment 1 references the primary key of Child Segment 1.

Child Segment 2 GPK_<Child2_name> Primary key of the child segment.

GFK_DOCNUM_<Child2_name> Foreign key of Child Segment 2 references the primary key of the parent segment.

Child Segment B of Child Segment 2

GPK_<Child2B_name> Primary key of Child Segment B of Child Segment 2.

GFK_<Child2_name>_<Child2B_name> Foreign key of Child Segment B of Child Segment 2 references the primary key of Child Segment 2.

Group Field Primary/Foreign Key(s)

CONTROL_INPUT_ABSEN1 GPK_DOCNUM P1

E2ABSE1 GPK_E2ABSE1 C1

GFK_DOCNUM_E2ABSE1 P1

E2ABSE2 GPK_E2ABSE2 C2

GFK_DOCNUM_E2ABSE2 P1

E2ABSE2A GPK_E2ABSE2A C2A

GFK_E2ABSE2_E2ABSE2A C2

E2ABSE3 GPK_E2ABSE3 C3

GFK_DOCNUM_E2ABSE3 P1

E2ABSE3B GPK_E2ABSE3B C3B

GFK_E2ABSE2_E2ABSE2A C3

E2ABSE4 GPK_E2ABSE4 C4

GFK_DOCNUM_E2ABSE4 P1

Table 14-1. DMI Primary and Foreign Keys

Group(s) Field Description

276 Chapter 14: Creating Data Migration Mappings

Page 301: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

primary key of its parent segment results in an orphan row. Any primary key field that is not unique results in a duplicate row.

Verify that each DMI document has a unique primary key for the top-level parent segment, each child segment, and that each foreign key matches the primary key of its parent.

Creating an SAP DMI Prepare TransformationUse the Generate SAP DMI Prepare Transformation Wizard to create an SAP DMI Prepare transformation. The wizard lets you import DMI metadata. For more information, see “Steps to Create an SAP DMI Prepare Transformation” on page 278.

When you create an SAP DMI Prepare transformation, you can import the DMI metadata in the following ways:

♦ From file. Use to import the DMI metadata in the SAP DMI Prepare transformation from a DMI file. For more information, see “Generating DMI Metadata to File for Import” on page 277.

♦ Connect to SAP. Use to import the DMI metadata from the SAP system to use in the transformation.

Generating DMI Metadata to File for ImportIf you want to import DMI metadata for an SAP DMI Prepare transformation from file, you can run the RSAPEXP program from the SAP client to generate the metadata. When you run the program, select the range for the DMI metadata you want to generate. The program exports the metadata it generates into a metadata file. For example, you can export the metadata to a file with the .dmi extension. You can then use the metadata file to import the metadata into the Designer for use in the SAP DMI Prepare transformation.

To generate DMI metadata using the RSAPEXP program:

1. Use transaction SXDA_TOOLS from the SAP client.

2. Run the RSAPEXP program.

3. Select the range.

4. Optionally, select extended grammar, if available.

5. Click Execute.

6. Click List > Download.

7. From the Save list in file dialog box, select Unconverted.

8. On the Transfer list to a local file dialog box, enter the path where you want to save the metadata file.

9. Click Transfer.

Working with the SAP DMI Prepare Transformation 277

Page 302: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Steps to Create an SAP DMI Prepare TransformationThe Transformations toolbar contains a button to create the SAP DMI Prepare transformation.

Figure 14-1 shows the button on the Transformations toolbar for creating the SAP DMI Prepare transformation:

To create an SAP DMI Prepare transformation:

1. In the Transformation Developer, click the SAP DMI Prepare transformation button.

The pointer becomes a cross.

2. Click in the Transformation Developer workspace.

The Generate SAP DMI Transformation Wizard appears.

3. To import DMI metadata from a file, click Local File.

To import DMI metadata from the SAP system, go to step 6.

4. Enter the name and path of the file from which you want to import DMI metadata. Or, click Browse to locate the file you want to use.

Figure 14-1. SAP DMI Prepare Transformation Button on the Transformations ToolbarCreates an SAP DMI Prepare transformation.

278 Chapter 14: Creating Data Migration Mappings

Page 303: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

5. Click Import. Go to step 8.

6. If you are importing DMI metadata from the SAP system, enter the following information:

7. Click Connect.

8. Expand a Data Transfer Object, select an Activity, and click Next.

Step 2 of the wizard appears.

Field Required/Optional Description

Connect String Required Type A or Type B destination entry in the saprfc.ini file.

User Name Required SAP source system connection user name. The user name must be a user for which you have created a source system connection.

Password Required SAP password for the above user name.

Client Required SAP client number.

Language Required Language you want for the mapping. The language must be compatible with the PowerCenter Client code page. For more information about language and code pages, see “Language Codes, Code Pages, and Unicode Support” on page 395.If you leave this option blank, PowerCenter uses the default language of the SAP system.

Select to display Group Status column.

Select the segments to include in the transformation.

Working with the SAP DMI Prepare Transformation 279

Page 304: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

9. Select the DMI segments you want to include in the mapping.

You can modify optional segments. Select only those segments for which you have source data.

You can click one of the following options to select DMI segments:

♦ Select All Segments. Click to include all segments.

♦ Clear All Segments. Click to remove all selected segments except required segments.

To display which groups are required, click Show Group Status. For more information about the DMI details that display in this step of the wizard, see Table 9-2 on page 179.

When you select the segments to include in the transformation, the transformation uses the following rules to select parent and child segments:

♦ If you select a segment, all its parent segments are selected, and all its required child segments are selected.

♦ If you clear a segment, all its child segments are cleared.

10. Click Next.

Step 3 of the wizard appears. The wizard provides a name for the transformation.

11. Optionally, modify the name of the transformation.

If you clicked Transformation > Create to create the transformation, you cannot modify the name of the transformation in Step 3 of the wizard. The Designer names the transformation using the name you entered in the Create Transformation dialog box.

12. Optionally, modify the description of the transformation.

13. Click Finish.

Editing an SAP DMI Prepare TransformationYou can edit an SAP DMI Prepare transformation to change the data segments you want to include in the transformation. You can also modify the name and description of the transformation.

To edit an SAP DMI Prepare transformation:

1. In the Transformation Developer or Mapping Designer, double-click the title bar of the SAP DMI Prepare transformation.

The Edit Transformations dialog box appears.

280 Chapter 14: Creating Data Migration Mappings

Page 305: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

2. Click the DMI Display tab.

3. Optionally, modify the segments you want to include in the SAP DMI Prepare transformation.

You can modify optional segments. Select only those segments for which you have source data.

Click one of the following options to select DMI segments:

♦ Select All Segments. Click to include all segments.

♦ Clear All Segments. Click to remove all selected segments except required segments.

To display which groups are required, click Show Group Status. For more information about the DMI details that display in the DMI Display tab, see Table 9-2 on page 179.

When you select the segments to include in the transformation, the transformation uses the following rules to select parent and child segments:

♦ If you select a segment, all its parent segments are selected, and all its required child segments are selected.

♦ If you clear a segment, all its child segments are cleared.

4. Click OK.

Select to display transformation metadata.

Select to display Group Status column.

Select the segments to include in the transformation.

Working with the SAP DMI Prepare Transformation 281

Page 306: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Error Handling with DMI MappingsThe SAP DMI Prepare transformation includes an ErrorDMIData group. You can create a flat file target definition and connect output port of the ErrorDMIData group to an input port in the flat file target. PowerCenter writes data errors in the DMI Prepare transformation to this flat file target.

282 Chapter 14: Creating Data Migration Mappings

Page 307: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Creating a Flat File Target for DMI Data

To migrate DMI files to SAP, create a flat file target definition in the Designer. The flat file target must have one port with a datatype of String that matches the precision of the DMIData field in the SAP DMI Prepare transformation.

Creating a Flat File Target for DMI Data 283

Page 308: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring Sessions for DMI Mappings

After you configure a DMI mapping, you can create a session. You can configure session properties to determine how and when the Integration Service moves data from the source to the target. After you configure a session, include it in a workflow.

You use the same procedures to configure a session for a DMI mapping as you use to configure a session for an IDoc mapping. For more information about configuring session properties, see “Configuring Sessions for Inbound IDoc Mappings” on page 212.

284 Chapter 14: Creating Data Migration Mappings

Page 309: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

285

Part VI: Business Content Integration

This part contains the following chapter:

♦ Business Content Integration, 287

Page 310: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

286

Page 311: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 5

Business Content Integration

This chapter includes the following topics:

♦ Overview, 288

♦ Step 1. Prepare DataSources in SAP, 294

♦ Step 2. Import PowerCenter Objects, 295

♦ Step 3. Configure and Start the Listener Workflow, 299

♦ Step 4. Create the Processing Mappings, 301

♦ Step 5. Deploy the Request Files, 312

♦ Step 6. Create the Send Request Workflows, 313

♦ Step 7. Create the Processing Workflows, 314

♦ Step 8. Schedule the Processing and Send Request Workflows, 316

♦ Troubleshooting, 320

287

Page 312: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

PowerCenter Connect for SAP NetWeaver mySAP Option integrates with SAP business content to provide an efficient, high-volume data warehousing solution. SAP business content is a collection of metadata objects that can be integrated with other applications and used for analysis and reporting. mySAP applications produce the business content data, and PowerCenter consumes it. PowerCenter can consume all or changed business content data from mySAP applications and write it to a target data warehouse.

Informatica provides an XML file that you can use to import mappings and workflows that integrate with SAP business content. For more information, see “Step 2. Import PowerCenter Objects” on page 295.

DataSourcesPowerCenter consumes business content data from SAP DataSources. A DataSource is a customized business object used to retrieve data from internal SAP sources, including SAP function modules like SAP Financials. It contains the following components:

♦ An extraction structure that describes the fields containing extracted data

♦ An extraction type

♦ An extraction method that transfers data to an internal table of the same type as the extraction structure

SAP provides the following types of DataSources:

♦ Master data attributes

♦ Master data text

♦ Hierarchy

♦ Transaction

Use standard SAP DataSources or custom DataSources. SAP predefines all standard DataSources. You need to create custom DataSources. For more information about creating custom DataSources in SAP, see the SAP documentation. For more information about hierarchies, see “Hierarchy Definitions” on page 68.

Logical System in SAPTo consume data from SAP business content, you define PowerCenter as a logical system in SAP. The logical system enables the Integration Service to initiate tasks within SAP. For example, the Integration Service connects to SAP as a logical system when you create a mapping to process a DataSource. It also connects to SAP as a logical system during a PowerCenter session to request data from the SAP system. Create a logical system in SAP for business content integration before you create a mapping to process a DataSource. For more information, see “Defining PowerCenter as a Logical System in SAP” on page 31.

288 Chapter 15: Business Content Integration

Page 313: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Mappings for Business Content IntegrationYou need to import several PowerCenter mappings from BCI_Mappings.xml. Use these mappings and the processing mappings that you create to integrate with SAP business content.

Use the following mappings to integrate with SAP business content:

1. Listener mapping. Receives DataSource data from SAP, loads it to staging targets, and requests that the Integration Service start the appropriate processing and send request sessions for the DataSource. You configure and use the imported listener mapping.

2. Send request mapping. Sends requests for DataSource data to SAP. The Integration Service uses request files generated when you create the processing mapping to request data from SAP. When SAP receives the request, it sends data to the listener mapping. You configure and use the imported send request mapping.

3. Processing mapping. Processes DataSource data staged by the listener mapping and loads it to the target data warehouse. When you create processing mappings, you can specify data selection parameters and determine whether to consume all the DataSource data or only the data that changed since the last time it was processed. You use the Generate Mapping for BCI Wizard in the Mapping Designer to create processing mappings. You create one processing mapping for each non-hierarchy DataSource you want to process. You create one processing mapping for all hierarchy DataSources. For more information, see “Non-Hierarchy and Hierarchy DataSource Processing Mappings” on page 302.

4. Cleanup mapping. Cleans up data in the staging targets. You configure and use the imported cleanup mapping.

Table 15-1 shows the relationship of the business content integration mappings:

Table 15-1. Business Content Integration Mappings

Mapping Source(s) Target(s) Notes

Listener SAP/ALEIDoc source

- BCI_Scheduling_Target LMAPI target

- RSINFOStaging relational target- Indicator relational target- Source_For_BCI relational target

BCI_Scheduling_Target LMAPI target determines which processing and send request mappings are run for each DataSource. Source_For_BCI relational target is the source of the processing mapping.

Send Request

Flat file source SAP/ALEIDoc target Source is the request file created when you create the processing mapping.

Processing Source_For_BCI relational source

Relational target data warehouse Source_For_BCI relational source is the target of the listener mapping.

Cleanup - Source_For_BCI relational source

- DocumentNumber relational source

Source_For_BCI relational target Removes processed data from Source_For_BCI relational source.

Overview 289

Page 314: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Workflows for Business Content IntegrationYou need to import several PowerCenter workflows from BCI_Mappings.xml. You use the imported listener workflow and the send request and processing workflows that you create to integrate with SAP business content.

Use the following workflows to integrate with SAP business content:

1. Listener workflow. Receives DataSource data from SAP, stages it for the processing workflow, and requests that the Integration Service start the appropriate processing and send request workflows for the DataSource. You configure and use the imported listener workflow.

2. Send request workflow. Sends requests for DataSource data to SAP. You create one send request workflow for each datasource.

3. Processing workflow. Processes DataSource data staged by the listener workflow, writes data to the target, and cleans up the data staged by the listener workflow. You create one processing workflow for each processing mapping.

Running the Listener WorkflowRun the listener workflow before you create processing mappings. The Integration Service connects to SAP as a logical system when you create processing mappings and run processing workflows to perform tasks within SAP. For example, when you create a processing mapping, activate an extract program for the DataSource within the SAP system.

Scheduling the Send Request and Processing WorkflowsAfter you create processing and send request workflows, stop the listener workflow so that you can configure the BCI_Scheduling_Target LMAPI target in the listener mapping. Use BCI_Scheduling_Target to schedule the processing and send request workflows that run for each DataSource. You then restart the listener workflow.

Running the Send Request WorkflowsThe send request workflows request DataSource data from SAP. When SAP receives the request, it sends the data to the Integration Service. The Integration Service uses the listener workflow to consume the data and load it to a relational target. The relational target is a staging area for the data, which the processing mappings use as a source.

Manually run the send request workflow that requests the first DataSource data you want to process. When BCI_Scheduling_Target in the listener workflow receives the DataSource data for this request, it requests that the Integration Service start the remaining workflows in the order you configured.

Running the Processing WorkflowsWhen the listener workflow completes writing DataSource data to the staging area, BCI_Scheduling_Target requests that the Integration Service start the appropriate processing workflow for the DataSource. Processing workflows contain a processing session and a

290 Chapter 15: Business Content Integration

Page 315: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

cleanup session. The processing session reads the data from the staging area, processes it, and loads it to the target. After the processing session loads the data to the target, it initiates the cleanup session to remove processed data from the staging area.

When the processing workflow completes, BCI_Scheduling_Target in the listener workflow requests that the Integration Service start another send request workflow to request the next DataSource data.

Integration Service ProcessingTo process business content data, you start the listener workflow and start the send request workflow for the first DataSource data you want to process. When you start these workflows, the send request workflow, listener workflow, processing workflow, and SAP interact in the following order:

1. The send request workflow sends a request for DataSource data to SAP.

2. SAP sends the requested data to the listener workflow.

3. The listener workflow writes data to the staging area.

4. When the listener workflow receives the complete DataSource data for the request, BCI_Scheduling_Target in the listener mapping requests that the Integration Service start the appropriate processing workflow for the next DataSource.

5. The processing session processes the DataSource data from the staging area.

6. When the processing session finishes processing data, it initiates the cleanup session.

7. The cleanup session removes the processed data from the staging area.

8. When the processing workflow finishes, BCI_Scheduling_Target in the listener mapping requests that the Integration Service start the next send request workflow.

9. Steps 1 to 8 repeat until the last DataSource is processed.

Overview 291

Page 316: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 15-1 shows how the send request and processing workflows interact with the listener workflow and SAP:

Before You BeginComplete the following tasks before you can configure business content integration:

♦ Verify that you have installed the latest business content integration transport on the SAP system. For more information, see the PowerCenter Connect for SAP NetWeaver Transport Versions Installation Notice.

♦ Verify that you have installed the SAP plug-in version 2003_1 or later.

Steps to Integrate with SAP Business ContentComplete the following steps to integrate with SAP business content:

1. Prepare DataSources in SAP. Activate and configure each DataSource in SAP before you create a processing mapping for the DataSource. For more information, see “Step 1. Prepare DataSources in SAP” on page 294.

2. Import and configure PowerCenter objects. Import and configure mappings and workflows to integrate with business content. You import the mappings and workflows from the CD. For more information, see “Step 2. Import PowerCenter Objects” on page 295.

3. Configure and start the listener workflow. Configure and start the imported listener workflow. For more information, see “Step 3. Configure and Start the Listener Workflow” on page 299.

Figure 15-1. Business Content Integration Workflow Interaction

SAP

Processing

Cleanup

Staging Area

1 2

4

3

8

76

5

Send RequestWorkflow

Session

Session

Processing Workflow

ListenerWorkflow

292 Chapter 15: Business Content Integration

Page 317: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

4. Create the processing mappings. Create processing mappings to select SAP DataSources, specify data extraction parameters, and create request files. For more information, see “Step 4. Create the Processing Mappings” on page 301.

5. Deploy request files. Deploy request files from the PowerCenter Client to the Integration Service so that you can use them when you configure sessions. For more information, see “Request Files” on page 302 and “Step 5. Deploy the Request Files” on page 312.

6. Create the send request workflows. Create the send request workflows to request data from SAP. For more information, see “Step 6. Create the Send Request Workflows” on page 313.

7. Create the processing workflows. Create the processing workflows to consume DataSource data from SAP. For more information, see “Step 7. Create the Processing Workflows” on page 314.

8. Schedule the processing and send request workflows. Stop the listener workflow and configure BCI_Scheduling_Target in the listener mapping to start the appropriate processing and send request workflows for each DataSource. For more information, see “Step 8. Schedule the Processing and Send Request Workflows” on page 316.

Overview 293

Page 318: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 1. Prepare DataSources in SAP

Before you create a processing mapping, activate DataSources in SAP. You can also customize whether DataSource fields are visible. Use the following SAP transactions to activate DataSources and customize DataSource fields in SAP:

♦ RSA5 Transfer DataSources function. Changes the status of DataSources from Delivered to Active.

♦ RSA6 Postprocess DataSources and Hierarchy. Customizes the visibility of fields in a DataSource.

Activating a DataSource in SAPUse transaction RSA5 in SAP to change the status of DataSources from Delivered to Active.

To activate a DataSource in SAP:

1. In SAP, open transaction RSA5 for the DataSource for which you want to create a processing mapping.

2. Execute the Transfer DataSources function.

The DataSource is now active. For more information, see the SAP documentation.

Customizing Fields in a DataSourceUse transaction RSA6 in SAP to customize fields in a DataSource.

To customize fields in a DataSource:

1. In SAP, open transaction RSA6 for the DataSource that you want to customize.

2. Select a DataSource and click DataSource > Display DataSource.

3. Select Hide Field for fields you want to hide.

When you create a processing mapping, you will not be able to see hidden fields and cannot consume data from them.

4. Clear Hide Field for fields you want to make visible.

5. Click the Save button.

For more information, see the SAP documentation.

294 Chapter 15: Business Content Integration

Page 319: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 2. Import PowerCenter Objects

To integrate with business content, import the following PowerCenter objects from BCI_Mappings.xml:

♦ Listener mapping and workflow

♦ Send request mapping

♦ Cleanup mapping

♦ Sample processing mapping and workflow

The sample processing mapping and workflow are for reference purposes only. Because the sample processing mapping and workflow are not based on an SAP DataSource from the SAP system, you cannot process any data using them.

Note: Because the imported workflow sessions do not have valid connection information for the environment, they are invalid. You configure valid connections for the sessions when you configure the listener, send request, and processing workflows.

Complete the following tasks after you import PowerCenter objects from BCI_Mappings.xml:

♦ Generate and execute SQL for the relational targets.

♦ Configure an LMAPITarget application connection.

♦ Verify the basic IDoc type in the Router transformation of the listener mapping.

Importing PowerCenter Objects from BCI_Mappings.xmlUse the Repository Manager to import objects from BCI_Mappings.xml, located in the /sapsolutions/mySAP/BCI directory on the PowerCenter installation DVD.

Tip: Create a development folder and a production folder in the Repository Manager. Import objects into the development folder. Imported relational source and target definitions use a default database type that may not match the database type. If you use the Designer to change the database type once in the development folder, you can copy the mappings with relational source and target definitions to multiple production folders without having to change the database type again.

To import PowerCenter objects from BCI_Mappings.xml:

1. In the Repository Manager, connect to a repository.

2. Click Repository > Import Objects.

3. In the Import Wizard, select BCI_Mappings.xml from the installation CD, and click Next.

4. Select Add All, and click Next.

5. Select a folder, and click Next.

For example, use a development folder.

Step 2. Import PowerCenter Objects 295

Page 320: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

6. Complete the import from BCI_Mappings.xml using the Import Wizard.

Creating Database Tables for PowerCenter ObjectsCreate database tables for the following relational targets:

♦ Source_For_BCI. Used as a target in the listener mapping, a source in the processing mapping, and both a source and a target in the cleanup mapping.

♦ RSINFOStaging. Used as a target in the listener mapping.

♦ Indicator. Used as a target in the listener mapping.

♦ DocumentNumber. Used as a target in the processing mapping and as a source in the cleanup mapping.

To create a database table for the Source_For_BCI relational target:

1. In the Target Designer, add the Source_For_BCI target definition to the workspace.

2. Edit the Source_For_BCI target definition.

3. On the Table tab, verify that the database type matches the relational database, and click OK.

4. Select the Source_For_BCI target definition, and click Targets > Generate/Execute SQL.

5. Click Connect.

6. Select the ODBC connection, enter the user name and password, and click Connect.

7. Select Create Table, and clear Primary Key and Foreign Key.

Note: The IDocRecord column must be the primary key in the Designer but not in the Source_For_BCI relational table in the database. A primary or foreign key in the Source_For_BCI table in the database causes the cleanup session to fail.

8. Click Generate and execute SQL.

The Designer creates the database table using the default table name Source_For_BCI.

To create a database table for the RSINFOStaging, Indicator, and DocumentNumber relational targets:

1. In the Target Designer, add the RSINFOStaging, Indicator, and DocumentNumber target definitions to the workspace.

2. Edit each target definition.

3. On the Table tab, verify that the database type matches the relational database, and click OK.

4. Select the target definitions.

5. Click Targets > Generate/Execute SQL.

6. Click Connect.

296 Chapter 15: Business Content Integration

Page 321: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

7. Select the ODBC connection, enter the user name and password, and click Connect.

8. Select Create Table, Primary Key, and Foreign Key.

9. Click Generate and execute SQL.

The Designer creates the database tables using the default table names RSINFOStaging, Indicator, and DocumentNumber.

Configuring an LMAPITarget Application ConnectionConfigure an LMAPITarget application connection before running the listener workflow.

To configure an LMAPITarget application connection:

1. In the Workflow Manager, connect to a repository.

2. Click Connections > Application.

The Application Connections Browser appears.

3. Select LMAPITarget as the application connection type.

4. Click New.

The Connection Object Definition dialog box appears.

5. Enter the following information:

6. Click OK.

Identifying and Verifying the Basic IDoc Type in the Listener Mapping

The listener mapping contains a Router transformation that tests the basic IDoc type. The basic IDoc type the Integration Service passes through the Router transformation must match the basic IDoc type in the SAP system. If the basic IDoc types do not match, the Integration

Connection Option Description

Name Connection name used by the Workflow Manager.

User Name Repository user name.

Password Password for the Repository user name.

Code Page* Code page compatible with the SAP server. Must also correspond to the Language Code.

Domain Name Name of the domain for the associated Integration Service.

Integration Service Name

Name of the associated Integration Service.

* For more information about code pages see “Language Codes, Code Pages, and Unicode Support” on page 395.

Step 2. Import PowerCenter Objects 297

Page 322: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Service writes the data to the RSINFOstaging target. However, it does not write data to the SOURCE_FOR_BCI target.

You can identify the basic IDoc type in the SAP system. You can also verify the basic IDoc type in the Router transformation to make sure it matches the basic IDoc type in the SAP system.

Identifying the Basic IDoc Type in SAPWhen you configure PowerExchange for SAP NetWeaver for business content integration, you run the ZINFABCI program to create a logical system in SAP. For more information, see “Creating a Logical System for Business Content Integration” on page 35.

When you run ZINFABCI, the program creates a row in the RSBASIDOC table with the RLOGSYS field. RLOGSYS has the same value that you specified for the logical system in the ZINFABCI program. You need to use this name when you identify the basic IDoc type of the SAP system.

To identify the basic IDoc type in SAP:

1. Log into the SAP system.

2. Go to transaction SE11 and view the contents of the RSBASIDOC table.

3. Query the RSBASIDOC table using the logical system name you provided when you ran the ZINFABCI transaction. For example, INFACONTNT.

The row contains a field called BIDOCTYP. The value of this field is the basic IDoc type.

4. Note the basic IDoc type to verify it against the basic IDoc type in the Router transformation.

Verifying the Basic IDoc Type in the Router TransformationAfter you identify the basic IDoc type, edit the Router transformation in the Listener mapping to verify that it matches the basic IDoc type in the SAP system.

To verify the basic IDoc type in the Router transformation of the listener mapping:

1. In the Mapping Designer, open the listener mapping.

2. Edit the Router transformation.

3. Click the Groups tab.

The default group filter condition for the Source_For_BCI group includes a basic IDoc type. By default, the basic IDoc type is ZSIK1000. For example:

BasicIDocType=’ZSIK1000’

4. If the basic IDoc type in the SAP system is not ZSIK1000, modify the group filter condition to match the basic IDoc type of the SAP system.

298 Chapter 15: Business Content Integration

Page 323: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 3. Configure and Start the Listener Workflow

Before you create processing mappings, configure and start the listener workflow.

To configure the listener workflow, create a session from the listener mapping. The listener mapping includes the following target definitions:

♦ BCI_Scheduling_Target. Determines which processing and send request workflows are run for each DataSource.

♦ RSINFOStaging. Contains RSINFO IDoc messages sent by SAP. These messages include the status of the DataSource extraction from SAP. When the status is complete, BCI_Scheduling_Target requests that the Integration Service start the appropriate processing workflow.

♦ Indicator. Contains the status of the processing and send request workflows scheduled for the DataSource. When the status of a processing workflow is complete, BCI_Scheduling_Target requests that the Integration Service start the next send request workflow.

♦ Source_For_BCI. Contains the DataSource data received from SAP in IDoc message format. The processing mapping uses this as a source definition. This staging table must have sufficient space to store the data. When the processing mapping is complete, the cleanup mapping also uses this as a source definition. The cleanup mapping removes the processed data.

Figure 15-2 shows the listener mapping:

To configure and start the listener workflow:

1. In the Workflow Designer, drag the listener workflow into the workspace.

2. Open the session properties for s_BCI_listener.

Figure 15-2. Listener Mapping

BCI_Scheduling_Target

Indicator Target

Source_For_BCI Target

RSINFOStaging Target

Step 3. Configure and Start the Listener Workflow 299

Page 324: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. From the Connections settings on the Mapping tab (Sources node), select the SAP_ALE_IDoc_Reader application connection you configured for business content integration.

For more information about configuring an SAP_ALE_IDoc_Reader application connection for business content integration, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

4. Set the Real-time Flush Latency attribute to 10.

The Real-time Flush Latency must be greater that 0 (zero). Otherwise, the session will fail.

5. Click the BCI_Scheduling_Target.

6. From the Connections settings, select the LMAPITarget application connection you configured in “Configuring an LMAPITarget Application Connection” on page 297.

7. Select the Wait for Commit attribute.

8. Click each relational target (RSINFOStaging, Indicator, and Source_For_BCI) and select the same relational connection for each target.

If the targets use different relational connections, the session will fail.

9. Click the Source_For_BCI target.

10. Select Normal for Target Load Type.

11. Click OK to close the session properties.

12. Open the listener workflow.

13. On the Scheduler tab, click the edit scheduler button.

The Edit Scheduler dialog box appears.

14. On the Schedule tab, select Run Continuously and click OK.

A continuous workflow starts as soon as the Integration Service initializes. When the workflow stops, it restarts immediately.

15. Click OK to close the Edit Workflow dialog box.

16. Save the workflow.

17. Start the listener workflow.

You can now create processing mappings.

300 Chapter 15: Business Content Integration

Page 325: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 4. Create the Processing Mappings

Use the Mapping Designer to create a processing mapping. When you create the mapping, use the wizard to enter the connection information for the SAP system, select the DataSource, select a transport mode, activate the extraction program in SAP for the DataSource, select data extraction parameters, and select an update mode.

Create one processing mapping for each non-hierarchy DataSource. You create one processing mapping for all hierarchy DataSources. For more information, see “Non-Hierarchy and Hierarchy DataSource Processing Mappings” on page 302.

Note: The PowerCenter objects you imported in “Step 2. Import PowerCenter Objects” on page 295 included a sample processing mapping for a non-hierarchy DataSource. This mapping is for reference purposes only. Because the sample processing mapping is not based on an SAP DataSource from the SAP system, you cannot process any data with it.

Update ModesWhen you create a mapping, specify one of the following update modes:

♦ Full. Extracts all data that meets the selection parameters.

♦ Delta. Extracts only data that has changed since the last delta update. However, the first delta update extracts all data.

A series of delta updates is called a delta queue. When you create a processing mapping and select delta update instead of full update, select one of the following delta update options:

♦ Delta initialization with transfer. Creates a delta queue.

♦ Delta update. Updates existing delta queues created with the delta initialization option.

♦ Delta repeat. Repeats a previous delta update if there were errors.

When you create the processing mapping, you can initialize more than one delta queue for each DataSource, depending on your business needs. Use multiple delta queues when you want to select data from a non-continuous range that cannot be defined in a single delta queue.

For example, to compare data from the item numbers 1 through 4 to item numbers 11 through 14, you need to use two delta queues because the item numbers are not in one continuous range.

The following table shows two delta queues for two item ranges updated at the end of each quarter:

Delta Queue Quarter 1 Quarter 2 Quarter 3 Quarter 4

Delta Queue 1Items 1 through 4

Delta InitializationFull Update

Delta UpdateChanged Data

Delta UpdateChanged Data

Delta UpdateChanged Data

Delta Queue 2Items 11 through 14

Delta InitializationFull Update

Delta UpdateChanged Data

Delta UpdateChanged Data

Delta UpdateChanged Data

Step 4. Create the Processing Mappings 301

Page 326: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

At the end of the first quarter, you initialize both delta queues, resulting in full updates, because there are no previous delta updates. At the end of the second, third, and fourth quarters, both delta queues extract only data that has changed since the previous update.

When you create a processing mapping, you can create a new delta queue or edit an existing delta queue. For each new delta queue, you need to specify selection criteria.

For more information about update modes, see the SAP documentation.

Request FilesA request file requests data from an SAP DataSource. Each DataSource has one request file. When you create a processing mapping, you select a local directory in which to store the request file. When you save a request file, the processing mapping wizard saves it using the following syntax:

<DataSource_name>_<update_mode>

For example, if you save a request file for the 0ACCOUNT_ATTR DataSource in full update mode, the request file is:

0ACCOUNT_ATTR_Full_Update

If you have an existing request file for the DataSource and update mode, you can revert to the contents of the saved request file to overwrite the current settings. When you save the current settings, and a request file for the DataSource and update mode exists, the current settings overwrite the contents of the request file.

After you create a processing mapping, deploy the request file so that you can use it when you configure a session to send requests to SAP. For more information, see “Step 5. Deploy the Request Files” on page 312.

Non-Hierarchy and Hierarchy DataSource Processing MappingsWhen you create a processing mapping, the Designer creates a different mapping for non-hierarchy DataSources than for hierarchy DataSources. Hierarchy DataSources have parent-child segments. To maintain the hierarchical relationship in the target, the processing mapping for hierarchies contains additional target definitions that share a primary key.

Note: There can only be one processing mapping for all hierarchy DataSources. This mapping is named Mapping_For_Hierarchy and cannot be changed. If you create an additional processing mapping for a hierarchy, you will overwrite the existing Mapping_For_Hierarchy mapping.

Processing mappings include the following target definitions:

♦ Control record. Contains the control record data for the DataSource document, including status and type.

♦ Document number. Contains the DataSource document number as a unique key. The cleanup mapping uses this as a source definition.

302 Chapter 15: Business Content Integration

Page 327: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

♦ Parameter file. Contains the folder name and the largest document number processed. The Source Qualifier transformation uses the largest document number processed to ensure that only higher document numbers are extracted from the Source_For_BCI source.

♦ DataSource data targets. Non-hierarchy processing mappings contain one target definition for all of the business content data extracted from the DataSource. The hierarchy processing mapping contains one target definition for the hierarchy parent IDoc segment and four target definitions for the hierarchy child IDoc segments.

Figure 15-3 shows a processing mapping for a non-hierarchy DataSource:

Figure 15-3. Processing Mapping for a Non-Hierarchy DataSource

Control Record Target

DataSource Data Target

DocumentNumber Target

Parameter File Target

Source Definition Based on the Source_For_BCI Table.

Step 4. Create the Processing Mappings 303

Page 328: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 15-4 shows a processing mapping for a hierarchy DataSource:

Note: The name of the source definition in processing mappings is based on the name of the DataSource. However, the source for all processing mappings is the Source_For_BCI relational table. For more information about the Source_For_BCI source table, see “Creating Database Tables for PowerCenter Objects” on page 296.

Steps to Create a Processing MappingBefore you create a processing mapping, start the listener workflow. When you create the processing mapping, you can send a test request file to SAP. For SAP to return data to the Integration Service, the listener workflow must be running.

Tip: Create processing mappings in the same development folder that you created in “Step 2. Import PowerCenter Objects” on page 295. The relational target definitions created when you create a processing mapping use a default database type that may not match the database type. If you use the Designer to change the database type once in the development folder, you can copy processing mappings with relational target definitions to multiple production folders without having to change the database type again.

Figure 15-4. Processing Mapping for a Hierarchy DataSource

Control Record Target

DataSource Data Targets

DocumentNumber Target

Parameter File Target

Source Definition Based on the Source_For_BCI Table.

304 Chapter 15: Business Content Integration

Page 329: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Complete the following steps to create a processing mapping:

1. Connect to SAP and select a DataSource. Use Step 1 of the Generate Mapping for BCI Wizard to connect to SAP and select a DataSource.

2. Select a transfer mode and activate the ABAP program in SAP. Use Step 2 of the wizard to select a transfer mode and activate the ABAP extraction program in SAP.

3. Configure the request file and data extraction parameters. Use Step 3 of the wizard to create, revert, or test the request file and select data extraction parameters.

4. Name and generate the processing mapping. Use Step 4 of the wizard to name, describe, and generate the processing mapping.

5. Override the SQL query in the Source Qualifier. If you use Oracle or IBM DB2 and the DataSource is not a hierarchy, update the SQL query in the Source Qualifier.

After you create the processing mapping, create the relational tables for the relational target definitions.

Connecting to SAP and Selecting a DataSourceUse step 1 of the wizard to connect to SAP and select a DataSource.

To connect to SAP and select a DataSource:

1. In the Mapping Designer, click Mappings > Generate BCI Mapping.

The Generate Mapping for BCI Wizard appears.

2. To connect to the SAP system, enter the following information:

Field Required/ Optional Description

Connect String Required Type A or Type B destination entry in the saprfc.ini file.

User Name Required SAP logical system user name. The user name you use to connect to SAP must be a user for which you have created a logical system. For more information, see “Defining PowerCenter as a Logical System in SAP” on page 31.

Password Required SAP password for the above user name.

Client Required SAP client number.

Logical System Required Logical system name of PowerCenter as configured in SAP for business content integration. For more information, see“Defining PowerCenter as a Logical System in SAP” on page 31.Default is INFACONTNT.

Language Required Language you want for the mapping. The language must be compatible with the PowerCenter Client code page. For more information about language and code pages, see “Language Codes, Code Pages, and Unicode Support” on page 395.If you leave this option blank, PowerCenter uses the default language of the SAP system.

Step 4. Create the Processing Mappings 305

Page 330: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Click Connect.

4. Optionally, enter the name or a partial name of an Application Component or a DataSource to search for and click the Find button. Or, go to step 7.

An application component is an expandable container for DataSources.

You can include an asterisk (*) or percent sign (%) in a name to use as a wildcard in the search.

The Search Results dialog box appears.

5. Select a DataSource or application component.

The DataSources listed are those you activated in “Step 1. Prepare DataSources in SAP” on page 294.

6. Click Select to close the Search Results dialog box, and click Next.

7. Expand the application component that contains the DataSource you want to use.

The Designer displays a list of DataSources.

8. Select the DataSource from which you want to create the mapping.

If you select a hierarchy DataSource, go to “Configuring the Request File and Data Extraction Parameters” on page 308.

Note: If you select a hierarchy DataSource and have already created a processing mapping for a hierarchy DataSource, you receive a warning. You can only have one processing mapping for all hierarchy DataSources in a folder. If you create another processing

Find Button

Application Component

DataSource

306 Chapter 15: Business Content Integration

Page 331: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

mapping for a hierarchy DataSource, you overwrite the existing mapping for hierarchy DataSources.

9. Click Next.

Step 2 of the wizard appears.

Selecting the Transfer Mode and Activating the ABAP Extraction ProgramUse step 2 of the Generate Mapping for BCI Wizard to select the transfer mode and activate the ABAP extraction program.

Step 2 of the wizard displays the following information about the DataSource:

To select the transfer mode and activate the ABAP extraction program:

1. In step 2 of the Generate Mapping for BCI Wizard, select a transfer mode:

♦ tRFC. Sends data faster and requires fewer resources than IDoc, but cannot be used for hierarchy DataSources.

♦ IDoc. Stages all data to IDocs before sending them to the Integration Service. IDoc is the default for hierarchy DataSources.

2. Click Activate DataSource to activate the ABAP extraction program in SAP for the DataSource.

If you activated this DataSource in another processing mapping, then you do not need to activate the DataSource again. However, you need to reactivate the DataSource when one of the following conditions is true:

♦ This mapping uses a different transfer mode.

♦ The DataSource metadata has changed.

Otherwise, the session you create for this mapping fails.

3. Click Next.

Step 3 of the wizard appears.

Field Description

DataSource Name SAP name of the DataSource used for the mapping.

Type DataSource type.

Description DataSource description.

Extractor Extractor program name.

Extract Structure Extract structure name.

Delta Delta designation.

Step 4. Create the Processing Mappings 307

Page 332: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring the Request File and Data Extraction ParametersUse step 3 of the Generate Mapping for BCI Wizard to configure the request file and data extraction parameters. The procedure varies depending on the update mode and the DataSource type you select.

When you perform a delta update, select a delta update mode and optionally enter a selection value range in the Initialize Delta Queue area. Enter a selection value range if you want to filter the data.

Figure 15-5 displays step 3 of the Generate Mapping for BCI Wizard when you configure a delta update for a non-hierarchy DataSource:

When you perform a full update, optionally enter a selection value range in the Selection Criteria area. Enter a selection value range if you want to filter the data. If you are creating a processing mapping for a hierarchy DataSource, perform the same steps to configure the request file and data extraction parameters. However, before you send the request file, you must select a particular hierarchy within the hierarchy DataSource.

Figure 15-5. Configuring a Delta Update for a Non-Hierarchy DataSourceRevert to the previously saved request file.

Save the request file.

Send the request file.

Select a delta initialization request or Create New.

Optionally, enter a selection value range for delta update initialization.

308 Chapter 15: Business Content Integration

Page 333: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 15-6 displays step 3 of the Generate Mapping for BCI Wizard when you perform a full update for a hierarchy DataSource:

To configure the request file and data extraction parameters:

1. In step 3 of the Generate Mapping for BCI Wizard, optionally click Revert to populate all settings from a previously saved request file for the DataSource.

If you click Revert, go to “Naming and Generating the Processing Mapping” on page 310.

2. Enter a directory for the request file or click the Browse button and select a directory.

3. Select an update mode:

♦ Full. Extracts all the data. If you select Full, go to step 7.

♦ Delta. Extracts the data that has changed since the last update.

4. Select a delta update mode:

♦ Delta Init with Transfer. Creates the delta queue. The next delta update extracts data that has changed since the delta queue was initialized.

♦ Delta. Extracts changed data since the last delta update.

♦ Delta Repeat. Repeats the previous delta update in case of errors.

5. Select an existing Delta Initialization Request.

- or -

Figure 15-6. Configuring a Full Update for a Hierarchy DataSource

Select the hierarchy for which you want to send the request.

Optionally, enter a selection value range for full update.

Browse to select a directory.

Step 4. Create the Processing Mappings 309

Page 334: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Select Create New.

6. If you are creating a new delta initialization request, enter a from and to value range.

7. If you are creating a processing mapping for a hierarchy DataSource, select the hierarchy for which you want to send the request.

8. If you selected a Full update, enter a from and to value range for Selection Criteria.

9. Click Save to save all settings to the request file.

The PowerCenter Client saves the request file to the specified directory.

10. Click Send Request to send the request to SAP as a test.

11. Click Next.

Step 4 of the wizard appears.

Naming and Generating the Processing MappingUse step 4 of the Generate Mapping for BCI Wizard to name and generate the processing mapping.

To name and generate the processing mapping:

1. In step 4 of the Generate Mapping for BCI Wizard, optionally modify the default name for the mapping if you selected a non-hierarchy DataSource.

If you selected a hierarchy DataSource, you cannot modify the default name.

2. Optionally, enter a description for the mapping.

3. Click Generate Mapping.

4. Click Yes to close the wizard or No if you want to leave the wizard open to create more processing mappings.

5. Click Finish.

Overriding the SQL Query for Non-Hierarchy DataSourcesIf you use Oracle or IBM DB2 and the DataSource is not a hierarchy, update the SQL query in the Source Qualifier transformation.

To override the default query for a non-hierarchy DataSource on Oracle or IBM DB2:

1. In the Mapping Designer, edit the Source Qualifier transformation.

2. Click the Properties tab.

3. Open the SQL Editor for the SQL Query field.

4. Change the SUBSTRING function to SUBSTR.

310 Chapter 15: Business Content Integration

Page 335: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Generating and Executing SQL for the Relational TargetsGenerate and execute SQL to create relational tables in the database for the relational targets in the processing mapping.

To generate and execute SQL for the relational targets:

1. In the Target Designer, add the relational target definitions for the processing mapping to the workspace.

For non-hierarchy processing mappings, add the following relational target definitions to the workspace:

♦ ControlRecord

♦ BIC_CII<DataSource_name>

♦ DocumentNumber

For the hierarchy processing mapping, add the following relational target definitions to the workspace:

♦ ControlRecord

♦ E2RSHIE000

♦ E2RSHTX000

♦ E2RSHND000

♦ E2RSHIV000

♦ E2RSHFT000

♦ DocumentNumber

2. Edit each relational target definition and verify that the database type matches the database type.

3. Select all the relational target definitions.

4. Click Targets > Generate/Execute SQL.

5. Click Connect.

6. Select the ODBC connection, enter the user name and password, and click Connect.

7. Select Create Table, Primary Key, and Foreign Key.

8. Click Generate and Execute SQL.

Step 4. Create the Processing Mappings 311

Page 336: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 5. Deploy the Request Files

To use processing mappings in PowerCenter workflows, deploy all request files created with the processing mapping wizard. To deploy request files, copy or move them to the Integration Service source file directory. The $PMSourceFileDir service variable configured for the Integration Service process specifies the source file directory. For more information about configuring an Integration Service process, see “Creating and Configuring the Integration Service” in the PowerCenter Administrator Guide.

You access the request files when you create the send request workflows. For more information, see “Step 6. Create the Send Request Workflows” on page 313.

When the send request workflows run, the Integration Service reads the appropriate request file from the Integration Service source directory. For more information on workflows, see “Working with Workflows” in the PowerCenter Workflow Administration Guide.

For more information about request files, see “Request Files” on page 302.

312 Chapter 15: Business Content Integration

Page 337: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 6. Create the Send Request Workflows

Create one send request workflow for each processing workflow. The send request workflow includes a send request session which sends requests for data to SAP.

Note: The processing and send request workflows must have unique names within the repository. If a workflow has the same name as another workflow in the same repository, then the Integration Service fails to start the workflow.

To create a send request workflow:

1. In the Workflow Designer, click Connections > Application.

2. Verify that the Destination Entry for the SAP_ALE_IDoc_Writer application connection is the same as the DEST parameter you configured for the logical system in the SAP system.

For more information about creating a logical system in SAP, see “Defining PowerCenter as a Logical System in SAP” on page 31.

3. Create a session for the send request mapping.

4. Open the session properties.

5. On the Mapping tab, click the Targets node.

6. From the Connections settings, select the SAP_ALE_IDoc_Writer application connection for the target.

7. Select the Generate Request ID attribute.

8. Click the Files and Directories node.

9. For the Send_request attribute, enter the source file directory where you deployed the request file.

For more information, see “Step 5. Deploy the Request Files” on page 312.

10. Enter the source file name for the request file.

11. Click OK to close the session properties.

12. Link the start task to the send request session.

For more information about configuring workflows, see “Working with Workflows” in the PowerCenter Workflow Administration Guide.

Step 6. Create the Send Request Workflows 313

Page 338: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 7. Create the Processing Workflows

Create one workflow for each processing mapping. Create a processing workflow and include the following components in it:

♦ Processing session. Processes data from the listener staging area and loads it into the target. For more information, see “Creating a Processing Session” on page 314.

♦ Cleanup session. Cleans up the staging area. For more information, see “Creating a Cleanup Session” on page 314.

Note: The processing and send request workflows must have unique names within the repository. If a workflow has the same name as another workflow in the same repository, the Integration Service cannot start the workflow.

After you add each task to the workflow, link them in the correct order. For more information, see “Configuring the Processing Workflow” on page 315.

Figure 15-7 shows a processing workflow:

Creating a Processing SessionCreate a processing session to process data staged by the listener mapping and load it into the target data warehouse. Configure the processing session like an outbound IDoc session. For more information about configuring sessions for an outbound IDoc mapping, see “Configuring Sessions for Outbound IDoc Mappings” on page 207.

To create the processing session:

1. In the Workflow Designer, create a session for the processing mapping.

2. From the Connections settings on the Mapping tab (Sources node), select the relational connection value for the source.

3. Click the Targets node.

4. Select the relational connection values for the targets.

Creating a Cleanup SessionCreate a cleanup session to remove processed data from the staging area.

Figure 15-7. Processing Workflow

314 Chapter 15: Business Content Integration

Page 339: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To create the cleanup session:

1. In the Workflow Designer, create a session for the cleanup mapping.

2. Click the Properties tab.

3. Choose to treat source rows as delete.

4. From the Connections settings on the Mapping tab (Sources node), select the relational connection values for the sources.

The connection value must be the same value as the Source_For_BCI target definition of the listener mapping.

5. Click the Targets node.

6. Select the connection values for the targets.

The connection value must be the same value as the Source_For_BCI target definition of the listener mapping.

7. From the Properties settings, verify that the Delete attribute is enabled.

Configuring the Processing WorkflowAfter you create the tasks in the workflow, link the tasks in the following order:

1. Start task

2. Processing session

3. Cleanup session

Configure each session or task to run when the previous session or task completes. For more information about configuring workflows, see “Working with Workflows” in the PowerCenter Workflow Administration Guide.

Step 7. Create the Processing Workflows 315

Page 340: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 8. Schedule the Processing and Send Request Workflows

You can determine the order in which you want to receive and process DataSource data. To do this, you edit the BCI_Scheduling_Target in the listener mapping. In the target, enter which processing and send request workflows run for each DataSource. You enter the following information:

♦ The name of each DataSource that you want to process

♦ The name of the processing workflow that processes the DataSource data

♦ The name of the send request workflow that requests data from SAP for the next DataSource

When you schedule the workflows, you enter the names of each DataSource and each processing workflow. You also enter the names of all but one of the send request workflows. You do not enter the name of the send request workflow that requests the first DataSource you want to process.

Table 15-2 displays how to schedule the workflows for each DataSource:

The Integration Service requests the DS1 DataSource first. It uses the sr_DS1 send request workflow. BCI_Scheduling_Target does not schedule the sr_DS1 send request workflow. Instead, start the sr_DS1 workflow. BCI_Scheduling_Target requests that the Integration Service start the remaining workflows in the following order:

1. When BCI_Scheduling_Target receives the complete data for DS1, it requests that the Integration Service start the pr_DS1 processing workflow.

2. When pr_DS1 completes, BCI_Scheduling_Target requests that the Integration Service start the sr_DS2 send request workflow. This workflow requests data from SAP for the DS2 DataSource.

3. When BCI_Scheduling_Target receives the complete data for the DS2 DataSource, it requests that the Integration Service start the pr_DS2 processing workflow.

4. When pr_DS2 completes, BCI_Scheduling_Target requests that the Integration Service start the sr_DS3 send request workflow. This workflow requests data from SAP for the DS3 DataSource.

Table 15-2. Scheduling the Processing of DataSources

DataSource Processing Workflow

Send Request Workflow

DS1 pr_DS1 sr_DS2

DS2 pr_DS2 sr_DS3

DS3 pr_DS3

316 Chapter 15: Business Content Integration

Page 341: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

5. When BCI_Scheduling_Target receives the complete data for the DS3 DataSource, it requests that the Integration Service start the pr_DS3 processing workflow.

ExampleTable 15-3 lists the sample processing and send request workflows that you imported from BCI_Mappings.xml:

Figure 15-8 displays how BCI_Scheduling_Target schedules these sample processing and send request workflows:

Table 15-3. Sample Processing and Send Request Workflows

Workflow Name Processing/ Send Request Action

wf_send_request_article_attr Send Request Sends a request to SAP for the 0ARTICLE_ATTR DataSource.

wf_article_attr Processing Processes the 0ARTICLE_ATTR DataSource.

wf_send_request_article_text Send Request Sends a request to SAP for the 0ARTICLE_TEXT DataSource.

wf_article_text Processing Processes the 0ARTICLE_TEXT DataSource.

Figure 15-8. Scheduling the Processing and Send Request Workflows

Processing Workflows

Send Request Workflows

Sessions for Selected Workflow

Data Sources

Add a New Key

Add a New Task

Step 8. Schedule the Processing and Send Request Workflows 317

Page 342: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The wf_send_request_article_attr workflow sends the request for the 0ARTICLE_ATTR DataSource which is the first DataSource to be processed. BCI_Scheduling_Target does not include this workflow. Instead, you manually start this first send request workflow. BCI_Scheduling_Target requests that the Integration Service start the remaining workflows in the following order:

1. wf_article_attr processing workflow

2. wf_send_request_article_text send request workflow

3. wf_article_text processing workflow

Steps to Schedule the Processing and Send Request WorkflowsWhen you schedule the processing and send request workflows, you also enter the names of each session in the workflows. Before you start this procedure, you need to know the name of each workflow, the name of each session within the workflow, and the order that the sessions are scheduled to run.

To schedule the processing and send request workflows:

1. In the Workflow Manager, stop the listener workflow.

If you are editing workflows you have already scheduled, make sure that no send request or processing workflow is running before you stop the listener workflow.

2. In the Designer, drag the BCI_Scheduling_Target LMAPI target into the Target Designer workspace.

3. Open BCI_Scheduling_Target.

4. Click the Scheduling Information tab.

5. In the Indicator Table field, enter the name of the database table you created for the Indicator relational target, as explained in “Creating Database Tables for PowerCenter Objects” on page 296.

By default, the name is Indicator.

6. Delete the sample keys.

7. Add a new key and enter the following information for the key:

Property Required/ Optional Description

Key Required Name of the DataSource that you want to process. You can enter each DataSource only once.

Primary Workflow Name

Required Name of the processing workflow that processes this DataSource.

Secondary Workflow Name

Required/ Optional

Name of the send request workflow that sends a request to SAP for the next DataSource. Do not enter a send request workflow for the last DataSource that you process.

318 Chapter 15: Business Content Integration

Page 343: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

8. Select the primary workflow name and in Session Task Information, add a new task for each session in the workflow.

9. Enter the name of each session in the order the tasks are scheduled to run.

10. Select the secondary workflow name and add the name of each session.

11. Complete steps 7 to 10 to create a key for each DataSource that you want to process.

You do not need to enter the keys in any particular order.

12. Click OK.

13. Click Repository > Save.

14. In the Workflow Manager, start the listener workflow.

15. Start the send request workflow that requests the first DataSource data you want to process.

Step 8. Schedule the Processing and Send Request Workflows 319

Page 344: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

I cannot connect to SAP to create a processing mapping with my user name.

You may not have configured your user name as a logical system user name. For more information, see “Defining PowerCenter as a Logical System in SAP” on page 31.

I cannot see the DataSource for which I want to create a processing mapping.

You may not have activated the DataSource within SAP. Activate the DataSource within SAP. For more information, see “Step 1. Prepare DataSources in SAP” on page 294.

Not all the fields in the DataSource are visible when I create a processing mapping.

Some fields in the DataSource may be hidden. Use transaction RSA6 in SAP to clear the hidden fields. For more information, see “Step 1. Prepare DataSources in SAP” on page 294.

The update did not return the data I expected. How can I make sure everything is working properly?

There may be problems within SAP or the DataSource may have hidden fields. Use transaction RSA3 in SAP to test the extraction within SAP using the same data selection criteria as the delta update. You can then compare the results with the results from the delta update. For more information about hidden fields, see the previous troubleshooting tip.

My session failed with a timestamp error.

The request file is older than the latest processing mapping for that DataSource. Deploy the request file for the latest processing mapping created for the DataSource. For more information, see “Step 5. Deploy the Request Files” on page 312.

320 Chapter 15: Business Content Integration

Page 345: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Part VII: BW Data Extraction

321

This part contains the following chapter:

♦ Extracting Data from BW, 323

Page 346: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

322

Page 347: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 6

Extracting Data from BW

This chapter includes the following topics:

♦ Overview, 324

♦ Step 1. Create a BW InfoSpoke, 325

♦ Step 2. Create a PowerCenter Mapping, 326

♦ Step 3. Configure a PowerCenter Workflow, 327

♦ Step 4. Configure a Process Chain to Extract Data, 328

♦ Viewing Log Events, 332

♦ Troubleshooting, 333

323

Page 348: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

To use BW data as a source in a PowerCenter session, you first create an InfoSpoke in BW. You can configure the InfoSpoke to filter and transform the data before writing it to the SAP transparent table or file.

In the PowerCenter Designer, import the SAP transparent table or file as an SAP R/3 source definition when creating a mapping. In the Workflow Manager, create a workflow and session for the mapping.

To automate extracting data from BW, use the ZPMSENDSTATUS ABAP program that Informatica provides. When executed, the ABAP program calls the SAP BW Service which initiates the PowerCenter workflow. You then create a process chain to link the InfoSpoke data extraction program with the ZPMSENDSTATUS ABAP program. Finally, you can configure the process chain in BW to perform the data extraction and initiate the call to the PowerCenter workflow automatically on a scheduled basis.

Complete the following steps to configure the BW system and PowerCenter Connect for SAP NetWeaver BW Option to extract data from BW:

1. Create an InfoSpoke. Create an InfoSpoke in the BW system to extract the data from BW and write it to an SAP transparent table or file.

2. Create a mapping. Create a mapping in the Designer that uses the SAP transparent table or file as an SAP R/3 source definition.

3. Create a PowerCenter workflow to extract data from BW. Create a PowerCenter workflow to automate the extraction of data from BW.

4. Create a process chain to extract data. A BW process chain links programs together to run in sequence. Create a process chain to link the InfoSpoke and ABAP programs.

When the data extraction has begun, you can view log events to help you track the interactions between PowerCenter and SAP BW.

324 Chapter 16: Extracting Data from BW

Page 349: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 1. Create a BW InfoSpoke

An InfoSpoke extracts data from BW and writes it to an SAP transparent table or file. You can configure the InfoSpoke with selection criteria to filter the BW data and BW transformations to transform the data before the InfoSpoke writes it to an SAP transparent table or file. The InfoSpoke writes the data to SAP transparent tables with the naming convention \BIC\OH\<table_name>.

To create an InfoSpoke:

1. In the BW Administrator Workbench, click Tools > Open Hub Service > Create InfoSpoke.

2. Enter a unique name for the InfoSpoke.

3. Select a Template.

4. Right-click and select Change.

The Create InfoSpoke window appears.

5. From the General tab in the Create InfoSpoke window, select a data source from which to extract data.

If you select an InfoCube as the data source for the InfoSpoke, there may be discrepancies between the current InfoCube data and the extracted data written to the SAP transparent table. The discrepancies are due to short dumps. For more information, see the BW documentation.

6. From the Destination tab, select DB Table or File.

7. Enter a destination for the SAP transparent table or file.

8. Optionally, enable Delete Table Before Extraction.

Use this option if you want to extract the BW data even if it has not changed since the last time you ran the InfoSpoke in full extraction mode. If you do not select this option and the BW data has not changed since the last time you ran the InfoSpoke in the full extraction mode, you receive the SAPSQL_ARRY_INSERT_DUPREC exception.

9. From the InfoObjects tab, select the InfoObjects to define the extract structure.

10. Optionally, enter selection criteria to restrict the data being extracted.

11. Optionally, add transformations to perform on the data being extracted.

12. Save and Activate the InfoSpoke.

13. Run the InfoSpoke to extract the data and create the SAP transparent table or file that you use as a source to create a mapping.

Step 1. Create a BW InfoSpoke 325

Page 350: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 2. Create a PowerCenter Mapping

To create the mapping, import the SAP transparent table or file created by the InfoSpoke into the Designer as an SAP R/3 source. You then use this source definition to create a mapping.

Creating the Mapping from an SAP Transparent TableUse the same procedure for importing an SAP IDoc hierarchical source definition to create the source definition for the mapping. The InfoSpoke writes the data to SAP transparent tables that follow the naming convention \BIC\OH\<table_name>. For more information, see “Importing SAP R/3 Source Definitions” on page 63.

Creating the Mapping from a FileWhen you extract data to a file, BW writes the data to one file and the metadata to a delimited metadata file. To create the mapping in PowerCenter, manually create the source definition based on the contents of the delimited metadata file.

When BW creates the delimited metadata file, BW converts all date, time, and numeric datatypes to character strings. You need to convert these strings to the appropriate datatypes when you create the expression transformation.

Perform the following tasks to create the mapping from a file:

1. Create a flat file source definition. Manually create each port corresponding to the columns in the delimited metadata file. Also provide exact datatype, precision, and scale information for each port.

2. Create a Source Qualifier transformation for the flat file source.

3. Create an Expression transformation. Apply the appropriate transformation datatypes to the ports that have date, time, or numeric datatypes in BW.

326 Chapter 16: Extracting Data from BW

Page 351: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 3. Configure a PowerCenter Workflow

To configure a PowerCenter workflow to extract data from BW, follow the same procedure as configuring a PowerCenter workflow for an ABAP mapping with an SAP R/3 source definition. For more information, see “Configuring Sessions with SAP R/3 Sources” on page 153.

Schedule the workflow to run on demand. This enables the ABAP program you import into BW to call the SAP BW Service. For more information about importing the ABAP program into SAP BW, see “Importing the ABAP Program into SAP BW” on page 59.

Note: You will use the exact name of the PowerCenter workflow in “Step 4. Configure a Process Chain to Extract Data” on page 328.

Step 3. Configure a PowerCenter Workflow 327

Page 352: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 4. Configure a Process Chain to Extract Data

You can configure a process chain to extract data. A BW process chain links an InfoSpoke that extracts the data and writes it to an SAP transparent table or file and the ZPMSENDSTATUS ABAP program that calls the SAP BW Service. A process chain helps you identify the point of failure in case of a system failure.

After you insert the ABAP program into the process chain, create a variant for the program. A variant is a BW structure that contains parameter values that BW passes during program execution. For more information, see the BW documentation.

Complete the following steps in the BW system to configure a process chain to extract data from BW:

1. Create the process chain and insert the start process.

2. Insert an InfoSpoke process.

3. Insert the ZPMSENDSTATUS ABAP program.

For more information about creating a process chain to extract data from BW, see Knowledge Base article 17559.

Creating the Process Chain and Inserting the Start ProcessWhen you create the process chain and insert the start process, you also schedule the process chain.

To create the process chain and insert the start process:

1. From the Administrator Workbench in BW, click SAP Menu > Administration > RSPC - Process Chains.

The Process Chain Maintenance Planning View window appears.

2. Click Create.

The New Process Chain dialog box appears.

3. Enter a unique name for the process chain and enter a description.

4. Click Enter.

The Insert Start Process dialog box appears.

5. Click Create.

The Start Process dialog box appears.

6. Enter a unique name for the start process variant and enter a description.

7. Click Enter.

The Maintain Start Process window appears.

8. Click Change Selections to schedule the process chain.

328 Chapter 16: Extracting Data from BW

Page 353: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The Start Time window appears.

9. To schedule the process chain to run immediately after you execute it, click Immediate.

10. Click Save.

11. In the Maintain Start Process window, click Cancel.

12. In the Insert Start Process dialog box, click Enter.

The start process appears in the Process Chain Maintenance Planning View window.

Inserting an InfoSpoke ProcessInsert a process for the InfoSpoke you created in BW. For more information about creating an InfoSpoke in BW, see “Step 1. Create a BW InfoSpoke” on page 325.

To insert an InfoSpoke process:

1. In the Process Chain Maintenance Planning View window, click Process Types.

2. From the Process Types menu, click Load Process and Post-Processing > Data Export Into External Systems.

3. The Insert Data Export into External Systems dialog box appears.

4. For the Process Variants field, click the browse button to select the InfoSpoke you created.

5. Click Enter.

The InfoSpoke process appears in the Process Chain Maintenance Planning View window.

6. Click the start process description and drag to link the start process to the InfoSpoke process.

Inserting the ZPMSENDSTATUS ABAP ProgramBefore you can insert the ZPMSENDSTATUS ABAP program into a process chain, you must import the program into SAP BW. For more information, see “Importing the ABAP Program into SAP BW” on page 59.

To insert the ZPMSENDSTATUS ABAP program:

1. In the Process Chain Maintenance Planning View window, click Process Types.

2. From the Process Types menu, click General Services > ABAP Program.

The Insert ABAP Program dialog box appears.

3. Click Create.

The ABAP Program dialog box appears.

4. Enter a unique name for the ABAP program process variant and enter a description.

Step 4. Configure a Process Chain to Extract Data 329

Page 354: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

5. Click Enter.

The Process Maintenance: ABAP Program window appears.

6. In the Program Name field, click the browse button to select the ZPMSENDSTATUS ABAP program.

7. Click Change next to the Program Variant field.

The ABAP: Variants - Initial Screen window appears.

8. Click Create.

9. In the ABAP: Variants dialog box, enter a name for the ABAP variant and click Create.

The Maintain Variant window appears.

10. For the DEST field, select the name of the RFC destination.

11. For the INFPARAM field, enter the exact PowerCenter workflow name that you created to extract BW data.

Enter the workflow information in one of the following formats:

♦ <PowerCenter workflow name>

♦ <PowerCenter folder name>: <PowerCenter workflow name>

♦ <PowerCenter folder name>: <PowerCenter workflow name>: <PowerCenter session name>

12. For the CONTEXT field, enter OHS.

Do not enter any value in the INFOPAK field.

13. Click Save and Exit in the Maintain Variant window.

14. Click Save and Exit in the ABAP Variants window.

15. Click Save and Exit in the Process Maintenance: ABAP Program window.

16. Click Enter in the Insert ABAP Program dialog box.

The ABAP program appears in the Process Chain Maintenance Planning View window.

17. Click the InfoSpoke process description and drag to link the InfoSpoke process to the ABAP program.

When prompted, click Successful condition.

18. In the Process Chain Maintenance Planning View window, click Checking View and then click Activate.

19. Click Execute and assign the process chain to a specific BW server.

If you scheduled the process chain to run immediately, the process chain starts running on the assigned BW server.

20. Optionally, to view the status of the process chain, click Job Overview.

The Simple Job Selection window appears.

330 Chapter 16: Extracting Data from BW

Page 355: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

21. Enter selection criteria to specify which process chains you want to monitor and click Execute.

The Job Overview window appears.

22. Select the BI_PROCESS_ABAP job and click Job Log.

The Job Log Entries window appears. It includes an entry about the status of the PowerCenter workflow that the process chain was configured to start.

Step 4. Configure a Process Chain to Extract Data 331

Page 356: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Viewing Log Events

The SAP BW Service captures log events that track interactions between PowerCenter and SAP BW. In addition to capturing its own log events, the SAP BW Service captures log events when it receives the following information from the BW system and the Integration Service:

♦ A request from the BW system to start a PowerCenter workflow.

♦ A message from the Integration Service that it has successfully started a workflow to extract data from BW.

♦ A message from the Integration Service indicating whether the PowerCenter session failed or succeeded.

♦ Status information from the ZPMSENDSTATUS ABAP program in the BW process chain that extracts data from BW.

When extracting data from BW, you can view SAP BW Service log events in the PowerCenter Administration Console. On the Log tab, enter search criteria to find SAP BW Service log events. For more information, see “Managing Logging” in the PowerCenter Administrator Guide.

To view log events about how the Integration Service processes a BW workflow, view the session or workflow log. For more information, see “Session and Workflow Logs” in the PowerCenter Workflow Administration Guide.

332 Chapter 16: Extracting Data from BW

Page 357: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

The BW Process Chain log reports an invalid RFC destination.

The RFC destination you specified when creating the process chain is inaccurate. Make sure the RFC destination for the process chain is valid.

The BW Process Chain log reports an invalid folder, workflow, or session name.

The folder, workflow, or session name you specified when creating the process chain is inaccurate. Check the workflow for the exact folder, workflow, or session name and update the process chain accordingly.

I ran a session that successfully extracted data from SAP BW, but the PowerCenter Administration Console log includes irrelevant messages about the session.

This may occur if you entered an invalid value for the CONTEXT field in the ZPMSENDSTATUS ABAP program when creating the process chain. You must enter OHS for the CONTEXT field in a process chain that extracts data.

Troubleshooting 333

Page 358: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

334 Chapter 16: Extracting Data from BW

Page 359: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

335

Part VIII: BW Data Loading

This part contains the following chapter:

♦ Building BW Components to Load Data into BW, 337

♦ Building PowerCenter Objects to Load Data into BW, 347

♦ Loading Data into BW, 359

Page 360: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

336

Page 361: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 7

Building BW Components to Load Data into BW

This chapter includes the following topics:

♦ Overview, 338

♦ Step 1. Create an InfoSource, 343

♦ Step 2. Assign an External Logical System, 345

♦ Step 3. Activate the InfoSource, 346

337

Page 362: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

To load data into SAP BW, first create components within the BW system. You create an InfoSource, assign it to the PowerCenter logical system that you created in SAP BW, and activate the InfoSource. When you create and activate the InfoSource, you specify the InfoSource type and the transfer method that the PowerCenter workflow uses to load data into the InfoSource.

InfoSources for Loading DataYou can load data into InfoSources when you run a PowerCenter workflow. The Integration Service can load data into two types of InfoSources:

♦ InfoSource for transaction data. Load data that changes often and is dependent on master data into an InfoSource for transaction data. For example, you can assign transaction data about sales development to a vendor’s master data and use the transaction data to determine the total sales of a vendor.

♦ InfoSource for master data. Load frequently-used data that remains constant over a long period of time into an InfoSource for master data. For example, the master data of a vendor may contain the name, address, and bank account information for the vendor. Create an InfoSource for master data when you want to load data into an SAP BW hierarchy.

When you load data into InfoSources on SAP BW 7.0, you must use 3.x InfoSources. For more information about the types of InfoSources into which you can load, see the SAP BW documentation.

SAP BW HierarchyYou can create a PowerCenter workflow to load data into an SAP BW hierarchy. When you want to load data into a hierarchy, create an InfoSource for master data in the target SAP BW system. After you create the InfoSource, import the hierarchy as a target definition into the Designer. When you import the definition of a hierarchy, the Designer creates a transfer structure with fields that make up the structure of the SAP BW hierarchy.

An SAP BW hierarchy is a tree-like structure that defines classes of information. Each level of the hierarchy represents a different class. An SAP BW hierarchy displays an SAP BW characteristic, which is a reference object with dimensions. The hierarchy is structured and grouped according to individual evaluation criteria based on the characteristic. The structure at each level of the hierarchy is called a node.

A hierarchy has the following types of nodes:

♦ Root node. The root node is the highest node in the structure and is the origin of all other nodes. The root node represents the hierarchy.

♦ Child node. A child node is a node that is subordinate to another node.

♦ Leaf node. Leaf nodes are the lowest level in the hierarchy. Leaf nodes do not have any successor nodes.

338 Chapter 17: Building BW Components to Load Data into BW

Page 363: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure 17-1 shows a sample hierarchy for the Sales characteristic:

The root node represents the Sales department in an organization with two regions as child nodes and four cities as leaf nodes.

You can configure the structure of a hierarchy in the SAP BW InfoSource properties. The following settings define the structure of an SAP BW hierarchy:

♦ Sorted hierarchy. A sorted hierarchy defines the sequence of nodes for each level of a hierarchy. When you specify a sorted hierarchy, each child node is ordered in relation to its sibling nodes.

♦ Interval hierarchy. An interval hierarchy specifies a range of characteristic values. You can use one interval to represent multiple leaf nodes. You define an interval in SAP BW by setting a range of values.

♦ Time-dependent hierarchy. A time-dependent hierarchy specifies a range of dates. You can define either the entire hierarchy or the hierarchy structure as time-dependent. When the entire hierarchy is time-dependent, it is valid only in a defined range of dates. When the hierarchy structure is time-dependent, the nodes in the hierarchy change for specified periods of time while the name and version of the hierarchy remain static. You define a date range in SAP BW by setting a range of dates.

♦ Version-dependent hierarchy. Version-dependent hierarchies have the same name, but different versions.

When you import an InfoSource with a hierarchy as an SAP BW target definition, the Designer only creates the fields in the transfer structure definition that are necessary to replicate the structure of the SAP BW hierarchy defined in SAP BW.

Figure 17-1. Sample SAP BW HierarchySalesID = 1

AsiaID = 2

N. AmericaID = 3

TokyoID = 4

AustinID = 7

Root Node

Leaf NodeBangaloreID = 5

Redwood CityID = 6

Child Node

Overview 339

Page 364: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 17-1 shows the fields the Designer can create in the SAP BW target definition when you import metadata for a hierarchy definition from SAP BW:

If you import different versions of a hierarchy into an SAP BW target definition, the hierarchy name includes the version. If you import a hierarchy with time-dependent values, the hierarchy name contains the date range specified for the hierarchy.

During a PowerCenter workflow, the Integration Service loads the hierarchy into the transfer structure fields. For example, you can load the sample hierarchy in Figure 17-1 into the transfer structure defined in Table 17-2.

Table 17-2 shows the transfer structure for the sample hierarchy in Figure 17-1:

Table 17-1. Sample Fields Used in SAP BW Hierarchies

Field Name Hierarchy Type Description

NODEID All hierarchies Local and unique identifier for the hierarchy node.

INFOOBJECT All hierarchies InfoObject that is referenced by the hierarchy node.

NODENAME All hierarchies Name of the hierarchy node.

LINK All hierarchies Specifies a field as a link node.

PARENTID All hierarchies NODEID of the parent node of the hierarchy node.

CHILDID Sorted hierarchy NODEID of the first child node of the hierarchy node.

NEXTID Sorted hierarchy NODEID of the sibling node following the hierarchy node.

DATEFROM Time-dependent hierarchy Start date in a range of dates.

DATETO Time-dependent hierarchy End date in a range of dates.

LEAFFROM Interval hierarchy Lower limit for an interval node.

LEAFTO Interval hierarchy Upper limit for an interval node.

LANGU All hierarchies Language.

TXTSH All hierarchies Short text.

TXTMD All hierarchies Medium text.

TXTLG All hierarchies Long text.

Table 17-2. Sample Hierarchy Transfer Structure

Node ID

InfoObject

Node Name

Parent ID

Child ID

Next ID Langu TXTSH TXTMD TXTLG

1 0HIER_NODE Sales 2 EN Sales Sales Sales

2 0HIER_NODE Asia 1 4 3 Asia Asia Asia

3 0HIER_NODE N. America

1 6 N. America

N. America

N. America

4 0LOCATION Tokyo 2 5

340 Chapter 17: Building BW Components to Load Data into BW

Page 365: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Transfer Methods for Loading Data into SAP BWWhen you load data into SAP BW from PowerCenter, specify which transfer method you want to use. Specify the transfer method in the SAP BW Administrator when you define the Transfer Rules-Transfer Method and the InfoPackage-Data Target.

You can use the following transfer methods to load data into SAP BW:

♦ IDoc transfer method. Use to synchronously move data from transfer structures to InfoCubes.

♦ PSA transfer method. Use when you want to load data into the Persistent Storage Area (PSA) before writing the data to the Operational Data Store (ODS) or InfoCube.

For more information about specifying the transfer method, see “Step 3. Activate the InfoSource” on page 346.

IDoc Transfer MethodWhen you use the IDoc transfer method, the Integration Service loads data into a transfer structure for SAP BW. The IDoc transfer method allows you to process a data load at the same time the InfoPackage runs.

PSA Transfer MethodWhen you use the PSA transfer method in SAP BW, the Integration Service loads data into SAP BW, which stores the data in a PSA. SAP BW only updates or transforms the data after it has been stored in the PSA. You have the following PSA transfer options to load data into the data target when you configure the InfoPackage:

♦ Data targets (ODS, InfoCube, or InfoSource) only

♦ PSA Only

♦ PSA then data targets

♦ PSA and data targets in parallel

For faster performance, use the PSA Only option. After the source system loads the PSA, you can update the InfoCubes in SAP BW.

For more information about transfer methods for loading into SAP BW, see the SAP BW documentation.

5 0LOCATION Bangalore 2

6 0LOCATION Redwood City

3 7

7 0LOCATION Austin 3

Table 17-2. Sample Hierarchy Transfer Structure

Node ID

InfoObject

Node Name

Parent ID

Child ID

Next ID Langu TXTSH TXTMD TXTLG

Overview 341

Page 366: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Steps to Build BW Components to Load Data into BWTo load data into SAP BW, build the following components in the SAP BW Administrator Workbench:

1. Create the InfoSource in SAP BW. The InfoSource represents a provider structure. You create it in the SAP BW Administrator Workbench, and you import the definition into the PowerCenter Target Designer.

2. Assign the InfoSource to the PowerCenter logical system. After you create an InfoSource, assign it to the PowerCenter logical system that you created in SAP BW.

3. Activate the InfoSource. When you activate the InfoSource, you activate the InfoObjects and the transfer rules.

After you build and activate the components, you can import InfoSources into PowerCenter and build mappings. For more information, see “Building PowerCenter Objects to Load Data into BW” on page 347.

342 Chapter 17: Building BW Components to Load Data into BW

Page 367: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 1. Create an InfoSource

InfoSources are equivalent to target tables in the SAP BW operational data store. The logical system you created for PowerCenter in SAP BW populates the InfoSource with data. For more information about creating the logical system for PowerCenter, see “Defining PowerCenter as a Logical System in SAP BW” on page 52.

Creating an InfoSourceYou can create InfoSources in SAP BW using the Administrator Workbench.

To create an InfoSource:

1. In the Administrator Workbench, click InfoSources.

2. Right-click the InfoSources folder, and select Create application component.

3. Enter the following information and click Check:

The application component appears in the Workbench.

4. Right-click the application component and select Create InfoSource.

5. In the Create InfoSource dialog box, choose the InfoSource type.

Choose Direct update of Master Data to create an InfoSource with a hierarchy.

6. Click Check.

The InfoSource appears in the Administrator Workbench.

Configuring Hierarchy StructureAfter creating an InfoSource, you can include an InfoObject with a hierarchy in the InfoSource. After associating the InfoObject containing a hierarchy with an InfoSource, you can configure the hierarchy structure in the InfoSource properties.

If you want to create an InfoSource with a hierarchy in SAP BW, you need to specify that the InfoObject you want to include in the InfoSource will be used in a hierarchy. On the Hierarchy tab of the InfoObject details window, ensure that “with hierarchies” is selected. You assign this InfoObject to the InfoSource when you create the InfoSource. To configure and use an SAP BW hierarchy, create an InfoSource for master data.

After you create the InfoSource, select the InfoSource properties to configure the hierarchy structure.

Parameter Description

Application Comp Organizes logical systems.

Long Description Description of the application component.

Step 1. Create an InfoSource 343

Page 368: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

To configure the hierarchy structure for an InfoSource with a hierarchy:

1. Double-click the InfoSource.

2. Select Transfer_Structure/Transfer_Rules.

3. Enter values for the Source System and the DataSource options.

Ensure the value for the DataSource option is a hierarchy.

4. Click Hier. Structure to enter the name for the hierarchy.

You can select additional properties to configure the structure of the hierarchy. For more information about configuring the structure of a hierarchy in the SAP BW InfoSource properties, see “SAP BW Hierarchy” on page 338.

5. Save the InfoSource.

For more information about using hierarchies in SAP BW, see the SAP BW documentation.

344 Chapter 17: Building BW Components to Load Data into BW

Page 369: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 2. Assign an External Logical System

After you create an InfoSource, you need to associate it with the external logical system you created for PowerCenter in SAP BW. For more information about creating the external logical system for PowerCenter, see “Defining PowerCenter as a Logical System in SAP BW” on page 52. You also need to add metadata to the InfoSource.

To assign an external logical system and metadata:

1. In the Administrator Workbench, right-click the InfoSource and select Assign DataSource.

2. Select the external logical system that you created for PowerCenter and click Check.

3. Add InfoObjects to the InfoSource.

The InfoObjects you use in the InfoSource display as ports in the PowerCenter targets. For more information about creating InfoObjects, see the SAP BW documentation.

4. After creating metadata, click Check to return to the Administrator Workbench.

Step 2. Assign an External Logical System 345

Page 370: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 3. Activate the InfoSource

The InfoSource contains the metadata used as the basis for the transfer and communication structure. When you activate the InfoSource, you also maintain the transfer rules and communication structure. Transfer rules must be active for PowerCenter to load data into the transfer structure.

To activate the InfoSource:

1. From the Administrator Workbench, right-click the InfoSource and select Change.

2. Select the InfoObjects and move them into the communication structure.

3. Click the Activate button.

4. Select the Transfer rules tab.

5. Select one of the following transfer methods and click Activate:

For more information about the transfer methods, see “Transfer Methods for Loading Data into SAP BW” on page 341.

Note: If you want to populate an InfoCube, also define it in the SAP BW Administrator Workbench. Define the update rules to update the InfoCube from the transfer structure.

Method Description

IDoc Use IDoc to synchronously move data from transfer structure to InfoCube.

PSA Use PSA to load data into the PSA.

346 Chapter 17: Building BW Components to Load Data into BW

Page 371: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 8

Building PowerCenter Objects to Load Data into BW

This chapter includes the following topics:

♦ Overview, 348

♦ Step 1. Import an InfoSource, 349

♦ Step 2. Create a Mapping, 351

♦ Filtering Data to Load into SAP BW, 352

347

Page 372: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

After you create and activate an InfoSource in SAP BW, use the Designer to import the InfoSource as an SAP BW target definition. You can then include the SAP BW target definition in a mapping to write data to SAP BW during a PowerCenter session.

Configuring a Mapping to Filter DataWhen you create a mapping, you can configure the mapping to filter data before loading into an SAP BW target. Filtering data increases session performance when the selection occurs during the extraction process, minimizing the amount of records loaded into SAP BW.

To filter data, you configure a data selection in the Data Selection tab of the SAP BW InfoPackage. You then configure the Source Qualifier or Filter transformation in the mapping to use mapping parameters to represent the data selection entry you configured in SAP BW.

348 Chapter 18: Building PowerCenter Objects to Load Data into BW

Page 373: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 1. Import an InfoSource

In the Target Designer, you can connect to an SAP BW data source, browse its contents, and import selected transfer structures as targets.

To import an InfoSource:

1. From the Target Designer, click Targets > Import from SAP BW.

2. From the Import SAP BW Metadata dialog box, enter the following information:

3. Click Connect to view the available InfoSources.

Field Description

Connect String Type A or Type B destination entry in the saprfc.ini file. When you import an SAP BW InfoSource for the first time, the Designer reads the saprfc.ini file and displays the first DEST entry as the connect string. After the first time you import an SAP BW InfoSource, the Designer stores and displays the DEST entry used for the previous import. Select the DEST parameter that specifies the SAP BW source system from which you want to import InfoSources.

Username SAP BW user name.

Password SAP BW password for the above user name.

Client SAP BW client number.

Language The language in which you want to receive messages from the SAP BW system while connected through this dialog box. Use a language code valid for the SAP BW system you are connecting to. If you leave this blank, PowerCenter uses the default language of the SAP system to connect to SAP BW.

Step 1. Import an InfoSource 349

Page 374: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

4. From the list of transfer structures, find the InfoSource you want to import.

If you import an InfoSource from the Master Transfer List, you can select to import Attribute and/or Text InfoSources.

5. Select the InfoSources you want to import.

♦ Hold down the Shift key to select blocks of sources.

♦ Hold down the Ctrl key to make non-contiguous selections within a folder.

♦ Use the Select All button to select all tables.

♦ Use the Select None button to clear all selections.

6. Click Add To Import List.

7. To view the list, click View Import List.

The Import List dialog box appears.

8. To remove items from the list that you do not want to import, select the item and click Delete.

9. Click Close to close the Import List dialog box.

You cannot include multiple InfoSources with the same name from different source systems when you select InfoSources to import. Import multiple InfoSources with the same name from different source systems separately.

10. When the Import List is complete, click OK.

The InfoSource definitions display as target tables in the Target Designer. SAP BW may add /BIC/ to the SAP BW InfoObject name.

Tip: If the target displays the correct InfoSource name, but no ports display, make sure you correctly followed the steps to create an InfoSource in SAP BW.

InfoSources

350 Chapter 18: Building PowerCenter Objects to Load Data into BW

Page 375: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 2. Create a Mapping

When you import InfoSources into the Target Designer, the PowerCenter repository stores them as target definitions. You can use these target definitions in mappings that load data into SAP BW.

The following restrictions apply to building mappings with InfoSource targets:

♦ You cannot use SAP BW as a lookup table.

♦ You can only use one transfer structure for each mapping.

♦ You cannot execute stored procedures in an SAP BW target.

♦ You cannot partition pipelines with an SAP BW target.

♦ You cannot build update strategy in a mapping. SAP BW supports only inserts. It does not support updates or deletes. You can use an Update Strategy transformation in a mapping, but the Integration Service attempts to insert all records, including those marked for update or delete.

For more information about creating a mapping, see “Mappings” in the PowerCenter Designer Guide.

Step 2. Create a Mapping 351

Page 376: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Filtering Data to Load into SAP BW

When you want to filter data before loading into an SAP BW target, you need to configure the SAP BW InfoPackage with data selections. After you configure the InfoPackage for data selection, you create a mapping in the PowerCenter Designer to filter data. Configure the mapping with mapping parameters that reference the data selections you have specified in the SAP BW InfoPackage. Use the mapping parameters to represent the SAP BW data selection entry in the SAP BW InfoPackage.

After you configure SAP BW and PowerCenter to filter data, you can start an SAP BW workflow to load data into SAP BW. When the SAP BW Scheduler sends a request to the Integration Service to start a workflow, it includes the SAP BW data selection entries as part of the request. The SAP BW Service converts the SAP BW data selection entries into the PowerCenter transformation language and writes the values that define the data selection entry into a temporary parameter file. It uses the SAP BW request ID as the name for the parameter file. For example, if the SAP BW request ID is REQU_2AME24K7YDXL2DMA2YC0ZP9CM, the SAP BW Service creates a temporary parameter file of the same name.

When the Integration Service extracts data from a source system to load into SAP BW, it uses the temporary parameter file to evaluate the mapping parameters that you specified in the mapping to filter data. The SAP BW Service deletes the temporary parameter file after the workflow ends. During the workflow, you can view each data selection entry specified in the SAP BW InfoPackage in the session log.

For more information about configuring and viewing the data selection entries in SAP BW, see “Step 2. Configure an InfoPackage” on page 364. You specify the location for the parameter file when you create the SAP BW Service. For more information, see “Creating and Configuring the SAP BW Service” in the PowerCenter Administrator Guide.

Filtering Data from a Relational SourceWhen you create a mapping to filter data from a relational source to load into SAP BW, perform the following tasks:

♦ Ensure that the name of each source field is between three and nine characters. Otherwise, the Integration Service does not apply the data selection entry that you configure in SAP BW when it extracts data from the relational source.

♦ Create a mapping parameter called $$BWFILTERVAR to represent the data selection entries you entered in the SAP BW InfoPackage.

♦ Use the mapping parameter in a filter condition to filter data from the source. You enter a filter condition in the Source Qualifier transformation for a relational source.

♦ Make sure the part of the field name after “/BIC/” in the SAP BW target definition matches the name of the field in the source definition. For example, if the source field is named “LocationID,” the target field must be named “/BIC/LocationID.”

For example, you want to extract data from an Oracle source and load it into SAP BW. You want to filter data such that the Integration Service only extracts records where EmpID is

352 Chapter 18: Building PowerCenter Objects to Load Data into BW

Page 377: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

between 2222 and 9999 and DeptID equals 804. You configure the SAP BW InfoPackage accordingly for data selection.

Table 18-1 shows the data selection entries you configure in the SAP BW InfoPackage:

When the SAP BW Scheduler sends the SAP BW Service a workflow request, the SAP BW Service receives the data selection information for the relational source and writes it to the temporary parameter file. For example, the SAP BW Service writes the following to the temporary parameter file for the data selections defined in Table 18-1:

$$BWFILTERVAR=“EmpId” >= ‘2222’ AND “EmpId” <= ‘9999’ AND (“DeptId” = ‘804’)

During a PowerCenter workflow, the Integration Service uses the value of the $$BWFILTERVAR mapping parameter to filter data from the Oracle source.

For more information about creating a mapping parameter to extract data from a relational source to load into SAP BW, see “Configuring Mapping Parameters for SAP BW Data Selection” on page 357. For more information about entering a filter condition in a Source Qualifier transformation, see “Source Qualifier Transformation” in the PowerCenter Transformation Guide.

Filtering Data from a Flat File SourceWhen you want to filter data from a flat file source to load into SAP BW, create one or more mapping parameters based on the data selection entries configured in SAP BW. Create a mapping parameter for each value that defines a data selection entry in the SAP BW InfoPackage.

For example, you have an InfoPackage that contains only one data selection entry. If the data selection entry specifies a value for the FromValue field without specifying a value for the ToValue field, you only create one mapping parameter. If the data selection entry specifies values for both the FromValue and the ToValue fields, you need to create a mapping parameter for each value.

After you create a mapping parameter for each value in the SAP BW data selection entries, use the mapping parameters in a filter condition to filter data from the source. You enter a filter condition in the Filter transformation for a flat file source.

For example, you want to extract data from a flat file source and load it into SAP BW. You want to filter data to extract only records where EmpID is between 1108 and 1129. You configure the SAP BW InfoPackage accordingly for data selection.

Table 18-1. Sample Data Selection Entry in SAP BW for a Relational Source

InfoObject FromValue ToValue Datatype

EmpId 2222 9999 NUMC

DeptId 804 NUMC

Filtering Data to Load into SAP BW 353

Page 378: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Table 18-2 shows the data selection entry you configure in the SAP BW InfoPackage:

After configuring the data selection entry in the SAP BW InfoPackage, create mapping parameters for the values that define the data selection.

Table 18-3 shows the mapping parameters you create for the data selection defined in Table 18-2:

Use the mapping parameters in the filter condition of the Filter transformation. For example, to represent the data selection entry you defined in the SAP BW InfoPackage, enter the following in the filter condition:

EmpId >= $$EMPID_FROM_0 AND EmpId <= $$EMPID_TO_0

where EmpId represents the EmpId field in the mapping.

When the SAP BW Scheduler sends the SAP BW Service a workflow request, the SAP BW Service receives the data selection information for the flat file source and writes it to the temporary parameter file. For example, the SAP BW Service writes the following to the temporary parameter file for the data selection defined in Table 18-2:

$$EMPID_FROM_0=1108 $$EMPID_TO_0=1129

During the workflow, the Integration Service uses the temporary parameter file to obtain values for the $$EMPID_FROM_0 and $$EMPID_TO_0 mapping parameters in the data selection entry. The Integration Service then uses the data selection entry to filter data from the source.

For more information on naming a mapping parameter for SAP BW data selection for flat file sources, see “Mapping Parameter for a Flat File or SAP R/3 Source” on page 358. For more information about creating mapping parameters for SAP BW data selection, see “Configuring Mapping Parameters for SAP BW Data Selection” on page 357. For more information about entering a data selection entry in the Filter transformation, see “Filter Transformation” in the PowerCenter Transformation Guide. For more information about configuring and viewing data selection entries in SAP BW, see “Step 2. Configure an InfoPackage” on page 364.

Table 18-2. Sample Data Selection Entry in SAP BW for a Flat File Source

InfoObject FromValue ToValue Datatype

EmpId 1108 1129 NUMC

Table 18-3. Sample Mapping Parameters for a Flat File Source

Parameter Name Description

$$EMPID_FROM_0 Defines the start value for the range of the data selection entry.

$$EMPID_TO_0 Defines the end value for the range of the data selection entry.

354 Chapter 18: Building PowerCenter Objects to Load Data into BW

Page 379: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Filtering Data from an SAP R/3 SourceWhen you create a mapping to filter data from an SAP R/3 source to load into SAP BW, create one or more mapping parameters based on the data selection entries configured in SAP BW. Create a mapping parameter for each value that defines a data selection entry in the SAP BW InfoPackage.

For example, you have an InfoPackage that contains only one data selection entry. If the data selection entry specifies a value for the FromValue field without specifying a value for the ToValue field, you only create one mapping parameter. If the data selection entry specifies values for both the FromValue and the ToValue fields, create a mapping parameter for each value.

After you create a mapping parameter for each value in the SAP BW data selection entries, use the mapping parameters in a filter condition to filter data from the source. Enter the filter condition in the Application Source Qualifier for an SAP R/3 source.

For example, you want to extract data from the MARA SAP R/3 table using a dynamic filter and load it into SAP BW. You want to filter data such that the Integration Service only extracts records where MATNR is between MR0842 and MT0727 and BLANZ is equal to 219. You configure the SAP BW InfoPackage accordingly for data selection.

Table 18-4 shows the data selection entries in the SAP BW InfoPackage:

After you configure the data selection entry in the SAP BW InfoPackage, you create mapping parameters for the values that define the data selection.

Table 18-5 shows the mapping parameters you create for the data selection defined in Table 18-4:

After you create the mapping parameters, use the mapping parameters in a dynamic filter condition to represent the data selection you configured in the SAP BW InfoPackage. You enter a dynamic filter for an SAP R/3 source from the Dynamic Filter tab of the ABAP Program Flow dialog in the Application Source Qualifier properties. When you filter data from an SAP R/3 source, the dynamic filter condition must conform to ABAP syntax.

Table 18-4. Sample Data Selection Entries in SAP BW for an SAP R/3 Source

InfoObject FromValue ToValue Datatype

MATNR MR0842 MT0727 CHAR

BLANZ 219 NUMC

Table 18-5. Sample Mapping Parameters for an SAP R/3 Source

Parameter Name Description

$$MATNR_FROM_0 Defines the start value for the range of the data selection entry.

$$MATNR_TO_0 Defines the end value for the range of the data selection entry.

$$BLANZ_FROM_0 Defines a single value as the data selection entry.

Filtering Data to Load into SAP BW 355

Page 380: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

For example, to represent the data selection entries from Table 18-4, enter the following dynamic filter:

MARA-MATNR >= :$$MATNR_FROM_0 AND MARA-MATNR <= :$$MATNR_TO_0 AND MARA-BLANZ = :$$BLANZ_FROM_0

Figure 18-1 shows the data selection entry in the SAP ABAP Program Flow dialog box:

When the SAP BW Scheduler sends the SAP BW Service a workflow request, the SAP BW Service receives the data selection information for the SAP R/3 source and writes it to the temporary parameter file. For example, the SAP BW Service writes the following to the temporary parameter file for the data selection defined in Table 18-4:

$$MATNR_FROM_0=MR0842 $$MATNR_TO_0=MT0727 $$BLANZ_FROM_0=219

During the workflow, the Integration Service uses the temporary parameter file to obtain values for the $$MATNR_FROM_0, $$MATNR_TO_0, and $$BLANZ_FROM_0 mapping parameters in the data selection entry. The Integration Service then uses the data selection entry to filter data from the source.

For more information about how to name a mapping parameter for SAP BW data selection from SAP R/3 sources, see “Mapping Parameter for a Flat File or SAP R/3 Source” on page 358. For more information about creating mapping parameters for an SAP BW data selection, see “Configuring Mapping Parameters for SAP BW Data Selection” on page 357. For more information about entering a filter condition for an SAP R/3 source, see “Entering a Source Filter” on page 141. For more information about configuring and viewing data selection entries in SAP BW, see “Step 2. Configure an InfoPackage” on page 364.

Figure 18-1. Sample Dynamic Filter Condition in the ABAP Program Flow Dialog Box

Dynamic Filter Condition

356 Chapter 18: Building PowerCenter Objects to Load Data into BW

Page 381: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Configuring Mapping Parameters for SAP BW Data SelectionYou configure mapping parameters in the Designer by selecting Parameters and Variables from the Mapping menu item in the Mapping Designer. For more information about creating mapping parameters, see “Mapping Parameters and Variables” in the PowerCenter Designer Guide.

Mapping Parameter for a Relational SourceWhen you want to filter data from a relational source to load into SAP BW, create a mapping parameter called $$BWFILTERVAR. Configure the $$BWFILTERVAR mapping parameter with STRING datatype. Each data selection entry in the InfoPackage requires a maximum precision of 150. Set the precision of the $$BWFILTERVAR mapping parameter to 1500 to allow for at least 10 data selection entries.

Figure 18-2 shows the $$BWFILTERVAR mapping parameter that represents all SAP BW data selection entries:

Table 18-6 shows the options you need to use to create the $$BWFILTERVAR mapping parameter for data selection:

Figure 18-2. $$BWFILTERVAR Mapping Parameter for SAP BW Data Selection Entries

Table 18-6. $$BWFILTERVAR Mapping Parameter for Data Selection Options

Option Description

Name Enter $$BWFILTERVAR.

Type Select Parameter.

Datatype Select String.

Precision Enter 1500.

Filtering Data to Load into SAP BW 357

Page 382: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Mapping Parameter for a Flat File or SAP R/3 SourceWhen you want to extract data from a flat file or SAP R/3 source, create mapping parameters to represent the data selection you configured in SAP BW. Use the following naming convention for the mapping parameters:

$$<InfoObjectName>_{From|To}_<number>

Table 18-7 describes the components of a mapping parameter name for a flat file or an SAP R/3 source:

For example, you configure an SAP BW InfoPackage to filter data to extract records where the LocationID equals 24 or 19. Create two mapping parameters to represent the data selection entries in the SAP BW InfoPackage:

♦ $$LocationID_From_0

♦ $$LocationID_From_1

When you want to filter data from a flat file or SAP R/3 source to load into SAP BW, select the datatype for the mapping parameter based on the datatype of the InfoObject. When you specify the precision for a mapping parameter, make sure that it is the same as the precision defined for the corresponding SAP BW InfoObject.

Table 18-8 shows the datatype you need to use for a mapping parameter based on the datatype of the InfoObject:

Table 18-7. Components of Mapping Parameter Name for Flat File and SAP R/3 Sources

Parameter Component Description

InfoObject Name Name of the field or InfoObject from which you want to filter data.

From | To “From” defines the start of a range or a single value. Use “From” when you specify the FromValue field in the SAP BW data selection entry.“To” defines the end of a range. Use “To” when you specify the ToValue field in the SAP BW data selection entry.

number Distinguishes mapping parameters with similar names created for the same InfoObject. Use 0 for a mapping parameter name created for the first time. Increment the number in the mapping parameter name by one for each subsequent mapping parameter for the same InfoObject. For example, if you have two data selection entries for the EmpID field that specify different values for FromValue, use 0 and 1 for the number parameter component.

Table 18-8. Mapping Parameter Datatypes for SAP BW InfoObject Datatypes

InfoObject Datatype Mapping Parameter Datatype

CHAR String

NUMC, DEC Number (with appropriate precision and scale)

DATS, TIMS Date

358 Chapter 18: Building PowerCenter Objects to Load Data into BW

Page 383: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

C h a p t e r 1 9

Loading Data into BW

This chapter includes the following topics:

♦ Overview, 360

♦ Step 1. Configure a Workflow to Load Data into SAP BW, 361

♦ Step 2. Configure an InfoPackage, 364

♦ Step 3. Configure a Process Chain to Load Data, 366

♦ Viewing Log Events, 370

♦ Recovering a PowerCenter Workflow, 372

♦ Troubleshooting, 373

359

Page 384: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Overview

To load data into the SAP BW system, configure both PowerCenter and the SAP BW system.

Complete the following steps to load data into SAP BW:

1. Configure a workflow to load data into SAP BW. Create a session that uses a mapping with an InfoSource target definition.

2. Configure an InfoPackage. Create an InfoPackage that associates the PowerCenter session with the InfoSource.

3. Configure a process chain to load data. Create a process chain that links the InfoPackage process, additional loading processes, and the ZPMSENDSTATUS ABAP program.

When the SAP BW Service starts, it communicates with the SAP BW system to register itself as a server. The SAP BW Service waits for a request from the SAP BW system to start the workflow. When the InfoPackage starts, the SAP BW system communicates with the registered SAP BW Service and sends the workflow name to be scheduled with the Integration Service. The SAP BW Service reads information about the workflow and sends a request to the Integration Service to run the workflow. The Integration Service validates the workflow name in the repository and the workflow name in the InfoPackage. The Integration Service executes the session and loads the data into SAP BW.

You can view log events to help you track the interactions between PowerCenter and SAP BW. For more information, see “Viewing Log Events” on page 370.

You can configure sessions that load data into SAP BW for workflow recovery. If a session enabled for recovery fails, use the Workflow Manager or Workflow Monitor to recover the PowerCenter workflow. When you recover a workflow, the Integration Service can resume the session that failed. When the workflow completes running in recovery mode, the SAP BW system can start a normal run of the workflow. You can use the Workflow Manager or Workflow Monitor to start PowerCenter workflows for an SAP BW session in recovery mode only.

360 Chapter 19: Loading Data into BW

Page 385: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 1. Configure a Workflow to Load Data into SAP BW

After you create a mapping, create a session to load data into SAP BW. Before you create a session, create an application connection to the SAP BW system. The application connection defines how the Integration Service accesses the SAP BW system. When you run a workflow that loads SAP BW targets, the Integration Service loads data into the SAP BW system. For more information about configuring an SAP BW application connection, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

To load data into SAP BW, schedule an InfoPackage in SAP BW, which starts a PowerCenter workflow. You use the Workflow Monitor to stop an SAP BW session. You cannot start or schedule an SAP BW session in the Workflow Monitor. For more information about creating SAP BW workflows, see “Creating a PowerCenter Workflow for an SAP BW Session” on page 362.

Configuring an SAP BW SessionAfter you create an SAP BW application connection, create a session for the SAP BW mapping. Because SAP BW only supports inserts from PowerCenter, configure sessions to load data to SAP BW targets as insert only.

To create an SAP BW session:

1. In the Task Developer, click Tasks > Create.

2. Select Session for the task type.

3. Enter a name for the task.

4. In the Mappings dialog box, choose the mapping you want to use in the session and click Done.

5. Double-click the SAP BW session to open the session properties.

6. Click the Properties tab.

7. In the General Options settings, select Insert for the Treat Source Rows As property.

8. To configure sessions for workflow recovery, select Resume from Last Checkpoint for the Recovery Strategy property.

For more information about recovery, see “Recovering Workflows” in the PowerCenter Workflow Administration Guide.

9. Click the Config Object tab.

10. In the Advanced settings, set the Default Buffer Block Size.

For optimum performance, set the default buffer block size to 5 MB to 10 MB. You can also create a reusable session configuration object with the default buffer block size set to 5 MB to 10 MB. For more information about creating a reusable session configuration object, see “Working with Tasks” in the PowerCenter Workflow Administration Guide.

Step 1. Configure a Workflow to Load Data into SAP BW 361

Page 386: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

11. Click the Mapping tab.

12. Click the Targets node and select the connection defined for the SAP BW server.

13. Set the value of the Packet Size property.

This property determines the size in bytes of the packet that the Integration Service sends to BW. The default is 10 MB. The value of the Packet Size property must be equal to or less than the following values:

♦ Packet size configuration in BW. By default, BW allows packets of 10 MB. The BW administrator can change this packet size configuration.

♦ Available memory on the node where the Integration Service process runs. When the Integration Service processes a BW session, it stores data in memory until the size equals the value of the Packet Size property. The Integration Service then loads the data to BW as a packet.

14. Click OK.

For more information about configuring sessions, see “Working with Sessions” and “Session Properties Reference” in the PowerCenter Workflow Administration Guide.

Creating a PowerCenter Workflow for an SAP BW SessionAfter you configure an SAP BW session, create a workflow to execute the session. The following restrictions apply to workflows containing sessions that load SAP BW targets:

♦ The workflow name in the repository must match the workflow name in the InfoPackage. When you create the SAP BW InfoPackage, you include the workflow name. The Integration Service validates the workflow name in the repository and the workflow name in the InfoPackage. These names must match exactly, including case.

♦ Configure the workflow to run on demand. You can configure the schedule when you create the InfoPackage in SAP BW. You cannot schedule a PowerCenter workflow to load data into SAP BW.

To create a PowerCenter workflow for an SAP BW session:

1. In the Workflow Designer, click Workflows > Create.

2. In the workflow properties, accept the default workflow name or rename the workflow.

Make sure the workflow name in the workflow properties matches both the workflow name in the InfoPackage and the SAP BW session name.

3. Select the Integration Service name you configured in the SAP BW Service properties.

The Integration Service runs the workflow and uses the session to load data into SAP BW.

4. To prepare the workflow for recovery, click Suspend on Error.

5. On the Scheduler tab of the workflow properties, click the right side of the Scheduler field to edit scheduling settings for the scheduler.

362 Chapter 19: Loading Data into BW

Page 387: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

The Edit Scheduler dialog box appears.

6. Click the Schedule tab.

7. Select Run on Demand for Run Options.

8. Click OK to exit the Scheduler.

9. Click OK to exit the workflow properties.

10. Add the session you created to the workflow.

You can only include one session in the workflow. Ensure that the session name is identical to the workflow name.

For more information about creating and configuring workflows, see “Working with Workflows” in the PowerCenter Workflow Administration Guide.

Step 1. Configure a Workflow to Load Data into SAP BW 363

Page 388: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 2. Configure an InfoPackage

An InfoPackage is the SAP BW mechanism for scheduling and running ETL jobs. The InfoPackage defines the target InfoSource and Source System. You can also enter a data selection entry in the InfoPackage to select data from the source system.

Creating and Scheduling an InfoPackageYou create and schedule an InfoPackage in SAP BW.

To create and schedule an InfoPackage:

1. In the Administrator Workbench, click the InfoSources tab.

2. Locate the InfoSource. Under the InfoSource, right-click the Source System.

3. Select Create InfoPackage and enter a description for the InfoPackage.

The Scheduler (Maintain InfoPackage) screen appears.

4. Select the 3rd Party Selections tab.

5. Click Refresh.

6. Enter values for the following fields:

7. Select the Scheduling Info tab.

8. Click Start to run the InfoPackage immediately, or click Jobs to schedule it for a specific time.

For information about configuring update parameters or populating an InfoCube or ODS, refer to the SAP BW documentation.

Property Required/Optional Description

Domain Name for DI Service

Required Name of the PowerCenter domain for the Integration Service that runs the workflow.

Data Integration Service Name

Required Name of the PowerCenter Integration Service that runs the workflow.

Name of Folder Containing Workflow

Required Name of the PowerCenter folder containing the workflow.

Workflow Name Required PowerCenter workflow name.

Session Name Optional PowerCenter session name. If you enter a session name, the Integration Service runs only this session in the workflow. If you do not enter a session name, the Integration Service runs the entire workflow.You must enter a session name if you are filtering data from a relational source before loading it into a BW target. For more information, see “Filtering Data to Load into SAP BW” on page 352.

364 Chapter 19: Loading Data into BW

Page 389: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Setting a Data Selection Entry to Filter DataWhen you want to run a workflow that loads filtered data into an SAP BW target, set data selection entries in the InfoPackage. Before defining data selection entries, specify the InfoObjects from which you want to filter data. Under the Transfer Structure/Transfer Rules section of the InfoSource, click the Data Source/Transfer Structure tab and select the Selection check box for each InfoObject for which you want to filter data.

To set a data selection entry:

1. In the Administrator Workbench, click the InfoSources tab.

2. Open the InfoPackage for the InfoSource in which you want to include a data selection entry.

3. Select the Data Selection tab.

4. Enter values in the FromValue and ToValue fields for the InfoObjects you want to filter.

5. Click Save.

Step 2. Configure an InfoPackage 365

Page 390: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Step 3. Configure a Process Chain to Load Data

You can configure a process chain to load data. A BW process chain links an InfoPackage process, additional loading processes, and the ZPMSENDSTATUS ABAP program. The InfoPackage and loading processes process the data. The ABAP program sends status messages to the SAP BW Service. The SAP BW Service sends these messages to the PowerCenter Log Manager. After inserting the ABAP program into the process chain, create a variant for the program. A variant is a BW structure that contains parameter values that BW passes during program execution. For more information, see the SAP BW documentation.

You can configure the process chain to meet your business needs. However, you need to configure the process chain to load data using one of the following transfer options:

♦ Data targets only (ODS, InfoCube, or InfoSource)

♦ Persistent Storage Area (PSA) only

♦ PSA then data targets

♦ PSA and data targets in parallel

For more information, see “Transfer Methods for Loading Data into SAP BW” on page 341.

The process chain may contain a single InfoPackage that loads data to the PSA only or to a data target only. Insert the ZPMSENDSTATUS ABAP program after the InfoPackage to send the status to the SAP BW Service.

Figure 19-1 displays a process chain that loads to the PSA only:

The process chain can also contain an InfoPackage that loads data to the PSA and additional processes that load the data to data targets. Insert the ZPMSENDSTATUS ABAP program after each loading process to ensure that the SAP BW Service receives status information at each point in the process chain.

Figure 19-2 displays a process chain that loads to the PSA and to a data target:

Figure 19-1. Configuring a Process Chain that Loads to the PSA Only

Figure 19-2. Configuring a Process Chain that Loads to the PSA and a Data Target

InfoPackage ABAPStart End

Loads data to PSA.

Sends status to SAP BW Service.

InfoPackage ABAP ABAPData TargetStart End

Loads data to PSA.

Sends status to SAP BW Service.

Loads data to data target.

Sends status to SAP BW Service.

366 Chapter 19: Loading Data into BW

Page 391: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Complete the following steps in the BW system to configure a process chain to load data into SAP BW:

1. Create the process chain and insert the start process.

2. Insert an InfoPackage process.

3. Insert the ZPMSENDSTATUS ABAP program.

For more information about creating a process chain to load data into BW, see Knowledge Base article 17560.

Creating the Process Chain and Inserting the Start ProcessWhen you create the process chain and insert the start process, you also schedule the process chain.

To create the process chain and insert the start process:

1. From the Administrator Workbench in BW, click SAP Menu > Administration > RSPC - Process Chains.

The Process Chain Maintenance Planning View window appears.

2. Click Create.

The New Process Chain dialog box appears.

3. Enter a unique name for the process chain and enter a description.

4. Click Enter.

The Insert Start Process dialog box appears.

5. Click Create.

The Start Process dialog box appears.

6. Enter a unique name for the start process variant and enter a description.

7. Click Enter.

The Maintain Start Process window appears.

8. Click Change Selections to schedule the process chain.

The Start Time window appears.

9. To schedule the process chain to run immediately after you execute it, click Immediate.

10. Click Save.

11. In the Maintain Start Process window, click Cancel.

12. In the Insert Start Process dialog box, click Enter.

The start process appears in the Process Chain Maintenance Planning View window.

Step 3. Configure a Process Chain to Load Data 367

Page 392: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Inserting an InfoPackage ProcessInsert a process for the InfoPackage you created in BW. For more information about creating an InfoPackage in BW, see “Step 2. Configure an InfoPackage” on page 364.

To insert an InfoPackage process:

1. In the Process Chain Maintenance Planning View window, click Process Types.

2. From the Process Types menu, click Load Process and Post-Processing > Execute InfoPackage.

The Insert Execute InfoPackage dialog box appears.

3. For the Process Variants field, click the browse button to select the InfoPackage you created.

4. Click Enter.

The InfoPackage process appears in the Process Chain Maintenance Planning View window.

5. Click the start process description and drag to link the start process to the InfoPackage process.

Inserting the ZPMSENDSTATUS ABAP ProgramBefore you can insert the ZPMSENDSTATUS ABAP program into a process chain, you must import the program into SAP BW. For more information, see “Importing the ABAP Program into SAP BW” on page 59.

To insert the ZPMSENDSTATUS ABAP program:

1. In the Process Chain Maintenance Planning View window, click Process Types.

2. From the Process Types menu, click General Services > ABAP Program.

The Insert ABAP Program dialog box appears.

3. Click Create.

The ABAP Program dialog box appears.

4. Enter a unique name for the ABAP program process variant and enter a description.

5. Click Enter.

The Process Maintenance: ABAP Program window appears.

6. In the Program Name field, click the browse button to select the ZPMSENDSTATUS ABAP program.

7. Click Change next to the Program Variant field.

The ABAP: Variants - Initial Screen window appears.

8. Click Create.

368 Chapter 19: Loading Data into BW

Page 393: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

9. In the ABAP: Variants dialog box, enter a name for the ABAP variant and click Create.

The Maintain Variant window appears.

10. For the DEST field, select the name of the RFC destination.

11. For the INFPARAM field, enter one of the following options:

♦ PSA if the previous process loaded to the PSA.

♦ Data Target if the previous process loaded to a data target.

12. For the CONTEXT field, enter BW LOAD.

13. For the INFOPAK field, enter the technical name of the InfoPackage.

For example, ZPAK_439OS93K56GKQT7HQT5TFV1Z6.

14. Click Save and Exit in the Maintain Variant window.

15. Click Save and Exit in the ABAP Variants window.

16. Click Save and Exit in the Process Maintenance: ABAP Program window.

17. Click Enter in the Insert ABAP Program dialog box.

The ABAP program appears in the Process Chain Maintenance Planning View window.

18. Click the InfoPackage process description and drag to link the InfoPackage process to the ABAP program.

When prompted, click Successful condition.

19. Optionally, insert additional loading processes into the process chain.

Use the instructions in “Inserting an InfoPackage Process” on page 368.

20. Insert the ZPMSENDSTATUS program after each loading process.

21. In the Process Chain Maintenance Planning View window, click Checking View and then click Activate.

22. Click Execute and assign the process chain to a specific BW server.

If you scheduled the process chain to run immediately, the process chain starts running on the assigned BW server.

23. Optionally, to view the status of the process chain, click Job Overview.

The Simple Job Selection window appears.

24. Enter selection criteria to specify which process chains you want to monitor and click Execute.

The Job Overview window appears.

25. Select the BI_PROCESS_ABAP job and click Job Log.

The Job Log Entries window appears. It includes an entry about the status of the PowerCenter workflow that the process chain was configured to start.

Step 3. Configure a Process Chain to Load Data 369

Page 394: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Viewing Log Events

The SAP BW Service captures log events that track interactions between PowerCenter and SAP BW. It also captures log events when it receives the following information from the BW system and the Integration Service:

♦ A request from the BW system to start a PowerCenter workflow.

♦ A message from the Integration Service that it has successfully started a workflow to load data into BW.

♦ A message from the Integration Service indicating whether the PowerCenter session failed or succeeded.

♦ Status information from the ZPMSENDSTATUS ABAP program in the BW process chain that loads data to BW.

When you load data into BW, you can view SAP BW Service log events in the following locations:

♦ PowerCenter Administration Console. On the Log tab, enter search criteria to find SAP BW Service log events. For more information, see “Managing Logging” in the PowerCenter Administrator Guide.

♦ BW Monitor. In the Monitor - Administrator Workbench window, you can view log events that the SAP BW Service captures for an InfoPackage included in a process chain that loads data into BW.

To view log events about how the Integration Service processes a BW workflow, view the session or workflow log. For more information, see “Session and Workflow Logs” in the PowerCenter Workflow Administration Guide.

You can customize the date format returned by the SAP BW Service when it captures log events by setting the environment variable PMTOOL_DATEFORMAT. When you set the environment variable, the SAP BW Service validates the string before it writes a date to the log. If the date is not valid, it issues a warning and displays the default format. The default date display format is DY MON DD HH24:MI:SS YYYY.

Viewing SAP BW Service Log Events in the BW MonitorYou can use the BW Monitor to view log events that the SAP BW Service captures for an InfoPackage included in a process chain that loads data into BW. BW pulls the messages from the SAP BW Service and displays them in the monitor. The SAP BW Service must be running to view the messages in the BW Monitor.

To view SAP BW Service log events in the BW Monitor:

1. From the BW Administrator Workbench, click Monitor.

The Monitor - Administrator Workbench window appears.

2. Select an InfoPackage.

370 Chapter 19: Loading Data into BW

Page 395: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

3. Click Goto > Logs > Non-SAP System Extraction Log.

The Third Party System Log dialog box appears, displaying log events that the SAP BW Service captured for the InfoPackage.

Viewing Log Events 371

Page 396: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Recovering a PowerCenter Workflow

If an SAP BW session enabled for recovery fails, you can use the Workflow Manager or Workflow Monitor to recover the PowerCenter workflow. When you recover a workflow, the Integration Service can resume the session that failed. You enable an SAP BW session for recovery when you configure the session properties. For more information, see “Configuring an SAP BW Session” on page 361. You prepare a PowerCenter workflow for recovery when you configure the workflow properties. For more information, see “Creating a PowerCenter Workflow for an SAP BW Session” on page 362.

You can use the Workflow Manager or Workflow Monitor to start PowerCenter workflows that load data into SAP BW in recovery mode only. The SAP BW system starts all normal runs of the PowerCenter workflow.

For more information about recovering a workflow, see “Recovering Workflows” in the PowerCenter Workflow Administration Guide.

372 Chapter 19: Loading Data into BW

Page 397: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Troubleshooting

The Workflow Manager reports that the session completes successfully, but the SAP BW system reports that the session failed.

This might occur when the Integration Service successfully moves data into the InfoSource, but SAP BW fails to move the data from the InfoSource to the InfoCube. This problem is not related to PowerCenter or PowerCenter Connect for SAP NetWeaver BW Option. The problem is related to the SAP BW server. See the SAP BW documentation.

I cannot start an InfoPackage.

The most common reasons for a failed connection are:

♦ The saprfc.ini is improperly configured. Verify that the PROG_ID in the Type R entry matches the Program ID for the external source in SAP BW.

♦ The SAP BW Service is not running.

♦ The SAP BW Service is running, but the Integration Service is not running. The InfoPackage is launched and sends a request to the SAP BW Service. The SAP BW Service, in turn, sends a request to the Integration Service to start the session. If the Integration Service is not running, you might see the following message:

There was a problem connecting to the Integration Service [Error Number <error>]. Retrying...

The error number embedded in the message originates from the operating system.

The InfoPackage aborts if the SAP BW Service does not connect to the Integration Service immediately.

If you have problems starting an InfoPackage, test the connection using the Administrator Workbench.

To test the SAP BW Service connection:

1. From the SAP BW Administrator Workbench, click the Source Systems tab.

2. Right-click the source system and select Change.

3. Click the Test Connection button.

4. The RFC Connection Test returns a status screen that indicates the status and description of the connection.

When I try to start a workflow containing an SAP BW session in the Workflow Manager, nothing happens.

You cannot use the Workflow Manager to start or schedule a PowerCenter workflow with an SAP BW session. You need to configure the workflow to run on demand. Create an InfoPackage in the SAP BW system to schedule the workflow containing an SAP BW session.

Troubleshooting 373

Page 398: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

I need to stop a workflow containing an SAP BW session.

To stop an SAP BW workflow, stop the PowerCenter workflow using pmcmd or in the Workflow Monitor. You cannot stop an InfoPackage in SAP BW. For more information about stopping a workflow, see “Working with Workflows” in the PowerCenter Workflow Administration Guide.

The InfoPackage starts in SAP BW, but no message appears in the log for the PowerCenter session.

This may occur if you have more than one SAP BW Service in the same environment using the same Program ID. When you have multiple SAP BW Services in the same environment using the same Program ID, the SAP BW Service which was started first receives the requests from the SAP BW system.

When you do not see a message in the PowerCenter Administration Console or BW Monitor log for an Infopackage that starts in SAP BW, verify if there are other SAP BW Services connected to the SAP BW system. Check the log for the other SAP BW Services to see if the InfoPackage started.

I ran a session to load data into SAP BW. However, the session status reported by SAP BW is not the same as the session status reported by the Integration Service.

Status messages coming from SAP BW are not transported correctly to the Integration Service when the load is successful but has zero rows.

In SAP BW, you can set the Traffic Light Color options to indicate success if there is no data. SAP BW sends a status message of success to the Integration Service when a load is successful but has zero rows. For more information, see the SAP BW documentation.

The SAP BW Service starts my filter session run, but the log includes an error message “Error in opening parameter file....”

This only occurs on Windows. The permissions on the directory that contains the parameter file are not set correctly.

Enable the appropriate read and write permissions for the parameter file directory. For more information, see “Creating and Configuring the SAP BW Service” in the PowerCenter Administrator Guide.

I ran a session that successfully loaded data into SAP BW, but the PowerCenter Administration Console log includes irrelevant messages about the session.

This may occur if you entered an invalid value for the CONTEXT field in the ZPMSENDSTATUS ABAP program when creating the process chain. You must enter BW LOAD for the CONTEXT field in a process chain that loads data.

374 Chapter 19: Loading Data into BW

Page 399: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

I ran a session to load data into SAP BW. However, the session failed with the following error in the session log:

WRITER_1_*_1>WRT_8025 Error in BW Target. [===>SAPSendDone Failed. SAP system exception raised. key = RFC_ERROR_SYSTEM_FAILURE message = &INCLUDE INCL_INSTALLATION_ERROR

This may occur if the Packet Size session property is higher than the packet size configured in the BW system or higher than the available memory on the node where the Integration Service process runs. Decrease the value of the Packet Size property and run the session again.

Troubleshooting 375

Page 400: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

376 Chapter 19: Loading Data into BW

Page 401: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

377

Part IX: Appendixes

This part contains the following appendixes:

♦ Virtual Plug-in, 379

♦ Datatype Reference, 383

♦ Language Codes, Code Pages, and Unicode Support, 395

♦ Glossary, 407

Page 402: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

378

Page 403: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

A p p e n d i x A

Virtual Plug-in

This appendix includes the following topics:

♦ Virtual Plug-in (NullDbtype) Source Definition, 380

♦ Source Qualifier Transformation for Virtual Plug-in Sources, 381

♦ Virtual Plug-in (NullDbtype) Target Definitions, 382

379

Page 404: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Virtual Plug-in (NullDbtype) Source Definition

The Virtual plug-in source definition is a place holder for an actual source definition in a mapping. It does not receive data from a source. You use a Virtual plug-in source in a mapping for mapping validation only.

The Virtual plug-in source definition contains a single port called FIELD1 of null-datatype. The output of this port links to the Application Multi-Group Source Qualifier transformation in the mapping.

The Designer creates a Virtual plug-in source definition when you generate the following types of mappings in the Mapping Designer:

♦ RFC/BAPI No Input mapping. For more information, see “Working with RFC/BAPI No Input Mappings” on page 232.

♦ RFC/BAPI Multiple Stream mapping. For more information, see “Working with RFC/BAPI Multiple Stream Mappings” on page 236.

♦ RFC/BAPI Single Stream mapping. For more information, see “Working with RFC/BAPI Single Stream Mappings” on page 246.

380 Appendix A: Virtual Plug-in

Page 405: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Source Qualifier Transformation for Virtual Plug-in Sources

The Application Multi-Group Source Qualifier transformation represents the record set queried from an application source when you run a session. Unlike an Application Source Qualifier for an SAP R/3 source, the Application Multi-Group Source Qualifier represents multiple groups of data in the application source.

You use an Application Multi-Group Source Qualifier in the following RFC/BAPI mappings:

♦ RFC/BAPI No Input mapping. For more information, see “Working with RFC/BAPI No Input Mappings” on page 232.

♦ RFC/BAPI Multiple Stream mapping. For more information, see “Working with RFC/BAPI Multiple Stream Mappings” on page 236.

♦ RFC/BAPI Single Stream mapping. For more information, see “Working with RFC/BAPI Single Stream Mappings” on page 246.

In the above mappings, the Application Multi-Group Source Qualifier connects to the Virtual plug-in source definitions. It contains a single port called FIELD1 of string datatype. You use the Application Multi-Group Source Qualifier in the mapping for mapping validation only.

Creating the Application Multi-Group Source QualifierWhen you generate a mapping with the Generate SAP RFC/BAPI Mapping Wizard, an Application Multi-Group Source Qualifier is created for each Virtual plug-in source definition in the mapping.

The Designer also creates an Application Multi-Group Source Qualifier when you add a Virtual plug-in source definition to a mapping. It connects the Field1 port on the Virtual plug-in source definition to the corresponding port on the Application Multi-Group Source Qualifier.

You can also create an Application Multi-Group Source Qualifier manually. For more information about manually creating a Source Qualifiers, see “Source Qualifier Transformation” in the PowerCenter Transformation Guide.

The Designer creates an Application Multi-Group Source Qualifier on the workspace connecting the Field1 port on the Virtual plug-in source definition to the corresponding port on the Application Multi-Group Source Qualifier.

If you configured the Designer option to create a source definition without a Source Qualifier, you can create the Application Multi-Group Source Qualifier manually.

Source Qualifier Transformation for Virtual Plug-in Sources 381

Page 406: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Virtual Plug-in (NullDbtype) Target Definitions

The Virtual plug-in target definition is a place holder for an actual target definition in a mapping. You use a Virtual plug-in target in a mapping for mapping validation only. The Virtual plug-in target definition contains a single port called FIELD1 of null-datatype.

The Designer creates a NULL target when you generate the following types of RFC/BAPI mappings in the Mapping Designer:

♦ RFC/BAPI No Input mapping. For more information, see “Working with RFC/BAPI No Input Mappings” on page 232.

♦ RFC/BAPI Multiple Stream mapping. For more information, see “Working with RFC/BAPI Multiple Stream Mappings” on page 236.

♦ RFC/BAPI Single Stream mapping. For more information, see “Working with RFC/BAPI Single Stream Mappings” on page 246.

Depending on the type of mapping you create, you may need to replace the Virtual plug-in target definitions with target definitions specific to the target warehouse.

Creating a Virtual Plug-in Target DefinitionThe Virtual plug-in target definition is created when you generate a mapping with the Generate SAP RFC/BAPI Mapping Wizard in the Mapping Designer.

You can create Virtual plug-in target definitions manually if you deleted the Virtual plug-in target definitions from the repository. You can create a Virtual plug-in target definition based on a Virtual plug-in source in the Designer.

To create a Virtual plug-in target definition from a Virtual plug-in source definition:

In the Target Designer, drag a Virtual_Source source definition to the workspace.

To create a Virtual plug-in target definition manually:

1. Click Targets > Create.

2. On the Create Target dialog box, enter a name for the target definition.

3. Select NullDbtype as the Database type.

4. Click Done.

382 Appendix A: Virtual Plug-in

Page 407: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

A p p e n d i x B

Datatype Reference

This appendix includes the following topics:

♦ SAP Datatypes, 384

♦ mySAP Option and SAP Datatypes, 386

♦ BW Option and SAP Datatypes, 390

383

Page 408: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

SAP Datatypes

Table B-1 lists datatypes available in SAP and SAP BW systems:

Table B-1. SAP Datatypes

SAP Datatype Type Range and Description

ACCP Date Posting Period of 6 positions, the format is YYYYMM. In input and output, a point is inserted between year and month, so the template of this datatype has the form ‘____.__’.

CHAR Text Character string with maximum length of 255. If longer fields are required, datatype LCHR must be selected.

CLNT Text Client fields.Always has 3 positions.

CUKY Text Currency Key of 5 positions containing the possible currencies referenced by CURR fields.

CURR Numeric Currency field, having 1 to 17 positions, equivalent to a DEC amount field. A CURR field must reference a CUKY field.For P type, only 14 digits are allowed after decimal point.

DATS Date 8 position date field. The format is YYYYMMDD.

DEC Numeric Maximum length of 31 positions. Counter or amount field with decimal point, sign, and commas separating thousands.For P type, only 14 digits are allowed after decimal point.

FLTP Numeric Floating point number of 16 positions including decimal places.

INT1 Numeric 1-byte integer between 0 and 255.3 positions.Not supported for PowerCenter Connect for SAP NetWeaver BW Option.

INT2 Numeric 2-byte integer between -32,767 to 32,767, only used for length fields; positioned immediately in front of LCHR, and LRAW. With INSERT or UPDATE on the long field, the database interface enters the length used in the length field and length is set at 5 positions.

INT4 Numeric 4-byte integer between -2,147,483,647 and 2,147,483,647. The length is set at 10 positions.

LANG Text Language key, field format for special functions of 1 position.

LCHR Text Long character string, with a minimum length of 256 characters. Must be at the end of transparent table and must be preceded by a length field INT2.

LRAW Binary Limited support.Long byte string, with a minimum of 256 positions. Must be at the end of transparent table and must be preceded by a length field of type INT2.

NUMC Text Long character field of arbitrary length, with a maximum length of 255 positions. Only numbers can be entered.

PREC Binary Precision of a QUAN field of 2 positions. Not supported for PowerCenter Connect for SAP NetWeaver mySAP Option.

384 Appendix B: Datatype Reference

Page 409: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

QUAN Text Quantity field, points to a unit field with format UNIT, maximum length of 17 positions. For P type, only 14 digits are allowed after decimal point.

RAW Binary Limited support.Uninterrupted sequence of bytes, the maximum length of 255 positions. If longer fields are required, LRAW should be used.

TIMS Date Time field (HHMMSS) of 6 positions, the display format is HH.MM.SS.

UNIT Text Units key of 2 or 3 positions, field containing the allowed quantity units referenced by QUAN fields.

VARC Text Variable length character string, requires an INT2 length field. No longer supported from Rel. 3.0.

Table B-1. SAP Datatypes

SAP Datatype Type Range and Description

SAP Datatypes 385

Page 410: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

mySAP Option and SAP Datatypes

PowerCenter Connect for SAP NetWeaver mySAP Option uses three types of datatypes in ABAP mappings:

♦ Native datatypes. Native datatypes are datatypes specific to the source and target databases (or flat files). They appear in non-SAP R/3 source definitions and target definitions in the mapping.

♦ SAP datatypes. SAP datatypes appear in the SAP R/3 source definitions in the mapping. SAP performs any necessary conversion between the SAP datatypes and the native datatypes of the underlying source database tables.

♦ Transformation datatypes. Transformation datatypes are generic datatypes that PowerCenter uses during the transformation process. They appear in all the transformations in the mapping.

When you connect an SAP R/3 source definition to an Application Source Qualifier, the Designer creates a port with a transformation datatype that is compatible with the SAP datatype. When you run a workflow, the Integration Service converts the SAP datatype to the transformation datatype. The Integration Service passes all transformation datatypes to the target database, and the target converts them to the native datatypes.

Table B-2 compares SAP datatypes and the transformation datatypes that display in the Application Source Qualifier for ABAP mappings that contain SAP R/3 source definitions:

Table B-2. SAP and PowerCenter Transformation Datatype Comparison

SAP Datatype Transformation Datatype Range for Transformation Datatype

ACCP Date/time Jan 1, 1753 AD to Dec 31, 9999 AD

CHAR String 1 to 104,857,600 characters Fixed-length or varying-length string.

CLNT String 1 to 104,857,600 characters Fixed-length or varying-length string.

CUKY String 1 to 104,857,600 characters Fixed-length or varying-length string.

CURR Decimal Precision 1 to 28 digits, scale 0 to 28

DATS Date/time Jan 1, 1753 AD to Dec 31, 9999 AD

DEC Decimal Precision 1 to 28 digits, scale 0 to 28

FLTP Double Precision 15, scale 0

INT1 Small Integer Precision 5, scale 0

INT2 Small Integer Precision 5, scale 0

INT4 Integer Precision 10, scale 0

386 Appendix B: Datatype Reference

Page 411: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Although the Integration Service converts most SAP datatypes successfully, you might need to override the Application Source Qualifier properties for the following datatypes:

♦ Date and number datatypes. While PowerCenter converts the SAP datatype to its own transformation datatype, there are some instances where you might want to edit the Application Source Qualifier to ensure full precision of dates and numbers.

♦ Binary datatypes. PowerCenter provides limited support for binary data.

♦ CHAR, CUKY, and UNIT datatypes. PowerCenter treats the SAP datatype CHAR as VARCHAR. PowerCenter trims trailing blanks for CHAR, CUKY, and UNIT data so you can compare SAP data with other source data.

Overriding Datatypes in the Application Source QualifierWhen the ABAP program extracts from SAP, it stores all data, including dates and numbers, in character buffers. You might want to override the NUMC, ACCP, and DATS datatypes in the Application Source Qualifier.

NUMCNUMC is a numeric string that supports more positions than any of the PowerCenter numeric datatypes. It holds only unsigned numeric strings with a maximum length of 255. The Application Source Qualifier converts NUMC to Decimal. You can also configure a Source Qualifier to convert this datatype to Double.

By default, the Integration Service treats all Decimal ports as Double and maintains precision up to 15 digits. If NUMC has up to 28 digits, you can enable high precision in the session

LANG String 1 to 104,857,600 characters Fixed-length or varying-length string.

LCHR String 1 to 104,857,600 characters Fixed-length or varying-length string.

LRAW Binary Limited support in PowerCenter Connect

NUMC Decimal or Double Precision 1 to 28 digits, scale 0 to 28

PREC Binary Not supported in PowerCenter Connect

QUAN Decimal Precision 1 to 28 digits, scale 0 to 28

RAW Binary Limited support in PowerCenter Connect

TIMS Date/time Jan 1, 1753 AD to Dec 31, 9999 AD

UNIT String 1 to 104,857,600 characters Fixed-length or varying-length string.

VARC String 1 to 104,857,600 characters Fixed-length or varying-length string.

Table B-2. SAP and PowerCenter Transformation Datatype Comparison

SAP Datatype Transformation Datatype Range for Transformation Datatype

mySAP Option and SAP Datatypes 387

Page 412: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

properties to maintain precision. If NUMC has more than 28 digits, the Integration Service converts NUMC to double even when you enable high precision.

Therefore, if you extract more than 28 digits, and you want to maintain full precision, you can change the NUMC datatype to String in the Application Source Qualifier. However, you cannot perform numeric calculations on strings.

Because SAP does not store signs with NUMC data, do not use negative filter conditions in the Application Source Qualifier for NUMC columns. SAP does not recognize the negative conditions and treats all comparisons for NUMC columns as positive.

For more information about the Decimal datatype, see “Datatype Reference” in the PowerCenter Designer Guide.

ACCP and DATSACCP and DATS are date datatypes that support zero values. PowerCenter does not support zero values in the Date/Time transformation datatype. ACCP and DATS are date datatypes in SAP that PowerCenter converts to the Date/Time transformation datatype. Data in these fields is stored internally as a character string and may not correspond to a valid date. For example, a column might store a string of zeros. If SAP passes zeros to a Date/Time column in the Application Source Qualifier, the Integration Service converts the zeros to NULL and continues processing the records. However, the Integration Service rejects all other rows with invalid dates and writes an error to the session log.

If you want the Integration Service to process these rows, change the datatype in the Application Source Qualifier to String and pass the row to an Expression transformation. You can write an expression using the IS_DATE function to test strings for valid dates and the TO_DATE function to convert valid strings to dates. You can also use the TO_DATE function to convert the invalid strings to an arbitrary date, such as the current date, so the Integration Service does not skip the row. For more information on date datatypes, see “Dates” in the PowerCenter Transformation Language Reference.

Binary DatatypesPowerCenter provides limited support for the binary datatypes RAW and LRAW. RAW holds binary data up to 255 bytes. LRAW holds binary data with a minimum of 256 bytes. PowerCenter can move binary data to a relational target, but it cannot transform it. PowerCenter cannot move binary data to flat file targets.

To move binary data, connect the RAW or LRAW column to a compatible binary column in the target definition. You can pass the binary data through other transformations, but you cannot perform mapping logic on the binary data.

For example, connect a RAW column from the SAP R/3 source to the Application Source Qualifier. The Application Source Qualifier uses the Binary transformation datatype. You can then pass the binary column to binary columns in other transformations and finally to a RAW column in Oracle. The SAP RAW datatype in SAP is compatible with the Oracle RAW datatype. If you apply mapping logic to the binary datatype, the session fails.

388 Appendix B: Datatype Reference

Page 413: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

PowerCenter does not provide support for the binary datatype PREC. You can connect PREC columns to an Application Source Qualifier, but if you connect them to other transformations or to a target definition, the ABAP code generation fails.

Consult the database documentation for detailed information about binary datatypes. For more information about supported datatypes in PowerCenter, see “Datatype Reference” in the PowerCenter Designer Guide.

CHAR, CUKY, and UNIT DatatypesSAP stores all CHAR data with trailing blanks. The TreatCHARasCHARonRead Integration Service property determines whether the Integration Service keeps the trailing blanks. When you set the property to No, the Integration Service treats SAP CHAR data as VARCHAR data and trims the trailing blanks. The Integration Service also trims trailing blanks for CUKY and UNIT data. You can compare SAP data with other source data without having to use the RTRIM function.

If you have mappings that include blanks when comparing an SAP column with other data, you might not want the Integration Service to trim the trailing blanks. To configure the Integration Service to keep the trailing blanks in CHAR data, set the TreatCHARasCHARonRead Integration Service property to Yes. For more information about the TreatCHARasCHARonRead property, see “Creating and Configuring the Integration Service” in the PowerCenter Administrator Guide.

mySAP Option and SAP Datatypes 389

Page 414: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

BW Option and SAP Datatypes

The Integration Service moves data from source to target based on PowerCenter transformation datatypes. The Integration Service loads data into SAP BW based on the SAP BW target datatypes.

Table B-3 lists the SAP datatypes supported by PowerCenter Connect for SAP NetWeaver BW Option:

The Integration Service transforms data based on the PowerCenter transformation datatypes. The Integration Service converts all data to a CHAR datatype and puts it into packets of 250 bytes, plus one byte for a continuation flag. SAP BW receives data until it reads the continuation flag set to zero. Within the transfer structure, SAP BW then converts the data to the SAP BW datatype.

Table B-3. SAP BW and PowerCenter Transformation Datatypes

SAP BW Binary Date/Time Decimal Double, Real

Integer, Small Integer

String, Nstring, Text, Ntext

ACCP No Yes No No No Yes

CHAR No Yes Yes Yes Yes Yes

CLNT No Yes Yes Yes Yes Yes

CUKY No Yes Yes Yes Yes Yes

CURR No No Yes Yes Yes Yes

DATS No Yes No No No Yes

DEC No No Yes Yes Yes Yes

FLTP No No Yes Yes Yes Yes

INT2 No No Yes Yes Yes Yes

INT4 No No Yes Yes Yes Yes

LANG No Yes Yes Yes Yes Yes

LCHR No Yes Yes Yes Yes Yes

NUMC No No Yes Yes Yes Yes

QUAN No No Yes Yes Yes Yes

TIMS No Yes No No No Yes

UNIT No Yes Yes Yes Yes Yes

VARC No Yes Yes Yes Yes Yes

390 Appendix B: Datatype Reference

Page 415: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

SAP BW supports the following datatypes in transfer structures assigned to BAPI source systems (PowerCenter is a BAPI source system):

♦ CHAR

♦ CUKY

♦ CURR

♦ DATS

♦ NUMC

♦ TIMS

♦ UNIT

All other datatypes result in the following error in SAP BW:

Invalid data type <datatype name> for source system of type BAPI.

Date/Time DatatypesThe transformation Date/Time datatype supports dates with precision to the second. If you import a date/time value that includes milliseconds, the Integration Service truncates to seconds. If you write a date/time value to a target column that supports milliseconds, the Integration Service inserts zeros for the millisecond portion of the date.

Binary DatatypesSAP BW does not allow you to build a transfer structure with binary datatypes. Therefore, you cannot load binary data from PowerCenter into SAP BW.

Numeric DatatypesPowerCenter Connect for SAP NetWeaver BW Option does not support the INT1 datatype.

For numeric datatypes such as CURR, DEC, FLTP, INT2, INT4, and QUAN, the Integration Service uses the precision of the SAP BW datatype to determine the length of the data loaded into SAP BW. For example, if you try to load a value of -1000000000 into an SAP BW field with the INT4 datatype, the Integration Service skips the row. This is because the INT4 datatype supports data up to 10 bytes in length, but the -1000000000 value uses 11 bytes.

The Integration Service does not truncate extraneous bytes when loading data that exceeds the length allowed by the field datatype. If a row contains data that exceeds the length allowed by the field datatype in SAP BW, the Integration Service skips the row and writes the skipped row and a corresponding error message to the session log.

BW Option and SAP Datatypes 391

Page 416: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Writing to SAP BW Date ColumnsThe Integration Service converts strings stored in the PowerCenter default date format of MM/DD/YYYY HH24:MI:SS to date values before writing to SAP BW. If strings are not in the default date format, use TO_DATE to convert them to dates.

DATSYou can pass any string, text, or date/time value to a DATS column. The Integration Service converts data to the YYYYMMDD format.

If you pass strings to a DATS column, the Integration Service converts the data as follows:

If you pass dates to a DATS column, the Integration Service converts the dates as follows:

TIMSYou can pass any string, text, or date/time value to a TIMS column. The Integration Service converts the time portion of the string or date to the HHMMSS format.

Source Data Converts to

‘12/30/1998 5:15:00AM’ 19981230

‘02/01/1996’ 19960201

‘05/05/1998 02:14:08’ 19980505

‘Jul 18 99’ Error

‘09/10/49’ Error

‘01-21-51’ Error

‘10023’ Error

‘Jan151999’ Error

Source Data Converts to

12/08/98 19981208

04/12/52 20520412

03/17/49 19490317

11/22/1998 19981122

May 2 1998 5:15AM 19980502

1998/21/06 12:13:08 19980621

392 Appendix B: Datatype Reference

Page 417: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

If you pass strings to a TIMS column, the Integration Service converts the data as follows:

If you pass dates to a TIMS column, the Integration Service converts the dates as follows:

Source Data Converts to

‘10/31/98 03:15:08PM’ Error

‘09/23/1998’ 000000

‘08/15/1998 09:55:06’ 095506

‘02/01/1998 14:22:44’ 142244

Source Data Converts to

12/08/98 000000

04/12/52 3:00:56PM 150056

11/22/1998 19981122

05/01/1998 12:24:18 122418

BW Option and SAP Datatypes 393

Page 418: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

394 Appendix B: Datatype Reference

Page 419: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

A p p e n d i x C

Language Codes, Code Pages, and Unicode Support

This appendix includes the following topics:

♦ Language Code Selection, 396

♦ Code Page Selection, 398

♦ Supported Languages and Code Pages, 399

♦ Processing Unicode Data, 403

395

Page 420: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Language Code Selection

SAP supports many languages, but your system may be configured to support only a subset of the languages. When you configure the application connection to connect to the SAP or BW system, you may have to specify the language code of the SAP or BW system.

Table C-1 shows which application connections require a language code:

The language code you select affects the following PowerCenter Connect for SAP NetWeaver mySAP Option tasks:

♦ Import SAP metadata in the Designer. The Designer imports metadata in the language you specify. The SAP system returns messages to the Designer in the language you specify.

♦ Install ABAP program. The SAP system returns messages to the Designer in the language you specify.

♦ Run sessions. The ABAP program extracts data in the language specified in the application connection. The SAP system also returns session log and server messages in the language you specify. When you configure an application connection, you also select a code page. For information about code page selection, see “Code Page Selection” on page 398.

The language code you select affects the following PowerCenter Connect for SAP NetWeaver BW Option tasks:

♦ Import InfoSource definitions. The BW system returns messages to the Designer in the language you specify.

♦ Run sessions. The BW system returns session log and server messages in the language you specify. When you configure a database connection, you also select a code page. For information about code page selection, see “Code Page Selection” on page 398.

Under the following conditions, SAP substitutes the default language of that particular SAP or BW system:

♦ You leave the language code blank.

♦ You specify a valid language code, but the SAP or BW system you connect to does not support that language.

Table C-1. Language Code Requirements for Application Connections

Application Connection Language Code Required?

SAP_ALE_IDoc_Reader No

SAP_ALE_IDoc_Writer Yes

SAP RFC/BAPI Interface Yes

SAP BW Yes

SAP R/3 Yes

FTP No

396 Appendix C: Language Codes, Code Pages, and Unicode Support

Page 421: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

When you run a session with an SAP R/3 application connection, and you specify a code page other than UTF-8, SAP substitutes the default language of that particular system under the above conditions.

For a list of language codes, see Table C-2 on page 399.

Language Code Selection 397

Page 422: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Code Page Selection

You must select a code page for each application connection for SAP. You can select the UTF-8 code page for all application connections, except the SAP RFC/BAPI Interface application connection. It uses a different method to handle Unicode data. For more information, see “Processing Unicode Data with RFC/BAPI Function Sessions” on page 404.

For more information about configuring application connections, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide. For more information about code pages, see “Code Pages” in the PowerCenter Administrator Guide.

Code Page RequirementsYou must select a code page for each application connection. The code page you choose must satisfy the following requirements:

♦ The code page of the application connection must be compatible with the type of data in SAP. For example, if you extract Unicode data from SAP, you must set the application connection code page to UTF-8.

♦ The code page of the application connection must be a subset of the code page for the corresponding Integration Service process. To prevent data inconsistencies, ensure that the application connection code page is a subset of the code page for the corresponding Integration Service.

♦ If you configure the Integration Service for code page validation, the SAP R/3 application connection must use a code page that is a subset of the Integration Service code page. If you configure the Integration Service for relaxed code page validation, you can select any code page supported by PowerCenter for the source database connection. When you use relaxed code page validation, select compatible code pages for the source and target data to prevent data inconsistencies. For Unicode, select UTF-8.

♦ The data movement mode for the Integration Service must be compatible with the application connection code page. For example, if the code page is UTF-8, you must set the data movement mode for the Integration Service to Unicode.

♦ PowerCenter Connect for SAP NetWeaver does not support UTF-8 code pages for RFC/BAPI function sessions. For more information about handling Unicode SAP data with RFC/BAPI function sessions, see “Processing Unicode Data with RFC/BAPI Function Sessions” on page 404.

♦ PowerCenter Connect for SAP NetWeaver does not support UTF-8 code pages for the 6.x IDoc sessions. For more information about handling Unicode SAP data with 6.x IDoc sessions, see “Processing Unicode Data with 6.x IDoc Sessions” on page 404.

♦ PowerCenter does not validate the code page and data movement mode for the SAP_ALE_IDoc_Reader application connection. To prevent data inconsistencies, ensure that the code page for this application connection is compatible with the data in SAP and ensure that the Integration Service is running in the right data movement mode.

For a list of supported code pages for SAP application connections, see “Supported Languages and Code Pages” on page 399.

398 Appendix C: Language Codes, Code Pages, and Unicode Support

Page 423: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Supported Languages and Code Pages

Table C-2 lists the code pages supported by SAP and PowerCenter Connect for SAP NetWeaver that are most appropriate for each language. Only the installed or imported languages in your SAP or BW system are valid:

Table C-2. Language Codes and Code Pages

Language SAP Language Code Code Page

Albanian SQ Latin1MS1252UTF-8

Arabic AR, A ISO-8859-6MS1256UTF-8

Belorussian BE UTF-8

Bulgarian BG ISO-8859-5MS1251UTF-8

Canadian French 3F Latin1MS1252ISO-8859-9UTF-8

Catalan CA Latin1MS1252UTF-8

Croatian HR ISO-8859-2 MS1250UTF-8

Cyrillic Serbian SR ISO-8859-5MS1251UTF-8

Czech CS ISO-8859-2 MS1250UTF-8

Danish DA Latin1MS1252ISO-8859-9UTF-8

Dutch NL Latin1MS1252ISO-8859-9UTF-8

English EN, E Latin1MS1252UTF-8

Supported Languages and Code Pages 399

Page 424: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Estonian ET ISO-8859-4MS1257UTF-8

Farsi FA ISO-8859-6UTF-8

Finnish FI Latin1MS1252ISO-8859-9UTF-8

French FR, F Latin1MS1252ISO-8859-9UTF-8

German DE Latin1MS1252ISO-8859-9UTF-8

Greek EL ISO-8859-7MS1253UTF-8

Hebrew HE ISO-8859-8MS1255UTF-8

Hungarian HU ISO-8859-2MS1250UTF-8

Italian IT Latin1MS1252ISO-8859-9UTF-8

Japanese JA MS932UTF-8

Korean KO MS949UTF-8

Latvian LV ISO-8859-4 MS1257UTF-8

Lithuanian LT ISO-8859-4 MS1257UTF-8

Macedonian MK ISO-8859-5MS1251UTF-8

Table C-2. Language Codes and Code Pages

Language SAP Language Code Code Page

400 Appendix C: Language Codes, Code Pages, and Unicode Support

Page 425: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Norwegian NO Latin1MS1252ISO-8859-9UTF-8

Polish PL ISO-8859-2MS1250

Portuguese PT, P Latin1MS1252ISO-8859-9UTF-8

Romanian RO ISO-8859-2MS1250UTF-8

Russian RU, R ISO-8859-5MS1251UTF-8

Serbian SH ISO-8859-2MS1250UTF-8

Simplified Chinese ZH MS936 UTF-8

Slovak SK ISO-8859-2MS1250UTF-8

Slovenian SL ISO-8859-2MS1250UTF-8

Spanish ES, S Latin1MS1252ISO-8859-9UTF-8

Swedish SV Latin1MS1252ISO-8859-9UTF-8

Thai TH MS874UTF-8

Turkish TR, T ISO-8859-9ISO-8859-3MS1254UTF-8

Table C-2. Language Codes and Code Pages

Language SAP Language Code Code Page

Supported Languages and Code Pages 401

Page 426: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Ukrainian UK MS1251UTF-8

Vietnamese VI MS1258UTF-8

Table C-2. Language Codes and Code Pages

Language SAP Language Code Code Page

402 Appendix C: Language Codes, Code Pages, and Unicode Support

Page 427: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Processing Unicode Data

A Unicode SAP system encodes data it reads or writes through RFC in UTF-16. The Integration Service reads UTF-16 data from a Unicode SAP system and writes UTF-16 data to a Unicode SAP system if you select UTF-8 as the application connection code page.

The Integration Service processes SAP Unicode data in one session or multiple sessions, depending on the operating system of the Integration Service. If SAP provides Unicode libraries for the operating system of the Integration Service, you can process Unicode data in a single session. If SAP does not provide Unicode libraries for the operating system of the Integration Service, you need to process Unicode data with multiple sessions.

If you use BW Option, the SAP BW Service must run on an operating system that uses a Unicode SAP RFC library.

Processing Unicode Data with a Single SessionSAP provides Unicode libraries for the following operating systems:

♦ AIX (64-bit)

♦ HP-UX IA64 (64-bit)

♦ Linux (32-bit)

♦ Solaris (64-bit)

♦ Windows

If the logical system you created for PowerCenter uses a Type R connection, configure the logical system to communicate in Unicode mode. For more information about configuring the logical system for mySAP option, see “Configuring mySAP Option” on page 15. For more information about configuring the logical system for BW option, see “Configuring BW Option” on page 45.

Processing Unicode Data with Multiple SessionsSAP does not provide Unicode libraries for the following operating systems:

♦ AIX (32-bit)

♦ HP-UX (32-bit)

♦ Linux (64-bit)

♦ Solaris (32-bit)

To process Unicode data with non-Unicode libraries, route the data into a separate session for each required code page and use a different code page for each session. For more information, see “Processing Unicode Data with Different Code Pages” on page 404.

Processing Unicode Data 403

Page 428: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Processing Unicode Data with RFC/BAPI Function SessionsEach RFC/BAPI function session can process character data encoded in a single code page that is not UTF-8. PowerCenter Connect for SAP Netweaver mySAP option does not support the UTF-8 code page for RFC/BAPI application connection. If you run a session that processes data from multiple code pages, the Integration Service replaces each character not encoded in the application connection with the number sign (#).

If you have a Unicode SAP system and need to process character data from multiple code pages, create a separate session to process data from each code page. For more information, see “Processing Unicode Data with Different Code Pages” on page 404.

Processing Unicode Data with 6.x IDoc Sessions6.x IDoc sessions use AEP transformations. AEP transformations do not support Unicode data.

If you have a Unicode SAP R/3 system and you need to process Unicode data using a 6.x IDoc mapping, recreate the IDoc mapping and session using the current version of PowerCenter Connect for SAP Netweaver. IDoc mappings created with 7.x or later support Unicode data. For more information on creating Inbound IDoc mappings, see “Creating Inbound IDoc Mappings” on page 193. For more information on creating Outbound IDoc mappings, see “Creating Outbound IDoc Mappings” on page 173.

Processing Unicode Data with Different Code PagesIf you need to process data with different code pages, route the data into a separate session for each required code page. You can create multiple application connections and assign a different code page to each one. Assign each application connection to the session based on the code page requirement.

For example, you want to run a RFC/BAPI function session to extract SAP Unicode data. The SAP data contains German and Japanese data. Since the RFC/BAPI application connection does not support the UTF-8 code page, you must separate the German data from the Japanese data and process them separately. Create different sessions and application connections for the Japanese and German data. Assign a Japanese code page to the Japanese application connection and a German code page to the German application connection. Assign the appropriate application connection for each session.

404 Appendix C: Language Codes, Code Pages, and Unicode Support

Page 429: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Figure C-1 shows how to use different code pages to process the German and Japanese data:

Figure C-1. Unicode Data Processing with Different Code PagesSession A(Code page A)

SAP system

German data set

Filter data into two data sets.

Session B(Code page B)

Target C

Assign code page to each application connection for each session.

Japanese data set

Processing Unicode Data 405

Page 430: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

406 Appendix C: Language Codes, Code Pages, and Unicode Support

Page 431: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

A p p e n d i x D

Glossary

This appendix includes the following topics:

♦ Glossary Terms

407

Page 432: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Glossary Terms

ABAP Proprietary language used by SAP. The Designer generates and installs ABAP code on the application server to extract SAP data.

ABAP join syntaxJoin syntax available on SAP 4.x systems. You can generate the ABAP program using ABAP join syntax if the mapping contains only transparent tables and you connect to an SAP 4.x system.

ABAP program variableA variable in the ABAP code block or static filter condition. ABAP program variables can represent SAP structures, fields in SAP structures, or values in the ABAP program.

ABAP type variableAn ABAP program variable that represents a value in the ABAP program.

ALE (Application Link Enabling)An SAP technology to exchange business data between interconnected programs across various platforms and systems.

application server Part of the three-tiered architecture of the SAP system. PowerCenter makes all requests through the application server.

background processA work process on the application server that the Integration Service uses to run file mode sessions in the background, or batch mode.

BAPIBusiness Application Programming Interface. An SAP programming interface to access SAP from external applications that support the RFC protocol.

branchThe structure in the hierarchy that connects the nodes, extending from the root node to the leaf nodes.

buffersShared memory area on the application server that holds query results.

408 Appendix D: Glossary

Page 433: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

business contentSAP business content is a collection of metadata objects that can be easily integrated with other applications and used for analysis and reporting.

cluster tableA table on the application server that does not have a one-to-one relationship with the related table on the database server.

code blockAdditional ABAP code you can add to the ABAP program. You can create code blocks in the ABAP Program Flow dialog box in the Application Source Qualifier.

CPI-CCommon Program Interface-Communications. The communication protocol that enables online data exchange and data conversion between the SAP system and PowerCenter. CPI-C is used for stream mode sessions.

Data Migration InterfaceSee SAP DMI.

database serverPart of the three-tiered architecture of the SAP system. This server contains the underlying database for SAP.

database viewsViews on the application server that are based on views of transparent tables on the database server. You can extract from a database view in the same way you extract from a transparent table.

design-time transportsTransports you install and use in the development environment.

detail tableThe SAP table that joins with the hierarchy. The detail table provides the data for the detail range associated with the leaf nodes in the hierarchy.

development classStructure in the SAP system that holds objects in the same development project. PowerCenter creates the ZERP development class and holds all the PowerCenter objects.

dialog processA work process on the application server that runs file mode sessions in the foreground.

Glossary Terms 409

Page 434: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

dynamic filterA filter in the Application Source Qualifier to reduce the number of rows the ABAP program returns. The Designer stores the dynamic filter information in the repository. The dynamic filter condition is not a part of the ABAP program.

exec SQLStandard SQL that accesses the physical database. Use exec SQL to access transparent tables and database views.

file modeUse the file mode extraction method to extract SAP data to a staging file. File mode sessions use RFC.

FROM_VALUEThe beginning range of values for the leaf node of the hierarchy. The Integration Service uses either this column or the TO_VALUE column to join with the detail table.

functionsGeneric modules in the SAP system. You insert SAP functions in the ABAP program to extract source data.

gateway processA work process on the application server that implements CPI-C protocol for stream mode sessions.

hierarchyTree-like structure of metadata that defines classes of information. A hierarchy is composed of nodes and branches.

IDocAn Intermediate Document (IDoc) is a hierarchical structure that contains segments. Each IDoc segment contains a header and data rows. You import IDoc source definitions in the Source Analyzer.

IDoc transfer methodA transfer method within the SAP BW system used to synchronously move data from transfer structures to InfoCubes.

InfoCubeA self-contained dataset in the SAP Business Information Warehouse (SAP BW) created with data from one or more InfoSources.

410 Appendix D: Glossary

Page 435: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

InfoPackageThe SAP BW mechanism for scheduling and running ETL jobs. You create an InfoPackage in the SAP BW system to specify the scheduling of SAP BW workflows and data requests from PowerCenter.

InfoSourceA collection of data in the SAP Business Information Warehouse (SAP BW) that logically belongs together, summarized into a single unit.

leaf nodesThe lowest nodes in the structure of the hierarchy. These nodes are keyed to the detail table containing data.

logical unit of work (LUW)Contains a set of functions that perform a given task in SAP. When you use an RFC/BAPI mapping to process data in SAP, use TransactionID values to define the commit points for an LUW. LUW you define must make a function call for each function you use in the mapping.

nested loopThe syntax that Open SQL uses to extract data. You can generate the ABAP program using nested loop by selecting the Force Nested Loop option in the Application Source Qualifier.

nodesThe structure at each level of the hierarchy. The highest level node is called the root node. The lowest level nodes are called leaf nodes. Other level nodes are called nodes.

non-uniform hierarchyA hierarchy that has different numbers of nodes across the branches.

open SQLSQL written in ABAP used to query tables on the application server. Use open SQL to access database views and transparent, pool, and cluster tables. When you join two or more sources in one Application Source Qualifier, Open SQL uses a nested loop to extract data.

pool tableA table on the application server that does not have a one-to-one relationship with the related table on the database server.

presentation server The top layer of the SAP three-tiered architecture. The presentation server is usually a PC or terminal that end-users access to enter or query into the SAP system.

Glossary Terms 411

Page 436: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

process chainA process chain is used to extract data from SAP BW. It links an InfoSpoke that extracts the data and writes it to an SAP transparent table or file and the ZPMSENDSTATUS ABAP program that calls the SAP BW Service. A process chain also helps you identify the point of failure in case of a system failure.

PSA transfer methodA transfer method within the SAP BW system used to load data into the Persistent Storage Area (PSA) before writing the data to the Operational Data Store (ODS) or InfoCube.

qualifying tableThe last table selected in the join order that you use to preface a join condition override.

RFCRemote Function Call. A standard interface to make remote calls between programs located on different systems. PowerCenter uses RFC each time it connects to the SAP system.

root nodeThe highest node in the structure of the hierarchy. It is the origin of all other nodes.

run-time transportsTransports you install in the development environment and then deploy to test and production environments.

SAP BWAn SAP system containing the BW Enterprise Data Warehouse. The PowerCenter Connect for SAP NetWeaver BW Option allows you to extract data from or load data into an SAP BW system.

SAP BW ServiceA PowerCenter application service that listens for RFC requests from the SAP BW system, initiates workflows to extract from or load to the SAP BW system, and sends log events to the PowerCenter Log Manager.

SAP DMISAP Data Migration Interface. Use the SAP interface to migrate data from legacy applications, other ERP systems, or any number of other sources into SAP.

saprfc.iniConnectivity file that enables PowerCenter to initiate RFC with the SAP and BW systems.

SETIDSAP term that provides a unique identifier for each hierarchy.

412 Appendix D: Glossary

Page 437: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

sideinfo fileConnectivity file that enables PowerCenter to initiate CPI-C with the SAP system. The sideinfo file is used only when you run an ABAP stream mode session.

single-dimension hierarchyA hierarchy with only one associated detail table. PowerCenter supports single-dimension hierarchies.

static filterA filter in the Application Source Qualifier to reduce the number of rows the ABAP program returns. The Designer writes the static filter condition into the ABAP program as a WHERE clause.

stream modeUse the stream mode extraction method to extract SAP data to buffers. Data from the buffers is streamed to the Integration Service. Stream mode sessions use CPI-C protocol.

structure field variableA variable in the ABAP program that represents a structure field in an SAP structure. Structures are virtual tables defined in the SAP dictionary. A structure can have many fields.

structure variableA variable in the ABAP program that represents a structure in the SAP system. Structures are virtual tables defined in the SAP dictionary.

TO_VALUEThe end range of values for the leaf node of the hierarchy. The Integration Service uses either this column or the FROM_VALUE column to join with the detail table.

tp addtobufferTransport system command used to add transport requests to a buffer prior to importing them into the SAP system.

tp importTransport system command used to import the transport requests into the SAP system.

transparent tableA table on the application server that has a table of matching structure on the database server.

transportSAP system used to transfer development objects from one system to another. Use the transport system when you install the PowerCenter development objects on SAP. See also design-time transports on page 409 and run-time transports on page 412.

Glossary Terms 413

Page 438: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

tRFCTransactional RFC. An SAP method of guaranteeing that RFCs are executed only once.

uniform hierarchyA hierarchy with the same number of nodes in each of the branches.

variantA BW structure that contains parameter values that the SAP BW system passes during program execution.

work process A process on the application server that executes requests. All PowerCenter requests for data extraction go through a work process.

414 Appendix D: Glossary

Page 439: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

I n d e x

AABAP (SAP)

definition 408generating ABAP 121transports 13upgrading from PowerCenter 6.x 105

ABAP code blocks (SAP)ABAP program flow 125creating 135definition 409inserting 136rules 136validation 136

ABAP join syntax (SAP)available generation mode 121available join types 127definition 408generating 124inner join 129joining sources 129key relationship 129outer join 129overriding join conditions 133sample ABAP programs 129

ABAP mappings (SAP)creating a development class 29

ABAP program variable (SAP)definition 408

ABAP programs (SAP)available generation mode 121code blocks 125, 135generating and installing 95generating local copies 99IDoc filter 147inserting SAP functions 114, 125installing 99installing for versioned mappings 98mapping variables 145namespace 97naming 97program flow 125program modes 96purging a mapping 98system variables 140troubleshooting 106undoing a checkout 98Unicode 99uninstalling 44, 102uninstalling from versioned mappings 98uploading 99validating program flow 126variables 126, 137viewing properties 102

ABAP type variables (SAP)creating 138definition 408

415

Page 440: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

ACCP (SAP)definition 388

Administration Console (SAP)configuring SAP BW Service 56

ALE (SAP)configuring in SAP 31definition 174, 194, 408

ALE configurationremoving 44

APO (SAP)integrating 4

application connections (SAP)See also PowerCenter Workflow Administration Guidecopying mappings 264

Application Multi-Group Source Qualifier (SAP)creating 177, 381definition 381description 177

application server (SAP)definition 408generate and install ABAP program 99importing source definitions 64importing table definitions 65running sessions 154

Application Source Qualifier (SAP)ABAP code blocks 135ABAP program variables 137changing datatypes 387configuring 150creating 150datatypes 150, 151generating ABAP 121generating SQL 122joining sources 127mapping variables 145source filters 141

applications (SAP)integrating 4

authority checks (SAP)adding 97creating users 27running sessions 154, 206, 264troubleshooting 169

authorization (SAP)See profiles

Bbackground process (SAP)

definition 408running file mode sessions 158

BAPI (SAP)definition 408

basic IDoc type (SAP)identifying and verifying 297

BCI (SAP)communication settings, deleting 44See business content integration

BCI listener mapping (SAP)basic IDoc type, identifying and verifying 297

binary datatypes (SAP)description 388in the Application Source Qualifier 150

branch (SAP)definition 408

buffer block size (SAP)configuring 361

buffers (SAP)definition 408

business components (SAP)creating 84organizing the Navigator 83

business content (SAP)See also business content integrationdefinition 409

business content integration (SAP)DataSources 288, 294, 302definition 288importing PowerCenter objects 295listener workflow 299logical system 35logical system in SAP 288mappings 289processing mappings 301processing workflows 314request files 312scheduling 290, 316send request workflows 313workflows 290

business names (SAP)hierarchies 68tables and views 65

business solutions (SAP)integrating 4

BW data extraction (SAP)Open Hub Service 8

BW hierarchy (SAP)child node 338configuring 343description 338interval hierarchy 339leaf node 338

416 Index

Page 441: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

root nodes 338sorted hierarchy 339time dependent hierarchy 339version-dependent hierarchy 339

BW Monitor (SAP)log messages 370

BW Option (SAP)configuring 46performance 361upgrading 47

Ccaches (SAP)

DMI data 214inbound IDoc data 214session cache files 214

changing parameters (SAP)configuring 115definition 113, 228

CHAR (SAP)trimming trailing blanks 389

child node (SAP)description 338

cluster table (SAP)definition 409

code blocks (SAP)See ABAP code blocks

code pages (SAP)selecting 398

cofiles (SAP)definition 24

column (SAP)DATS 392TIMS 392

commit call (SAP)configuring for inbound IDocs 213

Common Program Interface-Communications (SAP)See CPI-C

connections (SAP)testing 373

connectivity (SAP)communication interfaces 12importing source definitions 78installing ABAP programs 99integration overview 5, 8saprfc.ini file 41sideinfo file 39

continuous workflows (SAP)See also PowerCenter Workflow Administration Guidedescription 211

CPI-C (SAP)configuring sideinfo 39definition 409integration process 5overview 12running stream mode sessions 156

CRM (SAP)integrating 4

CUKY (SAP)trimming trailing blanks 389

Ddata extraction (SAP)

process chains 328scheduling 328

Data Migration Interface (SAP)See SAP DMI 409

data selection entry (SAP)configuring 365

database server (SAP)definition 409generating open SQL 122importing table definition 65

database views (SAP)definition 409extracting 65generating SQL 123, 124

datafiles (SAP)definition 24

DataSources (SAP)activating 294non-hierarchy and hierarchy 302overview 288

datatypes (SAP)ACCP 388Application Multi-Group Source Qualifier 177Application Source Qualifier 150binary 391binary datatypes 388CHAR 389converting 390CUKY 389date/time 391DATS 388filter conditions 143, 144INT1 391native 387numeric 391overriding 151, 387SAP 384

Index 417

Page 442: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

transformation 386trimming trailing blanks 389UNIT 389using 386

date format (SAP)converting 146key ranges for partitioning 165

DATE_CONVERT_TO_FACTORYDATE (SAP)description 109

DATS (SAP)description 388

definitions in the navigator (SAP)organizing 83

design-time transports (SAP)definition 409

DEST (SAP)generating and installing ABAP programs 99importing sources 78

detail ranges (SAP)FROM_VALUE 72hierarchies 72TO_VALUE 72

detail table (SAP)definition 409joining with hierarchies 73, 132properties 93

development class (SAP)$TMP 29, 99creating 29definition 409ZERP 24

development system (SAP)installing and configuring 22

development user (SAP)creating profiles for mySAP 28creating profiles for SAP BW 48

dialog process (SAP)definition 409file mode sessions 158stream mode sessions 156

DMI documents (SAP)foreign key 275primary key 275

dynamic filters (SAP)condition 142definition 410handling 141

Eenvironment variables (SAP)

setting PMTOOL_DATEFORMAT 370ERP (SAP)

integrating 4error handling (SAP)

IDoc sessions 222RFC/BAPI sessions 269

error messages (SAP)BW sessions 328, 366

exec SQL (SAP)available generation mode 121available join type 127definition 410generating 123joining sources 128overriding join conditions 133Select options 89

export parameters (SAP)configuring 115

external logical system (SAP)See logical system

Ffile direct (SAP)

staging files 161file lists (SAP)

BCI request files 312file mode (SAP)

ABAP program 96configuring session properties 163definition 410running sessions 158sessions 154

file persistence (SAP)staging files 159

file reinitialize (SAP)staging files 159

filtering data (SAP)$$BWFILTERVAR 352configuring BW data selection entry 365description 352from flat file sources 353from relational sources 352from SAP R/3 sources 353

filters (SAP)condition 143difference between dynamic and static 141dynamic filters 141

418 Index

Page 443: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

entering 141handling 141ISO 8859-1 characters 141multibyte characters 141NUMC datatype 144static filters 141, 143syntax rules 143

flat file sources (SAP)filtering data from 353mapping parameters 358

FROM_VALUE (SAP)definition 410detail ranges 72hierarchy relationship 74

FTP (SAP)staging filenames 163staging files 162

FunctionCall_MS mapplet (SAP)RFC/BAPI Multiple Stream mapping 243

FunctionCall_No_Input mapplet (SAP)RFC/BAPI No Input mapping 233

FunctionCall_SS mapplet (SAP)RFC/BAPI Single Stream mapping 251

functions (SAP)See SAP functions

Ggateway process (SAP)

definition 410generating SQL (SAP)

available generation mode 121glossary (SAP)

terms 408grid (SAP)

restriction 208groups (SAP)

IDocs 180

Hhierarchies (SAP)

creating columns 68definition 410detail ranges 72establishing relationships 73extracting 68FROM_VALUE 74importing 78importing definitions 68

joining with tables 73, 132nodes 72non-uniform hierarchies 70overview 68running sessions 154sample definition 72session modes 154SETID 68, 73structure 72TO_VALUE 74uniform hierarchies 68viewing properties 93

hierarchy DataSources (SAP)processing mappings 302

high availability (SAP)restriction 208

IIdle Time (SAP)

configuring 217description 208

IDoc definitions (SAP)viewing 76

IDoc sessions (SAP)error handling 222troubleshooting 224

IDoc transfer method (SAP)definition 410described 341

IDocs (SAP)ABAP program flow restrictions 147attributes 76control information 76, 147definition 410editing IDoc type 94entering an IDoc filter 147filter condition syntax 149foreign key 196importing IDoc definitions 75importing IDocs with the same name 94joining with tables 132overview 6primary key 196properties 77segments and groups 180type 77validating the IDoc filter condition 149

import parameters (SAP)configuring 115definition 113

Index 419

Page 444: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

inbound IDoc mapping (SAP)configuring 203

inbound IDocs (SAP)configuring a session for invalid IDocs 213document number, passing values to 203processing invalid IDocs 203syntax validation 203

industry solutions (SAP)integrating 4

InfoCube (SAP)definition 410

InfoPackage (SAP)creating 364definition 411session names 360troubleshooting 373workflow names 362

InfoSource (SAP)3.x InfoSources 338activating 346assigning logical system 345creating 343definition 411for master data 338for transaction data 338importing 349loading to SAP BW 7.0 338

InfoSpoke (SAP)creating 325

inner join (SAP)ABAP join syntax 129

installation (SAP)changes to BW Option 46changes to mySAP Option 16

integration methods (SAP)BW Option 8mySAP Option 5

interfaces (SAP)overview 12

interval hierarchy (SAP)description 339

Jjoin conditions (SAP)

rules 133specifying 133

joining sources (SAP)ABAP join syntax 129available join types 127exec SQL 128

hierarchies 93open SQL 127tables and hierarchies 132tables and IDocs 132

Kkey relationships (SAP)

importing 66

Llanguage codes (SAP)

selecting 396, 398LCHR datatype (SAP)

using with Select Distinct 90leaf nodes (SAP)

See also nodesdefinition 411description 338

libraries (SAP)Unicode for multiple SAP sessions 403Unicode for single SAP sessions (SAP) 403

listener workflow (SAP)configuring 299

LMAPITarget (SAP)application connection 297

load balancing (SAP)SAP BW Service 56support for BW system 56Type B entry 41, 53

log events (SAP)See also PowerCenter Administrator GuideSee also PowerCenter Workflow Administrator Guideviewing 332, 370

logical system (SAP)ALE integration 31assigning to InfoSource 345business content integration 35BW extraction and loading 52program ID 32, 35, 52ZINFABCI program 35

logical unit of work (SAP)definition 411

LRAW datatype (SAP)using with Order By 91

420 Index

Page 445: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Mmapping parameters (SAP)

$$BWFILTERVAR 352description 145flat file sources 358relational sources 357SAP R/3 sources 358

mapping shortcuts (SAP)installing ABAP programs 95

mapping variables (SAP)built-in 145date format 146sample filter condition 145user-defined 145

mappings (SAP)creating 326, 351

maximum processes (SAP)See also PowerCenter Administration Guideconfiguring for SAP RFC/BAPI function mappings

265message recovery (SAP)

See also PowerCenter Workflow Administration Guidedescription 210specifying partitions and a recovery cache folder 211using with certified messages 210

mySAP applications (SAP)integrating 4

mySAP Option (SAP)configuring 16uninstalling 44upgrading 16

Nnamespace (SAP)

naming ABAP programs 97native datatypes (SAP)

description 387nested loop (SAP)

definition 411NFS (SAP)

staging files 161nodes (SAP)

child node 338definition 411hierarchies 72leaf node 338leaf nodes 68root nodes 68, 338root nodes definition 412

non-hierarchy DataSources (SAP)processing mappings 302

non-uniform hierarchies (SAP)definition 411overview 70

NUMC datatype (SAP)description 387filters 144

OOpen Hub Service (SAP)

description 8open SQL (SAP)

available generation mode 121available join type 127definition 411generating 122joining sources 127overriding join condition 133select options 89

Order By (SAP)cluster tables 92exec SQL 91open SQL 91pool tables 92source definitions 91transparent tables 91using the LRAW datatype 91

outbound IDoc mapping (SAP)configuring a session 207

outbound IDocs (SAP)configuring a session for invalid IDocs 211processing invalid IDocs 191session behavior 174session restriction 208syntax validation 191upgrading 191

outer join (SAP)ABAP join syntax 129using multiple outer joins 132

Output is Deterministic property (SAP)SAP/ALE IDoc Interpreter transformation 189

PPacket Count (SAP)

configuring 217description 208high availability 208

Index 421

Page 446: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

packet size (SAP)configuring for BW session 361configuring for IDoc sessions 213

partner profile (SAP)ALE integration 33business content integration 35

performance (SAP)configuring buffer block size 361loading to BW 341

permissions (SAP)running sessions 154, 206, 264

pipeline partitioning (SAP)See also PowerCenter Workflow Administration Guideconfiguring for inbound IDoc sessions 212configuring for outbound IDoc sessions 211configuring in the session properties 168restrictions for sources 165specifying partitions and a recovery cache folder 211stream mode sessions 157

PMTOOL_DATEFORMAT (SAP)setting environment variables 370

pool table (SAP)definition 411

PowerCenter workflows (SAP)creating 327, 361InfoPackage 364monitoring 332, 370recovering 372

Prepare mapplet (SAP)RFC/BAPI Multiple Stream mapping 240

presentation server (SAP)definition 411

process chain (SAP)definition 412

process chains (SAP)configuring 328loading data 366troubleshooting 333

processing mappings (SAP)creating 301

processing workflows (SAP)creating 314

production system (SAP)installing and configuring 22

production user (SAP)creating profiles for mySAP 28creating profiles for SAP BW 48

profiles (SAP)creating for mySAP 28creating for SAP BW 48setting for RFC/BAPI function mappings 29

program ID (SAP)ALE integration 32business content integration 35BW extraction and loading 52logical system 32, 35, 52saprfc.ini file 41, 53

program information (SAP)copying 104

PSA transfer method (SAP)definition 412described 341

Qqualifying table (SAP)

definition 412

RReader Time Limit (SAP)

configuring 217description 210

Real-time Flush Latency (SAP)configuring 217configuring continuous workflows 211description 209

real-time sessions (SAP)configuring source-based commit 209defined 209setting Real-time Flush Latency 209

recovery (SAP)See message recoveryenabling 361failed sessions 372

relational sources (SAP)filtering data from 352mapping parameters 357

remote function call (SAP)See RFC

request files (SAP)deploying 312

reusing (SAP)staging files 159

RFC (SAP)configuring saprfc.ini 41definition 412integration process 5, 8overview 12running file mode sessions 158troubleshooting 333

422 Index

Page 447: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

RFC/BAPI function mappings (SAP)authorization 29change data in SAP 229configuring a session 265copying 264custom return structures 253description 228function input data 261generating 255writing data to SAP 229

RFC/BAPI Multiple Stream mapping (SAP)definition 236FunctionCall_MS_mapplet 243Prepare mapplet 240RFCPreparedData source 241RFCPreparedData target 241source definitions 238Source Qualifier transformation 239, 242target definitions 244Transaction_Support mapplet 243

RFC/BAPI No Input mapping (SAP)definition 232FunctionCall_No_Input mapplet 233source definitions 233Source Qualifier transformation 233target definitions 235

RFC/BAPI sessions (SAP)error handling 269

RFC/BAPI Single Stream mapping (SAP)definition 246FunctionCall_SS mapplet 251Sorter transformation 251source definitions 247Source Qualifier transformation 250target definitions 252

RFCPreparedData source (SAP)RFC/BAPI Multiple Stream mapping 241

RFCPreparedData target (SAP)RFC/BAPI Multiple Stream mapping 241

root nodes (SAP)description 338See nodes

run-time transports (SAP)definition 412

SSAP 3.x system (SAP)

ABAP program name 97SAP 4.x system (SAP)

ABAP program name 97

SAP BW (SAP)definition 412Unicode 403

SAP BW Service (SAP)creating 56definition 412viewing log events 332, 370

SAP DMI (SAP)definition 412

SAP DMI Prepare transformations (SAP)creating 277editing 280

SAP functions (SAP)ABAP program flow 125changing parameters 113, 228configuring function parameters 115DATE_CONVERT_TO_FACTORYDATE 109definition 410export parameters 113import parameters 113importing 111inserting in ABAP program flow 114parameters 109rules 117table parameters 113validating 117versioning 109viewing 113

SAP NetWeaver (SAP)application platform 4

SAP R/3 source definitions (SAP)importing 64, 78importing IDoc definitions 75importing key relationships 66

SAP R/3 sources (SAP)filtering data from 353mapping parameters 358

SAP sessions (SAP)troubleshooting 169

SAP system (SAP)importing source definitions 64

SAP system variables (SAP)See variables

SAP transparent table (SAP)creating a mapping 326

SAP/ALE IDoc Interpreter transformations (SAP)creating 182editing 189upgrading 191

SAP/ALE IDoc Prepare transformation (SAP)DOCNUM port 203

Index 423

Page 448: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

SAP/ALE IDoc Prepare transformations (SAP)creating 198editing 198

SAPALEIDoc source definitions (SAP)description 176using in a mapping 176

SAPALEIDoc target definitions (SAP)creating 202

saprfc.ini (SAP)configuring 41definition 412DEST 58entries 41, 53renaming 30, 51sample entry 41sample file 53

scheduling (SAP)BCI 290, 316

security (SAP)accessing staging files 162mySAP authorizations 28SAP BW authorizations 48

segments (SAP)IDocs 180

select distinct (SAP)overview 90using LCHR datatype 90

select single (SAP)description 89

Send IDocs Based On (SAP)configuring 213

send request workflows (SAP)creating 313

services file (SAP)creating entries 40

session conditions (SAP)Idle Time 208Packet Count 208Reader Time Limit 210Real-time Flush Latency 209

session properties (SAP)Cache Directory 221Cache Size 221configuring for IDoc mappings 216configuring for mappings with SAP R/3 sources 166Duplicate Parent Row Handling 221Extended Syntax Check 221NULL Field Representation 221Orphan Row Handling 221source directory 163staging directory 163

sessions (SAP)CPI-C 154failed 372file direct 161file mode 154FTP 162NFS 161overview 154, 206, 264partitioning 165read permissions 154, 206, 264recovering 372RFC 154stream mode 154troubleshooting 333, 373

SETID (SAP)definition 412hierarchies 68

sideinfo (SAP)renaming 30

sideinfo file (SAP)configuring 39creating entries in the services file 40definition 413sample entry 39

single-dimension hierarchy (SAP)definition 413

sorted hierarchy (SAP)description 339

Sorter transformation (SAP)RFC/BAPI Single Stream mapping 251

source definitions (SAP)configuring Order By 91editing 81importing 64, 78importing hierarchies 68importing tables and views 65organizing the Navigator 83RFC/BAPI Multiple Stream mapping 238RFC/BAPI No Input mapping 233RFC/BAPI Single Stream mapping 247SAPALEIDoc source definition 176transformation properties 163troubleshooting 85

source directory (SAP)session properties 163

Source Qualifier transformation (SAP)RFC/BAPI Multiple Stream mapping 239, 242RFC/BAPI No Input mapping 233RFC/BAPI Single Stream mapping 250

source system (SAP)See logical system

424 Index

Page 449: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Source transformation properties (SAP)description 150

sources (SAP)hierarchies 68importing definitions 65tables 65, 122views 65

SQL (SAP)ABAP join syntax 124Application Source Qualifier 122exec SQL 123joining sources 127open SQL 122

staging directory (SAP)file mode session 163session properties 163

staging files (SAP)accessing on UNIX 162configuring session properties 163establishing access 161file direct 161file persistence 159file reinitialize 159FTP 162NFS 161preparing the staging directory 163reusing 159session properties 163

static filters (SAP)condition 143definition 413handing 141

stream mode (SAP)ABAP program 96ABAP program name 97configuring partitioning 157configuring sideinfo 39creating entries in the services file 40definition 413running sessions 156sessions 154

strings (SAP)date format 392

structure field variables (SAP)creating 137definition 137, 413using system variables 140

structure variables (SAP)creating 137definition 137, 413

sy-datum (SAP)description 140

syntax validation (SAP)inbound IDocs 203outbound IDocs 191

system variables (SAP)See variablesassigning initial value 140creating 140

Ttable parameters (SAP)

configuring 115overview 113

tables (SAP)cluster 65, 122description 65detail 68, 73importing definitions 65, 78joining with hierarchies 132joining with IDocs 132pool 65, 122transparent 65, 122

target definitions (SAP)RFC/BAPI Multiple Stream mapping 244RFC/BAPI No Input mapping 235RFC/BAPI Single Stream mapping 252SAPALEIDoc target definition 202

test system (SAP)installing and configuring 22

time-dependent hierarchy (SAP)description 339

$TMP (SAP)development class 29installing ABAP programs 99

TO_VALUE (SAP)definition 413hierarchy definition 72hierarchy relationship 74

tp addtobuffer (SAP)definition 413

tp import (SAP)definition 413transporting development objects 24

Transaction_Support mapplet (SAP)RFC/BAPI Multiple Stream mapping 243

transactional RFC (SAP)definition 414

transfer methods (SAP)IDoc 341

Index 425

Page 450: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

PSA 341transfer rules (SAP)

setting 346transformation datatypes (SAP)

description 387transparent table (SAP)

definition 413transport (SAP)

definition 413overview 13

transport programs (SAP)YPMPARSQ 26

transportsSAP, deleting 22

transports (SAP)deleting transport objects 44import 24installing 24

TreatCHARasCHARonRead (SAP)trimming trailing blanks 389

tRFC (SAP)definition 414

troubleshooting (SAP)authority checks 169BW sessions 333, 373extracting data from BW 333IDoc sessions 224importing source definitions 85InfoPackage 373installing ABAP programs 106loading data into BW 373

Type A (SAP)entry in saprfc.ini 41, 53

Type B (SAP)entry in saprfc.ini 41, 53

Type R (SAP)entry in saprfc.ini 41, 53

UUnicode (SAP)

entering source filters 141libraries for multiple SAP sessions 403libraries for single SAP sessions 403SAP support 403uploading ABAP programs 99

uniform hierarchies (SAP)definition 414examples 68

uninstalling (SAP)See also PowerCenter Installation and Configuration

GuidemySAP Option 44SAP environment, cleaning 44transport objects 44

uninstalling ABAP program (SAP)description 102

UNIT (SAP)trimming trailing blanks 389

user-defined commit (SAP)configuring for inbound IDocs 213

UTF-16 (SAP)SAP Unicode data 403

Vvalidation (SAP)

ABAP code blocks 136ABAP program flow 126SAP functions 117

variables (SAP)ABAP program variables 126, 137ABAP type variables 138date format 146mapping variables 145naming conventions 137SAP system variables 140structure field variables 137structure variables 137

version-dependent hierarchy (SAP)description 339

versioned mappings (SAP)See also PowerCenter Repository Guideinstalling an ABAP program 98purging a mapping with an ABAP program 98undoing a checkout with an ABAP program 98uninstalling an ABAP program 98

versioned objects (SAP)See versioned mappings

versioning (SAP)SAP functions 109

views (SAP)description 65extracting 65generating SQL 123, 124importing definitions 65, 78

Virtual plug-in source definition (SAP)definition 380

Virtual plug-in target definition (SAP)creating 382definition 382

426 Index

Page 451: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

Wwork process (SAP)

definition 414workflows (SAP)

See PowerCenter workflowsoverview 206running 223stopping 373

YYPMPARSQ (SAP)

description 26

ZZERP (SAP)

description 24ZINFABCI (SAP)

logical system 35ZINFABCI transaction (SAP)

communication settings, deleting 44ZPMSENDSTATUS (SAP)

configuring for data extraction 328configuring for data loading 366creating a variant 329description 59

Index 427

Page 452: Informatica PowerCenter Connect 8.1.1 for SAP NetWeaver User Guide

428 Index