Stop shipment if field is true

epicor

(Al) #21

just remembered that you are running E9 i.e. ABL, mine in C#, can you convert ?


(Mark Rowley) #22

with some difficulty,…yes!..ABL is not the easiest syntax!
we have a few bpm’s that use ABL so i might be able to mould it together

i wonder if there is some software that automatically converts it


(Al) #23

here you are mate, the highlghted code line is my UD field:


the code as text if that helps:

var ttShipHead_xRow = (from ttShipHead_Row in ttShipHead
where ttShipHead_Row.Company == Session.CompanyID
&& (ttShipHead_Row.Updated()||ttShipHead_Row.Added())
select ttShipHead_Row).FirstOrDefault();

if (ttShipHead_xRow != null)
{
foreach (var ShipDtl_iterator in (from ShipDtl_Row in Db.ShipDtl
where ShipDtl_Row.Company == ttShipHead_xRow.Company
&& ShipDtl_Row.PackNum == ttShipHead_xRow.PackNum
select ShipDtl_Row).ToList())

	if (ShipDtl_iterator != null)
	{
	foreach (var PartLot_iterator in (from PartLot_Row in Db.PartLot
	where PartLot_Row.Company == ShipDtl_iterator.Company
	&& PartLot_Row.PartNum == ShipDtl_iterator.PartNum
	&& PartLot_Row.LotNum == ShipDtl_iterator.LotNum
	select PartLot_Row).ToList())
		
		if (PartLot_iterator != null && Convert.ToBoolean(PartLot_iterator["LotOnHold_c"])==true)
		{
		CallContext.Current.ExceptionManager.AddBLException("Lot No.: "+PartLot_iterator.LotNum+" of Pack Line: "+ShipDtl_iterator.PackLine +" is on Hold Due To: "+PartLot_iterator["HoldReason_c"]+" See: "+PartLot_iterator["HoldUserID_c"]);
		}
	}	

}


(Mark Rowley) #24

thank you, i appreciate it.


(Al) #25

may be there is, i do not know, but i found this presentation, it is exist as PDF, i suggest to download it and go quickly through it, you will find what i used in my C# straight away

dokumen.tips_ahmed-hamidi-lead-software-architect-abl-to-c-bpm-conversion.pptx (862.7 KB)


(Mark Rowley) #26

nailed it this time…
thank you for your help but i was able to avoid the code!