SAP Business One Interview Questions for SAP B1 SDK Developer/Technical

 SAP Business One Interview Questions

Q. Which are the dll’s used in SAP Business One SDK ? 

Interop.SAPbouiCOM.dll and Interop.SAPbobsCOM.dll are the two dll’s used in SAP Business One SDK. Interop.SAPbouiCOM.dll is used for accessing the user controls that are displayed over the form.Different controls such as label,combobox,matrix etc. can be accessed using Interop.SAPbouiCOM.dll. Interop.SAPbobsCOM.dll is used for accessing objects that are used in SAP.For eg,item object can be accesed as, Dim objItem As SAPbobsCOM.Items 

Q. What will happen if we remove EventFilters ? 

If we remove EventFilters,then the all the events will re.While programming in SDK,the unneccessary events should be neglected since it will decline the performance of the application.When EventFilter is applied to the SAPbouiCOM.Application object,then the events will re as per the requirement of the user and thus enhancing the performance of the application. 

Q. What is used in SDK for developing a form ? 

Screen painter is used for developing form in SAP Business One SDK.Screen painter is provided as add-on by SAP and it can be used to designing and developing forms.The les created by screen painter has srf extension and these les should be renamed to xml for deploying then in SAP Business One. 


Q. Which tool is provided by SAP for keeping the track of events ? 

SAP Business One Event Logger is a tool provided by SAP for keeping the track of events.Both SAP Business One and event logger should be executed simultaneously.Event logger will give you detailed list of events that red while operating SAP.Event logger is very useful tool while devleloping add-ons in SDK.Coding can be done as per the events that are shown in event logger.For devleoping robust applications in SAP Business One SDK,event logger is useful tool since entire programming in SAP Business One SDK is event driven. 

Q. Is it possible to alter the standard behaviour of SAP Business One using SDK ? The standard behaviour or the convensional ow of SAP Business One can not be altered using SDK.Some or other error will occur.So it is advisable not to disturb the convensional ow of SAP Business One using SDK. 

Q. What is et_FORM_DATA_ADD event in SAP Business One SDK ? 

et_FORM_DATA_ADD event res when the add button is clicked.This event adds new record in SAP.This event can be used for validating the input received by the user.This event res in two sessions.In the rst session,an event res before the successfull execution of event i.e.ActionSuccess.The code is as, BusinessObjectInfo.EventType = SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD ANDBusinessObjectInfo.ActionSuccess = False The second session occurs when the action is executed successfully i.e. SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD ANDBusinessObjectInfo.ActionSuccess = True 

Q. How to ll data in recordset ? 

In the recordset ,data can be lled in the recordset using the sub-routine DoQuery.The sample illustrates this in detail , Dim objRS As SAPbobsCOM.Recordset 

objRS = objCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset) objRS.DoQuery(“SELECT * FROM OITM”) 

Q. How is SAP Business One implemented ? 

SAP Business One is implemented as a two-layer architecture. The system is based on a Microsoft SQL Server database where data is stored centrally. The business logic is mostly processed on the client software (fat client). 

Q. What are the different components of SAP Business One client software ? Graphical user interface and the business object classes connecting to the database are the different components of SAP Business One client software . 

Q. What is DI Server in SAP Business One ? 

In SAP Business One,DI Server is DCOM service that runs on the SAP Business One server and accepts XML data packed in SOAP (Simple Object Access Protocol) 

Q. What is the function of UI API i.e. User Interface API ? 

UI API stands for User Interface Application Program.Dll is provided by SAP i.e. Interop.SAPbouiCOM.dll.The reference of this dll is added in the project to access it in project.UI API is used for accessing the controls that are displayed on the form. Following are the functions of UI API – 

1. Provides objects and methods to access screen objects of the User Interface. 2. Provides access to internal system events of the user interface. 

3. Provides ability to modify or add menus, windows, or elds. 

4. Provides one integrated user interface. 

5. Use COM capable development tools (Microsoft Visual …) 

Q. What is company object in SAP Business One ? 

Company object represents SAP Business One database.Is used to establish a connection to a Microsoft SQL Server database. 

Q. What is the use of company object in SAP Business One ? 

The following are the uses of company object in SAP Business One – 

1. Access Data in an SAP Business One database. 

2. Connect to and disconnect to customer database. 

3. Start and end global transactions. 

4. Work with XML data. 

Q. What are the different types of DataSources ? 

The following are the different types of DataSources – 

1. DataTables 

2. DBDataSources 

3. UserDataSources 

Q. Can we load the datatable directly using sql query ? 

Yes,datatable can be loaded directly using sql query as follows – 

Dim objDT as SAPbouiCOM.DataTable Dim strQuery as String strQuery=”SELECT * FROM OITM” objDT.ExecuteQuery(strQuery)

Q. What are the functions of Data Interface API (DI API) ? 

Following are the functions of Data Interface API (DI API) – 

1. DI API provides objects and methods i.e. add,update,Remove ,for performing various data level operations.This can be done without installing SAP Business One client. 2. DI API provides access to business objects i.e. master data and transactional data. 3. DI API can be used in COM capable development tools (e.g. Microsoft Visual Studio).Dll SAPbobsCOM.dll is provided by SAP just by adding the reference of this dll,you can perform data level operations. 

Q. What are the different objects in DI API ? 

Following are the different objects in DI API – 

1.Business Objects 

2.Infrastructure Objects 

3.Special Objects 

Q. What are the different types of transactions supported by DI API ? 

Following are the different types of transactions supported by DI API – 

1.Single Transaction 

2.Global Transaction 

Q. What is BubbleEvent ? 

BubbleEvent species whether the event will be processed by SAP Business One or not.If BubbleEvent=True ,then SAP Business One will process the event else the execution will terminate.For eg, 

If pVal.EventType = BoEventTypes.et_CLICK And pVal.Action_Success = True And pVal.FormUID = “F_32” And pVal.ItemUID = “btnSave” Then 

BubbleEvent=False 

End If 

In the above code,click event of save button is handeled.When the user clicks on the save button,then rst the above code will execute and then it will be handeled by SAP Business One.Here I have set BubbleEvent=False.So the click event will terminate and SAP Business One will not handle the event. 

Q. What is DBDataSource ? 

DBDataSource is used for storing data from database.DBDataSource is linked to database table and it represents tabular data.DBDataSource is used by all system forms.You can get DBDataSource as follows – Here I have assumed that I have opened the form of Sales Order and I want to get the

database details of the sales order.The table name is ORDR. Dim objDS As SAPbouiCOM.DBDataSource 

objDS = SBO_Application.Forms.ActiveForm.DataSources.DBDataSources.Item(“ORDR”) 

Q. How to bind a textbox with datasource ? 

Textbox can be binded to datasource as follow – 

Dim objForm As SAPbouiCOM.Form 

Dim txtDocEntry As SAPbouiCOM.EditText 

objForm = SBO_Application.Forms.ActiveForm 

objForm.DataSources.UserDataSources.Add(“DocEntry”, 

SAPbouiCOM.BoDataType.dt_LONG_NUMBER) 

txtDocEntry = objForm.Items.Item(“txtDocEntry”).Specic 

txtDocEntry.DataBind.SetBound(True, “”, “DocEntry”) 

In the above code,I have considered the textbox txtDocEntry.I want this textbox to accept numeric input only. 

So I have binded it with dt_LONG_NUMBER as shown above. 

Q. What are the limitations of DI server ? 

Following are the limitations of DI server – 

1. Meta data operations not supported. 

2. ?Different support for transaction handling than plain DI API 

Q. What is the function of OBServerDLL.DLL ? 

In OBServerDLL.DLL , the business objects of the SAP Business One client are copied. 

Q. What are the different parts of DI API ? 

Following are the different parts of DI API – 

1. COM Interface – The COM Interface provides the interface to the add-on application. 2. DI Core – The DI Core, which is the main component of the DI API, performs all the data logic operations. 

