Amongst a large number of errors that you might encounter, some of the problems are totally not a part of your application to fix. One of such error is the one mentioned in the title. “Could not find METADATA file” is one of the errors which is thrown from SAP B1 DI Server when there is some corruption in SAP B1 DI Server service memory.
You are getting the aforementioned error since SAP B1 DI Server requires regular restart after a certain amount of time passed by. Depending on how heavily the data is getting transferred between SAP B1 to 3rd party applications, the DI Server might face such an issue. Mostly this will be fixed by restarting the DI server service once regularly, but in some cases, this might come more frequently than once daily.
The solution of this issue is as follows:
- Stop DI Server Service (“SBODI_Server”) using Task Manager or Services console in Windows. You need to make sure the service is stopped successfully. If you see the service status saying StopPending for long, you need to kill the B1_DIServer.exe process from Task Manager.
- After the service is completely stopped, go to “C:\Windows\Temp” folder and delete the folder “SM_OBS_DLL” with all its content.
- Once deletion is complete, start the DI Server Service again (“SBODI_Server”).
If you are using an iPaaS solution like APPSeCONNECT, there is a ready made solution to the same using Prepackaged rule. To enable this rule, go to the Rules Section of your project and activate. Use the following steps:
- Login to https://portal.appseconnect.com
- Go to Manage -> Rules
- Select “Choose Rule” button.
- Activate the SAPB1DISERVERRestartRule.
- Download the configuration on Agent, and you are done.
This rule will automatically detect the error message and if DI Server is not accessible, your DI Server will be automatically restarted after taking care of the mentioned steps.
Sometimes it happens that the application is having some limitation which needs some way around to fix the issue. May be this is not a correct approach to do regular restart, but after through discussion with SAP, we have found there is no other way to fix this problem without going to another solution in SAP. Hence this becomes the only approach that you can take to ensure things working correctly in integration projects.
I hope this will help you cure occasional downtime of SAP B1 integration.