Using SAPDB 7.3.0.29

With the precompiler, I compile and execute the statement:

exec sql fetch pos (2) qdbyusercur into
  :QSO_ID, :QSO_BAND :QSO_BAND_IND, :QSO_CALL :QSO_CALL_IND,
  :QSO_OWNCALL :QSO_OWNCALL_IND, :CERT_ID, :SS_ID,
  :QSO_TIMESTAMP :QSO_TIMESTAMP_IND, :QSO_FREQ :QSO_FREQ_IND,
  :QSO_MODE :QSO_MODE_IND, :QSO_SIGNATURE :QSO_SIGNATURE_IND, :QSO_STATION,
  :QSO_DATE :QSO_DATE_IND, :QSO_TIME :QSO_TIME_IND,
  :QSO_DTG :QSO_DTG_IND, :SS_NAME,
  :QSL_SLAVE_QSO :QSL_SLAVE_QSO_IND, :QSL_NOUSE :QSL_NOUSE_IND,
  :QSL_DTG :QSL_DTG_IND, :MODE_GROUP :MODE_GROUP_IND;

Which works correctly. Then I try:

exec sql begin declare section;
static int qsorec_offset;
exec sql end declare section;
...
exec sql fetch pos ( :qsorec_offset ) qdbyusercur into
  :QSO_ID, :QSO_BAND :QSO_BAND_IND, :QSO_CALL :QSO_CALL_IND,
  :QSO_OWNCALL :QSO_OWNCALL_IND, :CERT_ID, :SS_ID,
  :QSO_TIMESTAMP :QSO_TIMESTAMP_IND, :QSO_FREQ :QSO_FREQ_IND,
  :QSO_MODE :QSO_MODE_IND, :QSO_SIGNATURE :QSO_SIGNATURE_IND, :QSO_STATION,
  :QSO_DATE :QSO_DATE_IND, :QSO_TIME :QSO_TIME_IND,
  :QSO_DTG :QSO_DTG_IND, :SS_NAME,
  :QSL_SLAVE_QSO :QSL_SLAVE_QSO_IND, :QSL_NOUSE :QSL_NOUSE_IND,
  :QSL_DTG :QSL_DTG_IND, :MODE_GROUP :MODE_GROUP_IND;

With qsorec_offset == 2. The only difference between the two statements is the use of 
a host variable in the second one, but it fails with:

MASS STATEMENT :
fetch pos ( :qsorec_offset ) qdbyusercur into :P_1, :P_2 :IND, :P_3 :IND, :P_4
:IND, :P_5, :P_6, :P_7 :IND, :P_8 :IND, :P_9 :IND, :P_10 :IND, :P_11, :P_12
:IND, :P_13 :IND, :P_14 :IND, :P_15, :P_16 :IND, :P_17 :IND, :P_18 :IND, :P_19
:IND
SQL STATEMENT  :  FROM MODULE : sapdb-qso          AT LINE : 315
Statement Name : :0x030006
PARSEID: OUTPUT:  00001FCD 00000B01 2A002B00 01000000
PARSEID: SELECT:  00001FCD 00000A01 0A002E00 01000000
SQLCODE:  -812       Parameter list too short
mfIndex found     : 5
PARSEID: INPUT :  00001FCD 00000B01 2A002B00 01000000
INPUT  :    1: PARAMETER                       :                   0
FETCH-PARAMETER   : 0
SQLCODE:  100        Row not found
START  :  DATE :  2002-12-21    TIME :  0007:05:16
END    :  DATE :  2002-12-21    TIME :  0007:05:16

It looks as though the pos parameter (:qsorec_offset) isn't being treated as a host 
variable. Is this a bug or am I missing something?

-- 
Jon Bloom, KE3Z
Web/Software Development Manager
[EMAIL PROTECTED]

_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to