Tag 010 - Text with Optional Buttons

The Text with Optional Buttons Message is used to display virtual buttons and/or fixed text onscreen. The screen may have button(s) on top (and/or bottom on some models) plus labels (lines of text) below and/or above any buttons.

A virtual button will only be displayed if data is entered in the descriptor field (ButtonNDesc) for the button. Note that pressing the Enter key is not required after pressing a virtual button.

The following details are device-specific:

For iSC250 and iSC480 – Screen may have button(s) on top and/or bottom plus labels (lines of text) in the middle. The maximum number of labels depends on the buttons present. The maximum is 6 if there are button(s) on the top and bottom, 7 if there are button(s) on the top or bottom but not both, and 8 if there are no buttons. Do not send excess labels. The maximum length of each Button Description is 10. The maximum length of each Button Label is 52 for the iSC250 and 62 for the iSC480.

For iPP350 – Buttons on top of the screen are not supported; up to four buttons are supported on the bottom. Up to six labels are supported. The maximum length of each Button Description is 7. The maximum length of each Button Label is 43.

The Text with Optional Buttons Response returns the button pressed by the customer. Fields in the Request (AllowEnter, AllowCancel) control whether the (hard) Enter and Cancel keys can be used.

Text with Optional Buttons Request Format

Note: Field separators must be sent for both button and label fields as shown below, even if some of these fields are null.

Field 5001

Field 5001 Subfield Length Description
TTT 3 Tag (always = 010)
LLL 3 Length of the following data
AllowEnter 1 Allow Enter hard key (0=Not allow, 1=Allow)
AllowCancel 1 Allow Cancel hard key (0=Not allow, 1=Allow)
Beeper 1 Sound tone (0=No, 1=Yes)
ButtonADesc 0 (iPP350)
0-10(iSCxxx)
Descriptor for first button position (from left) on top (A)
FS 1 Field separator (Hex 1C)
ButtonBDesc 0 (iPP350)
0-10(iSCxxx)
Descriptor for second button position on top (B)
FS 1 Field separator (Hex 1C)
ButtonCDesc 0 (iPP350)
0-10(iSCxxx)
Descriptor for third button position on top (C)
FS 1 Field separator (Hex 1C)
ButtonDDesc 0 (iPP350)
0-10(iSCxxx)
Descriptor for fourth button position on top (D)
FS 1 Field separator (Hex 1C)
ButtonEDesc 0-7 (iPP350)
0-10(iSCxxx)
Descriptor for first button position (from left) on bottom (E)
FS 1 Field separator (Hex 1C)
ButtonFDesc 0-7 (iPP350)
0-10(iSCxxx)
Descriptor for second button position on bottom (F)
FS 1 Field separator (Hex 1C)
ButtonGDesc 0-7 (iPP350)
0-10(iSCxxx)
Descriptor for third button position on bottom (G)
FS 1 Field separator (Hex 1C)
ButtonHDesc 0-7 (iPP350)
0-10(iSCxxx)
Descriptor for fourth button position on bottom (H)
FS 1 Field separator (Hex 1C)
Label1Just 1 Label 1 justification (1=Left justify, 2=Center, 3=Right justify)
Label1Reverse 1 Label 1 reverse mode (0=standard mode, 1=reverse mode).
Label1Text 0-43 (iPP350)
0-52 (iSC250)
0-62 (iSC480)
Label 1 text
FS 1 Field separator (Hex 1C)
Label2Just 1 Label 2 justification
Label2Reverse 1 Label 2 mode
Label2Text 0-43 (iPP350)
0-52 (iSC250)
0-62 (iSC480)
Label 2 text
FS 1 Field separator (Hex 1C)
Label3Just 1 Label 3 justification
Label3Reverse 1 Label 3 mode
Label3Text 0-43 (iPP350)
0-52 (iSC250)
0-62 (iSC480)
Label 3 text
FS 1 Field separator (Hex 1C)
Label4Just 1 Label 4 justification
Label4Reverse 1 Label 4 mode
Label4Text 0-43 (iPP350)
0-52 (iSC250)
0-62 (iSC480)
Label 4 text
FS 1 Field separator (Hex 1C)
Label5Just 1 Label 5 justification
Label5Reverse 1 Label 5 mode
Label5Text 0-43 (iPP350)
0-52 (iSC250)
0-62 (iSC480)
Label 5 text
FS 1 Field separator (Hex 1C)
Label6Just 1 Label 6 justification
Label6Reverse 1 Label 6 mode
Label6Text 0-43 (iPP350)
0-52 (iSC250)
0-62 (iSC480)
Label 6 text
FS 1 Field separator (Hex 1C)
Label7Just 1 Label 7 justification
Label7Reverse 1 Label 7 ,mode
Label7Text 0 (iPP350)
0-52 (iSC250)
0-62 (iSC480)
Label 7 text
FS 1 Field separator (Hex 1C)
Label8Just 1 Label 8 justification
Label8Reverse 1 Label 8 mode
Label8Text 0 (iPP350)
0-52 (iSC250)
0-62 (iSC480)
Label 8 text

Text with Optional Buttons Response Format

Field 5001

Field Name Length Description
TTT 3 Tag (always = 010)
LLL 3 Length of the following data
ActionButton var If field 11 Completion Code = 000 (success), returns code for action button or key pressed:
777=Enter (green) key
888=Cancel (red) key
1=ButtonA
2=ButtonB
3=ButtonC
4=ButtonD
5=ButtonE
6=ButtonF
7=ButtonG
8=ButtonH

Sample Message (One Button)

Request

The following request tells Simplify to display the screen shown below:

API Field #, Value Description
0001,36 Transaction Type
0011,14123010120 User Data
5001,[see value below] Non-Financial Data
    010=Tag
    276=Length of data
    1=Allow Enter key
    1=Allow Cancel key
    1=Beeper not active
    Button 2=Descriptor for virtual button position B
    1=Line 1 left-justified
    0=Line 1 standard mode
    This line is left justified (etc.)=Text of line 1 (etc.)

5001,010276111FSButton 2FSFSFSFSFSFSFS10This line is left justified in normal mode 52
charsFS20This second line should be centeredFS30This third line is right justifiedFS21This line
should be in reverse modeFS20This fifth line should be back in normal modeFS10This is line 6 left
justifyFS10This is line 7 left justify

Response

API Field #, Value Description
0001,36 Transaction Type
0011,14123010000?V102.18B01803 User Data
5001,0100038880 Non-Financial Data
    010=Tag
    003=Length of data
    888=Cancel key pressed

Sample Message (Eight Buttons)

Request

The following request tells Simplify to display the screen shown below:

API Field #, Value Description
0001,36 Transaction Type
0011,14123010120 User Data
5001,[see value below] Non-Financial Data
    010=Tag
    128=Length of data
    1=Allow Enter key
    1=Allow Cancel key
    1=Beeper not active
    Button1=Descriptor for virtual button position A (etc.)
    1=Line 1 left-justified
    0=Line 1 standard mode
    Line 1=Text of line 1 (etc.)

5001,010128111Button 1FSButton 2FSButton 3FSButton 4FSButton 5FSButton6FSButton 7FSButton8FS10Line 1FS10Line 2FS10Line 3FS10Line 4FS10Line 5FS10Line 6

Response

API Field #, Value Description
0001,36 Transaction Type
0011,14123010000?V102.18B01803 User Data
5001,0100011 Non-Financial Data
    010=Tag
    001=Length of data
    1=ButtonA (Button 1) pressed