conFLOW · What’s new

One document
Pure configuration

The BAdI is still there for genuine exceptions

Scroll down through all slides · tap a screenshot to enlarge

What this is about

Approvals you understand
and configure, instead of programming them

For the approver
Clear at a glanceTitles that speak, real document data, unambiguous buttons. In SAP GUI just as in Fiori.
For the consultant
Configuration instead of codeMuch of what used to require custom code is now an entry in the maintenance dialog.
For existing customers
Everything keeps runningNew behaviour stays off until you switch it on. Existing workflows run exactly as before.
What it looks like

The same work item, two front ends

Decision in SAP GUI
SAP GUI
Decision in the Fiori My Inbox
Fiori My Inbox
The object

Whoever builds the workflow gives the object a name

1The label per workflow, for example ‘Salesorder Item’
2In the work item it leads to the document with one click
Maintenance dialog, workflow definition with object text
The heart of it: the template

Read once, available everywhere

The template reads the document and offers its fields – for the title, for rules and for the email.

Purchase orderSales orderPurchase requisitionIncoming invoice FI documentVendorCustomerBusiness partner
Templatereads the document
TitleRulesEmailJump to documentyour own fields
4000.00004,000.00 EUR Amounts are formatted consistently in the work item and the email, whatever the currency.
How it is configured

One line connects the workflow to the document

1Which document is read, here sales orders
2The documentation lists the fields that become available
Maintenance dialog, general parameters with the template
The template at work

Document data in the title, without a line of code

Until now, adding document data to a title required custom code. Now the template provides the fields, and the step text only needs the placeholder.

The vendor template delivers
vendor_nonamecitycountrycreated_onpmnt_blockand 20 more
In the step text
Approve from Marketing §{vendor_no} - §{name}
What the approver sees
Approve from Marketing 1000060 - Stephan GmbH
Your own document types

Your own template is quick to build

For object types not provided as standard, or when additional fields are required. Unlike Flexible Workflow, there is no separate scenario to create – just a small class.

Way 1
Extend a shipped templateAppend the field to the template structure, inherit from the class, redefine one method. The new field is immediately available for title, rules and email.
Way 2
Build your own templateUse the template class and define your own fields. That way every object type gets its template, including your own Z objects.
What way 1 looks like

One field added, one method redefined

1The new field, appended to the structure
2First the shipped template reads the document
3Then your own class fills its field
Template structure with an appended field
That is all it takesEnter the class as the template in the configuration. The new field appears in the field list and is ready for placeholders, rules and email.
Way 2
Same principle for an object type of your own: use the template class and define your own fields.
Your own template class with a redefined method
How it is configured

New at the step: the priority

1The step text already existed – now it can use template fields
2New: the priority, here ‘4 High’
3The documentation explains both
Maintenance dialog, approval steps
Agents

Org model or authorisation role

1As before: user, position or organisational unit
2New: a role – its users decide
3The documentation says who counts
Maintenance dialog, agents with a role
The four-eyes principle

Requesters do not approve
their own orders

One checkbox removes people from the list of agents. That used to require a BAdI implementation; now one entry is enough.

If a query or correction returns to the same stage, the rule still holds: nobody decides at two different stages. If no eligible agent remains, nobody receives the work item. The exclusion applies to the emails as well.

Purchasing checks
+
Role Purchasingall users of the role
Whoever started the workflowthe requester
excluded
Plant management approves
+
Role Plant managementall users of the role
Whoever already decided another stagenew: approvers of the other stages of this workflow
excluded
How it is configured

One checkbox per agent line

1New: exclude whoever this line resolves to
2The initiator, and anyone who decided another stage
3The four-eyes principle, written up in the documentation
Maintenance dialog, agents with the exclude column
The rule

Simple cases take care of themselves

You configure the threshold on a field provided by the template. The log shows why the workflow took this path.

If the rule grows into a full decision table, a background step can evaluate it in BRFplus, for example.

Order value above 1,000?
Yesa person decides
Nodone, with nobody involved
How it is configured

Per outcome: one condition and one target

1Where it goes next
2The condition, here the value above or below 1,000
3Hints in the documentation, and a suggested correction for a typo
Maintenance dialog, additional status with conditions
The decision

Green means yes
Red means no

The decisions that matter stand out. Where it is needed, conFLOW asks for a reason – in SAP GUI just as in Fiori.

Coloured decisions in SAP GUISAP GUI
Coloured buttons in the Fiori My Inbox
Fiori My Inbox · click to enlarge
How it is configured

Colour and mandatory reason, per button

1Colour and mandatory comment
2Applies to SAP GUI and Fiori alike
Maintenance dialog with colour and mandatory comment
The email

The email says what the work item says

Every field from the template is available as a placeholder, and amounts and dates are properly formatted. If required, the email is sent in the recipient’s language, and the preview in the maintenance dialog shows how it will look.

Mail control with preview in the maintenance dialogMail control with preview
Your own app

One entry opens the right app

Whether a work item shows the standard view in Fiori My Inbox or an app of your own is now part of the configuration.

Work items already in progress can be switched over afterwards.

My Inbox with an app of your ownYour own app in Fiori My Inbox
How it is configured

One entry, and the inbox opens your app

1The app that should open
2Without an entry it stays the standard inbox
Maintenance dialog, general parameters with the Fiori app
The documentation

The explanation is right beside the configuration

Every view in the maintenance dialog explains its fields. On top of that, every workflow can carry a description of its own: what it is for, who looks after it, what to watch out for.

That description sits at the very top. So whoever maintains the workflow later will find it.

Editor for your own documentation with previewEditing with preview
Your own documentation above the standard documentationYour own text on top
Running it

Seeing what is still waiting

Admin console evaluation per stepAdmin console · evaluation per step
336work items for this workflow, broken down by step
6d 06his how long the oldest work item has been waiting – the indicator shows it in red
81.8 %of the escalations end in a rejection
Part two · A real case

And in real life?
NIS2 supplier review

The same building blocks, one afternoon, a process that runs end to end.

Everything from this point on comes from an actual run in a real system. Every screenshot was checked against the database, not just the screen.

The task

Review each supplier
as deeply as its criticality requires

Stage 1
Supplier responsibleChecks NIS2 relevance and the master data. Every reviewed supplier passes this stage.
Stage 2
Responsible buyerBusiness relationship, contracts, dependency. Only for suppliers rated NIS2-2 or higher.
Stage 3
Security teamCertificates, audits, incidents. Only for critical suppliers rated NIS2-3.

Each stage records a result and a note. The final result is written back to the supplier master data.

The case decides

One definition, three possible paths

Log of a workflow that ended without a review
Not relevant · no task at all
Log with one review stage
NIS2-1 · one stage
Log with three review stages
NIS2-3 · three stages

The branch is controlled by a condition in a background step, not by custom code. Change the field on the supplier and the same workflow behaves differently.

In the inbox

The task explains itself

Title with supplier number, name and criticality. Below it are the supplier data, the task at this stage and what the decision means – all from the maintenance dialog.

The text comes from a standard text (SO10) with placeholders; the template fills them from the supplier.

Fiori My Inbox with the task and the review app
One click away

The document is one click away, not just described

Related objects: workflow and supplier
Every task carries its document
Supplier display, opened from the task
One click opens the supplier

Which document, and what it is called, comes from two entries – the template and the object text.

Fiori My Inbox with the review panel
Deciding

Result and note,
captured where the decision is made

No second transaction, no separate attachment. The reviewer picks a result and types a note, which is saved while typing.

The same panel and the same data are available in SAP GUI. Every change is logged with user, time and channel.

Nothing slips through

Approving without a result is not possible

Error: please choose a review result
No result · no approval
Error: result Critical needs a note
Critical · a note is required

The check is implemented in one place and applies to every channel: Fiori, SAP GUI and any API call.

Stage after stage

Each stage records
its own result

Stage 2 does not inherit the result entered at stage 1. The panel starts empty, and the buyer makes their own assessment.

Nothing is lost: the log keeps every stage, and the completion email lists the result of each stage.

Stage 2 with an empty review panelStage 2 · nothing prefilled
Workflow log with two stages and a returnThe whole path, step by step
When a reviewer is not convinced

Back to the previous stage, with a reason

Fiori asks for a mandatory decision note
The reason is mandatory, not optional
Stage 1 back with the earlier result still there
Stage 1 reopens with its entries intact

The task goes back to the agents of stage 1, with everything they entered. Nobody has to start again from scratch.

Four eyes

One person,
one stage

The initiator of the review never receives their own task. And anyone who decided at stage 1 is excluded from stage 2 – even if they are a named agent there.

Two rows in the agent table, no code: WF_INITIATOR and WF_APPROVERS, both marked as excluded.

