Search This Blog

Wednesday, October 21, 2009

SAP BW Open Hub - Introduction

In general, SAP BW Open Hub Service is a method that reads data from a SAP BW object, namely an InfoCube, DataStore Object or InfoObject and places the contents into a staging area for consumption. It provides APIs for all the steps required, to start the Open Hub Service Job, read the data and to tell it when the data was completely read.
So the interaction between DataServices and Open Hub Service contains the following steps
1. A DataServices Job is started including many processing steps. One of these steps is a DataFlow with an Open Hub Destination as source.
2. Before the dataflow can start reading the data, a DataTransferProcess (DTP) has to run filling the Destination with the data. But a DTP cannot be started directly from DataServices, only a ProcessChain containing one. So with each Open Hub Destination Reader, a SAP BW ProcessChain is associated.
3. The ProcessChain potentially can include many steps, at one place it will call a DTP reading the source data and writing into the Open Hub destination.
4. Once all the data is copied into the Destination, the DTP pauses and sends a notification to the DataServices RFCServer. Hence it has to be configured first.
5. The RFCServer writes the notification information into a repository table (AL_SAP_JOB) and with that the DataServices DataFlow can finally start with reading the data from the OpenHub Destination.
6. During the completion of the DataFlow we have to tell the DTP the fact that this OpenHub Destination was successfully read.
7. So a BAPI call is made to update the status of the DTP to green and with that...
8. the ProcessChain can continue until its logical end.
9. In parallel, the next DataServices task is started



Above architecture has a couple of consequences one needs to be aware
 Can a ProcessChain contain multiple steps? Yes, but just one DTP meant for DataServices. Otherwise each OpenHub Destination reader would trigger the same ProcessChain, executing it twice hence.
 Can two different OpenHub Destinations be used in parallel? Yes, no problem.
 Can the same OpenHub Destination be used in different DataFlows? Yes, but not in parallel. Each DTP will truncate the Destination table and load its data into it. So neither it is good to truncate the data while another DTP is still in the process of copying the data, nor should the truncation be done when the Destination has the data but DataServices has not been able to read all yet. In other words, a DTP is done once its status is set to green - by DataServices.
What if multiple developers are working on the same dataflow? Same argument as with other tables. Should a target table be loaded by two developers at the same time? No. However, the actual OpenHub Destination table is editable to enable the same dataflow being tested in parallel. Just to mention that...
 Can a DTP be started manually via BW, and DataServices just reads that data, e.g. for testing?
 In step 5 the RFCServer writes in the AL_SAP_JOB table of the repo. Which repo in case there are multiple?

SAP BW Open Hub Destination

Configuring SAP BW Open Hub Destination

The first step, after setting up a SAP BW external source system and configuring the DataServices RFCServer, is creating the Open Hub Destination (OHD). This is a "table" with a structure and will act as the interface between SAP BW and DataServices.



For this structure we have to define all the columns later but usually our goal will be to read the data from an existing object and therefore using the same columns. In the dialog below you can choose a template for the structure, as we want to read the data from the InfoCube ZDS_SALES we use it as the template and hence get all the InfoCube's columns in the Open Hub Destination.



We need a "3rd Party" OHD with RFC Destination being DataServices, the one we created in the first paragraph.


As we have used the InfoCube as a template when creating the OHD, we do not start with an empty list of columns but all columns of this template object. We could refine that list but as we want to copy all the data 1:1, there is no need for that.


As last step we activate the OHD by clicking on the Activation button in the tool bar.

The OpenHub Destination exists now but is completely disconnected, we create a Transformation to tell where the data should come from.

In our case, the InfoCube ZDS_SALES is the source.

By default, all columns are mapped directly which is exactly what we need in our case, nothing to do hence.

Now we need a DTP which does execute the OHD loading.



At the end, all is to be saved and activated.

Wednesday, October 14, 2009

Currency translation in Bex

Why Currency translation in Bex
• Depending upon various business scenarios we need to do currency translation for BI Reports according to exchange rate of varying time ref.
• For Ad-hoc reporting and on particular date's exchange rate translation is required.
• Target currency is not fixed and hence can not be defined the translation in the update/transfer rules.
• Time ref. (Date) is not fixed based on which translation should happen and hence can not be defined the translation in the update/transfer rules.

