Message discriminator is responsible for determining type of the message. Based on passed xml it returns string with workflow type. Message discriminator logic is located in an MEINT java class. Default name for most of the message is a local name of root xml node. But some of the messages are handled individually. Please see below custom logic which exist at the moment in discriminator:
IDOC or ME message | Condition | Workflow name |
INVCON02 INVCON03 | BWART=101 | INVCON02_GR INVCON03_GR |
INVCON02 INVCON03 | BWART=261 or 311 | INVCON02_INV_PEG INVCON03_INV_PEG |
IORDER01 | SERVICE=X | IORDER01 |
IORDER01 | SERVICE!=X | IORDER01_CHG_EQ_STATUS |
CLFMAS02 | KLART=001 | CLFMAS02_SAVE_ITEM_CUST_FLDS |
LOIWCS02 | CRHD.VERWE=9000 | LOIWCS02_ME_WC |
LOIWCS02 | CRHD.VERWE=9100 | LOIWCS02_ME_RES |
equipmentStatusChangeRequest | status=1 | equipmentStatusChangeRequest_PROD |
equipmentStatusChangeRequest | status=5 | equipmentStatusChangeRequest_UNSCH_DOWN |
shopOrderCompleteCorrelationRequest | orderType=PRODUCTION | productionOrderCompleteCorrelationRequest |
shopOrderCompleteCorrelationRequest | orderType=REPETITIVE | plannedOrderCompleteRequest |
shopOrderCompleteCorrelationRequest | orderType=RMA | rmaOrderCompleteRequest |
It can be customized by a custom discriminator. Custom discriminator is specified in MEINT Global Configuration as SAPMEINT_PartnerMessageDiscriminatorTxn or SAPMEINT_CustomerMessageDiscriminatorTxn parameter. In case custom discriminator is specified it is called first, if it returns empty value then base discriminator is invoked. Custom discriminator can be done only as an MII transaction. In order to help to create custom discriminator there is an MII transaction which contains required input and output parameters Visiprise\ERPShopFloorIntegration\frame\discriminators\IMessageDiscriminator.trx