Problem
Running a Job containing an Extract Medidata Rave® Data or Update from Medidata Rave® transformation fails when the Rave table data being extracted contains a non-consecutive single-quotation mark (in other words, a single quotation mark that is not immediately preceded or succeeded by another single quotation mark). The Job execution fails, and errors appear in the SAS log. The errors can vary, but most commonly take this form:
| ERROR 22-322: Syntax error, expecting one of the following: a quoted string, a numeric constant, a datetime constant, a missing value, ), +, ',', -, MISSING, NULL, USER. |
| ERROR 76-322: Syntax error, statement will be ignored. |
Workaround
1. Open the Job in Data Integration Studio. Open the properties of the affected transformation, and go to the “Source” tab. Change the affected transformation’s source setting to 'User Written Body'.
2. In the transformation source, find the section of code marked by the PRTVALUE: tag:
PRTVALUE:
∗ Print the value;
if (value='') then do;
if (_type='C') then do;
put "''" @;
end;
else do;
put "." @;
end;
end;
else do;
if (_type='C') then do;
put "'" value +(-1) "'" @;
end;
else do;
put value +(-1) @;
end;
end;
return; * return to calling point;
Modify the source to add the line highlighted below at the location shown
PRTVALUE:
∗ Print the value;
if (value='') then do;
if (_type='C') then do;
put "''" @;
end;
else do;
put "." @;
end;
end;
else do;
if (_type='C') then do;
value=tranwrd(value, "'","''");
put "'" value +(-1) "'" @;
end;
else do;
put value +(-1) @;
end;
end;
return; * return to calling point;
3. Save and run the job. The data extracts properly.
Alternate Workaround:
This problem can be avoided by modifying the MediData Rave data. However, customers generally do not find this to be practical, for reasons including their need to maintain strict controls over Medidata Rave data changes for Clinical audit purposes.
The data can be modified in one of two ways for each field in which a stand-alone single-quotation mark appears:
a) Remove all single-quotation marks.
b) Ensure that each occurrence of a single-quotation mark has an accompanying single-quotation mark immediately succeeding it. That is, any occurrence of a single-quote character in the data should appear in pairs.
The first of these approaches is not desirable, as it forces a modification to the original data in a way that can cause the resulting data to make no sense. The second of these approaches is undesirable for that same reason, and because any future hotfix for this issue results in both single quotation marks eventually being extracted into SAS, forcing users to revert the change in the Medidata Rave source data.
Operating System and Release Information
SAS System | SAS Clinical Data Integration | Microsoft® Windows® for x64 | 2.3 | | 9.3 TS1M1 | |
Microsoft Windows Server 2003 Datacenter Edition | 2.3 | | 9.3 TS1M1 | |
Microsoft Windows Server 2003 Enterprise Edition | 2.3 | | 9.3 TS1M1 | |
Microsoft Windows Server 2003 Standard Edition | 2.3 | | 9.3 TS1M1 | |
Microsoft Windows Server 2003 for x64 | 2.3 | | 9.3 TS1M1 | |
Microsoft Windows Server 2008 | 2.3 | | 9.3 TS1M1 | |
Microsoft Windows Server 2008 for x64 | 2.3 | | 9.3 TS1M1 | |
Microsoft Windows XP Professional | 2.3 | | 9.3 TS1M1 | |
Windows 7 Enterprise 32 bit | 2.3 | | 9.3 TS1M1 | |
Windows 7 Enterprise x64 | 2.3 | | 9.3 TS1M1 | |
Windows 7 Home Premium 32 bit | 2.3 | | 9.3 TS1M1 | |
Windows 7 Home Premium x64 | 2.3 | | 9.3 TS1M1 | |
Windows 7 Professional 32 bit | 2.3 | | 9.3 TS1M1 | |
Windows 7 Professional x64 | 2.3 | | 9.3 TS1M1 | |
Windows 7 Ultimate 32 bit | 2.3 | | 9.3 TS1M1 | |
Windows 7 Ultimate x64 | 2.3 | | 9.3 TS1M1 | |
Windows Vista | 2.3 | | 9.3 TS1M1 | |
Windows Vista for x64 | 2.3 | | 9.3 TS1M1 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.