Skip to end of banner
Go to start of banner

MDLP Note 2024_02_1

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 3 Next »

Document History

Version

Changes

Effective Date

1.0

First approved version

3Keys MDLP Add-On Note 2024_02_1

27-Feb-2024

1. Overview

This document describes changes in the 3Keys MDLP connector ABAP part.

2.    Description

MDLP Analytic reporting functionality adjustment to MDLP API version 4.58 changes:

  • new JSON field processing logic added to scheduler programs (Fields “0616_IC_Operation_MDLP_period_all”, “1031_IC_Period_Week_all”). Field value is filled automatically based on internal date calculation logic

  • new selection screen field “Source type” added into task scheduler programs to restrict analytic report with additional filter:

    • /K3T/RU_MAR_SCD_GEN_MD - Russia MDLP Analytics: Task scheduler General Report on Disposal

    • K3T/RU_MAR_SCD_GEN_ON_MV - Russia MDLP Analytics: Task scheduler General Report on Movement

    • /K3T/RU_MAR_SCD_GEN_PR - Russia MDLP Analytics: Task scheduler General Pricing Report

    • /K3T/RU_MAR_SCD_GEN_RM - Russia MDLP Analytics: Task scheduler General Report on Remaining Items

  • new report field support (field “Source type”) added to CSV file parse and database tables:

    • /K3T/RU_R_G_MD - Russia MDLP Analytics: General report Medicine disposal

    • /K3T/RU_R_G_MV - Russia MDLP Analytics: General report on Movement

    • /K3T/RU_R_G_PR - Russia MDLP Analytics: General Pricing report

    • /K3T/RU_R_G_RM - Russia MDLP Analytics: General report Remaining medicines

New interfaces added to receive response ZIP file from Java part by chunks to support massive ZIP files processing. Default chunk size is 30 Mb. This size could be changed using parameter MR_DOWN_PART_SIZE = new number in Kb (transaction /K3T/RU_PARAM). If for some reasons you would like to ignore new interfaces to receive file with single interface call than parameter MR_ZIP_SPLIT_INACTIVE need to be activated (transaction /K3T/RU_PARAM).

In some scenarios ZIP file could not been processed due to runtime error STRING_SIZE_TOO_LARGE related to response ZIP file size. To correct this problem new approach implemented to function module /K3T/RU_MAR_EXEC_GEN_SAVE to decode response ZIP file with Application server:

  • save file to application server (default folder is logical file path Z3K_MR_UNPACK_PATH could be changed using parameter MR_UNPACK_PATH = <new logical file path> (transaction /K3T/RU_PARAM)).

  • unzip file using OS command Z_UNZIP, command must exist at SM69 transaction and allow unzip actions

  • split file (using OS command Z_SPLIT (if parameter MR_CSV_SPLIT_OS_COMMAND is activated) or using stream file reading). Several CSV files with fixed entries number (default value is 100000, could be redefined with parameter MR_CSV_FILE_PART_SIZE) will be created with file name containing postfix “_XX” where “XX” - number from “00” to ”99”

  • process file sequentially

  • clear application server folder (delete ZIP file, unzipped files, splitted CSV files)

This approach is active by default and could be deactivated using parameter MR_PARSE_ZIP_IN_MEMORY (transaction /K3T/RU_PARAM).

3.    Solution

Import related to the transport request.

3.1    Correction instruction ATTP 3.0

Transport request

Description / Dependencies

A1DK900621

3Keys MDLP Add-On 3.0 Note 2024_01_02

Required transport A1DK900554

3.2    Correction instruction ATTP 3.1

Transport request

Description / Dependencies

A2DK900691

3Keys MDLP Add-On 3.1 Note 2024_01_02

Required transport A2DK900615

3.3    Correction instruction ATTP 3.2

Transport request

Description / Dependencies

A3DK900276

3Keys MDLP Add-On 3.2 Note 2024_01_02

Required transport A3DK900190

3.4    Correction instruction ATTP 3.3

Transport request

Description / Dependencies

A4DK900080

3Keys MDLP Add-On 3.3 Note 2024_01_02

Required transport A4DK900045 or SAPK-303COINK3T

4.    Recommendation

Implement new methods for analytic data processing from MDLP as old methods marked as obsolete at MDLP API documentation. Update MDLP connector java part to the latest version.

Create application server folder to process analytic reports and customise logical file path. Use predefined logical path Z3K_MR_UNPACK_PATH value or create own logical path and maintain parameter MR_UNPACK_PATH = <new logical file path> (transaction /K3T/RU_PARAM).

Create OS command Z_UNZIP using transaction SM69:

  • windows system:

  • linux system

In case you use Linux system create OS command Z_SPLIT using transaction SM69. Activate parameter MR_CSV_SPLIT_OS_COMMAND (transaction /K3T/RU_PARAM).

5.    Source code objects

Short description

Program

Object type

Object name

Translation for: Domain

LANG

DOMA

/K3T/D_MR_PERIOD_TYPE

Translation for: Data Element

LANG

DTEL

/K3T/D_MR_CSV_FILE

Translation for: Data Element

LANG

DTEL

/K3T/D_MR_PERIODFROM

Translation for: Data Element

LANG

DTEL

/K3T/D_MR_PERIODTO

Translation for: Data Element

LANG

DTEL

/K3T/D_MR_PERIOD_TYPE

Translation for: Data Element

LANG

DTEL

/K3T/D_MR_PERIOD_TYPE_TEXT

Translation for: Single Message

LANG

MESS

/K3T/REP_RU_MR045

Translation for: Report Texts

LANG

REPT

/K3T/RU_MAR_SCD_GEN_MD

Translation for: Report Texts

LANG

REPT

/K3T/RU_MAR_SCD_GEN_ON_MV

Translation for: Report Texts

LANG

REPT

/K3T/RU_MAR_SCD_GEN_PR

Translation for: Report Texts

LANG

REPT

/K3T/RU_MAR_SCD_GEN_RM

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MDLP_API_JOB_DEL_RSLT

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MDLP_API_JOB_GEN_R_DP

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MDLP_API_JOB_GEN_R_PR

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MDLP_API_JOB_GEN_R_RM

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MDLP_API_JOB_RESULTS

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MDLP_API_JOB_RSLT

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MDLP_API_JOB_SEARCH

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MDLP_API_JOB_STATUS

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MR_CONSTANTS

Class Definition (ABAP Objects)

LIMU

CLSD

/K3T/CL_MR_UI_HELPER

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_JOB_DEL_RSLT

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MDLP_API_JOB_GEN_R_DP

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MDLP_API_JOB_GEN_R_MV

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MDLP_API_JOB_GEN_R_PR

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MDLP_API_JOB_GEN_R_RM

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MDLP_API_JOB_RESULTS

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MDLP_API_JOB_RSLT

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MDLP_API_JOB_SEARCH

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MDLP_API_JOB_STATUS

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MR_UI_HELPER

Protected Header (ABAP Objects)

LIMU

CPRO

/K3T/CL_MR_UTILS

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MDLP_API_JOB_DEL_RSLT

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MDLP_API_JOB_GEN_R_DP

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MDLP_API_JOB_GEN_R_PR

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MDLP_API_JOB_GEN_R_RM

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MDLP_API_JOB_RESULTS

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MDLP_API_JOB_RSLT

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MDLP_API_JOB_SEARCH

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MDLP_API_JOB_STATUS

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MR_CONSTANTS

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MR_UI_HELPER

Public Header (ABAP Objects)

LIMU

CPUB

/K3T/CL_MR_UTILS

Documentation

LIMU

DOCU

NA/K3T/REP_RU_MR043

Documentation

LIMU

DOCU

NA/K3T/REP_RU_MR044

Documentation

LIMU

DOCU

NA/K3T/REP_RU_MR045

Domain Definition

LIMU

DOMD

/K3T/D_MR_ACTION

Function Module

LIMU

FUNC

/K3T/RU_MAR_EXEC_GEN_SAVE

Function Module

LIMU

FUNC

/K3T/RU_MAR_EXEC_SAVE

Single Message

LIMU

MESS

/K3T/REP_RU_MR043

Single Message

LIMU

MESS

/K3T/REP_RU_MR044

Single Message

LIMU

MESS

