Status

OwnerVIDWANS-ext, Sauradh 
Stakeholders

Purpose

The purpose of this document is to define the conversion approach to create Bond Transactions in S/4 HANA.

Bond are Debt Instruments where the company borrow funds from the market by Issuing Bonds. Bonds are either issued at Par i.e. 100% of the value of the bonds, or at Discount i.e for eg 98% of the value or at Premium i.e. 102% of the value of the Bond. The Premium or Discount on the Bond is amortized over the life of the Bond.

These instruments are create 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 for a Security ID and held in a Security Account. To facilitate this, Master Data like Business Partners (CNV - 3040), Security Class (CNV - 1184), Security Account (CNV - 1185) are referenced in this CNV in the below sections. 


Conversion Scope

The scope of this document covers the approach for converting active Bonds 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


SourceScope

Source Approx No. of Records

Target SystemTarget Approx

No. of Records

Quantum

Live Bond Investment Contracts

100 <TBC>

S4HANA

100 <TBC>

Additional Information

Multi-language Requirement

Not Applicable

Document Management

Not Applicable

Legal Requirement

Not Applicable

Special Requirements

As the conversion involves a source system which is non-SAP, the below area needs special handling:

  1. Extraction of Bond data from source system i.e. Quantum is to be done manually
  2. Cleansing by business team in the source system (Quantum) to ensure that only active and in use records for Bonds are provided in DCT
  3. The extracted records to be converted into a DCT and stored in the Syniti for Transformation
  4. Below Configuration Check Tables needs to be referenced in Syniti to validate the data in the DCT:
    1. Counterparty to Business Partner - BUT000
    2. Company Code - T001
    3. Product Type - TZPA
    4. Transaction Type -  AT10
    5. Trader - TZDEA
    6. Portfolio Code - TWPOB  
    7. General Valuation Class - TRGC_COM_VALCL
    8. Security Account – TWD01
    9. Security ID – VWPANLA
  5. Amount and date format from source system to align with S4HANA 
  6. 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 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 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.

Table NameFieldField DescriptionData TypeLengthRequirement
Utility Field
(VTBFHA)
ZSINCLInclusive Indicator as Character FieldCHAR1This is Optional Field
VTBFHABUKRSCOMPANY_CODECHAR4This is a Required Field
VTBFHARFHATRANSACTION NUMBERCHAR10This is Internal Field
VTBFHASGSARTPRODUCT_TYPECHAR3This is a Required Field
VTBFHASFHAARTTRANSACTION_TYPECHAR3This is a Required Field
VTBFHAKONTRHPARTNERCHAR10This is a Required Field
VTBFHADBLFZCONTRACT_DATEDATS8This is a Required Field
VTBFHARPORTBPORTFOLIOCHAR10This is a Required Field
VTBFHAZUONDASSIGNMENTCHAR18This is Optional Field
VTBFHAREFERINTERNAL_REFERENCECHAR16This is Optional Field
VTBFHAMERKMCHARACTERISTICSCHAR25This is a Required Field
VTBFHAFACILITYBUKRSVALUATION_CLASSNUMC4This is a Required Field
VTBFHARANLSecurity Class ID NumberCHAR13This is a Required Field
VTBFHARLDEPOSecurities AccountCHAR10This is a Required Field
VTBFHAWGSCHFTTransaction CurrencyCUKY5This is a Required Field
VTBFHAPOBUKRSCOMPANY_CODECHAR4This is a Required Field
VTBFHAPORFHATRANSACTION NUMBERCHAR10This is Internal Field
VTBFHAPORFHAZUTransaction ActivityNUMC5This is Internal Field
VTBFHAPODCRDATENTERED ONDATS8This is Internal Field
VTBFHAPOTCRTIMENTRY TIMETIMS6This is Internal Field
VTBFHAPORFHAZBTRANSACTION FLOWNUMC4This is Internal Field
VTBFHAPODBESTANDPosition Value DateDATS8This is a Required Field
VTBFHAPODVAULTCalculation DateDATS8This is a Required Field
VTBFHAPOBNWHRNominal AmountDEC23This is a Required Field
VTBFHAPOBUPRCSec. Price Without Curr. Reference for Unit/Price QuotationDEC15This is a Required Field
VTBFHAPOBZBETRPayment AmountDEC23This is a Required Field
VTBFHAPOSFLATIndicator 'Traded flat',i.e.no accrued interest calculationCHAR1This is a Required Field
VTBFHAPOSCOUPONCoupon ID for interest and accrued interest calculationCHAR1This is a Required Field
VTBFHAPOSSTCKTGAccrued interest: Daily methodCHAR1This is a Required Field
VTBFHAPOSFHAZBAFlow TypeCHAR4This is Optional Field
VTBFHAZUBUKRSCOMPANY_CODECHAR4This is a Required Field
VTBFHAZURFHATRANSACTION NUMBERCHAR10This is Internal Field
VTBFHAZURFHAZUTRANSACTION ACTIVITYNUMC5This is Internal Field
VTBFHAZURDEALERTRADERCHAR12This is a Required Field
VTBFHAZUNORDEXTEXTERNAL_TRANSACTION_NUMBERCHAR16This is Optional Field
VTBFHAZUSEFFMETHEffective Interest Method (Financial Mathematics)NUMC1This is a Required Field



