There are four types of variables: user, system, table and personalized.
To create user variables, add the variable in BOBCUIDefinition:
addVariable(VARIABLE_HISVAR, "hisVarValue", VariableProperties.VARIABLE_TYPE_USER, MBOAttribute.SCHEMA_TYPE_STRING);
To use a user variable in controls:
case LABEL2:
Label locallabel2 = (Label) object;
locallabel2.setFontStyle(styleLabel_Style);
//locallabel2.setFooterField(null);
locallabel2.setFocusFontStyle(styleDefault_Style);
locallabel2.setWrapText(false);
locallabel2.setVariableLabel(new ControlVariable(
BOBCUIDefinition.VARIABLE_HISVAR,
VariableProperties.VARIABLE_TYPE_USER, null,
null));
String key = "variableName"; // NOTE: Sybase only supports this type. String keyType = VariableProperties.VARIABLE_TYPE_USER; String schemaType = MBOAttribute.SCHEMA_TYPE_BOOLEAN; Object value = "true"; Util.addVariable( key, value, keyType, schemaType );
System variables are used in a similar manner.
To create table variable and bind to text input:
localtextInput4.setVariableInput(
new ControlVariable("dept_head_id",
VariableProperties.VARIABLE_TYPE_TABLE,
BOBCUIDefinition.MBO_A_B_C_DEPARTMENT, null));
You must save a Context before table variables can be used by a context action.
case MENU6:
MenuAction menu6 = (MenuAction) object;
//Create list of actions
ActionList actionList13 = new ActionList();
IBOBAction connectionAction9 =
new ScreenAction(
UIDefinition.getScreen("screen4"), false, null);
menu6.setAction(actionList13);
IBOBAction contextAction4 =
new SaveMobileDataContextAction(cellTable1);
actionList13.addAction(contextAction4);
actionList13.addAction(connectionAction9);
cellTable1.setDefaultAction(actionList13);