Feeds:
Posts
Comments

Archive for the ‘BW/BI and SEM BPS’ Category

I’d like to share about the presentation in BI 7 Report. Sometimes in the report, there is a requirement to display the data for 1 year or even more than 2 years whereby it’s displayed in monthly basis.

Well, the standard options, we can use paging (there is required time to navigate from 1 page to another page) or display everything in one shot (so it exceeds the width of windows / user need to scroll right and left).

There is another option that we can use that it uses an internal scrolling. So the scrolling only happens within that data analyzer only (like the picture below). Using this way, users don’t have to wait for sometimes to navigate to next page (if we use pages) /scroll left/right of the window.

The good thing from it that we can setup the fixed column, the default fixed column is the characteristic so that the key figures that we can scroll left/right or we also can setup the fixed column on the key figure itself e.g. there is summation of the previous year that user want to use it as reference. So that usually, it’s also able to be used as fixed column.

For this one, you’re not needed to be able to code an ABAP. The module is already provided by SAP :D. You only use and configure it.

Fixed Column and Scrolling in BI7

How to configure it:

  1. Go to property for your analysis Item.
  2. You will find Internal Display property, the first setting , you will see Modification.
  3. Change the value for Modification to Single Module.
  4. Insert this module: com.sap.ip.bi.rig.Scrolling
  5. Activate the module, there is a value to be configured as active.

Bim, salabim .. You activate, save, and execute it. Then you’ve already had it. The fixed column for that one is still the default one which is the characteristic. If you wanna configure it, you can configure the parameter for COLUMN.

The things that I want to highlight is about the performance :p. It impacts the performance J. Especially in loading data when opening report because there’s required time for rendering. There are many layers used for creating this good report presentation, but after that, user will be happy. So don’t forget that performance things must be told to the user and they need to sign to approve :p

Hope this sharing is helpful

Read Full Post »

Hi All,

As we know that’s business is growing up, so sometimes user request some information to be revealed within the reports. Somehow this case needs to add info object within Info Provider, but the info provider has already had huge data, so it needs a lot of time and resource to update/extract filling the new field.

The solutions for it, we can use virtual characteristic/key figure. Virtual characteristic itself means that the info object is within info provider, but it’s not filled up the data. even thought it’s not filled up the data, but report sill can show the corresponding data, due it will process to extract the data for that info object when query running.

Right now, i’m gonna deliver this virtual characteristic using BADI. Using BADI, we don’t have to care about transport request. Means, if our colleague is creating the virtual characteristic, we can also create our own virtual characteristic without must wait until he/she finish their job.

My case is:

Pic 1

For this case, I’m gonna map between Inquiry type and pocket.
Inquiry type => Pocket
TI => DP (Dopod)
PT => ET (Eten)
OT => HTC (HTC)
BT => KJ (K-Jam)
OL => OT (O2)

The Pocket is Virtual Characteristic

How to make it:

1. Prepare the Pocket IO (info-object) with master data (In order to fill the description).

Pic 2

2. Maintain it’s master data text.

3. Insert the IO Pocket to corresponding Info Provider.

4. Make it blank in the update rules.

5. Go tcode: se18

6. Choose for create for new, change for modification.

7. Define the info-provider, name, and description.

8. SAP has already had the template for it. You can use it.

Pic 3

9. There are 2 methods need to be modified, for initialize don’t have to be modified.

10.  You need to add all info-object needed from corresponding info provider to it’s attributes.

Double-click on this

Double-click on this

You need to add suffix P_CHA_(characteristic name)

You need to add suffix P_CHA_(characteristic name)

11.  Modify the define method, for definition area. .

Pic 6

*** Like zactvtyp ,,, the mode is read, because you only read the value from ODS. <point A>
*** zactvmpk,,, the mode is no selection (writting), because you’ll store some value on it <point B>

12. Modify compute method, for logic area.

Pic 7

13. Add the virtual characteristic in Query Designer.

14. Generate report for in tcode: RSRT.

Pic 8

*** If you tap on that button, the system will run the code in define method area.

15. Execute it, you’ll get the result.

Well, these all are the steps that i can deliver here.

Hope it can help you .

Read Full Post »

Hi All ,,

I used to have requirement to transfer data from SAP BW into SAP CRM for data sales. The data that we wanna fetch were not from info provider, but from Reporting.

Actually there is another techniques to read data from query bw report, that techniques is MDX. But MDX is more complex.

High level:
CRM :

1. Creating table in order to keep data from SAP BW using t-code EEWB.

BW :
1. Creating APD using t-code RSANWB and transfer the data to SAP CRM.

Detail levels in SAP CRM:

1. Go to t-code: EEWB.
2. Create New Project
3. Create Extension

Pict 1

Pict 1

Then it will show in wizard.

4. Step  1: Input the scenario name.
e.g. ZTBL1
This name will be table name for keeping data from SAP BW.

5. Step 2
– Input the system ID of your BW System.

6. Step 3

Pict 2

Pict 2

Defining what Info Object gonna be transfered from BW to SAP CRM. For the primary Key, you can define it based on point A pict 2 above.

7. Step 4.
– If it has finished, you’ll see the summary for what info object that’s gonna be picked out.

8.  You’ll also see the successfull sign within t-code EEWB.

Pict 3

Pict 3

Successful sign -> point A
Table name within SAP CRM for keeping data SAP BW  -> point B
Table name within SAP CRM as the shadow to keep data -> point C

Detail in SAP BW

In this case i’ll use the most simple case that we don’t do a transformation, but we only transfer data.

1. Go to t-code: RSANWB

Pict 4

Pict 4

2. Buat schenario :
Z1 use point A
Z2 use point B
Z3 drag & drop from Z1 to Z2.

3. Properties dari Z2

Pict 5

Pict 5

Subobject is the table name within SAP CRM (wizard step 2).

Pict 6

Pict 6

( The attribute tab, is all the info object that’s not chosen as primary key within SAP CRM – wizard step 3).

4. Property of Z3

7

Point A : CRM Target.
Point B : BW Source.

Here it’s my post for now .. Well, hopefully it’s useful . Usually i keep it on my personal database, but right now, i’d like to share to all of you.

GBU All.

Read Full Post »

Hi All,

Today i’m gonna share my knowledge regarding running info package by program. At that time, I used this way, because i didn’t let user use t-code RSA1, but i also wanna ask them as the one triggering the extraction.

So i decided to create one t-code where they can access, give parameter, and execute the info package.  If in the BPS, we can put this code in exit planning function, then it’s executed within t-code UPSPL. We also can use external program e.g. excel, vb, etc in order to call the RFC containing this code.

Simple case: we have info package to extract sales data where this info package has parameter/selection Date.  I only want to execute it by simple program.

Here it’s the ABAP Program for it.

” define variables.

Data:

p_date TYPE TABLE OF bapi6109sel WITH HEADER LINE ” variables for info package selection

, p_bapireturn LIKE bapiret2 OCCURS 0 WITH HEADER LINE

BEGIN OF it_infopackage OCCURS 0, ”  itab  for  storing info package ID , using ITAB, if you wanna execute multiple info package.

tinfopackage LIKE bapi6109-infopackage,

END OF it_infopackage.

” Input data into info package selection variables

p_date-fieldname = ‘ZSYNCDT’. “this ZSYNCDT is Info Object name representing the selection .

p_date-low = p_datefr. ”  this is the parameter that user can fill in

p_date-high = p_dateto.this is the parameter that user can fill in

APPEND p_date.

Define what info package that’s going to be run.

it_infopackage-tinfopackage = ‘ZPAK_AKBH97TU9YNAN73YHENNSWJ8A’. ” this ID can be captured in info package screen.

APPEND it_infopackage.

Executing info package. .

LOOP AT it_infopackage.

” Use this BAPI in order to input parameter into info package selection.

CALL FUNCTION ‘BAPI_IPAK_CHANGE’

EXPORTING

infopackage = it_infopackage-tinfopackage

TABLES

selections = p_date

return = p_bapireturn.

” Use this BAPI in order to execute the info package.

CALL FUNCTION ‘BAPI_IPAK_START’

EXPORTING

infopackage = it_infopackage-tinfopackage

TABLES

return = p_bapireturn.

ENDLOOP.

This code can be put within program (SE38) so you can create dialog screen, and execute info package. Or you can put it within RFC (SE37), then the RFC can be triggered from external program.

Well..

Hopefully, my share can be usefull ..

Read Full Post »

Hi All ..

In 2007, we had issues in performance. One of the solutions is archiving data.  At that time, archiving was the first one used in this company, so that I did trial and errors. Here it is some of trials I did. Hopefully it can be usefull.

Btw, the manual document to archive data, can be catched in : http://help.sap.com/bp_biv170/documentation/HowToArchiveInBW.pdf

a. Info Provider is locked once you’ve not finished yet archiving cycle.

Archiving cycle comprises 2 phase: write and delete. Write is gather the data and write it into one file. Delete is get rid off the data from info provider. But, if we only do for write, yet to delete. The info provider will be locked means the info-provider can not be loaded the data.

Error message captured

Error message captured

At that time, we needed to write it first, and later for delete. It’s done due we want to do analyzing the archived data e.g. file size .

The solution i got, you still can extract data eventhough you just did a data write. So you can have the archived file, without needing to delete the data within info-provider.

How can you do it ?

You must change the value of notguilty fields from blank into ‘X’ within admi_run table. Due it’s SAP Table, so you can’t do it directly using t-code SE16; but you need to create small program to alter the value.You can search the value within admin_run table by Archiving Object ID.

b. Getting error when restoring archived data file.

Captured error message

Captured error message

I got this message when getting extract data from archived file.

How did i resolve ??

You must apply this note : 1043355. Then after that, you can re extract data from archived file.

c. Can’t write archived data due to attribute only attribute.

I got this error when archiving data in write phase.

Error message captured from tx: ST22

Error message captured from tx: ST22

it’s caused by ZCRT_DATE info-object is marked as attribute only. If one IO is marked as attribute only means, this IO can’t be resided as navigation attribute. This IO can be put in Info-Provider, but it’s not part from this Info-Provider, so when function RSDRI_INFOPROV_READ is reading the IO, it will raise error (read notes: 979660).

How did i solve it ??

I released the setting of attribute only from ZCRT_DATE  IO and unchecked with ODS setting for SIDs Generation upon Activation.

Then re run archiving process for write phase.

Well those all are the share from some i got during it. I usually keep all what i get within my internal database. But now, i try to share it to you all .

Hopefully it can be useful.

Read Full Post »