The DCT Target fields are based on below main Treasury Tables:

  1. VTBFHA
  2. VTBFHAPO
  3. VTBFHAZU

The primary linkage between the tables are Company Code and Deal Number. In addition to this, Characteristics Field will be used to link up Quantum Data with SAP as a primary key. Each SAP deal will correspond to the Quantum Deal. 

In the above table we saw fields in the DCT. 


Data Cleansing

For the Object 9110  – Treasury Bonds no specific data cleansing is applicable due to below reasons/assumptions:

  1. The Source System is Quantum and therefore it will be a manual extract of relevant data in a DCT form


Data- Pre Load Validation Report

However, for the purpose of the object 3040 - Business Parter Counterparty, below validations reports should be available in Syniti so that the data as provided in DCT is validated before generating the pre-load file. 

Criticality

Error Message/Report Description

Rule

Output

High

Company Code is valid

Check if BUKRS is valid as per Company Codes created in the system in Table T001

Invalid Company Code

High

PRODUCT_TYPE

Check if VVSART is valid as per Product Types created in the system in Table TZPA.
Value for Bond Product Type is “EAP”. If this is not, then the validation should fail. 

Invalid Product Type

High

TRANSACTION_TYPE

Check if SFHAART is valid as per Transaction Types created in the system in Table AT10

Invalid Transaction Type

High

PARTNER

Check if KUNNR is valid as per Business Partners created in the system under CNV 3040 Business Partner Counterparty

Invalid Partner

High

CONTRACT_DATE

Check if DVTRAB is valid in YYYYMMDD Format and is < or = Load Date

Contract Date greater than Load Date

High

TRADER

Check if RDEALER is valid as per Traders created in the system in Table TZDEA

Invalid Trader

High

PORTFOLIO

Check if RPORTB is valid as per Portfolio Code created in the system in Table TWPOB

Invalid Portfolio Code

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

High

SECURITY_ID

Check if VVRANLW is valid as per Security ID created in the system in Table VWPANLA

Invalid Security ID

High

SECURITY_ACCOUNT

Check if VRLDEPO is valid as per Security Account created in the system in Table TWD01

Invalid Security Account

High

POSITION_VALUE_DATE

Check if DBESTAND is valid in YYYYMMDD Format and is > or = Contract Date

Position Value date greater than Contract date

High

PAYMENT_DATE

Check if DVALUT is valid in YYYYMMDD Format and is > or = Contract Date

Payment date greater than Contract date


Apart from the above, a custom report is required to be created for this. The report needs to have row reference for each BOND loaded under this CNV 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

  • All dates loaded are correctly transformed into the deals created
  • Payment Details are not going blank and if yes, the BAPI will return a warning for the same. If this warning appears, it will signify the BP Master Maintenance has been missed. Such records must fail and the maintenance needs to be done at the BP Master.

Conversion Process


The generic high-level process steps for the conversion are as below:

  1. Extraction:
    1. Extract from the source systems: Apply the selection parameters and data relevancy as mentioned in this specification, from the relevant tables
    2. 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
  2. Transform 
    1. Transform fields by applying the fields and value mapping in the Syniti 
    2. Generate and validate Pre-load files
  3. Load
    1. Load the validated Pre-load file using SAP's LTMC or the custom upload program as applicable. 

