Thursday, March 26, 2009

Rebranding of SAP BI products names


As of January 2009 SAP AG has rebranded portfolio of its BI products. SAP BW which was meanwhile called NetWeaver BI (the eldest name it had was BIW) is now officially called SAP NetWeaver BW (SAP NW BW). Some other products are affected by this change as well. BI Accelerator (BIA) has now new name BWA - Business Warehouse Accelerator. By this change SAP is returning back to one of earliest name - see Short history of BW. A Term NetWeaver BI was used less then three years approximately.

Now SAP NW BW mostly comprises of classical Data warehousing functionalities like: DW management, ETL, modeling, Business planning, reporting & analyses (query, web apps), Meta data management, monitoring, Hub and spoke services, Information broadcasting, BW Accelerator. It is not very clear but based on this recent name change we can assume that term BI is going to be used more in terms of former Business Objects products portfolio. See more information on official SAP pages.

Wednesday, March 25, 2009

SAP system crashes


Core dump – when SAP’s system work process crashes with error SYSTEM_CORE_DUMPED a text (core) file is always written to the subdirectory /usr/sap/SID//work. Such a file is used to facilitate troubleshooting afterwards. Content of file is a “snapshot” of program status, memory dump, C Stack, etc. in time when error occurred. Name of file is simply “core” if it wasn’t customized in different way. Usually only one or more work processes die and kernel restarts them automatically. System is able to recover from this faulty situation by it self. Core dump is sometimes called by term “mode termination”.

Signal and core dump – this SAP’s system work process crashes after signal (e.g. $$$) received from operating system. Entry is created in SysLog (TA SM21). It is same as core dump just invoked by operation system.

System (kernel) panic w/o data page fault – this is unrecoverable error causing operating system to crash. This situation is caused by operational system issue in most cases, like memory protection, addressing, etc. System is then trap and panic with a data page fault.
Here’s an example of system panic message which user gets while working in system going to crash. It was taken from SAP system based on Basis 4.6D.



Pseudo Comments and Pragmas in ABAP


