Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 19-03-2007
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 23
RONPABLO Va por buen camino
Código SQL [-]
SET TERM ^^ ;
CREATE PROCEDURE P_MAX_CON_LETRAS returns (
  FACTURA VarChar(30),
  NUMERO Integer)
AS
DECLARE VARIABLE c char(1);
DECLARE VARIABLE cadena varchar(30);
DECLARE VARIABLE cadena1 varchar(30);
DECLARE VARIABLE CIFRAS1 integer;
DECLARE VARIABLE i integer;
DECLARE VARIABLE j integer;
DECLARE VARIABLE  AUMENTAR Integer;
DECLARE VARIABLE  CIFRAS Integer;
DECLARE VARIABLE  LETRA VarChar(4);
begin
  /* code */
  for select AUMENTAR, CIFRAS, LETRA from T_CIFRAS
  into :AUMENTAR, :CIFRAS, :LETRA do
  begin
  if (aumentar is null) then
    aumentar = 0;
  if (CIFRAS is null) then
    CIFRAS = 1;
  for select FACTURA from T_DEFINICION_TRATAMIENTO where FACTURA is not null into
  :FACTURA
  do
  begin
     CIFRAS1= CIFRAS;
     cadena = '0';
     numero=0;
     j=1;
     i = strlen(:FACTURA);
     while(j<=i) do
        begin
          c = substr(FACTURA,j,j);
          if (c between '0' and '9') then
             begin
                cadena = cadena || cast(:c as integer);
             end
          else
             cadena1 = substr(FACTURA,1,j);
          j=j+1;
        end
     numero = cast(cadena as integer) + aumentar;
     IF ((CIFRAS1 < i) and (CIFRAS < 2)) then
        CIFRAS1 = i;
     if ((letra is not null) and (letra <> '') and (letra <> ' ') and (letra <> '    ')) then
        cadena1 = letra;
     FACTURA = cadena1 || lpad(cast(numero as varchar(30)),cifras1,'0');
     suspend;
  end
  end
end
^^
SET TERM ; ^^

con el anterior sp lo que hago es obtener un consecutivo de una factura la cual puede tener letras y el numero entero que se ve sin las letras algo aasi

con la ultima factura generada y guardada en la bd con el valor PA0045 después de ejecutar el SP el valor Factura del SP sera PA0046 y el numero sera 46
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como pasar un String a SOAPElement ku9 JAVA 0 16-06-2006 11:42:21
Pasar de string a integer o viceversa. ¿Es posible? Kamikaze Varios 5 07-07-2005 15:44:57
¿Como pasar de String a Integer? astur_racing JAVA 5 13-01-2005 18:58:18
Como Convertir un dato Integer ó Float a String en FireBird???? AGAG4 Firebird e Interbase 8 04-12-2004 02:59:47
Pasar String a Integer ramonibk Varios 12 09-09-2004 17:20:20


La franja horaria es GMT +2. Ahora son las 10:37:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi