Sample STARSol Screen File

All data entry screens in STARSol are all defined externally in plain ASCII text file. This is achieved by The Dynamic Screen Formatting library. This library allows the programmer to define all entry screens and report format outside of the program, in a text based screen file. Taking all screen input and text output positioning specific information out of the program code. All the application program needs to do is read the screen file at the start of the program and the screen library will dynamically allocate internal structures to represent the screen.

Example:


~ *** [ ] VARIANCE GROUP MAINTENANCE *** ~ VARIANCE GROUP: _____ ADD: _______________________ MOD: _______________________ LABEL: ____ DESCRIPTION: ______________________________ ACTIVE: _ COMMENTS: ___________________________________________________________\_ ~VARI DESCRIPTION A~ ____ ______________________________ _ END NEW SCREEN MAXITABLE=40 MAXOTABLE=43 MAXDETAIL=5000 MDTSTRUCT=mdtvrg1 COMMENT=22 BD|004|02|077|10|-1|6100 HV|004|06|077|05|-1|4900|VARGNOTEIND | hS|021|12|060|13|-1|4900 C |021|13|060|23|16|2300 OMAP 000|000|00000|+04|-1|VARGTITLE | IMAP 000|005|00000|-1|-1|VARGVARGCODE |xvargh.vrg1code |L/Enter Size Group Code 000|023|00128|08|-1|VARGADD_DTTM |xvargh.add_dt |t^Y:3 000|023|00128|08|-1|VARGMOD_DTTM |xvargh.mod_dt |t^Y:3 HDRSTRT 000|004|00000|-1|-1|VARGVARG_LBL |xvargh.vrg1_lbl |L/Enter Variance Group label 000|030|00000|-1|-1|VARGVARGDESC |xvargh.vrg1desc |L/Enter Variance Group Description 000|001|00002|-1|-1|VARGACTIVE |xvargh.active |L|YN/Enter [Y]es if Active or [N]o if not 000|060|00000|-1|-1|VARGCOMMENT |xvargh.comment |L/Enter Comments 000|000|00128|-1|-1|VARGGETCMMD | |L HDREND DTSTRT 000|004|00000|-1|-1|VARGVAR1CODE |xvargd.var1code |L/Enter Variance Code 000|030|00000|-1|-1|VARGVAR1DESC |xvargd.var1desc |L/Enter Variance Description, limit to 6 characters if possible 000|001|00000|-1|-1|VARGDACTIVE |xvargd.active |L|YN/Enter the [Y]es if Active or [N]o if not DTEND

Results in the following entry screen:

 SCANMODE: F1=EDIT F2=ADD sF2=INSERT F3=SAVE F5=DELETE F4=EXIT
   +------------------------------------------------------------------------+
   |                *** [SSI] VARIANCE GROUP MAINTENANCE ***                |
   |                                                                        |
   | VARIANCE GROUP: COLOR                                                  |
   +----------------------------------------------------------------[help]--+
   |      ADD: 1999-12-19 13:38:30.560    MOD: 2000-02-06 22:05:05.021      |
   |    LABEL: COLR  DESCRIPTION: COLORS                          ACTIVE: Y |
   | COMMENTS:                                                              |
   +------------------------------------------------------------------------+
                     VARI  DESCRIPTION                    A
                    ----------------------------------------
                    [ABBL  A. BLACK BLUE                  Y]
                     ABRN  A. BROWN                       Y
                     ANAV  A.NAVY                         Y
                     ACID  ACID                           Y
                     ABLK  ACID BLACK                     Y
                     ACIB  ACID BLUE                      Y
                     AGRY  ACID GRAY                      Y
                     ACNV  ACID NAVY                      Y
                     ACRB  ACID ROYAL BLUE                Y
                     ACBL  ACTIVE BLUE                    Y


So any changes to the field position, label or description can be done without having to recompile the program. No messy hardcoded GOTOXY calls in the programs.