Thursday 19 January 2017

Bypass CDS view name case conversion in ABAP source code pretty printer

Some colleagues complained that when they consume CDS view in ABAP source code, for example the view below: I_Product

Bypass CDS view name case conversion in ABAP source code pretty printer

Wednesday 18 January 2017

Tracking SAP system from Email

Sometimes during system refresh or upgrade, basis team forget to turn off the mail settings in SCOT. This results in sending emails from non productive environment and creates a big impact for business and increases support team effort. In this blog, I would like to explain how to trace the system which has triggered the email and steps to remove from user’s inbox.
  1. Get an original email received by the user. This needs to be received as mail attachment and not forwarded
  2. Open the email and click on File->Properties
  3. In the Internet headers section, scroll down until you find Date, From, Subject.
  4. Note the IP address in the Received section.

Thursday 12 January 2017

Add a Custom Screen on Purchase Requisition Header By Replacing Standard GUI Status

I had saw some threads/posts in SAP forums, they were asking for the solutions on how to adding a custom screen/tab on the purchase requisition. But just as my knowledge, SAP has not provided any user-exit/Badi/SMOD for enhancing the screen of header part of purchase requisition.

And as we also know, purchase requisition database designing is different from other businesses object documents. A general designing of database table for business documents should commonly have Header and Items, some has Schedule Lines. For example, EKKO and EKPO for purchase order, VBAK and VBAP for sales order, BKPF and BSEG for FI documents……

zSQL: A tool to execute SQL statements directly in sap

Sometimes i need to write sql statements and get results immediately in abap. To handle this requirement, i create a test program, write my sql in it and debug to investigate results.  It’s difficult and time consuming work so I have developed an SQL tool for ABAP Programmers to allow them to run select statements directly in SAP, confirm or discover relationships and see data side by side.

Wednesday 11 January 2017

Make great software

I wrote about the need for an 10 years old ABAP developer to update programming skills in order to align them with the market’s current requirements, an important aspect in everyone’s career, including both in-house and freelance consultants. Then I introduced the example of a guitar shop owner named Mike who needs an app within SAP to keep tracking of his instruments. Silly example since everything could be done with the standard, I know, but a good exercise to put programming concepts into practice.

After succesfully passing the two tests implemented for the add_guitar() method in the inventory class, the next step is to implement a search() method.

Tuesday 10 January 2017

Saturday 7 January 2017

Do you know the Catmull-Rom algorithm ?

Well, the requirement is easily expressed… but not easily achieved…

This algorithm is used mainly in the field of 3D rendering to have smooth curves.
My implementation works only on one dimension which is the height.

I give here a short program (sorry for the naming conventions but it is mainly intended to show the results of the algorithm) displaying some points and the interpolated curve. You can change the values in the SELECT-OPTIONS and see the curve related to the new values.

Friday 6 January 2017

How to use Windows PowerShell Script inside ABAP

Windows PowerShell is a mix of command-line shell and scripting language. You find more Information about PowerShell  here.

With the free COM library ActiveXPosh.dll from SAPIEN you can also use PowerShell inside ABAP.

Here an example how to get all services and its state.

Wednesday 4 January 2017

SAPscript forms breakdown tool

Overview

“SAPscript forms breakdown helper” is a free tool for analysing forms. It has different features to help you understanding the structure of a form and the used SAPscript commands. Therefore you are quickly ready to decide what has to be changed to fulfill your requirements. Please note that you cannot make changes to a form with this tool. That’s the task of transaction SE71 which you can easily call from the tool.

BOPF Change Tracker

This article describes BOPF Change tracker. It is a tool which allows you to track any changes of any data in BOPF. We have similar functionality in BOPF Test UI but The Change tracker is much stronger and generic.

Tuesday 3 January 2017

Using chained statements to imitate varargs in ABAP

In other programming languages (like Java for example) there is a concept called varargs for method parameters. Instead of having to build an array by hand you can just pass your elements separated by a comma to the method and the runtime/compiler will make an array for you and pass it to the method. It looks like this: