I am losing an innumerable amount of hair folicals over this one...
I have a query where I am attempting to validate/reconcile a number of columns. One of these columns is based on a name value.
For some reason I can compare the two on an EQ level but not a contain. IE:
FNAME FNAME_2 EQ CONTAINS Bob Bob true false Bobbi Bob false false
TABLE FILE NAME PRINT * COMPUTE CONT/I11 = IF FNAME CONTAINS FNAME_2 THEN 1 ELSE 0; END
Any Help would be appreciated.
Thanks GaryThis message has been edited. Last edited by: Kerry,
WebFOCUS 8201M/Windows Platform
February 22, 2011, 03:49 PM
<FreSte>
Maybe something like this:
DEFINE FILE CAR
XCOUNTRY/A10 WITH COUNTRY = 'ITAL';
END
TABLE FILE CAR
PRINT
COUNTRY
XCOUNTRY
COMPUTE FLDLEN/I3 = ARGLEN(10, XCOUNTRY, 'I3');
COMPUTE COMP2/I3 = POSIT(COUNTRY, 10, XCOUNTRY, FLDLEN, 'I3');
END
February 22, 2011, 04:26 PM
Waz
What is the size of the fields ?
If FNAME_2 and FNAME are the same size, then the contains will not work.
You can try POSIT.
-* Write out a master to read the TMP_COMP list
EX -LINES 7 EDAPUT MASTER,TMP_COMP,CV,FILE
FILENAME=TMP_COMP, SUFFIX=FIX,$
SEGNAME=TMP_COMP, $
FIELD=FNAME ,ALIAS= ,A6 ,A6 ,$
FIELD=FNAME_2 ,ALIAS= ,A6 ,A6 ,$
FIELD=TEST_EQ ,ALIAS= ,A5 ,A5 ,$
FIELD=TEST_CONT,ALIAS= ,A5 ,A5 ,$
-* Write out data
EX -LINES 3 EDAPUT FOCTEMP,TMP_COMP,CV,FILE
Bob Bob true false
Bobbi Bob falsefalse
FILEDEF TMP_COMP DISK tmp_comp.ftm (LRECL 22 RECFM V
-RUN
TABLE FILE TMP_COMP
PRINT *
COMPUTE CONT/I11 = IF FNAME CONTAINS FNAME_2 THEN 1 ELSE 0;
COMPUTE CONT/I11 = IF POSIT(FNAME,6,FNAME_2,ARGLEN(6,FNAME_2,'I1'),'I1') GT 0 THEN 1 ELSE 0;
END