| Status | |
|---|---|
| Owner | BAJAJ-ext, Manoj |
| Stakeholders | PILLAY-ext, Lawrence |
Purpose
The purpose of this document is to define the conversion approach to create the Object 9111 - TRM - Bank guarantee in S4HANA.
A Bank Guarantee is an assurance on the part of a bank to make good an organisation's debt in the event of non-payment. Therefore, Bank Guarantee is essentially an agreement to stand as a cosigner on a transaction. In the event that the original party cannot follow through, the bank can be called upon to provide the payment. Till such time a Bank Guarantee is not revoked, it works as a contingent instrument.
In S4HANA, Bank Guarantee in Treasury module is created as an instrument under the relevant Product Type, Transaction Type (Bank Guarantee received or issued), with Treasury Business Partner and the transaction code used to create such instrument is FTR_CREATE.
For the purpose of migrating active Bank Guarantees, issued or received by Syensqo, a custom program using the BAPI "BAPI_FTR_BG_DEALCREATE" will be used as the standard LTMC (Data Migration Cockpit) only supports the direct transfer i.e. if the source system is ECC.
Conversion Scope
The scope of this document covers the approach for converting active Bank Guarantees, received or issued with information sourced manually from business as the same is not used in source Treasury system (Quantum).
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 |
DCT | Active Bank Guarantees | 160 as of April'26 | S4HANA | 150 <TBC> |
Multi-language Requirement
None
Document Management
None
Legal Requirement
None
Special Requirements
As the conversion involves a source system which is non-SAP, the below area needs special handling:
- Data relevant for Bank Guarantee migration to sourced manually from Business in a Data Collection Template (DCT)
- Business team to ensure that only active and in use records for Bank Guarantees are provided in DCT
- The data as collected via DCT will be stored in the Syniti for Transformation
- Below Configuration Check Tables needs to be referenced in Syniti to validate the data in the DCT:
- Counterparty to Business Partner - BUT100 to check if the BP is assigned with Role "TR0151"
- Company Code - T001
- Product Type - TZPA
- Transaction Type - AT10
- General Valuation Class - TRGC_COM_VALCL
- Bank Guarantee Type - TLCT_BG_TYPE
- Amount and date format from source system to align with S4HANA
- As the target structure in S4HANA involves dependency on various Configuration and BP Master Data objects (CNV 3040), all this data needs to be loaded before Transactions Data loads.
Target Design
For the purpose of migrating active Bank Guarantees as collected in the DCT, issued or received by Syensqo, a custom program using the BAPI "BAPI_FTR_BG_DEALCREATE" will be used as the standard LTMC (Data Migration Cockpit) only supports the direct transfer i.e. if the source system is ECC.
This section covers the list of fields that are part of the BAPI and DCT. This section will also explain field by field mapping of the BAPI structure and where the data will come from for each field for the BAPI.
The technical design of the target for this conversion approach.
There are 3 main tables involved as below
- VTBFHA
- VTBFHAZU
- VTBFHAPO
However, unlike other TRM Instruments, Bank Guarantee does not have a direct corelation of BAPI structure to Transparent Tables such as VTBFHA, VTBFHAZU, VTBFHAPO.
The table below serves as the Header (General Data) for table VTBFHA and includes Bank Guarantee data, which updates both VTBFHAZU and VTBHAPO together upon load via BAPI.
These fields are marked as Utility Fields against the table VTBHFA
| Table | Field | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|
VTBFHA | BUKRS | COMPANY_CODE | CHAR | 4 | This is a Required Field |
VTBFHA | RFHA | TRANSACTION NUMBER | CHAR | 13 | This is Internal 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 | TERM START | DATS | 8 | This is a Required Field |
VTBFHA | DELFZ | TERM END | DATS | 8 | This is a Required Field |
VTBFHA | RPORTB | PORTFOLIO | CHAR | 10 | This is Optional Field |
VTBHFA | WGSCHFT | TRANSACTION CURRENCY | CUKY | 5 | This is a Required Field |
VTBFHA | ZUOND | ASSIGNMENT | CHAR | 18 | 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 | RCOMVALCL | VALUATION_CLASS | NUMC | 4 | This is a Required Field |
| VTBFHA | FACILITYNR | FACILITY | CHAR | 13 | This is Conditional Field, to be used if a Facility is linked to issue of a Bank Guarantee |
VTBFHA | FACILITYBUKRS | FACILITY_COMPANY_CODE | CHAR | 4 | This is Conditional Field, to be used if a Facility is linked to issue of a Bank Guarantee. The field is to be populated with Company Code for which a Facility exists. |
VTBHFA | BEHALF_OF_COMPANY | ON BEHALF OF COMPANY | CHAR | 4 | This is Optional Field |
VTBHFA | RCNTR (KOSTL) | COST CENTRE | CHAR | 10 | This is Optional Field |
VTBFHAZU | DVTRAB | CONTRACT DATE | DATS | 8 | This is a Required Field |
| VTBFHAZU | BUKRS | COMPANY_CODE | CHAR | 4 | This is a Required Field |
VTBFHAZU | RFHA | TRANSACTION NUMBER | CHAR | 13 | This is Internal Field |
VTVTBFHABFHAZU | RDEALER | TRADER | CHAR | 10 | This is Optional Field |
VTBFHAZU | GSPPART | CONTACT PERSON | CHAR | 19 | This is Conditional Field. To be filled up if Applicant or Beneficiary not filled |
VTBFHAZU | NOTICE_DATE | OTC Notice Date | DATS | 8 | This is Optional Field |
VTBFHAPO | BNWHR | Amount or Balance | CURR | 13 | This is a Required Field |
| VTBFHAZU | BUKRS | COMPANY_CODE | CHAR | 4 | This is a Required Field |
VTBFHAZU | RFHA | TRANSACTION NUMBER | CHAR | 13 | This is Internal Field |
| Utility Field (VTBFHA) | FTR_BG_NUMBER | BANK_GUARANTEE_NUMBER | CHAR | 16 | This is a Required Field (Can be populated in VTBFHA-ZUOND) |
Utility Field | FTR_BG_TYPE | BANK_GUARANTEE_TYPE | CHAR | 4 | This is a Required Field (To be checked against table TLCT_BG_TYPE) |
Utility Field | FTR_APPLICANT | APPLICANT | CHAR | 10 | This is Conditional Field. Users to fill an applicant code if Bank Guarantee is received |
Utility Field | FTR_BENEFICIARY | BENEFICIARY | CHAR | 10 | This is Conditional Field. Users to fill a beneficiary code if Bank Guarantee is issued |
Utility Field | FTR_BUTXT | MANUAL_PARTY_COMPANY_NAME | CHAR | 25 | This is Conditional Field. Users to fill this field with the Company Name in case of no beneficiary/applicant involved |
Utility Field | FTR_XKONTRH | MANUAL_PARTY_COMPANY_ADDRESS | CHAR | 80 | This is Conditional Field. Users to fill this field with the Company Name in case of no beneficiary/applicant involved |
Utility Field | FTR_ADVISING_BANK | ADVISING BANK | CHAR | 10 | This is optional field |
Utility Field | EBELN | PURCHASE ORDER | CHAR | 10 | This is optional field |
Utility Field | VBELN_VA | SALES ORDER | CHAR | 10 | This is optional field |
The reference between the tables is a combination of Company Code and Transaction Number. This serves as the Primary Key to join the VTBF* tables.
In Addition to this, the field "Characteristics" will represent the Legacy Guarantee/Deal Number and will serve as the reference to trace back to source/legacy data.
The above was with respect to the target design and the tables that will be updated upon load via BAPI. The transformation is explained in the subsequent sections.
Data Cleansing
For the Object 9111 – TRM Bank Guarantees no specific data cleansing is applicable due to below reasons/assumptions:
- The relevant data source data will be provided/collected by/from Business in a DCT form.
Data- Pre Load Validation Report
However, for the purpose of the Object 9111 – TRM Bank Guarantees, below validations reports should be made available in Syniti so that the DCT Data for Bank Guarantees are 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 |
2 | High | PRODUCT_TYPE | Check if VVSART is valid as per Product Types created in the system in Table TZPA. | Invalid Product Type |
3 | High | TRANSACTION_TYPE | Check if SFHAART is valid as per Transaction Types created in the system in Table AT10 | Invalid Transaction Type |
4 | High | PARTNER | Check if KONTRH is valid as per Business Partners created in the system and has a role "TR0151" in table BUT100 | Invalid Partner |
5 | High | CONTRACT_DATE | Check if DVTRAB is valid in YYYYMMDD Format and is < or = Load Date | Contract Date greater than Load Date |
6 | 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 |
7 | 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 |
8 | High | TERM END | Check if DELFZ is valid in YYYYMMDD Format and is < Start Date | Term End greater than Term Start |
9 | High | FTR_BG_TYPE | Check if value provided for FTR_BG_TYPE (Bank Guarantee Type) exits in table TLCT_BG_TYPE | Invalid Bank Guarantee Type |
10 | Low | FACILITYNR | Check if Facility Number (FACILITYNR) is equal to "Blank" if Product Type (SGSART) ="BGR" AND Transaction Type ='ISS" | Facility Number not available Note: This is not a Hard error i.e. transformation can still proceed if this field is not populated |
11 | Low | FACILITYBUKRS | Check if Facility Company Code (FACILITYBUKRS) is equal to "Blank" if Product Type (SGSART) ="BGR" AND Transaction Type ='ISS" | Facility Company Code not available Note: This is not a Hard error i.e. transformation can still proceed if this field is not populated |
12 | Low | FTR_APPLICANT | Check if applicant (FTR_APPLICANT) is equal to "Blank" if Product Type (SGSART) ="BGR" AND Transaction Type ='REC' | Applicant is not available Note: This is not a Hard error i.e. transformation can still proceed if this field is not populated |
13 | Low | FTR_BENEFICIARY | Check if beneficiary (FTR_BENEFICIARY) is equal to "Blank" if Product Type (SGSART) ="BGR" AND Transaction Type ='ISS" | Beneficiary is not available Note: This is not a Hard error i.e. transformation can still proceed if this field is not populated |
14 | High | Pre Load Report | A preload report in the DCT format to be made available with all relevant errors, if any. Show the record as Ok if no error found. | Preload report in the DCT Format |
Conversion Process
The generic high-level process steps for the conversion are as below:
- Extraction:
- Extract from the source systems: Apply the selection parameters and data relevancy as mentioned in this specification, from the relevant tables
- DCT: The DCT to be prepared if the data to be transformed and is part of the load file is not available in the Source system
- Transform
- Transform fields by applying the fields and value mapping in the Syniti
- Generate and validate Pre-load files
- Load
- Load the validated Pre-load file using SAP's LTMC or the custom upload program as applicable.
However, with respect to object 9111- TRM Bank Guarantees, DCT will be used for transformation and generation of the pre-load file.
Data Privacy and Sensitivity
Not Applicable
Extraction
Extract data from a source into. There are 2 possibilities:
- The data exists. connects to the source and loads the data into. There are 3 methods:
- Perform full data extraction from relevant tables in the source system(s).
- Perform extraction through the application layer.
- Only if; cannot connect to the source, data is loaded to the repository from the provided source system extract/report.
- The data does not exist (or cannot be converted from its current state). The data is manually collected by the business directly in. This is to be conducted using DCT (Data Collection Template) in
The agreed Relevancy criteria is applied to the extracted records to identify the records that are applicable for the Target loads.
However, with respect to object 9111- TRM Bank Guarantees, DCT will be used for transformation and generation of the pre-load file and hence no extraction is needed.
Selection Screen
Not applicable as the extraction is not relevant due to source data to be gathered via DCT.Data Collection Template (DCT)
Target Ready Data Collection Template will be created for data with exception of some fields which require transformation as mentioned in the transformation rule.9111- TRM Bank Guarantee DCT Rules
| Field Name | Field Description | Data Type | Length | Rule |
|---|---|---|---|---|
BUKRS | COMPANY_CODE | CHAR | 4 | This is a Required field. |
SGSART | PRODUCT_TYPE | CHAR | 3 | This is a Required field. |
SFHAART | TRANSACTION_TYPE | CHAR | 3 | This is a Required field. |
KONTRH | PARTNER | CHAR | 20 | This is a Required field. |
DVTRAB | CONTRACT_DATE | DATS | 8 | This is a Required field. |
DBLFZ | Term Start | DATS | 8 | This is a Required Field |
DELFZ | Term End | DATS | 8 | This is a Required Field |
ZUOND | ASSIGNMENT | CHAR | 18 | This is an Optional field. No validations needed for this field. |
REFER | INTERNAL_REFERENCE | CHAR | 16 | This is an Optional field. No validations needed for this field. |
MERKM | CHARACTERISTICS | CHAR | 25 | This is a Required field. |
RCOMVALCL | VALUATION_CLASS | CHAR | 4 | This is a Required field. |
WGSCHFT | Transaction Currency | CUKY | 5 | This is a Required Field |
| FACILITYNR | FACILITY | CHAR | 13 | This is Conditional Field, to be used if a Facility is linked to issue of a Bank Guarantee. Note: this will be dependent upon creation of the Facilities via the object 9113- TRM - Facility |
FACILITYBUKRS | FACILITY_COMPANY_CODE | CHAR | 4 | This is Conditional Field, to be used if a Facility is linked to issue of a Bank Guarantee. The field is to be populated with Company Code for which a Facility exists. Note: this will be dependent upon creation of the Facilities via the object 9113- TRM - Facility |
BEHALF_OF_COMPANY | ON BEHALF OF COMPANY | CHAR | 4 | This is Optional Field To be populated with the S4HANA Company Code for which a Bank Guarantee is issued as "On Behalf of" |
RCNTR (KOSTL) | COST CENTRE | CHAR | 10 | This is Optional Field To be input only if needed for reporting. |
RDEALER | TRADER | CHAR | 10 | This is Optional Field. Keep Blank as Trader function is not in use. |
GSPPART | CONTACT PERSON | CHAR | 19 | This is Conditional Field. To be filled up if Applicant or Beneficiary not filled The information can be filled as Free Text up to 19 Characters. |
NOTICE_DATE | OTC Notice Date | DATS | 8 | This is Optional Field Fill with a Notice Date if applicable. |
BNWHR | Amount or Balance | CURR | 13 | This is a Required Field To be filled with the Bank Guarantee amount. |
FTR_BG_NUMBER | BANK_GUARANTEE_NUMBER | CHAR | 16 | This is a Required Field (Can be same Assignment) |
| FTR_BG_TYPE | BANK_GUARANTEE_TYPE | CHAR | 4 | This is a Required Field Enter the Bank Guarantee Type. The list of the bank guarantee type will be provided to the Business Team responsible for creating the source data. This is to be validated against table TLCT_BG_TYPE |
FTR_APPLICANT | APPLICANT | CHAR | 10 | This is Conditional Field. Users to fill an applicant code if Bank Guarantee is received The applicant code is a Partner with the Counterparty Role |
FTR_BENEFICIARY | BENEFICIARY | CHAR | 10 | This is Conditional Field. Users to fill a beneficiary code if Bank Guarantee is issued The applicant code is a Partner with the Counterparty Role |
FTR_BUTXT | MANUAL_PARTY_COMPANY_NAME | CHAR | 25 | This is Conditional Field. Users to fill this field with the Company Name (as free text) in case of no beneficiary/applicant involved |
| FTR_XKONTRH | MANUAL_PARTY_COMPANY_ADDRESS | CHAR | 80 | This is Conditional Field. Users to fill this field with the Company Address (as free text) in case of no beneficiary/applicant involved |
FTR_ADVISING_BANK | ADVISING BANK | CHAR | 10 | This is optional field Users to fill this field if advising bank information is available. |
| EBELN | PURCHASE ORDER | CHAR | 10 | This is optional field Users to fill this field if purchase order information is available against which a Bank Guarantee is received. |
VBELN_VA | SALES ORDER | CHAR | 10 | This is optional field Users to fill this field if sales order information is available against which a Bank Guarantee is issued. |
Extraction Dependencies
For object 9111 - TRM Bank Guarantees dependencies are applicable as under
| Item # | Step Description | Team Responsible |
|---|---|---|
| 01 | TRM Business Partners with role 000000 and TR0151 have been created | Data Team/Functional Treasury Team |
| 02 | Treasury Configuration as designed is available in the relevant configuration tables such as:
| Functional Treasury Team |
Transformation
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 to make the data Target ready:
- Perform value mapping and data transformation rules.
- Legacy values are mapped to the to-be values (this could include a default value)
- Values are transformed according to the rules defined in
- Prepare target-ready data in the structure and format that is required for loading via prescribed Load Tool. This step also produces the load data ready for business to perform Pre-load Data Validation
Transformation Run Sheet
| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Ensure all the fields that require value mapping, as stipulated Mapping tables, have the latest signed-off mapping files imported into Syniti | Data team |
2 | Ensure that signed off value mappings have been maintained in the Syniti | Syniti team |
3 | Confirm the value mappings as maintained in the Syniti | Data team |
4 | Ensure that Signed off CONSTRUCT from business has been received and maintained in Syniti | Syniti/Data team |
5 | Execute transformation for the object | Syniti team |
6 | Monitor the transformation progress and ensure performance and completion is within allowed timeframe | Syniti/Data team |
7. | Generate Pre-Load reports. | Syniti team |
8. | Generate data load count. | Syniti team |
9. | Log errors as defects, if any and address resolutions. Close defects. | Syniti/Data team |
10. | Re-transform and re-validate the Pre-load reports if necessary. | Syniti/Data team |
11. | Validate the transformed file as part of pre-load validation, raise data defects or provide the pre-load sign-off. | Business |
12. | Analyse and resolve any pre-load defects logged by business. | Syniti/Data team |
13. | Repeat steps 5 to 11 if necessary | Syniti/Data team |
14. | Proceed to pre-load validations | Data team |
Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| 01 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | BUKRS | COMPANY_CODE | From DCT field "BUKRS” |
| 02 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | RFHA | TRANSACTION NUMBER | Internal Field generated by SAP. |
| 03 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | SGSART | PRODUCT_TYPE | From DCT field "SGSART" |
| 04 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | SFHAART | TRANSACTION_TYPE | From DCT field "SFHAART" |
| 05 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | KONTRH | PARTNER | From DCT field "KONTRH" |
| 06 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | DBLFZ | Term Start | From DCT field "DBLFZ" |
| 07 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | DELFZ | Term End | From DCT field "DELFZ" |
| 09 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | WGSCHFT | Transaction Currency | From DCT field "WGSCHFT" |
| 10 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | ZUOND | ASSIGNMENT | From DCT field "ZUOND" or "FTR_BG_NUMBER" |
| 11 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | REFER | INTERNAL_REFERENCE | From DCT field "REFER" |
| 12 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | MERKM | CHARACTERISTICS | From DCT field "MERKM" |
| 13 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | RCOMVALCL | VALUATION_CLASS | From DCT field "RCOMVALCL" |
| 14 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | FACILITYNR | FACILITY | From DCT field "FACILITYNR" |
| 15 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHA | FACILITYBUKRS | FACILITY_COMPANY_CODE | From DCT field "FACILITYBUKRS” |
| 16 | NA | NA | NA | CONSTRUCT | S4HANA | VTBHFA | BEHALF_OF_COMPANY | ON BEHALF OF COMPANY | From DCT field "BEHALF_OF_COMPANY" |
| 17 | NA | NA | NA | CONSTRUCT | S4HANA | VTBHFA | RCNTR (KOSTL) | COST CENTRE | From DCT field "RCNTR" |
| 18 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAZU | DVTRAB | CONTRACT DATE | From DCT field "DVTRAB" |
| 19 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAZU | RDEALER | TRADER | From DCT field "RDEALER" or blank |
| 20 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAZU | GSPPART | CONTACT PERSON | From DCT field "GSPPART" or blank |
| 21 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAZU | NOTICE_DATE | OTC Notice Date | From DCT field "NOTICE_DATE" |
| 22 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | BNWHR | Amount or Balance | From DCT field "BNWHR" |
| 23 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | FTR_BG_NUMBER | BANK_GUARANTEE_NUMBER | From DCT Field "FTR_BG_NUMBER" |
| 24 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | FTR_BG_TYPE | BANK_GUARANTEE_TYPE | From DCT Field "FTR_BG_TYPE" |
| 25 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | FTR_APPLICANT | APPLICANT | From DCT Field "FTR_APPLICANT" or blank |
| 26 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | FTR_BENEFICIARY | BENEFICIARY | From DCT Field "FTR_BENEFICIARY" or blank |
| 27 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | FTR_BUTXT | MANUAL_PARTY_COMPANY_NAME | From DCT Field "FTR_BUTXT" or blank |
| 28 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | FTR_XKONTRH | MANUAL_PARTY_COMPANY_ADDRESS | From DCT Field "FTR_XKONTRH" or blank |
| 29 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | FTR_ADVISING_BANK | ADVISING BANK | From DCT Field "FTR_ADVISING_BANK " or blank |
| 30 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | EBELN | PURCHASE ORDER | From DCT Field "EBELN" or blank |
| 31 | NA | NA | NA | CONSTRUCT | S4HANA | VTBFHAPO | VBELN_VA | SALES ORDER | From DCT Field "VBELN_VA " or blank |
Transformation Mapping
| Mapping Table Name | Mapping Table Description |
|---|---|
| Business Partner | Mapping Table for Quantum counterparty/partner code to S4HANA Business Partner |
Transformation Dependencies
List the steps that need to occur before transformation can commence| Item # | Step Description | Team Responsible |
|---|---|---|
1 | Ensure all the fields that require value mapping, as stipulated Mapping tables, have the latest signed-off mapping files imported into Syniti | Data team |
2 | Ensure that signed off value mappings have been maintained in the Syniti | Syniti team |
3 | Confirm the value mappings as maintained in the Syniti | Data team |
4 | Ensure that Signed off DCT from business has been received and maintained in Syniti | Syniti/Data team |
5 | Confirm on the extracted values | Syniti, Data and business |
Pre-Load Validation
Project Team
The Pre Load validations are performed by Project TeamCompleteness
| Task | Action |
|---|---|
Generation of | Mandatory field check.
|
Record Count | Record Count Confirm the record counts in preload summary report
|
Business Confirmation | Data team after the initial validation of pre-load validation based on the pre agreed validation checklist To send the pre-load file to the Business Representatives. Business Representatives to validate the pre-load file. Agree with data team on the next steps for erroneous records. |
Accuracy
| Task | Action |
|---|---|
Mandatory field mapping and transformation | Obtain a list of the fields to be populated with values from mapping files and ensure all these fields contain S/4HANA values.
|
Business Value Checks | All dates, Amount etc, for the Bank Guarantee are accurately populated in the pre-load file and are as per the DCT. |
Records in Errors | Review and correct the errors. Achieve a zero-error record count as much as possible. Raise defects for data remediated and requiring a correction in the source data. |
Business
The following pre-load validations will be performed by business.
Completeness
| Task | Action |
|---|---|
Check Data load register count | Business Data Owner/s to verify that the total number of relevant records to be converted as per DCT is equal to the total number of records in the Preload file. |
Key Fields Check | Business to check some key fields such as validity end date, Start an End Date, Amount etc., are correctly populated against the DCT |
Accuracy
| Task | Action |
|---|---|
Conversion accuracy | To check and validate the load files with all the transformation and mapping rules, to be signed off. |
Load
In case of object 9111- TRM- Bank Guarantee, the standard LTMC (Migration Object: S4_FI_TRM_BANK_GUARANTEE) only supports the direct transfer i.e. the source data is directly sourced from ECC, transformed and loaded.
As the source system here is not ECC and the transformation is based on the DCT, a custom load program using the BAPI → BAPI_FTR_BG_DEALCREATE will be used for load.
BAPI Data Structure for BAPI_FTR_BG_DEALCREATE
| Target Table Structure | Target Field | Target Description | Transformation Logic |
|---|---|---|---|
| BAPI_FTR_BG_DEALCREATE | BUKRS | COMPANY_CODE | From DCT field "BUKRS” |
| BAPI_FTR_BG_DEALCREATE | VVSART | PRODUCT_TYPE | From DCT field "SGSART" |
| BAPI_FTR_BG_DEALCREATE | TB_SFHAART | TRANSACTION_TYPE | From DCT field "SFHAART" |
| BAPI_FTR_BG_DEALCREATE | TB_KUNNR_NEW | PARTNER | From DCT field "KONTRH" |
| BAPI_FTR_BG_DEALCREATE | TB_DVTRAB | CONTRACT_DATE | From DCT field "DVTRAB" |
| BAPI_FTR_BG_DEALCREATE | TB_TVTRAB | CONTRACT_TIME | System Time at the time of Data Load |
| BAPI_FTR_BG_DEALCREATE | TB_ZUOND | ASSIGNMENT | From DCT field "ZUOND" |
| BAPI_FTR_BG_DEALCREATE | TB_REFER | INTERNAL_REFERENCE | From DCT field "REFER" |
| BAPI_FTR_BG_DEALCREATE | TB_MERKM | CHARACTERISTICS | From DCT field "MERKM" |
| BAPI_FTR_BG_DEALCREATE | TB_DCRDAT | ENTRY_DATE | Date on which the data is getting loaded. |
| BAPI_FTR_BG_DEALCREATE | TPM_COM_VAL_CLASS | VALUATION_CLASS | From DCT field "RCOMVALCL” |
| BAPI_FTR_BG_DEALCREATE | CURRENCY | Transaction Currency | From DCT field "WGSCHFT" |
| BAPI_FTR_BG_DEALCREATE | CURRENCY_ISO | ISO currency code | From DCT field "WGSCHFT" |
| BAPI_FTR_BG_DEALCREATE | START_TERM | Term Start | From DCT field "DBLFZ" |
| BAPI_FTR_BG_DEALCREATE | END_TERM | Term End | From DCT field "DELFZ" |
| BAPI_FTR_BG_DEALCREATE | NOMINAL_AMOUNT | Amount or Balance | From DCT field "BNWHR" |
| BAPI_FTR_BG_DEALCREATE | FACILITYNR | FACILITY | From DCT field "FACILITYNR" |
| BAPI_FTR_BG_DEALCREATE | FACILITYBUKRS | FACILITY_COMPANY_CODE | From DCT field "FACILITYBUKRS” |
| BAPI_FTR_BG_DEALCREATE | BEHALF_OF_COMPANY | ON BEHALF OF COMPANY | From DCT field "BEHALF_OF_COMPANY" |
| BAPI_FTR_BG_DEALCREATE | RCNTR (KOSTL) | COST CENTRE | From DCT field "RCNTR" |
| BAPI_FTR_BG_DEALCREATE | RDEALER | TRADER | From DCT field "RDEALER" or blank |
| BAPI_FTR_BG_DEALCREATE | GSPPART | CONTACT PERSON | From DCT field "GSPPART" or blank |
| BAPI_FTR_BG_DEALCREATE | NOTICE_DATE | OTC Notice Date | From DCT field "NOTICE_DATE" |
| BAPI_FTR_BG_DEALCREATE | BNWHR | Amount or Balance | From DCT field "BNWHR" |
| BAPI_FTR_BG_DEALCREATE | FTR_BG_NUMBER | BANK_GUARANTEE_NUMBER | From DCT Field "FTR_BG_NUMBER" |
| BAPI_FTR_BG_DEALCREATE | FTR_BG_TYPE | BANK_GUARANTEE_TYPE | From DCT Field "FTR_BG_TYPE" |
| BAPI_FTR_BG_DEALCREATE | FTR_APPLICANT | APPLICANT | From DCT Field "FTR_APPLICANT" or blank |
| BAPI_FTR_BG_DEALCREATE | FTR_BENEFICIARY | BENEFICIARY | From DCT Field "FTR_BENEFICIARY" or blank |
| BAPI_FTR_BG_DEALCREATE | FTR_BUTXT | MANUAL_PARTY_COMPANY_NAME | From DCT Field "FTR_BUTXT" or blank |
| BAPI_FTR_BG_DEALCREATE | FTR_XKONTRH | MANUAL_PARTY_COMPANY_ADDRESS | From DCT Field "FTR_XKONTRH" or blank |
| BAPI_FTR_BG_DEALCREATE | FTR_ADVISING_BANK | ADVISING BANK | From DCT Field "FTR_ADVISING_BANK " or blank |
| BAPI_FTR_BG_DEALCREATE | EBELN | PURCHASE ORDER | From DCT Field "EBELN" or blank |
| BAPI_FTR_BG_DEALCREATE | VBELN_VA | SALES ORDER | From DCT Field "VBELN_VA " or blank |
This BAPI has a simulation run provision. As part of the pre-load check when all the Syniti ADMM checks are performed, before making the production run of all the Bank Guarantee loads, a simulation run should be performed, and all the standard BAPI errors needs to be documented and resolved.
A custom report, if required needs to be created for this. The report needs to have row reference and display the standard BAPI return messages successful as well as failed. This will make sure all the Bank Guarantees as per load file successfully pass all checks.
The load process includes:
- Execute the automated data load into target system using the program based on "BAPI_FTR_BG_DEALCREATE" and use the DCT File vs structure section of this document to populate the BAPI details.
- Once the data is loaded to the target system, it will be extracted and prepared for Post Load Data Validation with side by side check of each fields in scope of the objects with fields to be displayed as XXXX_ECC, XXXX_S4HANA, XXXX_MATCH ( As TRUE or FALSE) with an additional column denoting fields not matching and status of loading in S/4HANA as LOADED_IN_S4HANA ( As TRUE or FALSE)
Load Run Sheet
| Item # | Step Description | Team Responsible |
|---|---|---|
01 | Go to load file and pick 5 data records, load manually without any tool. See what happens. If all okay, proceed with the next step. | Data team |
02 | Go to load file and pick 10 records and load them with the tool. No action if the previous step has fallen. If not, then continue to load 10 records with the tool. Check if everything went okay. | Data team |
03 | Proceed with the full load if steps one and two were succeed else fix the issue with records | Data team |
04 | Validate few records loaded by accessing standard transactions from S/4HNA e.g. FTR_EDIT or check in the tables - VTBFHA, VTBFHAZU or VTBFHAPO | Data team |
05 | Generate post load report if step 5 is validated | Data team |
06 | Log errors as defects, if any and address resolutions. Close defects. | Data team |
07 | Resolve defects by reupload and re-generate post load reports if necessary. | Data team |
08 | Business to validate the post load files as part of post-load validation, raise data defects or provide the post-load sign-off. | Business |
09 | Repeat steps 1 to 5 if necessary. | Data team |
Post Process:
It is suggested to do a settlement of the Bank Guarantees after successful post load verification. This can be done by the business.
Load Phase and Dependencies
The load phase for the object 9111-Treasury Bank Guarantees is Cutover Phase 5
Configuration
Below configurations should exist prior to the load.
| Item # | Configuration Item |
|---|---|
01 | Company Codes relevant for Treasury- Field BUKRS (Check Table: T001) |
02 | Product Category- Field SANLF (Check Table: TZAF) |
03 | Product Type- Field SGSART (Check Table: TZPA) |
04 | Financial Transaction Types- Field SFHAART (Check Table: AT10) |
05 | General Valuation Class - Check Table: TRGC_COM_VALCL |
06 | Bank Guarantee Type - Check Table: TLCT_BG_TYPE |
Conversion Objects
| Object # | Preceding Object Conversion Approach |
|---|---|
| CNV-3007 | Business Partner - General Role |
| CNV-1083 | Bank Master |
| CNV-3040 | Business Partner - Treasury |
| CNV-3042 | Business Partner Bank - TR0703 |
| CNV- 9113 | TRM- Facilities |
Error Handling
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 |
|---|---|---|
Valid Master | Business Partner is not having a valid treasury role i.e. TR0151 | Ensure that Business Partner is updated with correct role |
Invalid Company Code | Company Code in the DCT is invalid based on the check table T001 | Ensure correct Company Code is supplied to the BAPI |
Invalid Product Type | Product Type in the DCT is invalid based on the check table TZPA | Ensure correct Product Type is supplied to the BAPI |
Invalid Transaction Type | Transaction Type in the DCT is invalid based on the check table AT10 | Ensure correct Transaction Type is supplied to the BAPI |
Invalid Bank Guarantee Type | Bang Guarantee type in the DCT is based on the check table TLCT_BG_TYPE | Ensure correct Bank Guarantee type is supplied to the BAPI |
Invalid Valuation Class | Valuation Class in the DCT is based on the check table TRGC_COM_VALCL | Ensure correct Valuation Class is supplied to the BAPI |
Post-Load Validation
Project Team
The following post load validations will be done by Project Team
Completeness
| Task | Action |
|---|---|
Reconciliation of Record Count | Record Count - Count and check how many records were loaded vs. Records in the load file (Each mock has it's own data record count) Check for logs from Load and fix erroneous records, if any. To check the records loaded, a variant will be created in standard SAP report "FTR_00". We can take a dump from this standard report to verify all the relevant information as part of the load. |
Accuracy
| Task | Action |
|---|---|
Check values in key fields for accuracy | Post-load reports will have the same structure as the load file and some additional columns as required to facilitate the post load validation. Leverage on tool to create a Post Load report that reports S/4HANA loaded records along with the legacy values side-by-side to allow for 100% check of all these fields in the shortest possible time. Any mismatch will be reported under the Post Load - Error report. |
Business
The following post load validations will be done by business.
Completeness
| Task | Action |
|---|---|
Record Count Check | Review the record count report from the Data Team and ensure it is correct by cross-checking with the record count confirmed during Pre-load Business Validations Business may also run transaction code FTR_EDIT or FTR_DISPLAY to cross check the records created for Bank Guarantees |
Accuracy
| Task | Action |
|---|---|
Field Checks | Check key fields to ensure that Bank Guarantees has been maintained with proper details such as
|
Key Assumptions
- Base Master Data Standard supporting this transaction load is up to date as on the date of documenting this conversion approach and data load.
- 9111 - TRM- Bank Guarantees is in scope based on data design and any exception requested by business.
- The data relevant for migration of Bank Guarantees will be provided by business
- The beneficiary/applicants if applicable will be available after the Treasury Business Partner loads and no value mapping will be needed
See also
CNV-3007 - Business Partner - General - CNV-3007 Business Partners - General (Role 000000) - SyWay Project - Syensqo - Wiki knowledge base
CNV-3040 - Business Partner - Counterparties - CNV-3040 Business Partner Counterparty - SyWay Project - Syensqo - Wiki knowledge base
CNV-3042 - Business Partner - Banks - CNV-3042 Business Partner Bank - TR0703 - SyWay Project - Syensqo - Wiki knowledge base
CNV-1083- Bank Master - CNV-1083 Bank Master - SyWay Project - Syensqo - Wiki knowledge base
CNV-9113 - TRM- Facilities - CNV-9113 TRM - Facilities - SyWay Project - Syensqo - Wiki knowledge base