22: fetch csr_state into l_state,l_dml_mode;
23: If csr_state%notfound
24: then
25: close csr_state;
26: fnd_message.set_name('PER','PER_289671_TXN_INV');
27: fnd_message.raise_error;
28: End if;
29: close csr_state;
30: If l_state <> g_start_state
23: If csr_state%notfound
24: then
25: close csr_state;
26: fnd_message.set_name('PER','PER_289671_TXN_INV');
27: fnd_message.raise_error;
28: End if;
29: close csr_state;
30: If l_state <> g_start_state
31: then
28: End if;
29: close csr_state;
30: If l_state <> g_start_state
31: then
32: fnd_message.set_name('PER','PER_289677_LCK_NOT_SAVE');
33: fnd_message.raise_error;
34: End if;
35: --
36: If l_dml_mode = g_query_only_dml_mode
29: close csr_state;
30: If l_state <> g_start_state
31: then
32: fnd_message.set_name('PER','PER_289677_LCK_NOT_SAVE');
33: fnd_message.raise_error;
34: End if;
35: --
36: If l_dml_mode = g_query_only_dml_mode
37: then
34: End if;
35: --
36: If l_dml_mode = g_query_only_dml_mode
37: then
38: fnd_message.set_name('PER','PER_289678_LCK_NOT_QUERY');
39: fnd_message.raise_error;
40: End if;
41: exception
42: when others then
35: --
36: If l_dml_mode = g_query_only_dml_mode
37: then
38: fnd_message.set_name('PER','PER_289678_LCK_NOT_QUERY');
39: fnd_message.raise_error;
40: End if;
41: exception
42: when others then
43: If csr_state%isopen
100: when dup_val_on_index then
101: l_err_msg := trim(substr(sqlerrm,L_START_TOK_VAL));
102: If instr(l_err_msg,'HR_WIP_LOCKS_U1') <> 0
103: then
104: fnd_message.set_name('PER','PER_289679_LCK_ID_UNIQUE');
105: fnd_message.raise_error;
106: Elsif instr(l_err_msg,'HR_WIP_LOCKS_U2') <> 0
107: then
108: check_for_lock
101: l_err_msg := trim(substr(sqlerrm,L_START_TOK_VAL));
102: If instr(l_err_msg,'HR_WIP_LOCKS_U1') <> 0
103: then
104: fnd_message.set_name('PER','PER_289679_LCK_ID_UNIQUE');
105: fnd_message.raise_error;
106: Elsif instr(l_err_msg,'HR_WIP_LOCKS_U2') <> 0
107: then
108: check_for_lock
109: (p_table_name => p_table_name