How to achieve currency translation in Bex (Implementation part)
1. Transaction code to create currency translation is RRC1.
2. Provide technical name and description .Here you need to be cautious while providing a description as just by looking at it one should able to figure out which time ref. which currency this transaction refers to. As this will only be identifier in Query designer / Bex.
3. Visible tab pages are Exchange Rate, Source Currency, Target Currency, Time reference. Let’s see each and every tab pages significance.

Exchange Rate
1. Exchange Rate Type: In general case it is M Standard translation at average rate.
2. Source Currency
3. Source Currency from Data Record: Fetches currency from the record at the run time of a query key figure. Generally this is a default setting.
4. Info object for determining the source currency: Info object can be specified which holds currency , and this would be taken as ref. for converting to target currency.
Target Currency
1. Selection of Target currency with translation: This option is selected when target currency is not fixed. In the query designer / runtime system asks for target currency containing target currency.
2. *Fixed Target Currency:*This option is selected when target currency is Fixed and it will not be change for reporting part. In Indian scenarios companies prefer to see amount in currencies like "USD" or "EUR”.
3. Info object for determining Target Currency: Info object can be specified which holds currency, and this would be taken as ref. for converting to target currency.
4. *Target currency from Variable: *This option is selected when target currency is not fixed. In the query designer / runtime system asks for target currency containing target currency. Variable for target currency needs to be created if it doesn’t exist from query designer, it will be added to selection-screen/input dialog while executing a query.
Time References
Fixed Time Ref :
1. Current Date: This option is selected, when report should convert all key figures into target currency based on exchange rate as on date (today).
2. Key Date: This option is selected, when report should convert all key figures into target currency based on exchange rate as on specified date. Generally this date value is end of fiscal year or depending upon requirement it changes.

3. Time Based value from Variable: This option is selected, when report should convert all key figures into target currency based on exchange rate as on specified date in query designer/ reports.
Variable Time Ref: Different options available here are

1 Fiscal year closing
2 Start of fiscal year
3 End of period
4 Beginning of period
5 End of calendar year
6 Start of calendar year
7 End month
8 Start month
9 End of week
A To the exact day
B End of Calendar Year/ Quarter
C Start of Calendar Year/ Quarter
Standard info object: Based on granularity selected in the variable time ref. system tries to assign time characteristics to the object.
e.g. if Fiscal year closing is selected then standard object would be 0FISCYEAR
for end of week standard object would be 0CALWEEK
For end of the month standard object would be 0CALMONTH
Special Info object: If this option is selected we can specify info object other than standard time characteristics info objects.
Example: Translating values as on the transactions date exchange rates for large amount of transaction is necessary. In this case we would select variable time ref. as A (to the exact day), special info object to be 0PSTNGDT (Posting Date). By this setting for each posting date system will try finding exchange rate and will convert keyfigures considering exchange rate as on the posting date.

Query Key Date: If this option is selected, system takes query key date into consideration while translating amounts to target currency. (Where to specify it ?? : Query -> Properties -> Query Key Date). Please note that, if you have time dependent master data characteristics in the report, then this setting would affect those master data display also.
Example: In the scenario where user wants to run a currency translation as on specified date , this option would be useful.
Disadvantages of Currency Translation in Bex
 Increase execution time of query
 Increase load on the system as system does currency translation for every record.
Advantages of Currency Translation in Bex No need to change data model
 Flexibility of dates which should be taken in to account while translation.

Technical and Functional upgrade from 3.1 to 7.0 - Check List

Technical and Functional upgrade from 3.1 to 7.0 - Check List

Before the technical upgrade

1. Make sure that all transports in DEV system should be released and imported to all downstream systems QA and PRD systems.
2. Check for Inconsistent Infoobjects and repair inconsistent Infoobjects as much as possible.
3. Clean Up inconsistent PSA directory entries.
4. Check consistency of PSA partitions.
5. Check compounding consistency in Multiproviders.

Right before the technical Upgrade procedure:

