This is the code that I am trying to use. It does not work 100%. The first record is deleted instead and the one I am trying to delete becomes the first record.
If I try to delete it again then I get an error message: FRM-40657 Record deleted by another user. Otherwise I get the error message FRM-40509 Unable to update record.
The records are being deleted from the V_BASE table even though I am getting these errors.
Code for Delete Button:
DECLARE
ALERT_BUTTON NUMBER;
BEGIN
ALERT_BUTTON:= SHOW_ALERT('DELETE_CAUTION_ALERT');
IF ALERT_BUTTON=ALERT_BUTTON1 THEN
DELETE FROM CUSTOMER
WHERE :CUSTOMER.CUSTOMER_NO = CUSTOMER.CUSTOMER_NO;
COMMIT;
ALERT_BUTTON:= SHOW_ALERT('DELETE_SUCCESSFUL_ALERT');
MESSAGE('RECORD HAS BEEN DELETED SUCCESSFULLY');
ELSIF ALERT_BUTTON=ALERT_BUTTON2 THEN
ROLLBACK;
ALERT_BUTTON:= SHOW_ALERT('DELETE_CANCELLED_ALERT');
MESSAGE('NO RECORDS HAVE BEEN DELETED');
END IF;
END;
Requires Free Membership to View
I get the feeling you are locking the record yourself based on the information you provided me.
Maybe you want to just say:
IF ALERT_BUTTON=ALERT_BUTTON1 THEN delete_record; -- A FORM'S API; ...
This should suffice.
Please note there is no NEED to do anything if the user hits cancel (i.e. no need to right code for ALERT_BUTTON2).
This was first published in June 2004

Join the conversationComment
Share
Comments
Results
Contribute to the conversation