APPENDIX B - SMF SYNTAX SUMMARY

  MENU DESIGN TOOL

     LAYOUT SCREEN STATEMENT:

LAYOUT SCREEN menu_name
/MENU row, column, number_of_rows, number_of_columns, rendition
/SELECTION item_display, keyword_length, rendition
/[BORDER [rendition, title]]
/[FUNCTION function_trigger]
/[MESSAGE row, column, rendition, text]...
/[LINE start_row, start_column, end_row, end_column, rendition]...
/[PROMPT row, column, rendition, text]...
/[RECTANGLE top_left_row, top_left_column, bottom_right_row, bottom_right_column, rendition]...
/[TITLE row, column, rendition, text]...
//ITEM row, column, rendition, text...
/[KEYWORD row, column, rendition, text]
/[PERFORM trigger_name [/ALWAYS/ BEFORE]]...
/[HELP [row, column, number_of_rows, number_of_columns, rendition]
[/{TEXT text;/PERFORM trigger_name}]
LAYOUT END

     STATEMENTS/COMMANDS:

GENERATE menu_name TO menu_id [{IF; UNLESS} condition] [iterate clause]
MENU menu_id [{IF; UNLESS} condition] [iterate clause]
FLUSH menu_id [{IF; UNLESS} condition] [iterate clause]

     SYSTEM FIELDS:

@MENU_ACTION
@MENU_CHOICE
@MENU_KEYWORD
@NEXT_ITEM
@HELP_CODE
@REFRESH_CODE

FORM DESIGN TOOL

     LAYOUT SCREEN STATEMENT:

LAYOUT SCREEN form_name
/FILL row, column, number_of_rows, number_of_columns, rendition
/SELECTION rendition
/[PERFORM final_trigger]
/[BORDER [rendition, text]]
/[FUNCTION function_trigger]
/[MESSAGE row, column, rendition, text]...
/[LINE start_row, start_column, end_row, end_column, rendition]...
/[PROMPT row, column, rendition, text]...
/[RECTANGLE top_left_row, top_left_column, bottom_right_row, bottom_right_column, rendition]...
/[TITLE row, column, rendition, text]...
/FIELD row, column, width, rendition, field_name, display_type
/
/
/[PERFORM trigger_name [/ALWAYS/ {BEFORE; AFTER}]]...
/[HELP [row, column, number_of_rows, number_of_columns, rendition]]
[/{TEXT text;/PERFORM trigger_name}]
LAYOUT END

     STATEMENTS/COMMANDS:

GENERATE form_name TO form_id [{IF; UNLESS} condition] [iterate clause]
FILL form_id FOR {ENTER, CHANGE, SHOW, CHOICE} [{IF; UNLESS} condition] [iterate clause]
FLUSH form_id [{IF; UNLESS} condition] [iterate clause]]

     SYSTEM FIELDS:

@FILL_ACTION
@NEXT_ITEM
@CANCEL_CODE
@END_CODE
@HELP_CODE
@REFRESH_CODE
@TERM_CODE
@TERM_LIST

SMF WINDOW CONTROL TOOLS

     SYSTEM FUNCTIONS:

@CREATE_WINDOW (number_of_rows, number_of_columns, window_attributes, rendition)
@GET_COLUMN (window_id)
@GET_ROW (window_id)
@READ_CHAR (window_id, start_row, start_column, width rendition [,default_value])
@READ_DATE (window_id, start_row, start_column, width, rendition, date_format [,default_value])
@READ_INT (window_id, start_row, start_column, width, rendition, picture_format [,default_value])
@READ_KEYSTROKE (window_id, timeout_value)
@READ_NUM (window_id, start_row, start_column, width, rendition, picture_format [,default_value])

     SYSTEM FIELDS:

@FUNCTION_CODE
@FUNCTION_LIST

     STATEMENTS/COMMANDS:

SCREEN BEGIN_UPDATE /USING/ window_id
SCREEN CHANGE_RENDITION /USING/ window_id, start_row, start_column, number_of_rows,
     number_of_columns, rendition
SCREEN DELETE_CHARS /USING/ window_id, number_of_characters, start_row, start_column
SCREEN DELETE_LINE /USING/ window_id, start_row, number_of_rows
SCREEN DELETE_WINDOW /USING/ window_id
SCREEN DRAW_LINE /USING/ window_id, start_row, start_column, end_row, end_column, rendition
SCREEN DRAW_RECTANGLE /USING/ window_id, top_left_row, top_left_column, bottom_right_row,
     bottom_right_column, rendition
SCREEN END_UPDATE /USING/ window_id
SCREEN ERASE_CHARS /USING/ window_id, number_of_characters, start_row, start_column
SCREEN ERASE_LINE /USING/ window_id, start_row, start_column
SCREEN ERASE_WINDOW /USING/ window_id, start_row, start_column, end_row, end_column
SCREEN FLUSH_BUFFER
SCREEN HOME_CURSOR /USING/ window_id, position
SCREEN INSERT_CHARS /USING/ window_id, string, start_row, start_column, rendition
SCREEN INSERT_LINE /USING/ window_id, start_row, string, direction, rendition, wrap_flag
SCREEN KILL_SCREEN
SCREEN LABEL_BORDER /USING/ window_id, string, border_side, position, rendition
SCREEN LEAVE_SCREEN /USING/ start_row, end_row
SCREEN PASTE_WINDOW /USING/ window_id, start_row, start_column
SCREEN PUT_BIG_CHARS /USING/ window_id, string, start_row, start_column, rendition
SCREEN PUT_CHARS /USING/ window_id, string, start_row, start_column, erase-flag, rendition
SCREEN PUT_LINE /USING/ window_id, string, row_advance, rendition, wrap_flag
SCREEN PUT_WIDE_CHARS /USING/ window_id, string, start_row, start_column, rendition
SCREEN PUT_WITH_SCROLL /USING/ window_id, string, direction, rendition, wrap_flag
SCREEN REPAINT_SCREEN
SCREEN RING_BELL /USING/ window_id, count
SCREEN SCROLL_WINDOW_AREA /USING/ window_id, start_row, start_column, number_of_rows,
     number_of_columns, direction, count
SCREEN SET_CURSOR_ABS /USING/ window_id, row, column
SCREEN SET_CURSOR_REL /USING/ window_id, delta row, delta column
SCREEN SET_KEYPAD_MODE /USING/ new mode
SCREEN UNPASTE_WINDOW /USING/ window_id

ARGUMENTS:

rendition (video attributes)
@NORMAL
@BLINK
@BOLD
@REVERSE
@UNDERLINE
position (cursor)
@UPPER_LEFT
@LOWER_LEFT
@UPPER_RIGHT
@LOWER_RIGHT
direction (scroll)
@UP
@DOWN
wrap_flag (text)
@WRAP
@NO_WRAP
border_side
@BOR_TOP, @TOP
@BOR_BOTTOM, @BOTTOM
@RIGHT, @BOR_RIGHT
@LEFT, @BOR_LEFT
erase_flag
@ERASE
@NOERASE
new_mode (keypad)
@APPL, @KP_APPL
@NUM, @KP_NUM
window_attributes
@BORDER
@TRUNC_ICON
@WINDOW_CTRL

Back to Appendix A    Next page Appendix C