However, with respect to Object 9110  – Treasury Bonds 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 Syniti Migrate. There are 2 possibilities:

  1. The data exists. Syniti Migrate connects to the source and loads the data into Syniti Migrate. There are 3 methods:
    1. Perform full data extraction from relevant tables in the source system(s).
    2. Perform extraction through the application layer.
    3. Only if Syniti Migrate; cannot connect to the source, data is loaded to the repository from the provided source system extract/report.
  2. The data does not exist (or cannot be converted from its current state). The data is manually collected by the business directly in Syniti Migrate. This is to be conducted using DCT (Data Collection Template) in Syniti Migrate

The agreed Relevancy criteria is applied to the extracted records to identify the records that are applicable for the Target loads

Extraction Run Sheet

Req #Requirement DescriptionTeam Responsible

01

Extract from relevant tables/reports from Quantum all relevant information required to populate the DCT for Treasury Bonds for relevant Company Codes.

This extraction is dependent on the extraction, validation and load of Master Data Object CNV 3040 BP Master, CNV 1184 Security Class and CNV 1185 Security Account. It is also dependent on completion of configuration for items like Company Code, Product Type, Transaction Type, Portfolio Codes, General Valuation Class. 

Business


Selection Screen

Not applicable as the extraction is manual activity to be performed by business in Quantum system.


Data Collection Template (DCT)

Target Ready Data Collection Template will be created for 9110  – Treasury Bonds with exception of some fields which require transformation as mentioned in the transformation rule.


 9110  – Treasury Bonds DCT Rules

Field NameField DescriptionData TypeLengthRule
BUKRSCOMPANY_CODESame as Target Design
This is a Required field. 

This data will be captured by business. It is the Company Code under which a Stock is to be created.

In DCT, S4HANA number to be populated based upon the list of Company Codes. This list needs to be provided to the Business Team who will be downloading data from Quantum System.

Validation check needs to be done with check table T001
SGSARTPRODUCT_TYPESame as Target Design
This is a Required field. 

This data will be captured by business. It is the Product Type under which a Stock is to be created.

In DCT, S4HANA number is defaulted to “EAP”.

Validation check needs to be done with check table TZPA
SFHAARTTRANSACTION_TYPESame as Target Design
This is a Required field. 

This data will be captured by business. It is the Transaction Type under which a Stock is to be created.

In DCT, S4HANA number is defaulted to “100”.

Validation check needs to be done with check table AT10
KONTRHPARTNERCHAR20This is a Required field.

This data will be captured by business for Counterparties. A validation is needed to check the BP number captured in the DCT is valid one and is present as per CNV 3040 - Business Partner Counterparty.

Validation check needs to be done with check table BUT100
DBLFZCONTRACT_DATESame as Target Design
This is a Required field.

Date format is YYYYMMDD. Contract Date will always be  PRIOR TO the Load Date. This check needs to be implemented. 

Example: 99991231
RDEALERTRADERSame as Target Design
This is a Required field. 

This data will be captured by business. It is the Trader who concludes the Stock.

In DCT, S4HANA Trader Code needs to be populated based upon the list of configured Traders. This list needs to be provided to the Business Team who will be downloading data from Quantum System.

Validation check needs to be done with check table TZDEA
RPORTBPORTFOLIOSame as Target Design
This is a Required field. 

This data will be captured by business. It is the Portfolio Code to bucket all Stock under for reporting purposes.In DCT, S4HANA Portfolio Codes needs to be populated based upon the list of Portfolio's configured in the system. This list needs to be provided to the Business Team who will be downloading data from Quantum System.
Validation check needs to be done with check table TWPOB
ZUONDASSIGNMENTSame as Target Design
This is a Optional field.

This is a freely maintainable field to capture additional data for the deal. No validations needed for this field. 
NORDEXTEXTERNAL_TRANSACTION_NUMBERSame as Target Design
This is a Optional field.

This is a freely maintainable field to capture additional data for the deal. No validations needed for this field. 
REFERINTERNAL_REFERENCESame as Target Design
This is a Optional field.

This is a freely maintainable field to capture additional data for the deal. No validations needed for this field. 
MERKMCHARACTERISTICSSame as Target Design
This is a Required field.

This field will be populated with the Legacy Quantum Deal Number.
FACILITYBUKRSVALUATION_CLASSSame as Target Design
This is a Required field. 

This data will be captured by business. It is the Valuation Class under which a Stock is to be accounted for.

In DCT, S4HANA GVC number needs to be populated based upon the list of GVC's configured in the system. This list needs to be provided to the Business Team who will be downloading data from Quantum System.
RANLSecurity Class ID NumberSame as Target Design
This is a Required field. 

This data will be captured by business for Security ID's. A validation is needed to check the Security ID number captured in the DCT is valid one and is present as per CNV 1184 - Securities Class.

Validation check needs to be done with check table VWPANLA
RLDEPOSecurities AccountSame as Target Design
This is a Required field. 

This data will be captured by business for Security Accounts. A validation is needed to check the Security Account number captured in the DCT is valid one and is present as per CNV 1185 - Securities Account

Validation check needs to be done with check table TWD01
DBESTANDPosition Value DateSame as Target Design
This is a Required field

Date format is YYYYMMDD. Position Value Date will always be Greater Than the Contract Date. This check needs to be implemented. 

Example: 99991231
DVAULTCalculation DateSame as Target Design
This is a Required field

Date format is YYYYMMDD. Calculation Value Date will always be Greater Than the Contract Date. This check needs to be implemented. 

Example: 99991231
BNWHRNominal AmountSame as Target Design
This is a Required field. 

This is the number of shares held and needs to be provided by Business

This field needs to be populated and the logic is value in this fied should be > 0
BUPRCSec. Price Without Curr. Reference for Unit/Price QuotationSame as Target Design
This is a Required field. 

Bond can be issued at Par, Premium or Discount. Normally this field is populated in percentages. So a 100% is at Par and anything more or below will be deemed as at Discount or Premium.
WGSCHFTTransaction CurrencySame as Target Design
This is a Required field

This data will be captured by business. It is the Currency of the Stock

Currency Codes are ISO standards hence it will be same in all Treasury systems. Still a Validation check is needed in Syniti to check if a valid Currency Code is used in the DCT
BZBETRPayment AmountSame as Target Design
This is a Required field. 

This is the amount for which Payment needs to be done and needs to be provided by business. 

Amounts needs to be rounded to 2 decimal places. Standard BADI will automatically round it to 2 decimals. However the BAPI will fail if amount is with more than 5 decimals places. Hence a Pre Validation check needs to be created to check the decimal places are correct.  
SFLATIndicator 'Traded flat',i.e.no accrued interest calculationSame as Target Design
This is a Optional field.

This is a freely maintainable field. No validations needed for this field. 
SCOUPONCoupon ID for interest and accrued interest calculationSame as Target Design
This is a Optional field.

This is a freely maintainable field. No validations needed for this field. 
SSTCKTGAccrued interest: Daily methodSame as Target Design
This is a Optional field.
 
This field defines the Interest Calculation method if it is needed and the Bond has a coupon rate i.e. interest rate to be paid. 
SFHAZBAFlow TypeSame as Target Design
This is a Optional field.

This is a freely maintainable field. No validations needed for this field. 

ZSINCL

Interest Calculation MethodSame as Target Design
This is a Optional field.

This is a freely maintainable field. No validations needed for this field. 
SEFFMETHEffective Interest Method (Financial Mathematics)Same as Target Design
This is a Optional field.

This is a freely maintainable field. No validations needed for this field. 

Extraction Dependencies

For object 9114- Treasury Bonds dependencies are applicable as under

Item #Step DescriptionTeam Responsible

0001

TRM Business Partner

Data Team/Functional Treasury Team

0002

TRM Security Class

Data Team/Functional Treasury Team

0003

TRM Security ID

Data Team/Functional Treasury Team

0004

Treasury Configuration

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 Syniti Migrate to make the data Target ready:

  1. Perform value mapping and data transformation rules.
    1. Legacy values are mapped to the to-be values (this could include a default value)
    2. Values are transformed according to the rules defined in Syniti Migrate
  2. 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

