If you use a Dynamic Action with PL/SQL Insert statement with your button, it should work.
Just reference the page items in the code like this :Px_ITEM1 .
See my example here:
Application 62650 Page 6
Let me know if it helps. (I tweaked it a little. Not pretty but it should get you started.)
I've just seen you have created the example with my nickname in your demo. Very kind of you!!
In this moment I can't use it because I'm not at work.
Please don't delete the example in your demo application and the next week I'll try it I think you'll deserve many points for that by me .. :-))
Here are some of the steps:
1) Create the button.
2) Then right click on the button name and select Create Dynamic Action
3) Give the DA a name, click next
4) On the "When" Step, Event should already be "Click" and the button name should be filled in
5) For Condition, you would have a condition for when you want the button display. Say, if your page items have a certain range of values then display this button. No condition means the button is always displayed.
6) For the "True Action" Step, for Action select "Execute PL/SQL Code"
[There are other ways to do this, but this is straight-forward for me.]
7) The in the PL/SQL Code block enter say:
INSERT INTO EMP (EMPNO, ENAME, HIREDATE)
VALUES (:P6_EMPNO, 'MARK1970', :P6_HIREDATE);
END; --- You would likely make them all page item variables
8) Here the part I'm not 100% sure of.
For "Page Items to Submit", name the page items used in YOUR QUERY -- in my example these are P6_EMPNO,P6_HIREDATE (Note no use of & or : or . here)
Hmm. Start by putting nothing in the "Page Items to Return". If that fails, then try the same page items P6_EMPNO,P6_HIREDATE there as well.
[ I'm too lazy to go run this down at the moment.]
9) I think that's it.