In very often case you might meet with pseudo comments in ABAP. It is used when you want to switch off "Extended Program Check" functionality for some lines in your custom ABAP code. Extended Program Check (TA SLIN) does check ABAP source code for statically recognizable errors. ABAP with such an error is executable by system but normally result in runtime exception. It is very common practice within customers that before transport of any custom code to production systems ABAP Quality Assurance guys are running SLIN (apart of other checker tools) and in case of any errors indicated by SLIN transport is denied. In this matter it should be mandatory for ABAP programmers to check them code by this tool up-front. Following see list of pseudo codes ("#EC ... ##....) which are available to be used in ABAP reports:

1. ("#EC *) - excludes error messages regarding the current ABAP command
2. ("#EC NOTEXT) - indicates that a string does not have to be stored as a text element
3. ("#EC CALLED) - indicates that a FORM has a PERFORM call
4. ("#EC NEEDED) - no messages are output about a field that is only read
5. ("#EC NOBREAK) - no messages are sent at BREAK-POINTs
6. ("#EC TRANSLANG) - specifies that the use of TOUPPER or TOLOWER is also safe in multilingual systems
7. ("#EC SYNTCHAR) - specifies that the data TOUPPER or TOLOWER is used on contains only characters from the syntactical character set
8. ("#EC ARGCHECKED) - no number of arguments is checked while calling of function module

Since introduction of NetWeaver Release 7.1, EhP1 (Enhancement Package (EHP)) pseudo comments became obsolete and pragmas should be used instead of the pseudo comments. Pragmas have same purpose as pseudo codes plus they are used to hide warning from other checks tools like: ABAP Compiler, SLIN, Code Inspector (TA SCI). For more details see online documentation.

- 04/13/2014 update -
Corrected link to pragmas documentation.


- 10/01/2020 update -
Corrected link to pragmas of 752 version.

Tuesday, March 24, 2009

ABAP search source code functionality

-->
It would be helpful sometimes to look up in e.g. standard SAP codes how some functionality is programmed or how particular Function Module is called etc. This is not an easy in SAP system but there are few possibilities how to achieve it. First of all there is a old report called RSRSCAN1 (ABAP/4 Find String in Program Source Code) provided by SAP since 1995. Since SAP Basis Component was replaced by WAS (around year 2001) this report is obsolete due to its performance problems. Report is not compatible with Unicode enabled version of SAP systems as well. 


 
-->
SAP suggests to use functionality of “Find in source code” available in TA SE38 – ABAP Workbench. Here you can specify range of objects which you want to search in – same as in old report RSRSCAN1. This functionality is quite nice; the only disadvantage is that you cannot run it on background as RSRSCAN1. Therefore consider amount of objects you want to search since runtime can be very long and your SAP session can easily dump by exceeding timeout.


 
-->
The 3rd option that you have is Repository Info System – TA SE83. This is not useful in case you want to search in source code; you can only search for report name, report creator, time/date of creation, program type, status, application etc.

 
-->
So here it is another opportunity for ABAP open source initiatives. SDN people where are you? :-)

- update 01/09/2014 -
2nd part of this blog can be found here.

Tuesday, March 17, 2009

Sending emails out of SAP in ABAP

This is a very common task for ABAP programmer to send some report output to user’s email address. There is a lot of stuff for sending emails all around the web, not all of them are really useful, and some of them are just fragments out of other functionality that was carved out. Especially while you need to send email with attachments there are several possibilities how to program it – e.g. with different functions modules etc. Let see what SAP is advising to programmers officially. Within SAP note 190669 - Sending lists using SAPconnect. Most important finding out of this note is: Only FM shall be used: SO_DOCUMENT_SEND_API1 (not SO_NEW_DOCUMENT_ATT_SEND_API1) even for sending email with attachments. For example email sending program which is very easily adjustable to implement your needs see note 609696. A report ZSSO_DOCUMENT_SEND_API1 is available there in 2 versions. For version SAP Basis 4.6 and WAS 6.10.

SE30: Reliability of time values


You might notice a red light icon on selection screen of TA SE30 – ABAP Runtime Analyses, indicating time values present by SE30 are not correct and measures out of this tool are wrong. This is caused by few conditions like: your SAP machine is running on multiprocessor computer (this is most common case), clocks of those processors are not synchronized each other, etc.
 
In case you facing this situation you need to set carrying out of measurement based on low level of accuracy. This can be set up via menu Settings -> Measurement accuracy -> "Low" in SE30. After you set this out and restart TA you should get green traffic lights like that:

Friday, February 20, 2009

Business content (BI Content aka BCT) activation procedure

Here's short procedure depicting sequence how to proceed with BI Content activation:


1. On BI side: Activate all characteristics and key figures.

  1. Activate all DSO objects and cubes.

  1. Activate all 7.0 and 3.5 version of Infosources (w/o transfer rules).

  1. On ECC side: Activate all DataSources needed for you data flow. Moreover remap all LIS.

  1. Back on BI side: Replicate all DataSources as newly activated in ECC.

  1. Assign DataSources and transfer rules for BW 3.5 version objects.

  1. Activate all update rules and transformations. As a precondition, make sure the include rs_bct_update_df is active.

  1. Activate multiproviders, infosets and queries.

  1. All data-staging-objects like DTPs, InfoPackages and ProcessChains need to be created manually for 7.0 Objects.


For more details see note 921118.

Wednesday, February 18, 2009

SAP BI Standard Application Benchmarks


A set of BI Standard Application Benchmarks is part of SAP's standard benchmarks focusing on measuring performance of SAP BI solutions. It does evaluate a “navigation steps per hour” mean moreover it maps those navigation steps to the hardware components (CPU, memory, disk size).
By term navigational step a user interactions to query are considered.

The results are presented in unit called "SAP Application Performance Standard (SAPS)" which is a hardware independent unit of measurement. 

There are 2 BI benchmarks which replaced obsolete “SAP Business Information Warehouse (SAP BW) benchmark” from Jan 2008 and now on:

  • BI-MXL benchmark - Business Intelligence mixed load benchmark: this involves measuring of both: data loading and query activity; both executed in parallel. The key figure is the number of query navigation steps/hour. This benchmark is performed w/o BI Accelerator.
  • BI-D benchmark - Business Intelligence data mart benchmark: BI system (data mart) contains a static snapshot of data. Users run queries on this data. The key figure is the number of query navigation steps/hour.



An old SAP Business Information Warehouse (SAP BW) benchmark comprised from 2 phases:

  • Load – loading of Master and transactional Data from flat files (in case of TD data flow is through PSA->IC); afterward aggregates/indexes are built. Additionally flow through PSA->DSO->IC is performed as well. Measured and evaluated is Key figure called “Throughput of data in rows/hour”.
  • Query – Reports is querying BI system with several drilldown actions across the data. Measured and evaluated is Key figure called “Number of query navigation steps/hour”.

There is an organization (within SAP) responsible for benchmarking called as SAP Benchmark Council. See all available benchmarks fitting SAP application here.

Tuesday, February 17, 2009

Enhancement Information System enabling

 

Are you looking for objects related to Enhancement Information System in TA SE80 and you cannot find it?
 

All you need to do is enable it in settings of SE80, menu: Utilities -> Settings -> tab strip Workbench.

Monday, February 9, 2009

SAP Business Suite 7 – a different approach to upgrades?

Last week SAP announced new version of its flagship software Business Suite 7. Basically it is nothing new here since it is comprises just of the latest releases of the core applications (SAP Enhancement package 4 for SAP ERP 6.0, SAP CRM 7.0, SAP SRM 7.0, SAP PLM 7.0, SAP SCM 7.0) and the SAP NetWeaver 7.0 as technology platform.

What is interesting here is a quit rush atmosphere spread around this announcement; particular in terms of “new modular design” that allows customer to deploy modules (Enhancement Packages) step-by-step mode without big pain; means e.g. having a Big5 consultancy as system integrator. This atmosphere is forced by SAP AG’s CEO Leo Apotheker expression while blaming Big5 companies about propagating negative SAP perception because sending shoddy consultants on their SAP implementation projects. So possibly this is a new way of SAP implementation/upgrade would be in future. Some CIOs (e.g. of Roche) had expressed already that new synchronized release schedule is good for them and times of millions $ budget for system integrators are gone (see more here).

Monday, February 2, 2009

Downloading SAP Cryptographic Software

You would need this kind of software while you enabling SSL for you BW reporting or any other stuff. There is a separated folder on OSS from where you can download it. Navigate via service.sap.com/swdc to SAP Software Distribution Center then to folder Download -> SAP Cryptographic Software

 

Basically what is contained in here is; is a version of SAPCryptoLib so called SAPSECULIB.
Note that you have to agree with Germany Export Control Regulation since this software is a subject to export control regulation in Germany as the country of origin.



- update 08/05/2014 –
SAP Cryptographic Library (SAPCRYPTOLIB) has been moved within download area. My location is:

service.sap.com/swdc -> Installations and Upgrades -> Browse our Download Catalog ->  SAP Cryptographic Software -> SAPCRYPTOLIB

Currently available is SAPCRYPTOLIB v 5.5.5 path level 36 (5th of Aug 2014)

See Note “397175 - SAP Cryptographic software - export control” for details on downloading restrictions.

Transporting ALV layouts


There is a possibility how to transport ALV layouts across systems in landscape. However it is quite tricky to get to this functionality. Basically you need to be navigated in your ALV output screen then go via menu Settings -> Layout -> Manage …


On this screen choose layout you want to transport and select menu: Transport




Afterwords assign transport request and it is done.

Friday, January 30, 2009

How to check SSL setting of your ABAP Stack?

You might need to use Secure Sockets Layer (SSL) protocol to access your web application running in SAP. You have followed all configuration steps to implement it and you wondering how to test it. SAP delivers test BSP application to check HTTPS configuration. You can use it like following: TA SE80 -> choose “BSP application” search for “system_test” -> navigate to page with flow logic called “test_sso2.htm” and run (test) it via right mouse click.

 
 
URL: Hostname:port/sap/bc/bsp/sap/system_test/test_sso2.htm

How to find out version of IGS

There is a very useful ABAP report called GRAPHICS_IGS_ADMIN associated with TA SIGS which you can use for almost whole administration of your IGS (Internet Graphic server) from ABAP Stack of your SAP landscape. Basically IGS is server engine for rendering of graphics content out of SAP systems (e.g. in case of BW it produces maps/charts for BEx reports). It does use RFC or HTTP for accessing it. As of version 7.0 IGS is integrated into WAS (but also available as standalone) but still is running outside of SAP kernel.
At selection screen of TA SIGS you specify RFC destination which IGS uses:


Right after you run it you get version of ISG:

 

Monday, January 19, 2009

How to find details about NW 7.0’s SPS ?

Sometimes it is very hard to navigate on Service Market place in order to find out what are components included in any particular Support Package Stack (SPS) of NetWeaver. For that purpose I’m providing following link:


https://service.sap.com/sap/bc/bsp/spn/sps/index.do?pvnr=01200615320900001250




Here you choose SPS no that you are interesting in and hit “Show Stack Information” button. You can find here product versions, SP levels, package no, Release- & Information Note (RIN), etc of all NetWeaver components like:


  • Application Server ABAP
  • Application Server Java
  • Adobe Document Services
  • Business Intelligence
  • BI JAVA
  • Enterprise Portal
  • EP Core
  • EP Content
  • Content Server
  • Mobile Infrastructure (MI)
  • MI Client
  • Development Infrastructure
  • Developer Workplace
  • Developer Studio
  • Search and Classif. (TREX)
  • Process Integration (PI/XI)
  • J2EE Adapter Engine (PI/XI)
  • J2SE Adapter Engine (PI/XI)
  • Partner Connect. Kit (PI/XI)
  • Content PI/XI
  • Frontend
  • SAP GUI FOR WINDOWS 7.10 CORE

Sunday, January 18, 2009

Further checking of broken DSO objects


You might experience following error while loading data to DSO:

System error in program SAPLRS_EXCEPTION and form RS_EXCEPTION_TO_MESSAGE (see long text) Message no. BRAIN299
Unknown error in SQL interface Message no. DBMAN259
Error while extracting from source DSOXXX (type DataStore) Message no. RSBK242
Package 2 / 16.01.2009 15:28:21 / Status 'Processed with Errors' Message no. RSBK257

This is purely linked with technical problem with your ODS object. Solution is to recreate DDIC objects behind you DSO. Normal option would be to delete DSO object and create it again from scratch. Since usually there is no so much time to proceed like this you may try to fix it like following:

1. TA RSRV (Analyses and Repair of BI Objects) -> All Elementary Tests -> ODS Objects -> Foreign Key Relationship of Reporting-Relevant ODS Object and SID Table Characteristics -> put your DSO here -> Execute

Then you get message like:
Error: Too many specifications missing for InfoObject IOXXX         Message no. RSRV503
SID values missing for 2.097 specifications of characteristic IOXXX Message no. RSRV501

Moreover system generates for you an ABAP report called: GP_ERR_RSODSO_ACTIVATE. You can browse this report in TA SE38 and via ABAP syntax Check functionality you easily explore which DDIC object is broken.



2. To fix this broken DDCI object use the report RSDG_ODSO_ACTIVATE which activates the DataStore object. Run it in Activate mode. Note that this result in the creation of a new change log table and that existing data from the inconsistent change log table may be lost.
You may be able to determine from executing the report in check mode whether further inconsistent DataStore objects exist.


Sunday, December 14, 2008

Filling flight data model database tables with data


Imagine you need to make a small demo of some BI functionality not depended of data type. All yo need is to have some data which can be used in your model. Where to get some data? For such a purpose it is convenient to use Data Model of SAP demo application SFLIGHT/flight data model or sometimes better know as BC_TRAVEL model. Data of this model are often used in SAP standard training courses of ABAP, Basis areas (e.g. courses of Internet Transaction Server, SAP Web/Application Server). Data model is delivered with Basis component in development package called SAPBC_DATAMODEL. In case you want to use it you need to run transaction BC_DATA_GEN and fill up its selection screen according your needs.

Find more information about Flight Model on help.sap.com.

Saturday, November 22, 2008

Dr. ABAP

I have found few interesting SAP notes  where a phrase “Dr. ABAP” is appearing in sections like “Additional key words” like in note 212462 or it is mentioned in comments on ABAP code correction attached to notes. I was wondering what this mysterious term of Dr. ABAP could imagine. Based on research I did on internet it seems that this was a kind of nickname of Mr. Axel Kurka former SAP guy who greatly contributed to development of ABAP engine, NetWeaver Application Server and lot of others SAP’s technologies. Axel is considered as one of ABAP fathers. His nickname was present in his articles published in “SAP Technical Journal” magazine (currently being published under name SAP Professional Journal).
Acknowledges of Axel’s work has been published in several SAP resources, e.g. by Mr. Andreas Blumenthal and Horst Keller in their article; on site Alte-SAP.de. Let me join them. Thank you Axel, RIP.