Hi,
I have a problem of a S0C6 Abend, in the OPEN CURSOR Statement in a DB2-PLI Program. (With a USER ABEND Error Message of 1500). The Job is Bombing with a S0C6 Abend.
I am a bit clueless on why this is happening. Hence, I need help / suggestions / ideas on how this problem can be resolved. I am providing all the information below. I request help on this matter.
Declaration of Cursor in the DB2PLI Program.
------------------------------------------
EXEC SQL DECLARE UPDATE_CLOC1 CURSOR WITH HOLD FOR
SELECT CFL_ID,CFL_NM_TXT,CFL_DESC
FROM L03.FINL_LOCATION_V01
WHERE CFL_ID = :FINL_REC.WS_CFL_ID
FOR UPDATE OF CFL_NM_TXT,CFL_DESC;
L03.FINL_LOCATION_V01 is a SELECT * View on the DB2 Table, SHGG.FINL_LOCATION.
FINL_REC.WS_CFL_ID is a Working Storage Variable, where a valid value is being passed before CURSOR Declaration.
Open Cursor Ststement in the DB2PLI Program
--------------------------------------------
EXEC SQL OPEN UPDATE_CLOC1;
**** The Job is Abending in this Statement with a S0C6 Abend *******
DCLGEN for the View - L03.FINL_LOCATION_V01
-----------------------------------------------
EXEC SQL DECLARE L03.FINL_LOCATION_V01 TABLE
( CFL_ID CHAR(6) NOT NULL,
CFL_STRTDT DATE NOT NULL,
CFL_RPTG_IND CHAR(1) NOT NULL,
CFL_ENDDT DATE NOT NULL,
CFL_OWN_PCT DECIMAL(5,2),
CFL_OWN_ID CHAR(6),
CFL_LUID CHAR(10) NOT NULL,
CFL_LUDT TIMESTAMP NOT NULL,
CFLST_CD CHAR(10) NOT NULL,
GL_CD CHAR(9),
GLT_CD CHAR(8),
CFL_PAR_ID CHAR(6),
CFL_PAR_STRTDT DATE,
CFLT_CD CHAR(10) NOT NULL,
CFL_NM_TXT VARCHAR(40) NOT NULL,
CFL_DESC VARCHAR(240) NOT NULL,
CFL_EVA_IND CHAR(1) NOT NULL,
CFL_SHORT_NM CHAR(8),
CFL_ORG_CODE CHAR(2) NOT NULL
) ;
/************************************************** *******
/* PLI DECLARATION FOR TABLE L03.FINL_LOCATION_V01 */
/************************************************** *******
DCL 1 DCLFINL_LOCATION_V01,
5 CFL_ID CHAR(6),
5 CFL_STRTDT CHAR(10),
5 CFL_RPTG_IND CHAR(1),
5 CFL_ENDDT CHAR(10),
5 CFL_OWN_PCT DEC FIXED(5,2),
5 CFL_OWN_ID CHAR(6),
5 CFL_LUID CHAR(10),
5 CFL_LUDT CHAR(26),
5 CFLST_CD CHAR(10),
5 GL_CD CHAR(9),
5 GLT_CD CHAR(8),
5 CFL_PAR_ID CHAR(6),
5 CFL_PAR_STRTDT CHAR(10),
5 CFLT_CD CHAR(10),
5 CFL_NM_TXT CHAR(40) VAR,
5 CFL_DESC CHAR(240) VAR,
5 CFL_EVA_IND CHAR(1),
5 CFL_SHORT_NM CHAR(8),
5 CFL_ORG_CODE CHAR(2);
DB2 PLan being Used
----------------------
BIND PLAN(SHGGCLT) OWNER(L03) +
MEMBER(SHGGCLT) +
ACTION(REPLACE) RETAIN +
VALIDATE(BIND) ISOLATION(CS) FLAG(I) DYNAMICRULES(RUN) +
ACQUIRE(USE) RELEASE(COMMIT) EXPLAIN(NO) +
NODEFER(PREPARE) +
CURRENTDATA(NO) +
NOREOPT(VARS) KEEPDYNAMIC(NO) +
DBPROTOCOL(PRIVATE) +
IMMEDWRITE(NO) ENCODING( 37) +
QUALIFIER(L03) +
CACHESIZE(1024) +
DEGREE(1) +
SQLRULES(DB2) +
DISCONNECT(EXPLICIT)
END
Also, I just temporarily modified my Program to get a different SQL CURSOR Executed in the Program, as follows. But, this is also failing in the exactly same way in the OPEN CURSOR Statement.
EXEC SQL DECLARE UPDATE_CLOC2 CURSOR WITH HOLD FOR
SELECT CFL_ID,CFL_NM_TXT,CFL_DESC
FROM L03.FINL_LOCATION_V01
WHERE
CFL_ENDDT ?= '12/31/2999'
FOR UPDATE OF CFL_NM_TXT,CFL_DESC;
EXEC SQL OPEN UPDATE_CLOC2;
EXEC SQL FETCH UPDATE_CLOC2 INTO
CLFINL_LOCATION_V01.CFL_ID,
CLFINL_LOCATION_V01.CFL_NM_TXT,
CLFINL_LOCATION_V01.CFL_DESC;
EXEC SQL
UPDATE L03.FINL_LOCATION_V01
SET CFL_NM_TXT = 'RESERVED FOR FUTURE USE',
CFL_DESC = 'RESERVED FOR FUTURE USE'
WHERE CURRENT OF UPDATE_CLOC2;
Also, this might not be an Authority Issue, as we have tried Execution of the Program with different ID's, who have access on the PLAN and the DB2 View and the DB2 Table.
Can someone throw suggestions, on what might be possible causes for this problem, Or, what might be the ways to investigate the root cause of this problem ?
I would be thankful for the suggestions.
Regards,
Karthik.
S0C6 Abend while Opening a Cursor in a DB2-PLI Proram - Sugg
Moderators: Kalicharan, Moderator Group
-
- Member
- Posts: 3
- Joined: Tue Dec 26, 2006 8:41 pm
S0C6 Abend while Opening a Cursor in a DB2-PLI Proram - Sugg
Regards,
Karthik.
Karthik.
FREE TUTORIALS
Tutorials
Free tutorials from mainframegurukul
- JCL Tutorial
Covers all important JCL concepts. - Cobol Tutorial
This tutorials covers all Cobol Topics from STRING to COMP-3. - DB2 Tutorial
DB2 Tutorial focuses on DB2 COBOL Programming. - SORT Tutorial
This Tutorial covers all important aspects of DFSORT with examples - CICS Tutorial
This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Interview
Mainframe Interview questions
- Cobol Interview Questions
50+ Interview Questions - JCL Interview Questions
50+ Interview Questions - DB2 Interview Questions
100+ Interview Questions - CICS Interview Questions
70+ Interview Questions - VSAM Interview Questions
27 Interview Questions
Other References
Mainframe Tools and others
- XPEDITER Reference
Explains how we can debug a program - FILEAID Reference
Explains how to browse , edit and delete datasets - Change Man Reference
Quick Start tutorial on Changeman - Abend Reference
Important Abend codes explained - FaceBook Page
MainframeGurukul FaceBook Page - LinkedIn Page
MainframeGurkul Linkedin Page