Function Definition

  

DEVELOPER

Structure File – VIPBM00

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                                          

 

Description: Description: caution

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.

Object Tags and Definitions File – VIPBM22

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.

Description: Description: caution

Caution: The data held on this file should be treated as read-only by the developer and should not be updated directly

 

Header File – VIPBM01

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.

Function Cycles – VIPBM02

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.


Cycle Function Keys – VIPBM03

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.

 

Static Objects – VIPBM04

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.

 

Dynamic Objects – VIPBM05

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.

 

File Accessors – VIPBM06

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.

 

Control Breaks – VIPBM07

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.

Function Parameters – VIPBM11

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.

Function Description – VIPBM13

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                                                         

 

Scratch Variables – VIPBM15

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                                             

 

Object Properties – VIPBM19

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.

Events on ActiveX Controls – VIPBM41

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.

 

XML Attributes – VIPBM48

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

 

Overloaded Action Controls – VIPBM60

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

 

Overloaded Action Control Properties – VIPBM62

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

 

Overloaded Order of Action Controls – VIPBM64

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

 

Control Bars associated to Function Cycles – VIPBM65

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

 

SSOs constructed in a Function – VIPBM70

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

 

SSOs Parameters – VIPBM71

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

 

 

 

Open Ajax Event Subscriptions – VIPRO01

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

 

Open Ajax Data Mapping – VIPRO02

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

Comment on this topic

Topic ID: 500670