Functions > IS Utilities > SIS Controls

SIS Controls is a generic system for creating control records within SIS. Conceptually, it is similar to the Semester attribute system, the principle difference being that SIS Controls are not keyed to a Semester. In particular, a new “control” can be defined by creating the appropriate record in the Code Table. A Control record can then be created in at_sis_controls keyed to the Code_1 value defined in the Code Table. The properties of that record can in turn be used programtically to switch a feature On or Off.

SIS Controls are mantained in the Student Info table at_sis_controls.


  • Menu: IS Utilities \ SIS Controls
  • Window: w_sis_controls in siadallv.pbl
  • DataObject: d_v_display_siscontrols in siadalld.pbl

Creating a New Control

  • Create a new record in the Code Table using SISAdmin. The code record should be created in the ‘SIS Control Codes’ namespace.
    • Open the SIS Controls maintenance window in SISAdmin (under IS Utilities). A list of all of the existing control records will be displayed.
    • Add a new record. A list of available Code Table definitions will be displayed. Select the one created above. The new record will be keyed to the Code_1 value.
    • Code the behavior of the Control. There are three vairables that can be tested/manipulated:
      • Active: Yes / No
      • Subvalue: A string value
      • Effective Date: Effective Start and End Dates (see below).

Coding Effective Date Behavior

  • Effective dates can be useful and they can also be a pain. Their use in SIS has been non-consitent and that will probably continue. Reflecting this, the SIS Control defintion includes a mechanism for specifying the Effective Date Behavior. Three options are defined:
    • Required (R) – Effective Date must be specified on the control
    • Honored (H) – A non-null Effective Date will be honored, but is not required.
    • Ignored (I) – Effective Date is not used with this control.
  • Which option to use depends on the particular requirements of the project the control is being created for. It is up to the developer to code the control correctly and then set the Behavior setting to reflect what is coded.

Important Note: The Behavior field is designed to alert the user of how the control was coded. It is NOT itself designed to be a control parameter. That is, a user should not change the setting of the field and expect the behvior of the effective dates to change.

Code Examples

  • There are many ways to implement Effective Dates. Perhaps the most common scenario will be by doing a SQL SELECT on the record and specifing the WHERE clause. A variation on this would be to include the record as part of a JOIN and specifing the ON clause.