SET TERM ^ ;

CREATE OR ALTER procedure spc_caso_clientes (
    cliente_id integer,
    painel_id integer)
returns (
    caso_id integer,
    motivo varchar(400),
    tipo varchar(400),
    tipo_de_origem varchar(400),
    responsavel varchar(400),
    status varchar(400),
    pedido varchar(400),
    fat_parcial varchar(400),
    improcedente varchar(400),
    origem_do_caso varchar(400),
    prioridade varchar(400),
    assunto varchar(400),
    descricao varchar(8000),
    comentarios varchar(8000),
    retorno_pcp varchar(400),
    quantidade integer,
    nota_fiscal varchar(100),
    modelo varchar(100),
    cor varchar(100),
    tamanho varchar(400),
    nome_da_conta varchar(400))
as
declare variable registro_id integer;
declare variable v_tipo integer;
declare variable valor varchar(8000);
declare variable campo_id integer;
begin

  for
    select
        r.registro_id
    from tbcaso_registro_detalhe r
    where r.campo_id = 20
    and r.valor = :CLIENTE_ID
    and r.painel_id = :PAINEL_ID
  into
    :REGISTRO_ID
  do begin
     CASO_ID = REGISTRO_ID;
     for
       select
           TIPO,
           VALOR,
           row_number() over() as CAMPO_ID
       from CASO_DETALHE(:PAINEL_ID, :REGISTRO_ID)
     into
        :V_TIPO,
        :VALOR,
        :CAMPO_ID
     do begin

         if(CAMPO_ID = 01)then begin :MOTIVO          = :VALOR; end
         if(CAMPO_ID = 02)then begin :TIPO            = :VALOR; end
         if(CAMPO_ID = 03)then begin :TIPO_DE_ORIGEM  = :VALOR; end
         if(CAMPO_ID = 04)then begin :RESPONSAVEL     = :VALOR; end
         if(CAMPO_ID = 05)then begin :STATUS          = :VALOR; end
         if(CAMPO_ID = 06)then begin :PEDIDO          = :VALOR; end
         if(CAMPO_ID = 07)then begin :FAT_PARCIAL     = :VALOR; end
         if(CAMPO_ID = 08)then begin :IMPROCEDENTE    = :VALOR; end
         if(CAMPO_ID = 09)then begin :ORIGEM_DO_CASO  = :VALOR; end
         if(CAMPO_ID = 10)then begin :PRIORIDADE      = :VALOR; end
         if(CAMPO_ID = 11)then begin :ASSUNTO         = :VALOR; end
         if(CAMPO_ID = 12)then begin :DESCRICAO       = :VALOR; end
         if(CAMPO_ID = 13)then begin :COMENTARIOS     = :VALOR; end
         if(CAMPO_ID = 14)then begin :RETORNO_PCP     = :VALOR; end
         if(CAMPO_ID = 15)then begin :QUANTIDADE      = :VALOR; end
         if(CAMPO_ID = 16)then begin :NOTA_FISCAL     = :VALOR; end
         if(CAMPO_ID = 17)then begin :MODELO          = :VALOR; end
         if(CAMPO_ID = 18)then begin :COR             = :VALOR; end
         if(CAMPO_ID = 19)then begin :TAMANHO         = :VALOR; end
         if(CAMPO_ID = 20)then begin :NOME_DA_CONTA   = :VALOR; suspend; end

     end
  end

end
^

SET TERM ; ^

		
