Data Transfer in SAP Business One version for HANA
Transferring data to and from SAP Business One is one of the basic and most important activity. Exporting and Importing of Critical Business Data, might be in hundreds of thousands in numbers accurately is a challenging task. For this task we often use DTW or Data Transfer Wizard in SAP Business One. DTW allows transferring of data in simple CSV Format where data can be exported from SAP B1 or can be imported using that CSV format and DTW tool.
Often when the database size at SAP B1 is several GB or might be TB in size, in today’s scenario SAP recommends to have HANA as the back end database. Reason is quite simple; HANA can efficiently handle larger data set than SQL Server. Now a day we have SAP Business One version for HANA exists which can connect to HANA database and efficiently process/show data to the users.
Data Transfer to or from SAP Business One where the database is HANA, we can use DTW. But there might be some problems to cater if you are transferring a huge data set:
- a) Memory management of DTW is not optimal
- b) After several hours of import/export process running, DTW consumes almost 100% RAM of the server/client
- c) Eventually the transfer process slows down and stops responding further
Since you are using SAP Business One version for HANA and HANA database, you can leverage the solution of Service Layer. Service Layer allows to transfer data in huge data set without putting any additional requirement on memory utilization. Below is a comparison of both processes:
|Technology used||COM API (DI API)||B1 Service Layer (HTTPS)|
|Libraries required||.NET Framework, DI API, MS Access DB Engine||.NET Framework only|
|Memory Consumption on client||Starts at 200MB, grows to several GB after a few hours||110 MB steady, running 4 threads|
|Import speed||Starts at approx. 3 records per second, eventually slows down||12 records per second, running 4 threads|
B1 Solution Architects also suggested not to use Microsoft ODATA libraries while using Service Layer, rather write down own codes which can act as communication methods using .Net functions.
You may also like: