Using in-app extensibility to print the freight order number on a pick list

This post accompanies the corresponding Youtube recording that can be viewed below.

The intent of this post is simply to make the custom logic code available, if it helps.

*   Custom Logic to bring the Freight Order number associated with a delivery

*   Absolutely necessary
    move-corresponding delivery_document_in to delivery_document_out.

*   Since the delivery is created from the freight order, it is assumed that all items in a
*   delivery will be associated to the same order, hence we just read a single record for a
*   delivery to find the associated Freight Order. if this was not correct, the logic could
*   could be changed to also include the item, but the custom field would also need to exist
*   at the item level in that case.

    IF delivery_document_in-deliverydocumenttype = 'LF'.

    SELECT SINGLE TransportationOrder FROM YY1_PREFreightAnalysis INTO @delivery_document_out-yy1_freightorder_dlh
    WHERE Short_dlv = @delivery_document_in-deliverydocument.

    SHIFT delivery_document_out-yy1_freightorder_dlh LEFT DELETING LEADING '0'.


Video: In-app extensibility to add the freight order number on a pick list

Transportation Management in SAP S/4HANA Cloud - from Soup to Nuts

Perform end to end Supply Chain processes in SAP S/4HANA Cloud

With the 2108 release of SAP S/4HANA Cloud, SAP introduced manual transportation management planning capabilities. Whilst not covering the full gamut of features provided by its big brother Advanced TM, it provides for basic planning capabilities that no longer require you to resort to an external, third party planing system nor the need to setup an integration scenario (interface). So if you do not require advanced capabilities, and your transportation volumes are not excessive, then this might just fit your requirements. To give further insights into the capabilities offered by Transportation Management in SAP S/4HANA Cloud (essentials), then please check out the video series below.

Transportation Management is here - Announcement video

Video: Transportation Management is here - Announcement video

TM from Soup to Nuts - Part 1 - The Basics

Video: TM from Soup to Nuts - Part 1 - The Basics

TM from Soup to Nuts - Part 2 - Essential Configuration

Video: TM from Soup to Nuts - Part 2 - Essential Configuration

TM from Soup to Nuts - Part 3 - From Sales to Transportation

Video: TM from Soup to Nuts - Part 3 - From Sales to Transportation

TM from Soup to Nuts - Part 4 - Transportation Planning in the Cockpit

Video: TM from Soup to Nuts - Part 4 - Transportation Planning in the Cockpit

TM from Soup to Nuts - Part 5 - Execution Tracking & Logistics Integration

Video: TM from Soup to Nuts - Part 5 - Execution Tracking & Logistics Integration

TM from Soup to Nuts - Part 6 - Cost Distribution, Customer & Carrier Settlements

Video: TM from Soup to Nuts - Part 6 - Cost Distribution, Customer & Carrier Settlements

S4HCKS43 – Generating a check digit on your invoice

A check digit to secure BPay payments

It may sometimes be necessary to add information to a document that is made up of other pieces of information (concatenate fields, truncate fields, transform fields, etc…) – that is, information that does not readily exist in your system (like a customer number for example), but can be generated or deduced.

In this snippet we look at how you can add some custom logic in your SAP S/4HANA Cloud system to generate a check digit to a BPay CRN (Customer Reference Number). That is, we want to offer our customer the BPay payment method and for that we have to add to the invoice a CRN number, that will be made of the billing document number appended by a check digit that we will generate on the fly in S/4.

The custom logic to generate the check digit

You will below find the custom logic that I used to generate this check digit (Disclaimer : my code is probably dirty – but it works). I am not checking the length of the billing document number – I have made the assumption that the billing number will always be 8 digits long.

I have also added a screenshot that shows how my custom ‘CheckDigit’ field was defined (Numerical – 1 digit).

* Logic to determine a check digit for a BPay 8 digit CRN number

Counter       TYPE i,
lv_billdigit  TYPE i,
lv_total      TYPE i,
lv_billingdoc TYPE string,
lv_chardigit  TYPE string.

Counter = 0.
lv_billingdoc = billingdoc-billingdocument.

While Counter < 8.

   IF ( Counter MOD 2 = 0 ).
      lv_billdigit = lv_billingdoc+Counter(1) * 1 .
      lv_billdigit = lv_billingdoc+Counter(1) * 2 .

   IF ( lv_billdigit > 9 ).
      lv_chardigit = lv_billdigit.
      lv_billdigit = ( lv_chardigit+0(1) ) + ( lv_chardigit+1(1) ).

   lv_total = lv_total + lv_billdigit.
   Counter = Counter + 1.

IF ( lv_total MOD 10 = 0 ).
   billingdoc_extension_out-yy1_checkdigit_bdh = 0.
    billingdoc_extension_out-yy1_checkdigit_bdh = 10 - ( lv_total MOD 10 ).

Video: Generate a - BPay - check digit on your invoices

BPay check tool for Excel

In case you are interested to have it, I am also adding the Excel file that I used to double check the check digit generation. The CRN numbers in the file and check digits were generated on the BPay generator web page. You can download the excel by clicking the icon below.

