Baanboard.com

Baanboard.com (http://www.baanboard.com/baanboard/index.php)
-   ION (http://www.baanboard.com/baanboard/forumdisplay.php?f=83)
-   -   Custom BOD Steps (http://www.baanboard.com/baanboard/showthread.php?t=70144)

bansaanu 24th June 2017 08:32

Custom BOD Steps
 
Hi All,

I have started to work on custom BOD recently and need some verification/input from XI gurus. Based on my understanding following is the sequence of creating a simple custom BOD:

1. Create xml file with exact format
2. Create XSD project in LN Studio
3. Create BID project in LN Studio (Need to know the difference between BID and XSD project? Why do we need BID?)
4. Create BII project (This actually maps the xml field to table or converted values through hooks)
5. Generate DLL which creates two dll in LN

First of all can you please verify above sequence and understanding and confirm if that is correct? Also I need answers to my following questions:

1. When I call generate BOD dll in LN, in that scenario how would the DLL know which record needs to be sent into BOD? What is logic and where it is written which governs the record need to be sent to BOD?


Any input will be helpful.

Thanks,
Anubhav

bhushanchanda 26th June 2017 13:17

These steps are right. Apart from these, you also need to register the BOD in LN.

Coming to the questions -

1. Difference between XSD and BID
- As per the standard development practice, you create XSD for assigning the data types to your fields and setting the identifier for your BOD
- BID is used for add the events which you are going to use with the BOD.
- In the end, the field to table mapping and customization's are performed in BII.

2. When I call generate BOD dll in LN, in that scenario how would the DLL know which record needs to be sent into BOD? What is logic and where it is written which governs the record need to be sent to BOD?
- When you call a BOD, set of standard DLL's tcboddll.* are used to validate the table and field mappings for the called BOD. They will go through the XML files related to the BOD and will get the table to be used and the field mappings.

Hope that is clear.

bansaanu 26th June 2017 20:00

Hi Bhushan,

Thanks for the input and validating my thought process!!!

I am still confused for point # 2:

******Just for reference from previous message*****

2. When I call generate BOD dll in LN, in that scenario how would the DLL know which record needs to be sent into BOD? What is logic and where it is written which governs the record need to be sent to BOD?

- When you call a BOD, set of standard DLL's tcboddll.* are used to validate the table and field mappings for the called BOD. They will go through the XML files related to the BOD and will get the table to be used and the field mappings.
*********************

Lets say I create a custom BOD for one simple table (Units) and call Publish BOD DLL at the time of any change in the table. I want to send in BOD only the record which has been changed not all records so how would I achieve that? Do we pass primary index of the record as well in DLL which publishes BOD? I may be wrong but what I remember that we just pass BOD name in DLL while publishing BOD, is it not?

Thanks,
Anubhav

bhushanchanda 26th June 2017 22:59

Yes. Offcourse we do pass the table index as a parameter to publish BOD Dll. Refer to BOD developer guide on how to call a BOD. In addition to the indices, we also pass the action to be taken i.e. Add, Delete, Modify


All times are GMT +2. The time now is 01:31.


vB.Sponsors
©2001-2017 - Baanboard.com - Baanforums.com