Indicates the nature of an InfoObject. Each object can have more than one flag. Indexed. Read
Part | Type | Description |
---|---|---|
QueryResult.Item(Index).Properties.Item("SI_FLAGS")
The value of SI_FLAGS can be one or more of the following:
Value | Meaning | Explanation |
---|---|---|
Indicates whether the object limits and archiving has been overridden. | ||
Indicates whether the object is added to a container during the APS' startup phase. | ||
The values indicate the bit number, and not the actual value; that is, 18 is bit 18, which is 218. You can combine flags using the logical OR operator, but queries do not support bitwise OR or AND in the WHERE clause, so the values must be used in long form (for example, 216= 65536).
If you want to check for bits 20 and 18, there are three cases:
The following example illustrates the first case. It selects all objects that were added to a container during the APS' startup phase (218 = 262144) OR are system objects (220 = 1048576), but are not both.
SELECT SI_NAME, SI_ID FROM CI_INFOOBJECTS WHERE SI_FLAGS = 262144 OR SI_FLAGS = 1048576
For the second and third cases, the WHERE clause would look like this (1310720 is the sum of the values 262144 and 1048576):
Note: All of the above examples assume that no other bits are turned on. Since more bits may be turned on, it is recommended that you do not filter using SI_FLAGS. Once the objects are returned from the APS, you can use the language's bitwise operators to find out which flags are turned on.
Crystal Decisions, Inc. http://www.crystaldecisions.com Support services: http://support.crystaldecisions.com |