Use GetFindData to locate information that is accessed using either a 3270 server or a custom server.
GetFindData retrieves all input as strings.
Once a caller has provided partial identification information (by pressing the keys on the telephone keypad), GetFindData sends a request via the server for a list of data items that are identified by the partial identification information. If the list contains more than one item, GetFindData processes additional identification information. When enough information has been provided to identify the unique data item, that item is placed in a buffer to which a variable name is assigned, and the action returns "succeeded". If the list contains no items, the action returns immediately with the result "no match found".
The key identified by the Stop Key system parameter in the Application Server Interface group clears the input to allow the caller to start over. By default, this is the asterisk (*) key. The last key pressed must be the key identified by the Enter Key system parameter in the Application Server Interface group. By default, this is the <#> key.
If the action terminates with the result "succeeded" or "no match found" without the user having pressed the Enter key, the next prompt is force-played for the first 0.8 seconds to discard any extra keys the caller has pressed, unless there is another Get action before that prompt.
For example, suppose a caller wants to order an item from a catalog. As soon as the caller keys in the first part of the item number, GetFindData sends a request to the server to retrieve a list of all the item numbers that begin with the same characters. If there is only one item on the list, the action places the entire item number in a buffer. If the list includes more than one candidate item, GetFindData processes the additional characters the caller has provided in the meantime until it locates a single item number that matches the caller’s input.
A caller can provide information as numbers or letters. The Key Signals system parameter group maps letters to the keys on the telephone keypad.
To enter a number or letter, the caller presses two keys. The first key is the key on which the letter appears. The second key indicates which of the letters mapped to that key is the one the caller wants. The first position in the map is 0, the second position is 1, and so on.
For example, if the keys are mapped as printed on telephone keypads in the United States, the map for key 2 can be set to 2ABC. The caller presses 2 and then 0 to enter the number 2; 2 and then 1 to enter the letter A; 2 and then 2 to enter the letter B; and 2 and then 3 to enter the letter C. To enter S, the caller presses 7 and then 3.
GetFindData causes an automatic fade out of any background music. You can override this by using the System : Music : Automatic fade before actions system variable (SV226).
The parameters for GetFindData identify the server that is used to access the information, the variable to which the returned information is assigned, and the minimum amount of information a caller must enter before the action invokes the server. The parameters also define two timeouts.
The timeout counter retains its value until a new Get action (GetFindData, GetData, GetFindName, GetKey, GetPassword, or GetText) is encountered.
The timeout counter applies to the current line of the state table. When the Last Timeout result has been returned, the counter is reset. Also, note that the debugger treats each statement, or line, as a separate state table, so two consecutive Get actions appear as one action to Blueworx Voice Response. Last Timeout could therefore be returned when Timeout is expected. This is a limitation of the debugger.
The Last Timeout result is returned for any GET action if fax detection is turned on, and is detected. Check SV180 to see if fax was detected.
GetFindData can have one of the following results:
When using an ASCII editor, code this action with these parameters in the following order:
For example:
label: "Check Edges" GetFindData("SERVER_3270", SrvrSample_3270, sendkeys, in1_n, 10, 20, 10, 5) edge EDGE_GFDATA_MATCH_FOUND: match_found edge EDGE_GFDATA_NO_MATCH_FOUND: no_match_found edge EDGE_GFDATA_HOST_PROB: host_prob edge EDGE_GFDATA_TIMEOUT_WITH_INPUT: timeout_with_input edge EDGE_GFDATA_NO_HOST_RESPONSE: no_host_response edge EDGE_GFDATA_NO_INPUT: no_input edge EDGE_GFDATA_LAST_TIMEOUT: last_timeout edge EDGE_HUP: hup ; GetFindData("CUSTOM_SERVER", CS_Request_Call, sleepy, in1_n, 10, 20, 10, 5);
The parameters and edges are described above under "Parameters" and "Possible results". For more information, see Testing a state table using the debugger.