Hi Steven,
I am really seing that this add-on will as same as navision manufacturing standard. In the add-on, here are codings in the table 5407:
IF Item.GET(“Item No.”) THEN
IF Item.“Rounding Precision” > 0 THEN
“Expected Quantity” := ROUND(“Expected Quantity”,Item.“Rounding Precision”,’>’);
“Expected Qty. (Base)” := “Expected Quantity” * “Qty. per Unit of Measure”;
IF (Status IN [Status::Released,Status::Finished]) AND
(xRec.“Item No.” <> ‘’) AND
(“Line No.” <> 0)
THEN
// xxx7.50
CALCFIELDS(“Act. Consumption (Qty)”,“xxxQuantity Difference”);
“Remaining Quantity” := “Expected Quantity” - “Act. Consumption (Qty)” / “Qty. per Unit of Measure” + “xxxQuantity Difference”;
// *
IF (“Remaining Quantity” * “Expected Quantity”) < 0 THEN
“Remaining Quantity” := 0;
“Remaining Qty. (Base)” := ROUND(“Remaining Quantity” * “Qty. per Unit of Measure”,0.00001);
“Completely Picked” := “Qty. Picked” >= “Expected Quantity”;
ReserveProdOrderComp.VerifyQuantity(Rec,xRec);
“Cost Amount” := ROUND(“Expected Quantity” * “Unit Cost”);
“Overhead Amount” :=
ROUND(
“Expected Quantity” *
((“Direct Unit Cost” * “Indirect Cost %” / 100) + “Overhead Rate”));
“Direct Cost Amount” := ROUND(“Expected Quantity” * “Direct Unit Cost”);
xxx = the add-on coding abbreviation.
In the table 5409, the codings are as follows:
Unit Cost per - OnValidate()
GLSetup.GET;
“Direct Unit Cost” :=
ROUND(
(“Unit Cost per” - “Overhead Rate”) /
(1 + “Indirect Cost %” / 100),
GLSetup.“Unit-Amount Rounding Precision”);
CalcStartingEndingDates(Direction::Forward);
CalcStartingEndingDates(Direction1 : ‘Forward,Backward’)
IF Rec.“Routing Status” = “Routing Status”::Finished THEN
FIELDERROR(“Routing Status”);
MODIFY(TRUE);
ProdOrderRtngLine.GET(Status,“Prod. Order No.”,“Routing Reference No.”,“Routing No.”,“Operation No.”);
ProdOrderRouteMgt.CalcSequenceFromActual(ProdOrderRtngLine,Direction1);
ProdOrderRtngLine.GET(Status,“Prod. Order No.”,“Routing Reference No.”,“Routing No.”,“Operation No.”);
ProdOrderRtngLine.SETCURRENTKEY(
Status,“Prod. Order No.”,“Routing Reference No.”,“Routing No.”,“Sequence No. (Actual)”);
CalcProdOrder.CalculateRoutingFromActual(ProdOrderRtngLine,Direction1,FALSE);
CalculateRoutingBack;
CalculateRoutingForward;
GET(Status,“Prod. Order No.”,“Routing Reference No.”,“Routing No.”,“Operation No.”);
So, if I cut the blue words, there is no changes in the starting date-times. This problem still make me depressed. Any answers from you will be expected so much. tks a lot
Rgds,
Mark