Bom Tarde... Tenho a seguinte situação e estou com um pouco de dificuldade para resolver e menos tempo ainda. Tenho o resuldado de uma leitura de codigo de barra que me traz o codigo
'(01)07898357410015(15)040825(30)25(10)N2A' porem esses falores entre um par de parentezes nem sempre é fixo e existe uma regra para seguir por exemplo se o (01) caracteriza que o tamanho do campo é 16
já o (00) caracteriza que o tamanho do campo é 20
e assim por diante... isso para campo do tipo fixo e ainda tenho que verificar campos variaveis... Gostaria de saber se alguém já desenvolveu alguma coisa do tipo ou poderia me dar uma LUZ...
Grato desde já Sil...
Codigo de barras
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Boa tarde.
Uma dica, talvez ajude, seria verificar com INSTR, que tipo de informação possui a linha.
Para verificar, por exemplo, se existe o tipo de informação = a '(01)', verifique com o código abaixo, passando toda a instrução e,
o valor que você deseja verificar.
Caso o retorno seja diferente de Zero, significa que encontrou a informação e, em qual posição essa informação se encontra.
Em PL/SQL, seria mais ou menos isso:
Veja se lhe ajuda e, caso não dê certo, mande pra gente.
Uma dica, talvez ajude, seria verificar com INSTR, que tipo de informação possui a linha.
Para verificar, por exemplo, se existe o tipo de informação = a '(01)', verifique com o código abaixo, passando toda a instrução e,
o valor que você deseja verificar.
SELECT INSTR('(01)07898357410015(15)040825(30)25(10)N2A','(01)')
FROM dual;
Em PL/SQL, seria mais ou menos isso:
DECLARE
VTIPO_REGISTRO NUMBER;
VSTRING VARCHAR2(1000) := '(01)07898357410015(15)040825(30)25(10)N2A';
BEGIN
SELECT INSTR(VSTRING,'(01)')
INTO VTIPO_REGISTRO
FROM DUAL;
IF VTIPO_REGISTRO != 0
THEN
dbms_output.put_line('Na posição '||to_char(VTIPO_REGISTRO)||' existe o tipo de registro 01.');
END IF;
END;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 1 visitante