Document History
Version | Changes | Effective Date |
1.0 | First approved version 3Keys ISMT Add-On Note 2023_04_1 | 13-Sep-2023 |
1. Overview
This document describes changes in the 3Keys ISMT connector ABAP part.
2. Description
New functionality for Russia ISMT connector implemented to support manual signature approach via SAP GUI and Crypto Pro SSF software installed on the user local PC. Combined scenario with non-resident, resident MDLP cabinet with manual signature and without manual signature are supported.
In case of manual signature scenario token is stored at ISMT Connector Java part and updated from transaction /K3TMT/REP_MONITOR by user. ISMT system interaction works automatically if connector has active token and wait if token is expired until token renewed by the user.
Prerequisite of manual signature are the following:
Crypto Pro SSF software installed on the user local PC
Crypto Pro setup refer to the configuration guide
Java connector part version XXX is required
REST service path for signature methods shall be configured
New transaction /K3TMT/SSF_C - “ISMT Certificate assignment” created to maintain certificate assignment to the user and configuration ID.
New field “Signature required” added to transaction /K3TMT/CONF node Configuration ID to activate the manual signature for the Configuration ID. The field “User approval” shall be active to stop message in status ‘01’ and The message for manual signature will stop in status ‘10’ and wait for the user Approval in the transaction /K3TMT/REP_MONITOR.
The following corrections implemented into transaction /K3TMT/REP_MONITOR:
New menu “Manual Signature” with options “Update ISMT Token”, “Update OMS Token” added to the program toolbar. If token is still active update token option will be provided via confirmation Popup to update token
Approval button logic corrected to send selected report using manual signature. Additional popup window appears to execute manual signature via SAP GUI and Crypto Pro SSF integration, before sending the signed report to the connector java part.
The check of the valid ISMT token added to the ISMT Message menu buttons like “Display Document Summary JSON”, “Display Document Details JSON” etc.
New Column SSCC Quantity added to display SSCC quantity from notification
New Column GTIN text added to display GTIN description
Change logic for ISMT report header fields GLN, GLN extension: if event Business location GLN is empty event Read Point GLN is used
?(admin guid only new auth object /K3TMT/001 field /K3TMT/RAC values 17-Update token, 18-Update OMS token)
To support OMS interaction is case manual signature configuration the following correction implemented:
enhancement at Crypto code request creation method to add manual signature via SAP GUI and Crypto Pro SSF integration, before sending the Crypto code request to the connector java part
update OMS token option via transaction /K3TMT/REP_MONITOR
New feature
The following corrections implemented into transaction /K3TMT/SN_INFO Serial Number information
Check for manual signature configuration - Check ISMT token for selection screen configuration is active
New logic to request serial number information for each child element. ALV table output contains full hierarchy including all child elements. In case SSCC with 2 levels aggregation is specified output contains all objects including SGTINs. Update status option change status for requested element with all child elements.
New feature
The following corrections implemented into program /K3TMT/DISPATCHER:
report manual signature filter - reports with manual signature configurations will not be send to ISMT system by program (only using approval button via transaction /K3TMT/REP_MONITOR)
Parallel program run is allowed for different configurations
New feature
The following corrections implemented into program /K3TMT/RESPONSE:
report manual signature filter - report with manual signature configurations statuses will not be requested from ISMT system if ISMT token is inactive
Parallel program run is allowed for different configurations
New feature
The following corrections implemented into program /K3TMT/OMS_REP:
Check for manual signature configuration - Check ISMT token for selection screen configuration is active
Incorrect domain value for field OMS Reporting event Status. Database value is correct (04 – No response), domain has value 85
In case program is scheduled as background job with RU logon language field STATUS of table /K3TMT/OBJ_STA has value 00
New feature, Implementation error.
The following corrections implemented into program /K3TMT/UD_IN (Inbound Universal document processing):
Check for manual signature configuration - Check ISMT token for selection screen configuration is active
Parallel program run is allowed for different configurations
New feature
The following corrections implemented into program /K3TMT/RCP_IN (Inbound Receipts processing):
Check for manual signature configuration - Check ISMT token for selection screen configuration is active
Parallel program run is allowed for different configurations
New feature
Multiple configuration
one reporting system is supported
Configuration determination logic on message creation updated:
in case system has one configuration only configuration is used
Configuration is read from table /K3TMT/C_PARTIC by sender inn (sender tax number field at notification, for example PARTICIPANT_INN)
New feature
ISMT report LP_GOODS_IMPORT Import 3rd country according to the True API update:
The property 'RR_RU_TNVED_CODE' for ISMT document changed to optional
New feature
New ISMT report REAGGREGATION_DOCUMENT Transformation support added.
Report used to correct object hierarchy at ISMT system. Only objects existing at ISMT system are allowed
Report is based on EPCIS aggregation event with action ADD/DELETE business step SAP_PACKING_NESTED/SAP_UNPACKING_NESTED
Report is available at SGTIN ISMT status APPLIED or INTRODUCED sequence check and ISMT serial number status is not changed
Report has GTIN, Lot number, Qty sgtin, Qty SSCC from notification info at transaction /K3TMT/REP_MONITOR (ALV header level, Popup window message Qty)
BC Sets /K3TMT/CUST_ISMT_300_2023_04_01 and /K3TMT/CUST_ISMT_3_1_2023_04_01 and /K3TMT/CUST_ISMT_3_2_2023_04_01 contain all required customizing for new reporting notification
Field mapping
JSON field | SAP ATTP field |
participant_inn | Event - GLN - Business partner - tax code |
reaggregation_type | The value depends on event action value: Action DELETE: value REMOVING Action ADD: value ADDING |
uitu | event parent object |
uit_uitu_list*uit_uitu | event objects |
uit_uitu_list*kit | N/A |
New feature
3. Solution
Import related to the transport request.
3.1 Correction instruction ATTP 3.0
Transport request | Description / Dependencies |
D14K900328 | 3Keys ISMT Add-On 3.0 Note 2023_04_01 Required transport D14K900309 |
3.2 Correction instruction ATTP 3.1
Transport request | Description / Dependencies |
A2DK900623 | 3Keys ISMT Add-On 3.1 Note 2023_04_01 Required transport A2DK900515 |
3.3 Correction instruction ATTP 3.2
Transport request | Description / Dependencies |
A3DK900198 | 3Keys ISMT Add-On 3.2 Note 2023_04_01 Required transport A3DK900128 |
4. Recommendation
Activate BC Set /K3TMT/CUST_ISMT_300_2023_04_01 (SAP ATTP version 3.0) or /K3TMT/CUST_ISMT_3_1_2023_04_01 (SAP ATTP version 3.1) or /K3TMT/CUST_ISMT_3_2_2023_04_01 (SAP ATTP version 3.2). Customise new reporting notification REAGGREGATION_DOCUMENT using transactions /STTP/CUST_RULES and /K3TMT/CONF. Check new document is displayed via transaction /K3TMT/REP_MONITOR.
Manual activity required: maintain REST path via SM30 /STTP/V_RSRVPATH with following values:
method ZZCHECK_ISMT_TOKEN: “/auth/checkGismtSessionToken”
method ZZCHECK_OMS_TOKEN: “/auth/checkOmsSessionToken”
method ZZGET_KEY: “/auth/getAuthData”
method ZZUPDATE_ISMT_TOKEN: “/auth/updateGismtSessionToken”
method ZZUPDATE_OMS_TOKEN: “/auth/updateOmsSessionToken”
5. Source code objects
Short description | Program | Object type | Object name |
Translation for: GUI Definition | LANG | CUAD | /K3TMT/REP_MONITOR |
Translation for: GUI Definition | LANG | CUAD | /K3TMT/SAPLUI_POPUP |
Translation for: Domain Definition | LANG | DOMD | /K3TMT/D_NOTE2023_04_01V1 |
Translation for: Data Element Definition | LANG | DTED | /K3TMT/E_NTF_SSCC_QUANTITY |
Translation for: Screen | LANG | DYNP | /K3TMT/SAPLUI_POPUP 0102 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM030 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM031 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM032 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM033 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM034 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM035 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM036 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM104 |
Translation for: Single Message | LANG | MESS | /K3TMT/COM105 |
Translation for: Report Source Code | LANG | REPS | /K3TMT/SAPLREP_QTY |
Translation for: Report Source Code | LANG | REPS | /K3TMT/SAPLUI_POPUP |
Translation for: Report Texts | LANG | REPT | /K3TMT/CL_UI_REP_MON==========CP |
Translation for: Report Texts | LANG | REPT | /K3TMT/SAPLREP_QTY |
Translation for: Report Texts | LANG | REPT | /K3TMT/SAPLUI_POPUP |
Translation for: BC Set or Customizing Profile | LANG | SCP1 | /K3TMT/CUST_ISMT_300_2023_04_01 |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3TMT/CL_ISMT_UTILITIES |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3TMT/CL_REP_CONST |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3TMT/CL_REST_CONST |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3TMT/CL_UI_REP_MON |
Protected Header (ABAP Objects) | LIMU | CPRO | /K3TMT/CL_AIF_REP_PARSER |
Protected Header (ABAP Objects) | LIMU | CPRO | /K3TMT/CL_UI_REP_MON |
Public Header (ABAP Objects) | LIMU | CPUB | /K3TMT/CL_ISMT_UTILITIES |
Public Header (ABAP Objects) | LIMU | CPUB | /K3TMT/CL_REP_CONST |
Public Header (ABAP Objects) | LIMU | CPUB | /K3TMT/CL_REST_CONST |
Public Header (ABAP Objects) | LIMU | CPUB | /K3TMT/CL_UI_REP_MON |
GUI Definition | LIMU | CUAD | /K3TMT/REP_MONITOR |
GUI Definition | LIMU | CUAD | /K3TMT/SAPLUI_POPUP |
Documentation | LIMU | DOCU | NA/K3TMT/COM030 |
Documentation | LIMU | DOCU | NA/K3TMT/COM031 |
Documentation | LIMU | DOCU | NA/K3TMT/COM032 |
Documentation | LIMU | DOCU | NA/K3TMT/COM033 |
Documentation | LIMU | DOCU | NA/K3TMT/COM034 |
Documentation | LIMU | DOCU | NA/K3TMT/COM035 |
Documentation | LIMU | DOCU | NA/K3TMT/COM036 |
Documentation | LIMU | DOCU | NA/K3TMT/COM104 |
Documentation | LIMU | DOCU | NA/K3TMT/COM105 |
Domain Definition | LIMU | DOMD | /K3TMT/D_OMS_REP_STATUS |
Domain Definition | LIMU | DOMD | /K3TMT/D_REP_ACTION |
Domain Definition | LIMU | DOMD | /K3TMT/D_REP_AUTH_ACTION |
Screen | LIMU | DYNP | /K3TMT/SAPLUI_POPUP 0102 |
Function Module | LIMU | FUNC | /K3TMT/AIF_UD_IN_GEN |
Function Module | LIMU | FUNC | /K3TMT/REP_QTY_SAVE |
Function Module | LIMU | FUNC | /K3TMT/UI_POPUP_GET_CERTIF |
Single Message | LIMU | MESS | /K3TMT/COM030 |
Single Message | LIMU | MESS | /K3TMT/COM031 |
Single Message | LIMU | MESS | /K3TMT/COM032 |
Single Message | LIMU | MESS | /K3TMT/COM033 |
Single Message | LIMU | MESS | /K3TMT/COM034 |
Single Message | LIMU | MESS | /K3TMT/COM035 |
Single Message | LIMU | MESS | /K3TMT/COM036 |
Single Message | LIMU | MESS | /K3TMT/COM104 |
Single Message | LIMU | MESS | /K3TMT/COM105 |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER EXTRACT_DATA |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER PARSE_APPLIED_CANC |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER PARSE_CONTRACT_COMMIS |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER PARSE_DECOMISSIONING |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER PARSE_GOODS_IMPORT |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER PARSE_INTRODUCE_GOODS |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER PARSE_PACKING |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER PARSE_REPACKING |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_AIF_REP_PARSER PARSE_UNPACKING |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_IMP_MAPPER CHECK_NOTIF_MSG |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_REPORT CREATE_HEADER |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_REPORT DETERMINE_CONFIG_ID |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_REPORT DISPLAY_ISMT_DOC_INFO |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_REPORT DISPLAY_ISMT_DOC_LIST |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_REPORT DOWNLD_ISMT_DOC_INFO |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_REPORT DOWNLD_ISMT_DOC_LIST |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_STATUS GET_STATE_CODE |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_STATUS GET_STATUS_CODE |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_ISMT_UTILITIES IS_UITU_VALID_SSCC |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_REP_RU SEND_NOTIFICATION_GENERIC |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_REST_CLIENT DETERMINE_HTTP_VERB |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_SEND_DOC_ISMT_API COMPOSE_REQUEST |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_SEQUENCE_CHECK CLASS_CONSTRUCTOR |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_TRUE_API_REQ GET_INSTANCE |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON GET_SELECTED_LINE |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON ON_CHANGE_ISMT_GUID |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON ON_GET_MESSAGE_RESPONSE |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON ON_MANUAL_SIGNATURE |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON ON_REPEAT_MESSAGE_SENDING |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON ON_USER_COMMAND_MSG |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON POPUP_GET_CONFIG_ID |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON REFRESH_HEADER |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON UPDATE_OMS_TOKEN |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON UPDATE_TOKEN |
Method (ABAP Objects) | LIMU | METH | /K3TMT/CL_UI_REP_MON _INIT_TEXTS |
Report Source Code | LIMU | REPS | /K3TMT/DISPATCHER |
Report Source Code | LIMU | REPS | /K3TMT/DISPATCHER_C01 |
Report Source Code | LIMU | REPS | /K3TMT/LUI_POPUPO01 |
Report Source Code | LIMU | REPS | /K3TMT/LUI_POPUPTOP |
Report Source Code | LIMU | REPS | /K3TMT/LUI_POPUPUXX |
Report Source Code | LIMU | REPS | /K3TMT/OMS_REP_C01 |
Report Source Code | LIMU | REPS | /K3TMT/OMS_REP_SSC |
Report Source Code | LIMU | REPS | /K3TMT/RCP_IN_C01 |
Report Source Code | LIMU | REPS | /K3TMT/RCP_IN_SCR |
Report Source Code | LIMU | REPS | /K3TMT/REP_MONITOR_F01 |
Report Source Code | LIMU | REPS | /K3TMT/REP_MONITOR_I01 |
Report Source Code | LIMU | REPS | /K3TMT/REP_MONITOR_O01 |
Report Source Code | LIMU | REPS | /K3TMT/RESPONSE_C01 |
Report Source Code | LIMU | REPS | /K3TMT/RESPONSE_SCR |
Report Source Code | LIMU | REPS | /K3TMT/SN_INFO_C01 |
Report Source Code | LIMU | REPS | /K3TMT/UD_IN_C01 |
Report Source Code | LIMU | REPS | /K3TMT/UD_IN_SCR |
Report Texts | LIMU | REPT | /K3TMT/CL_UI_REP_MON==========CP |
Report Texts | LIMU | REPT | /K3TMT/RCP_IN |
Report Texts | LIMU | REPT | /K3TMT/SAPLREP_QTY |
Report Texts | LIMU | REPT | /K3TMT/SAPLUI_POPUP |
Report Texts | LIMU | REPT | /K3TMT/UD_IN |
Table Definition | LIMU | TABD | /K3TMT/C_CONFID |
Table Definition | LIMU | TABD | /K3TMT/REP_HDR |
Table Definition | LIMU | TABD | /K3TMT/S_ALV_HDR_REP_MONITOR |
Table Definition | LIMU | TABD | /K3TMT/S_ALV_SN_INFO |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_MANUAL_SIGN |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_REPACK_MAPPER |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_REPACK_UNP_MAPPER |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_REP_QTY_UTILITIES |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_TRUE_API_CHK_ISMT_TK |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_TRUE_API_CHK_OMS_TK |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_TRUE_API_GET_KEY |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_TRUE_API_UPD_ISMT_TK |
Class (ABAP Objects) | R3TR | CLAS | /K3TMT/CL_TRUE_API_UPD_OMS_TK |
Domain | R3TR | DOMA | /K3TMT/D_NOTE2023_04_01V1 |
Data Element | R3TR | DTEL | /K3TMT/E_NTF_SSCC_QUANTITY |
Data Element | R3TR | DTEL | /K3TMT/E_SIGN_REQUIRED |
Enhancement Implementation | R3TR | ENHO | /K3TMT/EH_OMS_INTERACTION |
Function Group | R3TR | FUGR | /K3TMT/DB_MNT |
Program | R3TR | PROG | /K3TMT/DISPATCHER_SCR |
BC Set or Customizing Profile | R3TR | SCP1 | /K3TMT/CUST_ISMT_300_2023_04_01 |
Table | R3TR | TABL | /K3TMT/C_PARTIC |
Table | R3TR | TABL | /K3TMT/C_SSF |
Table | R3TR | TABL | /K3TMT/S_REPACK |
Table | R3TR | TABL | /K3TMT/S_REPACK_AIF |
Table | R3TR | TABL | /K3TMT/S_REPACK_DOC |
Table | R3TR | TABL | /K3TMT/S_REPACK_DOCS |
Table | R3TR | TABL | /K3TMT/S_REPACK_MSG |
Table | R3TR | TABL | /K3TMT/S_REPACK_PRODUCT2 |
Table | R3TR | TABL | /K3TMT/S_REPACK_PRODUCT3 |