S4HCKS42 - SAP S/4HANA Cloud Scope Map Generator

A key piece of information  that I use in my interactions with customers, is the SAP S/4HANA Cloud Best Practice practices content, for which I am sure you have already heard the term scope item. If not then head on out to the Best Practices Explorer for SAP S/4HANA Cloud portal (note you need to log on with your S-User to access the rich library of accelerators). To be more specific, I like to use a graphical view of our best practices, because I find that a picture really does paint a thousand words. It is a great conversation piece that I use before, during and after a project.

However, with the ever increasing number of scope items and country localisations that come with every new quarterly release of SAP S/4HANA Cloud, trying to build a graphical view of a scope map becomes a tedious and time consuming task. What’s more when I talk to my customers, I want to provide them with content that is specific to them : Show them a scope map of those scope items that apply to them, for their chosen country localisation(s) and/or presented in such a way that lets them take in what they are using, yet also, more subtly shows what is available to consume if and when they will have the need for additional functionality.

Furthermore, a scope item may not be released in all countries – for example there are some statutory reporting capabilities that are specific to a country. There is no added value for my Japanese customer to know that the US 1099 tax reporting is not available for country Japan. Again, the idea is to offer something that is personalised to the customer.

With that in mind, not wanting to become an Excel or Powerpoint jockey, I decided to come up with a tool that would help me in this task of producing customer specific Best Practices Scope maps. That said, the tool could also be used by partners during their engagements with customers to for example highlight specific services or know-how that they have in certain areas, or customers themselves to for example help them keep track of their used scope and / or build future state roadmaps.

This tool is an Excel based tool that will produce Scope Items maps in Excel and, optionally can also generate a set of Powerpoint slides, if you needed to wrap them up nicely in a presentation. In Excel, there will be one worksheet generated for each business area selected, and in Powerpoint there will be one slide for each scope item group as well as one slide per business area. And example of both these displays is shown below.

Excel Output

Powerpoint Output

Generating a scope map

Before you start

Once you download the zip archive and unpack it, you should have two files. An Excel document (this is the core file), as well as a Powerpoint template file named “Template.potm”. This is a blank Powerpoint Template file that will be used when you generate your personalized scope map. You can use your own template (with your own company colours and formatting) if you wish to. TO do so place your own temaplte file in the same folder as the excel document, and name your template”Template.potm” because that is hard coded in the macro – that is the name and place it looks for it.

Also, I would recommend that you do not execute the macro whist the documents are stored in a dropbox or onedrive folder location especially if you have a less than optimal bandwidth. I have found that trying to run the macro as well as update the file live in such a network folder leads to periods of – long –  unresponsiveness.

Getting Started : Selection Screen

The first thing that you will need to do is decide whether you want to see a generated scope map independent of a country localisation, or on the contrary you want it specific to a country. The main difference between these two selections is that the country specific map will grey out those scope item that are not available in the chosen country.

The map can only be generated for one country at a time.

The next thing you will need to do is select one or more business areas for which the scope map should be generated. For each of the presented business areas, simply click the corresponding selection box to include it in the generated scope map.

Choosing Display Criterias

For each scope item that is determined, based on the business areas you have chosen, one box will be displayed in the scope map. The box will include the scope item ID as well as the scope item description. There are then up to seven additional criteria that can be used to represent a specific feature, applicable to the scope item. For example, the content provided with the file will include information pertaining to a scope item being 2 Tier relevant, or it being an integration scenario. You may choose to use one criteria to represent a specific value driver, or a to highlight th fact that you have done some custom code extension or developed a side by side extensibility for this scope item, etc… The choice is yours. You can of course also re-purpose the delivered content. 2 Tier does not apply to you, use that criteria for something else more pertinent to you or your customer.

Each one of the selected criteria will then appear in the scope item box in the form of a Glyph. If you ask to generate a powerpoint deck as well, the first slide added to the presentation will be a legend slide to let the audience know the meaning of each glyph. That said if you want to use something else to represent each of these criteria (for example you want to see 2T instead of green circle to represent that the scope item applies for a 2 Tier scenario – the code is freely accessible you can change this)

Generating a Powerpoint presentation deck

If you also want to generate a Powerpoint slide deck of your chosen business areas, in addition to the information generated in Excel, then simply select the ‘Generate Powerpoint’ checkbox in the Other Options section. Then, in addition to this you can elect to generate the Powerpoint content as pictures or html tables. The essential difference between these two options, is that the picture will be a static element that cannot be changed, whereas the html table option will generate objects that are fully editable in Powerpoint (for example you want to color some scope items in red).

Video: Scope Builder

Downloading the required files

To download the needed files, simply click on the icon to the right !

Updated with 1905 content – 20 June 2019


There is no fee associated with the use of this tool.

If you do use it, I would appreciate that you subscribe to the SAP S/4HANA CLoud Knowledge Youtube Channel and spread the word on social media.