Source systemSource TableSource FieldSource DescriptionTarget SystemTarget TableTarget FieldTarget DescriptionTransformation Logic
NANANACONSTRUCTS4HANAVTBFHABUKRSCOMPANY_CODEFrom DCT field "COMPANY_CODE”
NANANACONSTRUCTS4HANAVTBFHARFHATRANSACTION NUMBERInternal Field generated by SAP. Note Copy field MERKM field in DCT to ZLEGACYRFHA
NANANACONSTRUCTS4HANAVTBFHASGSARTPRODUCT_TYPEFrom DCT field "PRODUCT_TYPE"
NANANACONSTRUCTS4HANAVTBFHASFHAARTTRANSACTION_TYPEFrom DCT field "TRANSACTION_TYPE"
NANANACONSTRUCTS4HANAVTBFHAKONTRHPARTNER

Step 1 - Compare the BP Number in the DCT with BP XREFF - BPEXT field

Step 2 - Find the BP Number for the match BP XREFF - PARTNER Field

Step 3 - Pass the BP Number fetched from BP XREFF in table BUT100 to check if Role "TR0151" is assigned to the BP

Step 4 - If the condition matches, then replace the BP Number in the DCT field PARTNR

NANANACONSTRUCTS4HANAVTBFHADBLFZCONTRACT_DATEFrom DCT field "CONTRACT_DATE"
NANANACONSTRUCTS4HANAVTBFHATB_TVTRABCONTRACT_TIMESystem Time at the time of Data Load
NANANACONSTRUCTS4HANAVTBFHARPORTBPORTFOLIOFrom DCT field "PORTFOLIO"
NANANACONSTRUCTS4HANAVTBFHAZUONDASSIGNMENTFrom DCT field "ASSIGNMENT"
NANANACONSTRUCTS4HANAVTBFHAREFERINTERNAL_REFERENCEFrom DCT field "INTERNAL_REFERENCE"
NANANACONSTRUCTS4HANAVTBFHAMERKMCHARACTERISTICSFrom DCT field "CHARACTERISTICS"
NANANACONSTRUCTS4HANAVTBFHATB_DCRDATENTRY_DATEDate on which the data is getting loaded.
NANANACONSTRUCTS4HANAVTBFHAFACILITYBUKRSVALUATION_CLASSFrom DCT field "VALUATION_CLASS”
NANANACONSTRUCTS4HANAVTBFHARANLSecurity Class ID NumberFrom DCT field "SECURITY_ID"
NANANACONSTRUCTS4HANAVTBFHARLDEPOSecurities AccountFrom DCT field "SECURITY_ACCOUNT"
NANANACONSTRUCTS4HANAVTBFHAWGSCHFTTransaction CurrencyFrom DCT field "Transaction Currency"
NANANACONSTRUCTS4HANAVTBFHAPOBUKRSCOMPANY_CODEFrom DCT field "COMPANY_CODE”
NANANACONSTRUCTS4HANAVTBFHAPORFHATRANSACTION NUMBERInternal Field generated by SAP. Note Copy field MERKM field in DCT to ZLEGACYRFHA
NANANACONSTRUCTS4HANAVTBFHAPORFHAZUTransaction Activity

Internal Field generated by SAP.


Use Internally generated Sequential Number

NANANACONSTRUCTS4HANAVTBFHAPODCRDATENTERED ON

Internal Field generated by SAP.


Use System Date while you generate your report

NANANACONSTRUCTS4HANAVTBFHAPOTCRTIMENTRY TIME

Internal Field generated by SAP


Use System Time when you generate your report.

NANANACONSTRUCTS4HANAVTBFHAPORFHAZBTRANSACTION FLOW

Internal Field generated by SAP.


Use Internally generated Sequential Number

