Hi IFS Community,
We are working on a customization in IFS Cloud MWO Aurena Native (ServiceEngApp)
where we have created a custom entity CTimeSheetActivities with a server-generated
NUMBER primary key (TimesheetactvitiyId) assigned via sequence in Check_Insert___.
The entity is configured in the .app file as:
entity CTimeSheetActivities {
offlinewhere = "resource_id = Fnd_Session_API.Get_Fnd_User();
transactiongroup = "Activity:${rowkey}";
syncpolicy Push {
syncschedule = daily at 02:00;
ownershipquery = "SELECT resource_id AS owner
FROM c_time_sheet_activities_tab
WHERE rowkey = @OBJKEY@";
serverowned attributes = TimesheetactvitiyId;
}
}
Issue:
When a new activity is created from mobile (offline), MWO assigns a temporary
negative key (-1) to Id in local SQLite.
After sync, the server correctly assigns the real sequence ID (e.g. 5) via
Check_Insert___ and the record is correctly stored in the DB. The push also
completes successfully (COMPLETED in mobile_push_queue).
However the mobile list still shows ID = -1 even after sync.
The real ID is only updated after device re-initialization.
Questions:
1. Is there an IFS standard way to display the real server key on mobile
without requiring re-initialization?
2. Can mobile_client_key_map be used in a projection/plsvc fetch attribute
to show the real key value on the card?
3. Is transactiongroup the correct approach for Cust-layer entities with
server-generated keys, or is there a better pattern?
We have seen the previous community post (mWorkOrder Windows - Temporary Client
Key exchange with server key) where confirmed this is by design and
suggested using Client_Key_Map — but we could not find any standard
implementation example for Aurena Native.
Any guidance from IFS or community members would be greatly appreciated!
Environment: IFS Cloud 25.2, MWO Aurena Native, Cust layer customization
Thanks
Venkat