Your requirement is not clear. Can you explain me few things?
- A,B and C blocks are Data blocks or Control blocks.?
- If data blocks then it is based on Table, Views or a Procedure?
- Is there any relationship between the blocks?
- Where you are handling the validations in all blocks, i mean to say whether it is item/record level validations or handling in a button/key-commit or triggers like pre-insert/on insert?
Thanks you for your time
1. All blocks are data blocks.
2. All blocks based on table
3. There is no relation between blocks
4. Validation level is item level and some fields is also validated in pre-insert trigger in only block A.
Can you try the below approach,
1) Convert all the blocks from base table to procedure based block.
2) During the Save you need to invoke the procedure for insertion and updation.
3) All the validations can also moved into procedure.
How about asking user if he wants to finish the row, or he wants to clear it? You can ask that on leaving the unfinished row, or in code that checks the state of the row and gives that warning you mention. I don't think that one form is intented to work with partial commit. If data is independent of each other and can be commited separately, maybe you should have several forms insted of just one.
I don't think this will ease my work. I have seen somewhere that we can alter forms default processing using transaction triggers. How exactly it could be used i am looking for.
The situation is like user may leave a row uncompleted and jump into another block for record insertion there on that block. It is like i have three fields having attached LOVs normally user will be picking data from LOV but if information not found in LOV then user would have to insert that information too so this block B is placed on another canvas and and another window, user open-up that window(Block) and entering all information and attempting to save this data because until this new record is not saved in database, newly added record would not come in LOV. And commit is invoking validation on first block and this second block too.
Anyone could suggest any better solution.
A form-module is treated as one unit of work or one transaction. Either you save all data in it or nothing. If you have logic which should be saved separately from each other, then you should design your modules accordingly, in your case, create different form-moduls for the different blocks. Everything else will only cause problems and is not the way forms works.
Nachricht geändert durch AndreasWeiden
1 person found this helpful
The right way to do it is to make another form with that other block, for insertion of data that will appear in a LOV. Call it using separate session, and commit it there. For the user there'll be little change, since you'll open another window anyway. There is no reason to, even if it is possible, force solution using just one form.
Thank you all,
Yes i realized the good approach would be to keep it on separate forms.