I’m working on a room booking application, with sessions (SSN), resource bookings (RBK) and resources (RSC). This is a data-separated application, on FM13.
In the sessions table (in the DATA file), I have a calc field “resourcesAvailable”, which lists the keys of available resources. It’s defined thus:
Let ( [
~allResources = List (SSN_RSC~all::id);
~bookedResources = List (SSN_SSN_RBK_RSC~allNow::id)
FilterList ( ~allResources; "NotEquals" ; ~bookedResources ; 0 )
(So, basically, if a resource isn’t in the list of booked resources, it’s available. FilterList is a tried and tested CF, not of my making.)
It works fine, on the local machine. But I’ve uploaded a test version of the application to a remote host, and, when I first run it, the calc field is not correctly populated. This is because there’s a problem with the relationship, SSN_SSN_RBK_RSC~allNow, via which we should see the ids of all resources booked for all or part of the same time slot, but, in the remotely hosted setup, it shows nothing, so ALL resources are regarded as available.
Obviously this is a major problem, as it could lead to double bookings.
Once this part of the system has been (i.e. added or deleted a resource booking to/from a session), it’s fine – only unbooked resources are listed. So I’m thinking maybe it’s just a missing Commit of Refresh somewhere, but I’m a rather confused by the whole thing.
So the question is, why is that relationship behaving differently in the hosted environment from the local environment? And what do I have to do to make this crucial part of the application behave as I need it to? And, more important, what have I not understood about the difference between the local and hosted environments?
Any help, as ever, much appreciated.