Product Information
“FAILURE CREATING RECORDS OF NODE ON THE DATABASE” – DUMP OCCURS IN SAP CLOUD APPLICATION STUDIO
Are you getting a dump during node instance creation via SDK? This can be observed when you are trying to perform a Save action in the UI. However, instead of saving the record, the system throws a runtime exception (500 Internal server errors) without any valid error messages in the UI.
If your answer to the above is “YES”, then this blog is for you. In this blog, I will equip you with the know-how on the following:
• HOW you can verify the details for this dump
• Root cause on WHY such errors occur
• WHAT is the approach to resolve such errors at your end
HOW?
Since there are no error messages, it is difficult for you to identify why such dumps are occurring in the UI. When you come across such a scenario and if there is an add-on implementation on that UI screen, a good idea would be to check in the Cloud Applications Studio.
You can follow the below steps to find the runtime errors from SDK:
1. Login to Cloud Application Studio
2. Go to the View tab in the menu
3. Select ‘Dump Analysis’ option from the list
4. You can refresh and check if there are any dump records available in this window {as shown in the screenshot below}
The error that you are looking for is “Failure creating records of node CBO.Root on the database”. CBO.Root follows the convention of <BusinessObjectName>.<NodeName> in the add-on where you have added the extension fields. This also shows the solution name where the node is present, which helps you locate the field easily.
Dump Analysis Tool in SDK
WHY?
When we enter text in the frontend in a field with a character limit, our expectation is that if the character limit is exceeded, the system would automatically truncate the entered text at the character limit and save that portion of the text entered.
Example: Let us consider a field “A” with a character limit of 3. We enter the text WXYZ. Your expectation is that if the text exceeds the limit, the system should store the value WXY. However, instead, you get a runtime exception.
Due to a limitation from the framework side, the system does not behave this way. What you see in this scenario is a runtime exception (500 Internal server errors). The same dump will record a backend dump with the error: “The maximum length of a STRING or RAWSTRING field was exceeded”.
WHAT?
This issue comes up only for STRING/RAWSTRING based datatypes. The maximum possible length for the types STRING and RAWSTRING and the mandatory maximum length for SSTRING must not be exceeded in writes performed on database fields of these types using Open SQL. If it is exceeded, an exception of the class CX_SY_OPEN_SQL_DB is raised. Truncations of strings when read to a target field, however, are ignored.
For example, if you have declared a field of data type “LANGUAGEINDEPENDENT_SHORT_Name” which has a maximum length defined as 10. During runtime, if the length of this field is passed is 11, a runtime exception will occur.
You should identify the fields from the node and solution name mentioned in the Dump analysis tool in such issues. Make sure the character limit of the fields is not exceeded. If it is exceeded, reduce your input to be within the limit defined. This would get rid of the runtime error.
You can find the maximum length of the datatypes in the Repository Explorer-Data Type section from the Studio.
Additionally, you can handle this in the code by putting a validation in place to check if any fields are exceeding the string length defined.
I hope this will help you in tackling UI dumps related to the extension fields of string data type in the PDI Add-on.
Best Regards,
Dhanya KV
Very detailed and well versed blog, much informative 🙂
Nice blog Dhanya.
Hello Dhanya,
Thanks for your post. So far I have understood how to resolve such an error, but I am not quite sure for which cases this error occurs.
In the "WHY?"-section of your post you wrote about expectations, I also understand the expectations of the framework that way, because it works like this or in a similar way in other places.
Example 1: LANGUAGEINDEPENDENT_SHORT_Name String Maximum Length 10
Custom BO on root level:
The UI recognizes the Char limit and prevents the save operation
Example 2: LANGUAGEINDEPENDENT_MEDIUM_Name String Maximum Length 40
automatic truncate in the code:
Example 3: ShortText (don't know limits or type base, it's not visible in the Repository Explorer)
In a standard business object extension (Lead on item node)
There is also an error which prevents from saving:
Could you explain whether the dump occurs for custom or extension objects and maybe you have an example for which data type this is happening?
I couldn't reproduce the example with LANGUAGEINDEPENDENT_SHORT_Name (WHAT? section) in a custom object. In an extension object this type is not allowed.
I would like to understand in detail when a dump occurs so I can prevent errors in future customer specific developments.
Kind regards,
Andreas
Hello Andreas,
This is really surprising to me that you are getting the error when you are exceeding the character limit of the field. While this is really good that the system is throwing an error instead of dump, I'm really wondering about this behavior. Because we are still getting many incidents from various customers on this issue(with the same scenarios which you have outlined).
I see you are using SAP Business ByDesign, this could be the reason why you are getting the error instead of dump as the handling is done differently on ByD systems.
In this case, since you are not getting any dumps with the scenarios you have tried, you needn't worry about any other scenarios where this dump can occur.
Thanks,
Dhanya
Hello Dhanya,
that's a very strange behavior . We have a customer who has the same issue, but we can not able reproduce the dump. Every time we tried, we got the above mentioned error handling and no dump occurred.
The customer had the dump twice in May, but never before. The solution has been running without errors since about 2,5 years. So I was wondering if it depends on the last SAP Update 2105? Are the incidents with the dumps new since May or have you received the incidents for a long time?
Thanks and best regards,
Andreas
Hi Andreas,
Yes, it is strange indeed.
However, this is not introduced in the recent update but there from the beginning. This dump occurs completely based on the data which is being passed to the field and nothing to do with the configuration/coding. If the data entered exceeds the defined limit, a dump occurs. Maybe earlier this scenario never happened because the data entered/passed was always within the limit or the defined data type can hold more characters.
Thanks,
Dhanya