1. Apply latest SPAM patch.
2. Download most recent SP (Support Package ) stack and most recent BI Support pack. It is recommended to upgrade to the latest version of all relevant support packages during the upgrade.
3. Check for the newest versions of SAP Notes for the Upgrade.
4. Ensure that correct java runtime environment version is installed on sever.
5. Ensure DB Statistics are uptodate prior to upgrade.
6. Check for inactive update rules and transfer rules. All update and transfer rules should be active.
7. Check for inactive Infocubes and agreegates. All Infocubes should be activated.
8. Check for inactive Infoobjects. All Infoobjects should be activated.
9. Check for inactive ODS objects. All ODS objects should be activated.
10. Make sure all ODS data requests have been activated.
11. Data load and other operational tasks i.e change run should not be executed while SAPup runs. So, reschedule Infopackages and process chains. SAPup automatically locks background jobs.
12. Special consideration for modifications to time characteristics 0CURRENCY, 0UNIT, 0DATE, 0DATEFROM, 0DATETO, 0SOURCESYSTEM and 0TIME.
13. For UNICODE systems special reports must be run. Execute reports RUTTTYPACT and UMG_POOL_TABLE.
14. Complete any data mart data extractions and suspend any data mart extractions.
15. Only 3.0 systems Run SAP_FACTVIEWS_RECREATE from SE38 transaction before running SAPup.
16. Before execution PREPARE backup your system.

Notes for Upgrade

1. Review SAP notes 964418, 965386 and 934848, and plan to incorporate the installation of the new technical content into tasks performed following the
technical upgrade procedure.
2. Review note 849857 to prevent potential data loss in PSA/change log. Review note 856097 if issues are encountered with parttion.
3. Review note 339889 to check PSA partition consistency.
4. Review SAP note 920416 that discusses a potential issue with compounding in MultiProviders.
5. Review note 1013369 for a new intermediate SAP NetWeaver 7.0 BI ABAP Support Package strategy .
6. Review note 449891 and also see note 883843 and 974639 to execute routine for deleting temporary BI database objects.
7. Review note 449160 to Execute program RSUPGRCHECK and to locate any inactive update and transfer Rules .
8. Review note 449160 to Execute program RSUPGRCHECK and to locate any inactive InfoCubes.
9. Review note 449160 to Execute program RSUPGRCHECK and to locate any inactive InfoObjects.
10. Review note 449160 and 861890 to Execute program RSUPGRCHECK to locate any inactive ODS objects.
11. Refer to note 996602 If modifications have been made to these to time characteristics, 0CURRENCY, 0UNIT, 0DATE, 0DATEFROM, 0DATETO,
0SOURSYSTEM, or 0TIME, create or locate a change request containing them sourced from the BI development system.
This change request will be re-imported into not only the BI dev system, butalso any other systems following SAPup.
12. Review notes 544623 and 813445 to run special reports for any UNICODE SAP system.
13. See Note 506694 and 658992 for more info for SAP Service API (S-API), which is used for internal and BI data mart extraction, is upgraded during the upgrade. Therefore,
the delta queues must be emptied prior to the upgrade to avoid any possibility of data loss .
14. For Release NetWeaver 7.0, there is completely new workload statistics collector. This newly developed workload statistics collector is incompatible
with earlier workload statistics data. In order to preserve the data for use after the upgrade, follow the steps in SAP notes 1005238 and 1006116 .
15. For BW 3.0B systems: Execute report SAP_FACTVIEWS_RECREATE from SE38 before running SAPup, to prevent problems with the /BIC/VF
fact views. For more information, see SAP Note 563201 .

Tuesday, October 13, 2009

Vijaya Lakshmi Nehru Pandit


Vijaya Lakshmi Nehru Pandit (August 18, 1900 - December 1, 1990) was an Indian diplomat and politician, sister of Indian Prime Minister Jawaharlal Nehru.

In 1921 she married Ranjit Sitaram Pandit, who died on January 14, 1944. She was the first Indian woman to hold a cabinet post. In 1937 she was elected to the provincial legislature of the United Provinces and was designated minister of local self-government and public health. She held the latter post until 1939 and again from 1946 to 1947. In 1946 she was elected to the Constituent Assembly from the United Provinces.

Following India's independence from the British in 1947 she entered the diplomatic service and became India's ambassador to the Soviet Union from 1947 to 1949, the United States and Mexico from 1949 to 1951, Ireland from 1955 to 1961 (during which time she was also the Indian High Commissioner to the United Kingdom), and Spain from 1958 to 1961. Between 1946 and 1968 she also headed the Indian delegation to the United Nations. In 1953, she became the first woman President of the United Nations General Assembly

