declare
p_asset_id IN NUMBER;
x_status_code VARCHAR2;
x_message VARCHAR2;
--exception_known EXCEPTION;
l_api_version NUMBER := 1;
l_init_msg_list VARCHAR2(1) := apps.fnd_api.g_false;
l_commit VARCHAR2(1) := apps.fnd_api.g_false;
l_validation_level NUMBER := fnd_api.g_valid_level_full;
l_return_status VARCHAR2(1);
l_msg_count NUMBER := 0;
l_msg_data VARCHAR2(512);
l_asset_hdr_rec apps.fa_api_types.asset_hdr_rec_type;
temp_str VARCHAR2(512);
BEGIN
--SAVEPOINT delete_fa;
l_asset_hdr_rec.asset_id := p_asset_id;
fa_deletion_pub.do_delete(p_api_version => l_api_version,
p_init_msg_list => l_init_msg_list,
p_commit => l_commit,
p_validation_level => l_validation_level,
p_calling_fn => 'DO_DELETE',
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
px_asset_hdr_rec => l_asset_hdr_rec);
IF l_return_status = fnd_api.g_ret_sts_error THEN
l_msg_count := apps.fnd_msg_pub.count_msg;
IF (l_msg_count > 0) THEN
temp_str := apps.fnd_msg_pub.get(apps.fnd_msg_pub.g_first,
fnd_api.g_false);
x_message := substr(temp_str, 1, 97);
FOR i IN 1 .. (l_msg_count - 1) LOOP
temp_str := apps.fnd_msg_pub.get(apps.fnd_msg_pub.g_next,
fnd_api.g_false);
x_message := substr(x_message || ' ' || temp_str, 1, 200);
END LOOP;
END IF;
dbms_output.put_line('x_message:' || x_message );
END IF;
x_status_code := c_status_success;
x_message := '';
dbms_output.put_line('x_status_code:' || x_status_code );
EXCEPTION
WHEN OTHERS THEN
--ROLLBACK TO delete_fa;
x_status_code := c_status_exception;
x_message := substr(SQLERRM, 1, 300);
dbms_output.put_line('x_message:' || x_message );
END;
利用API批量删除资产
最新推荐文章于 2024-05-10 18:53:22 发布
这段代码展示了如何声明和初始化变量,然后调用`fa_deletion_pub.do_delete`过程来批量删除资产。通过检查返回状态和错误消息,确保删除操作成功,并在发生异常时进行处理。
摘要由CSDN通过智能技术生成