MDLP Note 2021_04_4
Document History
Version | Changes | Effective Date |
1.0 | First approved version 3Keys MDLP Add-On Note 2021_04_4 | 29-Oct-2021 |
1. Overview
This document describes changes in the 3Keys MDLP connector ABAP part.
2. Description
MDLP analytics reports functionality added, including ability to request following reports: Remaining medicines, Medicine disposal, SSCC Hierarchy. The Update of MDLP connector Java part to the latest version 1.6.1635250199 or higher is required. The connection user must have assigned authorization in MDLP Portal for Reports: Viewing of medicines reports, Viewing of the report on remaining items at the business place.
2.1 Transaction /K3T/RU_MAR_MONITOR - Russia MDLP Analytics: Task monitor.
The transaction /K3T/RU_MAR_MONITOR is used for the monitoring of processing the Russia analytics reports tasks.
After executing transaction /K3T/RU_MAR_MONITOR, the screen will be displayed with following selection parameters:
MDLP Configuration ID: Configuration ID assigned to the request
MDLP Analytics Report type: 01-SSCC Hierarchy, 02-Remaining Medicines, 03-Medicine Disposal
Processing status: 00-New (request created), 01-Created (request ready for sending to MDLP), 10-Sent to MDLP (request sent to MDLP), 20-Ready (results downloaded from MDLP), 30-Completed (processed with report /K3T/RU_MAR_TASK_EXEC), 40-Error (error in processing), 50-Canceled (canceled by user), 60-No data in MDLP (request for filter criteria has no data in MDLP)
Error code: Processing error code
MR Request Internal Identifier: Internal request GUID
MR Task Internal Identifier: Internal task GUID
Request created From / Request created To: Time of request creation
After executing the transaction, a new screen (Russia MDLP Analytics: Task monitor) will be displayed, and the task information will be shown based on the search criteria as ALG Grid with following fields (some of the fields are hidden and can be displayed by changing the ALV Grid layout):
Status and Status Icon
Report type and Report type description
Configuration ID
Created time: Time of task creation
Retrieval completed: Time of downloading results from MDLP
Task filter: first 100 characters of the request filter
Error code: Processing error code
Error text: Processing error text
Following buttons on top of the screen shown (some of the buttons can be hidden, this is depending on the user authorization role):
Refresh: Refresh shown entries based on selection screen values
Change status: Update task processing status manually
Display request: Display request sent to MDLP
Download result: Download stored result zip file
Add ZIP: Upload zip file as result, troubleshooting or test purposes
MDLP Queue: Request from MDLP and display open tasks
2.2 Transaction /K3T/RU_MAR_SCD_MD - Task scheduler Medicine disposal
The transaction /K3T/RU_MAR_SCD_MD or report /K3T/RU_MAR_SCD_MD can be executed by user or as background job to request Medicine disposal report from MDLP.
After executing transaction /K3T/RU_MAR_SCD_MD, the screen will be displayed with following selection parameters:
Start date / End date: Request filter parameters
GS1 Global Trade Item Number: Optional GTIN list
Country code: GTIN Country code
Lot number: Restriction for the Lot numbers
Exclude expired Batch: check Expiry Data on the Lot and exclude from the request
Determine Config ID radio button: Get Configuration ID based on Subject ID from the business partner based on GTIN parameter BR_OWNER_GLN
Use MDLP Fix Config ID radio button: Use fix Configuration ID for the requests to MDLP
The report will select all active GTIN, restricted to the list from the selection screen or based on selected country code. Get Lot numbers from selection screen or all batches for the GTIN excluding expired if parameter set on the selection screen.
Create request (table /K3T/RU_R_REQ) and tasks (table /K3T/RU_R_TSK) based on the selection parameters with split by 90 days if Start/End date interval excide 90 days.
The Badi /K3T/BADI_RU_MAR_SCD with filter REP_TYPE = 3 shall be implemented to overwrite standard selection logic.
2.3 Transaction /K3T/RU_MAR_SCD_RM - Task scheduler Remaining medicines
The transaction /K3T/RU_MAR_SCD_RM or report /K3T/RU_MAR_SCD_RM can be executed by user or as background job to request Remaining medicines report from MDLP.
After executing transaction /K3T/RU_MAR_SCD_RM, the screen will be displayed with following selection parameters:
GS1 Global Trade Item Number: Optional GTIN list
Country code: GTIN Country code
Lot number: Restriction for the Lot numbers
Exclude expired Batch: check Expiry Data on the Lot and exclude from the request
Determine Config ID radio button: Get Configuration ID based on Subject ID from the business partner based on GTIN parameter BR_OWNER_GLN
Use MDLP Fix Config ID radio button: Use fix Configuration ID for the requests to MDLP
The report will select all active GTIN, restricted to the list from the selection screen or based on selected country code. Get Lot numbers from selection screen or all batches for the GTIN excluding expired if parameter set on the selection screen.
Create request (table /K3T/RU_R_REQ) and tasks (table /K3T/RU_R_TSK) based on the selection parameters
The Badi /K3T/BADI_RU_MAR_SCD with filter REP_TYPE = 2 shall be implemented to overwrite standard selection logic.
2.4 Transaction /K3T/RU_MAR_SCD_SH - Task scheduler SSCC / SGTIN data
The transaction /K3T/RU_MAR_SCD_SH or report /K3T/RU_MAR_SCD_SH can be executed by user or as background job to request SSCC / SGTIN report from MDLP.
After executing transaction /K3T/RU_MAR_SCD_SH, the screen will be displayed with following selection parameters:
Serialized Trade item: SGTIN list
Serialized Container: SSCC list
MDLP Configuration ID
The report will create request (table /K3T/RU_R_REQ) and tasks (table /K3T/RU_R_TSK) based on the selection parameters
The Badi /K3T/BADI_RU_MAR_SCD with filter REP_TYPE = 1 shall be implemented to overwrite standard selection logic.
2.5 Report /K3T/RU_MAR_TASK_PROC - Russia MDLP Analytics: Task processor
The report /K3T/RU_MAR_TASK_PROC shall be executed periodically as background job for sending requests to the MDLP and downloading results. The multiple background jobs can be planned for each MDLP Configuration ID to execute in parallel. The selection screen fields:
MDLP Configuration ID
Wait Time: Default wait time in seconds between request and results download
Max Wait Time: maximum processing time after request was registered by MDLP system and response is expected. If no response is received task status will be set to error.
Create new Log after seconds: create new SLG1 log after specified interval from report run to monitor program execution
Maximum runtime of task process: maximum execution time after
2.6 Report /K3T/RU_MAR_TASK_EXEC - Russia MDLP Analytics: Task execution
The report /K3T/RU_MAR_TASK_EXEC shall be executed periodically as background job for processing downloaded results. The function module shall be assigned in the transaction /K3T/RU_MAR_CONF.
2.6.1 Processing function module /K3T/RU_MAR_EXEC_STATUS
The function module will set processing status. This function module shall be assigned as last in the sequence for the reporting type in the transaction /K3T/RU_MAR_CONF
2.6.2 Processing function module /K3T/RU_MAR_EXEC_SAVE
The function module will parse the result zip file of Remaining medicines, Medicine disposal report and store extracted data in the tables /K3T/RU_R_MD and /K3T/RU_R_RM. The table view /K3T/RU_R_MD_V, /K3T/RU_R_RM_V can be used with extractors to get data including business partner
2.6.3 Processing function module /K3T/RU_MAR_EXEC_DB_DISTR
The function module will transfer the data stored in the tables /K3T/RU_R_REQ, /K3T/RU_R_MD, /K3T/RU_R_RM to the connected external database (transaction DBCO). The external database tables shall have structure of /K3T/S_RU_MR_DISP_DAT_DB, /K3T/S_RU_MR_REM_DAT_DB, /K3T/S_RU_MR_REQ_DB.
2.7 Parameters
Parameter | Value | Description |
MR_DISTR_PACKAGE_SIZE | 10000 | Split result data table into parts with fixed row number (specified by this parameter) If parameter is not set default value 10000 used. |
MR_DISTR_SKIP_DEL_STEP | X | Skip delete data step from database table /K3T/RU_R_MD or /K3T/RU_R_RM after data transfer to external database |
MR_TAB_DISPOSAL | MedicineDisp | Result table name at external database (report Medicine disposal) If parameter is not set default value “MedicineDisp” used |
MR_TAB_REMAINS | RemMedicine | Result table name at external database (report Remaining medicines) If parameter is not set default value “RemMedicine” used |
MR_TAB_REQUEST | Req | Request table name at external database If parameter is not set default value “Req” used |
MR_TAB_REQUEST_PARAM |
| Not used |
MR_DBNAME | ANALYTICS | External database connection name (transaction DBCO) If parameter is not set default value “ANALYTICS” used |
New feature.
3. Solution
Import related to the transport request.
3.1 Correction instruction FP04
Transport request | Description / Dependencies |
AT1K900839 | 3Keys MDLP Add-On FP04 Note 2021_04_04 Required transport AT1K900809 |
3.2 Correction instruction FP05
Transport request | Description / Dependencies |
D1AK900362 | 3Keys MDLP Add-On FP05 Note 2021_04_04 Required transport D1AK900335 |
3.3 Correction instruction ATTP 3.0
Transport request | Description / Dependencies |
A1DK900227 | 3Keys MDLP Add-On 3.0 Note 2021_04_04 Required transport A1DK900196 |
4. Recommendation
Maintain configuration using transaction /K3T/RU_MAR_CONF and assign the fields exclusion list and result processing function modules if required.
Extend authorization roles with authorization object /K3T/RU005 and field /K3T/RU005 Russia MDLP Analytics action:
“01-Schedule task” assigns to allow execution transaction /K3T/RU_MAR_SCD_MD, /K3T/RU_MAR_SCD_RM, /K3T/RU_MAR_SCD_SH
“02-Process task” assigns to allow execution of report /K3T/RU_MAR_TASK_PROC
“03-Change status” button in transaction /K3T/RU_MAR_MONITOR
“04-Display request” display tasks in transaction /K3T/RU_MAR_MONITOR
“05-Download result” button in transaction /K3T/RU_MAR_MONITOR
“06-Add ZIP response” button in transaction /K3T/RU_MAR_MONITOR
“07-Display MDLP queue” button in transaction /K3T/RU_MAR_MONITOR
“08-Execute task” assigns to allow execution of report /K3T/RU_MAR_TASK_EXEC
Schedule background job for report /K3T/RU_MAR_SCD_RM with selection variant to download Remaining medicines report. Recommended frequency is daily at 20:00 MSK from Monday to Friday. Schedule background job for report /K3T/RU_MAR_SCD_MD with selection variant to download Medicine disposal report. Recommended frequency is weakly on Sunday at 18:00 MSK with Start date – 14 days and End date minus 7 days because data in MDLP system coming asynchronously. Execute transaction /K3T/RU_MAR_SCD_SH if needed to download the SSCC hierarchy data. Schedule background job for report /K3T/RU_MAR_TASK_PROC to sends the request to MLDP and download the results. Recommended frequency is every 4 hours. Schedule background job for report /K3T/RU_MAR_TASK_EXEC to process the downloaded results if required. Recommended frequency is every 4 hours. The recommended frequency is an example and shall be adjusted to your needs and volume of GTIN / Batches in scope.
5. Source code objects
Short description | Program | Object type | Object name |
Class Definition (ABAP Objects) | LIMU | CLSD | /K3T/CL_MDLP_API_REQ |
Public Header (ABAP Objects) | LIMU | CPUB | /K3T/CL_MDLP_API_REQ |
Method (ABAP Objects) | LIMU | METH | /K3T/CL_MDLP_API_REQ GET_INSTANCE |
Authorization Check Fields | R3TR | AUTH | /K3T/RU005 |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MDLP_API_TSK_DEL |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MDLP_API_TSK_FLTR |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MDLP_API_TSK_HRY |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MDLP_API_TSK_INFO |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MDLP_API_TSK_MDP |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MDLP_API_TSK_REM |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MDLP_API_TSK_RSLT |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MDLP_API_TSK_STNG |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MR_ADBC |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MR_CONSTANTS |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MR_UI_HELPER |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CL_MR_UTILS |
Class (ABAP Objects) | R3TR | CLAS | /K3T/CX_MAR_EXCEPTION |
Package | R3TR | DEVC | /K3T/REP_RU_MAR |
Domain | R3TR | DOMA | /K3T/D_MR_ACTION |
Domain | R3TR | DOMA | /K3T/D_MR_REP_TYPE |
Domain | R3TR | DOMA | /K3T/D_MR_STATUS_REQ |
Domain | R3TR | DOMA | /K3T/D_MR_STATUS_TASK |
Domain | R3TR | DOMA | /K3T/RU_NOTE2021_04_04V1 |
Data Element | R3TR | DTEL | /K3T/D_MR_ACTION |
Data Element | R3TR | DTEL | /K3T/D_MR_BP_ID |
Data Element | R3TR | DTEL | /K3T/D_MR_DATEFROM |
Data Element | R3TR | DTEL | /K3T/D_MR_DATETO |
Data Element | R3TR | DTEL | /K3T/D_MR_DAY_INTERVAL |
Data Element | R3TR | DTEL | /K3T/D_MR_ERROR_CODE |
Data Element | R3TR | DTEL | /K3T/D_MR_ERROR_TEXT |
Data Element | R3TR | DTEL | /K3T/D_MR_LOG_CREATE_INTERVAL |
Data Element | R3TR | DTEL | /K3T/D_MR_MAXERR |
Data Element | R3TR | DTEL | /K3T/D_MR_MAX_RESP_WAIT |
Data Element | R3TR | DTEL | /K3T/D_MR_MDLP_GUID |
Data Element | R3TR | DTEL | /K3T/D_MR_PROC_RUNTIME |
Data Element | R3TR | DTEL | /K3T/D_MR_REC_ID |
Data Element | R3TR | DTEL | /K3T/D_MR_REP_TYPE |
Data Element | R3TR | DTEL | /K3T/D_MR_REP_TYPE_TEXT |
Data Element | R3TR | DTEL | /K3T/D_MR_REQ_ID |
Data Element | R3TR | DTEL | /K3T/D_MR_REQ_JSON |
Data Element | R3TR | DTEL | /K3T/D_MR_REQ_JSON_UI |
Data Element | R3TR | DTEL | /K3T/D_MR_RESP_WAIT |
Data Element | R3TR | DTEL | /K3T/D_MR_STATUS_REQ |
Data Element | R3TR | DTEL | /K3T/D_MR_STATUS_TASK |
Data Element | R3TR | DTEL | /K3T/D_MR_STATUS_TEXT |
Data Element | R3TR | DTEL | /K3T/D_MR_TSK_ID |
Data Element | R3TR | DTEL | /K3T/D_RU_MR_FIELDNAME |
Data Element | R3TR | DTEL | /K3T/D_TIMESTAMP_FIN_MR |
Data Element | R3TR | DTEL | /K3T/D_TIMESTAMP_MR_TFIN |
Data Element | R3TR | DTEL | /K3T/D_TIMESTAMP_MR_TREQ |
Data Element | R3TR | DTEL | /K3T/D_TIMESTAMP_MR_TRETR |
Data Element | R3TR | DTEL | /K3T/D_TIMESTAMP_REQ_MR |
Enhancement Spot | R3TR | ENHS | /K3T/ES_REP_RU |
Function Group | R3TR | FUGR | /K3T/REP_RU_MNT |
Function Group | R3TR | FUGR | /K3T/RU_MAR_EXEC |
Interface (ABAP Objects) | R3TR | INTF | /K3T/IF_BADI_RU_MAR_SCD |
Message Class | R3TR | MSAG | /K3T/REP_RU_MR |
Program | R3TR | PROG | /K3T/RU_MAR_MONITOR |
Program | R3TR | PROG | /K3T/RU_MAR_MONITOR_C01 |
Program | R3TR | PROG | /K3T/RU_MAR_MONITOR_SSC |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_MD |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_MD_C01 |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_MD_SSC |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_RM |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_RM_C01 |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_RM_SSC |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_SH |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_SH_C01 |
Program | R3TR | PROG | /K3T/RU_MAR_SCD_SH_SSC |
Program | R3TR | PROG | /K3T/RU_MAR_TASK_EXEC |
Program | R3TR | PROG | /K3T/RU_MAR_TASK_EXEC_C01 |
Program | R3TR | PROG | /K3T/RU_MAR_TASK_EXEC_SSC |
Program | R3TR | PROG | /K3T/RU_MAR_TASK_PROC |
Program | R3TR | PROG | /K3T/RU_MAR_TASK_PROC_C01 |
Program | R3TR | PROG | /K3T/RU_MAR_TASK_PROC_SSC |
Authorization object | R3TR | SUSO | /K3T/RU005 |
Table | R3TR | TABL | /K3T/RU_ALV_MR |
Table | R3TR | TABL | /K3T/RU_R_BP |
Table | R3TR | TABL | /K3T/RU_R_EX_C |
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_RP_C |
Table | R3TR | TABL | /K3T/RU_R_TSK |
Table | R3TR | TABL | /K3T/S_MR_DATERANGE |
Table | R3TR | TABL | /K3T/S_RU_CONFIG_GTIN |
Table | R3TR | TABL | /K3T/S_RU_MR_DISP_DAT_DB |
Table | R3TR | TABL | /K3T/S_RU_MR_REM_DAT_DB |
Table | R3TR | TABL | /K3T/S_RU_MR_REQ_DB |
Table | R3TR | TABL | /K3T/S_RU_ZIP_CONTENT |
Table Contents | R3TR | TABU | TDDAT |
Table Contents | R3TR | TABU | TVDIR |
Definition of a Maintenance and Transport Object | R3TR | TOBJ | /K3T/RU_MR_VCC |
Definition of a Maintenance and Transport Object | R3TR | TOBJ | /K3T/RU_R_EX_CS |
Definition of a Maintenance and Transport Object | R3TR | TOBJ | /K3T/RU_R_RP_CS |
Transaction | R3TR | TRAN | /K3T/RU_MAR_CONF |
Transaction | R3TR | TRAN | /K3T/RU_MAR_MONITOR |
Transaction | R3TR | TRAN | /K3T/RU_MAR_SCD_MD |
Transaction | R3TR | TRAN | /K3T/RU_MAR_SCD_RM |
Transaction | R3TR | TRAN | /K3T/RU_MAR_SCD_SH |
Table Type | R3TR | TTYP | /K3T/T_MR_DATERANGE |
Table Type | R3TR | TTYP | /K3T/T_RU_CONFIG_GTIN |
Table Type | R3TR | TTYP | /K3T/T_RU_R_BP |
Table Type | R3TR | TTYP | /K3T/T_RU_R_EX_C |
Table Type | R3TR | TTYP | /K3T/T_RU_R_REQ |
Table Type | R3TR | TTYP | /K3T/T_RU_R_TSK |
Table Type | R3TR | TTYP | /K3T/T_RU_ZIP_CONTENT |
View cluster | R3TR | VCLS | /K3T/RU_MR_VC |
View | R3TR | VIEW | /K3T/RU_R_MD_V |
View | R3TR | VIEW | /K3T/RU_R_RM_V |