3270 Connect User's Guide

CHAPTER 4

Performing 3270 Actions

 
Top of page

About Actions

An action is similar to a programming statement in that it takes input in the form of parameters and performs specific tasks. Please see the chapters in the Composer User's Guide devoted to Actions.

Within the 3270 Component Editor, a set of instructions for processing XML documents or communicating with non-XML data sources is created as part of an Action Model. The Action Model performs all data mapping, data transformation, data transfer between mainframes and XML documents, and data transfer within components and services.

An Action Model is made up of a list of actions. All actions within an Action Model work together. As an example, one Action Model might read invoice data from a disk, retrieve data from a mainframe inventory database, map the result to a temporary XML document, make a conversion, and map the converted data to an output XML document.

The Action Model mentioned above would be composed of several actions. These actions would:

 
Top of page

About 3270-Specific Actions

The 3270 Connector includes several actions that are specific to the 3270 and are not included with Composer.

3270 Action

Description

Map Screen

Indicates location in the Action Model to place actions relative to a specific transaction screen.

Multi Row

This action allows you to specify the mapping of many-to-many data relationships between a DOM and the 3270 screen.

Send Attention Key

This action is created automatically by pressing any Aid key. The action can be edited to change the key sent back to the host.

Map Screen

In addition to showing where in the Action Model a specific transaction screen appears, the Map Screen action is also used for error checking. When a screen is first recorded, Composer saves a count of how many fields are in the screen. This count is compared later during execution for error checking to ensure the actions recorded will return the proper information. The Map Screen action appears in the Action Model as shown.

Multi Row

The Multi Row action can be used to input data from an XML document to a 3270 screen, or to output data from a 3270 screen to an XML document. This action essentially creates repeat loops within the Action Model that map multiple rows of data automatically from one document or screen to another. The Multi Row action is discussed in detail in "About the 3270 Multi Row Wizard" on page 48.

Send Attention Key

Each time you select one of the AID keys displayed in the native environment tool bar, or its corresponding keyboard key, or keys, (See "About 3270 Keyboard Support" on page 29) a Send Attention Key action is mapped in the Action Model.

Double-clicking the Send Attention Key action in the Action Model displays a dialog box that allows you to edit the key. Select from the dropdown list box the Value Key. Click on the checkbox to override the cursor position. Edit the row and column if needed or click on the expression builder icon to add a calculation.

3270AttentionDialog

 
Top of section

3270 Specific Expression Builder Extensions

The Connect for TN3270 exposes a number of 3270-specific ECMAScript variables and object extensions, which are visible in Expression Builder picklists. The 3270-specific items are listed under the node labelled "3270." There are two child nodes: Login and Screen Methods. See illustration below.

 
Top of section

Login

3270 Connection Resources have three global variables that are accessible from Expression Builder dialogs: USERID, PASSWORD and RESOURCENAME. The first two properties (available under the Login node of the picktree) specify the User ID and Password values that may be requested by the host system when you connect. The RESOURCE NAME variable specifies the Name of the Resource as specified in the Advanced dialog of the 3270 Connection Dialog. You can map any of these variables into the terminal screen, which eliminates the need for typing user, password and resource information explicitly in a map action.

NOTE:   You can also create a Send Buffer action where the XPath source is defined as $PASSWORD.

 
Top of section

Screen Methods

When an Expression Builder window is accessed from a Map or Function action in the 3270 Component, the picklists at the top of the window expose special 3270-specific ECMAScript extensions, consisting of various methods of the Screen object and predefined escape sequences corresponding to various "special keys" on the virtual terminal's keyboard.

Hover-help is available if you let the mouse loiter over a given picktree item. (See illustration.)

3270hovertip

In addition, you can obtain more complete online help by clicking Help in the lower left corner of the dialog.

The Screen object offers methods with the following names, signatures, and usage conventions:

String getText(nOffset, nLength)

