Advertisement
erleybru

Untitled

Jun 23rd, 2020
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.14 KB | None | 0 0
  1. SET TERM ^ ;
  2. CREATE FUNCTION F_REG_TIPO_A (CODBANCO INTEGER)
  3. RETURNS VARCHAR(150) CHARACTER SET NONE
  4. AS
  5. DECLARE VReg VARCHAR(150);
  6.   DECLARE VNomeBanco CHAR(20);
  7.   DECLARE VCodBanco SMALLINT;
  8.   DECLARE VConvenio CHAR(20);
  9.   DECLARE VSequencia INTEGER;
  10.   DECLARE VEmpresa CHAR(20);
  11.   DECLARE VDataAtual CHAR(8);
  12. BEGIN
  13.   -- se o codigo do banco nao existir retornar erro
  14.   SELECT FIRST 1 NOME FROM EMPRESA INTO VEmpresa;
  15.   SELECT NOME, COD_FEBRABAN, COD_CONVENIO, SEQUENCIA_ENVIO FROM BANCO
  16.   WHERE CODIGO = :codBanco
  17.   INTO VNomeBanco, VCodBanco, VConvenio, VSequencia;
  18.   VReg = 'A' || '1' || RPAD(VConvenio, 20) || RPAD(VEmpresa, 20) ||
  19.     LPAD(TRIM(CAST(VCodBanco AS CHAR(3))), 3, '0') || LPAD(VNomeBanco, 20);
  20.   SELECT CAST(EXTRACT(YEAR FROM CAST('NOW' AS DATE))*10000 +
  21.          EXTRACT(MONTH FROM CAST('NOW' AS DATE))*100 +
  22.          EXTRACT(DAY  FROM CAST('NOW' AS DATE)) AS VARCHAR(8))
  23.   FROM rdb$database
  24.   INTO VDataAtual;
  25.   VReg = VReg || VDataAtual;
  26.   VSequencia = VSequencia + 1;
  27.   VReg = VReg || LPAD(TRIM(CAST(VSequencia AS CHAR(6))), 6, '0') ||
  28.     '06' || 'DEBITO AUTOMATICO' || RPAD(' ', 52, ' ');
  29.   RETURN VReg;
  30. END ^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement