Search
BWFreak - My SAP BW learning notes

BW recordmode

Posted on March 3rd, 2010

To get a clear defination of BW recordmode:
SE11, data type RODMUPDMOD -> click Documentation

RODMUPDMOD
____________________________________________________
Short Text
BW Delta Process: Record Mode

Definition
This attribute describes how a record is updated in the delta process. The various delta processes support different combinations of the seven possible characteristic values. If a DataSource implements a delta process that uses several characteristic values, the record mode must be a part of the extract structure and the name of the corresponding field has to be entered in the DataSource as a cancellation field (ROOSOURCE-INVFIELD).

The seven characteristic values are as follows:

‘ ‘: The record delivers an after image.

The status is tranferred after something is changed or added. You can update the record into an IncoCube only if the corresponding before image exists in the request.

‘X’: The record delivers a before image

The status is transferred before data is changed or deleted.
All record attributes that can be aggregated have to be transferred with a reverse +/- sign. The reversal of the sign is carried out either by the extractor (default) or the Service API. In this case, the indicator ‘Field is inverted in the cancelation field’ must be set for the relevant extraction structure field in the DataSource.
These records are ignored if the update is a non-additive update of an ODS object.
The before image is complementary to the after image.

‘A’: The record delivers an additive image.

For attributes that can be aggregated, only the change is transferred. For attributes that cannot be aggregated, the status after a record has been changed or created is transferred. This record can replace an after image and a before image if there are no non-aggregation attributes or if these cannot be changed. You can update the record into an InfoCube without restriction, but this requires an additive update into an ODS Object.

‘D’: The record has to be deleted.

Only the key is transferred. This record (and its DataSource) can only be updated into an ODS Object.

‘R’: The record delivers a reverse image.

The content of this record is the same as the content of a before image. The only difference is with an ODS object update: Existing records with the same key are deleted.

‘N’: The record delivers a new image.

The content of this record is the same as for an after image without a before image. When a record is created, a new image is transferred instead of an after image.
The new image is complementary to the reverse image.

The table RODELTAM determines which characteristic values a delta process uses (columns UPDM_NIM, UPDM_BIM UPDM_AIM, PDM_ADD UPDM_DEL and UPDM_RIM). The table ensures that only useful combinations of the above values are used within a delta process.

When extracting in the ‘delta’ update mode in the extracted records for the indicator, a DataSource that uses a delta process can deliver only those characteristic values that are specified in the delta process.

Definition
This indicator describes how a record in the delta process is updated. The various delta processes support different combinations of the seven possible characteristic values. If a DataSource implements a delta process that uses several characteristic values, the indicator must be a part of the extract structure and be entered in the DataSource as a cancellation field (ROOSOURCE-INVFIELD).

The seven characteristic values are as follows:

‘ ‘: The record delivers an after image.

The status is tranferred after something is changed or added. You can update the record into an IncoCube only if the corresponding before image exists in the request.

‘X’: The record delivers a before image

The status is transferred before data is changed or deleted.
All record attributes that can be aggregated have to be transferred with a reverse +/- sign. The reversal of the sign is carried out either by the extractor (default) or the Service API. In this case, the indicator ‘Field is inverted in the cancelation field’ must be set for the relevant extraction structure field in the DataSource.
These records are ignored if the update is a non-additive update of an ODS object.
The before image is complementary to the after image.

‘A’: The record delivers an additive image.

For attributes that can be aggregated, only the change is transferred. For attributes that cannot be aggregated, the status after a record has been changed or created is transferred. This record can replace an after image and a before image if there are no non-aggregation attributes or if these cannot be changed. You can update the record into an InfoCube without restriction, but this requires an additive update into an ODS Object.

‘D’: The record has to be deleted.

Only the key is transferred. This record (and its DataSource) can only be updated into an ODS Object.

‘R’: The record delivers a reverse image.

The content of this record is the same as the content of a before image. The only difference is with an ODS object update: Existing records with the same key are deleted.

‘N’: The record delivers a new image.

The content of this record is the same as for an after image without a before image. When a record is created, a new image is transferred instead of an after image.
The new image is complementary to the reverse image.

‘Y’: The record is an update image.

This kind of record is used in the change log of an ODS object in order to save the value from the update. This is for a possible rollback and roll- forward for key figures with minimum or maximum aggregation. This record also has the update value for characteristics (in this case, it is the same as the after image). Null values are stored for key figures with totals aggregation. An update image is only required when the value from the update is smaller or larger than the before image for at least one key figure with minimum or maximum aggregation.

Table RODELTAM determines which characteristic values a delta process uses (columns UPDM_NIM, UPDM_BIM, UPDM_UIM, UPDM_AIM, UPDM_ADD, UPDM_DEL and UPDM_RIM). The table has to ensure that only meaningful combinations of the above values are used within a delta process.

When extracting in the Delta update mode in the extracted records for the record mode, a DataSource that uses a delta process can deliver only those characteristic values that are specified in the delta process.

No PSA for Info Source 8A*

Posted on February 19th, 2010

Several transports caused some issue on an existing ODS with data. The ODS couldn’t be activated, then after reversed some changes, activation is ok, but couldn’t load.

The error is:

No PSA for Info Source 8Azzzzzz 

It’s an issue with Data Mart transfer structure

Looking at InfoSource, all infoPackages and Source system were inactivated.

Changed table- transfer structure name according to Note  620937

Before changing anything, Try RSA1 -> Source systems ->Replicate data source

Try se38 -  RS_TRANSTRU_ACTIVATE_ALL

Activation not possible: Transfer Structure contains invalid field /BIC/ZCHyyyyyy

Transfer structure 8Zxxxxxxx_AA NOT activated successfully Activate manually

Error analysis: The invalid field is a reference to a time characteristic. The infoObject was setup wrong in the first transport, length should be 6, but was 8. It was fixed in development environment afterward. As there’s no data in the ODS on dev, activation was not an issue. However, with data in prod, the Transfer Structure can’t be fixed. In the end, we ended up created a new ODS.

There are a lot of things we can do to avoid this, testing in QA with data in ODS is one of them.  Also, reference of time characteristics, not really work. Values in 0Calmonth, 0calyear are correct, by chance, but weekday,0calweek are not correct.

System:BW3.5

Missing values in time characteristics

Posted on February 19th, 2010

When selecting filter values for time characteristics, some users noticed that they can’t find the dates they want, although, these dates exist in the infoProviders.

Apparently, there’s a default date range setting for time characteristics, e.g.0calday, 0calmonth, 0calweek. To change, go to t-code SPRO -> F5. Path may vary depending on the system.

SAP Netweaver –> Business Information Warehouse –>Reporting-relevant settings -> General Reporting settings for Bex  –>Set F4 Help and Hierarchies for Time Characteristics/OLAP Settings –> Time Interval

Parallel processes using process chain

Posted on February 19th, 2010

It’s ideal if all processes in BW process chains can be executed one after another, but sometimes, it’s not possible.

Usually, there’s only certain time frame in a day can be used for BW loading. I need to avoid the maintenance window, the critical hours for users, the inconvenient hours for monitoring and load fixing, etc, etc. Parallel processing is unavoidable.

When running several process chains or several branches in the same process at the same time, extra attention is needed to avoid locking. Here’s a list of BW locks I got.

1. Attribute Change Run lock.

2. Master data lock. infoPackages to the same master data can only be scheduled one at a time.

3. ODS activation lock. infoPackages to the same ODS can be scheduled parallel, but before activating ODS.

4. CUBE/Aggregates related lock.

5. User lock.

To check if the lock is released, use t-code SM12.

To fix the process chain errors caused by locks, use a “repeat” on the red chain step if no infoPackage involved. Otherwise, fix the infoPackage first.

Autobiography by Louis MacNeice

Posted on December 20th, 2009

Autobiography
by Louis MacNeice

In my childhood trees were green
And there was plenty to be seen.
Come back early or never come.

My father made the walls resound,
He wore his collar the wrong way round.
Come back early or never come.

