Jan 4, 2019

Regenerate ABAP code for Validations and Substitutions

When you have created Validations and/or Substitutions in SAP, behind the scenes when you save them; the system transforms them into real ABAP code so then when executed them ends up executing ABAP code.
When you transport them into any other environment, you will see that at the end of the transport import the system is regenerating code. But in most of the cases you will still need to regenerate that code for those Validations and Substitutions manually otherwise you could face certain issues (OSS Note 2512768 explains this). These are some of the issues you could face. Ex.


  • When you try to post a Journal Entry with FB50, 60 or similar; it could be annoying that the system will tell you that it needs to run a regeneration program and you need to start over. This could happen twice. If a user receives this type of error he/she will probably freak out and end up raising an incident for something easy, quick to fix and that could have been prevented. Error GB073 - Generation successful, but you must call up the function again.
  • Other type of postings attempts from other modules like MM, could directly fail as those interfaces do not try to trigger these regenerations.


So to avoid yourself any issues, any time you transport Validations and Substitutions; right after the transport went in, you should run program RGUGBR00 (with SE38) to regenerate the ABAP Code for them.


To play safe you should activate all "generate" options * on "Appl area" and "Callup".


This not only applies to FI type of Validations and Substitutions, it also apply to all other types that exists in other SAP Modules like PS, SL, EC-CS, etc. So, this recipe should also be followed for those as well.

Other info on Validations / Subtitutions
842318 - Frequently asked questions about validations and substitutions


If your Company and/or Project needs to implement this, or any of the functionalities described in my Blog, or advise about them, do not hesitate to reach out to me and I will be happy to provide you my services.

Jan 3, 2019

How to turn off the new S/4 HANA Bank account creation workflow

Within all the changes that SAP has done on the Banking area within S/4 HANA, SAP has introduced a workflow that gets triggered every time that a new Bank Account has been created. This is meant for people to approve the Bank Account before it becomes active and ready to be used in the configuration.

Personally I do not see a usage for this functionality for small or medium companies. Maybe there is something that could be useful for really large companies that could have accounts created on a constant basis, but still after that if you want to fully manage that account and issue payments with it; you still need to do quite some configuration to have it working.


In this step we will deactivate the Bank creation workflow that comes now as a new functionality in S/4 that every time you create a new bank account it triggers a workflow that will go for approval before you are able to continue your config for the new bank account.

*** This is a one time setup and it is not needed to be re-done in the future ***




Deactivate “Linkage Activated”



This way when a new Bank Account is created in the Manage Bank Account NWBC App, the workflow will not get triggered. If you do not do that, once you create accounts they will go through a workflow and most likely you will not know who or where it is to be approved. You will have to end up going as WF Admin and force the approval.


If your Company and/or Project needs to implement this, or any of the functionalities described in my Blog, or advise about them, do not hesitate to reach out to me and I will be happy to provide you my services.

S/4 HANA Banking configuration / Bank Account creation

Now in S/4 HANA there has been a whole change in the way Banking configuration needs to be done in the system. 
House Banks are not created anymore within Transaction FI12 or accessible through the Payment Program config (FBZP). FI12 has been deprecated. Now you need to use Tcode FI12_HBANK. This can still be transported.

But you can no longer create the Bannk Account IDs or Bank Account numbers through the Payment Program anymore. In S/4 HANA you need to create the Account IDs through "Manage Bank Accounts" with the SAP Netweaver Business Client.
For this, you will need to have assigned in your configuration client to your user the SAP standard role SAP_SFIN_CASH_MANAGER. This will give you access to Bank Account Management.
Once assigned you will trigger it with Tcode NWBC.

*NWBC services might not be active in your environment. For this Basis needs to activate the service in SICF.




You will click in "Manage Bank Accounts"



Then you will click in "New Bank Account" 
Fill in all the required information (*). Same as before S/4 the Bank Key needs to have been previously created in FI01 with all the branch address and data.




Here we put the Co.Code, Name of the Account Holder, Bank country, Bank Key (transit created previously), Account #, account description and account type.
<Save as Active>
<Edit>
<Connectivity Path>
<Add>


CAD is the Account ID that we have assigned to the Account that we are creating.
Also we need to assign the MAIN BANK GL ACCOUNT (The one that normally finishes with 00).



<Save as active>



Then we will see the newly created account in the list of Accounts.

This step needs to be done in your Config Client (Ex DEV-200), but it is not a transportable step. So it needs to be redone in every single environment. For that SAP has an EXPORT process that will generate an XML file with the list of Bank Accounts IDs created that will have to be imported in DEV-210 and in the future in QA and PROD.

It is important to keep that XML file and do not modify it internally. If necessary the XML can be generated again going back to the DEV-200 and repeating the EXPORT process that is coming in the next steps.


Here we will EXPORT and generate the XML file that contains the accounts.



Import Bank Accounts in DEV-210 (also applicable for QA and PROD once we will do that)

Log in DEV-210 and Execute NWBC (make sure you close the other NWBC Explorer window as you can easily get confused between the two environments). Remember that you will need to have assigned in your configuration client to your user the SAP standard role SAP_SFIN_CASH_MANAGER in DEV-210.

You will <Select File> and always play safe by doing "Import with Test Run". This way it will not import but it will check the data and tell you if there are any errors.

If you do not have errors within your newly created Bank Accounts, then import with the “overwrite” option activated. There might be some errors within other accounts that come standard, ignore those errors.


Then you will get results like this after the IMPORT.


Once you have finished your XML IMPORT, your Bank Account ID will be created. To verify this you can check the newly created entries in Table T012K.

** Remember that this XML Import process need to be repeated in every client and environment, therefore you should include this as part of your cut-over / client preparation manual activities.


If your Company and/or Project needs to implement this, or any of the functionalities described in my Blog, or advise about them, do not hesitate to reach out to me and I will be happy to provide you my services.