If you would like to make a monetary donation, then I would ask that you make a charitable donation to an organisation that helps with raising dyslexia awareness such as  MSL Club in Australia or The Reading League in the USA.

Before you ask, no you cannot charge for this tool.

To change the criterias that appear for each scope item:

  1. Go to the tab named “SETUP”.
  2. In the section “Output Criteria – Explanation”, in the column named “Significance” change the name of one of the free criterias (named Criteria 4, 5, etc…) to the name you want to give to it
  3. Go to the tab named “DATA”
  4. Columns L to O map to the free criterias (Criteria 4 –> Column L, Criteria 5 –> Column M, etc…). At the intersection of your criteria and scope item ID, put an ‘X’ in the cell if your criteria applies. NOTE : It has to be an X – anything else will not be taken into account.

If you want to use your own template, then create your own .potm file in Powerpoint, with the look and feel you want to give it (colours, fonts, logo…). Then save that file in the same folder where you have saved the Excel file, and name it “Template.potm”. The macro looks for a file with that exact name, in the same folder as the excel document.

Yes, you can use the generated output for your S/4HANA Cloud Projects. But note that this tool is not created, provided, endorsed or supported by SAP. If you use it, then you are responsible for checking the accuracy and veracity of the data that you will generate and use.

Yes, you sure can ! The code is available and open. You will also note that my code is fairly “dirty”. If you do find a way to optimise the code or correct a bug or add a new features to it, then please send me an updated version of the excel document, so that I can update the source file and the entire community can benefit from this !

Yes – absolutely.

A well thought out critique is worth Gold (E.Musk). Any feedback as long as it is not offensive is welcome, good or bad. You can leave a comment here or on the video on YouTube.

S4HCKS41 - Execute Capacity Levelling in SAP S/4HANA Cloud

In this snippet we show you how to level your production capacity, to avoid bottleneck situations or if you want to plan your manufacturing operations on the basis of cadence setting work centers.

Importantly, make sure you check out the following links:

S4HCKS40 - Create MRP Areas from Excel by leveraging API's

In this snippet we re-visit a previously released snippet : S4HCKS23 Mass Processing Product Master changes in SAP S/4HANA Cloud, but this time leveraging an API that is called from the comfort of MS Excel.

The underlying objective of this snippet, is to show how easy it is to leverage our API’s from third party applications, not just in Read mode, but also in Create/Update Modes. In this snippet we show you how you can supplement your Product Masters with MRP Areas, but this coud apply to any other of the available API’s.

As indicated in the recording, I am providing the excel used in the recording, for you to try out and get some inspiration from. As a disclaimer : You can use it at your own risk – I take no responsibility for you using it. I encourage to first try it in your Q system, with a small dataset. I also remind you not to pass this file to others with either data and / or login credentials !

Some of the important links covered in the recording are:

I must also give credit to Philip Hoffmann, who’s blog provided the file that I have also used to kick start this project. Phillip’s blog also covers how to create a communication user.

I encourage you to read the ‘Read Me First’ tab to get some valuable information, but if you want to just dive right in after you have created your communication user, then you just need to maintain the data you want to upload (MRP_RECORDS tab) and the login credentials as shown below (in the EXEC_DATA tab)

You can download my MRP Areas Excel API file below, by clicking the Excel File icon.

S4HCKS39 Tailor the AVC sales order UI down to a T

In this snippet we show you how easily you can continue to tailor the AVC sales order entry UI to make it work for you, using the SCREEN_DEP object.

Video: Tailor the AVC sales order UI down to a T

S4HCKS38 Easily setup your AVC pricing without any dependencies or code

In this snippet we show you how easily your AVC pricing could be setup, without using any dependency or code. Please check the video and note the restrictions under which this is possible.

Video: Easily setup your AVC pricing without any dependencies or code

S4HCKS37 Use the situation handling framework to identify and act on unwanted purchase orders

We live in an ever changing world. Juggling several responsibilities at once, it becomes difficult to stay on top of things. Customers cancel sales orders or change their orders, manufacturing cancels production runs or change the schedules, marketing decides that some products are no longer sold/manufactured. But you have already issued purchase orders to your suppliers to cover these requirements. So how do you know that some purchase orders may no longer be needed? What can you do to prevent purchasing products that you will no longer need and that will only take the dust in your warehouse? in 1902, with SAP S/4HANA Cloud, this has now becomes child’s play. You can now leverage the Situation Handling Framework, and let the system do the hard yards of finding those purchase orders that will drag the financial earth of your organisation south. In this snippet, we show you exactly how easy it is to leverage this new functionality.

Video: Leverage the Situation Handling framework to identify unwanted purchase orders

S4HCKS36 Use custom logic to determine your delivery pick locations

In this snippet we show you how you can easily and simply leverage custom logic inside SAP S/4HANA Cloud to embed a customised logic to determine the picking storage locations that are determined during delivery processing. The use case in this snippet looks at the delivery creation in the context of a subcontracted purchase order, i.e when you ship component to your suppliers.

Video: Use custom logic to determine your delivery picking locations