Hello...
I've coded an DB2 for z/OS (V12 NFM) Stored Procedure written in Assembler. The procedure itself is quite simple but during testing (calling from a COBOL program) I receive SQLCODE -471/00E79006, as below:
DSNT408I SQLCODE = -471, ERROR: INVOCATION OF FUNCTION OR PROCEDURE GUSTAVO.ASMSP001 FAILED DUE TO REASON 00E79006
DSNT418I SQLSTATE = 55023 SQLSTATE RETURN CODE
DSNT415I SQLERRP = DSNX9CAC SQL PROCEDURE DETECTING ERROR
DSNT416I SQLERRD = 0 0 0 -1 0 0 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD = X'00000000' X'00000000' X'00000000' X'FFFFFFFF' X'00000000' X'00000000' SQL DIAGNOSTIC INFORMATION
WLM APPLENV shows the following message:
DSNX962I DSNX9WLS THE LE/370 CEEPIPI SERVICE RETURNED AN UNEXPECTED
RETURN CODE '0000000C'X FOR FUNCTION ADD_ENTRY FOR ASMSP001 SSN= DB02
PROC= DB02WLMG ASID= 014B WLM_ENV= DB02WLM_GENERAL
Apparently this is a LE/370-related problem (some LE library was not found in WLM APPLENV PROC). However, CEE.SCEERUN is present in WLM APPLENV PROC.
Has anybody seen that? Any special consideration for Assembler Stored Procedures?
Thank you very much and best regards...
DSNX962I
-
- Posts: 3
- Joined: Thu Jun 14, 2018 5:07 am
- Skillset: DB2 for z/OS, z/OS, Assembler, COBOL, REXX, JCL, ISPF, TSO
- Referer: searching...
-
- Global moderator
- Posts: 3720
- Joined: Sat Dec 19, 2009 8:32 pm
- Skillset: Systems programming, SAS, COBOL, CICS, JCL, SMS, VSAM, etc.
- Referer: other forum
- Location: Dubuque, Iowa, USA
Re: DSNX962I
What about CEE.SCEERUN2?However, CEE.SCEERUN is present in WLM APPLENV PROC.
-
- Posts: 3
- Joined: Thu Jun 14, 2018 5:07 am
- Skillset: DB2 for z/OS, z/OS, Assembler, COBOL, REXX, JCL, ISPF, TSO
- Referer: searching...
Re: DSNX962I
Hi, Robert...
Added SCEERUN2 to WLM APPLENV's STEPLIB, as below (GUSTAVO.LINKLIB contains the SP executable module):
5 XXSTEPLIB DD DISP=SHR,DSN=CEE.SCEERUN
6 XX DD DISP=SHR,DSN=CEE.SCEERUN2
7 XX DD DISP=SHR,DSN=DB2.V12R1.DB02.SDSNEXIT
8 XX DD DISP=SHR,DSN=DB2.V12R1.SDSNLOAD
9 XX DD DISP=SHR,DSN=DBT.CKZ.V3R2.SCKZLOAD
10 XX DD DISP=SHR,DSN=GUSTAVO.LINKLIB
Unfortunately there were no changes (same error, same message).
As this problem is related to LE/370, checking LKED step in the SP preparation job I see that, although SCEELKED, SCEELKEX, SCEERUN and SCEERUN2 (thank you!) are included in LKED.STEPLIB, nothing from LE/370 in included in the SP module... Am I missing anything? Any other idea?
Thank you very much and best regards.
Added SCEERUN2 to WLM APPLENV's STEPLIB, as below (GUSTAVO.LINKLIB contains the SP executable module):
5 XXSTEPLIB DD DISP=SHR,DSN=CEE.SCEERUN
6 XX DD DISP=SHR,DSN=CEE.SCEERUN2
7 XX DD DISP=SHR,DSN=DB2.V12R1.DB02.SDSNEXIT
8 XX DD DISP=SHR,DSN=DB2.V12R1.SDSNLOAD
9 XX DD DISP=SHR,DSN=DBT.CKZ.V3R2.SCKZLOAD
10 XX DD DISP=SHR,DSN=GUSTAVO.LINKLIB
Unfortunately there were no changes (same error, same message).
As this problem is related to LE/370, checking LKED step in the SP preparation job I see that, although SCEELKED, SCEELKEX, SCEERUN and SCEERUN2 (thank you!) are included in LKED.STEPLIB, nothing from LE/370 in included in the SP module... Am I missing anything? Any other idea?
Thank you very much and best regards.
-
- Global moderator
- Posts: 3720
- Joined: Sat Dec 19, 2009 8:32 pm
- Skillset: Systems programming, SAS, COBOL, CICS, JCL, SMS, VSAM, etc.
- Referer: other forum
- Location: Dubuque, Iowa, USA
Re: DSNX962I
I'm not sure what's going on. Looking at the CEEPIPI return code, I find
I'm not sure you can conclude that there's an LE problem -- LE may have merely uncovered a hidden issue. My guess would be that the system is not able to find ASMSP001, based on the error message and the return code from CEEPIPI.12 The indicated environment was initialized for subroutines. No routine was executed.
-
- Posts: 3
- Joined: Thu Jun 14, 2018 5:07 am
- Skillset: DB2 for z/OS, z/OS, Assembler, COBOL, REXX, JCL, ISPF, TSO
- Referer: searching...
Re: DSNX962I
Hello...
The correct interpretation of DSNX962I (RC=0000000C, function=ADD_ENTRY) is that I might be using a compiler which is not LE/370-enabled...
Well, I am using ASMA90 from High Lever Assembler R6.0. Do you know any restriction about this compiler for Stored Procedures?
Thank you and best regards.
Gustavo.
The correct interpretation of DSNX962I (RC=0000000C, function=ADD_ENTRY) is that I might be using a compiler which is not LE/370-enabled...
Well, I am using ASMA90 from High Lever Assembler R6.0. Do you know any restriction about this compiler for Stored Procedures?
Thank you and best regards.
Gustavo.
-
- Posts: 5
- Joined: Tue Jan 16, 2018 11:45 pm
- Skillset: Retired DB2 for z/OS Developer
Worked on mainframes since 1974
CLIST
REXX
PL/X
PL/I
Assembler
SQL
ISPF - Referer: Google search
Re: DSNX962I
Hi Gustavo,
From my quick searching, I believe you have to use something like the CEEENTRY and CEEEXIT macros for your assembler pgrogram to execute in an LE environment for the stored procedure to execute. Perhaps https://www.ibm.com/support/knowledgece ... ug147.html might be of some help. There is an example in the DB2 for z/OS Application Programming and SQL guide - search for "The following example shows how a stored procedure that is written in assembler language".
Jim
From my quick searching, I believe you have to use something like the CEEENTRY and CEEEXIT macros for your assembler pgrogram to execute in an LE environment for the stored procedure to execute. Perhaps https://www.ibm.com/support/knowledgece ... ug147.html might be of some help. There is an example in the DB2 for z/OS Application Programming and SQL guide - search for "The following example shows how a stored procedure that is written in assembler language".
Jim