Icon View Incident Report

Serious Serious
Reported By: Christian Sanggaard
Reported On: 6/27/2016
For: Version 2.24 Build 2
# 4421 Using IFNULL Functions with a Parameter in the First Argument Can Result in Error #1011

The following script generates error # 1011. I don’t understand why. The weird thing is that if I execute only one record at a time, then it works. The error occurs when I execute the record with LineNo equal to 120000.

SCRIPT (IN CURRENT_ACCID INTEGER)
BEGIN
DECLARE Buffer CURSOR FOR stmt;
DECLARE UpdateItems STATEMENT;
DECLARE UpdateVariants STATEMENT;
DECLARE ItemNo CHAR(20);
DECLARE VendorCode CHAR(20);
DECLARE Barcode VARCHAR(20);
DECLARE BarcodeAction INTEGER;
DECLARE Qty DECIMAL(0,2);
DECLARE Val DECIMAL(0,2);
DECLARE UnitPrice DECIMAL(0,2);
DECLARE UnitCost DECIMAL(0,2);
DECLARE Amount DECIMAL(0,2);
DECLARE OrderQty DECIMAL(0,2);
DECLARE VarID INTEGER;
DECLARE ColorCode VARCHAR(20);
DECLARE ColorText VARCHAR(30);
DECLARE SizeCode VARCHAR(10);
DECLARE SizeText VARCHAR(30);

PREPARE stmt FROM
'SELECT * FROM Buffer WHERE VariantID IS NOT NULL'; -- and lineno<>120000';
PREPARE UpdateVariants FROM
'UPDATE ItemVariants SET
 ColorCode=IFNULL(?,ColorCode,?),
 SizeCode=IFNULL(?,SizeCode,?),
 ColorText=IFNULL(?,ColorText,?),
 SizeText=IFNULL(?,SizeText,?),
 Barcode=IF(?=2,?,Barcode) WHERE RecordID=?';
OPEN Buffer;
FETCH FIRST FROM Buffer;
WHILE NOT EOF(Buffer) DO
  FETCH FROM Buffer ('VariantID') INTO VarID;
  FETCH FROM Buffer ('ColorCode') INTO ColorCode;
  FETCH FROM Buffer ('ColorText') INTO ColorText;
  FETCH FROM Buffer ('SizeCode') INTO SizeCode;
  FETCH FROM Buffer ('SizeText') INTO SizeText;
  FETCH FROM Buffer ('Barcode') INTO Barcode;
  FETCH FROM Buffer ('BarcodeAction') INTO BarcodeAction;
  EXECUTE UpdateVariants USING CAST(ColorCode AS VARCHAR(20)),CAST(ColorCode AS VARCHAR(20)),SizeCode,SizeCode,ColorText,ColorText,SizeText,SizeText,BarcodeAction,Barcode,VarID;
  FETCH NEXT FROM Buffer;
END WHILE;
CLOSE Buffer;
END



Resolution Resolution
Fixed Problem on 6/28/2016 in version 2.24 build 3


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB LCL Standard with Source
ElevateDB PHP Standard
ElevateDB PHP Standard with Source
ElevateDB PHP Trial
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image