here is an example of SUBSTR in "COMBOSEARCHGRID", it seems to work normally
Code: Select all
function _HMG_CSG_C2SQL( Value )
local cValue := ""
local cdate := ""
if ( valtype(value) == "C" .or. valtype( value ) == "M" ) .and. len(alltrim(value)) > 0
value := strtran(value, "'", "''" )
endif
do case
case Valtype(Value) == "N"
cValue := AllTrim(Str(Value))
case Valtype(Value) == "D"
if !Empty(Value)
cdate := dtos(value)
cValue := "'"+SUBSTR(cDate,1,4)+"-"+SUBSTR(cDate,5,2)+"-"+SUBSTR(cDate,7,2)+"'"
else
cValue := "''"
endif
case Valtype(Value) $ "CM"
IF Empty( Value)
cValue="''"
ELSE
cValue := "'" + value + "'"
ENDIF
case Valtype(Value) == "L"
cValue := AllTrim(Str(iif(Value == .F., 0, 1)))
otherwise
cValue := "''" // NOTE: Here we lose values we cannot convert
endcase
return cValue