Nesse post irei colocar uma API pública onde é possível atualizar informações do cadastro dos fornecedores.
DECLARE p_api_version NUMBER; p_init_msg_list VARCHAR2(200); p_commit VARCHAR2(200); p_validation_level NUMBER; x_return_status VARCHAR2(200); x_msg_count NUMBER; x_msg_data VARCHAR2(200); lr_vendor_rec apps.ap_vendor_pub_pkg.r_vendor_rec_type; lr_existing_vendor_rec ap_suppliers%ROWTYPE; l_msg VARCHAR2(200); p_vendor_id NUMBER; BEGIN fnd_global.apps_initialize(1234, 50833, 200); mo_global.init('SQLAP'); fnd_client_info.set_org_context(101); p_api_version := 1.0; p_init_msg_list := fnd_api.g_true; p_commit := fnd_api.g_true; p_validation_level := fnd_api.g_valid_level_full; p_vendor_id := 484772; BEGIN SELECT * INTO lr_existing_vendor_rec FROM ap_suppliers asa WHERE asa.vendor_id = p_vendor_id; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line('Unable to derive the supplier information for vendor id:' || p_vendor_id); END; lr_vendor_rec.vendor_id := lr_existing_vendor_rec.vendor_id; lr_vendor_rec.end_date_active := SYSDATE; lr_vendor_rec.enabled_flag := 'N'; ap_vendor_pub_pkg.update_vendor(p_api_version => p_api_version, p_init_msg_list => p_init_msg_list, p_commit => p_commit, p_validation_level => p_validation_level, x_return_status => x_return_status, x_msg_count => x_msg_count, x_msg_data => x_msg_data, p_vendor_rec => lr_vendor_rec, p_vendor_id => p_vendor_id); DBMS_OUTPUT.put_line('X_RETURN_STATUS = ' || x_return_status); DBMS_OUTPUT.put_line('X_MSG_COUNT = ' || x_msg_count); DBMS_OUTPUT.put_line('X_MSG_DATA = ' || x_msg_data); IF (x_return_status <> fnd_api.g_ret_sts_success) THEN FOR i IN 1 .. fnd_msg_pub.count_msg LOOP l_msg := fnd_msg_pub.get(p_msg_index => i, p_encoded => fnd_api.g_false); DBMS_OUTPUT.put_line('The API call failed with error ' || l_msg); END LOOP; ELSE DBMS_OUTPUT.put_line('The API call ended with SUCESSS status'); END IF; END;
Usando a API fica mais seguro para alterar quaisquer informação.
Deixe uma resposta