High- Level Specification
| Parameter | Value |
|---|---|
| Application System | S/4 HANA RoW, S/4 HANA CHINA |
| Business Process Reference | 09.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:
Configuration on transaction types
Data migration for AP open items
RE-FX Reclass program
Capex reporting
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:
Capex Supplier Reclass
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
| Table | Field Name | Comments/Calculation /Field Manipulation |
|---|---|---|
| PRPS | PS_POSID | Custom 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
| Field | Table-Field Name | Input / Value help | Source Table | Select: 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 Help | SKA1, where Posting Block (XSPEB ) <>"X", Balance Sheet account (XBILK) = X", CoA (KTOPL) = "COCA" | Parameter (multiple selections) | CHAR (10) | 5200000 | mandatory |
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 Help | T856 | Parameter (single selection) | CHAR (3) | F15 | mandatory |
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) | 5400040 | 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 Help | T856 | Parameter (single selection) | CHAR (3) | F30 | mandatory |
Processing Options | |||||||
Test Run | - | - | Radio button | (mandatory selection) | |||
Production Run | - | - | Radio button | (mandatory selection) | |||
Background | - | - | Check box | (optional) | |||
Report Layout
| Field | Table-Field Name | Display Field Name | Value | Source |
|---|---|---|---|---|
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:
|
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 | (retrieve) | X | |||||
**BKPF | Doc. Header Text | BKTXT | Contains information of original company code, invoice (FI) document number, and Fiscal Year with format | ||||
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
| |
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 |
|
| 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:
| Steps | Description | Table | Field Name | Field | Source | Output Indicator | Output |
|---|---|---|---|---|---|---|---|
| 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 | 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 | SGTXT = PS_PSPID | ||
BSCHL (Dr. 40/Cr. 50) | RACCT = target parameter (5210080) | RMVCT = F15 | =WSL *-1 | 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 Key | GL Account | Transaction Type | Amount TC | Profit Centre^ | Line Item Text^ | |
BSCHL (Dr. 40/Cr. 50) | RACCT = offset parameters (5210090) | RMVCT = F15 | WSL | SGTXT = RECNNR | ||
BSCHL (Dr. 40/Cr. 50) | RACCT = target parameter (5400040) | RMVCT = F30 | =WSL *-1 | SGTXT = 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
| Field | Description | Data Type/Length | Validation rule / Value help |
|---|---|---|---|
Configuration table - N/A
| Field | Description | Data Type/Length | Validation 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
| ID | Condition | Expected Result |
|---|---|---|
| Pre-requisites | ||
| P.01 | Create a statistical and Capex WBS's for Capex purchases | WBS for Direct Asset purchase and Capex purchases created |
| P.02 | Create PR for Capex purchases > Approved | PR approved for Capex purchases |
| P.03 | Convert PR to PO for Capex purchases | PO created for Capex purchases |
| P.04 | Create PO line 01 for Direct Asset Purchase | PO line 01 created with Account assignment Asset (WBS statistical) |
| P.05 | Create PO line 02-04 for Capex purchase | PO line 02-04 created with Account Assignment Project (Capex) WBS |
| P.06 | Perform Good Receipt and Invoice Receipt #01 | Good receipt and invoice receipt documents #01 generated |
| P.07 | Perform Good Receipt (no Invoice Receipt) #02 | Good receipt document #02 generated |
| P.08 | Perform Good Receipt and Invoice Receipt #03 | Good receipt and invoice receipt documents #03 generated |
| P.09 | Perform Good Receipt and Invoice Receipt #04 | Good receipt and invoice receipt documents #04 generated |
| P.10 | APM Payment Order (POBO) - Inv transfer to IHB header for Inv#04 | Original invoice cleared, a new invoice at IHB entity created |
| P.11 | Run settlement WBS | AuC asset created based on Good Receipt value doc #02-04 |
| Unit Tests | ||
| 01 | Check all parameters, selection (single vs multiple selection), radio button | As per requirements |
| 02 | Run 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 |
| 03 | Run 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 |
| 04 | Re-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 |
| 05 | Re-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 |
| 06 | Re-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
| ID | Condition | Expected Result |
|---|---|---|
| Pre-requisites | ||
| P.01 | Create Lease Contract IFRS16 x3 | Lease Contracts created |
| P.02 | Run contract valuation (RECEEP) | Lease contract valuation posted, lease liability for the month created |
| P.03 | Post Service Entry Sheet (SES) for Contract #1-#3 | SES posted |
| P.04 | Post vendor invoices for Contract #2-3 | Vendor invoices posted |
| P.05 | Transfer invoice to IHB entity for Contract #3 | Lease invoice is created in IHB header entity and cleared from original company code |
| P.06 | Run reclass program (SAPFOBJ_REGROUP) | Lease reclass LT Lease Debt - ST Portion posted (Check Flow 31) |
| Unit Test | ||
| 01 | Run Finance Lease Debt 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 |
| 02 | Run 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 |
| 03 | Re-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 |
| 04 | Re-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 |
| 05 | Re-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 reclassed | Program 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 Name | Parent Package |
|---|---|
UI Implementation
UI Type | UI Name | Fiori Catalogue | Design Rationale Reference |
|---|---|---|---|
API Implementation
| API Type | API Name | Purpose / High Level Logic | API Product | Design Rationale Reference |
|---|---|---|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design 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 | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |


2 Comments
WEINERT-ext, Patrick
HEALY-ext, Michael please do the security review as well.
HEALY-ext, Michael
Security review done. The app will be assigned to the noted swimlane, it also uses the standard SAP auth checks. Happy to sign off.