View previous topic :: View next topic
|
Author |
Message |
Baskaran Warnings : 1 New User
Joined: 24 Oct 2006 Posts: 32 Location: India
|
|
|
|
Hi,
I'm very new with mainframe and appreciate all the help I can get.
In Working-storage section,
01 WS-SQL PIC X(400) VALUE SPACES.
01 WS-SQL-STR.
49 WS-SQL-LEN PIC 9(4) USAGE BINARY.
49 WS-SQL-TXT PIC X(400).
In Procedure division,
... A SELECT stmt is being strung into WS-SQL bases on a
conditional stmt
...
MOVE WS-SQL TO WS-SQL-TXT.
EXEC SQL
PREPARE STRSQL FROM :WS-SQL-STR
END-EXEC.
EXEC SQL
DECLARE ATTCUR CURSOR FOR STRSQL
END-EXEC.
EXEC SQL
OPEN ATTCUR
END-EXEC.
This is the error I got when compiling:
DSNH312I E DSNHSMUD LINE 2051 COL 36 UNDEFINED OR UNUSABLE
HOST VARIABLE "WS-SQL-STR"
DSNH080I E DSNHSM3D LINE 2051 COL 36 STRING VARIABLE
"WS-SQL-STR" IS NOT "VARCHAR" TYPE
I also tried
EXEC SQL
PREPARE STRSQL FROM :WS-SQL-TXT
END-EXEC.
And got:
DSNH080I E DSNHSM3D LINE 2051 COL 36 STRING VARIABLE
"WS-SQL-TXT" IS NOT "VARCHAR" TYPE
I read somewhere that I need to declare the host variable WS-SQL-STR
within a
EXEC SQL BEGIN DECLARE SECTION END-EXEC and
EXEC SQL END DECLARE SECTION END-EXEC.
but it gave me an error
DSNH084I W DSNHLEXC LINE 831 COL 22 UNACCEPTABLE SQL STATEMENT
DSNH084I W DSNHLEXC LINE 835 COL 22 UNACCEPTABLE SQL STATEMENT
It would be a great help if you can help me in this senario........
Thanks,
Baskaran |
|
Back to top |
|
|
muralithirumalaisamy Warnings : 1 New User
Joined: 13 Jun 2005 Posts: 12 Location: chennai
|
|
|
|
Hi Baskar,
In ur Move statemnt
MOVE WS-SQL TO WS-SQL-TXT.
But u have declared a varchar variable WS-SQL-STR. under that only u have WS-SQL-TXT. Since WS-SQL-STR is a varchar variable u should use the move stmt as
MOVE WS-SQL TO WS-SQL-STR.
Thanks
Murali |
|
Back to top |
|
|
|