30
Views
4
Comments
Solved
[BulkInsert] No records inserted and no errors in log
Forge component by João Pedro Abreu
22
Published on 02 Oct 2019
Application Type
Traditional Web

Dear all,

I am using the BulkInsert function and before our upgrade to OS11 (last week) it was working properly for a specific application. To be sure that we are up to date, I replaced the component with the latest BulkInsert component (version 2.1.7).

At the moment I have the following problem:

Via an extension we obtain the data from an external source (using integration studio) and write it into an OutSystems entity. I was debugging my action and I can see that the external table has over 1500+ records.  Using the physical table name of the Outsystems entity (the table exists in the database and is empty) and converting my external list data to an Object behaves as follows. Debugging the flow, it just steps into the Bulkinsert action and after running, it returns without inserting any record. Beside using the aggregate, I also used the SQL component and I used a List_Append_All. All ending up with the same result of inserting 0 records. Creating a new destination entity in OS also did not help.

Looking into my General logs, the action was running for 0ms and there is no error message logged.

Important to mention. The function was working before in OS10 without any problem. I even replaced the new BulkInsert function with the old OS10 component today and it comes up with the same problem. Furthermore we use this bulk insert action inside other applications as well and over there they it works properly.

Is there anybody who has seen this before and has a solution for this behavior. My next step would be to open the extension and write logging to obtain a result from the BulkInsert action itself.

Thanks for the help!

Kind regards,

Patrick

ScreenshotBulkInsert4.png

Solution

Hello all,

We probably found the reason why this behavior occurred. In the past we changed the name of the action inside Integration Studio to make an application specific component. However in the C# code of the extension, the function name does not change, which results in the fact that the name inside the extension does not match with the name of the function in Integration Studio. Therefore, the function is not recognized and this is not logged to the Service Studio. To issue was fixed by updating the C# code from opening it in Visual Studio. The integration studio automatically creates a new function and after creation we copied the old C# code into the new function. Republishing the extension solved the problem.

Kind regards,

Bo Menick & Patrick Langeveld

Rank: #287

Hi Patrick 

It seems like a very weird behavior.

Hope someone can help up. I am also want to know the result.

Kindly Result

Hi all,

I posted the wrong screenshot. The attached screenshot will give you a more detailed overview of the flow related to out problem.

Kind regards,

Patrick

ScreenshotBulkInsertFull.png

Champion
Rank: #263

Patrick, access the servicecenter in the "general log" tab and look for "bulkInsert" in the "Source" field. If you are using version 11, this version generates an error log in the General tab. 

See an example of my environment in the attached print. 



Analyzing your scenario, I went through this in the past and it was the name of the object that was different in a situation. In another situation I had different column names, and for the component to work, the Source and Destination must be exactly the same.


I hope it helps you. 


José Galter.


Solution

Hello all,

We probably found the reason why this behavior occurred. In the past we changed the name of the action inside Integration Studio to make an application specific component. However in the C# code of the extension, the function name does not change, which results in the fact that the name inside the extension does not match with the name of the function in Integration Studio. Therefore, the function is not recognized and this is not logged to the Service Studio. To issue was fixed by updating the C# code from opening it in Visual Studio. The integration studio automatically creates a new function and after creation we copied the old C# code into the new function. Republishing the extension solved the problem.

Kind regards,

Bo Menick & Patrick Langeveld