Error -4000 Unknown result table

"James Stahecki" <[email protected]> Wed, 3 Sep 2003 13:45:37 -0400
Newsgroups gmane.comp.db.sapdb.general
Message-ID <[email protected]>
> Hello,
> 
> I'm having a problem deleting or updating table rows using the "where current of cursor" option.
> 
> Our environment consists of Microfocus cobol 2.2, UnixODBC 2.2.6 and SAPDB 7.3.0.40 all running on a single IBM RS/6000 with AIX 4.3.3
> 
> My test program attempts to delete a row where current of cursor position but gets an error stating unknown result table. I tried an update statement instead of delete, but that also fails with the same error. I also tried compiling the test program on a win2k pc using the 7.04.03.00 ODBC driver; same error.  Any help you can provide is greatly appreciated.
> 
> Thanks,
> -Jim
> 
> 
> Test Program:
> 
>        EXEC SQL CONNECT 'ADMIN' IDENTIFIED BY 'PASSWORD' USING 'ARMTEST' END-EXEC.  
> 
>        EXEC SQL
>          DECLARE nxc1 CURSOR FOR
>          select city, state, zip
>          from admin.a_test_tbl
>          where state = 'PA'
>          for update of city
>        END-EXEC.
>  
>        EXEC SQL OPEN nxc1 END-EXEC.
>  
>        EXEC SQL fetch  nxc1 into :city, :state, :zipcode END-EXEC.
>  
>        EXEC SQL
>          delete from admin.a_test_tbl             
>          where current of nxc1
>        END-EXEC.
> 
> The following error message is returned here.
> [unixODBC][SAP AG][LIBSQLOD SO][SAP DB]General error;-4000 POS(48) Unknown result table.
>  
> 
>        EXEC SQL DISCONNECT CURRENT END-EXEC.
>  
> 
> ODBC Trace:
> 
	   <<MFSQLTRACE.txt>>
MFSQLTRACE.txt (text/plain, 17 KB)
[ODBC][20742][SQLSetConnectOption.c][255]
		Entry:            
			Connection = 2009d938            
			Option = SQL_ATTR_ODBC_CURSORS            
			Value = 0
[ODBC][20742][SQLDriverConnect.c][646]
		Entry:            
			Connection = 2009d938            
			Window Hdl = 0            
			Str In = [DSN=ARMTEST;UID=ADMIN;PWD=********][length = 34]            
			Str Out = 2ff1ed6c            
			Str Out Max = 255            
			Str Out Ptr = 2ff1dbfc            
			Completion = 0
		UNICODE Using encoding ASCII 'ISO8859-1' and UNICODE 'UCS-2'

[ODBC][20742][SQLDriverConnect.c][1413]
		Exit:[SQL_SUCCESS]                    
			Connection Out [DSN=ARMTEST;UID=ADMIN;PWD=PASSWORD;SERVERDB=ARMTEST;SERVERNODE=l...]
[ODBC][20742][SQLGetFunctions.c][140]
		Entry:            
			Connection = 2009d938            
			Id = 0            
			Supported = 201024cc
[ODBC][20742][SQLGetFunctions.c][177]
		Exit:[SQL_SUCCESS]                
			Supported = 201024cc -> 0
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_TXN_CAPABLE (46)            
			Info Value = 2ff1db9a            
			Buffer Length = 2            
			StrLen = 2ff1db98
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLSetConnectOption.c][255]
		Entry:            
			Connection = 2009d938            
			Option = SQL_ATTR_AUTOCOMMIT            
			Value = 0
[ODBC][20742][SQLSetConnectOption.c][534]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_SCROLL_OPTIONS (44)            
			Info Value = 201024c4            
			Buffer Length = 4            
			StrLen = 2ff1db98
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_SCROLL_CONCURRENCY (43)            
			Info Value = 201024c8            
			Buffer Length = 4            
			StrLen = 2ff1db98
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_DBMS_NAME (17)            
			Info Value = 2ff1dac8            
			Buffer Length = 64            
			StrLen = 2ff1dab8
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_DBMS_VER (18)            
			Info Value = 2ff1db08            
			Buffer Length = 64            
			StrLen = 2ff1daba
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLAllocHandle.c][509]
		Entry:
			Handle Type = 3
			Input Handle = 2009d938
[ODBC][20742][SQLAllocHandle.c][889]
		Exit:[SQL_SUCCESS]
			Output Handle = 201025a8
[ODBC][20742][SQLGetTypeInfo.c][153]
		Entry:            
			Statement = 201025a8            
			Data Type = SQL_INTEGER
[ODBC][20742][SQLGetTypeInfo.c][308]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFetch.c][151]
		Entry:            
			Statement = 201025a8
[ODBC][20742][SQLFetch.c][343]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 201025a8            
			Option = 0
[ODBC][20742][SQLFreeStmt.c][246]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetTypeInfo.c][153]
		Entry:            
			Statement = 201025a8            
			Data Type = SQL_BIGINT
[ODBC][20742][SQLGetTypeInfo.c][308]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFetch.c][151]
		Entry:            
			Statement = 201025a8
[ODBC][20742][SQLFetch.c][343]
		Exit:[SQL_NO_DATA]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 201025a8            
			Option = 0
[ODBC][20742][SQLFreeStmt.c][246]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetTypeInfo.c][153]
		Entry:            
			Statement = 201025a8            
			Data Type = SQL_CHAR
[ODBC][20742][SQLGetTypeInfo.c][308]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLBindCol.c][158]
		Entry:            
			Statement = 201025a8            
			Column Number = 3            
			Target Type = -18 SQL_C_ULONG            
			Target Value = 2ff1dac4            
			Buffer Length = 4            
			StrLen Or Ind = 2ff1dac0
[ODBC][20742][SQLBindCol.c][250]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFetch.c][151]
		Entry:            
			Statement = 201025a8
[ODBC][20742][SQLFetch.c][343]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 201025a8            
			Option = 0
[ODBC][20742][SQLFreeStmt.c][246]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetTypeInfo.c][153]
		Entry:            
			Statement = 201025a8            
			Data Type = SQL_VARCHAR
[ODBC][20742][SQLGetTypeInfo.c][308]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLBindCol.c][158]
		Entry:            
			Statement = 201025a8            
			Column Number = 3            
			Target Type = -18 SQL_C_ULONG            
			Target Value = 2ff1dac4            
			Buffer Length = 4            
			StrLen Or Ind = 2ff1dac0
[ODBC][20742][SQLBindCol.c][250]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFetch.c][151]
		Entry:            
			Statement = 201025a8
[ODBC][20742][SQLFetch.c][343]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 201025a8            
			Option = 0
[ODBC][20742][SQLFreeStmt.c][246]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetTypeInfo.c][153]
		Entry:            
			Statement = 201025a8            
			Data Type = SQL_BINARY
[ODBC][20742][SQLGetTypeInfo.c][308]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLBindCol.c][158]
		Entry:            
			Statement = 201025a8            
			Column Number = 3            
			Target Type = -18 SQL_C_ULONG            
			Target Value = 2ff1dac4            
			Buffer Length = 4            
			StrLen Or Ind = 2ff1dac0
[ODBC][20742][SQLBindCol.c][250]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFetch.c][151]
		Entry:            
			Statement = 201025a8
[ODBC][20742][SQLFetch.c][343]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 201025a8            
			Option = 0
[ODBC][20742][SQLFreeStmt.c][246]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetTypeInfo.c][153]
		Entry:            
			Statement = 201025a8            
			Data Type = SQL_VARBINARY
[ODBC][20742][SQLGetTypeInfo.c][308]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLBindCol.c][158]
		Entry:            
			Statement = 201025a8            
			Column Number = 3            
			Target Type = -18 SQL_C_ULONG            
			Target Value = 2ff1dac4            
			Buffer Length = 4            
			StrLen Or Ind = 2ff1dac0
[ODBC][20742][SQLBindCol.c][250]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFetch.c][151]
		Entry:            
			Statement = 201025a8
[ODBC][20742][SQLFetch.c][343]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 201025a8            
			Option = 0
[ODBC][20742][SQLFreeStmt.c][246]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 201025a8            
			Option = 1
[ODBC][20742][SQLFreeHandle.c][362]
		Entry:
			Handle Type = 3
			Input Handle = 201025a8
[ODBC][20742][SQLFreeHandle.c][463]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_MAX_CONCURRENT_ACTIVITIES (1)            
			Info Value = 201024a4            
			Buffer Length = 2            
			StrLen = 2ff1dbfe
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_DBMS_NAME (17)            
			Info Value = 2ff1dc2c            
			Buffer Length = 64            
			StrLen = 2ff1dc00
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_CURSOR_COMMIT_BEHAVIOR (23)            
			Info Value = 201024a0            
			Buffer Length = 2            
			StrLen = 2ff1dbfe
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_CURSOR_ROLLBACK_BEHAVIOR (24)            
			Info Value = 201024a2            
			Buffer Length = 2            
			StrLen = 2ff1dbfe
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLAllocHandle.c][509]
		Entry:
			Handle Type = 3
			Input Handle = 2009d938
