Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Document History

...

Industry

Identifier

RU System

RU System Revision

REST Operation

REST Path

20

NTF (Notification System)

600

EDO_CREATE_DOC

/apiUot/api/private/create-doc

20

NTF (Notification System)

600

20

NTF (Notification System)

600EDO_DATA_FOR_SIGN

/apiUot/api/private/getDataForSign

20

NTF (Notification System)

600

20

NTF (Notification System)

600EDO_DOC_LIST

/apiUot/api/private/doc-list

20

NTF (Notification System)

600

20

NTF (Notification System)

600EDO_GET_TOKEN

/apiUot/api/private/get-token

20

NTF (Notification System)

600

20

NTF (Notification System)

600

EDO_INFO_KM

/apiUot/api/private/info-km

20

NTF (Notification System)

600

20

NTF (Notification System)

600EDO_PROF_OUT_DOC

/apiUot/api/private/profile-out-doc

20

NTF (Notification System)

600

20

NTF (Notification System)

600

20

NTF (Notification System)

600

20

NTF (Notification System)

600EDO_SEND_SIGNED

/apiUot/api/private/sendSigned

Event additional properties

The following is a list of expected event properties to compose the notification message. The notification raise error in case the mandatory event properties is not available on the event.

Report codes transfer from non-resident

...

Property

...

Description

...

.

Report codes transfer from non-resident

Property

Description

Mandatory?

ZR_KZ_CTR_CODE

Country of export according to the directory of countries

N

ZR_KZ_PRM_DOC_DATE

Date of paper document Notifications in the format

YYYY-MM-DD

N

ZR_KZ_SUPPL_ID

Identifier

taxpayer (TIN,

IIN, BIN and

etc.) sender or equivalent

N

ZR_KZ_CONS_ID

IIN/BIN of the recipient

N

Customizing the solution

In general, customizing is performed with following transactions:

...

Name

Description, Values

EDO_SYSTEM

ATTP System name (with assigned RFC with path /edo/api )

Example: EDO

EDO_SYSTEM_API

ATTP System name for internal Connector calls (with assigned RFC without path /edo/api )

Example: EDO

MON_NAVIG_ACTIVE

Navigation to ATTP Cockpit is active for transaction /K3TKZ/DOC_MONITOR

X - active

Customizing for Reports

Relevant industry

...

Field

Description, Values

Doc Type

Internal document type (values are predefined).

  • 1 Act of receipt transfer Single distributor

  • 2 Introduce from EAEU

  • 3 Import from 3rd country

  • 4 Withdrawal Notification

  • 5 Repeat introduce Notification

  • 6 Act internal transfer

  • 7 Act internal transfer Single distributor

  • 10 Act of receipt transfer

  • 11 Codes transfer from non-resident

  • 91 OMS Report

  • 6000 New aggregation out of production

Document Type Description

Text to be displayed at Report Monitor for document type

EDO Document Type

TRUE API EDO System document type

Mapping attributes

...

Field

Description, Values

Product group

Product group from True EDO API documentation

Example: pharma

Text

Description (used at search help)

Example: Pharma

...

EDO status customizing in the transaction /K3TKZ/EDO_CUST under “EDO Status send from” contains possible status values for message sequence check before sending to EDO system. Note Node “EDO Status change to” contains new status value to be set after receiving successful response for notification. 3Keys Kazakhstan EDO already contains EDO status, maintain values in case other status processing logic is required

...

Participant tax code fields could be filled with value from source or destination fields of the EPCIS event or business transaction in the transaction /K3TKZ/EDO_ATTR_MAP .

The following location data source is supported:

...

Class-based rule condition is maintained via transaction /K3TKZ/EDO_CUST node “Rule condition” and based on class method /K3TKZ/CLCL_EDO_RULES=>GET_RULE_CONDITION_CLASS. Method is used to get class name from table /K3TKZ/C_CONDEDOCOND, custom class could be assigned as condition processor. Class method /K3TKZ/IF_EDO_3K_RULE_CONDITIONS~EXECUTE is called. (Rule processing will stop check if result is skip rule). 

...

Background job needs to be planned for the report /K3TKZ/EDO_DISPATCHER. The sequence check results are stored as application log transaction SLG1, Object /STTP/, Sub object DMREP, External ID /K3TKZ/EDO_SEND

