Status

  Approved

OwnerLisa Anggreani
Stakeholders
Jira Request ID

ERP-96 - Getting issue details... STATUS

Jira Development ID

ERP-198 - Getting issue details... STATUS

High- Level Specification

ParameterValue
Application System

S/4 HANA RoW, S/4 HANA CHINA

Business Process Reference09.07.01.05. Manage General Ledger Period Close

Functional Overview

This apps will be called from Advance Financial Closing (AFC) task list and also can be executed from S4 HANA directly if required. This app is required in all two S/4 HANA Production systems.  

There are two functionality serves within this program to meet business requirements:

  • Syensqo group reporting policy mandates to report Cashflow on Capex as part of its disclosure requirements (both at Group level and at GBU level), as well as detail Capex cash movement by project for GBU Capex analysis (Simplified Cashflow). The Cashflow on Capex must exclude VAT and WHT

    • Starting from the transaction type for "increase/addition" (F20) on the Fixed Asset and Asset Under Construction accounts. When an asset under construction (AuC) is completed and capitalized, the increase or addition (F20) to the AuC account is reversed once the asset is brought into service, using the "Brought into Service" (F34) transaction type. This same F34 transaction is then applied to the appropriate Fixed Asset Class

    • Further to that, any unpaid invoice then need to be corrected on the working capital in operating cashflow. Meaning, If invoices remain unpaid but the fixed assets have already been obtained, these should not be classified as cash outflows. The adjustment for this scenario will be implemented through this program, by reclassing from Trade Payable account (under Operating Cashflow) to Capex Supplier account (under Investing Cashflow) using Flow (Transaction Type) F15. The value recorded must reflect the net amount, which means it should exclude VAT, withholding tax, and any payment discounts, representing the actual cost incurred

    • Downpayment is not part of this reclass program as this will be handled via special GL indicator that is mapped directly to Cashflow reporting 

                    

  • To satisfy IFRS16 cash flow reporting requirements. Supplier OI related to finance lease need to be reflected in Financing Activities (as oppose in Operating Activities) using Flow (Transaction Type) F30. This program is intended to perform this reclass.

           Posting scheme:   

                  

Scope and Objectives

Capex Supplier and IFRS16 Financial Debt reclass only relevant for:

  • Trade Payable (excluding Non-Trade Payable, Intercompany, and Noted Items)

  • IFRS ledger (not applicable for Local GAAP ledger)

Out of scope:

  • This program will not be reclassing Vendor open items that were brought in as part of data migration at go-live cutover as there is no linkage to underlying transactions. The reclass for those documents will need to be done manually (see: Reclass - Capex Supplier and Finance Lease Debt on Migrated Data.pptx)
  • FI vendor invoice posting to WBS (all CAPEX purchases must follow Purchase Order process)

Process Flow Diagram


Step

Description

Comment

1

Retrieve all trade payable open items lines in all company codes in scope (Document number, CCd, FY, ...) on IFRS ledger (0L)

Only trade payable that is in scope. Exclude non-trade, intercompany, and noted items

2

Check whether the transactions is recorded in the company code and profit centre of IHB header entity

Different selection of data for IHB header entity and profit centre

3a

If the transaction does not belong to IHB entity/profit centre, retained the invoice document numbers retrieved from step #1


3b

If the transaction belong to IHB entity/profit centre, find the original document numbers from "text" field (*assumption text field will contains information on CCd/Original Invoice number separated by dash "-")

Get details on cost related to original CCd, Doc, number, FY combination where the account assignment is Lease Contract number (excluding VAT, WHT, and discount line),

4

Check if the execution related to Capex or IFRS16 Finance Debt reclass


5a

If the execution related to Capex reclass, get details on cost related to Project /WBS from GR/IR account (i.e. CCd, Doc, number, FY, WBS, Project, Purchasing Docs + Line Items), from the document numbers retrieved from Step#3 


5b

Refine the data by checking if the WBS is Capex.


5c

Only if the WBS related to Capex WBS, the data is retained as a subject for reclass

Post the Capex Supplier reclass on Production run

6a

If the execution related to Finance Lease reclass, get details on cost related to Lease Contract from Lease Clearing account (i.e. CCd, Doc, number, FY, Contract number,..) from the document numbers retrieved from Step#3 


6b

