I.Benini
7th March 2002, 18:53
Hi,
can anyone help me?
BW Message shows me the following error:
"Pseudo var '96' not binded before sql_exec()" .
Variable '96' is and order series (tcmcs047.grno) which is passed to the tdsls4201s000 sub- session by a zoom.to$.
I didn't find dynamic queries in the script and I didn't find further information in the Informix log.
What can I do?
Thank you.
Ivana.
evesely
7th March 2002, 19:10
How are you passing this variable to the subsession via the zoom.to$? If it is used in the return field of the zoom.to$, then you must put the variable name as a string (i.e., "variablename"). If this isn't it, could you please provide more information>
I.Benini
7th March 2002, 19:37
Here is the code:
script tipcf9100
#define COPYORNOK 96
seri.copy = COPYORNOK
zoom.to$("tdsls4201s000", Z.SESSION, "tipcf9100m000", "", 0)
script tdsls4201 (copy orders)
before.program:
if strip$(zoom.prog.name) = "tipcf9100m000" then
import("ncmp.f", ncmp.f)
import("ncmp.curr", ncmp.curr)
import("dummy.orno", orno.f)
import("seri.copy", orno.t)
. . . . .
execute(cont.process)
endif
I could copy some orders 2 hours ago, but now I got the BW message "Pseudo var .....". I didn' t update anything in the meanwhile so this means that something somewhere is sometimes wrong. But what?
Have you got any other idea?
Thank you for your reply.
Ivana.
evesely
7th March 2002, 20:35
Did you try compiling it and runnning it in debug mode? I'm curious as to exactly where this fails.
ulrich.fuchs
8th March 2002, 12:59
Problem seems to bee in your SQL statement
(either you use COPYORNOK or seri.copy there, I think).
The sql engine somehow takes 96 as a (pseudo) variable, which you have to "bind" using the "wherebind"-clause.
please post the sql, then probably I will be able to find te error.
Yours,
Uli
I.Benini
8th March 2002, 13:46
I find the error yesterday nigth. The SQL stament was:
select tcmcs047.*
from tcmcs047 for update
where tcmcs047._index1 = {:tcckon.act.sls, COPYORNOK}
.......
.......
endselect
where COPYORNOK was defined as follows:
#define COPYORNOK 96
The following statements works:
tcmcs047.grno = COPYORNOK
select tcmcs047.*
from tcmcs047 for update
where tcmcs047._index1 = {:tcckon.act.sls, :tcmcs047.grno}
.......
.......
endselect
So you are right
Thank you for spending your time for me.
Ivana