Hey Community,
We have a form on our IT shop (web portal) which allows users to create user accounts. This form uses the out of box VI forms with many customization. Clicking on "Save" button on the form performs actions as described below:
When it tries to save the collection on Person, the insertion it is performing into the Person table causes many templates to trigger. One of them is a template on our User ID field. The user id field is a custom column on our end called "CCC_BUN" and whatever value it gets is assigned to Central User Account field. The reason we aren't using the uniqueness defined in the out of box field is because we are not just checking all employees maintained within D1IM but are actually checking all accounts maintained in a history table. This history table has record of all user ID's that have been assigned in the company. These IDs may not even be in AD but are maintained in our history table to maintain a record that such a record was issued. This table comprises of ~150k records and all these are checked before a unique ID is generated and is granted to the person. The problem with this is that this entire process takes way too much time and for that period that front end goes in a state where there is a spinning wheel on the screen and no further tasks can be performed. So the person requesting the account is stuck on the screen for an indefinite amount of time which ranges from anywhere between 2-7 minutes (usually 3 minutes) before the request is submitted and an acknowledgment of the same is presented to the user. This is a huge turn off for people who have multiple accounts to request as the entire affair can take a huge time.
So my question is, is there a way to separate this back-end task from the front-end. So that the front-end is still usable while in the back-end the account is getting inserted into the Person table?