Ajesh
2nd January 2017, 15:43
i have created and configured a Monitor on a customized BOD in ION, and it is configured well but the problem now is that the Alert is not getting generated...

I have done these steps

A)LN Side
1)Created the Customized BOD
2) Created Public and Private Attributes and methods
3) Registered the BOD

B)ION Side
1)Created a File Template for the New Document
2)Created Monitor for the BOD
3)Activated it.

Now when i am creating records for the customized Table, i am not getting alert according to the situation....

Regards
Ajesh

bhushanchanda
2nd January 2017, 19:46
Hi,

By File Template do you mean XSD's and XML?

Ajesh
2nd January 2017, 20:00
Yes.. The xmls and xsds are now created..

bhushanchanda
3rd January 2017, 11:51
How are you triggering your custom BOD? Have you written any script in your DAL or 3GL/4GL?

Ajesh
3rd January 2017, 12:09
Hi Bhushan

What are the steps?

I have created a 4GL to Publish but how will ION come to know that record is created/Modified/deleted etc.

bhushanchanda
3rd January 2017, 12:30
Hi,

You need to call tcbod.dll0001.publish.bod() function in order to execute your BOD. You have the option to provide the action code to state the type of table action you are performing.

e.g.

RETIFNOK(tcbod.dll0001.publish.bod(
"MySampleBOD", |i.Noun,
"tfgld008", |i.Table
trim$(i.ActionCode), |i.action.code ADD/CHANGE/DELETE
BOD_ENTITY_DEPARTMENT, |i.BOD Entity Type
"", |i.Bod.entity.code,
tfgld008.leac , |i.Doc.id,
false, |i.Batch.Mode,
"", |i.Batch.id,
0, |i.Batch.sequence,
0, |i.Batch.size,
tfgld008.leac) |i.Identities

jeffersyuan
5th January 2017, 04:33
Hi, Ajesh,

May I get the example script which you are using now?
I am still struggling in how to write the OnShow and OnAcknowledge hook script etc.
When I run generate Infor LN Implementation, I always got the errors as:
OnAcknowledge/OnShow must have an on Execute hook defined etc.
Also No idenfifiers (for addition of the variation ID) found error.

Do you still have any ideas on it?
Thanks.

Jeffers

Ajesh
9th January 2017, 04:13
Hi,

You need to call tcbod.dll0001.publish.bod() function in order to execute your BOD. You have the option to provide the action code to state the type of table action you are performing.

e.g.

RETIFNOK(tcbod.dll0001.publish.bod(
"MySampleBOD", |i.Noun,
"tfgld008", |i.Table
trim$(i.ActionCode), |i.action.code ADD/CHANGE/DELETE
BOD_ENTITY_DEPARTMENT, |i.BOD Entity Type
"", |i.Bod.entity.code,
tfgld008.leac , |i.Doc.id,
false, |i.Batch.Mode,
"", |i.Batch.id,
0, |i.Batch.sequence,
0, |i.Batch.size,
tfgld008.leac) |i.Identities


Hi Bhushan

what is the BOD entity type?

Warehouse or company? How do i determine it?

ARijke
9th January 2017, 10:36
The entity type defines the way the AccountingEntity is set in the BOD. AccountingEntity relates to the financial company.
Is your BOD representing transactional data then you need to pass the department/warehouse that defines the relation to the financial company.
In case of master data, then there is no financial company relation, you can just set it to Company.

Adriaan

Ajesh
25th January 2017, 15:26
tcbod.dll0001.publish.bod(
"ProjectBOQ", |i.Noun,
"tppss930", |i.Table
trim$(i.ActionCode), |i.action.code ADD/CHANGE/DELETE
BOD_ENTITY_DEPARTMENT, |i.BOD Entity Type
"", |i.Bod.entity.code,
tppss930.cprj , |i.Doc.id,
false, |i.Batch.Mode,
"", |i.Batch.id,
0, |i.Batch.sequence,
0, |i.Batch.size,
tppss930.cact) |i.Identities




This is what i used and BOD_ENTITY_DEPARTMENT has the company number but this BOD has not reflected in ION....

bhushanchanda
25th January 2017, 18:21
Hi,

Are you sure *.cprj is not an identity? It should be I guess. Please verify that. Other things seem okay to me.

MilindV
2nd February 2017, 07:02
Check values for i.Noun, Document ID and i.Identities.
i.noun has value as ProjectBOQ, Is it a typo, Q instead of D?
If document id comprise of only single value i.e. project code in your case same required to be passed as identifier instead of tppss930.cact [Activity].
is the bod registered in session bobod1100m000?
check if subscription present in tlesb300.
After publishing complete, you can check if record got created in tlesb100 or check if first free number is incremented in tlesb200.

Ajesh
2nd February 2017, 15:37
Hi,

Are you sure *.cprj is not an identity? It should be I guess. Please verify that. Other things seem okay to me.

Are you suggesting cprj as i.Identities instead of cact?

Ajesh
2nd February 2017, 16:16
Check values for i.Noun, Document ID and i.Identities.
i.noun has value as ProjectBOQ, Is it a typo, Q instead of D?
If document id comprise of only single value i.e. project code in your case same required to be passed as identifier instead of tppss930.cact [Activity].
is the bod registered in session bobod1100m000?
check if subscription present in tlesb300.
After publishing complete, you can check if record got created in tlesb100 or check if first free number is incremented in tlesb200.

BOD is registered...

Subscription is still not present in tlesb300..What has to be done to get it into 300?

ARijke
3rd February 2017, 09:08
You don't have a subscription in tlesb300. OK What is the situation in ION?
1 Do you have an LN connection point, is it active or inactive?
2 Do you have a doc flow containing the LN connection point, is it active or inactive?
3 Do you have an active monitor?

Ajesh
3rd February 2017, 09:39
You don't have a subscription in tlesb300. OK What is the situation in ION?
1 Do you have an LN connection point, is it active or inactive?
2 Do you have a doc flow containing the LN connection point, is it active or inactive?
3 Do you have an active monitor?


No You understood it wrong.. I dont have this specific subscriptioni,e, Sync for ProjectBOQBOD. Have lot of others

And have a lot of connection point and active monitors and workflows. And they work as well..

ARijke
3rd February 2017, 09:48
Ok This ProjectBOQBOD is used in only a monitor? this monitor is probably active?
In the LN connection point is this BOD marked as supported document?

Ajesh
3rd February 2017, 14:59
Ok This ProjectBOQBOD is used in only a monitor? this monitor is probably active?
In the LN connection point is this BOD marked as supported document?


Hi Arijke

Thanks for your time.


Yes, the Monitor is active and the BOD is marked as a supported document in ION as well..

ARijke
3rd February 2017, 15:12
then it should show up as subscription at the LN side...Did you try to reactivate one of the doc flows containing the LN connection point?
If that doesn't help then you need to raise an incident.

Ajesh
8th February 2017, 07:25
Hi Arijke

I reactivated the doc flow, its now coming in the subscriptions.. But after that no Alert still..

The record is there in tlesb300 but not there in tlesb200 ....

ARijke
8th February 2017, 09:07
Having an entry in tlesb300 means that ION is ready to handle it. Ln can now start publishing it.
If you do not see an entry in tlesb200 then the BOD is not yet triggered. So please trigger the BOD and see what happens. If you think you did trigger the BOD already then you need to debug why it is not getting produced and put into the outbox (tlesb100).

Adriaan

Ajesh
12th February 2017, 12:54
tcbod.dll0001.publish.bod(
"ProjectBOQ", |i.Noun,
"tppss930", |i.Table
trim$(i.ActionCode), |i.action.code ADD/CHANGE/DELETE
BOD_ENTITY_DEPARTMENT, |i.BOD Entity Type
"", |i.Bod.entity.code,
tppss930.cprj , |i.Doc.id,
false, |i.Batch.Mode,
"", |i.Batch.id,
0, |i.Batch.sequence,
0, |i.Batch.size,
tppss930.cprj) |i.Identities



One thing i wanted to ask is that, What is i.Doc.id? Isnt it the primary index key of the table?

And what is i.identities?

Also, regarding the Action code,Is it case Sensitive? I have used "ADD", "Add","Replace" etc

bhushanchanda
12th February 2017, 16:21
Document ID is the ID which uniquely identifies the BOD. The identities are the elements which uniquely identifies the records in the BOD. When you create your XSD, you can define the identities for the BOD. Do you have the document ID created in the schema/BII when you customized the BOD?

And, I guess, the action code is not case sensitive, but its always good to use the standard set of codes.

Ajesh
13th February 2017, 09:43
My Unique record and the Document ID are the same i guess, it is Project code and Boq Code...

What if i want to combine the two fields into one and include it in BOD?

For the moment i have included the two fields into one in "Business Objects" Session.

bhushanchanda
13th February 2017, 10:16
Ajesh,

In that case, you need to do some customizations. There is a nice KB on InforXtreme about how to do it with a sample custom BOD. So check if you can find it there. The idea is to add two custom fields in the BOD, write a code to fetch the values, assign the values to these two fields and link them to the Document ID field in the BOD. These things are required for multiple index fields in a BOD. It won't work without doing the above.

Ajesh
14th February 2017, 08:07
KB Number would be extremely helpful.. Please..

bhushanchanda
15th February 2017, 12:25
Unfortunately, I don't have the access right now. You can either wait for someone to provide it or just try searching it on your own.