SAP B1 is friendly to Microsoft Visual Studio programmers via its so-called Software Development Kit. In the next version 9.0 expected in the fourth quarter of 2012 it is rebranded as 'Business One Studio'. Let's make short technical introduction and then try to talk about cases studies and get popular questions answered. Let's begin with SDK categorization:
1. UI API. 'The UI API provides programmatic access to windows, menus, and events in SAP Business One. The UI API allows you to create new windows, modify existing windows, add new business logic, add or modify application menus, and more. ' After introduction from 'Help Center' we would like to mention that user interface modification might be vulnerable to such future projects as upgrades. We would rather recommend you to concentrate on integration type of projects and see next paragraph
2. DI API. 'The DI API provides a programmatic interface to SAP Business One through a set of fully functional business objects. The DI API provides access to the business logic and data-access layers of SAP Business One. ' It is much easier to review integration code and recompile it with new release DLL set
3. DI Server. 'The DI Server is an extension of the DI API and supports all its objects. It is intended for high-volume data integration, where numerous client connections must be managed simultaneously and optimized for speed. It is also suitable where Web-services architecture is preferred. ' Here you should think about maximum performance
4. Code samples are available in C # and VB. This is one of the reasons for you to consider coding in these languages. However if you are comfortable to translate to your favorite.Net compliant language feel free to deploy it
5. Table structure. Here you have to combine client interface and SDK. Login B1 and in menu View-> System Information mark it. Open the form where you need to know the table and place cursor over and read field and table name on the bottom left corner. Write down table name and in Help Center search it. Try the following exercise. Open Sales Order form and place cursor over Customer field. And you should see the field Name CardCode and table ORDR. Then review this table in Help Center Search. If you are comfortable to find the table on your own directly in Kit then go to Customization Tools -> Database Table Reference
6. Integrations. It is recommended first to create user defined tables in client application and then use them as staging objects. You can import records to such table directly via SQL insert statement as it does not participate in core business logic. Next step is DI API programming in Visual Studio where you read records from staging table and create AR Invoices, Purchase Orders, etc.
7. Integration with Linux and PHP. This is frequent request due to the fact that custom ecommerce portal are often hosted in MySQL on Linux platform. Good recommendation is to consider SOAP XML Web Service with SDK libraries. Web service is computer platform neutral and could be called from Linux