| Status |
| ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Owner | VIDWANS-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.
For loading Bonds, SAP has provided a standard BAPI which will have all the necessary fields for successful creation of Bonds. The said BAPI has various Sub-Sections which will form a Load Template and a mapping rule between the DCT and BAPI load format.
BAPI Name : BAPI_FTR_SECURITY_CREATE
Key Fields of the BAPI used in the DCT are as under:
Key Field
Description
COMPANY_CODE
Company Code in which this deal must be created.
PRODUCT_TYPE
For this instrument there is a default value for this field = “BIF” or "BIV"
TRANSACTION_TYPE
For this instrument there is a default value for this field= “ISS”.
PARTNER
This is the counterparty with which the deal is booked. However there needs to be a check table which needs conversion between Quantum BP number vs SAP BP Number.
CONTRACT_DATE
TRADER
This defines the trader who concluded the deal.
PORTFOLIO
This is a code to be used for bucketing these deals under the same kind of transactions. It is used for reporting purposes.
VALUATION_CLASS
This defines the Valuation Class under which this deal needs to be Accounted for i.e. IFRS, US GAAP, etc.
Security Class ID Number
This is the name of Security in itself. In our Case it can be Stock Held External Companies or Stock held in subsidiaries. There will be separate Security Classes for this.
Securities Account
This is the Depository Account that will hold the equity shares for investment.
Position Value Date
This is the Value Date on which the position is valued at
Calculation Date
This is the Calculation Date for Accrued Interest Calculation
Nominal Amount
This is the Amount invested to buy the given Equity Shares of Entities.
Characteristics
This field holds the Legacy Quantum Deal Number
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 recordsTo 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
| Source | Scope | Source Approx No. of Records | Target System | Target 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:
- Extraction of Bond data from source system i.e. Quantum is to be done manually
- Cleansing by business team in the source system (Quantum) to ensure that only active and in use records for Bonds are provided in DCT
- The extracted records to be converted into a DCT and 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 - BUT000
- Company Code - T001
- Product Type - TZPA
- Transaction Type - AT10
- Trader - TZDEA
- Portfolio Code - TWPOB
- General Valuation Class - TRGC_COM_VALCL
- Security Account – TWD01
- Security ID – VWPANLA
- 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 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 Name | Field | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|
| Utility Field (VTBFHA) | ZSINCL | Inclusive Indicator as Character Field | CHAR | 1 | This is Optional Field |
| VTBFHA | BUKRS | COMPANY_CODE | CHAR | 4 | This is a Required Field |
| VTBFHA | RFHA | TRANSACTION NUMBER | CHAR | 10 | 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 | CONTRACT_DATE | DATS | 8 | This is a Required Field |
| VTBFHA | RPORTB | PORTFOLIO | CHAR | 10 | 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 | FACILITYBUKRS | VALUATION_CLASS | NUMC | 4 | This is a Required Field |
| VTBFHA | RANL | Security Class ID Number | CHAR | 13 | This is a Required Field |
| VTBFHA | RLDEPO | Securities Account | CHAR | 10 | This is a Required Field |
| VTBFHA | WGSCHFT | Transaction Currency | CUKY | 5 | This is a Required Field |
| VTBFHAPO | BUKRS | COMPANY_CODE | CHAR | 4 | This is a Required Field |
| VTBFHAPO | RFHA | TRANSACTION NUMBER | CHAR | 10 | This is Internal Field |
| VTBFHAPO | RFHAZU | Transaction Activity | NUMC | 5 | This is Internal Field |
| VTBFHAPO | DCRDAT | ENTERED ON | DATS | 8 | This is Internal Field |
| VTBFHAPO | TCRTIM | ENTRY TIME | TIMS | 6 | This is Internal Field |
| VTBFHAPO | RFHAZB | TRANSACTION FLOW | NUMC | 4 | This is Internal Field |
| VTBFHAPO | DBESTAND | Position Value Date | DATS | 8 | This is a Required Field |
| VTBFHAPO | DVAULT | Calculation Date | DATS | 8 | This is a Required Field |
| VTBFHAPO | BNWHR | Nominal Amount | DEC | 23 | This is a Required Field |
| VTBFHAPO | BUPRC | Sec. Price Without Curr. Reference for Unit/Price Quotation | DEC | 15 | This is a Required Field |
| VTBFHAPO | BZBETR | Payment Amount | DEC | 23 | This is a Required Field |
| VTBFHAPO | SFLAT | Indicator 'Traded flat',i.e.no accrued interest calculation | CHAR | 1 | This is a Required Field |
| VTBFHAPO | SCOUPON | Coupon ID for interest and accrued interest calculation | CHAR | 1 | This is a Required Field |
| VTBFHAPO | SSTCKTG | Accrued interest: Daily method | CHAR | 1 | This is a Required Field |
| VTBFHAPO | SFHAZBA | Flow Type | CHAR | 4 | This is Optional Field |
| VTBFHAZU | BUKRS | COMPANY_CODE | CHAR | 4 | This is a Required Field |
| VTBFHAZU | RFHA | TRANSACTION NUMBER | CHAR | 10 | This is Internal Field |
| VTBFHAZU | RFHAZU | TRANSACTION ACTIVITY | NUMC | 5 | This is Internal Field |
| VTBFHAZU | RDEALER | TRADER | CHAR | 12 | This is a Required Field |
| VTBFHAZU | NORDEXT | EXTERNAL_TRANSACTION_NUMBER | CHAR | 16 | This is Optional Field |
| VTBFHAZU | SEFFMETH | Effective Interest Method (Financial Mathematics) | NUMC | 1 | This is a Required Field |
The DCT Target fields are based on below main Treasury Tables:
- VTBFHA
- VTBFHAPO
- 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:
- 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. | 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:
- 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 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 . 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
Extraction Run Sheet
| Req # | Requirement Description | Team 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 Name | Field Description | Data Type | Length | Rule |
|---|---|---|---|---|
| BUKRS | COMPANY_CODE | Same 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 | |
| SGSART | PRODUCT_TYPE | Same 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 | |
| SFHAART | TRANSACTION_TYPE | Same 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 | |
| KONTRH | PARTNER | CHAR | 20 | This 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 |
| DBLFZ | CONTRACT_DATE | Same 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 | |
| RDEALER | TRADER | Same 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 | |
| RPORTB | PORTFOLIO | Same 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 | |
| ZUOND | ASSIGNMENT | Same 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. | |
| NORDEXT | EXTERNAL_TRANSACTION_NUMBER | Same 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. | |
| REFER | INTERNAL_REFERENCE | Same 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. | |
| MERKM | CHARACTERISTICS | Same as Target Design | This is a Required field. This field will be populated with the Legacy Quantum Deal Number. | |
| FACILITYBUKRS | VALUATION_CLASS | Same 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. | |
| RANL | Security Class ID Number | Same 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 | |
| RLDEPO | Securities Account | Same 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 | |
| DBESTAND | Position Value Date | Same 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 | |
| DVAULT | Calculation Date | Same 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 | |
| BNWHR | Nominal Amount | Same 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 | |
| BUPRC | Sec. Price Without Curr. Reference for Unit/Price Quotation | Same 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. | |
| WGSCHFT | Transaction Currency | Same 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 | |
| BZBETR | Payment Amount | Same 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. | |
| SFLAT | Indicator 'Traded flat',i.e.no accrued interest calculation | Same as Target Design | This is a Optional field. This is a freely maintainable field. No validations needed for this field. | |
| SCOUPON | Coupon ID for interest and accrued interest calculation | Same as Target Design | This is a Optional field. This is a freely maintainable field. No validations needed for this field. | |
| SSTCKTG | Accrued interest: Daily method | Same 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. | |
| SFHAZBA | Flow Type | Same as Target Design | This is a Optional field. This is a freely maintainable field. No validations needed for this field. | |
ZSINCL | Interest Calculation Method | Same as Target Design | This is a Optional field. This is a freely maintainable field. No validations needed for this field. | |
| SEFFMETH | Effective 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 Description | Team 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 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
Source Approx No. of Records
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:
- Extraction of Bond data from source system i.e. Quantum is to be done manually
- Cleansing by business team in the source system (Quantum) to ensure that only active and in use records for Bonds are provided in DCT
- The extracted records to be converted into a DCT and 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
- Company Code - T001
- Product Type - TZPA
- Transaction Type - AT10
- Trader - TZDEA
- Portfolio Code - TWPOB
- General Valuation Class - TRGC_COM_VALCL
- Security Account – TWD01
- Security ID – VWPANLA
- 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 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 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 a Required Field
VTBFHA
RPORTB
PORTFOLIO
CHAR
10
This is a Required 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
FACILITYBUKRS
VALUATION_CLASS
NUMC
4
This is a Required Field
VTBFHA
RANL
Security Class ID Number
CHAR
13
This is a Required Field
VTBFHA
RLDEPO
Securities Account
CHAR
10
This is a Required Field
VTBFHAPO
DBESTAND
Position Value Date
DATS
8
This is a Required Field
VTBFHAPO
DVAULT
Calculation Date
DATS
8
This is a Required Field
VTBFHAPO
BZBETR
Nominal Amount
DEC
23
This is a Required Field
VTBFHAPO
BUPRC
Sec. Price Without Curr. Reference for Unit/Price Quotation
DEC
15
This is a Required Field
VTBFHA
WGSCHFT
Transaction Currency
CUKY
5
This is a Required Field
VTBFHAPO
BZBETR
Payment Amount
DEC
23
This is a Required Field
VTBFHAPO
SFLAT
Indicator 'Traded flat',i.e.no accrued interest calculation
CHAR
1
This is a Required Field
VTBFHAPO
SCOUPON
Coupon ID for interest and accrued interest calculation
CHAR
1
This is a Required Field
VTBFHAPO
SSTCKTG
Accrued interest: Daily method
CHAR
1
This is a Required Field
VTBFHAPO
SFHAZBA
Flow Type
CHAR
4
This is Optional Field
No Table field for this
Inclusive Indicator as Character Field
CHAR
1
This is Optional Field
VTBFHAZU
SEFFMETH
Effective Interest Method (Financial Mathematics)
NUMC
1
This is a Required Field
VTBFHAPO
BUPRC
Sec. Price Without Crcy Reference for Unit/Price Quotation
DEC
23
This is Optional Field
The DCT Target fields are based on below main Treasury Tables:
- VTBFHA
- VTBFHAPO
- 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. Now we will check the fields in the BAPI and the data logic how it will correspond to the DCT.
The BAPI has 2 structures. Fields in each structure needs to be populated as under:
BAPI Main Flow Data Structure:Field Name | Description | Mapping Logic |
VVRANLW | SECURITY_ID | From DCT field "SECURITY_ID" |
VRLDEPO | SECURITY_ACCOUNT | From DCT field "SECURITY_ACCOUNT" |
TB_DBESTAND | POSITION_VALUE_DATE | From DCT field "POSITION_VALUE_DATE" |
DVALUT | CALCULATE_DATE | From DCT field "CALCULATE_DATE" |
BAPITM_BNWHR | NOMINAL_AMOUNT | From DCT field "NOMINAL_AMOUNT" |
TB_ASTUECK | NUMBER_UNITS | Keep Blank or Ignore the field |
BAPITM_BUPRC | PRICE | From DCT field "Sec. Price Without Curr. Reference for Unit/Price Quotation" |
TB_RUNIT | PRICE_UNIT | Keep Blank or Ignore the field |
ISOCD | PAYMENT_CURRENCY_ISO | From DCT field "Transaction Currency" |
TB_WGSCHFT | PAYMENT_CURRENCY | From DCT field "Transaction Currency" |
BAPITM_BZBETR | PAYMENT_AMOUNT | From DCT field "Payment Amount" |
VVRHANDPL | EXCHANGE | Keep Blank or Ignore the field |
VVSFLAT | TRADED_FLAT | From DCT field "Indicator 'Traded flat',i.e.no accrued interest calculation" |
VVSCOUPON | COUPON_INFO | From DCT field "Coupon ID for interest and accrued interest calculation" |
SSTCKTG | ACC_INT_CALC_METHOD | From DCT field "Accrued interest: Daily method" |
TB_DORDER | ORDER_DATE | Keep Blank or Ignore the field |
TB_SFHAZBA | BEWEG_ART | From DCT field "Flow Type" |
TPM_ROUNDING_RULE | ROUND_RULE | Keep Blank or Ignore the field |
TB_SINCL_CHAR | INCLUSIVE_INDICATOR | From DCT field "Inclusive Indicator as Character Field" |
BAPITM_HWBETR | LOCAL_AMOUNT | From DCT field "Payment Amount in Local Currency" |
BAPITM_ORIG_BNWHR | NOMINAL_ORIG_AMT | Keep Blank or Ignore the field |
BAPITM_BWBETR | POSITION_AMOUNT | From DCT field "Payment amount in position currency" |
TB_INDEX_PRICE | IND_PRICE_VALUE | Keep Blank or Ignore the field |
TFMSKALIDWT | ACC_INT_CALC_CALENDAR | Keep Blank or Ignore the field |
SEFFMETH_NEW | YIELD_METHOD | From DCT field "Effective Interest Method (Financial Mathematics)" |
TB_SFHAZBA | PAYMENT_FLOWTYPE | Keep Blank or Ignore the field |
TB_ZUOND | PAYMENT_ASSIGNMENT | Keep Blank or Ignore the field |
TB_ZUOND | QUANTITY_ASSIGNMENT | Keep Blank or Ignore the field |
TB_ASTUECK_L | NUMBER_UNITS_LONG | Keep Blank or Ignore the field |
BAPITM_BUPRC_L | PRICE_LONG | From DCT field "Sec. Price Without Crcy Reference for Unit/Price Quotation" |
BAPI General Data Structure:
Field Name
Description
Mapping Logic
BUKRS
COMPANY_CODE
From DCT field "COMPANY_CODE”
VVSART
PRODUCT_TYPE
From DCT field "PRODUCT_TYPE"
TB_SFHAART
TRANSACTION_TYPE
From DCT field "TRANSACTION_TYPE"
TB_RFHA
EXTERNAL_TRANSACTION_NUMBER
Keep Blank or Ignore the field
TB_KUNNR_NEW
PARTNER
From DCT field "PARTNER"
TB_DVTRAB
CONTRACT_DATE
From DCT field "CONTRACT_DATE"
TB_TVTRAB
CONTRACT_TIME
System Time at the time of Data Load
TB_GSPPART
CONTACT_PERSON
Keep Blank or Ignore the field
RDEALER
TRADER
From DCT field "TRADER"
RREFKONT_OBSOLETE
ACCT_ASSIGNMENT_REF
Keep Blank or Ignore the field
RPORTB
PORTFOLIO
From DCT field "PORTFOLIO"
TB_TFPROJ
FINANCE_PROJECT
Keep Blank or Ignore the field
TB_RGARANT_NEW
GUARANTOR
Keep Blank or Ignore the field
TB_RMAID
MASTER_AGREEMENT
Keep Blank or Ignore the field
TB_ZUOND
ASSIGNMENT
From DCT field "ASSIGNMENT"
TB_NORDEXT
EXTERNAL_REFERENCE
From DCT field "EXTERNAL_REFERENCE"
TB_REFER
INTERNAL_REFERENCE
From DCT field "INTERNAL_REFERENCE"
TB_MERKM
CHARACTERISTICS
From DCT field "CHARACTERISTICS"
TBEGRU
AUTH_GROUP
Keep Blank or Ignore the field
TB_CRUSER
CREATE_USER
Keep Blank or Ignore the field
TB_DCRDAT
ENTRY_DATE
Date on which the data is getting loaded.
TB_FACILITYNR
FACILITY
Keep Blank or Ignore the field
TB_FACILITYBUKRS
FACILITY_COMPANY_CODE
Keep Blank or Ignore the field
TPM_COM_VAL_CLASS
VALUATION_CLASS
From DCT field "VALUATION_CLASS”
FM_FUND
FUND
Keep Blank or Ignore the field
GM_GRANT_NBR
GRANT_NBR
Keep Blank or Ignore the field
TB_SPESEN
EXPENSE_KEY
Keep Blank or Ignore the field
TB_SANST
RESERV_REASON
Keep Blank or Ignore the field
TPM_TREA_CLEARING_OPT
CLEARING_OPTION
Keep Blank or Ignore the field
TPM_TREA_CLEARING_STATUS
CLEARING_STATUS
Keep Blank or Ignore the field
TPM_TREA_CLEARING_DATE
CLEARING_DATE
Keep Blank or Ignore the field
TPM_EXT_ACCOUNT
EXT_ACCOUNT
Keep Blank or Ignore the field
TPM_TREA_CLEARING_DATE_ACT
CLEAR_DATE_ACT
Keep Blank or Ignore the field
FTR_THRESHOLD_RISK_MITIGATING
RISK_MITIGATION
Keep Blank or Ignore the field
FTR_THRESHOLD_SCHEME
LEGAL_BASIS
Keep Blank or Ignore the field
FTR_TARO_TRADE_ID
EXTERNAL_TRADE_ID
Keep Blank or Ignore the field
PRCTR
PROFIT_CENTER
Keep Blank or Ignore the field
KOSTL
COST_CENTER
Keep Blank or Ignore the field
PS_PSP_PNR
WBS_ELEMENT
Keep Blank or Ignore the field
GSBER
BUSINESS_AREA
Keep Blank or Ignore the field
TOE_HEDGING_CLASSIFICATION_OLD
HEDGE_CLASSIFICATION
Keep Blank or Ignore the field
TRPA_INITIAL_STAGE
INIT_CLASSIFIER
Keep Blank or Ignore the field
LAND1
COUNTRY
Keep Blank or Ignore the field
INTCA
COUNTRY_ISO
Keep Blank or Ignore the field
FB_SEGMENT
SEGMENT
Keep Blank or Ignore the field
TRBA_BEHALF_OF_COMPANY
ON_BEHALF_OF_COMPANY
Keep Blank or Ignore the field
TOE_HEDGING_CLASSIFICATION
HEDGING_CLASSIFICATION
Keep Blank or Ignore the field
TOE_REQUEST_ID
HEDGE_REQUEST_ID
Keep Blank or Ignore the field
FTR_CFI_CODE
CFI_CODE
Keep Blank or Ignore the field
RANL_ISIN
ISIN
Keep Blank or Ignore the field
TBA_MIC
MIC
Keep Blank or Ignore the field
FTR_CONTRACT_TIMESTAMP_UTC
CONTRACT_TIMESTAMP_UTC
Keep Blank or Ignore the field
BUPLA
BUSINESS_PLACE
Keep Blank or Ignore the field
FKBER
FUNCTIONAL_AREA
Keep Blank or Ignore the field
TPM_CUST_DIFF_TERM_VALUE
CUSTOM_DIFF_TERM_1
Keep Blank or Ignore the field
TPM_CUST_DIFF_TERM_VALUE
CUSTOM_DIFF_TERM_2
Keep Blank or Ignore the field
TPM_CUST_DIFF_TERM_VALUE
CUSTOM_DIFF_TERM_3
Keep Blank or Ignore the field
TPM_CUST_DIFF_TERM_VALUE
CUSTOM_DIFF_TERM_4
Keep Blank or Ignore the field
TPM_CUST_DIFF_TERM_VALUE
CUSTOM_DIFF_TERM_5
Keep Blank or Ignore the field
TPM_CUST_DIFF_TERM_VALUE
CUSTOM_DIFF_TERM_5
Keep Blank or Ignore the field
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.
Data Cleansing
For the Object 9110 – Treasury Bonds no specific data cleansing is applicable due to below reasons/assumptions:
- 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. | 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:
- 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 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 . 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
Extraction Run Sheet
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 Name
Field Description
Rule
BUKRS
COMPANY_CODE
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
VVSART
PRODUCT_TYPE
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
TB_SFHAART
TRANSACTION_TYPE
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
TB_KUNNR_NEW
PARTNER
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
TB_DVTRAB
CONTRACT_DATE
Date format is YYYYMMDD. Contract Date will always be LESS Than the Load Date. This check needs to be implemented.
Example: 99991231
RDEALER
TRADER
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
RPORTB
PORTFOLIO
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
TB_ZUOND
ASSIGNMENT
This is a freely maintainable field to capture additional data for the deal. No validations needed for this field.
TB_NORDEXT
EXTERNAL_REFERENCE
This is a freely maintainable field to capture additional data for the deal. No validations needed for this field.
TB_REFER
INTERNAL_REFERENCE
This is a freely maintainable field to capture additional data for the deal. No validations needed for this field.
TB_MERKM
CHARACTERISTICS
This field will be populated with the Legacy Quantum Deal Number.
TPM_COM_VAL_CLASS
VALUATION_CLASS
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.
RANL
Security Class ID Number
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
RLDEPO
Securities Account
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
DBESTAND
Position Value Date
Date format is YYYYMMDD. Position Value Date will always be Greater Than the Contract Date. This check needs to be implemented.
Example: 99991231
DVAULT
Calculation Date
Date format is YYYYMMDD. Calculation Value Date will always be Greater Than the Contract Date. This check needs to be implemented.
Example: 99991231
BZBETR
Nominal Amount
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
BUPRC
Sec. Price Without Curr. Reference for Unit/Price Quotation
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.
WGSCHFT
Transaction Currency
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
BZBETR
Payment Amount
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.
SFLAT
Indicator 'Traded flat',i.e.no accrued interest calculation
This is a freely maintainable field. No validations needed for this field.
SCOUPON
Coupon ID for interest and accrued interest calculation
This is a freely maintainable field. No validations needed for this field.
SSTCKTG
Accrued interest: Daily method
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.
SFHAZBA
Flow Type
This is a freely maintainable field. No validations needed for this field.
No Table field for this
Inclusive Indicator as Character Field
This is a freely maintainable field. No validations needed for this field.
SEFFMETH
Effective Interest Method (Financial Mathematics)
This is a freely maintainable field. No validations needed for this field.
BUPRC
Sec. Price Without Crcy Reference for Unit/Price Quotation
This is a freely maintainable field. No validations needed for this field.
Extraction Dependencies
For object 9114- Treasury Bonds dependencies are applicable as under
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 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
Transformation Rules
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
Value Fields in the BAPI:
Rule #
Source system
Source Table
Source Field
Source Description
Target System
Target Table
Target Field
Target Description
Transformation Logic
1
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
BUKRS
COMPANY_CODE
From DCT field "COMPANY_CODE”
2
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
SGSART
PRODUCT_TYPE
From DCT field "PRODUCT_TYPE"
3
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
SFHAART
TRANSACTION_TYPE
From DCT field "TRANSACTION_TYPE"
4
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
KONTRH
PARTNER
From DCT field "PARTNER"
5
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
DBLFZ
CONTRACT_DATE
From DCT field "CONTRACT_DATE"
6
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
TB_TVTRAB
CONTRACT_TIME
System Time at the time of Data Load
7
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAZU
RDEALER
TRADER
From DCT field "TRADER"
8
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
RPORTB
PORTFOLIO
From DCT field "PORTFOLIO"
9
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
ZUOND
ASSIGNMENT
From DCT field "ASSIGNMENT"
10
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAZU
NORDEXT
EXTERNAL_REFERENCE
From DCT field "EXTERNAL_REFERENCE"
11
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
REFER
INTERNAL_REFERENCE
From DCT field "INTERNAL_REFERENCE"
12
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
MERKM
CHARACTERISTICS
From DCT field "CHARACTERISTICS"
13
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
TB_DCRDAT
ENTRY_DATE
Date on which the data is getting loaded.
14
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
FACILITYBUKRS
VALUATION_CLASS
From DCT field "VALUATION_CLASS”
15
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
RANL
Security Class ID Number
From DCT field "SECURITY_ID"
16
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
RLDEPO
Securities Account
From DCT field "SECURITY_ACCOUNT"
17
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
DBESTAND
Position Value Date
From DCT field "POSITION_VALUE_DATE"
18
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
DVAULT
Calculation Date
From DCT field "CALCULATE_DATE"
19
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
BZBETR
Nominal Amount
From DCT field "NOMINAL_AMOUNT"
20
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
BUPRC
Sec. Price Without Curr. Reference for Unit/Price Quotation
From DCT field "Sec. Price Without Curr. Reference for Unit/Price Quotation"
21
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHA
WGSCHFT
Transaction Currency
From DCT field "Transaction Currency"
22
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
BZBETR
Payment Amount
From DCT field "Transaction Currency"
23
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
SFLAT
Indicator 'Traded flat',i.e.no accrued interest calculation
From DCT field "Indicator 'Traded flat',i.e.no accrued interest calculation"
24
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
SCOUPON
Coupon ID for interest and accrued interest calculation
From DCT field "Coupon ID for interest and accrued interest calculation"
25
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
SSTCKTG
Accrued interest: Daily method
From DCT field "Accrued interest: Daily method"
26
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
SFHAZBA
Flow Type
From DCT field "Flow Type"
27
NA
NA
NA
CONSTRUCT
S4HANA
No Table field for this
Inclusive Indicator as Character Field
From DCT field "Inclusive Indicator as Character Field"
28
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAZU
SEFFMETH
Effective Interest Method (Financial Mathematics)
From DCT field "Effective Interest Method (Financial Mathematics)"
29
NA
NA
NA
CONSTRUCT
S4HANA
VTBFHAPO
BUPRC
Sec. Price Without Crcy Reference for Unit/Price Quotation
From DCT field "Sec. Price Without Crcy Reference for Unit/Price Quotation"
BAPI Main Flow Data Structure:
Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | VVRANLW | SECURITY_ID | From DCT field "SECURITY_ID" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | VRLDEPO | SECURITY_ACCOUNT | From DCT field "SECURITY_ACCOUNT" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_DBESTAND | POSITION_VALUE_DATE | From DCT field "POSITION_VALUE_DATE" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | DVALUT | CALCULATE_DATE | From DCT field "CALCULATE_DATE" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | BAPITM_BNWHR | NOMINAL_AMOUNT | From DCT field "NOMINAL_AMOUNT" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_ASTUECK | NUMBER_UNITS | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | BAPITM_BUPRC | PRICE | From DCT field "Sec. Price Without Curr. Reference for Unit/Price Quotation" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_RUNIT | PRICE_UNIT | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | ISOCD | PAYMENT_CURRENCY_ISO | From DCT field "Transaction Currency" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_WGSCHFT | PAYMENT_CURRENCY | From DCT field "Transaction Currency" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | DVALUT | PAYMENT_DATE | From DCT field "Calculation Date" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | BAPITM_BZBETR | PAYMENT_AMOUNT | From DCT field "Payment Amount" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | VVRHANDPL | EXCHANGE | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | VVSFLAT | TRADED_FLAT | From DCT field "Indicator 'Traded flat',i.e.no accrued interest calculation" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | VVSCOUPON | COUPON_INFO | From DCT field "Coupon ID for interest and accrued interest calculation" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | SSTCKTG | ACC_INT_CALC_METHOD | From DCT field "Accrued interest: Daily method" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_DORDER | ORDER_DATE | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_SFHAZBA | BEWEG_ART | From DCT field "Flow Type" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TPM_ROUNDING_RULE | ROUND_RULE | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_SINCL_CHAR | INCLUSIVE_INDICATOR | From DCT field "Inclusive Indicator as Character Field" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | BAPITM_HWBETR | LOCAL_AMOUNT | From DCT field "Payment Amount in Local Currency" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | BAPITM_ORIG_BNWHR | NOMINAL_ORIG_AMT | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | BAPITM_BWBETR | POSITION_AMOUNT | From DCT field "Payment amount in position currency" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_INDEX_PRICE | IND_PRICE_VALUE | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TFMSKALIDWT | ACC_INT_CALC_CALENDAR | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | SEFFMETH_NEW | YIELD_METHOD | From DCT field "Effective Interest Method (Financial Mathematics)" |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_SFHAZBA | PAYMENT_FLOWTYPE | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_ZUOND | PAYMENT_ASSIGNMENT | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_ZUOND | QUANTITY_ASSIGNMENT | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | TB_ASTUECK_L | NUMBER_UNITS_LONG | Keep Blank or Ignore the field |
NA | NA | NA | CONSTRUCT | S4HANA | BAPI_FTR_FTD_CREATE | BAPITM_BUPRC_L | PRICE_LONG | From DCT field "Sec. Price Without Crcy Reference for Unit/Price Quotation" |
BAPI General Data Structure
Rule #| Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|
| NA | NA | NA | CONSTRUCT | S4HANA |
| VTBFHA | BUKRS | COMPANY_CODE | From DCT field "COMPANY_CODE” |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
VVSART
PRODUCT_TYPE
From DCT field "PRODUCT_TYPE"
| VTBFHA | RFHA | TRANSACTION NUMBER | Internal Field generated by SAP. Note Copy field MERKM field in DCT to ZLEGACYRFHA | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_SFHAART
| VTBFHA | SGSART | PRODUCT |
| _TYPE | From DCT field " |
| PRODUCT_TYPE" |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_RFHA
| VTBFHA | SFHAART |
| TRANSACTION_ |
NUMBER
Keep Blank or Ignore the field
05
| TYPE | From DCT field "TRANSACTION_TYPE" |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
| VTBFHA | KONTRH |
| PARTNER |
From DCT field "PARTNER"
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 | ||||
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
| VTBFHA | DBLFZ |
| CONTRACT_DATE | From DCT field "CONTRACT_DATE" |
07
| NA | NA | NA | CONSTRUCT | S4HANA |
| VTBFHA | TB_TVTRAB | CONTRACT_TIME | System Time at the time of Data Load |
09
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_GSPPART
CONTACT_PERSON
Keep Blank or Ignore the field
| VTBFHA | RPORTB | PORTFOLIO | From DCT field "PORTFOLIO" |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
RDEALER
| VTBFHA | ZUOND | ASSIGNMENT |
| From DCT field " |
| ASSIGNMENT" |
010
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
RREFKONT_OBSOLETE
ACCT_ASSIGNMENT_REF
Keep Blank or Ignore the field
| VTBFHA | REFER | INTERNAL_REFERENCE | From DCT field "INTERNAL_REFERENCE" |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
RPORTB
| VTBFHA | MERKM | CHARACTERISTICS |
| From DCT field " |
| CHARACTERISTICS" |
012
| NA | NA | NA | CONSTRUCT | S4HANA |
| VTBFHA | TB_ |
| DCRDAT |
| ENTRY_ |
Keep Blank or Ignore the field
013
| DATE | Date on which the data is getting loaded. |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_RGARANT_NEW
GUARANTOR
Keep Blank or Ignore the field
| VTBFHA | FACILITYBUKRS | VALUATION_CLASS | From DCT field "VALUATION_CLASS” |
015
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_RMAID
MASTER_AGREEMENT
Keep Blank or Ignore the field
| VTBFHA | RANL | Security Class ID Number | From DCT field "SECURITY_ID" |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_ZUOND
| VTBFHA | RLDEPO | Securities Account |
| From DCT field " |
| SECURITY_ACCOUNT" |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_NORDEXT
| VTBFHA | WGSCHFT | Transaction Currency |
| From DCT field " |
| Transaction Currency" | ||||
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_REFER
| VTBFHAPO | BUKRS | COMPANY_CODE |
| From DCT field " |
| COMPANY_CODE” | ||||
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_MERKM
CHARACTERISTICS
From DCT field "CHARACTERISTICS"
019
| VTBFHAPO | RFHA | TRANSACTION NUMBER | Internal Field generated by SAP. Note Copy field MERKM field in DCT to ZLEGACYRFHA | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TBEGRU
AUTH_GROUP
Keep Blank or Ignore the field
| VTBFHAPO | RFHAZU | Transaction Activity | Internal Field generated by SAP. Use Internally generated Sequential Number |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_CRUSER
CREATE_USER
Keep Blank or Ignore the field
| VTBFHAPO | DCRDAT | ENTERED ON | Internal Field generated by SAP. Use System Date while you generate your report |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_DCRDAT
ENTRY_DATE
Date on which the data is getting loaded.
| VTBFHAPO | TCRTIM | ENTRY TIME | Internal Field generated by SAP Use System Time when you generate your report. |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_FACILITYNR
FACILITY
Keep Blank or Ignore the field
| VTBFHAPO | RFHAZB | TRANSACTION FLOW | Internal Field generated by SAP. Use Internally generated Sequential Number |
024
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_FACILITYBUKRS
FACILITY_COMPANY_
CODE
Keep Blank or Ignore the field
| VTBFHAPO | DBESTAND | Position Value Date | From DCT field "POSITION_VALUE_DATE" |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TPM_COM_VAL_CLASS
| VTBFHAPO | DVAULT | Calculation Date |
| From DCT field " |
| CALCULATE_ |
| DATE" |
025
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
FM_FUND
FUND
Keep Blank or Ignore the field
| VTBFHAPO | BZBETR | Nominal Amount | From DCT field "NOMINAL_AMOUNT" | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
GM_GRANT_NBR
GRANT_NBR
Keep Blank or Ignore the field
028
| VTBFHAPO | BUPRC | Sec. Price Without Curr. Reference for Unit/Price Quotation | From DCT field "BUPRC" | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_SPESEN
EXPENSE_KEY
Keep Blank or Ignore the field
| VTBFHAPO | BZBETR | Payment Amount | From DCT field "Transaction Currency" |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TB_SANST
RESERV_REASON
Keep Blank or Ignore the field
029
| VTBFHAPO | SFLAT | Indicator 'Traded flat',i.e.no accrued interest calculation | From DCT field "Indicator 'Traded flat',i.e.no accrued interest calculation" | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TPM_TREA_CLEARING_
OPT
CLEARING_OPTION
Keep Blank or Ignore the field
| VTBFHAPO | SCOUPON | Coupon ID for interest and accrued interest calculation | From DCT field "Coupon ID for interest and accrued interest calculation" | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TPM_TREA_CLEARING_
STATUS
CLEARING_STATUS
Keep Blank or Ignore the field
| VTBFHAPO | SSTCKTG | Accrued interest: Daily method | From DCT field "Accrued interest: Daily method" | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TPM_TREA_CLEARING_
DATE
CLEARING_DATE
Keep Blank or Ignore the field
| VTBFHAPO | SFHAZBA | Flow Type | From DCT field "Flow Type" | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TPM_EXT_ACCOUNT
EXT_ACCOUNT
Keep Blank or Ignore the field
033
| VTBFHAZU | BUKRS | COMPANY_CODE | From DCT field "COMPANY_CODE” | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
TPM_TREA_CLEARING_
DATE_ACT
CLEAR_DATE_ACT
Keep Blank or Ignore the field
| VTBFHAZU | RFHA | TRANSACTION NUMBER | Internal Field generated by SAP. Note Copy field MERKM field in DCT to ZLEGACYRFHA | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
FTR_THRESHOLD_
RISK_MITIGATING
RISK_MITIGATION
Keep Blank or Ignore the field
| VTBFHAZU | RFHAZU | TRANSACTION ACTIVITY | Internal Field generated by SAP. Use Internally generated Sequential Number | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
FTR_THRESHOLD_SCHEME
LEGAL_BASIS
Keep Blank or Ignore the field
036
| VTBFHAZU | RDEALER | TRADER | From DCT field "TRADER" | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
| VTBFHAZU | NORDEXT |
| EXTERNAL_ |
| TRANSACTION_ |
Keep Blank or Ignore the field
| NUMBER | From DCT field "EXTERNAL_REFERENCE" | |||
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
PRCTR
PROFIT_CENTER
Keep Blank or Ignore the field
| VTBFHAZU | SEFFMETH | Effective Interest Method (Financial Mathematics) | From DCT field "Effective Interest Method (Financial Mathematics)" | |
| NA | NA | NA | CONSTRUCT | S4HANA |
BAPI_FTR_FTD_CREATE
KOSTL
COST_CENTER
Keep Blank or Ignore the field
039
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
PS_PSP_PNR
WBS_ELEMENT
Keep Blank or Ignore the field
040
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
GSBER
BUSINESS_AREA
Keep Blank or Ignore the field
041
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TOE_HEDGING_
CLASSIFICATION_OLD
HEDGE_CLASSIFICATION
Keep Blank or Ignore the field
042
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TRPA_INITIAL_STAGE
INIT_CLASSIFIER
Keep Blank or Ignore the field
043
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
LAND1
COUNTRY
Keep Blank or Ignore the field
044
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
INTCA
COUNTRY_ISO
Keep Blank or Ignore the field
045
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
FB_SEGMENT
SEGMENT
Keep Blank or Ignore the field
046
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TRBA_BEHALF_
OF_COMPANY
ON_BEHALF_OF_
COMPANY
Keep Blank or Ignore the field
047
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TOE_HEDGING_
CLASSIFICATION
HEDGING_
CLASSIFICATION
Keep Blank or Ignore the field
048
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TOE_REQUEST_ID
HEDGE_REQUEST_ID
Keep Blank or Ignore the field
049
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
FTR_CFI_CODE
CFI_CODE
Keep Blank or Ignore the field
050
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
RANL_ISIN
ISIN
Keep Blank or Ignore the field
051
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TBA_MIC
MIC
Keep Blank or Ignore the field
052
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
FTR_CONTRACT_
TIMESTAMP_UTC
CONTRACT_
TIMESTAMP_UTC
Keep Blank or Ignore the field
053
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
BUPLA
BUSINESS_PLACE
Keep Blank or Ignore the field
054
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
FKBER
FUNCTIONAL_AREA
Keep Blank or Ignore the field
055
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TPM_CUST_DIFF_
TERM_VALUE
CUSTOM_DIFF_TERM_1
Keep Blank or Ignore the field
056
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TPM_CUST_DIFF_
TERM_VALUE
CUSTOM_DIFF_TERM_2
Keep Blank or Ignore the field
057
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TPM_CUST_DIFF_
TERM_VALUE
CUSTOM_DIFF_TERM_3
Keep Blank or Ignore the field
058
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TPM_CUST_DIFF_
TERM_VALUE
CUSTOM_DIFF_TERM_4
Keep Blank or Ignore the field
059
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TPM_CUST_DIFF_
TERM_VALUE
CUSTOM_DIFF_TERM_5
Keep Blank or Ignore the field
060
NA
NA
NA
CONSTRUCT
S4HANA
BAPI_FTR_FTD_CREATE
TPM_CUST_DIFF_
TERM_VALUE
CUSTOM_DIFF_TERM_5
Keep Blank or Ignore the field
Transformation Mapping
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 commence1
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
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
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
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
| Utility Field (VTBFHA) | ZSINCL | Inclusive Indicator as Character Field | From DCT field "Inclusive Indicator as Character Field" |
Transformation Mapping
| Mapping Table Name | Mapping 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 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 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
| 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 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
| 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, Interest Rate, 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
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.
Accuracy
Conversion accuracy
To check and validate the load files with all the transformation and mapping rules, to be signed off.
Load
The load process includes:
- 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.
- 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 TeamCompleteness
| 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. |
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 to cross check the records created for Counterparties |
Accuracy
| Task | Action |
|---|---|
Field Checks | Check key fields to ensure that Business Partner - Counterparty has been maintained with proper details such as
|
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.
See also
CNV-3007: Business Partner General - CNV-3007 Business Partners - General (Role 000000) - SyWay Project - Syensqo - Wiki knowledge base
CNV-3040: Business Partner Counterparty - CNV-3040 Business Partners - Counterparty - SyWay Project - Syensqo - Wiki knowledge base
CNV-1184: Security Class - CNV-1184 Securities Class - SyWay Project - Syensqo - Wiki knowledge base
CNV-1185: Security Account - CNV-1185 Securities Account - SyWay Project - Syensqo - Wiki knowledge base
CNV-1203: Business Partner Depository - CNV-1203: Business Partner Depository - SyWay Project - Syensqo - Wiki knowledge base
CNV-1182: Trader Authorization - CNV-1182: Trader Authorization - SyWay Project - Syensqo - Wiki knowledge base
Change log
| Change History | ||
|---|---|---|
|