Secret Way to Tweak SAP Standard Processing Logic in S/4HANA Finance (Part 2)

The previous blog (Secret Way to Tweak SAP Standard Processing Logic in S/4HANA Finance (Part 1)) covered the basics of how we can tweak the processing logic that SAP uses in various CO processes.  I like this solution and have a list of ~10 parameters that I find the most useful.

One of my criticisms though is that it’s not a polished solution.  I have to force the values in via [SE16] or get a utility program to do the update.  Then I have to repeat the steps in each system or create a manual transport to keep the systems in sync.  None of these are too much trouble but it would be nice if we had a dedicated frontend UI for this tool and it was incorporated into CTS.

Also, didn’t I mention that there was a second tool similar to T811FLAGS?  Does it solve some of these minor issues?

 

Capital Project Budgeting

Let me first go over another example situation.

I have a project that is US based.  The company code currency is USD and the project currency is also USD.

 

However, the group currency on my CO Area is EUR.

 

The budget profile is setup to use Object Currency, which will end up being USD in this case.

 

When I go to [CJ30] to maintain the project original budget, the budget values are maintained in USD (per the settings above) but all of the views to the right (current budget, distributed, remainder, etc.) are displayed in EUR.  I can change that by changing the [Views In…] field highlighted below but the default is the CO Area currency EUR.  The displayed values in EUR aren’t very helpful to me.  I’m maintaining numbers in one currency and evaluating the changes to the other views but they’re in a different currency.  There isn’t much benefit to this.  And maybe it’s not just me… maybe I’m getting too many questions from project accountants about it and I don’t have the time to update the training materials.  I’d like to change this default behavior so that the default View is in Object Currency.

 

FIN_FLAGS

Here’s the fix.  If I go to transaction [FIN_FLAGS] I see the screen below.  This has similar parameters as what were covered in the previous blog.  It’s the same concept where I can maintain a value for a parameter and it will tweak the default behavior of how these processes work.  Though in my case, it’s more of a ‘personalization’ or a functionality tweak and not a real programming logic tweak.

FIN_FLAGS is the successor to T811FLAGS but the latter is still used, and to my knowledge, SAP is still publishing new parameters for it.  So, it’s not a replacement.  Here are the biggest benefits:

  • There is a dedicated UI to maintain all of the parameters.
  • This tool also has a button with the applicable OSS note for a given parameter.  I can easily chase down the official documentation of the note that introduced the parameter and most likely get an explanation for why it was developed.
  • As you can see when you first launch it, there are more parameters here and they cover several finance areas, not just CO.

 

The list of parameters is classified per application (i.e., module) and sub-application.  I can easily filter through the list via the fields at the top (next screenshot).

 

The tool has a transport button so I can easily move this change throughout the landscape.

 

It also supports change documents.  Given the critical nature of changes like this, it’s very important to know whether or not the parameter value you’re looking at is in fact the value that has been used in the past or recently changed.  This is access at a separate transaction [FIN_FLAGS_CD].

 

Back to my example…  in this case I’m going to filter on the IM module and then change the IM_PLAN parameter to ‘X’.  Note: values are case sensitive.

Notice that there is a [Status] field that has now changed to ‘Changed/not saved’.  I’ll press [Save] to save my changes.

 

Now if I go back to [CJ30] and enter in my project, the default view is in object currency.  Now all of the values on the screen are in the same currency.

 

How to make this even better?

One of the great things about this solution is that customers can create their own parameters.  You can add your own custom parameters and classify them within the application/sub-application that SAP has delivered or just create a Z<CUSTOMER> application and put the custom parameters there. 

The reason I mention this… and maybe it should be another blog but I’ve got more than enough content topics to handle right now… is that this would be an excellent replacement to TVARVC. 

TVARVC is a tool to define and maintain variables that can be accessed in a variety of custom solutions so that you don’t have to hard-code values within a custom solution.  I’ve used that in the past for some custom validation/substitution logic routed through a user exit which was too small to warrant a custom Z* config table and a maintenance view, transaction code, etc.  I see a few usability improvements with FIN_FLAGS and given SAP’s ‘Principle of One’ mantra, I’m surprised that both of these exist.

 

More Information

Unlike with T811FLAGS, SAP has published some good informational messages regarding FIN_FLAGS.  The first three notes below clearly articulate SAP’s intent with this tool.

  • 2702200 – This covers the initial delivery of the tool
  • 2727018 – Instructions for the user
  • 2728692 – Instructions for application programs
  • 2753402 – display of change documents

Finally, here is a quick list of parameters and the notes that I’ve used in the past.

  • 2928130 – This introduced parameter SE16N_CURSOR_ON_TABLE. This is now a parameter directly on [SE16N] so I don’t use it anymore… but for awhile it was nice to have.
  • 3053131 – Parameter CONSIDER_SETLMTS_IN_PREV_YEARS affects how the depreciation simulation pulls in capitalized amounts from previous years.
  • 2994071 – Parameter SEND_AVC_SAVE_AS_COMPL_WARNINGS will ensure that any availability control messages (warnings or errors) are issued for saved or parked FI documents (normally, they’re not).
  • 2871607 – Similarly, parameter SEND_AVC_GR_SES_WARNINGS will do the same thing from MM triggered transactions such as MIGO, MB1A, or ML81N.
  • 2865123 – Same thing… parameter CO_AVC_SEND_ERRORS will issue availability control messages from CO triggered processes such as an assessment or distribution.
  • 2855370 – I haven’t implemented this one yet but parameter ALLOW_INVEST_PROFILE_CHANGE will let you change the IM Profile on a WBS if you reverse settlement and deactivate the AuC.  Basically, if you back everything out, you can then change the IM profile.
  • 2826903 – Parameter FIAA_XINVM_IZWEK_COPY will automatically copy the Investment Reason from the investment measure to the AuC.  By default, that doesn’t happen.  You can control how project fields are transferred to the AuC via a BADI but this is obviously much quicker to turn on.  Would be nice if it was for more than just this one field though.
  • 2851222 – Parameter IO_DELIND_NOCHECK will disable any checks when maintaining internal orders if it’s already flagged for deletion.
  • 2908293 – This introduces some new parameters for Joint Venture Accounting (JVA).