In India, she served as governor of Maharashtra from 1962 to 1964, after which she was elected to the Indian Lok Sabha from Phulpur, her brother's former constituency. She held office from 1964 to 1968. Pandit was a harsh critic of her niece, Indira Gandhi, after Gandhi became Prime Minister in 1966, and she retired from active politics after relations between them soured. On retiring she moved to Dehradun in the Doon Valley in the Himalayan foothills.

In 1979 she was appointed the Indian representative to the UN Human Rights Commission, after which she retired from public life. Her writings include The Evolution of India (1958) and The Scope of Happiness: A Personal Memoir (1979).

Her daughter Nayantara Sahgal, who later settled in her mother's house in Dehradun, is a well-known novelist.

Friday, October 9, 2009

Tax exemptions sought on donations

Hyderabad
The state government on Wednesday announced that 100 per cent tax exemption could be claimed on donations given to the Chief Minister’s Relief Fund to help the flood victims.
The revenue minister, Mr Dharmana Prasada Rao, told mediapersons that the exemption could be availed under 80 (G). The donors can also avail the online facility at http://cmo.ap.gov.in/cmrf and make payments through debit and credit cards, he said.
Under 80 (G) the donation will be deducted from the gross taxable income and tax will be calculated on the remaining amount.
For instance, a person earning Rs 10 lakh per annum has to pay a tax of Rs 1.79 lakh in normal circumstances. If a donation of Rs 10,000 is given to the CMRF, the person will get a tax benefit of Rs 3,000.
“If the donor decides to respond to the calamity and anyway give financial assistance at his level, the 100 per cent exemption under 80 (G) will give some tax benefit,” said Mr Giridhar Toshniwal, a chartered accountant.
The revenue minister also announced that the kin of the flood victims would get Rs 1 lakh from the Prime Minister’s Relief Fund in addition to Rs 2 lakh already announced by the state government. He said the state would also provide Rs 10,000 for loss of cattle.
The minister said the loss incurred in the energy sector because of damage to substations and poles was Rs 236.79 crore.
Power has been restored fully in Kurnool district and would be done in Mahbubnagar by Thursday evening. There were 179 breaches on roads out of which 50 were already restored.
Mr Prasada Rao said the government allotted Rs 75 crore for roads, Rs 36 crore for rural water supply and Rs 40 crore to municipal administration.

Thursday, October 8, 2009

Rani of Jhansi


Rani Lakshmi Bai of Jhansi whose heroism and superb leadership laid an outstanding example for all future generations of women freedom fighters. Married to Gangadhar Rao head of the state of Jhansi. She was not allowed to adopt a successor after his death by the British, and Jhansi was annexed.
With the outbreak of the Revolt she became determined to fight back. She used to go into the battlefield dressed as a man. Holding the reins of there horse in her mouth she used the sword with both hands. Under her leadership the Rani's troops showed undaunted courage and returned shot for shot. Considered by the British as the best and bravest military leader of rebels this sparkling epitome of courage died a hero's death in the battlefield.

The first name that comes to mind is that of the famous Rani Laxmibai of Jhansi. Dressed in men’s clothes, she led her soldiers to war against the British. Even her enemies admired her courage and daring. She fought valiantly and although beaten she refused to surrender and fell as a warrior should, fighting the enemy to the last. Her remarkable courage inspired many men and women in India to rise against the alien rule.

Jhalkari Bai The Leader

Jhalkari Bai was the female leader of a resistance struggle against British rule in India.
She came from a very poor family in Bundelkhand and once killed a tiger with no assistance, using only her axe. She bore a close resemblance to Rani Laxmibai and Laxmibai convinced her to join the women's wing of the Indian army. Jalkari Bai, a.k.a. Bai defended Jhansi fort from British raids in 1857-1858. Just before the fort was going to be taken over, Bai convinced Laxmibai to escape. Bai then impersonated Laxmibai and took command of the army. By the time the British discovered that Bai was an impostor, Laxmibai was already far away. Bai then fought the British army, but was eventually compelled to surrender. However, the British general released her because he was impressed with her courage and leadership ability.