I thought that the above code should create a new head record, going off what Epicor showed me through a trace via Time and Expense Entry. Is there something I am missing?
It must create a LaborHed record with ActiveTrans = true for the current day unless there is an active record already available for that employee.That’s how Epicor tracks whether a user is logged in.
When a user Clockin, ActiveTrans is set to true. When ClockOut, ActiveTrans is set to false. Same principle applies for LaborDtl when a user Starts and Ends Direct or Indirect Activity.
Instead of ClockIn using your code, try directly login to MES and check whether LaborHed record is created or not. I use EmpBasic.ClockIn BO/Method to clock in through Updatable BAQ and it works fine.
Any reason you’re not using REST? Every time Epicor updates the .DLLs, you’re going to have to recompile your external program and redistribute it. REST is the way that Epicor will be doing things in the future with Kinetic.