Sunday, January 26, 2014

Download developer edition and trial version of SAP software

- updated on 18th of Feb 2021 –

SAP ABAP Platform 1909, Developer Edition – installation on WIN OS

 

 - updated on 12th of Nov 2019 –

SAP NetWeaver AS ABAP Developer Edition 7.52 SP04my installation blog

 

SAP NetWeaver AS ABAP Developer Edition 7.52 SP01 (not available for download any more) – my installation blog

 

SAP NetWeaver AS ABAP Developer Edition 7.51 SP02my installation blog

 

SAP NetWeaver AS ABAP Developer Edition 7.50 SP02

 

SAP NetWeaver App Server 7.03 SP03 Trial, Ready for ABAP in Eclipse (not available for download any more) – my installation blog

 

SAP NetWeaver Application Server ABAP 7.02 SP11 with Gateway SP04 Trial - Ready for SAP Gateway (not available for download any more) – my installation blog

 

Few remarks: most of below download links is not valid anymore. Sap store site at store.sap.com is now defunct. It was moved to another URL (partner.store.sap.com) but it is only available for SAP partners.

 Going forward main download site is located at  developers.sap.com/trials-downloads.html


A long time ago (yes it was Nov of 2007 ~ 7 years!) I posted blog about SAP software available for download. The post still live here:

miniSAP – where to download it?

At that time we called trial version of SAP as miniSAP. Times passed by and now we call it Developer or Developer Edition or Trial version of the same. Also platform where the software is downloadable has changes. SAP - specially SCN team started to migrate the downloads from SCN it self (scn.sap.com/community/downloads) to SAP store: store.sap.com. The downloads are part of Database and Technology department of the store. 

From NetWeaver based on ABAP stack perspective currently there are following three versions available for the developers:

SCN - SAP NetWeaver Application Server ABAP 7.02 SP6 64-bit Developer Edition

SCN - SAP NetWeaver Application Server ABAP 7.02 SP6 32-bit Trial Version

SCN - SAP NetWeaver Application Server ABAP 7.03 64-bit Trial

So all my dear SAP developers rejoyce! Software download is back!


Monday, January 13, 2014

Bypassing SSO in Analysis Office (AO)

For BW developers it is business as usual that they have to test their reports to check whether they are working with test user’s account. This means that during the report development the developer was using the developer account but during the testing he or she has to use test account. In case within the landscape a Single Sign-On (SSO) is in place the developer may not be able to use other account then his own one.


However there is a solution. You can bypass SSO and provide user credentials for particular log on. Depending on you user workflow you need to switch off setting of "Activate Secure Network Communication" for particular BW system. You can find this setting in SAP Logon Pad. Proceed with the right click on particular system and choose Properties. After that you get pop-up where you maintain the setting. Once you done with testing you may want to set it back.



For different option, how of how to log on to AfO with different non-SSO user see also a newer post: Logging to Analysis for Office with different (no SSO) user



Sunday, January 12, 2014

SAP Terminology site - sapterm.com

SAP has launched probably early in 2013 a new site with all terms used in SAP software. You can find any terminology in more than 40 languages. It may help you to find a definition of the term and its translation into other languages. You can find the site useful while need to look up the term or its translation and not having access to SAP system e.g. to transaction SE64, STERM or SAPTERM – Terminology. Or not having access to the SAP system with particular language installed. 

The site is programmed as web dynpro (app STERM_WEBACCESS I guess it is JAVA based). For details see sap.info article here.


What is SAP planning and consolidation portfolio?

In this post, I’d like to briefly describe current SAP portfolio of planning/consolidation portfolio. Kindly notice that in this area there are multiple offerings involved. The portfolio is really evolving very fast!

With advert of SAP HANA there are significant changes into planning and consolidation applications. SAP is (was) offering different solutions for planning/consolidation apps.

In case of planning part it all started with BPS (Business Planning and Simulation) which is add-on to BW enabling BW to provide planning functions. Technically speaking this means that BW is capable to write data (so-called planning data) entered by user into its InfoProviders (e.g. cubes). This functionality is embraced so called planning layouts where user has the interface via which user can enter the data. Just a side note BPS was formerly called SEM-BPS. In version 7.0 of BW a BW-IP (formerly called BI-IP) arrived. IP stands for Integrated Planning and from technological point of view, it is based on JAVA stack of NetWeaver. Finally, when HANA took a stage some of BW-IP functionalities started to leverage HANA.

