Web Extensions V1200 Programming Guide en
Web Extensions V1200 Programming Guide en
2/00
Programming Guide
Introduction
Web-Extensions/ExtraLink
Web-Extensions/ClassicLink
Web-Extensions/HyperLink
Controls
WXPTBridge Control
Continued
Input checks
Scripting
Installation
Configuration
Parameters
Tools
Abbreviations
Continued
Glossary
Documentation
Figures
Index
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Take care . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 New since release 1.1/25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Target groups for this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Structure of the manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Typographical conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Selecting the product version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web-Extensions/ExtraLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web-Extensions/ClassicLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Areas of use for the product versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Similarities and differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 17 19 19
Web-Extensions/ExtraLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Web-Extensions/ClassicLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Value of a softkey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initializing input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure of the correction message pages . . . . . . . . . . . . . . . . . . . . . . Implementing dynamic selection dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading external Internet pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calling the first page external to the product . . . . . . . . . . . . . . . . . . . . . Exiting the display mode for external pages . . . . . . . . . . . . . . . . . . . . . . Loading product-related Internet pages from another Internet address . Loading external pages without navigation bar . . . . . . . . . . . . . . . . . . . Loading a frameset without ChangeLanguage() . . . . . . . . . . . . . . . . . . . . . DoDialog() Safety features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . New multilanguage handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Special aspects of menu buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menu pages for information service pages . . . . . . . . . . . . . . . . . . . . . . . Variable menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 27 28 29 29 30 32 33 33 35 35 36 36 37 39 39 40 41 42 42
May 2008
Contents Disabling menu contents by the host . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure of the correction message pages . . . . . . . . . . . . . . . . . . . . . . . . . Loading external Internet pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming a Transaction Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . Functions to manipulate controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Showing and hiding button controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing links to HTML pages at runtime . . . . . . . . . . . . . . . . . . . . . . . Ascertaining the name of the current HTML page . . . . . . . . . . . . . . . . . . Components and system requirements . . . . . . . . . . . . . . . . . . . . . . . . . . Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operating system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CSC-W32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProTopas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web Graphical Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service and Operating (SOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Designing the user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Screen resolution and colour depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard elements of the user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formats of images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multimedia (video and audio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User interface elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selection buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menu buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Contents (STD/ATM) control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Header and operating hint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arrangement of the screen interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 43 44 44 46 46 47 47 49 49 49 50 50 50 50 53 55 55 56 59 60 61 61 62 63 63 64 64 66 67 67 68 69 69 70 70 71
II
May 2008
Contents Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Positioning image elements on Internet pages of the Context frame . . . 73 Overlaying an Internet page over an existing one . . . . . . . . . . . . . . . . . 75 Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Aspects common to all controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 The Button control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Button control - General 1 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Button control - General 2 page for function keys . . . . . . . . . . . . . . . . . 85 Button control - General 2 page for selection buttons . . . . . . . . . . . . . . 91 Button control - General 2 page for menu buttons . . . . . . . . . . . . . . . . . 94 Button control - General 2 page for radio buttons . . . . . . . . . . . . . . . . . 97 Button control - General 3 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Button control - Caption page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Button control - Graphic page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Button control - Icon page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Button Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 The Edit control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Edit control - General 1 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Edit control - General 2 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Edit control - General 3 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Edit control - Headline page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Edit control - Graphic page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Edit control - Input page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Edit control - Icon page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Edit control - Not allowed character page . . . . . . . . . . . . . . . . . . . . . . . 138 The Edit controls use for PIN input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Edit control (PIN input) - General 1 page . . . . . . . . . . . . . . . . . . . . . . . 139 Edit control (PIN input) - General 2 page . . . . . . . . . . . . . . . . . . . . . . . 140 Edit control (PIN input) - General 3 page . . . . . . . . . . . . . . . . . . . . . . . 141 Edit control (PIN input) - Headline page . . . . . . . . . . . . . . . . . . . . . . . . 141 Edit control (PIN input) - Graphic page . . . . . . . . . . . . . . . . . . . . . . . . . 142 Edit control (PIN input) - Input page . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Edit control (PIN input) - Icon page . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Edit control (PIN input) - Not allowed character page . . . . . . . . . . . . . 145 Masked edit for standard edit control . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Hide the caret in standard edit control . . . . . . . . . . . . . . . . . . . . . . . . . 146 Check max. chars for EPP keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Delete the content after customer error in edit control . . . . . . . . . . . . . 147
May 2008
III
Contents Edit Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The List control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List control - General 1 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List control - General 2 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List control - General 3 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List control - Headline page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List control - Graphic page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List control - Output page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List control - Icon page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Show an ampersand (&) in Caption of a control . . . . . . . . . . . . . . . . . . . . . Shadowing effect of control capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The EPP control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EPP control - General page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EPP control - Input page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Contents ATM control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents ATM control - General page . . . . . . . . . . . . . . . . . . . . . . . . . . ADA configuration panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents ATM control - Function key page . . . . . . . . . . . . . . . . . . . . . . Contents ATM control - EPP Keys page . . . . . . . . . . . . . . . . . . . . . . . . Contents ATM control - Confirm page . . . . . . . . . . . . . . . . . . . . . . . . . . Content ATM Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . The Contents STD control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents STD control - General page . . . . . . . . . . . . . . . . . . . . . . . . . . Contents STD control - Timeout page . . . . . . . . . . . . . . . . . . . . . . . . . . Contents STD control - Cancel page . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents STD control - Functionkey page . . . . . . . . . . . . . . . . . . . . . . Contents STD control - EPP Keys page . . . . . . . . . . . . . . . . . . . . . . . . Contents STD control - Step After page . . . . . . . . . . . . . . . . . . . . . . . . Contents STD control - Step page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents STD control - Instance return page . . . . . . . . . . . . . . . . . . . . Content STD Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . The ActiveStep control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Closing a new browser instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating sub routines without opening a new Window . . . . . . . . . . . . . Hiding controls with Viewstate variables . . . . . . . . . . . . . . . . . . . . . . . . . . . Unicode Versions of the Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get number of PIN Digits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 167 169 173 174 176 177 178 180 181 194 195 195 196 197 198 199 202 206 208 215 216 226 228 230 234 236 239 246 250 251 252 268 271 274 274 275 277
IV
May 2008
Contents Web Graphical Service components . . . . . . . . . . . . . . . . . . . . . . . . . . . Components of the Internet browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTML generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SNI_PC_VARIABLE WebBot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inserting a variable in a control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatting settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Easy multilanguage support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure of the AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rejection of selected Internet pages . . . . . . . . . . . . . . . . . . . . . . . . . . Expand external pages with own code . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing HTML pages in windows mode . . . . . . . . . . . . . . . . . . . . . . . . . . . Switching the Web Graphical Service offline . . . . . . . . . . . . . . . . . . . . . . . Offline Fallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monitoring of navigation to another page . . . . . . . . . . . . . . . . . . . . . . . Starting the Web Graphical Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hiding the cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Language selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the complete frameset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the complete frameset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Converting language-specific formats . . . . . . . . . . . . . . . . . . . . . . . . . Memory leak of the Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calculation of the current memory usage: . . . . . . . . . . . . . . . . . . . . . . Using the Virtual Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logging the flow of the HTML pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resizing the Web Graphical Service on a PC . . . . . . . . . . . . . . . . . . . . . . Dialog Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interaction with other frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Public Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definitions and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Access to customer input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace and error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCDialog framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . May 2008 279 279 281 284 288 288 289 292 294 296 296 299 300 300 301 303 305 305 306 307 308 309 312 313 320 321 322 322 322 322 323 324 324 325 325 326 340 341 342 V
Contents Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interaction with other frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Public Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definitions and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . Additional Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace and error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtual Keyboard Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interactions with other frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . Public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defines and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace and error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WXPTBridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RegisterForEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeregisterForEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvStr2Hex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvHex2Str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . testErrors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetWXText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 342 342 343 343 344 344 345 354 357 357 357 357 361 361 362 363 364 365 372 372 372 373 384 385 385 385 385 386 387 388 393 395 396 397 398 399 400
VI
May 2008
Contents Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTFunctionEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BridgeError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace and Error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calling Format() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calling Dialog() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calling Check() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input status variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Field sequence control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input confirmations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Special input confirmation handling . . . . . . . . . . . . . . . . . . . . . . . . . . . Input corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dependent input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing scanned documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Dialog() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Format() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Check() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Correction messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input attempt counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard input check dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alphanumeric check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Numeric check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Date check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Amount check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Check Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interactions with other frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . Public Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 402 403 404 405 406 408 408 408 411 412 412 413 413 415 416 417 418 418 419 419 422 423 423 424 425 426 427 427 428 429 431 435 435 435 435 436 436
May 2008
VII
Contents Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definitions and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace and error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying external pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring external Internet pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying the cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The navigation button bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying external pages without a navigation button bar . . . . . . . . . . Stopping the Internet mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Access violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing https:// pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scripting with keys in external pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening, Closing and rezising Popup Windows . . . . . . . . . . . . . . . . . . . . . Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Active VarFW control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Active DataDict control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ActivePTSniff Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ActiveRegistry Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WXPTBridge Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scripting a Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logging into Error/Trace Log or Journal by Script . . . . . . . . . . . . . . . . . . . Control of the ADA service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Starting the service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Default start values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataDictionary-Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADA Status Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customer Relationship Marketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Components of the CRM service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CCCRM framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defines and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 436 439 447 449 449 450 450 450 451 452 452 453 453 455 488 489 491 491 493 493 494 497 498 500 502 507 507 513 514 515 516 517 525 527 532
VIII
May 2008
Contents Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CRMContentsCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using EPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using ADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using PCButton and PCEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using WebExtensions with CRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The installation procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Products to be installed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Required preinstalled software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Restart Manager configuration of High Level GS . . . . . . . . . . . . . . . . . . . Restart Manager configuration of Web GS . . . . . . . . . . . . . . . . . . . . . . . . Repository manager configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Further configuration settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration of the softkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration of variables for all architectures . . . . . . . . . . . . . . . . . . . . . . Variables for Web-Extensions/ClassicLink . . . . . . . . . . . . . . . . . . . . . . . . . Variables for Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . . . . . . . . . Variables for Web-Extensions/ExtraLink . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Graphical Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for CCDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for Virtual Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for surfing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for the AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for the Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for PCView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for the HTML generator . . . . . . . . . . . . . . . . . . . . . . . . . . . Language specific parameters for the HTML generator . . . . . . . . . . . . Parameters for the ActiveX controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 556 558 559 561 562 565 568 569 571 579 579 580 580 581 583 583 584 585 585 586 588 592 593 595 597 597 597 601 607 614 615 618 623 624 634
May 2008
IX
Contents General ActiveX parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for the Contents STD Control cancel situations . . . . . . . . . Parameters for the Contents STD/ATM Control timeout situations . . . . Parameters for timeout values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for beeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for EPP configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General parameters for Contents STD/ATM control . . . . . . . . . . . . . . . Parameters for the PCButton control . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for the PCEdit control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for the PCList control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters for Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CCOpen parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WXCompressHTML tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WebExtensions HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring the compressHTML tool . . . . . . . . . . . . . . . . . . . . . . . . . . . Current key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to configure your own rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples of compressed components . . . . . . . . . . . . . . . . . . . . . . . . . The tool in action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pagelogger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The log file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The property file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The script file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ScriptGen.exe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 635 637 640 641 642 648 651 657 665 672 680 691 691 691 691 692 693 694 698 700 705 711 713 715 716 716 720 721 722 726
May 2008
May 2008
XI
Contents
XII
May 2008
Introduction
Introduction
This manual describes the individual Steps that are needed to develop a selfservice application using the ProTopas/Web-Extensions or ProTopas/HTMLDialog. ProTopas/Web-Extensions or ProTopas/HTML-Dialog allow you to use Internet pages in all ProTopas applications. This means that all ProTopas products can be converted from traditional interfaces to Internet pages without additional programming. You also have almost unlimited options regarding the integration of multimedia objects. ProTopas/Web-Extensions is able to incorporate new online solution modules, like 1-to-1 marketing solutions, to display product information from the Internet or even to incorporate Internet applications. ProTopas/HTML-Dialog is the offline version of the ProTopas/Web-Extensions. With ProTopas/HTML-Dialog all Internet pages have to be installed locally on the self-service device. The access is restricted to the file system, so no Pages from any Internet server can be loaded. ProTopas/HTML-Dialog may be used as a lowcost version for using locally installed user interfaces in form of Internet pages. Thus, all Internet technologies may be used, without using any online access. Because the technologies are the same in ProTopas/Web-Extensions or ProTopas/HTML-Dialog, in the rest of the documentation only the product name ProTopas/Web-Extensions is used. If there is any restriction, it is stated separately by using the following icon: Not available for ProTopas/HTML-Dialog
ProTopas/Web-Extensions is a runtime system which makes it possible for the ProTopas solutions to use all the features offered by Internet technology. The software components are not limited to solutions for a single type of device, and can instead be used for all types of self-service device solutions. Thus, a uniform corporate design can be achieved on all types of device with a minimum amount of effort. The self-service customer interface is presented in a standard Web browser. Interface elements (graphics, text, buttons, etc.) and multimedia components (sound, video, animations) can be stored locally on the self-service device itself, or centrally on an intranet server (only with ProTopas/Web-Extensions). It is possible to create graphical elements using standard formats and commercially
May 2008
Introduction available tools. Optional access to the interface elements via an Encrypted PIN Pad (EPP) allows the user to input numbers via an EPP and to select functions using the softkeys at the side of the screen. Modifications can be made to the interface during runtime using standard Microsoft products, e.g. FrontPage, and changes can be called up immediately on the self-service system. This guarantees that you are able to react promptly to the ever-changing requirements of the market. The basis for integration of new services like 1-to-1 marketing via the Internet on self-service systems is provided by ProTopas/Web-Extensions. The incorporation of marketing and sales structures as well as a customer database enables the customer to be addressed directly using standard Internet pages. The interaction between the selfservice system and the customer can be implemented using touchscreen technology, softkeys and the EPP (Encrpted PIN Pad). The ProTopas/Web-Extensions controls can be assigned either to softkeys or to EPP keys and can thus trigger a visible reaction on screen. Targeted access to current information and offers from the Internet is a decisive factor for future customer loyalty strategies. By opening up their terminals in the direction of the Internet, the banks in their role as self-service system installers can introduce additional services to their range including: car sales, insurance sales, travel services and ticket sales and thus open up new delivery channels. The availability of a central Web server in the providers network allows you to increase the types of possible access. During a transaction it will be possible to access both data from the host and documents and Internet pages located on the intranet server. If required, it may also be possible to download and display current pages from the Internet. The use of standard products, standard protocols and basic Microsoft technologies offers the following additional advantages: freedom in designing the user interface
May 2008
Introduction centralized modification of the self-service application creation of reusable modules use of commercially available basic components assembly of dialog Steps from predefined components independence of a single central product manufacturer
Take care
Take care
ProTopas/Web-Extensions provide a runtime environment for using Internet technology in self-service systems. This enviroment allows the developer to incorporate third party products to provide high sophisticated user interfaces. However, it is not possible for the quality assurance team to test all third party products together with the ProTopas/Web-Extensions. This has to be done in each project, which is using a third party product. It has to be checked before such a component is used, that it is qualified for running in self-service environments (application is running 24 hours a day, 7 days a week; application is never closed; etc.). If an error occurs in Internet pages which contain a third party product, it has to be tested in the project, whether the third party product may cause the error, before reporting the bug to the development team of the ProTopas/Web-Extensions. Please keep in mind, that you will be charged for support, if a reported error is not found in the ProTopas/Web-Extensions themselves, but in the third party product. There is a knowledge base available in the intranet of Wincor Nixdorf or a printed list of this knowledge base for those who have no intranet access available from the support team, where solutions of known issues and hints linked up with the ProTopas/Web-Extensions are reported.
May 2008
Introduction
Navigation monitor: The Web Graphical Service gives the possibility to control a navigation to another page with the help of a configuration in the Allow List. The Column 8 OPTIONAL can be used to specify the keyword WXmonitor and WXmarketingmode (see also section Monitoring of navigation to another page on page 301) New control ActiveRegistry: This Control is used for scripting only. It is useful for getting REG_DWORD or REG_SZ Parameter values into variables for scripting (see also section ActiveRegistry Control on page 491). New control WXPTBridge: This control gives access to all ProTopas Frameworks. It must be used in the Virtual Keyboard instance, when it is used as Marketing window for the access to the EPP Framework. However it may be used to access all other frameworks as well (see also section WXPTBridge on page 385). New function Key CONFIRMALL: This value may be used for a special input handling. The customer may fill all edit fields by using the touch screen or the <Tab>, <Cursor up> or <Cursor down> key. After pressing this button all checks of all input fields will be started. When everything is okay, the Web Graphical Service will navigate to the page configured in this key (see also section Special input confirmation handling on page 418). With help of the new parameter SetInputFocusNext the cursor is set to the field with the next higher field ID in multiple input pages (see also section Field sequence control on page 416). The parameter WorkAroundNoShell (see also section WorkaroundNoShell on page 617) has to be set to 1, if the Web-Extensions are installed in a ProTect environment, otherwise no Popup window will close properly. The <Cursor up> and <Cursor down> keys act like <Tab> and <Back Tab> now (see also section Special input confirmation handling on page 418). Masked edit is possible for the PCEdit control now (see also section Masked edit for standard edit control on page 145). To show an ampersand it is necessary to write two ampersands into the text of a visual control. If this text is filled by a variable it might not be possible to have two ampersands. So there is a property to prevent this (see also section Show an ampersand (&) in Caption of a control on page 194). The caret (Input cursor) can be hidden now (see also section Hide the caret in standard edit control on page 146).
May 2008
Introduction
Parameter NewImmediateTimeout = 0 (see also section NewImmediateTimeout on page 650) is responsible for directly navigating to new page without waiting time. Maybe the waiting time caused problems in some projects using Web-Extensions/ClassicLink. The multilanguage feature (see also section Easy multilanguage support on page 289) is supported now. Variables with syntax [%WX_TEXT[Index];Default%] may be used to configure the texts in all HTML pages. The Virtual Keyboard may be used for Marketing instances as well. New parameter Pos, Left and Top are available now as well as container properties CCVK_VAR_CONTAINER_L[0-255], CCVK_VAR_CONTAINER_S[0-255] (see also section Using the Virtual Keyboard on page 313). The Virtual Keyboard is supervised by watchdog functionality now. Edit control may be used for EPP input as well now. EPP control is not necessary any longer and will not be maintained any longer (see also section Edit control (PIN input) - General 1 page on page 139). With the Edit control scheme support for EPP input is now available. Icons are supported by schemes now for Button, Edit and List control. 1.1/26: The cursor position in PCEdit Control can be set to each character in script by use of the function SetSelection(short sStart, short sEnd)(see also section Edit control: on page 468). The Virtual Keyboard got a lot of new functions to show or hide, minimize or maximize this browser instance (see also section Using the Virtual Keyboard on page 313). A new offline event CCVK_VK_OFFLINE is fired, when an problem occurs in this browser (see also section CCVK_VK_OFFLINE event on page 319). Parameter MAXonStart (see also section MAXonStart on page 603), MINonEnd (see also section MINonEnd on page 603) are new. The handling of the HTML flow support has been enhanced. Now there are two files written. One will be overridden when the other has been filled up (see also section Logging the flow of the HTML pages on page 320).
May 2008
Introduction
The parameter WorkaroundWhitePopup (see also section WorkaroundWhitePopUp on page 618) may be set to show the windows opened by in a new window when the page is completely loaded. This will remove any white background to be shown, which may flicker. A new batch file WebAnalysisTrace.cmd for setting the analysis trace of the Web-Extensions is available in C:\ProTopas\Bin. 1.1/27: The handling for Subroutines has been enhanced. Now it is possible to create subroutines without opening it in a new window. By setting a prefix WN_TFN_FLAT_SELF into the link to the first subroutine page the navigation takes place in the content frame, but the subroutines may still be finished by a navigation to close.htm (see also section Creating sub routines without opening a new Window on page 274). Contents ATM Control will throw an error now, when there is an ImmediateTimeout configured, but EPP Keys is not set to No Input. These pages should be changed, because this is time consuming and needless. For the Virtual Keyboard the parameter WindowPlacement (see also section WindowPlacement on page 603) is new. There are new interfaces for logging into trace and error log (see also section Using the Virtual Keyboard on page 313). Parameter OfflineMonitorTimer (see also section OfflineMonitorTimer on page 622) must be set to supervise the navigation to the offline page, when the navigation to an application page is supervised but can not be performed (see also section Supervising the monitoring to the first offline page on page 303). 1.1/28: Parameter CursorEnable (see also section CursorEnable on page 604) specifies, if the cursor shall be visible or not during a virtual keyboard session. Parameter AutomaticEPPConfigForAllButtons (see also section AutomaticEPPConfigForAllButtons on page 650) specifies, that all button viewstates (not only those of the function keys) shall be checked for activation to CEN/XFS EPP Service.
May 2008
Introduction 1.1/29:
If you are working with a EPP keyboard only it is possible to restrict the number of characters to be entered by writing the keyword WX_INPUT_FLAG_CHECKMAXCHARONEPP into the property AdditionalFeatures of the edit control (see section Check max. chars for EPP keyboard). It is possible now to pass parameter to generated temp files like prot://server/object.ext?parameter=abc and to request them by calling window.location.search in script. Output would be ?parameter in this case. 1.1/30: The SpinEdit Control is not supported and not included any longer. The function Log() (see also section Log on page 399) and the callback event PTCallback() (see also section PTCallback on page 405)are new in the WXPTBridge control. There are new keywords in the AllowList at the optional column called WNvikey:START and WNvikey:END (see also section Structure of the AllowList on page 294) The additional parameter MarketingAllowFocus allows to give the focus to other windows even when the Virtual keyboard is active (see "MarketingAllowFocus" on page 606 in the Parameters chapter). 1.1/32: The default contents of all paramter containing the font family have been changed from Arial (Truetype) to Arial. The parameter AllowMarketingFocus allows to set the focus manually even during SOP Sessions, etc. (see also section Parameter MarketingAllowFocus on page 320) The HTML Dialog Control has been enhanced to record all active popup windows during the runtime of a application (see also section HTML Dialog Control Version 2242 on page 311). The DoDialog() call for a Classic Link application may be supervised by a timer now (see also section DoDialog() Safety features on page 36). A new property of the Contents STD/ATM Control may be used to check the initialization status of the control. (see also section Contents STD/ATM control: on page 465) May 2008 7
Introduction
The ActiveDataDictionary Control gets a new property to suppress error loggings. This may be useful for pages with properties whose values are property not set (see also section Active DataDictionary Control on page 478). 1.1/33: There has been a change in the behaviour of the PcButton Step after. It is not possible any longer to press another button, if the first button runs a step after. To reactivate the old behaviour, please set the following undocumented DWORD-parameter: ActiveX\PCContents\General\StepAfterControl with contents 0. 1.1/34: There is a new parameter MAX_WEBEXTENSION_MEMORY_GROWTH (see "MAX_WEBEXTENSION_MEMORY_GROWTH" on page 689 in the Parameters chapter) of the HTML Dialog Control. Its a successor of Parameter MAX_MEMORY_USE. Now it is possible to configure the max growth of the Web Graphical service, until it is restarted, i.e. a value of 30 means it may grow 30 MB until restart See also chapter HTML Dialog Control Version 2243 on page 311. The parameter ROOTPATH (see "RootPath" on page 620 in the Parameters chapter) can use the keyword ATM_PATH_NOLANG to prevent the Web Graphical Service from changing the directory, when using the WX_TEXT variables in all pages for multilanguge support (see "New multilanguage handling" on page 37 in the Parameters chapter). 1.1/35: The ChangeLanguage() Function of the Web Graphical Service may use the input parameter 999 now. With this function call only the ADA language settings are updated, but no directory, WX_TEXT or format change is done (see also section CCDialogFW.ChangeLanguage on page 353). 1.1/37: It is possible to replace variables in HTML Text with syntax [# name of PC variable ; formatting of PC variable; default value of PC variable #] directly. A WebBot is not longer necessary (see also section SNI_PC_VARIABLE WebBot on page 284).
May 2008
Introduction
WX_TEXT placeholders can now contain variables, either in the HTML Pge in the WX_TEXT tag (as index or as default value) or in the registry in the constant texts (see also section Using variables instead of constants in WX_TEXT on page 291). It is possible to have floating transparencies in PNG Graphics. In former versions it was only possible to have one color for transparencies, so floating was not possibe (see also section Screen resolution and colour depth on page 60). The Web Graphical Service can be resized by creating a few registry parameter with the coordinates of the position and size (see also section Resizing the Web Graphical Service on a PC on page 321). The Active Data Dictionary Control got a restricted buffer size of 4096 Bytes for setting and getting strings from Data Dictionary values now. This has been done for performance reasons. If a bigger Buffer size may be necessary, it is possible to set a BufferSize property in the control (see also section Adapting the maximum buffer size on page 491). The input of an edit control may be automatically deleted now after the input correction message has been shown by setting a new property in the edit control (see also section Delete the content after customer error in edit control on page 147). It was not possible to delete the content of an edit field by setting the input variable to an empty string. With new parameter DeleteInputFieldsWithEmptyString (see "DeleteInputFieldsWithEmptyString" on page 650 in the Parameters chapter) it is possible now. Shadowing effect of a button, Edit Control and List Control capture: It is possible to use two layer with identical text and different colours to create a shadowing effect of the font (see also section Shadowing effect of control capture on page 195). 1.2/00: A new functionality for Marketing integration has been added. Now the virtual keyboard is not used any longer for marketing issues. With this feature a new Marketing Contents Control is introduced, which has to be used in the Marketing Browser Instance only. See also chapter Customer Relationship Marketing on page 515. Internet Explorer 7.x may be used together with the Web-Extensions right now.
May 2008
Introduction
10
May 2008
Introduction
The chapter "Controls" follows immediately, and describes the configuration options for ProTopas/Web-Extensions controls in order to implement the user interface described above. This is followed by a section on closing a browser window that has been opened with these controls. The modules for presenting the user interface and the browser components are referred to as the Web Graphical Service. The chapter "Web Graphical Service components" deals with the individual modules. This is followed by a programming reference for the Dialog Framework. The WXPTBrigde is introduced in the next chapter. It may be used to access ProTopas frameworks for the pages directly in script. A separate chapter is dedicated to "Input checks" in ProTopas/Web-Extensions. It explains the functions and the handling of inputs. A programming reference closes this chapter. Some parameterization steps are needed to display HTML pages from outside the ProTopas/Web-Extensions application. The chapter "Displaying external pages" describes configuration options, and restrictions on loading HTML pages that are external to the product. Scripts can be called to design the contents of a page more flexibly. A chapter "Scripting" describes the scripting interfaces of the ProTopas/Web-Extensions controls, as well as the control interfaces to access data from ProTopas modules. An introduction of the ADA features in the ProTopas/Web-Extensions follows. The configuration of the Text-To-Speech possibilities in the ProTopas/WebExtensions is content of this chapter. The chapter Customer Relationship Management contains information about the ProTopas/Web-Extensions solution in displaying marketing pages together with the application. The speciality here is the possibility of an interaction with the application but a separation of the flow of marketing pages. A chapter "Installation" describes the handling required to install the ProTopas/Web-Extensions correctly on a system upon which the ProTopas/Manager has previously been installed. The "Configuration" chapter explains the configurations which are performed automatically by the installation program in order to improve knowledge of necessary changes during a manual installation of the ProTopas/Web-Extensions. The chapter "Parameters" contains a detailed list of all ProTopas/Web-Extensions parameters. May 2008 11
Typographical conventions
Introduction
The manual closes with various lists: Abbreviations, glossary, documentation, figures and index. The interface descriptions are provided as a programming reference.
Typographical conventions
References to manuals
CAPITALS
Function keys and selection buttons
12
May 2008
Introduction
Typographical conventions
This pictogram indicates chapters which describe configurations for the architecture Web-Extensions/ClassicLink
This pictogram indicates chapters which describe configurations for the architecture Web-Extensions/HyperLink
This pictogram indicates chapters which describe configurations for the architecture Web-Extensions/ExtraLink
This pictogram indicates that this issue is not available for ProTopas/HTML-Dialog.
May 2008
13
Typographical conventions
Introduction
14
May 2008
Web-Extensions/ExtraLink
Web-Extensions/ExtraLink
In the event of coexistence with traditional user interfaces, the aim is to integrate the ProTopas/Web-Extensions to enable existing applications to integrate Internet applications as additional transaction Steps. The customer himself determines what contents the Internet pages will display. The possibilities range from simple product information to interactive Internet applications. However, if the self-service hardware is to be used for inputs, the controls of the ProTopas/WebExtensions must be used as they permit allocation to softkeys and the Encrypted Pin Pad (EPP). This is normally achieved by extending the menu. Selection of a new function activates the Web Graphical Service of ProTopas/Web-Extensions and moves it to the foreground. However, this is only a viable option with interfaces which offer an option for switching the interface to the foreground. The ProTopas Graphical Service modules for ProCash, ProPrint and the High Level Graphical Service CCDialog all support this. At this point, it is necessary to make extensions to the traditional application. The start page which is to be loaded by the Web-Extensions must be activated. The interface of the ProTopas/Web-Extensions must be switched to the foreground. The traditional application waits for the Web transaction to end, evaluates the return code and can then continue with the existing transaction.
May 2008
15
Web-Extensions/ClassicLink
Fig. 1: Web-Extensions/ExtraLink
Restart
Service
OK AbbruchDrucken Hilfe
IDCU EPP
Web-Extensions/ClassicLink
This version of the ProTopas/Web-Extensions permits the interface of an existing application can be changed into Internet pages without any extra programming work. This has the advantage that it is easier to integrate multimedia components and Internet applications. This is possible without programming work in ProTopas-Steps for all applications which are based on the ProTopas High Level GS CCDialog. The other applications have to modify the interface which loads the user interface. The ProTopas High Level GS uses dialog names as a basic unit for structuring the interface. These dialog names form the page names during creation of the Internet pages. At the same time, it means that each configured dialog must be converted to an equivalent Internet page. Some features of the ProTopas High Level GS, such as configuration via macros, cannot be implemented 1:1 in Internet pages. Such places will either require script programming or an extension to the application in order to achieve the same results.
16
May 2008
Web-Extensions/HyperLink
In this product version, the ProTopas/Web-Extensions are programmed in such a way that the interfaces are identical to those of the ProTopas High Level GS. Correspondingly, changes to the configuration will enable the application to operate with Internet pages once these have been created. Extensions in the form of display of product information or complete Internet solutions will also operate in this version of the product. However, it will be necessary to make extensions to the application in order to call the new Internet pages via the interface and to evaluate the return codes.
Fig. 2: Web-Extensions/ClassicLink
Restart
Service
Dialog Use of Internet pages for - Existing application - 1-to-1 Marketing - Personalization - Advertisement - ... Second Dialog not applicable
IDCU EPP
Web-Extensions/HyperLink
This product version comes closer to the process involved in a pure Internet solution as it operates with links to workflow processing. However, the application is still positioned locally on the self-service device and not on the Internet server. application programmers have the opportunity to access the application on each Internet page and to initiate control of the hardware or address of the server/host. The responses from the application can, in turn, effect a link to a new Internet page.
May 2008
17
Web-Extensions/HyperLink
On the other hand, each button can effect a link to a new Internet page. It is thus extremely simple to provide product information with this version. If the selfservice hardware is to be used for input, the controls of the ProTopas/WebExtensions should be used since these controls can be used to make assignments to softkeys and to the EPP keypad. The integration of Internet solutions is easiest to implement with this architecture as it only requires the appropriate links to be placed on the Internet pages. The application itself is not affected by this Step. If the self-service hardware is to be used from within an Internet solution (e.g. for printouts or to request insertion of a card), this product version can be used to address the appropriate hardware. Return codes issued by the hardware are presented as links to new Internet pages. Unsuccessful printing may therefore display an error message page, whereas successful printing branches to document removal.
Fig. 3: Web-Extensions/HyperLink
Restart
Service
Dialog
Use of Internet pages for - Application - 1-to-1 Marketing - Personalization - Advertisement - ... Workflow processing consists of links to Internet pages Second Dialog and Script FW not applicable
IDCU EPP
18
May 2008
May 2008
19
The component of the Graphical Service, CCDialog.exe, is identical in all versions. All controls, apart from the two Contents controls, are used in both architectures. The Web-Extensions/ExtraLink version does not have its own control, as it uses the other two versions. The handling of input fields, input checks and list boxes is identical in all architectures. In the case of Web-Extensions/ClassicLink there are no menu buttons, as each button in this architecture responds to the interface with a return code, while menu buttons are configured for links to Internet pages. The method for calling external Internet pages differs in the two architectures. In the case of Web-Extensions/HyperLink, it is only necessary to configure a link in a menu button or selection button. With Web-Extensions/ClassicLink, an extension must be made to the Transaction Framework in order to load the first external page (see also section Loading external Internet pages on page 32). Configuration of the Restart Manager is identical in all architectures (see also section Restart Manager configuration of Web GS on page 584). The chapters that follow contain many references to differences between the architectures. The pictograms below indicate the sections containing architecture-specific configurations or features. All other chapters apply to all the architectures. This pictogram indicates chapters which describe configurations for the architecture Web-Extensions/ExtraLink
This pictogram indicates chapters which describe configurations for the architecture Web-Extensions/ClassicLink
This pictogram indicates chapters which describe configurations for the architecture Web-Extensions/HyperLink
20
May 2008
Web-Extensions/ExtraLink
Web-Extensions/ExtraLink
This chapter describes how Internet solutions or simple Internet pages are called from an application that was developed with ProTopas modules. It is necessary to make extensions to the application modules in order to switch the interface of the Web Graphical Service to the foreground and to load the first Internet page. Let us start one Step earlier: For performance reasons, the Web Graphical Service must be started together with the application or, preferably, prior to the application so that the Standard Graphical Service overlays the Web Graphical Service. This is necessary so that the Web Graphical Service is initialized and ready to accept the interface functions. To load the Web Graphical Service and to keep it in the background the Startpage must not contain any of the ProTopas/Web-Extensions Controls. Normally in an Web-Extensions/ClassicLink or Web-Extensions/HyperLink architecture the Startpage must contain the Contents STD/ATM Control. In this case, if the Standard Graphical Service should display the startup sequence, the startpage can contain any background, but none of the controls. To advice the Web Graphical Service not to wait for loading the Startpage additionally the following parameter has to be set to 1. HKEY_LOCAL_MACHINE\SOFTWARE\Wincor Nixdorf\ ProTopas/CurrentVersion/ctiveX/ GraphicalService/ PCView DontWaitForPCContentsOnOpen = 0x00000001 This Parameter must be activated on Web-Extensions/ClassicLink or WebExtensions/ExtraLink! Restart manager configuration To work with Standard Graphical Service and Web Graphical Service, which both have the same framework name CCDialog, Web Graphical Service has to get another Framework name. In addition to the Standard Graphical Service, the Web Graphical Service must be started seperately in the Restart Manager section. As an input parameter, the new name of the Web Graphical Service has to be added:
May 2008
21
Web-Extensions/ExtraLink HKEY_LOCAL_MACHINE\SOFTWARE\Wincor Nixdorf\ ProTopas/CurrentVersion/CCOPEN/ RESTART/ application1 CCDialog=C:\PROTOPAS\BIN\CCDialog.EXE,4,0,6,,, WebDialog Web Graphical Service registers itself with this new name in ProTopas. This means, that all frameworks, which base on Web Graphical Service have to be started later than Web Graphical Service in the Restart manager section. Those frameworks are at least HTML Dialog Control, Check Framework and Transaction Framework. So it is the best to split up the application Parameter in application1 and application2, where application1 keeps all the parameters from application without HTML Dialog Control, Transaction Framework Presentation Framework and Standard Dialog Framework, which keeps application2. application1 may be started before Web Grafical Service and application2 after. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 application= C:\PROTOPAS\BIN\FwLoadPm.EXE,4,1,21,,,CCPresFW CCDialog CCTransactionFW HTMLDialogControl HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 Programs=CCBase,CCBaseCtrl,application1, CCDialog,Appl_Check, application2,CCStart Data Dictionary configuration The next problem is, that all Data Dictionary entries, which were registered for CCDialog have to be changed to WebDialog (name of the input parameter for CCDialog.exe). This may be done by calling \ProTopas\Bin\CCRcConv \ProTopas\Conf\DatadictExtraLink -t DataDict -b -U
22
May 2008
Web-Extensions/ExtraLink Changing the Transaction Framework Inlude additionally the PCDialog.xpp and add a Proxy for WebDialog Class definition in the .hpp header file: ... #include PCDialog.xpp #include CCDialog.xpp ... private: PCDialog myWebDialog; // proxy of Web Dialog CCDialog myDialog; // proxy of Std Dialog ... Implementation in the .cpp program file: ... // open the dialog frameworks myWebDialog.Open(); myDialog.Open(); ... Two functions have been created for the switch to the foreground and, subsequently, back to the background (see also section CCDialogFW.Activate on page 339). Activate(): Switches the Web Graphical Service to the foreground Deactivate(): Switches the Web Graphic Service to the background. At the point in the application at which the Internet pages are to be called, the call first switches the Web Graphical Service to the foreground and then loads the Internet start page: Implementation in the .cpp program file: ... // Call ChangeLanguage to bring Web Dialog into a // mode, that it loads the next Internet page into // full screen mode and needs no content control // at next page myWebDialog.ChangeLanguage(CurrentLanguage); // Deactivate Std Dialog myDialog.Deactivate(); // Bring Web Dialog to top
May 2008
23
Web-Extensions/ExtraLink myWebDialog.Activate(); // Load Internet Startpage rc = myWebDialog.DoDialog(Start); ... This program section then waits until the Web Graphical Service responds with a return code. Meanwhile, the Web Graphical Service is active and it is not the self-service application that is responsible for handling the dialogs but usually a Web server. Following the return of the Web Graphical Service this is deactivated and the Standard Graphical Service again moved to the foreground. Implementation in the .cpp program file: ... // Deactivate Web Dialog for SOP Requests myWebDialog.Deactivate(); // Bring Std Dialog to top myDialog.Activate(); // Check the returncode if (rc != CCDIALOG_ERROR) { // Proceed in your code rc = myDialog.DoDialog(Menu) ... } ... The Internet page Start.htm does not contain a control but only a script which calls the first page of the Internet solution. Syntax of the HTML page script: <SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript> <!-Sub window_onload() window.navigate("http://www.wincor-nixdorf.com") End Sub --> </SCRIPT> On the last page of the Internet application, workflow processing must be returned to the application. Like the start, this is also executed in the script, by navigating to an Internet page consisting of a certain syntax:
24
May 2008
Web-Extensions/ExtraLink <SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript> <!-Sub window_onload() window.navigate("PCEvt:RC=0") End Sub --> </SCRIPT> Syntax for sending return codes to the application Identification that navigation is not taking place but that a return code is being sent to the application: PCEvt:RC=n (n = 0 to -7, cf. description of return codes in the CCDialog.xpp) The handling described above permits external Internet pages to be displayed. In addition, the Internet pages that are to be loaded must be declared to the Web Graphical Service (see also section AllowList on page 292). Configuration of the start page Originally the start page has to contain a Contents ATM Control, otherwise the Web Graphical Service does not return from the Open() function (see also section Starting the Web Graphical Service on page 303). In the Web-Extensions/ExtraLink architecture, it is often not possible to have a Contents ATM Control on the start page, because the Web Graphical Service will be switched to foreground when the Contents ATM Control is activated. Normally it should wait for activation in the background. So the parameter DontWaitForPCContentsOnOpen (see also section DontWaitForPCContentsOnOpen on page 621) has to be set to 1. In this case no Contents ATM Control must be present at the start page. Activating first page in Web-Extensions/HyperLink after Activate() If the main application is programmed in Web-Extensions/HyperLink architecture, and the second application is a Web-Extensions/ClassicLink application with web interface, and both applications shall not base on each other, there may be a problem to reactivate the Web-Extensions/HyperLink application at the end of the other. For this reasons, there is a parameter, which starts the first page after Activate() function call from Web-Extensions/ClassicLink application. This parameter is
May 2008
25
Web-Extensions/ExtraLink HKEY_LOCAL_MACHINE\SOFTWARE\Wincor Nixdorf\ ProTopas/CurrentVersion/ctiveX/ GraphicalService/ PCView ActivatePageURL = C:\ProTopas\Web\English\restart.htm In this page the Contents STD Control may start the next Step, so the WebExtensions/HyperLink application may continue. Configuration of the High Level GS to work with SNIKEYCODES = 0 As mentioned in chapter Configuration of the softkeys (see page 586), the Parameter SniKeyCodes has to be set to 0. The High Level Graphical Service needs a special configuration to work with this setting. In the \ProTopas\Conf directory you will find a SetupHlgsKeys.cmd job, which is updating the Keys configuration for the High Level GS. Please update the configuration for the High Level GS, if you want to use it toghether with the Web GS.
26
May 2008
Web-Extensions/ClassicLink
Value of a softkey
Web-Extensions/ClassicLink
In this product version, the dialogs that were created for the ProTopas High Level Graphical Service are converted to Internet pages. In the best scenario, it is not necessary to make any changes to the corresponding application. This chapter refers to some of the special features of dialog conversion. A dialog normally consists of numerous parameters which describe the appearance of a screen mask. When converting these to Internet pages, it is preferable to note the contents of the masks during runtime and subsequently to use an Internet page creation tool such as Microsofts FrontPage to implement them manually. An automatic conversion tool does not exist. The implementation rules of the High Level Graphical Service applies to applications which are to be newly created and which require the ProTopas Script FW to control workflow processing, as described in the application Development Tutorial in the chapters Adding a Graphical User Interface and Adding Customer Input. Besides, this manual contains an extract from the programming interface of the High Level Graphical Service - only the part which is identical to the Web Graphical Service (see also section Dialog Framework on page 322). The differences between the two Graphical Services are dealt with in the following chapters. The Contents ATM control is used in this architecture. The Contents STD control is not applied here. All other controls are used together with all WebExtension architectures.
Value of a softkey
Special attention must be given to the meaning of softkeys, since the values of the softkeys must be identical in the High Level Graphical Service and in the Web Graphical Service. Dialog elements of the type FUNCTION_INPUT must therefore be considered for dialogs with softkeys. These parameters are used to define which value - in the form of a string - each softkey returns to the application. The application queries these values using the function GetInputString() (see also section CCDialogFW.GetInputString on page 335).
May 2008
27
Input fields
Web-Extensions/ClassicLink
The Web Graphical Service provides the same function in order to inform the application of the value of a softkey that is pressed. It is only the parameterization that differs. Initially, all values which are found for the Web Graphical Service in the different dialogs of the High Level Graphical Service under the Registry key HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCButton Selection Readable name of Selection Button Value must be input on the development system for the Web interface. The entries under Readable name of Selection Button are listed during creation of Button Control (see also section Button control - General 2 page for selection buttons on page 91), when the button type Selection button is chosen. It then only remains to position the right button on the right Internet page for the designer. Example: For an amount selection of 100.-, 200.-, 300.- and 400.- the application needs to know, which values has been pressed. The appropriate Step expects the values 100, 200, 300, 400. If another person than the Step programmer himself is creating the amount selection page, this other person must normally know, which values he has to assign to the button. It is much more easy for the designer of the page to have Readable names of Selection Buttons, instead of dealing with program values. So in the example the readable names in the registry will be Amount 100, Amount 200, Amount 300 and Amount 400. Because of this matter, all necessary Selection Buttons and their values have to be set into the registry before the designer of the page starts his job. When he creates the buttons he only selects from the readable names, not from the values.
Input fields
Input data for both Graphical Services is read out using the same function as the softkey values. However, the Web Graphical Service is much more powerful in handling inputs than the High Level Graphical Service. Not simply because it is simpler to handle several input fields on one page but also because the inputs are directly checked and correction messages for the customer supported. Support is also provided for a context-sensitive help for each input field, with radio buttons representing an exception as input field in this case (see also section Edit control - General 2 page on page 126).
28
May 2008
Web-Extensions/ClassicLink
Input fields
May 2008
29
Web-Extensions/ClassicLink
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript> <!-Sub window_onload() close after 10 sec call window.setTimeout("call Contents.NavigateGotoURL(close.htm)", 10000) end sub --> </script>
The script function window.setTimeout() has, as its first parameter, the name of the Internet page to which navigation is to lead after a timeout and, as its second parameter, the timeout length in milliseconds. In the example shown above, the name of the Internet page to which navigation will lead is CLOSE.HTM. This results in a close of the new window. The timeout in the second parameter of window.setTimeout() is set to 10 seconds. Navigation to CLOSE.HTM in the script through Window.navigate:
Contents.NavigateGotoURL(close.htm)
30
May 2008
Web-Extensions/ClassicLink
So that existing applications which use dynamic dialogs do not have to be changed, the variables of the controls of the Web Graphical Service must be assigned to the values set for the application. This can be effected via a script in an overlay page. The following is an example:
<a ID="WN_GOTO" href="MultipleSelection.htm" target= "_self"></a> <object classid="clsid:B2ED2838-FD46-11D2-961D-0800060BD9E4" id="ActiveDataDictFW1" width="100" height="50"> <param name="_Version" value="65536"> <param name="_ExtentX" value="2646"> <param name="_ExtentY" value="1323"> <param name="_StockProps" value="0"> </object> <script LANGUAGE="VBScript"> <!-Sub window_onload() Set State for Button Control 1 Get Macro-Value from application ActiveDataDictFW1.VariableName = "CCTAFW_PROP_DIALOG_BUTTON(1)" Button1 = ActiveDataDictFW1.VariableValue Get Returnvalue of Button from application ActiveDataDictFW1.VariableName = "CCTAFW_PROP_DIALOG_INPUT(1)" Input1 = ActiveDataDictFW1.VariableValue if Input1 = "" then if Button1 = "" then Button Control hidden Button1_Viewstate = 3 else Button Control disabled Button1_Viewstate = 2 end if else Button Control active Button1_Viewstate = 0 end if
May 2008
31
Web-Extensions/ClassicLink
Set the viewstate variable of Button Control 1 ActiveDataDictFW1.VariableName = "VAR_BUTTON1_VIESTATE_S" ActiveDataDictFW1.VariableValue = Button1_Viewstate Set State for Button Control 2 to 8 ... navigate to next page WN_GOTO.click() end sub --> </script>
Initially, an anchor is placed on the page, which navigates to the following page once the script has been executed. This occurs when WN_GOTO.Click() is called at the end of the script. Secondly, a Data Dictionary control is created on this page in order to set and to read variables from the Data Dictionary FW. The above example uses two variables which describe a macro and the value of a pressed button. If both variables are empty, the corresponding button is hidden in this configuration of the High Level Graphical Service. If it is only the macro which is empty, the button is displayed as disabled. In all other cases, the button is displayed as active. In order to obtain the same view in the Web Graphical Service, the Viewstate variable of the corresponding button control is filled out in the script. This must be performed for each button. Navigation then moves to the next page which is to be set up dynamically. If it is not only interface elements which are to be displayed or hidden but if the label and return value of a pressed button are also to change dynamically, these values must be displayed in the form of variables which are changed by the HTML generator prior to display into current contents from the Data Dictionary (see also section Inserting a variable in a control on page 288).
32
May 2008
Web-Extensions/ClassicLink
Parameterization of the AllowList, the structure of the navigation button bar and access protection is identical for all product versions (see also section Displaying external pages on page 449).
May 2008
33
Web-Extensions/ClassicLink
Graphical Service may not have been reinitialized at the moment the event was fired. For this reason, the status should be queried by calling the function GetbStatus() in a loop. If the function GetbStatus returns CCDIALOG_OPERATIONAL (0), the application is again able to load any product-related page. This results in the following procedure for the application:
SHORT ShowDialogWebStep::Process (PCHAR szStepParams) { SHORT sRc = Step_NEXT_1,sRet = 0; CCFRMW_JOB_STATUS pJobState; TX_SELF.fStatusWEB = FALSE; TrcWritef (T_TRACT_1, "> ShowDialogWebStep::Process (%s)", szStepParams); TrcWritef (T_TRACT_1, "1 .CCDIALOG.GetbStatus: %d",DIALOG_FW.GetbStatus()); memset(&pJobState,0,sizeof(CCFRMW_JOB_STATUS)); DIALOG_FW.DoDialogAsync(&pJobState,szStepParams); TrcWritef (T_TRACT_1, "2 .CCDIALOG.GetbStatus: %d",DIALOG_FW.GetbStatus()); // Serialize browser instance status while(DIALOG_FW.GetbStatus()==CCDIALOG_OPERATIONAL) { TrcWritef (T_TRACT_1, "CCDIALOG.GetbStatus returns CCDIALOG_OPERATIONAL"); CCSleep(100); } while(DIALOG_FW.GetbStatus()==CCDIALOG_NOT_OPERATIONAL) { TrcWritef (T_TRACT_1, "CCDIALOG.GetbStatus returns CCDIALOG_NOT_OPERATIONAL"); CCSleep(100); } TrcWritef (T_TRACT_1, "< ShowDialogWebStep::Process () returns %d", sRc); return (sRc); } /* ShowDialogWebStep::Process () */
34
May 2008
Web-Extensions/ClassicLink
May 2008
35
Loading a frameset without ChangeLanguage()Web-Extensions/ClassicLink // return code for offline window.navigate(PCEvt:RC=0) </SCRIPT> (see also section Syntax for sending return codes to the application on page 25)
ATM_TOP_NAV thus destroys the current frameset and loads the next page in full-screen mode. Following the call, a new frameset will generally have to be displayed.
36
May 2008
Web-Extensions/ClassicLink
After the Contents ATM Control has been activated the timer is reset to a new value, which is now the page timeout added with the contents of the parameter DoDialogTimerPageTimerExtend (see DoDialogTimerPageTimerExtend in the Parameters manual on page 600). If the page is not unloaded properly and this timer expires, the Web Graphical Service will reboot the system here as well.
May 2008
37
Web-Extensions/ClassicLink
38
May 2008
Web-Extensions/HyperLink
Hardware control
Web-Extensions/HyperLink
This product version comes closer to the process involved in a pure Internet solution as it operates with links to workflow processes. However, the application is still positioned locally on the self-service device and not on the Internet server. Application programmers have the opportunity to access the application on each Internet page and to initiate control of the hardware or address of the server/host. The responses from the application can, in turn, effect a link to a new Internet page. On the other hand, each button can also effect a link to a new Internet page. The integration of Internet solutions is easiest to implement with this architecture as it only requires the appropriate links to be placed on the Internet pages. The application itself is not affected by this Step. This architecture uses the Contents STD control exclusively. All other controls are used jointly with the other architectures.
Hardware control
If the self-service hardware is to be used from within an Internet solution (e.g. for printouts or to request insertion of a card), this product version can be used to address the appropriate hardware. Return codes issued by the hardware are presented as links to new Internet pages. Unsuccessful printing may therefore display an error message page, whereas successful printing branches to adocument removal page.
May 2008
39
The menu
Web-Extensions/HyperLink
Fig. 4: Contents STD control - Access to hardware modules
Internet Browser
3. Transmission between Internet-browser and ProTopas modules 4. Call of the ProTopas Module `PRINT`
Connector Control
Pro Topas Modules 5. Access to the printer via ProDevice Pro Device Special Hardware
Access to the Transaction Framework is the core task of the Contents STD control together with the ActiveStep control. In turn, for example, they make it possible to access the hardware of a self-service device. Internally, the Contents STD control accesses the ProTopas Transaction Framework. The referenced Transaction FW class is executed, and can terminate with up to 20 return codes. An Internet page can be assigned to each return code, which is then loaded at the end of the Transaction FW class. In this way, calling the application and parameterizing the return codes reflects the general logic of the application (see "Contents STD control - Step page" on page 250 in the Parameters chapter).
The menu
Menu buttons are only available in this architecture. This section explains special aspects of the function menu. First, it deals with menu buttons, then with methods of making the menu flexible and, finally, with the disabling of menu buttons by the host.
40
May 2008
Web-Extensions/HyperLink
The menu
May 2008
41
The menu
Web-Extensions/HyperLink
explicitly in a function. It is much easier to enter nothing for the Headline parameter in the Contents STD control (see also section Contents STD control - General page on page 228). If the header needs to be set again later, the variable named VAR_HEADLINE_S can simply be used.
Variable menu
It is worthwhile combining functions in general menus so that it is not necessary to have all functions available on one level and to have to scroll through various pages with scroll buttons. Identification with a card and PIN can take place when a general menu is selected. This arrangement can be achieved easily by creating not just the names of all functions but also the names of some general menus. These names are entered in the Registry under the .../ActiveX/PCButton/Transaction key (see also section Button control - General 2 page for menu buttons on page 94). The names of these buttons can be chosen freely. The value must begin with X and must be followed by any character. If menu contents need to be disabled by the host, however, the values must be coordinated with the host programmer.
42
May 2008
Web-Extensions/HyperLink
From the very start, the menu pages have to be designed in such a way that they can hold the maximum range of functions. It is only possible to hide menu buttons. Buttons that did not exist beforehand cannot be generated automatically! The approach to enabling and disabling menu buttons is simple. The host sends the values for all menu buttons that are to be disabled to the terminal device. All buttons contained in this list are disabled by a Transaction FW class in which the corresponding Viewstate variables are set (see also section Hiding controls with Viewstate variables on page 274). This disabling can be achieved by a command that the host sends to the terminal device. The list of menu items to be disabled, however, can also be appended to the response to a transaction record, and is then evaluated when this response arrives. This approach, for example, would permit card insertion to be followed by a response to the authorization query to include a general menu that has been changed in such a way that it only shows the functions which the customer in question is allowed to use. The disablement of existing menu buttons remains in force until the card is ejected. If the same menu contents need to be disabled for the next customer, the list has to be set again.
May 2008
43
Web-Extensions/HyperLink
44
May 2008
Web-Extensions/HyperLink
Event number 10 (ACTIVESTEP_EVT_FIRE_STRING) is reserved for a self defined event, which may by pasted to the ActiveStep control in an Internet page. It may contain a String parameter. In the Internet page it can be received in a script StepEvent (BSTR String). Return codes 0 to 19 have been defined for ProConsult Steps. They have been assigned as follows: Define
ACTIVESTEP_RC_FKTN_OK ACTIVESTEP_RC_FKTN_RETURN1 ... ACTIVESTEP_RC_FKTN_RETURN15 ACTIVETEP_RC_CANCEL
Value
0 1 ... 15 16 Cancellation of the Step by the Contents STD control Function timeout General error Return code after Close Immediate OK Special return codes
17 18 19
The ACTIVESTEP_RC_CANCEL return code has to be returned by the Step, when the Step is cancelled by the Contents STD control. No call of an HTML page may be entered for this return code. The ActiveStep control does not pass this return code to the Contents STD control. The Cancel method must be implemented for Steps which permit cancellation from outside. Examples of Steps which may have to be cancelled from outside, e.g. as a result of the press of a button or another event, include: Card input: Card input is cancelled by touching the screen in the idle loop or by pressing a button on the menu. At this point, the branch cannot be handled via the Steps return code but via the branch defined for the button. PIN input: PIN input can be cancelled by pressing a Cancel button without the PIN having been entered.
May 2008
45
Web-Extensions/HyperLink
In such a case, the Contents STD control tries to cancel all Steps that are in progress and, when all Steps have finished, navigates further via the branch defined for the button that was pressed and not via the branches specified by the Steps return codes. In other cases it is unwanted that a Step can be cancelled from outside because a certain action has to be completed before the application is allowed to resume. In this case, the Cancel method must not be implemented in such a Step. But on the other hand every step must be completed in a short time. If the step needs a longer time to be finished it is mandatory to implement a Cancel method, because the Graphical service may cancel the step in case of exception situations. The ACTIVESTEP_RC_GENERAL_ERROR return code may be used as an error return code by the Step. However, in case of a problem with the EPP it is returned by the Contents STD control automatically. It is good programming manner to fill in a branch for this returncode on each page which is using EPP input.
46
May 2008
Web-Extensions/HyperLink
key. The key must therefore be created as up, and then be hidden. As far as selection and menu buttons are concerned, it is possible, however, to specify an HTML page for a hidden button. The button is addressed via the value of the Button control. This can be read from General 2 page of the Button control (see also section Button control - General 2 page for function keys on page 85).
May 2008
47
Web-Extensions/HyperLink
variable. In a Step, the name of this variable can be evaluated and stored as required. In this way, a Step can, for example, generate different return codes as a result of the name of the HTML page. Furthermore, the name of an HTML page can be buffered in a Step or a later return to this specific HTML page. Please notice that the name is written after OnContentsStart() or OnContentsRestart() of the Contents STD/ATM control.
48
May 2008
Architecture
architecture
Internet browser
P SO
OK Abbruch Drucken Hilfe
application components
ProTopas Modules
Operating system
The ProTopas product family is based on the Windows XP operating system, if it uses the ProTopas/Web-Extensions.
May 2008
49
Architecture
CSC-W32
Drivers are needed to control the hardware of a self-service device. These drivers are part of the CSC-W32 product portfolio and include, above all, drivers for the card reader, Encrypted PIN Pad (EPP), various printers and scanners, special electronics, and touchscreens.
ProDevice
The ProDevice ((CEN/XFS) modules, which separate the application from the underlying hardware, build on these drivers. An application that is based on CEN/XFS can run on devices from various manufacturers, providing the thirdparty manufacturers also provide CEN/XFS interfaces for their drivers.
ProBase
ProBase is a combination of the modules of CSC-W32 and ProDevice, with the same functionality as the separated products. ProBase will be supported from Version 1.2/00 of the ProTopas/WebExtensions.
ProTopas
The ProTopas Frameworks build on ProDevice. ProTopas software components are not tied to specific self-service terminal devices. Individual business and technical components can be used and reused across all self-service devices. Standard ProTopas components can be modified for customer projects in such a way that the basis can be extended and maintained centrally. This is possible because the interfaces of the ProTopas components are disclosed. New developments can be implemented with little training effort to meet customers requirements quickly and at low cost. An end-to-end error and diagnostics concept supports easy maintenance for technicians. This concept even puts customers in a position to eliminate simple device faults without calling upon the services of a technician.
50
May 2008
Architecture
May 2008
51
Architecture
Roughly speaking, a ProTopas application is split up into an application Framework, a Transaction Framework, a Host Protocol Framework and a Service Framework. In turn, these main components are linked to a number of subcomponents. The task of the application Framework is to control the other components. When it has been loaded, it causes all other frameworks to be initialized. The Transaction Framework incorporates its classes the so-called application Steps. In turn, these access low-level frameworks, which initiate hardware functions. The Service Framework synchronizes the Service and Operating program with the application Framework. The Host Protocol Framework prepares the data going to and coming from the server/host. In this process, it accesses a Data Dictionary Framework which knows the exact owner of the data as a result of the configuration. To feed the host interfaces, the ProTopas application provides data that is accessed when required. In the other direction, data from the server/host is provided in the Host Protocol Frameworks, and can be queried by the application. There may be two logical connections to different server systems. One connection is retrieving the Internet pages from an Internet information server. The other connection retrieves or sends data to a transaction server, where the customers legacy and account data is provided. Fig. 7: "Host Protocol Framework" illustrates this. The ProTopas Programming Guide gives an exact description of the way the ProTopas frameworks work, and how a new framework is programmed.
52
May 2008
Architecture
masks information
WAN / LAN TCP / IP
Transaction data
May 2008
53
Components and system requirements Buttons of various kinds Input fields (text boxes) Input fields with a list function (list boxes) Input fields for PINs
Contents ATM control Master to synchronize the controls mentioned above and to handle different return codes Contents STD control Master to synchronize the controls mentioned above and to access the application ActiveStep control Communication control between the Contents STD control and the application
The Contents STD control synchronizes the other controls and handles the flow of control of the application. The return code of an addressed ProTopas Framework is passed to the control on the Internet page. For each return code it is possible to store an Internet page which is opened when this code is returned.
Fig. 8: Flow of control via ProTopas modules
Internet Browser
3. Transmission between Internet-browser and ProTopas modules 4. Call of the ProTopas Module `PRINT`
Connector Control
Pro Topas Modules 5. Access to the printer via ProDevice Pro Device Special Hardware
54
May 2008
Hardware requirements
This approach differs from the architecture Web-Extensions/ClassicLink. Here, the flow of control is controlled by the Script Framework. In the transaction Steps the Web Graphical Service interface function DoDialog() is used to display an Internet page.
Fig. 9: Showing Internet pages from the application
P SO
Hardware requirements
All self-service hardware devices may be used for applications which run with ProTopas/Web-Extensions: ProCash ProInfo ProPrint ProConsult
May 2008
55
Pentium III PC 500 mHz, 512 MB memory Network card supporting TCP/IP Touchscreen or softkeys Optional hardware: Encrypted PIN Pad (EPP) Alphanumeric keyboard Sound card A design workstation consisting of a Pentium PC with 512 MB memory is needed to adjust parameters and modify the user interface. The user interface can be extended, developed from scratch or modified with standard software components for editing Internet pages.
Software requirements
The following base software is required in the specified versions at least to ensure smooth operations with ProTopas/Web-Extensions: Terminal device: Windows XP with current Service Pack Microsoft Internet Explorer version 6.x/7.x with current Service Pack TLS-W32 or ProBase ProTopas/Manager version 3.x or 4.x ProTopas/Web-Extensions version 1.x or ProTopas/HTML-Dialog version 1.x Design PC for editing Internet pages: Windows XP with current service pack Microsoft Internet Explorer version 6.x/7.x with current Service Pack
56
May 2008
Software requirements
Microsoft FrontPage as the recommended tool for editing Internet pages, or an ASCII editor as an alternative. Standard graphics program to create graphical elements for the user interface. TLS-W32 or ProBase ProTopas/KIT version 3.x or 4.x ProTopas/Web-Extensions version 1.x or ProTopas/HTML-Dialog version 1.x It is very important, not to mix up versions from Windows XP, TLSW32 or ProBase, ProTopas, ProTopas/Web-Extensions or the Internet Explorer on design PC, on test systems and on production systems. The same versions of each software package should be installed on each system. At least it has to be pointed out, that even the language specific versions of IE or Windows NT must be the same on each system. Please make sure, that the same versions of IE are installed on the test systems and on production systems, otherwise unpredictable faults may occur. If a new version or an update of the ProTopas/Web-Extensions or of the IE should be installed on the production system, it is mandatory to test the application, to make sure, that all functions are running as before.
May 2008
57
Software requirements
58
May 2008
May 2008
59
The design is also determined by standards from existing style guides drawn up by the institution in question. In particular, attention must be paid to any existing Internet presence. Since ProTopas/Web-Extensions is based on Internet technology, potential standards for the existing Internet or intranet pages have to be taken into account. Selective use of colours Transaction-oriented self-service applications require high concentration on the part of customers. Accordingly, operation must be easy. Choosing a few striking colours on a layout that is otherwise unobtrusive is much more helpful than a design that makes full use of the graphic cards features. Using familiar striking colours such as red, yellow and green for stop, caution, continue means that the customer immediately relates the user interface to real life. Accordingly, all Internet pages dealing with Cancel, Error, End ought to use the colour red. The Cancel button on the EPP is also marked red. Yellow stands for caution, and ought to be used for correction messages when input errors have been made. The Correct button on the EPP is also marked yellow. Green stands for Continue, and serves to indicate positive confirmations. The Confirm button on the EPP is also green. Functions such as Print and Help can be indicated with other colours that fit in with this pattern. In this way, customers can immediately see which is their current operating Step at any time without having to search through the contents of the screen for hints.
60
May 2008
Another central design aspect is the colour depth used for images. This must be geared to the resolution that has been chosen for the Desktop. If 256 colours out of a spectrum of 64k colours are chosen for images, for example, the Desktop resolution must be set to a colour depth of 64k at least. Otherwise the images would be adjusted automatically, which can result in ugly colour changes. However, you must also bear in mind that very finely structured images can be generated with a high colour depth but that these may take a long time to load because of their size. It is a good idea to choose a middle course. The images of the standard ProTopas/Web-Extensions user interface have been created for a resolution of 600 x 800 pixels. The images for the controls must be in Windows bitmap format with 24 bit colourdepth or Portable Network Graphics (png) format with 24 bit colourdepth because they cannot be displayed otherwise. This restriction does not apply to images that are loaded directly into the browser. Since Version 1.1/37 it is possible to have floating transparencies in PNG Graphics. In former versions it was only possible to have one color for transparencies, so floating was not possibe.
May 2008
61
PNG format for graphics for the controls is available since version 1.1 from the ProTopas/Web-Extensions. PNG Graphics support a transparent background colour. That means, it is possible to create round controls by giving the corners of the control image a colour, which has to be specified as transaprent colour before saving the file. When PNG Graphics with transparent backgrounds are used for the visible Controls, it may happen, that the transparent background is not refreshed properly, so there are portions of the previous page in those areas. That happens, because the controls are loaded asynchronously since Version 5.5 of IE. So the new page has not finished its loading sequence, when the controls try to grab the background for transparency use. A way to solve this problem is to build a block of all visible controls by use of a <DIV> tag and make those controls invisible by use of an internal style property. Give this <DIV> tag a name DISPLAY_CONTROLS_BLOCK. The contents STD/ATM Control will set the style to visible, when the page is properly initialized. Use the following syntax for the <DIV> tag: <div id="DISPLAY_CONTROLS_BLOCK" style= "VISIBILITY: hidden"> Controls </div> Icons: Since it is impossible to specify for BMP images which colour is transparent, the following has been arranged: The top left pixel of the bit map defines the transparent colour. All pixels in the image which have this colour are not displayed. Instead, the background shows through them. By using PNG images a transparent colour may be defined. This is the more easy way to use transparency in icons.
Animations
An easy way of generating animations is to use the animated GIF format. Here, different GIF images of the same size are displayed one after another. The time frame in which the following image is displayed and whether the loop should recommence at the beginning when the animation has finished is defined in the animated GIF. The Microsoft GIF Animator is an easy-to-use interface for
62
May 2008
sequencing images. It is available together with Microsoft FrontPage. A single GIF file is created and it is impossible to tell from outside whether this is a GIF -animation or a single image. Another way of generating animations is to use Dynamic HTML. Individual elements can be shifted on the screen by means of scripting. More details on Dynamic HTML are given on Microsofts Internet pages.
Text fonts
The design process also includes definition of the typeface and font size. Generally, different fonts should not be used in a user interface because they tend to confuse customers. Bold or underlined text can be used to emphasize certain passages. There are proportional and non-proportional fonts. In non-proportional fonts, the size of each character is the same. Accordingly, it is possible to calculate exactly how big a field has to be which needs to hold a certain number of characters. If the width of the character is, for example, 8 pixels, a field designed to hold 30 characters must be at least 240 pixels in length. On the other hand, if non-proportional fonts are used, the length of a character string can differ considerably. An i or l is much narrower than a w or m. The content of the character string therefore determines the width to a great extent. The following trick is used to determine the width of fields that are filled at runtime: The sentence "The quick brown fox jumps over the lazy dog" counts as the standard for the average field content.
May 2008
63
If the field can hold the number of characters in this sentence, it will probably be able to hold any string that is required at runtime. If fewer or more characters than in this sentence are needed for the field, either only part of the sentence is used or the sentence is repeated accordingly. No guarantee can be given that every string will fit in the field at runtime. To be on the safe side, the field size should be chosen to ensure that the corresponding number of ws can be held. As a rule, however, only half of the field will be used. The settings for the representation of texts, the font size, should be the same on the development computer and on the self-service device. Otherwise the texts will be too small or too big. The font size is defined among the Desktop settings normally in the same menu in which the screen resolution is defined.
Function keys
Function keys are buttons that always remain in the same positions during the application and have a fixed meaning. Depending on the context, these buttons may by up, disabled or hidden. Here are the Contents (STD/ATM) control function keys by way of example:
64
May 2008
Designing the user interface Back Help Print Cancel Correct Confirm Forward
These keys depend upon the contents of the Context frame. This is why it is necessary to parameterize the representation and reference to the Internet page to be loaded on the Context page. A good example is the <Help> function key. If the reference to the Help page to be loaded were parameterized directly for the <Help> function key, the same Help page would be called throughout the application no matter what the Context page contained. Obviously this would not be very helpful. Function keys therefore have to be parameterized on the Context page. You do this with the aid of the Contents (STD/ATM) control by specifying that representation for every function key (see "The Contents (STD/ATM) control" on page 69). When a Contents (STD/ATM) control is created, every function key is hidden by default. An Internet page has to be assigned explicitly to a function key for this to be made available.
Fig. 10: Placement of function keys
Frame 2
Frame 1
Function Function Function
Frame 3 (Context)
Frame 4 Function
In contrast to this, links can be specified directly for selection and menu buttons. Accordingly, these buttons may only be created in the Context frame.
May 2008
65
In contrast to this, buttons, which are used directly in the Context Internet page are selection buttons.
Selection buttons
Unlike function keys, links to new Internet pages can be specified directly for selection buttons.
Unlike function keys, buttons which return a special value to the application directly are selection buttons.
Selection buttons are designed to be placed in the Context frame. If you need to tell the application which button has been pressed, different selection buttons can be defined with different values. Conversely, the application can show, hide or disable selection buttons. This is done implicitly by means of the value of the viewstate variable (see "Hiding controls with Viewstate variables" on page 274).
Fig. 11: Placement of selection buttons
Frame 2
Se le c tio n Se le c tio n Se le c tio n
Frame 1
Frame 3
Se le c tio n
Se le c tio n Se le c tio n
(Context) Se le c tio n
Se le c tio n
Frame 4
66
May 2008
Menu buttons
Menu buttons are selection buttons for business transactions, such as remittance orders or standing orders, for which it is possible to define the way customers identify themselves. Otherwise they are the same as selection buttons, i.e. can also be created in the Context frame only. However, it is not the first page of identification that is specified as a link but the first page of the selected function.
Fig. 12: Placement of menu buttons
Frame 2
Me nu Me nu Me nu
Frame 1
Me nu Me nu
Frame 3 (Context)
Me nu Me nu Me nu
Frame 4
Input fields
You should create input fields for self-service devices in such a way that customers can recognize that selecting the field places the cursor in this field. This is important for ease of correction. Here, again, the image should be large enough. A label may be edited in the control, which defines what text the customer has to edit in the appropriate input field. In this way, the label can be taken into consideration for disabled and hidden input fields. The label is automatically hidden or appears light grey in this case. Two different images can be loaded to depict whether the field has been selected or not (see "Edit control - General 2 page" on page 126). Another image is used to represent the disabled state. This state can be achieved by means of parameterization in the Edit control or by setting a status variable in the application (see "Hiding controls with Viewstate variables" on page 274). Context-sensitive Help for every input field and the possibility of displaying an operating hint are particularly important. These requirements have been implemented in the Edit control.
May 2008
67
With the aid of the PCEdit control it is possible to start an input check immediately after the input has been confirmed. This gives customers immediate feedback on their inputs. The message for the customer can be output via a second Internet page which is overlaid over the currently loaded Internet page. When the second Internet page is closed, the cursor is placed again in the input field which was active before the second Internet page was loaded. You can also define whether the cursor is placed before or after the input.
Input sequence To guide customers through the input fields, customers must be compelled to confirm every field. Only then is the content checked and accepted. The <Tab> button is available so that customers can exit a field without an input check after a correction message. The same behavior can be achieved by directly selecting a button on the touchscreen. The field that is exited in this way is not checked. The checks that have been omitted are carried out when the confirmation key or button is pressed in any input field. In this case, the input field that has just been confirmed is checked first. Then the cursor goes to the unchecked input field which has the lowest sequence number and has not been confirmed, or which contains errors. It is not possible to load the next Internet page until all fields have been confirmed.
List boxes
List boxes behave in a similar way to input fields. When a list box is activated, the customer is prompted to select one of the items in a list. A list is presented as an Internet page whose size and position can be freely defined. Accordingly, you can choose a layout which adapts to the presentation of list boxes under Windows or one which relates to the list box but otherwise adapts to the layout of the self-service application. The selected item is inserted in the list box. List boxes can be integrated in the input sequence of input fields. You do this by specifying the sequence number within the range that is used for input fields. Otherwise, visual design options are the same as for input fields.
68
May 2008
Frame 2
Frame 1
Frame 3 (Context)
Frame 4
May 2008
69
Logo
The logo is nothing more than a simple image. To ensure that it can be exchanged easily, the logo should also be placed in a frame that is only loaded at the start of the application. An animation can also be inserted instead of a simple logo (see "Formats of images" on page 61).
Icons
Icons can be used to visualize the selected function or to provide optical support for the texts. These can be placed on all controls and as a single image on the Internet page. A menu on which an icon is shown on every button can be created in this way. When this function is selected, the icon is placed in a frame so that it is always visible while the function is in progress. At present, there is no way of setting icons, such as header texts, from the Contents (STD/ATM) control. This currently has to be handled via scripting. The following script describes the setting of icons: Sub window_onload() window.top.header.HeaderIcon.src= "../images/icon/Icon_ue.gif" end sub Here, the image with the ID HeaderIcon is changed in the frame named header. To be precise, a new image is loaded. The script runs when the Internet page is loaded. So that the icon can be changed at all, it must be an object named HeaderIcon on the Internet page that is currently loaded in the header frame. Our example shows a table column to which the HeaderIcon ID has been assigned. <td> <img id="HeaderIcon" src="../Images/Icon/Icon_is.gif"> </td> Icons placed on controls must use the same colour palette as the currently loaded image the controls are using. If the colour palette is different, the icon may not be visible.
70
May 2008
Frames
The easiest way to split up screens into frames is with Microsoft FrontPage. This involves a simple technique: an Internet page describes the arrangement of the user interface, the so-called frameset. An Internet page is loaded into each frame. These links are also located on the Internet page with the frameset. The sizes of the frames can either be specified as a fixed number of pixels or as percentages of 100% screen width/height. The browser can also calculate the size of a frame itself if the other frames have been specified as a number of pixels. Generally, the narrow outer frames contain elements that stay in these positions while the application is running. The necessary Internet pages for this are only loaded once when the application starts. The biggest frame holds the context. Fig. 14 illustrates a possible arrangement of the screen in frames.
May 2008
71
Frame 2
Frame 1
Frame 3 (Context)
Frame 4
Frames which do not hold the context are generally used to place function keys, or to display status messages or the logo and the operating hint. The Internet pages that are loaded into these frames remain constant throughout the application. They only need to be loaded once when the application is launched. This makes it easy to change a logo or the positions of function keys because the elements are only displayed on one Internet page. Changing an existing frameset at runtime As a rule, once a frameset has been loaded it should not be changed at runtime in order to avoid confusing customers by presenting them suddenly with a differently designed user interface. Another argument against this practice is that the browser needs a while to load the new Internet pages into the new frameset. During this phase, the window is built up Step by Step. White, the background colour, becomes visible. However, it is necessary to change the frameset, for example, when there is a change of language involving the captions on the function keys, too. If a frameset page is simply loaded from the Internet page to the Context frame, the new frameset is not built up afresh on the screen but nested within the Context frame. The following trick can be used to bypass this: An intermediate page is loaded on which the entire screen is used as the new context by means of scripting. The required effect is achieved if the frameset is loaded now (see "Changing the complete frameset" on page 306).
72
May 2008
Calling the ChangeLanguage() function of the Dialog Framework sets the ProTopas/Web-Extensions to full-screen mode. This means that the next Internet page which is loaded after ChangeLanguage() must be a new frameset (see "Changing the complete frameset" on page 306).
May 2008
73
The following line acts as a reference to a style sheet file in the header of an Internet page. <link rel="styleSheet" href="../StyleSheet/UEInput.css" type="Text/css" media="Screen"> The style sheet file has the following contents: #F1 { position:absolute; top: 14%; right: 5.0%; width: auto; height: auto; } #F2 { position:absolute; top: 36%; left: 5.0%; width: auto; height: auto; } #F3 { position:absolute; top: 36%; right: 5.0%; width: auto; height: auto; } #F4 { position:absolute; top: 50%; right: 5.0%; width: auto; height: auto; } In this example, IDs F1 to F4 have been assigned to an absolute position. The IDs have to be assigned to the graphical elements on the Internet page. When the page is loaded, the elements are automatically placed at the position that is specified for the corresponding ID in the style sheet file.
74
May 2008
May 2008
75
76
May 2008
Controls
Controls
The application operates with Internet pages to represent the user interface. This makes it possible to use the Internet browsers multimedia features to the full. The browsers standards are largely used for optical presentation, but these standards are inadequate in some cases. For instance, the standard includes a button which can be pressed to load another image and thus indicate a visible response. However, this button cannot be hidden or disabled. The standard provides controls for input fields but an input check would have to be implemented in a complex manner on the basis of scripts. Correction or confirmation of each field is impossible. For these specific tasks, Microsofts ActiveX technology has been used to develop some controls which are very flexible thanks to parameterization. The following controls have been developed: Button control Edit control List control EPP control Buttons of various kinds Input fields (text boxes) Input fields with a list function (list boxes) Old Input fields for PINs, please use Edit Control with EPP functionality today.
Contents ATM control Master to synchronize the controls mentioned above and the connector to the application.Only used at Web-Extensions/ClassicLink. Contents STD control Master to synchronize the controls mentioned above and to access the application. Only used at Web-Extensions/HyperLink ActiveStep control Communication control between the Contents STD control and the application. Only used at Web-Extensions/HyperLink. This Control is used for scripting only. It is necessary to get and set data via the Data Dictionary (see also section The Active DataDict control on page 489).
May 2008
77
Controls This Control is used for scripting only. It is necessary to get and set data via the Variable Framework (see also section The Active VarFW control on page 488). This Control is used for scripting only. It is useful for receiving ProTopas Events in HTML pages (see also section ActivePTSniff Control on page 491).
ActivePTSniff Control
ActiveRegistry Control This Control is used for scripting only. It is useful for getting REG_DWORD or REG_SZ Parameter values into variables for scripting (see also section ActiveRegistry Control on page 491). WXPTBridge Control This control gives access to all ProTopas Frameworks. It must be used in the Virtual Keyboard instance, when it is used as Marketing window for the access to the EPP Framework. However it may be used to access all other frameworks as well (see also section WXPTBridge on page 385).
78
May 2008
Controls Defaults
There are default values for all controls. These are values that can be set with the aid of parameters. The appearance of the entire application can be changed in one go with these defaults because they are read from the Windows Registry at design time and at runtime. Setting as many parameters as possible to the default value in the controls means that changes to the parameters can alter the appearance of multiple controls. States of controls Of all controls, the Button control can assume the most states: A button can be hidden: In this case, the control is transparent and assumes the colour of the background. A button can be up: In this case the button can be selected, and the image that has been specified for this state is loaded. A button is this state can be pressed by the customer to initiate the action that has been defined. A button can be pressed: In this case the button has been selected, and the image that has been specified for this state is loaded. The pressed state can only be shown for buttons which are used to select several buttons simultaneously without opening another page (Windows check box). The Toggle lock option must be set to yes for this type of button (see "Button control General 1 page" on page 83). Reselecting a button changes its state back to up. A button can be disabled: In this case the button cannot be selected, and the image that has been defined for this state is loaded. The button cannot be pressed. The image that is stored for this must be designed in such a way that the customer can recognize that the function is not available. A button can be down, i.e. have been pressed briefly: The image that has been specified for this state is loaded. This state occurs when an up button has been selected, and is a visible response for the customer. The customer can see that the button has just been pressed. Directly after the down state the button returns to the up state. The time for which the button stays in the down state can be defined by the AnimationTimer parameter (see "AnimationTimer" on page 652 in the Parameters chapter). However the control waits until the button has returned to the up state before performing the desired action so the time that is specified should not be too long since this would increase the response times in the entire application.
May 2008
79
Controls
The Edit and List controls have the same states as the Button control with the exception of the down state. These controls cannot indicate the down state because they immediately go into the pressed state when they are selected.
80
May 2008
Controls
Button: The type of button is defined with these radio buttons. The appearance of the General 2 page depends on what is selected here. Menu button: This button type is only available at connection of Internet pages. A menu button is used to call a menu of business transactions. This type of button differs from a selection button in that it is possible to define for each function whether customers have to identify themselves with a card and PIN, or whether no authorization at all is required (see "Menu buttons" on page 67).This radio button will not be selectable, if the parameter ButtonInstallation (see "ButtonInstallation" on page 652 in the Parameters chapter) is set to 1.
Fig. 17: Menu button to call more information
May 2008
81
Controls
Function key: Function keys are buttons with a special meaning such as Cancel, Correct or Confirm. All such keys can be placed in an HTML frame of their own are listed here (see also Function keys on page 64). This frame remains in the same position throughout the application. The function keys can be made visible or hidden from the active HTML frame. The destination Internet page when a key is pressed is also controlled from the active HTML frame. For this reason, no Internet page can be specified on the General 2 page as far as function keys are concerned.
Fig. 18: Help function key
Selection button: A selection button is any button in the active frame. Pressing such a button can either return a response to the calling Transaction FW class or take the customer directly to a new page in special situations, e.g. if a new window is to be closed (see also Selection buttons on page 66). Pressing such a button takes the customer directly to a new page (see also Selection buttons on page 66).
Fig. 19: Selection button for an amount in DM
Radio button: Radio buttons always appear in groups of at least two. One of these radio buttons must be in the pressed state. If another radio button in this group is selected, the previously active one returns to the up state. If no radio button is defined as having the pressed state when the group is created, the Contents (STD/ATM) control (see "The Contents ATM control" on page 198) ensures that the radio button with the lowest field ID (see "Button control - General 2 page for function keys" on page 86) is automatically placed in the pressed state.
Fig. 20: Radio buttons to select DEM or EUR
82
May 2008
Controls
Toggle: This group defines whether a button is a Windows check box. With this option it is possible, for example, to implement a button indicating that a customer card has been input. The button has the pressed state when no card is in the device. Once a card has been inserted, a Transaction FW class will set the button to up by setting the appropriate Viewstate variable and loading the same page again. The card is ejected when the customer presses this button. When this button is created, Toggle must be set to yes. no: This the standard setting determines that the button functions as required. When the button is pressed, the return code is sent to the application.
When the button is pressed, a Transaction FW class is called or an Internet page is opened, depending on the settings on the General 2 page (see "Button control - General 2 page for selection buttons" on page 91). yes: If this setting is selected, a Button control is treated like a Windows check box, i.e. when the button is selected it gets the pressed state, and the value of the button is entered in the VAR_DLG_INPUT_RESULT_S variable. The return code is sent to the application. It can call the same Internet page with a changed Viewstate pressed for this button.
The call of a Transaction FW class should be parameterized for a toggle button (see "Button control - General 2 page for selection buttons" on page 91). This class can buffer the value of the button and send a return code for which no Internet page has been specified. The page that has been loaded is retained. Several toggle buttons can be queried in this way. default: If default is selected, the content of the HoldPressedState parameter is evaluated at runtime (see also HoldPressedState on page 656). This parameter may contain 0 for no or 1 for yes.
May 2008
83
Controls
State: The state of a button upon loading of an Internet page is configured here. The various states can, however, be overwritten by the settings of variables in the application (see "Hiding controls with Viewstate variables" on page 274). Button up: When the page is loaded, the button shows the image that is defined in the Button up parameter on the Graphic page (see "Button control - Graphic page" on page 105). In this state, the button can be pressed by the customer. Button pressed: When the page is loaded, the button shows the image that is defined in the Button pressed parameter on the Graphic page (see "Button control - Graphic page" on page 105). In this state, too, the button can be pressed by the customer. Pressing it changes its state to up. It is only possible to load the button with this image when the Toggle lock parameter has been set to yes. Button disabled: When the page is loaded, the button shows the image that is defined in the Button disabled parameter on the Graphic page (see "Button control - Graphic page" on page 105). In this state, the button cannot be pressed by the customer. Button hidden: The button does exist on the page but it is not visible in this state. Shift in pixels: This input field is used to specify the number of pixels by which the caption and icon are shifted to the right and down when the button is selected in order to give the optical impression of a pressed button. The number of pixels depends on the design of the button images. If the optical impression is conveyed that the button protrudes about 3 pixels, then 3 has to be input here. default: If this check box is activated, the value of the shift in pixels is read from the PressOffset parameter at runtime (see also PressOffset on page 653). By changing this parameter it is therefore possible to give a different appearance in one action to all buttons whose shift in pixels has been set to default.
84
May 2008
Controls
Functionkey: All function keys that have been created for this application are displayed in a drop-down list box. The designer can select the required one. The content of the list box shown here is read from the Registry under Function-Key. All keys beneath that are displayed in the drop-down list box. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCButton Function-Key Cancel ... Value: This field is only used to output the value of the selected button. The value is read from the Value parameter under the corresponding key in the Registry. Some of these values have a special meaning (see "Function keys with a fixed meaning" on page 87). The value cannot be changed on the
May 2008
85
Controls
page. It can be queried in the application if this button is pressed. The other parameter ID under the same key serves to number the function keys uniquely. It must be assigned in ascending order without any gaps. When the button has been pressed, the value is stored in the VAR_DLG_ INPUT_RESULT_S variable, and can be read from there by the application. Field ID: A unique number has to be assigned for this Internet page here. When working with framesets, you must also ensure that all pages which are loaded at the same time only contain buttons with unique field IDs. It is therefore important to use an appropriate range of values for the controls per frame. This will ensure that buttons with the same field ID will not be loaded at the same time. An error is written to the error log, if identical field IDs are loaded at the same time. Value 0 is reserved for Buttons, which shall not be supervised by the Contents STD/ATM Control, but be used in a script (see also section Scripting a Control on page 493). Softkey: The name of the softkey next to the screen for which this button is being defined is specified in this list box. This applies to systems which do not have a touchscreen but do have softkeys next to the screen. The buttons have the following positions:
Fig. 22: Positions of the softkeys
F8
F1
F7
F2
F6
F3
F5
F4
Help
Cancel
Correct
Confirm
86
May 2008
Controls
If the application is designed for a touchscreen system only, there is the option to specify no Softkey by selecting none. There is another option to connect a button control to more than one softkey. The names of the softkeys have to be entered directly in this case. The names have to be separated by a semicolon (e.g. F1;F2;F3;F4). It is even possible to connect a numerical EPP Key to a Button control. This should not be done on pages, where an Edit Control resides in. The connected numerical EPP Key then acts as a function key and triggers the button. This function is very helpful for projects which keep an eye on functionality for blind people. In the Listbox there are additionally all numerical Keys 0 - 9, L and R listed. L means the key left from the 0 and R the key right of it. If the Confirm, Correct, Help or Cancel key from the EPP is to be used for triggering any button, this button needs to have the appropriate softkey connected. These buttons need not necessarily be function keys with the values CANCEL, CONFIRM or CORRECT. On the other hand, if an Edit control runs correctly and the Confirm key and Correct key on the EPP are to be used to confirm inputs, there must be two function keys with the values CONFIRM and CORRECT active on this page. If these buttons are not to be shown, a graphic with the size 1 x 1 pixels and the colour of the background should be assigned. Function keys with a fixed meaning Buttons which have been defined as function keys generally have a fixed meaning which is used recurrently throughout the application. Some function key values have a special meaning such as Cancel, Correct and Confirm. Function keys can be placed in their own HTML frame but do not have to be. Function keys are created in the Registry under Function-Key. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/PCButton/Function-Key/ Cancel Value = CANCEL ID = 1 Every key here is interpreted as the name of a function key. Two parameters have to be entered for each Registry key. The Value parameter contains the value of the key and has a special meaning for some buttons. The value is also used as a reference for showing/hiding function keys.
May 2008
87
Controls
The second parameter ID is used by the Contents (STD/ATM) control to address the button later. The numeric value that is input here can range from 1 to 20. All function keys should be numbered consecutively in ascending order. There is no connection between the Value and the ID. Values with a fixed meaning are as follows: CONFIRM: When an input field becomes active, the button switches to Confirm mode. The defined input check is performed when the button with this value is pressed. The specified value is only returned to the application if the check is positive for all inputs or if there was no input field on the page.
The specified Internet page is only opened if the check is positive for all inputs or if there was no input field on the page.
CONFIRMALL: This value may be used for a special input handling. The customer may fill all edit fields by using the touch screen or the <Tab>, <Cursor up> or <Cursor down> key. After pressing this button all checks of all input fields will be started. When everything is okay, the Web Graphical Service will navigate to the page configured in this key (see also section Special input confirmation handling on page 418). Do not use this in Web-Extensions/ClassicLink.
The specified Internet page is only opened if all checks are positive for all inputs.
CORRECT: When an input field becomes active, the button switches to Correct mode. The character to the left of the caret is deleted when the button with this value is pressed. Any Internet page that may have been specified is irrelevant here. The function key with this value is hidden when no input field is active. 88 May 2008
When the button with this value is pressed, the Internet page specified on the Cancel page in the Contents STD control is opened (see also Contents STD control - Cancel page on page 234). Only when that page has been closed opens the application the Internet page specified on the Function key page for the button with the CANCEL value (see also Contents STD control - Functionkey page on page 236). HELP: As far as pages without input fields are concerned, the application opens the Internet page specified on the Function key page for the HELP value (see also Contents ATM control - Function key page on page 206). If an input field is active, pressing this button opens the Internet page specified under Help on the General 2 page (see "Edit control - General 2 page" on page 126). SURFING_BACK: A function key with this value can only be used in a frame for free navigation on intranet pages (see also The navigation button bar on page 450). The button then has the same meaning as the <Back> button in a standard browser. SURFING_FORWARD: A function key with this value can only be used in a frame for free navigation on intranet pages (see also The navigation button bar on page 450). The button then has the same meaning as the <Forward> button in a standard browser. SURFING_CANCEL: A function key with this value can only be used in a frame for free navigation on intranet pages (see also The navigation button bar on page 450). The button then has the same meaning as the <Stop> button in a standard browser. Pressing this button makes the application continue with the Internet page specified in the StartPage parameter (see "StartPage" on page 615 in the Parameters chapter). SURFING_UP: A function key with this value can only be used in a frame for free navigation on intranet pages (see also The navigation button bar on page 450). The button is used for scrolling the page up. SURFING_DOWN: A function key with this value can only be used in a frame for free navigation on intranet pages (see also The navigation button bar on page 450). The button is used for scrolling the page down. May 2008 89
Controls
SURFING_LEFT: A function key with this value can only be used in a frame for free navigation on intranet pages (see also The navigation button bar on page 450). The button is used for scrolling the page to the left. SURFING_RIGHT: A function key with this value can only be used in a frame for free navigation on intranet pages (see also The navigation button bar on page 450). The button is used for scrolling the page to the right.
90
May 2008
Controls
Selection button: All buttons that have been created for this application are displayed in a drop-down list box. These buttons can be placed on the current Internet page. The designer can select the required one. The content of the list box shown here is read from the Registry under the Selection key. All keys beneath that are displayed in the drop-down list box. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX PCButton Selection German ... Value: See page 85. Field ID: See page 86. Softkey: See page 86.
May 2008
91
Controls
Here the designer can define whether the return code is sent to the application when the button is pressed, or whether a new Internet page is to be opened directly. Here the designer can define whether a Transaction FW class is to be executed when the button is pressed, or whether a new Internet page is to be opened directly. Step after button: If this radio button is selected, the return code is sent immediately to the application when the button is pressed. This is the commonly used version of the selection button. The Input field for Internet page, In new window check box and Coordinates button are hidden in this case. If this radio button is selected, a Transaction FW class is called when the button is pressed. The name of the class is specified in the Contents STD control because only one Transaction FW class can ever run on an Internet page (see "Contents STD control - Step After page" on page 246 in the Parameters chapter). The name of the Internet page to be opened upon completion of the class is also specified in the Contents STD control. The Input field for Internet page, In new window check box and Coordinates button are hidden in this case. HTML page: If this radio button is selected, you have to specify the name of the Internet page to be opened in the Input field for HTML when the button is pressed. This option must only be used if an Internet page in a new window is to be closed.
Input field for HTML page: The name of the Internet page to be opened when the button is pressed is specified here.
92
May 2008
Controls
The navigation is normally done by direct entering a HTML page name, or including a relative path to other directories of the same web. If an external page shall be loaded, the protocol (f.e http://) has to be added. To navigate in the top or parent window there are two keywords, which may be used: WN_TFN_PARENT: Navigate in the parent window. WN_TFN_TOP: Navigate in the topmost window, which mostly means get rid of the frameset, if there was one. in new window check box: This check box has to be activated if the new Internet page is not to replace the currently active one but overlay it like a popup window. A new browser instance is loaded which can handle any sequence of Internet pages. This new browser instance is closed when an Internet page named CLOSE.HTM is called. The Web Graphical Service closes the new instance on its own (see "Closing a new browser instance" on page 271). The application must not incorporate an Internet page named CLOSE.HTM at any point as this name is reserved for closing a new browser instance.
Coordinates button: This button can only be selected when the In new window check box has been activated. When this button is pressed, the following dialog opens in which the coordinates for the new window can be specified:
Fig. 24: Input of coordinates for the new window
May 2008
93
Controls
X pos: The X position of the new window is specified in pixels in this input field. The origin is the top left corner of the screen. The distance from the left edge is specified here. It is eigher possible to enter a value in pixels 0 - 9999 or in percentage 0.00% - 100.00% (with two post comma digits and a closing %-sign). Same is possible with the other properties in this property page. If a percentage value should be set in the registry parameters, because the default check box is on, 10000 has to be added to the value in pixels. Do not forget the post comma digits. 105% is 10500. Y pos: The Y position of the new window is specified in pixels or percentage in this input field. The origin is the top left corner of the screen. The distance from the top edge is specified here. Width: The width of the new window is entered in pixels or percentage here. Height: The width of the new window is entered in pixels or percentage here.
94
May 2008
Controls
Menu button: All buttons that have been created for this application are displayed in a drop-down list box. These buttons can be placed on the current Internet page. The designer can select the required one. The content of the list box shown here is read from the Registry under the Transaction key. All keys beneath that are displayed in the drop-down list box. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX PCButton Transaction Remittance ... Value: See page 85. Field ID: See page 86. Softkey: See page 86. Selection: See page 92. Input field for Internet page: See page 92. In new window check box: See page 93.
May 2008
95
The Button control Coordinates button: See page 93. Identification: Here you can define how customers have to identify themselves for the selected function:
Controls
with chipcard: As this is a check box, this option can be selected independently of the others in this area. If this check box is activated, then the chip is contacted when the card is inserted and the data is read. Authorization is based either on the card only or on the card and the PIN, depending on the setting for the following radio buttons. In other words, a PIN check via the chip in the card can be enabled at this point. without identification: Customers do not need access authorization for this function. with card: Customers have to identify themselves either with an ec card or with a chipcard. with card + PIN: Customers have to insert an ec card or chip card, and input a PIN. If the with chipcard check box has been activated, the PIN is checked via the chip. Mandatory with card + PIN: Customers have to insert an ec card or chip card, and input a PIN. If the with chipcard check box has been activated, the PIN is checked via the chip. Even if customers have identified themselves with a card and PIN, the PIN is requested again when they select the function in question. default: The value is read from the Identification parameter at runtime (see "Identification" on page 656 in the Parameters chapter). Here, too, it is possible to define whether the customer ought to be identified via a card or a card plus PIN, or whether a card plus PIN are mandatory.
96
May 2008
Controls
Radio button field: All groups of radio buttons that have been created for this application are displayed in a drop-down list box. A radio button is used when just one of a set of options can be selected. If another radio button is selected, the previous one is automatically returned to the up state. The content of the list box shown here is read from the Registry under the Radiobutton key. All keys beneath that are displayed in the drop-down list box. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCButton Radiobutton Currency selection ... Value: See page 85. Field ID: See page 86.
May 2008
97
Controls
Radio button: The radio buttons that belong to the selected group of radio buttons are displayed in this list box. The required button has to be selected. The content of the list box shown here is read from the Registry under the Radiobutton key. All keys beneath that are displayed in the drop-down list box. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCButton Radiobutton Currency selection DEM ...
98
May 2008
Controls
Scheme Listbox: A scheme of a control can be compared to a scheme of the windows desktop, where all styles and colours of the windows can be configured and this configuration can be stored under a certain name. For the controls it is similar to configure all visible values under a certain key in the registry. The Key is located at HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCButton General Scheme ... All Subkeys under Scheme determine different styles of a Button control. These Subkeys will be shown in the listbox. After a Scheme has been selected, all values from the registry will be used instead of properties selected in the various Property Pages from the Button control. Those properties will be disabled, so there is no change to mix parameter from the schemes with properties from the control. To build a new scheme there is a parameter file C:\ProTopas\Conf\ActiveX.sdf with a template set of all parameters for a scheme. This file may be used to add additional schemes in the registry. The parameters will be added to the registry by calling CCRCCONV ActiveX.sdf -b -U (see also section Parameters for Schemes on page 672) Using schemes the text properties with prefix TextLayer... are set and used. The properties Text... are not used here. If in scripts for example the property Button.Text is changed the layout from the Scheme is not used but the properties from Text... . It is better to use the Property Button.TextLayerText in script here. Sound Response: This property may be used to select between a Wave file to be started, when this button is pressed or a sound from the special electronics. The sound may be started synchronous or asynchronous. In the synchronous mode, the next page will be loaded, when the sound has finished. In asynchronous mode the next page is immediately loaded and the sound continues until it is finished or it is explixit stopped by script or by an explicit key press (available for Wave files only). At the Listbox it is possible to select between the following options:
May 2008
99
The Button control - NONE - DEFAULT - WAV SYNCHRON - WAV ASYNCHRON - WAV STOP - BELL_OFF SYNC. - BELL_OFF ASYNC. - BELL_KEYPRESS SYNC. - BELL_KEYPRESS ASYNC. - BELL_EXCLAMATION SYNC. - BELL_EXCLAMATION ASYNC. - BELL_WARNING SYNC. - BELL_WARNING ASYNC. - BELL_ERROR SYNC. - BELL_ERROR ASYNC. - BELL_CRITICAL SYNC. - BELL_CRITICAL ASYNC. - BELL_KEYPRESS_CONTINUOUS SYNC. - BELL_KEYPRESS_CONTINUOUS ASYNC. - BELL_EXCLAMATION_CONTINUOUS SYNC. - BELL_EXCLAMATION_CONTINUOUS ASYNC. - BELL_WARNING_CONTINUOUS SYNC. - BELL_WARNING_CONTINUOUS ASYNC. - BELL_ERROR_CONTINUOUS SYNC. - BELL_ERROR_CONTINUOUS ASYNC. - BELL_CRITICAL_CONTINUOUS SYNC. - BELL_CRITICAL_CONTINUOUS ASYNC.
Controls
... Button: When WAV SYNCHRON or WAV ASYNCHRON is selected the ... Button for the selection of the Sound file is enabled. If Default is selected, the appropriate AudioResponse Parameter (see "AudioResponse" on page 651 in the Parameters chapter) is used. The output field displays a string, which is build in the same manner, as the AudioResponse parameter is filled.
100
May 2008
Controls
Text layer Listbox: It is possible to create different captions on top of the others. So one text can be left justified and the other right justified. Or one line can appear red and the other blue, etc. To enable this , for each of the different formatted texts one layer has to be created. With this listbox, the layer is selected, which shall be edited and formatted. Add button: To add a new layer this button has to be pressed once. The number of layers to be created is not restriced. Remove button: If more than one layer has been created with this button the actual layer may be removed. All the following layer numbers are substracted by 1 in this case. Caption Input field: The caption to appear on the button is entered in this text box. Multiple lines can be input here. <Ctrl> and <Enter> have to be pressed simultaneously to get to a new line. Variable names can also be edited here, and these are then replaced by the HTML generator (see also Inserting a variable in a control on page 288).
May 2008
101
Controls
colour active: Three fields define the colour setting for the caption on an active button. default check box: If this check box is activated, the colour of the caption on an active button is read from the TextColour parameter at runtime (see "TextColour" on page 653 in the Parameters chapter). The ... button (standard colour dialog) and the input field for the colour cannot be selected, if this check box is activated. The value to be stored in TextColour can be ascertained by calling the standard colour dialog here once and selecting a colour. The colour is then output as a numeric value in the input field for the colour and can be read there. Input field for the colour: A numeric value can be input here to define a colour. However it is better to use the standard colour dialog to select a colour. The value for the selected colour is then entered here automatically. Selecting the Font button causes the text colour defined there to be entered in this field. Any font colour that had been defined beforehand in the standard colour dialog is overwritten by this one. It is better to select the font first and then the colour if a special colour outside the 16 basic colours is required. ... button (standard colour dialog): Pressing this button opens the following standard colour dialog. Refer to the Windows NT Online Help for a description of the options in this dialog. This dialog can also be called when selecting colours for the Windows NT Desktop.
102
May 2008
Controls
Fig. 29: Standard colour dialog
colour inactive: The same three fields are used to define the colour of a caption on an inactive (disabled) button as for an active button. If the default check box is activated, the colour is read from the TextColourDisabled parameter at runtime (see "TextColourDisabled" on page 654 in the Parameters chapter). The following fields define the position of the button caption: X pos: The X position of the caption is specified in pixels in this input field. The origin is the top left corner of the loaded image. The distance from the left edge is specified here. centered, Left, Right radio buttons: Depending on the selected radio button the caption is eighter horizontally left or right justified or horizontally centered. The X pos contains the number of pixels from the left or right border of the control or it is disabled, if the caption shall be horizontally centered. Y pos: The Y position of the caption is specified in pixels in this input field. The origin is the top left corner of the loaded image. The distance from the top edge is specified here.
May 2008
103
Controls
centered check box: If this check box is activated, the caption is centered vertically. The Y pos input field cannot be selected if this check box is activated. default check box: If this check box is activated, the position settings for the caption are read from the following parameters at runtime: TextAlignX corresponding to X pos (see "TextAlignX" on page 654 in the Parameters chapter) TextAlignY corresponding to Y pos (see "TextAlignY" on page 654 in the Parameters chapter) TextCenterX corresponding to centered for X pos (see "TextCenterX" on page 654 in the Parameters chapter) TextCenterY corresponding to centered for Y pos (see "TextCenterY" on page 655 in the Parameters chapter) Font button: The font size is defined by opening the standard font dialog. This is only available if the default check box has not been activated. The standard font dialog looks like this:
Fig. 30: Standard font dialog
Refer to the Windows NT Online Help for a description of the options in this dialog. This dialog is used, for instance, in the Notepad editor to define the font.
104
May 2008
Controls
default check box: If the default check box is activated, the Font button cannot be selected. In this case, the font and the font settings are read from the following parameters at runtime: TextFont corresponding to Font (see "TextFont" on page 653 in the Parameters chapter) TextSize corresponding to Size (see "TextSize" on page 653 in the Parameters chapter) TextBold corresponding to Bold (see "TextBold" on page 655 in the Parameters chapter) TextItalic corresponding to Italic (see "TextItalic" on page 655 in the Parameters chapter) TextStrikeout corresponding to Strikeout (see "TextStrikeout" on page 669 in the Parameters chapter) TextUnderline corresponding to Underline (see "TextUnderline" on page 655 in the Parameters chapter)
Button up: The image that describes the button in its up state is entered here.
May 2008
105
Controls
... button: This button calls a standard file opening dialog which is not explained here. The designer can select the required image. The name of the image and the complete path are entered in the Button up input field. Use relative paths: To move complete Webs without conversion it is far better to use relative paths for images. The images could, for example, be stored in a subdirectory which is accessed relatively by means of .\Images\.... Accordingly, when an image name has been defined in the Button up input field, the path has to be changed from absolute to relative. The Button control itself cannot enter a relative path because it is unclear where the relative base address begins. Displaying images at the editing workstation: Generally the images will be stored at the same place as the Internet pages, i.e. on an intranet server. To make the control images visible in Microsoft FrontPage, however, they have to be made accessible locally or on a network. The FrontPageImagePath parameter (see "FrontPageImagePath" on page 635 in the Parameters chapter) has to be set to the appropriate path on the development system. Unfortunately this has to be done because there is no way in the current Microsoft programming environment of loading images that are to appear in controls over the Internet. Button up input field: The name and path of the image file can be entered manually here if they are known. default: check box: The image file name cannot be input if this check box is activated. Instead, the image is read from the ImageUp parameter (see "ImageUp" on page 652 in the Parameters chapter). By changing this parameter it is therefore possible to give a different appearance in one go to all buttons that have been set to default. Button down: The image that describes the button in its down state is entered here. When the button is pressed, the image changes from Button up to Button down and back to Button up. The ... button, the Button down input field and the default check box are identical to the equivalent options for Button up. The parameter that is evaluated for the image when the default check box is activated is named ImageDown (see "ImageDown" on page 652 in the Parameters chapter).
106
May 2008
Controls
Button disabled: The image that describes the button in its disabled state is entered here. This image is only displayed if the State group of radio buttons on the General 1 page has been set to Button disabled. A Transaction FW class can also disable a button. The ... button, the Button disabled input field and the default check box are identical to the equivalent options for Button up. The parameter that is evaluated for the image when the default check box is activated is named ImageDisabled (see "ImageDisabled" on page 653 in the Parameters chapter). Button pressed: The image that describes the button in its pressed state is entered here. This image is only displayed if Toggle lock on the General 1 page has been set to yes and the button is pressed. Pressing the button again brings back the image for Button up. The ... button, the Button pressed input field and the default check box are identical to the equivalent options for Button up. The parameter that is evaluated for the image when the default check box is activated is named ImagePressed (see "ImagePressed" on page 653 in the Parameters chapter).
May 2008
107
Controls
Icon for the active button (up/down/pressed): A coloured image that is to appear on the button can be specified here. ...: button: This button calls a standard file opening dialog which is not explained here. The designer can select the required image. The name of the image and the complete path are entered in the Icon for the active button input field. To move complete Webs without conversion it is far better to use relative paths for images. The images could, for example, be stored in a subdirectory which is accessed relatively by means of .\Images\.... Accordingly, when an image name has been defined in the Icon for the active button input field, the path has to be changed from absolute to relative. The Button control itself cannot enter a relative path because it is unclear where the relative base address begins. Icon for the active button input field: The name and path of the image file can be entered manually here if they are known. Icon for the disabled button: A grayed image can be entered for an icon here. This image is only displayed if the State group of radio buttons on the General 1 page has been set to disabled or if the application has disabled the button.
108
May 2008
Controls
The ... button and the Icon for the disabled button input field are identical to the equivalent options for Icon for the active button (up/down/pressed). X position: The X position of the icon is specified in pixels in this input field. The origin is the top left corner of the button image. The distance from the left edge is specified here. centered check box: If this check box is activated, the icon is centered horizontally. The X position input field cannot be selected if this check box is activated. Y position: The Y position of the icon is specified in pixels in this input field. The origin is the top left corner of the button image. The distance from the top edge is specified here. centered check box: If this check box is activated, the icon is centered vertically. The Y position input field cannot be selected if this check box is activated.
Property Scheme
Range String
Meaning/Reference Scheme (see also section Button control General 3 page on page 99) Button up graphic (see also section Button control Graphic page on page 105)
ImageUp
String
May 2008
109
Controls
Property Icon
Range String
Meaning/Reference Icon for the active button (up/down/pressed) (see also section Button control - Icon page on page 108) Button down graphic (see also section Button control Graphic page on page 105) Button pressed graphic (see also section Button control Graphic page on page 105) Button disabled graphic (see also section Button control Graphic page on page 105) Icon for the disabled button (see also section Button control - Icon page on page 108) Use of default graphic (see also section Button control Graphic page on page 106) Use of default graphic (see also section Button control Graphic page on page 106)
ImageDown
String
ImagePressed
String
ImageDisabled
String
IconDisabled
String
ImageUpDefault
0: do not use default graphic 1 (default): Use default graphic from registry 0: do not use default graphic 1 (default): Use default graphic from registry
ImagePressedDefault
110
May 2008
Controls
Property ImageDownDefault
Range 0: do not use default graphic 1 (default): Use default graphic from registry 0: do not use default graphic 1 (default): Use default graphic from registry 0 - 32787 (default is 5)
Meaning/Reference Use of default graphic (see also section Button control Graphic page on page 107) Use of default graphic (see also section Button control Graphic page on page 107) X-position of icon on a button (see also section Button control - Icon page on page 109) Y-position of icon on a button (see also section Button control - Icon page on page 109) Possibility to center icon in x direction (see also section Button control - Icon page on page 109) Possibility to center icon in y direction (see also section Button control - Icon page on page 109) Unique ID of Button (see also section Button control General 2 page for function keys on page 86)
ImageDisabledDefault
IconAlignX
IconAlignY
0 - 32787 (default is 5)
IconXCentered
IconYCentered
FieldID
0 - 32787
May 2008
111
Controls
Property Href
Range String
Meaning/Reference HTML page to navigate to when button is pressed (see also section Button control General 2 page for selection buttons on page 92) State of button (see also section Button control - General 1 page on page 84) Viewstate during runtine, if variable is available. This property weights more than ViewState (see also section Hiding controls with Viewstate variables on page 274) Connected softkey (see also section Button control - General 2 page for function keys on page 86)
ViewState
0 (default): Button up 1: Button pressed 2: Button disabled 3: Button hidden String, created automatically: [#Var_FunctionValue_ Viewstate_s#]
RTViewState
Softkey
F1 (default) - F8, 0 - 9, L, R, Cancel, Confirm, Correct, Help, Print, none 0: do not use 1 (default): Functionkey 2: Selection Button 3: Radio Button
Selection
Type of Button (see also section Button control - General 1 page on page 81)
112
May 2008
Controls
Property HTMLStepSwitch
Meaning/Reference Selection of button action (see also section Button control General 2 page for selection buttons on page 92) User defined name of button, read from the registry. Used to locate FunctionValue from registry (see also section Button control General 2 page for function keys on page 85) or (see also section Button control General 2 page for selection buttons on page 91) or (see also section Button control General 2 page for radio buttons on page 97) String to identify the button from the steps (see also section Button control General 2 page for function keys on page 85) not used any longer
Function
String
FunctionValue
Identification
May 2008
113
Controls
Property RadioButtonName
Range String
Meaning/Reference Selected radio Button that belongs to the radio button group (see also section Button control - General 2 page for radio buttons on page 98) not used any longer Toggle (see also section Button control General 1 page on page 83) Default checkbox for Shift in pixels. (see also section Button control General 1 page on page 84) Shift in pixels (see also section Button control General 1 page on page 84) Sound Response (see also section Button control - General 3 page on page 99) Used for showing ampersands (see also section Show an ampersand (&) in Caption of a control on page 194)
ChipCard HoldPressedState
0 (default): do not change 0: no 1: yes 2 (default): default 0: Do not read from registry 1 (default): read from registry 0 - 32787 (default is 3)
PressOffsetDefault
PressOffset
AudioResponse
Predefined String (see also section Button control - General 3 page on page 99) Predefined String
AdditionalFeatures
114
May 2008
Controls
Property HtmlWindow
Meaning/Reference page to navigate to will show up in a new window (see also section Button control General 2 page for selection buttons on page 93) X coordinate for new window (see also section Button control General 2 page for selection buttons on page 94)
HTMLxPos
Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000
HTMLyPos
Y coordinate for new window (see also section Button control General 2 page for selection buttons on page 94)
HTMLWidth
Width for new window (see also section Button control General 2 page for selection buttons on page 94)
May 2008
115
Controls
Property HTMLHeight
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 String
Meaning/Reference Height for new window (see also section Button control General 2 page for selection buttons on page 94)
Text
Button caption (see also section Button control - Caption page on page 101) default checkbox for caption position (see also section Button control - Caption page on page 104) Caption X position (see also section Button control - Caption page on page 103) Caption Y position (see also section Button control - Caption page on page 103) Not used any longer X position alignment (see also section Button control Caption page on page 103)
PosXYDefault
0: enter x,y position in control 1 (default): read x,y position from registry -32788 - 32787 Default: 0
TextAlignX
TextAlignY
XCentered TextAlignXTyp
116
May 2008
Controls
Property YCentered
Meaning/Reference Y position alignment (see also section Button control Caption page on page 104) Font default check box (see also section Button control Caption page on page 105) Fontname (see also section Button control Caption page on page 104) Font code page. Please pick the right number up in a button control in Frontpage (see also section Button control Caption page on page 104) Font Size (see also section Button control Caption page on page 104) Font characteristic Bold (see also section Button control Caption page on page 104) Font characteristic Italic (see also section Button control Caption page on page 104)
FontDefault
Font
FontCodePage
TextSize
TextBold
TextItalic
May 2008
117
Controls
Property TextUnderline
Meaning/Reference Font characteristic Underline (see also section Button control Caption page on page 104) Font characteristic Strikeout (see also section Button control Caption page on page 104) Colour active default checkbox (see also section Button control Caption page on page 102) Colour disabled default checkbox (see also section Button control Caption page on page 103) Text colour for active text (see also section Button control Caption page on page 102) Text colour for inactive text (see also section Button control Caption page on page 103) Number of Text Layer (see also section Button control Caption page on page 101)
TextStrikeout
ActiveColourDefault
0: Use TextColour 1 (default): Use TextColour from registry 0: Use TextColourDisabled 1 (default): Use TextColourDisabled from registry 0 - 16777215 (default is 0)
InactiveColourDefault
TextColour
TextColourDisabled
TextLayerCount
1 - 32787 (default is 1)
Only edit the following TextLayer... properties, if TextLayoutCount is greater than 1. Use ;; as separator for each layers value.
118
May 2008
Controls
Property TextLayerText
Range String
Meaning/Reference Button caption for different layers. (see also section Button control - Caption page on page 101) default checkbox for caption position for different layers. (see also section Button control - Caption page on page 104) Caption X position for different layers. (see also section Button control - Caption page on page 103) Caption Y position for different layers. (see also section Button control - Caption page on page 103) Not used any longer X position alignment for different layers. (see also section Button control - Caption page on page 103). If shadowing efect shall be used, use TextLayerTextAlignX and TextLayerTextAlignY for shadow offset (see also section Shadowing effect of control capture on page 195).
TextLayerPosXYDefault
0: enter x,y position in control 1 (default): read x,y position from registry
TextLayerTextAlignX
TextLayerTextAlignY
TextLayerXCentered TextLayerTextAlignXTyp
-1 (default): do not change 0: left 1 (default): center 2: right 3: use this for shadowing effect
May 2008
119
Controls
Property TextLayerYCentered
Meaning/Reference Y position alignment for different layers. (see also section Button control - Caption page on page 104) Font default check box for different layers. (see also section Button control - Caption page on page 105) Fontname for different layers. (see also section Button control Caption page on page 104) Font code page for different layers. Please pick the right number up in a button control in Frontpage (see also section Button control Caption page on page 104) Font Size for different layers. (see also section Button control Caption page on page 104) Font characteristic Bold for different layers. (see also section Button control - Caption page on page 104) Font characteristic Italic for different layers. (see also section Button control - Caption page on page 104)
TextLayerFontDefault
TextLayerFont
TextLayerFontCodePage
TextLayerTextSize
TextLayerTextBold
TextLayerTextItalic
120
May 2008
Controls
Property TextLayerTextUnderline
Meaning/Reference Font characteristic Underline for different layers. (see also section Button control Caption page on page 104) Font characteristic Strikeout for different layers. (see also section Button control Caption page on page 104) Colour active default checkbox for different layers. (see also section Button control Caption page on page 102) Colour disabled default checkbox for different layers. (see also section Button control Caption page on page 103) Text colour for active text for different layers. (see also section Button control Caption page on page 102) Text colour for inactive text for different layers. (see also section Button control Caption page on page 103)
TextLayerTextStrikeout
TextLayerActiveColourDefault
0: Use TextLayerTextColour 1 (default): Use TextColour from registry 0: Use TextColourDisabled 1 (default): Use TextLayerTextColourDisabled from registry 0 - 16777215 (default is 0)
TextLayerInactiveColourDefault
TextLayerTextColour
TextLayerTextColourDisabled
May 2008
121
Controls
122
May 2008
Controls
Fig. 33: Edit control - General 1 page
Function: The function for which the input field has been implemented is selected from this list box. The ProTopas/Web-Extensions concept only allows input fields to be created for those functions which have been stored in the application. Generally, input fields will need to be post-edited or initialized. This can only be done with input fields that are known in the application. There is one fixed keyword to be selected as well: EPP control. The Edit control can act as an input control for PIN input with this selection. There are a lot of properties, which are not available in this case (see also section The Edit controls use for PIN input on page 139). The content of the list box shown here is read from the Registry under the Transaction key. All keys beneath that are displayed in the drop-down list box. HKEY_LOCAL_MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion ActiveX PCEdit
May 2008
123
Controls
Fieldname: All input fields which have been created for the function shown in the Function list box are displayed in this list box. In other words, the actual input field is assigned to the Edit control here. The content of the list box shown here is read from the Registry under the Transaction/(function) key. All keys beneath that are displayed in the dropdown list box. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX PCEdit Transaction Remittance Customer name ... Seq. No.: A unique number ranging from 0 to 999 must be assigned to each Edit control in order to define the sequence of inputs. The Contents (STD/ATM) control ensures that the input focus moves from field to field. An error is written to the error log at runtime if two Edit controls have the same sequence number. Softkey: The name of the softkey next to the screen to which this input field is going to be assigned is specified in this list box. This applies to systems which do not have a touchscreen but do have softkeys next to the screen. The arrangement of softkeys next to the screen is given in Fig. 22: "Positions of the softkeys". See page 86. It is not possible to configure the numerical EPP Keys 1 - 0 as Softkeys, as it appears in the Button control. Input timeout: The value that is set here defines when there should be a beep if a customer does not make an input in an input field. It is possible to select No timer or Default (see "InputTimeoutHalf" on page 664 in the Parameters chapter) in this Combobox additionally. This value does not define the time after which the timeout return code is sent to the application.
124
May 2008
Controls
The Edit control This value does not define the time after which the application returns to the welcome loop with a message.
Check: The items in this area define the parameters for checking the input and allow the Internet page to be specified on which each individual message is output. The applicable check is linked to the input field via an entry in the Registry: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCEdit Transaction Remittance Customer name CheckRoutine = 1 Variable = VAR_INPUT_PAYER_S When a new function is developed, a complete Registry branch has to be created for the inputs in this function. This is done under the Transaction key. The numbers of the check routine and the input variable have to be defined for each input field. In the example above, an input field for the customers name in a Remittance order has been created. The CheckRoutine parameter determines the stored check routine on the basis of a numeric value. There are a few standard routines defined, which can be used here: 1: 2: 3: 4: Alphanumeric check Numeric check Date check Amount check
In our example we are using the Alphanumeric check. In addition, the name of the input variable is stored in the Variable parameter in which the value is stored after the input (see "Input variables" on page 413). If the standard checks are inadequate, custom checks can be added (see "Input checks" on page 411). Parameter button: When this button is pressed, additional parameters can be defined specifically for the check. A new dialog page is opened, depending on the inputs (see "Standard input check dialogs" on page 427). May 2008 125
Controls
Error: All messages returned by the check routine are displayed in this list box. An Internet page has to be specified to output each message that is returned. These messages are generated in the Dialog function at design time (see "The Dialog() function" on page 423). Up to 10 messages are allowed to be generated per input check. HTML page: This is where the Internet page for the error message is specified for the message code shown in the Error list box. in new window check box: This check box has to be activated if the error message needs to be output like a popup window. If so, the size of the popup window has to be specified under Coordinates. See page 93. Coordinates button: The coordinates that are to be used for displaying the error message as a popup window are specified here. See page 93. The coordinates entered here apply in common to all errors.
126
May 2008
Controls
State of inputfield: The state of the input field when the Internet page is loaded is specified here. The various states can, however, be overridden by setting variables in the application (see "Hiding controls with Viewstate variables" on page 274). up: When the Internet page is loaded, the input field shows the image defined for the Input field up parameter on the Graphic page (see "Edit control - Graphic page" on page 129). In this state, the input field can be selected and thus activated by the customer. disabled: When the Internet page is loaded, the input field shows the image defined for the Input field disabled parameter on the Graphic page (see "Edit control - Graphic page" on page 129). In this state, the input field cannot be selected by the customer. hidden: In this state, the input field is on the page but it is hidden out of sight. Shift in pixels: This input field is used to specify the number of pixels by which the caption and the icon are shifted to the right and down when the input field is selected in order to give the impression of a pressed input field. The number of pixels depends on the design of the images. If the optical impression is conveyed that the input field protrudes about 3 pixels, 3 has to be specified here. default: If this check box is activated, the value for the shift in pixels is read from the PressOffset parameter at runtime (see "PressOffset" on page 659 in the Parameters chapter). By changing this parameter it is therefore possible to give in one action a different appearance to all input fields whose shift in pixels has been set to default. HREF for Help: This field is used to specify the name of an Internet page that is displayed at the moment when the input field is active and the Help function key is pressed. Context-sensitive Help can thus be implemented here. in new window checkbox: This check box has to be activated if the Help text needs to be output like a popup window. If so, the size of the popup window has to be specified in Coordinates. See page 93. Coordinates button: The coordinates that are to be used for displaying Help as a popup window are specified here. See page 93. Confirm input check box: If this check box is activated, the input must be confirmed. Both the <Enter> key on the alphanumeric keyboard and the <Confirm> button on the screen or on the Encrypted PIN Pad (EPP) can be
May 2008
127
Controls
used to confirm the input. If this check box is not activated, control passes automatically to the next input field when the maximum number of characters is reached. Beep at the end of input check box: This check box can only be activated if the Confirm input check box has been activated. In this case, a beep is output when the maximum number of characters in the input field has been reached. Cursor position at the end check box: This check box has to be activated if the caret is to be placed at the end of the input if a field is selected again. Instruction hint: An operating hint can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. Consequently a specific operating hint can be displayed for each input field. The operating hint appears at that point on the Internet page which is identified by the HTML tag <p id="SubHeader">.
128
May 2008
Controls
The description of this page is identical to that of the General 3 page in the Button control (see "Button control - General 3 page" on page 98).
The description of this page is identical to that of the Caption page in the Button control (see "Button control - Caption page" on page 101).
May 2008
129
Controls
Input field up: The image that describes the input field in its up state is entered here. ...: button: This button calls a standard file opening dialog which is not explained here. The designer can select the required image. The name of the image and the complete path are entered in the Input field up input field. To move complete Webs without conversion it is far better to use relative paths for images. The images could, for example, be stored in a subdirectory which is accessed relatively by means of .\Images\.... Accordingly, when an image name has been defined in the input field, the path has to be changed from absolute to relative. The Edit control itself cannot enter a relative path because it is unclear where the relative base address begins. Input field up: The name and path of the image file can be entered manually here if they are known. default check box: The name of the image file cannot be entered if this check box is activated. Instead, the image is read from the ImageUp parameter (see "ImageUp" on page 658 in the Parameters chapter). By changing this parameter it is therefore possible to give a different appearance in one action to all input fields that have been set to default.
130
May 2008
Controls
Input field pressed: The image that describes the input field in its pressed state is entered here. In this case, the caret is visible in the input field and the customer can enter data. The ... button, the Input field pressed input field and the default check box are identical to the equivalent options for Input field up. The parameter that is evaluated for the image when the default check box is activated is named ImagePressed (see "ImagePressed" on page 658 in the Parameters chapter). Input field disabled: The image that describes the input field in its disabled state is entered here. This image is only displayed if the State group of radio buttons on the General 2 page has been set to disabled. An application can also disable an input field. The ... button, the Input field disabled input field and the default check box are identical to the equivalent options for Input field up. The parameter that is evaluated when the default check box is activated is named ImageDisabled (see "ImageDisabled" on page 658 in the Parameters chapter).
May 2008
131
Controls
Input orientation: This group of radio buttons controls the positioning of the caret in an empty input field. right-justified: The caret is located at the right end of the input field. Each character that is input appears to the right of the caret initially. Entering a new character shifts the previous ones to the left. left-justified: At the beginning, the caret is located at the left end of the input field. Each character that is input appears to the right of the caret and shifts the caret further to the right. centered: At the beginning, the caret is located at the center of the input field. Each character that is input appears to the right of the caret and shifts the caret slightly to the right. All previous characters are shifted slightly to the left so that the character that has just been input is always placed at the center of the input field. Input limits max. chars: The maximum number of characters is defined in this input field. This figure must be geared to the selected font size. If not all characters will fit into the input field at the selected font size, there is a beep and the maximum number of characters cannot be reached.
132
May 2008
Controls
The maximum number of characters is entered in the variable (Name-ofInput-Variable)_MAXCHARS_L when the Internet page is loaded. This means the check function (see "The Check() function" on page 424) can draw upon this value in order to output detailed error messages if the conversion of umlauts causes the maximum number of characters to be exceeded. Input limits max. lines: The maximum number of lines is defined in this input field. This figure must be geared to the selected font size. If not all lines will fit into the input field at the selected font size, confirmation causes the input field to be exited before the maximum number of lines is reached. Input range: The size and position of the input field are defined in the following input fields: X pos: The X position of the input range is specified in pixels in this input field. The origin is the top left corner of the Edit control. The distance from the left edge is specified here. Y pos: The Y position of the input range is specified in pixels in this input field. The origin is the top left corner of the Edit control. The distance from the top edge is specified here. Width: The width of the input range is entered in pixels here. Height: The height of the input range is entered in pixels here. default check box: If this check box is activated, the size and position of the input field are read from the following parameters at runtime: InputAlignX corresponding to X pos (see "InputAlignX" on page 662 in the Parameters chapter) InputAlignY corresponding to Y pos (see "InputAlignY" on page 662 in the Parameters chapter) InputWidth corresponding to Width (see "InputWidth" on page 663 in the Parameters chapter) InputHeight corresponding to Height (see "InputHeight" on page 663 in the Parameters chapter) Dont display preliminary input: Any content of the input variable will not be displayed, when this checkbox is checked. The input variable, the unformatted input variable, the input status variable, the variable for the maximum numbers of input characters and the error counter variable will be reset, too. Another way not to show the content of an input variable is to initialize the input variable and unformatted input variable in the application with a null string and leave this property unchecked.
May 2008
133
Controls
Font colour for active: Three fields define the colour setting for the font. default check box: If this check box is activated, the font colour is read from the InputColour parameter at runtime (see "InputColour" on page 662 in the Parameters chapter). The Standard colour dialog button and the input field for the colour cannot be selected if this check box is activated. The value to be stored in InputColour can be ascertained by calling the standard colour dialog here once and selecting a colour. The colour is then output as a numeric value in the input field for the colour for active and can be read there. Input field for colour: A numeric value can be input here to define a colour. However it is better to use the standard colour dialog to select a colour. The value for the selected colour is then entered here automatically. Selecting the Font button causes the text colour defined there to be entered in this field. Any font colour that had been defined beforehand in the standard colour dialog is overwritten by this one. It is better to select the font first and then the colour if a special colour outside the 16 basic colours is required. ... button (standard colour dialog): Pressing this button opens the standard colour dialog (Fig. 29: "Standard colour dialog"). See page 103. Refer to the Windows NT Online Help for a description of the options in this dialog. This dialog can also be called when selecting colours for the Windows NT Desktop. Font colour for inactive: The same three fields are used to define the font colour for a inactive (disabled) input field as for an active one. If the default check box is activated, the colour is read from the InputColourDisabled parameter at runtime (see "InputColourDisabled" on page 662 in the Parameters chapter). DF (Direct Format) Checkbox: If the input shall be formatted directly during input, please check this box. The Button Direct format will be activated then. Direct format may be used for amount input or date input, to show the separator characters directly during, while the customer does not have to type it in, e.g. Direct format button: By pressing this button the property page Direct Format is activated, to configure the type of each character of the input field. In this property page, the table at the top shows one column for each input character. To change the settings for a special character, its
134
May 2008
Controls
column has to be activated with the mouse. With the properties under the table, the highlighted character will be configured. The lines in the table have the following meanings: 1. Pre-allocation character or RealTime, which means, character is shown, when page is loaded. 2. Character is writeable or not, which means Edit or No Edit. 3. Visible At input or Always. 4. Permitted characters (All, Numeric, Alpha or self-defined characterset). 5. Character transformation (None, Uppercase, Lowercase). 6. Pre-allocation selected from the Pre-allocation Listbox, from the Special Listbox or None.
Fig. 39: Edit control - Direct format
Writeable: In this radiobuttons it is specified, if the character may be overridden, or if the caret passes this character. Normally these buttons are disabled, which means, the character is writeable. If any predefined Pre-allocation from the drop-down list is set, this field is activated. Now there is the option to switch this character to not writeable, which means, during input the character may not be overridden. The caret jumps automatically to the next writeable character. May 2008 135
Controls
No: During input the caret jumps automatically to the next writeable character. Visible: These radiobuttons specify, if a Pre-allocated character shall be visible, when the page is loaded or if it should be shown, when the character beneath this character has been typed in. So these radiobuttons are disabled. They will be enabled, when a Pre-allocation is specified. At input: This radiobutton means, that the pre-allocated character shall be displayed, when the character beneath this character has been typed in. Always: The pre-allocated character is shown, when the page is loaded. Character transformation: It may be specified here, if Alpha characters are directly set to Uppercase or Lowercase. None: No transformation is done. Character stays as it is. Uppercase: Alpha characters are set to Uppercase, directly after typing the character in. Lowercase: Alpha characters are set to Lowercase, directly after typing the character in. Pre-allocation: This field contains an edit field to specify any sign, which should be displayed at the current character position and a listbox with predefined signs. If an item from the listbox is selected, the input field is disabled. It is only possible to enter a sign in the edit field, if None in the listbox is selected. The following items may be choosen from the listbox: None Date separator Time separator Decimal symbol Digit grouping symbol Currency symbol
136
May 2008
Controls
All these symbols are chosen from the actual language specific settings in the HTML-Generator (see also section Formatting settings on page 288). Permitted characters: In this combobox it can be chosen, if all Alpha characters, Numeric characters or All characters may be edited. This field is only active, if no Pre-allocation is set. Additionally every possible permitted character at this position can be entered in this combobox directly. Special: In this Listbox Amount Entry DDC may be selected. This format must be set at the position of the decimal sign. Amount entry for DDC means, that first the entered numerical values are displayed from the right to the left. If the separator sign is pressed the next numerical values are treated as post separator digits. They are displayed from the left to the right. All other properties are disabled when Amount Entry DDC is chosen. Clear all button: This button resets the complete table, which means the direct format for the complete input string. Font button: The font size for the input is defined by opening the standard font dialog. This is only available if the default check box has not been activated (see Fig. 30: "Standard font dialog"). Refer to the Windows NT Online Help for a description of the options in this dialog. This dialog is used, for instance, in the Notepad editor to define the font. default check box: If the default check box is activated, the Font button cannot be selected. In this case, the font and the font settings are read from the following parameters at runtime: InputFont corresponding to Font (see "InputFont" on page 661 in the Parameters chapter) InputSize corresponding to Size (see "InputSize" on page 662 in the Parameters chapter) InputBold corresponding to Bold (see "InputBold" on page 663 in the Parameters chapter) InputItalic corresponding to Italic (see "InputItalic" on page 663 in the Parameters chapter) InputStrikeout corresponding to Strikeout (see "InputStrikeout" on page 664 in the Parameters chapter) InputUnderline corresponding to Underline (see "InputUnderline" on page 663 in the Parameters chapter)
May 2008
137
Controls
The description of this page is identical to that of the Icon page in the Button control (see "Button control - Icon page" on page 107).
138
May 2008
Controls
Beep at input of not allowed character: If this checkbox is checked, at every attempt to enter a not allowed character the system beeps. Not allowed character table: Every character which may not be entered via the keyboards must be checked on this property page.
May 2008
139
Controls
140
May 2008
Controls
May 2008
141
Controls
142
May 2008
Controls
May 2008
143
Controls
144
May 2008
Controls
May 2008
145
The Edit controls use for PIN input <param name="AdditionalFeatures" value= "WX_INPUT_FLAG_ACTASPASSWORDFIELD">
Controls
content of the property. Any separator is optional, the control is checking the keyword.
Example: Property AdditionalFeatures of the input field: <param name="AdditionalFeatures" value= "WX_INPUT_FLAG_ACTASPASSWORDFIELD WX_INPUT_FLAG_HIDECARET">
keyword.
Example: Property AdditionalFeatures of the input field: <param name="AdditionalFeatures" value= "WX_INPUT_FLAG_CHECKMAXCHARONEPP">
146
May 2008
Controls
content of the property. Any separator is optional, the control is checking the keyword.
Example: Property AdditionalFeatures of the input field: <param name="AdditionalFeatures" value= "WX_CHECK_DELETEONERROR">
Property Scheme
Range String
Meaning/Reference Scheme (see also section Button control General 3 page on page 99) Input field up graphic (see also section Edit control - Graphic page on page 130)
ImageUp
String
May 2008
147
Controls
Property IconUp
Range String
Meaning/Reference Icon for the active input field (up/pressed) (see also section Button control - Icon page on page 108) Input field pressed graphic (see also section Edit control - Graphic page on page 131) Input field disabled graphic (see also section Edit control - Graphic page on page 131) Icon for the disabled input field (see also section Button control - Icon page on page 108) List of ASCII codes of selected (forbidden) characters with syntax :nnnnn, where nnnnn is the ASCII code with leading zeroes (see also section Edit control - Not allowed character page on page 139) Beep when pressing a not allowed character (see also section Edit control - Not allowed character page on page 139)
ImagePressed
String
ImageDisabled
String
IconDisabled
String
ForbiddenLetter
BeepAtForbiddenLetterInput
148
May 2008
Controls
Property PreliminaryInputForbidden
Range 0 (default): Input variables will not be reset 1: Reset of Input variable at page load String
Meaning/Reference Checkbox Dont display preliminary input (see also section Edit control - Input page on page 133) Name of transaction this field is used in. Is reference to registry entry (see also section Edit control - General 1 page on page 123) Fieldname in this transaction. Is reference to registry entry (see also section Edit control General 1 page on page 124) Variable name, which is automatically read from registry under key FunctionName, FieldName (see also section Input variables on page 413) Seq. No (see also section Edit control General 1 page on page 124) Connected softkey (see also section Edit control - General 1 page on page 124) Input Timeout (see also section Edit control General 1 page on page 124)
FunctionName
FieldName
String
FieldID
FieldNumber
1 - 32787
SoftkeyValue
Timeout
May 2008
149
Controls
Property ConfirmInput
Range 0 (default): Do not confirm 1: Confirm the input 0 (default): do not beep 1: beep
Meaning/Reference Confirm input check box (see also section Edit control - General 2 page on page 127) Beep at the end of input check box (see also section Edit control General 2 page on page 128) caretposition at end (see also section Edit control - General 2 page on page 128) HTML Page to navigate to at input errors from CCCheckFW. Each input error is filled seqencial into CorrectHref0, ...Href1, ...Href2, ...(see also section Edit control General 1 page on page 126) see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0
Beep
CursorPosition
0 (default): caretposition at start 1: caretposition at end String with syntax nn:pagename like 8:Mypage.htm
CorrectHref0
see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0
150
May 2008
Controls
Property CorrectWindow0
Meaning/Reference Checkbox in a new window for CorrectHref0 (see also section Edit control General 1 page on page 126) Checkbox in a new window for CorrectHref1 (see also section Edit control General 1 page on page 126) Checkbox in a new window for CorrectHref2 (see also section Edit control General 1 page on page 126) Checkbox in a new window for CorrectHref3 (see also section Edit control General 1 page on page 126) Checkbox in a new window for CorrectHref4 (see also section Edit control General 1 page on page 126) Checkbox in a new window for CorrectHref5 (see also section Edit control General 1 page on page 126)
CorrectWindow1
CorrectWindow2
CorrectWindow3
CorrectWindow4
CorrectWindow5
May 2008
151
Controls
Property CorrectWindow6
Meaning/Reference Checkbox in a new window for CorrectHref6 (see also section Edit control General 1 page on page 126) Checkbox in a new window for CorrectHref7 (see also section Edit control General 1 page on page 126) Checkbox in a new window for CorrectHref8 (see also section Edit control General 1 page on page 126) Checkbox in a new window for CorrectHref9 (see also section Edit control General 1 page on page 126) X coordinate for correct window (see also section Button control General 2 page for selection buttons on page 94)
CorrectWindow7
CorrectWindow8
CorrectWindow9
CorrectWindowTop
Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 54)
152
May 2008
Controls
Property CorrectWindowLeft
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 44) Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 712) Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 260) 0 (default): Input field inactive 2: Input field disabled 3: Input field hidden
Meaning/Reference Y coordinate for correct window (see also section Button control General 2 page for selection buttons on page 94)
CorrectWindowWidth
Width for correct window (see also section Button control General 2 page for selection buttons on page 94)
CorrectWindowHeight
Height for correct window (see also section Button control General 2 page for selection buttons on page 94)
ViewState
State of input field (see also section Edit control - General 2 page on page 127)
May 2008
153
Controls
Property RTViewState
Range String, created automatically: [#Inputvariable(without _s)_Viewstate_S#] i.e. Input variable: DLG_INPUT_RESULT 1_S Viewstate Variable: DLG_INPUT_RESULT 1_VIEWSTATE_S 0 - 32787 (default is 3)
Meaning/Reference Viewstate during runtine, if variable is available. This property weights more than ViewState (see also section Hiding controls with Viewstate variables on page 274)
PressOffset
Shift in pixels (see also section Edit control General 2 page on page 127) Href for help (see also section Edit control General 2 page on page 127) in a new window for Href for help (see also section Edit control General 2 page on page 127) X coordinate for help window (see also section Edit control General 2 page on page 127)
HelpHref
String
HelpWindow
0 (default): show help page in current window 1: show help page in new, additional window Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 54)
HelpWindowTop
154
May 2008
Controls
Property HelpWindowLeft
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 44) Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 712) Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 260) String
Meaning/Reference Y coordinate for help window (see also section Edit control General 2 page on page 127)
HelpWindowWidth
Width for help window (see also section Edit control - General 2 page on page 127)
HelpWindowHeight
Height for help window (see also section Edit control - General 2 page on page 127)
Instruction
Instruction hint (see also section Edit control - General 2 page on page 128) Sound Response (see also section Button control - General 3 page on page 99)
AudioResponse
Predefined String (see also section Button control - General 3 page on page 99)
May 2008
155
Controls
Range String 0: enter x,y position in control 1 (default): read x,y position from registry 0 - 32787 (default is 19)
Meaning/Reference Caption text default checkbox for caption position (see also section Button control - Caption page on page 104) Caption X position (see also section Button control - Caption page on page 103) X position alignment (see also section Button control Caption page on page 103) Caption Y position (see also section Button control - Caption page on page 103) Not used any longer Y position alignment (see also section Button control Caption page on page 104) Font default check box (see also section Button control Caption page on page 105) Fontname (see also section Button control Caption page on page 104)
CaptionAlignX
CaptionAlignXTyp
CaptionAlignY
0 - 32787 (default is 6)
CaptionCenterX CaptionCenterY
CaptionFontDefault
CaptionFont
156
May 2008
Controls
Property CaptionSize
Meaning/Reference Font Size (see also section Button control Caption page on page 104) Font code page. Please pick the right number up in an input field in Frontpage (see also section Button control Caption page on page 104) Font characteristic Bold (see also section Button control Caption page on page 104) Font characteristic Underline (see also section Button control Caption page on page 104) Font characteristic Italic (see also section Button control Caption page on page 104) Font characteristic Strikeout (see also section Button control Caption page on page 104) Colour active default checkbox (see also section Button control Caption page on page 102)
CaptionFontCodePage
CaptionBold
CaptionUnderline
CaptionItalic
CaptionStrikeout
CaptionColourDefault
May 2008
157
Controls
Property CaptionColourDisabledDefault
Range 0: Use CaptionColourDisabled 1 (default): Use CaptionColourDisabled from registry 0 - 16777215 (default is 0)
Meaning/Reference Colour disabled default checkbox (see also section Button control Caption page on page 103) Text colour for active caption (see also section Button control Caption page on page 102) Text colour for inactive caption (see also section Button control Caption page on page 103) Input orientation (see also section Edit control - Input page on page 132) Input range X pos (see also section Edit control - Input page on page 133) Input range Y pos (see also section Edit control - Input page on page 133) Input range width (see also section Edit control - Input page on page 133) Input range height (see also section Edit control - Input page on page 133)
CaptionColour
CaptionColourDisabled
InputJustified
InputAlignX
InputAlignY
InputWidth
InputHeight
158
May 2008
Controls
Property InputLineMax
Meaning/Reference Input limits - max. lines (see also section Edit control - Input page on page 133) Input limits - max chars. If max. lines is greater than 1 this is the maximum no a chars. added from all lines (see also section Edit control - Input page on page 132) Fontname (see also section Edit control Input page on page 137) Font code page. Please pick the right number up in an input field in Frontpage (see also section Button control Caption page on page 104) Font Size (see also section Button control Caption page on page 104) Font characteristic Bold (see also section Button control Caption page on page 104) Font characteristic Underline (see also section Button control Caption page on page 104)
InputCharMax
InputFont
InputFontCodePage
InputSize
InputBold
InputUnderline
May 2008
159
Controls
Property InputItalic
Meaning/Reference Font characteristic Italic (see also section Button control Caption page on page 104) Font characteristic Strikeout (see also section Button control Caption page on page 104) Text colour for active caption (see also section Edit control Input page on page 134) Text colour for inactive caption (see also section Edit control Input page on page 134) Direct Format checkbox (see also section Edit control Input page on page 134)
InputStrikeout
InputColour
0 - 16777215 (default is 0)
InputColourDisabled
InputDirectFormatEnabled
160
May 2008
Controls
Property InputDirectFormatMask
Range CharPos1;;CharPos2;; CharPos3;;... Each CharPos consists of: Byte1 - Writable: Yes=1/No =2 Byte2 - Visible: At input=1/Always=2 Byte3 - Character transformation: None=1/Uppercase= 2/Lowercase=3 Byte4 - Special: None=1/AmountEntryDDC=2 Byte5 - Pre-allocation: None=1/Any character=2/DateSeparator=3/TimeSeparator=4/DecimalSymbol= 5/DigitGroupingSymbol=6/CurrencySymbol=7 Byte6 - Permitted characters: if Byte5=2 it contains the character, else Not used=0/All= 1/Numeric=2/Alpha= 3/AnyCharacters=9 Byte7 - If Byte5=2it contains a 0, else it contains first character from Permitted characters Byte8 - ByteX: More Permitted characters [#VAR_PCDIALOG_R T_SEPARATORS_S;;# ]
Meaning/Reference Direct format (see also section Edit control Input page on page 134) Please notice that not any combination of Byte settings is allowed. It is best to create the string in the property page.
InputDirectFormatRTSeparators
May 2008
161
Controls
Property IconAlignX
Meaning/Reference X-position of icon on an input field (see also section Button control Icon page on page 109) Y-position of icon on an input field (see also section Button control Icon page on page 109) Possibility to center icon in x direction (see also section Button control - Icon page on page 109) Possibility to center icon in y direction (see also section Button control - Icon page on page 109) Default checkbox for Shift in pixels. (see also section Edit control General 2 page on page 127) Input range default (see also section Edit control - Input page on page 133) Font button, default check box (see also section Edit control Input page on page 137)
IconAlignY
0 - 32787 (default is 0)
IconCenterX
IconCenterY
PressOffsetDefault
0: Do not read from registry 1 (default): read from registry 0: Do not read from registry 1 (default): read from registry 0: Do not read from registry 1 (default): read from registry
InputAreaDefault
InputFontDefault
162
May 2008
Controls
Property InputColourDefault
Meaning/Reference Colour active default checkbox (see also section Edit control Input page on page 134) Colour disabled default checkbox (see also section Edit control Input page on page 134) Input field up, default check box (see also section Edit control Graphic page on page 130) Input field pressed, default check box (see also section Edit control - Graphic page on page 131) Input field disabled, default check box (see also section Edit control - Graphic page on page 131) Number of the check routine (see also section Standard input check dialogs on page 427) Parameter from the check routines (see also section The Dialog() function on page 423)
InputColourDisabledDefault
0: Use InputColourDisabled 1 (default): Use InputColourDisabled from registry 0: Use Input field up graphic 1 (default): Use graphic read from registry 0: Use Input field pressed graphic 1 (default): Use graphic read from registry 0: Use Input field disabled graphic 1 (default): Use graphic read from registry 0: No Check 1: Alphanumeric check 2: Numeric check 3: Date check 4: Amount check Depending on the check routine. Filled during design time from CCCheckfw.dll. Please pick it up in Frontpage
ImageUpDefault
ImagePressedDefault
ImageDisabledDefault
CheckRoutine
CheckParameter
May 2008
163
Controls
Property CheckDependencies
Range Depending on the check routine. Filled during design time from CCCheckfw.dll. Please pick it up in Frontpage Predefined Strings
Meaning/Reference Parameter from the check routines (see also section The Dialog() function on page 423) Used for showing ampersands (see also section Show an ampersand (&) in Caption of a control on page 194), Masked Edit (see also section Masked edit for standard edit control on page 145), hiding of the caret (see also section Hide the caret in standard edit control on page 146), check of maximum characters press on EPP (see also section Check max. chars for EPP keyboard on page 146) Number of Text Layer (see also section Button control Caption page on page 101)
AdditionalFeatures
TextLayerCount
1 - 32787 (default is 1)
Only edit the following TextLayer... properties, if TextLayoutCount is greater than 1. Use ;; as separator for each layers value. TextLayerText String Headline text for different layers. (see also section Button control - Caption page on page 101)
164
May 2008
Controls
Property TextLayerPosXYDefault
Range 0: enter x,y position in control 1 (default): read x,y position from registry
Meaning/Reference default checkbox for caption position for different layers. (see also section Button control - Caption page on page 104) Caption X position for different layers. (see also section Button control - Caption page on page 103) Caption Y position for different layers. (see also section Button control - Caption page on page 103) Not used any longer X position alignment for different layers. (see also section Button control - Caption page on page 103) Y position alignment for different layers. (see also section Button control - Caption page on page 104) Font default check box for different layers. (see also section Button control - Caption page on page 105)
TextLayerTextAlignX
TextLayerTextAlignY
TextLayerXCentered TextLayerTextAlignXTyp
TextLayerYCentered
TextLayerFontDefault
May 2008
165
Controls
Property TextLayerFont
Meaning/Reference Fontname for different layers. (see also section Button control Caption page on page 104) Font code page for different layers. Please pick the right number up in a button control in Frontpage (see also section Button control Caption page on page 104) Font Size for different layers. (see also section Button control Caption page on page 104) Font characteristic Bold for different layers. (see also section Button control - Caption page on page 104) Font characteristic Italic for different layers. (see also section Button control - Caption page on page 104) Font characteristic Underline for different layers. (see also section Button control Caption page on page 104)
TextLayerFontCodePage
TextLayerTextSize
TextLayerTextBold
TextLayerTextItalic
TextLayerTextUnderline
166
May 2008
Controls
Property TextLayerTextStrikeout
Meaning/Reference Font characteristic Strikeout for different layers. (see also section Button control Caption page on page 104) Colour active default checkbox for different layers. (see also section Button control Caption page on page 102) Colour disabled default checkbox for different layers. (see also section Button control Caption page on page 103) Text colour for active text for different layers. (see also section Button control Caption page on page 102) Text colour for inactive text for different layers. (see also section Button control Caption page on page 103)
TextLayerActiveColourDefault
0: Use TextLayerTextColour 1 (default): Use TextColour from registry 0: Use TextColourDisabled 1 (default): Use TextLayerTextColourDisabled from registry 0 - 16777215 (default is 0)
TextLayerInactiveColourDefault
TextLayerTextColour
TextLayerTextColourDisabled
May 2008
167
Controls
This control should be used whenever it is necessary to select an item from a fairly long list. If the choice relates to just a few items, it is possible to use a group of radio buttons (see "Button control - General 1 page" on page 81). A standing order input form will act as an example here. The Paying turn (repayment cycle) and Execution on fields have been designed as List controls. When one of these buttons is pressed, a new Internet page pops up, and the customer has to make a choice on it.
Fig. 48: List controls - not active
168
May 2008
Controls
Function: The function for which the list box has been implemented is selected from this list box. The ProTopas/Web-Extensions concept only allows list boxes to be created for those functions which have been stored in the application. Generally, the selected list item will need to be post-edited or initialized. This can only be done with list boxes that are known in the application. The content of the list box shown here is read from the Registry under the Transaction key. All keys beneath that are displayed in the drop-down list box. HKEY_LOCAL_MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion
May 2008
169
The List control ActiveX PCList Transaction International remittance order ...
Controls
Fieldname: All input fields which have been created for the function shown in the Function list box are displayed in this list box. In other words, the actual list box is assigned to the List control here. The content of the list box shown here is read from the Registry under the Transaction/(function) key. All keys beneath that are displayed in the dropdown list box. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCList Transaction International remittance order Currency code ... Seq. No.: A unique number ranging from 0 to 999 must be assigned to each List control in order to define the sequence of inputs. This sequence number must fit in the sequence numbers of the Edit controls on the current page. The List control can take on the appearance of an Edit control, and is integrated in the input field sequence control. The Contents (STD/ATM) control ensures that the input focus moves from field to field. An error is written to the error log, if two List controls or one Edit and one List control have the same sequence number. Softkey: The name of the softkey next to the screen to which this list box is going to be assigned is specified in this list box. This applies to systems which do not have a touchscreen but do have softkeys next to the screen. The arrangement of softkeys next to the screen is given in Fig. 22: "Positions of the softkeys". See page 86. It is not possible to configure the numerical EPP Keys 1 - 0 as Softkeys, as it appears in the Button control. HTML page: The Internet page to be loaded automatically in its own window when the list box is selected is specified here. Standard HTML resources, such as a database query, can be used on this page to display a list from which the customer has to make a choice.
170
May 2008
Controls
The value that is selected in the popup Internet page has to be entered in the VAR_PCLIST_VALUE_S variable. When the popup browser instance is closed, the value stored in this variable is entered in the input variable named Variable as a Registry parameter: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCList Transaction International remittance order Currency code Variable = VAR_CURRENCY_S In this way the same Internet page can be used for different but similar choices in different functions. If a different value has to be output in the List controls output field from the one entered in the variable, the value in question can be assigned to any variable. Generally, the value selected by the customer on the popup Internet page should also be output in the List controls output field. However, it may be necessary for an unformatted value to be stored in the input variable for further processing later (e.g. displaying the day of the week as Monday, Tuesday etc. and storing the data in input variables 1, 2 etc.). The following syntax must be used in the Output text box of the Output page: [& Name of PC variable ; Formatting of PC variable; Default value of PC variable &] Name of PC variable: The name of the variable to be displayed is entered here. Array variables are possible, too. To enter the index, the index must be surrounded by [ ] (example: MyArray[index]). Formatting of PC variable: (see "SNI_PC_VARIABLE WebBot" on page 284) Default value of PC variable: A default value for the field can be specified here. This default is displayed, if the variable does not exist. The syntax is similar to the one for variables that are replaced by the HTML generator. The difference is that the identifiers begin with [& instead of [# (see "SNI_PC_VARIABLE WebBot" on page 284). As soon as the choice page is closed, the List control updates the variable in the output field. This makes sure that the value selected by the customer is available directly in the List control.
May 2008
171
Controls
in a new window check box: This check box is always activated because the list box should always open the new page in a window of its own. Coordinates button: This opens a dialog to specify the coordinates for displaying the Internet page as a popup window. See page 93.
172
May 2008
Controls
State of the inputfield: The state of the List control upon loading of the Internet page is configured here. However, these states can be overridden by the setting of variables in the application (see "Hiding controls with Viewstate variables" on page 274). up: When the page is loaded, the List control shows the image defined for the List field up parameter on the Graphic page (see "List control Graphic page" on page 177). In this state, the List control can be selected and thus activated by the customer. disabled: When the page is loaded, the List control shows the image defined for the List field disabled parameter on the Graphic page (see "List control - Graphic page" on page 177). In this state, the List control cannot be selected by the customer. hidden: In this state, the List control is on the page but is hidden from sight.
May 2008
173
Controls
Shift in pixel: This input field is used to specify the number of pixels by which the caption and the icon are shifted to the right and down when the list control is selected in order to give the impression of a pressed control. The number of pixels depends on the design of the images. If the optical impression is conveyed that the input field protrudes about 3 pixels, 3 has to be specified here. default: If this check box is activated, the value of the shift in pixel is read from the PressOffset parameter at runtime (see "PressOffset" on page 666 in the Parameters chapter). By changing this parameter it is therefore possible to give a different appearance in one action to all list boxes whose shift in pixel has been set to default. Instruction hint: An operating hint can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. Consequently a specific operating hint can be displayed for each list control. The operating hint appears at that point on the Internet page which is identified by the HTML tag <p id="SubHeader">.
174
May 2008
Controls
Fig. 52: Listcontrol - General 3 page
The description of this page is identical to that of the General 3 page in the Button control (see "Button control - General 3 page" on page 98).
May 2008
175
Controls
The description of this page is identical to that of the Caption page in the Button control (see "Button control - Caption page" on page 101).
176
May 2008
Controls
The description of this page is identical to that of the Graphic page in the Edit control (see "Edit control - Graphic page" on page 129).
May 2008
177
Controls
Output: The variable text for the content of the selected List control is entered in this text box. Generally, a variable is input here which has to be filled on the Internet page that is opened when the List control is activated (see "Inserting a variable in a control" on page 288). Multiple lines can be input here. <Ctrl> and <Enter> have to be pressed simultaneously to get to a new line. Colour active (see "Button control - Caption page" on page 101). Colour inactive (see "Button control - Caption page" on page 101). The following fields define the position of the variable text for the List control: X pos: The X position of the caption is specified in pixels in this input field. The origin is the top left corner of the loaded image. The distance from the left edge is specified here.
178
May 2008
Controls
The List control Centered radio button: If this radio button is activated, the caption is centered horizontally. The X pos input field cannot be selected if this radio button is activated. Left radio button: If this radio button is activated, the X pos field is not deactivated but contains the number of pixels from the left edge of the image. The text is placed to the right of this position in the field, i.e. left-justified. Right radio button: If this radio button is activated, the X pos field is not deactivated but contains the number of pixels from the left edge of the image. The text is placed to the left of this position in the field, i.e. right-justified.
Y pos: The Y position of the caption is specified in pixels in this input field. The origin is the top left corner of the loaded image. The distance from the top edge is specified here. Centered check box: If this check box is activated, the caption is centered vertically. The Y pos input field cannot be selected if this check box is activated. Checkbox default: If this check box is activated, the caption position settings are read from the following parameters at runtime: InputAlignX corresponding to X pos (see "InputAlignX" on page 670 in the Parameters chapter) InputAlignY corresponding to Y pos (see "InputAlignY" on page 670 in the Parameters chapter) InputXCentred corresponding to the Centered, Left and Right radio buttons for X pos (see "InputXCentred" on page 670 in the Parameters chapter) InputYCentred corresponding to the Centered check box for Y pos (see "InputYCentred" on page 670 in the Parameters chapter) Font button, default checkbox: (see "Button control - Caption page" on page 104)
May 2008
179
Controls
The description of this page is identical to that of the Icon page in the Button control (see "Button control - Icon page" on page 107).
180
May 2008
Controls
Property Scheme
Range String
Meaning/Reference Scheme (see also section Button control General 3 page on page 99) Input field up graphic (see also section Edit control - Graphic page on page 130) Icon for the active input field (up/pressed) (see also section Button control - Icon page on page 108) Input field pressed graphic (see also section Edit control - Graphic page on page 131) Input field disabled graphic (see also section Edit control - Graphic page on page 131) Icon for the disabled input field (see also section Button control - Icon page on page 108)
ImageUp
String
Default: ../images/controls/input_ std_up.bmp
IconUp
String
ImagePressed
String Default:
../images/controls/input_ std_pressed.bmp
ImageDisabled
String Default:
../images/controls/input_ std_disabled.bmp
IconDisabled
String
May 2008
181
Controls
Property FunctionName
Range String
Meaning/Reference Name of transaction this field is used in. Is reference to registry entry (see also section List control - General 1 page on page 169) Fieldname in this transaction. Is reference to registry entry (see also section List control General 1 page on page 170) Variable name, which is automatically read from registry under key FunctionName, FieldName (see also section Input variables on page 413) Seq. No (see also section List control General 1 page on page 170) Connected softkey (see also section List control - General 1 page on page 170) HTML Page for showing the List on in a new window (see also section List control General 1 page on page 170)
FieldName
String
FieldID
FieldNumber
1 - 32787
SoftkeyValue
ListHref
String
182
May 2008
Controls
Property CorrectWindowTop
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 54) Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 44) Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 712)
Meaning/Reference Y coordinate for correct window (see also section List control General 1 page on page 172)
CorrectWindowLeft
X coordinate for correct window (see also section List control General 1 page on page 172)
CorrectWindowWidth
Width for correct window (see also section List control General 1 page on page 172)
May 2008
183
Controls
Property CorrectWindowHeight
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 260) 0 (default): Input field inactive 2: Input field disabled 3: Input field hidden String, created automatically: [#Inputvariable(without _s)_Viewstate_S#] i.e. Input variable: DLG_INPUT_RESULT 1_S Viewstate Variable: DLG_INPUT_RESULT 1_VIEWSTATE_S 0: Do not read from registry 1 (default): read from registry 0 - 32787 (default is 3)
Meaning/Reference Height for correct window (see also section List control General 1 page on page 172)
ViewState
State of List control (see also section List control - General 2 page on page 173) Viewstate during runtine, if variable is available. This property weights more than ViewState (see also section Hiding controls with Viewstate variables on page 274)
RTViewState
PressOffsetDefault
Default checkbox for Shift in pixels. (see also section List control General 2 page on page 174) Shift in pixels (see also section List control General 2 page on page 174) Instruction hint (see also section List control - General 2 page on page 174)
PressOffset
Instruction
String
184
May 2008
Controls
Property AudioResponse
Meaning/Reference Sound Response (see also section Button control - General 3 page on page 99) Used for showing ampersands (see also section Show an ampersand (&) in Caption of a control on page 194) Caption text (see also section Button control Caption page on page 103) Caption X position (see also section Button control - Caption page on page 103) Caption Y position (see also section Button control - Caption page on page 103) Not used any longer X position alignment (see also section Button control Caption page on page 103) Y position alignment (see also section Button control Caption page on page 104)
AdditionalFeatures
Predefined Strings
CaptionText
String
CaptionAlignX
CaptionAlignY
0 - 32787 (default is 6)
CaptionCenterX CaptionAlignXTyp
CaptionCenterY
May 2008
185
Controls
Property CaptionFont
Meaning/Reference Fontname (see also section Button control Caption page on page 104) Font code page. Please pick the right number up in an input field in Frontpage (see also section Button control Caption page on page 104) Font Size (see also section Button control Caption page on page 104) Font characteristic Bold (see also section Button control Caption page on page 104) Font characteristic Underline (see also section Button control Caption page on page 104) Font characteristic Italic (see also section Button control Caption page on page 104) Font characteristic Strikeout (see also section Button control Caption page on page 104)
CaptionFontCodePage
CaptionSize
CaptionBold
CaptionUnderline
CaptionItalic
CaptionStrikeout
186
May 2008
Controls
Property CaptionColour
Meaning/Reference Text colour for active caption (see also section Button control Caption page on page 102) Text colour for inactive caption (see also section Button control Caption page on page 103) default checkbox for caption position (see also section Button control - Caption page on page 104) Font default check box (see also section Button control Caption page on page 105) Colour active default checkbox (see also section Button control Caption page on page 102) Colour disabled default checkbox (see also section Button control Caption page on page 103) Output; variable which holds the selected item (see also section List control - Output page on page 178) Not used
CaptionColourDisabled
CaptionAlignDefault
0: enter x,y position in control 1 (default): read x,y position from registry 0: Use Font properties 1 (default): Use properties from registry
CaptionFontDefault
CaptionColourDefault
0: Use CaptionColour 1 (default): Use CaptionColour from registry 0: Use CaptionColourDisabled 1 (default): Use CaptionColourDisabled from registry String: Name of variable
CaptionColourDisabledDefault
InputText
InputJustified
May 2008
187
Controls
Property InputAlignX
Meaning/Reference Output range X pos (see also section List control - Output page on page 178) Output range Y pos (see also section List control - Output page on page 178) X pos position (see also section List control Output page on page 178) y pos checkbox Centered (see also section List control Output page on page 178) Fontname for outpt font (see also section List control - Output page on page 179) Font code page. Please pick the right number up in an input field in Frontpage (see also section Button control Caption page on page 104) Font Size (see also section Button control Caption page on page 104) Font characteristic Bold (see also section Button control Caption page on page 104)
InputAlignY
InputXCentred
X pos Position: 0: Left (default) 1: Centered 2: Right y pos: 0: not centered (default) 1: Centered String: Name of Font
InputYCentred
InputFont
InputFontCodePage
InputSize
InputBold
188
May 2008
Controls
Property InputUnderline
Meaning/Reference Font characteristic Underline (see also section Button control Caption page on page 104) Font characteristic Italic (see also section Button control Caption page on page 104) Font characteristic Strikeout (see also section Button control Caption page on page 104) Text colour for active caption (see also section Edit control Input page on page 134) Text colour for inactive caption (see also section Edit control Input page on page 134) Checkbox default for output positions (see also section List control - Output page on page 179) Font button, default check box (see also section List control Output page on page 179)
InputItalic
InputStrikeout
InputColour
0 - 16777215 (default is 0)
InputColourDisabled
InputAlignDefault
0: Do not read from registry 1 (default): read from registry 0: Do not read from registry 1 (default): read from registry
InputFontDefault
May 2008
189
Controls
Property InputColourDefault
Meaning/Reference Colour active default checkbox (see also section Edit control Input page on page 134) Colour disabled default checkbox (see also section Edit control Input page on page 134) X-position of icon on an input field (see also section Button control Icon page on page 109) Y-position of icon on an input field (see also section Button control Icon page on page 109) Possibility to center icon in x direction (see also section Button control - Icon page on page 109) Possibility to center icon in y direction (see also section Button control - Icon page on page 109) List control up, default check box (see also section Edit control Graphic page on page 130)
InputColourDisabledDefault
IconAlignX
IconAlignY
0 - 32787 (default is 0)
IconCenterX
IconCenterY
ImageUpDefault
0: Use Input field up graphic 1 (default): Use graphic read from registry
190
May 2008
Controls
Property ImagePressedDefault
Range 0: Use Input field pressed graphic 1 (default): Use graphic read from registry 0: Use Input field disabled graphic 1 (default): Use graphic read from registry 1 - 32787 (default is 1)
Meaning/Reference List control pressed, default check box (see also section Edit control - Graphic page on page 131) List control disabled, default check box (see also section Edit control - Graphic page on page 131) Number of Text Layer (see also section Button control Caption page on page 101)
ImageDisabledDefault
TextLayerCount
Only edit the following TextLayer... properties, if TextLayoutCount is greater than 1. Use ;; as separator for each layers value. TextLayerText String Headline text for different layers. (see also section Button control - Caption page on page 101) default checkbox for caption position for different layers. (see also section Button control - Caption page on page 104) Caption X position for different layers. (see also section Button control - Caption page on page 103)
TextLayerPosXYDefault
0: enter x,y position in control 1 (default): read x,y position from registry
TextLayerTextAlignX
May 2008
191
Controls
Property TextLayerTextAlignY
Meaning/Reference Caption Y position for different layers. (see also section Button control - Caption page on page 103) Not used any longer X position alignment for different layers. (see also section Button control - Caption page on page 103) Y position alignment for different layers. (see also section Button control - Caption page on page 104) Font default check box for different layers. (see also section Button control - Caption page on page 105) Fontname for different layers. (see also section Button control Caption page on page 104) Font code page for different layers. Please pick the right number up in a button control in Frontpage (see also section Button control Caption page on page 104)
TextLayerXCentered TextLayerTextAlignXTyp
TextLayerYCentered
TextLayerFontDefault
TextLayerFont
TextLayerFontCodePage
192
May 2008
Controls
Property TextLayerTextSize
Meaning/Reference Font Size for different layers. (see also section Button control Caption page on page 104) Font characteristic Bold for different layers. (see also section Button control - Caption page on page 104) Font characteristic Italic for different layers. (see also section Button control - Caption page on page 104) Font characteristic Underline for different layers. (see also section Button control Caption page on page 104) Font characteristic Strikeout for different layers. (see also section Button control Caption page on page 104) Colour active default checkbox for different layers. (see also section Button control Caption page on page 102)
TextLayerTextBold
TextLayerTextItalic
TextLayerText Underline
TextLayerTextStrikeout
TextLayerActiveColourDefault
May 2008
193
Controls
Property TextLayerInactiveColourDefault
Range 0: Use TextColourDisabled 1 (default): Use TextLayerTextColourDisabled from registry 0 - 16777215 (default is 0)
Meaning/Reference Colour disabled default checkbox for different layers. (see also section Button control Caption page on page 103) Text colour for active text for different layers. (see also section Button control Caption page on page 102) Text colour for inactive text for different layers. (see also section Button control Caption page on page 103)
TextLayerTextColour
TextLayerTextColourDisabled
194
May 2008
Controls
May 2008
195
Controls
Graphic: The image for the control is defined in the same way as in the Button control (see "Button control - Graphic page" on page 105). Caption, Position, Colour, Font: These inputs are basically identical to those on the Caption page in the Button control. The only things missing here are the default check boxes because there is no point in making default entries for the EPP control as it is generally needed just once or twice for an application (see "Button control - Caption page" on page 101).
196
May 2008
Controls
Input orientation: The positioning of the caret for an empty input field is controlled by this group of radio buttons (see "Edit control - Input page" on page 132). Input position, Font colour, Font: These inputs are basically identical to those on the Caption page in the Button control. The only things missing here are the default check boxes because there is no point in making default entries for the EPP control as it is generally needed just once or twice for an application (see "Button control - Caption page" on page 101).
May 2008
197
Controls
198
May 2008
Controls
Caption: A header, such as the name of the function, can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. The header appears at that point on the Internet page which is identified by the HTML tag <p id="Header">. Beep: This defines whether there should be a beep when the page is loaded or in the event of a timeout. no beep: No beep is required. at start of page: A beep is output when the page is loaded. at timeout: A beep is output when the time allowed to press a button or input data on this Internet page elapses without this being done. at start of page/timeout: A beep is output both when the page is loaded and if a timeout occurs.
May 2008
199
Controls
default: If this radio button is activated, the beep setting is read from the Beepdefault parameter at runtime (see "BeepDefault" on page 641 in the Parameters chapter). Instruction hint: An operating hint can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. The operating hint appears at that point on the Internet page which is identified by the HTML tag <p id= "SubHeader">. The operating hint that is entered here is only displayed when there are no input fields on the page. In this case, the operating hint for the active input field is displayed (see "Edit control - General 2 page" on page 126). If the Continue without Confirm key check box has not been activated and there are input fields on the page, the operating hint is displayed when all mandatory fields have been completed and found to be without error. Timeout combo box: This combo box is used to specify the time in seconds that the user has on this page to make a choice or to input data. Either one of the displayed timers can be selected from the list or a figure can be typed in directly. The ready-made timers are represented by parameters so they can be defined for the specific application in question. The value 0 represents an endless timeout, so no timeout return code will be sent. The value -1 represents the fact that the return code is returned immediately after the Internet page is loaded. This is the default value, too. These two values are different from those in the Dialog Framework. In the Dialog Framework, the value 0 means that the return code is presented immediately. Value -1 means an endless timeout. The dialog has to be canceled manually. The ready-made timers should be used as far as possible as they ensure that timeout periods can be changed fast by modifying parameters. If non-standard settings are used and system testing reveals that changes are necessary, every single page has to be modified again. The value -1 can not be edited in the combo box. Instead the readymade timer ImmediateTimeout has to be used. Please make sure, that you set No Input on the EPP Keys property page, because on ImmediateTimeout it makes no sense to activate the EPP. This will speed up the trasaction flow.
200
May 2008
Controls
The ready-made timers can be adjusted and extended easily. Every readymade timer is represented by a Registry entry under the Values key: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents Timeout Values CorrectTimeout=10 ... To be able to display another entry in the Contents ATM control, a new entry is simply made. The value after the entry represents the timeout in seconds. ADA configuration button: This button gives access to the ADA configuration panel.
May 2008
201
Controls
202
May 2008
Epp RTC : The EppRTC is an instance between the ADA framework and the Epp framework. It gives permanent access to the EPP and enables the use of ADA specific keys even if they are not activated by the Contents ATM/STD control. Start: Starts the EppRTC. Is only needed on starting page. Stop: Stops the EppRTC. Command: This group describes the behaviour of the ADA service. One of the start functions (start or idle) must be set on the first page of the application and the stop function should be set on the last page of the application. Start: Here the Start() function of the ADA framework is called. This function starts the service directly and ignores any start sequences. Stop: By activating this checkbox the Stop() function of the ADA service is called. This function stops the ADA framework. Idle: This checkbox activates the WaitForStart() function of the ADA framework. Then the ADA framework is in idle mode and waits for any start event (see also section Starting Events on page 498). Tutorial: This group describes what to do when the ADA framework is started. Allow tutorial start: calls the function onStart(). This is the real start of the ADA service. The default behaviour is SKIP. This function uses some powerful macros: Skip: Causes the service to skip the tutorial page and start directly. Navigate: Activating this checkbox causes the service to navigate to a new URL. Open: Causes the service to open a page in a new window . This command needs URL and position parameters of the popup-window. The checkbox Allow tutorial start must be set to allow the customer to start the service on this page! If none of the checkboxes Skip, Navigate or Open is activated, default value is used. The default behaviour is set in the registry (see also ADAActionOnStart on page 599). HTML page overrides: The group HTML page overrides on ADA configuration panel is to override the defaults of the ADA service. If none of the checkboxes are activated default values would be used (see also section May 2008 203
Controls
Control of the ADA service on page 497). To deactivate the output activate the special checkbox and clear the text field. Several macros can be used to change the output (see also section Macros on page 502). All of he following properties may be language dependant. If the pages have to be created to with with differnt langauges, please use the WX_TEXT Variables here (see also section Easy multilanguage support on page 289). Timeout Extension: All timeouts set by the Contents ATM control will be extended by the TimeoutExtension factor in percent. Default value is stored in the registry variable ADATimeoutExt. Example: Timeout Extension=200 (see also Contents ATM control - General page on page 200) Menu: The output for the page headline is configured here. Default value is stored in the registry variable ADATextPageMenu (see also Contents ATM control - General page on page 199). Hint: Here you can configure the instruction hint. Default value is stored in the registry variable ADATextPageHint (see also Contents ATM control - General page on page 200). Content: Several macros to read out the page content or direct text can be configured here. Default value is stored in the registry variable ADATextPageContent. For further information See "The macro WX.RT.xxx" on page 507. privacy: Some pages may contain private content which should not be read out. For this case the privacy can be used. The privacy checkboxes configure wether privacy is used or not. If privacy is used the content would only be read out via headphones. The system speaker would be disabled. There are no default values for these checkboxes. For this case you have to enter the fitting macro manually. Furthermore all content which should not be read out must be disabled by activating the special checkbox. Keys: Here you can configure the output for the available buttons on the page. Default value is stored in the registry variable ADATextPageKeys. privacy: see above. delayed Content: Several macros to read out the page content or direct text can be configured here (see also section ADA configuration panel on page 204). No default registry value is available here.
204
May 2008
Controls
The Contents ATM control Pause(ms): This property contains a time in ms ADA waits until its speaking the text from delayed Content.
Edit Hint: The hint for the edit fields can be configured here. Default value is stored in the registry variable ADATextEditHint (see also section Edit control - General 2 page on page 128). privacy: see above. Edit Content: Here you can configure in which way the input made into the edit field should be repeated. Default value is stored in the registry variable ADATextEditContent. privacy: see above. Echo Button: The echoes for the buttons pressed are configured here. Default value is stored in the registry variable ADAEchoButton. Echo Edit: This checkbox allows you to change the way the entered numbers would be echoed. Default value is stored in the registry variable ADAEchoEdit. Max Input: If the customer shall be informed of reaching the maximum input size, an ADA text for all keys may be entered here. Example: 0=Maximum reached_WXSEP_1=Maximum reached_WXSEP_2= Maximum reached_WXSEP_3=Maximum reached_WXSEP_4= Maximum reached_WXSEP_5=Maximum reached_WXSEP_6= Maximum reached_WXSEP_7=Maximum reached_WXSEP_8= Maximum reached_WXSEP_9=Maximum reached Echo EPP: The PIN entry must not read out. For this case the default value should be something like Thanks or Beep. Default value is stored in the registry variable ADAEchoEpp. Macro A. keys: This is the macro used from the Keys section (WX.F.ActiveKeys). It is used to read out the button text and the Epp key which belongs to this button. Deafult value is stored in the registry variable ADAMacroActiveKeys. Macro E. keys: The echo which appears when a button is pressed is configured here. Default value is stored in the registry variable ADAMacroEchoKeys. Repeat
May 2008
205
Controls
Accumulate spoken text: This checkbox must be activated on pages, where the complete text inclusive possible input characters shall be repeated. So it makes sense to activate this checkbox on pages, which contain at least one Edit Control or List Control. If this checkbox is activated at load and unload of the page the repeat buffer will be cleared automatically. If this checkbox is not activated any new spoken text will override the repeat buffer. Automatic repeat: If this box is checked, the text which is in the repeat buffer will be repeated. The time, when with repeat start may be configured in property pause. pause: Time in ms, after that the repeat will start. range is from 1 to 36000000. Everything will be repeated, what is in the repeat buffer. So the property Accumulate spoken text has an influence here. Every text which is spoken by script or other means after the texts from the page will reset the pause timer. Repeat will then start after the pause timer really expired.
206
May 2008
Controls
Function key: The list of all function keys is shown here. The state for each function key can be selected. The appearance of the Functionkeys page changes, depending on the selected functionkey. State of Functionkey: The state of the selected functionkey can be determined here: up: The button will appear in the up state, and can be pressed. pressed: The button will appear as pressed. This is only meaningful if the Toggle lock field was set to yes (see "Button control - General 1 page" on page 81). disabled: The function key is placed in the Button disabled state (see "States of controls" on page 79). In this state, the function key cannot be pressed. hidden: The function key is placed in the Button hidden state (see "States of controls" on page 79). In this state, the function key is hidden from sight. When the Function key <Help> is selected, the property page is enhanced. An Internet page, which should appear when the help button is pressed, can be entered.
May 2008
207
Controls
Help Internet page: The Internet page belonging to the selected <help> function button is entered in this input field. in new window check box: If this check box is activated, the page specified under Internet page is shown in a new browser instance (see "Button control - General 2 page for selection buttons" on page 91). Coordinates button: The coordinates to be used for displaying the new window can be defined by selecting this button (see "Button control - General 2 page for selection buttons" on page 91).
208
May 2008
Controls
Activate EPP Keys: The mode of the EPP is selected here: No input: There is no input field on the current Internet page Automatic mode: No configuration of the EPP Keys needed. But there are a few restrictions to keep in mind, when using this automatic mode: All Softkeys, which are connected by reference at a Selection Button, Edit or List control, are activated, even if they are disabled or invisible. When an Edit control is in the page all numeric EPP Keys and even the keys right and left of the 0 are enabled. For Functionkeys only those Softkeys, which are activated by this page are enabled. That means a Functionkey can not be activated by script after the Contents STD/ATM control is initialized. Normal input: There are one or more input fields on the current Internet page. Numeric input is made via the EPP Pin input: A PIN input is activated. The EPP control has to be placed on the current Internet page. The user is requested to enter his PIN. The user defined asterisks are presented by the EPP control.
May 2008
209
Controls
The EPP Keys configuration button is shown when Normal input or Pin input is active.
Fig. 65: Contents ATM control - EPP Keys Page (Pin input)
210
May 2008
Controls
PIN input options: The number of entered PIN digits and the confirmation of the PIN is specified in here: PIN 4-digits: The user is allowed to enter a 4-digit PIN. PIN 6-digits: The user is allowed to enter a 6-digit PIN. User defined:The mininum and the maximun numbers of PIN-digits may be specified in here. Inputfield Min.: The minimun numbers of PIN-digits must be entered here. Inputfield Max.: The minimun numbers of PIN-digits must be entered here. Please make sure, that the maximum number is larger than the minimum number. Continue without Confirm-Key: The user has to press the function key with value <confirm> to go on using the application. After that, the return code is sent to the application. Continue after Timeout: After entering the minimum digits and after the amount of seconds specified in the corresponding input field the return code Okay is automatically sent to the application. This feature is used to give customers the chance to continue with the transaction, even when it is necessary to confirm the PIN entry. Some customers do not notice to confirm the PIN, when it was not necessary to do this with an earlier release of the application. EPP Keys configuration button: A dialog is opened, when pressing this button. The property pages Active Keys, Terminating Keys and Keycode change may be selected, to specify those types of keys. Active Keys: The EPP-keys, which should be active while this Internet page is displayed, is specified at this property page. Each active button must be in pressed state.
May 2008
211
Controls
Terminating Keys: During PIN input there may be keys specified, which will end a PIN input. During normal input these may be used in Softkey dialogs. They will end the Softkey dialog immediately. The Contents STD/ATM control does not have to cancel the EPP procedure additionally. Those buttons, which should be used as Terminating Keys, must be in pressed state.
212
May 2008
Controls
Keycode change: At this property page it is possible to change the keycodes beneath the 0 and the Replacement sign, which will be shown in EPP control during PIN input.
Fig. 68: Contents ATM control - EPP Keys conf. (Keycode change)
May 2008
213
Controls
,-Key: Enter the keycode, which shall be shown in an edit control when pressing the button right to the 0 button of the EPP keyboard here. *-Key: Enter the keycode, which shall be shown in an edit control when pressing the button left to the 0 button of the EPP keyboard here. Replacement Sign: Enter the Replacement Sign for a PIN input here. This sign will be shown in the EPP control during PIN input.
214
May 2008
Controls
Continue without Confirm-Key: If this check box is activated, the end of the input is followed directly by reporting a return code to the application. If the customer is to be given the opportunity to check the inputs again, however, this check box has to be deactivated. In this case the Confirm key list box becomes available and the key to close the input page has to be selected there. When the last input field on the page has been confirmed, the Content controls operating hint is shown. For example, the customer could be prompted to check the inputs and then select the button that concludes the input page. Confirm key list box: This list box contains all function keys in the same way as when selecting a function key in the Button control (see "Button control - General 2 page for function keys" on page 85). This list box is only available if the Continue without Confirm key check box has not been activated. The key that is selected here concludes an input page. The Internet page that has been defined for the function key shown here is loaded next.
May 2008
215
Controls
Meaning/Reference not used Caption (see also section Contents ATM control - General page on page 199) Instruction hint (see also section Contents ATM control - General page on page 200) Timeout combo box (see also section Contents ATM control General page on page 200) Beep (see also section Contents ATM control General page on page 199)
PageInstruction
String
PageTimeout
PageBeep
1: No beep 2: At start of page 3: At timeout 4: At start of page/timeout 5 (default): Default from registry Default is: CANCEL
FunctionKeyID01
Function key with ID 01 (see also section Contents ATM control Function key page on page 207) Function key with ID 02 (see also section Contents ATM control Function key page on page 207)
FunctionKeyID02
216
May 2008
Controls
Property FunctionKeyID03
Meaning/Reference Function key with ID 03 (see also section Contents ATM control Function key page on page 207) Function key with ID 04 (see also section Contents ATM control Function key page on page 207) Function key with ID 05 (see also section Contents ATM control Function key page on page 207) Function key with ID 06 (see also section Contents ATM control Function key page on page 207) Function key with ID 07 (see also section Contents ATM control Function key page on page 207) Function key with ID 08 (see also section Contents ATM control Function key page on page 207) Function key with ID 09 (see also section Contents ATM control Function key page on page 207)
FunctionKeyID04
FunctionKeyID05
FunctionKeyID06
unused
FunctionKeyID07
unused
FunctionKeyID08
FunctionKeyID09
May 2008
217
Controls
Property FunctionKeyID10
Meaning/Reference Function key with ID 10 (see also section Contents ATM control Function key page on page 207) Function key with ID 11 (see also section Contents ATM control Function key page on page 207) Function key with ID 12 (see also section Contents ATM control Function key page on page 207) Function key with ID 13 (see also section Contents ATM control Function key page on page 207) Function key with ID 14 (see also section Contents ATM control Function key page on page 207) Function key with ID 15 (see also section Contents ATM control Function key page on page 207) Function key with ID 16 (see also section Contents ATM control Function key page on page 207)
FunctionKeyID11
FunctionKeyID12
FunctionKeyID13
FunctionKeyID14
FunctionKeyID15
FunctionKeyID16
unused
218
May 2008
Controls
Property FunctionKeyID17
Range unused
Meaning/Reference Function key with ID 17 (see also section Contents ATM control Function key page on page 207) Function key with ID 18 (see also section Contents ATM control Function key page on page 207) Function key with ID 19 (see also section Contents ATM control Function key page on page 207) Function key with ID 20 (see also section Contents ATM control Function key page on page 207) State of Function key 01=CANCEL (see also section Contents ATM control - Function key page on page 207) State of Function key 02=CONFIRM (see also section Contents ATM control - Function key page on page 207) ... State of Function key 20 (see also section Contents ATM control Function key page on page 207)
FunctionKeyID18
unused
FunctionKeyID19
unused
FunctionKeyID20
unused
FunctionKeyViewState 01
0: State up 1: State pressed 2: State disabled 3 (default): State invisible 0: State up 1: State pressed 2: State disabled 3 (default): State invisible ... 0: State up 1: State pressed 2: State disabled 3 (default): State invisible
FunctionKeyViewState 02
... FunctionKeyViewState 20
May 2008
219
Controls
Property SubmitControlName
Meaning/Reference Confirm key list box (see also section Contents ATM control Confirm page on page 215) Continue without confirm key (see also section Contents ATM control - Confirm page on page 215) For HELP function key there is an coordinates button to configure Top, Left, Width, Height (see also section Contents ATM control - Function key page on page 208)
WithoutSubmitButton
0 (default): Continue with confirm key 1: Continue without confirm key Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Default: 54 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Default: 44
NewWindowTop
NewWindowLeft
For HELP function key there is an coordinates button to configure Top, Left, Width, Height (see also section Contents ATM control - Function key page on page 208)
220
May 2008
Controls
Property NewWindowWidth
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Default: 712 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Default: 260 String
Meaning/Reference For HELP function key there is an coordinates button to configure Top, Left, Width, Height (see also section Contents ATM control - Function key page on page 208)
NewWindowHeight
For HELP function key there is an coordinates button to configure Top, Left, Width, Height (see also section Contents ATM control - Function key page on page 208)
HelpHref
Help internet page (see also section Contents ATM control - Function key page on page 208)
May 2008
221
Controls
Property PinEntry
Range Bitwise calculated field: ggggggffffffffeee eeeee0dcbbaaa Add the following values a: Activate EPP keys 0 = No input 1 = Normal input 2 = Pin input 7 = Automatic b: Pin digits 0 = 4-digits 8 = 6-digits 16 = user defined c: Continue without confirm key 0 = off 32 = on d: once changed the EPP keys configuration 0 = off 64 = on e: User defined min.: number multiplied by 256 f: User defined max.: number multiplied by 65536 g: Continue after timeout value: number multiplied by 16777216
Meaning/Reference EPP-Keys Submenu (see also section Contents ATM control EPP Keys page on page 209) Please make sure that not all combination make sense. Better is to use frontpage for automatic calculation.
222
May 2008
Controls
Property EPPConfigActiveFDK
Range Add the values of the active Softkeys: F1: 1 F2: 2 F3: 4 F4: 8 F5: 16 F6: 32 F7: 64 F8: 128 Add the values for the active keys: 0: 1 1: 2 2: 4 3: 8 4: 16 5: 32 6: 64 7: 128 8: 256 9: 512 Enter: 1024 Cancel: 2048 Clear: 4096 Help: 16384 DecPoint(*): 262144 Res1(,): 32787 Add the values of the terminate Softkeys: F1: 1 F2: 2 F3: 4 F4: 8 F5: 16 F6: 32 F7: 64 F8: 128
Meaning/Reference Values of the selected active Softkeys (see also section Contents ATM control - EPP Keys page on page 211) and (see also section Button control - General 2 page for function keys on page 86) Values of the selected active EPP keyboard keys (see also section Contents ATM control EPP Keys page on page 211)
EPPConfigActiveFK
EPPConfigTerminateFDK
Values of the selected terminate Softkeys (see also section Contents ATM control - EPP Keys page on page 211) and (see also section Button control - General 2 page for function keys on page 86)
May 2008
223
Controls
Property EPPConfigTerminateFK
Range Add the values for the terminate keys: 0: 1 1: 2 2: 4 3: 8 4: 16 5: 32 6: 64 7: 128 8: 256 9: 512 Enter: 1024 Cancel: 2048 Clear: 4096 Help: 16384 DecPoint(*): 262144 Res1(,): 32787 single character or group of characters
Meaning/Reference Values of the selected terminate EPP keyboard keys (see also section Contents ATM control - EPP Keys page on page 211)
EPPConfigValue_FK_ Decpoint
The value of the ,-key (see also section Contents ATM control EPP Keys page on page 214) The value of the *-key (see also section Contents ATM control EPP Keys page on page 214) The replacement sign for PIN input (see also section Contents ATM control - EPP Keys page on page 214)
EPPConfigValue_FK_r es1
EPPConfigValue_FK_s ub
single character
224
May 2008
Controls
Property ADACommand
Range (see also section Range for ADA Command on page 225) -1: Init 0: Do not navigate 1: Navigation allowed
Meaning/Reference ADA configuration Panel(see also section ADA configuration panel on page 202) Read only property: may be used to ask in script, if a navigation is allowed.
CTRLstatus
Range for ADA Command String created from following keywords (separator is _WXSEP_) Property EPPRTC, Start EPPRTC, Stop Command, Start Command, Stop Command, Idle Command Start and Stop Command Stop and Idle Allow Tutorial start Skip Navigate Open Keyword StartEppRTC StopEppRTC START STOP IDLE RESTART REIDLE onSTART onSTART=SKIP onSTART= NAVIGTE_WXSEP_mypage.htm onSTART= OPEN_WXSEP_mypage.htm_WXS EP_top=0, left=0, height=20000, width=20000 TimeoutExtension=10 TextPageMenu=Text TextPageHint=Text TextPageContent=Text
May 2008
225
Controls
Property Content, privacy Keys Keys, pricacy Edit Hint Edit Hint, privacy Edit Content Edit Content, privacy Echo Button Echo Edit Echo EPP Macro A. keys Macro E. keys Accumulate spoken text
Keyword TextPageContentPRV=Text TextPageKeys=Text TextPageKeysPRV=Text TextEditHint=Text TextEditHintPRV=Text TextEditContent=Text TextEditContentPRV=Text EchoButton=Text EchoEdit=Text EchoEpp=Text MacroActiveKeys=Text MacroEchoKeys=Text REPEAT_MODE_ACCUMULATE
226
May 2008
Controls
The Contents STD control governs the interaction between all other controls. Every call of an Internet page for a Button control, for example, is passed via the Contents STD control to the Web Graphical Service (see also "Web Graphical Service components). The Contents STD control is ultimately responsible for controlling the field sequence of the Edit controls. To carry out all these tasks, the Contents STD control registers all ProTopas/Web-Extensions controls that are on an Internet page when the page is loaded. It creates an internal list of statuses and administrative information. The Contents STD control detects every activation of a control. This makes it possible to integrate function keys across frames as the action to be performed is defined in the Contents STD control. The Contents STD control also activates or hides function keys also geared to the action that has to be performed.
May 2008
227
Controls
Headline: A header, such as the name of the function, can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. The header appears at that point on the Internet page which is identified by the HTML tag <p id="Header">. Beep: This defines whether there should be a beep when the page is loaded or in the event of a timeout. no beep: No beep is required. at start of page: A beep is output when the page is loaded. at timeout: A beep is output when the time allowed to press a button or input data on this Internet page elapses without this being done. at start of page/timeout: A beep is output both when the page is loaded and when a timeout occurs.
228
May 2008
Controls
default: If this radio button is activated, the beep setting is read from the BeepDefault parameter at runtime (see "BeepDefault" on page 641 in the Parameters chapter). Continue without Confirm-key: This check box is only relevant for pages containing input fields. If this check box is activated, the end of the input is followed directly by the loading of the page that has been defined for the Confirm function key in the Contents STD control. If the customer is to be given the opportunity to check the inputs again, however, this check box has to be deactivated. In this case, the Confirm key list box becomes available and the key to close the input page has to be selected there. When the last input field on the page has been confirmed, the Content controls operating hint is shown. For example, the customer could be prompted to check the inputs and then select the button that concludes the input page. Confirm-Key list box: This list box contains all function keys in the same way as when selecting a function key in the Button control (see "Button control - General 2 page for function keys" on page 85). This list box is only available if the Continue without Confirm key check box has not been activated. The key that is selected here concludes an input page. The Internet page that has been defined for the function key shown here is loaded next. Instruction hint: An operating hint can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. The operating hint appears at that point on the Internet page which is identified by the HTML tag <p id= "SubHeader">. The operating hint that is entered here is only displayed when there are no input fields on the page. In this case, the operating hint for the active input field is displayed (see "Edit control - General 2 page" on page 126). If the Continue without Confirm key check box has not been activated and there are input fields on the page, the operating hint is displayed when all mandatory fields have been completed and found to be without error. ADA configuration button: This button gives access to the ADA configuration panel (see also ADA configuration panel on page 202).
May 2008
229
Controls
Window for timeout: This list box contains three items Timeout question, Timeout message and After timeout which relate to procedures in the event of a timeout. The page to be displayed for the message has to be specified in the Internet page input field. Timeout question: A message, which is best displayed in a separate window of its own, can be specified here to tell the customer that he or she has not made an input for some time. If the customer confirms this message, the separate window closes and the customer is taken back to the input/choice page. If the customer does not confirm the message, the
230
May 2008
Controls
Contents STD control automatically loads the Internet page that has been defined for the current timeout message. If no confirmation question is needed, no page is specified in the Internet page input field.
Fig. 72: Timeout confirmation question
Timeout message: The Internet page that is specified here tells the customer that the time for inputs has elapsed. This message can be output in a window of its own, and should only appear briefly. The Contents STD control automatically loads the Internet page that has been specified for After timeout. If no timeout message is needed, no page is specified in the HTML page input field.
Fig. 73: Timeout message
May 2008
231
Controls
After timeout: The Contents STD control loads the page that is specified here when the confirmation question and timeout message have been displayed, or when no Internet page has been specified for either of these options. If, for example, no message is needed for the actual timeout, then it is sufficient to specify an Internet page for After timeout. default check box: If this check box is activated, the Internet pages for the three options listed above are read from a parameter. If no Internet page is specified in any of the three parameters, the message in question is not displayed. The parameter for the Timeout question is TimeoutQuestionHref (see "TimeoutQuestionHref" on page 638 in the Parameters chapter). If this message is due to be output in a separate window, the TimeoutQuestionWindow parameter is changed (see "TimeoutQuestionWindow" on page 638 in the Parameters chapter). The parameter for Timeout message is TimeoutHref (see "Timeout Href" on page 637 in the Parameters chapter). If this message is due to be output in a separate window, the TimeoutWindow parameter is changed (see "TimeoutWindow" on page 637 in the Parameters chapter). The parameter for After timeout is AfterTimeoutHref (see "AfterTimeoutHref" on page 638 in the Parameters chapter). If this message is to be output in a separate window, the AfterTimeoutWindow parameter is changed (see "AfterTimeoutWindow" on page 638 in the Parameters chapter). HTML page: The Internet page belonging to the list item from the Timeout window list box is entered in this input field. in new window checkbox: If this check box is activated, the page specified under Internet page is shown in a new browser instance (see "Button control - General 2 page for selection buttons" on page 93). Coordinates button: The coordinates to be used for displaying the new window can be defined by selecting this button. It is only possible to specify one set of coordinates, and these are used to display all pages for a timeout (see "Button control - General 2 page for selection buttons" on page 93). If the default checklist is activated, then the coordinates are read from the following parameters: TimeoutWindowLeft corresponding to X pos (see "TimeoutWindowLeft" on page 639 in the Parameters chapter), TimeoutWindowTop corresponding to Y pos (see "TimeoutWindowTop" on page 639 in the Parameters chapter), TimeoutWindowHeight corresponding to Height
232
May 2008
Controls
(see "TimeoutWindowHeight" on page 639 in the Parameters chapter), TimeoutWindowWidth corresponding to Width (see "TimeoutWindowWidth" on page 639 in the Parameters chapter). The coordinates that are entered here apply to all three timeout windows. Timeout combo box: This combo box is used to specify the time in seconds that the user has on this page to make a choice or input data. Either one of the displayed timers can be selected from the list or a figure can be typed in directly. The ready-made timers are represented by parameters so they can be defined for the specific application in question. The ready-made timers should be used as far as possible as they ensure that timeout periods can be changed fast by modifying parameters. If non-standard settings are used and system testing reveals that changes are necessary, every single page has to be tackled. The ready-made timers can be adjusted and extended easily. Every readymade timer is represented by a Registry entry under the Values key: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents Timeout Values CorrectTimeout=10 ... To be able to display another entry in the Contents STD control, a new entry is simply made. The value after the entry represents the timeout in seconds.
May 2008
233
Controls
Window for cancel: This list box contains two entries Confirmation question and Cancel message relating to cancellation. The page to be displayed for the message in question has to be specified in the Internet page input field. Cancel question: A message, which is best displayed in a separate window of its own, can be specified here. The customer should be asked whether he or she really does want to cancel. If the customer negates this message, the separate window closes and the customer is taken back to the input/choice page. If the customer affirms this message, the
234
May 2008
Controls
Contents STD control automatically loads the Internet page that was specified for the cancellation message. If no confirmation question is required, no page is specified in the HTML page input.
Fig. 75: Cancellation confirmation question
Cancelmessage: The Internet page specified here tells the customer that the function will now be cancelled. This message can be output in a window of its own, and should only appear briefly. The Contents STD control automatically loads the Internet page that was specified for the Cancel button on the Function key page. If no cancellation message is required, no page is specified in the HTML page input field.
Fig. 76: Cancellation message
default check box: If this check box is activated, the Internet pages for the two options listed above are read from a parameter. If no Internet page is specified in either of the two parameters, the message in question is not displayed. May 2008 235
Controls
The parameter for Confirmation question is CancelQuestionHref (see "CancelQuestionHref" on page 636 in the Parameters chapter). If this message is to be output in a separate window, the CancelQuestionWindow parameter is changed (see "CancelQuestionWindow" on page 636 in the Parameters chapter). The parameter for Cancel message is CancelHref (see "CancelHref" on page 635 in the Parameters chapter). If this message is due to be output in a separate window, the CancelWindow parameter is changed (see "CancelWindow" on page 635 in the Parameters chapter). HTML page: The Internet page belonging to the respective list item from the Window for Cancel list box is entered in this input field (see also section Button control - General 2 page for selection buttons on page 91). in new window checkbox: If this check box is activated, the page specified under HTML page is shown in a new browser instance (see "Button control - General 2 page for selection buttons" on page 91). Coordinates button: The coordinates to be used for displaying the new windows can be defined by selecting this button. It is only possible to specific one set of coordinates, and these are used to display all pages for a cancellation (see "Button control - General 2 page for selection buttons" on page 91). If the default checklist is activated, then the coordinates are read from the following parameters: CancelWindowLeft corresponding to X pos (see "CancelWindowLeft" on page 636 in the Parameters chapter) CancelWindowTop corresponding to Y pos (see "CancelWindowTop" on page 636 in the Parameters chapter) CancelWindowHeight corresponding to Height (see "CancelWindowHeight" on page 637 in the Parameters chapter) CancelWindowWidth corresponding to Width (see "CancelWindowWidth" on page 637 in the Parameters chapter) The coordinates entered here apply to both cancellation windows.
236
May 2008
Controls
which ought to be placed in an HTML frame of their own (see "Function keys with a fixed meaning" on page 87). The Contents STD control for the current Internet page can show or hide the function keys of another frame.
Fig. 77: Contents STD control - Function key page (hidden)
Functionkey: The list of all function keys is shown here. The state or action for each function key can be selected. The appearance of the Function key page changes, depending on the selected state or required action. disabled: The function key is placed in the Button disabled state (see "States of controls" on page 79). In this state, the function key cannot be pressed. hidden: The function key is placed in the Button hidden state (see "States of controls" on page 79). In this state, the function key is hidden from sight. up: The button will appear in the up state, and can be pressed. It is necessary to specify an Internet page that is to be loaded. pressed: The button will appear as pressed. This is only meaningful if the Toggle lock field was set to yes (see "Button control - General 1 page" on page 81). If up or pressed is selected, the following additional properties are shown:
May 2008
237
Controls
HTML page radio button: When this radio button is selected, the appearance of the page changes as follows: HTML page: The Internet page belonging to the selected function button is entered in this input field (see also section Button control - General 2 page for selection buttons on page 91). in a new window check box: If this check box is activated, the page specified under HTML page is shown in a new browser instance (see "Button control - General 2 page for selection buttons" on page 91). coordinates button: The coordinates to be used for displaying the new window can be defined by selecting this button. (see "Button control General 2 page for selection buttons" on page 91). The coordinates that are entered here apply to all return codes for Steps, Steps After and Function keys. Step after button: This radio button has to be selected if a Transaction FW class needs to be loaded when the key has been pressed. The requisite Step is selected on the Step After page. The appearance of the page changes as follows:
238
May 2008
Controls
May 2008
239
Controls
Activate EPP Keys: The mode of the EPP is selected here: No input: There is no input field on the current Internet page. Automatic mode: No configuration of the EPP Keys needed. But there are a few restrictions to keep in mind, when using this automatic mode: All Softkeys, which are connected by reference at a Selection Button, Edit or List control, are activated, even if they are disabled or invisible. When an Edit control is in the page all numeric EPP Keys and even the keys right and left of the 0 are enabled. For Functionkeys only those Softkeys, which are activated by this page are enabled. That means a Functionkey can not be activated by script after the Contents STD/ATM control is initialized. Normal input: There are one or more input fields on the current Internet page. Numeric input is made via the EPP. Pin input: A PIN input is activated. The EPP control has to be placed on the current Internet page. The user is requested to enter his PIN. The user defined asterisks are presented by the EPP control.
240
May 2008
If the automatic mode is selected, an EPP error HTML page property is available additionally.
Fig. 81: Contents STD control - EPP Keys Page (Automatic)
Input field EPP Error HTML page: This input field may be used to define an error page to which the Contents STD Control will navigate, if the EPP hardware is not responding or in case of a configuration error. This is an optional field, but it is more secure to enter an error page here. In case of a EPP hardware problem there is no other way to cancel the transaction than this link here. This field is shown when Normal input or Pin input is active. Normal Input Additionally to the EPP error HTML page there is the EPP Keys configuration Button available.
May 2008
241
Controls
The EPP Keys configuration button is shown when Normal input or Pin input is active. The Property pages which are opened by pressing this button are described later in this chapter.
242
May 2008
Controls PinInput
Fig. 83: Contents STD control - EPP Keys Page (Pin input)
Inputf ield Continue with HTML page: The HTML page entered in this field will be loaded after a successful PIN input. PIN input options radio button fields. The number of entered PIN digits and the confirmation of the PIN is specified in here: PIN 4-digits: The user is allowed to enter a 4-digit PIN. PIN 6-digits: The user is allowed to enter a 6-digit PIN. User defined:The mininum and the maximun numbers of PIN-digits may be specified in here. Input field Min.: The minimun numbers of PIN-digits must be entered here. Input field Max.: The maximum numbers of PIN-digits must be entered here. Please make sure, that the maximum number is larger than the minimum number. Continue without Confirm-Key: After entering 4 or 6 digits, the return code is automatically sent to the application.
May 2008
243
Controls
Continue after Timeout: After entering the minimum digits and after the amount of seconds specified in the corresponding input field the Contents STD Control automatically proceeds with the page from Continue with HTML page. This feature is used to give customers the chance to continue with the transaction, even when it is necessary to confirm the PIN entry. Some customers do not notice to confirm the PIN, when it was not necessary to do this with an earlier release of the application. EPP Keys configuration button: A dialog is opened, when pressing this button. The property pages Active Keys, Terminating Keys and Keycode change may be selected, to specify those types of keys. Active Keys: The EPP keys which should be active while this Internet page is displayed is specified at this property page. Each active button must be in pressed state.
Fig. 84: Contents STD control - EPP Keys conf. (Active Keys)
Terminating Keys: During PIN input there may be keys specified which will end a PIN input. During normal input these may be used in Softkey dialogs. They will end the Softkey dialog immediately. The Contents STD/ATM control does not have to cancel the EPP procedure additionally. Those buttons, which should be used as Terminating Keys, must be in pressed state.
244
May 2008
Controls
Keycode change: At this property page it is possible to change the keycodes beneath the 0 and the Replacement sign, which will be shown in EPP control during PIN input.
Fig. 86: Contents STD control - EPP Keys conf. (Keycode change)
May 2008
245
Controls
,-Key: Enter the keycode which shall be shown in an edit control when pressing the button right to the 0 button of the EPP keyboard here. This may be a single character or a group of characters. *-Key: Enter the keycode which shall be shown in an edit control when pressing the button left to the 0 button of the EPP keyboard here. This may be a single character or a group of characters. Replacement Sign: Enter the Replacement Sign for a PIN input here. This sign will be shown in the EPP control during PIN input. This may be a single character or a group of characters. There are two Data Dictionary Variables VAR_PIN_ENTRY_DIGITS_L and VAR_PIN_ENTRY_COMPLETION_L since Version 1.1/13, which will be filled after PIN entry with the number of PIN digits and the returncode of PIN Entry (see also section Get number of PIN Digits on page 277).
246
May 2008
Controls
Internet Browser
3. Transmission between Internet-browser and ProTopas modules 4. Call of the ProTopas Module `PRINT`
Connector Control
Pro Topas Modules 5. Access to the printer via ProDevice Pro Device Special Hardware
Access to the application is the core task of the Contents STD control. In turn, for example, this makes it possible to access the hardware of a selfservice device. Internally, the Contents STD control accesses the ProTopas Transaction Framework. The referenced Transaction FW class is executed, and can terminate with up to 20 return codes. An Internet page can be assigned to each return code, and this is then loaded at the end of the Transaction FW class. In this way, calling the application and parameterizing the return codes reflects the general logic of the application.
May 2008
247
Controls
Step After: This field shows a list of Transaction FW classes (also called Steps) that are available for the entire application. To parameterize the application flow the designer of the Internet pages needs to collaborate closely with the programmer of the application. If no Transaction FW class needs to be selected, the keyword none has to be entered here. It is at the top of the list. The list that is shown here is made up of the keys that have been created in the Registry under the Steps key: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/Steps/ PCStep_application_STARTUP ... When a new Step is created, the list has to be extended accordingly. Parameter: It is possible to edit an input parameter for the Step after here. It is even possible to edit Variables in the same manner, as inserting then as a caption of the Button control (see also Inserting a variable in a control on page 288). The maximum size for this parameter is 1024 bytes.
248
May 2008
Controls
Returnvalue: If a Step After was selected, all return codes for this Step are displayed in this list. An Internet page has to be specified for each returnvalue. This is then loaded for this return code. This list is made up of the names of all Registry parameters that are available under the key name for the Step that was selected above. The value of this parameter contains the numeric return code of the ProTopas application. The return codes can range from 0 to 19. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/Steps/ PCStep_application_STARTUP General error = 18 ... HTML page: The Internet page to be loaded for the selected return code can be entered in this input field (see also section Button control - General 2 page for selection buttons on page 91). in a new window check box: If this check box is activated, the page specified under Internet page is shown in a new browser (see "Button control - General 2 page for selection buttons" on page 91). Coordinates button: The coordinates to be used for displaying the new window can be defined by selecting this button. (see "Button control General 2 page for selection buttons" on page 91). The coordinates that are entered here apply to all return codes for Steps, Steps After and Function keys.
May 2008
249
Controls
The inputs and list boxes are identical to those on the Step After page (see also Contents STD control - Step After page on page 246). The list items are also read from the same Registry key. Softkeys and functionkeys allowed: This field is only available for old Prereleases of ProTopas/Web-Extensions 1.0: If this check box is selected, the keys on the EPP can also be used to input numeric values, or function keys can be used. If the device features softkeys and these have been assigned to a button control (see "Button control - General 2 page for function keys" on page 85), pressing a softkey can activate the button that is assigned to this softkey. If this check box is not activated, pressing a softkey has no effect on the application.
250
May 2008
Controls
New input field: In this edit field the number if the return value has to be edited. After pressing the Add Button, this number is shown in the List box Return code. In the edit field URL the link to the next page is inserted. Add Button:By pressing this button, the number, which is edited in the New input field is added to the list of return values in the Listbox Return code. Remove button: The return value, which is actually shown in the Return code Listbox is removed. Return code Listbox: This listbox shows all previously added return values and is used to select the one, whose URL shall be edited.
May 2008
251
Controls
URL edit field: In this field the URL for the Return value, which is actually shown in the Listbox Return code, must be entered. Target FRAME Listbox: This Listbox contains 4 items to select from: _self: This is the default value and means, the navigation is done in the same frame as the currently loaded page. _new: This has the same meaning than the Checkbox in a new window. The coordinates button will show up, when selecting this enty. Coordinates Button: (see also section Button control - General 2 page for selection buttons on page 91) _parent:The navigation will be done in the parent window. If f.e. the application works with a frameset and on of those frames has a nested frameset inside and the Contents STD control is in one of its pages, the navigation will be done in the frame, which former opened the nested frameset. _top: The navigation will be done at the topmost window. That means, when working with a frameset, the frameset gets lost and the next page has to be another frameset angain.
Property PageHeadline
Range String
Meaning/Reference Headline (see also section Contents STD control - General page on page 228) Confirm key list box (see also section Contents STD control General page on page 229)
SubmitControlName
252
May 2008
Controls
Property
WithoutSubmitButtont
Range 0 (default): Continue with confirm key 1: Continue without confirm key String
Meaning/Reference Continue without confirm key (see also section Contents ATM control - Confirm page on page 215) Instruction hint (see also section Contents STD control - General page on page 229) Beep (see also section Contents STD control General page on page 228)
PageInstruction
PageBeep
0: No beep 1: At start of page 2: At timeout 3: At start of page/timeout 4 (default): Default from registry Numerical value: -1 to 32787 or predifini
PageTimeout
Timeout como box (see also section Contents STD control - Timeout page on page 233) HTML Page to navigate to when a timeout has occured (see also section Contents STD control - Timeout page on page 232) In an new window checkbox (see also section Contents STD control - Timeout page on page 232)
TimeoutStdHref
String
TimeoutStdWindow
May 2008
253
Controls
Property
TimeoutQuestionHref
Range String
Meaning/Reference HTML Page to navigate to first when a timeout has occured to ask the customer to proceed (see also section Contents STD control Cancel page on page 236) In an new window checkbox (see also section Contents STD control - Timeout page on page 232) HTML Page to navigate to after timeout (see also section Contents STD control - Cancel page on page 236) In an new window checkbox (see also section Contents STD control - Timeout page on page 232) Top-Position for In a new window for Timeout (see also section Contents STD control - Timeout page on page 232)
TimeoutQuestionWindow
AfterTimeoutHref
AfterTimeoutWindow
For AfterTimeoutHref: 0 (default): not in a new window 1: in a new window Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000
TimeoutWindowTop
254
May 2008
Controls
Property
TimeoutWindowLeft
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000 String
Meaning/Reference Left-Position for In a new window for Timeout (see also section Contents STD control - Timeout page on page 232)
TimeoutWindowWidth
Width for In a new window for Timeout (see also section Contents STD control Timeout page on page 232)
TimeoutWindowHeight
Height for In a new window for Timeout (see also section Contents STD control Timeout page on page 232)
CancelStdHref
HTML Page to navigate to when customer has canceled (see also section Contents STD control - Cancel page on page 236)
May 2008
255
Controls
Property
CancelStdWindow
Range For CancelStdHref: 0 (default): not in a new window 1: in a new window String
Meaning/Reference In an new window checkbox (see also section Contents STD control - Cancel page on page 236) HTML Page to navigate to first when the customer has canceled (see also section Contents STD control Cancel page on page 236) In an new window checkbox (see also section Contents STD control - Cancel page on page 236) Top-Position for In a new window for Cancel (see also section Contents STD control Cancel page on page 236)
CancelQuestionHref
CancelQuestionWindow
For TimeoutQuestionHref: 0 (default): not in a new window 1: in a new window Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000
CancelWindowTop
CancelWindowLeft
Left-Position for In a new window for Cancel(see also section Contents STD control - Cancel page on page 236)
256
May 2008
Controls
Property
CancelWindowWidth
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000 Default is: CANCEL
Meaning/Reference Width for In a new window for Cancel (see also section Contents STD control - Cancel page on page 236)
CancelWindowHeight
Height for In a new window for Cancel (see also section Contents STD control - Cancel page on page 236)
FunctionKeyID01
Function key with ID 01 (see also section Contents STD control Functionkey page on page 237) Function key with ID 02 (see also section Contents STD control Functionkey page on page 237) Function key with ID 03 (see also section Contents STD control Functionkey page on page 237)
FunctionKeyID02
FunctionKeyID03
May 2008
257
Controls
Property FunctionKeyID04
Meaning/Reference Function key with ID 04 (see also section Contents STD control Functionkey page on page 237) Function key with ID 05 (see also section Contents STD control Functionkey page on page 237) Function key with ID 06 (see also section Contents STD control Functionkey page on page 237) Function key with ID 07 (see also section Contents STD control Functionkey page on page 237) Function key with ID 08 (see also section Contents STD control Functionkey page on page 237) Function key with ID 09 (see also section Contents STD control Functionkey page on page 237) Function key with ID 10 (see also section Contents STD control Functionkey page on page 237)
FunctionKeyID05
FunctionKeyID06
unused
FunctionKeyID07
unused
FunctionKeyID08
FunctionKeyID09
FunctionKeyID10
258
May 2008
Controls
Property FunctionKeyID11
Meaning/Reference Function key with ID 11 (see also section Contents STD control Functionkey page on page 237) Function key with ID 12 (see also section Contents STD control Functionkey page on page 237) Function key with ID 13 (see also section Contents STD control Functionkey page on page 237) Function key with ID 14 (see also section Contents STD control Functionkey page on page 237) Function key with ID 15 (see also section Contents STD control Functionkey page on page 237) Function key with ID 16 (see also section Contents STD control Functionkey page on page 237) Function key with ID 17 (see also section Contents STD control Functionkey page on page 237)
FunctionKeyID12
FunctionKeyID13
FunctionKeyID14
FunctionKeyID15
FunctionKeyID16
unused
FunctionKeyID17
unused
May 2008
259
Controls
Property FunctionKeyID18
Range unused
Meaning/Reference Function key with ID 18 (see also section Contents STD control Functionkey page on page 237) Function key with ID 19 (see also section Contents STD control Functionkey page on page 237) Function key with ID 20 (see also section Contents STD control Functionkey page on page 237) HTML Page/ Step after Function keys (see also section Contents STD control - Functionkey page on page 238)
FunctionKeyID19
unused
FunctionKeyID20
unused
HtmlOrStepAfterFlag
Bitfield (Default = 0) for all function keys. If Up or Pressed is configured this bitfield sets HTML/Step after: 0: HTML Page (Default) 1: Step after button Bytefield for Viewstates 0: up 1: pressed 2: diabled 3: hidden (Default)
FunctionKeyViewState
Viewstate for Function keys. Bytevalue for FunctionKeyID01 is set into Byte1, etc. (see also section Contents STD control Functionkey page on page 237) In a new window checkbox for FunctionKeyID01 is set into Byte1, etc. (see also section Contents STD control Functionkey page on page 238)
HtmlWindow
Bytefield for FunctionKeyIDnn HTML page: 0 (default): not in a new window 1: in a new window
260
May 2008
Controls
Property
StepAfterHtmlWindow
Range Bytefield for StepAfter for returncode nn (nn from 0 to 19): 0 (default): not in a new window 1: in a new window
Meaning/Reference In a new window checkbox for Returncode 0 (StepAfterHtml00) is set into Byte1, etc. (see also section Contents STD control Functionkey page on page 238) In a new window checkbox for Returncode 0 (StepStartHtml00) is set into Byte1, etc. (see also section Contents STD control Functionkey page on page 238) Step after (see also section Contents STD control - Step After page on page 248) HTML page for step after returncode 0 (see also section Contents STD control - Step After page on page 249) HTML page for step after returncode 1 (see also section Contents STD control - Step After page on page 249) ...
StepStartHtmlWindow
Bytefield for StepStart for returncode nn (nn from 0 to 19): 0 (default): not in a new window 1: in a new window
StepAfter
StepAfterHtml00
StepAfterHtml01
...
...
May 2008
261
Controls
Property
StepAfterHtml19
Meaning/Reference HTML page for step after returncode 19 (see also section Contents STD control Step After page on page 249) HTML page for Function key 01 (see also section Contents STD control Functionkey page on page 238) HTML page for Function key 02 (see also section Contents STD control Functionkey page on page 238) ... HTML page for Function key 20 (see also section Contents STD control Functionkey page on page 238) Step Start (see also section Contents STD control - Step After page on page 248) Do not change , only for compatibility reasons (see also section Contents STD control Step page on page 250)
HtmlAfter01
HtmlAfter02
... HtmlAfter20
StepStart
StepStartSoftkeysAllowed
262
May 2008
Controls
Property
StepStartHtml00
Meaning/Reference HTML page for step returncode 0 (see also section Contents STD control - Step After page on page 249) HTML page for step returncode 1 (see also section Contents STD control - Step After page on page 249) ... HTML page for step returncode 19 (see also section Contents STD control - Step After page on page 249) Timeout property page, default checkbox (see also section Contents STD control - Timeout page on page 232) Cancel property page, default check box (see also section Contents STD control - Cancel page on page 235) Top coordinate for all function keys new window (see also section Contents STD control - Functionkey page on page 238)
StepStartHtml01
... StepStartHtml19
TimeoutDefault
0 (default): read values from property page 1: Read values from registry 0 (default): read values from property page 1: Read values from registry Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = 54
CancelDefault
NewWindowTop
May 2008
263
Controls
Property NewWindowLeft
Range Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = 44 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = 712 Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = 260
Meaning/Reference Left coordinate for all function keys new window (see also section Contents STD control - Functionkey page on page 238)
NewWindowWidth
Width for all function keys new window (see also section Contents STD control Functionkey page on page 238)
NewWindowHeight
Height for all function keys new window (see also section Contents STD control Functionkey page on page 238)
264
May 2008
Controls
Property PinEntry
Range Bitwise calculated field: ggggggffffffffeeeeeeee 0dcbbaaa Add the following values a: Activate EPP keys 0 = No input 1 = Normal input 2 = Pin input 7 = Automatic b: Pin digits 0 = 4-digits 8 = 6-digits 16 = user defined c: Continue without confirm key 0 = off 32 = on d: once changed the EPP keys configuration 0 = off 64 = on e: User defined min.: number multiplied by 256 f: User defined max.: number multiplied by 65536 g: Continue after timeout value: number multiplied by 16777216
Meaning/Reference EPP-Keys Submenu (see also section Contents STD control EPP Keys page on page 240) Please make sure that not all combination make sense. Better is to use frontpage for automatic calculation.
May 2008
265
Controls
Property EPPConfigActiveFDK
Range Add the values of the active Softkeys: F1: 1 F2: 2 F3: 4 F4: 8 F5: 16 F6: 32 F7: 64 F8: 128 Add the values for the active keys: 0: 1 1: 2 2: 4 3: 8 4: 16 5: 32 6: 64 7: 128 8: 256 9: 512 Enter: 1024 Cancel: 2048 Clear: 4096 Help: 16384 DecPoint(*): 262144 Res1(,): 32787 Add the values of the terminate Softkeys: F1: 1 F2: 2 F3: 4 F4: 8 F5: 16 F6: 32 F7: 64 F8: 128
Meaning/Reference Values of the selected active Softkeys (see also section PinInput on page 244) and (see also section PinInput on page 244)
EPPConfigActiveFK
Values of the selected active EPP keyboard keys (see also section PinInput on page 244)
EPPConfigTerminateFDK
Values of the selected terminate Softkeys (see also section PinInput on page 244) and (see also section Button control - General 2 page for function keys on page 86)
266
May 2008
Controls
Property EPPConfigTerminateFK
Range Add the values for the terminate keys: 0: 1 1: 2 2: 4 3: 8 4: 16 5: 32 6: 64 7: 128 8: 256 9: 512 Enter: 1024 Cancel: 2048 Clear: 4096 Help: 16384 DecPoint(*): 262144 Res1(,): 32787 single alphanumeric character or group of alphanumeric characters single alphanumeric character or group of alphanumeric characters single alphanumeric character or group of alphanumeric characters String: HTML page
Meaning/Reference Values of the selected terminate EPP keyboard keys (see also section PinInput on page 244)
EPPConfigValue_FK_ Decpoint
The value of the ,-key (see also section PinInput on page 246) The value of the *-key (see also section PinInput on page 246) The replacement sign for PIN input (see also section PinInput on page 246) Continue with HTML page (see also section PinInput on page 243) EPP Error HTML page(see also section Automatic mode on page 241)
EPPConfigValue_FK_ res1
EPPConfigValue_FK_ sub
EPP_OK_Href
EPP_NOK_Href
May 2008
267
Controls
Property
StepStartParam
Range String
Meaning/Reference
Input Parameter for steps (see also section
String
Input parameter for step after (see also section Contents STD control - Step After page on page 248) Instance return string (see also section Contents STD control Instance return page on page 251)
InstanceReturn
String Array divided by semicolon (;) Byte 1-3 Instance returncode Byte 4: 0: _self 1: _new 2: _parent 3: _top Byte 5-semicolon: HTML Page (see also section Range for ADA Command on page 225) -1: Init 0: Do not navigate 1: Navigation allowed
ADACommand
ADA configuration Panel(see also section ADA configuration panel on page 202) Read only property: may be used to ask in script, if a navigation is allowed.
CTRLstatus
268
May 2008
Controls
The ActiveStep control action FW class was defined in the Contents STD control. Without the ActiveStep control, the Transaction FW class would not execute and the hardware or Host Protocol Frameware could not be accessed.
The default setting of the ActiveStep control is to communicate with the Transaction FW, so in general no changes are necessary. Therefore no relevant changes can be done on its property page. It is possible to change the default framework communicated to by the ActiveStep. As an additional framework to communicate with today only the CCServiceFW is supported. If you want the ActiveStep to communicate with the CCService framework you can configure the settings in the HTML code. All corresponding frameworks must contain the special step ProcessStep (pzDummy, pzStepName, pzStepParam). The HTML sourcecode of the ActiveStep looks like: <object classid="clsid:47ED0993-B589-11D0-93020000E8A6CB06" id="ActiveStep1" width="100" height="50"> <param name="_Version" value="65536"> <param name="_ExtentX" value="2646"> <param name="_ExtentY" value="1323"> <param name="_StockProps" value="0"> <param name="StepParameter" value> <param name="Framework" value> </object> The relevant parameters to change the framework communication are StepParameter and Framework. StepParameter: Here a function input parameter of a step can be defined, which later can be queried by the step. But is is better to fill this parameter in the property page of the Contents STD Control (see also section Contents STD control - Step page on page 250). Framework: The framework which should be communicated with can be configured here. The name of the framework must match the synthax in the registry in ...Wincor Nixdorf/ProTopas/CurrentVersion/CCREPMGR/FRM_REPOSITORY key, e.g. CCTransactionFW. At the moment all Steps are settled in the Transaction FW, which is the default setting of the ActiveStep control. Even if the value is empty the Transaction FW will be used! It only makes any sense to change the framework if you implement your own Steps in other frameworks!
May 2008
269
Controls
Additionally the ActiveStep can be used to call Steps without using the Contents STD control. Therefore several scripting methods are designed (see also section ActiveStep control on page 473). This is necessary when a Step should be called only in a special situation which cant be handled by the Contents STD control. Example: A good example is the BAS_WINPRINT Step. This Step shall be called only if the print button would be pressed. The following sourcecode shows handling the Step scripting: function PCContentsSTD1_afterButtonPressed(FieldID) { // Check if the print button was pressed if (FieldID == 6) { ActiveStep1.ProcessStep("BAS_WINPRINT"); } } This function analyzes if the print button was pressed. If the print Button was pressed, the Step BAS_WINPRINT is called. The command ActiveStep1.ProcessStep causes the ActiveStep control to call a Step, where ActiveStep1 is the ID of the ActiveStep control. function ActiveStep1_RunComplete(sRetCode) { // Analyse the return codes from the BAS_WINPRINT step switch(sRetCode) { //...different cases... } } <SCRIPT LANGUAGE=javascript FOR=ActiveStep1 EVENT=RunComplete> <!-ActiveStep1_RunComplete(arguments[0]) //--> </SCRIPT> This function analyzes the return code of the called Step. All possible return codes must be handled in the switch term.
270
May 2008
Controls
However, a trick is needed to close this new instance again. The browser instance is closed by loading an Internet page named CLOSE.HTM. This can be done by using a script or by a selection button which navigates directly to CLOSE.HTM (see also section Button control General 2 page for selection buttons on page 91). The value of the selection button should be InstanceEndRestart. A predefined selection key Close-Popup-Window is already available after installation of the ProTopas/Web-Extensions. The script - mostly used for navigating after timeout - may be as follows: <SCRIPT ID=clientEventHandlersVBS LANGUAGE= vbscript> <!-Sub window_onload() close after 10 sec call window.setTimeout("call Contents.NavigateGotoURL(close.htm)", 10000) end sub --> </script> It is not admissible to use the Timer of the Contents ATM Control, because this would send a return code to the application instead of closing the instance. May 2008 271
Controls
When the new browser instance has been closed, control returns to the Internet page that opened the instance. The timer on this page is automatically restarted. When the new browser instance has been closed, control returns to the Internet page that opened the instance. The timer on this page is automatically restarted. Navigation to a new Internet page is controlled from there by writing one of the return codes of the following table to the VAR_DLG_INPUT_RESULT_S variable before closing the new browser instance. The easiest way to write data to this variable is to create a selection button which has the corresponding value and simultaneously loads the CLOSE.HTM page. The Contents STD control automatically writes the value of the pressed button to the VAR_DLG_INPUT_RESULT_S variable before it closes the new browser instance. Another way of setting this variable is to include it in a script. This can be done with the OnUnload script or, for example, with an OnTimeout in the Contents STD control. (see "Scripting" on page 455). Return code "InstanceEndRestart" Meaning If a Transaction FW class was entered in the loading Internet page, it is restarted. The process continues with the return code of the Transaction FW class. If no Transaction FW class is active, the process continues after the press of a button. "InstanceCancelStd" The Internet page specified for Cancel message on the Cancel page of the Contents STD control is loaded. The Internet page specified for Confirmation question on the Cancel page of the Contents STD control is loaded.
"InstanceCancelQuestion"
272
May 2008
Controls
Meaning The Internet page specified for Timeout message on the Timeout page of the Contents STD control is loaded. The Internet page specified for Confirmation question on the Timeout page of the Contents STD control is loaded. The Internet page specified for After timeout on the Timeout page of the Contents STD control is loaded. The Internet page specified for the first item in the Function key list box on the Functionkey page is loaded. The Internet page specified in the property page Instance return (see also section Contents STD control - Instance return page on page 251) in Contents STD control for returncode 0 is loaded. ... The Internet page specified in the property page Instance return (see also section Contents STD control - Instance return page on page 251) in Contents STD control for returncode 999 is loaded.
"InstanceTimeoutQuestion"
"InstanceAfterTimeout"
"InstanceAfter00"
"InstanceReturn000"
... "InstanceReturn999"
When VAR_DLG_INPUT_RESULT_S is not available or does not contain any of the value above after closing the new window, the Contents STD/ATM Control will not restart any Step, but wait for the Timeout in the opener page. On Timeout in the new window the variable VAR_DLG_INPUT_RESULT_S will get the value InstanceEndRestart automatically, when none of the values above has been set into this variable before.
May 2008
273
Controls
274
May 2008
Controls
This string variable can assume the following states: VIEW_STATE_DEFAULT_S ( -1): It is not the Viewstate variable that is evaluated but the setting in the State field for the control in question. VIEW_STATE_UP_S (0): The button has to be shown as up. VIEW_STATE_PRESSED_S (1): The button has to be shown as pressed (selected). VIEW_STATE_DISABLED_S (2): The button is to be shown as disabled (not selectable). VIEW_STATE_HIDDEN_S (3): The button is to be hidden. These values cannot only be set in a Step but also in a script on the Internet page.
May 2008
275
Controls
If there has to be a complete transmission of unicode data from the host system to the user interface and vice versa, a new Host Protocol Framework and an overlay of the Data Dictionary Framework have to be implemented. This transmission does not mean the HTTP Protocol via TCP/IP. Unicode data can be transformed with this protocol very well. So new projects have to think about using this way to transport data to backend systems. On the other hand even the trace output must use unicode to locate problems with Unicode interfaces. To achieve this a new version of TRCWAPI.DLL of TLS-W32 and of TRCDUMP.EXE (Version 2204) from ProTopas/Manager must be used. A new set of TED Files for Trace output has been built which uses these new versions for tracing even unicode texts.
Fig. 91: Unicode - Data flow
Ch
Unicode
ar
Trace
To install the unicode versions of the controls they have to be copied manually or by using a batch job during installation. The Unicode versions are located in
\ProTopas\Web\OCX\Unicode
They have to be copied into
\ProTopas\Web\OCX
The same has to be done with the TED files. They unicode versions are installed in
276
May 2008
Controls
\CSCW32\Ted\Unicode
They have to be copied into
\CSCW32\Ted
The following SW Packages have to be installed for getting the versions of DLLs which allow to trace unicode characters into the trace log: ProTopas/Manager Version 3.0/30 TLS-W32 Version 2.0/20 To enable to create an Unicode tracefile, which can be opened in the NotepadEditor, \ProTopas\Bin\td.cmd has to be changed. Instead of trcdump trace error the line has to be changed to trcdump tracew error The trace output in TraceView is presenting unicode automatically, if the right version of TLS-W32 is installed. If ProTopas Frameworks must be implemented, which have to trace Unicode characters, please contact the development department. A special version of TrcErrW.lib and TrcErr_e.h has to be used.
May 2008
277
Controls
The variables are initialised at the startup of the ProTopas/Web-Extensions and again before ExeCmdGetPin() function is started. After a successful end of the function is is filled with other values than after an end with error. See the values in the table below: Properties default (WebExt start) before ExeCmdGetPin() after ExeCmdGetPin() error after ExeCmdGetPin() OK VAR_PIN_ENTRY_ DIGITS_L -1 -1 -1 usDigits VAR_PIN_ENTRY_ COMPLETION_L 0 0 error code usCompletion
For more information about error code, usDigits and usCompletion check The ProTopas Programming Guide, chapter EPP Framework, function ExeCmdGetPin().
278
May 2008
May 2008
279
The self-service extensions to the Microsoft Browser Control are encapsulated in multiple shells. The PCBrowser control is used to activate the Microsoft Browser control. It operates with the interfaces of the Microsoft Browser control, handles windows, hides the cursor and, via a parameter, defines the home page with which the application is to start. The HTMLGen control the HTML generator is responsible for editing and formatting variables on Internet pages. Every page in the application always runs through the generator to replace any variables that exist on this page. The Internet page is scanned for variables during the loading process. These are replaced and the page is then buffered in a temporary directory. Only then is the name of the temporary Internet page passed to the PC Browser control so that it can be displayed. The AllowList control is an internal firewall. Only the Internet pages that are entered in the AllowList are displayed on the terminal device. To govern this, there is an AllowList file in which all valid Internet pages are recorded. Wildcards can be used. Using wildcards makes it easy to allow all Internet pages in the application that are stored on a particular intranet server. If an attempt is made to load a page that is not allowed, Intranet pages are displayed pointing this out to the customer.
280
May 2008
HTML generator
The PCView control is available to control all controls described so far under a simple interface. Flow control that is needed to load a new Internet page is handled here. Externally, it provides a simple interface to navigate through Internet pages. This module also incorporates the recognition of offline (see "Switching the Web Graphical Service offline" on page 300) and the output of error messages when there is an attempt to navigate to disallowed Internet pages (see "Rejection of selected Internet pages" on page 296). The Dialog Framework is a ProTopas framework module which has been implemented as an executable. This framework can be addressed by the other ProTopas frameworks via the ProTopas interfaces. The Dialog Framework is the only component of the Web Graphical Service that is visible and can be used externally. The Dialog Framework offers the interface which is used by the application to load the Internet pages. The description of the interface is documented in the Dialog Framework (see also section Dialog Framework on page 322).
The Dialog Framework is only called from the application to implement language-specific settings when a new language has been chosen and for language-specific formatting. An overlay has been created for these functions. The name of this overlay framework is PCDialogFW (see "PCDialog framework" on page 342). The Dialog Framework is internally using the Internet Explorer, as mentioned above. Because the IE may throw exceptions, if plug-ins are used, which are not stable or because of problems with Multimedia support modules, etc. , these exceptions will cause the Dialog Framework to exit with returncode 51. This is normal behavior. The maschine should be rebootet in this case. The following sections describe the adaptations that can be made with the HTML generator and AllowList components.
HTML generator
The HTML generator is needed to display business data from the ProTopas modules on Internet pages. For example, account information is received via the ProTopas Host Protocol Framework and inserted in the appropriate variables. You can place these variables on Internet pages by entering their
May 2008
281
HTML generator
names with an internal syntax at the appropriate position on the Internet pages. The HTML generator comes into action whenever a page is loaded. It scans the pages for this internal syntax and replaces every variable that it finds with the appropriate value of the Host Protocol Framework. Formatting can be specified for the replacement process. The HTML generator is the only instance that performs any formatting. If input fields need to be formatted after the input, the check routines call the HTML generator. The format routine of the Web Graphical Service is used in this process (see also PCDialog framework on page 342). Every page that is loaded is processed by the HTML generator. It generates the Internet page that is to be passed to the PCBrowser control in a temporary directory. The position of this temporary directory can be defined in the Web Graphical Services TempPath parameter (see "TempPath" on page 618 in the Parameters chapter). Storing the pages in a temporary directory means that the relative reference to the address of the Internet page is lost. The Web Graphical Service employs a trick to allow relative paths for navigation nevertheless. The base address is entered in the header of the Internet page as follows: <BASE HREF= "http://fabulous/proconsult/german/Start.htm"> In addition, an anchor in the form <a ID=PC_GeneratedAnchor href=nopage.htm target= notarget></a> is inserted at the start of the body of the Internet page. When a new page is accessed, the required Internet page is written to the href property of PC_GeneratedAnchor and PC_GeneratedAnchor is clicked automatically. Now the browser automatically loads the Internet page from its home address.
282
May 2008
HTML generator
HTML-generator
Name: Martin Miller Account: 1212100312 Balance: 987,65 DM
During loading of the HTML-page the variables will be filled with data. The browser will be given the completed page for display.
HTMLGenerator generator
P O S
Intranet Server
HOSTSystem
The variable to be replaced can either be entered in a control or, if variables need to be placed in the middle of normal HMTL text, they can be entered in a specially developed WebBot for Microsoft FrontPage. A WebBot is a selfdeveloped extension to the FrontPage editor. With the aid of this extension, variables, their formatting and default values can be inserted very easily at any point on an Internet page via a dialog page. It is possible to enter single variables, which content can be received by a data dictionary call or a variable out of an array. The variable is requested from the Variable Framework first. If it is not available in this framework, the HTML Generator tries to get it from the Data Dictionary Framework. Arrays are directly requested from the Data Dictionary Framework, because this type of data is not available in the Variable Framework. If the designer of the Internet pages does not like to work with FrontPage, the way to use ths technique is to write the syntax of the WebBot directly into the HTML code.The syntax in described in the next chapter. Because the Webbot Syntax is implemented in an HTML-comment, it is possible to use it in other tools. However, the WYSIWYG functionality to preview the variables is available only in FrontPage.
May 2008
283
HTML generator
SNI_PC_VARIABLE WebBot
Sinse Version 1.1/37 from ProTopas/Web-Extensions it is not longer necessary to use a WebBot to insert Variables in the HTML Body outside of the controls. If the syntax: [# name of PC variable ; formatting of PC variable; default value of PC variable #] is used, this is sufficient. However, if the pages are shown in Frontpage and a WebBot is used only the preview will be visible. The pages are more readable though. The dialog page of the WebBot is very simple. It contains the four input boxes described below: Name of the variable: The name of the variable to be displayed is entered here. Array variables are are possibe, too. To enter the index, the index must be surrounded by [ ] (Example: MyArray[index]). Formatting of the variable: The required formatting can be selected here from a list. The following values can be selected: Leave the field empty (no formatting) D (date - long) S (date - short) T (time) C (currency with decimal places but without currency code) M (currency with decimal places and currency code) N (Number) A free-format mask can also be specified. The @ character is used as a placeholder for the characters to be replaced. All characters other than @ are output at the position in which they appear in the mask. However, the first character must be either < or >. > means that the placeholder characters in the mask are entered from right to left. Leading zeros are suppressed as of the second character before the right-hand separator. < means that the characters are entered from left to right. Example: Variable: 000345600 Mask: >@@@.@@@ % Result: 345.600 % Variable: 000000600 Mask: >@@@.@@@ % Result: 0.600 %
284
May 2008
HTML generator
CCFORMAT:format from CCFormat FW. A format from the ProTopas Format Framework may be used in this case. For more information about the formats see ProTopas Module Construction Kit Programming Guide.
Example: CCFORMAT:#F Default value of the variable: A default value for the field can be specified here. This default is displayed if the variable does not exist. Preview value of the variable: Specify the text here, which shall be shown as a placeholder for the WebBot in the page. There are three different views, which are all set with the value entered here: The normal view in Frontpage: The PREVIEW="x" value is used. The preview view in Frontpage: The local_preview="x" value is used. The view in teh browser, when the page is not generated: The x between closing comment and opening of new comment (-->x<!-) is used.
Fig. 94: Inserting a variable by means of WebBot
Internally, a variable entry generates the following HTML syntax via a WebBot: <!--webbot bot="SNI_PC_Variable" startspan PREVIEW="x" local_preview="x" clientside s-value= "[#CCTAFW_PROP_DISPENSE_AMOUNT;M;#]" -->x<!--webbot bot="SNI_PC_Variable" I-CheckSum="120" endspan -->
May 2008
285
HTML generator
The content that is actually important is stored in the s-value parameter.The syntax of the content is as follows: [# name of PC variable ; formatting of PC variable ; default value of PC variable #] The WebBot automatically generates the value in the :PREVIEW parameter. This value is displayed during editing in Microsoft FrontPage. In this way you can get a WYSIWYG display when creating a page. Default values are displayed in a WebBot whenever the variable has not been defined. With this approach, context-sensitive contents can be shown or hidden. If the associated variable is set to a blank, the default value is not displayed. If the variable is deleted, the corresponding value is displayed. Installing the WebBot in Front Page 98 The prerequisite for installing the WebBot is a PC running under Windows NT or Windows 95/98 on which Microsoft FrontPage has been installed. In a standard installation, FrontPage creates a directory named FrontPage Webs\Content\ in which all self-made Webs are stored. This is the main directory for the Web server. If a Web server other than the FrontPage Personal Web Server is installed, you have to create a subdirectory named _vti_bot\ in the main directory to store the WebBots. You must also create a subdirectory of that named SNI_PC_VARIABLE\ to which two files belonging to the WebBot are copied. These files are called SNI_PC_Variable.dll and SNI_PC_Variable.inf. Then you have to open the personal Web (local) in the FrontPage Explorer and choose the Recalculate Hyperlink function from the Tools menu. If you now want to enter a variable in an Internet page, open the page in the FrontPage Editor by double clicking the file in FrontPage Explorer, place the cursor at the required position and call Frontpage Component from the Insert menu. Select SNI_PC_Variable from the list that now appears. The dialog page shown in Fig. 94: "Inserting a variable by means of WebBot" is opened. When SNI_PC_Variable is first selected, a dialog opens which ultimately places the WebBot in the installation directory of FrontPage. It is not possible to use the WebBots by opening an HTML page directly and not using the FrontPage Explorer. This functionality is connected to a web in FrontPage. So the page has to be opened
286
May 2008
HTML generator
mandatory in FrontPage Explorer. There is no need to have an installed Web Server. FrontPage98 installs a personal Web Server which is sufficient for this functionality. Installing the WebBot in Front Page 2000 The prerequisite for installing the WebBot is a PC running under Windows NT or Windows 95/98 on which Microsoft FrontPage has been installed. In a standard installation, FrontPage is installed in a directory named Program Files\Microsoft Office\Office\. There is a subdirectory named bots\ installed to store the WebBots. You must also create a subdirectory of that named SNI_PC_VARIABLE\ to which two files belonging to the WebBot are copied. These files are called SNI_PC_Variable.dll and SNI_PC_Variable.inf. Then you have to open FrontPage, open any web and choose the Recalculate Hyperlink function from the Tools menu. Installing the WebBot in Front Page 2003 The difference to the installation of Office 2000 is the installation path: FrontPage is installed in a directory named Program Files\Microsoft Office\Office11\. There is a subdirectory named bots\ installed to store the WebBots. You must also create a subdirectory of that named SNI_PC_VARIABLE\ to which two files belonging to the WebBot are copied. These files are called SNI_PC_Variable.dll and SNI_PC_Variable.inf. Then you have to open FrontPage, open any web and choose the Recalculate Hyperlink function from the Tools menu. If you now want to enter a variable in an Internet page, open the page in FrontPage, place the cursor at the required position and call Component from the Insert menu. Select Additional components and SNI_PC_Variable from the list that now appears. The dialog page shown in Fig. 94: "Inserting a variable by means of WebBot" is opened. When SNI_PC_Variable is first selected, a dialog opens which ultimately places the WebBot in the installation directory of FrontPage. A web has to be opened before the WebBot components menu will be activated in FrontPage 2000. If the pages are not jet transferred into a web, please select New, Web, Webimport assistant and follow the Steps the assistant requests. An installed Web Server is not required foir this functionality.
May 2008
287
HTML generator
Formatting settings
The formatting of the date, time and amount inputs can be predefined on a language-specific basis by setting parameters. There are parameters to output the date in long and short format, as well the time and an amount (see "Parameters for the HTML generator" on page 623 in the Parameters chapter). If you want to use Windows NTs language-specific settings instead, you can do so by setting the UseLocales parameter to 1. The language-specific parameters are stored in the Windows Registry under the following key: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraficalService PCHTMLGen (language) ... (language) stands for the name of the selected language. If the system is to operate with a choice of four languages, there must be four keys, each of which has the name of a language and a complete set of parameters. This means that different formats for the amount and date can be selected for each language (see "Converting language-specific formats" on page 308).
288
May 2008
HTML generator
For a Web-Extensions/HyperLink architecture the relativ changes of the language specific subdirectories may be omitted. The placeholders in the pages have the following syntax: [%WX_TEXT[Index];Default%]: Index is a string, which identifies the text, which should be replaced here. Default specifies a string, which is used for replacement if the Index string is not found. The Index string is read from the following registry section on startup from the DefaultLanguage (see "DefaultLanguage" on page 619 in the Parameters chapter) and on every call of ChangeLanguage(), when the language specific format settings are updated (see also section Converting language-specific formats on page 308): HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraficalService PCHtmlGen <language> Text General Text So all texts for each each language are stored in the HTMLGen section in the language specific subkey under the key Text. The parameter name has to be the string Index from WX_TEXT placeholder. This string maybe a number or any string. Even subkeys may be used under the key Text for better structuring.
May 2008
289
HTML generator
There is one section General/Text additionally to the language specific subkeys. This may be used to store some Indexs for every language. This is useful if texts for all languages is used or if the text replacement is extended to fill in complete sections of HTML tags, etc. Example: ProTopas/CurrentVersion/ActiveX/ GraficalService PCHtmlGen <language> Text 001="This is the first text." Base OutOfService="Device is out of service." 100="Thank you." CashOut Take="Please take your notes." Please take care to use the Index string as a unique name. It must not exisit twice under the key Text even if it is in different subkeys. As it is said, those subkeys (like Base and CashOut in the example above) are only used for a better structure. In the HTML page the placeholders for the examples above have the following syntax: [%WX_TEXT[001]%] [%WX_TEXT[OutOfService];%] [%WX_TEXT[Take];Please take your notes.%] These placeholders can be at every position in the HTML page (in the controls, in normal HTML tags, in the Header, in Scripts, etc.), so the handling is quite different to the WebBots. Secondly these Index strings can not be read through the data dictionary control. If a string shall be used in a script, it is the best to apply it to an internal script variable. These placeholders use is only for static text.: <SCRIPT LANGUAGE="javascript"> <!-try { myVariable = "[%WX_TEXT[100]%]"; ...
290
May 2008
HTML generator
If WX_TEXT[100] would contain any " signs the upper script would not work properly. In this case you have to create a tag somewhere in the body of a web page ike this: <p id="100">[%WX_TEXT[100]%]</p> The script has to be changed to try { myVariable = document.getEle mentById("100").innerText; ... } Using variables instead of constants in WX_TEXT This function is available since version 1.1/37 of ProTopas/WebExtensions. It is possible to use a variable with the syntax [# name of PC variable ; formatting of PC variable; default value of PC variable #] as index of a WX_TEXT placeholder: [%WX_TEXT[[# name of PC variable ;; default value of PC variable #]];default%] or as default value of a WX_TEXT placeholder: [%WX_TEXT[index];[# name of PC variable ;; default value of PC variable #]%] The HTML generator runs two times. The first time it replaces the variable: [%WX_TEXT[Value of PC variable];default%] or [%WX_TEXT[index];Value of PC variable%]
May 2008
291
AllowList
the second time it replaces the WX_TEXT placeholder with the value from the registry key Value of PC variable or index. This is the Registry Contents of Value of PC variable Another possibility to use variables in WX_TEXT is to have variables in the registry constants for WX_TEXT: ProTopas/CurrentVersion/ActiveX/ GraficalService PCHtmlGen <language> Text Test="This is [#name of PC variable ; formatting of PC variable; default value of PC variable#]" Testdirect="This is [&name of PC variable ; formatting of PC variable; default value of PC variable&]" The variable in first constant Test is directly replaced at the beginning if the Web-Extensions or at any ChangeLanguage() call to the Web Graphical Service. The variable in constant Testdirect is replaced directly at the generation of the HTML file, where the WX_TEXT[%Testdirect; default%] is used.
AllowList
Since the Web Graphical Service is implemented by an Internet browser, any Internet page can be downloaded from the Internet. This can be important, for instance, when you want to display stock exchange rates or information on any topics on the self-service device without the pages having to be created in the intranet. The size and design of such pages, however, always constitute a problem because they will generally not fit in with the chosen self-service design. Since the Web Graphical Service is implemented by an Internet browser, any Internet page can be downloaded from an Internet Server. For security reasons the AllowList is an internal firewall, which protects the self-service system from displaying other Internet pages than desired. Displaying such pages on the selfservice terminal would enable customers to surf the Internet freely. It is therefore important to allow access to certain Internet pages only. This is done
292
May 2008
AllowList
by means of firewalls. These are programs which restrict access to Internet pages as a result of parameterization. The AllowList is a very simple firewall. Access restriction is achieved by parameterizing a simple Internet page the AllowList. This page can be stored locally on the self-service device and on an Internet server. The location of the AllowList is notified to the Web Graphical Service by the ConfigPageURL parameter (see "ConfigPageURL" on page 615 in the Parameters chapter) The AllowList is an Internet page with a simple table. It is best to edit this page with Microsoft FrontPage. The structure can be seen in Fig. 95: "AllowList". The wildcard character * can be used. The AllowList is parsed from the top to the bottom. So you have to take care about the use of wildcards. Rows without wildcards have to be specified on top of each table. The AllowList is split up into a section for HTTP:\\ and a section for FILE:\\ access. Local accesses can thus be parameterized differently from Internet accesses. Other protocols can be edited by creating a section for this in the headline of the protocol (f.e. Javascript). Specification of General will include all possible protocols. But please be careful when using a General section because this may allow all actions to Internet pages. Because the described structure has been enhanced from earlier versions a comment <!-- VERSION 002 --> must be located in the header of the AllowList. If this comment is not available, the Web Graphical Service assumes that the earlier version is installed. This did not contain the Port number. An AllowList with Port number column must contain the Version comment, otherwise an error will be reported. The latest version of the AllowList inserts a 7th and an optional 8th column in each table. Column 7 may be used to insert own HTML code at different locations in foreign HTML pages before they are loaded in the browser (see also section Expand external pages with own code on page 296). This version of the AllowList is marked with a comment <!-- VERSION 006 --> in the header of the AllowList. Additionally the path of the reference file must eather be located in a comment in the header <!-- ExpandFileURL C:/ProTopas/Web/Allow/Expand.txt -->.
May 2008
293
AllowList
Column 1 DOMAIN: The names of all allowed servers are entered here. If * is entered, every server can be accessed. Even native IP-Adresses, symbolized in four 3-digits numbers (nnn.nnn.nnn.nnn) can be edited here. The * can be used at the beginning or end instead of those 3-digit numbers or instead of full server names. Column 2 OBJECT: All allowed Internet pages and Web paths are entered here. A domain name can be specified here, too. In this case, however, an * should be specified in the DOMAIN column. Here, it is essential to specify a suffix if you are not operating with the * wildcard. If no DOMAIN is given here, the OBJECT has to begin with a / . DOMAIN and OBJECT added builds the complete Internet adress. Column 3 SUFFIX: A file name suffix (e.g. htm) can be entered here in addition. This is not compulsory, though. As a rule, only the * wildcard will be entered here. This column is only intended to allow all files with the same suffix. No file or domain name is allowed to appear in this column, only the file name suffix. Column 4 PORT: A special Port number may be edited here. If there is a request to allow only page from a special port, please enter the Port number. Column 5 GENERATE: This must be set to 1 for all ProTopas Internet pages. All Internet pages marked with a 1 here are generated by the HTML generator and placed in a temporary directory that the TempPath parameter points to (see "TempPath" on page 618 in the Parameters chapter). They are passed to the Web Graphical Service from there. A zero in this column means that the Internet page will not be generated. A zero should be entered
294
May 2008
AllowList
for all pages that do not belong to the ProTopas application, but are to be loaded from the intranet or Internet. It is important to ensure that all pages belonging to a frameset have the same digit here because the Microsoft technology does not allow pages originating from different sources (temporary directory, domain, hard disk) to communicate with each other for security reasons. Column 6 TIMER: This determines the timeout period for pages which do not belong to the ProTopas application. This value has to be set to zero for all Internet pages that are part of the ProTopas/Web-Extensions application because the timer is controlled from the pages themselves. The value that is entered here specifies the maximum time in milliseconds that will be waited until the application returns to the home page (see also Displaying external pages on page 449). But you have to understand, that the timer of the first internet page to be loaded in an instance of the external page mode is used during the complete external page mode session. So the timer of the other pages in this session will be out of interest. Column 7 INSERTION: This column may be used to insert a reference number for a paragraph in the Expand.txt file (see also section Expand external pages with own code on page 296). This paragraph contains the reference number, the position where the HTML code should be inserted and the HTML code itself. There may be more than one paragraph to be inserted. Different reference numbers are seperated by a Semicolon. Column 8 OPTIONAL: This column may be used for optional enhancements: The reserved keyword NO_LOCAL_CACHE is used in HTTPS:// Protocols for not cashing those pages (see also section Accessing https:// pages on page 452). The keyword WXmonitor may be used to activate a timer control (see also section Monitoring of navigation to another page on page 301) during the navigation from the current page to a trigger condition which will end this timer. If the trigger condition will not be reached the Web Graphical Service will navigate to the Offline page (see also section Switching the Web Graphical Service offline on page 300). The keyword WXmarketingmode ensures, that during a One-ToOne marketing session the time for this complete session may be entered. If this timer is timing out because of any problem the Web
May 2008
295
Expand external pages with own code Web Graphical Service components Graphical Service is navigating to the page specified behind this keyword (see also section Monitoring of more than one page on page 302). The keyword WNvikey:START activates the virtual keyboard, the keyword WNvikey:END deactivates it. (see also section Using the Virtual Keyboard on page 313)
296
May 2008
Web Graphical Service components Expand external pages with own code HTML code (more than one line possible) optional (for Position 301): PC_HTMLGEN_RULE_SEPARATOR optional (for Position 301): HTML code (more than one line possible) PC_HTMLGEN_RULE_END PC_HTMLGEN_RULE_START ... Reference number specifies the number of the paragraph. It must be identical to the number in column 7 of the AllowList. The range may be from 1 to 16000. Position specifies, where in the interent page the following HTML code should be inserted. The following positions are allowed: 101 102 103 104 110 201 202 Behind tag <Head> Before tag </Head> Behind tag <Body> Before tag </Body> Inside tag <Body> at the end Dont generate a tag <Base ...> Dont generate an anchor tag <a ...>
301 Replace, insert or delete tags. Here the position is not predefiend, but any HTML Code can be specified, which should be replaces or behind which the code may be inserted or deleted. The numbers 201 and 202 may be used to supress the generation of anchor and base tag to navigate in the temp directory. Each generated Internet page is stored in a temp directory, before it is loaded in the browser (see also section HTML generator on page 281). In the base tag the real address is stored, so a relative navigation will not try to load the page from the temp directory but from the real address. The supression of the base and anchor tag may be useful, if external pages already have a base tag, which shall not be set twice in an Internet page. May 2008 297
Expand external pages with own code Web Graphical Service components HTML code may be any kind of HTML sourcecode, inluding scripts and objects. Each paragraph in the Expand.txt file is separated from the others by the starting sentimel PC_HTMLGEN_RULE_START and the end sentinel PC_HTMLGEN_RULE_END. PC_HTMLGEN_RULE_SEPARATOR is used to separate the code, which should be replaced with the replacement code (only for position 301). Only for position 301: With this position it is possible to insert, replace or delete HTML tags at each position inside the HTML page, because the tag has to be specified, which should be replaced. Here are examples for inserting, replacing and deleting HTML tags: Inserting This is any text or tags.behind <p id="myP">this is any paragraph</p>: PC_HTMLGEN_RULE_START 7 301 <p id="myP">this is any paragraph</p> PC_HTMLGEN_RULE_SEPARATOR <p id="myP">this is any paragraph</p>This is any text or tags. PC_HTMLGEN_RULE_END Replacing <p id="myP">this is any paragraph</p> with This is any text or tags.: PC_HTMLGEN_RULE_START 7 301 <p id="myP">this is any paragraph</p> PC_HTMLGEN_RULE_SEPARATOR This is any text or tags. PC_HTMLGEN_RULE_END Deleting <p id="myP">this is any paragraph</p> : PC_HTMLGEN_RULE_START 7 301 <p id="myP">this is any paragraph</p> PC_HTMLGEN_RULE_SEPARATOR PC_HTMLGEN_RULE_END
298
May 2008
May 2008
299
Offline Fallback
The offline handling has been improved. The Web Graphical Service automatically checks if the page, which can not be loaded is found in the offline directory, before it activates the page, which is configured in the OfflineURL parameter. To activate this handling, the OfflineFallback parameter (see "OfflineFallback" on page 622 in the Parameters chapter) has to be switched to 1. Now the RootPathOffline (see "RootPathOffline" on page 620 in the Parameters chapter) and RootPath parameter (see "RootPath" on page 620 in the Parameters chapter) must be configured correctly. Web Graphical Service will try to
300
May 2008
Web Graphical Service componentsSwitching the Web Graphical Service off extract the relative path to the page to be loaded by subtracting the RootPath parameter from the complete path. It enhances this again with the RootPathOffline. Now Web Graphical Service tries to load the page from the Offline directory. If it is found there, the page from the OfflineURL is loaded as described above. Additionally the variable VAR_OFFLINE_HTML_NAME_S is filled, when the page can not be loaded. The variable contains the complete path and name of the unloadable page. This variable may be used to decide, where in the application the offline occured and to implement a proper reaction.
May 2008
301
Switching the Web Graphical Service offlineWeb Graphical Service compon timer from page1.htm is killed and replaced to the new timer, which is configured in the Allow List column for page2.htm. To reset this Timer queue, param1 must be set to 0 for the last page the link is navigating to. When param2 is set to 1 the timer will be killed, when the page navigates to the next page and the document complete event from this page is fired. When param2 is set to 2 the timer will be killed, when the next Contents STD/ATM Control is started. This must not obviously be on the next page but on a page, which does contain a Contents STD/ATM Contol. When param2 is set to 3 the timer will be killed, when a navigation is done to WXmonitor:OK, which is a reserved keyword. This navigation can be place in a Button or Contents STD/ATM Control or by script ( window.navigate("WXmonitor:OK")). This must not be on the next page, but you have to keep in mind that the timer is long enough to do all these navigations to reach the page, where this navigation is done. Monitoring of more than one page When a complete transaction flow shall be monitored as a single the keyword WXmarketingmode may be used. This ensures, that a transaction flow may
be supervised by timer. When this timer expires normally this means that a problem has occured during this flow. In this case the Web Graphical Service navigates automatically to the specified page. This must be a page which returns to a transaction flow the transaction must proceed with. An optional flag FLAG_NAVINACTIVEPAGE specifies if the navigation will continue in the active frame. If this flag is not set this means that the navigation takes place in top without any frames.
The Column 8 OPTIONAL must be configured in the following way: WXmarketingmode: Timer ; Page; Flag Timer: timer in seconds the complete flow may need (0-3600). Page: This page wil be called, when the timer will expire. Flag (optional): Here the keyword FLAG_NAVINACTIVEPAGE may be configured if the navigation must take place in the current frame. Otherwise is takes place on top. If this timer shall be stopped, the timer 0 has to be specified on the page, which shall stop it. WXmarketingmode: 0
302
May 2008
An other way would be to navigate the the reserved keyword WXmarketingmode:0. <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript> <!-function window_onload() { //this will stop the transaction timer window.navigate("WXmarketingmode:0"); } //--> </SCRIPT> There are start/stop events from PCDialogFW with parameter, where the timer and pagenames can be retrieved with (see also section Additional Events on page 344). Supervising the monitoring to the first offline page The parameter OfflineMonitorTimer (see "OfflineMonitorTimer" on page 622 in the Parameters chapter) may be used to supervise the navigation to the first offline page, when an application page could not be loaded and this has been supervised by WXMonitor (see also section Monitoring of navigation to another page on page 301). If the timer expires, the Web Graphical Service will be restarted, because the offline handling is the fallback if some problems will occur. But when the offline pages itself are not accessible, it is better to restart the Web Graphical Service.
HTTP://Mymachine/ProTopas/English/Start.htm Behind the configuration of the applications home page lies the path from which other Internet pages are loaded. It is possible to reference the other Internet pages relatively, i.e. without specifying the complete path name. It must be stated that it is very advantageous to access pages of an application relatively so that the entire Web can be moved if necessary without having to revise all the links. This initial page must necessarily contain a Contents ATM control, because the CCDialogFW.Open() function waits for the initialization event from Contents ATM control. It is preferable to show only a background. After the browser restart because of the memory leak of the Internet Explorer (see also section Memory leak of the Internet Explorer on page 309) the application starts with this background. The next page, which is loaded by calling the DoDialog() interface, loads the HTML page with the appropriate background. The Contents ATM Control must use an EndlessTimeout, because it shall never give a returncode to the Step. If the application wants to work with frames, the HTML Start Page must contain the frameset.
If the application deals with several languages, a new frameset must be loaded directly after a call of ChangeLanguage() (see also section CCDialogFW.ChangeLanguage on page 333). ChangeLanguage changes the habit of the Dialog Framework. The next page after a ChangeLanguage() uses the complete screen context for loading. If the application uses framesets, a new frameset must be loaded here. The next Internet pages will be loaded after a call of DoDialog(). The Graphical Service will automatically load this page into the frame that contains the Contents ATM control. It forms the URL of the Internet page, the Parameter RootPath (see "RootPath" on page 620 in the Parameters chapter) enhanced by the parameter DefaultLanguage (see "DefaultLanguage" on page 619 in the Parameters chapter) or the name of the language which was input as parameter of the ChangeLanguage() function. Example: RootPath = FILE://C:\ProTopas\Web DefaultLanguage = German DoDialog ("Idle");
304
May 2008
If the home page cannot be loaded, there may be several reasons: 1. The path or the HTML name has not been entered correctly. 2. The page has not been entered in the AllowList. 3. The connection to the intranet server or proxy has not been configured correctly. 4. The StartPage, RootPath and DefaultLanguage parameter has not been entered in the Registry.
Language selection
The basic design consideration for Internet pages is to create a separate page for each language. In this way, an Internet page can be translated to the appearance that it will have at run time. The WYSIWYG idea has been implemented. If the texts were read from just one file, the data could be gathered and passed on for translation but there would be no guarantee that user interface elements would not be shifted if the text did not fit into the areas provided for it. Furthermore, text on some elements could simply be truncated. To avoid this, a new set of Internet pages is created for every language. First, the application should be completed and tested in the standard language. Then the complete set of Internet pages has to be copied to a new language-specific directory, and each page needs to be translated. Structuring in languagespecific subdirectories is a good approach. If images on the Internet pages are addressed relatively and the images are created on the same level as the language-specific HTML directories, the set of image elements only has to exist once. Language-specific images or sound files can be created as a subdirectory of an HTML directory. There is the following arrangement:
May 2008
305
ProTopas\Web\English ProTopas\Web\German
ProTopas\Web\English\Images ProTopas\Web\English\Wav
A change of language is brought about easily by changing the directory through a language menu on an Internet page. If all Internet pages have a flat hierarchy in the \ProTopas\English directory, then the Internet pages can simply call each other by specifying just the name of the new Internet page without including a path: GeneralMainMenu.htm. To change the language, it is necessary to specify the relative path to the new language-specific HTML directory: ../English/GeneralMainMenu.htm A change of language is brought about easily by changing the directory by calling the ChangeLanguage() function. If all Internet pages are located in the \ProTopas\Web\English directory, then the Internet pages can be loaded by: DoDialog("GeneralMainMenu"). To change the language, it is necessary to specify the name of the language-specific subdirectory as input parameter of the ChangeLanguage() function: ChangeLanguage("German"). In this case, the Dialog Framework builds a new path \ProTopas\Web\German for searching the next Internet pages. The path is built using the parameter RootPath (see "RootPath" on page 620 in the Parameters chapter), enhanced with the input parameter of the ChangeLanguage() function: Example: RootPath = FILE://C:\ProTopas\Web ChangeLanguage("German") DoDialog ("Idle");
306
May 2008
Language selection
from an involved Internet page. If you load another frameset from a frame page, this is loaded in the small section of the frame page. The following trick will overlay a frameset over the entire screen: An Internet page is called without outputs. The new frameset is called from there by means of scripting. The content of the body of this page is the Active VarFW control and the following script: <script language="JavaScript"> ActiveVarFW.VariableName = "VAR_WEBNAME_S" ActiveVarFW.GetStringValue() FrmSetMenu = ActiveVarFW.VariableValue + '/English/LanguageFrmSetMenu.htm' window.setTimeout("top.navigate(FrmSetMenu)", 0); </script> The VAR_WEBNAME_S variable is set by the Web Graphical Service when the application starts. This variable contains the content from the RootPath parameter (see "RootPath" on page 620 in the Parameters chapter). Two intermediate pages are thus loaded after a language selection: The first with the script shown above and the second as a frameset page. The approach of loading a page with scripts followed by a new frameset page should also be taken when the layout needs to be changed while the application is running. If the screen is not split up into frames on information pages, for example, the same approach should be taken as when changing the language.
Language selection
If a frameset is loaded at any other time, this new frameset is loaded into the frame that Contents ATM control was positioned in. So this frameset is nested into the frameset specified in the StartPage parameter. To load another frameset not following language selection, the ChangeLanguage() function may even be used. By specifying the same language as that already loaded, the Dialog Framework loads the next frameset over the whole screen.
308
May 2008
May 2008
309
When a Wincor Xfs SYN service is running, the method ProcessFunc APP::STOP of that SYN service is used. The application is closed with Sync.ProcessFunc ("APP::STOP") and restarted with Sync.ProcessFunc ("APP::RESUME"); Additionally the HtmlDialogControl provides a watchdog functionality for the Graphical Service. It calls the GetbStatus() function periodically. If it does not get a returncode, it will reboot the system. It will reboot the system also, if an unhandled exception in the Web Graphical Service occurs. HtmlDialogControl also registers for the CCDIALOG_TEST_TIMER_OK events and checks if these are send. This is important because inside CCDialog a lot of timeouts are build with the Win32 SetTimer function and this function is very weak against invalid usage. When the Web Graphical Service is restarted because of a memory problem, there is an option to show a graphic during the restart periode. The parameter JOB_BEFORE_KILL (see "JOB_BEFORE_KILL" on page 682 in the Parameters chapter) and JOB_AFTER_KILL (see "JOB_AFTER_KILL" on page 682 in the Parameters chapter) may contain programms to load and to unload a Graphic, which looks like the startpage. Because the time to call the unload programm may be too short, a pause can be configured to wait until the graphic is loaded. Parameter AT_KILL_PAUSE_BETWEEN_JOBS (see "AT_KILL_PAUSE_BETWEEN_JOBS" on page 684 in the Parameters chapter) defines this timer value. When Web Graphical Service is restarted because of an Exception, the are other parameters with the same meaning: JOB_BEFORE_EXCEPTION (see "JOB_BEFORE_EXCEPTION" on page 683 in the Parameters chapter), JOB_AFTER_EXCEPTION (see "JOB_AFTER_EXCEPTION" on page 683 in the Parameters chapter) and AT_EXCEPTION_PAUSE_BETWEEN_JOBS (see "AT_EXCEPTION_PAUSE_BETWEEN_JOBS" on page 684 in the Parameters chapter). The procedure for stopping the customer service and reopen it again may be configured in two adtional parameters. If they are set to TRUE, the CloseCustomerService and OpenCustomerService function of the SyncFW are called. (see "AT_KILL_PAUSE_BETWEEN_JOBS" on page 684 in the Parameters chapter)(see "AT_KILL_APP_RESUME" on page 685 in the Parameters chapter). Parameter AT_KILL_GS_OPEN (see "AT_KILL_GS_OPEN" on page 685 in the Parameters chapter) specifies, if the Open() function of the Web Graphical Service should be called again or not.
310
May 2008
TIME_WAITFOR_RESTART_MEM (see "TIME_WAITFOR_RESTART_MEM" on page 685 in the Parameters chapter) and TIME_WAITFOR_RESTART_EXCEPTION (see "TIME_WAITFOR_RESTART_EXCEPTION" on page 685 in the Parameters chapter) are two parameters for fine tuning the amount of time to wait for the restart of the Web Graphical Service after a memory problem or after an exception. TIME_SLEEP_WATCH (see "TIME_SLEEP_WATCH" on page 686 in the Parameters chapter) and TIME_MAX_WATCH_THREAD (see "TIME_MAX_WATCH_THREAD" on page 686 in the Parameters chapter) are used for configuring the amount of time in ms for the loop of the Watchdog thread or the Memory watch thread. HTML Dialog Control Version 2242 There is a new functionality which allows to create a list with the name of all windows during the lifetime of the application. All window names, which are currently not in the list, are added at the end of the file and extend it. This list will kepp track, which popup windows have been created during a run of the application. Harmful windows like script error popups can be seen in this list very easy. To activate this function the parameter POPUP_KILLER (see
POPUP_KILLER in the Parameters manual on page 688) has to be switched to ON. In this case a file with the name POPUP.TXT will be created in the ProTopas/Web-Extensions Temp File (see TempPath in the Parameters manual on page 618). If the content of the file shall be UNICODE, the parameter POPUP_KILLER_FILE_UNICODE (see POPUP_KILLER_FILE_UNICODE in the Parameters manual on page 688) has to be set to YES. The parameter POPUP_KILLER_TIME_SLEEP (see POPUP_KILLER_TIME_SLEEP in the Parameters manual on page 689) specifies the time in milliseconds the function for the check of all popup windows is reactivated again and again. The default here is 5000 ms.
This file may be used to watch all popup windows, even those which are shown in case of problems. This file shall be zipped together with the trace files in case of problems with the Web-pages. HTML Dialog Control Version 2243 This version of the HTML Dialog control bings a better calculation of the memory growth. It is possible now to start an action when a configured amount of memory has been waisted. This is more secure
May 2008
311
than waiting for a percentage to be reached until an action starts. The parameter MAX_WEBEXTENSION_MEMORY_GROWTH (see MAX_WEBEXTENSION_MEMORY_GROWTH in the Parameters manual on page 689) is responsible for the activation of this process. HTML Dialog Control now monitors the memory every minute. If the amount of memory from the above mentioned parameter is reached, the HTML Dialog Control is restarting the Web Dialog. Example: The parameter MAX_WEBEXTENSION_MEMORY_GROWTH is set to 32. The starting amount of memory after the start of the ProTopas/WebExtensions is 10. When 43 MB of Memory are reached the Web Dialog will be restarted.
312
May 2008
May 2008
313
it is possible to load it into the middle of the screen, when Pos is set to 4 and the parameters Left (see "Left" on page 602 in the Parameters chapter) and Top (see "Top" on page 602 in the Parameters chapter) are used for specifying the upper left corner. To activate a virtual Keyboard page at any HTML Page with an Edit Control the following script has to be inserted: <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript> <!-function window_onload() { //this will pop up Virtual keyboard window.navigate("WNvikey:START"); } function window_onunload() { //this will hide Virtual keyboard window.navigate("WNvikey:END"); } //--> </SCRIPT> The navigation to WNvikey:START activates the Virtual Keyboard and the navigation to WNvikey:END deactivates it. In this case the Keyboard is still active but not as the topmost window. The Virtual Keyboard HTML page itself may be configured to change the layout of the Keyboard. There are a lot of functions to be used in script to activate the Keyboard, as there are: window.navigate("WNVKstatus:INIT"); INIT is used to tell the Virtual Keyboard instance, that the Keyboard HTML page is ready to start its work. So this navigation should be done in an window_onload() function call. window.navigate("WNVKcom:END"); This navigation stops the Virtual Keyboard entries and brings the Keyboard to the background. May be used for an <End> Button on the Keyboard HTML page. window.navigate("WNVKcom:MOVE");
314
May 2008
This navigation moves to keyboard into the edges clockwise. May be used for a <move> Button on the Keyboard HTML page. window.navigate("WNVKpos:LLLLTTTTWWWWHHHH"); This navigation moves to keyboard to the specified position and resizes it. LLLL - Distance from left side of screen to upper left corner TTTT- Distance form top of screen to upper left corner WWWW - Width HHHH - Height window.navigate("WNVKpos:MAX"); This keyword is used to maximize the virtual keyboard, when it is started minimized (by use of parameter MAXonStart=0). This might be useful, when another keyboard layout shall be used by scripting. window.navigate("WNVKpos:MIN"); This keyword is used to minimize the virtual keyboard, when it stays maximized after end (by use of parameter MINonEnd=0). window.navigate("WNVKpos:SHOW"); This keyword is used to activate and show the virtual keyboard instance. The difference between WNVKpos:MAX and WNVKpos:SHOW is that the maximize animation on a slow PC is not shown when using the WNVKpos:SHOW keyword. window.navigate("WNVKpos:HIDE"); This keyword is used to deactivate and hide the virtual keyboard instance. The difference between WNVKpos:MIN and WNVKpos:HIDE is that the minimize animation on a slow PC is not shown when using the WNVKpos:HIDE keyword. window.navigate("WNVKcom:FOCUS"); This navigation gives the focus back to the HTML page with the Edit Control. window.navigate("WNVKkey:XXXYY"); This navigation sends the selected key to the Virtual Keyboard instance and gives the focus to the HTML page with the Edit Control. The Instance pops this key into the Keyboard buffer of the Operating System. XXX: Virtual Key code YY: shift state
May 2008
315
Example: WNVKkey:07501 this will send SHIFT + VK_K, if you have a western keyboard layout in your aplication(process) you will get: K window.navigate("WNVKchar:ZZZZZ"); This navigation sends the selected Character to the Virtual Keyboard instance and gives the focus to the HTML page with the Edit Control. The Instance pops this key into the Keyboard buffer of the Operating System. ZZZZZ: numerical value of UNICODE character Example: WNVKchar:8364 ( = 8364) If you have set a german keyboard layout this will send CTRL + ALT + VK_E, You will get:. window.navigate("WNVKtrclog:XXXTTTTTT"); This navigation write a trace into the TLS Tracelog. XXX specifies the tracebit and TTTTTT the trace text. The text is transferred into the Graphical Service as 100this%20is%20analyse%20trace! Only the %20 is replaced by a blank from the Graphical Service. The tracebit has to be in the range of 000 to 255 window.navigate("WNVKerrlog:XXXTTTTTT"); This navigation writes an Error into the TLS Errorlog. XXX specifies the error number and TTTTTT the error text. The text is transferred into the Graphical Service as 10this%20is%20an%20error! Only the %20 is replaced by a blank from the Graphical Service. The error number has to be one of the following numbers. It has to be stored decimal, but will show up in the error log in hex: HEX 0101 DEC 257 StCode CCVK_ GENERAL EXCEPTION CCVK_ MEMORY EXCEPTION Type 0x64 Cause Installation Error: An Exception was thrown inside the module/control Installation Error: A MemoryException was thrown inside the module/control
0102
258
0x64
316
May 2008
HEX 0103
DEC 259
StCode CCVK_FILE EXCEPTION CCVK_ INTERNET EXCEPTION CCVK_ GENERAL_ ERROR CCVK_ ERROR_ INSTALATION CCVK_ WARNING
Type 0x64
Cause Installation Error: A FileException was thrown inside the module/control Installation Error: An InternetException was thrown inside the module/control Installation Error: A general ERROR inside the module/control Installation Error: An installation or configuration ERROR inside the module/control Invalid User Action: An Warning is issued inside the module/control
0104
260
0x64
0110
272
0x64
0111
273
0x63
0120
288
0x61
Example: <a href="WNVKerrlog:272this is a error log!">error</a> ERROR DUMP: 12/09 061024 14:09:51.06 TRCERR CC_ENTRY PID:00000464.0000043C Data:128 Type : Installation Error 0x64 Module : CCVK (783) StClass: 0x6420 Process: CCVK.exe APIName: HTML ERROR StCode : CCVK_GENERAL_ERROR (0x24000110) SrcName: CCVKDlg.cpp SrcLine: 763 Add : 'this is a error log!' Cause : A general ERROR inside the module/control
May 2008
317
Please be careful by using those logging possibilities together with a real navigation. This could guide to double navigations which will harm the system. it is always a good idea to use window.setTimeout() when a few traces and a navigation shall be performed quickly one after another. To see examples for all those navigations, please look into the HTML page for Virtual Keyboard, which is found in HRef Parameter (see "HRef" on page 604 in the Parameters chapter). There are two scripts to be used at activation of the Virtual Keyboard page and at the deactivation at end. Those can be configured by parameters. ScriptAtStart (see "ScriptAtStart" on page 604 in the Parameters chapter) contains eigher the script itself or the name of a function and ScriptAtEnd (see "ScriptAtEnd" on page 605 in the Parameters chapter) the script at the end of a keyboard session. In parameter ScriptLanguage (see "ScriptLanguage" on page 604 in the Parameters chapter) the language for thoise scripts must be specified. Those scripts may f.e. be used to jump to the language specific Keyboard layout page. By use of the parameters MAXonStart (see "MAXonStart" on page 603 in the Parameters chapter) and MINonEnd (see "MINonEnd" on page 603 in the Parameters chapter) together with the keywords window.navigate("WNVKpos:MIN"); and window.navigate("WNVKpos:MAX"); the time when the virtual keyboard shall be visible can be determined. If MAXonStart is set to 0 the navigation to window.navigate("WNVKpos:MAX"); in the virtual keyboard page itself will show the virtual keyboard on the screen. The parameter WindowPlacement (see "WindowPlacement" on page 603 in the Parameters chapter) configures the behaviour of the virtual keyboard. Aminimize/maximize behavior or
a show/hide behavior can be configured. With min/max on slow machines it is possible that the window movement is visible.
The virtual keyboard supervises the used memory and the checks for hangup situations. Therefor a few parameters have been added which specify some timers and amont of used memory CCVK.exe will be restarted. The parameter CheckWND (see "CheckWND" on page 605 in the Parameters chapter), specifies the time interval of the check for hangup situations. CheckWNDmax (see "CheckWNDmax" on page 605 in the Parameters chapter) describes the time, the process will not respond until CCVK.exe reports a hangup situation. CheckMem (see "CheckMem" on page 605 in the Parameters chapter) specifies the interval the memory is checked for leaks and
318
May 2008
CheckMEMMax (see "CheckMEMmax" on page 606 in the Parameters chapter) is the maximum amount of memory which might be allocated in CCVK.exe until the memory check will restart the instance. KillHardWAIT (see "KillHardWAIT" on page 606 in the Parameters chapter) will additionally check at restart situations, if CCVK.exe is really restarting. Othervice the complete application will be switched off. There are a few container variables, which might be used to check the state of the Virtual Keyboard or which might be used as container array variables itself for what ever purpose they are needed. The following variables are available: CCVK_VAR_CONTAINER_L [0-255] CCVK_VAR_CONTAINER_S [0-255] CCVK_VAR_STATUS_L (read only) This variable will have the contents Meaning
Virtual Keyboard has an error Virtual Keyboard is ready Virtual Keyboard is active
value
-1 0 1
CCVK_VK_OFFLINE event The event CCVK_VK_OFFLINE may be used to determine if the requested page can not be loaded. Additionally an error log is written which contains details about this error. The event is extremely useful to detect offline situations in the CCVK instance. The Web Graphical service will switch to offline mode in case of errors. CCVK has no offline handling, but with the help of this event for example the Virtual Keyboard instance may be switched to the background and initialize for the next use.
May 2008
319
This parameter allows the virtual Keyboard not to be always on top. The value 0 means that the virtual keyboard never looses the focus. All other windows are not visible when virtual keyboard is activated. Value 1 means it is allowed to loose the focus. To loose the focus can be necessary during development to view other windows, or when marketing should be active during a SOP session at the control panel i.e. (see "MarketingAllowFocus" on page 606 in the Parameters chapter)
320
May 2008
Web Graphical Service componentsResizing the Web Graphical Service on a 27/08/2002 10:20:16 C:\PROTOPAS\Web\English\OutOfService1.htm 27/08/2002 10:20:17 file://C:\PROTOPAS\Web\English\CardInsert.htm 27/08/2002 10:20:20 END
May 2008
321
Dialog Framework
Dialog Framework
The dialog framework controls the presentation of applications on the screen and the input of data from the pin pad. The interfaces and definitions are identical between the High Level Graphical Service and the Web Graphical service. This chapter deals about the interface functions both Graphical Service provide. The next chapter PCDialog framework (see page 322) deals about special functions only the Web Graphical Service provide.
Release specification
The Dialog Framework is released in an EXE named CCDialog.exe. applications using this program have to include the file CCDialog.xpp.
Configuration
Is not necessary for an executable.
Parameters
See also chapter Graphical Service on page 597.
322
May 2008
Dialog Framework
May 2008
323
Dialog Framework
Public Interface
The Dialog Framework is implemented in the class CCDialogFW. The Public Interface is defined completely in the include file CCDialog.xpp. It contains all public functions, events and required definitions for data structures and return codes. Methods The following public methods are defined in the dialog class: CCDialogFW.Open opens the Dialog Framework CCDialogFW.Close closes the Dialog Framework CCDialogFW.GetbStatus returns the status of the PIN service CCDialogFW.DoDialog controls the dialog CCDialogFW.DoDialogAsync controls the dialog (asynchronous version) CCDialogFW.CancelDialog cancels the currently active dialog CCDialogFW.ChangeLanguage defines a new secondary language CCDialogFW.InitParms rereads the "OPEN" section from the configuration parameters. CCDialogFW.GetInputString returns the string entered by the customer or associated with the function key pressed. CCDialogFW.GetInputLength returns the length of the data entered by the customer. CCDialogFW.GetTerminateChar returns the code of the termination key pressed by the customer. CCDialogFW.Activate brings the dialog window into the foreground.
324
May 2008
Dialog Framework CCDialogFW.Deactivate stops automatic activation of the dialog window. Definitions and data structures The class CCDialogFW contains the following definitions and data structures: Return codes: Definition CCDIALOG_OK CCDIALOG_ERROR CCDIALOG_CANCEL CCDIALOG_TIMEOUT CCDIALOG_SW_CANCEL CCDIALOG_OFFLINE (Only HTML-GUI) CCDIALOG_BUFFER_TOO_SMALL CCDIALOG_PROPERTY_NOT_SET CCDIALOG_IGNORED CCDIALOG_FORCED_CANCEL Status flags: Definition CCDIALOG_OPERATIONAL CCDIALOG_NOT_OPERATIONAL Events This framework does not issue any events. Value 0 1 Value 0 -2 -3 -4 -6 -7 -2 -4 -500 -502
May 2008
325
Dialog Framework Specification of the methods In the following section all public methods are described in detail: CCDialogFW.Open Syntax: SHORT Open ( VOID ) Function: This function opens the Dialog Framework Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) An error occurred executing the function.
326
May 2008
Dialog Framework CCDialogFW.Close Syntax: SHORT Close ( VOID ) Function: This function closes the Dialog Framework Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) An error occurred executing the function.
May 2008
327
Dialog Framework CCDialogFW.GetbStatus Syntax: SHORT GetbStatus ( VOID ) Function: This function returns the status of the dialog service Return values: CCDIALOG_OPERATIONAL (0) The dialog service is operational. CCDIALOG_NOT_OPERATIONAL (1) The dialog service is not operational. This means either the PIN service failed or there are problems with a required system functionality. CCDIALOG_ERROR (-2) An error occurred executing the function.
328
May 2008
Dialog Framework CCDialogFW.DoDialog Syntax: SHORT DoDialog ( CHAR *szDialogName CHAR *szDialogFlags ) Function: This function controls the dialog specified in the first parameter. If another previously called dialog is still active it will be cancelled prior to starting the one addressed within this call. Parameters: szDialogName (IN) pointer to a character string with the name of the dialog to be executed. szDialogFlags (IN) This parameter is not used in this implementation. By default set to NULL. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) An error occurred executing the function. CCDIALOG_CANCEL (-3) The current dialog is cancelled by the user. CCDIALOG_TIMEOUT (-4) The current dialog timed out. CCDIALOG_SW_CANCEL (-6)
May 2008
329
Dialog Framework The current dialog is cancelled by a function call from the application either explicitly or implicitly by calling a new dialog. CCDIALOG_OFFLINE (-7) This return code is only available for the ProTopas/Web-Extensions, if the HTML pages are stored on an intranet server and the connection to this server is interrupted. CCDIALOG_FORCED_CANCEL (-502) This dialog could not be canceled properly. SO Web-Ext did that.
330
May 2008
Dialog Framework CCDialogFW.DoDialogAsync Syntax: SHORT DoDialogAsync ( CCFRMW_JOB_STATUS *pJobState CHAR *szDialogName CHAR *szDialogFlags ) Asynchronous version of CCDialogFW.DoDialog. Description see above.
May 2008
331
Dialog Framework CCDialogFW.CancelDialog Syntax: SHORT CancelDialog ( VOID ) Function: This function cancels the currently active dialog. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) An error occurred executing the function.
332
May 2008
Dialog Framework CCDialogFW.ChangeLanguage Syntax: SHORT ChangeLanguage ( CHAR *szLanguage, SHORT sNavigate = 1 ) Function: This function switches to a new language for the customer dialog. The new value is used to access dialog parameters. Parameters: szLanguage (IN) Pointer to the string with the section name of the new secondary language. sNavigate (IN) Please use this parameter, if only the ADA langauge shall be changed. Otherwise leave it at 1. 1 (Default): the Format and WX-Text Variables are initialised with settings from hte new language. The directory may be changed and the next page is shown in TOP mode. PCDIALOG_PARAM_CHANGELANGUAGE_ADAONLY: Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) An error occurred executing the function.
May 2008
333
Dialog Framework CCDialogFW.InitParms Syntax: SHORT InitParms ( VOID ) Function: This function updates the configuration parameters from the "OPEN" section. Return values: CCDIALOG_OK (0) The function completed successfully.
334
May 2008
Dialog Framework CCDialogFW.GetInputString Syntax: SHORT GetInputString ( CHAR *szInputString SHORT sStringLength ) Function: This function returns the string entered by the customer or associated with the function key pressed Parameters: szInputString (OUT) Pointer to a character buffer to store the input string sStringLength (IN) Length of the character buffer Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_BUFFER_TOO_SMALL (-2) The character buffer is too small for the data entered by the customer. The contents of the buffer are invalid. CCDIALOG_PROPERTY_NOT_SET (-4) There is no input string because the last input finished abnormally (cancel, time out). The contents of the buffer are invalid.
May 2008
335
Dialog Framework CCDialogFW.GetInputLength Syntax: SHORT GetInputLength ( USHORT *usInputLength ) Function: This function returns the length of the data entered by the customer. Parameters: usInputLength (OUT) Pointer to an unsigned short value to store the length of the data entered by the customer. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_PROPERTY_NOT_SET (-4) There is no input string because the last input finished abnormally (cancel, time out). The returned value is invalid.
336
May 2008
Dialog Framework CCDialogFW.GetTerminateChar Syntax: SHORT GetTerminateChar ( CHAR *chTerminateChar ) Function: This function returns the code of the key pressed by the customer to terminate the current input. The code returned depends on the configuration behind the following Registry key: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents EPPKey By default the following codes are specified: Key SOFTKEY_LEFT_1 SOFTKEY_LEFT_2 SOFTKEY_LEFT_3 SOFTKEY_LEFT_4 SOFTKEY_RIGHT_1 SOFTKEY_RIGHT_2 SOFTKEY_RIGHT_3 SOFTKEY_RIGHT_4 NUMERIC_KEY_0 NUMERIC_KEY_1 NUMERIC_KEY_2 NUMERIC_KEY_3 NUMERIC_KEY_4 NUMERIC_KEY_5 Code G A B C H D E F 0 1 2 3 4 5
May 2008
337
Dialog Framework
Code 6 7 8 9
Pointer to a character value to store the terminate character Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_PROPERTY_NOT_SET (-4) There is no input string because the last input finished abnormally (cancel, time out). The returned value is invalid.
338
May 2008
Dialog Framework CCDialogFW.Activate Syntax: SHORT Activate ( VOID ) Function: This function brings the dialog window into the foreground. The default behavior is automatic activation of the dialog window prior to any call of the Activate function. The purpose of this function together with the Deactivate function is the synchronization of different self-service applications. The use of this function requires that, prior to the activation call, the currently active window must be deactivated. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) An error occurred executing the function. CCDIALOG_IGNORED (-500) The Dialog is already deactivated.
May 2008
339
Dialog Framework CCDialogFW.Deactivate Syntax: SHORT Deactivate ( VOID ) Function: This function stops the automatic activation of the dialog window. For remarks see the Activate function. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) An error occurred executing the function. CCDIALOG_IGNORED (-500) The Dialog is already deactivated.
340
May 2008
Dialog Framework DLG_INPUT_RESULT_STRING contains the string entered by the customer or specified in the dialog configuration DLG_INPUT_RESULT_TERM contains the code of the key that terminates the input For the Data Dictionary these default variables are held within the Dialog Framework and read access is permitted. In the case of an abnormal end of an input (cancel, time out) you will receive the return code CCDATADICTFW_PROPERTY_NOT_SET.
The error entries including description are in the rch file "852FERS.eng"
May 2008
341
PCDialog framework
PCDialog framework
The Dialog Framework controls the presentation of applications on the screen. This one uses HTML pages to present the user interface. The PCDialog contains additional interfaces only the Web Graphical Service is using.
Release specification
The Dialog Framework is released in an executable file named CCDialog.exe. applications using this EXE have to include the file PCDialog.xpp. If the name of the Web Graphical Service should be other than CCDialog (see "Web-Extensions/ExtraLink" on page 21) please make sure, that the PCDialog proxy object is created after CCDialog.exe ist started.
Parameters
The dialogs in this implementation are described using a very flexible parameter scheme. Configuration of the Graphical Service requires numerous parameters and will be described in a separate chapter. See also chapter Parameters on page 597.
342
May 2008
PCDialog framework
Public Interface
The PCDialog framework is implemented in the class PCDialogFW. The public interface is defined completely in the include file PCDialog.xpp and CCDialog.xpp. PCDialog.xpp is an overlay of CCDialog.xpp. PCDialog.xpp contains additional public functions, events and required definitions for data structures and return codes. This can be Methods The following public methods are defined in the PCDialog class: PCDialogFW.Format formats a string with the given format ID. This is used for amount and date formatting. PCDialogFW.PutIUnknown for internal use only PCDialogFW.CleanIUnknown for internal use only PCDialogFW.AllowUserInput for internal use only PCDialogFW.ForbidUserInput for internal use only PCDialogFW.Kill close CCDialog.exe PCDialogFW.GetHWND returns the HWND of CCDialog.exe application. PCDialogFW.GetFWName returns the name of the framework PCDialogFW.GetProperty returns different types of Data Dictionary variables PCDialogFW.SetProperty sets different types of Data Dictionary variables PCDialogFW.ChangeLanguage sets the language for the user interface.
May 2008
343
PCDialog framework Definitions and data structures The class PCDialogFW contains the following definitions in addition to those already specified in the CCDialogFW: Additional error defines: Define CCDIALOG_IGNORED CCDIALOG_SURFING_END CCDIALOG_FORCED_CANCEL CCDIALOG_WE_PARAM_UNKNOWN CCDIALOG_WE_WIN_ERROR CCDIALOG_WE_PT_ERROR Additional Events The class PCDialogFW issues the following additional events: CCDIALOG_MODE_SURFING_START Send at start of surfing mode. CCDIALOG_MODE_SURFING_END Send at end of surfing mode. CCDIALOG_MODE_NORMAL_START Send at startup of the Web Graphical Service. CCDIALOG_MODE_NORMAL_END Send at shutdown of Web Graphical Service because of an exception or after calling the kill() function. CCDIALOG_MODE_MARKETING Send at start and stop of transaction supervision configured by allow list. It contans the parameter MM_DATA: Value -500 -501 -502 -503 -504 -505
344
May 2008
PCDialog framework typedef struct _mm_data { SHORT Event; // the reason of the event [1 start, 2 end ok, 3 end timer, 4 end offline, 5 end forced] CHAR strStartPage[512]; //the page that started MM CHAR strEndPage[512]; // the page that ended MM LONG lTimeout; // timeout value SYSTEMTIME timeStart; // start time of MM SYSTEMTIME timeEnd; // end time of MM } MM_DATA, * LPMM_DATA; Additional interface function: Definition CCDIALOG_FUNC_FORMAT CCDIALOG_FUNC_KILL CCDIALOG_FUNC_GET_HWND Specification of the methods In the following section all public methods are described in detail: Value 500 505 506
May 2008
345
PCDialog framework PCDialogFW.Format Syntax: SHORT Format ( CHAR * szContents CHAR * szFormat CHAR * szFormated SHORT sFormatedLength ) Function: This function formats the input string with the format ID in the format parameter. The return value is given back in the third parameter, its length in the fourth. Parameters: szContents (IN) pointer to a character buffer to store the input string szFormat (IN) Format identifier. This parameter specifies the format the szContents input string should be formatted with. The following formats are defined: D: Long date format S: Short date format T: Time format C: Currency format without currency sign M: Currency format with currency sign Free format: Build a mask with @ as placeholder sign. First sign <: Placeholder characters are replaced from left to right. First sign >: Placeholder characters are replaced from right to left. (see also section SNI_PC_VARIABLE WebBot on page 284)
346
May 2008
PCDialog framework szFormated (OUT) pointer to a character buffer to store the output string sFormatedLength (OUT) Length of output string Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) The function completed with a general error.
May 2008
347
PCDialog framework PCDialogFW.Kill Syntax: SHORT Kill() Function: This function close CCDialog.exe properly. CCDialog.exe is returning with 51 (CCRM:Restart)! In Web-Extensions/HyperLink architecture the Steps Cancel() function is called before the Dialog closes. In Web-Extensions/ClassicLink architecture the returncode CCDIALOG_SW_CANCEL (-6) is returned to the transaction framework, if a DoDialog() function is already active. In case of an Exception the Dialog.exe ist restarting automatically. The same handling is done to cancel the Step or to give a returncode to the Step. Parameters: None. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) The function completed with a general error.
348
May 2008
PCDialog framework PCDialogFW.GetHWND Syntax: SHORT GetHWND ( HWND *hwndApp ) Function: This function returns the HWND of CCDialog.exe application. Parameters: hwndApp (IN) pointer to a HWND buffer to store the HWND of application. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_PROPERTY_NOT_SET (-4) The function completed with a error. application HWND is not valid! CCDIALOG_ERROR (-2) The function completed with a general error.
May 2008
349
PCDialog framework PCDialogFW.GetFWName Syntax: SHORT GetFWName ( CHAR * achBuffer USHORT usBufferLen ) Function: This function returns the Frameworkname because this can be configured. Parameters: achBuffer (OUT) pointer to a character buffer to store the Framework name. usBufferLen (IN) Length of the achBuffer. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_BUFFER_TOO_SMALL (-2) The Buffer for the output is too small.
350
May 2008
PCDialog framework PCDialogFW.WEPlaySound Syntax: SHORT WEPlaySound ( CHAR * szPlay ) Function: This mehod is used to play a Wave file or to activate a sound via the special electronics. See "AudioResponse" on page 651. for information about the syntax of szPlay. Parameters: szPlay (IN) pointer to a string containing the Sound characteristics. See "AudioResponse" on page 651. for information. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) The function completed with a general error. CCDIALOG_WE_PARAM_UNKNOWN (-503) The function completed with an unknown input parameter. CCDIALOG_WE_WIN_ERROR (-504) The function completed with a windows error. CCDIALOG_WE_PT_ERROR (-505) The function completed with a ProTopas error.
May 2008
351
PCDialog framework PCDialogFW.JournalWrite Syntax: SHORT JournalWrite ( CHAR * szData ) Function: This method is used to write information into the Journal. szData is the data, which shall be logged (see also section Logging into Error/Trace Log or Journal by Script on page 494). Parameters: szData (IN) pointer to a string containing the data to write in journal Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) The function completed with a general error.
352
May 2008
PCDialog framework CCDialogFW.ChangeLanguage Syntax: SHORT ChangeLanguage ( CHAR *szLanguage, SHORT sNavigate = 1 ) Function: This function switches to a new language for the customer dialog. The new value is used to access dialog parameters. Parameters: szLanguage (IN) Pointer to the string with the section name of the new secondary language. sNavigate (IN) Please use this parameter, if only the ADA langauge shall be changed. Otherwise leave it at 1. Default (1): Use this setting when teh langauge shall really be changed. The Formats and WX_TEXT variables are initialised with settings from the new language. The directory may be changed and the next page is shown in TOP mode. PCDIALOG_PARAM_CHANGELANGUAGE_ADAONLY (999): Only the language from ADA has been changed, keys and phrases have been updated. Return values: CCDIALOG_OK (0) The function completed successfully. CCDIALOG_ERROR (-2) An error occurred executing the function.
May 2008
353
PCDialog framework
EXT_EVENTS
11
INT_METHODS TRACE_ERROR TRACE_IMPORTANT HND_REGISTER SUB_FUNC ONWM_FUNC INTERN_FUNC PROP_METHODS_ CHANGE HTML_WINDOW HTML_PAGE PROPPAGE_ACTION PROPPAGE_INIT PROPPAGE_ IMPORTANT CDIB_IN
12 13 14 20 30 31 34 35 65 66 70 71 72 80
354
May 2008
PCDialog framework
Definition CDIB_OUT CDIB_DATA PT_ANALYSE PT_ENTRY PT_EXIT PT_SUB_ENTRY PT_SUB_EXIT PT_DATA PT_HEXDATA PT_ERROR PT_WARNING TRACE_ANALYSE
Description Class CDIB - out method Class CDIB - data Tool Class analyse Tool Class entry point Tool Class exit point Tool Class sub functions entry point Tool Class sub functions exit point Tool Class data Tool Class hexdata dump Tool Class error Tool Class warning Analyze trace
Value 81 82 90 91 92 93 94 95 96 97 98 100
The error entries including description are in the rch file "770FERS.eng"
May 2008
355
PCDialog framework
356
May 2008
Release specification
Version 1.0 of the class CCVKfw is released in a EXE named CCVK.EXE. Applications using this EXE have to include the file CCVK.XPP. Start this EXE allways in separat process! Note: VK is an MFC application using IE! VK is GUI application and the GUI is displayed as a HTML page.
Configuration
The logical name of the Virtual keyboard Framework is CCVK.
Parameter
The following four parameters must be configured for the Virtual keyboard Framework. If the parameter is missing, default values will be used and an error will be generated. Section "ACTIVEX\GraphicalService\VK" Href Specifies the URL of a HTML page for VK dialog. Type: Default: Width String "about:blank"
May 2008
357
Virtual Keyboard Framework Specifies the width for VK dialog. Type: Default: Height Specifies the height for VK dialog. Type: Default: Pos Specifies the position at screen for VK dialog. Type: Default: Range: String "2" "0" "1" "2" "3" "4" Dword 100 Dword 100
Up left. Up right. Down right. Down left. Middle of the screen. See parameters Top and Left for upper left corner
Left This parameter specifies the distance from the left side of the screen to the upper left corner of the container (Virtual Keyboard Dialog Window) of the of the HTML page for Virtual Keyboard. Type: Default: Top This parameter specifies the specifies the distance from the top of the screen to the upper left corner of the container (Virtual Keyboard Dialog Window) of the of the HTML page for Virtual Keyboard. Type: Default: Dword 0 Dword 0
358
May 2008
Virtual Keyboard Framework The following parameters are optional for the Virtual keyboard Framework. If the parameter is missing, default values will be used. Section "ACTIVEX\GraphicalService\VK" ScriptLanguage Specifies the language for the start/end scripts. Type: Default: ScriptAtStart Specifies the script that will be executed at start of VK session. Type: Default: ScriptAtEnd Specifies the script that will be executed at end of VK session. Type: Default: CheckWND This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds the hangup check is repeated. If during these milliseconds no response is received the Virtual Keyboard window will be restarted. Type: Default: CheckWNDmax This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds the Virtual Keyboard Dword 60000 String "" String "" String "javascript"
May 2008
359
Virtual Keyboard Framework instance waits for the response on a window event. If during these milliseconds no response is received the Virtual Keyboard window will be restarted. Type: Default: CheckMem This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds to check for wasted memory (memory leaks). Type: Default: CheckMEMmax This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the maximum memory in megabytes the Virtual Keyboard instance may grow up to until the instance is restarted. Type: Default: KillHardWAIT This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds the instance will wait after it has received the WM_CLOSE event until it will call TerminateProcess(). In this case even hangups with a hanging main thread will be snapped. Type: Default: Dword 15000 Dword 64 Dword 120000 Dword 15000
MAXonStart
This parameter enables the virtual keyboard to become visible, when the keyword WNvikey:START is used. If the virtual keyboard is not maximized, this can be done with the keyword WNVKpos:MAX. 360 May 2008
Virtual Keyboard Framework Type: Default: Range: Dword 1 0 - Stay minimized 1 - Start maximized with the sizes from Height, left, top, width
MINonEnd
This parameter enables the virtual keyboard to become invisible, when the keyword WNvikey:END is used. If the virtual keyboard is not minimized with this parameter, this can be done with the keyword
WNVKpos:MIN.
Type: Default: Range: Dword 1 0 - Stay maximized 1 - End minimized
WindowPlacement This parameter specifies, which behavior of the virtual keyboard is desired. So a minimize/maximize behavior or a show/hide
behavior can be configured. With min/max on slow machines it is possible that the window movement is visible.
Type: Default: Range: Dword 1 0 - nothing on init, start & stop 1 - MIN on init, MAX on start, MIN on stop 2 - HIDE on init, SHOW on start, HIDE on stop
Public interface
The public interface is completely defined in the includefile CCVK.xpp. It contains all the public functions, events and the required definitions for data structures and returncodes.
May 2008
361
Virtual Keyboard Framework Methods The following public member functions are defined in class CCVKfw: CCVKfw.Open do nothing. CCVKfw.Close do nothing. CCVKfw.InitParms do nothing. CCVKfw.GetStatus returns a state of a framework. CCVKfw.VK_Start start a VK session. CCVKfw.VK_End end a VK session. CCVKfw.Kill kill a framework instance.
362
May 2008
Virtual Keyboard Framework Defines and data structures The class CCVKfw contains the following defines and data structures: Error defintions define
CCVK_OK CCVK_ERROR CCVK_IGNORED CCVK_ERROR_VK_NOT_READY CCVK_ERROR_VK_ACTIVE CCVK_ERROR_VK_NOT_ACTIVE CCVK_ERROR_HWND
value
0 -1 -2 -10 -11 -12 -13
value
-1 0 1
Data dictionary variables name CCVK_VAR_CONTAINER_L CCVK_VAR_CONTAINER_S CCVK_VAR_STATUS_L (contains returncodes for GetbStatus) VK_APP_DATA The structure VK_APP_DATA is composed of the following components: HWND hwndApp Specifies the hWnd of calling application array
0 - 255 0 - 255
May 2008
363
Virtual Keyboard Framework Events The CCVK framework issues the following events: CCVK_VK_INIT This event is sent when the framework is ready. CCVK_VK_START This event is sent when the session is started. CCVK_VK_END This event is sent when the session is ended. CCVK_VK_ACTION This event is sent when the framework got focus. CCVK_VK_EXIT This event is sent when the framework is exiting (restart). CCVK_VK_WINDOW_MIN This event is sent when the framework is minimized. CCVK_VK_WINDOW_MAX This event is sent when the framework is maximized. CCVK_VK_OFFLINE This event is sent when the requested page cannot be loaded.
364
May 2008
Virtual Keyboard Framework Specification of the methods In the following section the public methods are described in detail. CCVKfw.Open Syntax: SHORT CCVKfw.Open ( VOID ) Function: Do nothing. Return values: CCVK_OK (0) Nothing happend
May 2008
365
Virtual Keyboard Framework CCVKfw.Close Syntax: SHORT CCVKfw.Close ( VOID ) Function: Do nothing. Return values: CCVK_OK (0) Nothing happend
366
May 2008
Virtual Keyboard Framework CCVKfw.InitParms Syntax: SHORT CCVKfw.InitParms ( VOID ) Function: Do nothing. Return values: CCVK_OK (0) Nothing happend
May 2008
367
Virtual Keyboard Framework CCVKfw.GetStatus Syntax: SHORT CCVKfw.GetStatus ( VOID ) Function: Get the framework status. Return values: CCVK_NOK (-1) Framework loaded, but not ready yet CCVK_READY (0) Framework ready, minimized CCVK_ACTIVE (1) Framework session ongoing, maximized
368
May 2008
Virtual Keyboard Framework CCVKfw.VK_Start Syntax: SHORT CCVKfw.VK_Start ( VK_APP_DATA ) Function: Starts the VK session, maximize CCVK framework. Input parameters: lpStruct (IN) HWND of calling application Return values: CCVK_OK (0) Input data and VK state OK, start session triggered CCVK_ERROR (-1) General error CCVK_ERROR_INPUT (-3) NULL input pointer! CCVK_ERROR_VK_NOT_READY (-10) VK not ready CCVK_ERROR_VK_ACTIVE(-11) VK allready active CCVK_ERROR_HWND (-13) bad application HWND lpStruct,
May 2008
369
Virtual Keyboard Framework CCVKfw.VK_End Syntax: SHORT CCVKfw.VK_End ( VOID ) Function: Ends the VK session, minimize CCVK framework. Return values: CCVK_OK (0) Input data and VK state OK, end session triggered CCVK_ERROR (-1) General error CCVK_ERROR_VK_NOT_ACTIVE(-12) VK not active, nothing to end!
370
May 2008
Virtual Keyboard Framework CCVKfw.Kill Syntax: SHORT CCVKfw.Kill ( VOID ) Function: Force VK framework to restart itself. Return values: FrmAsyncResolve() return values
May 2008
371
GUI
Release specification The VK framework application is a container or a full size webcontrol(IE), that is at start showing a HTML page configured in Href. The HTML page is comunicating with VK framework application through navigating to spezial URLs (methods of CCVK for HTML page) and VK framework application is executing the scripts configured in ScriptAtStart and ScriptAtEnd (events of CCVK for HTML page). Note: the VK framework application should never get a focus! Configuration This is a minimum page which is a full functional:
<body scroll="no" onclick="window.navigate('WNVKcom:FOCUS')"> <a href="WNVKkey:07501">send a key 'K'</a> <a href="WNVKcom:MOVE">move window</a> <a href="WNVKcom:END">end session</a> <script> <!-window.navigate("WNVKstatus:INIT"); --> </script> </body> </html>
Note: <body> onclick event ensure that VK framework give focus away!
372
May 2008
Virtual Keyboard Framework Public interface METHODES WNVKstatus:INIT call this methode once after a HTML page is ready. It will set a framework state to CCVK_READY! After this a sessions can be started. WNVKcom:END end session, give focus away. WNVKcom:MOVE move window, give focus away. WNVKcom:FOCUS give focus away WNVKkey:XXXYY send a key press sequence if session ongoing, give focus away. XXX is a Virtual Key code, YY is a shift state, see the following list for posible values! Example: WNVKkey:07501 this will send SHIFT + VK_K, if you have a western keyboard layout in your aplication(process) you will get: K. WNVKchar:ZZZZZ send a key press sequence if session ongoing, give focus away. ZZZZZ is a numerical value of UNICODE charecter you want to be sent! Example:WNVKchar:8364, NOTE = 8364 if you have set a german keyboard layout for VK application(process) this will send CTRL + ALT + VK_E, in your application(process) if you have set a german keyboard layout you will get:. WNVKpos:LLLLTTTTWWWWHHHH This keyword is used to move the virtual Keyboard window to a special position on the screen. All values have to be set as four digits in pixels. LLLL - Distance from left side of screen to upper left corner TTTT- Distance form top of screen to upper left corner WWWW - Width HHHH - Height WNVKpos:MAX This keyword is used to maximize the virtual keyboard, when it is started minimized (by use of parameter MAXonStart=0). This might be useful, when another keyboard layout shall be used by scripting.
May 2008
373
Virtual Keyboard Framework WNVKpos:MIN This keyword is used to minimize the virtual keyboard, when it stays maximized after end (by use of parameter MINonEnd=0). WNVKpos:SHOW This keyword is used to activate and show the virtual keyboard instance. WNVKpos:HIDE This keyword is used to deactivate and hide the virtual keyboard instance. WNVKtrclog:XXXTTTTTT This navigation write a trace into the TLS Tracelog. XXX specifies the tracebit and TTTTTT the trace text. The text is transferred into the Graphical Service as 100this%20is%20analyse%20trace! Only the %20 is replaced by a blank from the Graphical Service. WNVKerrlog:XXXTTTTTT This navigation write an Error into the TLS Errorlog. XXX specifies the error number and TTTTTT the error text. The text is transferred into the Graphical Service as 10this%20is%20an%20error! Only the %20 is replaced by a blank from the Graphical Service. Please be careful by using those logging possibilities together with a real navigation. This could guide to double navigations which will harm the system. it is always a good idea to use window.setTimeout() when a few traces and a navigation shall be performed quickly one after another. EVENTS ScriptAtStart at start of session, before maximize. ScriptAtEnd at end of session, before minimize.
374
May 2008
Virtual Keyboard Framework SHIFT STATE 00 no additional key pressed. 01 SHIFT key pressed. 02 CTRL key pressed. 03 SHIFT and CTRL keys pressed. 04 ALT key pressed. 05 SHIFT and ALT keys pressed. 06 CTRL and ALT keys pressed. 07 SHIFT and CTRL and ALT key pressed. VIRTUAL KEY CODE LIST 001 VK_LBUTTON 002 VK_RBUTTON 003 VK_CANCEL 004 VK_MBUTTON 008 VK_BACK 009 VK_TAB 0x0C VK_CLEAR
May 2008
375
Virtual Keyboard Framework 0x0D VK_RETURN 0x10 VK_SHIFT 0x11 VK_CONTROL 0x12 VK_MENU 0x13 VK_PAUSE 0x14 VK_CAPITAL 0x15 VK_KANA 0x17 VK_JUNJA 0x18 VK_FINAL 0x19 VK_KANJI 0x1B VK_ESCAPE 0x1C VK_CONVERT 0x1D VK_NONCONVERT 0x1E VK_ACCEPT 0x1F VK_MODECHANGE 0x20 VK_SPACE
376
May 2008
Virtual Keyboard Framework 0x21 VK_PRIOR 0x22 VK_NEXT 0x23 VK_END 0x24 VK_HOME 0x25 VK_LEFT 0x26 VK_UP 0x27 VK_RIGHT 0x28 VK_DOWN 0x29 VK_SELECT 0x2A VK_PRINT 0x2B VK_EXECUTE 0x2C VK_SNAPSHOT 0x2D VK_INSERT 0x2E VK_DELETE 0x2F VK_HELP 048 VK_0
May 2008
377
Virtual Keyboard Framework 049 VK_1 050 VK_2 051 VK_3 052 VK_4 053 VK_5 054 VK_6 055 VK_7 056 VK_8 057 VK_9 065 VK_A 066 VK_B 067 VK_C 068 VK_D 069 VK_E 070 VK_F 071 VK_G
378
May 2008
Virtual Keyboard Framework 072 VK_H 073 VK_I 074 VK_J 075 VK_K 076 VK_L 077 VK_M 078 VK_N 079 VK_O 080 VK_P 081 VK_Q 082 VK_R 083 VK_S 084 VK_T 085 VK_U 086 VK_V 087 VK_W
May 2008
379
Virtual Keyboard Framework 088 VK_X 089 VK_Y 090 VK_Z 0x5B VK_LWIN 0x5C VK_RWIN 0x5D VK_APPS 0x60 VK_NUMPAD0 0x61 VK_NUMPAD1 0x62 VK_NUMPAD2 0x63 VK_NUMPAD3 0x64 VK_NUMPAD4 0x65 VK_NUMPAD5 0x66 VK_NUMPAD6 0x67 VK_NUMPAD7 0x68 VK_NUMPAD8 0x69 VK_NUMPAD9
380
May 2008
Virtual Keyboard Framework 0x6A VK_MULTIPLY 0x6B VK_ADD 0x6C VK_SEPARATOR 0x6D VK_SUBTRACT 0x6E VK_DIVIDE 0x6F VK_LBUTTON 0x70 VK_F1 0x71 VK_F2 0x72 VK_F3 0x73 VK_F4 0x74 VK_F5 0x75 VK_F6 0x76 VK_F7 0x77 VK_F8 0x78 VK_F9 0x79 VK_F10
May 2008
381
Virtual Keyboard Framework 0x7A VK_F11 0x7B VK_F12 0x7C VK_F13 0x7D VK_F14 0x7E VK_F15 0x7F VK_F16 0x80 VK_F17 0x81 VK_F18 0x82 VK_F19 0x83 VK_F20 0x84 VK_F21 0x85 VK_F22 0x86 VK_F23 0x87 VK_F24 0x90 VK_NUMLOCK 0x91 VK_SCROLL
382
May 2008
Virtual Keyboard Framework 0xE5 VK_PROCESSKEY 0xF6 VK_ATTN 0xF7 VK_CRSEL 0xF8 VK_EXSEL 0xF9 VK_EREOF 0xFA VK_PLAY 0xFB VK_ZOOM 0xFC VK_NONAME 0xFD VK_PA1 0xFE VK_OEM_CLEAR
May 2008
383
384
May 2008
WXPTBridge
Overview
WXPTBridge
Overview
Targets
WXPTBridge is an HTML/script to ProTopas bridge implemented as a mix of ProTopas Framework and MFC ActiveX control.
Primary targets: connect: dynamic HTML with a ProTopas world. stability: all ProTopas function calls are asynchrony! performance: only minimum interface is supported! Security: in/out parameters checks, not self running! Error handling: errors recognise, error report, error count.
Implementation
WXPTBridge object is ProTopas framework that can be multi instanced. Its logical name is WX_PTBRIDGE_000 to WX_PTBRIDGE_999. There can be up to 1000 instances of WXPTBridge! It can be instanced only from one ActiveX container. This container should provide ProTopas Bus instance! WXPTBridge is a Byte array transporting device. On a HTML side it is using a Byte arrays as String in HEX format, for easy scripting, on a ProTopas it is using Byte arrays and void pointers! All ProTopas Functions and Events are handled in a working threads and the results are fired in a containers WXPTBridge creation thread through WND messages. So in case of IE as a container the Main thread, where all objects from HTML are created, is not blocked with ProTopas processing!
May 2008
385
Public interface
WXPTBridge
Public interface
ActiveX interface is defined in WXPTBRIDGELib. There are dispinterface _DWXPTBridge for methods and properties, and dispinterface _DWXPTBridgeEvents for events. ProTopas functionality: ProTopas Functions PTFunction PTFunctionEnd ProTopas Events PTEvent RegisterForEvents DeregisterForEvents ListeningForEvents Helper: ConvStr2Hex ConvHex2Str GetWXText from version 1003 ErrorHandling: BridgeError testErrors Status: BridgeStatus BridgeErrors PTName Logging: Log
386
May 2008
WXPTBridge
Public interface
Methods
short PTFunction(BSTR strFW, short sID, BSTR strParam1, short sLen1, BSTR strParam2, short sLen2, BSTR strParam3, short sLen3, long lIndex) short RegisterForEvents(BSTR strFW) short DeregisterForEvents(BSTR strFW) BSTR BSTR BSTR ConvStr2Hex(BSTR strData) ConvHex2Str(BSTR strData) testErrors(short eID)
void Log(BSTR strLog, short sLogType) BSTR GetWXText(BSTR strIndex, BSTR strDefault, BOOL bErrorLog)
May 2008
387
Public interface
WXPTBridge
PTFunction
short PTFunction(BSTR strFW, short sID, BSTR strParam1, short sLen1, BSTR strParam2, short sLen2, BSTR strParam3, short sLen3, long lIndex) Usage Call functions over ProTopas Bus asynchrony, its check input parameters, convert it to byte arrays, and calls FrmAsyncResolve intern, return value is error or index of job. If the index is OK, and the called Framework end the function execution the PTFunctionEnd event is fired with return values of function! Prototype of PTFunction is mapping of ProTopas CCFrameWork class FrmResolve function: SHORT FrmResolve( CHAR* pszFW, SHORT sMethod, VOID* pData1 = 0, SHORT sDataLen1 = 0, VOID* pData2 = 0, SHORT sDataLen2 = 0, VOID* pData3 = 0, SHORT sDataLen3 = 0, ULONG ulHelp = 0) Conditions BridgeStatus >= 0 Alive Functions < 32766
388
May 2008
Public interface
NOTE: PTFunctionEnds short sIndex is the same as OK, index for this job!
May 2008
389
Public interface Parameters description Type BSTR Short BSTR Name strFW sID strParam1 Range char, length: [132] [0- 32767] char, length: [065534,even] [0- 32767]
WXPTBridge
Description Framework name Function ID Parameter1 as byte array of HEXs Parameter1 length of byte array Parameter2 as byte array of HEXs Parameter2 length of byte array Parameter3 as byte array of HEXs Parameter3 length of byte array Parameter4
Short
sLen1
BSTR
strParam2
Short
sLen2
BSTR
strParam3
Short
sLen3
Long
lIndex
ULONG
NOTE: ProTopas is transporting Byte arrays as void* and length combination, on a COM side its a string representation of Byte arrays where every Byte is converted to a 2 digits HEX! Example: 0 00, 1 01, 10 0A, 15 0F, 16 10, , 255 FF. Higher level Typs are on x86 platforms stored as little edian order byte arrays, see http://de.wikipedia.org/wiki/Little_Endian for more info. One LONG with value: 2763244241, (0xA4B3C2D1) is D1C2B3A4 Byte array in a HEX format! More complex types like structs are, depending on OS platforms, aligned on DWORD(4 Bytes) borders @Windows32 for example!
390
May 2008
WXPTBridge
Public interface
There are 4 possible in/out combinations of BSTR strParam, short sLen pairs: Combin. NULL IN OUT IN/OUT BSTR 0 [0-65534, even] 0 [0-65534, even] short 0 0 [0- 32767] [0- 32767] Copy HEXs to Bytes Init with 0 Init with 0, (BSTR/2) < short, Copy HEXs to Bytes Converting Void* NULL [0- 32767] [0- 32767] [0- 32767]
NOTE: only OUT params will be fired in PTFunctionEnds params as updated return values from a function execution! This is the way of replacing pointers in a HTML world!
Example: Combin. NULL IN OUT IN/OUT Fire Events PTFunctionEnd, when successful with return values of function! BridgeError, when something gets wrong in bridge itself! PTFunctionEnd will not be fired for this call! Description of situation when a Bridge Error is fired! Sync Call failed, delete of CMap entry failed, memory leak! Async Call failed, Some parameters out of range. BridgeError eID 4 18 BSTR "" "3130FF00" 0 "3130" short 0 0 4 4 Converting NULL 49,48,255,0 0,0,0,0 49,48,0,0 Void* 0 4 4 4
May 2008
391
Public interface
WXPTBridge
Description of situation when a Bridge Error is fired! Async Call failed, Lookup of CMap failed! Async Call failed, Exception in FrmResolve! Async Call failed, Exception in call handling! Async Call failed, General exception. Async Result failed, Some parameters out of range. Async Result failed, cant PostMessage! Async Result failed, General exception. Sync Result failed, Some parameters out of range. Sync Result failed, Lookup of CMap failed! Sync Result failed, COM fire failed! Sync Result failed, General exception. Change Properties BridgeErrors
BridgeError eID 4 1 19 19 18 2 19 18 4 3 19
392
May 2008
WXPTBridge
Public interface
RegisterForEvents
short RegisterForEvents(BSTR strFW) Usage Try to register for events from a target framework. If successful add the target Framework name to a ListeningForEvents property, and if its a first sniffed Framework than a BridgeStatus property is set to 2. Prototype of RegisterForEvents is mapping of ProTopas CCFrameWork class FrmRegisterForEvents function: SHORT FrmRegisterForEvents(PSZ pszEventSender)
Conditions BridgeStatus >= 1 strFW is not already sniffed! Return value Type Short Parameters description Type BSTR Name strFW Range char, length: [132] Description Framework name Name sRet Description 0 OK, remain error!
May 2008
393
Public interface
WXPTBridge
BridgeError, when something gets wrong in bridge itself at event handling! Description of situation when a Bridge Error is fired! Sync Call failed, delete of CMap entry failed, memory leak! Async Call failed, Some parameters out of range. Async Event failed, data from ProTopas corrupt! Async Event failed, new failed! Async Event failed, cant PostMessage! Async Event failed, General exception. Sync Event failed, Some parameters out of range. Sync Event failed, COM fire failed! Sync Event failed, General exception. Change Properties BridgeErrors ListeningForEvents BridgeStatus BridgeError eID 4 18 1 5 2 19 18 3 19
394
May 2008
WXPTBridge
Public interface
DeregisterForEvents
short DeregisterForEvents(BSTR strFW) Usage Try to deregister for events from a target framework. If successful remove the target Framework name to a ListeningForEvents property, and if its a last sniffed Framework than a BridgeStatus property is set to 1. Prototype of DeregisterForEvents is mapping of ProTopas CCFrameWork class FrmDeregisterForEvents function: SHORT FrmDeregisterForEvents(PSZ pszEventSender)
Conditions BridgeStatus == 2 strFW is sniffed! Return value Type Short Parameters description Type BSTR Name strFW Range char, length: [132] Description Framework name Name sRet Description 0 OK, remain error!
May 2008
395
Public interface
WXPTBridge
ConvStr2Hex
BSTR Usage Convert input String to a Byte array string in HEX format. Conditions none Return value Type BSTR Name strOUT Description NULL NOK, remain converted string ConvStr2Hex(BSTR strData)
Parameters description Type BSTR Name strData Range char, length: [0MAX] Description String to convert
396
May 2008
WXPTBridge
Public interface
ConvHex2Str
BSTR Usage Convert input String from Byte array string in HEX format to normal String. Conditions input String even length input String HEX chars (0,1,2,3,4,5,6,7,8,9,a,A,b,B,c,C,d,D,e,E,f,F) Return value Type BSTR Name strOUT Description NULL NOK, remain converted string ConvHex2Str(BSTR strData)
Parameters description Type BSTR Name strData Range char, length: [0MAX,even, HEX] Description String to convert
May 2008
397
Public interface
WXPTBridge
testErrors
BSTR Usage Test interface for throwing all internal errors. Increment the BridgeErrors property. There will be a error log and mostly the BridgeError Event will be fired! Conditions none Return value Type BSTR Parameters description Type short Name eID Range 1-5,19-22,3843,58-63,77-79 Description Internal error ID Name strOUT Description NULL always! testErrors(short eID)
398
May 2008
WXPTBridge
Public interface
Log
void Log(BSTR strLog, short sLogType) Usage This function is used for writing a Trace-Log or an Error-Log. Conditions none Return value none Parameters description Type BSTR Name strLog Range char, length: [0MAX] 0 - Write text into Trace-Log Bit 10 1 - Write Text into Error-Log Description Text to log into Trace- or ErrorLog Target for Logging
short
sLogType
May 2008
399
Public interface
WXPTBridge
GetWXText
BSTR GetWXText(BSTR strIndex, BSTR strDefault, BOOL bErrorLog) Usage Scripting access to PCHTMLGenerator WX_TEXT variables. It is same as HTML page usage pattern [%WX_TEXT[Index];Default%]! Conditions none Return value Type BSTR Name strOUT Description Variable value (max length 4096 chars) or NULL at problems
Parameters description Type BSTR BSTR BOOL Name strIndex strDefault bErrorLog Range char, length: [04096] char, length: [04096] TRUE or FALSE Description Variable Index Default value Write error logs on errors in this method.
400
May 2008
WXPTBridge
Public interface
Events
void PTEvent(BSTR strFW, short sID, BSTR strData) void PTFunctionEnd(short sIndex, short sRet, BSTR strParam1, BSTR strParam2, BSTR strParam3) void BridgeError(short eID) void PTCallback(short sID, BSTR strParam1, BSTR strParam2, BSTR strParam3, long lIndex)
May 2008
401
Public interface
WXPTBridge
PTEvent
PTEvent(BSTR strFW, short sID, BSTR strData) Usage Fire the incoming ProTopas event to a COM. Prototype of PTEvent is mapping of ProTopas CCFrameWork class OnFrmEvent function: OnFrmEvent(CHAR* pszSender, SHORT sEvent, VOID* pData, SHORT sLen); Conditions Event sniffing is ON! Parameters description Type BSTR short BSTR Name strFW sID strData Range char, length: [132] short char, length: [065534,even] Description Framework name Framework Event ID Framework DATA as byte array of HEXs
402
May 2008
WXPTBridge
Public interface
PTFunctionEnd
PTFunctionEnd(short sIndex, short sRet, BSTR strParam1, BSTR strParam2, BSTR strParam3) Usage Fire at the end of PTFunction and give back a return values, the return code and the output parameters! Conditions Function is running! Parameters description Type short short BSTR BSTR BSTR Name sIndex sRet strParam1 strParam2 strParam3 Range [ 1, 32767] short char, length: [065534,even] char, length: [065534,even] char, length: [065534,even] Description index of function job Function return code Param1 as byte array of HEXs Param2 as byte array of HEXs Param3 as byte array of HEXs
NOTE: if the one of Params is not declared as OUTPUT in a PTFunction then it will be a empty string!
May 2008
403
Public interface
WXPTBridge
BridgeError
BridgeError(short eID) Usage Fires the error ID when internal error occurred! Conditions error cant be assumed through a return codes! Parameters description Type short Name eID Range 1,2,3,4,5,18,19 Description Error ID
ID 1 2 3 4 5 18 19
Description ProTopas problems WND windows problems COM windows problems MFC windows problems Memory (new,delete) windows problems Internal problems General problems
404
May 2008
WXPTBridge
Public interface
PTCallback
void PTCallback(short sID, BSTR strParam1, BSTR strParam2, BSTR strParam3, long lIndex) Usage Callback function, which will be fired with OnFrmRequest ID 91-98. Conditions only for OnFrmRequest ID 91-98 Parameters description Type short BSTR BSTR BSTR long Name sID strParam1 strParam2 strParam3 lIndex Range [ 1, 32767] char, length: [065534,even] char, length: [065534,even] char, length: [065534,even] [1, max long] Description index of function Param1 as byte array of HEXs Param2 as byte array of HEXs Param3 as byte array of HEXs Param 4 as long
NOTE: if the one of Params is not declared as OUTPUT in a PTFunction then it will be a empty string!
May 2008
405
Public interface
WXPTBridge
Properties
[id(0x00000001)] BSTR [id(0x00000002)] BSTR PTName ListeningForEvents
[id(0x00000003)] short BridgeStatus [id(0x00000004)] long All properties are read only! PTName BSTR PTName BridgeErrors
The name of this ProTopas Framework! At creation time the object is searching for a free name. The name can be from WX_PTBRIDGE_000 to WX_PTBRIDGE_999! If there are some problems the name will be WX_PTBRIDGE_ERROR! Property can be read and set. NOTE: can be NULL if problems occur!
The blank separated list of sniffed Frameworks! NOTE: can be NULL if problems occur!
406
May 2008
WXPTBridge Status of the Bridge object! short -1 0 1 2 Description Not initialised ProTopas FrmSetName OK ProTopas AddToRepository OK, WND OK ProTopas FrmRegisterForEvents OK Status NOK
Public interface
Half OK OK OK + sniffing!
May 2008
407
WXPTBridge
Error
Error logging is implemented in module 788FERR.eng.
408
May 2008
Description General error in system. Error in using of component. Error in logic, contact developer!
May 2008
409
WXPTBridge
410
May 2008
Input checks
Input checks
Input checks are separated from Edit controls. The input checks have been implemented as a ProTopas Check Framework so that they can be extended for specific projects. This makes it possible to overlay individual checks without having to recreate all checks. In order to make individual checks more flexible you can create a dialog page for each check on which the parameters for this check can be defined. This dialog page is called while the Internet page is being created in FrontPage by selecting the <Parameter> button in the Edit control (see "Edit control - General 1 page" on page 122). Which check has to be called for every input field is defined in the parameters for the Edit controls. Parameters are stored for every input field that is needed in the application. The names of all functions (remittance order, standing order etc.) are entered as keys under the key HKEY_LOCAL_MACHINE\SOFTWARE\Wincor Nixdorf\ProTopas\CurrentVersion\ActiveX\PCEdit\Transaction\. Under each of these keys are the names of all input fields (payee name, bank code etc.) as further keys. There are only two parameters under theses keys: CheckRoutine and Variable. HKEY_LOCAL_MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion ActiveX PCEdit Transaction Remittance Order Payee CheckRoutine = 4 Variable = VAR_INPUT_X1_S Bankcode CheckRoutine = 6 Variable = VAR_INPUT_X2_S AccountNumber ... Message to the Bank ...
May 2008
411
Calling Format()
Input checks
The name of the variable in which the customers input is stored is Variable. CheckRoutine contains the number of the check routine for the input field. The following check routines have been implemented in the standard: 0: 1: 2: 3: 4: No Check Alphanumeric check Numeric check Date check Amount check
The Check Framework is addressed via three function calls named Format(), Dialog() and Check(). They are called for various tasks. Internally, each of these functions branches to one of the check routines listed above (see "Check Framework" on page 435). Projects, which implement own check routines shall start with number 0x1000 (4096)
Calling Format()
The Format() function is called to query default values for input fields or to return unformatted input values in the format that has been defined. This is used, for example, when values are passed from the host and these are to appear in input fields as default values. Example of changing a standing order: All values for the selected standing order are transferred and displayed in the input fields. The amounts have to be formatted because the host expects them in pfennigs with leading zeros.
Calling Dialog()
Dialog() is used to parameterize the checks. It is called during a Microsoft FrontPage session when an input field is selected for parameterization. It carries out two tasks. Firstly, it passes all return codes of the check with a readable text string. The FrontPage user must enter an Internet page for the correction message after every return code (see "Edit control - General 1 page" on page 122).
412
May 2008
Input checks
Calling Check()
Secondly, it sets additional parameters for the check in question. Here, the function is called when the FrontPage user presses the <Parameter> button (see "Edit control - General 1 page" on page 122). The called function can display a dialog in which the FrontPage user can define settings. These settings are passed to the Edit control when the dialog closes, and the Edit control stores them on the Internet page. These parameters are passed to the Check() function so that it can carry out the check at runtime.
Calling Check()
Check() is the function that actually checks the input. The parameters stored by means of the Dialog() function are passed when the Check() function is called. After the check, one of the return codes that was passed to the Edit control when Dialog() was first called must be passed.
Input variables
The name of the input variables is stored in the Variable parameter of the input field in question, as described above. This is always a STRING variable even if numeric inputs only are allowed. The following notation should be chosen to make the code easier to read: VAR_INPUT_xxx_S (xxx = keyword for the content of the variable) The VAR_ prefix and the _S suffix are mandatory. The final letter in the variable name must not be L because this is reserved for the associated input status variable. The content of this variable is always a formatted input. Since the inputs must always also be available in an unformatted form, for example so that they can be sent to the host, there must also be variables to hold the unformatted values. The name of such a variable is derived from the name of the corresponding input variable by adding the suffix _UNFORMATTED_S to the variable name from the Variable parameter. Input variable: VAR_INPUT_AMOUNT_S Unformatted input variable: VAR_INPUT_AMOUNT_S_UNFORMATTED_S
May 2008
413
Input variables
Input checks
If the application wants to work with the Data Dictionary Framework only, there are 10 input variables and 10 corresponding unformatted input variables predefined, whose owner is the Dialog Framework. The names of these variables are: Variable DLG_INPUT_RESULT1_S ... DLG_INPUT_RESULT10_S DLG_INPUT_RESULT1_S_ UNFORMATTED_S ... DLG_INPUT_RESULT10_S_ UNFORMATTED_S Meaning Input variable 1 ... Input variable 10 Unformatted input variable 1 ... Unformatted input variable 10
Each input variable is read or set via the Active Variable Framework or via the Data Dictionary Framework. It is possible to work with only one of these Frameworks or to configure both together. The access is as follows: Reading of variables: If the Variable Framework is configured, the Contents (STD/ATM) control tries to obtain the data from this Framework first. If the variable is not found there or the Framework is not configured, it tries to obtain the variable from the Data Dictionary Framework. Setting of variables: Setting is performed in a different way. The Contents (STD/ATM) control tries to set the variable in the Data Dictionay first. If it is not found there, because the variable is not configured or the Data Dictionary is not configured, the variable will be stored in the Variable Framework. The business modules are responsible for initializing the input variables. The Check Framework, Contents (STD/ATM) control and every Transaction FW class have access to these Frameworks. When data is transferred from the host, it has to be stored in the unformatted input variables. In this case, the formatted input variables should be initialized with a null string. If an Internet page with input fields but without default values needs to be displayed, both the formatted and the unformatted input variables have to be initialized with a null string.
414
May 2008
Input checks
If the preliminary input is not to be displayed, the checkbox dont display preliminary input (see also section Edit control - Input page on page 133) must be checked. In this case the input variables may not be initialized by the Steps. Nevertheless it is better programming custom to initialize input variables.
If the notation suggested above for input variables was not complied with, then the final letter is simply changed from _S to _L in order to ascertain the name of the input status variable. This is why it is important for the name of the input variable never to end with _L. If the application wants to work with the Data Dictionary Framework only, there are 10 input status variables predefined, whose owner is the Dialog Framework. The names of these variables are: Variable DLG_INPUT_RESULT1_L ... DLG_INPUT_RESULT10_L Meaning Input status variable 1 ... Input status variable 10
May 2008
415
Input checks
416
May 2008
Input checks
Input confirmations
Each input must be concluded with a confirmation key. This confirmation key can be the <Enter> key on the alphanumeric keyboard or the <Confirm> function key on the screen or Encrypted PIN Pad (EPP). If an edit control is to run correctly and the Confirm key on the EPP to be used for input confirmation, there must be a function key with the value CONFIRM active on this page. If this button is not to be shown, a graphic with the size 1 x 1 pixels and the colour of the background must be assigned to it. To be able to use the <Confirm> key on the EPP, the Normal input radio button in the Contents (STD/ATM) control for this Internet page has to be activated (see also Contents ATM control - EPP Keys page on page 208). In this case the Web Graphical Service monitors the EPP and, when a key is pressed, notifies the input field about the pressed key. The key, which is configured for the Softkey Confirm will be triggered automatically. For a customer using a touchscreen it is more intuitive to use a CONFIRM button which can also be touched than having to push a key on the keyboard. Here, a function key with the CONFIRM value (see "Function keys with a fixed meaning" on page 87) must have been created. Normally, the Contents (STD/ATM) control will navigate to the specified Internet page when a function key is selected. However, when an Edit control has been created on the Internet page, the Contents (STD/ATM) control changes the behavior of the key which has the CONFIRM value. If this key is pressed now, the current input field is confirmed. if the parameter TabAsConfirm (see "TabAsConfirm" on page 616 in the Parameters chapter) is switched to 1, every press of the <Tab> or <Shift><Tab> key will simulate a confirmation of each input field. So the check routine of this field will be started. But on the other hand this means, that a field with an user error this field may never been left with the <Tab> key unless the customer corrects the input. Confirmation of a completely filled-in input page is a special aspect. If the Continue without Confirm key parameter (see "Contents ATM control - General page" on page 199) has been activated, the application immediately loads the Internet page that was specified for the CONFIRM function key when all fields have been input and checked. If Continue without Confirm key has not been activated, the operating hint from the Contents (STD/ATM) control is inserted in the page header when the final field has been input.
May 2008
417
Input checks
Then the application waits for the key that was specified in the Confirm key parameter in the Contents (STD/ATM) control (see "Contents ATM control General page" on page 199). The application continues with the Internet page that was defined for the selected confirmation key.
Input corrections
Every input can be corrected with a correction key the <Backspace> key on the alphanumeric keyboard or the <Correct> function key on the screen or Encrypted PIN Pad (EPP). If an edit control is to run correctly and the Correct key on the EPP to be used for input correction, there must be a function key with the value CORRECT active on this page. If this button is not to be shown, a graphic with the size 1 x 1 pixels and the colour of the background should be assigned to it. To use the <Correct> key on the EPP, the Normal input radio button in the Contents (STD/ATM) control for this Internet page has to be activated (see also Contents ATM control - EPP Keys page on page 208). The key which is configured for the Softkey Correct will be triggered automatically. To use the button on the screen as a correction key, a function key with the CORRECT value must have been created and activated. When an input field is active on the Internet page, the mode of the function key is switched. The <Backspace> key on the numeric keypad can be used for correction. Pressing either of these keys deletes the character to the left of the cursor.
418
May 2008
Input checks
Input statuses
An input status variable can hold the following values: Input status (decimal value) FIELD_NOT_CHECKED (1) FIELD_OK (2) FIELD_CHECKED_INFO_MISSING (4) Meaning The field has not been checked. The Check() function has not been called yet. The field has been checked, and the input was OK. A dependent field has been input. The content cannot be set to FIELD_OK because the field on which the current field depends has not been input yet. The Check() function ascertained errors in the input. The Check() function ascertained errors in the input but the customer was given the option to accept the errors anyway. The customer opted to do so.
May 2008
419
Input checks
Meaning The input of a value in a field on which others depend causes the status of the dependent fields to be set to this value in order to initiate another check of the dependent fields. The default value contains special characters that have not been recognized. These must be changed by the customer first.
FIELD_HAS_SCANNER_ERRORS (512)
420
May 2008
Input checks
The Check Framework is responsible for setting the input statuses. FIELD_NOT_CHECKED is the initialization value which is used to call an input page without input field defaults. FIELD_OK is set in the Check() function when the check routine returns without error. FIELD_CONTAINS_ERROR is set when the check routine reports an error. FIELD_CHECKED_INFO_MISSING is only set for dependent input fields when the check of the content depends on the content of another field which has not been input yet. When the dependent field has been input and is checked, the value should change from FIELD_CHECKED_INFO_ MISSING to FIELD_BECAME_UNCHECKED. The Contents (STD/ATM) control then automatically calls the first check again. A good example is the account number. If this is input first, this status is set. When the bank code has been input, the status has to be changed to FIELD_BECAME_UNCHECKED. FIELD_NOK_USER_OVERRIDE is set if the customer is given the option of accepting an incorrect input. The bank code is an example of this. If the specified bank code is not found in the database, the customer can accept it anyway if this has been parameterized. The database may not be up to date. FIELD_BECAME_UNCHECKED is used for dependent fields when they already contain data and an input in the current field means that the dependent fields have to be checked again. The check routine is automatically called by the Contents (STD/ATM) control. FIELD_HAS_SCANNER_ERRORS can be set in addition for all input fields by means of a bit-by-bit inclusive-OR operation if this field contains an unrecognized character. The business module which initiates scanning must check every value that is transferred from the scanner for unrecognized characters and set this flag in addition. If the VAR_SCANNER_ERROR_L variable has also been set to 1, the Contents(STD/ATM) control searches all status variables for this flag. The focus is given to input fields in which this flag has been set. The input field places the cursor on the character to be replaced. When the character has been corrected and confirmed, the cursor is moved to the next character to be replaced or to the next input field in which this flag has been set. The input checks are not carried out until the customer has corrected all characters that need to be corrected. The replacement character is taken from the following parameter:
May 2008
421
Input checks
There is the input status FIELD_HAS_SCANNER_ERRORS to ensure that it is not necessary to check every input field for unrecognized characters. This status must be set by the business modules for the relevant input status variables after document processing. This should be done with a bit-by-bit inclusive-OR operation to make it possible to set one of the other statuses per input field. Even if no scanner errors are detected, VAR_SCANNER_ERROR_L has to be set in a scanner function before jumping to the input page. Only when this variable is set, will all input checks be performed. Otherwise each input field remains unchecked and has to be confirmed manually. VAR_SCANNER_ERROR_L has to be set to 1 in a Transaction FW class just before loading the page with the input controls, because the Contents (STD/ATM) control automatically resets this control to 0.
422
May 2008
Input checks
May 2008
423
Input checks
changes. The Format() function is only called for input fields whose formatted input variables do not contain data (see "Input variables" on page 413). If the formatted input variable is set, the content of the variable is passed directly to the Edit control. If, however, only the unformatted variable contains data, it is passed to the Check Framework. The content is formatted and placed in the formatted input variable. At the end of Format(), the content of the formatted variable is ascertained by the Contents (STD/ATM) control and passed to the Edit control, where it is displayed. If neither the formatted nor the unformatted variable contains data, the Format() function is also called to create any default values (e.g. the current date in a date check). The default value must be placed in the formatted input variable, and the corresponding input status variable has to be filled. The unformatted variable also has to be filled. Here, too, the contents of the formatted variable are passed to the Edit control for display purposes at the end of the Format() function. In addition to the input parameter for the number of the check routine, this function incorporates two input parameters and one return parameter for strings: The input variable string, the parameter string and the output variable string. The name of the unformatted input variable is passed in the input variable string. The content of the Edit controls CheckParameter property is passed in the parameter string. This string was edited by the Dialog() function. The name of the unformatted input variable is passed in the output variable string. The Contents (STD/ATM) control fetches the content of the variable and passes it to the Edit control, where it is displayed. When default values are used in the Format() function, the input status variable must be given the FIELD_OK or FIELD_NOT_CHECKED status, regardless of whether the field is a mandatory or an optional field.
424
May 2008
Input checks
Correction messages
In addition to the input parameter for the number of the check routine, this function incorporates two input parameters and one return parameter for strings: the input variable string, the parameter string and the output variable string. The name of the formatted input variable is passed in the input variable string. The content of the Edit controls CheckParameter property is passed in the parameter string. This string was edited by the Dialog() function (see "The Dialog() function" on page 423). The content of the Edit controls CheckDependencies property is appended to this, separated by ::. This string was also edited by the Dialog() function. The Check() function evaluates the content of this string in the course of the check. The name of the formatted input variable is passed in the output variable string. The Contents (STD/ATM) control fetches the content of the variable and passes it to the Edit control where it is displayed. It is also possible to pass the formatted variable name of dependent input fields in the output variable string. It is necessary to comply with the following syntax: Formatted input variable of the current field=::Formatted input variable of a dependent input field=::Formatted input variable of another dependent input field=::.... The Contents (STD/ATM) control ascertains the content of all input fields in the string and passes it to the Edit control, where it is displayed. The content of the associated status variables is ascertained automatically by the Contents (STD/ATM) control and included in internal status management. It is therefore important for all names of formatted variables for dependent input fields to be passed in the output variable string. All status variables of dependent input variables are set in the Check() function.
Correction messages
When the Check() function has been called, all return codes can be returned which were ascertained in the Dialog() function in the return code parameter. For every return code, the user must enter an Internet page which is to be loaded as a correction message. The Contents (STD/ATM) control ensures that the correct Internet page is displayed. The easiest way of addressing correction message pages is by means of In new window. In this case, when this Internet page is closed, the input field that contains the errored input is activated again. There are several variables to show the customer in which way the input contravenes against the limit. The following variables are filled either with the values of the limit variables or, if the limit variables are empty, with the special limits entered on each limit check property page (see also section Standard input
May 2008
425
Input checks
check dialogs on page 427). In this way the actual used limit is shown to the customer. The variable WX_CHECK_ACTUAL_STEP is related to the Pace function of Numeric check mentioned below. Variable WX_CHECK_ACTUAL_MAX WX_CHECK_ACTUAL_MIN WX_CHECK_ACTUAL_MIN_DATE WX_CHECK_ACTUAL_MAX_DATE WX_CHECK_ACTUAL_STEP Limit Variable WX_CHECK_LIMIT_MAX WX_CHECK_LIMIT_MIN WX_CHECK_LIMIT_DATE_FROM WX_CHECK_LIMIT_DATE_TO none
These variables will only be filled with data if the input is not within the limit range.
However, it is also possible not to return to the input field containing the alleged error after a correction message. This is useful, for instance, if the customer has input a bank code that does not match the account number but the customer wants to keep it nonetheless. It could be the case that the bank code database is not up to date. This behavior is controlled by the input status variable. If the status of the errored input is set to FIELD_NOK_USER_OVERRIDE, the Contents (STD/ATM) control moves the input focus not to the field which is supposed to be errored but to the next input field that has not been checked.
426
May 2008
Input checks
variable. If the counter limit is exceeded, a separate return code (too many input errors) should be returned. This approach has already been implemented for the standard amount check.
Alphanumeric check
The alphanumeric check is applied to inputs of one or more lines. It is possible to allow digits only or the DTA character set only. If 0 is specified as the minimum number of characters, the field is an optional one. If no further restrictions are selected, the check will always return OK.
Fig. 96: Alphanumeric check
Minimum number of characters: The minimum number of characters is input in this field. The value can range from 0 to 999. If the minimum number of characters is 0, then the field is optional and there are no compulsory inputs in it. The maximum number of characters, however, is entered on the Edit May 2008 427
Input checks
controls Input page (see "Edit control - Input page" on page 131). It is also possible to set the maximum number of characters from business modules. If this is required, the maximum number of characters has to be set by the business modules in a variable whose name consists of the name of the input variable with the suffix _MAXCHARS_L. The variable is of the LONG type. Input variable: VAR_INPUT_PURPOSE_S Maximum input length: VAR_INPUT_PURPOSE_S_MAXCHARS_L
Numeric check
The numeric check is applied to inputs consisting primarily of digits but which can include some special characters which are not included in the range check. The range check involves an upper and lower limit. If there is an entry in the Pace field, only values that correspond to this increment are allowed to be input.
Fig. 97: Numeric check
Minimum: The minimum value to be input by the customer is entered here. Maximum: The maximum value to be entered by the customer is entered here. Pace: If each value is not allowed to be consecutive, the required increment can be input here.
428
May 2008
Input checks
Date check
The date check is applied to date fields. It is also possible to check a FROM date against a TO date, i.e. to make sure that the FROM date is before the TO date. The limits to be checked can also be specified as variables by business modules. In order to distinguish a FROM date from a TO date, the Check() routine requires unique variable names. These variable names must therefore be defined uniquely in a transaction.
Fig. 98: Date check
Default value: The input field can either not have a default value, or be defaulted to the current date, or to the date resulting from the Days until earliest possible date or Days until latest possible date, unless the input variable has already been filled by business modules. In this case, the content of the input variable is displayed. If the limits (see below) are passed from business modules, these take precedence over the values from Days until earliest possible date and Days until latest possible date. Days until earliest possible date: Here you enter the number of days that defines the earliest date that can be input. This value depends on the Period in the past checkbox. If this check box is activated and a 5 is input, for example, this means that the date can be five days in the past. If this check box is not activated, the earliest date must be at least five days in the future. If the Check against limit check box is activated, the earliest date in days is read from the WX_CHECK_LIMIT_DATE_FROM variable. This STRING variable can be filled by business modules.
May 2008
429
Input checks
Days until latest possible date: Here you enter the number of days that defines the latest date that can be input. This value depends on the Period in the past checkbox. If the Check against limit check box is activated, the latest date in days is read from the WX_CHECK_LIMIT_DATE_TO variable. This STRING variable can be filled by business modules. Date format: There is a choice of Long date (language-specific) and Short date (language-specific) here. The formats are taken from the parameter settings of the HTML generator (see "Formatting settings" on page 288). Period in the past: If this check box is activated, the Days until earliest possible date and the Days until latest possible date are allowed to be in the past. This means that the value for the earliest date must be greater than the value for the latest date. Period in the past is activated, Days until earliest possible date = 20, Days until latest possible date = 10. Today is 30.07.00: The date must lie between 10.07.00 and 20.07.00. Check against limit: If this check box is activated, the limits can be transferred from business modules via the WX_CHECK_LIMIT_DATE_FROM and WX_CHECK_LIMIT_DATE_TO variables. The data is expected in the form of days here. If this check box is activated but the variables do not contain data, the values from Days until earliest possible date and Days until latest possible date are used. Variable WX_CHECK_LIMIT_DATE_F ROM WX_CHECK_LIMIT_DATE_T O Length STRING[4] STRING[4] Meaning Limit for Days until earliest possible date Limit for Days until latest possible date
Compelling input: If this check box is activated, the date input is compulsory. If the input is not compulsory and a reasonable default value is available, the customer can skip this field. If a non-compulsory date field is the only input field on a page and a default value is available, the page is only displayed briefly and the program continues as if the customer had confirmed an input.
430
May 2008
Input checks
Related: In some cases you wish to use two edit fields to enter a FROM date and a TO date. To make sure that a FROM date is before a TO date, this checkbox has to be activated. From: To check the FROM date against the TO date, you have to activate this checkbox. Then the variable related to the TO edit field (see TO edit field property page or Registry) has to be entered into the textfield beneath the To checkbox. To: To check the TO date against the FROM date, you have to activate this checkbox. Then the variable related to the FROM edit field (see FROM edit field property page or Registry) has to be entered into the textfield beneath the FROM checkbox. Example: There are two edit fields, FROM and TO. The edit field FROM uses the variable DLG_INPUT_RESULT1_S and the edit field TO uses the variable DLG_INPUT_RESULT2_S. Then you have to enter the variable DLG_INPUT_RESULT2_S into the textfield beneath the To checkbox on FROM edit field property page and vice versa.
Amount check
The amount check is a special numeric check in which decimal places and thousands separators can be specified. The hyphen is also accepted. The + sign and a blank are only accepted as characters before the actual amount. The number of decimal places and the formatted output can be defined.
Fig. 99: Amount check
May 2008
431
Input checks
Minimum (unformatted): This field defines the smallest amount that can be input in the unit specified in the Currency exponent parameter on the Other format page (see Fig. 100: "Amount check formatting") or in the parameters for the HTML generator (see "Formatting settings" on page 288). If the Check against limit check box is activated, the minimum is read from the WX_CHECK_LIMIT_MIN variable. If the check box is activated and the variable does not exist or contains a null string, the content of this field is used in the check. Variable WX_CHECK_LIMIT_MIN Length STRING[20] Meaning Minimum limit for amount check
Currency exponent = -2: Amount has to be input in pfennigs, for instance. Example: 200 => 2.00 Currency exponent = -4: Amount has to be input with 4 decimal places but without a decimal point Example: 200 => 0.0200 Currency exponent = 0: Amount can be input in full deutschmarks, for instance. Example: 200 => 200 Maximum (unformatted): This field defines the highest amount that can be input in the unit specified in the Currency exponent parameter on the Other format page (see Fig. 100: "Amount check formatting"). If the Check against limit check box is activated, the maximum is read from the WX_CHECK_LIMIT_MAX variable. If the check box is activated and the variable does not exist or contains a null string, the content of this field is used in the check. Variable WX_CHECK_LIMIT_MAX Length STRING[20] Meaning Maximum limit for amount check
Check against limit: If this check box is activated, the contents of the WX_CHECK_LIMIT_MAX and the WX_CHECK_LIMIT_MIN variables are used for the check. If these variables do not exist or are a null string, the contents of the Maximum and Minimum fields are used. 432 May 2008
Input checks
Number of input tries: The number of attempts to input the amount is limited here. If the customer tries to repeat the input more than the number of times specified here, the error message "Too many input errors" is output and this is rejected. The value 0 stands for an infinite number of attempts (see also section Input attempt counter on page 426). Output format = according to HTML generator: If this check box is activated, the settings from the parameters of the HTML generator are used for input formatting (see "Formatting settings" on page 288). If it has been specified there, for example, that two decimal places are allowed, this applies automatically to the input of the amount. In this case, three decimal places would be rejected with an error message. The thousands grouping is also taken from the HTML generators parameter set. If this check box is not activated, the Other format button has to be pressed to open a formatting dialog. other Format ...: The following dialog appears when this button is selected.
Fig. 100: Amount check formatting
Number of post-comma digits: The number of decimal places that can be input or that is formatted for output is specified here. Currency exponent: The currency exponent is used to form an unformatted variable or to check a limit variable. Currency exponent = -2: Amount is converted to pfennigs, for instance. Example: 200.00 => 20000
May 2008
433
Input checks
Currency exponent = 2: Input amount is converted to a currency with decimal places but no decimal point Example: 200 => 2 Currency exponent = 0: Amount can be specified in full deutschmarks, for instance, and is not converted. Example: 200 => 200 Grouping: This input field specifies how digits before the decimal point are grouped. The character specified in the Grouping point field is used as a separator. If there are fewer places before the decimal point than specified in this input field, no grouping can take place. Grouping = 4, group separator = +, amount = 1234567890.00 Output: 12+3456+7890.00 Decimal point: The decimal separator is specified here. Group point: The separator that applies to the number of characters specified in the Grouping field is specified here.
434
May 2008
Check Framework
Check Framework
The Check Framework is responsible for all kinds of input checks, e.g. numeric, alphanumeric, amount, date, etc. This framework is used after the customer has made an input, or to format an unformatted value or to show the formatted value in the input field. It even has an interface to show up a dialog for retrieving additional parameters for the check routine.
Release specification
Version 1.0 of the class CCCheckFW is released in a DLL named CCCHECKFW.DLL. CCCHECKFW.DLL is a summary of classes which can be accessed in the framework model. applications using this DLL must include the file CCCHECKFW.XPP.
Configuration
The logical name of the Check Framework is CCCheckFW. You have to make the following entry available to the Repository manager:
"CCCheckFW" "x:\y\CCCHECKFW.DLL"
Parameters
There are no parameters which are used directly by the check framework. Nevertheless, there are parameters used by the HTML generator of the Internet Graphical Service which can be indirectly accessed in the format() function of the check framework. The format() function of PCDialog() can be used for formatting input variables (see also section PCDialogFW.Format on page 346).
May 2008
435
Check Framework
Public Interface
The public interface is completely defined in the include file CCCHECKFW.XPP. It contains all the public functions, events and the required definitions for data structures and return codes. Methods The following public member functions are defined in class CCCheckFW: CCCheckFW.Dialog Returns all strings for return values and enables display of a dialog for retrieving additional parameters from the user. CCCheckFW.Format Formats an unformatted variable to show the formatted value in the input field later on. This function can be used if data from the host is to be displayed inside an input field. The customer can change this. CCCheckFW.Check Checks the customer input. Has the ability to return with up to 20 return codes for displaying error messages. CCCheckFW.LookForLottery Searches an ODBC database for a pair consisting of bank code and account number. Definitions and data structures The class CCCheckFW contains the following definitions and data structures:
436
May 2008
Value
0 -1 1 2 3 4 5 6 7 23 25 26 27 8 9 10 11 12 13 24 28 14 15 16 30 34 17 18 19
May 2008
437
Check Framework
Definition
CCCHECKFW_RC_ENTRY_NOT_UNIQUE CCCHECKFW_RC_NO_KOMMA_IN_BANKNAME CCCHECKFW_RC_BANKNAME_NOT_OF_BANKCODE CCCHECKFW_RC_NOT_IN_TELEPHONE_FORMAT CCCHECKFW_RC_DATE_ONLY_ONE_PERIOD CCCHECKFW_RC_WRONG_STARTDATE CCCHECKFW_RC_DATE_IS_NOT_IN_RHYTHM
Value
20 21 22 29 31 32 33
Value
0 1 2
438
May 2008
Check Framework Specification of the methods In the following section, the public methods are described in detail. CCCheckFW.Dialog Syntax: SHORT CCCheckFW.Dialog ( const SHORT sMethodID, PSZ pszParameter, USHORT usParameterMaxLength, PSZ pszDependentInputs, USHORT usDependentInputsMaxLength, PSZ pszErrorMsgs, USHORT usErrorMsgsMaxLength, ULONG ulFlag) ) Function: This function is called twice at parameterization of Edit control. Only when the user opens the dialog for parametrization in the parameter pszErrorMsgs are the return values of the corresponding check routine returned. Secondly, when the user presses the button Parameters on the General 1 property page, this function can be used to show a dialog for retrieving additional parameters for this check routine. Input parameters: sMethodID (IN) Number of the check routine. pszParameter (IN/OUT)
May 2008
439
Check Framework This pointer is used for returning the parameters after displaying the dialog. An empty string with the length of usParameterMaxLength must be used for input. The string is only filled if ulFlag = 0. The string must use the following syntax: Parameter=Value;Parameter=Value;... usParameterMaxLength (IN) Length of the parameter string pszParameter pszDependentInputs (IN/OUT) This pointer is used for returning the names of the dependent input variables. An empty string with the length of usDependentInputsMaxLength must be used for input. The string is only filled if ulFlag = 0. The string must use the following syntax: Variablename;Variablename;... usDependentInputsMaxLength (IN) Length of the parameter string usDependentInputs pszErrorMsgs (IN/OUT) This pointer is used for returning the error messages. An empty string with the length of usErrorMsgsMaxLength must be used for input. The flag is only filled if ulFlag = 1. The string must use the following syntax: Returncode:Description;Returncode:Description;... usErrorMsgsMaxLength (IN) Length of the parameter string usErrorMsgsMaxLength ulFlag (IN) 0: the dialog should be displayed 1: the error messages should be returned
440
May 2008
Check Framework Return values: CCCHECKFW_RC_OK (0) CCCheckFW returned successfully CCCHECKFW_RC_GENERAL_ERROR (-1) General error in Dialog function CCCheckFW.Format Syntax: SHORT CCCheckFW.Format ( const SHORT sMethodID, PSZ pszInput, PSZ pszParameters, PSZ pszOutput, USHORT usOutputMaxLength ) Function: This function is called when an unformatted variable is to be displayed in Edit control. This variable has to be formatted first, using this routine. All parameters are received, because one of the parameters could be a mask for formatting the appropriate value. The name of the formatted variable has been filled into pszInput before the function was called. The formatted value has to be set to this variable. The unformatted value is retrieved from CCVarFW from the unformatted variable. The name of the unformatted variable can be built from the name out of pszInput, enhanced by _UNFORMATTED_S.
May 2008
441
Check Framework Input parameters: sMethodID (IN) Number of the check routine. pszInput (IN) Contains a pointer to a string containing the name of the variable the formatted value should be set to. The name of the unformatted variable can be quickly built by expanding the name with the extension _UNFORMATTED_S. Use the Variable Framework to obtain and set the formatted and unformatted input variables. pszParameters (IN) This pointer is used for transferring the additional parameter string. This string is retrieved from the dialog() function. The string must use the following syntax: Parameter=Value;Parameter=Value;... pszOutput (IN/OUT) Not yet used. usOutputMaxLength (IN) Not yet used. Return values: CCCHECKFW_RC_OK (0) CCCheckFW returned successfully CCCHECKFW_RC_GENERAL_ERROR (-1) General error in Dialog function
442
May 2008
Check Framework CCCheckFW.Check Syntax: SHORT CCCheckFW.Check ( const SHORT sMethodID, PSZ pszInput, PSZ pszParameters, PSZ pszOutput, USHORT usOutputMaxLength ) Function: This function is used for checking the input. It is called directly after user input. The check routine can return up to 10 values. Input parameters: sMethodID (IN) Number of the check routine. pszInput (IN) Contains a pointer to a string containing the name of the variable with the formatted value. pszParameters (IN) This pointer is used for transferring the additional parameter string. This string is retrieved from the dialog() function. The string must use the following syntax: Parameter=Value;Parameter=Value;... pszOutput (IN/OUT) This parameter can be used for transferrring the names of the dependent variables and the names of the status variables. DependendInputVariable1;DependendInputVariable2;...
May 2008
443
Check Framework usOutputMaxLength (IN) Length of the buffer pszOutput. Return values: CCCHECKFW_RC_OK (0) CCCheckFW returned successfully CCCHECKFW_RC_GENERAL_ERROR (-1) General error in Dialog function
444
May 2008
Check Framework CCCheckFW.LookForLottery Syntax: SHORT CCCheckFW.LookForLottery ( PSZ pszBankCode, PSZ pszBankName ) Function: This function looks for the bank code and account number in an ODBC database. Input parameters: pszBankCode (IN) Contains the bank code that is to be looked up. pszAccountNumber (IN) Contains the account number that is to be looked up.
May 2008
445
Check Framework Return values: CCCHECKFW_RC_OK (0) if the pair consisting of bank code and account number is found CCCHECKFW_RC_GENERAL_ERROR (-1) if the pair consisting of bank code and account number is not found
446
May 2008
Check Framework
May 2008
447
Check Framework
448
May 2008
May 2008
449
about:SNI_CANCELSURFING. A click on this element exits display of the external pages. However, this only functions on devices with a touchscreen. If the Cancel button on the EPP is also to be used, a Button control must be created as a function key with the value SURFING_CANCEL, to which the softkey CANCEL is assigned. In addition, the Contents STD/ATM control is also required on this page, whereby care must be taken that its timeout is set to Endless Timeout.
May 2008
451
Access violations
Access violations
If the external pages have poorly programmed contents or if an attempt is made on a page to launch another browser instance, the browser will terminate immediately and return control to the application. In this case, however, the Internet page that is specified in the AccessViolationURL parameter is loaded (see "AccessViolationURL" on page 607 in the Parameters chapter) in a new window. This page tells the customer that the previously selected Internet page included actions that are not allowed on the self-service device. This page works as a popup window and is closed automatically after a timeout of 10 seconds.
452
May 2008
May 2008
453
Opening, Closing and rezising Popup Windows Displaying external pages To close the new browser instance please navigate to about:SNI_MSWND_CLOSE in a window.navigate() command. window.navigate(about:SNI_MSWND_CLOSE); Please keep in mind, that it takes a moment to load a new instance. Please wait with the resizing or closing, until the instance is properly loaded. To navigations in script direct behind each other will propably fail.
454
May 2008
Scripting
Scripting
It is not only possible to set up HTML pages with the ProTopas/Web-Extensions controls but also to create interactive pages with the aid of scripts. ProTopas/Web-Extensions controls provide interfaces which can be queried by scripts. For example, the Button control can be queried about the pressing of a button, and the Contents ATM control about the page timeout. Another control, the Active VarFW control, accesses the Variable Framework and is thus able to exchange data between scripts on HTML pages and Steps. You should use scripting whenever the properties of the ProTopas/Web-Extensions controls are inadequate for the application that is being designed. Scripts can be used to draw upon Microsofts Dynamic HTML interface. This is particularly interesting when page contents need to be moved on the otherwise fairly rigid HTML pages. Access to databases, for example, has been implemented in the ProTopas/Web-Extensions application almost entirely with scripts. People, who just start using the ProTopas/Web-Extensions must not use lots of scripts because scripts have to be used very carefully. Mostly it is easy to use scripts for changing the interface itself. Using scripts to navigate to other pages is not that easy, because it can result in a lockup of the system. Please check the methods and events from the Contents STD/ATM Control. If an event is not found there, use the standard one from the browser. This means better use OnContentsUnload()than Window.OnUnload(). A lockup may result by calling a method from the Contents STD/ATM Control in a script, which is initiated by an event from the Contents STD/ATM Control. This means the function which fires the event is not finished, while the next function - the method call - is activated. For a navigation please use asynchronous working functions like window.setTimeout() to call the NavigateGotoURL() method of the Contents STD/ATM Control. In this case the function which was firing the event will finish before the NavigateGotoURL() function is called. All controls are throwing exceptions when an internal erro occurs. Please use Try/Catch while calling the control methods. If the error code is not equal S_OK then E_FAIL or E_INVALIDARGS is returned (see section Error number for On Error Resume Next). Please keep these tips in mind while implementing the scripts.
May 2008
455
Scripting Here is a list of scripting interfaces provided by the ProTopas/Web-Extensions controls. Contents STD/ATM control: Method void Refresh() Meaning The control refreshes input status variables and contents of input variables of Edit controls and List controls Navigation to a new Internet page (Url), use PCEvt:RC=Value for to return a value to the DoDialog() interface. It may be used to navigate to CLOSE.HTM to close popup windows. Opens a new browser at coordinates Left, Top, Width, Height and loads Internet page Url into this area. This mehod is used to play a Wave file or to activate a sound via the special electronics. See "AudioResponse" on page 651. for information about the syntax of Soundfile
void NavigateOpenNewWindow (BSTR Url, int Left, int Top, int Width, int Height) void PlaySound(BSTR Soundfile)
456
May 2008
Scripting
Meaning This method is used to write information into Error Log Trace Log or into the Journal. LogString is the data, which shall be logged. iLogType: 1: Log into Trace 2: Log into Error Log 3: Log into Journal (see also section Logging into Error/Trace Log or Journal by Script on page 494) This method is used to activate ADA commands in script (see also section Scripting on page 507).
Meaning When a timeout occurs on the page, actions can still be carried out which have to be completed before navigating to the next page. This event is fired after the Edit control and List control have fired the UserInteraction() event, but before the Contents STD/ATM control has executed its internal task. This event is fired after the Edit control has fired the UserInteraction() event, but after the Contents STD/ATM control has executed its internal task (Status variable is set to not checked and the Contents of the control are read and saved to the input variable). It can be used to format output strings.
BeforeUserInteraction(short ID)
May 2008
457
Scripting
Meaning This event is fired after the Button control and List control has fired the ButtonPressed() event, but before the Contents STD/ATM control has executed its internal task. This event is fired after the Button control has fired the ButtonPressed() event and after the internal task of the Contents STD/ATM control has been initialized. The FunctionValue and the selection is retrieved. selection: 0: Menu Button 1: FunctionKey 2: Selection Button 3: Radio Button This event is fired after the Edit control and List control has fired the EditComplete() event, but before the Contents STD/ATM control has executed its internal task. This event is fired after the Edit control has fired the EditComplete() event, but after the internal task of the Contents STD/ATM control has been initialized. The Contents of the input field and the reaction is retrieved. reaction: 0: No reaction 1: Confirmed 2: Tab selected 3: Backtab selected This event is fired after any control has got the focus and before the action of the Contents STD/ATM control has executed its internal task.
BeforeEditComplete(short ID)
BeforeGotFocus(short ID)
458
May 2008
Scripting
Meaning This event is fire, after any control has got the focus and after the action of the Contents STD/ATM control has executed its internal task. This event is fired before the check routine for Edit control has been called. The Contents of the input field are retrieved with this event. EditState: (see also section Input statuses on page 419). CheckRoutineID: Number of the CheckRoutine (see also section Standard input check dialogs on page 427). This event is fired after the check routine has successfully returned. It is not fired if a correction return code has been returned and it is not even fired if the check is not performed (see EditState FIELD_OK_USER_OVERRIDE). The Contents of the input field after the check routine are retrieved with this event. It may be formatted or changed.
May 2008
459
Scripting
Meaning This event is fired after the check routine of the last unchecked field has successfully returned. All Edit controls have the EditState FIELD_OK now. SubmitStatus: 0: Event is fired when all edit controls are checked with FIELD_OK and there is a SUBMIT Button configured. 1: This event is fired, when there is no SUBMIT button configured in the page. 2: This event is fired, after the SUBMIT Button has been pressed. So the event with SubmitStatus 0 is fired and directly after this the event with SubmitStatus 2 is fired. This event is fired after the Contents STD/ATM control is almost initialized. EPP initialization is not performed, input handling is not started and the timer is not activated. This event is fired after navigation to the next page has been triggered or before returning a code to the Step. Please add scripts to run at the end of a page here. This event is fired after all pages of a frameset have been loaded and before the Contents STD/ATM Control initializes itself.
OnContentsStart()
OnContentsEnd()
OnContentsLoad()
460
May 2008
Scripting
Meaning This event is fired after OnContentsLoad() and before OnContentsStart(). This event is fired after the page is scanned and possibly the variables are replaced. It should be used for variable replacements etc. This event is fired before the page will be destroyed. Please be carefully when you like to script this event. Many controls have already been destroyed. This event is fired before a new browser instance is opened in a new window with the Internet page Target. It may be used to stop animations, activities or even a Step. This event is fired when a new browser instance has been closed and before the Contents STD/ATM control has been reinitialized. A Step in the Transaction Framwork can fire an Event ACTIVEStep_EVT_FIRE_STRING (see also section Programming a Transaction Framework on page 44) with an input parameter. This Event is fired into the Internet page by use of OnStepEvent.
OnContentsUnload()
OnContentsOpenNewWindow(BSTR Target)
OnContentsRestart()
OnStepEvent(BSTR bstrContents)
May 2008
461
Scripting
Meaning This event is fired, when a Step returns in Web-Extensions/HyperLink architecture or when a DoDialog() is called in WebExtensions/ClassicLink architecture before the Contents STD/ATM Control starts its work. sRetCode: 0 ...19 = Returncode of Steps (only for Web-Extensions/HyperLink) 20 = PIN entry OK 21 = PIN entry error 22 = PIN enty canceled 25 = Data entry OK 26 = Data entry error 27 = Data entry canceled
462
May 2008
Scripting
Meaning This event is fired, when a Step returns in Web-Extensions/HyperLink architecture or when a DoDialog() is called in WebExtensions/ClassicLink architecture after the Contents STD/ATM Control has finished its work. sRetCode: 0 ...19 = Returncode of Steps (only for Web-Extensions/HyperLink) 20 = PIN entry OK 21 = PIN entry error 22 = PIN enty canceled 25 = Data entry OK 26 = Data entry error 27 = Data entry canceled bstrURL for Web-Extensions/HyperLink: sRetCode 0 -19: Name of Internet page configured for the Steps returncode (only for WebExtensions/HyperLink) sRetCode 20, 25: Name of Internet page for Continue with HTML page property. sRetCode 21, 26: Name of Internet page for EPP error HTML page property. sRetCode 22, 27: not set. bstrURL for Web-Extensions/ClassicLink: sRetCode 20, 25: PCEvt:RC=0 sRetCode 21, 26: PCEvt:RC=-2 sRetCode 22, 27: not set.
May 2008
463
Scripting
Meaning This event is fired, when a softkey or functionkey of the EPP is pressed. bstrSoftkey may be "F1" to "F8" or "Confirm", "Correct", "Cancel", "Help", "Print". This event is fired, when a numeric key of the EPP is pressed. lKey may be the ASCII value of 0 to 9 (48-57), 262144 for the key left of the 0 and 32768 for the key right from the 0. This event is fired, when a numeric key of the EPP is pressed during PIN entry. lKey contains the replacement charcter from the CEN/XFS interface (268435456).
OnKeyPressed(long lKey)
OnPinKeyPressed(long lKey)
Meaning x position (from upper left corner of the screen) of popup window for help messages y position (from upper left corner of the screen) of popup window for help messages Width of popup window
int NewWindowLeft
int NewWindowWidth
464
May 2008
Scripting
Meaning Height of popup window Control initialisation status: If the Contents STD/ATM Control is loaded, this property may contain a 0 or a 1. 0 means, the control is initialized, but it is only allowed to call functions related to ProTopas (like Beeping). It is not allowed to navigate! 1 means, that it is now even allowed to navigate, because all initialization routines in the control are finished completely. All other values mean there is an error in the control initialization.
Button control: Method void PressButton() Meaning This method may be used to select a radio button or a button which is configured as a checkbox.
May 2008
465
Scripting
Meaning These methods may be used to select a button in script. The button will be pressed and released a second later. First the focus has to be given to the button by use of SetFocusToButton() and then the TriggerControl() method has to be called. This method may be used to change the state of the button: 0: Up state 1: Pressed state 2: Disabled state 3: Invisible state
Property BSTR Text BSTR Font short TextSize short TextAlignX short TextAlignY BOOL TextBold BOOL TextItalic BOOL TextUnderline BOOL TextStrikeout
Meaning This property changes the caption of the button. This property changes the font of the caption of the button. This property changes the font size of the caption. This property changes the X alignment of the caption. This property changes the Y alignment of the caption. This property changes the caption font attributes to bold. This property changes the caption font attributes to italic. This property changes the caption font attributes to underline. This property changes the caption font attributes to strikeout.
466
May 2008
Scripting
Meaning This property changes the HTML page to which the Dialog is to navigate after this button has been triggered. This property changes the image for the up state. This property changes the image for the down state. This property changes the image for the pressed state. This property changes the image for the disabled state. This property changes the icon for the up state. This property changes the icon for the disabled state.
BSTR ImageUp BSTR ImageDown BSTR ImagePressed BSTR ImageDisabled BSTR Icon BSTR IconDisabled
May 2008
467
Scripting Edit control: Method void TriggerControl() void SetContents(BSTR Contents) void Backspace() Meaning This method may be used to select an input field in script. This method may be used to prefill data in an edit field or to empty an input field. This method may be used to clear the character to the left of the cursor in script. This method may to used to confirm an input in script. The check is then performed. This method may be used to highlight a portion of input text in an edit control with the cursor. If the customer now inserts any character these portion will be replaced by the input. Cursor at end of marker: (0,3) Cursor at beginning of marker: (3,0) Select all: (0,-1) Deselect all: (-1,0) This method may be used to clear the complete edit field content at once in script. The function returns the number of deleted characters.
void Confirm()
Short Correct()
Meaning This property changes the instruction hint of the edit field. This property changes the caption of the edit field. This property changes the font of the caption of the edit field.
468
May 2008
Scripting
Meaning This property changes the font size of the caption of the edit field. This property changes the font colour of the caption. This property changes the font colour during disabled state of the caption. This property changes the X alignment of the caption. This property changes the Y alignment of the caption. This property changes the caption font attributes to bold. This property changes the caption font attributes to italic. This property changes the caption font attributes to underline. This property changes the caption font attributes to strikeout. This property changes the font of the input field of the edit field. This property changes the font size of the input field of the edit field. This property changes the font colour of the input field. This property changes the font colour during disabled state of the input field. This property changes the X alignment of the input field. This property changes the Y alignment of the input field. This property changes the input field font attributes to bold.
short CaptionAlignX short CaptionAlignY BOOL CaptionBold BOOL CaptionItalic BOOL CaptionUnderline BOOL CaptionStrikeout BSTR InputFont short InputSize long InputColour long InputColourDisabled
May 2008
469
Scripting
Meaning This property changes the input field font attributes to italic. This property changes the input field font attributes to underline. This property changes the input field font attributes to strikeout. This property changes the maximum number of characters which may be entered in this Edit control. This property changes the image for the up state. This property changes the image for the pressed state. This property changes the image for the disabled state. This property changes the icon for the up state. This property changes the icon for the disabled state.
BSTR ImageUp BSTR ImagePressed BSTR ImageDisabled BSTR IconUp BSTR IconDisabled
470
May 2008
Scripting List control: Method void TriggerControl() void SetContents(BSTR Contents) Meaning This method may be used to select a list control in script. This method may be used to prefill data into a list control or to empty a list control.
Property BSTR Instruction BSTR CaptionText BSTR CaptionFont short CaptionSize long CaptionColour long CaptionColourDisabled
Meaning This property changes the instruction hint of the list control This property changes the caption of the list control. This property changes the font of the caption of the list control. This property changes the font size of the caption of the list control. This property changes the font colour of the caption. This property changes the font colour during disabled state of the caption. This property changes the X alignment of the caption. This property changes the Y alignment of the caption. This property changes the caption font attributes to bold. This property changes the caption font attributes to italic. This property changes the caption font attributes to underline. This property changes the caption font attributes to strikeout.
short CaptionAlignX short CaptionAlignY BOOL CaptionBold BOOL CaptionItalic BOOL CaptionUnderline BOOL CaptionStrikeout
May 2008
471
Scripting
Meaning This property changes the font of the input field of the list control. This property changes the font size of the input field of the list control. This property changes the font colour of the input field. This property changes the font colour during disabled state of the input field. This property changes the X alignment of the input field. This property changes the Y alignment of the input field. This property changes the input field font attributes to bold. This property changes the input field font attributes to italic. This property changes the input field font attributes to underline. This property changes the input field font attributes to strikeout. This property changes the image for the up state. This property changes the image for the pressed state. This property changes the image for the disabled state. This property changes the icon for the up state. This property changes the icon for the disabled state.
short InputAlignX short InputAlignY BOOL InputBold BOOL InputItalic BOOL InputUnderline BOOL InputStrikeout BSTR ImageUp BSTR ImagePressed BSTR ImageDisabled BSTR IconUp BSTR IconDisabled
472
May 2008
Scripting EPP Control: Method BOOL KeyPress(short Key) Meaning This method may be used to simulate display of any character (Key) in EPP control in script. This method may be used to clear the input field of the EPP control completely.
void Correct()
Meaning This property changes the image of the EPP graphic. This property changes the caption text of the EPP control.
ActiveStep control Method short ProcessStep (BSTR SelectedStep) Meaning This method may be used to call a Step (SelectedStep) of the Transaction Framework without using the Contents STD control. This method may be used to call a Step (SelectedStep) of the SelectedFramework and add the input parameter SelectedParameter without using the Contents STD control. This method cancels a running Step. It should be called when the dialog navigates to another Internet page. This method cancels a running Step when a new browser instance is started
void OnUnload()
void End()
May 2008
473
Scripting
Meaning This method restarts a Step after a popup window has been closed. This method switches all events off, a running Step may fire. No event notification will be received in the current page.
Meaning This event reports the Returncode from the Step. Self defiend event number 10 may be fired in a step. It may contain an input parameter. This interface may be used to receive any event from a step in an Internet page.
Meaning This property may contain the Step to be called. This property may contain the Framework (only CCTransactionFW or CCServiceFW) which contains the step from property StepSelection. This property will be deleted with event End(), OnUnload() or OnRunComplete. This Property contains the input parameter data from step StepSelection. This property will be deleted with event End(), OnUnload() or OnRunComplete.
BSTR StepParameter
474
May 2008
Scripting
Meaning Copy from the Step RC. Will be deleted at ProcessStep() or ProcessStep2() Status: ACTIVESTEP_NOT_OPERATIONAL (0) ACTIVESTEP_OPERATIONAL (1) ACTIVESTEP_STEP_RUNNING(2) ACTIVESTEP_STEP_RUNNING_AN D_FIREING_EVENTS (3)
short Status
Active DataDictionary Control Method short GetBYTE(long Index) Meaning This method may be used if a binary value is to be read by the Data Dictionary. The byte at position Index will be retrieved. The return codes of this method may be: -2001: GENERAL_ERROR -2007: INDEX_ERROR -2008: GETBYTEMUSTBEARRAY -2002: VARNAMEEMPTY short ResetVariable() The data is reset. The property does not contain any input. VariableTyp is set to CCDATADICTFW_ PROPERTY_NOT_SUPPORTED.
Meaning The property contains the name of the Data Dictionary variable. The property contains the value of the Data Dictionary variable.
May 2008
475
Scripting
Meaning
The property contains the type of variable: 0: BOOL 1: CHAR 2: UCHAR 3: SHORT 4: USHORT 5: LONG 6: ULONG 7: STRING 8: BINARY Additionally the return code from getting a variable can be retrieved with this function: -1: PROPERTY_NOT_SUPPORTED -2: BUFFER_TOO_SMALL -3: BUFFER_TOO_LARGE -4: PROPERTY_NOT_SET -5: GET_PROPERTY_NOT_ SUPPORTED -6: SET_PROPERTY_NOT_ SUPPORTED -7: RESET_PROPERTY_NOT_ SUPPORTED -8: INDEX_OUT_OF_RANGE -10: DATADICTFW_ERROR -11: DATADICTFW_FRAMEWORK_ NOT_FOUND -12: ATADICTFW_FUNCTION_ NOT_SUPPORTED -13: DATADICTFW_FORMAT_ NOT_SUPPORTED -14: DATADICTFW_VALUE_ OUT_OF_RANGE -16: DATADICTFW_RC_ FORMAT_ERROR ...
476
May 2008
Scripting
Meaning
... -2001: GENERAL_ERROR -2002: VARNAMEEMPTY -2003: CANTLOADFRAMEWORK -2004: TYP_NOT_SUPPORTED -2005: SET_BINARY_MUSTBE_ARRAY -2006: INDEX_SYNTAX_ERROR -2007: INDEX_ERROR -2008: GET_BYTE_MUST_BE_ARRAY -2100: EXCEPTION_AT_GET_BOOL -2101: EXCEPTION_AT_GET_CHAR -2102: EXCEPTION_AT_GET_UCHAR -2103; EXCEPTION_AT_GET_SHORT -2104: EXCEPTION_AT_GET_USHORT -2105: EXCEPTION_AT_GET_LONG -2106: EXCEPTION_AT_GET_ULONG -2107: EXCEPTION_AT_GET_STRING -2108: EXCEPTION_AT_GET_BINARY -2109: EXCEPTION_AT_SET_BOOL -2110:EXCEPTION_AT_SET_CHAR -2111: EXCEPTION_AT_SET_UCHAR -2112: EXCEPTION_AT_SET_SHORT -2113: EXCEPTION_AT_SET_USHORT -2114: EXCEPTION_AT_SET_LONG -2115: EXCEPTION_AT_SET_ULONG -2116: EXCEPTION_AT_SET_STRING -2117: EXCEPTION_AT_SET_BINARY
The property contains the index of an array variable. The property contains the length of the contents of the variable. Use it with string and binary variables.
May 2008
477
Scripting
Meaning The Get() function for getting the content of the property is performed 0 - (default) when the VariableName is set. 1 - once not after setting VariableName -1 - always not after setting the VariableName This function switches on or off the error logging of the control 0 - logging switched off 1 - logging switched on (default) If logging is switched off the logging should be performed in the script itself. The property VariableTyp will always contain the number of the error, if its value is negative.
bool ErrorLogging
478
May 2008
Scripting ActiveVariable Control Method short SetLongValue() Meaning This method is used to set a long value. Possible return values: CCVARFW_OK (0) CCVARFW_VAR_NOT_FOUND (-1) CCVARFW_VAR_TOO_SMALL (-2) CCVARFW_ERROR (-10) This method is used to set a string value. Possible return values: CCVARFW_OK (0) CCVARFW_VAR_NOT_FOUND (-1) CCVARFW_VAR_TOO_SMALL (-2) CCVARFW_ERROR (-10) This method is used to get a long value. Possible return values: CCVARFW_OK (0) CCVARFW_VAR_NOT_FOUND (-1) CCVARFW_VAR_TOO_SMALL (-2) CCVARFW_ERROR (-10) This method is used to get a string value. Possible return values: CCVARFW_OK (0) CCVARFW_VAR_NOT_FOUND (-1) CCVARFW_VAR_TOO_SMALL (-2) CCVARFW_ERROR (-10)
short SetStringValue()
short GetLongValue()
short GetStringValue()
Meaning The property contains the name of the Data Dictionary variable. The property contains the value of the Data Dictionary variable.
May 2008
479
Scripting ActivePTSniff Control Method boolean StartSniff() Meaning This Function starts the Sniffer. The function does only have to be called, when the property AutoStart is set to False(0) or when the AddSniff() function shall not be used. This function stops the Sniffer. This function adds a framework to the list of sniffed frameworks and automatically starts sniffing this framework. This function removes a framework from the list of sniffed frameworks. Only in external Page mode: This function stops the timeout monitoring and pauses for the specified time in milliseconds. After this the original timeout is restarted. Only in external Page mode: The StartKeepAlive() is canceled and the original timeout will be restarted. This method can be used to request if some frameworks are being sniffed. This method can be used to request if the original timeout in external page mode is paused.
boolean StopKeepAlive()
boolean IsRunningSniff()
boolean IsRunningKeepAlive()
480
May 2008
Scripting
Meaning This parameter is responsible to start the Sniffer automatically. So the function StartSniff() does not have to be called. 0 = False, any other value True. This property must be used in the property list of the control only. It makes sense to use this, when the framework should be sniffed at start automatically. If more than one framework should be loaded the separator is the ; This property contains all Frameworks, which are activated to be sniffed by AddSniff(Framework) or by directly writing it to the Frameworks property.
May 2008
481
Scripting
Event PTEvent(BSTR strSender, short sID, short sDataLength, VARIANT byteData, BSTR strData )
Meaning This event is fired, when a sniffed framework is fireing any kind of event. strSender is the FrameworkName, sID is the event number, sdataLength is the lenght of the variable data buffer, byteData represents the strucured variable data as an array of bytes. In scripts these data have to be mapped into the datafield individually, strData is the string representation of the byteData mapped by use of % 3i (111,11,1 -> 111 11 1). This event is fired, when any framework is added to the list of sniffed frameworks. This may happen when the framework to be sniffed is set automatically at start or by use of AddSniff(). This event is fired, when any framework is removed from the list of sniffed frameworks by use of RemoveSniff(). This event is fired, when the first framework Sniffer is started. This event is fired, when the last framework Sniffer is stopped, so there is no more framework to be sniffed.
PTRegistred(BSTR strFramework)
PTDeregistred(BSTR strFramework)
SNIFFStart() SNIFFStop()
482
May 2008
Scripting
Event KeepAliveStart()
Meaning This event is fired, when the StartKeepAlive() function has been called. This event will only be fired, when StartKeepAlive() has been activated. This event is fired, when the StopKeepAlive() function has been called, when the StartKeepAlive() timer expired, or when StartKeepAlive() is still running and the PTSniff object is being destroyed.
KeepAliveStop()
May 2008
483
Scripting ActiveRegistry Control Method long toLONG() Meaning This method is used to convert eighter numerical strings (for REG_SZ parameter) into a long value or an ulong value into a long value (for REG_DWORD parameter) This method can be used to convert the value of the read parameter into a string value, if it has been read out of a REG_DWORD parameter.
BSTR toSTRING()
Meaning This property must be set to the name and path of the parameter in the registry. The base path is HKEY_LOCAL_MACHINE\ SOFTWARE\Wincor Nixdorf\ Protopas\CurrentVersion\. The path from there must be part of the parameter name. it is allowed to read REG_DWORD and REG_SZ parameter only. REG_BINARY is not supported. The content of the parameter will be in this property, after the Name property has been set. The property is of type variant. To convert these values into long or string use the methods toLong() or toString()
484
May 2008
Scripting
Meaning This property contains the default base path of the registry HKEY_LOCAL_MACHINE\ SOFTWARE\Wincor Nixdorf\ Protopas\CurrentVersion\. It can be changed. Keep in mind to configure a \ as last character. The Type property may be used to check what type the property is. It may be NUMERIC, STRING or UNKNOWN. If it is UNKNOWN eigher the name of the parameter is wrong or it does not contain a value.
May 2008
485
Scripting WXPTBridge Control Method short PTFunction(BSTR strFW, short sID, BSTR strParam1, short sLen1, BSTR strParam2, short sLen2, BSTR strParam3, short sLen3, long lIndex) short RegisterForEvents(BSTR strFW) short DeregisterForEvents(BSTR strFW) BSTR ConvStr2Hex(BSTR strData) BSTR ConvHex2Str(BSTR strData) Meaning Call functions over ProTopas Bus asynchrony, its check input parameters, convert it to byte arrays, and calls FrmAsyncResolve intern, return value is error or index of job. (see also section PTFunction on page 388) Try to register for events from a target framework. (see also section RegisterForEvents on page 393) Try to deregister for events from a target framework. (see also section DeregisterForEvents on page 395) Convert input String to a Byte array string in HEX format. (see also section ConvStr2Hex on page 396) Convert input String from Byte array string in HEX format to normal String. (see also section ConvHex2Str on page 397) Test interface for throwing all internal errors. Increment the BridgeErrors property. There will be a error log and mostly the BridgeError Event will be fired!
BSTR
testErrors(short eID)
486
May 2008
Scripting
Meaning Log into Trace Log or Error Log strLog = Text to log sLogType = 0: Log to Trace (bit10) =1: Log to Error log (Number 0x64) With this function the language specific texts from the PCHTMLGen section can be loaded into the script. strIndex is the registry parameter to get, strDefault may be used to define a default message, if the parameter does not exist. bErrorLog may be set to false or true. Setting it to true fill force an error log if the parameter does not exist.
Meaning The name of this ProTopas Framework! At creation time the object is searching for a free name. The name can be from WX_PTBRIDGE_000 to WX_PTBRIDGE_999! If there are some problems the name will be WX_PTBRIDGE_ERROR! (see also section PTName on page 406) The blank separated list of sniffed Frameworks! (see also section ListeningForEvents on page 406) Status of the Bridge object. (see also section BridgeStatus on page 406) Counter of the errors. (see also section BridgeErrors on page 407)
BSTR ListeningForEvents
May 2008
487
Scripting
Meaning Fire the incoming ProTopas event to a COM. Prototype of PTEvent is mapping of ProTopas CCFrameWork class OnFrmEvent function. (see also section PTEvent on page 402) This event will be fired when OnFrmRequest with ID: 91-98 is incomming
void PTCallback(short sID, BSTR strParam1, BSTR strParam2, BSTR strParam3, long lIndex) PTFunctionEnd(short sIndex, short sRet, BSTR strParam1, BSTR strParam2, BSTR strParam3) BridgeError(short eID)
Fire at the end of PTFunction and give back a return values, the return code and the output parameters! (see also section PTFunctionEnd on page 403) Fires the error ID when internal error occurred! (see also section BridgeError on page 404)
488
May 2008
Scripting
This control is invisible at runtime and cannot and must not be parameterized in FrontPage. The name of the variable that is to be read or set is notified to the Control in the script under VariableName. Under VariableValue, either the value can be read out or a value can be set. This results in the following scripts: Reading a string variable varFW.VariableName = "VAR_VARIABLE_S" if varFW.GetStringValue() = 0 then strVariable = varFW.VariableValue end if Reading a long variable varFW.VariableName = "VAR_VARIABLE_L" if varFW.GetLongValue() = 0 then lVariable = varFW.VariableValue end if Setting a string variable varFW.VariableName = "VAR_VARIABLE_S" varFW.VariableValue = strVariable if varFW.SetStringValue() <> 0 then alert ("error") end if Setting a long variable varFW.VariableName = "VAR_VARIABLE_L" varFW.VariableValue = lVariable if varFW.SetLongValue() <> 0 then alert ("error") end if
May 2008
489
Scripting
Dictionary may be accessed. Use is easier than the use of the Active Variable Framework. The developer must not use different function calls for setting or getting different types of variables. First, the Active DataDict control has to be created on the HTML page for which scripts are to be used to exchange data with the Data Dictionary: <object ID="ActiveDataDictFW1" WIDTH="100" HEIGHT="51" CLASSID="CLSID:B2ED2838-FD46-11D2-961D-0800060BD9E4"> <param <param <param <param <param </object> This control is invisible at runtime and cannot and must not be parameterized in FrontPage. The name of the variable that is to be read or set is notified to the Control in the script under VariableName. Under VariableValue, either the value can be read out or a value can be set. When the VariableName is set, the value is automatically read from the Data Dictionary. By setting VariableValue the value is automatically stored in the appropriate Framework. This results in the following scripts: Reading a variable
ActiveDataDictFW1.VariableName = "VAR_VARIABLE_L" myVariable = ActiveDataDictFW1.VariableValue if ActiveDataDictFW1.VariableTyp < 0 then alert ("error") end if
name="_Version" value="65536"> name="_ExtentX" value="2646"> name="_ExtentY" value="1341"> name="_StockProps" value="0"> name="BufferSize" value="4096">
Setting a variable
ActiveDataDictFW1.VariableName = "VAR_VARIABLE_S" ActiveDataDictFW1.VariableValue = myVariable if ActiveDataDictFW1.VariableTyp < 0 then alert ("error") end if
490
May 2008
ActivePTSniff Control
The buffer size for strings is set to 4096 in default. If it is necessary to work with bigger buffers, please set property BufferSize to the maximun value necessary. Biggest size may be 32kb.
ActivePTSniff Control
This control may be used to receive any kinds of ProTopas events in an HTML page. So it is possible to create scripts which start when a ProTopas event has been fired. The easiest way to activate this mechanism is to set the ProTopas Framework name into the property Frameworks. After load of the page the Control is activated and starts sniffing. All events from the required Framework will be received by the PTEvent event now. With the help of the Parameter from this function, the Events can be separated from each other. Additionally the timer during the external page mode can be suspended with this control. This can be useful, if some pages should get a longer timeout than others.
ActiveRegistry Control
The ActiveRegistry Control can be used to read Parameter values from the registry. It is possible to read REG_SZ and REG_DWORD parameter only. REG_BINARY is not supported. The syntax is similar to the one from the ActiveDataDictionary Control. The parameter name to get its value from must be set into properties of the control. After that the value Property might be used to read the value. Two methods may be used to to convert the values into a string or a long value for scripting in the page. Reading a REG_SZ Parameter ActiveRegistry1.Name ="CCOPEN\\MYREGS\\MYREGSZ"; if (ActiveRegistry1.Type == "STRING") { myString = ActiveRegistry1.Value; } else
May 2008
491
ActiveRegistry Control { //Error Handling here } Reading a REG_DWORD parameter ActiveRegistry1.Name ="CCOPEN\\MYREGS\\MYREGDWORD"; if (ActiveRegistry1.Type == "NUMERIC") { myLong = ActiveRegistry1.Value; myLong = ActiveRegistry1.toLONG(); } else { //Error Handling here }
Scripting
The type Property may be UNKNOWN, when the Parameter does not exist. It will be STRING or NUMERIC for REG_SZ or REG_DWORD Parameter. The ToLong() method may be used to convert the values from ULONG to LONG. This may be necessary to get negative values, if the values are meant to be negativ. The property Name does contain the parameters name and path starting from the Root property. Setting the Name will delete Name, Value and Type properties, build the full path, open the key and check its value, name and type of the registry. Getting the Value will query the data and close the key. The Value property does contain the contents. Value is a VARIANT representing the data. To check its type use the Typeof() function from javascript. It can be undefined, string or number. The root property does contain the root path HKEY_LOCAL_MACHINE\SOFTWARE\Wincor Nixdorf\Protopas\ CurrentVersion\ and may be changed, if necessary. Root is usefull for making the key name smaller. The ending \ has to be submitted. Parameters in the following primary keys are allowed: HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG, HKEY_CURRENT_USER, HKEY_PERFORMANCE_DATA, HKEY_DYN_DATA. the ActiveRegistry Control is using 788 ted and rch files. There are no error logs at the moment.
492
May 2008
Scripting
WXPTBridge Control
WXPTBridge Control
WXPTBridge is an HTML/script to ProTopas bridge implemented as a mix of ProTopas Framework and MFC ActiveX control.
Primary targets: connect: dynamic HTML with a ProTopas world. stability: all ProTopas function calls are asynchrony! performance: only minimum interface is supported! Security: in/out parameters checks, not self running! Error handling: errors recognise, error report, error count. WXPTBridge object is ProTopas framework that can be multi instanced. Its logical name is WX_PTBRIDGE_000 to WX_PTBRIDGE_999. There can be up to 1000 instances of WXPTBridge! It can be instanced only from one ActiveX container. This container should provide ProTopas Bus instance! WXPTBridge is a Byte array transporting device. On a HTML side its using a Byte arrays as String in HEX format, for easy scripting, on a ProTopas its using Byte arrays and void pointers! All ProTopas Functions and Events are handled in a working threads and the results are fired in a containers WXPTBridge creation thread through WND messages. So in case of IE as a container the Main thread, where all objects from HTML are created, is not blocked with ProTopas processing!
Scripting a Control
If a Button control shall not be supervised by the Contents STD/ATM Control, but it shall be used for scripting, the value 0 has to be set into the property FieldID on property page General2. In this case the interface functions of the button control do not affect the Contents STD/ATM Control. Itstead scripts have to be written, which are receiving the ButtonPressed Event, etc. There may be more than only one button Control with FieldID 0 at one Internet page.
May 2008
493
Scripting
The same handling work with the Edit and List Control, if the property sequence number on property page General2 is set to 0.
Write a Trace entry Use of window.navigate("WNtrace:Text"); The navigate method is using the Keyword WNtrace: with the text to be written to the trace log direct behind it. The trace flag TBM 770 SHARE DEFAULT on 67 has to be activated. Use of PCContents.Log( "Text", 1)
494
May 2008
Scripting
With the Log() method there are two parameters to be filled. The first is the text to be written into a trace log and the second must be a static 1for logging into the trace log. The trace flag TBM 773 SHARE DEFAULT on 67 has to be activated. The trace entry is as follows: 30 020823 19:50:44.28 CCDialogFW HTML_SCRIP PID:00000528.00000544 Data:4 Text Write a Journal entry Use of window.navigate("WNjournal:1050WEBEXT_SEPText"); The navigate method is using the Keyword WNjournal: with the entry to be written to the journal direct behind it. The entry needs to start with a journal number, a separator WEBEXT_SEP and the variable text to be filled into the journal define under this journal number. If more than one variable text shall be written a new separator and variable text must be added at the end. Use of PCContents.Log( "1050WEBEXT_SEPText", 3) With the Log() method there are two parameters to be filled. The first is the entry to be written into a journal and the second must be a static 3 for the journal entry. The entry needs to start with a journal number, a separator WEBEXT_SEP and the variable text to be filled into the journal define under this journal number. If more than one variable text shall be written a new separator and variable text must be added at the end. The journal define in the registry is as follows: @005 @001 Web message:'#1#'#NL# This journal entry is the result: 19:50:42 1050 Web message:'Text'
May 2008
495
Scripting
496
May 2008
May 2008
497
498
May 2008
PHONES_PLUGGED: determines whether the ADA mode is started when headphones are plugged into the jacket. The starting events will be configured in the registry. HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas Current Version ADA CCADAFW START_EVENTS KEY_SEQUENCE = FUNCKEY_1,FUNCKEY_2,FUNCKEY_3 PHONES_PLUGGED = YES
May 2008
499
These defaults are considered for English as default language! If you want to change the language you have to change the default text, too. For this case you should create another section in the registry under the proper language in PCHtmlGen. Please take care to seperate the Macros (starting with WX...) from the rest of the text strings. This should be done by blanks. If Macros specify a unique identifier, there will not be a problem to seperate those parameter even by punctuation mark. For example WX.Button.Text: Text is not unique. because there are other parameter like TextLayer... for the Button control. So if you add a punctuation mark without any blank, it will not find the proper parameter and not spek anything.
500
May 2008
On the other hand it is a problem at IBM ViaVoice to seperate a punctuation mark by a blank, because the voice engine will speak this sign like "exclamation mark". So please be careful in editing this parameters HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraphicalService/PCHtmlGen/ YourLanguage ADAActionOnStart This parameter describes the default Tutorial behavior of the service after a start event is recognized. There are three possibilities: SKIP, NAVIGATE and OPEN. Skip causes the service to skip the tutorial page and start directly. No parameters are needed. Navigate causes the service to navigate to a new URL. The URL of the page has to be entered, too. Open causes the service to open a page in a new window. On this page you can give some information about how to use the service and, more important, you can implement buttons to regulate some special things like the speech rate. The URL of the page and the position parameters are required. The syntax is ACTION+SEPARATOR+URL+SEPARATOR+POSITION-PARAMETERS. The separator is _WXSEP_. Examples: NAVIGATE_WXSEP_Tutorial.htm OPEN_WXSEP_adatutorial.htm_WXSEP_left=50,top=50,width=500,height= 500
May 2008
501
Macros
Macros
The macro syntax is Macro_Type.Object.Param, e.g. WX.Contents.PageHeadline. Macros could be used within a text, e.g. You are in the WX.Contents.PageHeadline menu. In this case the macro must be separated from the text by blanks. MACRO Type WX. WX.F. WX.RT. Action Special WebExtensions Object Macro Special WebExtensions Function Macro Normal Real-Time HTML macro
Action PCContentsCTRL PCButton PCEdit Function macro (see also The macro ActiveKeys) Function macro (see also The macro EchoKeys) Normal HTML TAG with ID
PARAM PageHeadline PageInstruction Softkey Text Text.1 ... n Href Function FunctionValue
used by Object Contents Contents Button Button Button Button Button Button
502
May 2008
Macros
used by Object Edit Edit EchoKeys EchoKeys EchoKeys RT specific RT specific HTML TAG argument
May 2008
503
Macros
Macro dependencies - some examples where to use several macros ADA configuration panel property Menu Hint TextPageContent TextPageKeys TextEditHint TextEditContent EchoButton Spec. Macro WX.Contents.PageHeadline WX.Contents.PageInstruction WX.RT.p.WXADAContent.WXADAText WX.F.ActiveKeys WX.Edit.Instruction WX.Edit.InputText WX.F.EchoKeys.all WX.F.EchoKeys.numeric WX.F.EchoKeys.function No macros! No macros! WX.Button.Href WX.Button.Function WX.Button.FunctionValue WX.Button.Text WX.Button.Text.1 WX.Button.Text.2 ... WX.Button.Text.n WX.Button.Softkey and WX.Button.Href WX.Button.Function WX.Button.FunctionValue WX.Button.Text WX.Button.Text.1 WX.Button.Text.2 ... WX.Button.Text.n
MacroActiveKeys
Description of the important macros WX.Contents.PageHeadline: This macro gives access to the Page Headline set by the PCContentsCTRL.
504
May 2008
Macros
WX.Contents.PageInstruction: Gives access to the Page Instruction of PCContentsCTRL WX.F.ActiveKeys: Uses the macro ActiveKeys described below to read out the available buttons on the page. WX.Edit.Instruction: This macro gives access to the Instruction Hint of the PCEdit. WX.Edit.InputText: The text of the edit field would be read out after pressing confirm. WX.Button.EchoKeys: Sets the echo of pressed buttons. The macro EchoButton would be used. all: All pressed buttons would be echoed. numeric: Numeric buttons [0-9] only would be echoed. function: Only Function Keys [enter, confirm, cancel, help, print] would be echoed. EchoButton Here you can specify either one of the macros from the table above or the string 0=null_WXSEP_1=one_WXSEP_2=two... With the string there is the possibility to configure only pats of the buttons or die suppress the spoken words completely. EchoEdit Here you can configure, which text shall be spoken by pressing an EPP key while an edit control is active. The string 0=null_WXSEP_1=one_WXSEP_2= two... may be used to configure this. EchoEPP Here you can configure the output during a PIN input. This must be beep, or any other word you like. The macro ActiveKeys The macro ActiveKey sets the output for the available buttons on the page. It uses several macros to get useful information about the button (see also section The Button control on page 80).
May 2008
505
Macros
WX.Button.Softkey: This macro scans the buttons for the softkey related to them. WX.Button.Text: Gives access to the first text layer of the button (same as ...Button.Text.0). WX.Button.Text.1 to ...Text.n: Gives access to the several text layers of the button, beginning with the second layer of the button. WX.Button.Href: Gives access to the HTML page the button is linking to. WX.Button.Function: The name of the Functionkey set on the PCButton property page would be read out. WX.Button.FunctionValue: The value of the Functionkey set on the PCButton property page would be read out. Please make sure that one of the Macros above are part of this ActiveKeys, because this macro need at least one button found by using one of the macros. It is not possible to fill plain text into this macro. Another way to configure text for single buttons is to use the echo string and fill all active buttons by use of the follwong examle string: 1=Account Service_WXSEP_2=Cash deposit_WXSEP_3=Cash... Insted of fix text here like Account Sevice, Cash deposit, ... you may even use the WX.RT. runtime macros. Please consider: To read out the text of the buttons, you have to decide which text layer (if more than one are used) should be read out. Remember: ...Text or Text.0 (first layer or normal text) ...Text.1 (second layer) ...Text.2 (third layer) ... The macro EchoKeys This macro is nearly the same like the macro ActiveKeys, but it sets the echo which appears when a button is pressed.
506
May 2008
Privacy
This macro is used to get the position of the text on a HTML page. The text can either be read out via innerHTML function or via argument function. But in every case the special tag and the ID must be set. In some cases the innerHTML function should not be used, especially when the text includes any HTMLspecific tags like <br> which would be read out too. Example innerHTML: <p id="AccountNr>123456789</p> To access the 123456789 use the macro WX.RT.p.AccountNr.innerHTML Example argument: <label id="AccountNr" number="987654321"></p> To access the 987654321 use the macro WX.RT.label.AccountNr.number
Privacy
Some pages contain private content which should not be spoken through the system-speaker. In this cases you can use the privacy ability of the ADA service which disables the system-speaker output. The content would be spoken through the headphones only. If no headphones are plugged in no text would be spoken. To set the special content to privacy mode just activate the checkboxes HTML page overrides privacy on the ADA configuration panel and write the required text or macro in the textfield beneath it. To stop the normal output just activate the required checkbox on the ADA configuration panel and clear the textfield.
Scripting
Scripting is important to extend the default behavior of the ADA service, e.g. changing the language, the volume or the speech rate. It will be done over the ADAExec(strCMD) function of the PCContentsCTRL. strCMD = strCommand + sep + strParam + ... sep = _WXSEP_
May 2008
507
Scripting
Available commands with parameters and return values Command Open Close Idle Start Stop Reset IsActive Speak Speak CancelSpeak SetLanguage GetLanguage SetVolume GetVolume IncreaseVolume DecreaseVol ume CycleVolume SetRate GetRate IncreaseRate Short Rate Short Rate Ushort Volume Ushort Volume String Language String Language String Text Ushort MsgNr Ushort Prio Ushort Privacy Param 1 Param 2 Param 3 Retvalue[1]
508
May 2008
Scripting
Param 1
Param 2
Param 3
Retvalue[1]
Ushort Privacy Ushort Privacy Ulong CEN/XFSKey Ushort RepeatType String Text
ResetEcho
RepeatCommand
Ushort RepeatBufferLength
May 2008
509
any character string Priority class: 0: Text will be queued 1: Queue the text if a speech output with high priority is running, abandon any other running speech output 2: Abandon any running speech output and use this new text for output Privacy level:
0: The text may be output over the system speaker 1: The text must not be output over the system speaker
Privacy
MsgNr
Message Number: Number, which contains the output text and which is configured as registry parameter Language (The engigne for this language must be installed. A list of the supported languages can be found in the documentation ProTopas module Contruction Kit in chapter ADA Framework The range for the volume is 0 ... 7 The range for the rate is -10 ... 40
Language
Volume Rate
510
May 2008
Scripting
Parameter WOSAkey
Meaning The list of keys is as follows: 1: FUNCKEY_0 2: FUNCKEY_1 4: FUNCKEY_2 8: FUNCKEY_3 16: FUNCKEY_4 32: FUNCKEY_5 64: FUNCKEY_6 128: FUNCKEY_7 256: FUNCKEY_8 512: FUNCKEY_9 1024: FUNCKEY_ENTER 2048: FUNCKEY_CANCEL 4096: FUNCKEY_CLEAR 8192: FUNCKEY_BACKSPACE 16384: FUNCKEY_HELP 32768: FUNCKEY_DECPOINT 262144: FUNCKEY_RES1 The repeat type is as follows: 0: Delete the repeat buffer and set to default (11) behavior. 1: Set to default behavior, which is 11 today. 2: Clear the repeat buffer 3: Get the size of the repeat butter. This will be retvalue[1] of the return buffer. 11: Any spoken text will replace the old text from the repeat buffer 12: The text will be accumulated and on unload of the page the buffer will be cleared.
RepeatType (RepeatBufferLenght)
The ADAExec() function returns a variant array. The first element RetValue[0] contains the Return value from ADA Framework (see table below) and the second element RetValue[1] contains Return values listed in the table of Ada Commands above.
May 2008
511
Scripting Retvalue[0] from ADA Framework SHORT 0 -1 -100 -1000 -1001 -1002 -1003 -1004 -1005 -1006 -2001 -2002 -2003 Code RC_OK
RC_ERROR RC_IGNORED RC_FW_NOT_FOUND RC_FUNCTION_NOT_SUPPORTE D RC_BUS_ERROR RC_TIMEOUT RC_INVALID_FUNCTION_ARGUM ENT RC_EVENT_MANAGER_NOT_INS TALLED RC_EVENT_MANAGER_ERROR GENERAL ERROR NO COMMAND FOUND UNKNOWN COMMAND
Error number for On Error Resume Next HRESULT S_OK E_FAIL E_INVALIDARG LONG 0 -2147467259 -2147024809 HEX 0 80004005 80070057 code OK General Error Input params invalid
Example VBScript NOTE: example is using alert to indicate action! NOTE: WXCont shall be set to real PCContentsCTRL ID! for error handling On Error Resume Next
512
May 2008
DataDictionary-Scripting
call func() myResult = WXCont.ADAExec ( "GetLanguage" ) error check if Err.Number = 0 then VARIANT check for Array (=8204) if VarType(myResult) = 8204 then check if function return code is ok if myResult(0) = 0 then are there some input param? if UBound(myResult) > 0 then Language output alert myResult(1) end if end if end if else error handling alert Err.Number clean up Err.Clear() end if Example JavaScript Please use the following function to get back an array in JavaScript:
DataDictionary-Scripting
The default start values are stored in variables of the DataDictionary. You can change them via scripting if you need to. DataDictionary variables WX_ADA_DEF_TIMEOUT_EXTENSION WX_ADA_DEF_TEXT_PAGE_MENU Registry variables ADATimeoutExt ADATextPageMenu
May 2008
513
DataDictionary-Scripting
DataDictionary variables WX_ADA_DEF_TEXT_PAGE_HINT WX_ADA_DEF_TEXT_PAGE_CONTENT WX_ADA_DEF_TEXT_PAGE_KEYS WX_ADA_DEF_MACRO_ACTIVEKEYS WX_ADA_DEF_MACRO_ECHOKEYS WX_ADA_DEF_ECHO_BUTTON WX_ADA_DEF_ECHO_EPP WX_ADA_DEF_ECHO_EDIT WX_ADA_DEF_TEXT_EDIT_HINT WX_ADA_DEF_TEXT_EDIT_CONTENT
Registry variables ADATextPageHint ADATextPageContent ADATextPageKeys ADAMacroActiveKeys ADAMacroEchoKeys ADAEchoButton ADAEchoEpp ADAEchoEdit ADATextEditHint ADATextEditContent
Please consider: The changed values of the variables are stored permanent until the application is restarted!
514
May 2008
May 2008
515
CCDialog Framework
CCCrm Framework
Http Ctrl DD Vars
HTML page
The main components of CRM are CCCRM framework, HttpCtrl framework and CRMContentsCtrl framework. The CCCRM framework is implemented as a Unicode MFC executable dialog and contains a HttpCtrl framework as an independent internal object. CRMContentsCtrl is implemented as a Unicode MFC ActiveX control. The CRM uses a special type of parameter coding to ensure speed and the extendabilty of interfaces. Most parameters are strings with format: CMD=ACTION_|_PARAM=SUBPARAM1=VALUE1_||_SUBPARAM2=VALUE2
516
May 2008
P roTopas
MS Browser Ctrl
C M O
P roTopas
Response
Request
CCCRM framework
Note the main separator is _|_, the sub separator is _||_ and the equality sign is =. With this schema the method interface do not have to be changed when a new parameter is needed for some future extension! In some cases, where the parameter set is finite and uniquely defined, the separator sign for subparameters can be ",". For example: PARAM=SUBVALUE1,SUBVALUE2,SUBVALUE3
CCCRM framework
Release specification Version 1.0 of CCCRM is released in an EXE named CCCRM.exe. Applications using this EXE have to include the file CCCRM.XPP. Always start this EXE in a separat process!
Architecture The CCCRM.exe is MFC dialog application. It contains: CCCRM framework implementation CCCRM_HTTP framework implementation WebBrowser ActiveX object Msxml2.XMLHTTP.3.0 ActiveX object
May 2008
517
CCCRM framework
CWebBrowser2
HTML page
General idea The CCCRM framework is GUI run in its own procces. The GUI is an HTML page shown in the internet explorer object. All navigations are disabled in the internet explorer object for security reasons. The loading and generating of pages is done in CCCRM_HTTP framework. The loading itself is done using an XMLHTTP object. The generated content is then written in the top HTML document of the internet explorer object. Frames and windows are not supported. There is always only HTML pages shown in the internet explorer object! The internet explorer object with HTML pages runs in the main thread of the application. All ProTopas methods and events are run in separate threads and do not interfere with GUI! The CCCRM framework interface is designed for communication with external applications. It controls the CRM session and states visibility, position and running time. The CCCRM_HTTP framework interface is internal and there is no public interface! It controls the CRM session content and states loading, generating, showing and running in the internet explorer object.
518
May 2008
CCCRM framework
At the start, the CCCRM framework reads its default configuration, create a instance of WebBrowser with "about:blank" as initial page, loads and shows a default start HTML page. Then the CCCRM framework dialog is hidden and the framework is ready for use! At the end of the session or when an error occurs, the state of the CCCRM and CCCRM_HTTP frameworks will be reset, the default start HTML page will be shown and the CCCRM framework dialog will be hidden. If this is not possible the CCCRM framework will be restarted over CCRM. The CCCRM framework can constantly check the state of the main window and memory consumption, to prevent application slowdowns and hangup situations. It is important to say that CRM should always interfere as little as possible with running applications! CRM is designed to provide the best passive way of interfering. Every additional activity and/or interaction from CRM contents will cause interferance with the application!
Interactions with other frameworks Methods from the following frameworks are used: CCDataDictionaryFW CCFormat CCEppRtcFW
HTML tips One and only page thats "loaded" in internet explorer object is "about:blank". The BASE tag will be generated in downloaded content to allow using of relative paths if here is no BASE tag in original content. The usage of ProTopas variable exchanges [#VAR;FORMAT;DEF#] in downloaded content is allowed.
May 2008
519
The following parameters are optional for CCCRM. If the parameter is missing, default values will be used. Section "CCCRM" StartURL Specifies the URL of a start HTML page for CRM dialog. Type: Default: CursorEnable Enable/disable cursor in CRM dialog. Type: Default: AllowFocus Allow/forbid application focus for CRM dialog. Type: Default: InitEppRtc Initialise/close and start/stop EppRtc framework for CRM dialog. Type: Default: WindowWidth Specifies the width of the CRM dialog. Type: Default: Dword 320 Dword 0 Dword 0 Dword 0 String "about:blank"
520
May 2008
Customer Relationship Marketing WindowHeight Specifies the height of the CRM dialog. Type: Default: WindowLeft Dword 200
CCCRM framework
This parameter specifies the distance from the left side of the screen to the upper left corner of the CRM dialog. Type: Default: WindowTop This parameter specifies the distance from the top of the screen to the upper left corner of the CRM dialog. Type: Default: TimerSession This parameter specifies the time in milliseconds that the CRM dialog waits for the end of the started CRM session. If during these milliseconds no end of the CRM session is received, the CRM session will be ended. Type: Default: Dword 60000 Dword 0 Dword 0
TimerXMLHTTPRequest This parameter specifies the time in milliseconds that the CRM dialog waits for the downloading of the URL over the XMLHTTP request object to be finished. If during these milliseconds no end of the downloading is received, the CRM session will be ended. Type: Default: Dword 10000
May 2008
521
This parameter specifies the time in milliseconds that the CRM dialog waits for the end of showing the generated HTML page over the internet explorer object. If during these milliseconds no end of show is received, the CRM session will be ended. Type: Default: Dword 5000
TimerCRMContenstsResponse This parameter specifies the time in milliseconds that the CRM dialog waits for the response of the CRMContentsCtrl object to its requests. If during these milliseconds no response is received, the CRM session will be ended. Type: Default: Dword 3000
XMLHTTPDefURL Specifies the URL for navigation if USE_REGISTRY_DEFAULT is used in the SESSIONURL parameter in the navigation description. Type: Default: String "about:blank"
XMLHTTPDefUSER Specifies the USER for navigation if USE_REGISTRY_DEFAULT is used in the SESSIONUSER parameter in the navigation description. Type: Default: String ""
XMLHTTPDefPASSWORD Specifies the PASSWORD for navigation if USE_REGISTRY_DEFAULT is used in the SESSIONPASSWORD parameter in the navigation description. Type: Default: String ""
522
May 2008
CCCRM framework
This parameter belongs to a set of parameters which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the length of time in milliseconds that the hangup check is repeated. Type: Default: CheckWNDmax This parameter belongs to a set of parameters which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the length of time in milliseconds that the CRM dialog instance waits for the response on a window event. If during these milliseconds no response is received, the CRM dialog will be restarted. Type: Default: CheckMem This parameter belongs to a set of parameter which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the time in milliseconds to check for wasted memory (memory leaks). Type: Default: CheckMEMmax This parameter belongs to a set of parameter which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the maximum size of memory in megabytes which the CRM dialog instance may take up before the instance is restarted. Type: Default: Dword 64 Dword 120000 Dword 15000 Dword 60000
May 2008
523
CCCRM framework
KillHardWAIT This parameter belongs to a set of parameters which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the time in milliseconds that the instance will wait, after it has received the WM_CLOSE event, before it calls TerminateProcess(). In this case even hangups with a hanging main thread will be snapped. Type: Default: Dword 15000
524
May 2008
CCCRM framework
The public interface is completely defined in the included CCCRM.xpp file. It contains all the public functions, events and the required definitions for data structures and return codes. Methods The following public member functions are defined in class CCCRMfw: CCCRMfw .Open does nothing CCCRMfw .Close does nothing CCCRMfw .InitParms does nothing CCCRMfw .GetStatus returns the state of the framework CCCRMfw .GetVisibility returns the visibility of the framework dialog CCCRMfw .Preload loads in advance a CRM session start URL CCCRMfw .Start starts a CRM session CCCRMfw .Stop ends a CRM session CCCRMfw .Resume resumes a CRM session CCCRMfw .Pause pauses a CRM session CCCRMfw .Kill kills a framework instance CCCRMfw .Show shows the CRM dialog CCCRMfw .Hide hides the CRM dialog
May 2008
525
CCCRM framework CCCRMfw .GetSize gets the CRM dialog size CCCRMfw .SetSize sets the CRM dialog size, resize CRM CCCRMfw .GetPos gets the CRM dialog top, left coordinate
CCCRMfw .SetPos sets the CRM dialog top, left coordinate, move CRM
526
May 2008
CCCRM framework
The class CCCRMfw contains the following defines and data structures: Error defintions define
CCCRM_OK CCCRM_ERROR CCCRM_IGNORED CCCRM_ERROR_INPUT CCCRM_ERROR_SYS
value
0 -1 -2 -3 -4
value
0 1 2 3 4 5 6 7
value
0 1
May 2008
527
CCCRM framework
value
0 1 2 3 1 2 3 1 3 1 3
array
0 - 255 0 - 255
528
May 2008
CCCRM framework
description
read only, state of CCCRM read only, session RC read only, preload status read only, state of CCCRM_HTTP read only, session RC of CCRM_HTTP read only, result of session variables for input control variable for ADA control variable for ADA control variable for ADA control variable for ADA control variable for ADA control variable for ADA control variable for ADA control
value
0 1 2 3
May 2008
529
value
0 1 -1 -2 -3
value
0 1 2 3 4 5 6 7 8 9 10 11 12
value
0 1 2
530
May 2008
CCCRM framework
define
CCCRM_HTTP_RC_ERROR_INPUT_DATA_INVALID CCCRM_HTTP_RC_ERROR_STATE_INVALID CCCRM_HTTP_RC_ERROR_SYS CCCRM_HTTP_RC_TIMEOUT_SEND CCCRM_HTTP_RC_SEND_CANCEL
value
-1 -2 -3 -4 -5
May 2008
531
The CCCRM framework issues the following events: CCCRM_EVT_INIT This event is sent when the framework is ready for use. CCCRM_EVT_START This event is sent when the session has been started. CCCRM_EVT_STOP This event is sent when the session has been ended. CCCRM_EVT_PRELOAD_OK This event is sent when the preload has ended successfully. CCCRM_EVT_PAUSE This event is sent when the session is paused. CCCRM_EVT_RESUME This event is sent when the session is resumed. CCCRM_EVT_EXIT This event is sent if the framework exists (restart). CCCRM_EVT_ERROR This event is sent when an error in session has occurred! CCCRM_EVT_OFFLINE This event is sent when the requested page loading timeouts. CCCRM_EVT_SHOW This event is sent when the frameworks dialog is shown. CCCRM_EVT_HIDE This event is sent when the frameworks dialog is hidden. CCCRM_EVT_START_READY This event is sent when the Start() method is called with the parameter
CCCRM_PARAM_STARTANDWAITFORSHOW. It is used for the visual synchroni-
532
May 2008
CCCRM framework
This event is sent when the Stop() method is called with parameter
CCCRM_PARAM_STOPANDWAITFORHIDE. It is used for the visual synchronisa-
tion of applications and framework dialogs! CCCRM_EVT_PAUSE_READY This event is sent when the Pause() method is called with parameter
CCCRM_PARAM_PAUSEANDWAITFORHIDE. It is used for the visual synchroni-
sation of applications and framework dialogs! CCCRM_EVT_RESUME_READY This event is sent when the Resume() method is called with parameter
CCCRM_PARAM_RESUMEANDWAITFORSHOW. It is used for the visual synchroni-
sation of applications and framework dialogs! CCCRM_EVT_ADA_CHANGE This event is sent when the session content has changed ADA variables during the session. NOTE: not for the first change at the session start!
May 2008
533
In the following section the public methods are described in detail. CCCRMfw.Open Syntax: SHORT CCCRMfw.Open ( VOID ) Function: Does nothing. Return values: CCCRM_OK (0) Nothing happened.
534
May 2008
Customer Relationship Marketing CCCRMfw.Close Syntax: SHORT CCCRMfw.Close ( VOID ) Function: Does nothing. Return values: CCCRM_OK (0) Nothing happened.
CCCRM framework
May 2008
535
CCCRM framework CCCRMfw.InitParms Syntax: SHORT CCCRMfw.InitParms ( VOID ) Function: Does nothing. Return values: CCCRM_OK (0) Nothing happened.
536
May 2008
Customer Relationship Marketing CCCRMfw.GetStatus Syntax: SHORT CCCRMfw.GetStatus ( VOID ) Function: Get the framework status. Return values: CCCRM_STATUS_NOK (0)
CCCRM framework
Framework loaded, but not ready yet, dialog hidden. CCCRM_STATUS_WAITING (1) Framework ready for use, dialog hidden. CCCRM_STATUS_STARTING (2) Framework session start ongoing, loading URL, dialog hidden. CCCRM_STATUS_STARTED (3) Framework session start ongoing, URL loaded, content loaded, hidden dialog waiting for show. CCCRM_STATUS_RUNNING (4) Framework session running, URL loaded, content complete, dialog shown. CCCRM_STATUS_STOPING (2) Framework session stop ongoing, stop request sent to session content, dialog visible. CCCRM_STATUS_STOPED (3) Framework session stop ongoing, session content stopped, dialog visible waiting for hide.
May 2008
537
CCCRM framework CCCRMfw.GetVisibility Syntax: SHORT CCCRMfw.GetVisibility ( VOID ) Function: Get the framework dialog visibility. Return values: CCCRM_VISIBILITY_HIDDEN (0) Framework dialog hidden. CCCRM_VISIBILITY_VISIBLE (4) Framework dialog visible.
538
May 2008
Customer Relationship Marketing CCCRMfw.Preload Syntax: SHORT CCCRMfw.Preload ( CHAR* pstrData ) Function:
CCCRM framework
Load a CRM session start URL in advance. Preload can be done only when no session is running. CRM status must be CCCRM_STATUS_WAITING or preload request will be ignored! Input parameters: pstrData (IN) UTF8 string, preload data Return values: CCCRM_OK (0) Preload initialised. CCCRM_ERROR (-1) General error. CCCRM_IGNORED (-2) CRM not ready for preload.
May 2008
539
CCCRM framework CCCRMfw.Start Syntax: SHORT CCCRMfw.Start ( CHAR* pstrData, SHORT sShow ) Function:
Start a CRM session. Start can be done only when no session is running. CRM status must be CCCRM_STATUS_WAITING or the start request will be ignored! Start can be done for ongoing or successfully carried out preload. If the start is done with new start session data over a preload, the preload will be cancelled, Start will be ignored and the CCCRM_EVT_ERROR event is fired! Input parameters: pstrData (IN) UTF8 string, start session data NULL or empty strings or strings containing only SESSIONTIMER parameters, start a previously preloaded content, or set a flag to start an ongoing preload content, when preload is finished! All parameters are coded in one string in format: PARAMETER= VALUE_|_PARAMETER=VALUE ... Valid PARAMETERs for Start methods: SESSIONURL UTF16 unicode string, URL, used in navigation, check global XMLHTTPDefURL SESSIONTIMER optional, numeric converted to DWORD, overwrite the duration of the global TimerSession in miliseconds for this session, must be greater then 0.
540
May 2008
CCCRM framework
SESSIONUSER optional, UTF16 unicode string, USER, used in navigation, check global XMLHTTPDefUSER SESSIONPASSWORD optional, UTF16 unicode string, PASSWORD, used in navigation, check global XMLHTTPDefPASSWORD SESSIONXMLHTTPREQUESTTIMER optional, numeric converted to DWORD, overwrite the duration of the global TimerXMLHTTPRequest in miliseconds for this navigation, must be greater then 0. Can be used from version 1003 of CCCRM.EXE. sShow (IN) How to show the dialog: immediately, when the content is ready or externally synchronised. 1, CCCRM_PARAM_STARTANDSHOW, show dialog immediately at successful start 2, CCCRM_PARAM_STARTANDSHOWONSTARTREADY, show dialog when the content is loaded and intialised 3, CCCRM_PARAM_STARTANDWAITFORSHOW waits for the extern method show, until a content has been loaded and intialised and event CCCRM_EVT_START_READY has been fired! Return values: CCCRM_OK (0) Start initialised. CCCRM_ERROR (-1) General error. CCCRM_IGNORED (-2) CRM not ready for start. CCCRM_ERROR_INPUT (-3) Input parameter sShow not in range.
May 2008
541
CCCRM framework CCCRMfw.Stop Syntax: SHORT CCCRMfw.Stop ( CHAR* pstrData, SHORT sHide ) Function:
Stop a CRM session. Stop can be done only when a session is running, CRM status must be one of: CCCRM_STATUS_STARTING, CCCRM_STATUS_STARTED, CCCRM_STATUS_RUNNING or the stop request will be ignored! Input parameters: pstrData (IN) UTF8 string, stop session data All parameters are coded in one string in format: PARAMETER= VALUE_|_PARAMETER=VALUE ... Valid PARAMETERs for Stop methods: DELAYSTOPUNTILCRMEND optional, "DELAYSTOPUNTILCRMEND=ON" will allow content to end itself, normal ends are: CCCRM_HTTP_RC_CONTENT_END and CCCRM_HTTP_RC_CONTENT_TIMEOUT! sHide (IN) How to hide the dialog: immediately, when content is ready or externally synchronised. 1, CCCRM_PARAM_STOPANDHIDE, hide dialog immediately at successful stop 2, CCCRM_PARAM_STOPANDHIDEONSTOPREADY, hide dialog when the content is ended 3, CCCRM_PARAM_STOPANDWAITFORHIDE, wait for an external hide. When a content is ended, event CCCRM_EVT_STOP_READY is fired!
542
May 2008
Customer Relationship Marketing Return values: CCCRM_OK (0) Stop initialised. CCCRM_ERROR (-1) General error. CCCRM_IGNORED (-2) CRM not ready for stop. CCCRM_ERROR_INPUT (-3) Input parameter sHide not in range.
CCCRM framework
May 2008
543
CCCRM framework CCCRMfw.Pause Syntax: SHORT CCCRMfw.Pause ( CHAR* pstrData, SHORT sHide ) Function:
Pause a CRM session. Pause can be done only when a session is running, CRM status must be CCCRM_STATUS_RUNNING or the pause request will be ignored! Double Pause method calls are ignored, too! Input parameters: pstrData (IN) UTF8 string, not used at the moment sHide (IN) How to hide the dialog: immediately, when content is ready or externally synchronised. 1, CCCRM_PARAM_PAUSEANDHIDE, hide dialog immediately at successful pause 2, CCCRM_PARAM_PAUSEANDWAITFORHIDE, wait for extern hide, when the content is paused event CCCRM_EVT_PAUSE_READY is fired! Return values: CCCRM_OK (0) Pause initialised. CCCRM_ERROR (-1) General error. CCCRM_IGNORED (-2) CRM not ready for pause.
544
May 2008
Customer Relationship Marketing CCCRM_ERROR_INPUT (-3) Input parameter sHide not in range.
CCCRM framework
May 2008
545
CCCRM framework CCCRMfw.Resume Syntax: SHORT CCCRMfw.Resume ( CHAR* pstrData, SHORT sShow ) Function:
Resume a CRM session. Resume can be done only when a session is running, CRM status must be CCCRM_STATUS_RUNNING or the resume request will be ignored! Resume method can be called only after the pause method or it will be ignored! Input parameters: pstrData (IN) UTF8 string, not used at the moment sShow (IN) How to show the dialog: immediately, when content is ready or externally synchronised. 1, CCCRM_PARAM_RESUMEANDSHOW, show dialog immediately at successful resume 2, CCCRM_PARAM_RESUMEANDWAITFORSHOW, wait for extern show, when a content is reintialised event CCCRM_EVT_RESUME_READY is fired! Return values: CCCRM_OK (0) Resume initialised. CCCRM_ERROR (-1) General error. CCCRM_IGNORED (-2)
546
May 2008
Customer Relationship Marketing CRM not ready for stop. CCCRM_ERROR_INPUT (-3) Input parameter sHide not in range.
CCCRM framework
May 2008
547
CCCRM framework CCCRMfw.Kill Syntax: SHORT CCCRMfw.Kill ( VOID ) Function: Force CRM framework to restart itself. Return values: CCCRM_OK (0) Restart initialised. CCCRM_ERROR (-1) General error.
548
May 2008
Customer Relationship Marketing CCCRMfw.Show Syntax: SHORT CCCRMfw.Show ( VOID ) Function: This method shows the CRM framework window. Return values: CCCRM_OK (0) Function completed successfully. CCCRM_ERROR (-1) General error. CCCRM_IGNORED (-2) CRM framework window already visible. CCCRM_ERROR_SYS (-4) System function failed.
CCCRM framework
May 2008
549
This method hides the CRM framework window. Return values: CCCRM_OK (0) Function completed successfully. CCCRM_ERROR (-1) General error. CCCRM_IGNORED (-2) CRM framework window already hidden. CCCRM_ERROR_SYS (-4) System function failed.
550
May 2008
Customer Relationship Marketing CCCRMfw.GetSize Syntax: SHORT CCCRMfw.GetSize ( LONG* plWidth, LONG* plHeight ) Function:
CCCRM framework
This method returns the current width and hight of the CRM framework window. Input parameters: plWidth (OUT) The current width of the CRM framework window plHeight (OUT) The current height of the CRM framework window Return values: CCCRM_OK (0) Function completed successfully. CCCRM_ERROR (-1) General error. CCCRM_ERROR_INPUT (-3) Input parameter is NULL pointer.
May 2008
551
CCCRM framework CCCRMfw.SetSize Syntax: SHORT CCCRMfw.SetSize ( LONG lWidth, LONG lHeight ) Function:
This method sets the width and hight of the CRM framework window. Input parameters: lWidth (IN) The new width of the CRM framework window lHeight (IN) The new height of the CRM framework window Return values: CCCRM_OK (0) Function completed successfully. CCCRM_ERROR (-1) General error.
552
May 2008
Customer Relationship Marketing CCCRMfw.GetPos Syntax: SHORT CCCRMfw.GetPos ( LONG* plX, LONG* plY ) Function:
CCCRM framework
This method returns the current top left position of the CRM framework window. Input parameters: plX (OUT) The current left (X) position of the CRM framework window plY (OUT) The current top (Y) position of the CRM framework window Return values: CCCRM_OK (0) Function completed successfully. CCCRM_ERROR (-1) General error. CCCRM_ERROR_INPUT (-3) Input parameter is NULL pointer.
May 2008
553
CCCRM framework CCCRMfw.SetPos Syntax: SHORT CCCRMfw.SetPos ( LONG lX, LONG lY ) Function:
This method sets the top left position of the CRM framework window. Input parameters: lX (IN) The new left (X) position of the CRM framework window lY (IN) The new top (Y) position of the CRM framework window Return values: CCCRM_OK (0) Function completed successfully. CCCRM_ERROR (-1) General error.
554
May 2008
CCCRM framework
The trace and error logging for the CCCRM Framework will be initialized under the number 784 (MODID_CCCRM) The following trace levels are defined: Trace 1 10 11 12 13 14 15 16 17 18 19 Name MOD_INIT ANALYSE EXCEPTION ERROR WARNING INFO DATA SUB_DATA INOUT SUB_INOUT FREQ_INOUT Description Reserved Trace for analyse Trace for all exceptions! Trace for all errors! Trace for all warnings! Trace for infos Trace for data Trace for less important data Trace for functions entry/exit points Trace for less important functions entry/exit points Trace for very frequently used functions entry/exit points
May 2008
555
CRMContentsCtrl
CRMContentsCtrl
Release specification Version 1.0 of CRMContentsCtrl is released in a OCX named CRMContentsCtrl.ocx. CRMContentsCtrl is implemented as a Unicode MFC ActiveX control. This control can be used only within CCCRM.exe!
Configuration Like every ActiveX control, CRMContentsCtrl have to be registered before first usage. For the trace and error logging, CRMContentsCtrl is using the CCCRM Framework 784 (MODID_CCCRM) trace and error settings!
Architecture The CRMContentsCtrl is the bridge of communication between the HTML page and its components (CRM content) and the CCCRM_HTTP framework, which is controlling the CRM content from outside in CCCRM.exe. The CRMContentsCtrl controls: CRM Session synchronisation with CCCRM_HTTP framework Start/Stop/Pause/Resume, PageTimeout control, external EndSession CRM content PCButton interactions, PCEdit interactions, external Navigation EPP EPP softkeys and pinpad keys usage ADA Extension of application ADA usage
556
May 2008
CRMContentsCtrl
The CRMContentsCtrl controls the HTML part of the CCCRM framework. After the HTML code is downloaded and generated through the CCCRM_HTTP framework, it will be written directly into the active page, overwriting it completely! After the page is written, the CRMContentsCtrl will be initialised by the CCCRM_HTTP frameworks calls of Load, Init, Kick methods. This communication is timer secured and implemented as a Request/Acknowledge sequence for every method call from the CCCRM_HTTP framework. The same applies to End, Pause, Resume methods that are called at Session end, pause or resume. The HTML page is scanned at load method and the CRMContentsCtrl is connected with all the PCButtons and PCEdits that can be found. The properties are resolved if the ProTopas variable exchange is used, and the Page Timeout, EPP keys Takeover and ADA usage are started as configured. Now the HTML page is fully ready and interactive. CRMContentsCtrl then reacts to Events from EPP, PCButton or PCEdit and to external usage (scripting) as discribed in public interface. CRMContentsCtrl has property page and configuration dialogs for its properties that can be used with HTML page editors.
Interactions with other frameworks Methods from the following frameworks are used: CCCRM_HTTPfw CCEppRtcFW CCDataDictionaryFW CCFormat
May 2008
557
The public interface is completely defined in the old file CRMContentsCtrl.odl. This type library contains all the public properties, methods and events. Properties The following properties are defined in object CRMContentsCtrl.ocx: BSTR PageTimeout numeric value, timer in milliseconds, range: [0,+LONG] BSTR EPPConfig EPP configuration. Format: FDK=a,b_|_FK=c,d_|_FK2TXT=e=f_||_g=h... FDKs are Softkeys: F1,F2,F3...,F32 FKs are pinpad keys: 0,1,2,3,4,5,6,7,8,9, CONFIRM, CANCEL, CLEAR, BACKSPACE, R,L,00,000, 19,20,21...31 FK2TXT maps pinpad keys to a string that is sent to PCEdit when the pinpad key is pressed! Default maping is: CLEAR="\b", CONFIRM="\r", R=".", L="*", 00="00", 000="000", BACKSPACE="\b" Example: FDK=F1_|_FK=0,1,2,3,4,5,6,7,8,9, CONFIRM,CLEAR,CANCEL ,R,L_|_FK2TXT=CANCEL=_||_R=, BSTR ADAConfig ADA configuration. Format: CMD=POSITION=pos_||_TEXT= text_||_SUBSTITUTETEXT=subText_|_CMD2=POSITION=pos_||_TEXT= text_||_SUBSTITUTETEXT=subText... CMD are possible texts and macros that can be changed into WebExtensions, that are: TEXT_PAGEMENU, TEXT_PAGEHINT, TEXT_PAGECONTENT, TEXT_PAGEKEYS, ECHO_BUTTON and ECHO_EDIT POSITION is position for paste of text in original texts and macros in WebExtension, that are: before, after and substitute. TEXT is text to paste. SUBSTITUTETEXT is text to substitute with TEXT when POSITION is substitute!
NOTE: all properties can use one or more of ProTopas variable exchanges, the generator exchange [#VARIABLE;FORMAT;DEFAULT#] that is done by CCCRM_HTTP framework during page generation, or the real time exchange [&VARIABLE;FOR-
558
May 2008
CRMContentsCtrl
Methods The following methods are defined in object CRMContentsCtrl.ocx: boolean EndSession() Request the session end from CCCRM_HTTP framework boolean Navigate(BSTR strURL) Request from CCCRM_HTTP framework to download, generate and show resource described in strURL. Example: Navigate("SESSIONURL=file://C:\CRM\HTML\myPage.htm") strURL format: PARAMETER=VALUE_|_PARAMETER=VALUE ... Valid PARAMETERs: SESSIONURL UTF16 unicode string, URL, used in navigation, check global XMLHTTPDefURL parameter SESSIONUSER optional, UTF16 unicode string, USER, used in navigation, check global XMLHTTPDefUSER parameter SESSIONPASSWORD optional, UTF16 unicode string, PASSWORD, used in navigation, check global XMLHTTPDefPASSWORD parameter SESSIONXMLHTTPREQUESTTIMER optional, numeric converted to DWORD, overwrite the duration of the global TimerXMLHTTPRequest in miliseconds for this navigation, must be greater then 0. Can be used from version 1003 of CCCRM.EXE boolean ADAChange() Request CCCRM framework to fire CCCRM_EVT_ADA_CHANGE event. BSTR DoIt(BSTR strData) Calls some CCCRM framework functions, see specification of the methods for more information about parameters and return codes!
May 2008
559
CRMContentsCtrl
Example: DoIt("CMD=SetPos_|_POSX=3_|_POSY=150") The method returns a CCCRM framework functions return code as string or one of general error codes: "!ERROR! input parameter NULL pointer!", "!ERROR! can't find CMD in data!", "unknown CMD!" strData format: PARAMETER=VALUE_|_PARAMETER=VALUE ... Valid PARAMETERs: CMD VALUES one of: SetPos calls SetPos(X,Y) method of CCCRM framework. Needs POSX and POSY PARAMETERs! Additional return codes: "!ERROR! missing parameter 'POSX'!", "!ERROR! missing parameter 'POSY'!" SetSize calls SetSize(W,H) method of CCCRM framework. Needs SIZEW and SIZEH PARAMETERs! Additional return codes: "!ERROR! missing parameter 'SIZEW'!", "!ERROR! missing parameter 'SIZEH'!" Show calls Show() method of CCCRM framework. Hide calls Hide() method of CCCRM framework. Kill calls Kill() method of CCCRM framework. POSX used only with CMD=SetPos, numeric, x position POSY used only with CMD=SetPos, numeric, y position SIZEW used only with CMD=SetSize, numeric, width size SIZEH used only with CMD=SetSize, numeric, height size
560
May 2008
CRMContentsCtrl
The object CRMContentsCtrl.ocx issues the following events: onLoad() This event is sent by the CCCRM_HTTP framework to request Load functionality. onInit() This event is sent by the CCCRM_HTTP framework to request Init functionality. onKick() This event is sent by the CCCRM_HTTP framework to request Kick functionality. onPause() This event is sent by the CCCRM_HTTP framework to request Pause functionality. onResume() This event is sent by the CCCRM_HTTP framework to request Resume functionality. onEnd() This event is sent by the CCCRM_HTTP framework to request End functionality. onTimeout() This event is sent when the Page timer expires. onUserInteraction(short sID) This event is sent when some User interaction has occurred from the PCButton or PCEdit, for example, pressing the button, giving focus to PCEdit or writing in PCEdit. sID is the unique ID of PCButton or PCEdit. OnEppInteraction(BSTR strInteraction) This event is sent when some EPP interaction has occurred. For example, starting the service, stopping the service, or pressing some softkeys or pinpad keys. strInteraction is "START", "END" or one of FDK or FK string.
May 2008
561
CRM uses EPP over existing application usage! This is done with CCEPPRtc takeover functionality. When the Softkey(FDK) or pinpad keys(FK) are taken over, the application will lose control over it and only CRMContentsCtrl will be informed when the takeover key is pressed! All 32 FDKs and all 32 FKs can be taken over! FK2TXT is mapped from CRMContentsCtrl of the FK to a string that is sent to PCEdit when a pinpad key is pressed and there is some PCEdit control in the HTML page! All 32 FKs can be mapped to another string different to the normal CCEppfw to CRMContentsCtrl string mapping! Default mapping of pinpad keys to strings sent to PCEditl CCEPPfw pinpad key
CCEPPFW_FUNCKEY_ENTER CCEPPFW_FUNCKEY_CLEAR CCEPPFW_FUNCKEY_BACKSPACE CCEPPFW_FUNCKEY_DECPOINT CCEPPFW_FUNCKEY_RES1 CCEPPFW_FUNCKEY_00 CCEPPFW_FUNCKEY_000
NOTE: You can use EPP functionality only when the application is using standard ExeCmdGetData or doing nothing with EPP! If ExeCmdGetPin is used or some other special EPP functionality is being used by the application the takeover functionality can not work!
NOTE: The usage of EPP in CRM will always interfere interactivity with applications that are using EPP!
562
May 2008
CRMContentsCtrl
CRMContentsCtrl string
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 F33
May 2008
563
CRMContentsCtrl
CRMContentsCtrl string
0 1 2 3 4 5 6 7 8 9 CONFIRM CANCEL CLEAR BACKSPACE HELP R L 00 000 19 20 21 22 23 24 25 26 27 28 29 30 31
564
May 2008
CRMContentsCtrl
CRM ADA is used over WebExtensions! CRM simply modifies the texts that the WebExtension uses for ADA. When one property has to be spoken from the WebExtension, it is first checked if the CRM wants to change the text, and then the text is changed as configured in CRM. These properties from WebExtension can be changed using CRM: TEXT_PAGEMENU TEXT_PAGEHINT TEXT_PAGECONTENT TEXT_PAGEKEYS Example: TEXT_PAGEMENU=POSITION=after_||_TEXT= With marketing!
The Echos, that is the acustic reaction to the pressing of one of the pinpad keys, can only be overwritten from CRM. This is because in WebExtension the Echos can use macros, but macros cannot access the CRM proccess! So the WebExtension will configure the echos first and then if the ECHO_EDIT is present, it will be used, if not then if the ECHO_BUTTON is present, it will be used. These properties from WebExtension can be overwritten from CRM: ECHO_BUTTON ECHO_EDIT
Example: ECHO_BUTTON=TEXT=1=test_WXSEP_2=timer_WXSEP_3=end
May 2008
565
CRMContentsCtrl
PCContentsCtrl string
0 1 2 3 4 5 6 7 8 9 CONFIRM CANCEL CORRECT HELP R L
The usage of PCEdit and ADA in CRM is very limited. PCEdit can only be used in CRM with ADA functionality when there is no PCButtons or EPP usage in the CRM or WebExtension application. The ADA functionalities EDIT_HINT and EDIT_CONTENT are not supported in CRM.
NOTE: If ADA is not running in the application the ADA functionality cannot be used from CRM!
NOTE: The usage of ADA in CRM will always interfere audibly with applications that are using ADA!
566
May 2008
CRMContentsCtrl
In detail, the ADA functionality of CRM is implemented over CRM data dictionary variables. CRMContentsCtrl saves the variable values in the variable in the Init() phase of HTML start, and the PCContentsCtrl uses these variables to modify the original WebExtension application ADA settings. To synchronise this, the CRM session has to be started using the CCCRM_PARAM_STARTANDWAITFORSHOW parameter. The following changes in the variable values, as a result of the CRM HTML page change or CRM session end, will be signaled with the CCCRM_EVT_ADA_CHANGE event. PCContentsCtrl will then restart the ADA handling of in page configuration in the WebExtension application. The CRM data dictionary variables for ADA controls are public and can be changed from CRM HTML pages using scripting, for example. To signal the change to the WebExtension application the CRMContentsCtrl method ADAChange() should be used. From version 1003 of CCCRM.EXE, version 1002 of CRMContentsCtrl.ocx and version 1244 of PCContentsSTDSvr.dll CRM cann block application ADA functionality with CTRL_BLOCKAPP=ON command in ADAconfig property. This will block application in page ADA activities, so the CRM ADA only configuration will be executed from application! CRM ADA data dictionary variables name
CCCRM_ADA_TEXT_PAGE_MENU_S CCCRM_ADA_TEXT_PAGE_HINT_S CCCRM_ADA_TEXT_PAGE_CONTENT_ S CCCRM_ADA_TEXT_PAGE_KEYS_S CCCRM_ADA_ECHO_BUTTON_S CCCRM_ADA_ECHO_EDIT_S CCCRM_ADA_CTRL_BLOCKAPP_L
description
PAGE_MENU control PAGE_HINT control PAGE_CONTENT control PAGE_KEYS control ECHO_BUTTON control ECHO_EDIT control Application ADA control
May 2008
567
One or more of the PCButton and/or PCEdit controls from WebExtensions can be used in CRM. The CRMContentsCtrl will scan at the start for all controls in a page and connect the controls with links in CRMContentsCtrl. For PCButton only FieldID, Softkey, Selection, FunctionValue and Href properties and ButtonPressed event are used in CRMContentsCtrl. The FieldID is used to identify the controls, Softkey is used to press the buttons over EPP, Selection, FunctionValue and Href are used to define the action after the button has been pressed. After the button is pressed the following happens: The FunctionValue is stored in CCCRM_VAR_DLG_INPUT_RESULT_S CRM variable. If the Selection is equal to 1 (function button!) and the FunctionValue is equal to "END", the session end will be requested from the CCCRM_HTTP framework. If the Selection is equal to 2 (selection button!), the navigation with parameter Href will be requested from the CCCRM_HTTP framework. For PCEdit only FieldNumber, SoftkeyValue and FieldID properties, GotFocus, UserInteraction and EditComplete events are used in CRMContentsCtrl. The FieldNumber is used to identify the controls, SoftkeyValue is used to press the buttons over EPP, and FieldID is used to name one of the CRM internal variables that will store the input value of the PCEdit control. The CRM variables CCCRM_VAR_DLG_INPUT1_S - CCCRM_VAR_DLG_INPUT9_S are reserved for this purpose! At the UserInteraction event from PCEdit control, the input value of the PCEdit control will be stored in a variable configured in FieldID. All user interaction events with PCButton and PCEdit control will restart the CRMContentsCtrl timer and the CRMContentsCtrl will fire the OnUserInteraction event.
568
May 2008
CRMContentsCtrl
There is only one Property Page where all properties of CRMContentsCtrl can be modified.The properties are: BSTR PageTimeout numeric value, timer in milliseconds, range: [0,+LONG] BSTR EPPConfig String, EPP configuration. BSTR ADAConfig String, ADA configuration.
NOTE: The usage of ProTopas variable exchanges, [#VAR;FORMAT;DEF#] or [&VAR;FORMAT;DEF&], in EPPConfig or ADAConfig property, will disable the corresponding configuration button!
May 2008
569
CRMContentsCtrl
EPPConfig property can be configured directly in its edit field or using an EPP configuration dialog. The most commonly used softkeys and pinpad keys, in EPP configuration dialog, are shown below. Additional FDKs or FKs have to be configured directly in the edit field of property, the same applies for additional FK2TXT mapping.
The ADAConfig property can be configured directly in its edit field or over the ADA configuration dialog. In the ADA configuration dialog all subproperties can be comfortably configured.
570
May 2008
May 2008
571
There are two optional parameters for configuration of the sync thread: . HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas Current Version ActiveX GraphicalService PCView CRMSyncURL="c:\protopas\web\offline\CRMEmpty.htm" (String) The default setting is "about:blank", this is the HTML page that will be shown on demand for the time the sync thread is running.
This is an example of an allow list entry for not generating a CRMSyncURL HTML page:
<tr> <td width="250">*</td> <td width="250">*CRMEmpty.htm*</td> <td width="100">*</td> <td width="100">*</td> <td width="100">0</td> <td width="100">0</td> <td width="100"></td> </tr>
572
May 2008
HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas Current Version ActiveX GraphicalService PCView CRMSyncTimeout=5000 (Dword)
Default setting is 15000. This is the time in milliseconds, which the sync thread waits for both WebExtension content and CRM content to be downloaded and ready. After this timeout the CRM session is stopped, and the original navigation will be shown. The CRM session is skipped due to sync timeout.
Allow list The commands and parameters for the CRM service control are stored in optional parameters in the allow list tables entries. This is an example of a CRM session control: <tr> <td width="250">*</td> <td width="250">*basselection.htm*</td> <td width="100">*</td> <td width="100">*</td> <td width="100">1</td> <td width="100">0</td> <td width="100"></td> <td width="100">CRM:CMD=START_|_SESSIONURL=file://C:\start.htm</td> </tr> There can be multiple optional parameter entries in one allow list table entry. This allowes multiple commands at one point in HTML flow, that will be executed one after another!
May 2008
573
CRM:CMD=ACTION_|_PARAM=VALUE_|_PARAM=VALUE ...
The CRM: is header for the CRM service, CMD=ACTION are commands that are sent directly to CRM by calling the method with the same name, PARAM= VALUE are parameters for the commands/methods or parameter for the sync thread. The standard WebExtensions variable exchange [#VAR;format;default#] can be used in complete optional parameter string, variable will be exchanged at moment of read of optional parameter at flow match. The real time variable exchange [&VAR;format;default&] can be used only in ACTION and VALUE substrings of optional parameter! CMD=ACTION commands for CRM action
START STOP PAUSE RESUME PRELOAD START_STOP
description
starts the CRM session stops the CRM session pause the CRM session resume the CRM session preload the CRM session start the CRM session and stop it at next CancelDialog() or DoDialog(), only the start parameter can be configured, stop method is called with empty string and CCCRM_PARAM_STOPANDHIDE parameter! moves and/or resizes the CRM framework window
MOVE
NOTE: All commands are asynchronous requests, that can be ignored if the state of the CRM is not valid for that command!
574
May 2008
CRM methods start(), stop(), pause(), resume() have always 2 parameters: 1. parameter: CHAR* string representing all data that this method needs 2. parameter: SHORT how to show/hide the dialog CRM method preload() has 1 parameter: 1. parameter: CHAR* string representing all data that this method needs Move is synthetic command that cann execute CRM methods SetSize() and/or SetPos(), both methods always have 2 parameters: 1. parameter: LONG Left(X) position for setPos() or Width for SetSize() 2. parameter: LONG Top(Y) position for setPos() or Height for SetSize()
May 2008
575
description
second parameter for start/stop/resume/pause methods of CRM, 3 as a value will start sync thread, wait for WebExtension content and
CRM content to be downloaded and ready for use, than show instantly both and end sync thread
SYNCURL this URL will be shown for the time the sync thread is running, USE_REGISTRY_DEFAULT as a value will use PCViews CRMSyncURL registry value for this. first parameter for start method first parameter for start and preload methods first parameter for start and preload methods first parameter for start and preload methods first parameter for start and preload methods first parameter for MOVE command and SetPos method second parameter for MOVE command and SetPos method first parameter for MOVE command and SetSize method second parameter for MOVE command and SetSize method first parameter for stop method, VALUE "ON" will allow
SESSIONTIMER SESSIONURL SESSIONXMLHTTPREQUESTTIMER SESSIONUSER SESSIONPASSWORD POSX POSY SIZEW SIZEH DELAYSTOPUNTILCRMEND
576
May 2008
NOTE: The parameters that are sent to CRM methods as a string parameter shall be encoded in UTF8, the CRM is a UNICODE application that converts all incomming ProTopas method string parameters from UTF8 to UTF16! Complex example: <!--td width="100">CRM:CMD=START_|_SYNCTYPE=3_|_SYNCURL= USE_REGISTRY_DEFAULT_|_SESSIONURL=http://server/marketing.htm_|_SESSIONTIMER=15000</td-->
Complex example of allow list entry with 2 commands and usage of variable: <tr> <td width="250">*</td> <td width="250">*basselection.htm*</td> <td width="100">*</td> <td width="100">*</td> <td width="100">1</td> <td width="100">0</td> <td width="100"></td> <td width="100">CRM:CMD=MOVE_|_POSX=100_|_POSY=100</td> <td width="100">CRM:CMD=START_|_SESSIONURL= [&MY_VAR;;http://server/marketing.default.htm&]</td> </tr>
May 2008
577
578
May 2008
Installation
Installation
This chapter describes the installation of the ProTopas/Web-Extensions as an add-on product of the ProTopas/Manager or the ProTopas/Kit. You should note here that the base product and the add-on product must be installed together in a single run of the installation program. Use the installation of ProTopas/Kit with ProTopas/Web-Extensions at a development PC and the installation of ProTopas/Manager and ProTopas/Web-Extensions on a self-service device.
May 2008
579
Products to be installed
Installation
When the installation has finished you will have to reboot the target system to enable the system configuration to be finalized (e.g. registration of the controls). The installation of ProTopas/Web-Extensions or ProTopas/HTMLDialog and the ProTopas/Manager or ProTopas/Kit must always be carried out during a single run of the installation program! A subsequent separate installation of ProTopas/Web-Extensions alone is not possible and is not supported. Attempts to so this may give rise to problems with the parameter settings or in the registry, making it necessary to perform an entire reinstallation.
Products to be installed
ProTopas/Web-Extensions or ProTopas/HTML-Dialog ProTopas/Web-Extensions or ProTopas/HTML-Dialog is the product which installs the Web Graphical Service and all the controls. This is an add-on product which may be installed together with a ProTopas/Manager or ProTopas/Kit installation on the target system. An additional key disk is required for installation. The customizing disk is shared this the ProTopas/Manager or ProTopas/Kit. WebBot SNI_PC_Variable The WebBot components are installed in the directory
C:\PROTOPAS\WEBBOT.
To configure the WebBot for use in FrontPage, it has to be copied manually to another location (see also section Installing the WebBot in Front Page 2000 on page 287).
580
May 2008
Installation
Tutorial
Please follow the installation description for this Microsoft operating system. Install the network adapter and connect the PC of the self-service system to the network. Sound card driver installation (0ptional) Most sound cards are soundblaster compatible. Trace and Error Logging To trace error situations, you are recommended to use the trace and error logging tool from CSCW32 or ProBase. All modules from ProTopas/WebExtensions trace to this tool. Required relevant base product ProTopas/Manager 3.x/4.x or ProTopas/Kit 3.x/4.x
Tutorial
The ProTopas/Development Suite shows how a ProTopas ATM application is implemented. It explains how to create a HyperLink driven Application and builds up a complete transaction set step after step by using the ProTopas/Web-Extensions as its user interface.
May 2008
581
Tutorial
Installation
582
May 2008
Configuration
Configuration
The differences between the High Level Graphical Service and the Web Graphical Service can be found in the Start options of the Dialog Framework. Because the Web Graphical Service is implemented as an executable file, there must be a special entry in the ProTopas Restart Manager section of the registry. The High Level Graphical Service is installed with the following options:
May 2008
583
Configuration
584
May 2008
Configuration
The CCCheckFW which is used for input checking must be started separately because of an internal exception handling: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 Appl_Check=C:\PROTOPAS\BIN\FwLoadPm.exe, 4,1,19,,,CCCheckFW The Programs parameter must therefore be changed as a result of the new entry for starting the browser: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 Programs=CCBase,CCBaseCtrl,application, CCDialog,Appl_Check, CCStart
May 2008
585
Configuration
See also chapter Controls on page 77. See also chapter Web Graphical Service components on page 279. Here you will find further configuration settings of the controls.
F8
F1
F7
F2
F6
F3
F5
F4
Help
Cancel
Correct
Confirm
586
May 2008
Configuration
Additionally, there is a possibility to configure the codes for the function GetTerminateChar() (see also section CCDialogFW.GetTerminateChar on page 337). In the following section in the Registry there are parameters for each softkey and EPP key. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents EPPKey 0 Value=0 1 Value=1 ... ... 9 Value=9 F1 Value=H F2 Value=D ... Value=... F8 Value=G Cancel Value=0x01 Correct Value=0x02 Help Value=0x03 Confirm Value=0x04 Print Value=0x05 Reserved Value=* DecPoint Value=, In order to return different codes for the terminating character, the Value parameter of each section must be changed.
May 2008
587
Configuration
588
May 2008
Configuration
Value of status variables 1 to 10 HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties DLG_INPUT_RESULT1_L DATA_TYPE=LONG OWNER_FW=CCDialog DLG_INPUT_RESULT2_L DATA_TYPE=LONG OWNER_FW=CCDialog ... DLG_INPUT_RESULT10_L DATA_TYPE=LONG OWNER_FW=CCDialog Value of Viewstate variables 1 to 10 HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict Properties DLG_INPUT_RESULT1_VIEWSTATE_S DATA_TYPE=STRING OWNER_FW=CCDialog DLG_INPUT_RESULT2_VIEWSTATE_S DATA_TYPE=STRING OWNER_FW=CCDialog ... DLG_INPUT_RESULT10_VIEWSTATE_S DATA_TYPE=STRING OWNER_FW=CCDialog Error Counter Variables 1 to 10 for amount input retries HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties DLG_INPUT_RESULT1_S_ERR_COUNTER_L DATA_TYPE=LONG OWNER_FW=CCDialog DLG_INPUT_RESULT2_S_ERR_COUNTER_L DATA_TYPE=LONG OWNER_FW=CCDialog
May 2008
589
Configuration
... DLG_INPUT_RESULT10_S_ERR_COUNTER_L DATA_TYPE=LONG OWNER_FW=CCDialog Maximum mumber of characters Variables 1 to 10 HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties DLG_INPUT_RESULT1_S_MAXCHARS_L DATA_TYPE=LONG OWNER_FW=CCDialog DLG_INPUT_RESULT2_S_MAXCHARS_L DATA_TYPE=LONG OWNER_FW=CCDialog ...
DLG_INPUT_RESULT10_S_MAXCHARS_L
DATA_TYPE=LONG OWNER_FW=CCDialog Variables for setting the Web path in scripts These variables are initialized by the Web Graphical Service during Startup. The content is taken from the parameters RootPath (see also section RootPath on page 620), DefaultLanguage (see also section DefaultLanguage on page 619) or actual set language, RootPathOffline (see also section RootPathOffline on page 620). HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_WEBNAME_S DATA_TYPE=STRING OWNER_FW=CCDialog VAR_LANGUAGE_S DATA_TYPE=STRING OWNER_FW=CCDialog VAR_OFFLINE_WEBNAME_S DATA_TYPE=STRING OWNER_FW=CCDialog
590
May 2008
Configuration
Value of selected item in popup page of a PCList Control (see also section List control - General 1 page on page 169) HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_PCLIST_VALUE_S DATA_TYPE=STRING OWNER_FW=CCDialog Variable to be set after scanner errors (see also section Editing scanned documents on page 422) HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_SCANNER_ERROR_L DATA_TYPE=LONG OWNER_FW=CCDialog Variable that contains page name, which cannot be loaded This variable can be used in the local pages in the offline directory. It determines, which page should be loaded and could not be retrieved. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_OFFLINE_HTML_NAME_S DATA_TYPE=STRING OWNER_FW=CCDialog Variable for resizing Web Graphical Service in test environment These variables are used by test tools to resize the Web Graphical Service during the development cycle. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_PCDIALOG_RT_SIZEX_L DATA_TYPE=LONG OWNER_FW=CCDialog
May 2008
591
Configuration
Value of last pressed button HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties DLG_INPUT_RESULT_STRING DATA_TYPE=STRING OWNER_FW=CCDialog Number of entered characters for last input field HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties DLG_INPUT_RESULT_COUNT DATA_TYPE=USHORT OWNER_FW=CCDialog Code of last pressed termination key HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties DLG_INPUT_RESULT_TERM DATA_TYPE=CHAR OWNER_FW=CCDialog
592
May 2008
Configuration
Value of last pressed button HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_DLG_INPUT_RESULT_S DATA_TYPE=STRING OWNER_FW=CCDialog
May 2008
593
Configuration
(see also section Button control - General 2 page for menu buttons on page 94) (see also section Special aspects of menu buttons on page 41) HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf ProTopas/CurrentVersion/DataDict/ Properties VAR_IDENTIFICATION_REQUEST_L DATA_TYPE=LONG OWNER_FW=CCDialog Caption of menu button (see also section Button control - Caption page on page 101). (see also section Special aspects of menu buttons on page 41). HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_HEADLINE_S DATA_TYPE=STRING OWNER_FW=CCDialog Link to HTML page of menu button (see also section Button control - General 2 page for menu buttons on page 94) (see also section Special aspects of menu buttons on page 41) HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_FUNCTION_STARTPAGE_S DATA_TYPE=STRING OWNER_FW=CCDialog
594
May 2008
Configuration
Variable for current Internet page name HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_MY_HTML_NAME_S DATA_TYPE=STRING OWNER_FW=CCDialog
Frameworkname of the actual Web Dialog HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties VAR_PCDIALOG_FW_NAME DATA_TYPE=STRING OWNER_FW=WebDialog
May 2008
595
Configuration
596
May 2008
Parameters
Graphical Service
Parameters
The following chapter explains all parameters for the Graphical Service and for the ActiveX Controls. The properties of the ActiveX Controls are described in the Controls chapter (see also section Controls on page 77). The parameters described in this section will affect the controls at runtime. All of the default value settings in the properties of all ActiveX Controls are made in Registry sections of the self-service device. These settings are explained here.
Graphical Service
The following parameters describe the settings for the Browser overlay modules. The Start HTML page and other HTML pages can be configured here.
May 2008
597
Parameters
This parameter determines the maximum number of logs, temporary stored in memory. For performance reasons not every page is directy logged into the file. Only at shutdown, this list is written into the file completely. This parameter has to be available, if Parameter LogOn = 1. (see "LOGFilePath" on page 598), (see also section Logging the flow of the HTML pages on page 320) Length: Range: Default: LOGFilePath This parameter keeps the filename without extension and path of the Log file. If the maximum number of entries is reached, the logging stopps automatically. This parameter has to be available, if Parameter LogOn = 1. (see "LOGFileSize" on page 598), (see also section Logging the flow of the HTML pages on page 320) Length: Range: Default: LOGFileSize This parameter keeps the maximum size of the log file in Byte. When the maximum number is reached the Web Browser willl stop logging. This parameter has to be available, if Parameter LogOn = 1. (see "LOGFilePath" on page 598), (see also section Logging the flow of the HTML pages on page 320) Length: Range: Default: 8 100 - 10 000 000 1 000 000 128 alphanumeric C:\ProTopas\Web\temp\HTMLFlow 3 1 - 100 10
VirtualKeyboardOn With this parameter the activation of a virtual keyboard is enabled. The keyboard may automatically be started at pages, which need any alphanumerical input. This is done by script in those pages. The activation mechanism is disabled, if this parameter is set to 0.
598
May 2008
Graphical Service
With this parameter the activation of ADA (Americans with Disabilities Act) is enabled. This does not mean, the activation is automatically done. This is done by Properties in the Contents STD/ATM Control. Length: Range: Default: EppRTC With this parameter the EPP Overlay is activated. This means, there is a continous ExeCommandGetData-function running and Web-Extensions do not have to call the EPP FW Open- and Close-functions all the time. This may speed up the transaction. Length: Range: Default: 1 011 EppRTC is disabled EppRTC is enabled 1 010 ADA is disabled ADA activation is enabled
ADATimeoutExt This parameter prolongs the timeout periode in a percentage value. If ADA is activated, it might be better for people with disabilities to have a longer Timeout. This percentage value, which must be larger than 100, specifies the new timeout periode for ADA. Length: Range: Default: 3 >100 Value in percentage, which prolongs the timeout value. 200
ADAActionOnStart This parameter may contain a script, which is started, when ADA is activated. This script can be used to start a tutorial or to link to a special page, etc.
May 2008
599
Graphical Service Length: Range: Default: DoDialogTimer 20000 alphanumeric, Script SKIP
Parameters
This parameter supervises the time in milliseconds after a DoDialog() has been called by the Step until the page is been loaded. If there are problems loading the page, this timer will expire and the ProTopas/Web-Extensions will reboot the system. The time has to be specified dependent on the system capacity. 0 means No supervision. Length: Range: Default: 6 0 - 60000 0
DoDialogTimerPageTimerExtend After the page timer of the Contents ATM Control has been expired, this parameter offers a little bit more time to end the DoDialog. If it is not returning to the step after this timer has expired the ProTopas/Web-Extensions will reboot the system. Length: Range: Default: WindowTop Only in test environments on a laptop or PC. Please do not set on the maschines on customer environments. X coordinate in pixels of the Web Graphical Services window upper left corner. Length: Range: Default: WindowLeft Only in test environments on a laptop or PC. Please do not set on the maschines on customer environments. 6 0 - 232 0 6 0 - 60000 5000
600
May 2008
Parameters
Graphical Service
Y coordinate in pixels of the Web Graphical Services window upper left corner. Length: Range: Default: WindowWidth Only in test environments on a laptop or PC. Please do not set on the maschines on customer environments. Width in pixels of the Web Graphical Services window. Length: Range: Default: WindowHeight Only in test environments on a laptop or PC. Please do not set on the maschines on customer environments. Height in pixels of the Web Graphical Services window. Length: Range: Default: 6 0 - 232 Full screen height 6 0 - 232 Full screen width 6 0 - 232 0
May 2008
601
Parameters
Default: Width
1 0 - Upper left corner 1 - Upper right corner 2 - Lower right corner 3 - Lower left corner 4 - Middle of the screen. See parameters Top and Left for upper left corner 2
This parameter specifies the width of the container (Virtual Keyboard Dialog Window) of the HTML page for Virtual Keyboard. Length: Range: Default: Height This parameter specifies the height of the container (Virtual Keyboard Dialog Window) of the of the HTML page for Virtual Keyboard. Length: Range: Default: Left This parameter specifies the distance from the left side of the screen to the upper left corner of the container (Virtual Keyboard Dialog Window) of the of the HTML page for Virtual Keyboard. Length: Range: Default: Top This parameter specifies the specifies the distance from the top of the screen to the upper left corner of the container (Virtual Keyboard Dialog Window) of the of the HTML page for Virtual Keyboard. 5 0 - 99999 0 5 1 - 99999 150 5 1 - 99999 400
602
May 2008
Graphical Service
This parameter enables the virtual keyboard to become visible, when the keyword WNvikey:START is used. If the virtual keyboard is not maximized, this can be done with the keyword WNVKpos:MAX. Length: Range: 1 0 - Stay minimized 1 - Start maximized with the sizes from Height, left, top, width 1
Default: MINonEnd
This parameter enables the virtual keyboard to become invisible, when the keyword WNvikey:END is used. If the virtual keyboard is not minimized with this parameter, this can be done with the keyword
WNVKpos:MIN.
Length: Range: Default: 1 0 - Stay maximized 1 - End minimized 1
WindowPlacement This parameter specifies, which behavior of the virtual keyboard is desired. So a minimize/maximize behavior or a show/hide
behavior can be configured. With min/max on slow machines it is possible that the window movement is visible.
Length: Range: 1 0 - nothing on init, start & stop 1 - MIN on init, MAX on start, MIN on stop 2 - HIDE on init, SHOW on start, HIDE on stop 1
Default:
May 2008
603
Parameters
This parameter specifies if the cursor shall be visible or invisible during a virtual keyboard session.
This parameter specifies the name and path of the HTML page for Virtual Keyboard. Length: Range: Default: 1024 alphanumeric C:\ProTopas\Web\VK\vk.htm
ScriptLanguage This parameter specifies the script language of the start and end script. (see also ScriptAtStart on page 604) (see also ScriptAtEnd on page 605) Length: Range: Default: ScriptAtStart This parameter specifies a script in the Virtual Keyboard page, which may be used at start of the keyboard session, when the page will be maximized. For example it could be necessary to read a language variable and then to switch to a language specific keyboard page. This parameter may contain a script directly in {} brackets or the name of a function. Example: {window.myLabel.innerText='ON';} or vkOnStart() Length: Range: Default: 1024 alphanumeric 1024 alphanumeric javascript
604
May 2008
Parameters ScriptAtEnd
Graphical Service
This parameter specifies a script in the Virtual Keyboard page, which should be activated at the end of a keyboard session, when the page will be minimized again. This parameter may contain a script directly in {} brackets or the name of a function. Example: {window.myLabel.innerText='ON';} or vkOnEnd() Length: Range: Default: 1024 alphanumeric -
CheckWND
This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds the hangup check is repeated. If during these milliseconds no response is received the Virtual Keyboard window will be restarted. Length: Range: Default: CheckWNDmax This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds the Virtual Keyboard instance waits for the response on a window event. If during these milliseconds no response is received the Virtual Keyboard window will be restarted. Length: Range: Default: 10 0 - 9999999999 15000 10 0 - 9999999999 60000
CheckMem
This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds to check for wasted memory (memory leaks).
May 2008
605
Parameters
CheckMEMmax
This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the maximum memory in megabytes the Virtual Keyboard instance may grow up to until the instance is restarted. Length: Range: Default: 10 0 - 9999999999 64
KillHardWAIT
This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds the instance will wait after it has received the WM_CLOSE event until it will call TerminateProcess(). In this case even hangups with a hanging main thread will be snapped. Length: Range: Default: 10 0 - 9999999999 15000
MarketingAllowFocus
This parameter allows the virtual keyboard to loose the focus by demand. This may be necessary during development, because otherwise no other windows will be visible when Virtual Keyboard is activated. Length: Range: 1 0 1 0 Virtual Keyboard is always on top Virtual Keyboard may loose the focus if developper activates another window.
Default:
606
May 2008
Parameters
Graphical Service
AccessViolationURL Specifies the URL that is shown when the Graphical Service tries to navigate to a non-ProConsult URL which contains scripts or other components that could make the return to the ProConsult application impossible. Length: Range: Default: 128 alphanumeric C:\ProTopas\Web\Allow\AccessViolationStart.htm
SurfingBrowser Specifies whether a second browser is called to show the SurfingURL with the keys "Cancel" "Back" "Forward" when pages which do not belong to the ProConsult application (e.g. Internet pages, pages of other servers) are shown. The SurfingURL makes it possible to leave the non-ProConsult pages and return to the ProConsult application. (see "SurfingURL" on page 607)
May 2008
607
Parameters
Non-ProConsult pages are shown in full-screen mode. No second browser is called. A second browser is called to show the SurfingURL.
Default:
SurfingBrowserPos Specifies the position of the second browser for the SurfingURL when pages which do not belong to the ProConsult application (e.g. Internet pages, pages of other servers) are shown. The SurfingURL makes it possible to leave the non-ProConsult pages and return to the ProConsult application. (see "SurfingURL" on page 607), (see "SurfingBrowser" on page 607), (see "SurfingBrowserWidth" on page 608) Length: Range: 5 UP DOWNLEFTRIGHTDefault: DOWN The second browser is found at the top of the screen. The second browser is found at the bottom of the screen. The second browser is found at the left of the screen. The second browser is found at the right of the screen.
SurfingBrowserWidth Specifies the height in pixels (when SurfingBrowserPos= UP or DOWN) or the width in pixels (when SurfingBrowserPos= LEFT or RIGHT) of the second browser for the SurfingURL when pages which do not belong to the ProConsult application (e.g. Internet pages, pages of other servers) are shown. (see "SurfingURL" on page 607), (see "SurfingBrowser" on page 607), (see "SurfingBrowserPos" on page 608) Length: Range: Default: 3 0-800 74
608
May 2008
Parameters TextFont
Graphical Service
Specifies the font of the wait message when the new browser restarts. Length: Range: Default: TextSize Specifies the size of the wait message when the new browser restarts. Length: Range: Default: TextColour Specifies the colour of the wait message when the new browser restarts. 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: TextAlignX Specifies the x-position in pixels of the wait message when the new browser restarts. (see "TextCenterX" on page 609) Length: Range: Default: TextCenterX Specifies whether the wait message is horizontally centered on the button. (see "TextAlignX" on page 609) Length: Range: 1 0The wait message is not horizontally centered (see exact x-position in TextAlignX). 3 numeric 0 8 hexadecimal 00000000 2 numeric 12 128 alphanumeric Arial
May 2008
609
Graphical Service 1Default: TextAlignY Specifies whether the wait message is vertically centered. (see "TextCenterY" on page 610) Length: Range: Default: TextCenterY 3 numeric 0 1 The wait message is horizontally centered (ignore TextAlignX).
Parameters
Specifies the y-position in pixels of the wait message relative to the button. (see "TextAlignY" on page 610) Length: Range: 1 01Default: TextBold Specifies whether the wait message is printed bold when the new browser is called. Length: Range: Default: TextItalic Specifies whether the wait message is printed in italics when the new browser is called. Length: Range: Default: 1 010 The wait message is not printed in italics. The wait message is printed in italics. 1 011 The wait message is not printed bold. The wait message is printed bold. 1 The wait message is not vertically centered (see exact y-position in TextAlignX). The wait message is vertically centered (ignore TextAlignY).
610
May 2008
Parameters TextUnderline
Graphical Service
Specifies whether the wait message is printed underlined when the new browser is called. Length: Range: Default: TextStrikeout Specifies whether the wait message is printed strikeout when the new browser is called. Length: Range: Default: 1 010 The button's caption is not printed strikeout. The button's caption is printed strikeout. 1 010 The wait message is not printed underlined. The wait message is printed underlined.
TextFontCharSet Specifies the character set for the wait message, when the browser restarts. Length: Range: 3 0 1 2 77 128 129 130 134 136 161 162 163 177 178 186 204 222 238 ANSI_CHARSET DEFAULT_CHARSET SYMBOL_CHARSET MAC_CHARSET SHIFTJIS_CHARSET HANGUL_CHARSET JOHAB_CHARSET GB2312_CHARSET CHINESEBIG5_CHARSET GREEK_CHARSET TURKISH_CHARSET VIETNAMESE_CHARSET HEBREW_CHARSET ARABIC_CHARSET BALTIC_CHARSET RUSSIAN_CHARSET THAI_CHARSET EASTEUROPE_CHARSET
May 2008
611
Parameters
Default:
MessageDLGWidth Specifies the width of the window for the wait message when the browser restarts. Length: Range: Default: 3 10-800 400
MessageDLGHeight Specifies the height of the window for the wait message when the browser restarts. Length: Range: Default: Text Specifies the text for the wait message when the browser restarts. Length: Range: Default: 512 10-800 Please wait... 3 10-600 200
SurfingScrollUp Specifies the number of pixels the screen is scrolled when the ScrollUp button is pressed. Length: Range: Default: 3 0-600 100
SurfingScrollDown Specifies the number of pixels the screen is scrolled when the ScrollDown button is pressed.
612
May 2008
Graphical Service
SurfingScrollLeft Specifies the number of pixels the screen is scrolled when the ScrollLeft button is pressed. Length: Range: Default: 3 0-800 50
SurfingScrollRight Specifies the number of pixels the screen is scrolled when the ScrollRight button is pressed. Length: Range: Default: 3 0-800 50
SurfingJOBSOn This parameter activates the possibility to load a graphic during the restart of the Browser after the External page mode is finished. (see "Stopping the Internet mode" on page 451), (see "SurfingJOBSStart" on page 613) Length: Range: 1 010 The Message Window with the contents of the Text Parameter is displayed The Bitmap from SufingJOBSStart is shown
Default:
SurfingJOBSStart The programm to load the graphic is specified here. Normally the programm SHOWBMP.EXE is used here. It needs two input parameter. The first is the Graphic to be loaded and the second is TOPMOST to load the graphic on top of the othe windows.
May 2008
613
Parameters
SurfingJOBSEnd The programm to unload the graphic is specified here. Normally the programm SHOWBMP.EXE StopWaiting is used here. Length: Range: Default: 1024 alphanumeric -
SurfingJOBSPause The time interval between loading the graphic and unloading it is specified here. If the Unload would be too quick, an error would be generated, so its a good idea to wait a moment until the unload is called. Length: Range: Default: 6 000001 - 999999 3000
SurfingJOBSCheck This parameter is used as a double check mechanism, if the SurfingJOBSStart and SurfingJOBSEnd jobs have already been finished after the time in ms specified here. If one or both are not finished jet, they will be killed automatically. Length: Range: Default: 6 000001 - 999999 2500
614
May 2008
Parameters ConfigPageURL
Graphical Service
Specifies the URL of the AllowList. The AllowList is an HTML page that contains a table with all possible html pages which customers are permitted to call during the ProConsult application. Access is denied to all other pages. Length: Range: Default: 128 alphanumeric C:\ProTopas\Web\Allow\AllowList.htm
InternetModeCursorEnable Specifies whether the cursor is to be shown while external pages are shown. This may be useful if navigation through those pages is to be performed via trackball.
May 2008
615
Parameters
This parameter manipulates the reaction of the <Tab>-Key during multiple input. Length: Range: 1 01Default: WebExtTabing This parameter will suport TAB key behavior during external page mode: tabing between text fields, links, frames and more. Length: Range: Default: 1 011 Tab during external page mode is not possible Tab during external page mode is allowed 0 Tab is used to jump to the next field without checking the actual input Tab is confirming and checking the actual input first and activates the next input then
WebExtPrintCheck This parameter will support search for <-PC_HTMLGEN_RULE:PRINT_THIS --> tags in external page mode (see also section Printing HTML pages in windows mode on page 299). Length: Range: 1 011 Searching for the tags is omitted. Pages are generated quicker Searching for the tags is done
Default:
WebExtOfflineCheck This parameter will support Offline handling, even when IE would normally show one of the internal error pages. The Graphical service is doing offline handling in this case.
616
May 2008
Graphical Service
IE internal error pages are shown in offline cases IE internal error pages are not shown in offline cases. Graphical Service Offline handling is done in this case.
Default:
WebExtNoHistory This parameter surpresses the storage of a historie list, which is used for navigations to previous vistited pages. So the waste of memory will be reduced, when setting this parameter to 1. Length: Range: Default: 1 011 Historie list is still stored Historie list is not stored. Less memory will be wasted.
WebExtKeyScripting This parameter enables online scripting support in external page mode. OnKeyUp and OnKeyDown events are not posted, if this parameter is not set to 1. If this parameter is switched to 1 each page will be parsed for those key events. This takes a bit of performance. If those key events are not used, this parameter should be switched to 0. Length: Range: Default: 1 010 KeyEvents are not posted KeyEvents are posted
WorkaroundNoShell This parameter is used to activate a workaround because of a problem in the windows system. When the application is started without the windows shell explorer.exe the problem in this situation is that all new Popup windows are not disapearing. This workaround searches in the list of all open windows for the one with the Popup window name and destroys the appropriate one. Any installations without a shell must activate this parameter.
May 2008
617
Parameters
Normal behaviour, when explorer.exe is active during runtime. Activation when running without a shell.
Default:
WorkaroundWhitePopUp This parameter is removing the problem with white flickering. The Web Graphical Service loads an About:Blank page in a new window instance first, before the real HTML page is loaded. Because About:Blank is a white page it might flicker, when a new window instance is loaded. For this reason the parameter may be used to wait for the second document.complete event until the ready page is shown. But setting this value would mean, that scripting any popup window without use of the Web Graphical Service the first page would not be shown but the second. SO please be careful with setting this parameter. Length: Range: 1 012... 9Default: 0 Workaround not active Show the window after first document.complete event Show the window after second document.complete event Show the window after nineth document.complete event
618
May 2008
Graphical Service
TempFileNumber Specifies the number of temporarily generated files which are stored in the TempPath directory. There are three different sets of pages: Normal mode, SurfingFooter and Surfing mode area. Each set gets a different temp file name. This always starts with PCPg gets one of the characters A,B,C and then a three digits number. Example: PCPgA16.htm. For each mode another set of pages exists. So there may be up to three times TempFileNumber pages stored in the temp directory. Length: Range: Default: 3 10-999 100
DefaultLanguage Specifies the first language setting. Length: Range: Default: 16 alphanumeric GERMAN Meaning: The first language is set to German.
OfflineURL Specifies an URL that is shown when the Graphical Service tries to navigate to an unreachable URL (e.g. Server down, etc.). OfflineURL has to contain a local file name. Length: Range: Default: ErrorURL Specifies the URL that is shown when the Graphical Service tries to navigate to an URL that is not in the AllowList. ErrorURL must contain a local file name. 128 alphanumeric C:\ProTopas\Web\Offline\OfflineStart.htm
May 2008
619
Parameters
Specifies the URL path without the subdirectory for the language and without the specified name of the HTML page. This parameter is only used if the DoDialog() function is used to load an HTML page. RootPath has to contain a local path or an URL beginning with HTTP://. To specify the HTML page to be loaded, RootPath is enhanced by the input parameter of the ChangeLanguage() function and the input parameter of DoDialog(). To prevent the Web Graphical Service from changing the directory from the ChangeLanguage() function the paramter has to contain the keyword ATM_PATH_NOLANG at the beginning. This is usefull when all texts are inserted dynamically by use of the WX_TEXT variables. Length: Range: Default: 128 alphanumeric C:\ProTopas\Web
RootPathOffline Specifies the URL for the Offline Web. Should be a directory on the hard disk. Length: Range: Default: 128 alphanumeric C:\ProTopas\Web\Offline
EmptyPageURL Only when working with multiple Graphical Services: Specifies the name and location for an empty page which is shown while the Web Graphical Service is switched to the background and the other Graphical Service is activated. The Web Graphical Service will do a top navigation for showing this page. Length: Range: Default: 128 alphanumeric ATM_ABS_NAVC:\ProTopas\Web\Offline\Empty.htm
620
May 2008
Parameters DontWaitForPCContentsOnOpen
Graphical Service
Only when working with multiple Graphical Services: In Web-Extensions/ExtraLink architecture the Startpage must not contain any Contents STD/ATM Control, if the Web Graphical Service shall be switched to the background at Startup. In this case this parameter has to be set to 1, so that the Web Graphical Service will not wait for any Contents STD/ATM Control to be activated. Length: Range: 1 01Standard use Use in Web-Extensions/ExtraLink architecture or when using the Web Graphical Service in an other environment.
Default:
DontWaitForPCContentsOnCancelDialog Only when working with Web-Extensions/ClassicLink: Each page, which is called by DoDialog() must contain a Contents ATM Control. If this DoDialog() shall be canceled, it is no problem. But if a page has been called by a script and does not contain a Contents ATM Control, this parameter has to be set to 1. Otherwise the Web Graphical Service waits for at least half a minute until he answers the Cancel(). Length: Range: 1 01Standard use Use in Web-Extensions/ClassicLink architecture when a page does not contain a Contents ATM Control and shall be canceled.
Default: ActivePageURL
Only when working with multiple Graphical Services: Specifies the name and location for a page which is shown while the Web Graphical Service is switched to the foreground and the other Graphical Service is deactivated. The Web Graphical Service will do a top navigation for showing this page. Length: Range: Default: 128 alphanumeric -
May 2008
621
Parameters
If this Parameter is activated, each time a page is loaded in ClassicLink architecture, the Web Graphical Service tries to make its window the topmost one, so it is visible. Length: Range: Default: OfflineFallback This parameter activates the fallback mechanism for the Offline Handling. This means, that any not found pages are loaded from the Offline directory, if the pagewith the same name exists there. If the page is not available there, the page from OfflineURL is loaded. (see "OfflineURL" on page 619) (see also section Switching the Web Graphical Service offline on page 300) Length: Range: Default: 1 010 Page of OfflineURL is loaded directly Page with same name is loaded from Offline directory 1 010 Normal Handling Web Graphical Service tries to bring its window to top
OfflineMonitorTimer This parameter supervises the timer for the navigation to the Offline page. If the timer expires the Web Graphical service will restart itself. (see also section Switching the Web Graphical Service offline on page 300) Length: Range: Default: 1 0 Navigation to offline page is not supervised 1-999 Timer in second to navigate to offline page 0
622
May 2008
Parameters
Graphical Service
TimeoutConnect Specifies the timeout in milliseconds when the connection request times out. Length: Range: Default: 5 1-32767 5000
TimeoutDataSendRequest Specifies the timeout in milliseconds when the data send request times out. Length: Range: Default: 5 1-32767 10000
TimeoutDataReceiveRequest Specifies the timeout in milliseconds when the data receive request times out. Length: Range: Default: 5 1-32767 10000
May 2008
623
Parameters
Specifies the possibility of the HTML Generator to replace all WX_TEXT variables in all generated Web-Pages. (see also section Easy multilanguage support on page 289) Length: Range: 1 011 Switch the Multilanguage option off for better performance Switch the Multilanguage option on
Default:
Default:
624
May 2008
Parameters CurrCurrencySymbol
Graphical Service
This parameter stores the sign or the characters which are used as the currency symbol. Length: Range: Default: 5 alphanumeric DM
CurrDecimalSep The decimal separator for currency formatting is set here. Length: Range: Default: CurrGrouping The number of currency digits which are to be grouped using the group separator is set in this parameter. Length: Range: Default: CurrGroupSep The group separator for currency values is set in this parameter. This sign is used for better readability of long values. Length: Range: Default: 3 alphanumeric . 1 0-9 3 3 alphanumeric ,
CurrLeadingZero This parameter specifies whether leading zeros for currency values are suppressed or shown, if they are present. Length: Range: Default: 1 011 Leading zeros are suppressed Leading zeros are shown if they are present.
May 2008
625
Parameters
This parameter acts as a mask to show negative currency values. Length: Range: 2 012345678910 11 12 13 14 15 8 ($1.1) -$1.1 $-1.1 $1.1(1.1$) -1.1$ 1.1-$ 1.1$-1.1 $ (space before $) -$ 1.1 (space after $) 1.1 $- (space before $) $ 1.1- (space after $) $ -1.1 (space after $) 1.1- $ (space before $) ($ 1.1) (space after $) (1.1 $) (space before $)
Default: CurrNumDigits
This parameter stores the number of digits that follow the currency decimal separator. Length: Range: Default: 1 0-9 2
CurrPositiveOrder This parameter acts as a mask to show positive currency values. Length: Range: 2 01233 Prefix, no separation Suffix, no separation Prefix, 1-char separation Suffix, 1-char separation
Default:
626
May 2008
Parameters CurrServerValueOffset
Graphical Service
This value is used for building the unsigned currency variable. Example for German Marks: The unsigned variable should be the smallest amount, which is Pfennigs. The number of digits after the decimal separator is 2. CurrServerValueOffset must be -2 in this case (Value: 10,00 -> Unsigned value: 1000). Length: Range: Default: 3 -9 - 9 4294967294 (-2: fffffffe)
LongDateFormat This parameter is responsible for displaying the date in a long format, which may include the weekday and written month. Length: Range: 128 dNumeric day in month without leading zeros (1, 2, ...) dd - Numeric day in month with leading zeros (01, 02, ...) ddd - Weekday in short form (Mon,Tue, Wed, ...) dddd - Weekday in long form (Monday, Tuesday, ...) MMonth numeric without leading zeros (1, 2, ...) MM - Month numeric with leading zeros (01, 02, ...) MMM -Month in short form (Jan, Feb, ...) MMMM -Month in long form (January, February, ...) yy - Year 2 digits (99, 00, ...) yyyy - Year 4 digits (1999, 2000, ...) dddd, d. MMMM yyyy
Default:
NumDecimalSep The decimal separator for numeric formatting is set in here. Length: Range: Default: NumGrouping The number of numeric digits which is to be grouped using the group separator is set in this parameter. 3 alphanumeric ,
May 2008
627
Parameters
The group separator for numeric values is set in this parameter. This sign is used for better readability of long values. Length: Range: Default: 3 alphanumeric .
NumLeadingZero This parameter specifies whether leading zeros for numeric values are suppressed or shown, if they are present. Length: Range: Default: 1 011 Leading zeros are suppressed Leading zeros are shown, if they are present.
NumNegativeOrder This parameter acts as a mask to show negative values. Length: Range: 2 012341 (1.1) -1.1 - 1.1 (space after -) 1.11.1 - (space before -)
Default:
NumNumDigets This parameter stores the number of digits following the decimal separator. Length: Range: Default: 1 0-9 2
628
May 2008
Parameters ShortDateFormat
Graphical Service
This parameter is responsible for displaying the date in short format. Length: Range: 128 dNumeric day in month without leading zeros (1, 2, ...) dd - Numeric day in month with leading zeros (01, 02, ...) MMonth numeric without leading zeros (1, 2, ...) MM - Month numeric with leading zeros (01, 02, ...) yy - Year 2 digits (99, 00, ...) yyyy - Year 4 digits (1999, 2000, ...) dd.MM.yy
Default: TimeFormat
This parameter is responsible for displaying the time. Length: Range: 128 hHour without leading zero (1, 2, ...) 12 h format hh - Hour with leading zero (01, 02, ...) 12 h format HHour without leading zero (1, 2, ...) 24 h format HH - Hour with leading zero (01, 02, ...) 24 h format mm - Minutes (00, 01, ...) ss - Seconds (00, 01, ...) tt PM or AM hh:mm:ss
Default:
Currently the AM and PM must be configured in the regional systems settings in Windows XP. There are two parameters - one for the morning and one for the afternoon format. UsedLcid This parameter stores the value of the system language settings which are only used if parameter UseLocals is set to 1. To retrieve the number of the language, try the following: Open the regional settings icon in the Windows Control Panel. On the Property page Regional Setting choose the language you want to use. Close the Regional Settings. If the change requires a file from the Windows installation CD, cancel this request. Now look into the following section in the Windows Registry: HKEY_CURRENT_USER Control Panel International
May 2008
629
Graphical Service
Parameters
The parameter Locale contains the value you are looking for. (see "AllowOverride" on page 624) (see "UseLocals" on page 630) Length: Range: Default: UseLocals The HTML generator is able to look up language-specific standards that are installed in the Windows system. The language to use to retrieve the settings can be determined in the parameter UsedLcid. If user-defined settings are made to the other property pages, the parameter AllowOverride has to be set to 1, too, otherwise only the systems language-specific parameters are used. (see "UsedLcid" on page 629) (see "AllowOverride" on page 624) Length: Range: Default: ADALanguage This parameter specifies the ISO language code for the speech engine, which defines the language to be spoken. The following codes are possible with the current version of the ProTopas/Web-Extensions: Language General American English General American English British English Castilian Spanish Standard French Mexican Spanish Code en_US en_CA en_GB es_ES fr_FR es_MX 1 0 - Use values of this language-specific section of the Registry 1 - Take the Windows standards 0 8 hex 0000 - 9999 1024 (German)
630
May 2008
Parameters
Graphical Service
Language Canadian French Standard German Standard Italian Brazilian Portuguese Standard Finnish Standard Dutch Standard Norwegian Standard Swedish Standard Danish Length: Range: Default:
Code fr_CA de_DE it_IT pt_BR fi_FI nl_NL no_NO sv_SE da_DK
ADATextPageMenu This parameter specifies the Default-Text of the page Headline to be spoken, when a page is loaded. Macros like WX.Contents.PageHeadline may be used. (see also section Macros on page 502) Length: Range: Default: 1024 alphanumeric You are in WX.Contents.PageHeadline.
ADATextPageHint This parameter specifies the Default-Text of the page Instruction Hint to be spoken, when a page is loaded. Macros like WX.Contents.PageInstruction may be used. (see also section Macros on page 502) Length: Range: Default: 1024 alphanumeric WX.Contents.PageInstruction
May 2008
631
Parameters
This parameter specifies the Default-Text of the page Content to be spoken, when a page is loaded. It the best to give the text, which should be spoken, an ID and to specify a variable WXADAText, where the message to be spoken is repeated. So the visual text may be different from the spoken text, i.e. to explain blind people where to find the specific HW devices. (see also section Macros on page 502) Length: Range: Default: Example: <table class="styleTableBlue"> <tr> <td class="styleTd"> <p ID="WXADAContent" WXADAText="Please wait a moment." class="textpopup">Please wait a moment...</p> <p align="center"><img src="../images/ animation/wait_message.gif" id="wait"></p> </td> </tr> </table> ADATextPageKeys This parameter specifies the Default-Text to be spoken, when active keys are available on the page to tell the customer, which options are available. The parameter may specify text and macros. In default, this macro directs to WX.F.ActiveKeys, which means the macro ADAMacroActiveKeys (see also section ADAMacroActiveKeys on page 634). The macros may be used to get the caption of all buttons as well as the assigned numerical key. (see also section Macros on page 502) Length: Range: Default: 1024 alphanumeric Please press WX.F.ActiveKeys! 1024 alphanumeric WX.RT.P.WXADAContent.WXADAText
632
May 2008
Parameters ADATextEditHint
Graphical Service
This parameter specifies the Default-Text to be spoken, when an edit field becomes active. A macro may be used to specify the Instruction Hint to be spoken. (see also section Macros on page 502) Length: Range: Default: 1024 alphanumeric WX.Edit.Instruction!
ADATextEditContent This parameter specifies the Default-Text to be spoken, after a customer has confirmed an input and it has been positivly checked. A macro may be used to when an edit field becomes active. A macro may be used to specify the Instruction Hint to be spoken. (see also section Macros on page 502) Length: Range: Default: 1024 alphanumeric You have entered WX.Edit.InputText, please confirm it!
ADAEchoButton This parameter specifies the Default-Text to be spoken, when a button is pressed. A macro may be used. In default, this macro directs to ADAMacroEchoKeys (see also section ADAMacroEchoKeys on page 634). (see also section Macros on page 502) Length: Range: Default: ADAEchoEdit This parameter specifies the Default-Text to be spoken, when an Edit field is active and keys are pressed. The default value is to repeat the numerical value of each pressed EPP key. No macros are allowed here Length: Range: Default: 1024 alphanumeric 0=null_WXSEP_1=one_WXSEP_2=two... 1024 alphanumeric WX.F.EchoKeys.all
May 2008
633
Parameters
This parameter specifies the Default-Text to be spoken, when a key is pressed during PIN input. No macros are allowed here. Length: Range: Default: 1024 alphanumeric Thanks.
ADAMacroActiveKeys This parameter contains the macro for WX.F.ActiveKeys (= all active Buttons on this page). This macro may be specified in one of the parameters where macros are allowed. Other macros are allowed here. (see also section Macros on page 502) Length: Range: Default: 1024 alphanumeric WX.Button.Softkey for WX.Button.Text !
ADAMacroEchoKeys This parameter contains the macro for WX.F.EchoKeys (= Button, which has been selected). This macro may be specified in one of the parameters where macros are allowed. Other macros are allowed here. (see also section Macros on page 502) Length: Range: Default: 1024 alphanumeric You have selected WX.Button.Text
634
May 2008
Parameters
FrontPageImagePath Specifies the directory on a design computer on which the images are stored. If there is a relative (or absolute) path name in an ActiveX-Control, every entry up to "images" will be replaced by this path name. This setting is only used on design computers, where FrontPage is used to design the HTML pages. On this PC, all the graphics files must be stored on your local computer. This setting is not used on a self-service device. Length: Range: Default: 128 alphanumeric C:\ProTopas\Web\Images
May 2008
635
Parameters
The cancel message is not shown in a new window. The cancel message is shown in a new window.
CancelQuestionHref Href for the cancel question "Do you really want to cancel?". If no HTML page is entered in this parameter, no cancel question will be shown. Length: Range: Default: 128 alphanumeric GeneralCancelQuestionWindow.htm
CancelQuestionWindow Specifies whether the cancel question "Do you really want to cancel?" is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window. Length: Range: Default: 1 011 The cancel question is not shown in a new window. The cancel question is shown in a new window.
CancelWindowLeft Specifies the left pixel position of the new window for the cancel situations (cancel, cancel question). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555. Length: Range: Default: 5 0 - 20000 44
CancelWindowTop Specifies the upper pixel position of the new window for the cancel situations (cancel, cancel question). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555. Length: Range: Default: 5 0 - 20000 54
636
May 2008
Parameters CancelWindowHeight
Specifies the height of the new window for the cancel situations (cancel, cancel question). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555. Length: Range: Default: 5 0 - 20000 260
CancelWindowWidth Specifies the width of the new window for the cancel situations (cancel, cancel question). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555. Length: Range: Default: 5 0 - 20000 712
TimeoutWindow Specifies whether the Timeoutmessage is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window.
May 2008
637
Parameters
The timeout message is not shown in a new window. The timeout message is shown in a new window.
TimeoutQuestionHref Href for the Security question "You have not made an input for a while ...?" If no HTML page is entered in this parameter, no timeout question will be shown. Length: Range: Default: 128 alphanumeric GeneralTimeoutQuestionWindow.htm
TimeoutQuestionWindow Specifies whether the Security question "You have not made an input for a while ...?" is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window. Length: Range: Default: 1 011 The timeout question is not shown in a new window. The timeout question is shown in a new window.
AfterTimeoutHref Href for the situation After timeout. Length: Range: Default: 128 alphanumeric GeneralTimeoutFunction.htm
AfterTimeoutWindow Specifies whether the situation After timeout is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window. Length: Range: 1 010 The situation after timeout is not shown in a new window. The situation after timeout is shown in a new window.
Default:
638
May 2008
Parameters TimeoutWindowLeft
Specifies the left pixel position of the new window for the timeout situations (timeout, timeout question, after timeout). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555. Length: Range: Default: 5 0 - 20000 44
TimeoutWindowTop Specifies the upper pixel position of the new window for the timeout situations (timeout, timeout question, after timeout). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555. Length: Range: Default: 5 0 - 20000 54
TimeoutWindowHeight Specifies the height of the new window for the timeout situations (timeout, timeout question, after timeout). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555. Length: Range: Default: 5 0 - 20000 260
TimeoutWindowWidth Specifies the width of the new window for the timeout situations (timeout, timeout question, after timeout). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555. Length: Range: Default: 5 0 - 20000 712
May 2008
639
Parameters
MessageTimeout Specifies the default timeout to show messages. Length: Range: Default: HelpTimeout Specifies the default timeout to show help messages. Length: Range: Default: CorrectTimeout Specifies the default timeout to show correct messages. 3 numeric 60 3 numeric 5
640
May 2008
EndlessTimeout Specifies an endless timeout. May be used when a Step is called and the end of the Step is to continue the application. Length: Range: Default: 3 not writable 0
ImmediateTimeout Only used by Content ATM control. Specifies that the return code is to be reported immediately to the DoDialog() function. Length: Range: Default: 3 not writable 0xffffffff
Default:
May 2008
641
Parameters
642
May 2008
Parameters Value3
This parameter specifies the code for the key 3 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 3. Length: Range: Default: Value4 This parameter specifies the code for the key 4 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 4. Length: Range: Default: Value5 This parameter specifies the code for the key 5 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 5. Length: Range: Default: Value6 This parameter specifies the code for the key 6 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 6. Length: Range: Default: 4 alphanumeric 6 4 alphanumeric 5 4 alphanumeric 4 4 alphanumeric 3
May 2008
643
Parameters
This parameter specifies the code for the key 7 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 7. Length: Range: Default: Value8 This parameter specifies the code for the key 8 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 8. Length: Range: Default: Value9 This parameter specifies the code for the key 9 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 9. Length: Range: Default: ValueF1 This Parameter specifies the code for the softkey F1 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is H. Length: Range: Default: 4 alphanumeric H 4 alphanumeric 9 4 alphanumeric 8 4 alphanumeric 7
644
May 2008
Parameters ValueF2
This Parameter specifies the code for the softkey F2 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is D. Length: Range: Default: ValueF3 This Parameter specifies the code for the softkey F3 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is E. Length: Range: Default: ValueF4 This Parameter specifies the code for the softkey F4 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is F. Length: Range: Default: ValueF5 This Parameter specifies the code for the softkey F5 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is C. Length: Range: Default: 4 alphanumeric C 4 alphanumeric F 4 alphanumeric E 4 alphanumeric D
May 2008
645
Parameters
This Parameter specifies the code for the softkey F6 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is B. Length: Range: Default: ValueF7 This Parameter specifies the code for the softkey F7 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is A. Length: Range: Default: ValueF8 This Parameter specifies the code for the softkey F8 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is G. Length: Range: Default: ValueCancel This Parameter specifies the code for the functionkey or softkey CANCEL returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 0x01. Length: Range: Default: 4 alphanumeric 0x01 4 alphanumeric G 4 alphanumeric A 4 alphanumeric B
646
May 2008
Parameters ValueConfirm
This Parameter specifies the code for the functionkey or softkey CONFIRM returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 0x04. Length: Range: Default: ValueCorrect This Parameter specifies the code for the functionkey or softkey CORRECT returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 0x02. Length: Range: Default: ValueHelp This Parameter specifies the code for the functionkey or softkey HELP returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 0x03. Length: Range: Default: ValuePrint This Parameter specifies the code for the softkey PRINT returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is 0x05. Length: Range: Default: 4 alphanumeric 0x05 4 alphanumeric 0x03 4 alphanumeric 0x02 4 alphanumeric 0x04
May 2008
647
Parameters
This parameter specifies the code for the key left to the 0 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is * Length: Range: Default: ValueDecPoint This parameter specifies the code for the key right to the 0 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code. The default value is , . Length: Range: Default: 4 alphanumeric , 4 alphanumeric *
648
May 2008
Convert using ANSI (Not all Unicode signs can be converted) Convert using UTF8
Default:
HttpsBlankPage This is a workaround for a problem with the Web Graphical Service in a HTTPS session. When during normal page mode a new window is popping up, this window is created using the page specified here. This should be one of the pages from the HTTPS-Server, which contains less content. If this page would not be specified, an ABOUT:Blank page would be created, which causes a warning message popup during a HTTPS session. Length: Range: Default: NCREppInit Because the NCR Numeric Keyboard handling is very slow, the is an initialization command for Numeric Keyboard handling, which will be called at page initialization. PLEASE USE THIS SWITCH ONLY ON NCR HARDWARE!!! The default value is 0. Length: Range: Default: 1 010 All other hardware Only on NCR EPP Hardware 1024 alphanumeric -
SetInputFocusNext
Normally the input focus - after an edit field has been confirmed - is given to the edit field with the lowest field ID, which input has not been checked jet. With this parameter the input focus may be given to the field with the next field ID in the sequence. Length: Range: Default: 1 010 Input focus is given to the field with the lowest field ID Input focus is given to the field with the next field ID
May 2008
649
Parameters
This parameter may be used to get the old behaviour of The ImmediateTimout again. This had used a very short timeout before. Now it does not use any timer any more. NewImmediateTimeout This parameter may be used to configure a new behaviour of the ImmediateTimeout. ImmediateTimeout was implemented using a very short timeout. This could case a problem, that this timer never exires. The new behaviour is that the ImmediateTimeout is not using a timer any more, so that possible hangup situations are minimized. Length: Range: 1 01Default: 0
Old ImmediateTimeout behaviour with a very short timer. New ImmediateTimeout behaviour without using a timer.
AutomaticEPPConfigForAllButtons This parameter activates all active buttons to CEN/XFS, which viewstate variable is set to visible, if at the property page EPP Config the mode is set to automatic. In the old behaviour this was done only for function keys. Length: Range: 1 01Default: 0 Old behaviour: Only the function key viewstates are checked. New behaviour: For all buttons the viewstates are checked.
DeleteInputFieldsWithEmptyString This parameter may be used to change the behaviour of deleting input fields. If the parameter is set to 0 it is not allowed to delete an edit field with an empty input varaibale. Empty input variables are not set in the old behaviour. With the new behaviour (1) it is possible now.
650
May 2008
Old behaviour. No set of empty input variable possible. New behaviour: Deleting a content of the input field is possible with an empty input variable.
Default:
May 2008
651
Parameters
Specifies whether the button control is used in the architecture Web-Extensions/ClassicLink or Web-Extensions/HyperLink. A menu button is not available for Web-Extensions/ClassicLink. The default value is 0. Length: Range: 1 01Default: 0Use button control in the architecture
Web-Extensions/HyperLink
Use button control in the architecture
Web-Extensions/ClassicLink
Use button control in the architecture Web-Extensions/HyperLink.
AnimationTimer Specifies the time in milliseconds how long a button remains "down" when the button is pressed before it goes "up" again. The default value is 500 milliseconds. Length: Range: Default: 99 1 - 9999 500 - When a button is touched, it remains "down" for half a second.
ImageUp Specifies the default graphic of the button when it is in the state "up". Length: Range: Default: ImageDown Specifies the default graphic of the button when it is in the state "down". Length: Range: Default: 128 alphanumeric ../images/controls/select_down.bmp 128 alphanumeric ../images/controls/select_up.bmp
652
May 2008
Parameters ImagePressed
Specifies the default graphic of the button when it is in the state "pressed". Length: Range: Default: ImageDisabled Specifies the default graphic of the button when it is in the state "disabled". Length: Range: Default: PressOffset Specifies the number of pixels that the text and the icon on the button will move in x- and y- directions when the button is pressed. The number cannot be larger than the height and the width of the button. Length: Range: Default: TextFont Specifies the font of the button's caption. Length: Range: Default: TextSize Specifies the size of the button's caption. Length: Range: Default: TextColour Specifies the colour of the button's caption when the button is up, down or pressed: 2 numeric 12 128 alphanumeric Arial 3 numeric 3 128 alphanumeric ../images/controls/select_disabled.bmp 128 alphanumeric ../images/controls/select_pressed.bmp
May 2008
653
Parameters for the ActiveX controls 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: 8 hexadecimal 00000000
Parameters
TextColourDisabled Specifies the colour of the button's caption if the button is disabled: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: TextAlignX Specifies the x-position in pixel of the caption relative to the button. (see "TextCenterX" on page 654) Length: Range: Default: TextCenterX Specifies whether the caption is horizontally centered on the button. (see "TextAlignX" on page 654) Length: Range: 1 012Default: TextAlignY Specifies whether the caption is vertically centered on the button. (see "TextCenterY" on page 655) 1 The caption is left justified and the position is taken from the TextAlignX property. The caption is horizontally centered on the button (ignore TextAlignX). The caption is right justified and the position is taken from the TextAlignX property. 3 numeric 0 8 hexadecimal 00808080
654
May 2008
Specifies the y-position in pixels of the caption relative to the button. (see "TextAlignY" on page 654) Length: Range: 1 01Default: TextBold Specifies whether the button's caption is printed bold. Length: Range: Default: TextItalic Specifies whether the button's caption is printed in italics. Length: Range: Default: TextUnderline Specifies whether the button's caption is printed underlined. Length: Range: Default: 1 010 The button's caption is not printed underlined. The button's caption is printed underlined. 1 010 The button's caption is not printed in italics. The button's caption is printed in italics. 1 011 The button's caption is not printed bold. The button's caption is printed bold. 1 The caption is not vertically centered on the button (see exact y-position in TextAlignX). The caption is vertically centered on the button (ignore TextAlignY).
May 2008
655
Parameters for the ActiveX controls TextStrikeout Specifies whether the button's caption is printed strikeout. Length: Range: Default: 1 010
Parameters
The button's caption is not printed strikeout. The button's caption is printed strikeout.
HoldPressedState Specifies whether the button changes to the state "pressed" when it is pressed. Length: Range: 1 0When the button is pressed it changes to the state "down" and when it is released it changes back to the state "up". When the button is pressed it changes to the state "down" and when it is released it changes to the state "pressed".
1-
Default: Identification
Specifies whether the customer must insert his card and/or enter the PIN after he has pressed the button. Only relevant for menu buttons. Length: Range: 1 01234560 no card, no PIN with card, without PIN with card, with PIN mandatory with card, with PIN with chipcard, without PIN with chipcard, with PIN mandatory with chipcard, with PIN
Default:
ShiftInPixelsMode Specifies the mode fot the Shift in Pixels of the control. Should it be interpreted as a shift to the lower right corner or be interpreted as a shift to whatever direction. Then the value is interpreted as a binary:
656
May 2008
Parameters Format for offset: short +/- 32768 FEDCBA98 76543210 -yyyyyyy -XXXXXXX Example: x=3,y=3 binary: 00000011 00000011 short : (y(3*256)+x(2+1) ) -> 771
x:-3,y:-3 (build complements) binary: 11111101 11111101 short : (y((256-3)*256+x(256-3)) -> 65021-65536 -> -515 Length: Range: Default: 1 010 Shift to lower left corner Shift to all directions
May 2008
657
Parameters for the ActiveX controls ZZZZZZZZ - at SEL is one of the following sounds: BELL_OFF BELL_KEYPRESS BELL_EXCLAMATION BELL_WARNING BELL_ERROR BELL_CRITICAL BELL_KEYPRESS_CONTINUOUS BELL_EXCLAMATION_CONTINUOUS BELL_WARNING_CONTINUOUS BELL_ERROR_CONTINUOUS BELL_CRITICAL_CONTINUOUS Length: Range: ImageUp 1024 alphanumeric
Parameters
Specifies the default graphic of the input field when it is in the state "up". Length: Range: Default: ImagePressed Specifies the default graphic of the input field when it is in the state "pressed". Length: Range: Default: ImageDisabled Specifies the default graphic of the input field when it is in the state "disabled". Length: Range: Default: 128 alphanumeric ../images/controls/input_std_disabled.bmp 128 alphanumeric ../images/controls/input_std_pressed.bmp 128 alphanumeric ../images/controls/input_std_up.bmp
658
May 2008
Parameters PressOffset
Specifies the number of pixels that the text, the input area and the icon on the input field will move in x- and y-direction when the input field is pressed. The number cannot be larger than the height and the width of the input field. Length: Range: Default: TextFont Specifies the font of the input field's caption. Length: Range: Default: TextSize Specifies the size of the input field's caption. Length: Range: Default: TextColour Specifies the colour of the input field's caption when the input field is up or pressed: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: 8 hexadecimal 00000000 2 numeric 10 128 alphanumeric Arial 3 numeric 3
TextColourDisabled Specifies the colour of the input field's caption if the input field is disabled: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: 8 hexadecimal 00808080
May 2008
659
Parameters
Specifies the x-position in pixels of the caption relative to the input field. (see "TextCenterX" on page 660) Length: Range: Default: TextCenterX Specifies whether the caption is horizontally centered on the input field. (see "TextAlignX" on page 660) Length: Range: 1 012Default: TextAlignY Specifies whether the caption is horizontally centered on the input field. (see "TextCenterY" on page 660) Length: Range: Default: TextCenterY Specifies whether the caption is vertically centered on the input field. (see "TextAlignY" on page 660) Length: Range: 1 01Default: 0 The caption is not vertically centered on the input field (see exact y-position in TextAlignX). The caption is vertically centered on the input field (ignore TextAlignY). 3 hexadecimal 6 0 The caption is left justified and the position is taken from the TextAlignX property. The caption is horizontally centered on the button (ignore TextAlignX). The caption is right justified and the position is taken from the TextAlignX property. 3 numeric 19
660
May 2008
Parameters TextBold
Specifies whether the input field's caption is printed bold. Length: Range: Default: TextItalic Specifies whether the input field's caption is printed in italics. Length: Range: Default: TextUnderline Specifies whether the input field's caption is printed underlined Length: Range: Default: TextStrikeout Specifies whether the input field's caption is printed strikeout. Length: Range: Default: InputFont Specifies the font of the customer's input. Length: Range: Default: 128 alphanumeric Courier 1 010 The input field's caption is not printed strikeout. The input field's caption is printed strikeout. 1 010 The input field's caption is not printed underlined. The input field's caption is printed underlined. 1 010 The input field's caption is not printed in italics. The input field's caption is printed in italics. 1 011 The input field's caption is not printed bold. The input field's caption is printed bold.
May 2008
661
Parameters for the ActiveX controls InputSize Specifies the size of the customer's input. Length: Range: Default: InputColour 2 numeric 10
Parameters
Specifies the colour of the customer's input when the input field is up or pressed: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: 8 hexadecimal 00000000
InputColourDisabled Specifies the colour of the customer's input if the input field is disabled: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: InputAlignX Specifies the x-position in pixel of the input area relative to the input field. Length: Range: Default: InputAlignY Specifies the y-position in pixels of the customer's input relative to the input field. Length: Range: Default: 3 0 - 409 28 3 0 - 799 16 8 hexadecimal 00808080
662
May 2008
Parameters InputWidth
Specifies the width in pixels of the input area on the input field. The width of the input area cannot be larger than the width of the input field. Length: Range: Default: InputHeight Specifies the height in pixels of the input area on the input field. The height of the input area cannot be larger than the height of the input field. Length: Range: Default: InputBold Specifies whether the customer's input is printed bold. Length: Range: Default: InputItalic Specifies whether the customer's input is printed in italics. Length: Range: Default: InputUnderline Specifies whether the customer's input is printed underlined Length: Range: Default: 1 010 The customer's input is not printed underlined. The customer's input is printed underlined. 1 010 The customer's input is not printed in italics. The customer's input is printed in italics. 1 010 The consumer's input is not printed bold. The consumer's input is printed bold. 3 0 - 410 18 3 0 - 410 272
May 2008
663
Parameters for the ActiveX controls InputStrikeout Specifies whether the customer's input is printed strikeout. Length: Range: Default: 1 010
Parameters
The customer's input is not printed strikeout. The customer's input is printed strikeout.
InputTimeoutHalf Specifies the timeout in seconds during an input. After this period of time the application beeps. Length: Range: 3 0 1 - 999 600 There is no beep during the input. After this period of time in seconds the application beeps.
Default:
ShiftInPixelsMode Specifies the mode fot the Shift in Pixels of the control. Should it be interpreted as a shift to the lower right corner or be interpreted as a shift to whatever direction. Then the value is interpreted as a binary: Format for offset: short +/- 32768 FEDCBA98 76543210 -yyyyyyy -XXXXXXX Example: x=3,y=3 binary: 00000011 00000011 short : (y(3*256)+x(2+1) ) -> 771 x:-3,y:-3 (build complements) binary: 11111101 11111101 short : (y((256-3)*256+x(256-3)) -> 65021-65536 -> -515 Length: Range: Default: 1 010 Shift to lower left corner Shift to all directions
664
May 2008
Parameters
May 2008
665
Parameters for the ActiveX controls Length: Range: Default: ImagePressed 128 alphanumeric ../images/controls/input_std_up.bmp
Parameters
Specifies the default graphic of the PCList control when it is in the state "pressed". Length: Range: Default: ImageDisabled Specifies the default graphic of the PCList control when it is in the state "disabled". Length: Range: Default: PressOffset Specifies the number of pixels that the text, the output area and the icon on the PCList control will move in x- and y-direction, if the PCList control is pressed. The number cannot be larger than the height and the width of the PCList control. Length: Range: Default: TextFont Specifies the font of the PCList control's caption. Length: Range: Default: TextSize Specifies the size of the PCList control's caption. 128 alphanumeric Arial 3 numeric 3 128 alphanumeric ../images/controls/input_std_disabled.bmp 128 alphanumeric ../images/controls/input_std_pressed.bmp
666
May 2008
Specifies the colour of the PCList control's caption, when the PCList control is up or pressed: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: 8 hexadecimal 00000000
TextColourDisabled Specifies the colour of the PCList control's caption, if the PCList control is disabled: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: TextAlignX Specifies the x-position in pixel of the caption relative to the PCList control. (see "TextCenterX" on page 667) Length: Range: Default: TextCenterX Specifies whether the caption is horizontally centered on the PCList control. (see "TextAlignX" on page 667) Length: Range: 1 01The caption is left justified and the position is taken from the TextAlignX property. The caption is horizontally centered on the button (ignore TextAlignX). 3 numeric 19 8 hexadecimal 00808080
May 2008
667
Parameters
The caption is right justified and the position is taken from the TextAlignX property.
Specifies whether the caption is horizontally centered on the PCList control. (see "TextCenterY" on page 668) Length: Range: Default: TextCenterY Specifies whether the caption is vertically centered on the PCList control. (see "TextAlignY" on page 668) Length: Range: 1 01Default: TextBold Specifies whether the PCList control's caption is printed bold. Length: Range: Default: TextItalic Specifies whether the PCList control's caption is printed in italics. Length: Range: Default: 1 010 The PCList control's caption is not printed in italics. The PCList control's caption is printed in italics. 1 011 The PCList control's caption is not printed bold. The PCList control's caption is printed bold. 0 The caption is not vertically centered on the PCList control (see exact y-position in TextAlignX). The caption is vertically centered on the PCList control (ignore TextAlignY). 3 hexadecimal 6
668
May 2008
Parameters TextUnderline
Specifies whether the PCList control's caption is printed underlined Length: Range: Default: TextStrikeout Specifies whether the PCList control's caption is printed strikeout. Length: Range: Default: InputFont Specifies the font of the output field. Length: Range: Default: InputSize Specifies the size of the output field. Length: Range: Default: InputColour Specifies the colour of the output field when the field is up or pressed: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: 8 hexadecimal 00000000 2 numeric 10 128 alphanumeric Courier 1 010 The PCList control's caption is not printed strikeout. The PCList control's caption is printed strikeout. 1 010 The PCList control's caption is not printed underlined. The PCList control's caption is printed underlined.
May 2008
669
Parameters for the ActiveX controls InputColourDisabled Specifies the colour of the output field if the field is disabled: 00RRGGBB (RR=red, GG=green, BB=blue) Length: Range: Default: InputAlignX 8 hexadecimal 00808080
Parameters
Specifies the x-position in pixels of the output field relative to the PCList control. Length: Range: Default: InputAlignY Specifies the y-position in pixels of the output field relative to the PCList control. Length: Range: Default: InputXCentred Specifies to which side of the cursor position of InputAlignX the output should be written. Length: Range: 1 0120 Text should be written to the left Text should be centered relative to position of InputAlignX Text should be written to the right 3 0 - 409 28 3 0 - 799 16
Default: InputYCentred
670
May 2008
Specifies whether the output field is printed bold. Length: Range: Default: InputItalic Specifies whether the output field is printed in italics. Length: Range: Default: InputUnderline Specifies whether the output field is printed underlined Length: Range: Default: InputStrikeout Specifies whether the output field is printed strikeout. Length: Range: Default: 1 010 The output field is not printed strikeout. The output field is printed strikeout. 1 010 The output field is not printed underlined. The output field is printed underlined. 1 010 The output field is not printed in italics. The output field is printed in italics. 1 010 The output field is not printed bold. The output field is printed bold.
May 2008
671
Parameters
Specifies the mode fot the Shift in Pixels of the control. Should it be interpreted as a shift to the lower right corner or be interpreted as a shift to whatever direction. Then the value is interpreted as a binary: Format for offset: short +/- 32768 FEDCBA98 76543210 -yyyyyyy -XXXXXXX Example: x=3,y=3 binary: 00000011 00000011 short : (y(3*256)+x(2+1) ) -> 771 x:-3,y:-3 (build complements) binary: 11111101 11111101 short : (y((256-3)*256+x(256-3)) -> 65021-65536 -> -515 Length: Range: Default: 1 010 Shift to lower left corner Shift to all directions
(see also ImageDown on page 652) ImagePressed Available for PCButton, PCEdit, PCList (see also ImagePressed on page 653) ImageDisabled Available for PCButton, PCEdit, PCList (see also ImageDisabled on page 653) ImageUp Available for PCButton, PCEdit, PCList (see also ImageUp on page 652) IconAlignX Available for PCButton, PCEdit, PCList This parameter is used for configuring the X coordinate in pixels for an Icon from the upper left corner of the button graphic. Length: Range: IconXCentered Available for PCButton, PCEdit, PCList This parameter is used to configure, if the Icon of a control shall be centered horizontally. Length: Range: 1 01Icon should not be centered horizontally Icon should be centered horizontally 4 0 - 9999
May 2008
673
Parameters
This parameter is used for configuring the Y coordinate in pixels for an Icon from the upper left corner of the button graphic. Length: Range: IconAlignY Available for PCButton, PCEdit, PCList This parameter is used to configure, if the Icon of a control shall be centered vertically. Length: Range: 1 01Icon should not be centered vertically Icon should be centered vertically 4 0 - 9999
Icon Available for PCButton, PCEdit, PCList This parameter is used to configure the Icon. Length: Range: IconDisabled Available for PCButton, PCEdit, PCList This parameter is used to configure the disabled Icon. Length: Range: PressOffset Available for PCButton, PCEdit, PCList (see also PressOffset on page 653) AudioResponse Available for PCButton, PCEdit, PCList The audio response for the controls may be configured here. The parameter has to contain a string with the following layout: 128 alphanumeric 128 alphanumeric
674
May 2008
Parameters XXX_Y_ZZZZZZZZ
XXX = WAV for Wave files XXX = SEL for Special electronic beeping Y= S for synchronous playing (dont play > 5 sec as sync.) Y= A for asynchronous playing Y = X for stop previous playing (WAV only) ZZZZZZZZ = at WAV is relative or absolute path ( non local files will be dowloaded to cache - check in alllow list) ZZZZZZZZ - at SEL is one of the following sounds: BELL_OFF BELL_KEYPRESS BELL_EXCLAMATION BELL_WARNING BELL_ERROR BELL_CRITICAL BELL_KEYPRESS_CONTINUOUS BELL_EXCLAMATION_CONTINUOUS BELL_WARNING_CONTINUOUS BELL_ERROR_CONTINUOUS BELL_CRITICAL_CONTINUOUS Length: Range: 1024 alphanumeric
TextLayerCount Available for PCButton, PCEdit, PCList This Parameter contains the number of TextLayers. This has an impact to all the other parameter beginning with TextLayer... When there are more than one Layer, the values have to be separated by ;; Length: Range: 3 1 - 999
TextLayerPosXYDefault Available for PCButton, PCEdit, PCList This Parameter specifies, if the Position Default Button at the caption or Headline property page is checked or not.
May 2008
675
Parameters
TextLayerTextAlignX Available for PCButton, PCEdit, PCList (see also TextAlignX on page 654) TextLayerTextAlignY Available for PCButton, PCEdit, PCList (see also TextAlignY on page 654) TextLayerTextAlignXTyp Available for PCButton, PCEdit, PCList (see also TextCenterX on page 654) TextLayerYCentered Available for PCButton, PCEdit, PCList (see also TextCenterY on page 655) TextLayerFontDefault Available for PCButton, PCEdit, PCList This parameter specifies, if the Font Default Button at the caption or Headline property page is checked or not. Length: Range: 1 01Font Default checkbox shall not be checked Font Default checkbox shall be checked.
TextLayerFont Available for PCButton, PCEdit, PCList (see also TextFont on page 653)
676
May 2008
Parameters TextLayerFontCodePage
Available for PCButton, PCEdit, PCList This Parameter specifies the Code Page for the font. Length: Range: 4 001 - 9999
TextLayerTextSize Available for PCButton, PCEdit, PCList (see also TextSize on page 653) TextLayerTextBold Available for PCButton, PCEdit, PCList (see also TextBold on page 655) TextLayerTextItalic Available for PCButton, PCEdit, PCList (see also TextItalic on page 655) TextLayerTextUnderline Available for PCButton, PCEdit, PCList (see also TextUnderline on page 655) TextLayerTextStrikeout Available for PCButton, PCEdit, PCList (see also TextStrikeout on page 656) TextLayerActiveColourDefault Available for PCButton, PCEdit, PCList This parameter specifies, if the ActiveColour Default Button at the caption or Headline property page is checked or not.
May 2008
677
Parameters
ActiveColour Default checkbox shall not be checked ActiveColour Default checkbox shall be checked.
TextLayerInactiveColourDefault Available for PCButton, PCEdit, PCList This parameter specifies, if the InactiveColour Default Button at the caption or Headline property page is checked or not. Length: Range: 1 01InactiveColour Default checkbox shall not be checked InactiveColour Default checkbox shall be checked.
TextLayerTextColour Available for PCButton, PCEdit, PCList (see also TextColour on page 653) TextLayerTextColourDisabled Available for PCButton, PCEdit, PCList (see also TextColourDisabled on page 654) InputAreaDefault Available for PCEdit, PCList This parameter specifies, if the Input/Output Range Default Button at the Input or Output property page is checked or not. Length: Range: 1 01Range Default checkbox shall not be checked Range Default checkbox shall be checked.
InputAlignX Available for PCEdit, PCList (see also InputAlignX on page 662) InputAlignY Available for PCEdit, PCList
678
May 2008
Parameters (see also InputAlignY on page 662) InputWidth Available for PCEdit, PCList (see also InputWidth on page 663) InputHeight Available for PCEdit, PCList (see also InputHeight on page 663) InputFontDefault Available for PCEdit, PCList
This parameter specifies, if the Font Default Button at the Input or Output property page is checked or not. Length: Range: 1 01Font Default checkbox shall not be checked Font Default checkbox shall be checked.
InputFont Available for PCEdit, PCList (see also InputFont on page 661) InputFontCodePage Available for PCEdit, PCList This Parameter specifies the Code Page for the font. Length: Range: InputSize Available for PCEdit, PCList (see also InputSize on page 662) 4 001 - 9999
May 2008
679
CCOpen parameters InputBold Available for PCEdit, PCList (see also InputBold on page 663) InputUnderline Available for PCEdit, PCList (see also InputUnderline on page 663) InputItalic Available for PCEdit, PCList (see also InputItalic on page 663) InputStrikeout Available for PCEdit, PCList (see also InputStrikeout on page 664) InputColour Available for PCEdit, PCList (see also InputColour on page 662) InputColourDisabled Available for PCEdit, PCList (see also InputColourDisabled on page 662)
Parameters
CCOpen parameters
These parameters are used by HTML_DIALOG_CONTROL. These parameters are currently not supervised by parac. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ GLOBAL TIME
680
May 2008
Parameters MAX_MEMORY_USE
CCOpen parameters
Please do not use this parameter any longer - its deprecated. Please use parameter MAX_WEBEXTENSION_MEMORY_GROWTH (see also section MAX_WEBEXTENSION_MEMORY_GROWTH on page 689) instead. Percentage showing how much memory may have been wasted until the Internet Explorer is shut down and restarted, in order to solve the memory leak of the Internet Explorer. This parameter is used by the HTML_DIALOG_CONTROL (HTMLDiCT.DLL). For the calculation of the memory it is always the best to use the same minimum and maximum memory settings for extended memory in the Windows system environment settings. (see also section Memory leak of the Internet Explorer on page 309). Length: Range: Default: 3 1 - 99 85
MAX_MEMORY_USE_MINUTES Minutes to wait, until the HTML_DIALOG_CONTROL (HTMLDiCT.DLL) restart the Internet Explorer, if maximum Amount of Memory has been reached. (see also section Memory leak of the Internet Explorer on page 309). (see "MAX_MEMORY_USE" on page 681) Length: Range: Default: 2 1 - 99 5
May 2008
681
Parameters
By this parameter a command job can be defined, that is called with system() directly before the last running Dialog is canceled and the Web Graphical Service exits and restarts! Errors from the system call are not checked. The tool showbmp.exe can be used for displaying a message during the restart (start showbmp c:\\Protopas\\xyz.bmp TOPMOST). Length: Range: Default: 128 alphanumeric ""
JOB_AFTER_KILL By this parameter a job can be defined, that is called when the Web Graphical Service is operational again and opened! Showbmp.exe may be stopped here (showbmp StopWaiting). Length: Range: Default: 128 alphanumeric ""
WEBEXT_VERSION By this parameter you can control the behavior of the HTML Dialog Control. Depending on the type of error, different behavior will result for different architecture of the ProTopas/Web-Extensions. Length: Range: 1 0120 Web-Extensions/ClassicLink Web-Extensions/HyperLink Version 1.0 Web-Extensions/HyperLink since Version 1.1
EXCEPTION LOCK
682
May 2008
Parameters
CCOpen parameters
0 SYSTEM() NONE
1 PROCESS() NONE
JOB_BEFORE_EXCEPTION By this parameter a job can be defined, that is called when the Web Graphical Service has thrown an exception and HTML Dialog Control will restart/Reboot the system. This job can be used for displaying an image. Length: Range: Default: JOB_CHECK This Parameter is only valid in Web-Extensions/HyperLink architecture. This Parameter specifies the time in ms after JOB_AFTER_XXX to check if both process ( JOB_BEFORE_XXX & JOB_AFTER_XXX ) are finished. If not, HTML Dialog Control tries to terminate those. NOTE: There are two threads in HTML Dialog Control: mem check - Checking for memory leaks watch check - Checking for locks Length: Range: Default: 8 0 - 99999999 5000 128 alphanumeric ""
JOB_AFTER_EXCEPTION By this parameter the Job before Exception can be stopped, f.e. Showbmp.exe may be stopped here (showbmp StopWaiting). Length: Range: Default: 128 alphanumeric ""
May 2008
683
Parameters
This parameter defines a pause between the JOB_BEFORE_KILL and JOB_AFTER_KILL in milliseconds. It may be necessary to wait until a JOB_BEFORE_KILL is initialized. (see also section JOB_BEFORE_KILL on page 682) (see also section JOB_AFTER_KILL on page 682) Length: Range: Default: 6 1-600000 100
AT_EXCEPTION_PAUSE_BETWEEN_JOBS This parameter defines a pause between the JOB_BEFORE_EXCEPTION and JOB_AFTER_EXCEPTION in milliseconds. It may be necessary to wait until a JOB_BEFORE_EXCEPTION is initialized. (see also section JOB_BEFORE_EXCEPTION on page 683) (see also section JOB_AFTER_EXCEPTION on page 683) Length: Range: Default: 6 1-600000 100
AT_KILL_APP_STOP By this parameter the close procedure in the application can be switched on and off. The application itself has to handle the open and close mechanism. This is done via the Application Framework together with the Sync Framework normally. Length: Range: 5 FALSE TRUE Default: TRUE CloseCustomerService() from the Application Framework is not called CloseCustomerService() from the Application Framework is called
684
May 2008
Parameters AT_KILL_APP_RESUME
CCOpen parameters
By this parameter the open procedure in the application can be switched on and off. The application itself has to handle the open and close mechanism. This is done via the Application Framework together with the Sync Framework normally. Length: Range: 5 FALSE TRUE Default: TRUE OpenCustomerService() from the Application Framework is not called OpenCustomerService() from the Application Framework is called
AT_KILL_GS_OPEN By this parameter the Open() function of the Web Graphical Service can be called or not. It may be necessary not to open the Web Graphical Service in differnt situations (see also section Configuration of the start page on page 25). The best is to see and test, if an open is implemented in the Transaction Framework. Length: Range: 5 FALSE TRUE Default: TRUE Open() from the Web Graphical Service is not called Open() from the Web Graphical Service is called.
TIME_WAITFOR_RESTART_MEM This parameter specifies the maximum time in ms, HTML Dialog Control waits for a restart of the Web Graphical Service, after the memory watch thread discovers a problem. Length: Range: Default: 8 0 -99999999 120000
TIME_WAITFOR_RESTART_EXCEPTION This parameter specifies the maximum time in ms, HTML Dialog Control waits for a restart of the Web Graphical Service, after the exception watch thread discovers a problem.
May 2008
685
Parameters
TIME_WAITFOR_RESTART_THREADS This parameter specifies the maximum time in seconds, HTML Dialog Control will wait for restart of the internal threads after restarting the Web Graphical Service. NOTE: There are two threads in HTML Dialog Control: mem check - Checking for memory leaks watch check - Checking for locks Length: Range: Default: 8 0 -99999999 120
TIME_SLEEP_WATCH This parameter specifies the time in ms, the HTML Dialog Control repeats the check for the Reaction of the system. Length: Range: Default: 8 0 -99999999 15000
TIME_MAX_WATCH_THREAD To make sure, the WatchThread in HtmlDict itself can not hang (CCDialog hangs?!), the WatchThread is controlled by the Software Watchdog from FwLoad. The maximum time in ms of one run of the Watchdog is defined by this parameter. The Default calculation of this max time is: TIME_TRYAGAIN_WM +TIME_WAITFOR_WM + TIME_TRYAGAIN_TIMER + TIME_WAITFOR_TIMER second. If this time is too short, because any other timeouts (like V.24 timeout of the Hardware) takes longer, the parameter can be set. So its value must be higher than: TIME_TRYAGAIN_WM +TIME_WAITFOR_WM + TIME_TRYAGAIN_TIMER + TIME_WAITFOR_TIMER.
686
May 2008
CCOpen parameters
TIME_TRYAGAIN_INIT This parameter specifies the time in ms for a pause, the HTML Dialog Control tries to call GetHWND the second time during initialization. Length: Range: Default: 8 0 -99999999 15000
TIME_TRYAGAIN_WM This parameter specifies the time in ms for a pause, the HTML Dialog Control tries to post a second Windows Message. It waits for the response of a Windows Message for a time specified in TIME_WAITFOR_WM. (see also TIME_WAITFOR_WM on page 687) Length: Range: Default: 8 0 -99999999 5000
TIME_WAITFOR_WM This parameter specifies the time in ms, the HTML Dialog Control tries to wait for a Windows Message response. (see also TIME_TRYAGAIN_WM on page 687) Length: Range: Default: 8 0 -99999999 5000
TIME_TRYAGAIN_TIMER This parameter specifies thesecond time in ms for a pause, the HTML Dialog Control tries to get a timer response. Length: Range: Default: 8 0 -99999999 5000
May 2008
687
Parameters
This parameter specifies the time in ms, the HTML Dialog Control waits for getting a timer. (see also TIME_TRYAGAIN_TIMER on page 687) Length: Range: Default: RESTART_AT By this new parameter the WebDialog can be restarted at a given time to get rid of memory leaks (GDI leaks). Syntax: "HHMM", "0200" Length: Range: Default: 4 0000 -2359 8 0 -99999999 10000
POPUP_KILLER This parameter activates the Auditoring of all popup windows of the system during the lifetime of the application. A file will be created, which keeps all Windows names. It will be created in the ProTopas/Web-Extensions TEMP Path (see also TempPath on page 618) with the name POPUP.TXT. To store it in Unicode please refer to parameter POPUP_KILLER_FILE_UNICODE. (see also POPUP_KILLER_TIME_SLEEP on page 689) Length: Range: Default: 3 ON: Activate the popup window check OFF: Deactivate the popup window check OFF
POPUP_KILLER_FILE_UNICODE This parameter specifies the format of the POPUP.TXT file with the name of all popup windows. (see also POPUP_KILLER on page 688)
688
May 2008
Parameters Length: Range: Default: 3 YES: Store the file in Unicode NO: Store the file in ANSI NO
CCOpen parameters
POPUP_KILLER_TIME_SLEEP This parameter specifies the time in milliseconds the thread for the inspection of the popup windows reactivates to check for new windows. It falls into sleep mode after this check until it is reactivated. (see also POPUP_KILLER on page 688) Length: Range: Default: 7 1000 - 3600000 5000
MAX_WEBEXTENSION_MEMORY_GROWTH Amount of memory in megabytes showing how much memory may have been wasted until the Internet Explorer is shut down and restarted, in order to solve the memory leak of the Internet Explorer. This parameter is used by the HTML_DIALOG_CONTROL (HTMLDiCT.DLL). If this parameter contains 30 and the start usage of menory is 50 MB the browser will be restarted, when 80 MB are reached. This parameter is a successor of parameter MAX_MEMORY_USE. (see also section Memory leak of the Internet Explorer on page 309). Length: Range: Default: 5 0 - 32768 0
May 2008
689
CCOpen parameters
Parameters
690
May 2008
Tools
WXCompressHTML tool
Tools
In this chapter several tools for the WebExtensions are explained.
WXCompressHTML tool
General idea The general idea of this tool is to compress HTML-files generated with MS FrontPage. ActiveX elements generated with FrontPage are bigger in size than they need to, because FrontPage generates all default parameters of the elements into the HTML-source. The compressHTML tool will try to delete all unnecessary content in every HTML-file.
Installation
To install the necessary Parameter for this tool please call manually setuptools.cmd in \ProTopas\Web\Tools\Conf. This will install the default parameter for the Web-Extensions with its default properties. Each Project has to adapt this Parameter List (see also section Configuring the compressHTML tool on page 693).
HTML
HTML-files are documents which a browser (like Internet Explorer) can read and interpret. Every HTML document consists of a special structure and every command is written into Tags (<>). A special form of a Tag is a comment which looks like <!-- -->. A simple HTML structure HTML documents consist of the following structure: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <TITLE>My first HTML document</TITLE>
May 2008
691
Tools
This is only a simple one, which should show the special HTML structure. HTML source is handled in several frames, one Tag opens the frame , e.g. <HTML>, and another one closes the frame, e.g. </HTML>. The slash in the second frame tells the interpreter to close the frame, which is opened by the first frame. The more complex a HTML-file is made, the more frames are used.
WebExtensions HTML
HTML pages are used by the WebExtensions for the Graphical User Interface (GUI). The following components are used: ActiveX objects WebBots special purpose Tags like <BASE ...> <a ID="PC_GeneratedAnchor" ...></a> <div ID="DISPLAY_CONTROLS_BLOCK" ...></div> <!-- PC_HTMLGEN_RULE:PRINT_THIS --> ActiveX objects All ActiveX components of the WebExtensions have a common structure. This is an Example of the ActiveStep control: <object classid="clsid:47ED0993-B589-11D0-93020000E8A6CB06" id="ActiveStep1" width="100" height="50"> <param name="_Version" value="65536"> <param name="_ExtentX" value="2646"> <param name="_ExtentY" value="1323">
692
May 2008
Tools <param name="_StockProps" value="0"> <param name="StepParameter" value> <param name="Framework" value> </object>
WXCompressHTML tool
The data in the first Tag configures the classid (the ActiveX object identifier), the id (DOM ID) and the position on the page (width, height). The properties of the ActiveX object are stored in the <param ...> Tags, where name describes the property name and value describes the property value. All default properties of the ActiveX objects are "known" by the object at runtime, so if there are no <param ...> Tags, default values would be used. This means all <param ...> TAGs of an unmodified ActiveX object could be deleted. This behaviour is exploited by the compressHTML tool. The following ActiveX objects are used by the WebExtensions: ActiveStep ActiveVarFW ActiveDataDictFW ActiveRegistry ActivePTSniff WXPTBridge PCContentsSTD or PCContentsATM PCButton PCEdit PCEpp PCList and some other rare ActiveX components for testing purposes
May 2008
693
WXCompressHTML tool Registry key The base key of the compressHTML tool is: HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion Tools WebExtensions CompressHTML ?? Under this key you can find two subkey entries, Current and Data.
Tools
Current key
The entries in current key define the standard behaviour of the tool, e.g. the rules used or the initial opening path on startup. The following entries are settled in the current key: Registry Entry WXVersion DeleteTextBetweenParamTagsInObjectTag FileDialogOpenFilesReadBuffer FileDialogOpenFilesInitialDir FileDialogOpenFilesFilter Type String dword dword String String Default Value 1.1/20 0 32768 C:\Protopas\Web HTML (*.htm)|*.htm|HTML (*.html)|*.html|| Compress.1 *.prot C:\ Temp\ PROTOCOL (*.prot)|*.prot|| C:\ Temp\
694
May 2008
Tools
WXCompressHTML tool
Registry Entry FileDialogLoadListFilter FileDialogLoadListDefaultFilenameExtension FileDialogLoadListInitialFilename FileDialogSaveListInitialDir FileDialogSaveListFilter FileDialogSaveListDefaultFilenameExtension FileDialogSaveListInitialFilename WXVersion
Default Value FIELLIST (*.filelist)|*.filelist|| *.filelist Compress.1 C:\ Temp\ FIELLIST (*.filelist)|*.filelist|| *.filelist Compress.1
Describes which set of rules will be used from Data key. This entry is mandatory! Length: Range: Default: 32 alphanumerical 1.1/20
DeleteTextBetweenParamTagsInObjectTag This entry configures whether text between two param TAGs in an object TAG should be deleted or not. Length: Range: 1 numerical [0-1] 0 = turns deleting text off 1 = turns deleting text on 0
Default:
FileDialogOpenFilesReadBuffer A size of the buffer for a multiple selection in a TCHARs for OpenFiles dialog. Length: Range: Default: numerical 32768
May 2008
695
WXCompressHTML tool FileDialogOpenFilesInitialDir The initial directory for OpenFiles dialog will be configured here. Length: Range: Default: 1024 alphanumerical C:\Protopas\Web
Tools
FileDialogOpenFilesFilter This is a file filter in OpenFiles dialog. Only files with the specified extension (e.g. .htm) will be shown in the dialog window. Length: Range: Default: *InitialDir The initial directories for OpenList, SaveList and SaveProtocoll dialogs will be configured here. Length: Range: Default: 1024 alphanumerical C:\Temp 1024 alphanumerical HTML (*.htm)|*.htm|HTML (*.html)|*.html||
FileDialogSaveProtocolInitialFilename The initial file name for SaveProtocoll which would be shown in the dialog at startup will be configured here. Length: Range: Default: 1024 alphanumerical Compress.1
FileDialogSaveListInitialFilename The initial file name for SaveList which would be shown in the dialog at startup will be configured here. Length: Range: Default: 1024 alphanumerical Compress.1
696
May 2008
Tools FileDialogLoadListInitialFilename
WXCompressHTML tool
The initial file names for OpenList which would be shown in the dialog at startup will be configured here. Length: Range: Default: 1024 alphanumerical Compress.1
FileDialogSaveListDefaultFilenameExtension Default file name extension for SaveList dialog. Length: Range: Default: 1024 alphanumerical *.filelist
FileDialogLoadListDefaultFilenameExtension Default file name extension for LoadList dialog. Length: Range: Default: 1024 alphanumerical *.filelist
FileDialogSaveProtocolDefaultFilenameExtension Default file name extension for SaveProtocol dialog. Length: Range: Default: 1024 alphanumerical *.prot
FileDialogSaveProtocolFilter The file filters for SaveProtocoll dialog will be configured here. Only files with the specified extension will be shown in the dialog window. Length: Range: Default: 1024 alphanumerical PROTOCOL (*.prot)|*.prot||
FileDialogSaveListFilter The file filters for SaveList dialog will be configured here. Only files with the specified extension will be shown in the dialog window.
May 2008
697
Tools
FileDialogLoadListFilter The file filters for OpenList, SaveList and SaveProtocoll dialogs will be configured here. Only files with the specified extension will be shown in the dialog window. Length: Range: Default: 1024 alphanumerical FIELLIST (*.filelist)|*.filelist||
Data key
All rules for the compressing job will be configured in the data key. Several sets of rules can be configured there. A set consists of the sets name key, the object identifier keys (clsid) and maybe of some dependencies. All rules of a special set are summarized under the sets name key, e.g. 1.1/20 (for WebExtensions Version 1.1/release 20). Under the name key the object identifier subkeys are settled. The dependencies (if any) are settled under the special object identifier key.
698
May 2008
Tools
WXCompressHTML tool
Fig. 102: Default settings in the registry
This example should show the default set of rules. The sets name key is 1.1/20, the object identifier keys are the classids of ActiveX objects of the WebExtensions. The dependencies are configured in Dependency_Cancel, Dependency_PinEntry, etc. The entries of rules for compressing data are settled in every object identifier key. The rules of dependency drop are settled in the special Dependency_* keys.
May 2008
699
WXCompressHTML tool
Tools
700
May 2008
WXCompressHTML tool
New subkeys in the Data\myRuleSet section must be created. The name of each of the subkeys must be the classid of the special ActiveX object which should be compressed, following called identifier key. Example: ActiveStep The classid of the ActiveStep is clsid:47ED0993-B589-11D0-93020000E8A6CB06, so the name of the identifier key is exactly the same. HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion Tools WebExtensions CompressHTML Data myRuleSet clsid:47ED0993-B589-11D09302-0000E8A6CB06 Configuring the compressing rules The compressing rules must be configured for every ActiveX object. There are two different kinds of rules: Normal drop: Normal drop is the standard way of compressing data. The rules of normal drop are settled in the object identifier key, e.g. for ActiveStep in the clsid:47ED0993-B589-11D0-9302-0000E8A6CB06 key. The normal drop rules are used mostly to drop the default parameters of every ActiveX object. There are two different kinds of dropping the content, DROP EXACT and DROP IF BEGIN WITH. DROP EXACT is used to drop the content only if the whole term in the HTML file matches exact the term entered in the registry. Example: The rule in the registry looks like 01001 = <param name= "Framework" value> and it is settled in the registry key of the ActiveStep (classid), then all terms which matches exact the term above and belong to the ActiveStep will be deleted, if the term in the HTML file looks like <param name="Framework" value="CCTransactionFW"> the whole term would not be deleted (see also the example below).
May 2008
701
WXCompressHTML tool
Tools
DROP IF BEGIN WITH is used to drop every content which begins with the term in the registry, the value is irrelevant. Example: The rule in the registry looks like 02001 = <param name= "Framework" value>, then the term would also be deleted if its value does not match the term in the registry. Only the beginning of the term must match. Dependency drop: In some cases a few parameters are related to each other. In these cases only one <param ...> TAG value can decide either to delete a block of TAGs or not. Dependency drop rules are settled in a subkey (determine a name) in the identifier key section. Example: The schemes of the PCButton are a good example. If a scheme is used the properties of the used images, font, font-size (etc.) are set in the special schemes, so all <param ...> TAGs which describe these attributes of the schemes could be deleted if a scheme is used. All entries in the identifier key are string values. Their names consist of a 5 digit keycode with the format XX YYY. XX is the value of the command and YYY is the value of its description. The following codes are possible: XX 00 00 00 01 02 YYY 001 002 003 001-999 001-999 Command Condition type (if 0, if not 0, if string, if not string) Condition value Row Condition value for if not string Drop exact Drop if begin with
The command value 00 is only for dependency drop use. You have to use both of them, if you want to configure a dependency drop. First you have to use the code 00 001 and the Condition type (if 0, if not 0, if string or if not string), then the code 00 002 and the condition value. If the Condition type is if not string additional condition to match the right row (<param ...>) for Condition value check should be used in 00 003! The following entries (must begin with 01 or 02) are the entries of param TAGs which should be deleted if the condition set before is true. If the command codes 01 or 02 are used the next 3 digits are only the serial number of each parameter. The value is irrelevant as long as there are no equal entries in the same registry key! Example of a dependency drop rule:
702
May 2008
Tools
WXCompressHTML tool
HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion Tools WebExtensions CompressHTML Data 1.1/20 clsid:CAE3F5B3-93D3-11D0A3C0-00C095ECC157 Scheme_new_m
Values if string <param name="Scheme" value= "new_m"> <param name="ImageDown" <param name="ImageUp" <param name="ImagePressed" ...
In this example all <param ...> TAGs, which are determined by a scheme, are deleted if the scheme "new_m" is used by the ActiveX object (in this case the PCButton). Example of a dependency drop rule using if not string: HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion Tools WebExtensions CompressHTML Data
May 2008
703
WXCompressHTML tool
A3C0-00C095ECC157 RadioButton
Values if not string <param name="Selection" value= "3"> <param name="Selection" <param name="RadioButtonName"
In this example <param name="RadioButtonName"...> TAG will be deleted if the Selection is not "3". NOTE: 00003 is used only with if not string condition. It act like IF BEGIN WITH to select right row for Condition check!
704
May 2008
Tools
WXCompressHTML tool
May 2008
705
WXCompressHTML tool <param name="StepParameter" value> <param name="Framework" value> Dependency drops: none
Tools
Sourcecode before compressing: <object classid="clsid:8E67054F-5F6B-11D1-A3F50060084B786A" id="PCContentsSTD1" width="100" height= "100"> <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param name="_cx" value="2646"> name="_cy" value="2646"> name="PageHeadline" value> name="SubmitControlName" value> name="WithoutSubmitButton" value="0"> name="PageInstruction" value> name="PageBeep" value="4"> name="PageTimeout" value> name="TimeoutStdHref" value> name="TimeoutStdWindow" value="0"> name="TimeoutQuestionHref" value> name="TimeoutQuestionWindow" value="0"> name="AfterTimeoutHref" value> name="AfterTimeoutWindow" value="0"> name="TimeoutWindowTop" value="-16000"> name="TimeoutWindowLeft" value="-16000"> name="TimeoutWindowWidth" value="-16000"> name="TimeoutWindowHeight" value="-16000"> name="CancelStdHref" value> name="CancelStdWindow" value="0"> name="CancelQuestionHref" value> name="CancelQuestionWindow" value="0"> name="CancelWindowTop" value="-16000">
706
May 2008
Tools
WXCompressHTML tool
<param name="CancelWindowLeft" value="-16000"> <param name="CancelWindowWidth" value="-16000"> <param name="CancelWindowHeight" value="-16000"> <param name="FunctionKeyID01" value> <param name="FunctionKeyID02" value> <param name="FunctionKeyID03" value> <param name="FunctionKeyID04" value> <param name="FunctionKeyID05" value> <param name="FunctionKeyID06" value> <param name="FunctionKeyID07" value> <param name="FunctionKeyID08" value> <param name="FunctionKeyID09" value> <param name="FunctionKeyID10" value> <param name="FunctionKeyID11" value> <param name="FunctionKeyID12" value> <param name="FunctionKeyID13" value> <param name="FunctionKeyID14" value> <param name="FunctionKeyID15" value> <param name="FunctionKeyID16" value> <param name="FunctionKeyID17" value> <param name="FunctionKeyID18" value> <param name="FunctionKeyID19" value> <param name="FunctionKeyID20" value> <param name="HtmlOrStepAfterFlag" value="0"> <param name="FunctionKeyViewState" value= "33333333333333333333"> <param name="HtmlWindow" value="00000000000000000000"> <param name="StepAfterHtmlWindow" value= "00000000000000000000"> <param name="StepStartHtmlWindow" value= "00000000000000000000"> <param name="StepAfter" value> <param name="StepAfterHtml00" value> <param name="StepAfterHtml01" value> <param name="StepAfterHtml02" value> <param name="StepAfterHtml03" value> <param name="StepAfterHtml04" value> <param name="StepAfterHtml05" value> <param name="StepAfterHtml06" value> <param name="StepAfterHtml07" value> <param name="StepAfterHtml08" value> <param name="StepAfterHtml09" value>
May 2008
707
WXCompressHTML tool <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param name="StepAfterHtml10" value> name="StepAfterHtml11" value> name="StepAfterHtml12" value> name="StepAfterHtml13" value> name="StepAfterHtml14" value> name="StepAfterHtml15" value> name="StepAfterHtml16" value> name="StepAfterHtml17" value> name="StepAfterHtml18" value> name="StepAfterHtml19" value> name="HtmlAfter01" value> name="HtmlAfter02" value> name="HtmlAfter03" value> name="HtmlAfter04" value> name="HtmlAfter05" value> name="HtmlAfter06" value> name="HtmlAfter07" value> name="HtmlAfter08" value> name="HtmlAfter09" value> name="HtmlAfter10" value> name="HtmlAfter11" value> name="HtmlAfter12" value> name="HtmlAfter13" value> name="HtmlAfter14" value> name="HtmlAfter15" value> name="HtmlAfter16" value> name="HtmlAfter17" value> name="HtmlAfter18" value> name="HtmlAfter19" value> name="HtmlAfter20" value> name="StepStart" value> name="StepStartSoftkeysAllowed" value="0"> name="StepStartHtml00" value> name="StepStartHtml01" value> name="StepStartHtml02" value> name="StepStartHtml03" value> name="StepStartHtml04" value> name="StepStartHtml05" value> name="StepStartHtml06" value> name="StepStartHtml07" value> name="StepStartHtml08" value> name="StepStartHtml09" value>
Tools
708
May 2008
Tools <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param <param </object> Compressed sourcecode:
WXCompressHTML tool name="StepStartHtml10" value> name="StepStartHtml11" value> name="StepStartHtml12" value> name="StepStartHtml13" value> name="StepStartHtml14" value> name="StepStartHtml15" value> name="StepStartHtml16" value> name="StepStartHtml17" value> name="StepStartHtml18" value> name="StepStartHtml19" value> name="TimeoutDefault" value="0"> name="CancelDefault" value="0"> name="NewWindowTop" value="54"> name="NewWindowLeft" value="44"> name="NewWindowWidth" value="712"> name="NewWindowHeight" value="260"> name="PinEntry" value="7"> name="EPPConfigActiveFDK" value="0"> name="EPPConfigActiveFK" value="0"> name="EPPConfigTerminateFDK" value="0"> name="EPPConfigTerminateFK" value="0"> name="EPPConfigValue_FK_Decpoint" value> name="EPPConfigValue_FK_res1" value> name="EPPConfigValue_FK_sub" value="*"> name="EPP_OK_Href" value> name="EPP_NOK_Href" value> name="StepStartParam" value> name="StepAfterParam" value> name="InstanceReturn" value> name="ADACommand" value>
May 2008
709
WXCompressHTML tool Dropped sourcecode: all <param ...> TAGs Dependency drops: IF NOT 0 <param name="CancelDefault" value=" DROP <param <param <param <param <param <param <param <param name="CancelStdHref"* name="CancelStdWindow"* name="CancelQuestionHref"* name="CancelQuestionWindow"* name="CancelWindowTop"* name="CancelWindowLeft"* name="CancelWindowWidth"* name="CancelWindowHeight"*
Tools
The rules for this dependency drop could be found in HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion Tools WebExtensions CompressHTML Data 1.1/20 clsid:8E67054F-5F6B-11D1A3F5-0060084B786A Dependency_Cancel 00001 This is the condition type of the dependency drop. Length: Range: Default: 1024 alphanumerical if not 0
710
May 2008
Tools 00002
WXCompressHTML tool
This is the condition value. In this case the value of the specific param must not be 0. The string must be entered up to the first quotation mark after the value= . The condition is true if the value is not 0 or not empty. Length: Range: Default: 02nnn All following parameters entered in the same key will be deleted if the condition before is true. Therefore the Drop if begin rule is the best way to do so. 1024 alphanumerical <param name="CancelDefault" value="
At startup you have the following options: File(s): Select one or more files. The initial directory is set in the registry.
May 2008
711
WXCompressHTML tool Clear file(s): All selected files will be deleted from the list. Load list: Loads a saved list of files. Save list: Creates a list of all selected files and saves it. Select all: Selects all files shown in the window. Deselect all: Deselects all files shown in the window. Compress: This button starts the compress dialog. Compress dialog
Fig. 104: Compress; Do it!
Tools
In the compress dialog you have the following options: Do it!: This button starts the compressing job. All files selected in the starting dialog would be compressed if no error occurs. The compressed files have a new file ending .new to preserve the original files. The rules for compressing the files are set in the registry. To rename all *.new files to its original file names use DOS command: rename *.htm.new *.htm
712
May 2008
Tools
WXCompressHTML tool
Save protocol: The output shown in the dialog would be saved to a special protocol file. Rules for the protocol are set in the registry. Exit: Exits the Compress dialog.
Error handling
The compressHTML tool can handle some errors. Possible error values are: Value -1 -2 -3 -100 -101 Error description general error file is empty file is not HTML conform general exception file exception
May 2008
713
WXCompressHTML tool
Fig. 105: Example of an error
Tools
714
May 2008
Pagelogger
The error was caused by a missing comment end tag! in the script!
Pagelogger
This tool is used for tracking the flow of a Web-Extensions/HyperLink application. It journals all HTML pages and all step entries and exits with the corresponding return values. In a separate configuration file data dictionary properties may be configured. These are logged together with the HTML pages as well as memory information (another option). Finally this tool may be configured to run automatically and to simulate a user in front of the application. In case of error situations a script file may be used to save log data. So this tool may be used to perform a long term test.
May 2008
715
Pagelogger
Tools
Installation
To install the necessary parameter for this tool please call manually setuppagelogger.cmd in \ProTopas\Web\Tools\Conf. This will install the default parameter and configuration files for Pagelogger with its default properties and copies the file PageLogger.dll from \ProTopas\Web\Tools to \ProTopas\Bin. Please make sure, that the application is installed prior to the installation of Pagelogger, otherwise the Repository entries from PageLogger will be overridden by the installation of the application. PageLogger creates overlays of the Data Dictionary FW and CCTransaction FW and these must be written as last entries in these parameters. As soon as PageLogger is installed it will start logging. To switch it off, please remove manually the calls to the PageLogger.dll under the keys: HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion CCRepMgr FRM_Repository CCDatDic CCTransactionFW Please remove ;C:\ProTopas\BIN\PageLogger.dll from these parameters.
Configuration
The configuration of PageLogger has to be done manually in the registry. The parameter are not supervised by Parac. An explanation of all parameter will be found in this chapter. HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas
716
May 2008
Pagelogger
This parameter specifies the path and name of the log file of PageLogger (see also section The log file on page 720). Length: Range: Default: Prop_File This parameter contains a filename and path, which lists all data dictionary properties to be logged at the end of a step. The properties must be added each line a parameter - in this file. Array properties may be entered as well, each array element on a separate line, e.g. Arrayelement[0] Arrayelement[1] PropertyX (see also section The property file on page 721) Length: Range: Default: Memcheck This parameter specifies if memory data shall be logged at each entry in the log file. (see also section The log file on page 720) Length: Range: 5 Alphanumerical TRUE = Logging of Memory data is enabled. So at each Log entry three memory values a written into the Log. FALSE = Logging of Memory data is disabled. FALSE 256 Alphanumerical Path to PageLoggers property file C:\ProTopas\PageLogger\PageLogger.prp 256 Alphanumerical Path to PageLoggers log file. C:\ProTopas\PageLogger\PageLogger.trc
Default:
May 2008
717
Pagelogger Script_Handling With this parameter you can switch the script handling on or off. Length: Range: 5 Alphanumerical TRUE = Script handling is enabled FALSE = Script handling is disabled FALSE
Tools
Default: Script_File
This parameter contains a filename prefix and path for the script file. This is used for automatic testing. If more than one script shall be used, the parameter Num_Scripts (see also section Num_Scripts on page 718) contains the number of script files to use. Each script file begins with the filename prefix from this parameter, is enhanced by a number (starting from 1) and has the extension .scr, e.g. Pagelogger1.scr, Pagelogger2.scr. If Num_Scripts is 1, the number after the filename prefix will be omitted, e.g. Pagelogger.scr. Remark: This filename must not have an extension. This is automatically added (.scr) (see also section Script file name on page 722). Length: Range: Default: 256 Alphanumerical Path to PageLoggers script file(s) C:\ProTopas\PageLogger\PageLogger
Num_Scripts This parameter contains the number of script files for automatic testing. This parameter is used to build the filename of the scriptfile together with the parameter Script_File (see also section Script_File on page 718). (see also section Script file name on page 722) Length: Range: Default: 3 Numerical 1 - 999 1
718
May 2008
Tools Init_Page
Pagelogger
The HTML name (without extension .htm) specified in this parameter is set as the starting point for the script files for the automatic test. The first script file starts and ends here and if the parameter Random (see also section Random on page 719) is not set to TRUE, after a waiting time specified in parameter Time_Between_Transactions (see also section Time_Between_Transactions on page 719) the next script file will start here as well. After the last scriptfile has passed the first scriptfile will restart, and so on. Remark: The extension.htm must be omitted in this parameter. Length: Range: Default: Random This parameter specifies if the number of script files shall be started one after each other starting with script number 1 or if the script shall be started randomly. Length: Range: 5 Alphanumerical TRUE = Scripts shall run randomly FALSE = Script shall run in sequential order FALSE 256 Alphanumerical Name of a HTML file basidleloop
Default:
Time_Between_Transactions This parameter specifies the time in ms to wait after one script file is finished and the next (or the same) shall be started. Length: Range: Default: Error_Pages The HTML name of error pages (without extensions .htm), divided by the | sign, may be edited in this parameter. If one of these files has been passed during automatic test the script from parameter Error_Action (see also section Error_Action on page 720) is started. 40 Numerical Time to wait between script files in ms 10000
May 2008
719
Pagelogger Length: Range: Default: 1024 Alphanumerical Name or names of HTML file(s) divided by | baserror
Tools
Error_Action This parameter specifies a command file to be started, if one of the error pages (see also section Error_Pages on page 719) has been passed during the automatic test. Length: Range: Default: LOG_MFC This parameter specifies, if additionaly inforamtion should be written into the log file. These information are used by the tool ScriptGen.exe (see also section ScriptGen.exe on page 726) to build script files automatically. Length: Range: 1 0 - Do not write log information into Tracefile for automatic generation of script file 1 - write log information into Tracefile for automatic generation of script file 0 256 Alphanumerical Name and path of a script file for the error action C:\protopas\pagelogger\copy_error.cmd
Default:
720
May 2008
Tools
Pagelogger
An entry for the HTML page log with memory entry will look as follows: 11:55:53.28 <00000478> <00089448> <00091763> --> HTML : C:\PROTOPAS\Web\English\basselection.htm There are 3 memory values (in <> brackets), which are posted when the parameter Memcheck is set to TRUE. They have the following meaning: 1. This counter is incremented for each UtiMalloc and decremented for each UtiFree. To make sure that there is no memory leak this counter should not grow. 2. This value returns the number of actual allocated bytes. 3. This value returns the maximum amount of allocated bytes. An entry for a step (start and exit with return value) will look as follows: 11:55:49.88 <00000447> <00088373> <00090634> Step : BAS_CHECK_SELECTION() 11:55:49.88 <00000447> <00088373> <00090688> Return: BAS_CHECK_SELECTION --> 2 If there are internal steps called from inside a step those are listed as well. Every step, which is called by ProcessStepAsync or ProcessStep using the ProTopas Bus will be listed. An entry for a property will like like this: 11:55:49.88 CCTAFW_PROP_TRANSACTION_STATUS[0] = <0>
The index [0] will be added even if the property is not part of an array! Please remark: The log entries for the properties will be shown above the log entry of the step return. However, the data is read from the data dictionary after the step has finished.
May 2008
721
Tools
The property file is interpreted each time the page from parameter Init_Page (see also section Init_Page on page 719) is passed, that means it is possible to change the property file even during runtime. An example property file will have been copied into C:\ProTopas\Pagelogger with the name PageLogger.prp by the installation.
722
May 2008
Tools
Pagelogger
Before a new script file starts the parameter Time_Between_Transactions (see also section Time_Between_Transactions on page 719) specifies the time in ms to wait for the start of the new script. An example script file will have been copied into C:\ProTopas\Pagelogger with the name PageLogger.scr by the installation. Syntax of the script file A script file lists line by line all commands it has to perform on the MFCInput in order to run any transaction, starting with the command to leave the page configured in Init_Page. Each line starts with the page name without extension on which the action must be performed, followed by a numerical value, which stands for the action itself. All other entries are optional: The sleeping time in ms before the action is started, a command file to be started after the page and finally a command file to be started when the page is loaded. All entries have to be separated by a | sign. Please make sure to add all separators in each line, even if the contents of any entry may be left empty: page name | action | sleep | command to do after page (on next page) | command to do when page starts Examples: basidleloop|128|8000|| baspinentry4|1,2,3,4|1000|| basselection|38|1000|| The action can be one of these numerical values or the keyword RANDOM: Action 0 1 2 3 4 5 6 7 Define 0 1 2 3 4 5 6 7 Meaning Key 0 Key 1 Key 2 Key 3 Key 4 Key 5 Key 6 Key 7
May 2008
723
Pagelogger
Tools
Define 8 9 ASTERIX CROSS CONFIRM CANCEL CLEAR HELP PRINT SUPERVISOR F1 F2 F3 F4 F5 F6 F7 F8 INSERT_CARD TAKE_CARD TAKE_MONEY TAKE_DOC INSERT_ENV TAKE_ENV INSERT_PBK
Meaning Key 8 Key 9 Key * Key # Functionkey Enter Funktionkey Cancel Funktionkey Correct Functionkey Help not used Functionkey Supervisor Softkey F1 Softkey F2 Softkey F3 Softkey F4 Softkey F5 Softkey F6 Softkey F7 Softkey F8 Functionkey Card inserted Functionkey Card taken Functionkey Money taken Functionkey Doc taken Functionkey Env. inserted Functionkey Env. taken Functionkey Passbook entry
724
May 2008
Tools
Pagelogger
All actions can be combined by separating two actions with a comma. Please note that all buttons positions have to be entered as shown in the MFCInput control panel. F1 F5 F2 F5 F3 F7 F4 F8 Action RANDOM[Min,Max,Modulo,SEP]: This action might be used to generate an action at random. Min and Max define the upper and lower value, which may be generated. Modulo tells by which value the generated entry must be divisable. SEP is a bool flag (TRUE, FALSE) which specifies if the separator sign shall be used during entering the values and may be specified optionally. This means for a ramdom Softkey press you have to specify RANDOM[33,40,1], for an amount entry which must be between 10 and 400 in Steps of 10 it is RANDOM[10,400,10,TRUE]. The sleeping time may be used to add a little amount of time before the action is performed. This makes it more realistic to real live, where the user needs a small amount of time, before he inserts his card or inserts any numerical value, etc. The two command files may be used to save any trace data, for example. Error Page action By use of the parameter Error_Pages (see also section Error_Pages on page 719) pages may be configured, which may not be edited in a script file. Here the general error pages may be entered. It may be that any software (or even HW) error occurs. In this case the trace, journal and error file may be stored with a timestamp in a command file, which has to be entered in parameter Error_Action (see also section Error_Action on page 720).
May 2008
725
Pagelogger
Tools
ScriptGen.exe
If the parameter LOG_MFC (see also section LOG_MFC on page 720) has been set to 1, there are additional information written into the log file. ScriptGen-exe may use those information to build the script file automatically. ScriptGen is using a command line for its parametrization. The following syntax has to be used: ScriptGen.exe <input file> -s [page] -w nnn -t [file] -O <page> <script> -A <page> <script> parameters in [ ] brackets are optional parameters in < > brackets are mandatory <input file> specifies the trace file. Make sure, that the additional information are available in this file (Parameter LOG_MFC = 1) -s [page]: This parameter specifies the name of the init page, which is the activation point for pagelogger. If the page name is omitted basidleloop.htm is used. -w nnn: nnn speficies the amount of time in ms to wait on the init page until the script is activated. The default is 1000, which is 1 second. -t [file]: This is the name for the output script file. The default would be pagelogger.scr. -O <page> <script>: This parameter specifies the name of a script to be started on a page. The parameter is optional, but when it is used the page name and script name are mandatory. This parameter can be specified more than once. -A <page> <script>: This parameter specifies the name of a script to be started after a page. The parameter is optional, but when it is used the page name and script name are mandatory. This parameter can be specified more than once. After the script file has been built it has to be checked, if everything is arranged like it should. It can be modified and extended by own scriptcode as well.
726
May 2008
Abbreviations
ANSI American National Standards Institute: The character set used in Windows is based on an ANSI standard. Format for movie files that can be displayed in the Internet Explorer. Bit map: A pixel image format which is frequently used in Windows environments. Basic Operating Functions: Operating system extension for selfservice devices. It incorporates drivers for controlling peripheral devices. Card Identification Module 86: Security module for checking whether ec or customer cards have been tampered with. Encrypted PIN Pad: Keyboard for entering the PIN on a selfservice device. The EPP is also a secure repository for keys to encrypt the PIN. Extended Functionality: Operating extension for self-service devices. It incorporates drivers for controlling third-party peripheral devices. Framework: ProTopas component incorporating a self-contained function. Format for image files. This is the most frequently used format. Moving pictures can also be stored in this format. Hypertext Markup Language: Language to describe Internet pages. A page described with HTML elements can be displayed in any browser. Hypertext Transport Protocol: Interface protocol to exchange HTML pages between servers and terminal devices. Identification. Often used in conjunction with the ID card. It describes a card which uniquely identifies the customer.
AVI
BMP
BOF
CIM86
EPP
EXT
FW
GIF
HTML
HTTP
ID
May 2008
727
Abbreviations IDCU ISO ID card unit: Device to read customer and ec cards. International Organization for Standardization: An international association of member countries, each of which is represented by its leading standard-setting organization. Format for image files that is frequently used on the Internet. These files are compressed but cannot contain transparent images or moving pictures. Local Area Network: Network of PCs and other computers within buildings or campuses. Module Identification: Description of the version and date of files from ProTopas/Web-Extensions. Movie: File format for storing movies. This format can be displayed in the Internet Explorer. Nixdorf printer 97: Forms printer for statements of account and large-format receipts. This printer has two paper feeds, and can retract documents that have not been removed. Nixdorf printer 99: Printer for small-format receipts. The paper is in rolls. Open Data Base Connection: Standardized protocol to access any databases in Windows systems. Open Financial Exchange: Protocol for the international exchange of data between home PCs and financial institutions computers. The protocol is geared to the HTML page description language. Personal Identification Number: Secret number that the customer has to input as a security precaution for ec or customer cards. ProConnect Message Protocol: Proprietary protocol for exchanging data between self-service devices and the ProConnect server. Security Facility Package: Operating system extension for selfservice devices. It incorporates drivers for controlling security modules such as the Encrypted PIN Pad.
JPEG
LAN
MODID
MOV
ND97
ND99
ODBC
OFX
PIN
PMP
SFP
728
May 2008
Abbreviations SOP Service and Operating: Functions to monitor and refill/empty paper/cash/cards on self-service devices. Structured Query Language: Language to access database elements. Transmission Control Protocol/Internet Protocol: A suite of protocols used to transport data over the Internet. Uniform Resource Locator: Address at which an HTML page can be found. Wide Area Network: Network of computers not in the same building or campus. File format for storing audio data that has not been recorded digitally. Windows Open System Architecture/Extensions for Financial Services: Standard interface for addressing peripheral hardware in self-service devices under Windows NT: Programs which address hardware via this interface can run on devices of manufacturers who support this interface. What You See Is What You Get: Data that is displayed on screen in an editor appears as it will later in a printout.
SQL
TCP/IP
URL
WAN
WAV
CEN/XFS
WYSIWYG
May 2008
729
Abbreviations
730
May 2008
Glossary
Active VarFW control Control which permits access to the Variable Framework. Data can be read or stored there with the aid of this control. The control is used in conjunction with HTML page scripts. AllowList Positive list in which all HTML pages are specified that can be displayed on the self-service device. AllowList control Control which monitors the AllowList. This control cannot be edited in Microsoft FrontPage. application Framework ProTopas framework which handles synchronization between the Transaction, Host Protocol and Service Frameworks. Array Data structure which can hold a certain number of data items. Business module ProTopas Transaction Framework module which is also called a Step. The business functionality of the application and access to the hardware is handled in these modules. Browser Module to display HTML pages. Microsofts Internet Explorer is used as the browser in ProTopas/Web-Extensions. Button control Control to represent a button on the screen. The optical appearance and the link for this button can be edited. Cascaded style sheet A description file defined for Internet pages which permits the elements on an Internet page to be positioned with pixel accuracy.
May 2008
731
Glossary Check Framework ProTopas Framework in which input checks have been implemented for ProTopas/Web-Extensions. Contents STD/ATM control Control in which access to business modules is parameterized and in which the appearance of function keys is described. The Contents ATM control also controls the input sequence and synchronizes the other ProTopas/WebExtensions controls. Context frame Arrangement of the screen to load individual Internet pages. The main frame, in which the events of the application have been implemented, is called the Context frame. Control Independent component which incorporates a self-contained function and can be controlled or queried from outside. Data Dictionary Framework ProTopas framework which can be parameterized to manage the storage location of variables. Every ProTopas framework can read and set data via the Data Dictionary, and thus does not have to deal with the storage location of the data. Default values Basic settings that are used by default if nothing else is specified. Changing these default values results in a change to all modules which have been set to these values. Device Framework ProTopas framework which controls the hardware. Dialog Framework ProTopas framework which displays the user interface. The Dialog Framework has been implemented as a browser in ProTopas/Web-Extensions.
732
May 2008
Glossary Dynamic HTML Method of representing moving contents on an HTML page with the aid of scripts. Edit control Control to represent input fields. The appearance of this control can be freely designed. Standard input checks can be used, or new ones added. Input status variable Variable containing the status of an input field. This status indicates whether the input has already been checked or whether the check still needs to be carried out. Input timeout A value that can be set to ensure that the application returns to its original state if a customer leaves the device in the middle of a function. Encrypted PIN Pad Keyboard to input the personal identification number. This hardware also ensures that the PIN is encrypted immediately and is never sent in the clear over any line. EPP control Control that outputs asterisks when the PIN is input. An asterisk is displayed as a result of an event. Error log File in which errors are recorded. This file is written cyclically. The size of the file can be defined. Retry counter The retry counter indicates how often the customer has already input the PIN incorrectly. The retry counter can have the values 3, 2, 1 and 0. Whenever the PIN is entered incorrectly, the retry counter is reduced by 1. If the retry counter does not have a status of 3, 2, 1 or 0, the card has been tampered with. Field ID Numbering of controls on an HTML page. Each control on an HTML page must have a different field ID so that it can be addressed.
May 2008
733
Glossary Firewall Firewalls are programs which restrict access to HTML pages by way of parameterization. Focus Displaying the cursor for input purposes. Only the input field which has the focus can accept a keyboard input. Font A set of characters of the same typeface, size and style. Frame Arrangement of screen contents in small HTML pages. Each frame can hold an HTML page. Frameset HTML page describing the arrangement of the screen in frames. Framework Module which incorporates a self-contained function and can thus be regarded as an independent unit. Frameworks can, however, call each other in any sequence. Host protocol Description of the interface between the data on the host computer and the data on the terminal device. Host server ProConnect software component which implements a connection between the server and a host. Host variables Variables that are needed for further processing Steps and are provided by the host. Examples include the customers limit or the number of purpose lines that the host can receive. HTMLGen control This control of the HTML generator prepares HTML pages with data that is provided on the self-service device at runtime only, such as account details. This control cannot be edited in Microsoft FrontPage.
734
May 2008
Glossary Icon Symbol illustrating a function to make it easier to recognize. Images Graphics for controls Instance Multiple opening of a program. It is used to distinguish the main screen of the browser from additional browser windows. ISO protocol Standard protocol to authorize transactions from self-service devices. List control Control which is comparable with Windows list boxes to represent a choice of items. The selection is displayed via an HTML page. Offline detection Detection that the connection to the Internet server is no longer ready to transport data. Offline mode Switching to a set of HTML files that are installed on the terminal device. These are used to return the card to the customer and display the "Out of service" message. PCBrowser control Module to display the Internet Explorer window. This control cannot be edited in Microsoft FrontPage. PCDialog Framework Control with a connection to ProTopas frameworks which, in turn, incorporate the PCView control. PCView control Control which incorporates the HTML generator, the AllowList control and the PCBrowser control.
May 2008
735
Glossary Popup window A window holding a new HTML page which overlays the previously displayed HTML page. Property Parameter for a control that can be edited with Microsoft FrontPage. Registry Windows database in which the parameters for all programs, and accordingly those of ProTopas/Web-Extensions, are stored. Remote access Access to a remote computer via a network. Return codes Values that are returned by functions and modules to indicate how the program code was executed. Service Framework ProTopas framework which synchronizes access to the Service and Operating program. Script Framework ProTopas framework which is only used with ProTopas/Web-Extensions. It is used in other ProTopas environments to parameterize the flow of business modules. Scripting Programming on HTML pages. Special programming languages have been developed for this (Visual Basic Script and Java Script). Step Business Transaction Framework module, also called a business module. Style guide An institutions guide to presenting its image externally. Self-service devices should also adhere to this layout.
736
May 2008
Glossary Style sheet See "". Softkey Key next to the screen of a self-service device which is used to control a transaction if no touchscreen has been installed. SOP switch Button which starts the Service and Operating program. This button is hidden inside the self-service device. Suffix The end of a file name, also called extension, to indicate that the file belongs to a particular program. Transaction Framework ProTopas framework which incorporates the business modules and can be addressed by the Contents and ActiveStep controls. Variable Framework ProTopas framework which can hold and return data as containers. The variables are addressed via names. Variables can also be deleted in the Variable Framework. Viewstate variable A variable which is used to set the state of a control to visible, hidden or disabled. WebBot Component that can be integrated into Microsoft FrontPage to edit variables with the ProTopas/Web-Extensions syntax in the FrontPage editor. CEN/XFS SSP interface Interface for vendor-independent access to peripheral devices of the selfservice system. These include the card reader, Encrypted PIN Pad, special electronics, various printers, cash dispenser and scanner.
May 2008
737
Glossary
738
May 2008
Documentation
Please contact your local branch office to order documentation. [1] Wincor Nixdorf ProTopas Programming Guide Microsoft Windows NT Online Help Wincor Nixdorf ProTopas/Web-Extensions Tutorial ATM HyperLink
[2]
[3]
May 2008
739
Documentation
740
May 2008
Figures
Fig. 1: Fig. 2: Fig. 3: Fig. 4: Fig. 5: Fig. 6: Fig. 7: Fig. 8: Fig. 9: Fig. 10: Fig. 11: Fig. 12: Fig. 13: Fig. 14: Fig. 15: Fig. 16: Fig. 17: Fig. 18: Fig. 19: Fig. 20: Fig. 21: Fig. 22: Fig. 23: Fig. 24: Web-Extensions/ExtraLink . . . . . . . . . . . . . . . . . . Web-Extensions/ClassicLink . . . . . . . . . . . . . . . . . Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . Contents STD control - Access to hardware modules General architecture of ProTopas/Web-Extensions . . . . . . . . . 16 17 18 40 49 51 53 54 55 65 66 67 69 72 75 81 81 82 82 82 85 86 91 93
Showing Internet pages from the application . . . . . . . . . Placement of function keys . . . . . . . . . . . . . . . . . . Placement of selection buttons . . . . . . . . . . . . . . . . Placement of menu buttons . . . . . . . . . . . . . . . . .
Placement of the Contents (STD/ATM) control . . . . . . . . Arrangement of the screen in frames Controls based on a style sheet Button control - General 1 page . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Help function key . . . . . . . . . . . . . . . . . . . . . . . Selection button for an amount in DM Radio buttons to select DEM or EUR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Button control - General 2 page for function keys Positions of the softkeys
. . . . . . . . . . . . . . . . . . . . . . .
May 2008
741
Figures Fig. 25: Fig. 26: Fig. 27: Fig. 28: Fig. 29: Fig. 30: Fig. 31: Fig. 32: Fig. 33: Fig. 34: Fig. 35: Fig. 36: Fig. 37: Fig. 38: Fig. 39: Fig. 40: Fig. 41: Fig. 42: Fig. 43: Fig. 44: Fig. 45: Fig. 46: Fig. 47: Fig. 48: Fig. 49: Fig. 50: 742 Button control - General 2 page for menu buttons . . . . . 95 97 98 101 103 104 105 108 123 126 128 129 130 132 135 138 139 140 141 142 143 144 145 168 168 169
Button control - General 2 page for radio buttons . . . . . . Button control - General 3 page . . . . . . . . . . . . . . . Button control - Caption page . . . . . . . . . . . . . . . . Standard colour dialog . . . . . . . . . . . . . . . . . . . . Standard font dialog . . . . . . . . . . . . . . . . . . . . . Button control - Graphic page . . . . . . . . . . . . . . . . Button control - Icon page . . . . . . . . . . . . . . . . . . Edit control - General 1 page Edit control - General 2 page Edit control - General 3 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Edit control - Input page . . . . . . . . . . . . . . . . . . . Edit control - Direct format . . . . . . . . . . . . . . . . . . Edit control - Icon page . . . . . . . . . . . . . . . . . . .
Edit control - Not allowed character page . . . . . . . . . . Edit control (PIN input) - General 1 page Edit control (PIN input) - General 2 page . . . . . . . . . . . . . . . . . . . .
Edit control (PIN input) - Headline page . . . . . . . . . . . Edit control (PIN input) - Graphic page . . . . . . . . . . .
Edit control (PIN input) - Input page . . . . . . . . . . . . . Edit control (PIN input) - Icon page . . . . . . . . . . . . .
List controls - not active . . . . . . . . . . . . . . . . . . . List control - Paying turn - active . . . . . . . . . . . . . . List control - General 1 page . . . . . . . . . . . . . . . .
May 2008
Figures Fig. 51: Fig. 52: Fig. 53: Fig. 54: Fig. 55: Fig. 56: Fig. 57: Fig. 58: Fig. 59: Fig. 60: Fig. 61: Fig. 62: Fig. 63: Fig. 64: Fig. 65: Fig. 66: Fig. 67: Fig. 68: Fig. 69: Fig. 70: Fig. 71: Fig. 72: Fig. 73: Fig. 74: Fig. 75: Fig. 76: List control - General 2 page . . . . . . . . . . . . . . . . . Listcontrol - General 3 page List control - Headline page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 175 176 177 178 180 196 197 199 202 207 208 209 210 210 212 213 213 215 228 230 231 231 234 235 235 743
Contents ATM control - ADA configuration panel Contents ATM control - Functionkeys page
. . . . . . . . .
Contents ATM control - Functionkeys page (Help key) . . . . Contents ATM control - EPP Keys page . . . . . . . . . . . Contents ATM control - EPP Keys Page (Normal input) . . . Contents ATM control - EPP Keys Page (Pin input) . . . . .
Contents ATM control - EPP Keys conf. (Active Keys) . . . . Contents ATM control - EPP Keys conf. (Terminating Keys) . Contents ATM control - EPP Keys conf. (Keycode change) . Contents ATM control - Confirm page Contents STD control - General page Contents STD control - Timeout page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents STD control - Cancel page . . . . . . . . . . . . . Cancellation confirmation question . . . . . . . . . . . . . . Cancellation message . . . . . . . . . . . . . . . . . . . . May 2008
Figures Fig. 77: Fig. 78: Fig. 79: Fig. 80: Fig. 81: Fig. 82: Fig. 83: Fig. 84: Fig. 85: Fig. 86: Fig. 87: Fig. 88: Fig. 89: Fig. 90: Fig. 91: Fig. 92: Fig. 93: Fig. 94: Fig. 95: Fig. 96: Fig. 97: Fig. 98: Fig. 99: Contents STD control - Function key page (hidden) . . . . 237 238 239 240 241 242 243 244 245 245 247 248 250 251 276 280 283 285 294 427 428 429 431 433 586 699
Contents STD control - Function key page (HTML page) . . Contents STD control - Function key page (Step) . . . . . . Contents STD control - EPP Keys page . . . . . . . . . . . Contents STD control - EPP Keys Page (Automatic) . . . .
Contents STD control - EPP Keys Page (Normal input) . . . Contents STD control - EPP Keys Page (Pin input) . . . . . Contents STD control - EPP Keys conf. (Active Keys) . . .
Contents STD control - EPP Keys conf. (Terminating Keys) Contents STD control - EPP Keys conf. (Keycode change) . Contents STD control - Access to application . . . . . . . . Contents STD control - Step After page . . . . . . . . . . . Contents STD control - Step page . . . . . . . . . . . . . . Contents STD control - Instance return page Unicode - Data flow . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HTML generator . . . . . . . . . . . . . . . . . . . . . . . Inserting a variable by means of WebBot . . . . . . . . . . AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . Alphanumeric check . . . . . . . . . . . . . . . . . . . . . Numeric check . . . . . . . . . . . . . . . . . . . . . . . . Date check . . . . . . . . . . . . . . . . . . . . . . . . . . Amount check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fig. 101: Positions of the softkeys . . . . . . . . . . . . . . . . . . . Fig. 102: Default settings in the registry . . . . . . . . . . . . . . . . 744 May 2008
Figures Fig. 103: At startup . . . . . . . . . . . . . . . . . . . . . . . . . . . Fig. 104: Compress; Do it! . . . . . . . . . . . . . . . . . . . . . . . Fig. 105: Example of an error Fig. 106: Error file . . . . . . . . . . . . . . . . . . . . . 711 712 714 715
. . . . . . . . . . . . . . . . . . . . . . . . . . .
May 2008
745
Figures
746
May 2008
Index
1-to-1 marketing 1 Application Framework Architecture 49 ATM_ABS_NAV 35 ATM_TOP_NAV 36 Audio 63 Authorization 81 52
A about SNI_CANCELSURFING 451 Access violations 452 Account information transaction 53 Active DataDict control 489 Reading a variable 490 Setting a variable 490 Active VarFW control 307, 488 Reading a long variable 489 Reading a string variable 489 Setting a long variable 489 Setting a string variable 489 ActiveStep control 40, 268 ActiveX control 634 AfterTimeout 43 AllowList 33, 292 DOMAIN 294 GENERATE 294, 449 INSERTION 295 OBJECT 294 OPTIONAL 4, 295, 301, 302 PORT 294 SUFFIX 294 TIMER 295, 449 Amount Currency exponent 432 Anchor 32 Animation 53, 62, 70 Dynamic HTML 63 GIF 63 Loop 62 Application Access 247 Design 59 Flow of control 54 Home page 295 Response times 79
B Background 61 Basic colours 102, 134 Beep 199, 228 At end of input 128 At input of not allowed character 139 At start of page 199, 228 At start of page/timeout 199, 228 At timeout 199, 228 Default 200, 229 No beep 199, 228 Bit maps 62 Browser instance 93, 208, 238 Closing 93, 271 Coordinates 93 Browser window Closing 75 Business module Cancellation 45 Return code 83 Button Caption 41 Confirmation 127 Field ID 86 Hiding 46 Parameter 413, 423 Round 80 Showing 46 State 84, 107 Toggle 83 Toggle lock 107, 207, 237 Travel 64 Type 81
May 2008
747
Index Button control 54, 64, 80, 651 Caption 101 Caption page 101 General 1 page 81 General 2 page Function keys 85 Menu buttons 94 Radio buttons 97 Selection buttons 91 Graphic page 105 Icon page 107 Scripting interfaces 465 C Cancel situations 635 Cancellation Cancel question 234 Cancellation message 235, 272 Confirmation question 272 Coordinates 236 Default 235 Function key 235 HTML page 236 Cancellation window 234 Caption 122, 199 Add layer button 101 Colour for active button 102 Colour for inactive button 103 Default font size 105 Font size 104 Input field for colour 102 Multiple lines 101, 178 New lines 101 Position 103 Remove layer button 101 Shift 84 Shifting 64 Text layer Listbox 101 X pos 103 Left, Centered, Right 103 Y pos 103 Centered 104 Card reader 50 Cascaded style sheets 73 CCDialogFW.GetInputString 335 Cell Aligning elements 73 Minimum size 73 CEN/XFS 49, 50 Character to be replaced 421 Character width 63 Check Framework 342, 412, 435 Check() 122, 125, 133, 413, 424, 443 Dialog() 412, 423, 439 Format() 282, 412, 423, 441 LookForLottery() 445 Return codes 424, 437 Trace and error logging 447 Windows dialog 423 Check parameters 122 Check routines 412 Message 126 Numbers 412 Chip 96 Click() 32 CLOSE.HTM 29, 43, 272 Close-Popup-Window 29, 43 Colour depth 60, 61 Colours Active button Default 102 Colour changes 61 Colour depth 61 Green 60 Red 60 Selective use 60 Striking 60 Yellow 60 Components 49 Business 50 Main components 52 ProTopas 50 Standard 50 Technical 50 Configuration Caption of menu button 594 Error Counter variables 589
748
May 2008
Index Frameworkname of the actual Web Dialog 595 Identification of menu button 594 Input field 588 Link of menu button 594 Maximum number of characters variables 590 Number of entered characters 592 Repository Manager 585 Restart Manager 583 Selected item of PCList Control 591 Softkeys 586 Status variable 589 Termination key code 592 Unformatted input field 588 Value of button 592, 593 VAR_LANGUAGE_S 590 VAR_OFFLINE_WEBNAME_S 590 VAR_WEBNAME_S 590 Variable at scanner errors 591 Variable for current Internet page name 595 Variable VAR_OFFLINE_HTML_NAME _S 591 Variables 588 Viewstate variable 589 Web path 590 Confirmation button 127 Contents (STD/ATM) control 69, 419 Field sequence control 69 Positioning 69 Tasks 69 Contents ATM control 198, 419, 635 Administrative information 198 Confirm key list box 215 Confirm page 215 EPP Keys page 208 Functionkeys page 206 General page 199 Scripting interfaces 456 Contents STD control 226 Administrative information 227 Cancel page 234 Confirm key list box 229 EPP Keys page 239 Function key page 236 General page 228 Instance return page 251 Step After page 246 Step page 250 Timeout page 230 Context frame 65 Continue without Confirm key 215, 229, 417 Continuous text 71, 73 Contrast 59 Controls 10, 18, 77 Active DataDict control 490 Active VarFW control 488 ActiveStep control 54 AllowList control 280 Appearance 64 Button control 54 Defaults 79 Edit control 54 EPP control 54 Graphics resolution 78 Hiding by a Viewstate variable 274 HTMLGen control 280 Images for 61 List control 54 PCBrowser control 280 PCView control 281 Round 62 Standard 77 States 79 Synchronization 54 Conversion of umlauts 133 Coordinates Height 94 Width 94 X pos 94 Y pos 94
May 2008
749
Index Corporate design 59 Correction 67 Correction message 68, 424, 425 Structure of page 29, 43 Correction pages 271 CSC-W32 50, 56, 57 Drivers 50 Currency exponent 432 Cursor 67, 131, 418 Hiding 305 Cursor position at the end 128 Customer database 2 Customer identification 67 Customer projects 50 D Dare TO 429 Data Dictionary 32, 490 Data Dictionary Control 32 Data Dictionary Framework 52, 342, 489 Database query 170 Date Days until earliest date 429 Days until latest date 429 FROM 429 Limit 429, 430 Long date (languagespecific) 430 Short date (languagespecific) 430 Decimal places 433 Design workstation 56 Desktop resolution 61 Device faults 50 Device types ProCash 55 ProConsult 55 ProInfo 55 ProPrint 55 Dialog Dynamic 30 Dialog Framework 281, 322, 342 CCDialogFW.CancelDialog 332 CCDialogFW.ChangeLanguage 333 CCDialogFW.Close 327 CCDialogFW.DoDialog 329 CCDialogFW.DoDialogAsync 33 1 CCDialogFW.GetbStatus 328 CCDialogFW.GetInputLength 33 6 CCDialogFW.GetInputString 335 CCDialogFW.GetTerminateChar 337 CCDialogFW.InitParms 334 CCDialogFW.Open 326 PCDialogFW.ChangeLanguage 346, 350, 351, 352 PCDialogFW.Format 346 PCDialogFW.GetFWName 350, 351, 352 Dialog names 16 Direct format Character transformation 136 Lowercase 136 None 136 Uppercase 136 Clear all 137 Permitted characters 137 All 137 Alpha characters 137 Numeric characters 137 Pre-allocation 136 Currency symbol 136 Date separator 136 Decimal symbol 136 Digit grouping symbol 136 None 136 Time separator 136 Special 137 Amount Entry DDC 137 Visible 136 Always 136 At input 136 Writeable 135
750
May 2008
Index No 136 Yes 136 Directory _vti_bot 286 bots 287 Language-specific 305 SNI_PC_VARIABLE 286, 287 Temporary 282 Drivers 50 DTA character set 427 Dynamic HTML 63, 455 E Ease of use 60 Edit control 64, 122, 411, 423, 657 General 1 page 122 General 2 page 126 General 3 page 128 Graphic page 129 Headline page 129 Icon page 138 Input page 131 Not allowed character page 138 Property CheckDependencies 423 CheckParameter 423 Scripting interfaces 468 Edit control (PIN input) General 1 page 139 General 2 page 140 General 3 page 141 Graphic page 142 Headline page 141 Icon page 144 Input page 143 Not allowed character page 145 Elements of navigation 64 Elements of the user interface 10 Encrypted PIN Pad 50, 56 EPP 2, 50 EPP control 195 Caption 196 Colour 196 Default 196 Font 196, 197 Font colour 197 Image 196 Input orientation 197 Input page 197 Input position 197 Position 196 EPP Framework 342 EPP keypad 2 EPP Keys Automatic 209, 240 Continue with HTML page 243 EPP error HTML page 241 EPP Keys configuration 242 No input 209, 240 Normal input 209, 240 Pin input 209, 240 EPP Keys configuration 211, 244 *-Key 246 ,-Key 246 Active Keys 244 Keycode change 245 Replacement Sign 246 Terminating Keys 244 Error and diagnostics concept 50 External Internet pages Configuration 449 F Field 63, 68 Field ID Range 86 Field sequence control 198, 226, 416 Field size 64 File Allowlist 280 Multimedia 63 SNI_PC_Variable.dll 286, 287 SNI_PC_Variable.inf 286, 287 Style sheet 73 Suffix 294 FILE accesses 293 Firewall 293
May 2008
751
Index FLAG_NAVINACTIVEPAGE 302 Focus 75, 124, 170, 416 Font 63 Font formatting 128, 174, 200, 229 Font size 63, 132 Format AVI 63 GIF 78 JPEG 78 MOV 63 WAV 63 Formatting 282 Amount 288 Changing language-specific 308 Date 288 Language-specific 281, 308 Settings 288 Time 288 Formatting settings 288 Frame 71, 82 Function key bars 71 Nesting 72 Size 71 Frame technique 71 Frameset 69, 71, 295 Changing 306, 307 Changing at runtime 72 Overlaying the entire screen 307 Screen layout 72 Framework Application Framework 52 Check Framework 411 Data Dictionary Framework 52 Dialog Framework 281 Host Protocol Framework 52, 281 Low-level frameworks 52 PCDialog framework 281 Script Framework 55 Service Framework 52 Transaction Framework 52 Variable Framework 455 Free-format mask 284 Full-screen mode 279 Function key 46, 64, 82, 198, 227, 450 Back 65 Cancel 65 Caption 72 Confirm 65 Confirmation 229 Coordinates 208, 238 Correct 65 Disabled 207, 237 Fixed meaning 87 Forward 65 Help 65, 127 Help HTML page 208 Hidden 207, 237 HTML page 238 ID 86, 88 Pressed 207, 237 Print 65 State selection 207 Step after button 238 Up 207, 237 Value 85, 87 CANCEL 89 CONFIRM 88 CONFIRMALL 88 CORRECT 88 HELP 89 SURFING_BACK 89 SURFING_CANCEL 89, 451 SURFING_DOWN 89 SURFING_FORWARD 89 SURFING_LEFT 90 SURFING_RIGHT 90 SURFING_UP 89 Function key bar 71 Function key page 237 Function keys Positioning 65 Functionkeys page 207 G General menu Value 42
752
May 2008
Index Graphical Service 279, 597 Dialog 27 Starting 303 Graphics program 61 Group of radio buttons 97, 98, 168 H Hardware Access 40, 247 Alphanumeric keyboard 56 Encrypted PIN Pad 56 Network card 56 Pentium PC 56 Softkeys 56 Sound card 56 Touchscreen 56 Header 69, 199, 228 Assigning text 41 Help 59 Context-sensitive 28, 59, 127 Help pages 271 HelpTimeout 640 High Level Graphical Service 583 High Level GS CCDialog 16 Home page 41, 303 Host interface Authorization request 43 Command 43 Host Protocol Framework 52, 269 HTML editors 73 HTML generator 32, 53, 101, 280, 281, 294, 430, 623 HTML page Access restriction 292 Address 282 Ascertaining the name 47 Body 282 External to the product 449 Overlay 75 Temporary 280 HTTP accesses 293 I Icon 59, 70 For the active button 108 For the active page Input field 108 For the disabled button 108 Input field 109 On button 70 Pixel X position 109 Centered 109 Pixel Y position 109 Centered 109 Scripting 70 Setting 70 Shift 84 ID Object ID 73 Identification 41, 67 Default 96 Mandatory with card and PIN 96 With card 96 With card and PIN 96 With chipcard 96 Without 96 Image Button disabled 107 Default 107 Input field 107 Button down Default 106 Input field 106 Button pressed 107 Default 107 Input field 107 Button up 105, 106 Default 106 Input field 106 Display at editing workstation 106 For input fields 67 Formats 61 Language-specific 305 Pixel 62 Size 60 Image element
May 2008
753
Index Positioning in the Context frame 73 Image format 61 Animated GIF 62 BMP 61 GIF 61, 62 JPEG 61 Windows bit map 61 Image path Relative 106 In a new window 271 In new window 75, 93, 126, 127, 172, 208, 232, 236, 238, 249, 425 Increment 428 Information service 42 General menu 42 Levels 42 Initialization 52, 303 Input Confirmation 417 List box Error 126 Input attempts 426 Initialization 426 Variable name 426 Input check 68, 88, 411 Alphanumeric 427 Minimum number of characters 427 Amount 431 Check against limit 432 Currency exponent 433 Decimal places 433 Decimal separator 434 Group separator 434 Grouping 434 Maximum (unformatted) 432 Minimum (unformatted) 432 Number of input attempts 433 Other formats 433 Output formats acc. to HTML generator settings 433 Date 429 Check against limit 430 Compulsory input 430 Date format 430 Days until earliest date 429 Days until latest date 430 Default value 429 Period in the Past 430 Numeric 428 Increment 428 Maximum 428 Minimum 428 Input check dialog 427 Input correction 418 Input field 28, 43, 67, 282 Beep at end of input 128 Checking 125 Confirmation 127 Cursor position at the end 128 Default value 412 Dependent 419, 425 DF (Direct Format) 134 Dont display preliminary input 133 Error list box 423 Field name 124 Font 137 Default 137 Font colour for active 134 Default 134 Font colour for inactive 134 Font colour for inactive (disabled) Default 134 Function 123 HTML page for Help 127 Coordinates 127 Initialization 29, 123 Label 67 Maximum characters 128 Message Coordinates 126 HTML page 126 Operating hint 128, 174 Parameter button 125 Range 68 Sequence number 124
754
May 2008
Index Shift in pixels 127 Default 127 Softkey 124 State 127, 131 Hidden 127 Up 127 Input field disabled 131 Default 131 Input field pressed 131 Default 131 Input field up 130 Default 130 Input focus 124, 170, 416, 426 Input length Maximum 428 Input limits 132 Maximum characters 132 Maximum lines 133 Input orientation 132 Centered 132 Left-justified 132 Right-justified 132 Input range 133 Default 133 Height 133 Width 133 X position 133 Y position 133 Input sequence 68 Input status variable 415, 425 Default value 424 Initialization value 421 Notation 415 Status 419 Unformatted 424 Input timeout 124 Input variable 125, 413 Formatted 413, 424 Initialization 414 Notation 413 Unformatted 413 Installation 579 Instance 271 Instance return Add 251 New 251 Remove 251 Return code 251 Target FRAME 252 _new 252 _parent 252 _self 252 _top 252 URL 252 Interactive Internet applications 15 Internet 295 Internet browser 279 Components 279 Intervention in navigation 279 Internet Explorer Plugin 63 Internet pages 53 Displaying 449 Other products 20 Internet presence 60 Internet solution 19 Internet technology 60 Internet user interface 10 Intranet 295 Intranet pages 89 Intranet server 53, 280 K Key Backspace 418 Confirmation 416, 422 Correct 418 Cursor down 416 Cursor up 416 Enter 127, 417 Return 422 Tab 416 Tab+Shift 416 Key disk 580 L Language Changing
72, 306
May 2008
755
Index Creating a new 308 Standard language 305 Language selection 281, 288, 305, 306 Layout 307 Line problem 53, 300 Link Changing at runtime 47 List box 54, 68 Items 68 List control 64, 167, 665 Coordinates 172 Field name 170 Function 169 General 1 page 169 General 2 page 173 General 3 page 174 General page 196 Graphic page 177 Headline page 176 HTML page 170 Icon page 180 Operating hint 174 Output 178 Centered 179 Colour active 178 Colour inactive 178 Default 179 Font 179 Left-justified 179 New line 178 Right-justified 179 X position 178 Y position 179 Output page 178 Output range 171 Syntax 171 Scripting interfaces 471 Sequence number 170 Shift in pixels 174 Default 174 State 173 Disabled 173 Hidden 173 Up 173 70, 72
Logo
M Macro 32 Maintenance 50 Menu 40, 81 Assigning a header 42 Disabling contents 42 General menu 42 Level 42 Maximum range 43 Pages 43 Step 41 Variable 42 Menu button 20, 40, 46, 67, 81 Disabling 43 Enabling 43 Identification 96 Positioning 67 Value 42 Microsoft ActiveX technology 77 Microsoft Browser control 279 Microsoft FrontPage 10, 57, 71, 106, 283, 286, 287 Personal Web Server 286 Microsoft GIF Animator 62 Microsoft Internet Explorer 53, 56, 279, 515 Multimedia 63 Sound 63 Video 63 Multimedia user interface 10 N Navigation Elements 64 Navigation button bar 33, 449, 450 No display 450 New line 128 Normal input 417, 418 Not allowed character 139
756
May 2008
Index O Offline state Recognition 281 Operating Reliability 59 Operating hint 59, 69, 72, 122, 128, 174, 200, 229, 417 operating hint 67 Overlay Context-sensitive Help 75 Correction messages 75 Position and size 75 P Parameter Scheme AudioResponse 674 Icon 674 IconAlignX 673 IconAlignY 674 IconDisabled 674 IconXCentered 673 IconYCentered 673 ImageDisabled 673 ImageDown 673 ImagePressed 673 ImageUp 673 InputAlignX 678 InputAlignY 678 InputAreaDefault 678 InputBold 680 InputColour 680 InputColourDisabled 680 InputFont 679 InputFontCodePage 679 InputFontDefault 679 InputHeight 679 InputItalic 680 InputSize 679 InputStrikeout 680 InputUnderline 680 InputWidth 679 PressOffset 674 TextLayerActiveColourDefault 677 TextLayerCount 675 TextLayerFont 676 TextLayerFontCodePage 677 TextLayerFontDefault 676 TextLayerInactiveColourDefaul t 678 TextLayerPosXYDefault 675 TextLayerTextAlignX 676 TextLayerTextAlignXTyp 676 TextLayerTextAlignY 676 TextLayerTextBold 677 TextLayerTextColour 678 TextLayerTextColourDisabled 678 TextLayerTextItalic 677 TextLayerTextSize 677 TextLayerTextStrikeout 677 TextLayerTextUnderline 677 TextLayerYCentered 676 Parameters AccessViolationURL 452, 607 ActivePageURL 621 ADA 599 ADAActionOnStart 599 ADAEchoButton 633 ADAEchoEdit 633 ADAEchoEPP 634 ADALanguage 630 ADAMacroActiveKeys 634 ADAMacroEchoKeys 634 ADATextEditContent 633 ADATextEditHint 633 ADATextPageContent 632 ADATextPageHint 631 ADATextPageKeys 632 ADATextPageMenu 631 ADATimeoutExt 599 AfterTimeoutHref 232, 638 AfterTimeoutWindow 232, 638 AllowList 614 AllowOverride 624 AnimationTimer 79, 652
May 2008
757
Index AT_EXCEPTION_PAUSE_BETW EEN_JOBS 684 AT_KILL_APP_RESUME 685 AT_KILL_APP_STOP 684 AT_KILL_GS_OPEN 685 AT_KILL_PAUSE_BETWEEN_JO BS 684 AudioResonse 651, 657, 665 AutomaticEPPConfigForAllButton s 650 BeepDefault 641 Beepdefault 200, 229 BringWindowToTop 300, 622 ButtonInstallation 652 CancelHref 236, 635 CancelQuestionHref 236, 636 CancelQuestionWindow 236, 636 CancelWindow 236, 635 CancelWindowHeigh 637 CancelWindowLeft 236, 636 CancelWindowTop 236, 636 CancelWindowWidth 236, 637 CheckMem 605 CheckMEMmax 606 CheckWND 605 CheckWNDmax 605 ConfigPageURL 293, 615 CurrCurrencySymbol 625 CurrDecimalSep 625 CurrGrouping 625 CurrGroupSep 625 CurrLeadingZero 625 CurrNegativeOrder 626 CurrNumDigits 626 CurrPositiveOrder 626 CurrServerValueOffset 627 CursorEnable 305, 604, 615 DefaultLanguage 619 DeleteInputFieldsWithEmptyString 650 DoDialogTimer 600 DoDialogTimerPageTimerExtend 600 DontWaitForPCContentsOnCance lDialog 621 DontWaitForPCContentsOnOpen 621 EmptyPageURL 620 EPPRTC 599 ErrorURL 296, 449, 619 FrontPageImagePath 106, 635 Height 313, 602 HoldPressedState 83, 656 HRef 313, 318, 358, 602, 604 HttpsBlankPage 649 Identification 96, 656 ImageDisabled 107, 131, 653, 658, 666 ImageDown 106, 652 ImagePressed 107, 131, 653, 658, 666 ImageUp 106, 130, 652, 658, 665 InputAlignX 133, 179, 662, 670 InputAlignY 133, 179, 662, 670 InputBold 137, 663, 671 InputColour 134, 662, 669 InputColourDisabled 134, 662, 670 InputFont 137, 661, 669 InputHeight 133, 663 InputItalic 137, 663, 671 InputSize 137, 662, 669 InputStrikeout 137, 664, 671 InputTimeoutHalf 664 InputUnderline 137, 663, 671 InputWidth 133, 663 InputXCentred 179, 670 InputYCentred 179, 670 InternetModeCursorEnable 615 JOB_AFTER_EXCEPTION 683 JOB_AFTER_KILL 682 JOB_BEFORE_EXCEPTION 68 3 JOB_BEFORE_KILL 682 JOB_CHECK 683 KillHardWAIT 606
758
May 2008
Index Language 623 Left 602 LOGBufferSize 320, 598 LOGFilePath 320, 598 LOGFileSize 320, 598 LOGOn 597 LongDateFormat 627 MarketingAllowFocus 606 MAX_MEMORY_USE 681 MAX_MEMORY_USE_MINUTES 681 MAX_WEBEXTENSION_MEMOR Y_GROWTH 689 MAXonStart 603 MaxOnStart 603 MessageDLGHeight 451, 612 MessageDLGWidth 451, 612 MINonEnd 603 MInOnEnd 603 Multilang 624 NCREppInit 649 NewImmediateTimeout 650 NumDecimalSep 627 NumGrouping 627 NumGroupSep 628 NumLeadingZero 628 NumNegativeOrder 628 NumNumDigets 628 OfflineFallback 622 OfflineMonitorTimer 622 OfflineURL 300, 619 POPUP_KILLER 688 POPUP_KILLER_FILE_UNICOD E 688 POPUP_KILLER_TIME_SLEEP 689 Pos 313, 601 PressOffset 84, 127, 174, 653, 659, 666 Programs 583 RESTART_AT 688 RootPath 300, 620 RootPathOffline 300, 620 ScriptAtEnd 318, 605 ScriptAtStart 318, 604 ScriptLanguage 318, 604 SetInputFocusNext 649 ShiftInPixelsMode 656, 664, 672 ShortDateFormat 629 StandardTimeout 640 StartPage 89, 303, 305, 449, 451, 615 SurfingBrowser 607 SurfingBrowserPos 450, 608 SurfingBrowserWidth 450, 608 SurfingJOBSCheck 451, 614 SurfingJOBSEnd 451, 614 SurfingJOBSOn 451, 613 SurfingJOBSPause 451, 614 SurfingJOBSStart 451, 613 SurfingScrollDown 612 SurfingScrollLeft 613 SurfingScrollRight 613 SurfingScrollUp 612 SurfingURL 450, 607 TabAsConfirm 616 TempFileNumber 619 TempPath 282, 294, 618 Text 451, 612 TextAlignX 104, 609, 654, 660, 667 TextAlignY 104, 610, 654, 660, 668 TextBold 105, 610, 655, 661, 668 TextCenterX 104, 609, 654, 660, 667 TextCenterY 104, 610, 655, 660, 668 TextColour 102, 609, 653, 659, 667 TextColourDisabled 103, 654, 659, 667 TextFont 105, 609, 653, 659, 666 TextFontCharSet 611 TextItalic 105, 610, 655, 661, 668 TextSize 105, 609, 653, 659, 666 TextStrikeout 105, 611, 656, 661, 669
May 2008
759
Index TextUnderline 105, 611, 655, 661, 669 TIME_MAX_WATCH_THREAD 686 TIME_SLEEP_WATCH 686 TIME_TRYAGAIN_INIT 687 TIME_TRYAGAIN_TIMER 687 TIME_TRYAGAIN_WM 687 TIME_WAITFOR_RESTART_EX CEPTION 685 TIME_WAITFOR_RESTART_ME M 685 TIME_WAITFOR_RESTART_TH READS 686 TIME_WAITFOR_TIMER 688 TIME_WAITFOR_WM 687 TimeFormat 629 Timeout Href 637 Timeout values CorrectTimeout 640 EndlessTimeout 641 HelpTimeout 640 ImmediateTimeout 641 InputTimeout 640 MessageTimeout 640 StandardTimeout 640 TimeoutConnect 623 TimeoutDataReceiveRequest 30 0, 623 TimeoutDataSendRequest 623 TimeoutHref 232 TimeoutQuestionHref 232, 638 TimeoutQuestionWindow 232, 638 TimeoutWindow 232, 637 TimeoutWindowHeight 232, 639 TimeoutWindowLeft 232, 639 TimeoutWindowTop 232, 639 TimeoutWindowWidth 233, 639 Top 358, 602 UsedLcid 629 UseLocales 288, 308 UseLocals 630 UseUTF8 648 Value0 642 Value1 642 Value2 642 Value3 643 Value4 643 Value5 643 Value6 643 Value7 644 Value8 644 Value9 644 ValueCancel 646 ValueConfirm 647 ValueCorrect 647 ValueDecPoint 648 ValueF1 644 ValueF2 645 ValueF3 645 ValueF4 645 ValueF5 645 ValueF6 646 ValueF7 646 ValueF8 646 ValueHelp 647 ValuePrint 647 ValueReserved 648 VirtualKeyboardOn 598 WEBEXT_VERSION 682 WebExtKeyScripting 453, 617 WebExtNoHistory 617 WebExtOfflineCheck 616 WebExtPrintCheck 616 WebExtTabing 453, 616 Width 313, 602 WindowHeight 601 WindowLeft 600 WindowPlacement 603, 604 WindowTop 600 WindowWidth 601 WorkaroundNoShell 617 WorkaroundWhitePopUp 618 PC_GeneratedAnchor 282 PCDialog Framework 342 PCEvt 25 Pentium PC 56
760
May 2008
Index Pictograms 12 References 13 Registry entries 13 Tips and tricks 13 Warnings and hints 12 Web-Extensions/ClassicLink 13, 20 Web-Extensions/ExtraLink 13, 20 Web-Extensions/HyperLink 13, 20 PIN 54, 96 PIN input 195 PIN input options Continue after Timeout 211, 244 Continue without ConfirmKey 211, 243 PIN 4-digits 211, 243 PIN 6-digits 211, 243 User defined 211, 243 Max. 211, 243 Min. 211, 243 PIN pad 195 Pixel 62 Plugin 63 Popup dialog 169 Popup window 43, 271 Portable Network Graphic (png) format 78 Positioning Contents(STD/ATM) control 69 Exact 71, 73 Function keys 65 Header 69 Logo 70 Menu buttons 67 Operating hint 69 Selection buttons 66 Prefix http:// 44 Preinstalled software ProTopas/Kit 581 ProTopas/Manager 581 SoundCard driver 581 Windows/NT 4.0 580 Printer 50 ProDevice 50 Product information 15, 17 Product versions 15 Areas of use 19 Program Runtime 63 Property CheckDependencies 425 CheckParameter 424, 425 ProTopas 49, 50 Application 52 Basic frameworks 49 ProCash/Topas 49 ProConsult/Topas 49 ProPrint/Topas 49 ProTopas/HTML-Dialog 56, 57 ProTopas/KIT 57 ProTopas/Manager 56 ProTopas/Web-Extensions 56, 57 ProTopas High Level GS 19 R Radio button 82 Group 82, 97, 168 Registry CheckRoutine 125, 411 Function-Key 85 Language 288 Radiobutton 97, 98 Selection 91 Steps 248 Transaction 42, 95, 123, 125, 169, 411 Transaction/(function) 124, 170 Values 201, 233 Variable 125, 171, 411 Relative branch 304 Relative path 106, 108, 130 Requirements Hardware 55 Software 56
May 2008
761
Index Resolution 60 Restart Manager 20 Return code 40, 54, 247 Range 249 S Sales 2 Scanner 50 Screen interface Arrangement 71 Screen resolution 60, 71 Script 24, 307, 455 Loading external pages 24 OnTimeout 272 Script Framework 15, 55 Selection button 29, 43, 46, 66, 82 HTML page 92 Input field for HTML page 92 Step after button 92 Values 66 Self-service application Layout 68 Sequence number 68, 416 Server 294 Server/host 52 Service and Operating 52, 55 Service Framework 52 Service Pack 5 56 Shift in pixels 64, 84 Default 84 Softkey 2, 86, 124, 170, 250 Position 86 Value 27 Softkeys and function keys allowed 250 SOP 55 Sound 53 Sound card 56 Special characters 420, 428 Special electronics 50 Standard colour dialog 102, 134 Standard font dialog 104 Standard graphics program 57 Standard Windows elements 60 States Button disabled 84 Button hidden 84 Button pressed 84 Button up 84 Disabled 64, 79 Down 64, 79 Hidden 79 Pressed 64, 79 Up 64, 79 Status messages 72 Status variable 67 Step 44, 47 Self defined event 45 Step After 248 Coordinates 249 HTML page 249 None 248 Parameter 248 Returnvalue 249 Stock exchange rates 292 Style guide 60 Style sheet 71, 73 Content of file 74 Reference 73 SubHeader 128, 174, 200, 229 Suffix 294 Surfing the Internet freely 292 Switching to offline state 300 Syntax Special 282 System requirements 49 T Table 73 TCP/IP 56 Template pages 53 Text font 63 Bold 63 Non-proportional 63 Proportional 63 Underlined 63 Third-party manufacturer 50 Thousands grouping 433
762
May 2008
Index Ticket sales 2 Timeout 200 After timeout 230, 232, 273 Confirmation question 273 Coordinates 232 Default 232 HTML page 230, 232 Timeout combo box 233 Timeout message 230, 231, 273 Timeout question 230 Timeout period 200, 233 Timeout situations 637 Timer 200, 233, 295 Custom settings 200, 233 Monitoring 198, 226, 449 Ready-made 200, 233 Toggle lock No 83 Yes 83, 84 Touchscreen 2, 50, 68, 451 Trackball 450 Traditional interfaces 1 Transaction Framework 20, 52 Access 40 Cancel() 44 Events 44 Transaction FW class 52 Restart 272 Travel services 2 Typographical conventions 12 U User interface 59 Elements 10 Internet 10 Multimedia 10 Standard elements 61 User interface elements 64 V Variable 280, 281 (Name-of-inputvariable)_MAXCHARS_L 3 Default value 171, 285 Inserting in a control 288 Reading 414 Setting 414 VAR_DLG_INPUT_RESULT_S 83, 86, 272, 273 VAR_FUNCTION_STARTPAGE_ S 41 VAR_HEADLINE_S 41, 42 VAR_IDENTIFICATION_REQUES T_L 41 VAR_LANGUAGE_S 590 VAR_LIMIT_DATE_FROM_S 43 0 VAR_LIMIT_DATE_TO_S 430 VAR_LIMIT_S 432 VAR_MY_HTML_NAME_S 48 VAR_OFFLINE_WEBNAME_S 590 VAR_PCLIST_VALUE_S 171 VAR_SCANNER_ERROR_L 42 1, 422 VAR_WEBNAME_S 307, 590 Viewstate variable 274 Variable Framework 342, 488 Video 53, 63 Videoconferencing 53 Viewstate variable 32, 43, 274 States 275 W Web browser 1 Web Graphical Service 11, 15, 53, 198, 227 Web server 286 WebBot 284 Default value of PC variable 171 Default value of the variable 285 Formatting of PC variable 171 Formatting of the variable 284 Hiding contents 286 Installation 286, 287 Name of PC variable 171 Name of the variable 284
13
May 2008
763
Index PREVIEW 286 Preview value of the variable Showing contents 286 SNI_PC_VARIABLE 284 s-value 286 Welcome loop 125 Wildcard 280, 449 Windows bitmap format 78 Windows control Button 80 Check box 80 Radio button 80 Windows NT 49, 56 Windows Registry 79 WN_TFN_FLAT_SELF 274 WN_TFN_FLAT_TOP 274 WN_TFN_PARENT 93 WN_TFN_TOP 93 WXmarketingmode 302 WYSIWYG 305
285
764
May 2008
Wincor Nixdorf International GmbH User Documentation BD PSD 6 33106 Paderborn Germany Fax: +49 5251 693 3792
Submitted by
Wincor Nixdorf International GmbH User Documentation BD PSD 6 33106 Paderborn Germany Fax: +49 5251 693 3792
Submitted by
Wincor Nixdorf International GmbH Training BD PSD 6 33106 Paderborn Germany Fax: +49 5251 693 3792
The Wincor Nixdorf Application Software department offers training for a wide range of Banking Software products. Write to us for information and course programs. Submitted by
Wincor Nixdorf International GmbH Training BD PSD 6 33106 Paderborn Germany Fax: +49 5251 693 3792
The Wincor Nixdorf Application Software department offers training for a wide range of Banking Software products. Write to us for information and course programs. Submitted by