[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1319
  • Last Modified:

How to distinguish post and commit_form

In one when-button-pressed event I am calling "post". Afterwards I want to know whether the "commit" is encountered or still it is in post. How can distinguish post and commit programmatically. Since in both the cases the system status is QUERY.
0
santhoshn
Asked:
santhoshn
  • 4
  • 2
1 Solution
 
santhoshnAuthor Commented:
Edited text of question
0
 
santhoshnAuthor Commented:
Edited text of question
0
 
petevdbCommented:
You talk about the record status here.
I think the form status is still 'CHANGED' when you posted but not committed. (But I must say I'm not sure).

You can also use a global variable that sets to 'POSTED' if you use the post built-in and sets to 'COMMITTED' when you use the commit built-in. The global variable is best set to 'NOTPOSTED' in the WHEN-NEW-ITEM-INSTANCE trigger on FORM-level when the form status changes to 'CHANGED'.

Peter.
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
santhoshnAuthor Commented:
Hi Peter

Thank you for responding my question.

But actually after "POST" all the system status including form status is "QUERY" only.
Now I am using global variable only. This gives me lot of maintenance problems. I will give you a brief of my problem.

In my form there are three blocks are there. One is master another is detail and one is
independent block. Here I will select what are rows I want using check box(Multi select) from the independent block and move all the selected rows to the detail block by pressing a button . While moving I am giving one "POST". Now when I navigate to next record of the master block. This time I want to ask the alert "Do you want to save the changes". Since I gave the POST the default alert won't come. So explicitly I need to show the alert. If the user pressed the COMMIT then it should not ask. This is my requirement.

If know any less maintainence logic please let me know.

Thanks

Santhosh.

0
 
dmcgregorCommented:
Create a control block with one item -- a flag.  [The flag may also be included in the
independent block.]  Set the flag to "No" whenever you do a POST.
The real key to making this work is the form-level trigger WHEN-DATABASE-COMMIT.
This trigger will fire *only* after the data is committed to the DB;  it will *not* fire after
the POST command.  In that trigger, set the flag I mentioned above to "Yes".
Now, whenever you move between master records, just check the flag.  If it is "No",
then the DB commit has not occurred; if it is "Yes", it has.  [You may also need to give
it a third value if you are likely to check *before* the POST occurs.]
Note that this will work for Oracle Forms 4.5 (Developer/2000 1.3.2).  Check your docs
if you have a more recent version, such as Forms 5.0 (Dev/2000 v. 2.0).

0
 
petevdbCommented:
Why do u post after moving the records from the independent block to the detail block ?
If u insert the records in the table without committing, the form will ask if u want to commit if the user jumps to another master record. It will also show the not-committed details if u query the detail block.
Just an idea. The solution from dmcgregor looks also right.
Peter.
0
 
santhoshnAuthor Commented:
Hi dmcgregor

Thank you very much for your answer and is working fine.

Santhosh
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now