Saturday 22 October 2016

Connectivity News in AS ABAP 7.51

ABAP Channels


Multiplexer for WebSocket connections

In contrast to HTTP connection, which is short-lived and can be reused for multiple HTTP requests, the WebSocket connection is long-lived and cannot be reused for other WebSockets. That means that each WebSocket-enabled component requires its own WebSocket connection and the number of WebSockets connections grows over time. Besides this any web browser has its own WebSocket connections limitations and the ABAP application server might reach its connection limit as well.

ABAP Connectivity, ABAP Development, SAP NetWeaver Application Server for ABAP

To get over these problems you can now benefit from the multiplexer which virtualizes multiple WebSocket connections via the only one real WebSocket connection which is then used for exchanging messages. Each application (component) still establishes its own WebSocket connection but now this connection is virtual and doesn’t cause any physical load. Multiplexing is enabled by default for the WebSocket application in the AS ABAP via transaction SAPC and shipped on the client side with the PCP JavaScript library.

Enhanced support for large ABAP Channels messages

Now you can send large messages via ABAP Push Channel (APC) and ABAP Messaging Channel (AMC). The max. message length of messages for AMC was increased from 31 kB to approx. 1 MB and can be configured. The max. message length of messages for APC was increased from approx. 64 kB to approx. 100 MB and can be configured as well.

Create ABAP Push Channels applications in Eclipse

Now you can create ABAP Push Channels (APC) and specify APC applications (transaction SAPC) also in the ABAP Development Tools for Eclipse and so manage your APC applications without accessing a SAP GUI.

ABAP Development, ABAP Connectivity, SAP NetWeaver Application Server for ABAP

SAP Web Dispatcher / Internet Communication Manager


Network Edge Authentication

With Network Edge Authentication you get integrated, simple and secure Web access to backend systems of SAP solutions. SAP Web Dispatcher intercepts all incoming requests from the Internet and forwards only authenticated requests to backend systems in the internal network. Single sign-on and single log-off are provided for multiple independent backend systems including Fiori and SAP Enterprise Portal. A prerequisite for using Network Edge Authentication with SAP Web Dispatcher version 7.49 is a SAP Single Sign-On 3.0 SP1 installation. 

HTTP/2 Support

HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP protocol used by the World Wide Web.  HTTP/2 reuses the HTTP1.1 (methods, status codes, semantics etc.) but focuses on end-user perceived performance by optimizing network and server resource usage. Major goal is to use one single connection from browsers to a Web site.

The SAP ABAP application server as well as the SAP Web Dispatcher support HTTP/2 in the HTTP server role with release 7.51 and kernel version 7.49. The feature has to be enabled by setting the profile parameter icm/HTTP/support_http2=true. Please note: server push feature of HTTP/2 is not yet supported by the SAP ABAP application server.

RFC


RFC: New Fast Serialization

Now if you need a faster RFC connection, you benefit from new fast RFC serialization for RFC communication. The new fast RFC serialization is many times faster then xRFC/classic RFC or basXML, behaves uniformly for all data types and allowed extensions and is fully compatible with the existing RFC serialization types. You choose the fast RFC serialization in the transaction SM59 while defining RFC Destinations. It is only possible if both communication partners support the new serialization type. 

UCON: Managing HTTP(S) Whitelists

The UCON Framework offers you a new scenario within the transaction UCONCOCKPIT for whitelisting HTTP(S) calls based on a long-term logging. You can now maintain different whitelists for different context types. You are offered the comprehensive UI for all tasks and whitelists, where you can choose to maintain e.g. only one whitelist per context type and so that significantly reduce the number of whitelists. The number of context types itself was reduced from 10 to 3 by integrating similar context types into one new comprehensive context type.

Friday 21 October 2016

Conditional Scheduling in SAP BI Web Intelligence

Unlike in Crystal Reports, In SAP Web Intelligence, it is not possible to schedule based on conditions.

However, often times you can accomplish this with the Publications as follows.

Introduction


In our sample, we will use the eFashion sample Universe / Database.

The sample business case is:

If Sales Revenue for a given City drops below certain threshold (2 Million USD), I want the board of directors to be informed via email and a personalized report to be sent to this group.
However, if the Sales for a City are more than 2 Million but lower than 3 Million I want the store manager to be informed.

We assume in this sample that you are familiar with both SAP BI Web Intelligence, and with SAP BI Publications.

