cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP API for SAP BPC 7.0 for the Microsoft Platform

Former Member
0 Kudos

Hi,

I'am looking for the SOAP API for SAP BPC 7.0 for the Microsoft Platform.

I want to import data into SAP BPC using webservices.

I know the client application is using SOAP to import data.

Where can I find documentation about the SOAP API for SAP BPC?

Has anyone experience with this?

Jan

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Jan

If I may ask, why do you want to import data using a web service, doesn't the traditional import methods available in BPC work for you.

I am not aware of any documentation been made publically available, but I say this under correction.

If you still don't want to use the traditional methods, have you tried created a stored procedure and then exposing that as a web service ( Provided you on SQL 2005 or later.. )

Kind Regards

Daniel

Former Member
0 Kudos

Hi Daniel,

Thanks for your reply.

Webservices is the preffered way to do this and I know the client application is using SOAP to do this.

I don't have a problem using a stored procedure. If it can be solved with a stored procedure it would be fine also.

We tried that already, but we have problems writing a stored procedure to import data. Do you have experience with this?

We encounter the following problems:

- How do we kick off a SSIS package with the right parameters? Or Is there another way to start an import?

- How do we pass account information to the import package? We want the import to happen under a specific username. This is to prevent reading wrong data in SAPBPC. We could live without this functionality but it would be the best way.

Any help will be appreciated.

Jan

Former Member
0 Kudos

Hi Jan

From my understanding it seems like this is a integration project, where you want to use BPC as your destination system, I know that BPC uses the MODIFYSCRIPT parameter to store the data manager dynamic script.

In the dynamic script is where BPC uses Dynamic Constants to pass values to the tasks defined in the package, for example, the dynamic constants are like global variables, That is how SSIS is able to get parameters from BPC to the osoft tasks dll's like Application name,SQL serve, etc.

You could in theory, hard code these values in the package, which will be saved in the MODIFYSCRIPT parameter, which in turn the Osoft tasks will be able to execute correctly. (personally never tried it)

Check the following links on how to execute a SSIS package programatically

[Running a SSIS pacakage from a web service|http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/Q_23735668.html]

[Running a Package Programmatically on a Remote Computer|http://msdn.microsoft.com/en-us/library/ms403355.aspx#agent]

[Running SSIS package programmatically|http://blogs.msdn.com/b/michen/archive/2007/03/22/running-ssis-package-programmatically.aspx]

It terms of the stored procedure, you could insert directly into the fact tables, and do some basic checks, like making sure that the values which are being submitted have corresponding master data members, so that you don't insert data to a non existent member,

All of these above methods is not really recommended as it makes things complicated, and you could run into problems at a later stage..

I would suggest, if possible, make BPC fetch the data, as apposed to your 3rd party application put the data into BPC.

If you do data transfer via web services, then you should hopefully be able to fetch data, try creating and modifying a copy the standard Import.dtsx package, and then you add a web service task to retrieve the data and dump it to a text file, and then add a success constraint to the osoft convert data task

Kind Regards

Daniel

Former Member
0 Kudos

Hi Daniel,

Thanks for your reply and extensive information about calling an SSIS package.

As you already mentioned, this solution is very complex and not preferable.

I'am currenty looking into the SOAP request that is fired by the client when starting a package. I found this request by using Fiddler. However I can't find the documentation about this SOAP request and also the WSDL is not published.

I registerd an information request at SAP support portal and hopefully they will give me documentation on this, otherwise I have to solve this issue myself.

Using SOAP calls, just as the client does, is certainly the prefered way.

Jan

Answers (2)

Answers (2)

sorin_radulescu
Employee
Employee
0 Kudos

You have to ask the support to see if they can share the list with public web services of SAP BPC.

But from what I know just BPC API for 5.1 was public. Starting with 7.0 we didn't publish anymore the webservices available into BPC application server.

Any way in 5.1 amd 7.0 we provided just web services for read data, send data but nothing to call DM packages.

So I don't think we will find easy a solution to call a DM package outside of BPC.

One idea it will bve to schedule the DM package from BPC but not really for schedule.

Just to go after that into Windows scheduler and to use the command line generate to launcgh the package.

This can be a solution for you.

Another option will be to think otherway around.

Call from BPC package the SSIS from other tool.

May be this suggestion can help you to find the bets solution.

Regards

Sorin Radulescu

sorin_radulescu
Employee
Employee
0 Kudos

Hi Jan,

Even if we will have all the information regarding the web services call for DM I don't understand how this will help you.

You still need to use the BPC SSIS packages and also you have to use standard Transformation and Conversion files.

BPC API will provide you just an interface from where you are able to call BPC packages (DM module from BPC) nothting else.

But again you will have a lot of restrictions which means it will be easier to use BPC interface instaed to develop complex interface from where you will call BPC API which will probably not satisfy all the customer requirements.

I was looking to entire thread and I think it is not a avlid option what you are trying to do. More than that it will request a lot of effort and it will not be supported.

Kind Regards

Sorin Radulescu

Former Member
0 Kudos

Hi Sorin,

Thanks for your response.

We have developed an SSIS package which imports a file into SAPBPC and does some more specific stuff.

At this moment a file is created by a Cordys proces on the file server. The user has to import this file by hand by starting this SSIS package from his desktop.

We want to automate the complete proces by starting this SSIS package automatically from the same Cordys proces after the file has been created. We want to pass the filename and the context information to this SSIS package.

When a user starts the specific SSIS package from his desktop, we see a webservice request to SAPBPC which has just these parameters in there. I see a <strParameter>, a <strContext>, a <strSecurity>

So the only thing I want to do is call a webservice which starts the specific SSIS package, with the right parameters, and the right context (user credentials etc...). This should not be to difficult if I have some documentation about these fields and a WSDL of the webservice.

We understand that usage of these webservices is not supported by SAP because of the freedom to change stuff in there.

In this case we would like to take that risk.

If someone could give me some documentation about this webservice interface and the WSDL it would be very helpfull.

Jan

Former Member
0 Kudos

Hi Jan,

Did you able to use web service to pull/push the data from SAP BPC MS to SAP ECC?

We are planning to go in that routine but don't have a full understanding about how things will work, Really SAP BPC MS will able to call web service update its back end tables if SAP ECC web service is available?

Your answer is much appreciated!