For data related to Finance lease, the data is retained as a subject for reclass

Post the Finance Debt reclass on Production run 


Assumptions

For Capex Supplier reclass, all Capex purchases (including Direct Asset purchase) are using Purchase Order with three way matching. GR/IR account will have information on WBS/Project, profit centre, etc in Universal Journal (hereinafter referred to as 'ACDOCA')

For IFRS16 Finance Debt reclass, the transitory account will have information on contract number in ACDOCA

Dependencies

This program has dependencies on:

Security, Integrity and Controls

This transaction will be assigned to role as per swimlane described in L4 09.07.01.05. Manage General Ledger Period Close

Configuration Requirements

Not Applicable

Language Requirements

Language for any error messages will need to be translated as per KDD055 - Multi-Language Support.

Special Requirements

This program needs to be accessible via Fiori Apps in each of production client. Also be able to be called from Advance Financial Closing (AFC). Please refer to OSS Note: 2879220 - AFC Integration of customer-specific reports for coding requirements


Design Rationale

This program will be executed at month-end. The program will have a Fiori app that can be executed by business either online or as scheduled (background) 

There are two functionalities serves for the program:

  1. Capex Supplier Reclass 

  2. IFRS16 Finance Debt Reclass

Recommended UI Technology

Standard ABAP report program as User Interface as required by the AFC.

To post reclass document on Production run: Use (1) BAPI_ACC_DOCUMENT_CHECK; subsequently (2) BAPI_ACC_DOCUMENT_POST

 Data Source Considerations

TableField NameComments/Calculation /Field Manipulation
PRPSPS_POSIDCustom field (refer to I2M Master Data Standard)
ACDOCA As stated in Process Logic section

Application Screen

Wireframe or Mock-Up

Apps Name: Reclass Capex Supplier and Finance (Lease) Debt

Screen Behavior

Screen Validation: 

  • When "Posting Period" and "Fiscal Year" specified on selection screen are greater than current date issue warning  (should only be run at month-end)
  • When parameter for Ledger Group populated not equal to (<>) '0L' issue error message "Only ledger '0L' is allowed'
  • Issue error when mandatory fields on selection parameters are not populated
  • for field "G/L Accounts" on selection parameter section, issue error if the account selected for the company code inputted is not SKB1-MITKZ = 'K'.

Dynamic screen is required for "Reclass Tasks". When user select "Reclassification to Capex Supplier" it expands the screen to show these four parameters, and hidden the parameters for Finance Lease Debt. The same when a radio button "Reclassification to Finance Lease Debt" is selected, four parameters are shown. And parameters related to Capex supplier are now hidden. 

Dynamic screen is also required for "Production Run". When user select "Production Run" it expands the screen to show "Background Processing" option. When user select Radio button for "Test Run", the "Background Processing" option is hidden . 

Additionally, please refer to section "Selection Screen" section below

Screen Navigation

Screen Default Layout on "Test Run" for Capex Supplier. For Finance Lease Debt default layout has "Contract Number" instead of "WBS" or "Project"

 

Screen Default Layout on "Production Run" for Capex Supplier. For Finance Lease Debt default layout has "Contract Number" instead of "WBS" or "Project"

Data Integration

Selection screen 

There will be protected program variants specified specifically for month-end ("/MERCLCPX_APAC/EMEA/AMER", and "/MERCLLEA_APAC/EMEA/AMER"*) that will be used for this program. *potentially needs to be split further for CUI and CHINA instances

FieldTable-Field Name Input / Value helpSource TableSelect: Option or Parameter

Data Type/Length

Default Value

/ Validation rule

/ Value Help

Selection Logic

RLDNR

Ledger Group

Value Help

FAGL_TLDGRP 

Parameter (single selection)

CHAR (2)

0L

display only

RBUKRS

Company Code

Value Help

T001

Parameter (multiple selection)

CHAR (4)

(using SAP FAST CLOSE)

mandatory

GJAHR

Fiscal Year

Input


Parameter (single selection)

NUMC (4)

(blank) 

mandatory

POPER

Posting Period

Input


Parameter (single entry)

NUMC (3)

(blank)

mandatory

RACCT

GL Account

Value HelpSKA1, where Posting Block (XSPEB ) <>"X", Balance Sheet account (XBILK) = X", CoA (KTOPL) = "COCA"Parameter (multiple selections)CHAR (10)5200000mandatory

