MDLP Note 2023_03_2
Document History
Version | Changes | Effective Date |
1.0 | First approved version 3Keys MDLP Add-On Note 2023_03_2 | 27-Jul-2023 |
1. Overview
This document describes changes in the 3Keys MDLP connector ABAP part.
2. Description
New functionality for Russia MDLP 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 MDLP Connector Java part and updated from transaction /K3T/RU_MONITOR by user. MDLP 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
In case Java part use HTTPs the binding shall be created for new Web services
New transaction /K3T/RU_SSF_C - “Russia MDLP Certificate assignment” created to maintain certificate assignment to the user and configuration ID.
New field “Signature required” added to transaction /K3T/RU_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 wait for the user Approval in the transaction /K3T/RU_MONITOR.
The following corrections implemented into transaction /K3T/RU_MONITOR:
New menu “Manual Signature” with option “Update 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 MDLP token added to the MDLP Message menu buttons like “Display message XML” “Display Response XML” etc.
The check of the valid MDLP token added to the following transactions:
/K3T/RU_MDLP_SN_INFO Russia MLDP serial number info
The following corrections implemented into program /K3T/RU_MDLP_DISPATCHER:
report manual signature filter - reports with manual signature configurations will not be send to MDLP system by program (only using approval button via transaction /K3T/RU_MONITOR)
The following corrections implemented into program /K3T/RU_MDLP_IN (Inbound message processing):
report manual signature filter - reports with manual signature configurations will be processed only in case active token exists for configuration
API methods will be used to receive information for reports with manual signature from MDLP independently of system customizing (This correction works at inbound processing modules, for example, Function module /K3T/RU_AIF_IN_SCN will receive hierarchy information using API method not by using 210 / 220 XML message)
The following corrections implemented into transaction /K3T/RU_OMS_TOKEN - Russia OMS token:
report manual signature filter - OMS token for manual signature configurations will not be updated by program if program is executed on background mode (only dialog mode)
manual signature - If OMS token for manual signature configuration need to be updated additional popup window appears to execute manual signature to sign authorisation data via SAP GUI and Crypto Pro SSF integration. After signature data is send to MDLP Connector Java part and token is updated at ATTP system
New Web service interfaces created at Java (called from ABAP part using proxy classes):
/K3T/CO_RU_GET_OMS_AUTH
/K3T/CO_RU_MDLP_CHECK_TOKEN
/K3T/CO_RU_MDLP_REQ_SIGNED
/K3T/CO_RU_MDLP_UPDATE_TOKEN
/K3T/CO_RU_UPDATE_OMS_TOKEN
New RFC interfaces created at Java (called from ABAP part using RFC function modules):
/K3T/RU_GET_OMS_AUTH - Get Auth string for signature for OMS token (manual signature)
/K3T/RU_MDLP_CHECK_TOKEN - Russia MDLP Get token for Config ID
/K3T/RU_MDLP_REQ_SIGNED - Russia MDLP send message (manual signature)
/K3T/RU_MDLP_UPDATE_TOKEN - Russia MDLP Update token for Config ID
/K3T/RU_UPDATE_OMS_TOKEN - Get new token from OMS (manual signature)
3. Solution
Import related transport request.
3.1 Correction instruction ATTP 3.0
Transport request | Description / Dependencies |
A1DK900550
| 3Keys MDLP Add-On 3.0 Note 2023_03_02 Required transport A1DK900498 |
3.2 Correction instruction ATTP 3.1
Transport request | Description / Dependencies |
A2DK900608 | 3Keys MDLP Add-On 3.1 Note 2023_03_02 Required transport A2DK900519 |
3.3 Correction instruction ATTP 3.2
Transport request | Description / Dependencies |
A3DK900186 | 3Keys MDLP Add-On 3.2 Note 2023_03_02 Required transport A3DK900132 |
4. Recommendation
For customers without activation manual signature:
Regression test for outbound and inbound messages (1031x, 6xxx)
Complete process testing for customers with active manual signature process.
5. Source code objects
Short description | Program | Object type | Object name |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3T/CL_RU_MDLP_CONNECTOR |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3T/CL_RU_MON_UI |
Protected Header (ABAP Objects) | LIMU | CPRO | /K3T/CL_RU_CON_VAL_UI |
Protected Header (ABAP Objects) | LIMU | CPRO | /K3T/CL_RU_MON_UI |
Public Header (ABAP Objects) | LIMU | CPUB | /K3T/CL_RU_MDLP_CONNECTOR |
Public Header (ABAP Objects) | LIMU | CPUB | /K3T/CL_RU_MON_UI |
GUI Definition | LIMU | CUAD | /K3T/RU_MDLP_MONITOR |
GUI Definition | LIMU | CUAD | /K3T/SAPLRU_UI |
Documentation | LIMU | DOCU | NA/K3T/REP_RU187 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU188 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU189 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU190 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU191 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU192 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU193 |
Domain Definition | LIMU | DOMD | /K3T/D_RU_MDLP_MON_ACTION |
Screen | LIMU | DYNP | /K3T/SAPLRU_UI 0102 |
Function Module | LIMU | FUNC | /K3T/RU_AIF_IN_OMS_MSG |
Function Module | LIMU | FUNC | /K3T/RU_MDLP_CHANGE_STATUS |
Function Module | LIMU | FUNC | /K3T/RU_MDLP_CHECK_TOKEN |
Function Module | LIMU | FUNC | /K3T/RU_MDLP_REQ_SIGNED |
Function Module | LIMU | FUNC | /K3T/RU_MDLP_RESP |
Function Module | LIMU | FUNC | /K3T/RU_MDLP_UPDATE_TOKEN |
Function Module | LIMU | FUNC | /K3T/RU_UI_POPUP_GET_CERTIF |
Single Message | LIMU | MESS | /K3T/REP_RU187 |
Single Message | LIMU | MESS | /K3T/REP_RU188 |
Single Message | LIMU | MESS | /K3T/REP_RU189 |
Single Message | LIMU | MESS | /K3T/REP_RU190 |
Single Message | LIMU | MESS | /K3T/REP_RU191 |
Single Message | LIMU | MESS | /K3T/REP_RU192 |
Single Message | LIMU | MESS | /K3T/REP_RU193 |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RR_RU_UTILS REQUEST_MDLP_INFO |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RR_RU_UTILS REQUEST_MDLP_INFO_API |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RR_RU_UTILS REQUEST_MDLP_INFO_API_SGTIN |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_CON_VAL_UI CHECK_MANUAL_SIGNATURE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_CON_VAL_UI PROCESS_DATA |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MDLP_CONNECTOR CHECK_TOKEN |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MDLP_CONNECTOR GET_OMS_AUTH |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MDLP_CONNECTOR GET_ORIGINAL_DOCUMENT |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MDLP_CONNECTOR GET_RESPONSE_DOCUMENT |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MDLP_CONNECTOR SEND_DOCUMENT |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MDLP_CONNECTOR SEND_DOCUMENT_SIGNED |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MDLP_CONNECTOR UPDATE_OMS_TOKEN |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MDLP_CONNECTOR UPDATE_TOKEN |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MON_UI APPROVE_MESSAGE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MON_UI ON_MANUAL_SIGNATURE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MON_UI UPDATE_TOKEN |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_RU_MON_UI _INIT_TEXTS |
Report Source Code | LIMU | REPS | /K3T/LREP_RU_MDLPUXX |
Report Source Code | LIMU | REPS | /K3T/LRU_UIO01 |
Report Source Code | LIMU | REPS | /K3T/LRU_UITOP |
Report Source Code | LIMU | REPS | /K3T/LRU_UIUXX |
Report Source Code | LIMU | REPS | /K3T/REP_RU_MDLP_210 |
Report Source Code | LIMU | REPS | /K3T/RU_MDLP_API_F01 |
Report Source Code | LIMU | REPS | /K3T/RU_MDLP_DISPATCHER_F01 |
Report Source Code | LIMU | REPS | /K3T/RU_MDLP_IN_F01 |
Report Source Code | LIMU | REPS | /K3T/RU_MDLP_MONITOR_F01 |
Report Source Code | LIMU | REPS | /K3T/RU_MDLP_MONITOR_I01 |
Report Source Code | LIMU | REPS | /K3T/RU_MDLP_MONITOR_O01 |
Report Source Code | LIMU | REPS | /K3T/RU_OMS_TOKEN_C01 |
Report Texts | LIMU | REPT | /K3T/CL_RU_MON_UI=============CP |
Report Texts | LIMU | REPT | /K3T/RU_MDLP_IN |
Report Texts | LIMU | REPT | /K3T/SAPLRU_UI |
Table Definition | LIMU | TABD | /K3T/RU_CONFID |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_RU_MDLP_MANUAL_SIGN |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CO_RU_GET_OMS_AUTH |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CO_RU_MDLP_CHECK_TOKEN |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CO_RU_MDLP_REQ_SIGNED |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CO_RU_MDLP_UPDATE_TOKEN |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CO_RU_UPDATE_OMS_TOKEN |
Domain | R3TR | DOMA | /K3T/RU_NOTE2023_03_02V1 |
Data Element | R3TR | DTEL | /K3T/D_RU_SIGN_REQUIRED |
Function Group | R3TR | FUGR | /K3T/REP_RU_MNT |
Function Group | R3TR | FUGR | /K3T/RU_OMS |
Proxy Object | R3TR | SPRX | CLAS/K3T/CO_RU_GET_OMS_AUTH |
Proxy Object | R3TR | SPRX | CLAS/K3T/CO_RU_MDLP_CHECK_TOKEN |
Proxy Object | R3TR | SPRX | CLAS/K3T/CO_RU_MDLP_REQ_SIGNED |
Proxy Object | R3TR | SPRX | CLAS/K3T/CO_RU_MDLP_UPDATE_TOKEN |
Proxy Object | R3TR | SPRX | CLAS/K3T/CO_RU_UPDATE_OMS_TOKEN |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_GET_OMS_AUTH_INP |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_GET_OMS_AUTH_OUT |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_MDLP_CHECK_TOKEN_INP |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_MDLP_CHECK_TOKEN_OUT |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_MDLP_REQ_SIGNED_INP |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_MDLP_REQ_SIGNED_OUT |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_MDLP_UPDATE_TOKEN_INP |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_MDLP_UPDATE_TOKEN_OUT |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_UPDATE_OMS_TOKEN_INP |
Proxy Object | R3TR | SPRX | TABL/K3T/RU_UPDATE_OMS_TOKEN_OUT |
Table | R3TR | TABL | /K3T/RU_GET_OMS_AUTH_INP |
Table | R3TR | TABL | /K3T/RU_GET_OMS_AUTH_OUT |
Table | R3TR | TABL | /K3T/RU_MDLP_CHECK_TOKEN_INP |
Table | R3TR | TABL | /K3T/RU_MDLP_CHECK_TOKEN_OUT |
Table | R3TR | TABL | /K3T/RU_MDLP_REQ_SIGNED_INP |
Table | R3TR | TABL | /K3T/RU_MDLP_REQ_SIGNED_OUT |
Table | R3TR | TABL | /K3T/RU_MDLP_UPDATE_TOKEN_INP |
Table | R3TR | TABL | /K3T/RU_MDLP_UPDATE_TOKEN_OUT |
Table | R3TR | TABL | /K3T/RU_SSF_C |
Table | R3TR | TABL | /K3T/RU_UPDATE_OMS_TOKEN_INP |
Table | R3TR | TABL | /K3T/RU_UPDATE_OMS_TOKEN_OUT |
Table Contents | R3TR | TABU | TDDAT |
Table Contents | R3TR | TABU | TVDIR |
Definition of a Maintenance and Transport Object | R3TR | TOBJ | /K3T/RU_CONFIDS |
Definition of a Maintenance and Transport Object | R3TR | TOBJ | /K3T/RU_SSF_CS |
Transaction | R3TR | TRAN | /K3T/RU_SSF_C |
Virtual End Point | R3TR | WEBI | /K3T/RU_GET_OMS_AUTH |
Virtual End Point | R3TR | WEBI | /K3T/RU_MDLP_CHECK_TOKEN |
Virtual End Point | R3TR | WEBI | /K3T/RU_MDLP_REQ_SIGNED |
Virtual End Point | R3TR | WEBI | /K3T/RU_MDLP_UPDATE_TOKEN |
Virtual End Point | R3TR | WEBI | /K3T/RU_UPDATE_OMS_TOKEN |