Subject | Fw: [firebird-support] Problems with a procedure inside a view |
---|---|
Author | Tupy... nambá |
Post date | 2012-12-12T13:44:57Z |
Unfortunatelly, this group removes also pictures.
----- Forwarded Message -----
From: Tupy... nambá <anhanguera@...>
To: "firebird-support@yahoogroups.com" <firebird-support@yahoogroups.com>
Sent: Wednesday, December 12, 2012 10:40 AM
Subject: [firebird-support] Problems with a procedure inside a view
Hi !
I work in a company using Firebird 2.1.
I built a procedure having an single output parameter. If I use it inside a single Select command or inside a View, it works fine.
The question is: if I want to see the structure of a view that calls that procedure, I can´t see it. Instead, I receive an error message that says "Precompiler Error: 'B341VALIDARCB'." (in a generic manner, "Precompiler Error: '[procedure name]'.".
I'd like to see the structure of the vision that I need. If I get this message, I think something must be wrong with either the procedure or the view.
I send the image of the structure attached.
The basic procedure code is bellow.:
CREATE PROCEDURE B341VALIDARCB(
COD_BANCO VARCHAR(3) CHARACTER SET WIN1252 DEFAULT NULL,
COD_AGENCIA VARCHAR(4) CHARACTER SET WIN1252 DEFAULT NULL,
CARTEIRA VARCHAR(3) CHARACTER SET WIN1252 DEFAULT NULL,
CONTA VARCHAR(6) CHARACTER SET WIN1252 DEFAULT NULL,
VALOR DECIMAL(18, 2) DEFAULT 0,
NOSSO_DOCUMENTO VARCHAR(8) CHARACTER SET WIN1252 DEFAULT NULL,
CODIGODEBARRAS VARCHAR(50) CHARACTER SET WIN1252 DEFAULT NULL)
RETURNS(
AVALIACAO VARCHAR(50) CHARACTER SET WIN1252)
AS
BEGIN
AVALIACAO = '';
IF (some condition) THEN
AVALIACAO = AVALIACAO || 'Cód.do banco errado - ';
IF (another condition) THEN
AVALIACAO = AVALIACAO || 'Cód.da agência errado - ';
/* other conditions */
IF (AVALIACAO = '') THEN
AVALIACAO = 'Código de barras ok';
SUSPEND;
END;
No special condition, and the output field is handled only to receive the value according to the logical results inside the procedure.
And if you look at the picture I send, you will see that the procedure is called by a sub Select inside the view.
Does someone can give me some light about the possible problem in the code or in the solution itself ? Or is this a bug ?
Thanks a lot, best regards,
Roberto Camargo.
[Non-text portions of this message have been removed]
------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Visit http://www.firebirdsql.org/ and click the Resources item
on the main (top) menu. Try Knowledgebase and FAQ links !
Also search the knowledgebases at http://www.ibphoenix.com/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Yahoo! Groups Links
[Non-text portions of this message have been removed]
----- Forwarded Message -----
From: Tupy... nambá <anhanguera@...>
To: "firebird-support@yahoogroups.com" <firebird-support@yahoogroups.com>
Sent: Wednesday, December 12, 2012 10:40 AM
Subject: [firebird-support] Problems with a procedure inside a view
Hi !
I work in a company using Firebird 2.1.
I built a procedure having an single output parameter. If I use it inside a single Select command or inside a View, it works fine.
The question is: if I want to see the structure of a view that calls that procedure, I can´t see it. Instead, I receive an error message that says "Precompiler Error: 'B341VALIDARCB'." (in a generic manner, "Precompiler Error: '[procedure name]'.".
I'd like to see the structure of the vision that I need. If I get this message, I think something must be wrong with either the procedure or the view.
I send the image of the structure attached.
The basic procedure code is bellow.:
CREATE PROCEDURE B341VALIDARCB(
COD_BANCO VARCHAR(3) CHARACTER SET WIN1252 DEFAULT NULL,
COD_AGENCIA VARCHAR(4) CHARACTER SET WIN1252 DEFAULT NULL,
CARTEIRA VARCHAR(3) CHARACTER SET WIN1252 DEFAULT NULL,
CONTA VARCHAR(6) CHARACTER SET WIN1252 DEFAULT NULL,
VALOR DECIMAL(18, 2) DEFAULT 0,
NOSSO_DOCUMENTO VARCHAR(8) CHARACTER SET WIN1252 DEFAULT NULL,
CODIGODEBARRAS VARCHAR(50) CHARACTER SET WIN1252 DEFAULT NULL)
RETURNS(
AVALIACAO VARCHAR(50) CHARACTER SET WIN1252)
AS
BEGIN
AVALIACAO = '';
IF (some condition) THEN
AVALIACAO = AVALIACAO || 'Cód.do banco errado - ';
IF (another condition) THEN
AVALIACAO = AVALIACAO || 'Cód.da agência errado - ';
/* other conditions */
IF (AVALIACAO = '') THEN
AVALIACAO = 'Código de barras ok';
SUSPEND;
END;
No special condition, and the output field is handled only to receive the value according to the logical results inside the procedure.
And if you look at the picture I send, you will see that the procedure is called by a sub Select inside the view.
Does someone can give me some light about the possible problem in the code or in the solution itself ? Or is this a bug ?
Thanks a lot, best regards,
Roberto Camargo.
[Non-text portions of this message have been removed]
------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Visit http://www.firebirdsql.org/ and click the Resources item
on the main (top) menu. Try Knowledgebase and FAQ links !
Also search the knowledgebases at http://www.ibphoenix.com/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Yahoo! Groups Links
[Non-text portions of this message have been removed]