NANANACONSTRUCTS4HANAVTBFHAPODBESTANDPosition Value DateFrom DCT field "POSITION_VALUE_DATE"
NANANACONSTRUCTS4HANAVTBFHAPODVAULTCalculation DateFrom DCT field "CALCULATE_DATE"
NANANACONSTRUCTS4HANAVTBFHAPOBZBETRNominal AmountFrom DCT field "NOMINAL_AMOUNT"
NANANACONSTRUCTS4HANAVTBFHAPOBUPRCSec. Price Without Curr. Reference for Unit/Price QuotationFrom DCT field "BUPRC"
NANANACONSTRUCTS4HANAVTBFHAPOBZBETRPayment AmountFrom DCT field "Transaction Currency"
NANANACONSTRUCTS4HANAVTBFHAPOSFLATIndicator 'Traded flat',i.e.no accrued interest calculationFrom DCT field "Indicator 'Traded flat',i.e.no accrued interest calculation"
NANANACONSTRUCTS4HANAVTBFHAPOSCOUPONCoupon ID for interest and accrued interest calculationFrom DCT field "Coupon ID for interest and accrued interest calculation"
NANANACONSTRUCTS4HANAVTBFHAPOSSTCKTGAccrued interest: Daily methodFrom DCT field "Accrued interest: Daily method"
NANANACONSTRUCTS4HANAVTBFHAPOSFHAZBAFlow TypeFrom DCT field "Flow Type"
NANANACONSTRUCTS4HANAVTBFHAZUBUKRSCOMPANY_CODEFrom DCT field "COMPANY_CODE”
NANANACONSTRUCTS4HANAVTBFHAZURFHATRANSACTION NUMBERInternal Field generated by SAP. Note Copy field MERKM field in DCT to ZLEGACYRFHA
NANANACONSTRUCTS4HANAVTBFHAZURFHAZUTRANSACTION ACTIVITY

Internal Field generated by SAP.


Use Internally generated Sequential Number

NANANACONSTRUCTS4HANAVTBFHAZURDEALERTRADERFrom DCT field "TRADER"
NANANACONSTRUCTS4HANAVTBFHAZUNORDEXTEXTERNAL_TRANSACTION_NUMBERFrom DCT field "EXTERNAL_REFERENCE"
NANANACONSTRUCTS4HANAVTBFHAZUSEFFMETHEffective Interest Method (Financial Mathematics)From DCT field "Effective Interest Method (Financial Mathematics)"
NANANACONSTRUCTS4HANAUtility Field
(VTBFHA)
ZSINCLInclusive Indicator as Character FieldFrom DCT field "Inclusive Indicator as Character Field"

Transformation Mapping


Mapping Table NameMapping Table Description

Business Partner 

Mapping Table for Quantum counterparty/partner code to S4HANA Business Partner

Security Class

Mapping Table for Quantum Security Numbers to S4HANA Security Class

Security Account

Mapping Table for Quantum Depository Account to S4HANA Security Account

Transformation Dependencies

List the steps that need to occur before transformation can commence
Item #Step DescriptionTeam 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 Team

Completeness

TaskAction

Generation of
Pre-load reports

 Mandatory field check.

  • Company Code for which deal is created is part of the scope
  • The business partner is in the Counterparty role
  • Product Type, Transaction Type, Portfolio Code and General Valuation Class is matching the configuration check tables
  • The validity end date of the deal in the Pre-load file is not prior to cutover/go-live date
  • All other fields marked as Mandatory are not kept blank in the DCT File

Record Count

Record Count

Confirm the record counts in preload summary report

  • Total Records: 
    • Valid Records:
    • Invalid Records

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 for all plants/valuation area in scope for conversion

Business Representatives to validate the pre-load file

Agree with data team on the next steps for erroneous records


Accuracy

TaskAction

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. 

  • Company Code, Product Type, Transaction Type, Portfolio Code and GVC in the DCT is matching with the Check Tables provided
  • Custom Table checks for Interest Calculation Method and Frequency are matched

Business Value Checks

All dates, Amount and Interest Rate for the Bonds are accurately populated in the deal as per 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

TaskAction

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, Interest Rate, etc., are correctly populated against the DCT


Accuracy

TaskAction

Conversion accuracy

To check and validate the load files with all the transformation and mapping rules, to be signed off.


Load


As explained earlier, there are 2 subsections of the BAPI which needs to be loaded in the system. Below are the details how data from DCT correspond to the BAPI structure.

However, the transformation is also needed for the base DCT Fields which will have table details. In the below sections you will find 2 kinds of information i.e. the Value Fields in the BAPI and also the overall BAPI fields and how they are transformed


BAPI Main Flow Data Structure:

Target Table

Target Field

Target Description

Transformation Logic

BAPI_FTR_SECURITY_CREATE

BUKRS

COMPANY_CODE