/K3T/REP_RU_MR045

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_DEL_RSLT CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_DEL_RSLT CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_DEL_RSLT EXECUTE

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_GEN_R_DP CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_GEN_R_DP CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_GEN_R_MV CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_GEN_R_MV CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_GEN_R_PR CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_GEN_R_PR CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_GEN_R_RM CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_GEN_R_RM CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_RESULTS  CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_RESULTS  COMPOSE_REQUEST

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_RESULTS  CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_RSLT     CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_RSLT     CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_RSLT     EXECUTE

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_RSLT     EXECUTE_MEMORY_OPT

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_SEARCH   CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_SEARCH   CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_STATUS   CLASS_CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MDLP_API_JOB_STATUS   CONSTRUCTOR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UI_HELPER          GET_PERIOD_TYPE_DESCR

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              CONVERT_DATE_EXT_TO_INT

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              CONVERT_DISPOSAL_TYPE

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              DECODE_RESPONSE_ZIP

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              DELETE_CSV_FILE_LOB

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              GET_FIRST_LAST_DAY_OF_MONTH

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              GET_FIRST_LAST_DAY_OF_WEEK

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              GET_MONTH_NUMBER

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              GET_REPORT_TABLE

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              MAP_AND_SAVE

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              MAP_GEN_AND_SAVE

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              PARSE_BP

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              PREPARE_CSV_FILE_LOB

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              SET_GEN_MAPPER

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              SET_MAPPER

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              SPLIT_CSV_FILE_HEADER

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              SPLIT_CSV_FILE_PART

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              SPLIT_CSV_FILE_PART_WITH_LOB

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              TRANSFORM_JSON_ZIP_TO_ABAP

Method (ABAP Objects)

LIMU

METH

/K3T/CL_MR_UTILS              UPLOAD_CSV_TABLE

Report Source Code

LIMU

REPS

/K3T/LRU_MAR_EXECUXX

Report Source Code

LIMU

REPS

/K3T/RU_MAR_MONITOR_C01

Report Source Code

LIMU

REPS

/K3T/RU_MAR_REP_PROC_C01

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_GEN_MD_C01

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_GEN_MD_SSC

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_GEN_ON_MV_C01

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_GEN_ON_MV_SSC

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_GEN_PR_C01

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_GEN_PR_SSC

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_GEN_RM_C01

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_GEN_RM_SSC

Report Source Code

LIMU

REPS

/K3T/RU_MAR_SCD_MD_C01

Report Texts

LIMU

REPT

/K3T/RU_MAR_MONITOR

Report Texts

LIMU

REPT

/K3T/RU_MAR_REP_PROC_C01

Report Texts

LIMU

REPT

/K3T/RU_MAR_SCD_GEN_MD

Report Texts

LIMU

REPT

/K3T/RU_MAR_SCD_GEN_ON_MV

Report Texts

LIMU

REPT

/K3T/RU_MAR_SCD_GEN_PR

Report Texts

LIMU

REPT

/K3T/RU_MAR_SCD_GEN_RM

Table Definition

LIMU

TABD

/K3T/RU_ALV_MR

Table Definition

LIMU

TABD

/K3T/RU_R_BP

Table Definition

LIMU

TABD

/K3T/RU_R_FILE

Table Definition

LIMU

TABD

/K3T/RU_R_TSK

Domain

R3TR

DOMA

/K3T/D_MR_EXIT_TYPE

Domain

R3TR

DOMA

/K3T/D_MR_PERIOD_TYPE

Domain

R3TR

DOMA

/K3T/RU_NOTE2024_01_02V1

Data Element

R3TR

DTEL

/K3T/D_MR_ADDRESS

Data Element

R3TR

DTEL

/K3T/D_MR_CSV_FILE

Data Element

R3TR

DTEL

/K3T/D_MR_EXIT_DATE

Data Element

R3TR

DTEL

/K3T/D_MR_EXIT_TYPE

Data Element

R3TR

DTEL

/K3T/D_MR_FILE_NAME

Data Element

R3TR

DTEL

/K3T/D_MR_FILE_PART_NUMBER

Data Element

R3TR

DTEL

/K3T/D_MR_PERIODFROM

Data Element

R3TR

DTEL

/K3T/D_MR_PERIODTO

Data Element

R3TR

DTEL

/K3T/D_MR_PERIOD_TYPE

Data Element

R3TR

DTEL

/K3T/D_MR_PERIOD_TYPE_TEXT

Table

R3TR

TABL

/K3T/RU_R_FILE

Table

R3TR

TABL

/K3T/RU_R_G_MD

Table

R3TR

TABL

/K3T/RU_R_G_MV

Table

R3TR

TABL

/K3T/RU_R_G_PR

Table

R3TR

TABL

/K3T/RU_R_G_RM

View

R3TR

VIEW

/K3T/RU_R_G_MD_V

View

R3TR

VIEW

/K3T/RU_R_G_MV_V

View

R3TR

VIEW

/K3T/RU_R_G_PR_V

View

R3TR

VIEW

/K3T/RU_R_G_RM_V

  • No labels