3. Data manager – The Data Manager stores temporary object data, converts object data to internal data formats, retrieves data from the database, and controls the database transactions. 4. Schema Generator – The Schema Generator creates XML schemas based on object interface descriptions. The schema generator also creates object validation lists. 

Q. Where does DI server executes i.e. client or server ? 

DI server executes on the server.

Q. For performing heavy duty operations what is suitable DI API or DI server ? For performing heavy duty operation DI server is suitable.The DI Server implements a connection pooling mechanism to enhance performance and scalability of the server.As DI Server is a SOAP based interface it does not limit the client to a COM interface, but allows a wide range of possible client technologies. 

Q. What is the value returned when any method of an DI API object executes successfully ? 0 is returned when any method of an DI API object executes successfully. 

Q. Which table saves the details of country ? 

OCRY table saves the details of country. 

Q. Which property of matrix gives the total number of rows in the matrix ? The property VisualRowCount gives the total number of rows in the matrix. 

Q. In SAP Business One SDK, which object is used for executing SQL queries and stored procedures ? 

In SAP Business One SDK,recordset object is used for executing SQL queries and stored procedures. 

Q. What is the value returned by a method when it executes successfully ? 0 is the value returned by a method when it executes successfully. 

Q. What is A/R Invoice ? 

The acronymn of A/R Invoice is Account Receivable Invoice. For selling a product, following invoices are added in SAP Business One – 

1. Sales Quotation 

2. Sales Order 

3. Delivery 

4. A/R Invoice 

So A/R Invoice is the last process for the sales department. When A/R Invoice is added, the respective accouting entries are added. The report from the A/R Invoice is send as bill along with the product. 

Q. What is A/P Invoice ? 

The acronymn of A/P Invoice is Account Payable Invoice. For purchasing the goods, following invoices are added in SAP Business One – 

1.Purchase Quotation 

2. Purchase Order 

3. Goods Receipt PO

4. A/P Invoice 

So A/P Invoice is the last process for the purchase department. When A/P Invoice is added, the accouting effect can be seen. 

Q. Which are the dll’s used in SAP Business One SDK ? 

Interop.SAPbouiCOM.dll and Interop.SAPbobsCOM.dll are the two dll’s used in SAP Business One SDK. Interop.SAPbouiCOM.dll is used for accessing the user controls that are displayed over the form.Different controls such as label,combobox,matrix etc. can be accessed using Interop.SAPbouiCOM.dll. Interop.SAPbobsCOM.dll is used for accessing objects that are used in SAP.For eg,item object can be accesed as, Dim objItem As SAPbobsCOM.Items 

Q. What will happen if we remove EventFilters ? 

If we remove EventFilters,then the all the events will re.While programming in SDK,the unneccessary events should be neglected since it will decline the performance of the application.When EventFilter is applied to the SAPbouiCOM.Application object,then the events will re as per the requirement of the user and thus enhancing the performance of the application. 

Q. What is used in SDK for developing a form ? 

Screen painter is used for developing form in SAP Business One SDK.Screen painter is provided as add-on by SAP and it can be used to designing and developing forms.The les created by screen painter has srf extension and these les should be renamed to xml for deploying then in SAP Business One. 

Q. Which tool is provided by SAP for keeping the track of events ? 

SAP Business One Event Logger is a tool provided by SAP for keeping the track of events.Both SAP Business One and event logger should be executed simultaneously.Event logger will give you detailed list of events that red while operating SAP.Event logger is very useful tool while devleloping add-ons in SDK.Coding can be done as per the events that are shown in event logger.For devleoping robust applications in SAP Business One SDK,event logger is useful tool since entire programming in SAP Business One SDK is event driven. 

Q. Is it possible to alter the standard behaviour of SAP Business One using SDK ? The standard behaviour or the convensional ow of SAP Business One can not be altered using SDK.Some or other error will occur.So it is advisable not to disturb the convensional ow of SAP Business One using SDK. 

Q. What is et_FORM_DATA_ADD event in SAP Business One SDK ? 

