Document History
Version | Changes | Effective Date |
1.0 | First approved version 3Keys CRPT Connector Add-On release 3.0 | 01-Jul-2021 |
1. About This Guide
This document describes configuration steps that are required, or are optionally possible, to configure 3Keys CRPT Connector ISMT in SAP ATTP system.
2. Solution overview
SAP ATTP delivers a solution to generate the reporting messages for Russian ISMT system. The 3Keys CRPT Connector ISMT automate the communication and message transfer to Russian ISMT system, visualize the message processing status with monitoring transaction, download and process the electronical document and receipts in ATTP
2.1. Solution scope
In 3Keys CRPT Connector ISMT, the following notifications are supported:
Rule | Notification |
Z3K_ISMT_APPL_CANC | Writing off applied ICs with IM - Applied Cancellation (LK_APPLIED_KM_CANCELLATION) |
Z3K_ISMT_CONTR_COMM | Introduction into circulation. Contract manufacturing in the Russian Federation (LK_CONTRACT_COMMISSIONING) |
Z3K_ISMT_DEC | Withdrawal from circulation – Decomissioning (LK_RECEIPT) |
Z3K_ISMT_INTR_GDS | Introduction into circulation. Manufacturing in the Russian Federation - Introduce Goods (LP_INTRODUCE_GOODS) |
Z3K_ISMT_PACK | Aggregation – Pack – (AGGREGATION_DOCUMENT) |
Z3K_ISMT_FTS_INT | Introduction into Circulation. Import with FCS (LP_FTS_INTRODUCE) |
Z3K_ISMT_UNPACK | Disaggregation (DISAGGREGATION_DOCUMENT) |
Z3K_ISMT_GTIN_REC | Withdrawal from circulation (volume and grade accounting) (LK_GTIN_RECEIPT) |
Z3K_ISMT_GDS_IMP | RU IS-MT Goods Import (LP_GOODS_IMPORT) |
The list of supported rule types (notifications) is planned to be enhanced in future 3Keys CRPT Connector ISMT releases. Also, you can enhance supported notification by adding custom rule types (See enhancement section).
3. Constraints, Assumptions, Prerequisites and Dependencies
The Russian reporting part for ISMT is configured in SAP ATTP.
4. Setting up the Solution
4.1. Connection to Java part
The connector Java part as SaaS solution supports HTTPS communication using web services.
The Root CA certificate of the certificate which is used to secure the connection from ATTP or middleware system to connector Java part, should be added to the SSL client (Anonymous) in the transaction STRUST.
The corporate firewall, proxy, gateway, etc. should allow outbound HTTPS connection from ATTP or middleware system to the Connector Java part.
4.1.1. Prerequisites
For setting up an online integration to a Russian reporting system via CRPT connector Java part, do the following:
· Create an HTTP Destination to CRPT connector.
· Create a System (master data).
· Maintain settings.
4.1.2. Create an HTTP Destination to CRPT connector
To create an HTTP connection to the external server, do the following:
Call transaction SM59
Create a new destination as follows:RFC Destination: Maintain a name for the destination (for example GISMT)
Connection Type: G – HTTP Connection to External Server
Description: Maintain a description for the destination (for example GIS MT via CRPT connector)
On the tab Technical Settings, maintain the URL in the fields Target Host, Service No. and Path Prefix.
For example, the URL: https://[URL provided by 3Keys support]/gismt/api results into:
Target Host: [URL provided by 3Keys support]
Service No.: 443
Path Prefix: /gismt/api
Set the HTTP Proxy Options as required in your organizations network
On tab Logon & Security, do the following:
Basic Authentication: true
Input User and password for CRPT Connector
Do Not Send Logon Ticket: true
SSL: active, Anonymous
On the tab Special Options, do the following:
HTTP Version: HTTP 1.1
Compression: Inactive
Compressed Response: Yes
Accept Cookies: No
Save the destination.
Click on Connection Test to test the created destination. If the connector and reporting system is reachable and the destination is set up correctly, the test result shows that the HTTP response value is 200 and Text is OK.
4.1.3. Create a system
To create a system, do the following:
Call transaction /STTP/COCKPIT
Navigate to Master Data > Systems and then Choose Display/Edit.
Choose Create. A popup is displayed.
In the popup, define a system name and use following parameters:
a. System name (for example GISMT)
b. System Type: D - Domestic
c. System Group: <EMPTY>
d. Communication Type: 0 – Not Specified
e. RFC Destination: Maintain the destination name created in SM59
4.1.4. Technical user and authorization role
One technical user shall be created in ATTP and have authorization to execute web service calls. The authorization to post events is needed if inbound electronic document processing shall generate objects or post events in ATTP.
4.1.5. Maintain service paths
Check and, if needed, maintain the service paths in the view /STTP/V_RSRVPATH via transaction SM30. Industry FS is default industry for methods, correct product group depends on industry and added before True API request execution
Industry Identifier | RU System | RU System Revision | REST Operation | REST Path |
FS | NTF (Notification System) | 600 | ZZGET_CISES_AGG_LIST | /api/v3/true-api/cises/aggregated/list |
FS | NTF (Notification System) | 600 | ZZGET_CISES_INFO | /api/v3/true-api/cises/info |
FS | NTF (Notification System) | 600 | ZZGET_CIS_INFO | /api/v3/true-api/cises/list |
FS | NTF (Notification System) | 600 | ZZGET_DOCUMENTS | /api/v4/true-api/doc/list |
FS | NTF (Notification System) | 600 | ZZGET_DOCUMENT_INFO | /api/v4/true-api/doc/{docId}/info |
FS | NTF (Notification System) | 600 | ZZGET_RECEIPT_INFO | /api/v4/true-api/receipt/{receiptId}/info |
FS | NTF (Notification System) | 600 | ZZGET_RECEIPT_LIST | /api/v4/true-api/receipt/list |
FS | NTF (Notification System) | 600 | ZZGET_UTD_INFO | /api/v3/true-api/documents/edo/tpr/ud |
4.2. Event additional properties
The following is a list of expected event properties to compose the notification message. The notification raise error in case the mandatory event properties is not available on the event.
Property names with prefix ZRU_ could be redefined via transaction /K3TMT/PARAM.
Applied Cancellation
Property | Description | Mandatory? |
ZRU_VSD | VSD Certificate | N |
ZRU_CANC_DOC_DATE | Cancellation document date | Y |
ZRU_CANC_DOC_NUMBER | Cancellation document number | Y |
ZRU_CANC_REASON | Cancellation reason | Y |
ZRU_TRADE_PARTIC_INN | Trade participant tax number | Y |
Contract commissioning
Property | Description | Mandatory? |
ZRU_VSD | VSD Certificate | N |
ZRU_PRODUCER_INN | Producer tax number | N |
ZRU_OWNER_INN | Owner tax number | N |
RR_RU_TNVED_CODE | A 10-digit FEACN code | Y |
RR_RU_CERT_DOC_DATE | Certificat document date | N |
RR_RU_CERT_DOC_NUM | Certificate document number | N |
RR_RU_CERT_DOCUMENT | Certificate document | N |
Decommissioning
Property | Description | Mandatory? |
RR_RU_ACTION | Type of decommissioning. Possible values: RETAIL – Retail, EEC_EXPORT – Export to EAEU countries, BEYOND_EEC_EXPORT – Export outside the EAEU countries, RETURN – Return to individual, REMOTE_SALE – Sample sales, remote selling method, DAMAGE_LOSS – Loss or damage, DESTRUCTION – Destruction, CONFISCATION – Confiscation, LIQUIDATION – Liquidation of an enterprise, ENTERPRISE_USE – Use for the company’s own needs | Y |
RR_RU_ACTION_DATE | Date of decommissioning. (timestamp format yyyy-mm-ddThh:mm:ss.000Z) | Y |
RR_RU_DOC_TYPE | Document type. Depends on selected document action: Retail: RECEIPT SALES_RECEIPT OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM BEYOUND_EEC_EXPORT: CUSTOMS_DECLARATION EEC_EXPORT: CONSIGNMENT_NOTE UTD OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM RETURN: OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM REMOTE_SALE: RECEIPT SALES_RECEIPT CONSIGNMENT_NOTE UTD OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM DAMAGE_LOSS: DESTRUCTION_ACT OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM DESTRUCTION: DESTRUCTION OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM CONFISCATION: CONSIGNMENT_NOTE UTD OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM LIQUIDATION: CONSIGNMENT_NOTE UTD OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM ENTERPRISE_USE: DESTRUCTION_ACT OTHER – other type provided via attribute RR_RU_PRM_DOC_CUS_NM |
|
RR_RU_DOC_NUM | Document number | Y |
RR_RU_DOC_DATE | Document date. (timestamp format yyyy-mm-ddThh:mm:ss.000Z ) | Y |
RR_RU_COST | Product Cost | Y |
RR_RU_KKT_NUMBER | Control cash register number | N |
RR_RU_PRM_DOC_TYPE | Primary document type | N |
RR_RU_PRM_DOC_DATE | Primary document date | N |
RR_RU_PRM_DOC_NUM | Primary document number | N |
RR_RU_PRM_DOC_CUS_NM
| Primary document custom name. Mandatory in case for the event additional extension attribute RR_RU_DOC_TYPE the value ‘OTHER’ is provided. | N |
Introduce Goods
Property | Description | Mandatory? |
ZRU_VSD | VSD Certificate | N |
RR_RU_TNVED_CODE | A 10-digit FEACN code (from GTIN properties) | Y |
RR_RU_CERT_DOC_DATE | Certificate document date | N |
RR_RU_CERT_DOC_NUM | Certificate document number | N |
RR_RU_CERT_DOCUMENT | Certificate document | N |
Pack
Property | Description | Mandatory? |
RR_RU_AGGREGATION_TYPE | Aggregation type. Default value: AGGREGATION | Y |
Withdrawal from circulation (volume and grade accounting)
Property | Description | Mandatory? |
ZRU_TRADE_PARTIC_INN | INN of goods circulation participant If property is not provided tax code from Business partner assigned to GLN will be used | N |
ZRU_BUYER_INN | Buyer’s INN It is mandatory if RR_RU_ACTION value is “DONATION” (“Donation”). It shall not be filled in if RR_RU_ACTION value is not equal to “DONATION” (“Donation”), “OWN_USE” (“Use for own purposes”) or “PRODUCTION_USE” (“Use for production purposes”) | N |
RR_RU_ACTION | Withdrawal reason Possible values: “BEYOND_EEC_EXPORT” - Export outside the EEU countries “CONFISCATION” - Confiscation “DESTRUCTION” - Destruction “DONATION” - Donation “EAS_TRADE” - Cross-border export to EEU countries “EXPIRATION” - Shelf life expiration “LOSS” - Loss “OTHER” - Other “OWN_USE” - Use for internal purposes “PRODUCTION_USE” - Use for production purposes “STATE_CONTRACT” - Sale under a state (municipal) contract “STATE_SECRET” - Sale in deal constituting a state secret “UTILIZATION” - Disposal | Y |
RR_RU_WDRWL_REASON | Other reason It is mandatory if RR_RU_ACTION value is "OTHER" ("Other reason"). This parameter shall not be filled in if other RR_RU_ACTION values are specified | N |
RR_RU_ACTION_DATE | Date of withdrawal from circulation | Y |
ZRU_STATE_CONTR_ID | Identifier of state contract It is mandatory if RR_RU_ACTION value is: “STATE_SECRET” (“Sale in deal with a state secret”); “STATE_CONTRACT” (“Sale under a state (municipal) contract”) / “STATE_ENTERPRISE” (“Acquisition by a state enterprise”). This parameter shall not be filled in if other RR_RU_ACTION value is specified. | N |
RR_RU_DOC_TYPE | Type of primary document Shall not be filled in case for the event additional extension attribute RR_RU_ACTION the value from range ('STATE_SECRET', ‘STATE_CONTRACT', ‘STATE_ENTERPRISE’, ‘EAS_TRADE’, 'EEC_EXPORT’ ) is provided. Mandatory in case for the event additional extension attribute RR_RU_ACTION other value is provided Possible values: “RECEIPT” - “Register receipt”; “SALES_RECEIPT” - “Sales receipt”; “CONSIGNMENT_NOTE” - “Packing list”; “CUSTOMS_DECLARATION” - “Customs declaration”; “UTD” - “Universal transfer document”; “DESTRUCTION_ACT” - “Certificate of destruction (loss/disposal)”; “OTHER” - “Other”. | N |
RR_RU_DOC_NUM | Primary document number Mandatory in case for the event additional extension attribute RR_RU_DOC_TYPE value is provided | N |
RR_RU_DOC_DATE | Primary document date Mandatory in case for the event additional extension attribute RR_RU_DOC_TYPE value is provided | N |
RR_RU_PRM_DOC_CUS_NM | Name of primary document Mandatory in case for the event additional extension attribute RR_RU_DOC_TYPE the value ‘OTHER’ is provided. | N |
ZRU_CTR_DEST | Code of the destination country The parameter is filled in if RR_RU_ACTION value is “EAS_TRADE” (“Cross-border export to EEU countries”) / "EEC_EXPORT" (“Export to EEU countries”). If other reasons for withdrawal from circulation are specified, the parameter shall not be filled in. Possible values: "112" - Republic of Belarus; "417" - Kyrgyz Republic; "398" - Republic of Kazakhstan; "051" - Republic of Armenia | N |
ZRU_IMPORTER_ID | INN (or analog) of the importer The parameter is filled in if RR_RU_ACTION value is “EAS_TRADE” (“Cross-border export to EEU countries”) / “EEC_EXPORT” (“Export to EEU countries”). If other reasons for withdrawal of the goods from circulation are specified, the parameter shall not be filled in. | N |
RR_RU_AOGUID | FIAS identifier The parameter can be filled in only if RR_RU_ACTION value is: “CONFISCATION” — “Confiscation”; “UTILIZATION” — “Disposal”; “DESTRUCTION” — “Destruction”; “LOSS” / “DAMAGE_LOSS” — “Loss”; “OTHER” — “Other”. | N |
ZRU_GTIN_QTY | Quantity of the goods units | Y |
RR_RU_COST | Unit price The parameter is optional if if RR_RU_ACTION value is: "DONATION" ("Compensation-free transfer"); "PRODUCTION_USE" ("Use for production purposes"). If RR_RU_ACTION value has other values, the parameter shall not be filled in. If RR_RU_ACTION value is “DONATION” (“Compensation-free transfer”) and RR_RU_COST is filled in, a value “0.00” must be specified. | N |
Import
Property | Description | Mandatory? |
ZRU_VSD | VSD Certificate | N |
RR_RU_DECL_NUM | Declaration number | Y |
RR_RU_DECL_DATE | Declaration date | Y |
RR_RU_CUSTOMS_CODE | Customs code | Y |
RR_RU_DECISION_CODE | Decision code | Y |
RR_RU_TNVED_CODE | A 10-digit FEACN code (from GTIN properties) | Y |
RR_RU_CERT_DOC_DATE | Certificate document date | N |
RR_RU_CERT_DOC_NUM | Certificate document number | N |
RR_RU_CERT_DOCUMENT | Certificate document | N |
4.3. Customizing the solution
In general, customizing is performed with following transactions:
/K3TMT/PARAM
/K3TMT/CUST
/K3TMT/CONF
4.3.1. General Customizing
The transaction /K3TMT/PARAM contains parameters to influence the 3Keys CRPT connector ISMT. The settings will require a customizing transport. The view /K3TMT/V_PARAM can be used with transaction SM30 for changes without customizing transport
Name | Description, Values |
/K3TMT/FM_POPUP_MSG_CONTENT | Function module name to display quantity data in transaction /K3TMT/REP_MONITOR |
/K3TMT/FM_READ_MSG_CONTENT | Function module name to read quantity data displayed in transaction /K3TMT/REP_MONITOR |
/K3TMT/MON_CHANGE_DOC_INACTIVE | Deactivate Change Log functionality X – deactivate |
/K3TMT/OMS_STATUS_CHECK_DELAY | Delay in seconds before first ISMT status check after sending usage report to OMS system Example 300 |
/K3TMT/RCP_INB_DELAY | Wait up to XX seconds to be able debug receipt AIF processing Example: 30 |
/K3TMT/REP_MON_HDR_AREA | Set header area size for transaction /K3TMT/REP_MONITOR |
/K3TMT/UD_INB_DELAY | Wait up to XX seconds to be able debug universal document AIF processing Example: 30 |
ISMT_SYSTEM | System name at master data for online integration Example: GISMT |
ITM_AGGR_CHECK_TYPE | This parameter defines how system analyzed SGTIN object is parent object for other SGTINs: 1 – GTIN attribute ZRU_AGGR_SGTIN expected with non-empty value; 2 – Check current SGTIN has child object at object hierarchy |
MON_NAVIG_ACTIVE | Navigation to ATTP Cockpit is active for transaction /K3TMT/REP_MONITOR X - active |
NTF_REGNO_FROM_PARENT | Read registration number from parent Business Partner if Business Partner contains no registration number X - active |
NTF_ALLOW_EMPTY_AGGR | Allow aggregation/disaggregation with empty parent object X - active |
PRP_NAME_CANC_DOC_DATE | Event additional property name for cancellation document date (used at report data mapping) Example: ZRU_CANC_DOC_DATE |
PRP_NAME_CANC_DOC_NUM | Event additional property name for cancellation document number (used at report data mapping) Example: ZRU_CANC_DOC_NUM |
PRP_NAME_CANC_REASON | Event additional property name for cancellation reason (used at report data mapping) Example: ZRU_CANC_REASON |
PRP_NAME_CERT_DOCUMENT | Event additional property name for certification document (used at report data mapping) Example: ZRU_CERT_DOCUMENT |
PRP_NAME_CERT_DOC_DATE | Event additional property name for certification document date (used at report data mapping) Example: ZRU_CERT_DOC_DATE |
PRP_NAME_CERT_DOC_NUM | Event additional property name for certification document number (used at report data mapping) Example: ZRU_CERT_DOC_NUM |
PRP_NAME_OWNER_INN | Event additional property name for owner tax number (used at report data mapping) Example: ZRU_OWNER_INN |
PRP_NAME_PRODUCER_INN | Event additional property name for producer tax number (used at report data mapping) Example: ZRU_PRODUCER_INN |
PRP_NAME_TRADE_PARTIC_INN | Event additional property name for trade participant tax number (used at report data mapping) Example: ZRU_TRADE_PARTIC_INN |
PRP_NAME_VSD_CERTIFICATE | Event additional property name for VSD certificate (used at report data mapping) Example: ZRU_VSD_CERTIFICATE |
UD_IND_DELIMITER | Industry delimiter to be displayed at transaction /K3TMT/UD_MONITOR Example: / |
UD_IN_LIST_LIMIT | Limit value for True-Api method get document list Example: 10000 |
UD_IN_PROCESS_OVERLAP | Overlap in seconds to find universal documents with status IN_PROGRESS created from overlap date to run date |
Following the recommended minimum set of parameters
Name | Value |
ISMT_SYSTEM | Example: GISMT |
4.3.2. Customizing for Reports
4.3.2.1. Relevant industry
Maintain relevant industry in the transaction /K3TMT/CUST under “Relevant industry”.
These settings are also used for assignment of customer specific industries to product groups
Field | Description, Values |
Industry | Industry relevant for connector operations |
Product group | Product group at ISMT system |
Text | Free text used to describe industry |
This mapping will be used to identify correct product group on execution True API request.
Example:
Industry | Product group | Text |
FS | lp | Clothing items, bed, table, bath and kitchen linens |
TR | tires | New pneumatic rubber tires and tire casings |
ZM | milk | Dairy products |
4.3.2.2. Document type description
Maintain document type description in the transaction /K3TMT/CUST under “Document Type”
Field | Description, Values |
Doc Type | Internal document type (values are predefined). Example:
|
Document Type Description | Text to be displayed at Report Monitor for document type |
ISMT Document Type | TRUE API document type |
4.3.2.3. Mapping attributes
Mapping attributes in the transaction /K3TMT/CUST under “Mapping attributes” contains attributes for each report used on notification creation. 3Keys CRPT connector ISMT already contains predefined mapping attributes for delivered rule types:
Field | Description, Values |
Rule Type | Rule execution type |
Notification Type | Notification type |
NS | AIF namespace. Value is common for 3Keys CRPT connector: /STTC3 |
Interface | AIF interface. Unique for each rule type, example: ZR_ISMT_15 |
Version | AIF interface version. 3Keys CRPT connector value: 1 |
Raw Data Structure | AIF request/response structure for notification data Example: /K3TMT/S_APPL_KM_CANC_MSG |
SAP Data Structure | SAP structure for notification data Example: /K3TMT/S_APPL_KM_CANC_MSG |
ISMT Document Type | Internal document type Example: 15 |
ObjectTypeName | Execution class to collect notification data Example: /K3TMT/CL_3K_RULE_MAPPING |
Mapper class | Mapper class to fill notification with data Example: /K3TMT/CL_APPL_CANC_MAPPER |
Event Type | Event type triggering reporting Example: 1 Object event |
Event Action | Event action triggering reporting Example: ADD Add/Create |
Notif Action ID | Notification action ID to determine object status by SAP ATTP standard (replaced with Proc valid status field) Example: IS_MT-ApplCanc |
Proc object type | Object types to be included into notification Example: 3 sgtin_sscc_det |
Proc valid status | Object status to be included into notification Example: 2 active (active+read-only+disposition active/in_transit/returned/081) |
Notif Part name | Notification part name on file uploading (not used) Example: IS_MT-ApplCanc |
Max. No.of Obj/Not | Maximum object number at 1 notification part Example: 30000 |
Participant Fieldname | Field name for tax number determination |
Description | Free text for description |
4.3.2.4. Product Group
Product group in the transaction /K3TMT/CUST under “Product group” contains possible values for product groups at ISMT system. 3Keys CRPT connector ISMT already contains product groups, maintain additional values in case new product group added:
Field | Description, Values |
Product group | Product group from True API documentation Example: shoes |
Text | Description (used at search help) Example: Shoes |
4.4. Rule processing
The common rule processing scheme:
The rule type Z3K_RR_MT shall be assigned in the transaction /STTP/CUST_RULES to business steps / location groups related for the ISMT Russian reporting
The rule type Z3K_RR_MT allows to use additional customizing parameters to determine the rule to be executed, determine the approval parameters, and helps with sequence check. In case event triggered rule contains more than one industry rule type Z3K_RR_MT split objects into several reporting events group by industry.
Maintain the rules in the transaction /K3TMT/CONF under “Rule Configuration”
Field | Description, Values |
Scenario | Free text used to describe the scenario and group multiple rules to be triggered for the same event |
Rule processing sequence | Sequence of rule triggering for the same Scenario |
Industry identifier | Industry for which rule will trigger For empty industry the following logic used:
|
ISMT Document type | ISMT Document type |
Rule type | The ATTP standard rule type or customer developed |
Rule is active | Set check box to activate the rule |
Rule Condition Cust | Rule condition |
Business Step | Business step |
Disposition | Disposition code (optional) |
Location Group | Business location group (optional) |
BizLocation GLN | Business location GLN (optional) |
BizLoc. GLN Ext | Business location extension (optional) |
Bus. Transact. Type | Business transaction type (optional) |
Description | Description |
Maintain additional parameters in the transaction /K3TMT/CONF under “Rule Configuration” if required skip specific rules using SAP ATTP rule conditions or class-based rule conditions
Field | Description, Values |
Scenario | Free text used to describe the scenario and group multiple rules to be triggered for the same event |
Rule processing sequence | Sequence of rule triggering for the same Scenario |
Rule Condition Cust | Rule condition |
SAP ATTP rule condition is based on BADI /STTP/BADI_RULE_CONDITIONS with filter = rule condition (Rule processing will stop check if result is skip rule).
Class-based rule condition is maintained via transaction /K3TMT/CUST node “Rule condition” and based on class method /K3TMT/CL_RULES=>GET_RULE_CONDITION_CLASS. Method is used to get class name from table /K3TMT/C_COND, custom class could be assigned as condition processor. Class method /K3TMT/IF_3K_RULE_CONDITIONS~EXECUTE is called. (Rule processing will stop check if result is skip rule).
4.5. Message approval
By default every report is ready for sending. If the explicit waiting of user approval is required activate User Approval check box in the transaction /K3TMT/CONF under “Configuration ID”
Field | Description, Values |
Configuration ID | Free text used to describe the Configuration ID |
User Apprvl | Wait explicit user approval (optional) |
4.6. Sequence check
The sequence check is active for all outbound notification to ISMT system except LK_GTIN_RECEIPT. The sequence check is triggered during the message approval, check sequence function, sending notification to ISMT via report /K3TMT/DISPATCHER.
Background job needs to be planned for the report /K3TMT/DISPATCHER. The sequence check results are stored as application log transaction SLG1, Object /STTP/, Sub object DM, External ID /K3TMT/SEND
The logic of the sequence check:
Check objects ISMT status (status found). The ISMT status tracked for every SGTIN in the table /K3TMT/OBJ_STA. The SSCC ISMT status determined based on the first found SGTIN in the current hierarchy
Processing status: there is no report with the same objects in status “Send”
Check predecessor: there is no report with the same objects earlier than the current message.
The ISMT status could be updated with transaction /K3TMT/SN_INFO or program /K3TMT/OMS_REP (if SGTIN was send to OMS with BR_CRYPTO_COMM event).
The sequence check can be skipped/ignored by user in the transaction /K3TMT/REP_MONITOR with button Approval
4.7. Configuration ID determination
The Configuration ID represents the user / certificate for login to the ISMT system and electronic signature of the message in the connector Java part configuration file.
Only one Configuration ID is currently supported. Support of multiple Configuration IDs will be added in future releases.
Maintain Configuration ID in the transaction /K3TMT/CONF under “Configuration ID”
Field | Description, Values |
Configuration ID | Free text used to describe the Configuration ID |
Config description | Description |
Approved by | User for automatic approval (optional) |
User Apprvl | Wait explicit user approval (optional) |
Delay Response | Delay in seconds before first response for notification |
Max error | Maximum error counter before set notification status “No response” |
4.8. Inbound Universal Documents processing
Maintain Universal document type description in the transaction /K3TMT/CUST under “Universal Document Type” in case UD text need to be corrected
Field | Description, Values |
UD Type | Universal document type of inbound document (Example: 01 – UNIVERSAL_TRANSFER_DOCUMENT or 02 – UNIVERSAL CORRECTION DOCUMENT) |
Universal Document Type | Text to be displayed at Universal Document Monitor (transaction /K3TMT/UD_MONITOR) |
Universal Document Type | TRUE API document type (displayed at Universal Document Monitor - transaction /K3TMT/UD_MONITOR) |
Activate inbound Universal Documents processing in the transaction /K3TMT/CUST node “Relevant industry”
Field | Description, Values |
Configuration ID | Configuration ID for the ISMT cabinet where the universal document expected |
Inbound UD active | Processing state indicator. Value X |
Maintain inbound filter customizing in the transaction /K3TMT/CUST node “Inbound Filter”
Field | Description, Values |
Configuration ID | Configuration ID for the ISMT cabinet where the universal document expected |
Industry | Industry relevant for universal document processing. Example: FS |
UD Int.sec | Interval between inbound UD requests |
UD Ovl.sec | UD overlap in seconds (“Date from” field to request inbound UD will be calculated as Last Run time – UD overlap)
|
The report /K3TMT/UD_IN shall be planned as a background job to request from ISMT and process the universal documents. The document processing executed with AIF functions and visible in the transaction /AIF/ERR.
The 3Keys CRPT Connector for ISMT provides the list of function modules for processing of inbound messages.
Function module /K3TMT/AIF_UD_IN_NO_REACTION set universal document status based on ISMT document status.
Assign the processing function module in the transaction /K3TMT/CONF under “Inbound Universal Doc”.
Field | Description, Values |
UD Type | Universal document type of inbound document (Example: 01 – UNIVERSAL_TRANSFER_DOCUMENT or 02 – UNIVERSAL CORRECTION DOCUMENT) |
Sender INN | Sender tax number from ISMT document (optional) |
Receiver INN | Receiver tax number from ISMT document (optional) |
Sequence | Sequence |
Function Module | Execution function module |
Alert Category | Alert category for email notification (optional) |
Description | Description |
In common universal document processing is presented on the following diagram
4.9. Inbound receipts processing
Activate inbound Receipts processing in the transaction /K3TMT/CUST node “Relevant industry”
Field | Description, Values |
Configuration ID | Configuration ID for the ISMT cabinet where the universal document expected |
Inbound RCP active | Processing state indicator. Value X |
Maintain inbound filter customizing in the transaction /K3TMT/CUST node “Inbound Filter”
Field | Description, Values |
Configuration ID | Configuration ID for the ISMT cabinet where the universal document expected |
Industry | Industry relevant for universal document processing. Example: FS |
RCP Int.sec | interval between inbound receipts requests |
RCP Ovl.sec | Receipts overlap in seconds (“Date from” field to request inbound receipts will be calculated as Last Run time – receipts overlap) |
The report /K3TMT/RCP_IN shall be planned as a background job to process the inbound receipts. The document processing executed with AIF functions and visible in the transaction /AIF/ERR.
The 3Keys CRPT Connector for ISMT provides the list of function modules for processing of receipts.
Function module /K3TMT/AIF_RCP_IN_NO_REACTION set receipt status based on ISMT document status.
Assign the processing function module in the transaction /K3TMT/CONF under “Inbound Receipt”.
Field | Description, Values |
Receipt Type | Receipt type of inbound document (Example: 01 – RECEIPT or 02 – RECEIPT_RETURN) |
Sender INN | Sender tax number from ISMT document (optional) |
Sequence | Sequence |
Function Module | Execution function module |
Alert Category | Alert category for email notification (optional) |
Description | Description |
4.10. Background jobs for report processing
4.10.1. Report sending
The report /K3TMT/DISPATCHER (could be planned as background job or run manually) collects created reports with status “Sequence check” and “Ready for sending”, perform sequence check and send report to ISMT system and update data:
Report header / item
Reporting event
Program works as single instance for all configurations (based on logical lock).
In case sending failed program updates field “Error text” and leave processing status without change to send report with next run.
The report run results are stored as application log transaction SLG1, Object /STTP/, Sub object DM, External ID /K3TMT/SEND
4.10.2. Response processing
The report /K3TMT/RESPONSE (could be planned as background job or run manually) collects send reports with status “Send”, receives report status from ISMT system and updates data:
Report header / item
Program works as single instance for all configurations (based on logical lock).
First response for report is requested after delay set in the configuration customizing (table /K3TMT/C_CONF_ID).
In case no positive response (response http code 200) received for report, program updates:
field “Error text” with error from JSON
field “Response code”
field “Response error counter” - increase value by 1. When response error counter value become more than maximum error counter set in the configuration customizing (table /K3TMT/C_CONF_ID) report processing status is set to “No response”
analyze if received HTTP error code is server error (selection screen parameter) during this report run and stop processing if value of screen parameter “Stop after error number” exceeded
The report run results are stored as application log transaction SLG1, Object /STTP/, Sub object DM, External ID /K3TMT/RESPONSE
4.10.3. OMS report processing
The report /K3TMT/OMS_REP (could be planned as background job or run manually) collects events with processed BR_CRYPTO_COMM reporting events (see chapter 5.3), checks status at ISMT system for specific number (subset) of SGTINs and updates data:
Report monitor header
Report monitor item
SGTIN status (APPLIED) for sequence check
The following diagram described program work:
The report run results are stored as application log transaction SLG1, Object /STTP/, Sub object DM, External ID /K3TMT/OMS_REP
The enhancement for class implementing interface /STTP/IF_BADI_RR_RU_OMS for specific industry needed at method /STTP/IF_BADI_RR_RU_OMS~SEND_IC_USAGE_REPORT (see chapter 5.3)
5. Enhancements of the Solution
The 3Keys CRPT connector ISMT solution is designed as to be possibly enhance based on customizing and code enhancements. Code enhancements are realized through BAdI implementations.
5.1.1. Enhancing rule determination
3Keys rule configuration includes a possibility to further refine the selection criteria for a rule to be executed. This can be accomplished by using one of the following options:
Redefine default rule execution class /K3TMT/CL_3K_RULE_PROC to custom class using table /K3TMT/C_RTYPE and implement own logic with ABAP to skip specific rule after rule configuration reading
Maintain rule type in the transaction /K3TMT/CUST under “Rule Type”
Field | Description, Values |
Rule Type | Rule type Example Z3K_RR_MT |
Class name | Customer class name to redefine logic |
Description | Text description |
Implementing a BADI /STTP/BADI_RULE_CONDITIONS with filter = rule condition
Implementing 3Keys rule condition class containing interface /K3TMT/IF_3K_RULE_CONDITIONS. Custom logic needs to be created at method /K3TMT/IF_3K_RULE_CONDITIONS~EXECUTE.
Maintain rule condition in the transaction /K3TMT/CUST under “Rule Condition”
Field | Description, Values |
Customer Condition for Rules | Rule condition unique name |
Class name | Customer class name |
5.1.2. Change report content
The report JSON generated by ATTP standard may not fit to the business requirements. To change report JSON the following options available:
5.1.2.1. Create custom mapping logic
To compose report data, it is possible to use own logic by creating new rule type with own rule type execution class by implementing interface /K3TMT/IF_3K_RULE_MAPPING (method EXECUTE).
Based on import parameters (event data, industry, rule key) it is necessary to fill output table with AIF structure to transfer data to AIF and create report monitor header and item.
To assign custom execution class use transaction /K3TMT/CUST, node “Mapping Attributes”, column “Class/Interface”.
5.1.2.2. Change existing mapping logic
To compose report data it is possible to change existing rule type logic by using mapping class redefinition. It is necessary to create own class as child class of /K3TMT/CL_INT_G_MAPPER (or copy of this class) and assign this new class to relevant rule type via transaction /K3TMT/CUST, node “Mapping Attributes”, column “Mapper class”.
5.1.2.3. Change report after mapping
Badi /STTP/BADI_RU_CHANGE_AFTER_MAP shall be implemented for the rule type and own processing logic needs to be implemented.
5.1.3. New custom ISMT report type
The new ISMT reporting type not existing in the 3Keys Connector ISMT or SAP ATTP standard can be created with following steps:
Create new rule type via transaction /STTP/CUST_RULE_TYPE - Define Rule types
Create new notification type via transaction /STTP/REP_NOTIF_TYPE - Define Reporting Notification Types
Create ABAP structures for AIF (use structure /K3TMT/S_INT_G_AIF as example)
Create AIF customizing via transaction /AIF/CUST (Namespace /STTC3):
o Define interface
o Specify interface engine
o Define structure mapping
Create customizing for mapping report content via transaction /K3TMT/CUST (“Mapping attributes” node)
Add logic to extract report data implementing BADI /K3TMT/BADI_REP_PARSE
Create customizing for new rule via transaction /STTP/CUST_RULES (3Keys General rule)
Create customizing for new rule via transaction /K3TMT/CONF (“Rule configuration” node)
Create logic to parse data by implementing Badi /K3TMT/BADI_REP_PARSE
5.1.4. New industry
The new industry not supported by SAP ATTP standard can be created with following steps:
Create fixed value append for domain /STTP/D_INDUSTRY (for example ZP – Perfume). Skip this step if industry is supported by SAP standard.
Specify relevant industry for reporting (transaction /K3TMT/CUST, node “Relevant Industry”)
Add new REST path for created industry (transaction SM30 view /STTP/V_RSRVPATH)
Add general customizing parameter RR_RU_NTF_REV for industry using transaction /STTP/CUSTGEN
Customizing Parameter Key | Customizing Parameter Option | Value |
RR_RU_NTF_REV | ZP | 600 |
5.1.5. Create new True API function
The new True API method not existing in the 3Keys Connector ISMT can be created with following steps
If base class for API processing does not exist create child class of /K3TMT/CL_TRUE_API_REQ as custom class ZCL_TRUE_API_REQ
Create method GET_INSTANCE_ATT as copy of GET_INSTANCE at custom class ZCL_TRUE_API_REQ
Create new constant for rest operation (use constant /K3TMT/CL_REST_CONST=>GCS_REST_OPERATION-NOTIFICATION-ISMT-GET_CISES_INFO as example)
Add new REST path for created REST operation (transaction SM30 view /STTP/V_RSRVPATH)
Create processor class (use class /K3TMT/CL_TRUE_API_CISES_INFO as example), for example ZCL_TRUE_API_CISES_INFO2
Add processor (class ZCL_TRUE_API_CISES_INFO2) instance creation logic into method GET_INSTANCE_ATT (based on rest operation) of base class ZCL_TRUE_API_REQ
Implement new created API processing class ZCL_TRUE_API_REQ call into custom code
5.1.6. Enhancement spot /K3TMT/ES_REP
Badi | Description |
/K3TMT/BADI_REP_PARSE | Parse ISMT report data Additional processing logic to parse notification data into report monitor entry on notification creation |
/K3TMT/BADI_REP_RESPONSE | Get Response from ISMT Additional processing logic to change report monitor entry after report response receiving |
5.2. Enhancement for navigation to ATTP cockpit
Add general customizing parameter /K3TMT/COCKPIT_NAVIG (usage scope Customizing) to enable navigation to ATTP Cockpit from transaction /K3TMT/REP_MONITOR using transaction /STTP/CUSTGEN
Component | Customizing Parameter Key | Customizing Parameter Option | Value |
REP | /K3TMT/COCKPIT_NAVIG |
| X |
5.3. Enhancement for OMS report processing
SAP ATTP use interface STTP/IF_BADI_RR_RU_OMS method /STTP/IF_BADI_RR_RU_OMS~SEND_IC_USAGE_REPORT for OMS interaction on trigger BR_CRYPTO_COMM rule.
To store event for later ISMT status analysis by report /K3TMT/OMS_REP method /STTP/IF_BADI_RR_RU_OMS~SEND_IC_USAGE_REPORT need to be enhanced at all classes implementing interface /STTP/IF_BADI_RR_RU_OMS for relevant industries.
Enhancement example:
The class /STTP/CL_BADI_RR_RU_OMS_FS_283 method /STTP/IF_BADI_RR_RU_OMS~SEND_IC_USAGE_REPORT shall be extended at the end of ABAP code to be able to store event ID for status check. Following the example of the ABAP code:
DATA ls_oms_evt TYPE /k3tmt/oms_evt. IF ev_return_code = /iwcor/cl_rest_status_code=>gc_success_ok. ls_oms_evt-evtid = is_usage_data_generic-evtid_comm. INSERT INTO /k3tmt/oms_evt VALUES ls_oms_evt . ENDIF.