Sp Inserindo 2 registros na mesma tabela...
Pessoal tenho a seguinte SP :
estou usando no delphi assim :
´select C_COD_OS from INSERT_MANUTENCAO(´´P´´, ´´E´´, ´´´+
s_cod_colaborador+´´´, ´´´+txtEnderecoManut.Text+´´´, ´´´+
s_cod_grupo_pat+´´´, ´´´+s_cod_sub_grupo_pat+´´´, ´´´+
s_cod_insumo+´´´, ´´´+s_cod_conjunto+´´´, ´´´+
s_cod_referencia+´´´, ´´´+FormatDateTime(´mm/dd/yyyy´,
s_data_previsao)+´´´, ´´´+MD.senManutencao.F_Le_Usuario+´´´, ´´´+
s_grandeza_consumo_medio+´´´, ´´´+FormatFloat(´0.00´,
s_qtd_consumo_medio)+´´´, ´´´+FormatFloat(´0.00´,
s_qtd_manut)+´´´, ´´´+s_grandeza_manut+´´´, ´´´+
FormatDateTime(´mm/dd/yyyy´, g_now)+´´´)´;
uso DBExpress SQLQuery + DataSetProvider + ClientDataSet
está duplicando os registros, + com o código da OS diferente...
ex:
C_COD_OS = 000000000000127
C_COD_OS = 000000000000128
com o restante dos campos idênticos... nas tabelas CM0100 e OS0100
alguém sabe onde estou errando????
CREATE PROCEDURE INSERT_MANUTENCAO(
I_TIPO_MANUT CHAR(1),
I_STATUS_OS CHAR(1),
I_COD_COLABORADOR CHAR(15),
I_ENDERECO_MANUT VARCHAR(150),
I_COD_GRUPO_PAT CHAR(15),
I_COD_SUB_GRUPO_PAT CHAR(15),
I_COD_INSUMO CHAR(15),
I_COD_CONJUNTO CHAR(15),
I_COD_REFERENCIA CHAR(15),
I_DATA_PREVISAO DATE,
I_USUARIO VARCHAR(20),
I_GRANDEZA_CONSUMO_MEDIO VARCHAR(4),
I_QTD_CONSUMO_MEDIO FLOAT,
I_QTD_MANUT FLOAT,
I_GRANDEZA_MANUT VARCHAR(4),
I_DATA_CADASTRO DATE
)
RETURNS (
C_COD_OS CHAR(15)
)
AS
DECLARE VARIABLE V_COD_OS CHAR(15);
begin
select coalesce(MAX(C_COD_OS), 0)
from OS0100
into :C_COD_OS;
select C_RESULTADO from F_Zeros(:C_COD_OS, 1, 15) into :V_COD_OS;
insert into OS0100 (C_COD_OS, C_TIPO_OS, C_STATUS_OS, C_COD_COLABORADOR,
C_ENDERECO_MANUT, C_COD_GRUPO_PAT, C_COD_SUB_GRUPO_PAT, C_COD_INSUMO,
C_COD_CONJUNTO, C_COD_REFERENCIA)
values (:V_COD_OS, :I_TIPO_MANUT, :I_STATUS_OS, :I_COD_COLABORADOR, :I_ENDERECO_MANUT,
:I_COD_GRUPO_PAT, :I_COD_SUB_GRUPO_PAT, :I_COD_INSUMO, :I_COD_CONJUNTO,
:I_COD_REFERENCIA);
insert into CM0100 (C_COD_OS, C_COD_GRUPO_PAT, C_COD_SUB_GRUPO_PAT, C_COD_CONJUNTO,
C_COD_INSUMO, C_COD_REFERENCIA, C_DATA_PREVISAO, C_COD_COLABORADOR,
C_TIPO_MANUT, C_USUARIO, C_ENDERECO_MANUT, C_GRANDEZA_CONSUMO_MEDIO,
C_QTD_CONSUMO_MEDIO, C_QTD_MANUT, C_GRANDEZA_MANUT, C_DATA_CADASTRO)
values (:V_COD_OS, :I_COD_GRUPO_PAT, :I_COD_SUB_GRUPO_PAT, :I_COD_CONJUNTO,
:I_COD_INSUMO, :I_COD_REFERENCIA, :I_DATA_PREVISAO, :I_COD_COLABORADOR,
:I_TIPO_MANUT, :I_USUARIO, :I_ENDERECO_MANUT, :I_GRANDEZA_CONSUMO_MEDIO,
:I_QTD_CONSUMO_MEDIO, :I_QTD_MANUT, :I_GRANDEZA_MANUT, :I_DATA_CADASTRO);
C_COD_OS = :V_COD_OS;
suspend;
end
estou usando no delphi assim :
´select C_COD_OS from INSERT_MANUTENCAO(´´P´´, ´´E´´, ´´´+
s_cod_colaborador+´´´, ´´´+txtEnderecoManut.Text+´´´, ´´´+
s_cod_grupo_pat+´´´, ´´´+s_cod_sub_grupo_pat+´´´, ´´´+
s_cod_insumo+´´´, ´´´+s_cod_conjunto+´´´, ´´´+
s_cod_referencia+´´´, ´´´+FormatDateTime(´mm/dd/yyyy´,
s_data_previsao)+´´´, ´´´+MD.senManutencao.F_Le_Usuario+´´´, ´´´+
s_grandeza_consumo_medio+´´´, ´´´+FormatFloat(´0.00´,
s_qtd_consumo_medio)+´´´, ´´´+FormatFloat(´0.00´,
s_qtd_manut)+´´´, ´´´+s_grandeza_manut+´´´, ´´´+
FormatDateTime(´mm/dd/yyyy´, g_now)+´´´)´;
uso DBExpress SQLQuery + DataSetProvider + ClientDataSet
está duplicando os registros, + com o código da OS diferente...
ex:
C_COD_OS = 000000000000127
C_COD_OS = 000000000000128
com o restante dos campos idênticos... nas tabelas CM0100 e OS0100
alguém sabe onde estou errando????
Cabelo
Curtidas 0