I. Description
| Designer Version | JAR version | SAP BW Dataset Plugin Version |
|---|---|---|
| 10.0 | 2019-1-29 | v1.5.5 |
Note:1. SAP BW plugin need registration of authorization file。
Note:2. The new SAP BW Plugin is used to connect BW Cube and BW Query, separated from the previous Cube as a separate plugin.
II. Preparation Before Connection
1. Startup Service
1)Frist,be sure SAP BW Server have been startup the XMLA service,so that we can use XMLA connection in external software
Log in to the SAP system as the client:TCODE:SICF > default_host > sap > bw,as shown follow:

2)Right clickbw,select Deactivate service,clickOK,then right clickbwselectActivate service,clickOK,make sure all services are enabled.

2. Install Plugin
Download address:https://community.finereport.com/plugin/?id=39
Designer plugin installation method reference: Plugin Management
Server installation plugin method reference: Server plugin management
III. SAP BW Cube
1. Define data connection
1)ClickSever>Define data connection,click+,select SAPBW Cube,Fill in the URL, user name, password and database according to the actual environment, and click Test connection. If the connection is successful, a pop-up box will appear, as shown follow:
2)XMLA URL to obtain the method:Please contact your SAP administrator for IP. There are two ways to obtain the port number.
Method 1:
To log in to the SAP system, proceed as follows:TCODE:SE37 > FUNCTION MODULE > RSBB_URL_PREFIX_GET > Execute single test > Remove the default > Message Sever parameter selection > Execute
To obtain the port number 1, return to the previous page, do not delete the default, and proceed to the following path:
Message Sever [X] > Execute
To obtain port number 2, try to obtain two port numbers, usually port 1.
Method 2:
To log in to the SAP system, proceed as follows: TCODE:SICF, default_host>sap>bw>xml>soap>xmla, start thebwservice interface, find the XMLA service and right click the test service, the browser will be automatically called, then enter the bw login user name and password, and copy the URL. as shown follow:

2. Add Dataset
Click +,add SAPBW Cube Dataset,as shown follow:

1) Add General Query Dataset
a. Database connection Select the newly created SAPBW Cube connection, click the drop down button, select the General Query, select the Cube type, and set the column axis field, as shown follow:
b. Click Setting. sets the row/axis display , as shown follow:

c. Click Setting. set filter conditional,as shown follow:

d. ClickPreviewon the upper left,You can view the added data set. Assuming that there are originally N measures and M dimensions, the number of columns is N+2M, as shown follow:

e. SAP parameter, MDX parameter syntax description
① The variable value, such as 123456, is recommended to enclose the variable with [] (BW's own statement beautifier will also enclose the variable with []), such as [123456] or enclose it with double quotation marks, otherwise some variables will be passed to the conference report MDX syntax error, the reason is currently unknown.
② Single-valued variables such as 123456 are passed as [variable value], such as [123456];
③ Multi-valued variables are separated by semicolons, such as [123456];[123456]
④ Interval variables, such as year-month interval, separated by colons, such as [201905]:[201907]
2) Add Custom MDX Query
Database Connection Select the newly created SAPBW Cube connection, click the drop-down button, select Custom MDX Query , and enter the query statement. Click OK, as shown follow:

IV. SAP BW Query
1. Connection Method 1:Use Web Service Connection
1) Manually set Web Service
Note:Here are the steps for version 6.
a. Enter soamanager to enter the configuration interface
b. Select Web Services Configuration
c. Sreach and select query_view_data
d. ClickCreate Service
e. Enter Service Info :query_view_data,and bind info:query_view_data
f. Select transport level security, message level security information
g. The soap protocol is default, click Finish.
2) Define data connection
Select Server > Define data connection,click+,select SAPBW Query,connect type isWeb Service,filling URL、username、password and encoding,click Test Connection,If the connection is successful, a pop-up box will appear, as shown follow:

