[firebase-br] SP que executa somente a parte inicial, o restante não
NextCorp Informática
nextcorp em terra.com.br
Qua Abr 22 12:26:34 -03 2009
Caros colegas
Estou com uma SP, que executada de dentro do sistema, em delphi, executa somente a primeira parte da SP e o restante não.
Se executo no Ibexpert, funciona normalmente.
Segue o código tanto da rotina que chama e a rotina:
{ Executa SP inserir cabecalho e itens da NFS }
with dmDados.IB_StoredProc1 do
begin
Close;
StoredProcName:= 'SP_INSERIR_CAB_ITENS_NFS_BALCAO';
ParamByName('wcodigo').asInteger:= wcli_codigo; // traz do formCadastroCliente
ParamByName('wvendedor').asInteger:= wcli_ven_codigo;
ParamByName('wcontrole').asInteger:= wnfe_controle;
if not Prepared then
Prepare;
ExecProc;
wnfs_controle:= FieldByName('wnfs_controle').asInteger;
end;
{final}
CREATE OR ALTER PROCEDURE SP_INSERIR_CAB_ITENS_NFS_BALCAO (
wcodigo integer,
wvendedor integer,
wcontrole integer)
returns (
wnfs_controle integer,
witem integer,
wproduto integer,
wfabricante integer,
wrecipiente char(10),
winmetro char(15),
wdtfab date,
wdtret date,
wdtrec date,
wdtalv date)
as
begin
/* Inserir o cabecalho no NFS */ está parte executa normalmente
insert into nf_saida(nfs_controle, nfs_numero, nfs_cli_codigo, nfs_dt_emissao, nfs_total, nfs_situacao, nfs_ven_codigo, nfs_fpa_codigo)
values(Gen_id(gen_controle_nfe_nfs_id, 1), 0, :wcodigo, current_date, 0, 'S', :wvendedor, 0) returning nfs_controle into :wnfs_controle;
/* Inserir os itens da NFS */ está parte não executa
for
select infe_item, infe_pro_codigo, infe_fab_codigo, infe_num_recipiente, infe_inmetro, infe_dt_fabricacao, infe_dt_reteste, infe_dt_recarga, infe_dt_alvara
from nf_entrada_itens
where infe_controle = :wcontrole
into :witem, :wproduto, :wfabricante, :wrecipiente, :winmetro, :wdtfab, :wdtret, :wdtrec, wdtalv
do
begin
insert into nf_saida_itens(infs_item, infs_controle, infs_infe_item, infs_infe_pro_codigo, infs_fab_codigo, infs_num_recipiente, infs_inmetro, infs_dt_fabricacao, infs_dt_reteste, infs_dt_recarga, infs_dt_alvara, infs_preco_total, infs_num_ordem)
values(Gen_id(gen_nf_saida_itens_id, 1), :wnfs_controle, :witem, :wproduto, :wfabricante, :wrecipiente, :winmetro, :wdtfab, :wdtret, :wdtrec, :wdtalv, 0, 0);
end
suspend;
end^
Atenciosamente
Washington André Muller da silva
#######################
NextCorp Informática Ltda
www.nextcorp.com.br
nextcorp em terra.com.br
0xx-(51)-3037-6605
#######################
Mais detalhes sobre a lista de discussão lista