...
Code Block | ||||
---|---|---|---|---|
| ||||
METHOD PROTECTED CHARACTER ManipulateQueryString (pcQueryString AS CHARACTER): DEFINE VARIABLE oQueryParser AS Consultingwerk.QueryParser NO-UNDO . DEFINE VARIABLE oQueryExpression AS Consultingwerk.IQueryExpression NO-UNDO . DEFINE VARIABLE oFieldExpression AS Consultingwerk.QueryExpression NO-UNDO . oQueryParser = NEW Consultingwerk.QueryParser () . oQueryExpression = oQueryParser:ParseQueryString (pcQueryString) . oFieldExpression = Consultingwerk.QueryExpression:GetExpressionForField ("ePatKost.Kostnumkurz", oQueryExpression) . IF VALID-OBJECT (oFieldExpression) THEN DO: CAST (oFieldExpression:FirstOperand, Consultingwerk.BufferFieldName):FieldName = "kost_num" . CAST (oFieldExpression:SecondOperand, Consultingwerk.CharacterHolder):Value = "0214" + CAST (oFieldExpression:SecondOperand, Consultingwerk.CharacterHolder):Value . RETURN "FOR EACH ePatKost " + oQueryExpression:GetExpression() + REPLACE (oQueryParser:ByClause, " BY ePatKost.Kostnumkurz", " BY ePatKost.kost_num") /* substitute the calc field in the BY clause */. END. RETURN REPLACE (pcQueryString, " BY ePatKost.Kostnumkurz", " BY ePatKost.kost_num") /* substitute the calc field in the BY clause */. END METHOD. |
See also Switching the Buffer sequence on a DATA-SOURCE in a DataAccess class and Filtering in a Data Access class on a table that is not part of the (default) data-source.