Wednesday, December 30, 2015

SAP Anywhere

Earlier this year SAP quietly introduced new offering for SME segment. As they have already presence in this segment with their SAP Business One solution (SBO) and by SAP Business All-in-One which are on premise type of solution and by SAP Business ByDesign which is cloud solution also a push to cloud for the SBO was logically expected.

The SAP Anywhere is first front-office suite for managing of sales, marketing, e-commerce and inventory activities in one complete system. It is provided as a software-as-a-service (SaaS) which runs by SAP in a public cloud. It can be accessed via mobile devices and/or desktops as well. Right now solution is available for China market with rest of world to be followed in 2016. 

Question is how the new offering fits into existing one – especially to the SBO. As per SAP for companies running the SBO there are plans evolve their SBO systems to SAP Anywhere. With regards to SAP Business ByDesign there is application programming interface (API) which can be provided to partners for integration of the SAP Anywhere with the SAP Business ByDesign solution.

More information:
B1-ANYWHERE - Component name on SMP


-      2020-Feb-10 Update:
Update SAP sunset the service of SAP Anywhere as of March 2018. Other established SME solutions like SAP Business One and SAP Business ByDesign are here to stay for time being. There is not much left about it at official SAP sites. Just this wiki page might be useful.

Tuesday, December 29, 2015

How to put query into SAP BW cache?

There are few different cache memories used within the SAP BW server. One of them is OLAP cache. Its purpose is to store query result sets. Once the query set is stored into the OLAP Cache it can be later re-used by all users and system doesn’t need to retrieve the data sets from the underlying BW InfoProviders objects (e.g. cubes) again.

Now how particular BW query gets stored into the BW’s server OLAP cache? There are few cases for this. The most common is that once user executes a query, the result set for that query’s request can be stored in the OLAP access to those result sets. Later in case the same query is then executed again (also it can be by another user); the query request can be filled by accessing the result set already stored in the OLAP cache.

How can we get the query into the cache upfront in order to prepare it for very first user so even execution of the query by very first user takes place it will hit the OLAP cache?

1. pre-calc server:
By using simple web template which is published for the BW query and is scheduled to run in the background using the reporting agent. As the query has one variable there can be multiple query views within the web template. Information Broadcasting can be used in this case in BW 7.x. In SAP BW 3.x instead of the Information Broadcasting there is reporting agent functionality available to achieve the same.

2. BEx Broadcaster:
The BW query can be published to BEx Broadcaster from BEx Query Designer tool. The tool is running in JAVA stack. So once you do this in from the BEx Query Designer you get to web environment. You can setup different settings in here. The settings includes like following: Distribution Type (Broadcast to: email, Portal, printer, etc and one of the Type is also OLAP cache. The BEx Broadcaster Settings can regularly run as a job or it can also be automated using Process Chains (Process type: Trigger event data change for Broadcaster).

In closing words I want to show how the BW query loaded into the OLAP cache looks like. These queries can be monitored in tcode RSRCACHE (you can jump there also from tcode RSRT -> Cache Monitor. On picture below is like BW query loaded into the OLAP cache looks like. To housekeep the OLAP cache you can use ABAP report RSR_CACHE_RSRV_CHECK_ENTRIES e.g. to delete entries in the cache.



More information:

SAP HANA VORA

In August this year SAP announced that it is entering into big unstructured data analysis. Well when it comes to big data we usually talk about Hadoop. The Apache Hadoop an open source software framework written in Java. Its purpose is to process and store very large data sets on computer clusters built from commodity hardware. With this regards SAP introduced new product called SAP HANA VORA which is in-memory engine that allows applying of business analytics to unstructured data e.g. provided by Hadoop based systems. Using the VORA SAP enables SAP Hana to analyze the data sitting in Hadoop.

In general there are following three use cases for the Vora:

Precise decision – combine biz data with data from external sources
Democratize Data Access – make data mashups based on enterprise and Hadoop data and analyze them in OLAP tools.
Simplify big data ownership access and process corporate and Hadoop data in single solution.

As a curiosity one may wonder what the name VORA means. Seems it is combination of words like “velocity” and “Velociraptor” both combined to just Vora.

More information:

SAP Cloud for Analytics (project Orca)

This year SAP announced another analytical (yes, analytica!) software. Along with suite of BI products from BusinessObjects family accompanied with original SAP BW tools (BEx family) plus new products like Lumira looks there is still room to fill up.

The product which resulted from project code name Orca is called SAP Cloud for Analytics. It is software-as-a-service (SaaS) type of product that redefines analytics by providing all analytics capabilities, for all users, in one product.

What is this new analytics offering about? Idea behind is to have single analytics products which combines multiple analytics products and which is built on SAP's HANA Cloud Platform (HCP). The single product is intended to be used by all users within an organization. They can use it to explore all analytical capabilities like Business Intelligence (BI), planning, predictive, Governance, Risk and Compliance (GRC), etc. For example planning capability in the SAP Cloud for Analytics is leveraged by SAP Cloud for Planning which was released earlier in 2015. Other capabilities will be adding into the offering soon.

How the SAP Cloud for Analytics differs from BI cloud offerings of other providers? The SAP claims that it does provide both BI and planning function in one product whereas competitors only provide single or reduced capabilities like BI or Planning but not both.

How this offering of SAP will influence their other products? Similar SaaS solution of SAP (Lumira – cloud edition) will merge with the SAP Cloud for Analytics. Similarly SAP Cloud for Planning is now part of SAP Cloud for Analytics. Other products (SAP BusinessObjects 4.x) will not be influenced.

As a side note there is one funny thing within an announcement of the SAP Cloud for Analytics. SAP actually announced it sooner than it was planned. It happened because an Amazon also introduced their analytics product – space needle. The SAP wanted to use same momentum Amazon has created in the field of analytics products.

More information:
SAP announces new product that redefines analytics in the cloud

Sunday, December 27, 2015

SAP Activate - methodology

This year (at Sapphire 2015) SAP introduced a new methodology for implementing and running SAP solutions. Traditionally SAP has its own methodology called AcceleratedSAP (ASAP). It supports the implementation of the SAP systems (including upgrade projects). The ASAP provides many tools to support all stages of an implementation project, from project planning to maintenance of the SAP system. Tools in ASAP are comprised of Implementation Assistant (IA) and the Question and Answer database (Q&Adb). The AI contains the ASAP Roadmap, and provides a structured framework for an implementation, optimization or upgrade project. The Q&Adb tool allows setting the project scope and generating Business Blueprint (BP) using the SAP Reference Structure (IMG) as a basis.

The ASAP It embraces two branches (in form of V letter) of work involved within the software delivery – V model. Left side of the V always deals with defining the requirement and detailing the change and the right side of the V ensure that for each item in the left side there is a corresponding activity which verifies that the change done is as per the requirement, design etc.

The ASAP methodology was evolving since introduction of R/3 around year 1992. However rest of software methodology world has moved on. In mid of last decade a huge influence on software development was made through agile methodology. It allows implementing functionality in short iterative cycles (sprints). Prioritization is considered in agile as well. In the most needed and important functionality is implemented first. The methodology generates results faster; stakeholders can have insight into the value immediately, it increases flexibility of the implementation and enables monitoring of progress.

Apart of ASAP started also with another initiative called Rapid Deployment Solutions (RDS). These are type of easy-to-deploy solution packages containing software, configuration content and services. It enables organizations to deploy software in weeks or months for a set price.

In advent of SAP S/4 HANA also introduced in this year there is a need to enable organization to pick it up quickly as possible. All these created room for new kind of methodology to deploy S/4 HANA. So what SAP did was that they emerged SAP Best Practices, Guided Configurations (including RDS) into one methodology called SAP Activate Methodology. It is a successor of the ASAP and it comes together with support offerings (e.g. SAP MaxAttention). Also other principles like pre-assembly, cloud ready, validate solution, agile build and quality build-in were embraced too. At the end the SAP Activate, which is a combination of best practices, guided configuration, and methodology optimized for S/4HANA.

The current ASAP methodology will not be developed further and it will stay in its current version (ASAP 8). New content will only be adding into the SAP Activate.

More information:

SAP Plant Connectivity (SAP PCo)

ERP software like the one that SAP provides is usually integrated with many other solutions and technologies that enterprises are running. That is also valid for Manufacturing Execution systems (MES). As MES is intermediate step between ERP and process control system (like Supervisory Control and Data Acquisition (SCADA)) then actually SAP ERP is also connected to the process control systems.

The connection of SAP software (e.g. ERP) and the process control systems is realized via so called SAP Plant Connectivity (PCo) is a framework. The PCo is set of services and management tools that allow the creation of connectors for communication paths between control systems (e.g. control devices, files, historians, TCP Sockets, etc.) and SAP manufacturing software. What is meant by the SAP manufacturing software; can be following:
SAP Manufacturing Execution (SAP ME)
SAP Manufacturing Integration and Intelligence (SAP MII)
SAP Extended Warehouse Management (SAP EWM)
SAP OPC Data Access (SAP ODA)

The PCo is a Microsoft.Net-developed software component of SAP Manufacturing. SAP started with this solution while it acquired a Lighthammer company in 2015. That time the integration of SAP and the process control systems was based on xMII UDS (Universal Data Server). The PCo is replacing now the xMII UDS.

Components of the PCo include Management Console, Source Systems, Agent Instance and Destination Systems. The Management Console in WINDOWS based application where all configuration and management of the PCo takes place. As the Source Systems it supports following standardized software interfaces:
OPC Data Access/OPC Historical Data Access/Alarms & Events/Unified Architecture
OLE DB
Open Database Connectivity (ODBC)
Modbus
GE Fanuc Proficy Historian
OSIsoft PI
Socket
IP21
Citect
File Monitor Agent

As for the Destination Systems the PCo can be sending the data from the source systems into following systems:
SAP Manufacturing Integration and Intelligence (SAP MII)
SAP Manufacturing Execution (SAP ME)
SAP Business Suite system (SAP ERP or SAP EWM)
SAP Event Stream Processor (SAP ESP)
SAP HANA database
MS SQL Server 2008

As the PCo is connecting the SAP software within the hardware which in reality is control shop floor’s machines within the factories there are also challenges emerging from security point of view. It is important to protect these type of connection from the security breaches as there can be attacks of plant sabotage, equipment damage, product disruption or even safety violation occur.

More information

Friday, December 25, 2015

Types of SAP NetWeaver System deployment

Within deployment of SAP NetWeaver we recognize below types of deployments. Below terminology is at some extend similar to former NetWeaver terminology called as “usage types” or component type. I wrote about the NetWeaver usage types here.
Within SAP NetWeaver 7.5 (a successor of 7.4) there were changes into how the NetWeaver system is supposed to be upgraded in case they are deployed as per its different type. Always refer to SAP Notes as per the type of your deployment with regards to the upgrade of the system.

HUB SYSTEM
In general a hub is a concept that refers to a node with number of links. Similarly in SAP NetWeaver terminology the HUB it is a system whose purpose is to connect multiple systems in a system landscape and provide services centrally.
So the NetWeaver system is hub system in case multiple business applications are deployed upon it. The business applications themselves may run against multiple application back-end systems (e.g. ECC-Server, CRM, SRM, etc.).
Here are some examples of SAP NetWeaver hubs:
·         SAP NetWeaver Identity Management (IdM)
·         SAP Enterprise Portal (EP)
·         SAP Business Warehouse (BW)
·         SAP Process Orchestration (PO)


SIDE CAR SYSTEM

In case the NetWeaver system is exclusively dedicated to one back-end system then we call it side car system.

Wednesday, December 23, 2015

How to find trace file associated with ABAP dump

There is a lot of “magic” with in the ABAP dumps. I mean there is a lot of information hidden in there. Only very careful reading of the dump can help us a lot while analyzing an issue why the dump occurred. Today I’m not going to go through the all the information that is provided with the dump. There are very useful guides on this topic which can be found under following links: Part I, Part II.

Instead I just want to point to possibilities how to find a so called developer trace (or just trace) associated with the dump. The trace log is written by each kernel component (e.g. work processes, message server, gateway, etc.) and it depicts all of their activities.
The developer traces can be found in folder DIR_HOME of particular SAP instance. It usually points to “/usr/sap///work” directory. Here there are files with naming conversion dev_w stored.

So in case ABAP dump as you read it in tcode ST22 makes no sense to you; you may need to dig deeper into developer traces to find out low level details of issue. You can search for the trace corresponding to the ABAP dump as per their common date and time stamp.

To brose the developer traces you can use tcode ST11 – Error log File, or browse the folder with the traces via t-code AL11.

More information:

Analyzing Problems Using ABAP Short Dumps:  Part I, Part II

Types of trace/log generated by SAP system

The trace or log files are written by different SAP software components during different activities they are performing. They serve to purpose of revealing of errors that might occur. It is important to know where to find them and how to read them. In this blog post I focus on different types of trace/log that are generated by the SAP system.

In general we recognizes following traces within SAP:
·         System
·         Developer

In most cases the traces can be found in folder DIR_HOME of particular SAP instance. It usually points to “/usr/sap//DVEBMGS00/work” directory. Here there are files with naming convention stored:

DEVELOPER TRACES
These type of traces/logs are written by each kernel component (e.g. work processes, message server, gateway, etc.) and its depict all of their activities. Here are their types:
ABAP AS related log files
·         dev_w                   Work process traces, where n is work process ID
·         dev_wp                 Gateway work processes
·         dev_disp                       Dispatcher trace (ABAP)
·         dev_wdisp                    Trace of web dispatcher
·         dev_rd                         Gateway trace
·         dev_icm                       ICM trace
·         dev_ms                        Message server trace
·         dev_lg                         Local Gateway trace (LG-Layer, OSS connections to message server)
·         dev_cp                        Log of the SAP control program sapxpg
·         dev_xpg                       Log of all output from the external program
·         dev_evt                        External Event Raiser trace
·         dev_icf                        ICF (Internet Communication Framework) log file
·         dev_tp                        Transport control Program (tp) running using RFC logs (output of stdout)
·         dev_rfc                Developer Trace, where n is the number of the work process
·         dev_sapstart                Trace of startup phase (sapstart)
·         stderr<>                      Log of errors with sapstart process, during SAP ABAP AS start
o    stderr1: Info about the start process of database system.
o    stderr2: Info about the start process of message server
o    stderr3: Info about the start process of dispatcher
·         dev_st                         SAPGUI
·         vmc_w.log              SAP Virtual Machine Container (VMC) of JAVA AS, isolates individual users from each other 
·         vmc_w.trc              SAP Virtual Machine Container (VMC)
·         dev_moni                     Monitoring infrastructure trace
Enqueue server related
·         dev_enqadm                 Main enqueue server trace file
·         dev_eq*                       enqueue server trace, where n is workprocess ID
·         dev_enqlisten                Trace file of standalone enqueue server
·         dev_enqio_*                 Depending on the number of configured IO threads
·         dev_enqsig                   Log of processing of asynchronous signals from OS. Not on Win OS.
·         dev_enqsrv                  Trace is logged during start the enqueue server
·         dev_enqwork                Log of problems concerning actual enqueue processing
·         dev_enqrepl                  Log of communicates with replication server from thread
Replication server related
·         dev_enrepha                Log of events of the HA polling
·         dev_enrepsrv                Log of all components of enqueuer server except below ones.
·         dev_enrepsig                Log of processing of asynchronous signals of OS. Not on Win OS.

JAVA AS (J2EE) startup framework log files (restart)
·         dev_server             Java server stack trace
·         dev_server.out       Output to command line (output file)
·         dev_datcol*                  Snapshot generator for Java trace
·         dev_bootstrap               Trace of Application Server JAVA startup: Bootstrap phase
·         dev_bootstrap        as above
·         sdt_bootstrap.out output file of above
·         dev_deployment            Trace of Application Server JAVA startup: Deployment phase
·         dev_jstart                    Trace of Application Server JAVA startup: Start phase
·         dev_jcmon                   Trace of JCmon - native monitoring program
·         dev_sdm                      Software Development Manager for Java trace
·         sdt_sdm.out                 output file of above
·         dev_jcontrol                 trace of JControl framework which starts the bootstrap Java program
·         dev_dispatcher              Dispatcher trace (JAVA)
·         sdt_dispatcher.out         output file of above

In closing words of developer traces I just want to add that most of these files are available via tcode ST11 – Error log File.


SYSTEM TRACES
Manages in tcodes: ST05 – Performance trace or in ST01 – System trace. They are used to record internal SAP system activities. We recognize following system traces:
·         Authorization checks
·         Kernel functions
·         Kernel modules
·         Database accesses (SQL trace)
·         Table buffers
·         RFC calls
·         HTTP calls
·         Lock operations (client side)


Further information:
112 - Trace and error information in the "dev_" files