That would be all for planning part. In case of consolidation part situation is trickier as per historic background. In this space SAP has a pile of its own or acquired apps. It all started with R/3 module FI-LC called Legal Consolidation. Later LC module was renamed to EC-CS (not sure what does it stand for, maybe Enterprise Component – Consolidation System?). Usually we call it ECC based consolidation. From BW standpoint there was SEM component called BCS (Business Consolidation). This is what we called BW based consolidation. Due to SAP’s acquisition of BusinessObjects and of Outlooksoft there were more products coming into play. BOBJ had product called SAP BusinessObjects Cartesis Finance which became SAP Financial Consolidations Finance (SAP BFC) sometimes called SAP FC only. On Outlooksoft front SAP got two products which are part of Business Planning and Consolidation (EPM-BPC): BPC-MS - Microsoft Version and BPC-NW - NetWeaver Version. To sum up consolidation part there are 3 solutions: BFC and 2 flavors of BPC. HANA has changes consolidation solutions as well. In BW version 7.3 SP5 (which is version required for BW on HANA scenario) Planning Applications Kit (PAK) was introduced. The PAK enables an execution of BW-IP functionalities on HANA. After that the BPC was left as unsupported by HANA. This got changed within SAP BW 7.40 SP05. Here the BPC "unified" model was introduced. By unified it is meant there two models are integrated as enabled on HANA:

1. Business Planning and Consolidation (BPC)

2. Planning Application Kit (PAK)

For information on how to activate PAK see SAP Notes below.


Useful notes:

1637199 - Using the planning applications KIT

1637148 - BW on HANA: Activation of Planning Application Kit

1919631 - Activating the BPC-PAK unified model

Monday, January 6, 2014

Searching within the strings in ABAP

There are few possibilities of how to manage searching within the strings variables in ABAP:

1. The classic way is to use comparison operators for character-like data types. These are following operators which can be used for character-like operands:
CO – Contains Only
CN – Contains NOT Only
CA – Contains Any
NA – Contains NOT Any
CS – Contains String
NS – Contains NOT String
CP – Contains Pattern
NP – NO Pattern

Following wildcards can be used:
* represents any character string,
+ represents any character

Usage
To check if string contains value CA followed by underscore; then followed by any combination of 2 characters; then again underscore; then  combination of any 10 characters and finally 10 spaces; would be represented like (this represents Transfer structure between source system and BW - data element RSTRANSTRU):

if l_transtru cp 'CA_++_++++++++++           '.


2. Predicate Functions is other possibility. It basically does the same as above mentioned comparison operators. There are 2 sorts of the fusions:
2.1 contains* / contains_any*
2.1.1. ... contains( val = text  sub|start|end = substring [case = case] [off = off] [len = len] [occ = occ] ) ...

2.1.2. ... contains( val = text regex = regex [case = case] [off = off] [len = len] [occ = occ] ) ...

2.1.3. ... contains_any_of( val = text sub|start|end = substring [off = off] [len = len] [occ = occ] ) ...

2.1.4. ... contains_any_not_of( val = text sub|start|end = substring [off = off] [len = len] [occ = occ] ) ...
2.1. matches [matches( val = text regex = regex [case = case] [off = off] [len = len] ) ...] - compares a search area defined by off and len of the argument text to the regular expression specified in regex and returns the relevant truth value


3. Other possibility much more modern is to use regular expressions. Regular expressions statement REGEX can be used as addition of FIND and REPLACE statements for searching in character strings. More complex regular expression can be handled by classes CL_ABAP_REGEX and CL_ABAP_MATCHER. To model precise regular expression that you need for your development see ABAP report DEMO_REGEX_TOY or DEMO_REGEX. Regular expression is huge topic which deserves separate post. So for time being I’m just providing documents on SDN related to that:

Wednesday, January 1, 2014

SAP ecosystem renewed

Seven years ago I posted a blog about SAP ecosystem. In retrospect that blog looks really obsolete. First of all the scope of ecosystem got much larger then it was to be back in 2007. That time ecosystem was supposed to comprise more-less from partner companies only. Also everything at that time was about SOA (Service Oriented Architecture) which was claimed as core of ecosystem. We all know how SOA hype turned out afterwards.