From DCT field "COMPANY_CODE”

BAPI_FTR_SECURITY_CREATE

VVSART

PRODUCT_TYPE

From DCT field "PRODUCT_TYPE"

BAPI_FTR_SECURITY_CREATE

TB_SFHAART

TRANSACTION_TYPE

From DCT field "TRANSACTION_TYPE"

BAPI_FTR_SECURITY_CREATE

TB_KUNNR_NEW

PARTNER

From DCT field "PARTNER"

BAPI_FTR_SECURITY_CREATE

TB_DVTRAB

CONTRACT_DATE

From DCT field "CONTRACT_DATE"

BAPI_FTR_SECURITY_CREATE

TB_TVTRAB

CONTRACT_TIME

System Time at the time of Data Load

BAPI_FTR_SECURITY_CREATE

RDEALER

TRADER

From DCT field "TRADER"

BAPI_FTR_SECURITY_CREATE

RPORTB

PORTFOLIO

From DCT field "PORTFOLIO"

BAPI_FTR_SECURITY_CREATE

TB_ZUOND

ASSIGNMENT

From DCT field "ASSIGNMENT"

BAPI_FTR_SECURITY_CREATE

TB_NORDEXT

EXTERNAL_REFERENCE

From DCT field "EXTERNAL_REFERENCE"

BAPI_FTR_SECURITY_CREATE

TB_REFER

INTERNAL_REFERENCE

From DCT field "INTERNAL_REFERENCE"

BAPI_FTR_SECURITY_CREATE

TB_MERKM

CHARACTERISTICS

From DCT field "CHARACTERISTICS"

BAPI_FTR_SECURITY_CREATE

TB_DCRDAT

ENTRY_DATE

Date on which the data is getting loaded.

BAPI_FTR_SECURITY_CREATE

TPM_COM_VAL_CLASS

VALUATION_CLASS

From DCT field "VALUATION_CLASS”

BAPI_FTR_SECURITY_CREATE

VVRANLW

SECURITY_ID

From DCT field "SECURITY_ID"

BAPI_FTR_SECURITY_CREATE

VRLDEPO

SECURITY_ACCOUNT

From DCT field "SECURITY_ACCOUNT"

BAPI_FTR_SECURITY_CREATE

TB_DBESTAND

POSITION_VALUE_DATE

From DCT field "POSITION_VALUE_DATE"

BAPI_FTR_SECURITY_CREATE

DVALUT

CALCULATE_DATE

From DCT field "CALCULATE_DATE"

BAPI_FTR_SECURITY_CREATE

BAPITM_BNWHR

NOMINAL_AMOUNT

From DCT field "NOMINAL_AMOUNT"

BAPI_FTR_SECURITY_CREATE

BAPITM_BUPRC

PRICE

From DCT field "Sec. Price Without Curr. Reference for Unit/Price Quotation"

BAPI_FTR_SECURITY_CREATE

ISOCD

PAYMENT_CURRENCY_ISO

From DCT field "Transaction Currency"

BAPI_FTR_SECURITY_CREATE

TB_WGSCHFT

PAYMENT_CURRENCY

From DCT field "Transaction Currency"

BAPI_FTR_SECURITY_CREATE

DVALUT

PAYMENT_DATE

From DCT field "Calculation Date"

BAPI_FTR_SECURITY_CREATE

BAPITM_BZBETR

PAYMENT_AMOUNT

From DCT field "Payment Amount"

BAPI_FTR_SECURITY_CREATE

VVSFLAT

TRADED_FLAT

From DCT field "Indicator 'Traded flat',i.e.no accrued interest calculation"

BAPI_FTR_SECURITY_CREATE

VVSCOUPON

COUPON_INFO

From DCT field "Coupon ID for interest and accrued interest calculation"

BAPI_FTR_SECURITY_CREATE

SSTCKTG

ACC_INT_CALC_METHOD

From DCT field "Accrued interest: Daily method"

BAPI_FTR_SECURITY_CREATE

TB_SFHAZBA

BEWEG_ART

From DCT field "Flow Type"

BAPI_FTR_SECURITY_CREATE

TB_SINCL_CHAR

INCLUSIVE_INDICATOR

From DCT field "Inclusive Indicator as Character Field"

