> 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>>  
[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

Reply via email to