![]() Shared Data Files for Functions and Global Logics |
![]() DEVELOPER |
![]() |
The Function & Global Logic Definition: Error Messages file, VIPBM09 defines the error messages which functions and Global Logics can display. In Native PROIV the equivalent file was MSGF.
VIPBM09 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
002 |
AK |
@MSGEH |
1 |
|
Message type |
003 |
AK |
@MSGSQ |
3 |
|
Message ID |
004 |
A |
@MSGTX |
74 |
|
Message text |
005 |
A |
@ML_TM_MSGTX |
1 |
|
Multilingual translation mode for message text |
006 |
A |
@ML_MN_MSGTX |
5 |
|
Multilingual meaning code for message text |
007 |
N |
@ML_MX_MSGTX |
4 |
|
Multilingual maximum length for message text |
For function error messages, @MSGEH should be set to the value ‘E’ and for Global Logic error messages, to the value ‘G’.
The Function & Global Logic Definition: Logic Text file, VIPBM10 defines the process logic of functions and Global Logics. In Native PROIV the equivalent file was LOGIC.
VIPBM10 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@LOGIC_TYPE |
1 |
|
Logic Type (F=Function Logic, G=Global Logic) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@LGID |
3 |
|
Logic ID |
004 |
AK |
@LOGIC_SEQ |
4 |
|
Logic Line number |
005 |
A |
@LOGIC_TEXT |
250 |
|
Logic text |
When the Logic file VIPBM10 is altered, it must be parsed upon completion to check its validity. The process which validates the logic also builds a number of index tables which PROIV Developer uses when Tags are renamed, to show which logics are invalid, to accelerate searches, and also during export to find associated objects that should also be included in the export. Logic can be parsed for single lines or as a whole by calling the Helper Function VIPCHKLG. Please refer to the documentation in PROIV Developer Helper Functions for more information.
|
Caution: Only the first 100 characters of the Logic Text attribute are currently supported by PROIV Developer and Native PROIV. |
The Function & Global Logic Definition: Function Maps file, VIPBM12 defines the interface maps used by functions and Global Logics when calling Global functions. In Native PROIV the equivalent file was GLFINTFS.
VIPBM12 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@GFC_TYPE |
1 |
|
ActiveX Event Interface Map Type. (G=Global Logic; F=Function) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@GFC_CALLED_FUN |
32 |
|
Name of the called function |
004 |
AK |
@GFC_CALLTAG |
32 |
|
Tag Name of the Interface Map |
005 |
AK |
@GFC_SEQ |
3 |
|
Event Interface sequence number |
006 |
A |
@GFC_VAR |
32 |
|
Event Interface variable name |
007 |
A |
@GFC_SLDESC |
80 |
|
Description of this Event Interface entry |
008 |
A |
@ML_TM_GFC_VAR |
1 |
|
Multilingual translation mode for literal passed to function |
009 |
A |
@ML_MN_GFC_VAR |
5 |
|
Multilingual meaning code for literal passed to function |
010 |
N |
@ML_MX_GFC_VAR |
4 |
|
Multilingual maximum length for literal passed to function |
If the interface variable attribute, @GFC_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 Linkage Table is not user maintainable and is generated when Logics or Function objects call other Global Logics or functions, or reference ActiveX controls. This integrity of the data in this table is essential for export and the linkage view to function correctly. It is also used to present the user a list of all interface maps used in a function or Global Logic.
VIPBM18 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@FROM_TO |
1 |
|
Direction of call (F=From, T=To) |
002 |
AK |
@CALLING_OBJECT |
32 |
|
Calling Object name |
003 |
AK |
@CALLING_OBJECT_CLASS |
2 |
|
Calling Object class |
004 |
AK |
@CALLED_OBJECT |
32 |
|
Called Object name |
005 |
AK |
@CALLED_OBJECT_CLASS |
2 |
|
Called Object class |
006 |
AK |
@LINKAGE_SEQ |
3 |
|
Unique key |
007 |
A |
@MAP_NAME |
32 |
|
Interface Map name |
008 |
A |
@CALL_TYPE |
1 |
|
Type of linkage record |
009 |
A |
@CALL_DETAILS_1 |
32 |
|
Call details 1 |
010 |
A |
@CALL_DETAILS_2 |
32 |
|
Call details 2 |
011 |
A |
@CALL_DETAILS_3 |
32 |
|
Call details 3 |
A Helper Function, VIPLINKS has been supplied with the File Definitions to ensure that this table is kept up to date for functions which have been altered. Please refer to PROIV Developer Helper Functions for more information.
|
Caution: It is important to keep the Linkage Table up to date. Following changes to functions or Global Logics, the Logic Parser and Linkage Rebuild Helper Functions must be called to update this table. Please refer to PROIV Developer Helper Functions for more information. |
The following cross-reference tables are shared by Functions and Global logics. They are not maintainable and are built when logic is validated. If the developer alters any logic, then it must be validated with the VIPCHKLG Helper Function to rebuild the data on these tables. If the Helper Function is not used, it will cause many problems and errors during subsequent editing of the Function Logic or Global Logic.
VIPBM33 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@LOGIC_TYPE |
1 |
|
Logic Type (F=Function Logic, G=Global Logic) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@LGID |
3 |
|
Logic ID |
004 |
A |
@LOGIC_LN_TYPE |
250 |
40 |
Logic Line Type array (Lines 1 to 9999) |
For more information regarding the @LOGIC_LN_TYPE attribute and how to read or set the data that it contains, please refer to Logic Line Arrays.
VIPBM34 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@LOGIC_TYPE |
1 |
|
Logic Type (F=Function Logic, G=Global Logic) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@LGID |
3 |
|
Logic ID |
004 |
A |
@LOGIC_LN_ERROR |
250 |
40 |
Logic lines in error (Lines 1 to 9999) |
005 |
N |
@LOGIC_ERROR_COUNT |
12 |
|
Number of logic lines in error |
006 |
A |
@LOGIC_PAIR_ERROR |
80 |
|
Logic Pair Error description (Unmatched brackets/IFs/CASEs etc) |
007 |
N |
@LOGIC_PAIR_ERROR_LN |
12 |
|
Line number where Logic Pair Error was detected |
For more information regarding the @LOGIC_LN_ERROR attribute and how to read or set the data that it contains, please refer to Logic Line Arrays.
VIPBM35 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@LOGIC_TYPE |
1 |
|
Logic Type (F=Function Logic, G=Global Logic) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@VAR |
32 |
|
Variable name |
004 |
AK |
@LGID |
3 |
|
Logic ID |
005 |
A |
@LGSQ_ARRAY |
250 |
40 |
Logic Line message is referenced on (Lines 1 to 9999) |
006 |
A |
@VAR_TYPE |
1 |
|
Variable Type (C=%VVar,E=EnvVar,F=FileVar, P=SystemVar,S=ScratchVar, V=VVar) |
For more information regarding the @LGSQ_ARRAY attribute and how to read or set the data that it contains, please refer to Logic Line Arrays.
VIPBM36 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@LOGIC_TYPE |
1 |
|
Logic Type (F=Function Logic, G=Global Logic) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@LGID |
3 |
|
Logic ID |
004 |
AK |
@VAR |
32 |
|
Variable name |
VIPBM37 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@CALLING_OBJECT_CLASS |
2 |
|
Calling Object class |
002 |
AK |
@CALLING_OBJECT |
32 |
|
Calling Object name |
003 |
AK |
@MAP_NAME |
32 |
|
Interface Map name |
004 |
AK |
@LGID |
3 |
|
Logic ID |
005 |
AK |
@MAP_REFERENCE_SEQ |
4 |
|
Unique key |
006 |
A |
@LGSQ |
3 |
|
Logic line |
007 |
A |
@CALLED_OBJECT_CLASS |
2 |
|
Called Object class |
008 |
A |
@CALLED_OBJECT |
32 |
|
Called Object name |
009 |
A |
@FROM_TO |
1 |
|
Direction of call (F=From, T=To) |
010 |
A |
@LINKAGE_SEQ |
3 |
|
Unique key |
VIPBM38 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@CALLING_OBJECT_CLASS |
2 |
|
Calling Object class |
002 |
AK |
@CALLING_OBJECT |
32 |
|
Calling Object name |
003 |
AK |
@LGID |
3 |
|
Logic ID |
004 |
AK |
@MAP_NAME |
32 |
|
Interface Map name |
005 |
AK |
@MAP_REFERENCE_SEQ |
4 |
|
Unique key |
VIPBM39 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@LOGIC_TYPE |
1 |
|
Logic Type (F=Function Logic, G=Global Logic) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@MSGSQ |
3 |
|
Message ID |
004 |
AK |
@LGID |
3 |
|
Logic ID |
005 |
A |
@LGSQ_ARRAY |
250 |
40 |
Logic Line message is referenced on (Lines 1 to 9999) |
For more information regarding the @LGSQ_ARRAY attribute and how to read or set the data that it contains, please refer to Logic Line Arrays.
VIPBM40 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@LOGIC_TYPE |
1 |
|
Logic Type (F=Function Logic, G=Global Logic) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@LGID |
3 |
|
Logic ID |
004 |
AK |
@MSGSQ |
3 |
|
Message ID |
The Function & Global Logic Definition: ActiveX Event Maps file, VIPBM42 defines the interface maps used by ActiveX controls to pass information back to functions and Global Logics when one of their events occurs. In Native PROIV the equivalent file was GLFINTFS.
VIPBM42 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@GFC_TYPE |
1 |
|
ActiveX Event Interface Map Type. (G=Global Logic; F=Function) |
002 |
AK |
@FUN_OR_GLOGIC_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@CTL_P4_ID |
32 |
|
ActiveX Control Nickname/ID |
004 |
AK |
@EV_MAP_NAME |
32 |
|
Tag Name of this Event Interface Map |
005 |
AK |
@GFC_SEQ |
3 |
|
Event Interface Sequence Number |
006 |
A |
@GFC_VAR |
32 |
|
Event Interface Variable Name |
007 |
A |
@GFC_SLDESC |
80 |
|
Description of this Event Interface Entry |
008 |
A |
@RESERVED_VIPBM42_008 |
4 |
|
Reserved Attribute |
009 |
A |
@ML_TM_GFC_VAR |
1 |
|
Multilingual translation mode for literal passed to ActiveX Control |
010 |
A |
@ML_MN_GFC_VAR |
5 |
|
Multilingual meaning code for literal passed to ActiveX Control |
011 |
N |
@ML_MX_GFC_VAR |
4 |
|
Multilingual maximum length for literal passed to ActiveX Control |
If the interface variable attribute, @GFC_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 & Global Logic Definition: SSO Method Maps file, VIPBM72 defines the interface maps used by SSOs to pass information between functions and Global Logics when one of their events occurs. In Native PROIV the equivalent file was GLFINTFS
VIPBM72 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@OBJ_CALLER_TYPE |
1 |
|
SSO Method Map Type. (G=Global Logic; F=Function) |
002 |
AK |
@OBJ_CALLER_NAME |
32 |
|
Function name or Global Logic name |
003 |
AK |
@OBJ_SSO_NAME |
32 |
|
SSO Nickname |
004 |
AK |
@OBJ_MAP_NAME |
32 |
|
Tag Name of this Method Interface Map |
005 |
AK |
@OBJ_MAP_SEQ |
3 |
|
Method Map Sequence Number |
006 |
A |
@OBJ_MAP_TAG |
32 |
|
SSO Tag Name passed in |
007 |
A |
@OBJ_MAP_DESC |
80 |
|
Description of this Method Interface Entry |
008 |
A |
@RESERVED_VIPBM72_008 |
4 |
|
Reserved Attribute |
The Function & Global Logic Definition: SSO Maps file, VIPBM73 defines the interface maps used by functions / Global Logics to pass a SSO tag to a global function. In Native PROIV the equivalent file was OBJINTFS.
VIPBM73 is defined as follows:
Seq |
Type |
Variable |
Len |
Dim |
Description |
001 |
AK |
@OBJ_CALLER_TYPE |
1 |
|
SSO Method Map Type. (G=Global Logic; F=Function) |
002 |
AK |
@OBJ_CALLER_NAME |
32 |
|
Function Name or Global Logic Name |
003 |
AK |
@OBJ_CALLID |
32 |
|
Name of the called Global Function |
004 |
AK |
@OBJ_MAP_NAME |
32 |
|
Tag Name of this Interface Map |
005 |
AK |
@OBJ_MAP_SEQ |
3 |
|
Map Sequence Number |
006 |
A |
@OBJ_MAP_TAG |
32 |
|
SSO Tag Name passed in |
Topic ID: 500673