Agent tree of stage 2 with exactly one recipientStage 2 · one recipient left
Empty inbox of the person who started the workflowThe initiator · no task
When nothing happens

First a reminder, then the NIS2 lead

Reminder task in the inbox, priority high
Deadline passed · reminder, higher priority
Escalation mail with the history so far
Still no response · escalation to the NIS2 lead

Deadline, follow-up step and recipient are three fields. Entries already made are kept – the lead sees the review in progress, not a blank form.

Completion email with result per stage and historyCompleted · result per stage
The emails

Everyone is notified
in their own language

New task, reminder, escalation, returned, rejected, completed, failed. Seven situations, each with its own text, including the reason and the history.

The language follows the recipient, not the sender: the same rule sent one email in German and one in English, in the same second.

Email: review returned, with reason and historyReturned · reason and history
The same rule, at the same moment

Everyone reads it
in their own language

Two recipients of the same email rule, two languages. The language follows the recipient – not the user or background job that triggered the email.

Subject and body come from standard texts. If a translation is missing, the email goes out in the original language rather than empty.

Two emails from the same rule, one German, one English
What it is all for

The result goes back
to the supplier

When the last stage is done, a background step writes the result to the Search Term 2 field of the business partner: NIS2 OK 18.09.26.

From then on, anyone who works with the supplier can see it – in a list, in a report, in the next audit. Nobody has to open the workflow log.

Business partner with search term 2 set to NIS2 OK
When something goes wrong

Silence is the worst outcome

Email: NIS2 review could not be started
Here: the initiator is notified
Application log with the reason: partner is being processed
The log records exactly what went wrong

A locked business partner, an invalid key, a missing result: the workflow ends in a named end status, writes the reason to the application log and notifies the people responsible.

This is how it is set up

One row per workflow – its number links everything else

1Both reviews sit alongside every other workflow in the system
2The documentation of the view is right beside it
Maintenance dialog: list of workflow definitions
This is how it is set up

The steps, the deadline, the follow-up

1Empty: a person decides. BACK_BATCH: the system does
2Priority per step: the reminder outranks the first task
Maintenance dialog: approval steps

Right next to it: the documentation of the view. It explains the fields while you are in them.

This is how it is set up

Reminder after ten minutes, escalation after twenty

1Deadline and unit – minutes here, days in practice
2The step the deadline leads to, with its own agents
Maintenance dialog: transitions with deadline
This is how it is set up

The branch is a condition, written exactly as the value appears

1The outcome and where it leads
2The condition on the fields the template provides
Maintenance dialog: rule on the background step
This is how it is set up

Two rows exclude people – no code, no role concept

1The agents behind each key
2Excluded: the initiator, and anyone who decided another stage
Maintenance dialog: agents with the exclude column
This is how it is set up

Which document is read, and which app opens it

1The template: it reads the supplier and provides the fields
2The app the task opens in Fiori My Inbox – empty means the standard view
Maintenance dialog: general parameters
This is how it is set up

One row per situation – step, outcome, recipient, text

1Which outcome of which step sends an email, and to whom
2Subject and body are standard texts, with a built-in preview
Maintenance dialog: email rules with preview
This is how it is set up

A standard text with placeholders – no template engine, no code transport

1Document fields, filled in when the email is sent
2Paragraphs are plain HTML, so the email reads like an email
Standard text of the reminder email with placeholders
What it took to build

Almost all of it is configuration

Developed for this case
The input panelResult and note in the work item, plus a check that blocks approval without a result – or without a note when the result is critical. One class, used by SAP GUI, Fiori and any API call alike.
Developed for this case
The write-backOne background step that writes the result to the business partner. Fifteen lines of business logic; the rest is robust error handling.

Configurable input fields in the work item are the next planned product feature. Then even this case is pure configuration.

Where that leaves you

Configuring is quick.
Changing your mind is cheap.

A process like this takes an afternoon, not an entire project. And adapting it later takes almost as little effort as building it – because it is configuration, not development.

Start smallOne step, one email. Stages, deadlines and rules come later, when the process asks for them.
See it, try itEvery setting is visible in the maintenance dialog, with its documentation beside it and the log to show what happened.
Keep the BAdI for exceptionsThe BAdI has not gone anywhere. It is simply no longer the first thing you reach for.
Explore the documentation

conflow-help.com

Everything about conFLOW in one place, in English and German.

The features shown here will be documented there once testing is complete.