VisualMacroEditor(VME)
-
The VME is the primary and recommended tool within IBM HOD Hex Client for developing and editing macros.
-
It empowers you to automate interactions with traditional host applications (like 3270 or 5250 green screens) by transforming them into automated workflows.
Edit Popup (Opening and Editing an Existing Macro)
If you have a macro you wish to modify:
From the VME interface, select the "Edit Macro" icon.
-
A list of available macros will appear. Choose the macro you want to edit from this list.
-
The VME will then load the chosen macro as a flowchart on the canvas, ready for your edits.
The Palette
Located on the right side of the VME window, the Palette contains all the tools and actions you can use to build your macro. You'll drag items from here onto the Canvas.
-
Select Tool: Use this tool to select and move existing flowchart nodes (screens ) around the canvas.
-
Screen Tool: Drag this tool onto the canvas to add a new screen node to your flowchart.
-
You can select a screen from a dropdown list of captured screens (these captures are only available if the macro was recorded using the VME).
After dropping, a dialog will appear. You'll then configure the screen's
General properties (like its name) and crucial Screen Recognition criteria.
-
Finally, you can define Actions that should be performed when the macro executes this screen.
- Marquee Tool: Use this to select multiple nodes simultaneously on the canvas. This is useful for operations like copying or moving groups of elements.
- Next Screen Connection Tool: This tool allows you to draw connections (flow lines) between different screen nodes on the canvas. This defines the navigation path your macro will follow.
- New Screen Properties Pop-up: When adding a new screen, this pop-up appears to configure its properties.
- General Tab : Here, you can give a name to the screen and input other
values, which will update the macro. The icon beside the screen name
represents the entry and exit screen.
- Name: The name of the screen (e.g., "Screen 1").
- Attributes:
-
Entry Screen (Macro begins on this screen): A checkbox to designate this screen as the starting point of the macro.
-
Exit screen (Macro ends on this screen): A checkbox to designate this screen as the ending point of the macro.
-
Transient screen (an unpredictable screen that may appear at anytime): A checkbox to mark the screen as transient.
-
Set Recognition Limit: A checkbox to set a limit for screen recognition.
-
Enter Screen Name (Optional): An input field, likely for an optional screen name when setting a recognition limit.
-
Placeholder text: Input fields for placeholder text.
-
- Set Pause Time:
- Pause Time in Milliseconds: An input field to specify a pause time in milliseconds.
- Screen Recognition Tab : This section allows you to edit values and
add screen criteria, which will update the macro script, and the user can
see the addition/changes in the macro code.
- Total number of fields: Displays the total number of fields recognized on the screen. Checkboxes for "Optional" and "Invert" are also present.
- Number of input fields: Displays the number of input fields recognized. Checkboxes for "Optional" and "Invert" are also present.
- Cursor position: Displays the row and column of the cursor position. Checkboxes for "Optional" and "Invert" are also present.
- Additional Criteria: A table to add specific recognition
criteria.
- Strings: Used to define a string for screen recognition.
- String: The specific text string to look for (e.g., "Sign On").
- String Position:
- Anywhere on the screen: Radio button to recognize the string anywhere.
- At a specified position: Radio button to recognize the string at a specific row and column.
- With a rectangular region: Radio button to recognize the string within a defined rectangular area (Start Row, Start Column, End Row, End Column).
- Attributes: Checkboxes for "Case sensitive," "Optional," and "Invert".
- Actions Tab : The user will see an empty table of actions here. You can add, edit, remove, or change the order of actions from this tab.
Add Actions (Select Actions popup)
This section provides a customizable list of individual actions (like input, prompt, or extract) that you can drag and drop onto your canvas or add directly within a screen's properties.
-
The Settings icon next to "Add actions" allow you to customize the list of actions available in the Palette or to add new actions to the Palette itself.
-
The user can select the actions to add into the pallet.
Propertiespopup(ModifyingScreenProperties)
Click the "+" icon on a screen node to open its properties, where you can adjust:
-
General: Basic details and name of the screen.
-
Screen Recognition: Crucial for identifying the screen. You can add or edit criteria such as text presence, cursor position, or field attributes. These updates are immediately reflected in the macro script.
-
Actions: Define what happens when this screen is encountered. (See Section 5 for details on action editing).
-
Adding a New Action:
-
Click the "Add" button within the Actions section.
A list of available actions will appear. Choose the desired action
(e.g., Input, Extract, Prompt).- Click "Next". A new popup specific to that action will open.
- Click "Finish" to add the action to the screen or logic block.
-
-
Editing an Existing Action: Select an action from the list and click the "Edit" option. This will open the same action-specific popup, allowing you to modify its details.
- Removing an Action: Select an action from the list and click the "Remove action" button.
- Changing Action Order: Use the "Up" and "Down" buttons to change the sequence in which actions are executed within a screen or logic block.
ACTION POPUPS
- Input Action: The Input action sends a sequence of keystrokes to the
session window.
-
Insert at current cursor position: Checkbox to insert input at the current cursor location.
-
Row, Column: Specify the row and column for input if not at the current cursor position.
-
String: The string of text or keys to send (mandatory field).
-
Translate host action keys: Checkbox to translate host action keys.
-
Encrypt string: Checkbox to encrypt the input string.
-
- Pause Action: The Pause action waits for a specified number of
milliseconds and then terminates.
-
Duration (in milliseconds): The amount of time in milliseconds to pause (mandatory field).
-
- Prompt Action: The Prompt action provides a way to send immediate
user keyboard input into the 3270 or 5250 application or into a variable.
-
Name: A name for the prompt.
-
Default value: A default value for the input.
-
Position (Row, Column): The screen position where the prompt's input will be directed.
-
Password protect: Checkbox to password protect the input.
-
Value Required: Checkbox to make the input value mandatory.
-
Clear host field: Checkbox to clear the host field before input.
-
- Evaluate (If) Action: This action functions as an if-statement or an
if-else statement. After defining the condition, you can add, edit, or
remove actions, similar to adding actions in properties.
-
Condition: The boolean expression to evaluate (mandatory field).
-
If True: Radio button to define actions to perform if the condition is true.
-
If False: Radio button to define actions to perform if the condition is false.
- Action list: A table to add, edit, or remove actions to be executed based on the condition.
- Adding a New Action:
-
Click the "Add" button within the Actions section.
A list of available actions will appear. Choose the desired action
(e.g., Input, Extract, Prompt).
-
Click "Next". A new popup specific to that action will open.
-
Click "Finish" to add the action to the screen or logic block
-
- Editing an Existing Action: Select an action from the list and click the "Edit" option. This will open the same action-specific popup, allowing you to modify its details.
- Removing an Action: Select an action from the list and click the "Remove action" button.
- Changing Action Order: Use the "Up" and "Down" buttons to change the sequence in which actions are executed within a screen or logic block.
-
- Extract Action: The Extract action captures text from the session
window and stores the text into a variable.
-
Name: The name of the variable to store the extracted data (mandatory field).
-
Position (Start Row, Start Column, End Row, End Column): Defines the rectangular region on the screen from which to extract text.
-
Data Plane: Dropdown to select the data plane.
-
- Set Cursor Position Action: This action moves the cursor to a
specified position.
-
Row: The row number to move the cursor.
-
Column: The column number to move the cursor.
-
- Trace Action: The Trace action sends a trace message to a trace
destination that you specify, such as the Java console.
-
Trace Handler: Select the type of trace handler from the dropdown (e.g., Host On-Demand trace facility).
-
Value: The message to trace (mandatory field).
-
- Perform Action: The Perform action invokes a method belonging to an
imported Java class. The user should provide the popup action to perform;
upon finishing, the macro code is updated.
-
You will need to specify details about the Java method to invoke.
-
- Update Variables Action: This action stores a specified value into a
specified variable.
-
Name: The name of the variable (mandatory field).
-
Type: The type of the variable (e.g., String, Integer) (mandatory field).
-
Value: The value to assign to the variable (mandatory field).
-
Properties of Macro Popup
This crucial popup allows you to configure global settings for your entire macro, affecting its overall behavior. It's typically accessed from a "Properties" option in the main VME interface or by clicking on the macro's root node.
-
General Tab (Currently Selected):
-
Name: The unique identifier for your macro. (e.g., "demo")
-
Author: The creator of the macro (optional).
-
Creation date: The date the macro was created (often auto-populated).
-
Description: A field for a brief explanation of what the macro does (optional).
-
Pause between actions:
-
Checkbox: Pause between actions (Enabled in image).
-
Time (in Milliseconds): Specifies a brief delay between each action executed by the macro. This can help with host responsiveness or visual debugging. (e.g., "300" milliseconds in image).
-
- Timeout between screens:
- Checkbox: Timeout between screens (Enabled in image).
- Time (in Milliseconds): Defines how long the macro will wait for a new host screen to appear before timing out and potentially throwing an error. (e.g., "60000" milliseconds in image, or 60 seconds).
-
- Variables s Types Tab:
This tab is where you would define and manage global variables that can be used throughout your macro. You can specify their names, data types, and initial values.