QlikView Connector Manual
QlikView Connector Manual
QlikView Connector Manual
2012 QlikTech International AB. All rights reserved. QlikTech, QlikView, Qlik, Q, Simplifying Analysis for Everyone, Power of Simplicity, New Rules, The Uncontrollable Smile and other QlikTech products and services as well as their respective logos are trademarks or registered trademarks of QlikTech International AB. All other company names, products and services used herein are trademarks or registered trademarks of their respective owners. The information published herein is subject to change without notice. This publication is for informational purposes only, without representation or warranty of any kind, and QlikTech shall not be liable for errors or omissions with respect to this publication. The only warranties for QlikTech products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting any additional warranty.
Table of Contents
1 2 3 About this Document ............................................................................................................. 6 Introduction ........................................................................................................................... 7 Authorization Concept ........................................................................................................... 8 3.1 General ...................................................................................................................................... 8 3.1.1 Authorization Concept........................................................................................................... 8 3.1.2 QlikView Predefined Authorization Roles .............................................................................. 9 4 QlikView SAP SQL Connector ............................................................................................ 11 4.1 SAP System .............................................................................................................................. 11 4.1.1 Prerequisites ........................................................................................................................ 11 4.1.2 Installing Transports............................................................................................................ 11 4.1.3 User Configuration for SAP BASIS System 6.10, 6.20, 6.40, and 7 ....................................... 11 4.1.4 Testing SQL Statements /QTQVC/SQL .............................................................................. 13 4.2 Authorisation ........................................................................................................................... 13 4.2.1 Table-based Access Control ................................................................................................. 14 4.2.2 Row-based Access Control .................................................................................................. 15 4.3 QlikView SAP SQL Connector Client ........................................................................................ 18 4.3.1 Prerequisites ........................................................................................................................ 18 4.3.2 Windows Folders ................................................................................................................. 18 4.3.3 Installing SAP SQL Connector Client .................................................................................... 18 4.3.4 Using SAP SQL Connector .................................................................................................... 21 4.3.5 Data Types in SAP ................................................................................................................ 24 4.3.6 ScriptBuilder ........................................................................................................................ 25 4.3.7 SQL SUBSELECT Syntax ........................................................................................................ 25 4.3.8 SAP SQL Connector Log ....................................................................................................... 26 5 QlikView SAP OLAP Connector.......................................................................................... 27 5.1 SAP System .............................................................................................................................. 27 5.1.1 Prerequisites ........................................................................................................................ 27 5.1.2 Installing Transports............................................................................................................ 27 5.1.3 User Configuration .............................................................................................................. 27 5.2 QlikView SAP OLAP Connector Client ...................................................................................... 29 5.2.1 Prerequisites ........................................................................................................................ 29 5.2.2 Installing SAP OLAP Connector Client .................................................................................. 29 5.2.3 Accessing BEX Queries ......................................................................................................... 30 5.2.4 Using SAP OLAP Connector ................................................................................................. 30 5.2.5 Defining Query .................................................................................................................... 32 5.2.6 Optimizing Query ................................................................................................................ 34 5.2.7 Delta Loads.......................................................................................................................... 36
QlikView SAP DSO/ODS Connector .................................................................................. 37 6.1 SAP System .............................................................................................................................. 37 6.1.1 Prerequisites ........................................................................................................................ 37 6.1.2 Installing Transports............................................................................................................ 37 6.1.3 User Configuration .............................................................................................................. 37 6.2 QlikView SAP DSO/ODS Connector Client ............................................................................... 38 6.2.1 Prerequisites ........................................................................................................................ 38 6.2.2 Installing SAP DSO/ODS Connector Client ........................................................................... 38 6.2.3 Using SAP DSO/ODS Connector ........................................................................................... 38 6.2.4 Defining Query .................................................................................................................... 40
QlikView SAP Query Connector ......................................................................................... 43 7.1 SAP System .............................................................................................................................. 43 7.1.1 Prerequisites ........................................................................................................................ 43 7.1.2 Installing Transports............................................................................................................ 43 7.1.3 User Configuration .............................................................................................................. 43 7.2 QlikView SAP Query Connector Client ..................................................................................... 45 7.2.1 Prerequisites ........................................................................................................................ 45 7.2.2 Installing SAP Query Connector Client ................................................................................. 45 7.2.3 Using SAP Query Connector ................................................................................................ 45 7.2.4 Defining Query .................................................................................................................... 47
QlikView SAP Report Connector ........................................................................................ 49 8.1 SAP System .............................................................................................................................. 49 8.1.1 Prerequisites ........................................................................................................................ 49 8.1.2 Installing Transports............................................................................................................ 49 8.1.3 User Configuration .............................................................................................................. 49 8.2 QlikView SAP Report Connector Client.................................................................................... 50 8.2.1 Prerequisites ........................................................................................................................ 50 8.2.2 Installing SAP Report Connector Client ............................................................................... 50 8.2.3 Preparing SAP Report .......................................................................................................... 51 8.2.4 Using SAP Report Connector ............................................................................................... 52 8.2.5 Defining Report ................................................................................................................... 54
QlikView SAP Extractor Connector ..................................................................................... 57 9.1 SAP System .............................................................................................................................. 58 9.1.1 Prerequisites ........................................................................................................................ 58 9.1.2 Installing Transports............................................................................................................ 58 9.1.3 User Configuration for SAP BASIS System 6.40, and 7.00 or later ....................................... 58 9.1.4 Setting up SAP Side Extractor .............................................................................................. 59 9.1.5 Setting up QlikView SAP Extractor ...................................................................................... 60 9.1.6 Setting up QlikView Extractor Administration..................................................................... 60 9.1.7 Activating/Generating Data Sources/Extractors ................................................................. 61
9.2 QlikView SAP Extractor Connector Client ................................................................................ 62 9.2.1 Prerequisites ........................................................................................................................ 62 9.2.2 Installing SAP Extractor Connector Client ............................................................................ 63 9.2.3 Using SAP Extractor Connector ........................................................................................... 64 9.2.4 Delta Loads.......................................................................................................................... 68 9.2.5 Hierarchy Properties ............................................................................................................ 68 9.2.6 Overview of Logs and Processes .......................................................................................... 71 9.2.7 Error Handling ..................................................................................................................... 72 9.3 QlikView SAP Extractor Connector in BW System ................................................................... 74 9.3.1 Prerequisites BW ................................................................................................................. 75 9.3.2 Installing Transports............................................................................................................ 75 9.3.3 User Configuration for SAP BASIS System 6.40 and Later BW .......................................... 75 9.3.4 Setting up SAP BW Side Extractor ....................................................................................... 75 9.4 QlikView SAP Extractor Connector in BW System Client ...................................................... 77 9.4.1 Prerequisites ........................................................................................................................ 77 9.4.2 Installing SAP Extractor Connector Client............................................................................ 77 9.4.3 Using SAP Extractor Connector ........................................................................................... 77 9.5 Important Issues ...................................................................................................................... 77 9.5.1 Services File ......................................................................................................................... 77 9.5.2 Multiple Loads ..................................................................................................................... 77 9.5.3 Restriction Idoc Length ........................................................................................................ 77 9.5.4 Language Dependencies ..................................................................................................... 78 9.5.5 Finding Activated Data Sources........................................................................................... 78 9.5.6 Logistics Data Sources ......................................................................................................... 78 9.6 Authorizing SAP Extractor Connector in SAP Systems ............................................................. 79 9.6.1 Authorization Profile in SAP ERP ......................................................................................... 79 9.6.2 Authorization Profile in SAP BW System ............................................................................. 82 9.7 Tips and Recommendations .................................................................................................... 85 9.7.1 Delta Mechanism ................................................................................................................ 85 9.7.2 Load Time ............................................................................................................................ 85 9.7.3 Sample Extractors ............................................................................................................... 85 9.7.4 Transaction Codes ............................................................................................................... 86 9.7.5 Service File ........................................................................................................................... 86 10 BAPI Connector .............................................................................................................. 87
10.1 SAP System .............................................................................................................................. 87 10.1.1 Prerequisites ................................................................................................................... 87 10.1.2 Installing Transports ....................................................................................................... 87 10.1.3 User Configuration for SAP BASIS System 6.40, and 7.00 and later. ............................... 87 10.1.4 Function modules in the SAP System .............................................................................. 88 10.2 Using SAP BAPI Connector .................................................................................................. 91 10.2.1 BAPI Function in QlikView ............................................................................................... 91
BW Process Chain Status and QlikView tasks ............................................................... 93 Background .............................................................................................................................. 93 BW Process Chain Overview .................................................................................................... 93 How to do it ............................................................................................................................. 93 Set-up in SAP BW system ........................................................................................................ 94 Setup in Qlikview ..................................................................................................................... 95 Important General Information All Connectors ............................................................... 98 Transports / Mismatch ............................................................................................................ 98 Delete Function ....................................................................................................................... 98 Update Function ...................................................................................................................... 99 Secure Network Communication .................................................................................. 100
2 Introduction
The QlikView components are installed on two different types of computers; the SAP system and the QlikView SAP connector client. The procedures for each of these systems are described in this document. The connector package consists of seven different connectors: SQL connector Query connector Report connector Extractor connector BAPI connector OLAP connector (can only be used on a SAP BW system). DSO/ODS connector (can be used on a SAP BW system).
3 Authorization Concept
3.1 General
3.1.2.5 QTQVCEXTRADM This role can only be used to activate and generate the extractors in an SAP system. The role is very restricted and can only be used to activate the extractors for later use by the Extractor Connector. 3.1.2.6 QTQVCEXTRSETUP This role can only be used to create, delete, and verify the setup of the number logical system in an SAP system for later use by the Extractor Connector.
10
4.1.1 Prerequisites
SAP BASIS system 610 or later
Note: For BASIS versions 6.10 and 6.20 version 5.70 of the SAP connector must be used for the Extractor and BAPI connector 4.1.2.3 SAP BASIS System 6.40 and 7x For these systems, the following transports must be installed in the SAP system: E6DK900418 (data extraction) E6DK900419 (user profile)
The transports must be installed in the above order. The first is cross-client, whereas the second is client-specific and has to be installed on all clients where it is to be used.
4.1.3 User Configuration for SAP BASIS System 6.10, 6.20, 6.40, and 7
After the transports have been installed in the system, proceed as follows: Create one or more SAP users that will be used for Back-end jobs from QlikView. These users are not intended for QlikView end-users only a few SAP users should be created. The reason
11
to create several users might be that you want to give them different authorization or for traceability. 1. a. b. c. d. e. f. Go to transaction SU01. Click Create (F8). Give the user a name and a password. On the Logon data tab, assign the user to User Type: Service. On the Roles tab, add the role QTQVCACCESS. Click Save.
2. If the installation is an upgrade from a previous version and the role QTQVCACCESS has been updated, update all users assigned to the role: a. b. c. d. e. f. Go to transaction PFCG. Enter the role name QTQVCACCESS and click Change Role. On the User tab, enter the name of the user(s) created above. Click User comparison. Click Complete comparison. Click Save.
12
2. Enter the SQL statement. 3. Click Open Stream. 4. Click Fetch Stream to display the result.
4.2
Authorisation
The Role QTQVCACCESS should be used by the newly created SAP/QlikView user, this Role, delivered in a Transport gives access to all tables in the SAP system. This Role is only intended to be used in a development environment. In production a copy of this Role should be used, where you have restricted access to only the tables that need to be downloaded.
13
14
5. Expand the tree until the QlikTech Display>Table name row is available.
By default, it has the value *, which means all tables are accessible. Single values or ranges of tables can be entered.
15
Row-Based security, now possible to use position based wildcard(+) when defining table scope. A + character represents any character in that position like: ZAP+++++++++++++++++++++++++ (would give access to all tables starting with ZAP) Z+++ (would give access to all tables starting with Z and having 1-4 characters in the name. +++A (would give access to all tables with 4 characters ending with A. ++++ (would give access to all tables with 4 characters or less) If wildcards are used in Table name, it is not be possible to have any value conditions on the field level in the affected tables. Thus the field name always has to contain a star(*) in connection with wildcard in Table name. To use this functionality, create an additional Admin user that is allowed to use this transaction. Create the user in the same manner as above, but assign the role QTQVCADMIN instead. The Download users must not have this role assigned.
In the left-hand table, Restriction tables, define the table to download data from: If restriction on row-level is not needed, enter * as FieldName and ALL as Domain. Any user assigned to a domain with a * in the TableName column has access to all tables. To restrict on row-level, enter the FieldName for which to make a value-based restriction. The Domain field is a free text field. Several field names in different tables can be linked to the same domain (to ease the maintenance of values).
16
In the right-hand table, Restriction users, define per user allowed values per domain: If all values are allowed, enter * in the Value field and ALL in the Domain field. To restrict, enter one or more values in the Value field. Multiple values must be separated by , (comma). Non-numeric values must be enclosed with x (single quotes). Ranges can be specified as BT(a-d). To restrict on more than one field in a table, create more lines in each table. To create OR conditions, use the Group field to link the values together in pairs (or triplets). Example:
(VKORG = 1000 AND SPART = 10) OR (VKORG =2000 AND SPART =20) VKORG value=1000 group=1 SPART value=10 group=1 VKORG value=2000 group=2 SPART value=20 group=2
To get an overview of what has been entered for a specific table or user, click Overview. This screen is only used to display the defined access. The left-hand and right-hand tables are joined together using the Domain field. Filtering can be done on table and/or user.
17
To ease the maintenance, there is a copy user function. Click Copy User to open the dialog below. If the Copy to user already exists, the lines of the Copy from user are appended to any existing lines.
4.3
4.3.1 Prerequisites
QlikView version 10 or later If there is a firewall between the connector and the SAP system, port 33nn has to be open (where nn = system number of the SAP system).
18
Proceed as follows to install the SAP connectors: 1. Double-click the installation file. 2. Click Next.
19
5. Click Next.
20
7. Click Finish.
21
3. Select the Custom Data tab. In QlikView, the Data and Custom Data tabs are combined.
If everything is correctly installed, QvSAPConnector.dll is displayed. 4. Click Connect 5. Enter the Application Server Host address, Client, and System Number of the target SAP system, or select the Message Server Host option and enter the Message Server Address, Client, System ID, and Group.
If passing through a message server, an entry may have to be added in the C:\WINDOWS\system32\drivers\etc\services file. Add sapmsxxx 36nn/tcp, where xxx is the system ID and nn is the system number. If it is the last line in the file, add a new line break after the entry. If passing through an SAP router, paste the router string in the Host address field.
22
In addition, enter the Username and Password of the user that is to be used for this specific download. Remember that different users can get different results due to row-based access control. 6. Click Test Connection to verify that all fields are correctly filled in. 7. Finally, click OK to get a connection string in the script. There are a number of parameters that can be added to the connection string, if needed. Normally, the default values for these parameters are sufficient. Separate parameters with ; (semi-colon) in the connection string: ConvRoutine=0/1 (default = 0, on = 1): Indicates that output conversion routines are used. This is commonly used for fields like Material Number (MATNR). KeepCasing=0/1 (default/off = 0, but all newly generated connection strings have value 1): Indicates that lowercase characters in the SELECT statement remain lowercase. In previous versions (530 and below), the complete statement is converted to uppercase, thus preventing the use of lowercase characters in Where clause values. CheckSeparator=0/1 (default/off = 0): A specific combination of characters is used as field separator in the connector. This combination may occur in a field in the database and cause an error. If that happens, turn on this parameter to make the connector try alternative character combinations. Since this slows down the performance, it is only to be used when necessary. Nulldate=0/1 (default/off = 0, but all newly generated connection strings have value 1): If on, date type fields with the value 00000000 are returned as NULL to QlikView. RemoveAllBlanks=0/1 (default/off = 0): If on, provides the possibility to get the old behavior, where all blanks in fields in SAP containing only blank characters are trimmed. The default behavior leaves one blank character in order to differentiate from NULL fields. TargetServer=xxxxxxx: If specified, forces the background job to be executed on the specified application server. The correct name can be found in transaction SM51. The name is case-sensitive. JobClass=A/B/C (default = C): Sets the priority for the background job, which can be useful for small jobs that need to be reloaded often. BufferPercentage=nn (default = 10): Defines the amount of the free shared memory buffer that can be used by the job. A higher value increases the speed, but also increases the risk for conflicts with other jobs. Special value 999 for the Bufferpercentage parameter, can now be used to force the Connector to use 10% of the available shared memory, not only a percentage of free shared memory. This should be used if the Connector starts to show deteriorating performance
23
TimeOutBatch=n (default = 600 seconds): The number of seconds that the background job waits for the client side to fetch data. TimeOutFetch=n (default = 1200 seconds): The number of seconds spent trying to fetch from SAP without getting any records back. TimeOutStartBatch=n (default = 2400 seconds): The number of seconds that the client side waits for the background job to start. PacketSize=n (default = 20000): The maximum number of rows that the connector tries to download for each fetch operation. This is re-calculated by the connector and might be reduced automatically, depending of the actual amount of shared memory in the SAP system. Log=0/1 (default/off = 0, on = 1): If on, writes a log file in the Windows folder C:\Documents and Settings\All Users\Application Data\QlikTech\Custom Data\QvSAPConnector\Log\. Logpath=xxxx: Places log files in a subfolder named xxxx. The folder is created, if needed. xxxx can be any text string that can be a valid part of a folder name in Windows. LogFile=yyyy: Names the log file yyyydatetime-n.txt. yyyy can be any text string that can be a valid part of a filename in Windows. Trace=0/1 (default/off = 0, on = 1): Turns on/off the trace functionality in SAP programs. The trace information is written in the table /QTQVC/TRACE. BatchJobName=XXX (default = /QTQVC/READ_DATA). BatchJobName is the name of the data extraction batch job. BatchJobName can contain up to 32 characters Can be found in Job Overview (transaction SM37). RemoveThousandSeparator=0/1 (default/on = 1): If on, removes any kind of thousand separator from the data before sending it to QlikView. Affected data types in SAP are CURR (Currency), QUAN (Quantity) and DEC (Decimal). ReplaceNullvalue=0/1 (default/on = 1): If on, replaces all null values with (SPACE) in the data before sending it to QlikView.
24
4.3.6 ScriptBuilder
ScriptBuilder is a QlikView application that is used to find tables to download from the SAP system and to generate the script code. You can select Start>Programs>QlikView to start ScriptBuilder, but we recommend you copy the complete folder to be able to use this application for several SAP systems. The application is located in C:\Documents and Settings\All Users\Application Data\QlikTech\Custom Data\QVSAPConnector\ScriptBuilder\. Start with the ReLoadSAPDD.qvw application, which downloads data from the data dictionary of the SAP system. Since the content of the dictionary differs for different variants and versions of SAP, this is a necessary first step. ReLoadSAPDD.qvw creates .qvd files that can be loaded to the ScriptBuilder application. Change the script regarding the connection and language in this application prior to doing a reload. The Popular Tables and Data Models sheets may refer to tables that do not exist in the version of SAP used. Detailed usage instructions can be found in the application.
Only one SUBSELECT is allowed (within the parenthesis). The SUBSELECT can have condition(s). One or many comparison fields can be passed. If the SELECT of the subtable returns duplicates, they are removed before selecting from the main table. So, there is no need (and it does not work) to use the DISTINCT addition to the SUBSELECT.
25
The comparison field or fields has to match between main and SUBSELECT. The field names of the comparison fields do not have to be the same in the main and SUBSELECT, but the corresponding fields (of main and SUBSELECT) must have the same data types. To achieve good performance, it is important to provide as many of the key fields in the main table as possible. Try to select them from the subtable. The most important item to provide is the first key field (after client). If the SUBSELECT fails, the reason can often be found in the log for the job /QTQVC/READ_DATA in transaction SM37. Other examples of SUBSELECT statements:
SQL SUBSELECT KDATU KAWRT KBETR WAERS FROM KONV WHERE KNUMV IN ( SELECT KNUMV FROM VBRK ); SQL SUBSELECT CHANGENR TABNAME TABKEY FNAME CHNGIND VALUE_NEW VALUE_OLD FROM CDPOS WHERE OBJECTCLAS OBJECTID CHANGENR IN ( SELECT OBJECTCLAS OBJECTID CHANGENR FROM CDHDR WHERE CHANGENR BETWEEN '0000100000' AND '0000300000' );
26
5.1.1 Prerequisites
SAP BW/NetWeaver BI: 3.0B with Support Pack 30 or higher 3.1 with Support Pack 24 or higher 3.5 with Support Pack 16 or higher 7.x with Support Pack 6 or higher
iii. RFC_TYPE: FUGR S_TABU_LIN i. ii. ACTVT: Restrict according to customer (* to access all) ORG_CRIT: Restrict according to customer (* to access all)
iii. ORG_FIELD1: Restrict according to customer (* to access all) iv. ORG_FIELD2: Restrict according to customer (* to access all)
27
v. ORG_FIELD3: Restrict according to customer (* to access all) vi. ORG_FIELD4: Restrict according to customer (* to access all) vii. ORG_FIELD5: Restrict according to customer (* to access all) viii. ORG_FIELD6: Restrict according to customer (* to access all) ix. ORG_FIELD7: Restrict according to customer (* to access all) x. ORG_FIELD8: Restrict according to customer (* to access all) S_RS_AUTH i. i. ii. BIAUTH: 0BI_ALL ACTVT: 03,16, 22 RSINFOAREA: Restrict according to customer (* to access all) S_RS_COMP
iii. RSINFOCUBE: Restrict according to customer (* to access all) iv. RSZCOMPID: Restrict according to customer (* to access all) v. RSZCOMPTYPE: Restrict according to customer (* to access all) S_RS_COMP1 i. ii. ACTVT: 03, 16, 22 RSINFOAREA: Restrict according to customer (* to access all)
iii. RSZCOMPID: Restrict according to customer (* to access all) iv. RSZCOMPTYPE: Restrict according to customer (* to access all) v. RSZOWNER: Restrict according to customer (* to access all) S_RS_ERPT i. ii. ACTVT: 03, 16, 22 RSERPTID: Restrict according to customer (* to access all)
iii. RSZOWNER: Restrict according to customer (* to access all) S_RS_HIER i. ii. ACTVT: 71 RSHIENM: Restrict according to customer (* to access all)
iii. RSIOBJNM: Restrict according to customer (* to access all) iv. RSVERSION: Restrict according to customer (* to access all) S_RS_ICUBE i. ii. ACTVT: 03 RSCUBEOBJ: DATA, DEFINITION
iii. RSINFOAREA: Restrict according to customer (* to access all) iv. RSINFOCUBE: Restrict according to customer (* to access all) S_RS_MPRO i. ii. ACTVT: 03 RSINFOAREA: Restrict according to customer (* to access all)
28
iii. RSMPRO: Restrict according to customer (* to access all) iv. RSMPROBJ: DATA, DEFINITION 2. Create one or more download user(s) with the above role. Do not use the same download user as the SQL connector. a. b. c. d. e. Go to transaction SU01. Click Create (F8). Give the user a name and a password. On the Logon data tab, assign the user to User Type: Service or Communications. On the Roles tab, add the role just created.
3. If download users with different access rights to cubes/queries are needed, copy the role created above and change the second role according to the requirements. Create a new user with the second role assigned.
5.2
5.2.1 Prerequisites
QlikView version 10 or later If there is a firewall between the connector and the SAP system, port 33nn has to be open (where nn = system number of the SAP system).
29
30
5. Enter the Application Server Host address, Client, and System Number of the target SAP system, or select the Message Server Host option and enter the Message Server Address, Client, System ID, and Group.
If passing through a message server, an entry may have to be added in the C:\WINDOWS\system32\drivers\etc\services file. Add sapmsxxx 36nn/tcp, where xxx is the system ID and nn is the system number. If it is the last line of the file, add a new line break after the entry. If passing through an SAP router, paste the router string in the Host address field. In addition, enter the Username and Password of the user that is to be used for this specific download. 6. Click Test Connection to verify that all fields are correctly filled in. 7. Finally, click OK to get a connection string in the script.
31
There are a number of parameters that can be added to the connection string, if needed. Normally, the default values for the parameters are sufficient. Separate parameters with ; (semi-colon) in the connection string: Log=0/1 (default/on = 1, off = 0): If on, a log file is created in the Windows folder C:\Documents and Settings\All Users\Application Data\QlikTech\Custom Data\QvSAPConnector\Log\. Logpath=xxxx: Places log files in a subfolder named xxxx. The folder is created, if needed. xxxx can be any text string that can be a valid part of a folder name in Windows. LogFile=yyyy: Names the log file yyyydatetime-n.txt. yyyy can be any text string that can be a valid part of a filename in Windows. Lang=(EN/DE): The logon users default language is used by default. For available languages, see table T005. If texts have to be downloaded in multiple languages, the relevant info objects have to be downloaded with separate connection strings. ConsistencyCheck=0/1 (default/on = 1): If on, optimization is done for maximum speed. If this fails due to inconsistent metadata, change this parameter to off and retry. PartitionSize=nnnnnnn (default = 4000000): Increasing this parameter increases the speed, but also the risk of getting dumps in the SAP system. If many dumps are received, adjust this parameter downwards. In most cases, the download recovers. MinMembersInSlicedCharacteristic=nn (default = 10): Automatic slicing only chooses among characteristics that have more members than this value. In odd cases, no other suitable characteristic is available, which means this value might have to be lowered.
32
2. Select an InfoCube in the Info provider drop-down list. The drop-down lists all cubes that have at least one query that allows external access (see the restriction above). The first item in the drop-down is $INFOCUBE, which is a top level for all InfoCubes in the system.
3. Select a query in the Query drop-down list. The drop-down lists all queries (that allow external access) built on the selected cube. If $INFOCUBE is selected, all InfoCubes are returned. 4. Select at least one characteristic (or navigational attribute) in the Characteristics box to get any rows downloaded. A key figure does not have to be selected. When selecting a characteristic, the bottom part of the window is populated. If there is more than one hierarchy, select one of them (since only one hierarchy/characteristic can be downloaded). Additional display attributes for the characteristic can also be selected. The default attribute is always downloaded.
33
Uncheck the Include All Values of Characteristic box to display the possible values for the members of the characteristic. Selecting a value generates a slice with that value. If the box is checked, all members of the characteristic are downloaded. The Variables box contains any variables defined for the selected query. These can be Optional or Mandatory, Single-value or Ranges. The generated pseudo-MDX statement can be manipulated manually, but this is generally to be avoided.
Select PseudoMDX ( Dimensions ( [0APO_PROD] (), [0CUSTOMER] (), [0MATERIAL] (), [0CALWEEK] ()), Measures ( [64381YV80FHCMZ26ZQQD1003D].[7A9LKMEDKUB9T6IKWEQ73C3PV], //Base Sales Quantity [64381YV80FHCMZ26ZQQD1003D].[CD68DKVB8003MAL0SAICC8R6F], //Cost of Sales [64381YV80FHCMZ26ZQQD1003D].[AEAIWVOIFO6I466U6IDWVT3D8], //Discount 1 [64381YV80FHCMZ26ZQQD1003D].[7UBTSBFL7JOPKTEUVINKD4TX6], //Ind. Sales Costs [64381YV80FHCMZ26ZQQD1003D].[ETLOUTKELIRDGUSQNJ5CVLRS5], //Net sales [64381YV80FHCMZ26ZQQD1003D].[CJQ2FSM751JT7SSRRFJ0T8ICL], //Planning Status [64381YV80FHCMZ26ZQQD1003D].[9X0UTMFZ5VWQT208HAJSLV3QM]), //Revenue From (0CSAL_C02/LWT1)); //*****
If D is removed, automatic slicing is performed. The automatic method primarily uses a time characteristic for slicing. If this fails or is missing, the largest characteristic is used instead. If this fails or is too slow, the connector can be forced to slice on a specific characteristic by using the S parameter. Check the connector log file for details when the job has failed.
Select PseudoMDX ( Dimensions (
34
[BUD_CTRY] (), [BUD_LOC] S (), [BUD_PROD] (), [BUD_SECT] (), [0CALMONTH] ()), Measures ( [3ZAJ9QPTM5D8U5L9A1RCNSWWE].[05N6UOUENHI2PSWMWNWV0HQS0], [3ZAJ9QPTM5D8U5L9A1RCNSWWE].[6VMTYSJE733GVSGXA7WME01WO], [3ZAJ9QPTM5D8U5L9A1RCNSWWE].[AN043YDNYQQUUJIIW73G7SLCX], [3ZAJ9QPTM5D8U5L9A1RCNSWWE].[AYC6O2WD0MJ1CXERY8AHAKUVC]), From (ZBUD_CUBE/ZZBUD_LWT));
The automatic performance optimizations only work for basic InfoCubes and if the O parameter, PseudoMDX O, is added. In all other cases, it is recommended to download the characteristics and key figures in one load and create separate loads for each characteristic with its attributes and hierarchies. If these separate loads are stored in QVD files, they can be easily merged together using the KEY field of the characteristic:
//*** Load Characteristics and Key Figures LOAD [Country - Country Level 01 (Text)], [Country - Country Level 01 (Key)], // [Location - Location Level 01 (Text)], [Location - Location Level 01 (Key)], mid([Location - Location Level 01 (Key)],index([Location - Location Level 01 (Key)],'.[')+1) as [Location_Key], // link to Region hierarchy bottom level [Month - Month Level 01 (Text)], [Month - Month Level 01 (Key)], [Organization - Organization Level 01 (Text)], [Organization - Organization Level 01 (Key)], // [Product - Product Level 01 (Text)], [Product - Product Level 01 (Key)], mid([Product - Product Level 01 (Key)],index([Product - Product Level 01 (Key)],'.[')+1) as [Product_Key], [Sector - Sector Level 01 (Text)], [Sector - Sector Level 01 (Key)], // [Calendar Year/Month - Calendar Year/Month Level 01 (Text)], [Calendar Year/Month - Calendar Year/Month Level 01 (Key)], Factor, Cost, Budget, Revenue FROM D:\Testing\5.2\olap\ZBUD_CUBE_Measures.qvd (qvd); //*** Load Region Hierarchy and Display attributes LOAD [Location - Regions Level 01 (Text)], [Location - Regions Level 01 (Key)], "Location - Regions Level 01 - [1BUD_LOC]", "Location - Regions Level 01 - [2BUD_LOC]", "Location - Regions Level 01 - [4BUD_LOC]", "Location - Regions Level 01 - [5BUD_LOC]", [Location - Regions Level 02 (Text)], [Location - Regions Level 02 (Key)], "Location - Regions Level 02 - [1BUD_LOC]", "Location - Regions Level 02 - [2BUD_LOC]", "Location - Regions Level 02 - [4BUD_LOC]", "Location - Regions Level 02 - [5BUD_LOC]", [Location - Regions Level 03 (Text)], [Location - Regions Level 03 (Key)], mid([Location - Regions Level 03 (Key)],index([Location - Regions Level 03
35
(Key)],'.[')+1) as [Location_Key], // link to Location "Location - Regions Level 03 - [1BUD_LOC]", "Location - Regions Level 03 - [2BUD_LOC]", "Location - Regions Level 03 - [4BUD_LOC]", "Location - Regions Level 03 - [5BUD_LOC]" FROM D:\Testing\5.2\olap\ZBUD_CUBE_BUD_LOC.qvd (qvd); LOAD [Product - Product Hierarchy Level 01 (Text)], [Product - Product Hierarchy Level 01 (Key)], "Product - Product Hierarchy Level 01 - [1BUD_PROD]", "Product - Product Hierarchy Level 01 - [2BUD_PROD]", [Product - Product Hierarchy Level 02 (Text)], [Product - Product Hierarchy Level 02 (Key)], mid([Product - Product Hierarchy Level 02 (Key)],index([Product - Product Hierarchy Level 02 (Key)],'.[')+1) as [Product_Key], // Link to Product "Product - Product Hierarchy Level 02 - [1BUD_PROD]", "Product - Product Hierarchy Level 02 - [2BUD_PROD]" FROM D:\Testing\5.2\olap\ZBUD_CUBE_BUD_PROD.qvd (qvd); LOAD [Calendar Year/Month - Calendar Year/Month Level 01 (Text)], [Calendar Year/Month - Calendar Year/Month Level 01 (Key)], // link to Calendar Year/Month "Calendar Year/Month - Calendar Year/Month Level 01 - [20CALMONTH]", "Calendar Year/Month - Calendar Year/Month Level 01 - [20CALMONTH2]", "Calendar Year/Month - Calendar Year/Month Level 01 - [20CALYEAR]", "Calendar Year/Month - Calendar Year/Month Level 01 - [20DATEFROM]", "Calendar Year/Month - Calendar Year/Month Level 01 - [20DATETO]", "Calendar Year/Month - Calendar Year/Month Level 01 - [20NUMDAY]", "Calendar Year/Month - Calendar Year/Month Level 01 - [20NUMWDAY]" FROM D:\Testing\5.2\olap\ZBUD_CUBE_0CALMONTH.qvd (qvd);
36
6.1.1 Prerequisites
SAP BW/NetWeaver BI: 3.0B with Support Pack 30 or higher 3.1 with Support Pack 24 or higher 3.5 with Support Pack 16 or higher 7.0 with Support Pack 6 or higher
37
6.2
6.2.1 Prerequisites
QlikView version 10 or later If there is a firewall between the connector and the SAP system, port 33nn has to be open (where nn = system number of the SAP system).
38
5. Enter the Application Server Host address, Client, and System Number of the target SAP system, or select the Message Server Host option and enter the Message Server Address, Client, System ID, and Group.
If passing through a message server, an entry may have to be added in the C:\WINDOWS\system32\drivers\etc\services file. Add sapmsxxx 36nn/tcp, where xxx is the system ID and nn is the system number. If it is the last line of the file, add a new line break after the entry. If passing through an SAP router, paste the router string in the Host address field. In addition, enter the Username and Password of the user that is to be used for this specific download. 6. Click Test Connection to verify that all fields are correctly filled in. 7. Finally, click OK to get a connection string in the script.
39
There are a number of parameters that can be added to the connection string, if needed. Normally, the default values for the parameters are sufficient. Separate parameters with ; (semi-colon) in the connection string: ODSMAXROWS: By default, this parameter is 10 000 000 records. This is to avoid huge memory consumption, which is a problem with this BAPI. The connector stops reading data when reaching the maximum number and returns an error message. Be careful when reading very large tables, since memory consumption may get high. Log=0/1 (default/on = 1, off = 0): If on, a log file is created in the Windows folder C:\Documents and Settings\All Users\Application Data\QlikTech\Custom Data\QvSAPConnector\Log\. Logpath=xxxx: Places log files in a subfolder named xxxx. The folder is created, if needed. xxxx can be any text string that can be a valid part of a folder name in Windows. LogFile=yyyy: Names the log file yyyydatetime-n.txt. yyyy can be any text string that can be a valid part of a filename in Windows. Lang=(EN/DE): The logon users default language is used by default. For available languages, see table T005. If texts have to be downloaded in multiple languages, the relevant info objects have to be downloaded with separate connection strings.
40
2. Select an InfoArea in the InfoArea drop-down list or leave it as-is (<All>) to display all InfoAreas.
3. Select a DSO object in the DSO Object box. 4. Select the fields in the Info Object box. The script appears in the bottom box. To reduce the memory need, the slice functionality can be used to slice by column (row slicing is not possible). The generated script stores the result in separate QVD files, which have to be merged later on. All QVD files have a common key field to simplify the merge. No navigational attributes are available. 5. Using the following syntax, a WHERE clause can be added manually:
WHERE ColumnName1 sign option value, ColumnName2 sign option value1 value2
No display attributes or key characteristics are allowed as columns in the WHERE clause.
41
The following values are valid in the SIGN field: E = exclude I = include
The following values are valid in the OPTION field: EQ = equal to GE = greater than or equal to LE = less than or equal to GT = greater than LT = less than NE = not equal to CP = contains BT = lies between (upper and lower limits)
Conditions for the same column (regardless of the number and sequence in the table) are treated as OR operations. Conditions for different columns are treated as AND operations. Example:
from 0SAL_DS01 where 0DIVISION I EQ 01;
42
7.1.1 Prerequisites
See section 4.1.1.
43
Proceed as follows to configure the query connector: 1. Go to transaction SQ03. 2. Enter the user ID in the User field.
3. Click Change. 4. Check all the User group boxes that the download user is to have access to.
5. Click Save.
44
7.2
7.2.1 Prerequisites
QlikView version 10 or later If there is a firewall between the connector and the SAP system, port 33nn has to be open (where nn = system number of the SAP system).
45
5. Enter the Application Server Host address, Client, and System Number of the target SAP system, or select the Message Server Host option and enter the Message Server Address, Client, System ID, and Group.
If passing through a message server, an entry may have to be added in the C:\WINDOWS\system32\drivers\etc\services file. Add sapmsxxx 36nn/tcp, where xxx is the system ID and nn is the system number. If it is the last line of the file, add a new line break after the entry. If passing through an SAP router, paste the router string in the Host address field. In addition, enter the Username and Password of the user that is to be used for this specific download. 6. Click Test Connection to verify that all fields are correctly filled in. 7. Finally, click OK to get a connection string in the script.
46
There are a number of parameters that can be added to the connection string, if needed. Normally, the default values for the parameters are sufficient. Separate parameters with ; (semi-colon) in the connection string: Log=0/1 (default/on = 1, off = 0): If on, a log file is created in the Windows folder C:\Documents and Settings\All Users\Application Data\QlikTech\Custom Data\QvSAPConnector\Log\. Logpath=xxxx: Places log files in a subfolder named xxxx. The folder is created, if needed. xxxx can be any text string that can be a valid part of a folder name in Windows. LogFile=yyyy: Names the log file yyyydatetime-n.txt. yyyy can be any text string that can be a valid part of a filename in Windows. Lang=(EN/DE): The logon users default language is used by default. For available languages, see table T005. If texts have to be downloaded in multiple languages, the relevant info objects have to be downloaded with separate connection strings.
2. Enter the search criteria (query name and/or query description) in the Search for field. To re-sort the list, click the header of the field to sort on.
47
3. Select a query and click Preview or Add to Script. 4. Its also possible to choose select options button to do a variant
48
8.1.1 Prerequisites
See section 4.1.1.
49
3. Run the report with a user that has sufficient access. The results show the authorization objects used. 4. Add the authorization objects used to the download user. 5. Go to transaction SU03. 6. Perform a Where Used analysis. If existing roles are added to the download user instead, do a Where Used analysis on the objects to figure out appropriate roles to add. In addition, change the User Type from Service to Communication to avoid the user from being used to log on with SAPGui.
8.2
8.2.1 Prerequisites
QlikView version 10 or later If there is a firewall between the connector and the SAP system, port 33nn has to be open (where nn = system number of the SAP system).
50
If only the transaction code, but not the report program name, is known, the name can be found by clicking the system icon at the bottom of the SAPGui window, which shows the program name in the highlighted line.
The report can sometimes run without a variant, but in most cases a variant is needed to pre-fill mandatory variables, since these cannot be added through the report connector. If the report is long-running, it is recommended to create a variant with a limited amount of pages to use during development.
51
Create a variant when the desired variable values have been entered.
It is strongly recommended to test the report in SAPGui prior to testing it via QlikView.
52
If everything is correctly installed, QvSAPReportConnector.dll is displayed. 4. Click Connect 5. Enter the Application Server Host address, Client, and System Number of the target SAP system, or select the Message Server Host option and enter the Message Server Address, Client, System ID, and Group.
If passing through a message server, an entry may have to be added in the C:\WINDOWS\system32\drivers\etc\services file. Add sapmsxxx 33nn/tcp, where xxx is the system ID and nn is the system number. If it is the last line of the file, add a new line break after the entry. If passing through an SAP router, paste the router string in the Host address field. In addition, enter the Username and Password of the user that is to be used for this specific download. 6. Click Test Connection to verify that all fields are correctly filled in. 7. Finally, click OK to get a connection string in the script.
53
There are a number of parameters that can be added to the connection string, if needed. Normally, the default values for the parameters are sufficient. Separate parameters with ; (semi-colon) in the connection string: Log=0/1 (default/on = 1, off = 0): If on, a log file is created in the Windows folder C:\Documents and Settings\All Users\Application Data\QlikTech\Custom Data\QvSAPConnector\Log\. Logpath=xxxx: Places log files in a subfolder named xxxx. The folder is created, if needed. xxxx can be any text string that can be a valid part of a folder name in Windows. LogFile=yyyy: Names the log file yyyydatetime-n.txt. yyyy can be any text string that can be a valid part of a filename in Windows. Lang=(EN/DE): The logon users default language is used by default. For available languages, see table T005. If texts have to be downloaded in multiple languages, the relevant info objects have to be downloaded with separate connection strings.
2. Enter the report program name in the Report field and, optionally, a variant in the Variant field. It is not possible to search, so the name of the report must be known, and it is recommended to test the report in SAPGui prior to testing it via QlikView.
54
3. Click Get/Select Options. If no variants have been created for the report, its possible to use Select Option to do a selecttion when running the Qlikview report. Do this by highlighting a field name and then tick the Edit box, add the required value and click Update. The report is executed and shown in the two major areas of the window. The top area is used to define the rows to skip or consider as data lines or header lines. Sub-header lines can be defined to be added as columns in the major table.
By default, the Action column shows all lines as data lines. This can be changed by selecting a line and using the options below: The Category column can sometimes be used as an identifier for lines that are to be treated in the same way (skipped, header, or added as column), but scroll through the entire list to make sure all lines that have the same category can be treated in the same way. If the category cannot be used, look for substring values in certain positions that characterize the type of line. Added as Columns can be used when there are data values in header lines that are to go into the table. In the example above, Line 1 contains the company name, IDES AG, which probably changes to other company names in subsequent pages. By using the add as columns function and category 1, these lines are added as an extra column to the table.
55
The bottom area shows the final result and also defines the columns.
The field delimiter can only be used if the column position has the same value for all rows (usually an ! character). The ruler line automatically shows that a separator has been found.
If a field separator cannot be found, the positions for the field separators have to be added manually using the Field delimiter after position field. 4. Click OK to return to the Script Editor with the generated script. Since all data comes from the spool file, the data types are not known to the connector, which means it cannot modify fields according to data type as the other connectors can. This means that negative field values are shown as in SAP with the minus sign at the end of the field (for example, 12256-) and that date fields are not recognized by QlikView as dates. This can be handled using scripting in the load statement. Move the minus sign to the front of the field:
if (right([Field1_Amount],1)='-', (left([Field1_Amount],(len([Field1_Amount])1)))*-1 // else , replace([Field1_Amount],',','')) // end if as Local_Curr,
56
Transactional RFC (tRFC) method Transactional RFC(tRFC, previously known as asynchronous RFC) is an asynchronous communication method that executes the called function module just once in the RFC server. The remote system does not need to be available at the time when the RFC client program is executing a tRFC. The tRFC component stores the called RFC function, together with the corresponding data, in the SAP database under a unique transaction ID (TID). If a call is sent, and the receiving system is down, the call remains in the local queue. The calling dialog program can proceed without waiting to see whether the remote call was successful. If the receiving system does not become active within a certain amount of time, the call is scheduled to run in batch. tRFC is always used if a function is executed as a Logical Unit of Work (LUW). Within a LUW, all calls are executed in the order in which they are called are executed in the same program context in the target system run as a single transaction: they are either committed or rolled back as a unit. In the SAP ERP system, there are pre-defined data sources available to use for transferring data to SAP BI systems.
57
The Extractor Connector uses these data sources and the standard SAP extract method (IDOC) available from version 5.60 and the extract method tRFC available from version 5.80.
9.1
SAP System
9.1.1 Prerequisites
SAP BASIS system 640 or later (ECC5 or later / BW 350 or later) Data transport (data extraction) Access transport (user profile) BW knowledge like SAP education BW350-BI Data Acquisition
9.1.3 User Configuration for SAP BASIS System 6.40, and 7.00 or later
After the transports have been installed in the system, proceed as follows to create new User for the extractor connector (QTQVCEXTRACTOR) Administrative Roles QTQVCEXTSETUP and QTQVCEXTRADM can be added to existing Admin users of the SAP system. 1. Create one or more users: a. b. c. d. Go to transaction SU01. Click Create (F8). Give the user a name and a password. On the Logon data tab, assign the user to User Type: Service.
58
e. f. g.
On the Roles tab, add the role QTQVCACCESS. On the Roles tab, add the role QTQVCEXTRACTOR. Click Save.
2. If the installation is an upgrade from a previous version and the roles QTQVCACCESS/QVEXTRACTOR have been updated, update all users assigned to the role: a. b. c. d. e. f. g. Go to transaction PFCG. Enter the role name QTQVCACCESS or QTQVCEXTRACTOR. Click Change Role. On the User tab, enter the name of the user(s) created above. Click User comparison. Click Complete comparison. Click Save.
3. Check that the tree hierarchy and data sources are activated. 4. If this is not the case, transfer the Application Component Hierarchy and then the Business Content DataSources.
59
Transfer Business Content DataSources: Start by activating the tree hierarchy and then activate each data source to be used.
60
Create: Creates the logical system of the receiver. See the SALE transaction. Creates the RFC connection (same name as the logical system). Creates the partner profile of type LS (same name as the logical system). Creates the Basic Idoc type for data transfer. The name is hard-coded like ZSQAQTQVCEXTR1.
Verify: Verifies that all necessary components of the extractor environment are configured. Delete: Deletes all components in the extractor environment.
Note: When selecting a logical system name it has to be one word like QTVCEXTR1 and not QTVC_EXTR1. To prevent miss-match fill out the whole field with 10 characters Note: Close the SAP client after the setup.
Its also possible to look -up in the dropdown list with filter 3. Go to transaction /n/QTQVC/Activate.
61
4. Paste the selected extractor in the Extractor name field or select an extractor from the dropdown box. 5. Click Get Extractor.
6. Select the field to activate (X) or select all fields. 7. Coose update method tRFC or Idoc 8. Click Activate Extractor.
9.2
9.2.1 Prerequisites
QlikView version 10 or later If there is a firewall between the connector and the SAP system, port 33nn has to be open (where nn = system number of the SAP system).
62
To install the service select input option 2. The port option is set to 8680 by default, but can be changed using input option 4.
Start the service with the following steps: 1. Right click on the Computer Icon and select Manage
Note: Its only possible to have one service running to avoid mismatch
63
64
1. Select a system in the Logical System drop-down list. 2. Select a language in the Language drop-down list. 3. Click Search to get the activated extractors. 4. Select an extractor in the Activated Extractors box (A) and then click Get Fields (B). Its possible to see in the left the column, if the extractor is activated as Idoc or tRFC method
65
5. To edit the selection to add filters, click the edit button (not all fields are editable).
The standard script is a proposal and the functionality to activate has to be uncommented.
66
In the example above, the selection is initially loaded from the logical system QTQVCEXTR2 and only for KOKRS (controlling area) 1000. The QVD is stored in the qvd/init/ folder and the name of the QVD file is INIT_0COSTCENTER_TEXT.QVD. 9.2.3.1 Timeouts There are a few timeout parameters that can be set in the QlikView script in the connection string. If not set in the connection string, each timeout has a default value. All timeout values are given in seconds. TimeoutSAP This timeout is used in the SAP part of the Connector. When trying to start a new Extractor job in SAP there is a check to see that no other Extractor job is already started for the given Logical system. An Extractor job in SAP consists of two parts. The first part is an Extraction batch job which creates all IDoc:s or tRFC packages containing the extraction data. The second part is the RFC transfer of the IDoc:s or tRFC packages to QlikView. Sometimes there can be interruptions in the RFC transfer. A number of retries to send the data is then performed. The value in the TimeoutSAP parameter decides how long time SAP should wait to start a new job if there is an ongoing RFC transfer of a previous job. When the number of seconds in the timeout is exceeded, it is likely that there is a permanent error in the previous RFC transfer. The previous job is then regarded as failed (the corresponding record in the SAP status table is set to aborted) and the new job is allowed to start. The default value is 14400 seconds (240 minutes). TimeoutInit This timeout is used in the Windows part of the Connector. It decides the maximum time Windows should wait to receive data from SAP about the activated Extractors and Hierarchies possible to use. If the timeout is exceeded, the QlikView job is aborted. The default value is 900 seconds (15 minutes). TimeoutActivity This timeout is used in the Windows part of the Connector. It decides the maximum time Windows should wait to receive data from SAP created by the Extraction job. If the timeout is exceeded, the QlikView job is aborted and the status value in the corresponding record in the SAP status table is set to aborted. The default value is 7200 seconds (120 minutes). TimeoutData This timeout is used in the Windows part of the Connector. It decides the maximum time Windows should wait between the receiving of each data IDoc/tRFC data package. If the timeout is exceeded, the QlikView job is aborted and the status value in corresponding record in the SAP status table is set to aborted. The default value is 3600 seconds (60 minutes).
67
68
During hierarchy maintenance, the hierarchy attributes can be set and, as a result, influence the display and processing of hierarchies in reporting. 9.2.5.3 Load Hierarchies to QlikView Unlike all other data sources in SAP, hierarchies do not have to be activated. When loading a hierarchy, proceed as follows to change the screen view in the pop-up window: 1. Select the Show Hierarchies radio button. 2. Select the logical system in the Logical System drop-down list. 3. Click Search. 4. Select a hierarchy in the Hierarchies box (A) and click Get Hierarchies (B). All available options for the selected hierarchy are displayed.
69
As a result, two statements are added to the QlikView script for the hierarchy load. First statement:
Second statement:
The first statement uses the QlikView HIERARCHY function to create nodes for each level. To link the hierarchy table to other standard extractors, a function can be deployed to NODENAME, for example:
Mid(NODENAME,5,13) as [SAKNR],
Each hierarchy requires different manipulation to perform the join operation. The second load statement provides the option for descriptions of the levels in the hierarchy.
70
71
The QlikView log provides information on which Idocs or TID nr (tRFC) have been created for the request and if the load has been successful.
72
9.2.7.1 Status Table The download for every extractor can be followed in the new status table, /QTQVC/STATUS, which is available in transaction SE16:
Only a single extraction at a time can run in a logical system. QlikView returns an error message if multiple extractors run on the same logical system. In the event of an extractor job not being able to initialize, the status table contains an S for started. A process to cancel the job is required through transaction /N/QTQVC/delete. 9.2.7.2 Canceling a Process Proceed as follows to cancel a process: 1. In the status table, get the job time and then go to transaction /N/QTQVC/delete. 2. Select /QTQVC/STATUS in the Delete single record from table section. 3. Enter the job time in the JOBTIME field. 4. Run the job in Simulate Deletion mode. 5. Run the job in Delete Records mode.
Note: Take caution not to end an active and relevant job that is running. 9.2.7.3 Re-send Idocs If a communication error has occurred for a delta or full load and the Idocs have been produced in the ERP system, the Idocs can be re-sent to QlikView. A new initialization is not needed.
73
Proceed as follows to re-send the Idocs: 1. Get the INITRNR from the QlikView log file:
2. Open the script builder. 3. Select the extractor with the appropriate delta load. 4. Uncomment the INITRNR row. 5. Replace <NR> with the actual INITRNR, and reload:
//INITRNR <NR> // Resend extraction
Re-send single Idocs: Its also possible to re-send a single Idoc. Then use the update mode IDOC and replace the <NR> with the single Idoc number
//UPDMODE //UPDMODE //UPDMODE //INITRNR IDOC <NR> F // full extractor C // initial extraction, to be followed by delta extractions D // delta extraction <NR>// Resend extraction // Resend single IDoc
9.2.7.4 Communication Error If the logical system is correctly set up and the SAP system can be contacted when connecting, the standard setting for tRFC in the logical system setup may have to be changed. This is done in transaction SM59 and TCP/IP connections.
9.3
The SAP extractor connector can be used against a SAP BW system. The structure of the BW system differs to that of an SAP ERP system, but the principle is the same.
74
9.3.1 Prerequisites BW
See section 9.1.1.
9.3.3 User Configuration for SAP BASIS System 6.40 and Later BW
See section 9.1.3.
75
2. Replicate the internal BW setup: Choose the BI system from Modeling>Source System.
3. Open Modeling>DataSources. The internal BI sources are available. In BW, this is referred to as data marts. 4. Replicate the whole tree or just the data source needed: Right-click and select Replicate Metadata.
After replicating the data marts, the data sources show up as selectable and can be activated for the QlikView extractor connector process. 5. Go to transaction code RSA6 and use it as in the ERP system. The tree differs slightly from the one in ERP. This is because no pre-defined extractors are used. In BW, the actual data sources are used.
The available sources to be used can be found here. Normally, the technical name starts with 8 followed by 0 for standard ODSs and cubes. The end of the name uses O for ODS and C for cubes. Example:
6. The technical name can now be activated using the same method as for the ERP system described previously.
76
9.4
9.4.1 Prerequisites
See section 9.2.1.
9.5
Important Issues
If passing through a message server, an entry may have to be added in the C:\WINDOWS\system32\drivers\etc\services file. Add sapmsxxx 36nn/tcp, where xxx is the system ID and nn is the system number. If it is the last line in the file, add a new line break after the entry.
77
Use transaction WE30 and check the Basic Idoc Type to see which segment that has been activated.
78
9.5.6.4 Application-Specific Setup of Statistical Data This section describes the relevant, application-specific features for applications that can perform statistical setups. Example: SD-Sales Orders perform setup Standard settings: In this activity, selected sales orders are called and the statistical update of the BW extraction structures for sales orders is triggered. The statistical update used here corresponds to the one chosen in the customizing cockpit. Requirements: Before this activity can be carried out, at least one extraction structure per application must have been activated. For more information, see Logistics Extract Structures Customizing Cockpit.
9.6
A QlikView user needs to have certain access rights within the SAP ERP and BW systems to use the extractor connectors. The minimum authorization level needed is defined below.
79
| | |-- Manually ALE/EDI: Receiving IDocs via RFC T-ED55072400 ||| | | |----- Message Type RSRQST EDI_MES || | |-- Manually Authorization Check for RFC Access S_RFC ||| | | |-- Manually Authorization Check for RFC Access T-ED55072400 ||| | | |----- Activity 16 ACTVT | | |----- Name of RFC to be protected * RFC_NAME | | |----- Type of RFC object to be prote FUGR RFC_TYPE || | |-- Manually Transaction Code Check at Transaction Start S_TCODE || | |-- Manually Transaction Code Check at Transaction Start T-ED55072400 || | |----- Transaction Code RSA3, RSA6, SE16, SM50, SM51, SM58, SU53 TCD | |-- Manually Basis: Administration BC_A || | |-- Manually System Authorizations S_ADMI_FCD ||| | | |-- Manually System Authorizations T-ED55072400 ||| | | |----- System administration function NADM S_ADMI_FCD || | |-- Manually Background Processing: Operations on Background Jobs S_BTCH_JOB ||| | | |-- Manually Background Processing: Operations on Background Jobs TED55072400 ||| | | |----- Job operations RELE JOBACTION | | |----- Summary of jobs for a group * JOBGROUP || | |-- Manually Administration Functions in Change and Transport System S_CTS_ADMI ||| | | |-- Manually Administration Functions in Change and Transport System TED55072400 ||| | | |----- Administration Tasks for Chang TABL CTS_ADMFCT || | |-- Manually Spool: Device authorizations S_SPO_DEV ||| | | |-- Manually Spool: Device authorizations T-ED55072400 |||
80
| | |----- Spool: Long device names * SPODEVICE || | |-- Manually Table Maintenance (via standard tools such as SM30) S_TABU_DIS || | |-- Manually Table Maintenance (via standard tools such as SM30) TED55072400 || | |----- Activity 03 ACTVT | |----- Authorization Group * DICBERCLS | |-- Manually Basis - Development Environment BC_C || | |-- Manually ABAP Workbench S_DEVELOP || | |-- Manually ABAP Workbench T-ED55072400 || | |----- Activity 03, 16 ACTVT | |----- Package /QTQVC/QTDEV, SRFC DEVCLASS | |----- Object name * OBJNAME | |----- Object type * OBJTYPE | |----- Authorization group ABAP/4 pro * P_GROUP | |-- Manually Basis - Central Functions BC_Z || | |-- Manually WFEDI: S_IDOCDEFT - Access to IDoc Development S_IDOCDEFT || | |-- Manually WFEDI: S_IDOCDEFT - Access to IDoc Development TED55072400 || | |----- Activity 01, 02, 03 ACTVT | |----- Extension * EDI_CIM | |----- Basic type RSSEND, ZSQ* EDI_DOC | |----- Transaction Code WE02, WE30 EDI_TCD | |-- Manually Authorizations: BW Service API RO | |-- Manually Remote Content Activation of SAPI DataSources from a BW S_RO_BCTRA || | |-- Manually Remote Content Activation of SAPI DataSources from a BW TED55072400 || | |----- Activity 07 ACTVT | |-- Manually SAP DataSource Authorizations S_RO_OSOA | |-- Manually SAP DataSource Authorizations T-ED55072400
81
Activity 03 ACTVT DataSource * OLTPSOURCE DataSource Application Compone * OSOAAPCO Subobject for DataSource DATA OSOAPART
| |----Data Warehousing Workbench Obj APPLCOMP, CNG_RUN, CONT_ACT, CONT_ADMIN, DOC_ADMIN, DOC_HIER, DOC_MAST<...> RSADMWBOBJ | |-| | | |-| | | | |-| | | |-| | | |----| | | | | |-Owner | |----|----|----|----|----Manually BI Analysis Authorizations in Role Manually BI Analysis Authorizations in Role BI Analysis Authorizations: Na 0BI_ALL Manually Business Explorer - Components Manually Business Explorer - Components Activity InfoArea InfoCube 01, 03, 16, 22 * * S_RS_AUTH T-BT99020800 BIAUTH S_RS_COMP T-BT99020800 ACTVT RSINFOAREA RSINFOCUBE RSZCOMPID RSZCOMPTP
82
|----|----|----|-----
Activity
Name (ID) of a reporting compo * Type of a reporting component * Owner (Person Responsible) for *
The role used to run the setup of the logical system needed is called QTQVCEXTRSETUP. QTQVCEXTRSETUP | |-- || | |-- ||| | | |-- ||| | | |----| | |----| | |----| | |----|| | |-- || | |-- || | |----| |-- || | |-- || | |-- || | |----| |-- | |-- | |-- | |----|----SETUP EXTRACTOR
Manually Cross-application Authorization Objects AAAB Manually Administration for RFC Destination S_RFC_ADM Manually Administration for RFC Destination T-ED55072500 Activity 01, 02, 03, 06, 36 ACTVT Internet Communication Framewo * ICF_VALUE Logical Destination (Specified * RFCDEST Type of Entry in RFCDES 3, T RFCTYPE Manually Transaction Code Check at Transaction Start S_TCODE Manually Transaction Code Check at Transaction Start T-ED55072500 Transaction Code /QTQVC/EXTRACTOR_ADM, SM59, SU53 TCD Manually Basis: Administration BC_A Manually Maintaining QVC-Authorisations /QTQVC/AUT Manually Maintaining QVC-Authorisations T-ED55072500 * ADMIN Manually Basis - Central Functions BC_Z Manually WFEDI: S_IDOCDEFT - Access to IDoc Development S_IDOCDEFT Manually WFEDI: S_IDOCDEFT - Access to IDoc Development T-ED55072500 Activity 01, 02, 03, 06 ACTVT Extension * EDI_CIM
83
|----|-----
To activate and generate the extractors, use the QTQVCEXTRADM role. QTQVCEXTRADM | |-- || | |-- || | |-- || EXTRACTOR ADM
Manually Cross-application Authorization Objects AAAB Manually Transaction Code Check at Transaction Start S_TCODE Manually Transaction Code Check at Transaction Start T-ED55072600
| |----- Transaction Code /QTQVC/ACTIVATE, QTQVC/DEACTIVATE, QTQVC/DELETE, QTQVC/DELETE_INIT, RS<...> TCD | |-- || | |-- || | |-- || | |----| |----| |-- || | |-- || | |-- || | |----| |----| |----| |----| |-- | Manually Basis: Administration BC_A Manually Table Maintenance (via standard tools such as SM30) S_TABU_DIS Manually Table Maintenance (via standard tools such as SM30) T-ED55072600 Activity 02, 03 ACTVT Authorization Group * DICBERCLS Manually Basis - Central Functions BC_Z Manually WFEDI: S_IDOCDEFT - Access to IDoc Development S_IDOCDEFT Manually WFEDI: S_IDOCDEFT - Access to IDoc Development T-ED55072600 Activity 01, 02, 03 ACTVT Extension * EDI_CIM Basic type RSSEND, ZSQ* EDI_DOC Transaction Code WE30 EDI_TCD Manually Authorizations: BW Service API RO
|-- Manually Remote Content Activation of SAPI DataSources from a BW S_RO_BCTRA || | |-- Manually Remote Content Activation of SAPI DataSources from a BW TED55072600
84
|| | |----| |-- | |-- | |----|----|----|----Activity 07 ACTVT Manually SAP DataSource Authorizations S_RO_OSOA Manually SAP DataSource Authorizations T-ED55072600 Activity 03 ACTVT DataSource * OLTPSOURCE DataSource Application Compone * OSOAAPCO Subobject for DataSource DATA OSOAPART
The three roles can be combined to complete the different purposes of the user.
9.7
85
and so on.
/QTQVC/Status /QTQVC/Convert RORQSTPRMS (Protocol table Request) ROOSPRMSC (Control Parameter Per Data Source Channel) ROOSGEN (Generated Objects for OLTP Source) Process Overview Background Job Post process Data Sources and Hierarchy BW Delta queue Maintenance Gateway Monitor Transactional RFC qRFC Monitor (Outbound Queue) Idoc List Idoc Types
86
10 BAPI Connector
The BAPI connector enables QlikView to call Function Modules or BAPIs (Business Application Programming Interface) in SAP systems. QA method of a BAPI is implemented as Function module, so the connector makes no distinction of these. The Function Module has to be Remote-enabled to be used from the Connector.
10.1.3 User Configuration for SAP BASIS System 6.40, and 7.00 and later.
When the transports have been installed in the system, proceed as follows: 1. Create one or more users: a. b. c. d. e. f. Go to transaction SU01. Click Create (F8). Give the user a name and a password. On the Logon data tab, assign the user to User Type: Service. On the Roles tab, add the role QTQVCACCESS. Click Save.
2. If the installation is an upgrade from a previous version and the role QTQVCACCESS has been updated, update all users assigned to the role: a. b. c. d. e. f. g. Go to transaction PFCG. Enter the role name QTQVCACCESS. Click Change Role. On the User tab, enter the name of the user(s) created above. Click User comparison. Click Complete comparison. Click Save.
To run an authorization-related object in a BAPI, the authorization object has to be adjusted in the QTQVCACCESS role. Alternatively, create a complemented role for those running the BAPI connector.
87
88
89
If the result is satisfactory, it can be used in the QlikView script to retrieve the same result.
90
3. In the pop-up dialog, enter the name of the BAPI function found in the SAP system. Then click Get parameters.
91
5. Some Functions return more than one table, but QlikView can only handle one for each statement. Select the output table you want and then click Add call to script.
92
11.3 How to do it
The Connector transports include a Report program named /QTQVC/PROCESS_STATUS. Two variants should be created of the program for each process chain, to be used in the beginning and end of the process chain setting the status of the process. The QlikView script has to be updated with a loop to be able to check the status and finally change the status. Variant 1 of the Report program sets the indicator to N = Not Ready and Variant 2 sets the indicator to R = Ready. When calling the report program the status is stored in our table /QTQVC/Status. In the QlikView Script we utilize the BAPI connector to check when there is a R in the table, then proceed with normal load, and finally set the status to F = Finish when the load is completed. The BAPI connector calls a function module named /QTQVC/PROCESS_STATUS, which in turn calls the report program /QTQVC/PROCESS_STATUS.
93
Variant to change the indicator to N The process chain load data to BW New variant update the status indicator to R. In the QlikView script the BAPI connector is used to Check the status and if R, 5. QV starts the normal load. 6. QlikView update the indicator to F using the BAPI connector. 1. 2. 3. 4.
94
In the process chain, add this ABAP program with variant at the start and at the end of the chain. The Task ID has to be unique for each process chain.
95
"function":"\/QTQVC\/PROCESS_STATUS", "output":"STATUS_OUT", "parameters": [ { "direction":"out", "length":1, "name":"STATUS_OUT", "optional":false, "type":"CHAR", "value":" " }, { "direction":"in", "length":10, "name":"CONNECTOR", "optional":false, "type":"CHAR", "value":"PRCHAIN_02" }, { "direction":"in", "length":1, "name":"MODE", "optional":false, "type":"CHAR", "value":"C" }, { "direction":"in", "length":1, "name":"STATUS_IN", "optional":true, "type":"CHAR", "value":" " }, { "direction":"in", "length":40, "name":"TASK_ID", "optional":false, "type":"CHAR", "value":"DATA_01" } ] }; Let Status1=peek('STATUS_OUT' ,-1,'Out'); exit do when Status1='R'; trace 'Waiting for BW process to finalize'; sleep 10000; loop //**************************************************************************** //Load Data CUSTOM CONNECT TO "Provider=QvSAPEXTRConnector.dll;ASHOST=10.88.20.43;SYSNR=10;CLIENT=800;XUserI d=MXMDKRBOPDAB;XPassword=cHNLSYRNJbaATYcc;";
[80COMP_CODET]: LOAD [COMP_CODE], [LANGU], [TXTMD]; SQL EXTRACTOR 80COMP_CODET UPDMODE F // full extractor EXTRLANGUAGE E LOGSYS QTQVCEXTR1 WHERE LANGU I EQ E ; //STORE * FROM [80COMP_CODET] INTO FULL_80COMP_CODET.QVD; //DROP TABLE [80COMP_CODET]; //**************************************************************************** CUSTOM CONNECT TO "Provider=QvSAPBAPIConnector.dll;ASHOST=10.88.20.43;SYSNR=10;CLIENT=800;XUserI d=QCWJORBOPLTA;XPassword=OUZKbYRNJbaATYMX;"; //UPDATE STATUS drop table Out; Out:
96
LOAD *; SQL { "function":"\/QTQVC\/PROCESS_STATUS", "output":"STATUS_OUT", "parameters": [ { "direction":"out", "length":1, "name":"STATUS_OUT", "optional":false, "type":"CHAR", "value":" " }, { "direction":"in", "length":10, "name":"CONNECTOR", "optional":false, "type":"CHAR", "value":"PRCHAIN_02" }, { "direction":"in", "length":1, "name":"MODE", "optional":false, "type":"CHAR", "value":"U" }, { "direction":"in", "length":1, "name":"STATUS_IN", "optional":true, "type":"CHAR", "value":"F" }, { "direction":"in", "length":40, "name":"TASK_ID", "optional":false, "type":"CHAR", "value":"DATA_01" } ] }; //****************************************************************************
97
With this transaction it is possible to delete records from the /QTQVC/ tables or a single record from the table /QTQVC/STATUS. For the first four options all records from the specified table and year are deleted at one time. The option Simulate deletion can be used to see how many records will be deleted (no deletion takes place). To delete the records, select the option Delete records. Press the execute button when the appropriate options have been selected. The tables /QTQVC/CONTROL and /QTQVC/JOB_SQL contains information about SQL connector jobs. Do not delete records from the current year. Deletion of records older than current year can take place at any time. Although it is not necessary to keep the older records they can be useful for statistical reasons.
98
The table /QTQVC/TRACE is used to store trace information for the SQL connector. Records are written when the parameter Trace=1 is part of the connection string in the QlikView script. The records can be deleted at any time if there is not any trouble shooting taking place. The table /QTQVC/STATUS contains information about jobs started for the SQL and Extractor connectors. It is also used for Process chain handling. Do not delete records from the current year.
With this transaction it is possible to update single records from the tables /QTQVC/CONTROL and /QTQVC/STATUS. To update a record, select the wanted table, enter the key for the record, enter a new value in JOBSTATUS and press the execute button.
99
100
3. Specify the SNC name in the connection dialog, p:CN=sncname. In addition, specify the quality of the protection the available values are specific to the library used.
101