Integration Manager is being used to create payroll transactions. After the transactions are created, HR reconcile is run to create the corresponding HR attendance transactions. This works fine, but has slow performance. The alternative is to create the HR attendance transactions without running the HR reconcile. 


Microsoft Dynamics GP runs a series of scripts to save the attendance data. These scripts are running inside of the window context, but they can be called externally as long as you have the necessary transaction information. You can call the hrCommitAttendance() of form uprComputerTrx function, this is in the core GP dictionary. The parameters can be located in the SDK. In order to call this, you have to populate the hrAttendanceData composite field that has the correct data. Here is the data that GP populates it with, be aware, this is in the context of the window to give an idea of what would have to be populated. 

hrAttendanceData:'Attendance TRX Status' of window uprTransactions = ATTENDANCE_STATUS_POSTED;

hrAttendanceData:'Batch Number' of window uprTransactions = 'Batch Number' of window UPR_TRX_Standard_Entry;

hrAttendanceData:'Computer TRX Number' of window uprTransactions = 'Computer TRX Number' of window uprTransactions;

hrAttendanceData:'Employee ID' of window uprTransactions = 'Employee ID' of window uprTransactions;

hrAttendanceData:'Pay Record' of window uprTransactions = 'UPR TRX Code' of window uprTransactions;

hrAttendanceData:'Start Date' of window uprTransactions = 'TRX Beginning Date' of window uprTransactions;

hrAttendanceData:'End Date' of window uprTransactions = 'TRX Ending Date' of window uprTransactions;

hrAttendanceData:'Hours' of window uprTransactions = long('(L) Amount' of window uprTransactions * 100);

hrAttendanceData:'Days Worked' of window uprTransactions = long('(L) DaysWorked' of window uprTransactions * 100);

hrAttendanceData:'Weeks Worked' of window uprTransactions = long('(L) WeeksWorked' of window uprTransactions * 100);

hrAttendanceData:'Attendance Reason' of window uprTransactions = itemname('Attendance Reason DDL' of window uprTransactions,
'Attendance Reason DDL' of window uprTransactions);
hrAttendanceData:'Attendance Type' of window uprTransactions = itemname('Attendance Type DDL' of window uprTransactions,
'Attendance Type DDL' of window uprTransactions);

As soon as the composite is populated, then call hrCommitAttendance() and pass it in. The one remaining issue would be the hrAttendanceData: 'Time Code', GP is populating
this in a way that is not easily accessible from a 3rd party application. This is a required field and the data must be provided by your application.


Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

What affected your experience?

Thank you for your feedback!