We’ve had on a few occasions where users will copy and paste a line description into a PO when entering. Of course when the line description exceeds 1000 character this creates chaos when running a Wip report and we have to go in and repair.
I would like to put a BPM into place that will force a hard stop when the maximum number of characters is exceeded.
I am not a BPM expert by any means other than a very basic simple BPM.
I believe I would use PO.GetNewPODetail … condition would be PODetail.Line Desc of the changed row >= (we are going to set it at 800), but how would I set the “specified” expression?
Or would a customization be a better route to go?
Ideas? Suggestions?
I’m not familiar with the issue, but if I understand correctly PO line description will accept more than 1000 characters but this causes some sort of issue in the WIP report? Is the issue that it becomes unreadable due to length or a error based issue?
Our part descriptions often span several lines. I usually make the BAQs and reports have a calculated value that just returns the first 50 or 100 characters, named something like ShortDesc. That allows the full descriptoon to appear on orders and PO’s, but just gives you a brief snippet of the desc on the other reports (like stock status) I’ll often replace embedded CR and LF with a a space.
Data Directive on PODetail is your best bet here I would put an In-Transaction Data Directive
with a condition where PODtl.LineDescription.Length > 1000 then throw an exception;
Create a Variable of type Integer
Then assign it the value of the Length of the LineDescription field
That will only work if it’s not creating a hard error. A lot of times you can jam more characters than the binding format allows into fields and it will store the excess in the database as nvarchar max. When you try to load those records later it will give you textbox format errors. That is why I’m looking to find out from her if it’s hard errors creating the issue or readability.
The Inventory/Wip Reconciliation report throws an error:
Error message when running Inventory Wip report im/imr70.p raised the 4GL Stop condition with the following message
Epicor sent us a fix to run when this occurs, but I would like to be proactive and prevent the occurance
I’m gonna try to wing it for you in ABL… but it has been 5+ years since I did this,so… bare with me.
Use an In Transaction Directive in 9 and the Custom Code option with the following code.
FOR EACH ttPODetail WHERE (ttPODetail.RowMod="A" OR ttPODetail.RowMod="U") AND LENGTH(ttPODetail.LineDesc) > 1000:
{lib/PublishEx.i &exMsg = "'The Length of the Line Description cannot be more than 1000 characters '"}
{&THROW_PUBLIC}.
END.
Pray to the ABL gods that my off the cuff syntax is accurate LoL
BPM is both Method and Data Directives.
In Transaction Data Directive ensures that this is run for ANY PLACE where this table gets updated. It is just a more encompassing solution.
But a Data Directive is a BPM… so is a Method Directive.