URL format:http://ip:port plus the corresponding string of characters in Berechnete Zugriffs-URL,such as:/sap/bc/srt/rfc/sap/query_view_data/800/queryview/queryview.
2. Connection Method 2:Use JCO connection
1) Create Query
Create a Query with no parameters for example
a. Log in Query Designer
b. Click New,choose an information provider to create a new Query
c. ClickOK
d.Switch to the row/column setting interface, drag the key indicators in the left directory to enter the column panel, dimensions enter the row panel, and click Save Query
e. Enter a description and technical name and click save
Note: The modified technical name is the actual name of Query.
2) Preview Query
a. Enter rsrt2 in SAP Access to enter the report preview
b. Enter the Query technical name and click Execute
c. The parameter variable selection interface appears.
Note:If there are no mandatory parameters, this step is not required.
d. Click execute
3) Define data connection
a. Import driver
In Windows for example
| JDK bit | JDK version | SAP package | Import the files in the SAP file package to the corresponding path |
|---|---|---|---|
| 32 | JDK 1.8 and the minor version needs to be above JDK8u102 | sapjco3.jar is placed in the path of %TOMCAT_HOME%\lib sapjco3.dll is placed in the path of C:\Windows\System32 | |
| 64 | JDK 1.8 and the minor version needs to be above JDK8u102 | sapjco3.jar is placed in the path of %TOMCAT_HOME%\lib sapjco3.dll is placed in the path of C:\Windows\System32 |
Note1:If the data connection fails, you can try to place the sapjco3.dll file in the bin directory of the system jre, for example: %JAVA_HOME%\jre\bin
Note2:Windows Server 2003 and Windows XP systems need to download and install Microsoft Visual C++ 2005 SP1 when connecting to SAP.
b. ClickServer > Define data connection,click+,select SAPBW Query ,connect type is JCO ,Fill in the corresponding host name, system number, language, client, user name, password, connection pool properties and other information,as
shown follow:

Note:The SAP BW dataset plugin requires version 1.2 and above.
3. Add Dataset
1)Click +,Add SAPBW Query Dataset,as shown follow:

2)Set dataset parameters
Select the newly created SAPBW Query dataset for database connection, and fill in the values of the parameters according to the actual situation. If the created Query has parameters set, you need to add parameters. You can also check Use cache and get units, as shown follow:
Note:The information provider, Query and parameters here need to be entered manually. Please fill in the values you actually created according to the above Query creation method.

Note:1. When using the cache and reading the data for the second time, the speed will be faster, and the current cache time is 10 minutes. The acquisition unit is the unit of the field displayed after the check.
Note:2. The parameter name must write the key value, and only the key value can be written.
3)Click Preview to pop up the parameter box, select OK to view the preview data.
V. Precautions
1. Can't connect to BW, showing connection error
1) Check whether the XMLA service in bw is open.
2) Use a browser to access the URL: http://[ip]:[port]/sap/bw/xml/soap/xmla?sap-client=*** to see if it can be accessed.
3) Whether the URL is correct, just click to get the default URL, modify the IP and port, and add the customer number at the end (please ask the administrator to obtain the customer number, usually 3 digits such as 000,100,800) The example is as follows: jdbc:xmla:Server=http://[ip]:[port]/sap/bw/xml/soap/xmla?sap-client=***
4)Check that the domain name used is not an IP, so the connection cannot be made, and the ping of the domain name cannot be reached.
2. Can't get data
Due to the limitation of the XMLA protocol, the large amount of data will cause the service to report an error, and it can only support the number of rows up to 10,000.
3. Query connection mode support
1) When using Cube connection in FineReport, it is not supported to display the application part made in Query designer; it is supported using Query connection.
2) Query in FineReport does not support free features.
3) The Query parameter type in FineReport currently only supports single-value, multi-value, range, hierarchical node, and selection options.
4. SAP parameter linkage template parameter is invalid
1) Problem description
When creating a new dataset, the SAP parameters refer to the template parameters through formulas, and the linkage is invalid.
2) Solutions
Currently, the linkage between SAP parameters and template parameters is not supported. New SAP parameters replace template parameters, and linkage between SAP parameters is supported.
5. SAP BW Query fetches are displayed as empty
1) Problem description
The connection to SAP BW Query can be successful, but the specific data cannot be accessed, and an error is reported:
SwingWorker-pool-4-thread-10 ERROR [standard] Cannot find Body Info!
AWT-EventQueue-0 ERROR [standard] node has no children‘
2)Solutions
Do not use your own spliced URL when connecting data, you need to use the URL of the Web Service.
The method to get the default URL format of the Web Service is as follows:
Select Web Service as the data connection method, click the Get Default URL button
, the default Web Service URL format will be automatically displayed in the URL edit box, and you can modify some of the parameters to your own environment.