| Status | |
|---|---|
| Owner | VIDWANS-ext, Sauradh |
| Stakeholders |
The purpose of this document is to define the conversion approach to create Facilities Transactions in S/4 HANA.
Facilities are borrowing arrangements with either one or multiple banks. If we have a long term borrowing facility with one bank its called as Bi-Lateral Facility. Under this facility you, can define the fund requirements and the Bank will ear mark these funds to be drawn at a certain interval. If this facility is with multiple banks its called as Syndicate Facility. In a Syndicate there is normally a Lead Banker who will arrange the lending commitment from other lenders and will also have a Lead Banker charges.
These instruments are created under a certain Product Type (Instrument Number) and a Transaction Type (Kind of action i.e. buying or selling) against a counterparty (BP Number) in a Company Code.
The scope of this document covers the approach for converting active Facilities from Legacy Source System (Quantum) into S/4HANA.
The relevancy criteria is not applicable for this object as the relevant data will be provided by business in a DCT (Data Collection Template).
List of source systems and approximate number of records
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
Quantum | Live Commercial Paper Contracts | 100 <TBC> | S4HANA | 100 <TBC> |
Summarize Multi-language Requirement/s, if any
Summarize Document Management requirement, if any
Summarize Legal Requirement/s, if any
As the conversion involves a source system which is non-SAP, the below area needs special handling:
Custom Check Tables for Interest Calculation Method, Frequency and Update Rule are as under:
Interest Calculation Method:
Interest Calculation Method | Text |
1 | 360E/360 |
B | 360E/365 |
L | 360/360 (German) |
F | 360/360 (ISDA) |
H | 360/365 (ISDA) |
7 | 360/360 |
2 | act/360 |
E | act/364 |
3 | act/365 |
R | act/365.25 |
4 | act/366 |
M | act/365P |
5 | act/actP (ICMA) |
6 | act/actY (ISDA) |
G | act/actE (AFB) |
Q | act/actEP (AFB) |
N | act/365L |
S | act/365Y |
A | actW/252 |
D | 365/360 |
C | 365/365 |
I | 360E/actY |
8 | 30.42E/360 |
9 | *365.25/360 |
P | 01-01-2026 |
J | m+act/360 |
K | m+30/360 |
0 | Not Specified |
T | act/act[M] |
U | actW/actW[M] |
Update Rule:
| Rule Number | Text |
| 0 | Pro Rata Temporis |
| 1 | Include Fully |
| 2 | Do Not Include |
Frequency:
1 | At End of Term |
5 | On First Day of Month |
2 | On Last Day of Month |
3 | Monthly |
4 | Daily |
0 | Manual Input |
For a Transaction Load DCT, since there are no standard LTMC objects that we can use for loading this data, we will be using BAPI’s for this purpose. In a BAPI there are multiple fields, off which all are not necessary to be utilized as part of DCT.
In this section, we will see the full list of fields that are part of the DCT. This section will also explain field by field mapping of the DCT structure and where the data will come from for each field.
The technical design of the target for this conversion approach.
| Table Name | Field | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|
| VTBFHA | BUKRS | COMPANY_CODE | CHAR | 4 | This is a Required Field |
| VTBFHA | SGSART | PRODUCT_TYPE | CHAR | 3 | This is a Required Field |
| VTBFHA | SFHAART | TRANSACTION_TYPE | CHAR | 3 | This is a Required Field |
| VTBFHA | KONTRH | PARTNER | CHAR | 10 | This is a Required Field |
| VTBFHA | DBLFZ | CONTRACT_DATE | DATS | 8 | This is a Required Field |
| VTBFHAZU | RDEALER | TRADER | CHAR | 12 | This is Optional Field |
| VTBFHA | RPORTB | PORTFOLIO | CHAR | 10 | This is Optional Field |
| VTBFHA | ZUOND | ASSIGNMENT | CHAR | 18 | This is Optional Field |
| VTBFHAZU | NORDEXT | EXTERNAL_REFERENCE | CHAR | 16 | This is Optional Field |
| VTBFHA | REFER | INTERNAL_REFERENCE | CHAR | 16 | This is Optional Field |
| VTBFHA | MERKM | CHARACTERISTICS | CHAR | 25 | This is a Required Field |
| VTBFHA | TPM_COM_VAL_CLASS | VALUATION_CLASS | NUMC | 4 | This is a Required Field |
| VTBFHA | DBLFZ | Term Start | DATS | 8 | This is a Required Field |
| VTBFHA | DELFZ | Term End | DATS | 8 | This is a Required Field |
| NA | NA | Calculation Period: Start Inclusive vs. End Inclusive | CHAR | 1 | This is a Required Field |
| VTBFHA | WGSCHFT | Transaction Currency | CUKY | 5 | This is a Required Field |
| VTB_ASGN_LIMIT | LIMIT_DATE | FTR Assignment Management: Limit Date | DATS | 8 | This is a Required Field |
| VTB_ASGN_LIMIT | LIMIT_CHG_AMOUNT | FTR Assignment Management: Drawing Amount | CURR | 17 | This is a Required Field |
| VTB_ASGN_LIMIT | LIMIT_CURRENCY | FTR Assignment Management: Limit Currency | CUKY | 5 | This is a Required Field |
| VTB_ASGN_LIMIT | LIMIT_POS_AMOUNT | FTR Assignment Management: Drawing Amount (BAPI) | DEC | 23 | This is a Required Field |
| VTBFINKO | SRHYTHM | Frequency | NUMC | 3 | This is Optional Field |
| VTBFINKO | AMMRHY OR ATTRHY (Pick any field that has a value. If the Frequency Indicator is set to Months, then AMMRHY will have a value. If Frequency Indicator is set to Days then ATTRHY will have a value. | Unit for Frequency | NUMC | 1 | This is Optional Field |
| VTBFHAPO | PKOND | Percentage rate for condition items | DEC | 10 | This is Optional Field |
| NA | NA | Calculation method for first period of condition item | NUMC | 1 | This is Optional Field |
| NA | NA | Calculation method for last period of condition item | NUMC | 1 | This is Optional Field |
| NA | NA | Interest Calculation Method | CHAR | 1 | This is Optional Field |
| VTBFHAPO | SKALIDWT | Interest Calendar | CHAR | 2 | This is Optional Field |
| NA | NA | Update for Calculation/Due Date for Interest | NUMC | 2 | This is Optional Field |
| VTBFHAPO | DVALUT | Calculation Date | DATS | 8 | This is Optional Field |
| NA | NA | Inclusive Indicator for Calculation Date | CHAR | 1 | This is Optional Field |
| NA | NA | Month-End Indicator for Calculation Date | CHAR | 1 | This is Optional Field |
| VTBFINKO | SVWERK | Working Day Shift for Calculation Day | NUMC | 1 | This is Optional Field |
| VTBFINKO | DFAELL | Due date | DATS | 8 | This is Optional Field |
| NA | NA | Month-End Indicator for Due Date | CHAR | 1 | This is Optional Field |
| VTBFINKO | SFWERK | Working Day Shift for Due Date | NUMC | 1 | This is Optional Field |
| NA | NA | Shift Due Date Back to End of Term | CHAR | 1 | This is Optional Field |
There are 5 main tables in consideration here.
The reference between the tables is a combination of Company Code and Transaction Number. This is the Primary Key to join these tables.
In Addition to this, the field "Characteristics" will have the Legacy Quantum Deal Number. This will form a linkage between Deals loaded in the system vs Quantum deals.
In the above table we saw fields in the DCT. Now we will check the fields in the BAPI and the data logic how it will correspond to the DCT.
For the Object 9113 – Treasury Facilities no specific data cleansing is applicable due to below reasons/assumptions:
However, for the purpose of the object 9113 – Treasury Facilities, below validations reports should be available in Syniti so that the data as provided in DCT is validated before generating the pre-load file.
| ID | Criticality | Error Message/Report Description | Rule | Output |
|---|---|---|---|---|
| 1 | High | Company Code is valid | Check if BUKRS is valid as per Company Codes created in the system in Table T001 | Invalid Company Code |
| 1 | High | PRODUCT_TYPE | Check if VVSART is valid as per Product Types created in the system in Table TZPA. Value for Facility Product Type is “CPF” or "BLT". If this is not, then the validation should fail. | Invalid Product Type |
| 1 | High | TRANSACTION_TYPE | Check if SFHAART is valid as per Transaction Types created in the system in Table AT10 | Invalid Transaction Type |
| 1 | High | PARTNER | Check if KUNNR is valid as per Business Partners created in the system under CNV 3040 Business Partner Counterparty | Invalid Partner |
| 1 | High | CONTRACT_DATE | Check if DVTRAB is valid in YYYYMMDD Format and is < or = Load Date | Contract Date greater than Load Date |
| 1 | High | VALUATION_CLASS | Check if TPM_COM_VAL_CLASS is valid as per Company Codes created in the system in Table TRGC_COM_VALCL | Invalid Valuation Class |
| 1 | High | TERM START | Check if DBLFZ is valid in YYYYMMDD Format and is < or = Contract Date | Term Start greater than or equal to Contract Date |
| 1 | High | TERM END | Check if DELFZ is valid in YYYYMMDD Format and is < Start Date | Term End greater than Term Start |
Apart from the above, a custom report is required to be created for this. The report needs to have row reference for each Interest Rate Instrument loaded under this CNY and display the standard BAPI return messages successful as well as failed. This will make sure all the deposits successfully pass all checks. An additional check is needed if
The generic high-level process steps for the conversion are as below:
However, with respect to object 9113- Treasury Facilities DCT will be used for transformation and generation of the pre-load file.
Extract data from a source into Syniti Migrate. There are 2 possibilities:
The agreed Relevancy criteria is applied to the extracted records to identify the records that are applicable for the Target loads
| Req # | Requirement Description | Team Responsible |
|---|---|---|
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
<Object> DCT Rules
| Field Name | Field Description | Rule |
|---|---|---|
List the steps that need to occur before extraction can commence
| Item # | Step Description | Team Responsible |
|---|---|---|
The Target fields are mapped to the applicable Legacy field that will be its source, this is a 3-way activity involving the Business, Functional team and Data team. This identifies the transformation activity required to allow Syniti Migrate to make the data Target ready:
| Item # | Step Description | Team Responsible |
|---|---|---|
Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| Mapping Table Name | Mapping Table Description |
|---|---|
| Item # | Step Description | Team Responsible |
|---|---|---|
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
The load process includes:
| Item # | Step Description | Team Responsible |
|---|---|---|
Load Phase and Dependencies
Identify the phase as to “when” the load for this object will occur. <Pre-Cutover, Cutover, Post Cutover> and list the steps that need to occur before the load can commence
List the Configurations required before loading can commence
| Item # | Configuration Item |
|---|---|
| Object # | Preceding Object Conversion Approach |
|---|---|
| list the exact title of the conversion object of only the immediate predecessor – this will then confirm the DDD (Data Dependency Diagram) | |
The table below depicts some possible system errors for this data object during data load. All data load error is to be logged as defect and managed within the Defect Management
| Error Type | Error Description | Action Taken |
|---|---|---|
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
Any additional key assumptions.
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.