Function Definition |
![]() DEVELOPER |
![]() |
The Structure File VIPBM00 defines the order and basic relationships between function objects. Many of the attributes on this file are keys to other PROIV Developer files, so if the data on this file gets out of step, then the end result is a corrupt function definition.
If the developer intends to alter keys on other PROIV Developer files, for example, renaming Object Tags, then care must be taken to ensure that this file is also updated and remains correct. If they are not updated correctly then all sorts of problems will occur. For example, any Cut/Copy/Paste/New object operations will fail.
Once the structure information for a function is corrupt, it can be impossible to determine the layout of the function. For this reason it should be considered a critical file for the correct operation of PROIV Developer.
VIPBM00 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@STRUCTURE_SEQ |
6 |
|
Sequence number of file |
003 |
A |
@OBJECT_BOOT_CODE |
1 |
|
Object Boot Code |
004 |
A |
@OBJECT_TAG |
32 |
|
Object Tag Name |
005 |
A |
@OBJECT_CODE |
10 |
|
PROIV Developer Object Code |
006 |
A |
@OBJECT_CB# |
1 |
|
Control Break number |
007 |
A |
@NEST_LEVEL |
2 |
|
Nest level of object |
008 |
N |
@OBJECT_INDENT |
3 |
|
Indentation of object |
009 |
A |
@PRIMARY_FILE |
32 |
|
Primary file name |
010 |
A |
@LOGIC_POINTS |
100 |
|
Logic Points assigned on this object |
011 |
A |
@PARENT_TAG |
32 |
|
Parent Tag of this object
|
012 |
A |
@FORMAT_TAG |
32 |
|
Parent Format Tag Name (Static objects only) |
013 |
A |
@FILE_SEQ |
2 |
|
Sequence number of file |
014 |
A |
@FILE_NAME |
32 |
|
File name |
015 |
A |
@LAST_OBJECT_STRUCTURE_SEQ |
6 |
|
Structure Sequence Number of the last object in this Cycle |
016 |
A |
@CYCLE_TAG |
32 |
|
Parent Cycle Tag of this object |
|
Caution: The data held on this file should be treated as read-only by the developer and should not be updated directly |
The Structure File is keyed with a 6 digit, zero filled sequence number which must not contain gaps at any time.
The Tag attributes on the Structure File should not be maintained by the developer. Use the Tag Rename Helper Function instead to rename objects as this will update all references to that object, including logic statements. The object tag attributes here are keys to other files and should they get out of step, the function is corrupt.
Refer to PROIV Developer Helper Functions for more information.
The @OBJECT_CODE attribute is the primary object type descriptor and it is this which defines the object type and which attributes are maintainable in PROIV Developer’s property sheets. It is not recommended that this attribute should be altered directly as this may leave invalid properties defined against the object, or the object may not be initialised with the correct default properties. For more information on the possible values of this attribute, refer to Object Code Values.
The @NEST_LEVEL attribute describes how deep within the function structure the object is. The main Function object starts at level 0, with the level increasing by 1 with each nested cycle. This attribute must not be altered, doing so will lead to corruption of the function.
The @OBJECT_INDENT attribute is used for the legacy list box style structure views in PROIV Developer, and controls how far to indent the object to illustrate a child relationship to other objects. The value is calculated, based on the function type, object boot code and nest level. Although altering the value would not corrupt a function, it could lead to some odd presentation of the structure when copied to clip/template fragments.
The @LOGIC_POINTS attribute contains the logics assigned to this object. This data is used by the views and when determining whether a logic is assigned or not. It is therefore important that the information it contains is correct. The format for storing the data can be found in Event Points and Logic Assignment.
The @PRIMARY_FILE attribute is only held against cycle objects. It holds the name of the primary file that drives the cycle. This is either the first file within the cycle which is not read on a control break, or it is the file which has the Primary File flag set.
The @LAST_OBJECT_STRUCTURE_SEQ attribute is only populated for cycle objects. The value it holds is the key of the end-of-cycle marker associated to that cycle, indicated by a record with a z object boot code.
If the Structure File has records inserted or deleted then this attribute must be maintained to reflect those changes, otherwise the function definition is corrupt.
The attributes @FILE_SEQ and @OBJECT_CB# together with @CYCLE_TAG are the keys to VIPBM06 and VIPBM07 for File and Control Break objects. These attributes should therefore not be maintained.
In the case of File objects, the @FILE_NAME attribute should always match the file name on the VIPBM06 record, held in attribute @FLN.
VIPBM22 describes the type of each object in a function, and where its attributes are stored. This file is also responsible for ensuring there are no duplicate tags in a function.
With the exception of @OBJECT_CODE and @LAST_TAB, the attributes on this file are keys to other data files in PROIV Developer, and like the Structure File, it is essential that the data on this file is not corrupted.
VIPBM22 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@TAG_ID |
32 |
|
Object Tag of the ActiveX control this Event is defined on |
003 |
A |
@OBJECT_CODE |
10 |
|
PROIV Developer Object Code |
004 |
A |
@RESERVED_VIPBM22_004 |
32 |
|
Reserved Attribute |
005 |
A |
@LS_TAGNAME |
32 |
|
Parent Cycle Tag Name (Dynamic objects only) |
006 |
A |
@FORMAT_TAG |
32 |
|
Parent Format Tag Name (Static objects only) |
007 |
A |
@FORMAT_SEQ |
3 |
|
Parent Format unique item key (Static objects only) |
The @TAG_ID attribute is the Tag Name for this object. It is not recommended that developers maintain it directly, but use the Tag Rename Helper Function instead. Object tags are referred to in many places and using the Helper Function will automatically update all references to the object, including any logic statements. Apart from defining the type of each object in a function, the other purpose of this file is to ensure that tag names are unique.
The @OBJECT_CODE attribute is the primary object type descriptor and it is this which defines the object type and which attributes are maintainable in PROIV Developer’s property sheets. It is not recommended that this attribute should be altered directly as this may leave invalid properties defined against the object, or the object may not be initialised with the correct default properties. For more information on this attribute, refer to Object Code Values.
|
Caution: The data held on this file should be treated as read-only by the developer and should not be updated directly |
VIPBM01 holds the main attributes for a function and defines its type and behaviour. In Native PROIV the equivalent file was FUNCTDEF.
VIPBM01 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
A |
@VIP_FUNT |
30 |
|
Function type - Verbose |
003 |
A |
@FUNT |
2 |
|
Function type |
004 |
A |
@LFUN |
32 |
|
Exit Link: Name of function called on exit |
005 |
A |
@EFUN |
32 |
|
Error Link: Name of function called on error |
006 |
A |
@SECCAT |
8 |
|
Security category required by operator to access this function |
007 |
N |
@SECLVL |
2 |
|
Minimum security level (1-9) in category required by operator to access |
008 |
A |
@FTX |
40 |
|
Function title |
009 |
A |
@FUNAN |
32 |
|
Analyst who created this function |
010 |
A |
@FDEVTYPE |
40 |
|
Name of device to which report is output (CRT/AP/LPn permitted) |
011 |
A |
@FDEVID |
8 |
|
Device ID |
012 |
A |
@FFORMID |
8 |
|
Form ID |
013 |
N |
@FCOPIES |
3 |
|
Number of copies to be printed |
014 |
A |
@FHOLDF |
1 |
|
Create Hold File? flag |
015 |
A |
@FRELEASE |
1 |
|
Release? flag |
016 |
A |
@FSUPDTL |
1 |
|
Suppress Dynamics - Only Print Headers and Control Breaks? flag
|
017 |
A |
@FPAGEH |
1 |
|
Suppress Print of Page Headers? flag |
018 |
A |
@FFIRSTLINE |
1 |
|
Suppress Print of Standard 1st Line? flag |
019 |
A |
@FSKIPPAGE |
1 |
|
Suppress 1st Form Feed at Report Start? flag |
020 |
A |
@FSPOOL |
1 |
|
Spool to Device? flag |
021 |
A |
@FGROUPR |
1 |
|
Group this Report's Output with previous one? flag |
022 |
A |
@RESERVED_VIPBM01_022 |
9 |
|
Reserved Attribute |
023 |
A |
@PRODF |
1 |
|
Function is in Production flag |
024 |
A |
@SFUN |
32 |
|
Security Link: Function called if operator has insufficient security |
025 |
A |
@FPSB |
8 |
|
Program Specification Block |
026 |
N |
@FLGCIN |
4 |
|
Logic ID to execute on Function Entry |
027 |
N |
@FLGCOUT |
4 |
|
Logic ID to execute on Function Exit |
028 |
A |
@FBATCHQUE |
1 |
|
Batch Queue ID |
029 |
A |
@FPRIORITY |
1 |
|
Batch Queue Priority (1 to 9) |
030 |
A |
@NCMDCL |
1 |
|
Block Function Execution from Command Prompt? flag |
031 |
A |
@FCLASS |
1 |
|
SYSOUT Class (OS) or Device Class (DOS)? flag |
032 |
A |
@FPRT_BURST |
1 |
|
3800 Printing Burst Option flag. True=Burst False=Fanfold |
033 |
A |
@FPRT_FLASH |
4 |
|
3800 Flash Form Identifier (4 bytes maximum) |
034 |
N |
@FPRT_FL_COPIES |
3 |
|
3800 number of copies of Flash Form |
035 |
A |
@FPRT_MODIFY |
1 |
|
3800 Modify Module Name
|
036 |
N |
@FPRT_MOD_TABLE |
1 |
|
3800 Character Arrangement table to be used with Modify (1 to 4) |
037 |
A |
@FPRT_CHAR_SET |
4 |
4 |
3800 Character Arrangement table (1 to 4) - 4 byte entries (GE10,GE12) |
038 |
N |
@FPRT_COPYG |
3 |
8 |
3800 Character Arrangement table copy group (1 to 8) |
039 |
GS |
|
|
7 |
|
040 |
A |
@RESERVED_VIPBM01_040 |
10 |
|
Reserved Attribute |
041 |
A |
@RESERVED_VIPBM01_041 |
10 |
|
Reserved Attribute |
042 |
A |
@RESERVED_VIPBM01_042 |
1 |
|
Reserved Attribute |
043 |
A |
@RESERVED_VIPBM01_043 |
1 |
|
Reserved Attribute |
044 |
A |
@RESERVED_VIPBM01_044 |
1 |
|
Reserved Attribute |
045 |
A |
@RESERVED_VIPBM01_045 |
1 |
|
Reserved Attribute |
046 |
A |
@RESERVED_VIPBM01_046 |
1 |
|
Reserved Attribute |
047 |
A |
@RESERVED_VIPBM01_047 |
1 |
|
Reserved Attribute |
048 |
GE |
|
|
|
|
049 |
A |
@RESERVED_VIPBM01_049 |
1 |
|
Reserved Attribute |
050 |
A |
@RESERVED_VIPBM01_050 |
1 |
|
Reserved Attribute |
051 |
A |
@RESERVED_VIPBM01_051 |
1 |
|
Reserved Attribute |
052 |
A |
@RESERVED_VIPBM01_052 |
1 |
|
Reserved Attribute |
053 |
A |
@RESERVED_VIPBM01_053 |
1 |
|
Reserved Attribute |
054 |
A |
@RESERVED_VIPBM01_054 |
1 |
|
Reserved Attribute |
055 |
A |
@RESERVED_VIPBM01_055 |
1 |
|
Reserved Attribute |
056 |
N |
@AN_TO_WIDE_RATIO |
1 |
|
Alpha-numeric to wide characters print ratio: 1 - 1:2 or 2 - 2:3 |
057 |
A |
@RESERVED_VIPBM01_057 |
34 |
|
Reserved Attribute |
058 |
A |
@RESERVED_VIPBM01_058 |
1 |
|
Reserved Attribute |
059 |
A |
@NORUMSG |
1 |
|
Suppress Report/Update in Progress? flag |
060 |
A |
@GUI_MENU_TYPE |
1 |
|
GUI menu type |
061 |
A |
@GUI_ICON_LABEL |
40 |
|
Function title to use on menus |
062 |
A |
@GUI_ICON_NAME |
32 |
|
File name of icon to use on menus |
063 |
A |
@RPT_BEGIN_HDR_TAG |
32 |
|
ID of header that is printed at start of document |
064 |
A |
@RPT_END_HDR_TAG |
32 |
|
ID of header that is printed at end of document |
065 |
N |
@RPT_WIDTH |
3 |
|
Report page width |
066 |
N |
@RPT_LENGTH |
3 |
|
Report page length |
067 |
N |
@RESERVED_VIPBM01_067 |
3 |
|
Reserved Attribute |
068 |
N |
@RESERVED_VIPBM01_068 |
3 |
|
Reserved Attribute |
069 |
A |
@SPOOL_START_STRING |
60 |
|
Control string to send before document starts printing |
070 |
A |
@SPOOL_END_STRING |
60 |
|
Control string to send after printing the document |
071 |
A |
@SPOOL_EJECT_AT_END |
1 |
|
Eject Page at End of Document? flag |
072 |
A |
@SPOOL_LF_ACROSS_PAGE |
1 |
|
Line Feed across Page? flag |
073 |
A |
@FUN_NO_DATA_RTN |
1 |
|
Return no Data from Function? flag |
074 |
A |
@GUI_LINE12_OPTION |
1 |
|
Suppress Lines 1 and 2 in GUI mode? flag |
075 |
A |
@RESERVED_VIPBM01_075 |
1 |
|
Reserved Attribute |
076 |
A |
@RESERVED_VIPBM01_076 |
32 |
|
Reserved Attribute |
077 |
A |
@RESERVED_VIPBM01_077 |
1 |
|
Reserved Attribute |
078 |
A |
@RESERVED_VIPBM01_078 |
8 |
|
Reserved Attribute |
079 |
A |
@RESERVED_VIPBM01_079 |
1 |
|
Reserved Attribute |
080 |
A |
@RESERVED_VIPBM01_080 |
1 |
|
Reserved Attribute |
081 |
A |
@RESERVED_VIPBM01_081 |
1 |
|
Reserved Attribute |
082 |
A |
@RESERVED_VIPBM01_082 |
1 |
|
Reserved Attribute |
083 |
N |
@RESERVED_VIPBM01_083 |
3 |
|
Reserved Attribute |
084 |
N |
@RESERVED_VIPBM01_084 |
3 |
|
Reserved Attribute |
085 |
A |
@FUNXMLTAG |
32 |
|
Function XML tag |
086 |
N |
@MS# |
3 |
|
Number of menu options available (max 40) |
087 |
N |
@MSLGCID |
4 |
|
Logic ID to execute on selection of a menu option (1 to 40) |
088 |
A |
@MS |
32 |
40 |
Function to link to on selecting menu option (1 to 40) |
089 |
A |
@GUI_MENU_ICON_LABEL |
40 |
40 |
Function label to display for menu option (1 to 40) |
090 |
A |
@GUI_MENU_ICON_NAME |
32 |
40 |
File name of icon to display for menu option |
091 |
A |
@LOGIC_ID_USED |
1 |
999 |
Status flag for Logic IDs: Assigned=Upper/Lower, Valid=Y/N, Null=Unused |
092 |
N |
@CYCLE_COUNT |
2 |
|
Number of Cycles defined in function |
093 |
N |
@FLD_COUNT |
3 |
|
Number of Dynamic objects defined in function |
094 |
N |
@RESERVED_VIPBM01_094 |
1 |
|
Reserved Attribute |
095 |
A |
@RESERVED_VIPBM01_095 |
1 |
|
Reserved Attribute |
096 |
A |
@FUN_REP_XML_CDATA_SUPPORT |
1 |
|
CDATA wrapping mode for an XML Report |
097 |
A |
@FUN_REP_XML_ENCODING |
32 |
|
Encoding to be used in an XML declaration |
098 |
A |
@ML_TM_FTX |
1 |
|
Multilingual translation mode for the function title |
099 |
A |
@ML_MN_FTX |
5 |
|
Multilingual meaning code for the function title |
100 |
N |
@ML_MX_FTX |
4 |
|
Multilingual maximum length for the function title |
101 |
A |
@ML_TM_GUI_ICON_LABEL |
1 |
|
Multilingual translation mode for the function title to use on menus |
102 |
A |
@ML_MN_GUI_ICON_LABEL |
5 |
|
Multilingual meaning code for the function title to use on menus |
103 |
N |
@ML_MX_GUI_ICON_LABEL |
4 |
|
Multilingual maximum length for the function title to use on menus |
104 |
A |
@ML_TM_GUI_MENU_ICON_LABEL |
1 |
40 |
Multilingual translation mode for the function label on menu option |
105 |
A |
@ML_MN_GUI_MENU_ICON_LABEL |
5 |
40 |
Multilingual meaning code for the function label on menu option |
106 |
N |
@ML_MX_GUI_MENU_ICON_LABEL |
4 |
40 |
Multilingual maximum length for the function label on menu option |
107 |
A |
@FUN_REP_XML_ILLEGAL_OPTION |
1 |
|
Action to resolve illegal characters in XML Attributes |
108 |
A |
@INCLUDABLE_FUNCTION |
1 |
|
Includable Function? flag |
109 |
A |
@RESERVED_VIPBM01_109 |
1 |
|
Reserved Attribute |
110 |
A |
@FUN_TRANSFORM |
127 |
|
XML transformation file name |
111 |
A |
@FUN_TRANSFORMED_FILE |
127 |
|
File name or type to output to the client |
112 |
A |
@RESERVED_VIPBM01_112 |
1 |
|
Reserved Attribute |
When the Logic ID assignment attributes on this file are updated, the structure record for the function header object must also be updated to reflect this. For more information regarding the @LOGIC_POINTS attribute and the data that it contains please refer to Event Points and Logic Assignment.
When logic is assigned or unassigned, its status flag in the @LOGIC_ID_USED attribute may also require updating.
The@LOGIC_ID_USED attribute is an array of 999 elements, one for each Logic ID.
Each element may be set with the following values:
Null This logic is undefined and is not referenced by the function.
Y This logic is defined, it is referenced and it contains valid code.
y This logic is defined, it is referenced and it contains invalid code.
N This logic is defined, it is not referenced and it contains valid code.
n This logic is defined, it is not referenced and it contains invalid code.
It is important to keep the contents of the @LOGIC_ID_USED correct, as any logics marked as unreferenced are targeted for removal by the clean up tools. The Logic Editor also uses this attribute to find the first available Logic ID when creating new function logic. If the attribute has not been updated correctly, the Logic Editor may not be able to generate the next new Logic ID and would instead open a Logic ID that already has logic defined against it.
When the Function Link attributes on this file are updated, Function linkage must also be updated. This can be done by running the VIPLINKS Helper Function once all changes have been made to the function.
The Function Linkage Table is documented in Shared Data Files for Functions and Global Logics and the Helper Function is documented in PROIV Developer Helper Functions.
The Function Definition: Cycles file, VIPBM02 holds the main attributes for a function’s cycles and defines their type and behaviour. In Native PROIV the equivalent file was LSDEF.
VIPBM02 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@LS_TAGNAME |
32 |
|
Parent Cycle Tag Name (Dynamic objects only) |
003 |
A |
@CYCLE_MAIN_FORMAT_TAG |
32 |
|
Main Statics Group Tag Name |
004 |
A |
@CYCLE_ALTERNATE_FORMAT_TAG |
32 |
|
Alternate Statics Group Tag Name |
005 |
A |
@CYCLE_DETAIL_FORMAT_TAG |
32 |
|
Record Detail Statics Group Tag Name |
006 |
A |
@LSRM |
5 |
|
Screen Modes allowed in this Cycle |
007 |
A |
@SORTF |
1 |
|
Sort/Select control flag |
008 |
A |
@RESERVED_VIPBM02_008 |
1 |
|
Reserved Attribute |
009 |
A |
@LSRCS |
1 |
|
Clear Screen? flag |
010 |
A |
@LSRPG |
1 |
|
Primary File is a Paging File? flag |
011 |
A |
@LSROT |
1 |
|
One Time? flag |
012 |
N |
@LSRLG |
3 |
|
Logic ID to execute on change of Screen mode |
013 |
N |
@LSRPSPL |
3 |
|
Paging - Start Row |
014 |
N |
@LSRPEPW |
3 |
|
Paging - End Row |
015 |
N |
@LSDLPR |
3 |
|
Number of lines required per record |
016 |
N |
@LSMLN |
2 |
|
Line number to display screen mode on |
017 |
N |
@SRT-EFILE |
2 |
|
Highest file number to be included in sort |
018 |
N |
@SRT-LGC |
3 |
|
Logic ID to executed on sort |
019 |
A |
@SRT-VAR1 |
34 |
|
1st sort variable |
020 |
A |
@SRT-VAR2 |
34 |
|
2nd sort variable |
021 |
A |
@SRT-VAR3 |
34 |
|
3rd sort variable |
022 |
A |
@SRT-VAR4 |
34 |
|
4th sort variable |
023 |
A |
@SRT-VAR5 |
34 |
|
5th sort variable |
024 |
A |
@RESERVED_VIPBM02_024 |
1 |
|
Reserved Attribute |
025 |
N |
@STARTCOL |
3 |
|
Paging - start column |
026 |
N |
@ENDCOL |
3 |
|
Paging - end column |
027 |
N |
@COLRCD |
4 |
|
Paging - columns required per record |
028 |
N |
@PGTBSZ |
4 |
|
Paging - number of elements to display |
029 |
A |
@PROMPT |
14 |
|
Line# Prompt - literal to display instead of default |
030 |
A |
@LSDEFCE |
1 |
|
Paging - Display in Contracted Mode as Default? flag |
031 |
N |
@RESERVED_VIPBM02_031 |
3 |
|
Reserved Attribute |
032 |
N |
@LSCLPR |
3 |
|
Paging - Number of lines per record when contracted |
033 |
A |
@LSDEFMODE |
1 |
|
Default mode for Cycle |
034 |
N |
@LSREXLG |
3 |
|
Logic ID to execute on exit of Cycle |
035 |
N |
@LSSCSTCOL |
3 |
|
Window - start column |
036 |
N |
@LSSCSTROW |
3 |
|
Window - start row |
037 |
N |
@LSSCEDCOL |
3 |
|
Window - end column |
038 |
N |
@LSSCEDROW |
3 |
|
Window - end row |
039 |
A |
@RESERVED_VIPBM02_039 |
14 |
10 |
Reserved Attribute |
040 |
A |
@RESERVED_VIPBM02_040 |
12 |
10 |
Reserved Attribute |
041 |
A |
@RESERVED_VIPBM02_041 |
74 |
|
Reserved Attribute |
042 |
A |
@GUI_WIN_BORDER |
1 |
|
Paging - Draw Border? flag |
043 |
A |
@GUI_NORM_HGRID |
1 |
|
Paging - Draw Horizontal Grid Lines when Contracted? flag |
044 |
A |
@GUI_EXP_HGRID |
1 |
|
Paging - Draw Horizontal Grid Lines when Expanded? flag |
045 |
A |
@GUI_NORM_VGRID |
1 |
|
Paging - Draw Vertical Grid Lines when contracted? flag |
046 |
A |
@GUI_EXP_VGRID |
1 |
|
Paging - Draw Vertical Grid Lines when Expanded? flag |
047 |
A |
@GUI_MOUSE_NAV |
1 |
|
Allow Mouse Navigation? flag |
048 |
A |
@RESERVED_VIPBM02_048 |
1 |
|
Reserved Attribute |
049 |
A |
@GUI_SUPPRESS_BORDER |
1 |
|
Suppress Border in GUI Mode? flag |
050 |
N |
@GUI_LS_BORDER |
2 |
4 |
GUI Border (1=Start Col,2=Start Line,3=End Col,4=End Line) |
051 |
N |
@LSENTLGC |
4 |
|
Logic ID to execute on entry of Cycle |
052 |
N |
@EOD_CANLGC |
4 |
|
Logic ID to execute on EOD/Cancel |
053 |
A |
@SUPP_AYS |
1 |
|
Suppress Confirmation on Delete? flag
|
054 |
A |
@LSALMDELS |
1 |
|
Suppress Access to Augmented-Lookup Fields when in Delete Mode? flag |
055 |
A |
@LS_EC_DEF |
4 |
|
Paging - Default to Expanded/Contract Mode when in A,C,L,D (4: E or C) |
056 |
A |
@LS_EC_SUPP |
4 |
|
Paging - Suppress Contracted Mode when in Add? flag |
057 |
A |
@LS_UPDATE |
1 |
|
Cycle Type. (L=LS Update; S=Selection cycle; E=Active Paging) |
058 |
A |
@LS_ITERATION_COUNT |
32 |
|
Cycle Iteration Counter (variable name) |
059 |
A |
@GUI_LS_HELP_KEYWORD |
40 |
|
Help File Keyword for this Cycle |
060 |
N |
@LR_MIN_DETAIL_START |
3 |
|
Minimum number of records to keep together at start of Cycle |
061 |
N |
@LR_KEEP_DETAIL_CB |
3 |
|
Keep Control Break with Proceeding Detail Line? flag |
062 |
N |
@LR_HDR_PRINT_TIMING |
1 |
|
Header print timing (0,1 or 2) |
063 |
A |
@LR_FORCE_LR_HDR |
1 |
|
Force Header Print when no records? flag |
064 |
A |
@LR_SPLIT_ALLOWED |
1 |
|
Allow Record Detail to Split onto new Page? flag |
065 |
A |
@LR_START_NEW_PAGE |
1 |
|
Print Each Record Detail on New Page? flag |
066 |
A |
@LR_KEEP_WITH_PARENT |
1 |
|
Keep Min Records with Previous Block? flag |
067 |
N |
@GUI_HEADER_SLINE |
3 |
|
GUI Header - start row |
068 |
N |
@GUI_HEADER_SCOL |
3 |
|
GUI Header - start column |
069 |
N |
@GUI_HEADER_ELINE |
3 |
|
GUI Header - end row |
070 |
N |
@GUI_HEADER_ECOL |
3 |
|
GUI Header - end column |
071 |
A |
@LS_BACKGROUND |
1 |
|
GUI Wallpaper - Is Filename Required? flag |
072 |
A |
@LS_WALLPAPER |
60 |
|
GUI Wallpaper - image filename |
073 |
A |
@LSXMLTAG |
32 |
|
XML tag for Cycle |
074 |
A |
@LSRECXMLTAG |
32 |
|
XML tag for records read in this Cycle |
075 |
A |
@RESERVED_VIPBM02_075 |
2 |
|
Reserved Attribute |
076 |
A |
@RESERVED_VIPBM02_076 |
32 |
|
Reserved Attribute |
077 |
A |
@START_TAG |
32 |
|
Tag Name of Dynamic object which Cycle starts on |
078 |
A |
@END_TAG |
32 |
|
Tag Name of Dynamic object which Cycle ends on |
079 |
A |
@LAST_READ_FLD_TAG |
32 |
|
Tag Name of Dynamic object after which all files can be read |
080 |
A |
@PRIMARY_FILE |
32 |
|
Primary file name |
081 |
A |
@LAST_CB# |
1 |
|
Number of Control Breaks in this Cycle |
082 |
A |
@LAST_FILE# |
2 |
|
Number of File Accessors in this Cycle |
083 |
A |
@CONTRACTED_END_TAG |
32 |
|
Tag Name of last Dynamic object to include in contracted Paging mode |
084 |
N |
@RESERVED_VIPBM02_084 |
1 |
|
Reserved Attribute |
085 |
A |
@RESERVED_VIPBM02_085 |
1 |
|
Reserved Attribute |
When the Logic ID assignment attributes on this file are updated, the @LOGIC_POINTS attribute on the corresponding structure record for the cycle object must also be updated to reflect this. For more information regarding the @LOGIC_POINTS attribute and the data that it contains please refer to Event Points and Logic Assignment.
When logic is assigned or unassigned, its status flag in the @LOGIC_ID_USED attribute may also require updating. For more information, refer to the documentation for this attribute under Function Definition: Header File in this chapter.
If the Iteration Count attribute is changed, or if any of the Sort Variable attributes are changed to contain the name of a new scratch variable, it is recommended that it should also be defined in the Function Definition: Scratch Variables file, VIPBM15.
The Function Definition: Cycle Function Keys file, VIPBM03 holds the main attributes for the Function Keys assigned to function cycles. In Native PROIV the equivalent files were LSFUN1 and LSFUN2.
VIPBM03 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@LS_TAGNAME |
32 |
|
Parent Cycle Tag Name (Dynamic objects only) |
003 |
AK |
@CYCLE_FNKEY |
4 |
|
Function Key (33 to 232, data is LFB) |
004 |
N |
@CYCLE_LOGIC_ID |
3 |
|
Logic ID to execute when Function Key is activated |
005 |
A |
@CYCLE_GLOBAL_LOGIC_ID |
32 |
|
Global Logic to execute when Function Key is activated |
006 |
A |
@CYCLE_CALL_TAG |
32 |
|
Cycle to call when Function Key is activated |
007 |
A |
@CYCLE_FUNCTION |
32 |
|
Function to Link to when Function Key is activated |
008 |
A |
@CYCLE_DISABLE |
1 |
|
Disable Function Key in this Cycle? flag |
009 |
A |
@CYCLE_WHEN |
1 |
|
Function Key Timing. (D=Deferred; I=Immediate) |
010 |
A |
@CYCLE_INTERFACE |
32 |
|
Map Tag Name for Global Function call |
011 |
A |
@CYCLE_FUNCALL |
32 |
|
Global Function to call when Function Key is activated |
012 |
A |
@CYCLE_TEXT |
32 |
|
Function Key description for menu |
013 |
A |
@RESERVED_VIPBM03_013 |
1 |
|
Reserved Attribute
|
014 |
A |
@RESERVED_VIPBM03_014 |
20 |
|
Reserved Attribute |
015 |
A |
@RESERVED_VIPBM03_015 |
1 |
|
Reserved Attribute
|
016 |
A |
@RESERVED_VIPBM03_016 |
5 |
|
Reserved Attribute |
017 |
N |
@RESERVED_VIPBM03_017 |
4 |
|
Reserved Attribute |
When logic is assigned to or unassigned from the @CYCLE_LOGIC_ID attribute, its status flag in the @LOGIC_ID_USED attribute may also require updating. For more information, refer to the documentation for this attribute under Function Definition: Header File in this chapter.
If changes are made to the Function Link attribute, Function Call attribute and its associated map tag attribute, or the Global Logic ID attribute, then this function’s linkage information must also be updated. This can be done by running the VIPLINKS Helper Function once all changes have been made to the function.
The Linkage Table is documented in Shared Data Files for Functions and Global Logics and the Helper Function is documented in PROIV Developer Helper Functions.
The Function Definition: Static Objects file, VIPBM04 holds the main attributes for the Static objects assigned to function cycles and format groups. In Native PROIV the equivalent file was HDR.
VIPBM04 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@FORMAT_TAG |
32 |
|
Parent Format Tag Name (Static objects only) |
003 |
AK |
@FORMAT_SEQ |
3 |
|
Parent Format unique item key (Static objects only) |
004 |
A |
@ROW |
3 |
|
Start row of Static object |
005 |
A |
@COL |
3 |
|
Start column of Static object |
006 |
A |
@HDR_TAG |
32 |
|
Tag Name of Static object |
007 |
A |
@RESERVED_VIPBM04_007 |
32 |
|
Reserved Attribute |
008 |
A |
@HDAB_FLAT |
1 |
|
Absolute Position? flag of Static object |
009 |
A |
@RESERVED_VIPBM04_009 |
1 |
|
Reserved Attribute |
010 |
A |
@HDTV_FLAT |
250 |
|
Variable to display on Static object |
011 |
N |
@HDLN_FLAT |
3 |
|
Data length of variable on Static object |
012 |
A |
@RESERVED_VIPBM04_012 |
80 |
|
Reserved Attribute |
013 |
A |
@RESERVED_VIPBM04_013 |
1 |
|
Reserved Attribute |
014 |
N |
@RESERVED_VIPBM04_014 |
8 |
|
Reserved Attribute
|
015 |
N |
@RESERVED_VIPBM04_015 |
4 |
|
Reserved Attribute |
016 |
N |
@RESERVED_VIPBM04_016 |
5 |
|
Reserved Attribute |
017 |
A |
@GUI_OBJECT_TYPE |
30 |
|
Static object Type |
018 |
N |
@OBJECT_HEIGHT |
3 |
|
Height of Static object |
019 |
N |
@OBJECT_LENGTH |
3 |
|
Width of Static object |
020 |
N |
@RESERVED_VIPBM04_020 |
3 |
|
Reserved Attribute |
021 |
N |
@RESERVED_VIPBM04_021 |
3 |
|
Reserved Attribute |
022 |
N |
@RESERVED_VIPBM04_022 |
3 |
|
Reserved Attribute |
023 |
N |
@RESERVED_VIPBM04_023 |
3 |
|
Reserved Attribute |
024 |
A |
@MARGIN_CENTER |
1 |
|
Margin Centre? flag |
025 |
A |
@MARGIN_OUTSIDE |
1 |
|
Margin Outside? flag |
026 |
A |
@MARGIN_INSIDE |
1 |
|
Margin Inside? flag |
027 |
A |
@PROJECTION_INSET |
1 |
|
Projection Inset? flag |
028 |
A |
@PROJECTION_RAISED |
1 |
|
Projection Raised? flag |
029 |
A |
@PROJECTION_NORMAL |
1 |
|
Projection Normal? flag |
030 |
A |
@BOX_SURFACE |
1 |
|
Box Type Surface? flag |
031 |
A |
@BOX_BORDER |
1 |
|
Box Type Border? flag |
032 |
A |
@BOX_BOLD |
1 |
|
Box Border Bold? flag |
033 |
A |
@RESERVED_VIPBM04_033 |
1 |
|
Reserved Attribute |
034 |
A |
@LABEL_LABEL |
250 |
|
Label of Static object |
035 |
A |
@LABEL_DISPLAY_MASK |
12 |
|
Display mask of Static object |
036 |
A |
@LABEL_VAR |
1 |
|
Label is a Variable? flag of Static object |
037 |
A |
@LABEL_SUPPRESS |
1 |
|
Suppress Label? flag of Static object |
038 |
A |
@LABEL_ALIGNMENT |
1 |
|
Alignment of Static object's label |
039 |
A |
@LABEL_TOOLTIP |
80 |
|
Tooltip of Static object
|
040 |
A |
@GS_FORECOLOR |
10 |
|
Green Screen: foreground colour of Static object |
041 |
A |
@GS_BACKCOLOR |
10 |
|
Green Screen: background colour of Static object |
042 |
A |
@GS_REVERSE |
1 |
|
Green Screen: Reverse Video? flag of Static object |
043 |
A |
@GS_HIGHLIGHT |
1 |
|
Green Screen: Highlight? flag of Static object |
044 |
A |
@GS_UNDERLINE |
1 |
|
Green Screen: Underline? flag of Static object |
045 |
A |
@GS_BOX |
1 |
|
Green Screen: Draw Box Around? flag of Static object |
046 |
A |
@GS_BLINK |
1 |
|
Green Screen: Blink? flag of Static object |
047 |
A |
@GS_HIDE |
1 |
|
Green Screen: No Display? flag of Static object |
048 |
A |
@RESERVED_VIPBM04_048 |
1 |
|
Reserved Attribute |
049 |
A |
@BEHAVIOUR_ASSOCIATED_TAG |
32 |
|
Tag of Dynamic object associated with this Static object
|
050 |
A |
@EVENTS_REPLY_STRING |
16 |
|
String to return on click of Static object |
051 |
N |
@EVENTS_FNKEY |
3 |
|
Function Key to action on click of Static object |
052 |
A |
@GRAPHIC_MAIN |
32 |
|
Primary graphic to display on Static object. (File name or variable) |
053 |
A |
@GRAPHIC_VARIABLE |
1 |
|
Primary Graphic name is a Variable? flag of Static object |
054 |
A |
@CTL_P4_ID |
32 |
|
ActiveX Control Nickname/ID |
055 |
A |
@RESERVED_VIPBM04_055 |
2 |
|
Reserved Attribute |
If the either the label or the main graphic attributes are changed to contain the name of a new scratch variable, it is recommended that the new variable be defined in the Function Definition: Scratch Variables file, VIPBM15.
When the object is an ActiveX control, the attribute @CTL_P4_ID is used to define the type of control. This attribute should not be maintained directly and should be considered as read-only.
The Tag Name of the Static object, @HDR_TAG should not be updated directly, use the Helper Function VIPTAGRN instead. For more information on using this Helper Function, please refer to PROIV Developer Helper Functions.
The Function Definition: Dynamic Objects file, VIPBM05 holds the main attributes for the format objects assigned to function cycles. In Native PROIV the equivalent file was FLDSPEC.
VIPBM05 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@LS_TAGNAME |
32 |
|
Parent Cycle Tag Name (Dynamic objects only) |
003 |
AK |
@FLD_TAG |
32 |
|
Dynamic object Tag Name |
004 |
A |
@RESERVED_VIPBM05_004 |
3 |
|
Reserved Attribute |
005 |
A |
@LSRVNM |
32 |
|
Variable to use for data source of Dynamic object |
006 |
A |
@LSRDC |
12 |
|
Display Code for Dynamic object's data |
007 |
A |
@LSRFC |
3 |
|
Fill Code for Dynamic object's data |
008 |
A |
@LSRSC |
32 |
|
Standard Check/Global Logic to execute on input of data |
009 |
A |
@LSRTB |
1 |
|
Tab Stop? flag |
010 |
A |
@LSRMIVT |
1 |
|
MI/VT? flags |
011 |
A |
@LSRNCAB |
1 |
|
NC/AB? flags |
012 |
A |
@LSRDO |
1 |
|
Display Only? flag. (No keyboard entry in all modes) |
013 |
A |
@LSRAR |
1 |
|
Auto-Repeat? flag. (Default data from previous record) |
014 |
A |
@LSROV |
1 |
|
Over-Type? flag (Allow keyboard override of displayed data) |
015 |
N |
@LSRCL# |
3 |
|
Start column of Dynamic object |
016 |
N |
@LSRLN# |
3 |
|
Start row of Dynamic object |
017 |
N |
@LSRMX |
4 |
|
Maximum input length/data length of Dynamic object |
018 |
N |
@LSRFLG |
3 |
|
Logic ID to execute on Loss of Focus/After Dynamic object |
019 |
N |
@LSRFGC |
3 |
|
Logic ID to execute on input of data (General Check) |
020 |
A |
@HMSG |
74 |
|
Help Message for this Dynamic object |
021 |
N |
@LSFLDSECC |
1 |
|
Minimum security level (1 to 9) required to change data of this Dynamic object |
022 |
N |
@LSFLDSECL |
1 |
|
Minimum security level (1 to 9) required to show data of this Dynamic object |
023 |
N |
@LSRFLGB |
3 |
|
Logic ID to execute on focus on Dynamic object |
024 |
A |
@LSFREV |
1 |
|
Green Screen: Reverse Video? flag of Dynamic object |
025 |
A |
@LSFUND |
1 |
|
Green Screen: Underline? flag of Dynamic object |
026 |
A |
@LSFBLNK |
1 |
|
Green Screen: Blink? flag of Dynamic object |
027 |
A |
@LSFBOX |
1 |
|
Green Screen: Draw Box Around? flag of Dynamic object |
028 |
A |
@LSFINT |
1 |
|
Green Screen: Highlight? flag of Dynamic object |
029 |
A |
@LSFNDSP |
1 |
|
Green Screen: No Display? flag of Dynamic object |
030 |
A |
@LSFNORM |
1 |
|
Green Screen: Normal Intensity? flag of Dynamic object |
031 |
A |
@LSFXTRA |
1 |
|
Green Screen: Spare flag of Dynamic object
|
032 |
A |
@LSFCOLOR |
10 |
|
Green Screen: Foreground colour of Dynamic object |
033 |
A |
@LSBCOLOR |
10 |
|
Green Screen: Background Colour of Dynamic object |
034 |
A |
@LSABSLN |
1 |
|
Absolute Position Specified? flag |
035 |
A |
@RESERVED_VIPBM05_035 |
3 |
|
Reserved Attribute |
036 |
A |
@RESERVED_VIPBM05_036 |
8 |
|
Reserved Attribute |
037 |
A |
@LSDBCS |
1 |
|
Double-Byte Alpha Characters Allowed? flag |
038 |
N |
@RESERVED_VIPBM05_038 |
5 |
|
Reserved Attribute |
039 |
A |
@GUI_OBJECT_CLASS |
16 |
|
GUI Object Class of this Dynamic object |
040 |
A |
@GUI_SUPPRESS_FIELD_LABEL |
1 |
|
Suppress Label? flag of Dynamic object |
041 |
A |
@GUI_FIELD_ALIGN |
1 |
|
Alignment of Dynamic object's Label |
042 |
A |
@GUI_FIELD_REPLY_STRING |
16 |
|
String to return on click of Dynamic object |
043 |
N |
@GUI_FIELD_REPLY_FNKEY |
4 |
|
Function Key to action on click of Dynamic object |
044 |
A |
@SLFLDDESC |
80 |
|
SuperLayer description of Dynamic object |
045 |
A |
@LSAUGLOOK |
1 |
|
Augmented Look-Up Access? flag. (Allow Focus in Look-Up Mode) |
046 |
N |
@WINLGC |
3 |
|
Logic ID to execute on Window call |
047 |
A |
@GUI_FIELD_ICON_LABEL |
40 |
|
Label to display on Dynamic object |
048 |
A |
@GUI_FIELD_ICON_NAME |
32 |
|
Primary graphic to display on Dynamic object. (File name or variable) |
049 |
A |
@GUI_FIELD_DISPLAY |
1 |
|
Display mode of Dynamic object. (G=Only if GUI mode; C=Only if Char. Mode)
|
050 |
N |
@LSRMX_DISPLAY |
3 |
|
Maximum display length of data in Character mode |
051 |
A |
@GUI_HELP_KEYWORD |
40 |
|
Help File Keyword for this Dynamic object |
052 |
N |
@DISP_LGC |
3 |
|
Logic ID to execute on refresh of data |
053 |
A |
@RESERVED_VIPBM05_053 |
1 |
|
Reserved Attribute |
054 |
A |
@RESERVED_VIPBM05_054 |
1 |
|
Reserved Attribute |
055 |
A |
@FNLINK |
32 |
|
Name of Global function to call on window |
056 |
A |
@FNLNKID_TAG |
32 |
|
Tag Name of Interface Map to use on Global function call |
057 |
A |
@GUI_ICON_VAR |
1 |
|
Primary Graphic name is a Variable? flag of Dynamic object |
058 |
N |
@GUI_BUTTON_HEIGHT |
3 |
|
Height of Dynamic object |
059 |
A |
@GUI_FLD_LABEL_VAR |
1 |
|
Label is a Variable? flag |
060 |
N |
@RESERVED_VIPBM05_060 |
8 |
|
Reserved Attribute |
061 |
A |
@ASSOCIATED_FIELD_TAG |
32 |
|
Tag of Dynamic object associated with this Dynamic object |
062 |
A |
@GUI_ATTRIBUTES |
1 |
16 |
GUI Attributes of Dynamic object (1 to 16) |
063 |
N |
@GUI_DISP_WIDTH |
3 |
|
Width of Dynamic object |
064 |
N |
@RESERVED_VIPBM05_064 |
5 |
|
Reserved Attribute |
065 |
A |
@LS_PRELOAD |
1 |
|
Preload Data? flag |
066 |
A |
@RESERVED_VIPBM05_066 |
80 |
|
Reserved Attribute |
067 |
A |
@FLDXMLTAG |
32 |
|
XML tag for Dynamic object |
068 |
A |
@RESERVED_VIPBM05_068 |
3 |
|
Reserved Attribute |
069 |
A |
@RESERVED_VIPBM05_069 |
32 |
|
Reserved Attribute |
070 |
A |
@CYCLE_WINDOW_TAG |
32 |
|
Tag Name of Local Cycle to call on window
|
071 |
A |
@RBHDR_BOX |
1 |
|
Draw Box around Radio Group? flag |
072 |
N |
@RBHDR_BOX_ST_ROW |
2 |
|
Radio group box - start row |
073 |
N |
@RBHDR_BOX_ST_COL |
2 |
|
Radio group box - start column |
074 |
N |
@RBHDR_BOX_END_ROW |
2 |
|
Radio group box - end row |
075 |
N |
@RBHDR_BOX_END_COL |
2 |
|
Radio group box - end column |
076 |
A |
@RBHDR_BOX_TITLE |
40 |
|
Radio group box title |
077 |
N |
@RBHDR_BOX_STYLE |
2 |
|
Radio group box style |
078 |
N |
@RESERVED_VIPBM05_078 |
8 |
|
Reserved Attribute |
079 |
A |
@RBHDR_BUTTON_ALIGN |
1 |
|
Radio group alignment (left or right) |
080 |
N |
@RBHDR_BUTTON_STYLE |
1 |
|
Radio group style |
081 |
GS |
|
|
50 |
Function name
|
082 |
A |
@RB_PROMPT |
60 |
|
Radio group label (1 to 50) |
083 |
N |
@RB_CHECKBOX_ROW |
2 |
|
Radio group row number (1 to 50) |
084 |
N |
@RB_CHECKBOX_COL |
2 |
|
Radio group column number (1 to 50) |
085 |
A |
@RB_SELECT_VAL |
40 |
|
Radio group value. The string to return when selected (1 to 50) |
086 |
A |
@RB_BUTTON_NAME |
32 |
|
Radio group Tag Name (1 to 50) |
087 |
GE |
|
|
|
Function name
|
088 |
A |
@CTL_P4_ID |
32 |
|
ActiveX Control Nickname/ID |
089 |
A |
@SEL_SCREEN_TITLE |
32 |
|
Title to display above this column in list box/combo box |
090 |
GS |
|
|
50 |
|
091 |
A |
@ML_TM_RB_PROMPT |
1 |
|
Multilingual translation mode for radio group label
|
092 |
A |
@ML_MN_RB_PROMPT |
5 |
|
Multilingual meaning code for radio group label |
093 |
N |
@ML_MX_RB_PROMPT |
4 |
|
Multilingual maximum length for radio group label |
094 |
GE |
|
|
|
|
095 |
A |
@ML_TM_SEL_SCREEN_TITLE |
1 |
|
Multilingual translation mode for list box/combo box column title |
096 |
A |
@ML_MN_SEL_SCREEN_TITLE |
5 |
|
Multilingual meaning code for listbox/combobox column title |
097 |
N |
@ML_MX_SEL_SCREEN_TITLE |
4 |
|
Multilingual maximum length for listbox/combobox column title |
098 |
A |
@ML_TM_LSRVNM |
1 |
|
Multilingual translation mode for the Dynamic Text label |
099 |
A |
@ML_MN_LSRVNM |
5 |
|
Multilingual meaning code for the Dynamic Text label |
100 |
N |
@ML_MX_LSRVNM |
4 |
|
Multilingual maximum length for the Dynamic Text label |
101 |
A |
@ML_TM_HMSG |
1 |
|
Multilingual translation mode for the Help message |
102 |
A |
@ML_MN_HMSG |
5 |
|
Multilingual meaning code for the Help message |
103 |
N |
@ML_MX_HMSG |
4 |
|
Multilingual maximum length for the Help message |
When the Logic ID assignment attributes on this file are updated, the structure record for the Dynamic object must also be updated to reflect this. For more information regarding the @LOGIC_POINTS attribute and the data that it contains please refer to Event Points and Logic Assignment.
When logic is assigned or unassigned, its status flag in the @LOGIC_ID_USED attribute may also require updating. For more information, refer to the documentation for this attribute under Function Definition: Header File in this chapter.
When the Global Function Link attribute @FNLINK, or its associated interface attribute @FNLINK_TAG is updated, or when a Global Logic is assigned or removed from the special check attribute, this function’s linkage information must also be updated. This can be done by running the VIPLINKS Helper Function once all changes have been made to the function.
The Linkage Table is documented in Shared Data Files for Functions and Global Logics and the Helper Function is documented in PROIV Developer Helper Functions.
When the object is an ActiveX control, the attribute @CTL_P4_ID is used to define the type of control. This attribute should not be maintained directly and should be considered as read-only.
If the any of the variable attributes are changed to contain the name of a new scratch variable, it is recommended that they also be defined in the Function Definition: Scratch Variables file, VIPBM15.
The tag name of the Dynamic object, @FLD_TAG should not be updated directly, use the Helper Function VIPTAGRN instead. For more information on using this Helper Function, please refer to PROIV Developer Helper Functions.
The Function Definition: File Accessors file, VIPBM06 holds the main attributes for the file accessors within function cycles. In Native PROIV the equivalent file was FILESPEC.
VIPBM06 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@LS_TAGNAME |
32 |
|
Parent Cycle Tag Name (Dynamic objects only) |
003 |
AK |
@SRUF# |
2 |
|
File number |
004 |
A |
@FLN |
32 |
|
File name |
005 |
A |
@SRUFAM |
1 |
|
File Access mode when screen is in Add mode |
006 |
A |
@SRUFCC |
1 |
|
File Access mode when screen is in Change mode |
007 |
A |
@SRUFD |
1 |
|
File Access mode when screen is in Delete mode |
008 |
A |
@SRUFL |
1 |
|
File Access mode when screen is in Lookup mode |
009 |
N |
@SRULBR |
4 |
|
Logic ID to execute before file is read |
010 |
N |
@SRULAR |
4 |
|
Logic ID to execute after file is read successfully |
011 |
N |
@SRULARE |
4 |
|
Logic ID to execute on File Read error |
012 |
N |
@SRULBW |
4 |
|
Logic ID to execute before file is written |
013 |
A |
@SRUPCB# |
3 |
|
DLI PCB Number |
014 |
A |
@RESERVED_VIPBM06_014 |
1 |
|
Reserved Attribute
|
015 |
N |
@SRULAWE |
4 |
|
Logic ID to execute on File Write error
|
016 |
N |
@SRULAWNE |
4 |
|
Logic ID to execute after file is written successfully |
017 |
N |
@SRULSSB |
4 |
|
Logic ID to execute before file is read for sort |
018 |
N |
@SRULRAL |
4 |
|
Logic ID to execute on record lock |
019 |
A |
@SRUPPS |
1 |
|
Suppress File Read in Syspass/Paint? flag |
020 |
A |
@FLD_TAG_READ |
32 |
|
Tag Name of the Dynamic object on which the file is read |
021 |
A |
@FLD_TAG_RETURN |
32 |
|
Tag name of the Dynamic object to return to on Read error |
022 |
A |
@CONTROL_BREAK |
1 |
|
Control Break to read file on |
023 |
N |
@RESERVED_VIPBM06_023 |
1 |
|
Reserved Attribute |
024 |
A |
@FILE_IS_PRIMARY |
1 |
|
Primary File? flag |
025 |
A |
@FILE_IN_SORT |
1 |
|
Include File in Sort? flag |
When the attribute @FLN is altered, the attribute @FILE_NAME on the corresponding structure record for this object must also be altered.
When the Logic ID assignment attributes on this file are updated, the structure record for the file accessor object must also be updated to reflect this. For more information regarding the @LOGIC_POINTS attribute and the data that it contains please refer to Event Points and Logic Assignment.
When logic is assigned or unassigned, its status flag in the @LOGIC_ID_USED attribute may also require updating. For more information, refer to the documentation for this attribute under Function Definition: Header File in this chapter.
The Primary File for a cycle is the main file read that must occur to drive it.
Only one file per function cycle may have the @FILE_IS_PRIMARY attribute set to ‘Y’ at any time. The structure record for the parent cycle also holds the file name for display in the structure tree, so it should be updated when ever a new record is set to be the primary file read, or when the name of the primary file is changed. If none of the cycle’s file reads have been defined as the primary file read, then it is normally read from the record with the @SRUF# key value of 01.
By definition, the Primary File cannot be dependant upon a control break occurring for it to be the main file read of the cycle. This means that no file reads which have a value in the attribute @CONTROL_BREAK are eligible to be defined as the Primary File.
Those files which are included in a cycle’s Sort/Select will have the @FILE_IN_SORT attribute set to Y. The parent cycle holds the @SRUF# key value of the last file included in the attribute @SRT-EFILE.
It is not recommended that either of the @FILE_IS_PRIMARY or @FILE_IN_SORT attributes should be maintained via the File Definitions directly. Doing so may cause issues in the Build process or introduce unexpected behaviour into the function.
The Function Definition: Control Breaks file, VIPBM07 holds the main attributes for the control breaks within function cycles. In Native PROIV the equivalent file was CBSPEC.
VIPBM07 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
K |
@FUN |
32 |
|
Function Name |
002 |
K |
@LS_TAGNAME |
32 |
|
Parent Cycle Tag Name (Dynamic objects only) |
003 |
K |
@CB# |
1 |
|
Control Break number |
004 |
A |
@CBVNM |
32 |
|
Name of variable which will trigger Control Break when its value changes |
005 |
A |
@CB_FORMAT_TAG |
32 |
|
Tag Name of the Format Group to print on Control Break |
006 |
A |
@VTP |
1 |
|
Print Totals at Control Break? flag |
007 |
N |
@SSV |
3 |
|
Start position in variable value to check for change |
008 |
N |
@SEV |
3 |
|
End position in variable value to check for change |
009 |
N |
@CBL |
3 |
|
Logic ID to execute on Control Break |
010 |
N |
@LBCB |
3 |
|
Lines to skip before printing Control Break format |
011 |
N |
@LACB |
3 |
|
Lines to skip After printing Control Break format |
012 |
N |
@CBLA |
3 |
|
Logic ID to execute after Control Break |
013 |
N |
@CBLCOL |
3 |
|
Column Number to print Control Break text at |
014 |
A |
@CBLIT |
22 |
|
Text to print on Control Break |
015 |
N |
@CBLNI |
3 |
|
Logic ID to execute using Next Record data |
016 |
A |
@CB_NEXT_FORMAT_TAG |
32 |
|
Tag Name of the Format Group to print before next record is processed |
017 |
A |
@CB_GROUP_WITH_LIKE |
1 |
|
Keep Format Group with Proceeding Item? flag |
018 |
A |
@CB_PAGE_AFTER |
1 |
|
Start New Page After Control Break? flag |
019 |
A |
@CB_START_NEW_PAGE |
1 |
|
Start New Page Before Control Break? flag |
020 |
N |
@CB_HDR_PRINT_TIMING |
1 |
|
Allow Format Group to be Split across Page Breaks? flag |
021 |
N |
@RESERVED_VIPBM07_021 |
1 |
|
Reserved Attribute |
022 |
A |
@ML_TM_CBLIT |
1 |
|
Multilingual translation mode for text to print on Control Break |
023 |
A |
@ML_MN_CBLIT |
5 |
|
Multilingual meaning code for Text to print on Control Break |
024 |
N |
@ML_MX_CBLIT |
4 |
|
Multilingual Maximum Length for Text to print on Control Break |
When the Logic ID assignment attributes on this file are updated, the structure record for the control break object must also be updated to reflect this. For more information regarding the @LOGIC_POINTS attribute and the data that it contains please refer to Event Points and Logic Assignment.
When logic is assigned or unassigned, its status flag in the @LOGIC_ID_USED attribute may also require updating. For more information, refer to the documentation for this attribute under Function Definition: Header File in this chapter.
If the control break variable attribute, @CBVNM is changed to contain the name of a new scratch variable, it is recommended that it is also defined in the Function Definition: Scratch Variables file, VIPBM15.
Document Format Control Options – VIPBM08
The Function Definition: Document Format Control Options file, VIPBM08 holds the attributes that control the behaviour of the format groups in document functions. In Native PROIV the equivalent file was HDRDEF.
VIPBM08 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
K |
@FUN |
32 |
|
Function Name |
002 |
K |
@FORMAT_TAG |
32 |
|
Parent Format Tag Name (Static objects only) |
003 |
N |
@HDR_SKIP_BEFORE |
3 |
|
Lines to skip before printing this format |
004 |
N |
@HDR_SKIP_AFTER |
3 |
|
Lines to skip after printing this format |
005 |
N |
@HDR_LOGIC_BEFORE |
3 |
|
Logic ID to execute before printing this format |
006 |
N |
@HDR_LOGIC_AFTER |
3 |
|
Logic ID to execute after printing this format |
007 |
A |
@HDR_START_NEW_PAGE |
1 |
|
Start New Page before printing this Format? flag |
008 |
A |
@HDR_SPLIT_ALLOWED |
1 |
|
Allow this Format to Split across Page Boundaries? flag |
009 |
A |
@HDR_KEEP_WITH_PRED |
1 |
|
Keep this Format Group with Proceeding Item? flag |
When the Logic ID assignment attributes on this file are updated, the structure record(s) for the Format group object must also be updated to reflect this. For more information regarding the @LOGIC_POINTS attribute and the data that it contains please refer to Event Points and Logic Assignment.
When logic is assigned or unassigned, its status flag in the @LOGIC_ID_USED attribute may also require updating. For more information, refer to the documentation for this attribute under Function Definition: Header File in this chapter.
The tag name of the format group, @FORMAT_TAG should not be updated directly, use the Helper Function VIPTAGRN instead. For more information on using this Helper Function, please refer to PROIV Developer Helper Functions.
The Function Definition: Function Parameters file, VIPBM11 defines the variables which are passed in and out of each function. In Native PROIV the equivalent file was PARMS.
VIPBM11 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
K |
@FUN |
32 |
|
Function name |
002 |
K |
@GLF_SEQ |
3 |
|
Parameter sequence |
003 |
A |
@GLF_VAR |
32 |
|
Parameter variable name |
004 |
A |
@GLF_IO |
1 |
|
Parameter type |
005 |
A |
@GLF_TYPE |
1 |
|
Parameter variable type |
006 |
N |
@GLF_VAR_LEN |
4 |
|
Parameter variable length |
007 |
N |
@GLF_ARRAY_SIZE |
4 |
|
Parameter variable array size |
008 |
A |
@GLF_EXT_VAR |
32 |
|
Parameter variable name to use for Tasks |
If the parameter variable attribute, @GLF_VAR is changed to contain the name of a new scratch variable, it is recommended that it is also defined in the Function Definition: Scratch Variables file, VIPBM15.
The Function Definition: Description file, VIPBM13 holds the description text for the functions. In Native PROIV the equivalent file was FDESC.
VIPBM13 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
K |
@FUN |
32 |
|
Function name |
002 |
K |
@FDSQ |
3 |
|
Description line number |
003 |
A |
@FDTX |
70 |
|
Description text |
The Function Definition: Scratch Variables file, VIPBM15 holds the attributes that define the scratch variables used by each function. In Native PROIV this information was defined in Logic 0.
VIPBM15 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
K |
@FUN |
32 |
|
Function name |
002 |
K |
@FVNM |
32 |
|
Variable name |
003 |
N |
@DIM |
4 |
|
Dimension of File Variable |
004 |
N |
@VMX |
4 |
|
Maximum length of File Variable |
005 |
A |
@SCRATCH_VAR_DESC |
80 |
|
Scratch variable description |
The Function Definition: Object Properties file, VIPBM19 holds the attributes that control the behaviour of the format groups in document functions. In Native PROIV the equivalent file was OBJPROP.
VIPBM19 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function Name |
002 |
AK |
@TAG_ID |
32 |
|
Tag Name of the Object that this property belongs to |
003 |
AK |
@OBJECT_PROPERTY |
32 |
|
Property name |
004 |
A |
@PROPERTY_TYPE |
2 |
|
Property type |
005 |
A |
@PROPERTY_VALUE |
250 |
|
Property value |
006 |
A |
@ML_TM_PROPERTY_VALUE |
1 |
|
Multilingual translation mode for property value |
007 |
A |
@ML_MN_PROPERTY_VALUE |
5 |
|
Multilingual meaning code for property value |
008 |
N |
@ML_MX_PROPERTY_VALUE |
4 |
|
Multilingual maximum length for property value |
The property records and permissible on VIPBM19 and their values are dependent upon Object Type, and the data held on it is extended as new features are supported by the PROIV.
The tag name @TAG_ID should not be updated directly, use the Helper Function VIPTAGRN instead. For more information on using this Helper Function, please refer to PROIV Developer Helper Functions.
The Function Definition: Document Format Control Options file, VIPBM41 defines the logic that is executed or response string sent when an event occurs for one of the function’s ActiveX Controls. In Native PROIV the equivalent file was AXEVTBL.
VIPBM41 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@TAG_ID |
32 |
|
Object Tag of the ActiveX Control this Event is defined on |
003 |
AK |
@INTF_P4_ID |
4 |
|
Internal identifier designating which interface to use (0000 = IDispatch) |
004 |
AK |
@PME_OS_ID |
12 |
|
OS ID of Property, Method or Event |
005 |
A |
@EV_LOGIC_NAME |
32 |
|
Global Logic ID to execute on this ActiveX Event |
006 |
A |
@EV_LOGIC_IS_GLOBAL |
1 |
|
Logic ID to execute on this ActiveX Event |
007 |
A |
@EV_MAP_NAME |
32 |
|
Tag Name of this Event Interface Map |
008 |
A |
@EV_CLIENT_RESPONSE |
32 |
|
Response string the client will automatically send on this ActiveX Event |
009 |
A |
@EV_HANDLER |
1 |
|
ActiveX Event Handler - (C)lient or (K)ernel |
When the @EV_HANDLER attribute is set to C, only the attribute @EV_CLIENT_RESPONSE should be set. This attribute holds a string that the client will return to the current input field.
When the @EV_HANDLER attribute is set to K, the response string attribute is ignored and the other attributes on this file may be defined.
The @EV_LOGIC_NAME will contain either a 3 digit, LFZ formatted Logic ID or when the attribute @EV_LOGIC_IS_GLOBAL is set to Y, it will contain the name of a Global Logic.
When a function Logic ID is assigned or unassigned, the status flag for that logic in the @LOGIC_ID_USED attribute may also require updating. For more information, refer to the documentation for this attribute under Function Definition: Header File in this chapter.
If a Global Logic is assigned or unassigned from the event then this function’s linkage information must also be updated. This can be done by running the VIPLINKS Helper Function once all changes have been made to the function.
The Linkage Table is documented in Shared Data Files for Functions and Global Logics and the Helper Function is documented in PROIV Developer Helper Functions.
The tag name @TAG_ID should not be updated directly, use the Helper Function VIPTAGRN instead. For more information on using this Helper Function, please refer to PROIV Developer Helper Functions.
The Function Definition: XML Attributes file, VIPBM48 applies to Report functions only and defines a list of attributes that are output in an object’s Element tag. In Native PROIV the equivalent file was XMLATTR.
VIPBM48 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@XML_OBJECT_TYPE |
2 |
|
Type of XML Object |
002 |
AK |
@XML_OBJECT_NAME |
32 |
|
Name of XML Object |
003 |
AK |
@XML_OBJECT_TAG |
32 |
|
Object Tag: Null for FN, Cycle tag for Cycle/Record, Field Tag for field |
004 |
AK |
@XML_OBJECT_TAG_TYPE |
1 |
|
Object Tag Type: 'O'bject, 'C'ycle, 'R'ecord or 'F'ield |
005 |
AK |
@XML_ATT_SEQ |
3 |
|
Attribute sequence number |
006 |
A |
@XML_ATT_TYPE |
1 |
|
Attribute Type, 'A'lpha or 'N'umeric |
007 |
A |
@XML_ATT_NAME |
32 |
|
Attribute name |
008 |
A |
@XML_ATT_VALUE |
32 |
|
Attribute value (variable name or quoted text) |
009 |
A |
@XML_ATT_OUTPUT_NULL |
1 |
|
Suppress Attribute when Value is Null? flag |
The Function Definition: Overloaded Action Controls file, VIPBM60 is used to redefine the behaviour of an Action Control when it is referenced by the function. In Native PROIV the equivalent file was FNACTS.
VIPBM60 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@CYCLE_TAG |
32 |
|
Tag Name of Cycle that is redefining the behaviour of the Action Control |
003 |
AK |
@FN_AC_NAME |
32 |
|
Name of the Action Control |
004 |
A |
@FN_AC_GLOBAL_CALL |
32 |
|
Global function to call when overloaded Action Control is clicked |
005 |
A |
@FN_AC_MAP |
32 |
|
Map Tag Name for Global function call when overloaded Action Control is clicked |
006 |
A |
@FN_AC_FUNCTION_LINK |
32 |
|
Function to link to when overloaded Action Control is clicked |
007 |
N |
@FN_AC_FUNCTION_KEY |
4 |
|
Function Key to execute when overloaded Action Control is clicked |
008 |
A |
@RESERVED_VIPBM60_008 |
250 |
|
Reserved Attribute |
009 |
A |
@FN_AC_LOGIC_ID |
3 |
|
Logic ID to execute when overloaded Action Control is clicked |
010 |
A |
@FN_AC_GLOBAL_LOGIC |
32 |
|
Global Logic to execute when overloaded Action Control is clicked |
011 |
A |
@FN_AC_CONTROL_BAR |
32 |
|
Sub-menu to display from this overloaded Action Control |
The Function Definition: Overloaded Action Control Properties file, VIPBM62 is used to redefine the properties of an Action Control when it is referenced by the function. In Native PROIV the equivalent file was FNACOBJ.
VIPBM62 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@CYCLE_TAG |
32 |
|
Tag Name of Cycle that is redefining the properties of the Action Control |
003 |
AK |
@FN_AC_NAME |
32 |
|
Name of the Action Control |
004 |
AK |
@FN_PROPERTY_NAME |
32 |
|
Property name |
005 |
A |
@FN_PROPERTY_VALUE |
250 |
|
Property value |
006 |
A |
@ML_TM_FN_PROPERTY_VALUE |
1 |
|
Multilingual translation mode for property value |
007 |
A |
@ML_MN_FN_PROPERTY_VALUE |
5 |
|
Multilingual meaning code for property value |
008 |
N |
@ML_MX_FN_PROPERTY_VALUE |
4 |
|
Multilingual maximum length for property value |
The Function Definition: Overloaded Order of Action Control file, VIPBM64 is used to redefine the order of Action Controls within a Control Bar that is referenced by the function. In Native PROIV the equivalent file was FNCBITM.
VIPBM64 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@CYCLE_TAG |
32 |
|
Tag Name of Cycle overloading the Control Bar's order definition |
003 |
AK |
@FN_CB_NAME |
32 |
|
Name of Control Bar with a redefined order of Action Controls |
004 |
AK |
@FN_AC_ORDER |
4 |
|
Order of the Action Control in the overloaded Control Bar |
005 |
A |
@FN_AC_NAME |
32 |
|
Name of the Action Control at this position in the overloaded Control Bar |
The Function Definition: Control Bars associated to Function Cycles file, VIPBM65 is used to associate drop-down menus and toolbars to function cycles, and to define their display order. In Native PROIV the equivalent file was FNCB.
VIPBM65 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@CYCLE_TAG |
32 |
|
Tag Name of Cycle that is defining the order of the Control Bars |
003 |
AK |
@FN_CB_TYPE |
2 |
|
Type of Control Bar to define the order of |
004 |
AK |
@FN_CB_SEQ |
4 |
|
Sequence of the Control Bar in the Cycle |
005 |
A |
@FN_CB_NAME |
32 |
|
Name of the Control Bar against this position for the Cycle |
The SSOs constructed in a Function file, VIPBM70 is used to associate SSOs to functions and to define the order of instantiation. In Native PROIV the equivalent file was SSOFUN.
VIPBM70 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@SSO_SEQ |
3 |
|
Instantiation sequence |
003 |
A |
@SSO_NAME |
32 |
|
The nickname of the SSO |
004 |
A |
@SSO_TAGNAME |
32 |
|
Name of the tag used to reference the SSO in function logic |
The SSOs Parameters file, VIPBM71 is used to allow a Global function to inherit an SSO from its caller rather than instantiate it itself. In Native PROIV the equivalent file was OBJPARM
VIPBM71 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@OBJ_SEQ |
3 |
|
SSO sequence |
003 |
A |
@OBJ_TAG |
32 |
|
Name of the tag used to reference the SSO in function logic |
004 |
A |
@OBJ_SSO_NAME |
32 |
|
The nickname of the SSO |
005 |
A |
@RESERVED_VIPBM71_005 |
2 |
|
|
The Open Ajax Event Subscriptions file – VIPRO01 is used to allow screen functions to subscribe to web pages using the Open Ajax methodology.
VIPRO01 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@OAES_NAME |
200 |
|
Open Ajax event name |
003 |
N |
@OAES_LOCAL_LOGIC |
3 |
|
Logic Id associated with the Open Ajax event |
004 |
A |
@OAES_GLOBAL_LOGIC |
32 |
|
Global logic id associated with the Open Ajax event |
005 |
N |
@OAES_FUNCTION_KEY |
3 |
|
Function key number associated with the Open Ajax Event |
006 |
A |
@OAES_DESC |
100 |
|
Free text description of the Open Ajax event |
The Open Ajax Data Mapping file – VIPRO02 is used to allow mapping of Open Ajax data to PROIV variables
VIPRO02 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN |
32 |
|
Function name |
002 |
AK |
@OAES_NAME |
200 |
|
Open Ajax event name |
002 |
AK |
@OAES_MAP_SEQ |
2 |
|
Map sequence |
004 |
A |
@OAES_PARM |
200 |
|
Open Ajax data to be mapped to a PROIV variable |
005 |
A |
@OAES_MAP_VAR |
32 |
|
PROIV variable that accepts the Open Ajax data |
Topic ID: 500670