View previous topic :: View next topic
|
Author |
Message |
Pandora-Box
Global Moderator
Joined: 07 Sep 2006 Posts: 1592 Location: Andromeda Galaxy
|
|
|
|
How to call a stored procedure in cobol ? It would be easier if anyone could explain me or give any tips right from creation of stored procedure step.
Thanks,
Prem |
|
Back to top |
|
|
Pandora-Box
Global Moderator
Joined: 07 Sep 2006 Posts: 1592 Location: Andromeda Galaxy
|
|
|
|
Hi,
I would like to add more on that this is my store procedure code
Code: |
CREATE PROCEDURE db2t.DISP(IN MGR CHAR(6),
IN ADM CHAR(3),
OUT RETURN_CODE INTEGER)
EXTERNAL NAME DISP
RESULT SETS 3
LANGUAGE SQL
COLLID db2t
WLM ENVIRONMENT DBDISP
RUN OPTIONS 'TRAP(OFF),RPTOPTS(OFF)'
P1: BEGIN
DECLARE SQLCODE INTEGER;
DECLARE CHECK_MGR_TMP INTEGER;
DECLARE CHECK_MGR_CSR CURSOR FOR
SELECT 1 FROM db2t.DEPT
WHERE MGRNO=MGR AND ADMDEPT = ADM
WITH UR;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
SET RETURN_CODE = SQLCODE ;
CASE WHEN MGR IS NULL
OR ADM IS NULL THEN
SET RETURN_CODE = 999999;
ELSE
OPEN CHECK_MGR_CSR;
FETCH CHECK_MGR_CSR INTO CHECK_MGR_TMP;
IF SQLCODE = 100 THEN
CLOSE CHECK_USER_CSR;
SET RETURN_CODE = 999999;
LEAVE P1;
ELSE
CLOSE CHECK_MGR_CSR;
SET RETURN_CODE = 0;
OPEN RS_CSR;
END IF;
END CASE ;
END P1
|
I need to write cobol to call this procedure.
Thanks,
Prem |
|
Back to top |
|
|
Bharath Bhat
Active User
Joined: 20 Mar 2008 Posts: 283 Location: chennai
|
|
|
|
Calling a stored procedure is same as calling a normal subroutine in COBOL.
Code: |
CALL 'STORPROC' USING WS-LINKAGE |
At the time of CALL, WS-LINKAGE should have the input values for the stored proc. |
|
Back to top |
|
|
Gnanas N
Active Member
Joined: 06 Sep 2007 Posts: 792 Location: Chennai, India
|
|
|
|
db2t.DISP(..., ..., ...,) is DB2 stored procedure.
So,
Code: |
EXEC SQL
CALL DB2T.DISP(..., ..., ...,)
END-EXEC. |
|
|
Back to top |
|
|
dharani.nagarajan
New User
Joined: 11 Nov 2010 Posts: 21 Location: India
|
|
|
|
Hi,
Is that always necessary to call a stored procedure within
EXEC SQL and
END-EXEC statements.
Can you please let me know.
I am trying to call a stored procedure from a COBOL-DB2 program using CALL statement and getting the error
LE COND CODE=CEE3201S / EXPECTED COMP CODE=S0C1
Can you please let me know.
Thanks,
Dharani |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
Back to top |
|
|
|