KB Article #158005
Using B2BXGIReceiveInfo attribute with DML functions
Problem
- When using DML functions, it is not possible to set or get the field values of the B2BXGIReceiveInfo attribute
- DML function may return NULL or end in error, even if the concerned attribute values exist and are not NULL.
Resolution
The standard structure for an attribute is:
attribute = {(attribute_field1), (attribute_field2), ...}
From this structure derives the standard DML function syntax to use the attribute fields values.
E.g., for the getStringAttribute DML function:
getStringAttribute("attribute", "attribute_field1") returns "value1"
The B2BXGIReceiveInfo does not have a standard structure: its fields should each be considered as independant attributes, and not as regular attribute fields.
E.g., we want to get the B2BXGIReceiveInfo related ProductionFilename:
- Standard syntax is not applicable in this case:
getStringAttribute("B2BXGIReceiveInfo", "ProductionFilename") will return NULL, even if this value exists and is not NULL.
- Correct syntax is:
getAttribute("B2BXGIReceive_ProductionFilename")
The following list of B2BXGIReceiveInfo related attributes can be used this way:
B2BXGIReceive_DocumentType
B2BXGIReceive_EdiControlId
B2BXGIReceive_ediint.DocumentType
B2BXGIReceive_ediint.DocumentVersion
B2BXGIReceive_PackagedMessageId
B2BXGIReceive_PayloadCount
B2BXGIReceive_ProductionFilename
B2BXGIReceive_UnpackagedBusinessProtocol
The following list of B2BXGIReceiveInfo related attributes can also be used this way, but are disabled by default and need to be enabled to be used (see the "Additional Notes" section for more details on how to enable those attributes):
B2BXGIReceive_BusinessProtocol
B2BXGIReceive_BusinessProtocolVersion
B2BXGIReceive_ConsumptionExchangePointId
B2BXGIReceive_ConsumptionFilename
B2BXGIReceive_ConsumptionFilenameExtension
B2BXGIReceive_ConsumptionUrl
B2BXGIReceive_ContentMimeType
B2BXGIReceive_CoreId
B2BXGIReceive_Direction
B2BXGIReceive_DocumentClass
B2BXGIReceive_ediint.IsMDN
B2BXGIReceive_ExpirationTime
B2BXGIReceive_IsChildPayload
B2BXGIReceive_IsDuplicate
B2BXGIReceive_PackagedBusinessProtocol
B2BXGIReceive_PackagedBusinessProtocolVersion
B2BXGIReceive_ReceiverPartyId
B2BXGIReceive_ReceiverPartyName
B2BXGIReceive_ReceiverRoutingId
B2BXGIReceive_ReceiverRoutingIdType
B2BXGIReceive_Rejected
B2BXGIReceive_SenderPartyId
B2BXGIReceive_SenderPartyName
B2BXGIReceive_SenderRoutingId
B2BXGIReceive_SenderRoutingIdType
B2BXGIReceive_TransferCorrelationId
B2BXGIReceive_UnpackagedBusinessProtocolVersion
Additional Notes
The B2BXi Express Gateway Interchange connector uses a file to define the attribute fields received from Gateway Interchange that are not needed in Integrator and that shouldn't be added to received messages.
The reference file that contains the list of disabled attribute fields is:
$CORE_SOLUTIONS/config/b2bx/b2bxgi/b2bxgi_attributes.txt (this file should not be modified)
If any of the attribute fields listed below needs to be enabled, copy the b2bxgi_attributes.txt file to the following location:
$B2BI_SHARED_LOCAL/config/b2bx/b2bxgi/
- Edit this file and set the attribute fields to enable to 1
- Stop and restart Integrator