[ODBC][20742][SQLAllocHandle.c][889]
		Exit:[SQL_SUCCESS]
			Output Handle = 20102818
[ODBC][20742][SQLSetStmtOption.c][167]
		Entry:            
			Statement = 20102818            
			Option = SQL_ATTR_CONCURRENCY            
			Value = 2
[ODBC][20742][SQLSetStmtOption.c][375]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLSetStmtOption.c][167]
		Entry:            
			Statement = 20102818            
			Option = SQL_ATTR_CURSOR_TYPE            
			Value = 2
[ODBC][20742][SQLSetStmtOption.c][375]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLSetStmtAttr.c][236]
		Entry:            
			Statement = 20102818            
			Attribute = SQL_ATTR_ROW_ARRAY_SIZE            
			Value = 1            
			StrLen = 0
[ODBC][20742][SQLSetStmtAttr.c][685]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLSetStmtOption.c][167]
		Entry:            
			Statement = 20102818            
			Option = SQL_ATTR_CONCURRENCY            
			Value = 2
[ODBC][20742][SQLSetStmtOption.c][375]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLSetCursorName.c][153]
		Entry:            
			Statement = 20102818            
			Cursor name = [nxc1][length = 4]
[ODBC][20742][SQLSetCursorName.c][286]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLPrepare.c][173]
		Entry:            
			Statement = 20102818            
			SQL = [select city, state, zip from admin.a_test_tbl where state = 'PA' for update of city][length = 83 (SQL_NTS)]
[ODBC][20742][SQLPrepare.c][374]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLExecute.c][186]
		Entry:            
			Statement = 20102818
[ODBC][20742][SQLExecute.c][341]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLNumResultCols.c][142]
		Entry:            
			Statement = 20102818            
			Column Count = 20020016
[ODBC][20742][SQLNumResultCols.c][233]
		Exit:[SQL_SUCCESS]                
			Count = 20020016 -> 3
[ODBC][20742][SQLRowCount.c][159]
		Entry:            
			Statement = 20102818            
			Row Count = 2ff20de4
[ODBC][20742][SQLRowCount.c][234]
		Exit:[SQL_SUCCESS]                
			Row Count = 2ff20de4 -> -1
[ODBC][20742][SQLSetStmtAttr.c][236]
		Entry:            
			Statement = 20102818            
			Attribute = SQL_ATTR_ROW_ARRAY_SIZE            
			Value = 1            
			StrLen = -5
[ODBC][20742][SQLSetStmtAttr.c][685]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 20102818            
			Option = 2
[ODBC][20742][SQLFreeStmt.c][246]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLDescribeCol.c][224]
		Entry:            
			Statement = 20102818            
			Column Number = 1            
			Column Name = 2ff20dc4            
			Buffer Length = 128            
			Name Length = 2ff20dbe            
			Data Type = 2ff20dbc            
			Column Size = 2ff20dc0            
			Decimal Digits = 2ff20dba            
			Nullable = 2ff20db8
[ODBC][20742][SQLDescribeCol.c][487]
		Exit:[SQL_SUCCESS]                
			Column Name = [CITY]                
			Data Type = 2ff20dbc -> 1                
			Column Size = 2ff20dc0 -> 20                
			Decimal Digits = 2ff20dba -> 0                
			Nullable = 2ff20db8 -> 1
[ODBC][20742][SQLDescribeCol.c][224]
		Entry:            
			Statement = 20102818            
			Column Number = 2            
			Column Name = 2ff20dc4            
			Buffer Length = 128            
			Name Length = 2ff20dbe            
			Data Type = 2ff20dbc            
			Column Size = 2ff20dc0            
			Decimal Digits = 2ff20dba            
			Nullable = 2ff20db8
[ODBC][20742][SQLDescribeCol.c][487]
		Exit:[SQL_SUCCESS]                
			Column Name = [STATE]                
			Data Type = 2ff20dbc -> 1                
			Column Size = 2ff20dc0 -> 2                
			Decimal Digits = 2ff20dba -> 0                
			Nullable = 2ff20db8 -> 1
[ODBC][20742][SQLDescribeCol.c][224]
		Entry:            
			Statement = 20102818            
			Column Number = 3            
			Column Name = 2ff20dc4            
			Buffer Length = 128            
			Name Length = 2ff20dbe            
			Data Type = 2ff20dbc            
			Column Size = 2ff20dc0            
			Decimal Digits = 2ff20dba            
			Nullable = 2ff20db8
[ODBC][20742][SQLDescribeCol.c][487]
		Exit:[SQL_SUCCESS]                
			Column Name = [ZIP]                
			Data Type = 2ff20dbc -> 1                
			Column Size = 2ff20dc0 -> 5                
			Decimal Digits = 2ff20dba -> 0                
			Nullable = 2ff20db8 -> 1
