var
q1:TZQuery;
MyUUID: TGUID;
bm:TBookmark;
sSQL:String;
vResto:Double;
bResultado:Boolean;
p_id_rm:String;
p_id_processo:Cardinal;
p_id_cv:Cardinal;
p_codtipo_cv:String;
//p_tag_name:String;
p_criacao_dt:TDateTime;
p_criacao_por:String;
p_criacao_grupo:String;
p_necessidade_dt:TDateTime;
p_id_rm_urgente:Cardinal;
p_aprovacao_req:Boolean;
p_coditem_almox:String;
p_qtde_solicitada:Double;
p_unidade:String;
p_descricao:String;
p_observacao:String;
p_reserva_sn:Boolean;
p_servico_sn:Boolean;
p_retirada_disponivel:Boolean;
p_fab_propria_req:Boolean;
p_consumo_tipo:Cardinal;
p_cvi_coditem:String;
p_sub1_coditem:String;
p_sub2_coditem:String;
p_qtde_min:Double;
p_almox_qtde_min_consumo:Double;
p_almox_qtde_max_consumo:Double;
p_almox_qtde_mult_consumo:Double;
p_last_update:TDateTime;
p_last_owner:String;
p_status:String;
p_qtde_rm:Double;
p_qtde_cv:Double;
begin
(...)
q1.sql.clear;
q1.sql.add('insert into rm_itens ( ');
q1.sql.add(' id_rm, ');
q1.sql.add(' id_processo, ');
q1.sql.add(' criacao_dt, ');
q1.sql.add(' criacao_por, ');
q1.sql.add(' criacao_grupo, ');
q1.sql.add(' necessidade_dt, ');
q1.sql.add(' envio_dt, ');
q1.sql.add(' envio_por, ');
q1.sql.add(' fab_propria_req, ');
q1.sql.add(' id_rm_urgente, ');
q1.sql.add(' aprovacao_req, ');
q1.sql.add(' aprovacao_dt, ');
q1.sql.add(' aprovacao_por, ');
q1.sql.add(' entrega_dt, ');
q1.sql.add(' entrega_por, ');
q1.sql.add(' entrega_cesto, ');
q1.sql.add(' doca_id_item, ');
q1.sql.add(' doca_conferido_por, ');
q1.sql.add(' pcc_item, ');
q1.sql.add(' coditem_almox, ');
q1.sql.add(' qtde_solicitada, ');
q1.sql.add(' qtde_entregue, ');
q1.sql.add(' unidade, ');
q1.sql.add(' descricao, ');
q1.sql.add(' observacao, ');
q1.sql.add(' reserva_sn, ');
q1.sql.add(' servico_sn, ');
q1.sql.add(' retirada_disponivel, ');
q1.sql.add(' consumo_tipo, ');
q1.sql.add(' cvi_coditem, ');
q1.sql.add(' sub1_coditem, ');
q1.sql.add(' sub2_coditem, ');
q1.sql.add(' status, ');
q1.sql.add(' last_update, ');
q1.sql.add(' last_owner) ');
q1.sql.add('values ( ');
q1.sql.add(' :p_id_rm, ');
q1.sql.add(' :p_id_processo, ');
q1.sql.add(' :p_criacao_dt, ');
q1.sql.add(' :p_criacao_por, ');
q1.sql.add(' :p_criacao_grupo, ');
q1.sql.add(' :p_necessidade_dt, ');
q1.sql.add(' null, --:p_envio_dt, ');
q1.sql.add(' null, --:p_envio_por, ');
q1.sql.add(' :p_fab_propria_req, ');
q1.sql.add(' :p_id_rm_urgente, --:p_id_rm_urgente, ');
q1.sql.add(' :p_aprovacao_req, --:p_aprovacao_req, ');
q1.sql.add(' null, --:p_aprovacao_dt, ');
q1.sql.add(' null, --:p_aprovacao_por, ');
q1.sql.add(' null, --:p_entrega_dt, ');
q1.sql.add(' null, --:p_entrega_por, ');
q1.sql.add(' null, --:p_ENTREGA_CESTO, ');
q1.sql.add(' null, --:p_doca_id_item, ');
q1.sql.add(' null, --:p_doca_conferido_por, ');
q1.sql.add(' null, --:p_pcc_item, ');
q1.sql.add(' :p_coditem_almox, ');
q1.sql.add(' :p_qtde_solicitada, ');
q1.sql.add(' 0, --:p_qtde_entregue, ');
q1.sql.add(' :p_unidade, ');
q1.sql.add(' :p_descricao, ');
q1.sql.add(' :p_observacao, ');
q1.sql.add(' :p_reserva_sn, ');
q1.sql.add(' :p_servico_sn, ');
q1.sql.add(' :p_retirada_disponivel, ');
q1.sql.add(' :p_consumo_tipo, ');
q1.sql.add(' :p_cvi_coditem, ');
q1.sql.add(' :p_sub1_coditem, ');
q1.sql.add(' :p_sub2_coditem, ');
q1.sql.add(' :p_status, ');
q1.sql.add(' :p_last_update, ');
q1.sql.add(' :p_last_owner) ');
q1.sql.add('returning id_rm ; ');
try
if not q1.Prepared then
q1.prepare;
q1.ParamByName('p_id_rm').AsString:=p_id_rm;
q1.ParamByName('p_id_processo').AsLargeInt:=p_id_processo;
q1.ParamByName('p_criacao_dt').AsDateTime:=p_criacao_dt;
q1.ParamByName('p_criacao_por').AsAnsiString:=p_criacao_por;
q1.ParamByName('p_coditem_almox').AsAnsiString:=p_coditem_almox;
q1.ParamByName('p_criacao_grupo').AsAnsiString:=p_criacao_grupo;
q1.ParamByName('p_necessidade_dt').AsDateTime:=p_necessidade_dt;
q1.ParamByName('p_fab_propria_req').AsBoolean:=p_fab_propria_req;
q1.ParamByName('p_id_rm_urgente').AsInteger:=p_id_rm_urgente;
q1.ParamByName('p_aprovacao_req').AsBoolean:=p_aprovacao_req;
q1.ParamByName('p_qtde_solicitada').AsFloat:=p_qtde_solicitada;
q1.ParamByName('p_unidade').AsAnsiString:=p_unidade;
q1.ParamByName('p_descricao').AsAnsiString:=p_descricao;
q1.ParamByName('p_observacao').AsAnsiString:=p_observacao;
q1.ParamByName('p_reserva_sn').AsBoolean:=p_reserva_sn;
q1.ParamByName('p_servico_sn').AsBoolean:=p_servico_sn;
q1.ParamByName('p_retirada_disponivel').AsBoolean:=p_retirada_disponivel;
q1.ParamByName('p_consumo_tipo').AsInteger:=p_consumo_tipo;
q1.ParamByName('p_fab_propria_req').AsBoolean:=p_fab_propria_req;
q1.ParamByName('p_cvi_coditem').AsAnsiString:=p_cvi_coditem;
q1.ParamByName('p_sub1_coditem').AsAnsiString:=p_sub1_coditem;
q1.ParamByName('p_sub2_coditem').AsAnsiString:=p_sub2_coditem;
q1.ParamByName('p_last_update').AsDateTime:=p_last_update;
q1.ParamByName('p_last_owner').AsAnsiString:=p_last_owner;
q1.ParamByName('p_status').AsString:=p_status;
q1.Open;
(...)