Lately, all my posts started with "In my current project", so now something else, even if it was developed in the current project. The problem we are facing with is that we get a data extraction which deliver us only the new data records, not the reverse data record.
I know that I don't publish a lot of new posts the last few weeks. The reason is I am writing on my diploma thesis. The title is "S/4HANA versus BW/4HANA - Zukunft der Datenanalyse". My deadline is in the middle of September so I have to write a lot these days. At the moment, I have access to a BW/4HANA instance in the cloud and I want to share how you could export your development before you terminate the instance. First you have to log on with the SAP* user in the client 000. Go to the transaction stms and select the System Overview.
I described in a earlier post how to use BW/4HANA on Amazon AWS. But if you just need a developing system for some time and don't want to use BW/4HANA, you can use the BW 7.5 SP2 developer edition on a virtual machine.
In my current project, we want to separate the current MultiProvider with VirtualProvider underneath into one MultiProvider with VirtualProvider and one MultiProvider without VirtualProvider. This step is necessary, because we receive a lot of data and don't want to push all these data through the VirtualProvider. The VirtualProvider only add one field which we haven't got in our InfoCubes and it isn't necessary in all queries just a few.
Sometimes it is necessary to check your data model if it still fit your needs. For this you can use the transaction rsrv. Select there under All Elementary Tests >> Database >> Database information about InfoProvider tables.
In my current project I had to clean up the existing process chains. A lot of process chains were created via SPOs and not really used in the system. First I had to check, if one is used in a another process chain or in which one they are used.
In my current project we have to transport from a maintenance system to our development system. The problem is when you now transport the objects into quality system, you have to check the option "Overwrite Originals" so that your transport is working. But you have to put this flag on every transport you make in the future from your development system to quality.
In my current project, we have a copy of the productive system as a maintenance system, because we made huge changes in
the development system in case of the project. So if there is an error in the production, we can easily repair it.
Some changes have also be transported into the development system, so we have the same state and our future request can be transported into production. For this we use the functionality Transport of Copies. All objects of the originally request are still locked. If you want to create a transport of copies, open the transaction SE01. Check the option “Transport of Copies” and click on Display.
After we created in Part 1 the transparent tables and in Part 2 all BAdI implementation, we can now maintain and create our SPO. First we have to fill our table ZSPOPATTERN with a PATTERNID and a corresponding INFOOBJECT. Go to the se16 and create a new table entry. As PATTERNID enter a unique id for example CALYEAR and as INFOOBJECT 0CALYEAR. For TXTLG and TXTSM enter a useful text. Depending on how many InfoObject are used for a partition, create the other pattern.
After we created in part 1 all tables and objects, we can now create a new BAdI to generate the partitions. Go to the transaction se19 and create a new implementation with the Name RSLPO_BADI_PARTITIONING.
At my current project I needed a way to create Semantic Partitioning Object (SPO) via BAdI to reduce the end-of-year work. After a little search via Google (you cannot find anything on the new SAP Community Page), I found these threads.
So after I read a lot about BW/4HANA, I decided to create a own SAP BW/4HANA 1.0 [Developer Edition] instance on my Amazon AWS account. First I had to extend my normal AWS account with a IAM user. For this you choose under Security, Identity & Compliance >> IAM. Under Users you click on Add user.
This week I want to test the integration of a BI Platform to my .Net program. So I want to install a test version of the BIP, but my virtual machine hadn't enough space. The first step was to extend the space of the disk. It is very easy in VirtualBox to extend the disk.
After my VirtualBox was ready I could install the BIP. But the next issue was found very soon. I need a license key.
In Analysis Office 2.2 SP3 some new interesting parameter for Ao_app.config were delivered. The following parameter are interesting and in some case maybe very useful.
Use this setting to define the maximum number of parallel threads that can be used to open the SAP HANA DataSources of a workbook. This only works with SAP HANA.
Use this setting to specify the mode of the prompting dialog when you open a workbook from the NetWeaver that contains exactly one DataSource.
I just got access to a NetWeaver 7.5 SP2 and I want to test it with Analysis Office 2.3. So I open Excel and insert a query. And here we go first error: "unable to open data source", so I thought maybe the query is broken and I developed a new query and insert it. Here we go, same error. Maybe queries don't work, so I insert a InfoCube directly. Same error...
Now I refresh the insert query and got an Analysis Office message: Error while executing function module: BICS_PROV_OPEN
In the explanation was one line with the hint "wrong parameter type in an rfc call", so I looked into st22 and saw a dump which the message: CALL_FUNCTION_ILLEGAL_P_TYPE
Unfortunately, SAP shifted the maintenance of master data in SAP BW 7.4 into the Web. Not everyone wants to maintain the master data on the Web. Here is a small workaround.
From time to time it happens that the source system delivers special characters and the Business Warehouse system can not handle it. So the loading process may be crashed.
One solution is the following ABAP code:
zeichen(1) TYPE c,
muster(2) TYPE c,
field TYPE c LENGTH 000060.
field = SOURCE_FIELDS-YYSTREET.
IF field CO
' !"%&()*+,-./:;<=>?_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜßabcdefg' & & 'hijklmnopqrstuvwxyzäöü '.
zeichen = field+sy-fdpos(1).
muster+0(1) = zeichen.
muster+1(1) = space.
TRANSLATE field USING muster.
RESULT = field.
From time to time it is necessary to replicate DataSources from other SAP systems, eg if the DataSource has changed in the source system. To replicate a DataSource, use the transaction rsa1.
Now the DataSource can be used.
If you have created your own SAP function module, you can use this with the following VBA code.
Dim MyFunc As Object
Dim E_INSERTED As Object
Dim E_MODIFIED As Object
Dim DATA As Object
Set MyFunc = R3.Add("Z_RSDRI_UPDATE_LCP") 'FunctionModule Name in SAP BW
Set E_INSERTED = MyFunc.imports("E_INSERTED") 'InsertFunction in SAP BW
Set E_MODIFIED = MyFunc.imports("E_MODIFIED") 'ModifyFunction in SAP BW
Set DATA = MyFunc.tables("I_T_DATA") 'Table to store data and write to BW.
DATA.Rows.Add 'add new data
rowDATA.Value(1, 1) = Sheet1.Cells(1, 10).Value 'First Cell of the data table is filled with the value from Sheet1.Cells(1,10)
'Call Insert or Modify
Result = MyFunc.CALL
'Message to the User
If Result = True Then
MsgBox "Insert Rows: " & E_INSERTED.Value & " Modify Rows: " & E_MODIFIED.Value, vbInformation
MsgBox MyFunc.EXCEPTION 'Exception
Sometimes you want to know which users are created on a Business Warehouse system and if these have access or have been blocked from by incorrect logon. For this you can use the transaction rsusr200. In the transaction you can see the last login, the users validity, etc.
Sometimes you have to check the rights of users. For this you can use the transaction su53.
If you adjusts many objects in the Business Warehouse, a lot of transformations are automatically inactive. So you don't have to activate each transformation by hand, there is a ABAP program named RSDG_TRFN_ACTIVATE.
There are several ways to look at the structure of an InfoCube. One way possibility would be to analyze it on the transaction rsa1. Another way to show the structure of an InfoCube is the transaction listschema.