Symptom
An error 'Item processing type with type code not found::The text collection you specified does not exist::Text ID ABCDEFGHIJKLMNOPQRSTUVWXYZ012345 not found' appears when creating an Inbound Delivery Notification (IDN) with Item Note via OData Service.
Environment
SAP Business ByDesign
Reproducing the Issue
- Create the Custom OData Service as per the business.
- Access the OData Service by below request payload as the example
{
"ID": "ABC",
"InboundDeliverySellerParty": {
"PartyID": "PAR"
},
"InboundDeliveryShipToLocation": {
"LocationID": "LOC"
},
"InboundDeliveryProductRecipientParty": {
"PartyID": "PAR"
},"InboundDeliveryItem": [
{
"ID": "10",
"TypeCode": "14",
"ProductID": "PRODUCT",
"InboundDeliveryDeliveryQuantity": {
"Quantity": "XYZ",
"unitCode": "UOM"
},
"BusinessTransactionDocumentReferencePurchaseOrder": {
"ID": "POID",
"TypeCode": "001",
"ItemTypeCode": "18"
},
"InboundDeliveryItemText": [
{
"LanguageCode": "EN",
"Text":"Text Information",
"TypeCode": "10011"
}
]
}
]
}
Then below response would be proposed.
{
"error": {
"code": "ERROR",
"message": {
"lang": "en",
"value": "Item processing type with type code not found::The text collection you specified does not exist::Text ID ABCDEFGHIJKLMNOPQRSTUVWXYZ012345 not found"
}
}
}
Cause
The line item text node in the creation of IDN through OData is PSM released, but the association with the item is not PSM released and not write enabled. PSM releasing the association will not work as the item_Text node points to the item node, which does not work in Odata. Therefore, we cannot retrieve item notes while creating IDN through OData.
Resolution
We recommend creating this type of IDNs using the standard webservice API ManageStandardInboundDeliveryNotificationIn as the workaround.
# Sample payload for reference #
<n0:StandardInboundDeliveryNotificationBundleCreateRequest_sync
xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader>
</BasicMessageHeader>
<StandardInboundDeliveryNotification actionCode="01" cancellationDocumentIndicator="false" releaseDocumentIndicator="false">
<DeliveryNotificationID>?</DeliveryNotificationID>
<ProcessingTypeCode>?</ProcessingTypeCode>
<Item actionCode="01" cancellationItemIndicator="false">
<LineItemID>10</LineItemID>
<TypeCode>14</TypeCode>
<ProcessingTypeCode>?</ProcessingTypeCode>
<DeliveryQuantity unitCode="?">?</DeliveryQuantity>
<SellerPartyID>?</SellerPartyID>
<BuyerPartyID>?</BuyerPartyID>
<ItemProduct actionCode="01">
<ProductID>?</ProductID>
</ItemProduct>
<ItemBusinessTransactionDocumentReference actionCode="01">
<PurchaseOrder>
<ID>?</ID>
<TypeCode>001</TypeCode>
<ItemID>1</ItemID>
</PurchaseOrder>
</ItemBusinessTransactionDocumentReference>
<TextCollection actionCode="01">
<Text actionCode="01">
<TypeCode>10011</TypeCode>
<CreationDateTime>?</CreationDateTime>
<ContentText languageCode="EN">?</ContentText>
</Text>
</TextCollection>
</Item>
</StandardInboundDeliveryNotification>
</n0:StandardInboundDeliveryNotificationBundleCreateRequest_sync>
See Also
Same workaround is also proposed for the scenario creating Outbound Delivery via OData:
Keywords
Item processing type, Type Code, Not Found, Text Collection You Specified Does Not Exist, OData Service, Inbound Delivery Notification, Outbound Delivery , KBA , AP-IDP , Inbound Delivery Processing , How To