MRP Error

Hi

We don’t currently use MRP, but are wanting to do so. We tested on 10.1.600 for a group of parts, and it was looking good. We haven’t touched it for a while, because we were fixed some stock accuracy issues on the component parts to enable MRP to give more accurate results. Since we last tried and it was working well, we’ve upgraded to 10.2.300.15.

Any ideas what has changed between these versions, because running it now even as Security Manager results in this error in the log and it cancels itself:

20:19:05 You are not allowed to modify global security manager privileges.
20:19:05    at Ice.Triggers.SysUserFile.WriteTrigger.VerifyEditOfGSMRecord(SysUserFile currentUserRecord) in c:\_Releases\ICE\RL3.2.300.0\Source\Server\Db\Triggers\SysUserFile\WriteTrigger.cs:line 260
   at Ice.Triggers.SysUserFile.WriteTrigger.Write(SysUserFile newRecord, SysUserFile oldRecord) in c:\_Releases\ICE\RL3.2.300.0\Source\Server\Db\Triggers\SysUserFile\WriteTrigger.cs:line 21
   at Ice.DataTrigger`2.Ice.ILinqTrigger.Write(LinqRow newRecord, LinqRow oldRecord) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.Ice\Triggers\TriggerBase.cs:line 21
   at Ice.Triggers.TriggerQueue.ExecuteWriteTrigger(IceDataContext context, LinqRow modifiedRecord, LinqRow originalRecord) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 296
   at Ice.Triggers.TriggerQueue.RunWriteTriggerInNewLevel(IceDataContext context, LinqRow modifiedRecord, LinqRow originalRecord, Boolean forAddedRow) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 157
   at Ice.Triggers.TriggerQueue.<>c__DisplayClass11_0.<RunWriteTrigger>b__1() in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 148
   at Ice.Triggers.TriggerQueue.RunAtNewLevel(Func`1 buildTriggerRunState, Action action) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 501
   at Ice.Triggers.TriggerQueue.RunTriggers(IceDataContext context) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 83
   at Ice.IceDataContext.RunUntilAllTriggersHaveExecuted() in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.System\Data\IceDataContext.cs:line 572
   at Ice.Triggers.TriggerQueue.RunAtNewLevel(Func`1 buildTriggerRunState, Action action) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.System\Triggers\TriggerQueue.cs:line 501
   at Ice.IceDataContext.Validate[TLinqRow](TLinqRow row) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.System\Data\IceDataContext.cs:line 329
   at Ice.Manager.Security.IsValidLegacyPassword(UserFileItem userRow, String password) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.Ice\Manager\Security.cs:line 288
   at Ice.Manager.Security.Authenticate(UserFileItem userRow, String password, String& reason) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.Ice\Manager\Security.cs:line 216
   at Ice.Security.UsernameValidator.CheckPassword(String userName, String password) in C:\_Releases\ICE\ICE3.2.300.15\Source\Framework\Epicor.Ice\Security\UsernameValidator.cs:line 42
   at Erp.Internal.MR.MrpExp.startProcesses(String pReqType, List`1 ttMrpProcRows) in C:\_Releases\ERP\UD10.2.300.15\Source\Server\Internal\MR\MrpExp\MrpExp.cs:line 3606
   at Erp.Internal.MR.MrpExp.main_block(List`1 ttMrpProcRows, List`1 ttMrpQueueRows) in C:\_Releases\ERP\UD10.2.300.15\Source\Server\Internal\MR\MrpExp\MrpExp.cs:line 2647
   at Erp.Internal.MR.MrpExp.RunProcess(Int64 instanceTaskNum, String outputFileName) in C:\_Releases\ERP\UD10.2.300.15\Source\Server\Internal\MR\MrpExp\MrpExp.cs:line 922
20:19:05 Unexpected Error - Cancelling MRP - MrpExp
20:19:07 Cancelling from MrpExp stopProcesses

OK, what changed was that you need to be a Global Security Manager seemingly. When I read the log again it jumped out at me, the word global. You can only change this from the EAC, but even then it wouldn’t let me. Kept moaning that “row has been updated by another user”. That was logged into EAC as my user, my admin user, or the username that the E10 appserver runs under.

I had to do something very naughty to get it working (@Mark_Wonsil) . Then an app pool recycle, and I’m in and working :slight_smile: