Document History
Version | Changes | Effective Date |
1.0 | First approved version 3Keys CRPT Connector Add-On release 3.0 | 01-Jul-2021 |
1. About This Guide
This document describes mandatory and optional configuration steps to configure 3Keys CRPT Connector for MDLP in SAP ATTP system.
2. Solution overview
SAP ATTP delivers a solution to generate the reporting messages for the Russian MDLP system. The 3Keys CRPT Connector for MDLP automates the communication and message transfer to the Russian MDLP system, visualizes the message processing status with monitoring transaction, downloads and processes the incoming MDLP messages in SAP ATTP.
3. Constraints, Assumptions, Prerequisites and Dependencies
The Russian reporting part for MDLP is configured in SAP ATTP for working with files without SAP ICH.
4. Setting up the Solution
4.1 Connection to Java part
The connection to the Java part can be set up using RFC or web services technology.
The connector Java part as SaaS solution supports only https communication using web services.
The firewall should be opened in case the connector Java part is not installed on the SAP ATTP server. HTTP or HTTPS port to connect to SAP ATTP can be verified with transaction SMICM. The port for connection using RFC is 33<SYSNR>
4.1.1 Connection to Java part using RFC
Create RFC destination using transaction SM59.
Set Connection type: T
Choose Registered Server Program radio button
Set Program ID: free name, for example, MDLP_JCO_SERVER. This name should match the value in the configuration file of connector Java part
Choose Unicode on the Unicode tab
Add the host name to the Gateway ACL file, in case the connector Java part is installed not on the same server as ATTP. Start transaction SMGW choose menu Goto --> Expert Functions --> External Security --> Maintenance of ACL Files
Add new entry into the Reginfo File with the following parameters:
P/D: P, TP: the program name from the RFC destination, Host: hostname or IP address, ACCESS: *, Cancel: internal
4.1.2 Connection to Java part using web services
The configuration of webservices is required if the connector Java part should be connected using http or https connection or if some middleware system is in place between SAP ATTP and connector Java part.
The Root CA certificate of the certificate which is used to secure the connection from SAP ATTP or a middleware system to the connector Java part, should be added to the SSL client (Anonymous) in the transaction STRUST if https connection is used.
Start transaction SOAMANAGER, navigate to the Service Administration à Web Service Configuration
Create logical port for consumer proxies using Manual Configuration option. Logical port name is free to choose but must be the same for all consumer proxies.
Consumer proxy | URL suffix |
/K3T/CO_RU_MDLP_API | /mdlp/connector/ru_mdlp_api |
/K3T/CO_RU_MDLP_GET_200 | /mdlp/connector/ru_mdlp_get_200 |
/K3T/CO_RU_MDLP_GET_ORIG_DOC | /mdlp/connector/ru_mdlp_get_orig_doc |
/K3T/CO_RU_MDLP_GET_TOKEN | /mdlp/connector/ru_mdlp_get_token |
/K3T/CO_RU_MDLP_REQ | /mdlp/connector/ru_mdlp_req |
/K3T/CO_RU_GET_OMS_TOKEN | /mdlp/connector/ru_get_oms_token |
The values for user, password, URL port and Transport Binding Type (SOAP 1.1 or SOAP 1.2, the default value is SOAP 1.1) shall match the values in the configuration file of the connector Java part.
Create binding for the Service definitions
Service Definition |
/K3T/RU_MDLP_CONF |
/K3T/RU_MDLP_CONF_OUT |
/K3T/RU_MDLP_IN |
/K3T/RU_MDLP_IN_RUN |
/K3T/RU_MDLP_LIST_IN |
/K3T/RU_MDLP_LIST_OUT |
/K3T/RU_MDLP_OUT |
/K3T/RU_MDLP_OUT_RUN |
/K3T/RU_MDLP_PSW_ALERT |
/K3T/RU_MDLP_READ |
/K3T/RU_MDLP_RESP |
Choose the radio button SSL if https connection is used, otherwise None for http. Activate User ID/Password check box for the Transport Channel Authentication.
4.1.3 Technical user and authorization role
One technical user shall be created in SAP ATTP with authorization to login and execute RFC calls (name space /K3T/*), if connector Java part used RFC, or execute web service calls (authorization object S_SERVICE). The authorization to post events is needed if inbound MDLP message processing shall generate objects or post events in SAP ATTP.
4.2 Parameters
The transaction /K3T/RU_PARAM contains parameters to govern the 3Keys CRPT connector MDLP. The settings will require a customizing transport. The view /K3T/RU_PARAM_V can be used with transaction SM30 for changes without customizing transport.
Name | Description, Values |
/K3T/ACTIVE | Activate MDLP connector X - active |
/K3T/CHECK_MDLP_SEQUENCE | Check MDLP sequence before message sending X - active |
/K3T/CHECK_QRFC_DISPATCHER | Check message already exists in the queue (SMQ1) before sending to prevent from sending again X - active |
/K3T/CHECK_RESP_MDLP_STATUS | Check response processed already: X - active |
/K3T/CHECK_SNR_PAID_STATUS | Check serial number paid status for processing 10311 or 10319 inbound messages X - active |
/K3T/CL_RU_NOTIF | Use custom class to process missing data function instead of class /K3T/CL_RU_NOTIF |
/K3T/CLASS_MDLP_STATUS | Redefine MDLP status processing class /K3T/CL_RU_MDLP_STATUS with custom class |
/K3T/DEL_CONF_MSG_OBJ_INACTIVE | Deactivate deletion object for aggregated messages after message confirmation from MDLP X - inactive |
/K3T/FM_DEL_MSG_CONTENT | Function module name to delete quantity data displayed in transaction /K3T/RU_MONITOR |
/K3T/FM_POPUP_MSG_CONTENT | Function module name to display quantity data in transaction /K3T/RU_MONITOR |
/K3T/FM_READ_MSG_CONTENT | Function module name to read quantity data displayed in transaction /K3T/RU_MONITOR |
/K3T/FM_SEARCH_MSG_CONTENT | Function module name to search GTIN, Lot number in transaction /K3T/RU_MONITOR |
/K3T/FM_STORE_MSG_CONTENT | Function module name to store quantity data displayed in transaction /K3T/RU_MONITOR |
/K3T/LM_AC_DOCTYPE_INACTIVE | Skip authorization check for MDLP document type at transaction /K3T/LM_MONITOR X – skip |
/K3T/LM_INACTIVE | Deactivate collecting data for Logistic Monitor X – deactivate |
/K3T/MDLP_API_HRY_DELAY | Delay on MDLP API request for SSCC hierarchy information |
/K3T/MDLP_API_HRY_DELAY_LOCK | Attempts number to set lock (with interval 1 second between) on MDLP API SSCC hierarchy information request |
/K3T/MDLP_API_S_LST_DELAY | Delay on MDLP API request for SGTIN information |
/K3T/MDLP_API_S_LST_DELAY_LOCK | Attempts number to set lock (with interval 1 second between) on MDLP API SGTIN information request |
K3T/MDLP_API_TSK_HRY_DELAY | Delay on MDLP API request to create MDLP reporting task report SSCC hierarchy |
/K3T/MDLP_API_TSK_INF_DELAY | Delay on MDLP API request to get information about MDLP reporting task |
/K3T/MDLP_API_TSK_MDP_DELAY | Delay on MDLP API request to create MDLP reporting task report Medicine disposal |
/K3T/MDLP_API_TSK_PR_DELAY | Delay on MDLP API request to create MDLP reporting task report Pricing report |
/K3T/MDLP_API_TSK_REM_DELAY | Delay on MDLP API request to create MDLP reporting task report Remaining medicines |
/K3T/MDLP_API_TSK_NO_DATA_TXT{X} | Text for MDLP analytic reporting task result to be parsed as no data found in MDLP. {X} means entry number, for example 1, 2, 3, 4 |
/K3T/MON_CHANGE_DOC_INACTIVE | Deactivate Change Log functionality X – deactivate |
/K3T/MON_DEF_TRN_DOCTYPE | Default business trans. document type to be displayed at /K3T/RU_MONITOR if event contains more than 1 business transaction document |
/K3T/MON_NAVIG_ACTIVE | Navigation to ATTP Cockpit is active for transaction /K3T/RU_MONITOR X - active |
/K3T/REDEFINE_CONFIG_INACTIVE | Deactivate Configuration ID determination if Subject Id was changed after status “05-Missing data” X - inactive |
/K3T/REPL_OPER_DATE | Replace operation date with current UTC timestamp for all messages before sending to MDLP X - active |
/K3T/REPL_OPER_DATE_915 | Replace operation date with current UTC timestamp for 915 message(915 could be changed to any other message) X - active |
/K3T/RU_ACCEPT_PARAM | Registration type for accept type: reverse or direct accept (415 / 441 message processing algorithm) Example: ZZ_ACEPT_TYPE |
/K3T/RU_DM_TRN | Table for additional parameters for business transaction Exampel: /K3T/DM_TRN_PRP |
/K3T/RU_INB_MSG_DELAY | Wait up to XX seconds to be able debug AIF processing Example: 30 |
/K3T/RU_MAX_LOG_OBJID_ERR_ROWS | Maximum number of log entries at object id check for inbound message processing Example: 50 |
/K3T/RU_MAX_LOG_ROWS | Maximum number of log entries at MDLP sequence check Example: 50 |
/K3T/RU_MAX_LOG_INFO_ROWS | Maximum log entries on sequence check for each report item Example: 50 |
/K3T/RU_MAXOCCURS_912 | Maximum number of SSCC at 912 with multiple SSCC notification to MDLP Example: 1500 |
/K3T/RU_MDLP_INFO_STORE_XML | Store XML for MDLP info request X - active |
/K3T/RU_MDLP_INFO_TRACE | Create /K3T/RU_MDLP entry for each 210 message X - active |
/K3T/RU_UNREG_PARAM | Registration type for unregistered participant (415 / 441 message processing algorithm) Example: ZZ_BP_UREG |
/K3T/SCN_ALLOW_EMPTY_SSCC | Suppress error for empty SSCC at SAP ATT on SCN processing (X - active) |
/K3T/SCN_BP_FIND_LOC_GLN | Find partner GLN by location assigned to the partner (first location with non-empty GLN) X - active |
/K3T/SCN_READ_OBJ_ATTEMPTS | Use specified attempts number to read objects from SAP system after posting EPCIS message on inbound SCN processing |
/K3T/SCN_READ_OBJ_DELAY | Use specified delay between attempts to read objects from SAP system after posting EPCIS message on inbound SCN processing |
/K3T/SCN_SENDER | Use specified sender at generated EPCIS |
/K3T/SCN_SKIP_DOCYEAR | Do not add the year to business transaction for EPCIS shipping event X - active |
/K3T/SCN_SKIP_DOCYEAR_601 | Do not add the year to business transaction for EPCIS shipping event in case of MDLP 601 message (601 could be changed to any other message) X - active |
/K3T/SCN_USE_221_HRY_INFO | Use 220/221 messages to get hierarchy data from MDLP during the processing inbound message 601, 603 X -active |
/K3T/SCN_USE_API_HRY_INFO | Use API method to get SSCC hierarchy data from MDLP during the processing inbound message 601, 603 X -active |
/K3T/SCN_USE_API_SGTIN_INFO | Use MDLP API to get SGTIN information X - active |
/K3T/SEQ_915_SSCC_INACTIVE | Deactivate SSCC check at sequence check for message 915 containing SGTIN-SSCC X - inactive |
/K3T/SEQ_MSG_OBJ_OPT_ACCESS | Use optimized access to the database data during sequence check. 100 – minimum number of objects in the message |
/K3T/SKIP_SINGLE_COST_DETAIL | Skip adding <detail> section to the node <sscc_detail> in the XML for SSCC with GTIN/LOT details if the SSCC contains only one lot for messages 341, 361, 362, 415, 416, 441, 461, 363, 335 X - skip |
/K3T/SKIP_SINGLE_REL_DETAIL | Skip adding <detail> section in XML for message type 363 X - skip |
/K3T/SKIP_SINGLE_CUST_DETAIL | Skip adding <detail> section in XML for message type 335 X - skip |
MR_TAB_DISPOSAL | External database table name to store MDLP analytic reporting Medicine disposal |
MR_DISTR_PACKAGE_SIZE | Package size to send data to external database Example 10000 |
MR_DISTR_SKIP_DEL_STEP | Skip data deletion step at SAP tables after sending data to external database X - skip |
MR_TAB_REMAINS | External database table name to store MDLP analytic reporting Remaining medicines |
MR_TAB_REQUEST | External database table name to store MDLP analytic reporting request |
MR_TAB_REQ_PARAM | External database table name to store MDLP analytic reporting request parameters |
MR_DBNAME | External database connection name to store MDLP analytic reporting data |
Following the recommended minimum set of parameters
Name | Value |
/K3T/ACTIVE | X |
/K3T/CHECK_MDLP_SEQUENCE | X |
/K3T/CHECK_QRFC_DISPATCHER | X |
/K3T/CHECK_RESP_MDLP_STATUS | X |
/K3T/SEQ_MSG_OBJ_OPT_ACCESS | 50 |
/K3T/RU_MAX_LOG_ROWS | 50 |
/K3T/RU_MAX_LOG_OBJID_ERR_ROWS | 50 |
4.3 Rule processing
The rule type Z3K_RR_RU shall be assigned in the transaction /STTP/CUST_RULES to business steps / location groups related for the MDLP Russian reporting
The rule type Z3K_RR_RU allows to use additional customizing parameters to determine the rule to be executed, determine the approval parameters, and helps with sequence check.
Maintain the rules in the transaction /K3T/RU_CONF under “Rule Configuration”
Field | Description, Values |
Scenario | Free text used to describe the scenario and group multiple rules to be triggered for the same event |
Rule Processing Seq | Sequence of rule triggering for the same Scenario |
MDLP Document Type | MDLP Document Type 911-914 shall not be maintained for pack/unpack rules |
Rule Type | The ATTP standard rule type or customer developed |
Rule is Active | Set check box to activate the rule |
Business Step | Business step |
Disposition | Disposition code (optional) |
Location Group | Business location group (optional) |
BizLocation GLN | Business location GLN (optional) |
BizLoc. GLN Ext | Business location extension (optional) |
Bus. Transact. Type | Business transaction type (optional) |
Description | Description |
Maintain additional parameters in the transaction /K3T/RU_CONF under “Rule Configuration” if required to specified approving behavior or Configuration ID
Field | Description, Values |
Scenario | Scenario |
Rule Processing Seq | Sequence of rule triggering for the same Scenario |
Approver | User for automatic approval (optional) |
Approver Group | Approver Group to be checked (optional) |
User Apprvl | Wait explicit user approval (optional) |
MDLP Conf ID | Configuration ID (optional) |
4.4 Configuration ID determination
The Configuration ID represents the user / certificate for login to the MDLP system and electronic signature of the message in the connector Java part configuration file. Also, Configuration ID used in the authorization checks in the transaction /K3T/RU_MONITOR. The message cannot be sent without determined Configuration ID and must be entered manually in the transaction /K3T/RU_MONITOR.
Maintain Configuration ID in the transaction /K3T/RU_CONF under “Configuration ID”
Field | Description, Values |
MDLP Conf ID | Free text used to describe the Configuration ID |
Approver | User for automatic approval (optional) |
Approver Group | Approver Group to be checked (optional) |
User Apprvl | Wait explicit user approval (optional) |
Queue Name | Free text for Queue name in the transaction SMQ1 can be used to group the messages (optional) |
Skip file upload | Set check box to deactivate storage files in the folder as SAP ATTP standard |
Description | Description |
JCon Destination | RFC destination name in case RFC used for connection to connector Java part |
Logical Port | Logical port in case web service used for connection to connector Java part |
Assign the MDLP long (36-digit participant GUID ) and short(14-digit domestic location ID) Subject ID in the transaction /K3T/RU_CONF under “MDLP Subject ID”, if Configuration ID shall be determined based on the Subject ID
Field | Description, Values |
Subject ID | MDLP long or short Subject ID |
MDLP Conf ID | Configuration ID |
Approver | User for automatic approval (optional) |
Approver Group | Approver Group to be checked (optional) |
User Apprvl | Wait explicit user approval (optional) |
Description | Description (optional) |
Assign GLN in the transaction /K3T/RU_CONF under “GLN assignment”, if Configuration ID shall be determined based on GLN in the event. Without posting event the Configuration ID cannot be determined
Field | Description, Values |
Global Location No | GLN |
GLN Extension | GLN extension |
MDLP Conf ID | Configuration ID |
Approver | User for automatic approval (optional) |
Approver Group | Approver Group to be checked (optional) |
User Apprvl | Wait explicit user approval (optional) |
4.5 Inbound message processing
Maintain Configuration ID for inbound MDLP messages download in the transaction /K3T/RU_CONF under “Inbound message filter”
Field | Description, Values |
MDLP Configuration ID | Configuration ID for the MDLP cabinet where the inbound message expected |
Interval | Interval in seconds for checking for new inbound messages to be downloaded. |
Receiver ID | Subject ID of the message sender(optional) |
Date | Start date in the format YYYYMMDDHHMMSS for the first message to be downloaded, in case not all inbound messages shall be downloaded(optional) |
Delay | Delay in seconds for debugging |
Maintain Configuration ID for outbound MDLP messages download in the transaction /K3T/RU_CONF under “Outbound message filter”. Currently message type 10311, 10319 will be downloaded
Field | Description, Values |
MDLP Configuration ID | Configuration ID for the MDLP cabinet where the outbound message expected |
Interval | Interval in seconds for checking for new outbound messages to be downloaded. |
Sender ID | Subject ID of the message sender(optional) |
Date | Start date in the format YYYYMMDDHHMMSS for the first message to be downloaded, in case not all outbound messages shall be downloaded(optional) |
Delay | Delay in seconds for debugging |
The MDLP inbound messages will be downloaded by the connector Java part and transferred to SAP ATTP.
The report /K3T/RU_MDLP_IN shall be planned as a background job to process the inbound messages. The message processing executed with AIF functions and visible in the transaction /AIF/ERR.
Assign the processing function module in the transaction /K3T/RU_CONF under “Inbound message processing”.
Field | Description, Values |
MDLP Document Type | MDLP document type of inbound message (6xx or 10311, 10319) |
Subject ID | Receiver Subject ID (optional) |
Sender ID | Inbound message sender Subject ID (optional) |
Sequence | Sequence |
Function Module | Execution function module |
Location (SGLN) | Event business location for posting SCN (optional) |
Alert Category | Alert category for /K3T/RU_AIF_IN_EMAIL (optional) |
Description | Description |
The 3Keys CRPT connector for MDLP provides the list of function modules for processing of inbound messages.
Function module | Description |
/K3T/RU_AIF_IN_AUTO_701 | Function module generates the message 701 based on content of inbound message. |
/K3T/RU_AIF_IN_EMAIL | Function module triggers alert email based on content of inbound message. The alert category and email shall be maintained in the transaction /K3T/RU_CONF under “Alert recipient” |
/K3T/RU_AIF_IN_LM | Function module updates confirmation status in logistic monitor for 605, 606, 607, 627, 628 inbound messages |
/K3T/RU_AIF_IN_NO_REACTION | Function module set inbound message status processed |
/K3T/RU_AIF_IN_OMS_MSG | Function module updates serial number MDLP status from message 10311, 10319 (OMS) |
/K3T/RU_AIF_IN_REP | Function module creates SAP ATTP reporting event |
/K3T/RU_AIF_IN_ST_REFUSAL | Function module updates serial number MDLP status from message 605, 606 (message cancelation) |
/K3T/RU_AIF_IN_ST_UPDATE | Function module updates serial number MDLP status by requesting status from MDLP |
/K3T/RU_AIF_IN_RETURN_SCN | Function module posts unpacking, receiving, and shipping event for return process, if inbound message contains only SGTINs and turnover_type = 2. Otherwise, the function module /K3T/RU_AIF_IN_SCN will be executed. |
/K3T/RU_AIF_IN_SCN | Function module posts commissioning, packing, shipping, receiving event based on inbound message. The current hierarchy will be downloaded from MDLP and compared with current hierarchy in SAP ATTP. The hierarchy shall not exist in SAP ATTP or matched with MDLP. The source / destination mapping parameters and the events to be posted can be configured with transaction /K3T/RU_SCN_MAP |
Following the recommended minimum set of function modules assignment
MDLP Document Type | Sequence | Function module |
10311 | 1 | /K3T/RU_AIF_IN_OMS_MSG |
10319 | 1 | /K3T/RU_AIF_IN_OMS_MSG |
605 | 1 | /K3T/RU_AIF_IN_ST_REFUSAL |
605 | 2 | /K3T/RU_AIF_IN_LM |
605 | 3 | /K3T/RU_AIF_IN_REP |
606 | 1 | /K3T/RU_AIF_IN_ST_REFUSAL |
606 | 2 | /K3T/RU_AIF_IN_LM |
606 | 3 | /K3T/RU_AIF_IN_REP |
607 | 1 | /K3T/RU_AIF_IN_LM |
607 | 2 | /K3T/RU_AIF_IN_REP |
627 | 1 | /K3T/RU_AIF_IN_LM |
627 | 2 | /K3T/RU_AIF_IN_REP |
628 | 1 | /K3T/RU_AIF_IN_LM |
628 | 2 | /K3T/RU_AIF_IN_REP |
4.5.1 Russia inbound SCN attribute mapping transaction /K3T/RU_SCN_MAP
Transaction /K3T/RU_SCN_MAP allows configure source/destination data for shipping event posted by function module /K3T/RU_AIF_IN_SCN based on customizing table.
Location data could be configured as:
Fixed value (constant value in customizing table)
Message field (get specified field from inbound message and find business partner GLN/location GLN by registration number)
To maintain source/destination via transaction /K3T/RU_SCN_MAP:
Select node “Inbound message processing”
Select line with function module /K3T/RU_AIF_IN_SCN and relevant MDLP document type, subject ID, sender ID
Select node “SCN source/dest attribute mapping”
Insert source/destination entries for posting event
Field | Description, Values |
GLN Destination | Select one of the alternatives: SRC-LOC Source Location SRC-OWN Source Owning Party DST-LOC Source Location DST-OWN Source Owning Party |
GLN Source | Select one of the alternatives: Fixed value Message field |
Location SGLN | Location constant value in the format SGLN Example: 400123.000001.0 |
Rep message field | Message field used to determine Location based on source Field values specified in the node “Message field” |
Source (BUP / Location) | Select one of the alternatives: BUP Business partner LOC Location |
Select node “SCN events” to deactivate EPCIS events to be created with function module /K3T/RU_AIF_IN_SCN. By default commissioning, aggregation, receiving, shipping will be posted. Deactivate checkbox for specific event if posting is not needed.
Select node “Message field” to set possible values for reporting message field selection.
4.6 Message approval
Every message must be approved for sending. The approval can be done automatically based on configuration or manually in the transaction /K3T/RU_MONITOR.
The approval user, group, and explicit waiting of user approval determined with following logic:
Get values from Rule parameters (transaction /K3T/RU_CONF under “Rule Configuration”)
Get values from GLN parameters (transaction /K3T/RU_CONF under “GLN assignment”)
Get values from Subject ID parameters (transaction /K3T/RU_CONF under “MDLP Subject ID”)
Get values from Configuration ID parameters (transaction /K3T/RU_CONF under “Configuration ID”)
Maintain the Approval Group and assign User to the Approval Group in the transaction /K3T/RU_CONF under “Approval group”, if approval shall be controlled by Approval Group assignment.
4.7 Sequence check
The sequence check could be activated with parameter /K3T/CHECK_MDLP_SEQUENCE = X in the transaction /K3T/RU_PARAM. The manual approval will be required if the sequence check is not activated from the beginning, because the serial number MDLP status will not be updated with the incoming MDLP response before activation. The sequence check is triggered during the message approval, receiving MDLP response and as background job to be planned for the report /K3T/RU_MDLP_DISPATCHER with variant including disabled “Test run” field. The sequence check results stored as application log transaction SLG1, Object /STTP/, Sub object REP, External ID /K3T/MDLP_SEQUENCE
The logic of the sequence check:
No sequence check for messages 250-252, 10311, 10319
Check objects MDLP status, maintained in the transaction /K3T/RU_CONF under “Sequence Message sending”, allow for the MDLP document type. Aggregation messages 911-915 excluded from this check. The MDLP status tracked for every SGTIN in the table /K3T/RU_MDLP_STA. The SSCC MDLP status determined based on the first found SGTIN in the current hierarchy
Check the predecessor message exist for the same objects (messages currently in processing or confirmed with error from MDLP, messages with earlier operation data)
The message 915 checked to send parts in correct order. The parts of SGTIN-SSCC shall be send first and confirmed by MDLP before sending another SSCC-SSCC parts
The MDLP status will be updated with confirmation message from MDLP based on the values in the transaction /K3T/RU_CONF under “Sequence Status changing”
The sequence check can be skipped/ignored by user in the transaction /K3T/RU_MONITOR with button Approval.
MDLP message response triggering the Dispatcher as background job based on event.
Create background job event with transaction SM62
Event: /K3T/TRIGGER_MDLP_SEND
Description: Trigger job for sending message to MDLP system
Include the event definition into workbench transport to be able to import in the next environment.
Create variant PROD_RUN for report /K3T/RU_MDLP_DISPATCHER and disable the Test check box.
Create background job with transaction SM36 using Job wizard
Job name: for example, /K3T/TRIGGER_MDLP_SEND
ABAP program step: active
ABAP program name: /K3T/RU_MDLP_DISPATCHER
Variant: PROD_RUN
After event: active
Select event /K3T/TRIGGER_MDLP_SEND and Periodical check box
4.8 Background jobs for queue monitoring
The message sending to MDLP is synchronized using queues.
The report RSQOWKEX shall be planned as a background job with variant includes following field values: Queue Name: *, Queue Destination: *, Queues running longer than: blank, No Running Queues check box active, No Retry Queues check box inactive
Register destination in the transaction SMQS. The Destination shall be the same as the Host ID, Max Conn: 1000, Max Runtime: 600
4.9 Data deletion
The report /K3T/RU_MDLP_CLEANUP shall be planned as a background job to delete temporarily stored data with variant fields: “Delete msg objects/XML” check box active, “Test Mode” check box inactive, “Delete data older as days” for example 30.
The report /K3T/RU_MDLP_CLEANUP can be also planned to delete Logistic monitor data and MDLP monitor data with retention period align with company retention policy.
4.10 OMS dynamic token
The OMS dynamic token refresh can be planned as background job with report /K3T/RU_OMS_TOKEN. The OMS Connection ID assignment to the system and MDLP Configuration ID shall be maintained in the transaction /K3T/RU_OMS_C.
5. Enhancements of the Solution
The 3Keys CRPT connector MDLP is designed to be able to enhance based on customizing and code enhancements. Code enhancements are realized through Badi implementations.
5.1 Rule execution class
The standard rule execution class /K3T/CL_RR_RU_RULE for the rule type Z3K_RR_RU can be replaced with customer class in transaction /K3T/RU_RULE_PRM.
3Keys CRPT connector MDLP delivered with additional rule types for message types.
Rule Type | Description |
Z3K_313 | Message 313 |
Z3K_342 | Message 342 |
Z3K_531 | Message 531 |
Z3K_702 | Message 702 |
Z3K_703 | Message 703 |
Z3K_912 | Unpack all hierarchy levels, message 912 with recursive flag |
Z3K_912M | Unpack all hierarchy levels, message 912 with recursive flag (multiple SSCC) |
The Rule Type assignment to Notification Type and AIF parameters is stored in the transaction /K3T/RU_CRULE
5.2 Changing message content
The message XML generated by SAP ATTP standard may not fit to the business requirements or some of the mandatory fields in the message shall be updated by the user in the transaction /K3T/RU_MONITOR function “Maintain missing data” before the XML generation.
The Badi /STTP/BADI_RU_CHANGE_AFTER_MAP shall be implemented for the rule type and one of the methods from the class /K3T/CL_RU_BADI_UTILS shall be include in the processing logic. Following example for Rule type
5.2.1 Russia reporting attributes mapping transaction /K3T/RU_ATTR_MAP
The transaction /K3T/RU_ATTR_MAP contains fields and customizing for the message attributes mapping to replace the message XML fields determined by SAP ATTP standard
To maintain attribute mapping via transaction /K3T/RU_SCN_MAP:
Select node “Attributes mapping”
Insert new attribute setting
Field | Description, Values |
Rule type | Rule type value mapping will be performed for Example RR_RU_415_MOVEORD_FL |
Rep message field | Message field value will be set to. Field values specified in the node “Message field” Example RECEIVER_ID |
Priority | Priority to process attribute determination if several rules defined Example 0 |
Location SGLN | Location constant value in the format SGLN Example: 5175404.00001.3 |
Location Group | Check Location group of events read point GLN or business location GLN Example <EMPTY> |
GLN Source | Source for GLN determination: event location or business transaction location Field values specified in the node “Source for GLN» Example EVT-SRC-LOC |
Source (BUP / Location) | Source for registration number determination by GLN: Business partner or Location Select one of the alternatives: BUP Business partner LOC Location Example LOC Location |
Reg type | Registration number type RU_SUBJID - long (36-digit participant GUID) RU_SUBJIDS - short (14-digit domestic location ID) Example RU_SUBJIDS |
Select node “Source for GLN” – possible values for GLN determination are predefined
Value | Description |
BIZTRANS-SHIPFROM | Get assigned business transaction to event and use Ship from Location GLN |
BIZTRANS-SHIPTO | Get assigned business transaction to event and use Ship to Location GLN |
BIZTRANS-SOLDFROM | Get assigned business transaction to event and use Sold from Location GLN |
BIZTRANS-SOLDTO | Get assigned business transaction to event and use Sold to Location GLN |
EVT-BIZLOC | Event business location |
EVT-DST-LOC | Event destination location |
EVT-DST-OWNR | Event destination owning party |
EVT-READPOINT | Event read point |
EVT-SRC-LOC | Event source location |
EVT-SRC-OWNR | Event source owning party |
GTIN-BR_OWNER_GLN | Get GLN from object GTIN attribute BR_OWNER_GLN |
Select node “Message field” to set possible values for reporting message field selection
Select node “Ignore SAP message” to set SAP standard message to be ignored on attribute mapper processing. SAP standard logic executed before attribute mapper and in case there is no value for mandatory field error added to log and mapping error occurs on reporting message generation. Option “Ignore SAP message” allows to delete specified error in customizing.
5.3 Enhancement spot /K3T/ES_REP_RU
Badi | Description |
/K3T/BADI_RU_CHECK_EVT_PROP | Additional event properties check to stop message processing in status 05-Missing data |
/K3T/BADI_RU_MAR_SCD | Russia MDLP Analytics: Task scheduler |
/K3T/BADI_RU_MDLP_SEND | Additional processing logic after the message sending to MDLP |
/K3T/BADI_RU_MDLP_RESP | Additional processing logic after receiving response from MDLP |
/K3T/BADI_RU_MDLP_IN | Additional processing logic before starting execution AIF for inbound MDLP message |
/K3T/BADI_RU_MDLP_CLEANUP | Additional processing logic to filter objects to be deleted with report /K3T/RU_MDLP_CLEANUP |
5.4 Enhancement for navigation to ATTP cockpit
The class /STTP/CL_UI_COCKPIT method HANDLE_USER_COMMAND shall be extended at the end of ABAP code to be able to navigate from transaction /K3T/RU_MONITOR to ATTP cockpit to display event, business transaction, reporting event. Following the example of the ABAP code
IF ( iv_fcode EQ /k3t/cl_rr_ru_const=>gc_cockpit_node-serialized_trade_items ).
me->trigger_node( iv_node_key = /k3t/cl_rr_ru_const=>gc_cockpit_node-serialized_trade_items ).
ELSEIF ( iv_fcode EQ /k3t/cl_rr_ru_const=>gc_cockpit_node-business_transactions ).
me->trigger_node( iv_node_key = /k3t/cl_rr_ru_const=>gc_cockpit_node-business_transactions ).
ELSEIF ( iv_fcode EQ /k3t/cl_rr_ru_const=>gc_cockpit_node-events ).
me->trigger_node( iv_node_key = /k3t/cl_rr_ru_const=>gc_cockpit_node-events ).
ELSEIF ( iv_fcode EQ /k3t/cl_rr_ru_const=>gc_cockpit_node-reporting_events ).
me->trigger_node( iv_node_key = /k3t/cl_rr_ru_const=>gc_cockpit_node-reporting_events ).
ENDIF.
Activate parameter /K3T/MON_NAVIG_ACTIVE = X in the transaction /K3T/RU_PARAM