OK, let’s jump back to present time. SAP needed to drive their ecosystem by something similar to what other companies like Apple did. They engaged wide spectrum of developers. This at is the end what made their products so successful. SAP is I (personally hope) striving to follow same path. Ecosystem is therefore all customers, partners (all type of consultancies from big system integrators through to small boutique type of companies to independed freelancers), developers (and I say developers, developers, developers!), SAP user groups, SAP experts (such as SAP Mentor, influencers, SCN topic leaders etc.) and industry experts.

We have seen in last year 2013 a push to ecosystem by SAP. What is even more needed we have seen big push towards the developers. Fee initiatives introduced last year which I believe will have huge impact on ecosystem:
  • Learning platform (open.sap.com) where developers can gain and broaden their current skills and obtain new one via plenty of courses.
  • UI technology SAP UI5 introduces as open source called OpenUI5.
  • Unified SAP DeveloperLicense – which allows to freely share ABAP code within the projects.
To complete this post I like to point to current possibilities of how start application developments on SAP platforms which I blogged yesterday here.

For more details see:
1054121 - The SAP Ecosystem in a Nutshell

Presentation “The SAP Ecosystem in a Nutshell” on SMP (login required)

PS: as this is my very first blog of year 2013 I’d like to wish all of you very happy New Year MMXIV. Let it bring good health and wealth to you!

Tuesday, December 31, 2013

How to start application development on SAP platforms

To get an SAP system where someone could evaluate possibility of SAP platforms, to try new ideas or just simply to play with it is quite difficult to have. It is one of main obstacles and real pain point for new developers or start-up companies that would like to start with development for SAP. Even with possibilities like cloud computing this stays an issue. Within the year 2013 we have seen some things coming from SAP which may to improve the current status quo.
First of all instead of offering trial version of SAP system as downloadable software (like it was miniSAP in past) there is a push of the software to the cloud. In the cloud developers can try out the software without need to install it. This also contributes to the simplification of whole process.

However or luckily few of offerings are still on-promise basis. By this developers can save on cloud provider fees. I personally hope that this will remain for long time. I know a lot of developers which do not have money to use cloud based offerings. Providing only cloud based solution only SAP would close their software for such a people e.g. students.

FOR DEVELOPERS:

Currently there are following SAP offerings for developers. Here I recognize between cloud and on premise offerings:

On premise:

ABAP based SAP NetWeaver:
SAP NetWeaver ABAP Trial 7.02 SP11 Win 64 bit Version, 3.387 GB
SAP NetWeaver AS ABAP 7.03 SP04 64-bit Trial, 3.912 GB

SAP Sybase Adaptive Server:

SAP Sybase IQ:

SAP Sybase ADS (Advantage Database Server):

SAP Sybase SQL Anywhere:

SAP NetWeaver Gateway:

PowerBuilder:

SAP Event Stream Processor:

SAP 3D Visual Enterprise:

BI Software:
SAPUI5:

Cloud:

HANA:
SAP HANA, developer edition (currently SAP HANA Version SPS6, Revision 68) hosted over following could providers: CloudShare, Amazon Web Services, KT ucould biz, SmartCoupt PT
SAP NetWeaver Application Server ABAP 7.4 hosted by SAP could servers

SAP BW Powered by HANA:

SAP Mobile Platform:

SAP Sybase Adaptive Server:

SAP Mobile Platform:

SAP NetWeaver Process Orchestration:

SAP NetWeaver Gateway:

BI Software:

FOR START-UPS / COMPANIES:

There is a program so called PartnerEdge Program which enables companies to maintain relation with SAP. There are following certain areas so called innovation packs in which companies can establish cooperation:

currently: Mobile apps, Integrated apps, Cloud apps, Business Intelligence, Apps for SAP Business One and Big Data

There are several models under which you can establish the relation. For example participation in the program within first year can be even for free. See all the details at sapadpc.com e.g. overview here.

Closing words: as everything within our life’s is being constantly changing also the links provided here may get changed over the time. Therefore always refer to developers.sap.com for the latest changes/updates.

Monday, December 16, 2013

What is SAP ID Service?