This method returns the string of characters (of length nLength) that occurs in the Screen object at the byte offset given by nOffset. Note that the offset is one-based, not zero-based. Thus, to obtain all of a 24 x 80 screen as an ECMAScript String, you would do:

  var wholeScreen = Screen.getText( 1, 24 * 80 );

Any attempt to obtain character data beyond the bounds of the screen buffer will result in an exception. For example, the following call will fail:

  var wholeScreen = Screen.getText( 1, 1 + 24 * 80 ); // ERROR!

String getTextAt(nRow, nColumn, nLength)

This method returns an ECMAScript String that represents the sequence of characters (of length nLength) in the current screen starting at the row and column position specified. Note that nRow and nColumn are one-based, not zero-based. A zero value for either of these parameters will cause an exception.

To obtain all of row 20 of a 24x80 screen, you would do:

  var myRow = Screen.getTextAt( 20, 1, 80 );

The getTextAt() technique is used internally in drag-and-drop Map actions involving screen selections.

String getTextFromRectangle(nStartRow, nStartColumn, nEndRow, nEndColumn)

This method returns a single String consisting of substrings (one per row) comprising all the characters within the bounding box defined by the top left and bottom right row/column coordinates specified as parameters. So for example, in 24x80 mode, you could obtain the upper left quarter of the screen by doing:

  var topLeftQuadrant = Screen.getTextFromRectangle(1,1,12,40);

The getTextFromRectangle() method is used internally in drag-and-drop Map actions involving rectangular screen selection regions created using the Shift-selection method.

Note that the string returned by this method contains newline (\u000a) delimiters between substrings. That is, there will be one newline at the end of each row's worth of data. The overall length of the returned string will thus be the number of rows times the number of columns, plus the number of rows. For example, Screen.getTextFromRectangle(1,1,4,4).length will equal 20.

void setText( nOffset, aText )

The setText() method allows you to send data to a field in the screen programmatically, beginning at a byte offset given by nOffset. Note that the offset is one-based, not zero-based. If the text string is longer than the available field, text is inserted up to the length of the current field. The following example places a phone number string in the second row and the 12th column (This would be an offset of 92, in a screen with 80 columns per row):

  var myPhone = "(203) 225-1800";
  if (Screen.getPrompt().indexOf("Phone") != -1)
       Screen.setText(92, myPhone ); // send string

void setTextAt( nRow, nColumn, aText )

The setTextAt() method allows you to send data to a field in the screen programmatically, specifying a Row and Column location to start. If the text string is longer than the available field, text is inserted up to the length of the current field. The following example places a phone number in the 8th row, 20th column:

  var myPhone = "(203) 225-1800";
  if (Screen.getPrompt().indexOf("Phone") != -1)
       Screen.setTextAt( 8, 20, myPhone ); // send string 

 
Top of page

Recording a 3270 Session

The 3270 component differs from other components because a major portion of the Action Model is built for you automatically. This happens by interacting with a live session from the host in the Native Environment pane and Composer recording your activity as a set of actions in the Action Model. In other components, you must manually create actions in the Action Model, which then perform mapping, transformation, and transferring tasks. When you create a 3270 component, you essentially record the requests and responses to and from the mainframe, which are entered as actions in the Action Model pane. For example, when you select the Enter button in the 3270 Native Environment pane, the Action Model records the action as shown in the graphic below. In addition, you can add actions to the Action Model just the same as other components.

3270AttentionKeyEnter

NOTE:   You should be familiar with 3270 commands and the application you are interfacing into your XML integration project in order to successfully build a 3270 component.

Procedure To record a 3270 session:

  1. Create a 3270 component per the instructions in "Before Creating a 3270 Component" on page 25. Once created, the new 3270 component appears in the 3270 Component Editor window.

    NOTE:   In addition to the buttons found on the XML Map Component Editor tool bar, the 3270 Component Editor includes a Record and Connect/Disconnect button as shown above.

  2. Click the Record button. An input screen appears in the Native Environment pane and a "Map Screen" action is recorded in the Action Model pane.

  3. Type "PART" in the input screen of the 3270 environment pane as shown below.

    3270EnterPART

    NOTE:   The 3270 commands are case sensitive and must be entered in ALL CAPS.

  4. Click the Enter button in the 3270 pane. The ENTER PART screen appears in the 3270 pane and the actions are recorded in the Action Model pane under Screen Actions.

  5. Drag the SKU data from the Input DOM to the SKU field in the 3270 ENTER PART screen. The action is recorded in the Action Model pane and appears in the status bar.

    NOTE:   You can also use the Map Action to map the Input SKU to the ENTER PART screen SKU field; however, dragging and dropping is much quicker and easier. For more information on the Map Action feature, see the exteNd Composer User's Guide.

  6. Click the Enter button in the 3270 pane. The 3270 ENTER PART screen is populated with the SKU's associated data.

    3270Record3270Pane03

  7. Drag and drop an element from the ENTER PART screen to the Output DOM, for example, the SKU number. The data you drag and drop appears in red in the Output DOM.

    3270DragSKUtoOutput

  8. Continue to drag and drop data elements from the ENTER PART screen to the desired field in the Output Part until complete. Each time an element is dragged from the ENTER PART screen to the Output Part an action is recorded in the Action Model pane.

  9. Click the Save icon on the toolbar.

 
Top of section

Editing a Previously Recorded Action Model

You will undoubtedly encounter times when you need to edit a previously recorded action model. Unlike editing other components, editing a 3270 component requires extra attention. When a 3270 component executes, it plays back a sequence of actions that expect certain screens and data to appear in order to work properly. So when editing a component you must be careful not to make the action model sequence inconsistent with the mainframe transaction execution sequence you recorded earlier.

In general, to ensure successful edits, the following recommendations apply:

 
Top of section

Changing an Existing Action

The following procedure will explain how to change an existing action in a previously recorded session.

Procedure To Change an existing action in a previously recorded Action Model:

  1. Open the component that includes the previously recorded Action Model that you'd like to edit. The component appears in the 3270 Component Editor window.

    3270EditRecordedSession

  2. Navigate to the action in the Action Model where you'd like to make your edit and highlight the action.

    3270EditRecordedSession01

  3. Click the Toggle Breakpoint button. The highlighted action becomes red.

  4. Click the Start Animation button. The animation tools become active.

  5. Click the Step to Breakpoint/End button. The Action Model executes all of the actions from the beginning to the breakpoint you set in step 3 above and appears as shown.

  6. Click the Pause button on the animation tool bar.

  7. In the Component Editor tool bar, click the Record button.

  8. Execute any additional actions that you'd like to add to the Action Model.

  9. Select File, then Save, or click the Save button on the Component Editor tool bar.

  10. Follow the instructions in "Using the Animation Tools" to test your component.

Editing Attention Keys

Whenever you press Enter on the keyboard or click one of the many attention keys in the 3270 Native Environment pane while recording a session, an action is recorded in the Action Model. An example of this is shown below.

3270AttentionKeyEnter

These actions, like any other, can be deleted, moved, or copied. You may also double click an Attention Key action and edit it from a dialog box.

3270AttentionDialog

 
Top of section

Adding a New Action

The following procedure explains how to add a new action in a previously recorded session.

Procedure To Add a Action to a previously recorded Action Model:

  1. Open the component that includes the previously recorded Action Model that you'd like to add an action in. The component appears in the 3270 Component Editor window.

    3270EditRecordedSession

  2. Navigate to the action in the Action Model where you'd like to add the action and highlight the action.

    3270EditRecordedSession01

  3. Click the Toggle Breakpoint button. The highlighted action becomes red.

  4. Click the Start Animation button. The animation tools become active.

  5. Click the Run to Breakpoint/End button. The Action Model executes all of the actions from the beginning to the breakpoint you set in step 3 above and appears as shown.

  6. Click the Pause button on the animation tool bar.

  7. In the Component Editor tool bar, click the Record button.

  8. Use Composer's drag and drop features to add new Map actions that interact with the screen. The new action will be added directly under the highlighted line.

  9. Select File, then Save, or click the Save button on the Component Editor tool bar.

  10. Follow the instructions in "Using the Animation Tools" to test your component.

 
Top of section

About Adding Alias Actions

If you are adding Map Actions in a loop that are alias perform the following steps:

Procedure To Add an Alias Action to a previously recorded Action Model:

  1. Open a component.

    From the Action menu, select New Action, then Map. The Map Action dialog box displays.

    map

  2. Select the Xpath and from the dropdown list for Source, Order_Lines is selected from the dropdown list.

  3. Either type in the information, or click the Expression Builder button and create a new expression.

  4. Create an XPath to be represented by the alias. Click from the dropdown list for the alias

  5. Click OK.

    The new action is inserted below the line you select. (New line is highlighted in the screen below to show it was inserted.

    resultmap

 
Top of section

Deleting an Action

The following procedure explains how to delete an action in a previously recorded session

Procedure To Delete an Action to a previously recorded Action Model:

  1. Highlight the action line that you want to delete.

  2. Click on the RMB and select Delete from the menu. You may also highlight the line and press the Delete button on your keyboard.

    delete

 
Top of page

About the 3270 Multi Row Wizard

The 3270 Connect includes drag and drop capabilities that allow you to drag data from an XML document into a 3270 or from a 3270 screen into an XML document quickly and easily; however, in cases where there are a variable number of rows and possibly multiple screens of data, using the drag and drop method is not effective. To resolve this issue, the 3270 Connector includes a Multi Row Wizard that allows you to specific the mapping of many-to-many data relationships between a DOM and the 3270 screen. The Multi Row Wizard, which appears as an option in the Action>New Action menu of a 3270 component, can be used to input data from an XML document to the repeating area of a 3270 screen, or to output the repeating data from a 3270 screen to an XML document. The Multi Row Wizard essentially creates repeat loops within the Action Model that map multiple rows of data automatically from one document or screen to another until complete, regardless of the number of rows or number of screen pages.

 
Top of section

About the Multi Row Samples in this Document

There are many ways the Multi Row Wizard can be used when inputting or outputting multiple rows of data to and from XML documents and 3270 screens, and not every scenario can be addressed in this document. Two basic sample components are provided here that should give you a clear understanding of how the Multi Row Wizard is generally used.

The first procedure shows you a component that uses the Multi Row Wizard to input multiple elements of data from an XML document to a 3270 screen. The second procedure shows a component that uses the Multi Row Wizard to output multiple rows of data from a 3270 screen to an Output DOM.

The procedures in this section are strictly for demonstration purposes. Unlike the Composer tutorial, theses procedures are not intended for following along step-by-step.

Procedure To prepare for using the Multi Row Wizard to input data:

  1. Create a component per the instructions in "Before Creating a 3270 Component" on page 25. For this example, the component is called "3270SampleInput." The component is shown below in the 3270 Component Editor.

  2. Click the Record button. A blank screen appears in the Native Environment pane.

    3270SampleInput02

  3. The user can then type in a transaction in the transaction line. This example uses "GORD" as the transaction.

  4. Press Enter on the keyboard.

    NOTE:   Alternatively, you may select Enter on the 3270 keypad toolbar within the Native Environment pane. To view this tool bar, select View from the 3270 Component Editor menu bar, then Keypad Toolbar.

    This example then displays an "ENTER ORDER" 3270 screen in the Native Environment pane.

    3270SampleInput03

  5. The user then drags and drops the applicable header data from the input DOM to the corresponding field in the 3270 ENTER ORDER screen. For this example, the following data is dragged and dropped:

    From: DOM Field

    To: 3270 ENTER ORDER Screen Field

    ODATE

    DATE:

    OCUST

    CUST:

    ONAME

    NAME:

    OBADDR

    BILL TO: (First line)

    OBCITY

    BILL TO: (Second line)

    OBST

    BILL TO: (Second line, 2-character field to the right of city)

    OBZIP

    BILL TO: (Second line, 5-character field to the right of state)

    OSADDR

    SHIP TO: (First line)

    OSCITY

    SHIP TO: (Second line)

    OSST

    SHIP TO: (Second line, 2-character field to the right of city)

    OSZIP

    SHIP TO: (Second line, 5-character field to the right of state)

    OPAY

    PAYMENT METHOD:

    OPAYINFO

    ACCOUNT #:

    The 3270 ENTER ORDER screen appears as shown.

    3270SampleInput04

  6. Identify the area of repetitive rows that you will select for the Multi Row action.

  7. For multi-row actions the user needs to define the area that contains repeating data either manually or by highlighting the area. In this example, the user drags the cursor over the line item input field area in the 3270 ENTER ORDER screen, beginning in the upper left corner and moving to the lower right corner. A gray background highlight appears over the drag marquee.

    NOTE:   Make sure that you start your drag process with your cursor outside of the first field. If you start dragging within a field, Composer assumes you are trying to move the field itself.

    The 3270 input field area appears as shown.

Procedure To use the Multi Row Wizard to input data:

NOTE:   If you are outputting data, see discussion further below ("To use the Multi Row Wizard to output data:" on page 56 of the guide).

  1. From the 3270 Component Editor menu, select Action, then New Action, then Multi Row. The Multi Row Wizard appears. The wizard automatically fills in the dialog based on the area you highlighted. See "To prepare for using the Multi Row Wizard to input data:" on page 49 for an example.

    1

    If you would like to edit the fields or you did not highlight an area, you would do so as follows:

    NOTE:   The 3270 screen is comprised of columns and rows - the default is 24 lines x 80 columns.

  2. Edit the fields if desired. When satisfied with the parameters, click Next. The second panel of the Multi Row Wizard appears.

Procedure To set up a repeat action in the Multi Row Wizard:

NOTE:   If you are outputting data, see "To use the Multi Row Wizard to output data:" on page 56.

After completing the first panel of the Multi Row Wizard, continue as follows.

  1. Select the Input radio button in the Use XML As area. This panel is used to create a repeat action for processing the multiple elements or screen rows. Its use is similar to the basic "Repeat for Element" action available in all components.

    In the Representing field, click the Expression builder button. The Expression builder window appears.

    3270MultiRowInput02A

  2. Expand the Input element in the XPath Content frame.

    Navigate to the OITEM element and double click. The expression appears in the comment pane in the bottom of the window. For this example, the OITEM element is the one on which we will loop.

    3270MultiRowInput02B

    Click OK. You are returned to the second screen of the Multi Row Wizard, which now appears with the new expression in the Representing field.

    NOTE:   When using the Expression builder, Composer automatically creates an Alias. In this example, Composer created the alias called OITEM. For more information on Aliases, please see the exteNd Composer User's Guide.

    3

  3. Click Next. The Iterate screen of the Multi Row Wizard appears.

Procedure To iterate to the n ext record:

NOTE:   If you are outputting data, see "To use the Multi Row Wizard to output data:" on page 56.

This screen allows you to tell the Multi Row Wizard what to do when it encounters an end of page. In the example (see "About the Multi Row Samples in this Document" on page 48), there is only one page of data, so there is no check mark in the Can Iterate to Next Record Set box.

4

Procedure To add Multi Row Actions to input data:

  1. Highlight the Add all multi row map actions here! comment in the Action Model if not already highlighted.

  2. Navigate to the first instance of OITEM in the Input Part pane.

  3. Drag and drop the children of OITEM into the applicable fields in the first row of line item fields in the 3270 screen as follows:

    From: Input DOM

    To: ENTER ORDER 3270 Screen

    OISKU

    PART

    OIDESC

    DESCRIPTION

    OIQTY

    QTY

    OICOST

    COST

  4. The Input Part and ENTER ORDER 3270 screens appear as shown.

    3270MultiRowLoopAction01

  5. The Action Model pane appears as shown.

    3270MultiRowLoopAction02

  6. Notice that Map actions within the Multi Row actions block reference fields by their relative position in the row and not their absolute position within the screen. So the target of the first Map action is $RECORD/FIELD[1]. Using drag and drop to create your Map actions within the context of the Multi Row will create and assign these field indexes for you automatically.

    The final Action Model appears as shown.

    3270CompleteActionModel01

  7. Select File, then Save from the 3270 Component Editor menu bar, or click the Save button.

  8. Follow the instructions in "Using the Animation Tools" on page 63 to test your component.

Procedure To use the Multi Row Wizard to output data:

  1. Create a component per the instructions in "Before Creating a 3270 Component" on page 25. For this example, a component called "3270SampleOutput" is created. The component is shown below in the 3270 Component Editor.

  2. Click the Record button. A blank screen with one line appears in the Native Environment pane.

    3270SampleOutput02

  3. The user would navigate to the correct screen for this example the user would type in a transaction in the transaction line. This examples uses `MENU" as the transaction.

    Press Enter on the keyboard. This example displays an "INSTRUCTIONS" 3270 screen in the Native Environment pane.

    NOTE:   Alternatively, you may select Enter on the 3270 tool bar within the Native Environment pane. To view this tool bar, select View from the 3270 Component Editor menu bar, then Keypad Toolbar.

    3270SampleOutput03

  4. In this example, "BRWS" is entered in the TRANSACTION field and "10001" in the NUMBER field.

    Press Enter on the keyboard. A "FILE BROWSE" 3270 screen appears.

    3270SampleOutputFileBrowse01

  5. For multi-row actions the user needs to define the area that contains repeating data either manually or by highlighting the area. In this example, the user drags the cursor over the data area beginning in the upper right hand corner and moving to the lower left hand corner. A gray background highlight appears over the drag marquee.

    NOTE:   Make sure that you start your drag process with your cursor outside of the first field. If you start dragging within a field, Composer assumes you are trying to move the field itself.

  6. The FILE BROWSE screen appears as shown.

    3270SampleOutputFileBrowse02

  7. From the 3270 Component Editor menu, select Action, then New Action, then Multi Row. The Multi Row Wizard appears. The wizard automatically fills in the dialog based on the area you highlighted in the previous step.

    1

  8. Edit the fields if desired. When satisfied with the parameters, click Next. The second panel of the Multi Row Wizard appears.

  9. Select the Output radio button for the Use XML As. This panel is used to create a repeat action for processing the multiple elements or screen rows. Its use is similar to the basic "Repeat for Element" action available in all components.

    In the Representing field, click the Expression builder button. The Expression builder window appears.

    3270OutExpression01

    Expand the Output element in the XPath Content frame.

  10. Navigate to the ACCINFO element and double click. The expression appears in the comment pane in the bottom of the window. For this example, the ACCINFO element is the one on which we will loop.

    3270SampleOutExpression02

  11. Click OK. You are returned to the second screen of the Multi Row Wizard, which now appears with the new expression in the Representing field.

    NOTE:   When using the Expression builder, Composer automatically creates an Alias. In this example, Composer created the alias called ACCINFO. For more information on aliases, please see the exteNd Composer User's Guide.

    OUT6

  12. Click the Next button. The Iterate screen of the Multi Row Wizard appears. This screen tells the wizard what to do when it encounters an end of page.

    4

  13. Check the Can Iterate to Next Record Set box.

  14. Select F1 from the Iterate by attention key pull down list.

    NOTE:   The 3270 screen itself contains the instructions for the iteration keys. For this example, the FILE BROWSE screen included instructions that said to use the F1 key to page forward.

  15. Click Next.

Procedure To complete the Boundary parameter page of the Multi Row Wizard:

  1. Select the Blank Record radio button. This tells the wizard that a blank record indicates the end point of the loop action. You may also use the Expression builder to set a different indicator for the loop's end point. For more information on using the Expression builder, please see the exteNd Composer User's Guide

    3270MultiRowBlankRecord

  2. Click Finish. The Multi Row actions you created in the wizard appear in the Action Model pane, with the Add all multi row map actions here! comment highlighted.

    3270SampleOutputActionPane01

Procedure To add the Multi Row Actions to output data:

  1. Highlight the Add all multi row map actions here! comment in the Action Model if not already highlighted.

  2. Navigate to the first instance of ACCINFO in the Output DOM pane.

  3. Drag and drop the data from the 3270 FILE BROWSE screen to the Output DOM as follows:

    From: FILE BROWSE

    To: Output DOM

    NUMBER

    ACCTID

    NAME

    NAME

    AMOUNT

    BALANCE

  4. The Output DOM appears as shown.

    3270SampleOutput04

  5. Select File, then Save from the 3270 Component Editor menu bar, or click the Save button.

  6. Follow the instructions in "Using the Animation Tools" on page 63 to test your component.

Procedure To edit the Multi Row Actions:

  1. Click on the MultiRow Action that you wish to change in the Action Pane. The dialog box appears.

    3270EditMultiRowAction

  2. Click on the appropriate Tab, edit the fields and click the OK button. Refer to the Previous sections on using the MuliRow Wizard to Input or Output data.

 
Top of section

Executing your 3270 Component

Composer includes animation tools that allow you to test your component. On the 3270 Component Editor tool bar you'll find the Execute button, which allows you to execute the entire Action Model and verify that your component works as you intend.

Procedure To execute a 3270 component:

  1. Open a 3270 component. The 3270 Component Editor window appears.

  2. Select the Execute button. The actions in the Action Model execute and, when complete, a message appears.

    3270ExecutionComplete

  3. Click OK.

  4. From the View menu, select Expand XML Documents. This expands all of the parents, children, data elements, etc. of the XML Documents, which allows you to see the results of the executed component. If you do not expand the XML Documents, you won't see if the data you wanted to move from the 3270 environment made it to the Output DOM.

 
Top of page

Using the Animation Tools

In the Action Model, you'll find animation tools that allow you to test a particular section of the Action Model by setting one or more breakpoints. This way, you can run through the actions that work properly, stop at the actions that are giving you trouble, and then troubleshoot the problem actions one at a time.

NOTE:   The following procedure is a brief example of the functionality of the animation tools. For a complete description of all the animation tools and their functionality, please refer to the exteNd Composer User's Guide.

Procedure To run the animation:

  1. Open a 3270 Component. The component appears in the 3270 Component Editor window.

    NOTE:   Animation and Recording are mutually exclusive modes in the component. In order to record during animation, you must either pause, or stop animation and then turn on record mode.

  2. Click the Start Animation button in the Action Model tool bar, or press F5 on the keyboard. All of the tools on the tool bar become active.

  3. Click the Step Into button. The first Map Screen action becomes highlighted.

    3270AnimationMapScreen

  4. Click the Step Into button again. The instruction that enters the command "PART" into the input field of the Native Environment pane becomes highlighted.

    3270AnimationPART

  5. Click the Step Into button again. The word "PART" appears in the input line of the Native Environment pane.

    3270Animatestep5

  6. Click the Step Into button again. The ENTER PART screen appears in the Native Environment pane.

    3270AnimationENTERPART

  7. Click the Step Into button again. In the Action Model, the instruction for dragging and dropping the SKU from the Input DOM to the SKU field of the ENTER PART screen field becomes highlighted.

    3270AnimationDRAG

  8. Click the Step Into button again. The SKU data from the Input DOM appears in the SKU field of the ENTER PART screen.

    3270AnimationDROP

  9. Click the Step Into button again. The ENTER PART screen becomes populated with the data associated with the SKU number.

    3270AnimationENTER

  10. Click the Step Into button again. In the Action Model, the instruction to drag the SKU data from the ENTER PART screen to the Output DOM becomes highlighted.

    3270AnimationSKUtoOutput

  11. Click the Step Into button again. The SKU data from the ENTER PART screen appears in the SKU field of the Output DOM.

    3270utputDOM01

  12. Continue to click the Step Into button until all the data elements from the ENTER PART fields appear in the Output DOM, as shown.

    3270AnimationOutputDOM

  13. Once complete, the following message appears.

    3270AnimationCompleted

 
Top of page

Component with Connection Action

The Component with Connection Action is unique because it allows a 3270 component to call another component allowing that component to share the same connection. The action allows you to break up a large component into a main 3270 component and a sub-components so it is easier to maintain the Action Model. The ability to have the main component share with the sub-component the connection greatly reduces the amount of connection overhead and transaction navigation at run time. Before you begin, determine how many sub-components you will require and then build and save the shells (containing no recorded actions) for when you are ready to begin recording.

Procedure To use the Component with Connect Action

  1. Create and record the basic structure of the main component to the point where you are ready to call a sub-component. For this example, the main component will be entitled "3270 Caller."

    Caller1

  2. From the Main menu, or by clicking the RMB, select New Action>Component/w connection. The following dialog appears.

    componentdialog

  3. From the Component Type pull down list, select the name of the component type. From the Component Name pull down list, select the name of the Component.

  4. Select the passed ID if you need to change it from the pull down list. Select the returned ID if you need to change it from the pull down list. Click OK.

  5. The following action appears in the map pane.

    executecomponentwconnect

  6. Animate the Main component and step into the Component with Connection action, the sub-component will now open. See how the screen changed to the component entitled "3270Called."

    Called1

  7. Click on the Pause button on the Animation tool bar to enable the Record button.

  8. Click on Record button and record the sub-component actions.

    called2output

  9. Save the component before stopping the recording process.

  10. The 3270 Called window will now switch back to the 3270 Caller window.

    CallerEnd

 
Top of page

Using Style Sheets in the Native Environment Pane

The Style Sheet feature of the 3270 Component Editor provides you with options as to how you want to view the Native Environment pane.

Procedure To apply a Style Sheet to the Native Environment pane:

  1. From the Component menu on the 3270 Component Editor window, select Style Sheet. The Style Sheet Editor dialog appears.

    3270StyleSheetEditor

  2. Choose a Style Sheet from the Style Sheet drop down list. For detailed information on using the Style Sheet editor, see "Creating a Style Sheet Resource" on page 21.

  3. Click OK.

 
Top of page

Using Other Actions in the 3270 Component Editor

In addition to the Map Screen and Multi Row action, you have all the standard Basic and Advanced Composer actions at your disposal as well. The complete listing of Basic Composer Actions can be found in Chapter 7 of the Composer User's Guide. Chapter 8 contains a listing of the more Advanced Actions available to you.

 
Top of page

Handling Errors and Messages

This section describes common errors you may see while executing the animation tools.

Screen Field Count Changed

This error occurs during animation or execution of certain transactions. One condition that can cause this is when a transaction sends one or more screens to the terminal that do not require a response from the user (i.e., pressing an Aid key) and then sends a screen that does require a response. For instance, some transactions are designed to display a message screen (e.g., "Please wait...") and then display the actual transaction screen that the user wants. The user cannot respond to the message screen, its display is under the control of the transaction. The problem with transactions behaving this way occurs during animation. As you step from action to action, Composer's Map Screen actions count how many fields each screen has and compares this number with the original field count when you recorded the component. Since the transaction can send a second screen before you have stepped to its corresponding Map Screen action, the field counts get out of sync.

To correct this error, you must determine why the field count has changed and then try one of the following remedial actions.

The Navigator Options Dialog allows you to:

There are additional circumstances where field counts can get of sync, for example:

Errors Involving Connections

If connection pooling is used, and there has been an attempt to log on with a bad UserID or Password, that connection instance will not be usable and that member of the pool will be skipped over in subsequent connection requests. An error message will be sent to the server log saying "Logon connection in pool <Pool name> was discarded for User ID <User ID>." You should check for messages of this sort during preproduction testing and/or any time performance issues arise.

There are a few different steps you can take to resolve a bad UserID or Password:




Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...