View previous topic :: View next topic
|
Author |
Message |
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
Dear All,
Please correct the alter command shown below i am getting SQLCODE=-199 while executing the alter procedure.
ALTER PROCEDURE SPRCT010.SP1
MODIFIES SQL DATA
(IN CNVRSTN_CD CHAR(30) FOR SBCS DATA CCSID EBCDIC ,
IN VAN_ID_CD CHAR(10) FOR SBCS DATA CCSID EBCDIC ,
IN IN_TY_CD CHAR(3) FOR SBCS DATA CCSID EBCDIC ,
OUT OUT_CODE INTEGER )
DYNAMIC RESULT SETS 1
EXTERNAL NAME 'SP1'
LANGUAGE COBOL PARAMETER CCSID EBCDIC PARAMETER STYLE GENERAL
NOT DETERMINISTIC FENCED CALLED ON NULL INPUT MODIFIES SQL DATA
NO DBINFO COLLID CPRCT01C WLM ENVIRONMENT DBAGT212
ASUTIME LIMIT 110000 STAY RESIDENT YES PROGRAM TYPE MAIN
SECURITY DB2 INHERIT SPECIAL REGISTERS
STOP AFTER SYSTEM DEFAULT FAILURES COMMIT ON RETURN YES ?
The purpose of alter is to add an parameter,
IN IN_TY_CD CHAR(3) FOR SBCS DATA CCSID EBCDIC
to the above SP. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
IBMMainframes.com Abend Assist wrote: |
ILLEGAL USE OF KEYWORD keyword. TOKEN token-list WAS EXPECTED
A syntax error was detected in the statement at the point where the keyword 'keyword' appears. As an aid to the programmer, a partial list of valid tokens is provided in SQLERRM as 'token-list'. This list assumes that the statement is correct up to that point, and only as many tokens are listed as will fit.
Examine the statement in the area of the indicated keyword. A colon or SQL delimiter may be missing. |
you have the error messages,
did not bother to give them to us.
can not do anything to help you. |
|
Back to top |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
Correction SQLCODE got is -104 not -199.
Code: |
Rollback done
SQLCODE : -104 DSNTIAR CODE : 0
DSNT408I SQLCODE = -104, ERROR: ILLEGAL SYMBOL "(". SOME SYMBOLS THAT MIGHT BE
LEGAL ARE: FENCED EXTERNAL COMMIT PARAMETER RESULT NO DYNAMIC ALLOW
DSNT411I SQLCAID = SQLCAL SQLCA IDENTIFIER
DSNT418I SQLSTATE = 42601 SQLSTATE RETURN CODE
DSNT415I SQLERRP = DSNHPARS SQL PROCEDURE DETECTING ERROR
DSNT416I SQLERRD = 3 0 3 -1 55 502 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD = X'00000003' X'00000000' X'00000003' X'FFFFFFFF'
X'00000037' X'000001F6' SQL DIAGNOSTIC INFORMATION |
|
|
Back to top |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
Any idea regarding syntax issue? |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
what does your original create procedure look like? |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
pkmurali wrote: |
Any idea regarding syntax issue? |
Yes,
the ALTER PROCEDURE seems to only stipulate changes in option list,
not the parameter declaration which only seems to appear in CREATE PROCEDURE
which is what the
'(' is an unacceptable char msg
is all about. |
|
Back to top |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
Dick Brenholtz ,
I want to add one more parameter in my procedure SP1. The Creat Procedure DDL is,
Code: |
SET CURRENT SQLID='GPRCT01B';
CREATE PROCEDURE SPRCT010.SP1
(IN CNVRSTN_CD CHAR(30) FOR SBCS DATA CCSID EBCDIC ,
IN VAN_ID_CD CHAR(10) FOR SBCS DATA CCSID EBCDIC ,
IN IN_TY_CD CHAR(3) FOR SBCS DATA CCSID EBCDIC ,
IN IN_PSTD_DT DATE,
OUT OUT_CODE INTEGER )
DYNAMIC RESULT SETS 1
EXTERNAL NAME 'SP1'
LANGUAGE COBOL PARAMETER CCSID EBCDIC PARAMETER STYLE GENERAL
NOT DETERMINISTIC FENCED CALLED ON NULL INPUT MODIFIES SQL DATA
NO DBINFO COLLID CPRCT01C WLM ENVIRONMENT DBAGT212
ASUTIME LIMIT 110000 STAY RESIDENT YES PROGRAM TYPE MAIN
SECURITY DB2 INHERIT SPECIAL REGISTERS
STOP AFTER SYSTEM DEFAULT FAILURES COMMIT ON RETURN YES ?
|
Even after removing the '(' & ')' i am getting SQLCODE=-104
Code: |
Rollback done
SQLCODE : -104 DSNTIAR CODE : 0
DSNT408I SQLCODE = -104, ERROR: ILLEGAL SYMBOL "CNVRSTN_CD". SOME SYMBOLS THAT
MIGHT BE LEGAL ARE: <INTEGER> ANY FORMAT ( PREPARE
DSNT411I SQLCAID = SQLCAL SQLCA IDENTIFIER
DSNT418I SQLSTATE = 42601 SQLSTATE RETURN CODE
DSNT415I SQLERRP = DSNHPARS SQL PROCEDURE DETECTING ERROR
DSNT416I SQLERRD = 3 0 2 -1 48 502 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD = X'00000003' X'00000000' X'00000002' X'FFFFFFFF'
X'00000030' X'000001F6' SQL DIAGNOSTIC INFORMATION
|
Please let me know how to add a parameter using alter procedure? |
|
Back to top |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
Small correction in previous posting
in create procedure i don't have 'IN_PSDT_DT' field, i have to add the field to the procedure using 'ALter Procedure'.
Thanks
Murali. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
I did not see a way to ALTER the PARAMETER DECLARATION,
only the OPTIONS LIST. |
|
Back to top |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
Oh Since ALTER Table helps to add a column for a table i thought ALTEr PROCEDURE will works similar. Thanks Dick Brenholtz. |
|
Back to top |
|
|
|