Output Parameters

 

 

 

BLART

Document Type

Value Help

T003 (include BLART, and LTEXT)

Parameter (single selection)

CHAR (2)

MC

display only

BUDAT

Reversal Posting Date

Input
Parameter (single selection)DATS (8)(blank)mandatory

Reclass Tasks


Reclassification to Capex Supplier



Radio Button

 

 

(mandatory selection)

RACCT

GR/IR Source Account:

Value Help


Parameters (multiple selections)

CHAR (10)

5215000,  5215010  

mandatory

RACCT

Target G/L Account:

Value Help

SKA1, where Posting Block (XSPEB ) <>"X", Balance Sheet account (XBILK) = X", CoA (KTOPL) = "COCA"

Parameter (single selection)

CHAR (10)

5210080  

mandatory

RACCT

Offset G/L Account:

Value Help

SKA1, where Posting Block (XSPEB ) <>"X", Balance Sheet account (XBILK) = X", CoA (KTOPL) = "COCA"

Parameter (single selection)

CHAR (10)

5210090

mandatory

RMVCT

Transaction Type:

Value HelpT856Parameter (single selection)CHAR (3)F15mandatory


Reclassification to Financial (Lease) Debt



Radio button  (mandatory selection)

RACCT

GR/IR Source Account:

Value Help


Parameters (multiple selections)

CHAR (10)

5310080 mandatory

RACCT

Target G/L Account:

Value Help

SKA1, where Posting Block (XSPEB ) <>"X", Balance Sheet account (XBILK) = X", CoA (KTOPL) = "COCA"

Parameter (single selection)

CHAR (10)

5400040mandatory

RACCT

Offset G/L Account:

Value Help

SKA1, where Posting Block (XSPEB ) <>"X", Balance Sheet account (XBILK) = X", CoA (KTOPL) = "COCA"

Parameter (single selection)

CHAR (10)

5210090mandatory

RMVCT

Transaction Type:

Value HelpT856Parameter (single selection)CHAR (3)F30mandatory

Processing Options


Test Run

--Radio button  (mandatory selection)


Production Run

--Radio button  (mandatory selection)


     Background

--Check box  (optional)

Report Layout

FieldTable-Field NameDisplay Field NameValueSource



Status

show 'green' traffic light with tool tip "OK to post" or 'red' traffic light with tool tip "Error" (on test run) 

show 'green' traffic light with tool tip "Posted" or 'red' traffic light with tool tip "Error" (on production run)

Spool result 

BAPI_ACC_DOCUMENT_CHECK (test run)

API_ACC_DOCUMENT_SRV or BAPI_ACC_DOCUMENT_POST (production run)





BELNR

Document Number

Reclass Doc Number

(as per spool result on production run)

GJAHR

Fiscal Year

Reclass FY

(as per spool result on production run)

RBUKRS

Company Code

Reclass CoCd

(as per spool result on production run)

BUDAT

Posting Date

Reclass Posting Date

(as per spool result on production run)

RACCT

G/L Account

Reclass Account

(as per spool result on production run) = target G/L Account

RMVCT

Transaction Type

Reclass Ty Type

(as per spool result on production run)

PRCTR

Profit Centre

Reclass Profit Centre

(as per spool result on production run)

RWCUR

Transaction Curr

Reclass TC

(as per spool result on production run)

WSL

Amount in TC

Reclass TC Amt

(as per spool result on production run)

RHCUR

Company Code Curr

Reclass LC

(as per spool result on production run)

HSL

Amount in LC

Reclass LC Amt

(as per spool result on production run)

RKCUR

Global Curr

Reclass GC

(as per spool result on production run)

KSL

Amount in GC

Reclass GC Amt

(as per spool result on production run)
......

(as per data retrieved from step 1-3 for Capex Reclass

or step 1-2 for Finance Lease Debt Reclass)

(as per original value retrieved from step 1-3 for Capex Reclass 

or step 1-2 for Finance Lease Debt Reclass)

Please refer to ERP-199 (Section: Processing Logic)

Processing Logic

Program Logic:

1. Reclassification to Capex Supplier

          - If Company Codes <> IHB Header Entity 
          - If Company Code = IHB entity (see ** for additional selection, an extra steps to get the information on original invoice number for the invoice that has been moved (POBO) to IHB header entity)