My mother wore a yellow dress;
Gentle, gently, gentleness.
Come back early or never come.

When I was five the black dreams came;
Nothing after was quite the same.
Come back early or never come.

The dark was talking to the dead;
The lamp was dark beside my bed.
Come back early or never come.

When I woke they did not care;
Nobody, nobody was there.
Come back early or never come.

When my silent terror cried,
Nobody, nobody replied.
Come back early or never come.

I got up; the chilly sun
Saw me walk away alone.
Come back early or never come.

InfoProvider Query

Posted on December 11th, 2009

If you have a query with all the characteristics and key figures from an InfoProvider, users will be very happy to use it instead of creating their new queries. The trick is the have all major variables in the varaible screen and train the users to use “Save View” feature of Bex web.

BW also provides similar feature through RSRT, except there’s no variable screen for selection. The query name is infoProvider/!infoProvider.

After addin more and more aggregates to the cubes, it becomes tough to estimate when the load would finish, as sometimes the Attribute Change Run takes 10 min to run, sometimes, 2 hours.

There are many ways to deal with it. For example, reduce the percentage of DB statistics calculation, switch off the aggregates…

The following SAP OSS note might help. But need to be careful with the warnings in the same note.

Note 555030 - Deactivating BW-initiated DB statistics

You can deactivate the DB statistics initiated by the BW system by making the following entry in the RSADMIN table. You can use the SAP_RSADMIN_MAINTAIN ABAP report to do this:

  •  
    • Object: DB_STATISTICS
  •  
    • Value: OFF

Note that the RSADMIN table is buffered. You should execute a /$tab RSADMIN (invalidates buffers for RSADMIN) or /$sync (invalidates all table buffers) command afterwards.

To be able to monitor the BO connection with BW server easily, I decided to use system users for creating universe.  

This user doesn’t need a lot of accesses.

First, make sure profile is correctly generated in pfcg; turn on the Authorization trace; watch st22 for authorization related dumps.

Authorization object: S_RFC
RFC_TYPE FUGR
RFC_NAME SUSO, SUNI, RSCR, SH3A, RFC1, RZX0, RZX2, SYST,SYSU,RSOB, RSAB

ACTVT 16

Authorization object: S_USER_AGR
ACT_GROUP USER_ROLE*
ACTVT 01, 02, 06

RS Authorization object:

S_RS_ADMWB (03/INFOAREA, INFOOBJECT),

S_RS_IOBJ(03/)

S_RS_COMP(03,16/)

S_RS_ICUBE(03/)

Error: User has no RFC authorization for function group SYST , even when S_RFC is set to *

I got this error when I didn’t properly generate the profile on BW.

Error: DBD: A runtime exception has occured. (Error get a list of catalogs: Unknown error)

This is fixed after adding:RSOB to authorization object: S_RFC

Error: Error getting dimensions for cube Z_xxxxx Unknown error

?? 

Error: User has no RFC authorization for function group “RSAB “.

This is a nasty one, it happens when Designer trying to get all the fields from BW. It can generates many shortdumps.

Merry Christmas and Happy New Year!

Posted on December 3rd, 2009

Here are my recent Christmas and New Year findings

1. A Christmas Carol - A thin book but better read multiple times with a dictionary handy.

2. Turkey - Not only it has a lot of meat, the rib cage looks like the cylon ship in Battlestar Galactica.

3. The SidePillow by Tempur-Pedic has excellent support for the neck.

4. Vegetable Straws from Costco are good, so are the Peanut butter filled Pretzel Nuggets.

It’s a brave new world (Universe)!

Posted on December 3rd, 2009

My company recently purchased Xcelsius. So, I got a chance to play with SAP Business Objects, including Universe, Webi, Live Office, Xcelsius, Polestar, mobile application, Crystal Report, etc, etc.

I need some time to get to know the functionality of these new tools. When I am able to create some fancy schmancy Xcelsius dashboard in 5 min, I’ll post a how-to instruction and suggest everybody to use it.

For now, I am happy exploring.