MDLP Note 2022_01_2
Document History
Version | Changes | Effective Date |
2.0 | Updated version 3Keys MDLP Add-On Note 2022_01_2 | 24-Jan-2022 |
1. Overview
This document describes changes in the 3Keys MDLP connector ABAP part.
2. Description
Runtime error on transaction /K3T/RU_MAR_SCD_SH if Serialized Container only specified on selection screen without Serialized Trade item.
Transaction /K3T/RU_MAR_MONITOR corrections:
Field “Error text” is empty task processing result is “FAILED” at transaction /K3T/RU_MAR_MONITOR. After correction field “Error text” contains error from JSON response field “Reason”.
Additional toolbar button “Delete MDLP task” added to delete task with MDLP id and Configuration ID specified using Popup window. Authority object /K3T/RU005 field /K3T/RU005 value “09” is need for this function.
Implementation error.
Program /K3T/RU_MAR_TASK_PROC corrections:
New selection screen field “Retry after FAILED” added to repeat processing after first FAILED response from MDLP system
New selection screen field “Delete unknown MDLP tasks” added to delete tasks from MDLP system queue (if task from MDLP queue with MDLP id and status “Send to MDLP” is not found):
before first task processing to delete existing entries in queue
after all task processing to delete entries after MDLP side server errors
on receiving server error series
New feature.
If task was created successfully but no response received from MDLP system on interval [ task creation time ; task creation time + max response time (selection screen field)] then status “Error” set with error text “Maximum response time reached. Setting error status”. Task deletion in MDLP system added.
Implementation error.
Program /K3T/RU_MAR_TASK_EXEC corrections:
Selection screen field “Task ID” added to task selection
Second run of program /K3T/RU_MAR_TASK_EXEC is not allowed due to lock if log is opened after program execution in dialog mode. Correction: lock is released after processing log finish but before open log for display.
Function module /K3T/RU_MAR_EXEC_DB_DISTR logic was corrected:
Error on SQL processing is saved to task field “error text”
In case data is found for this task data is deleted from Database and inserted again
Field “Update data” is added for report “Medical disposal”
Implementation error.
Transaction /K3T/RU_MAR_SCD_SH corrections:
New input format (GS1 with brackets, example (01)04030539060080(21)8882269155XXX, (00)451754044000000XXX) support added for Serialized Trade items/ Serialized Container selection screen fields. Input value is converted into format without prefix (required by MDLP system) before JSON request saving.
New feature.
Note version 2.0 contains in additional corrections below.
Missed translation to Russian language for UI elements added.
Transaction /K3T/RU_MAR_SCD_MD selection screen field “Split period by days” added.
Selection screen field “Exclude expired Batch” processing logic changed to exclude batch with expiry date less than start date.
Transaction /K3T/RU_MAR_SCD_RM selection screen field “Split period by days” added.
Program /K3T/RU_MAR_TASK_PROC corrections:
In case MDLP queue has some tasks before program run and program tries to delete this tasks error with call interval occurs. Delay has been implemented after API delete operation call.
New selection screen field added to use retry calls after receiving negative response or no response on API call:
“Retry after failure times” defines how much tries needs to be done after each failure
“Delay after failure (sec)” sets the initial delay in seconds after first negative response. Value must be greater than 0
“Backoff” sets the factor by which the delay should be increased after each failure. Value must be greater than 1
New selection screen “Max runtime program (minutes)” to set maximum program processing time before stop with error
Database access has been optimized
3. Solution
Import related to the transport request.
3.1 Correction instruction FP04
Transport request | Description / Dependencies |
AT1K900907 | 3Keys MDLP Add-On FP04 Note 2022_01_02 Required transport AT1K900841 |
3.2 Correction instruction FP05
Transport request | Description / Dependencies |
D1AK900414 | 3Keys MDLP Add-On FP05 Note 2022_01_02 Required transport D1AK900364 |
3.3 Correction instruction ATTP 3.0
Transport request | Description / Dependencies |
A1DK900250 | 3Keys MDLP Add-On 3.0 Note 2022_01_02 Required transport A1DK900230 |
3.4 Correction instruction ATTP 3.1
Transport request | Description / Dependencies |
A2DK900107 | 3Keys MDLP Add-On 3.1 Note 2022_01_02 |
4. Recommendation
Recreate external database structure if FM /K3T/RU_MAR_EXEC_DB_DISTR used as new field UPDATE_DATE added.
5. Source code objects
Short description | Program | Object type | Object name |
Translation for: Domain Definition | LANG | DOMD | /K3T/RU_NOTE2022_01_02V1 |
Translation for: Data Element Definition | LANG | DTED | /K3T/D_MR_BETWEEN_RESP_WAIT |
Translation for: Data Element Definition | LANG | DTED | /K3T/D_MR_MAX_RESP_WAIT |
Translation for: Data Element Definition | LANG | DTED | /K3T/D_MR_PROC_RUNTIME |
Translation for: Data Element Definition | LANG | DTED | /K3T/D_MR_RETRY_FAILED |
Translation for: Data Element Definition | LANG | DTED | /K3T/D_RU_MR_FIELDNAME |
Translation for: Data Element Definition | LANG | DTED | /K3T/D_RU_SEQUENCE |
Translation for: Report Source Code | LANG | REPS | /K3T/RU_MAR_SCD_MD |
Translation for: Report Source Code | LANG | REPS | /K3T/RU_MAR_SCD_RM |
Translation for: Report Source Code | LANG | REPS | /K3T/RU_MAR_TASK_PROC |
Translation for: Report Texts | LANG | REPT | /K3T/RU_MAR_SCD_MD |
Translation for: Report Texts | LANG | REPT | /K3T/RU_MAR_SCD_RM |
Translation for: Report Texts | LANG | REPT | /K3T/RU_MAR_TASK_PROC |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3T/CL_MDLP_API_TSK_INFO |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3T/CL_MR_ADBC |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3T/CL_MR_CONSTANTS |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3T/CL_MR_UTILS |
Private Header (ABAP Objects) | LIMU | CPRI | /K3T/CL_MR_UTILS |
Protected Header (ABAP Objects) | LIMU | CPRO | /K3T/CL_MDLP_API_REQ |
Protected Header (ABAP Objects) | LIMU | CPRO | /K3T/CL_MDLP_API_TSK_INFO |
Public Header (ABAP Objects) | LIMU | CPUB | /K3T/CL_MDLP_API_TSK_INFO |
Public Header (ABAP Objects) | LIMU | CPUB | /K3T/CL_MR_ADBC |
Public Header (ABAP Objects) | LIMU | CPUB | /K3T/CL_MR_CONSTANTS |
Public Header (ABAP Objects) | LIMU | CPUB | /K3T/CL_MR_UTILS |
Documentation | LIMU | DOCU | NA/K3T/REP_RU_MR032 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU_MR033 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU_MR034 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU_MR035 |
Documentation | LIMU | DOCU | NA/K3T/REP_RU_MR036 |
Domain Definition | LIMU | DOMD | /K3T/D_MR_ACTION |
Function Module | LIMU | FUNC | /K3T/RU_MAR_EXEC_DB_DISTR |
Function Module | LIMU | FUNC | /K3T/RU_MAR_EXEC_SAVE |
Single Message | LIMU | MESS | /K3T/REP_RU_MR032 |
Single Message | LIMU | MESS | /K3T/REP_RU_MR033 |
Single Message | LIMU | MESS | /K3T/REP_RU_MR034 |
Single Message | LIMU | MESS | /K3T/REP_RU_MR035 |
Single Message | LIMU | MESS | /K3T/REP_RU_MR036 |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_DEL EXECUTE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_FLTR COMPOSE_MESSAGE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_FLTR EXECUTE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_HRY COMPOSE_MESSAGE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_HRY EXECUTE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_HRY PARSE_REQUEST |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_INFO CONSTRUCTOR |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_INFO EXECUTE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_MDP COMPOSE_MESSAGE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_MDP EXECUTE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_MDP PARSE_REQUEST |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_REM COMPOSE_MESSAGE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_REM EXECUTE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_REM PARSE_REQUEST |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_RSLT EXECUTE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_TSK_STNG EXECUTE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC CHECK_DISPOSAL_EXISTS |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC CHECK_REMAINS_EXISTS |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC COUNT_DISPOSAL |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC COUNT_REMAINS |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC COUNT_REQUEST |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC DELETE_DISPOSAL |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC DELETE_REMAINS |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC DISCONNECT |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC INSERT_DISPOSAL |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC INSERT_REMAINS |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC INSERT_REQUEST |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_ADBC SELECT_REQUEST |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS CONVERT_TSTMP_TO_TIME |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS CONVERT_XSTRING_TO_STRING |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS CONV_XSTRING_TO_STRING |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS DECODE_RESPONSE_ZIP |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS MAP_AND_SAVE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS PARSE_BP |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS PREPARE_DATA_FOR_EXT_DB |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS PREPARE_DISP_DB_SAVE |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS SET_MAPPER |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS TRANSFORM_ABAP_TO_JSON |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MR_UTILS TRANSFORM_JSON_TO_ABAP |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_MONITOR_C01 |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_SCD_MD_C01 |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_SCD_MD_SSC |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_SCD_RM_SSC |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_SCD_SH_C01 |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_TASK_EXEC_C01 |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_TASK_EXEC_SSC |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_TASK_PROC_C01 |
Report Source Code | LIMU | REPS | /K3T/RU_MAR_TASK_PROC_SSC |
Report Texts | LIMU | REPT | /K3T/RU_MAR_MONITOR |
Report Texts | LIMU | REPT | /K3T/RU_MAR_SCD_MD |
Report Texts | LIMU | REPT | /K3T/RU_MAR_SCD_RM |
Report Texts | LIMU | REPT | /K3T/RU_MAR_TASK_PROC |
View Definition | LIMU | VIED | /K3T/RU_R_MD_V |
Domain | R3TR | DOMA | /K3T/RU_NOTE2022_01_02V1 |
Domain | R3TR | DOMA | /K3T/RU_NOTE2022_01_02V2 |
Data Element | R3TR | DTEL | /K3T/D_MR_BETWEEN_RESP_WAIT |
Data Element | R3TR | DTEL | /K3T/D_MR_DEL_MDLP_TASK |
Data Element | R3TR | DTEL | /K3T/D_MR_MAX_RESP_WAIT |
Data Element | R3TR | DTEL | /K3T/D_MR_PROC_RUNTIME |
Data Element | R3TR | DTEL | /K3T/D_MR_RESP_WAIT |
Data Element | R3TR | DTEL | /K3T/D_MR_RETRY_FAILED |
Data Element | R3TR | DTEL | /K3T/D_MR_STATUS_TEXT |
Table | R3TR | TABL | /K3T/RU_R_BP |
Table | R3TR | TABL | /K3T/RU_R_MD |
Table | R3TR | TABL | /K3T/RU_R_REQ |
Table | R3TR | TABL | /K3T/RU_R_RM |
Table | R3TR | TABL | /K3T/RU_R_TSK |
Table | R3TR | TABL | /K3T/S_RU_MR_DISP_DAT_DB |
Table | R3TR | TABL | /K3T/S_RU_MR_REQ_DB |
Definition of a Maintenance and Transport Object | R3TR | TOBJ | /K3T/RU_MR_VCC |
View cluster | R3TR | VCLS | /K3T/RU_MR_VC |