Steps

Description

Table

Field Name

Field 

Source

Output Indicator

Output

1

Get list of Document Numbers based on Vendor Open Items (excluding noted items) from the criteria entered on selection parameters

ACDOCA











Ledger

RLDNR

(selection parameter)

X

List of Vendor (Trade Payable) Open Items documents by:

  • Ledger
  • Company code(s) 
  • Fiscal Year
  • Document Number 
  • Profit Centre
  • Supplier

Company Code 

RBUKRS

(selection parameter) *if = IHB Header Entity (1010), get information on Original Invoice number and CCd from *Text field 

X

AccType

KOART

K


Clearing Date

AUGDT

(Blank) or (greater than) ">" last day of FY/period specified in parameters

 

GL Account

RACCT

(selection parameter)


Special GL

UMSKZ

(Blank)


Business Transaction Category

BTTYPE

RMRP (PO based - incoming invoice)


Supplier

LIFNR

(retrieve)

X

Fiscal Year

GJHAR

(retrieve)

X

Doc Number^

BELNR

(retrieve)

X

Profit Centre

PRCTR

(retrieve)

X

**BKPF

Doc. Header Text

BKTXT

Contains information of original company code, invoice (FI) document number, and Fiscal Year with format
XXXX1234567890YYYY where XXXX = Company code; 1234567890 = Invoice document number; YYYY = original invoice Fiscal Year (Refer to ERP-956)


2

Get the account assignment from GR/IR line based on  Ledger/CCd/FY/Document Number from step #1

ACDOCA

**Company Code

BUKRS

For IHB entity, Original Company Code based on Company Code retrieved from "Text" field from step#1


Append the list from step #1, with

  • GL Account
  • WBS ID
  • Project ID
  • Purchasing Doc 
  • Purchasing Line Item
  • TC, Amount in TC
  • LC, Amount in LC
  • GC, Amount in GC

GR/IR Source Account

RACCT

(selection parameters)

X

Project

PS_PSPID

Project ID for reporting

X

WBS

PS_POSID

start with "A" for Capex WBS

X

Transaction Curr

RWCUR

(retrieve)

X

Amount in TC

WSL

(retrieve)

X

Company Cd Curr

RHCUR

(retrieve)

X

Amount in LC

HSL

(retrieve)

X

Global Curr

RKCUR

(retrieve)

X

Amount in GC

KSL

(retrieve)

X

Purchasing Doc

EBELN

(retrieve)

X

Purch. Doc. Line 

EBELP

(retrieve)

X

3

Get the actual Capex WBS from Project 

PRPS

WBS

PS_POSID

from #2


Refine the list of Vendor Open Items documents from #1+#2 only related to Capex WBS

Company Code

PBUKR

from list #1+2


CAPEX/OPEX indicator

ZX01*

= 'CAPEX'


4

Check if there's already reclass documents posted

ACDOCA


 

  • for each record result from step 1-3, check if there's an "MC" document posted" for the FY/Period specified in parameters previously where:
  • BUKRS = BUKRS record from step 1-3,
  • RWCUR = RWCUR record from step 1-3, 
  • WSL = WSL record from step1-3
  • PRCTR = PRCTR record from step1-3
  • SGTXT = PS_PSPID record from step 1-3

Drop the records that are already have corresponding reclass document (MC doc)

Retain only the records that are new 

* related to I2M Master Data Standard

^ original invoice document number


2. Reclassification to Finance Debt

 Selection logics are the same as CAPEX reclass program, the differences are:

StepsDescriptionTableField NameField SourceOutput IndicatorOutput
1

See "Capex Reclass"

2

Get the account assignment from "Technical Clearing lease" line based on  Ledger/CCd/FY/Document Number from step #1



ACDOCA



Lease Liability Clearing Account

RACCT

(selection parameters)


Append the list from step #1, with

  • Contract number

  • Purchasing Doc 

  • Purchasing Line Item

  • TC, Amount in TC

  • LC, Amount in LC

  • GC, Amount in GC

Contract Number

RECNNR

(retrieve)

X

Project

PS_PSPID

Not required


WBS

PS_POSID

Not required

...

...

All other fields see "Capex Reclass"step#2
3

Not applicable 