[ODBC][20742][SQLBindCol.c][158]
		Entry:            
			Statement = 20102818            
			Column Number = 1            
			Target Type = 1 SQL_CHAR            
			Target Value = 200c6f0c            
			Buffer Length = 21            
			StrLen Or Ind = 200c6f08
[ODBC][20742][SQLBindCol.c][250]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLBindCol.c][158]
		Entry:            
			Statement = 20102818            
			Column Number = 2            
			Target Type = 1 SQL_CHAR            
			Target Value = 200c6f2c            
			Buffer Length = 3            
			StrLen Or Ind = 200c6f28
[ODBC][20742][SQLBindCol.c][250]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLBindCol.c][158]
		Entry:            
			Statement = 20102818            
			Column Number = 3            
			Target Type = 1 SQL_CHAR            
			Target Value = 200c6f34            
			Buffer Length = 6            
			StrLen Or Ind = 200c6f30
[ODBC][20742][SQLBindCol.c][250]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLSetStmtAttr.c][236]
		Entry:            
			Statement = 20102818            
			Attribute = SQL_ATTR_ROWS_FETCHED_PTR            
			Value = 2ff20e5c            
			StrLen = -4
[ODBC][20742][SQLSetStmtAttr.c][685]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLSetStmtAttr.c][236]
		Entry:            
			Statement = 20102818            
			Attribute = SQL_ATTR_ROW_STATUS_PTR            
			Value = 2ff20e58            
			StrLen = -4
[ODBC][20742][SQLSetStmtAttr.c][685]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFetchScroll.c][145]
		Entry:            
			Statement = 20102818            
			Fetch Orentation = 1            
			Fetch Offset = 0
[ODBC][20742][SQLFetchScroll.c][346]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLAllocHandle.c][509]
		Entry:
			Handle Type = 3
			Input Handle = 2009d938
[ODBC][20742][SQLAllocHandle.c][889]
		Exit:[SQL_SUCCESS]
			Output Handle = 20187588
[ODBC][20742][SQLPrepare.c][173]
		Entry:            
			Statement = 20187588            
			SQL = [ delete from admin.a_test_tbl where current of nxc1][length = 51 (SQL_NTS)]
[ODBC][20742][SQLPrepare.c][374]
		Exit:[SQL_ERROR]
		DIAG [S1000] [SAP AG][LIBSQLOD SO][SAP DB]General error;-4000 POS(48) Unknown result table.

[ODBC][20742][SQLError.c][342]
		Entry:                
			Statement = 20187588                
			SQLState = 200b8144                
			Native = 2ff20d3c                
			Message Text = 200b814a                
			Buffer Length = 1023                
			Text Len Ptr = 2ff20d38
[ODBC][20742][SQLError.c][379]
		Exit:[SQL_SUCCESS]                    
			SQLState = S1000                    
			Native = 2ff20d3c -> -4000                    
			Message Text = [[unixODBC][SAP AG][LIBSQLOD SO][SAP DB]General error;-4000 POS(48) Unknown result table.]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 20187588            
			Option = 1
[ODBC][20742][SQLFreeHandle.c][362]
		Entry:
			Handle Type = 3
			Input Handle = 20187588
[ODBC][20742][SQLFreeHandle.c][463]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeStmt.c][133]
		Entry:            
			Statement = 20102818            
			Option = 1
[ODBC][20742][SQLFreeHandle.c][362]
		Entry:
			Handle Type = 3
			Input Handle = 20102818
[ODBC][20742][SQLFreeHandle.c][463]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLTransact.c][163]
		Entry:                
			Environment = 2009cf38                
			Connection = 2009d938                
			Completion Type = 1
[ODBC][20742][SQLGetInfo.c][204]
		Entry:            
			Connection = 2009d938            
			Info Type = SQL_CURSOR_ROLLBACK_BEHAVIOR (24)            
			Info Value = 2ff20d80            
			Buffer Length = 2            
			StrLen = 2ff20d82
[ODBC][20742][SQLGetInfo.c][529]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLTransact.c][332]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLDisconnect.c][193]
		Entry:            
			Connection = 2009d938
[ODBC][20742][SQLDisconnect.c][339]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeHandle.c][263]
		Entry:
			Handle Type = 2
			Input Handle = 2009d938
[ODBC][20742][SQLFreeHandle.c][314]
		Exit:[SQL_SUCCESS]
[ODBC][20742][SQLFreeHandle.c][196]
		Entry:
			Handle Type = 1
			Input Handle = 2009cf38