Controls

Controls are named by using a three letter abbreviation of the control’s type, appended by an underscore, and then appended by a description of this control’s function. Databound controls should use the dictionary column name for this descriptive portion. Multi-column controls (i.e. Edittables) should use the primary dictionary column name or a general description that applies to the whole control.

Control TypesName PrefixComments
EDITBOXEDB_ 
EDITFIELD (EDITLINE)EDL_ 
EDITTABLEEDT_ 
CHECKBOXCHB_ 
COMBOBOXCOB_ 
LISTBOXLIB_ 
PUSHBUTTONPUB_ 
RADIOBUTTON Radio button names are defined by the text that appears on the form. Therefore, no special rules can apply.
RADIOGROUPRAG_ 
HSCROLLBARHSB_ 
VSCROLLBARVSB_ 
ICONICO_ 
MENU Menus are automatically named by OpenInsight’s menu generator. Even though these can be overwritten, it is usually easier to leave them alone unless their name lengths become too long. Menu names (or any control) that exceed approximately 50 characters in length might not execute events properly.
BITMAPBMP_ 
GROUPBOXGRB_ 
STATICSTA_ 
PUSHBMPPUB_PUSHBMP’s are PUSHBUTTON’s with a bitmap overlay.
RADIOBMPRAG_RADIOBMP’s are RADIOGROUP’s with a bitmap overlay. They cannot be created from the Form Designer but have to be created on-the-fly using Basic+.
CHECKBMPCHB_CHECKBMP’s are CHECKBOX’s with a bitmap overlay.
RTFBOXRTB_Notes that RTFBOX’s are EDITBOX’s with the Rich Text style set.
OLECONTROLOLE_Alternatively, use an appropriate abbreviation for the ActiveX control that is being loaded into the OLE control itself. For instance, the SRP OLE EditTable could also be EDT_, although some distinction would need to be made if an OI and OLE EditTable were used to represent the same data.
HSPLITBARHSP_ 
VSPLITBARVSP_ 
TABCONTROLTAB_ 

Windows

Windows can have a great variety of styles so no attempt will be used to name them accordingly. However, the general functions of windows can be grouped into a few categories and these categories will form the basis for the three letter abbreviation. Like controls, this abbreviation will be appended by an underscore, and then appended by a description of this window’s function. Databound windows should use the table name for this descriptive portion.

Window CategoriesName PrefixComments
General DataboundDBW_ 
MDI FrameFRW_ 
MDI ChildDBW_MDI Child windows are created as General Databound windows and can even be executed as General Databound windows. They only become MDI Child windows when launched within an MDI Frame. Therefore, for simplicity no distinction in naming will be used.
General Non-databoundNDW_ 
ToolbarTBW_These are General Non-databound windows that are primarily used for launching other windows via PUSHBUTTON and MENU controls.

Stored Procedures

Stored Procedures that handle business rules will almost always be name in a meaningful way. Some Stored Procedures, however, perform common but special purposes in virtually all applications and therefore will have their own naming standards.

Stored Procedure TypeName PrefixComments
GeneralSee commentsStored procedures should be named using full (verbose) words, each separated by an underscore. Since OpenInsight forces all stored procedure Key IDs to be saved in all caps, using the underscore will make it easier to identify a stored procedure name by its constituent parts.
Commuter ModuleWindow_EVENTSThis is the pattern that Revelation has officially adopted to correspond with their Call Commuter Module QuickEvent. It is also the pattern that SRP FrameWorks expects to find in order to avoid using Event Script and QuickEvent handlers.
Services ModuleCategory_SERVICESThis is a commuter for the SRP FrameWorks service oriented architecture. Category should be named based on what unifies all of the service requests contained in the service module. This might be the name of a window, table, or general module within the application (e.g., SECURITY_SERVICES.)
Table ActionsTable_ACTIONSThis is a commuter module for all MFS activity for a given table. Since MFS code is cached, it is easier to maintain an MFS shell that calls a separate stored procedure to handle the logic.
List-type ReportRPT_ReportNameList-type reports can be completely written in Basic+ (OIPI) or a combination of Basic+ and reporting tool (e.g. Report Builder+ or S/List).
Form-type ReportFORM_FormNameForm-type reports are paper representations of a single record, like a purchase order, invoice, or quote.
MFSTable_MFSSRP FrameWorks already provides BASE_MFS, which is a shell to call the appropriate Table_ACTIONS routine. If a unique MFS is needed then Table_MFS would be the recommended naming standard.
Promoted Event HandlerAppName_EventType_Window_OIWINThis naming pattern is based on the actual naming standards required for the SYSREPOSEVENTEXES table in order for the event to be recognized by OpenInsight.
Promoted Event CommuterPromoted_EventType_EventAll Promoted Event Handlers call a general function call Promoted_Events, which in turn dynamically calls each Promoted Event Commuter (if it exists.)
INET RoutinesINET_RoutineNameThis pattern is required by OpenInsight for all OECGI procedures.
Remote Engine RequestsRE_RoutineName 

Message, Popups, and Reports

Names for supporting application components should follow rules of common sense so that they are inherently meaningful. There is no reason to label them in any generic way (e.g. MSG_CONTINUE) since the context of the code will almost always make it clear what kind of component is being used.

  • No labels