BUG: Transfer in 2013 fails, while in 2009 it works

SogSog Member Posts: 1,023
Hi,

Before I want to report the following as a bug with Microsoft, I would like to know if I missed something.

I found the following change in 2013

Standard W1 version of NAV2013.
Standard Cronus DB.

Scenario: Transfer from Green (location w/o bins) to Silver (location with bins)
When validating the "new bin code" field, while new location code is Silver, the following error pops up:
Bin Mandatory must have a value in Location: Code=GREEN. It cannot be zero or empty
Place where the error is thrown (first testfield)
2013--- Codeunit Whse. Integration management
CheckBinTypeCode()
Location.GET(LocationCode);
  Location.TESTFIELD("Bin Mandatory");  
  
  IF NOT Location."Directed Put-away and Pick" THEN
    EXIT;
  
  IF BinCode = Location."Adjustment Bin Code" THEN
    ERROR(Text000,BinCodeFieldCaption,LocationCode);

Place where the source is
2013--
New Bin Code - OnValidate()
  TESTFIELD("Entry Type","Entry Type"::Transfer);
  IF "New Bin Code" <> xRec."New Bin Code" THEN BEGIN
    TESTFIELD("New Location Code");
    IF "New Bin Code" <> '' THEN BEGIN
      GetBin("New Location Code","New Bin Code");
      GetLocation("New Location Code");
      Location.TESTFIELD("Bin Mandatory");
      IF CurrFieldNo <> 0 THEN
        WMSManagement.CheckItemJnlLineFieldChange(Rec,xRec,FIELDCAPTION("New Bin Code"));
      TESTFIELD("New Location Code",Bin."Location Code");
      WhseIntegrationMgt.CheckBinTypeCode(DATABASE::"Item Journal Line",
        FIELDCAPTION("New Bin Code"),
        "Location Code",
        "New Bin Code",
        "Entry Type");
    END;
  END;
  
  ReserveItemJnlLine.VerifyChange(Rec,xRec);


Where the culprit is :
WhseIntegrationMgt.CheckBinTypeCode(DATABASE::"Item Journal Line",
FIELDCAPTION("New Bin Code"),
"Location Code",
"New Bin Code",
"Entry Type");

How it used to be
2009--

New Bin Code - OnValidate()
TESTFIELD("Entry Type","Entry Type"::Transfer);
IF "New Bin Code" <> xRec."New Bin Code" THEN BEGIN
  TESTFIELD("New Location Code");
  IF "New Bin Code" <> '' THEN BEGIN
    GetBin("New Location Code","New Bin Code");
    GetLocation("New Location Code");
    Location.TESTFIELD("Bin Mandatory");
    IF CurrFieldNo <> 0 THEN
      WMSManagement.CheckItemJnlLineFieldChange(Rec,xRec,FIELDCAPTION("New Bin Code"));
    TESTFIELD("New Location Code",Bin."Location Code");
  END;
END;

ReserveItemJnlLine.VerifyChange(Rec,xRec);

Anybody else experience problems with this scenario?
|Pressing F1 is so much faster than opening your browser|
|To-Increase|

Comments

  • KishormKishorm Member Posts: 921
    I don't think you're missing anything - the line you have highlighted should be "New Location Code"

    Regards
Sign In or Register to comment.