et_FORM_DATA_ADD event res when the add button is clicked.This event adds new record in SAP.This event can be used for validating the input received by the user.This event res in two sessions.In the rst session,an event res before the successfull execution of event

i.e.ActionSuccess.The code is as, BusinessObjectInfo.EventType = SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD ANDBusinessObjectInfo.ActionSuccess = False The second session occurs when the action is executed successfully i.e. SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD ANDBusinessObjectInfo.ActionSuccess = True 

Q. How to ll data in recordset ? 

In the recordset ,data can be lled in the recordset using the sub-routine DoQuery.The sample illustrates this in detail , Dim objRS As SAPbobsCOM.Recordset 

objRS = objCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset) objRS.DoQuery(“SELECT * FROM OITM”) 

Q. How is SAP Business One implemented ? 

SAP Business One is implemented as a two-layer architecture. The system is based on a Microsoft SQL Server database where data is stored centrally. The business logic is mostly processed on the client software (fat client). 

Q. What are the different components of SAP Business One client software ? Graphical user interface and the business object classes connecting to the database are the different components of SAP Business One client software . 

Q. What is DI Server in SAP Business One ? 

In SAP Business One,DI Server is DCOM service that runs on the SAP Business One server and accepts XML data packed in SOAP (Simple Object Access Protocol) 

Q. What is the function of UI API i.e. User Interface API ? 

UI API stands for User Interface Application Program.Dll is provided by SAP i.e. Interop.SAPbouiCOM.dll.The reference of this dll is added in the project to access it in project.UI API is used for accessing the controls that are displayed on the form. Following are the functions of UI API – 

1. Provides objects and methods to access screen objects of the User Interface. 2. Provides access to internal system events of the user interface. 

3. Provides ability to modify or add menus, windows, or elds. 

4. Provides one integrated user interface. 

5. Use COM capable development tools (Microsoft Visual …) 

Q. What is company object in SAP Business One ? 

Company object represents SAP Business One database.Is used to establish a connection to a Microsoft SQL Server database.

Q. What is the use of company object in SAP Business One ? 

The following are the uses of company object in SAP Business One – 

1. Access Data in an SAP Business One database. 

2. Connect to and disconnect to customer database. 

3. Start and end global transactions. 

4.Work with XML data. 

Q. What are the different objects in DI API ? 

Following are the different objects in DI API – 

1.Business Objects 

2.Infrastructure Objects 

3.Special Objects 

Q. What are the different types of transactions supported by DI API ? 

Following are the different types of transactions supported by DI API – 

1.Single Transaction 

2.Global Transaction 

Q. What is BubbleEvent ? 

BubbleEvent species whether the event will be processed by SAP Business One or not.If BubbleEvent=True ,then SAP Business One will process the event else the execution will terminate.For eg, 

If pVal.EventType = BoEventTypes.et_CLICK And pVal.Action_Success = True And pVal.FormUID = “F_32” And pVal.ItemUID = “btnSave” Then 

BubbleEvent=False 

End If 

In the above code,click event of save button is handeled.When the user clicks on the save button,then rst the above code will execute and then it will be handeled by SAP Business One.Here I have set BubbleEvent=False.So the click event will terminate and SAP Business One will not handle the event. 

Q. What is DBDataSource ? 

DBDataSource is used for storing data from database.DBDataSource is linked to database table and it represents tabular data.DBDataSource is used by all system forms.You can get DBDataSource as follows – Here I have assumed that I have opened the form of Sales Order and I want to get the database details of the sales order.The table name is ORDR. Dim objDS As SAPbouiCOM.DBDataSource 

objDS = SBO_Application.Forms.ActiveForm.DataSources.DBDataSources.Item(“ORDR”)

Q. How to bind a textbox with datasource ? 

Textbox can be binded to datasource as follow – 

Dim objForm As SAPbouiCOM.Form 

Dim txtDocEntry As SAPbouiCOM.EditText 

objForm = SBO_Application.Forms.ActiveForm 