Within intensively rise of could computing there is a need to authenticate the users before accessing an could application. Moreover there is a business requirement to have single sign on so users predominantly want to avoid entering login credentials again to web browser while they attempt to access app in the cloud. To fulfill all of these the best option for developer of could app is to use identity management system. By this the cloud based app doesn't need to even administrate the users. By the identity management system another identify provider (IdP) system is used. This can be 3rd party SAML IdP. SAP has some offering in the field as well. It is SAP NetWeaver single sign-on or SAP ID Service (IDS).

In further I will focus on latter one. IDS is SAP's identity provider in the cloud. It is used by SAP also e.g. to manage an access to SAP web sites like sap.com, SAP Store, SMP or SCN. As default IdP it is used by SAP HANA Cloud Platform (formerly known as neo). Basically what IDS does is to verifying user identity, grant authentication and enable secure single sign-on. User just needs to have maintain his/her profile once (it is so called identity) with one password and with that he/she will be granted to access the app. Once user access particular app which has access is managed by IDS via web browser first it is redirected to IDS service (accounts.sap.com). The IDs then checks weather user is authorized to access the app as per user profile/identity. Once it is authorized web browser is forwarded to particular app.

The SAP ID Service is hosted at accounts.sap.com. It has its own component on SMP as: BC-IAM-IDS SAP ID Service.

Monday, December 9, 2013

Direct Extractor Connection (DXC)

Some time ago I blogged about ODP – Operational Data Provisioning which is API is used for internal connection of SAP Data Services (DS former BODS) to (BW) application extractors (before solely used by BW). There is another similar solution which complements ODP. It is so called Direct Extractor Connection (DXC).

Currently there are following options how to transform data from SAP Business Suite to HANA:

  • SAP Data Services (DS)
  • SAP Landscape Transformation (SLT)
  • Sybase Replication Server

With respect Direct Extractor Connection (DXC) consider following features: It is data provision tool (ETL tool). It is utilizing existing BW data sources. It is not real time solution. There are not possible complex transformations means no extra features or so called simple ETL.
Data provided by DXC is exposed directly to HANA's XS engine. Delta mechanism via data is being transformed is done by HANA's IMDSO (In-Memory DataStore Object) with activation processing. There will be particular datasource having its own IMDSO object sin HANA where the data will be flowing into HANA. You may not be able to change datasource key in standard TA RSA2 or RSA6. Therefore to change enable change of key of datasource you can user ABAP report ROSOA_CHANGE_KEY. The ABAP report comes with SAP note 1677278 - DataSource: Changing the key definition (A version). Load of data to HANA happens similarly as any other BW load. You can use InfoPackage (encapsulated into Process Chain) for that. On HANA side all tables are created: active data, change log, systems table. You need to use these tables in HANA model later.

Prerequisites / availability:
DXC needs at least ECC 6.0
DXC became generally available with HANA SP4

For more details check out following sources:
1710236 - SAP HANA DXC: DataSource Restrictions
1583403 - Direct extractor connection to SAP HANA
1670518 - SAP HANA Direct Extractor Connection: Monitoring
1714852 - Troubleshooting SAP HANA DXC issues
1677278 - DataSource: Changing the key definition (A version)

Thursday, November 28, 2013

Unified SAP Developer License

This week SAP announced unified SAP Developer License. It is much expected initiative from many developers. This is license which will be used for most of ABAP and Java downloads available on SCN’s Download Center and SAP cloud offerings for developers. I guess that none of us lazy ABAP developer will ever read it fully. Bu what is most important to is and I quote from Juergen Schmerder blog:

Yes, that does mean you are free to share your ABAP projects on Github!) and it is free of charge and not limited in time.

So thank you SAP to make us – ABAP developers happy!


You can find full license terms here.

Monday, November 11, 2013

How to read other’s program data

When it comes to enhancing SAP functionality we usually talks about user exists, BAdIs and enhancement points. Their main purpose is to extent SAP standard functionality. As particular customer needs may differ from what is offered by standard enhancements are needed to fulfill that particular need. Therefore SAP ABAP programmers are very well known of them.

What does it take to implement the enhancement? Basically you need to find a point in standard code where you plug-in your part of enhancement code. It is not an easy to do so and it takes a lot of
debugging. What is even tricky you may get into the situation where you exactly know where to put the code but you do not have all the input information in order to produce desired output information. This is often case as input parameters of standard function modules or forms may be very limited. So some information that is needed may not be at the right place. But case can be that data is there sitting in memory just it is not part of interface of that standard functionality. Therefore you need to explore what are global data of that program module which were loaded in memory. This can be done using ABAP field symbols. Field symbol enables you to access the place in memory. It is placeholder or symbolic name for other field. It doesn't physically store the data for the field, it just points to its contents. It can point to any data object. Prerequisite is that the field symbol needs to be declared first before is assigned to the data object.

Field symbol has following declaration syntax:
FIELD-SYMBOLS <fs> [typing].

Here’s syntax for assigning Field symbol to the data object:
ASSIGN dobj TO <fs>.

Once we do not need Field symbol we can cancel assignment by following statement:
UNASSIGN <fs>.

Now let’s go back to original topic of how we can read global data from other programs. In order to read it you need to know what the ABAP program is where data object is used. Also it is necessary to make sure that a data object in that ABAP program has a value. Once we know that we prepare variable in format:

(PRG)DOBJ

Where PRG is the name of an ABAP program and DOBJ is the name of a global data object of this program. Let see in following short ABAP fragment of code:

DATAlv_data(30TYPE c.
FIELD-SYMBOLS  <> TYPE ANY.

lv_data 
'(RSAWBN_START)L_AWB_VIEW_MODE'.
ASSIGN (lv_dataTO <>.

IF <fs> EQ 'M'.
  "RSA1 was started 
ELSEIF <fs> EQ 'A'.
  "RSMON was started 
ELSEIF <fs> EQ ''.  
  "RSAWB was started 
ENDIF.  

Now if the program PROG (in this case = RSAWBN_START) is loaded during execution of the statement ASSIGN in the same internal mode as the current program, the data object (RSAWBN_START)L_AWB_VIEW_MODE is searched for in this program, and the field symbol points to this data object after the object has been successfully assigned.

This example would help us in imaginary extension of TA RSA1 of BW system. With help of this code we could possible enhanced RSA1 depending in which mode it was started. By this we would recognize in which mode RSA1 was started and we would put code into all 3 IF/ELSEIF statement.

Used sources:

Sunday, November 10, 2013

Dirty read in ABAP

SAP systems are based on Relational Database Management System (RMDB) systems or simply said database systems. That’s basically the place where all the data of the systems is stored in. There is an isolation property defined in databases. It is about definition when changes to the database are visible to other simultaneous or concurrent operations. Just side note isolation is one of ACID (Atomicity, Consistency, Isolation and Durability) properties of the databases.

From particular database systems point of view the isolation topic falls under one of phenomenas. Particular database recognizes phenomena during processing of concurrent transactions. If situation in the database is unclear we call it the phenomena. There are following phenomenas defined in e.g. SAP MaxDB as it follows ANSI/ISO standard SQL 92:

  • Dirty Read
  • Non-Repeatable Read
  • Phantom
With respect to Dirty Read: there is a situation when A row is modified in the course of a transaction T1, and a transaction T2 reads this row before T1 has been concluded with the COMMIT statement. T1 then executes the rollback statement, i.e. T2 has read a row that never actually existed. So it is dirty because we are not sure if we getting real data by that read statement.

Basically ABAP programmer should always try to avoid the phenomenas when designed locking behavior of custom tables.

Used sources:

SAP innovation mission control centre

SAP has a new offering to support SAP implementation projects. It is so called innovation mission control centre. They use a kind of NASA or control center approach to help the projects. SAP support services experts (part of SAP Active Global Support (AGS)) are using best practices to check, integrate, consolidate, leverage and run SAP solution you implementing to maximize its value.

The control centre comprises of three levels:

Innovation Control Center (ICC) - at customer’s/project location
Operations Control Center (OCC) – at customer’s/project location
Mission Control Center (MCC) – remotely located at SAP facility

Each is designed to complement the other and provide high-level support throughout the various stages of an SAP-centric solution’s lifecycle.

Current locations of mission control centers are: two in China, U.S. center in Pennsylvania, Germany, Brazil, Ireland and Mexico.

Unfortunately (usually within the SAP) more detail about the service itself is not available. I couldn’t find even one single SAP Note about it. The only one very brief presence of term “control centre” is in note 1170668 - The role of SAP Solution Manager in Remote Service Delivery. But note basically says about some of AGS services. So I’m not really sure if services described in the note are actually mission control centre services.

Used sources: