- Este tópico contém 16 respostas, 6 vozes e foi atualizado pela última vez 16 anos, 4 meses atrás por
facc.
-
AutorPosts
-
21 de julho de 2009 às 8:47 pm #88057
facc
ParticipanteEsse :vString seria o que?
A minha string? ou é uma variavel?
21 de julho de 2009 às 9:13 pm #88060facc
ParticipanteMinha procedure pronta.
CREATE OR REPLACE PROCEDURE CYBELAR_VER_CRESCABRASIL(P_LOJA IN VARCHAR2,
P_CODCURSO IN VARCHAR2,
RET_CONF1 OUT NUMBER) IS
/*************************************************************
* PROCEDURE : CYBELAR_VER_CRESCABRASIL *
* OBJETIVO : VERIFICAR SE POSSUI CURSOS P/ A LOJA "LIVRES" *
NA QTDD PEDIDA, CASO POSITIVO RETORNA 1, CASO *
NEGATIVO RETORNA 0 *
* CRIACAO : 20/07/2009 *
* VERSAO : 1.5 *
* AUTOR : FABIO A. CAMPOS CRUZ - *
*************************************************************/
RETORNO1 NUMBER;vTamString NUMBER := 0;
vCodProduto NUMBER := 0;
vQtdProduto NUMBER := 0;
vStrProd VARCHAR2(11);
vQtdReg NUMBER := 0;
vStrRegisto VARCHAR2(110) := P_CODCURSO;ERRO_INT VARCHAR2(100);
VC_DIR_LOG VARCHAR2(100);
VC_ID_LOG VARCHAR2(7) := 'CYBELAR';
VC_ARQ_LOG VARCHAR2(17) := 'VERCRESCABR.LOG';
VG_PROCESSO VARCHAR2(50) := 'VER_CRESCABR';
VU_FILE UTL_FILE.FILE_TYPE;VN_QTDREG NUMBER := 0;
BEGIN
BEGIN
SELECT PINT_NM_DIRETORIO_LOG
INTO VC_DIR_LOG
FROM GEMCO_PARAMETRO_INTERFACE PINT, GEMCO_SISTEMA SIST
WHERE PINT.PINT_CD_SISTEMA = SIST.SIST_CD_SISTEMA
AND SIST.SIST_DS_SISTEMA = VG_PROCESSO;
EXCEPTION
-- SE NAO EXISTIR INFORMAR O DIRETORIO ONDE DEVERA SER
-- GERADO O LOG DE OCORRENCIAS
WHEN NO_DATA_FOUND THEN
VC_DIR_LOG := '/home/gemco/integra/Log';
WHEN TOO_MANY_ROWS THEN
VC_DIR_LOG := '/home/gemco/integra/Log';
WHEN OTHERS THEN
VC_DIR_LOG := '/home/gemco/integra/Log';
END;BEGIN
VU_FILE := UTL_FILE.FOPEN(VC_DIR_LOG, VC_ARQ_LOG, 'R');
UTL_FILE.FCLOSE(VU_FILE);
EXCEPTION
WHEN OTHERS THEN
sp_int_gemco_gera_log('INICIO DO LOG',
VC_DIR_LOG,
VC_ID_LOG,
VC_ARQ_LOG,
SYSDATE,
NULL,
VG_PROCESSO,
0,
0,
0);
END;sp_int_gemco_gera_log('GERA LOG',
VC_DIR_LOG,
VC_ID_LOG,
VC_ARQ_LOG,
SYSDATE,
'INICIO DO LOG',
VG_PROCESSO,
0,
0,
0);vTamString := LENGTH(P_CODCURSO || '|') / 11;
FOR I IN 1 .. vTamString LOOP
vStrProd := SUBSTR(vStrRegisto, 1, 11);
vCodProduto := SUBSTR(vStrProd, 1, 6);
vQtdProduto := SUBSTR(vStrProd, 8, 3);SELECT COUNT(*)
INTO vQtdReg
FROM CYBELAR_CRESCABR
WHERE CODPRODUTO = vCodProduto
AND TIPO = 0;IF vQtdReg > vQtdProduto THEN
RETORNO1 := 1;
ELSE
RETORNO1 := 0;
END IF;vStrRegisto := SUBSTR(vStrRegisto, 12, LENGTH(vStrRegisto));
END LOOP;
RET_CONF1 := RETORNO1;
END CYBELAR_VER_CRESCABRASIL;
Muito obrigado a todos que me ajudaram.
-
AutorPosts
- Você deve fazer login para responder a este tópico.