The logic of the sequence check:

  1. Call BADI /K3TKZ/BADI_REPEDO_SEQ_CHECK method BEFORE_CHECK

  2. Check objects EDO status (status found). The EDO status tracked for every SGTIN in the table /K3TKZ/OBJEDO_STA. The SSCC EDO status determined based on the first found SGTIN in the current hierarchy

  3. Processing status: there is no report with the same objects in status “Send”

  4. Check predecessor: there is no report with the same objects earlier than the current message

  5. Call BADI /K3TKZ/BADI_REPEDO_SEQ_CHECK method AFTER_CHECK

The EDO status could be updated with transaction /K3TKZ/EDO_SN_INFO or program /K3TKZ/EDO_OMS_REP (if SGTIN was send to OMS with BR_CRYPTO_COMM event).

The sequence check can be skipped/ignored by user in the transaction /K3TKZ/DOCEDO_MONITOR with button Approval

...

Maintain Configuration ID in the transaction /K3TKZ/EDO_CONF under “Configuration ID” 

Field

Description, Values

Configuration ID

Free text used to describe the Configuration ID

Config description

Description

Delay Response

Delay in seconds before first response for notification

Max error

Maximum error counter before set notification status “No response”

User Apprvl

Wait explicit user approval (optional)

Signature required

Manual signature via NCA Layer required

 Maintain Participant Tax code in the transaction /K3TKZ/EDO_CONF under “Participant Tax code” 

Field

Description, Values

Participant tax code

Participant Tax code from notification

Configuration ID

Free text used to describe the Configuration ID

EDO SSO UUID

GUID from EDO system (obsolete after Nov 2023)

Background jobs for report processing

...

The report run results are stored as application log transaction SLG1, Object  /STTP/, Sub object DMREP, External ID /K3TKZ/EDO_SEND

...

  • field “Error text” with error from JSON

  • field “Response code”

  • field “Response error counter” - increase value by 1. When response error counter value become more than maximum error counter set in the configuration customizing (table /K3TKZ/C_CONF_IDEDOCNF) report processing status is set to “No response”

  • analyze if received HTTP error code is server error (selection screen parameter) during this report run and stop processing if value of screen parameter “Stop after error number” exceeded

The report run results are stored as application log transaction SLG1, Object  /STTP/, Sub object DMREP, External ID /K3TKZ/EDO_RESPONSE

...

The report run results are stored as application log transaction SLG1, Object  /STTP/, Sub object DMREP, External ID /K3TKZ/OMS_REPREPORT

5. Enhancements of the Solution

...

  • Redefine default rule execution class /K3TKZ/CL_EDO_3K_RULE_PROC to custom class using table /K3TKZ/C_RTYPE EDORTYP and implement own logic with ABAP to skip specific rule after rule configuration reading 

Maintain rule type in the transaction /K3TKZ/EDO_CUST under “Rule Type”

Field

Description, Values

Rule Type

Rule type

Example Z3KKZ_MTEDO

Class name

Customer class name to redefine logic

Description

Text description

...

  • Implementing a BADI /STTP/BADI_RULE_CONDITIONS with filter = rule condition 

  • Implementing 3Keys rule condition class containing interface  /K3TKZ/IF_EDO_3K_RULE_CONDITIONSCOND. Custom logic needs to be created at method /K3TKZ/IF_3K_RULE_CONDITIONS~EXECUTECOND~EXECUTE.

Maintain rule condition in the transaction /K3TKZ/EDO_CUST under “Rule Condition”

...

The report JSON generated by ATTP standard may not fit to the business requirements. To change report XML JSON the following options available:

...

To compose report data, it is possible to use own logic by creating new rule type with own rule type execution class by implementing interface /K3TKZ/IF_EDO_3K_RULE_MAPPING (method EXECUTE).

...

To assign custom execution class use transaction /K3TKZ/EDO_CUST, node “Mapping Attributes”, column “Mapper Class”.

...

To compose report data it is possible to change existing rule type logic by using mapping class redefinition. It is necessary to create own class as child class of /K3TKZ/CL_EDO_IMPORT0011_MAPPER Collect notification data (or copy of this class) and assign this new class to relevant rule type via transaction /K3TKZ/CUST, node “Mapping Attributes”, column “Mapper class”this new class to relevant rule type via transaction /K3TKZ/EDO_CUST, node “Mapping Attributes”, column “Mapper class”.

