SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 44382: SAS® Clinical Data Integration 2.3 - Medidata Rave® Transformations Fail When Extracting Data that Contains a Single Quote

DetailsHotfixAboutRate It

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

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Clinical Data IntegrationMicrosoft® Windows® for x642.39.3 TS1M1
Microsoft Windows Server 2003 Datacenter Edition2.39.3 TS1M1
Microsoft Windows Server 2003 Enterprise Edition2.39.3 TS1M1
Microsoft Windows Server 2003 Standard Edition2.39.3 TS1M1
Microsoft Windows Server 2003 for x642.39.3 TS1M1
Microsoft Windows Server 20082.39.3 TS1M1
Microsoft Windows Server 2008 for x642.39.3 TS1M1
Microsoft Windows XP Professional2.39.3 TS1M1
Windows 7 Enterprise 32 bit2.39.3 TS1M1
Windows 7 Enterprise x642.39.3 TS1M1
Windows 7 Home Premium 32 bit2.39.3 TS1M1
Windows 7 Home Premium x642.39.3 TS1M1
Windows 7 Professional 32 bit2.39.3 TS1M1
Windows 7 Professional x642.39.3 TS1M1
Windows 7 Ultimate 32 bit2.39.3 TS1M1
Windows 7 Ultimate x642.39.3 TS1M1
Windows Vista2.39.3 TS1M1
Windows Vista for x642.39.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.