FAQ:

I have updated a table from the form and written a update statement in the when-button-pressed trigger.
while the code is working fine and the table is updated but iam finding this error in the console frm-40401 no changes to save. pls help me why it is coming and what affect it have on my form. i had suppressed this message by writing on-error trigger on form level.

 

You can bypass this by raising the message level.

Code:

DECLARE
  -- Capture the original message level, to reset afterwards.
  v_message_level PLS_INTEGER := :SYSTEM.MESSAGE_LEVEL;
BEGIN
  -- Raise the message level above 5, avoid information messages.
  -- Read the Forms help file for more info
  :SYSTEM.MESSAGE_LEVEL := 5;

  COMMIT_FORM;

  -- Reset the message level to the original value
  :SYSTEM.MESSAGE_LEVEL := v_message_level;
END;

The message means that no database items in the Form have changed, so the BLOCK_STATUS is still in QUERY_STATUS. As a result, for Forms default transaction processing, there's nothing to save.
Alternatively, you can set the record status manually to changed_status, thus avoiding the message.

 

Processing:

DECLARE
  -- Capture the original message level, to reset afterwards.
  l_message_level PLS_INTEGER := :SYSTEM.MESSAGE_LEVEL;
BEGIN
  -- Raise the message level above 5, avoid information messages.
  -- Read the Forms help file for more info
  :SYSTEM.MESSAGE_LEVEL := 5;
    kol_osfm_move_trans_private.insert_row;
    do_key('COMMIT_FORM');
  -- Reset the message level to the original value
  :SYSTEM.MESSAGE_LEVEL := l_message_level;
END;

相关文章:

  • 2022-12-23
  • 2021-10-27
  • 2022-12-23
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2021-05-22
  • 2021-07-14
猜你喜欢
  • 2021-06-15
  • 2021-06-17
  • 2021-07-05
  • 2022-12-23
  • 2021-12-17
  • 2021-12-09
  • 2022-12-23
相关资源
相似解决方案