Let me clarify. The SQL database is local to our plant (about 500 employees) and has been completely designed and implemented by our local dev team(myself included). Corporate IT has no involvement with our local apps or SQL db. And we don't want them to.
The SAP system is located at corporate headquarters, run by corporate IT, and serves the whole company (80,000 employees). SAP is used for inventory, shipping, costing, order planning, etc. Believe me, I'd love to get away from SAP, but that is way, way out of my hands and will not happen. So we are forced to have our system interact with SAP for production reporting and inventory control.
We will have a set of apps for each department that all interact with the SQL db. Two are done and fully operational. The first one does the SAP transactions from the client vb app then stores results in SQL. For the second one, we had decided to make the SAP calls from stored procs instead of from the client. This was to reduce the number of calls back and forth from the client to SQL.
If I had to do it again, I would have done the SAP transactions from the client app because the sp_OA stuff sucks. Especially with the unstable SAP GUI Component Server. But at this point, moving all that logic back to the client would be a 6 month project and we don't have time.
Corporate IT is building the web services to serve the entire company. It is actually a great thing for us because it will simplify the transactions. We'll pass some parameters and get some data back. The current method is basically using UI screen navigation to do the transactions.
So basically I need to convert my VB6 COM object to make web service calls.
It looks like there isn't a way to make the call directly from the procs, so I guess for now I'll be sticking with the VB COM object making the calls.