| Status | |
|---|---|
| Owner | Alexander Bechter |
| Stakeholders | Gilles Madjaran |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | S/4 HANA |
| Business Process Reference | 06.10.02.01. Manage Inbound Deliveries 09.11.01.05. Perform Operational Reporting for General Ledger Accounting |
The main purpose of this custom development is to facilitate detailed cost and spend reporting based on material group information in financial reports in S/4 HANA. Due to limitations of SAP standard as explained further in SAP note '2843578 - S/4 HANA Finance: Attribute assignment for material inventory lines' the material group is now available as a table field but it is only populated for specific posting scenarios which is insufficient for comprehensive cost analysis on financial reporting. By implementing this custom development, the material group will be available for all material movements recorded in the system and all financially-relevant relevant sales as well as purchasing transactions and therefore allows for a holistic and flexible reporting of financial costs and spend based on the material group classification defined in S/4 HANA.
In SAP standard, the material group is only captured for integrated, sales-related financial postings in the financial line item tables used for Financial reporting in S/4 HANA. The material group is equally if not more important for cost and spend analysis in integrated, procurement-related financial postings as it provides further and more detailed insights into the nature of the costs that may not always be obvious from just looking at the G/L account used for the financial posting. The Chart of Accounts in S/4 HANA has been condensed to a large extend under the premise that auxiliary reporting dimensions such as the material group can be used for a more detailed and granular analysis of costs incurred in the operational activities of an organization in financial reporting. The material group
The scope of this development therefore includes the following components:
Insert the flowchart and fill in the steps
Step | Description | Comment |
|---|---|---|
| 1 | Financial posting executed by end user. | This posting can come from various source applications and processes such as goods receipt, invoice receipt, process order settlement, etc. |
| 2 | Check if material group is populated in universal journal ledger. | In some scenarios as explained in note 2843578 the material group is populated automatically. In this case, no further action is required. |
| 3. | Posting contains reference to purchase order line item. | The material group used in the purchase order should take preference over the material group assigned in the material. Spend analysis between Procurement and Financial reporting based on material groups must be in sync. |
| 3 | Derive material group from purchase order line item captured in universal journal ledger record. | The material group should be directly read from the purchase order line item if a PO reference is present in the financial line item record. |
| 4 | Posting contains reference to material but no purchase order details. | Should a material movement be posted without a reference to a PO and the material group does not get determined by SAP standard behavior, it shall be derived from the material master. |
| 5 | Derive material group from material captured universal journal ledger record. | |
| 6 | Derive material group text and capture it in universal journal ledger custom field. | Ideally the material group text should be stored in a custom field in ACDOCA for easier identification of the actual spend category. |
| 7 | Execute financial report and drill-down by material group and material group description. | The fields for material group and material description can be added as drill-down dimension in key Finance reports used in S/4 HANA. |
Indicate any dependencies or constraints that may impact this development, in terms of requirements from internal or external applications, other work streams, time constraints, data or system access restrictions. Also, please specify scheduling or process dependencies, e.g. interface/batch job that must run beforehand or process steps that need to be completed prior to executing this development.
To detail the security requirements for processing this enhancement, any data integrity issues associated with the object and the teams that will be responsible for processing the object, i.e. authorization/roles required to who can execute the enhancements, etc.
- Custom Tables, enhancement, transaction codes, programs, Web Dynpro Application, Code Data Services (CDS), Open Data Protocol (OData), BI reports, and Functional Modules need to have at least one authority check either standard or custom. (custom should be an exception)
- All custom tables will be maintained in a certain Authorization Group (example: ZFIN, etc.)
- In the case of transaction codes an additional check other than the object S_TCODE is required. You can use SU24 to find the related authorization objects to check.
All other WRICEFs
- If the authorization check is already performed in the calling Programs, this section can be filled as “Follow calling programs authorization check” (example : BADI to redirect DMS to OpenText, in which the calling Manage Purchase requisition Fiori App already performed authorization check)
- If the authorization check is not checked in any of the development, this section should be filled with the proposed authorization check. You can refer to SU24 to see the standard authorization objects. (example: full custom Fiori App to enable user to download/upload the project plan)
Specify the configuration requirements for this object. Like in case of substitution/ routine specify the configuration needed
Specify the language requirements for this object. Specify the required language and type of translation, like labels, data.
Specify any special requirements or considerations that may impact the enhancement based on specific locations, regulatory compliance or system limitations. Clearly outline requirements e.g. localization rules for countries like China
If the enhancement interacts with third-party systems such as Icertis, describe any additional integration, security or authentication considerations that must be taken into account.
Detail the functional requirements that are desired to be achieved by the Enhancement compared to current functionality
Typically, an enhancement will be based on an existing SAP BADI / user exit. If this is the case, please provide the proposed details of the BADI / user exit.
Include an overview of the source
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Include an overview of the data validation requirement
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
If any custom configuration tables are required, which will be read by the enhancement logic, then specify them here.
<Title Custom Table 1>
<Include an overview of the table and what it’s used for>
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Title Configuration Table 1
Include an overview of the table and what it’s used for
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
This section will give the details on the selection screen parameters, parameter type and whether it’s obligatory or not. This section can be used to define the Import Export parameters for Function Module or User Exit or Screens.
| Field Name | Description | Select: Option or Parameter Check box or Radio button Import or Export | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
This section defines the detailed step-by-step logic implemented within the BAdI/User Exit to process the data received from the standard SAP program and database retrieval. It explains the operations performed on the data, the expected outcomes in different scenarios and how the system should behave in response to specific conditions.
Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)
Specify if there are any specific performance factors that need to be taken into consideration during development i.e. enhancement must be able to be executed by 10 users at the same time, etc.
Detail how errors will be handled: Notification, Restart/ Recovery and Re-Processing Procedures
Please provide some guidance and/or test data to help the developer unit test the enhancement. Please include both positive and negative testing (to validate error situations handling). The developer will need to test repeatedly, so where appropriate provide instructions to reverse the actions performed so the test may be run again or explain how to create new input data to the test. The developer will need logons for test users representing the various roles within the approval process.
| ID | Condition | Expected Result |
|---|---|---|
List any considerations essential for application test planning (e.g., test this before ABC along with DEF separate from GHI). If the development encompasses a user interface, explain how to test it. List any insights as to how this component could be tested the most efficiently.
| Package Name | Parent Package |
|---|---|
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
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 |
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.