BAPI_FTR_SECURITY_CREATE

BAPITM_HWBETR

LOCAL_AMOUNT

From DCT field "Payment Amount in Local Currency"

BAPI_FTR_SECURITY_CREATE

BAPITM_BWBETR

POSITION_AMOUNT

From DCT field "Payment amount in position currency"

BAPI_FTR_SECURITY_CREATE

SEFFMETH_NEW

YIELD_METHOD

From DCT field "Effective Interest Method (Financial Mathematics)"

BAPI_FTR_SECURITY_CREATE

BAPITM_BUPRC_L

PRICE_LONG

From DCT field "Sec. Price Without Crcy Reference for Unit/Price Quotation"


The BAPI has 2 structures. Fields in each structure needs to be populated as under:

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 Bonds, a simulation run should be performed and all the standard BAPI errors needs to be documented.

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 deposits successfully pass all checks.

Note: It is also assumed that the DCT will not bring in Payment Details of Bonds. This information will be loaded as part of CNV 3040 – Business Partner Counterparty and CNV . Under this CNV1185 – Security Account, Payment SI details are created and assigned to this instrument. If this is done, once the BAPI is executed, it will automatically get assigned to the deal as part of Standard BAPI processing. A Data Pre-Validation check has been introduced for this step.



The load process includes:

  1. Execute the automated data load into target system using "BAPI_FTR_SECURITY_CREATE" and use the DCT File vs structure section of this document to populate the BAPI details.  
  2. 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


Load Phase and Dependencies

The load phase for the object 9110 -Treasury Bonds is Pre-Cutover Phase 3

Configuration

Item #

Configuration Item

01

Company Codes relevant for Treasury- Field BUKRS (Check Table: T001)

02

Treasury Business Partners - BUT100

03

House Bank Ids- Field HKTID (Check Table: T012K)

04

Payment Methods- Field ZLSCH (Check Table: T042Z)

05

Contract Type - Field RANTYP  

06

Product Category- Field SANLF (Check Table: TZAF)

07

Product Type- Field SGSART (Check Table: TZPA)

08

Financial Transaction Types- Field SFHAART (Check Table: AT10)

09

Portfolio Code - Check Table: TWPOB 

10

General Valuation Class - Check Table: TRGC_COM_VALCL

11

Security Class – Check Table : VWPANLA

12

Security Account – TWD01

Conversion Objects

Object #Preceding Object Conversion Approach

CNV-3007

Business Partner - General Role

CNV-1083

Bank Master

CNV-1184

Security Class

CNV-1185

Security Account

CNV-3040

Business Partner - Counterparty

CNV-1203

Business Partner - Depository

CNV-1182

Trader Authorization

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 Trader

 Trader in the DCT is invalid based on the check table TZDEA

Ensure correct Trader is supplied to the BAPI

Invalid Portfolio Code

Portfolio Code in the DCT is invalid based on the check table TWPOB

Ensure correct Portfolio Code is supplied to the BAPI

Invalid Interest Calculation Method

 Interest Calculation Method is invalid as per the Custom Check Table

Ensure correct Interest Calculation method is supplied to the BAPI

Invalid Frequency Category

Frequency Category is invalid as per the Custom Check Table

Ensure correct Frequency Category is supplied to the BAPI


Post-Load Validation

Project Team

The following post load validations will be done by Project Team

Completeness

TaskAction

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.


Accuracy

TaskAction

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

TaskAction

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 to cross check the records created for Counterparties


Accuracy

TaskAction

Field Checks

Check key fields to ensure that Business Partner - Counterparty has been maintained with proper details such as 

  • Right Amount is loaded in the created deal
  • Correct Payment Details are loaded in the deal
  • Ensure Correct Interest Rate is loaded in the deal
  • Ensure correct Start and End Date are loaded in the created deal


Key Assumptions

  • Master Data Standard is up to date as on the date of documenting this conversion approach and data load.
  • All configuration items like Company Code, Product Type, Transaction Type, etc are approved by business and pre-configured before this data can be loaded
  • All Bank Account information is approved by business and loaded in the system. Same are also created as SI details in BP master and assigned to the correct Product Type/Transaction Type combination in the BP master as these will be auto loaded in the deal and will not be part of the DCT. 


Change log