Output Logic:

  • "Test Run"

      Program will create ALV report layout, default columns displays depending on the program executed:     

    • For Capex reclass - list down the details of the information retrieved (as result of step#3). Columns to display: Status#, Company Code, Vendor, Purchasing Doc + Item, Document Number (original FI invoice doc), Profit Centre, WBS, Project, TC, Amount in TC*      

    • For IFRS16 Fin Debt reclass - list down the details of the information retrieved. Columns to display: Status#, Company Code, Vendor, Purchasing Doc + Item, Document Number (original GR/IR doc), Profit Centre, Contract Number, TC, Amount in TC*, 

      (*see section Program Logic for columns marked as "retrieved"). It should create a spool with no immediate output but hyperlink to Spool SP02 (message "Spool request (.... ) created without immediate output. View details")

      # Status column should show "OK to post" for the document lines that can be posted, and "ERR" which can be referred to spool error message

  • "Production Run" (online)

      Program generate posting depending on the program executed (use: API_ACC_DOCUMENT_SRV or BAPI_ACC_DOCUMENT_POST) :

    • For Capex reclass - the posting is to offset normal Vendor recon accounts (offset account as per parameter), where amount = retrieved amount, to Capex supplier account (as per parameter), where value = *-1 (opposite value) with transaction type F15

                     ^Based on documents list retrieved from step#3, create posting group by Currency, profit centre and project ID

Document #

Header Text (25)

Posting Date

Doc Type

CCd

Ledger Grp

TC^

Doc #1

CAPEX_SUP_RECLASS

BUDAT = last day of the period

specified in parameters

BLART

specified in parameters

BUKRS

As per retrieved step#3

RLDNR

specified in parameters

RWCUR^

As per retrieved step#3

Posting Key

GL Account

Transaction Type

Amount TC

Profit Centre^

Line Item Text^

BSCHL (Dr. 40/Cr. 50)

RACCT = offset parameters (5210090)

RMVCT = F15

WSL

PRCTR

SGTXT = PS_PSPID

BSCHL (Dr. 40/Cr. 50)

RACCT = target parameter (5210080)

RMVCT = F15

=WSL *-1

PRCTR

SGTXT= PS_PSPID

                     and reversal document (reverse entry of original entry Posting Key and amount (with header text = original doc + suffix "_REV" - "CAPEX_SUP_RECLASS_REV") and XBLNR = initial reclassed document number 

    • For IFRS16 Fin Debt reclass

                     ^Based on documents list retrieved from step#3, create posting group by Currency, profit centre and Contract number

Document #

Header Text (25)

Posting Date

Doc Type

CCd

Ledger Grp

TC^

Doc #1

LEASE_SUP_RECLASS

BUDAT = last day of the period

specified in parameters

BLART

specified in parameters

BUKRS

As per retrieved step#3

RLDNR

specified in parameters

RWCUR

As per retrieved step#3

Posting KeyGL AccountTransaction Type

Amount TC

Profit Centre^Line Item Text^

BSCHL (Dr. 40/Cr. 50)

RACCT = offset parameters (5210090)RMVCT = F15

WSL

PRCTRSGTXT = RECNNR

BSCHL (Dr. 40/Cr. 50)

RACCT = target parameter (5400040)RMVCT = F30

=WSL *-1

PRCTRSGTXT = RECNNR

                     and reversal document (reverse entry of original entry Posting Key and amount (with header text = original doc + suffix "_REV" - "LEASE_SUP_RECLASS_REV") and XBLNR = initial reclassed document number 

           Program will then create ALV report layout, default columns displays depending on the program executed:     

    • For Capex reclass - list down the details of the information retrieved from step#3 combined with posted documents into matrix table*

      • Available columns for display: Status#, Reclass result (Doc No., CCd, Transaction Type, TC, TC Amount, LC, LC Amount, GC, GC Amount) + Original documents retrieved from step#3 (Company Code, Vendor, Purchasing Doc + Item, Document Number (original FI invoice doc), Profit Centre, WBS, Project, TC, Amount in TC, LC, Amount in LC, GC, Amount in GC) 

    • For IFRS16 Fin Debt reclass - list down the details of the information retrieved from step#3 combined with posted documents into matrix table*

      • Available columns for display: Status#, Reclass Result (Doc No., CCd, Transaction Type, TC, TC Amount, LC, LC Amount, GC, GC Amount) + Original documents retrieved from step#3 (Company Code, Vendor, Purchasing Doc + Item, Document Number (original FI invoice doc), Profit Centre, Contract Number, TC, Amount in TC, LC, Amount in LC, GC, Amount in GC) 

                # Status column should show "Posted" for the document lines that have been reclassed and "ERR" which can be referred to spool error message

                * to differentiate with the original document retrieved up to step#3, the reclass document information should be displayed in ALV with columns that are prefixed with "R_ "

  • "Production Run" (Background)

            When the parameter "Background" is selection on Production Run, the same output as per Production Run (Online) is required to be displayed on the spool result 

  • "Production Run" (Re-run)

           When the program is re-run, it needs to check if the reclass documents have been posted for the original invoices selected. Only to select and post the delta if the original invoice has a corresponding reclass document

Custom Tables

Master data - N/A

FieldDescriptionData Type/LengthValidation rule / Value help 




 Configuration table - N/A

FieldDescriptionData Type/LengthValidation rule / Value help 




Tooltips

Show tool tip on traffic light for field "Status"
  • show 'green' traffic light with tool tip "OK to post" or 'red' traffic light with tool tip "Error" (on test run) 
  • show 'green' traffic light with tool tip "Posted" or 'red' traffic light with tool tip "Error" (on production run)

Front-End

This program/Fiori Apps will be run from desktop/laptop. This is not meant to be run from mobile phone / tablet

Mobile Services

Not applicable

Authentication & Authorization

Accessing the Fiori Apps should be done out of launchpad using SSO. Or triggering the apps from Advance Financial Close (AFC) by logging to AFC via SSO

Accessibility

Not applicable

Volumetrics

Data based on legacy systems:

Capex Supplier reclass

PF2 (based on 28 company codes in scope): FY 2025 up to Nov (1378 documents), FY2024 (1724 documents), FY2023 (1339 documents), FY2022 (1223 documents)  BKTXT = Z3F_CAPEX_FAV_MONTHLY_POSTING

WP2 (based on 47 company codes in scope): FY2025 up to Nov (4698 documents), FY2024 (5637 documents), FY2023 (5014 documents), FY2022 (4344 documents) BKTXT = Z3F_CAPEX_FAV_MONTHLY_POSTING

QI2 (based on 2 company codes in scope): FY2025 up to July (707 documents), FY2024 (1579 documents), FY2023 (1138 documents), FY2022 (764 documents)    XBLNR = Z1F_CAPEX_MONTHL

IFRS16 Finance Lease Debt reclass

PF2 (based on 28 company codes in scope): FY 2025 up to Nov (333 documents), FY2024 (450 documents), FY2023 (388 documents), FY2022 (333 documents)  BKTXT = Z1F_LEASE_MONTHLY_NEW

WP2 (based on 47 company codes in scope): FY2025 up to Nov (1139 documents); FY2024 (1351 documents);  FY2023 (923 documents); FY2022 (863 documents) BKTXT = Z1F_LEASE_MONTHLY_NEW

QI2 (based on 2 company codes in scope): FY2025 up to July (512 documents), FY2024 (1054 documents), FY2023 (987 documents), FY2022 (809 documents)    XBLNR = Z1F_LEASE_MONTHL


Performance Consideration

This program will be executed at month-end. There is no performance issue expected as this will be run per region covering EMEA (ERP), APAC (ERP, ECP) , America (ERP). America region will have 19 company codes; EMEA (ERP) will have 31 company codes; APAC (ERP) will have 15 company codes; APAC (ECP) will have 8 company codes. Based on volumetrics on number of documents processed in legacy these will only be maximum around 5000 documents


Error Handling

On both test run and production run, when the program does not pick up any records, show a message "No data selected!" 

On both test run and production run, check the "Target" and "Offset" G/L Accounts specified on the  selection parameters with company codes entered in selection parameters against SKB1:

  • If  SKB1-SAKNR does not have G/L accounts specified on the parameters, issues error message "G/L Account XXXXXXX, XXXXXXX does not exist in Company Code 1234" where XXXXXXX = SAKNR from parameters and 1234 = BUKRS from the parameters
  • If  SKB1-SAKNR does have the G/L accounts specified on the parameters but it has status blocked for posting (XSPEB) = "X" and/or  deletion flag (XLOEB) = "X", issues error message "G/L Account XXXXXXX is  (Condition A or Condition B)"; where XXXXXXX =  SAKNR from parameters and Condition A = 'block for posting' if the GL accounts has "XSPEB=X" or Condition B = 'marked for deletion', if both XSPEB and XLOEB are "X" shows only Condition A error)
  • else no error 

On production run, when the program unable to post due to period is not opened, issue error message "Period XX FY XXXX is Closed"

  • Check T001 for Company Code (T001-BUKRS) posting period variant (T001-OPVAR)
  • Based on (T001-OPVAR), check T001B where Record Type (T001B-RRCTY) = "0" (Actual), Account Type (T001B-MKOAR) = "S" ,  and  "GL Account" specified in "Target" G/L Account in parameters is within From Account (VKONT) to To Account (BKONT) - if not loop until find the correct range
  • Then Get Posting Period that are still open From Period (FRPE1) + From Fiscal Year (FRYE1)  to To Period (TOPE1) To Fiscal Year (TOYE1)
  • Compare the posting period, FY, posting period+1, FY(+1, if posting period is 12) specified in parameters - including posting period/FY reversal
  • If posting period/FY incl. reversal posting period/FY are not opened, issue error message "Period XX FY XXXX is closed" where XX and XXXX are posting period specified in parameters or if the reversal period that is not open "Reversal Period XX+1 FY XXXX(+1) is closed"

Testing

How to Test

Access the apps and execute the transaction based on predefined program variants (parameters specified on section "selection screen enhancement") and/or

Logon to AFC and execute from app "Process Closing Tasks" to trigger execution of the reclass program on each connected S4 system(s)

Test Conditions and Expected Results

Capex Supplier Reclass Program

IDConditionExpected Result
Pre-requisites
P.01Create a statistical and Capex WBS's for Capex purchasesWBS for Direct Asset purchase and Capex purchases created
P.02Create PR for Capex purchases > ApprovedPR approved for Capex purchases
P.03Convert PR to PO for Capex purchasesPO created for Capex purchases
P.04Create PO line 01 for Direct Asset PurchasePO line 01 created with Account assignment Asset (WBS statistical)
P.05Create PO line 02-04 for Capex purchasePO line 02-04 created with Account Assignment Project (Capex) WBS
P.06Perform Good Receipt and Invoice Receipt #01Good receipt and invoice receipt documents #01 generated
P.07Perform Good Receipt (no Invoice Receipt) #02Good receipt document #02 generated
P.08Perform Good Receipt and Invoice Receipt #03Good receipt and invoice receipt documents #03 generated
P.09Perform Good Receipt and Invoice Receipt #04Good receipt and invoice receipt documents #04 generated
P.10APM Payment Order (POBO) - Inv transfer to IHB header for Inv#04Original invoice cleared, a new invoice at IHB entity created 
P.11Run settlement WBS

AuC asset created based on Good Receipt value doc #02-04

Unit Tests
01Check all parameters, selection (single vs multiple selection), radio buttonAs per requirements
02Run Capex reclass program in "test" run

Program creates ALV layouts report with no document posted. All information displayed correctly (all fields as per specs are displayed). Able to modify the ALV layout, save layout, and export to excel

03Run Capex reclass program in "production" run

Reclass document posted to Capex supplier account with correct Doc type,  transaction type, Amount, Project ID, Original Doc number, purchasing doc number and item, for documents: 01, 03 at the original entity, and 04 at IHB entity

For doc#02 there shouldn't be any reclass document posted since there is no Invoice Receipt

Reversal document posted to the first day of the following month specified in parameter

04Re-run Capex reclass program in "test" run from AFC* (second set of data required)

Able to show application log, detail list report and only select second set of data and not include first set of data

05Re-run Capex reclass program in "production" run from AFC* (second set of data required)

Able to show application log, detail list report, creation of spool and only post second set of data and not include first set of data

06Re-run Capex reclass program in "production" run either directly in source or triggered from AFC* using first and second set of data that have been reclassed

Program should have nothing to post with message "No data selected"


Finance Debt (IFRS16) Reclass Program

IDConditionExpected Result
Pre-requisites
P.01Create Lease Contract IFRS16 x3Lease Contracts created
P.02Run contract valuation (RECEEP)Lease contract valuation posted, lease liability for the month created 
P.03Post Service Entry Sheet (SES) for Contract #1-#3SES posted
P.04Post vendor invoices for Contract #2-3Vendor invoices posted 
P.05Transfer invoice to IHB entity for Contract #3Lease invoice is created in IHB header entity and cleared from original company code 
P.06Run reclass program (SAPFOBJ_REGROUP)Lease reclass LT Lease Debt - ST Portion posted (Check Flow 31)
Unit Test

01Run Finance Lease Debt reclass program in "test" runProgram creates ALV layouts report with no document posted. All information displayed correctly (all fields as per specs are displayed). Able to modify the ALV layout, save layout, and export to excel
02Run Finance Lease Debt reclass program in "production" run

Reclass document posted to "LT Lease Debt - ST Portion" account with correct Flow (F30) with correct Doc type, Amount, Contract number, purchasing doc number and item.

For contract #2 - reclass document posted at original entity; Contract #03 reclass posted at IHB entity. Contract #01 there shouldn't be any reclass document posted since there is no Invoice Receipt. 

Reversal document posted to the first day of the following month specified in parameter

03Re-run Finance Lease reclass program in "test" run from AFC* (second set of data required)Able to show application log, detail list report and only select second set of data and not include first set of data
04Re-run Finance Lease reclass program in "production" run from AFC* (second set of data required)Able to show application log, detail list report, creation of spool and only post second set of data and not include first set of data
05Re-run Finance Lease reclass program in "production" run either directly in source or triggered from AFC* using first and second set of data that have been reclassedProgram should have nothing to post with message "No data selected"

*( Process Closing Tasks apps)

Test Considerations/Dependencies

Calling the program from Advance Financial Closing (AFC) has dependencies on the following:

  • Register custom program, variant, and task model at local setting
  • Synchronize completed to AFC system 
  • Task model available in AFC test system 

Executing the program multiple times for the same parameters should only post the delta.

Other Information

Reference legacy process Functional Documentation - Capex Analysis report

Reference legacy IFRS16 Finance Debt reclass program: Z1F_CAPEX_MONTHLY (PF2); ZWFAR58002 (WP2); Z3F_CAPEX_FAV_MONTHLY_POSTING (PI2)

Reference legacy Capex Supplier reclass program: Z1F_CAPEX_MONTHLY_POSTING (PF2, WP2); Z3F_CAPEX_FAV_MONTHLY_POSTING (PI2)

Development Details

Package

Package NameParent Package




UI Implementation

UI Type

UI Name

Fiori Catalogue

Design Rationale Reference





API Implementation

API TypeAPI NamePurpose / High Level LogicAPI ProductDesign Rationale Reference






Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference








Appendix

Custom Authorization Group Naming Convention

This table is based on the Syensqo development standards document. It provides the naming conventions for authorization groups to associated with custom reports and tables to comply with security requirements.

ABAP

ZFIZMMZPSZCOZSDZBCZFIZCA
TABLESZFITZMMTZPSTZCOTZSDTZBCTZFITZCAT


Change log

Version Published Changed By Comment
CURRENT (v. 39) Jan 30, 2026 07:41 ANGGREANI-ext, Lisa
v. 38 Jan 30, 2026 07:30 ANGGREANI-ext, Lisa
v. 37 Jan 30, 2026 07:28 ANGGREANI-ext, Lisa
v. 36 Jan 29, 2026 10:58 ANGGREANI-ext, Lisa
v. 35 Jan 29, 2026 07:47 ANGGREANI-ext, Lisa
v. 34 Jan 29, 2026 06:06 ANGGREANI-ext, Lisa
v. 33 Jan 22, 2026 10:56 ANGGREANI-ext, Lisa
v. 32 Jan 22, 2026 10:53 ANGGREANI-ext, Lisa
v. 31 Jan 22, 2026 10:00 ANGGREANI-ext, Lisa
v. 30 Jan 22, 2026 09:47 WEINERT-ext, Patrick

Go to Page History

2 Comments

  1. HEALY-ext, Michael please do the security review as well.

  2. Security review done. The app will be assigned to the noted swimlane, it also uses the standard SAP auth checks. Happy to sign off.