Verify Methods set the Boolean variable bOk to true or false and, in the case of false, the object csOutput to a string indicating what the value was expected to be. Here is code for the IsInTable method which checks that there is an explicit entry in a given table for the current field value.
VERIFY
METHOD IsInTable
/* returns OK if the current field value matches an entry other than the default */
CODE
/* First try to get anything out of the table. It doesn't matter which function we ask for because we only care about the bIsDefault value, which is the same for all four of the calls.*/
bool bIsDefault;
MTH::TableGetDetail(tblParam1, i64CurrentField, bIsDefault);
/* If bIsDefault is false that means it is IN the table, so reverse the sense.*/
bOk = !bIsDefault;
/* The user can reverse the test by adding "NOT" in the decoder.*/
if (bNot)
bOk = !bOk;
/*If we failed the test, we will add some text explaining what the error is.*/
if (!bOk)
csOutput = "Entry Is Not In Table";
ENDCODE
PARAM "Table" table
Notice the reference to bNot. Any Verify Method that checks a field (that is, one other than a checksum/CRC checker) must apply bNot as appropriate. In the case of IsInTable, when a failure occurs, the Method returns "Entry Is Not In Table".