DSNX962I



IBM's flagship relational database management system

DSNX962I

Postby gustavolozano » Thu Jun 14, 2018 5:44 am

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...
gustavolozano
 
Posts: 3
Joined: Thu Jun 14, 2018 5:07 am
Has thanked: 0 time
Been thanked: 0 time

Re: DSNX962I

Postby Robert Sample » Thu Jun 14, 2018 7:03 am

However, CEE.SCEERUN is present in WLM APPLENV PROC.
What about CEE.SCEERUN2?
Robert Sample
Global moderator
 
Posts: 3720
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: DSNX962I

Postby gustavolozano » Thu Jun 14, 2018 3:01 pm

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.
gustavolozano
 
Posts: 3
Joined: Thu Jun 14, 2018 5:07 am
Has thanked: 0 time
Been thanked: 0 time

Re: DSNX962I

Postby Robert Sample » Thu Jun 14, 2018 6:03 pm

I'm not sure what's going on. Looking at the CEEPIPI return code, I find
12 The indicated environment was initialized for subroutines. No routine was executed.
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.
Robert Sample
Global moderator
 
Posts: 3720
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: DSNX962I

Postby gustavolozano » Sun Jun 17, 2018 6:01 am

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.
gustavolozano
 
Posts: 3
Joined: Thu Jun 14, 2018 5:07 am
Has thanked: 0 time
Been thanked: 0 time

Re: DSNX962I

Postby Jim Ruddy » Wed Jun 20, 2018 12:27 am

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
Jim Ruddy
 
Posts: 5
Joined: Tue Jan 16, 2018 11:45 pm
Has thanked: 0 time
Been thanked: 0 time


Return to DB2