Let us now see the steps in detail:

1. Create a Webi document that will be used to pre-process the Dynamic Recipients list.


Here you put only the basic stuff that is needed to build the list for the recipients.

In this sample, I entered in the report body the fields City and Sales Revenue.

Then I have created a Variable, type dimension, with the formula:
=If [Sales revenue] <3000000 Then “areamanager@mydomain.com”

ElseIf [Sales revenue] <5000000 Then “boardofdirectors@mydomain.com”

Else “”

Then I added this variable to the table.  This is what I got:

SAP BusinessObjects Business Intelligence platform, SAP Webi

Then I filtered to remove the rows than do not need an alert (Right click, Filter, Add Filter, etc. as per below image)

SAP BusinessObjects Business Intelligence platform, SAP Webi

This is the filtered output.

SAP BusinessObjects Business Intelligence platform, SAP Webi

One last suggested set of steps is to:

– set the page margins to 0  and
– remove the report title
– align the table to the top left immediately under the report header.

We want to do this because otherwise when creating the Webi doc used for the Dynamic Recipients list you may have some issues when it tries to identify the column names.

Then save it to the Enterprise, and test it from BI Launchpad, you want to be sure that it works

2. Schedule to Excel the Document created at step 1.


This will create the data provider for the final Dynamic Recipient List source document.

This step is necessary, because the condition is based on a variable, and the Publications engine is not able to process variables within a Webi Document. This is the reason why we need to create this intermediate Excel Data Provider, so that we will have raw data and not variables.

To do so:
Logon to BI Launchpad, go to the folder where you saved the Webi Document that will be used to create the data provider for the  final Dynamic Recipient List source document.
  • In the Recurrence, select Run Now. (Later you will re-schedule it and here you will enter the required settings.  Bear in mind that this must be refreshed before the publication will be sent.)
  • In the Formats select the output format: Microsoft Excel
  • In the Destinations section, enter: File System
If you have only one node, better to save on the server itself, otherwise it is preferable to save the output xls in a shared location. In either case, you need to be sure that the specified user name and password are correct and that account has r/w access to the folder you are scheduling the xls to.

SAP BusinessObjects Business Intelligence platform, SAP Webi

Now save it to enterprise with a name like “Dynamic Recipients Final”, and once again, go to the BI Launchpad and test that the document can be refreshed without any issues.

3. Create the WebI Document to be used as Dynamic Recipients list for the Publication


In Web Intelligence, create a new WebI document, based on Excel Personal Data Provider.

The source file is the XLSX file created by the schedule at step 3.

SAP BusinessObjects Business Intelligence platform, SAP Webi

This document will be practically identical to the one created at Step 1, the only difference is that the field with the email address is no longer a variable, hence this can be used as a Dynamic Recipients List.

Once created the document, save to enterprise with a recognizable name, i.e. “Dynamic Recipients Final”

4. Create the Publication


From the BI Launchpad, navigate to the folder where you will store the publication, right click and Select New > Publication.

In the General Properties, enter the Title,

SAP BusinessObjects Business Intelligence platform, SAP Webi

in the Source Documents enter the Report you created at point #3

SAP BusinessObjects Business Intelligence platform, SAP Webi

Now, from the left menu, select the Dynamic Recipients option, and specify the Source for Dynamic Recipients, then click on OK, after which you must select the Query and Map the fields.

You must also flag the checkbox “Use entire list”.

SAP BusinessObjects Business Intelligence platform, SAP Webi

Next step is to configure the Personalization, which will be used to deliver the personalized reports to the users.

SAP BusinessObjects Business Intelligence platform, SAP Webi

Last step is to complete the Destinations, see example in the image below.

SAP BusinessObjects Business Intelligence platform, SAP Webi

You can also refine the publication advanced settings according to your requirements.

PS: It is not in the scope of this document to explain how Publications work, for more information please review the Business Intelligence Launch Pad User Guide.

Now you can test the publication, and adjust where necessary.

5. Fine tune the recurrence for the various schedules


Once you have successfully tested the various steps, it is time to adjust the recurrence of the various schedules, so that you have consistent results.

It is not in the scope of this document to go too much in depth into the details; however, it is suggested to put in place measures that prevent data inconsistency.

For example, the Publication should run after the Dynamic Recipients list has been refreshed, and before this can happen, the XLSX with the pre-processed recipients list must have been produced.

You can accomplish this with scheduling based on events, which is covered in the BI Launchpad User guide (7.1.8).

Friday 14 October 2016

Account Category Reference (ACR) - Grandfather of Automatic Account Determination Process

Every movement of goods is followed by movement type only and without movement type use / without help of movement type – no goods movement is possible in SAP. During goods movement of transaction posting, movement type trigger transaction event key and G/L account assignment triggers based transaction event key (OBYC) with valuation class where valuation class determines the valuation class available in material master which is used for transaction posting. For automatic account determination, the vital direct parameters involves are  movement type, valuation class, chart of account, valuation area, business key (transaction key), valuation grouping code{ valuation modification or valuation modifier}, account grouping code{general modification or general modifier },nature of G/L account ,posting keys and value string.

Moderately understandable, only large vital factor – valuation class in material master determine G/L account on goods movement for a movement type and then, all are happy on validation in/for business process by cross checking accounting entries in each case/stage. Essential regard to account category reference (which is very much responsible of having valuation class in material master), play grandparent role by being silent friend for success to automatic account determination process.

The account category reference (ACR) is an artificial code of four characters which allows flexibility in linking material type with valuation class. In reality, the valuation class is linked to an account category reference and account category reference linked to material type. In other term account category reference is used to simplify the assignment of permitted valuation class/valuation classes to the material type/ material types.

Business Case-1: How to use Account Category Reference


Based on requirement, business can have one material type, one account category reference and one valuation class by assigning material type to account category reference and then assigning account category reference to valuation class. For example business can have one custom material type ZROM (Raw Material) with custom account category reference (Z001) and new valuation class (3005) for Raw Material(Raw material – inventory managed with quantity and value)

SAP MM, SAP Live, SAP Materials, SAP All Modules, SAP Module, SAP Certifications, SAP ERP

During material creation with transaction code: MM01 with certain material type manually or by any uploading tool, only one permitted valuation class is defaulted for that material type by account category reference. So in material creation process no chance of making any mistakes by users or by any uploading tool.

Business Case-2: How to use Account Category Reference


Based on requirement, business can have one material type, one account category reference and multiple valuation classes by assigning material type to account category reference and then assigning account category to valuation classes. For example business can have one custom material type ZROM (Raw Material) with custom account category reference (Z001) and new valuation classes i.e. (3005) for Raw Material, (3006) for Chemicals and (3007) for Filter material (all materials are inventory manage with quantity and value)

SAP MM, SAP Live, SAP Materials, SAP All Modules, SAP Module, SAP Certifications, SAP ERP

During material creation with transaction code: MM01 with certain material type manually or by any uploading tool, only permitted valuation classes are defaulted for that material type by account category reference . Here, there is a chance of entering wrong valuation class by user manually or through upload file using a tool which needs to be validated.

Business can go for designing a custom transaction code where material can be created through uploading file which can be verified by central material creation officer.

Business Case-3: How to use Account Category Reference


Based on requirement, business can have multiple material types, one account category reference and multiple valuation classes by assigning material types to account category reference and then assigning account category reference to valuation classes. For example business can have three custom material types such as  ZROM (Raw Material), ZCHE(Chemicals ) and ZFIL(Filter material ) with one custom account category reference (Z001) and three new valuation classes ie.. (3005) for Raw Material, (3006) for Chemicals and (3007) for Filter material (all materials are inventory manage with quantity and value)

SAP MM, SAP Live, SAP Materials, SAP All Modules, SAP Module, SAP Certifications, SAP ERP

During manual material creation with transaction code: MM01 or material creation by any uploading tool, only permitted valuation classes are defaulted for that material type by account category reference. Here, entering correct combination of material type for material and valuation class are expected through manually or through upload file which needs to be validated.

Business can go for designing a custom transaction code where material can be created by referring uploading file which can be verified by central material creation officer.

SAP MM, SAP Live, SAP Materials, SAP All Modules, SAP Module, SAP Certifications, SAP ERP

Also business can think of having “material master creation form” for any new material master creation, if necessary material code/ material number is not available in system – User/Users can fill the “template of uploading file’ with duly filled “material master creation form” and send for approval.On appropriate check and verification with approval from approving authority, if central material creation officer is happy, then he /she can upload file with custom transaction code for new material code.