Posts

Showing posts from 2018

Correction of Unique Record Identifier

Case: URI, Unique Records Identifier is basically used to distinguish each record identical. Usually, it is a concatenation of Date, Time, DatapackID, Record number. Scenario: In my Standard DSO, URI got duplicated for more than one record. Somehow, datapackid is blank for both the records. Like below: Duplicated URI Record 1 000020180831115626 000000 0000001226 Record 2 000020180831115626 000000 0000001226 Steps to correct duplicated URI records in G* Layer DSO: 1.  Create a copy the Original DSO. 2.  Load the selected URI records from main DSO Layer to copy DSO and update with a new URI with below logic in Start Routine.     DATA : WA_SOURCE_PACKAGE TYPE _ty_s_SC_1 ,           lv_pre_uri        TYPE /BIC/OIXXXXX0002 ,           lv_uri            TYPE /BIC/OIXXXXX0002 ,           lv_start          TYPE c LENGTH 18 ,           lv_mid ( 6 )         TYPE N VALUE '000000' ,           lv_end            TYPE c LE

Simple Program to Check Active Requests in ODSOs / ADSOs

In this document, we will create a program to check the whether an ODSO/ADSO is having an Active request or not. Scenario : We have BW data flow which loads data from the Source System to DSO and from DSO to further multiple targets, and at the end of the Process Chain the request should get deleted from the source. Here, we have a case if someone did an ad-hoc load from Source System to DSO and subsequently to targets, and forgot to delete the request from the DSO. This leads to duplicate data into Targets in next Process Chain run. Solution : To take care of the above case we can keep a checkpoint in the Process Chain which will monitor the request in DSO.  If an existing request is found in DSO, then a notification can be displayed and we can go ahead and remove it manually.  Case1 : When we have Extraction Layer as ODSO . As we all know SAP has given a Standard Function Module RSSM_ICUBE_REQUESTS_GET which can be used to get the DTP requests which are presen

Finance Terminology - II

Finance Terminology Bonds: Bonds are product issued by corporate and government entities to finance and expand their projects. The issuer promises to pay interests annually or biannually to the investors and the principal amount on the maturity date. There are mainly two types of bonds: ·          Corporate Bond: These kinds of bonds are issued by companies are either can be investment grade or non-investment grade bond. Investment grade bonds are issued by stable companies with low risk of default so it assures you low interest while in case of non-investment grade bonds interest rates will be high but companies are not stable resulting in more risk of default. ·          Government Bond: These kinds of bonds are issued by cities, country and states to fund capital projects, such as building roads, schools and hospitals. Entities and Asset Classes: 1.        Equities: Defined in previous Blog. Please refer Finance Terminology Part I. 2.        Fixed-

Steps to Create Windows Service

Image
What is Windows Service? Windows service is a computer program that enables you to create and run executable applications as a background process. Its start status can be made as manual or automatic, in automatic the services will start automatically as soon as computer boots. It is very easy to install the windows service, all we need to do is just simply run the Utility program called “InstallUtil.exe” providing the path for the service executable file which we will see how to create. In this demo we will create a windows service which executes powershell and batch file to display system information through browser. Pre-requisites: You need to place batch and powershell scripts on the designated path (Mentioned in ServiceScheduler.cs file) to make this example work properly. You can find the required files under Artifacts title in this blog. STEP 1: Open Visual Studio and from menu open New Project à select the below project and rename it to DemoWindowServ

Simple yet effective Data Validation method !

Introduction  In this post we will see how we can do data validation using CASE statement.  Scenario We want to validate not only pick the records with data mismatch but also the exact columns where the data mismatch is present.  We are aware that we can make use of EXCEPT queries to find the records with data mismatch, but in case there are millions of records in a our tables with large number of columns and if our except query fetches even few thousand records, it is simply a nightmare to zero in on the exact values. We can use JOIN coupled with CASE statement to do above.  In the above scenario we have a case where we have a PK present, which we will use to JOIN and then do a column by column comparison using CASE statement to pick the data mismatches. P.S. Joining column must be present to make use of this query.  USE tempdb GO SET NOCOUNT ON GO -- This table is one which is having correct data CREATE TABLE TableWithCorrectData ( id I

Unforeseen Issue during SAP BW Data Flow Migration

Purpose : To migrate SAP BW Data Flow from 3.x to 7.x version. Tool :  RSMIGRATE (provided by SAP) SAP makes our life easy by providing a great tool to migrate the BW 3.x version to 7.x version automatically. It also provides supportive SAP Notes/KBA for the known errors and issues. However, there were undocumented few issues which we came across during our migration activities. In this post, we will share 'unforeseen issues' and their resolutions which were mostly manual efforts. 1.     Update Rule -  Return Table Logic:  In SAP BW 3.x version we have  Return Table logic  to replicate the source record into multiple record based on key figures as per the requirement. However, in  Transformation  this return table is unsupported and cannot be converted by RSMIGRATE tool automatically.        We need to correct it manually by writing the split logic in end routine.        Here is the key, which we can use- https://www.sdn.sap.com/irj/servlet/prt/portal/p

Simplification List for SAP BW/4HANA (SAP Release 18th June’ 2018)

This document is for the consultant who is working on converting the system from SAP Business Warehouse to SAP BW/4HANA. Conversion Type:  in-place conversion System:  SAP BW 7.5 SP5, powered by SAP HANA or higher Program:  RS_B4HANA_CONVERSION_CONTROL to determine which objects are available in or can be converted to SAP BW/4HANA BW4 Transfer Tool:  Program  RS_B4HANA_TRF  or  STC01/STC02  and select Task List as SAP_BW4_TRANSFER_INPLACE Below are the list of Objects which are not available or to be converted in SAP BW4/HANA supported objects: 1.      SAP BW Accelerator ( BWA ) is not available. 2.      The  BW/BI Add-on for SAP GUI  i.e. front-end tools are not available Ø  BEx Query Designer Ø  BEx Web Application Designer Ø  BEx Analyzer Ø  BEx Enterprise Report Designer SAP BW – Data Warehousing: 1.       InfoObject Catalogs  are not available. It has been replaced by InfoAreas. 2.      The following types of  InfoObjects  are not available in SAP