5.1.2.3. Change check logic after mapping

Badi /K3TKZ/BADI_EDO_CHG_AFTER_CHK shall be implemented for the rule type and own processing logic needs to be implemented.

5.1.2.3. Change report after mapping

Badi /STTPK3TKZ/BADI_RUEDO_CHANGECHG_AFTER_MAP shall be implemented for the rule type and own processing logic needs to be implemented.

...

  • Create new rule type via transaction /STTP/CUST_RULE_TYPE - Define Rule types

  • Create new notification type via transaction /STTP/REP_NOTIF_TYPE - Define Reporting Notification Types

  • Create ABAP structures for AIF (use structure /K3TKZ/S_EDO_IMPIMPNRES_AIF as example)

  • Create AIF customizing via transaction /AIF/CUST (Namespace /STTC3):

...

  • Create customizing for mapping report content via transaction /K3TKZ/EDO_CUST (“Mapping attributes” node)

  • Add logic to extract report data implementing BADI /K3TKZ/BADI_REPEDO_PARSE

  • Create customizing for new rule via transaction /STTP/CUST_RULES (3Keys General rule)

  • Create customizing for new rule via transaction /K3TKZ/EDO_CONF (“Rule configuration” node)

  • Create logic to parse data by implementing Badi /K3TKZ/BADI_REPEDO_PARSE

5.1.4. New industry

...

  1. Create fixed value append for domain /STTP/D_INDUSTRY (for example ZP – Perfume). Skip this step if industry is supported by 3Keys Kazakhstan Connector for EDO.

  2. Specify relevant industry for reporting (transaction /K3TKZ/EDO_CUST, node “Relevant Industry”) 

  3. Add new REST path for created industry (transaction SM30 view /STTP/V_RSRVPATH)

  4. Add general customizing parameter RR_RU_NTF_REV for industry using transaction /STTP/CUSTGEN

Customizing Parameter Key

Customizing Parameter Option

Value

RRZ3KKZ_RUEDO_NTF_REV

ZP

600

 

5.1.5. Create new True API function

...

  1. If base class for API processing does not exist create child class of /K3TKZ/CL_TRUE_API_REQ as custom class ZCL_TRUE_API_REQ

  2. Create method GET_INSTANCE_ATT as copy of GET_INSTANCE at custom class ZCL_TRUE_API_REQ

  3. Create new constant for rest operation (use constant /K3TKZ/CL_REST_CONST=>GCS_REST_OPERATION-NOTIFICATION-EDO-GET_CISES_INFO as example)

  4. Add new REST path for created REST operation (transaction SM30 view /STTP/V_RSRVPATH)

  5. Create processor class (use class /K3TKZ/CL_TRUE_API_CISES_INFO as example), for example ZCL_TRUE_API_CISES_INFO2

  6. Add processor (class ZCL_TRUE_API_CISES_INFO2) instance creation logic into method GET_INSTANCE_ATT (based on rest operation) of base class ZCL_TRUE_API_REQ

  7. Implement new created API processing class ZCL_TRUE_API_REQ call into custom code

5.1.6. Enhancement spot /K3TKZ/ES_

...

EDO

Badi

Description

/K3TKZ/BADI_REPEDO_PARSE

Parse EDO report data

Additional processing logic to parse notification data into  report monitor entry on notification creation

/K3TKZ/BADI_REPEDO_RESPONSE

Get Response from EDO

Additional processing logic to change report monitor entry after report response receiving

/K3TKZ/BADI_REPEDO_SEQ_CHECK

Sequence check on EDO Interaction

Redefine default sequence check logic with own logic

/K3TKZ/BADI_CHANGEEDO_CHG_AFTER_CHECKCHK

EDO: Change Data After Check

Redefine check result on notification creation with own logic

/K3TKZ/BADI_EDO_CHANGECHG_AFTER_MAP

EDO: Change Data After Mapping

Redefine field mapping on notification creation with own logic

...

Add general customizing parameter /K3TKZ/COCKPIT_NAVIG (usage scope Customizing) to enable navigation to ATTP Cockpit from transaction /K3TKZ/DOCEDO_MONITOR using transaction /STTP/CUSTGEN

...