objForm.DataSources.UserDataSources.Add(“DocEntry”, 

SAPbouiCOM.BoDataType.dt_LONG_NUMBER) 

txtDocEntry = objForm.Items.Item(“txtDocEntry”).Specic 

txtDocEntry.DataBind.SetBound(True, “”, “DocEntry”) 

In the above code,I have considered the textbox txtDocEntry.I want this textbox to accept numeric input only. 

So I have binded it with dt_LONG_NUMBER as shown above. 


Q. What are the different types of DataSources ? 

The following are the different types of DataSources – 

1. DataTables 

2. DBDataSources 

3. UserDataSources 

Q. Can we load the datatable directly using sql query ? 

Yes,datatable can be loaded directly using sql query as follows – 

Dim objDT as SAPbouiCOM.DataTable Dim strQuery as String strQuery=”SELECT * FROM OITM” objDT.ExecuteQuery(strQuery) 

Q. What are the functions of Data Interface API (DI API) ? 

Following are the functions of Data Interface API (DI API) – 

1. DI API provides objects and methods i.e. add,update,Remove ,for performing various data level operations.This can be done without installing SAP Business One client. 

2. DI API provides access to business objects i.e. master data and transactional data. 3. DI API can be used in COM capable development tools (e.g. Microsoft Visual Studio).Dll SAPbobsCOM.dll is provided by SAP just by adding the reference of this dll,you can perform data level operations. 

Q. What are the limitations of DI server ? 

Following are the limitations of DI server – 

1. Meta data operations not supported. 

2. Different support for transaction handling than plain DI API

Q. What is the function of OBServerDLL.DLL ? 

In OBServerDLL.DLL , the business objects of the SAP Business One client are copied. 

Q. What are the different parts of DI API ? 

Following are the different parts of DI API – 

1. COM Interface – The COM Interface provides the interface to the add-on application. 2. DI Core – The DI Core, which is the main component of the DI API, performs all the data logic operations. 

3. Data manager – The Data Manager stores temporary object data, converts object data to internal data formats, retrieves data from the database, and controls the database transactions. 4. Schema Generator – The Schema Generator creates XML schemas based on object interface descriptions. The schema generator also creates object validation lists. 

Q. Where does DI server executes i.e. client or server ? 

DI server executes on the server. 

Q. For performing heavy duty operations what is suitable DI API or DI server ? For performing heavy duty operation DI server is suitable.The DI Server implements a connection pooling mechanism to enhance performance and scalability of the server.As DI Server is a SOAP based interface it does not limit the client to a COM interface, but allows a wide range of possible client technologies. 

Q. What is the value returned when any method of an DI API object executes successfully ? 0 is returned when any method of an DI API object executes successfully. 

Q. Which table saves the details of country ? 

OCRY table saves the details of country. 

Q. Which property of matrix gives the total number of rows in the matrix ? The property VisualRowCount gives the total number of rows in the matrix. 

Q. In SAP Business One SDK, which object is used for executing SQL queries and stored procedures ? 

In SAP Business One SDK,recordset object is used for executing SQL queries and stored procedures. 

Q. What is the value returned by a method when it executes successfully ? 0 is the value returned by a method when it executes successfully.

Q. What is A/R Invoice ? 

The acronymn of A/R Invoice is Account Receivable Invoice. For selling a product, following invoices are added in SAP Business One – 

1.Sales Quotation 

2. Sales Order 

3. Delivery 

4. A/R Invoice 

So A/R Invoice is the last process for the sales department. When A/R Invoice is added, the respective accouting entries are added. The report from the A/R Invoice is send as bill along with the product. 

Q. What is A/P Invoice ? 

The acronymn of A/P Invoice is Account Payable Invoice. For purchasing the goods, following invoices are added in SAP Business One – 

1. Purchase Quotation 

2. Purchase Order 

3. Goods Receipt PO 

4. A/P Invoice 

So A/P Invoice is the last process for the purchase department. When A/P Invoice is added, the accouting effect can be seen.