/
MDLP Note 2021_04_4

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

 

 

Related content

MDLP Note 2023_03_3
MDLP Note 2023_03_3
More like this
MDLP Release 2022_03
MDLP Release 2022_03
More like this
MDLP Note 2022_01_5
MDLP Note 2022_01_5
Read with this
MDLP Note 2024_01_2
MDLP Note 2024_01_2
More like this
MDLP Note 2022_01_1
MDLP Note 2022_01_1
Read with this
MDLP Release 2024_01
MDLP Release 2024_01
More like this