Kbase P119908: DataView object assignQuerySelection doesn't work the way 4GL does.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  27/10/2006 |
|
Status: Unverified
FACT(s) (Environment):
OpenEdge 10.1x
SYMPTOM(s):
DataView object assignQuerySelection doesn't work the way 4GL does.
DataView object assignQuerySelection with EQ "" doesn't return any records records. For example:
assignQuerySelection("name","","EQ")
It is expected that this should return all records where name is blank, as the 4GL does.
DataView assignQuerySelection with BEGINS "" doesn't return any records records. For example:
assignQuerySelection("name","","BEGINS")
It is expected that this should return all records as the 4GL does.
CAUSE:
assignQuerySelection treats all blanks as " ", a single space.
FIX:
The behavior is expected and intentional.
Basically Development prefer not to allow an API to treat empty/blank and space differently due to the fact that in 4GL "" = " ". Any code that has to pass values to assignQuerySelection may not be able to deal with this correctly. The assigned fields are also accessible through columnQuerySelection and although this function probably could preserve the space there may be some issues with this also having to differentiate between "" and " ".
In addition to this because the effect of BEGINS "" can also be achieved with a sort expression and no expression on the field at all, then there isn't any real need to implement this additional complexity into the API.