Renegade
12th April 2023, 05:06
Am trying to extend ReceiveDelivery BOD to populate user area.
Cloud Edition.

If I add this in Extensions (Extension Point: BOD; Component: ReceiveDeliveryBOD) I do not get ‘Field List’;
If I use ReceiveDeliveryPurchaseInBOD, I get field list from tdpur406;
If I use ReceiveDeliveryWarehousingInBOD, I get field lists from whinh310 and 312;

Extending which of above will actually extend Sync.ReceiveDelivery BOD ? Thanks

ARijke
12th April 2023, 09:13
This ReceiveDeliveryBOD is the parent. That one is used towards ION. The other 2 are child implementations. As the BOD can be fed from multiple modules a dedicated implementation is there for purchase receipts and for the warehouse receipt. At that level table relations are known so at that level the extension needs to be created.
The Parent level has no logic other than passing it through for child level to ION and vice versa.

Renegade
13th April 2023, 15:33
Thanks!
Now am able to publish ReceiveDelivery BOD and tested extending ReceiveDeliveryWarehouseBOD.
But...when I execute using whbod0200m000 I get the BOD published. For same receipt number, when I execute tcbod0200m000, no document is published. I find data exist in both whinh310/2 and in tdpur406. I would expect that tcbod0200m000 is also able to publish same BOD but from tdpur406. Seems tdpur406 stores both warehouse receipts and purchase receipts

I want to extend the BOD by extending ReceiveDeliveryPurchaseBOD which is based on tdpur406. But for now, it only seem to be able to publish from whinh312 even as tdpur406 has same data

ARijke
13th April 2023, 15:53
Most receipts are done in a warehouse. Also the receipts not related to purchase, for example for a transfer. So the WH table is the main source for receipts, that is ReceiveDeliveryWarehousing BOD. In case a warehouse receipt is related to a purchase order, tdpur406 will be updated. In that case the information is on 2 places, for BOD publishing we take the WH data as leading. The receipts without a warehouse are only registered in tdpur406. So only records in tdpur406 for an empty warehouse are used for populating the ReceiveDeliveryPurchase BOD.

Renegade
13th April 2023, 17:23
My scope is that of receipts made against purchase (not Transfer or Production receipts for example). ReceiveDeliveryPurchaseBOD is based on tdpur406 and it is all in one table (receipt and line) unlike whinh310 and 312. (Am hoping it will be one receipt line per BOD published against one header and multiple lines when it comes from whinh310/12) A finer question will be... under what circumstance will ReceiveDelivery fire when executed from tcbod0200m000

Renegade
13th April 2023, 17:25
"So only records in tdpur406 for an empty warehouse are used for populating the ReceiveDeliveryPurchase BOD"; So, you say that only cost PO lines that is not received in warehouse is published using ReceiveDeliveryPurchase BOD

Let me test. Thanks

ARijke
13th April 2023, 17:38
Indeed, only cost PO lines that is not received in warehouse.
In the BOD documentation, https://docs.infor.com/ln/2023.x/en-us/lnclintegrationsolh/ln_cross_bod_mappings/ln__ionbodin__en-us.pdf is stated "This BOD is published when users Confirm or Correct a Purchase Receipt manually
and the Ordered Quantity field is greater than zero and the Warehouse field is not filled."

Renegade
13th April 2023, 17:54
Thanks again....greatly appreciate it!

Renegade
14th April 2023, 11:23
Tested and BOD behaviour understood. Thanks again. Good day!

Renegade
14th April 2023, 15:10
the identifier returns Receipt# and not line. If additional data needs fetched from PO line, parts of index is missing. How do we handle this? a workaround can be to populate CDFs but this I can resort to, if there is no possibility to use calculated fields

ARijke
14th April 2023, 15:30
PO information is in <ReceiveDeliveryItem>:
<PurchaseOrderReference>
<DocumentID>
<ID>000000019</ID>
</DocumentID>
<LineNumber>5</LineNumber>
<ScheduleLineNumber>1</ScheduleLineNumber>
</PurchaseOrderReference>

Renegade
15th April 2023, 06:21
Thanks... this is now ok!