0% found this document useful (0 votes)
2K views790 pages

Web Extensions V1200 Programming Guide en

All hardware and software names used are trademarks of their respective manufacturers.. The manual is divided into 10 sections:. Selecting the product version. Designing the user interface controls. Web Graphical Service components wxPTBridge Control. Scripting Control of the ADA Service Customer Relationship Marketing. Installation configuration parameters tools abbreviations continued.

Uploaded by

osanyaolu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
2K views790 pages

Web Extensions V1200 Programming Guide en

All hardware and software names used are trademarks of their respective manufacturers.. The manual is divided into 10 sections:. Selecting the product version. Designing the user interface controls. Web Graphical Service components wxPTBridge Control. Scripting Control of the ADA Service Customer Relationship Marketing. Installation configuration parameters tools abbreviations continued.

Uploaded by

osanyaolu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 790

ProTopas/Web-Extensions V 1.2/00 ProTopas/HTML-Dialog V 1.

2/00
Programming Guide

Edition May 2008

Copyright and Trademarks


Copyright Wincor Nixdorf AG 2008. All rights reserved. Delivery subject to availability; right of technical modifications reserved. All hardware and software names used are trademarks of their respective manufacturers.

Introduction

Selecting the product version

Web-Extensions/ExtraLink

Web-Extensions/ClassicLink

Web-Extensions/HyperLink

Components and system requirements

Designing the user interface

Controls

Web Graphical Service components

WXPTBridge Control

Continued

Input checks

Displaying external pages

Scripting

Control of the ADA Service

Customer Relationship Marketing

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

Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741

May 2008

Contents Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747

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.

New since release 1.1/25


1.1/25: Use of Format FW: The ProTopas Format FW may be used to format Web Bot Variables. There is a new format string, which has to be used here. (see also section SNI_PC_VARIABLE WebBot on page 285)

May 2008

New since release 1.1/25

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

New since release 1.1/25

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

New since release 1.1/25

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:

New since release 1.1/25

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

New since release 1.1/25

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

New since release 1.1/25

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

Target groups for this manual

Introduction

Target groups for this manual


This manual targets project managers and members of development teams, as well as marketing staff, in case the design of self-service user interfaces is involved. It describes how to implement multimedia user interface requirements and the underlying application modules. Members of the development team should have the following skills: Familiarity with ProTopas in order to recognize relationships between the individual ProTopas modules C/C++ knowledge in order to implement application modules HTML know-how to develop Internet user interfaces Basic skills in handling Microsoft FrontPage

Structure of the manual


The chapter "Selecting the product version" describes the range of uses for ProTopas/Web-Extensions. In this context, we refer to different architectures. The chapter "Web-Extensions/ExtraLink" deals with the use of the first of three possible architectures. The chapter "Web-Extensions/ClassicLink" describes the characteristics of the second architecture. The chapter "Web-Extensions/HyperLink" shows the differences of the third architecture. The chapter "Components and system requirements" outlines the functionality of ProTopas/Web-Extensions. It presents modules for the user interface and the application layer, followed by a description of the hardware and software environment requirements. The chapter "Designing the user interface" gives tips and options for implementing an easy-to-use user interface. It also looks at the user interface elements, referred to as controls from now on, that have been developed especially for ProTopas/Web-Extensions.

10

May 2008

Introduction

Structure of the manual

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

Times New Roman, italics and bold


System messages, examples and source code Courier Parameters Italics and bold Properties (parameters for the controls) Italics Variable names, HTML page names

CAPITALS
Function keys and selection buttons

<In angled brackets>


Path, directory, file and menu names, screen elements

Courier and italics


Pictograms This pictogram indicates warnings and hints that can lead to problems if not observed.

12

May 2008

Introduction

Typographical conventions

This pictogram indicates references

This pictogram indicates tips and tricks

This pictogram indicates registry entries

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 enhancements from Version 1.1/2x up to now.

This pictogram indicates that this issue is not available for ProTopas/HTML-Dialog.

May 2008

13

Typographical conventions

Introduction

14

May 2008

Selecting the product version

Web-Extensions/ExtraLink

Selecting the product version


The ProTopas/Web-Extensions can be installed in different environments. They can be used to extend existing solutions based on traditional interfaces as well as to adapt existing interfaces to the use of Internet pages without having to make adjustments to the application itself. In the case of traditional applications, the application itself assumes control. ProTopas provides the Script Framework, which enables individual transaction modules are concatenated via parameterization. A different version of ProTopas/Web-Extensions permits control to be assumed by links in Internet pages. In this case, the ProTopas Script Framework is not required. This chapter describes the three product versions, underlining the advantages of each. The ProTopas/Web-Extensions contain the requisite modules for all versions. The differences are described in separate sections in this chapter.

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

Selecting the product version

Fig. 1: Web-Extensions/ExtraLink

Web-Extensions/ExtraLink: Technical View


Use of Internet pages for - 1-to-1 Marketing - Personalization - Advertisement - ... Dialog
OK AbbruchDrucken Hilfe

Restart

Service

Script FW Transaction Host


OK Abbruch Drucken Hilfe

Dialog Printer CDM

OK AbbruchDrucken Hilfe

IDCU EPP

Traditional User Interface for existing Applications

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

Selecting the product version

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

Web-Extensions/ClassicLink: Technical View

Restart

OK Abbruch Drucken Hilfe OK Abbruch Drucken Hilfe

Service

Dialog Use of Internet pages for - Existing application - 1-to-1 Marketing - Personalization - Advertisement - ... Second Dialog not applicable

Script FW Transaction Host


OK Abbruch Drucken Hilfe

Dialog Printer CDM

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

Selecting the product version

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

Web-Extensions/HyperLink: Technical View

OK AbbruchDrucken Hilfe OK AbbruchDrucken Hilfe

Restart

Service

Dialog

Script FW Transaction Host


OK Abbruch Drucken Hilfe

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

Dialog Printer CDM

IDCU EPP

18

May 2008

Selecting the product version

Areas of use for the product versions

Areas of use for the product versions


The question arises as to which product version is most suitable for which application. This question does not apply to Web-Extensions/ExtraLink. This version is always used when Internet solutions are to be added to existing applications. The technology on which the extension is based also makes use of the other two versions. Either the interface of the dialog FW is used to enable each page of the Internet solution to be called from the application or the dialog FW interface is used to display the first Internet page only, which then switches automatically and transfers to the architecture Web-Extensions/HyperLink. If the interface of an application that has been created with the ProTopas High Level Graphical Service is to be converted to Internet pages, the version WebExtensions/ClassicLink must be selected. This always applies if application modules already exist and are to be reused. These application modules normally also control the user interface by invoking an interface function. applications which do not use the ProTopas High Level Graphical Service but which are to be converted to Internet pages can implement the ProTopas High Level Graphical Service via a simple method. applications with a high percentage of HW accesses or emulations which are largely operated via the host interface should also use this architecture. If an application is being newly created or if only a few application modules are available, Internet pages can be linked to workflow processing. In this case, it is very simple to integrate Internet solutions. This architecture should therefore be given preference if several Internet solutions are being integrated. The same applies to application modules whose content is highly informative, i.e. which only consist of Internet pages with links to other Internet pages.

Similarities and differences


The product versions described in this chapter mainly use the same modules. Even if workflow processing is sometimes driven by the application and sometimes by the Internet pages, the two architectures only differ in one control. The Contents Std control is used for control from the Internet pages. Parameterization enables an application Step to be activated. For each of the possible 20 return codes a link to another Internet page can be specified. The Contents ATM control, which is used for the Web-Extensions/ClassicLink, has a far simpler design. In this case, it is only the page timeout that will normally need to be specified.

May 2008

19

Similarities and differences

Selecting the product version

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

Initializing input fields


Since the Web Graphical Service also provides for presetting input fields with values which can be received from the host, this handling has been implemented so that presettings only have to be made in the input variable and are thus automatically displayed. At the same time, this means that input variables must be initialized for each transaction, to avoid displaying the previous customers data in the input fields. If the application does not initialize the input fields, and if the application is not to be changed, the checkbox of the Edit Control Dont display preliminary input (see also section Edit control - Input page on page 131) must be activated. In this case, the input variable, the unformatted input variable, the input status variable, the variable for the number of input attempts and the variable for the maximum number of characters that can be entered must be initialized.

Structure of the correction message pages


In the case of the Web Graphical Service, a check routine must be defined for each input field to check that the input is correct when the <Confirm> button has been pressed. Different return codes can be issued for different checks. The name of an Internet page must be specified for each return code, which then overlays the input page in the manner of a popup window. The size and position of this page is freely selectable. The application does not register this event. The popup Internet page can contain a button, for example <Correction>, which is activated by pressing the button with the equivalent label on the EPP. This key closes the popup page. If such handling is required, a Contents ATM control and a button of the type Selection must be created on this page. The key must have the predefined value Close-Popup-Window and, in contrast to the other selection keys, navigate to an HTML page. The name of the HTML page is CLOSE.HTM. This automatically closes the popup page. The Contents ATM control has another special feature: The timeout of a popup page must not by monitored by the Contents ATM control. If the Contents ATM control were to register a timeout, it would send the Timeout return code to the application. However, this is not desirable in the case of popup pages. Accordingly, the Contents ATM control is assigned an Endless Timeout. The timeout itself is monitored by the following script:

May 2008

29

Implementing dynamic selection dialogs

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)

Implementing dynamic selection dialogs


Dynamic dialogs may be integrated into existing applications which have run to date with the High Level Graphical Service; these will have to be transferred to the Web Graphical Service during conversion. This uses the macro feature of the High Level Graphical Service, which enables interface elements to be combined to form units. These units can be referenced at the places in which the individual elements are normally parameterized. The macros can be changed during runtime. Each application uses a different implementation in order to create dialogs dynamically. Dynamics are always required if the display of menu or selection pages is determined by data from the host system during runtime. The Web Graphical Service also permits buttons to be displayed or hidden at runtime. To this effect, variables are set prior to display of the appropriate page, which activate, disable or hide button controls or input and list controls (see also section Hiding controls with Viewstate variables on page 274).

30

May 2008

Web-Extensions/ClassicLink

Implementing dynamic selection dialogs

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

Loading external Internet pages

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).

Loading external Internet pages


In contrast to the procedure under Web-Extensions/HyperLink, by which external pages can only be implemented via a button control link and parameterization of the AllowList, in the case of Web-Extensions/ClassicLink the application must be extended.

32

May 2008

Web-Extensions/ClassicLink

Loading external Internet pages

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).

Calling the first page external to the product


For displaying marketing or customer specific Internet pages the ProTopas Transaction Framework has to be changed. In the Step, which shall load the new page a DoDialogAsync() function must be implemented. DoDialogAsync() is the best to use, because the function will not wait for any retruncode from the Web Graphical Service. No Contents ATM Control may be configured in the loaded page. The new page should include a script which automatically branches to the first external Internet page: <script language="VBScript"> window.navigate("http://www.wincor-nixdorf.com"); </script> As the Web Graphical Service monitors all navigation, it uses the parameterization of the AllowList to detect that the page being loaded is an external page. As soon as the Web Graphical Service recognizes that an external page is being loaded, GetbStatus() is set to NOT_OPERATIONAL as no new page can be loaded via DoDialog()in this mode. Accordingly, the navigation button bar is displayed. The application receives no return codes from this link or any subsequent links within the external Internet pages. There is an ProTopas event posted, when the display mode for external pages is exited. The Step may use this event or request the state of the Web Dialog to know, when the diplay mode for external pages is exiting.

Exiting the display mode for external pages


The display of external Internet pages is exited either by pressing the Cancel button on the navigation button bar or on the EPP or if a timeout for the external pages occurs (see also section Structure of the AllowList on page 294). In this case, the Web Graphical Service starts with the page which is entered in the parameter StartPage (see "StartPage" on page 615 in the Parameters chapter). At the same time, the event CCDIALOG_MODE_SURFING_END is fired. However, the application cannot immediately load a new dialog, as the Web

May 2008

33

Loading external Internet pages

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

Loading external Internet pages

Loading product-related Internet pages from another Internet address


The Web Graphical Service always loads the application pages from the same Internet address. This is defined by the parameter RootPath (see "RootPath" on page 620 in the Parameters chapter), the set language and the Internet page that is to be loaded (see "Starting the Web Graphical Service" on page 303 in the Parameters chapter). Cases are conceivable in which product-related Internet pages are to be loaded from another address. In this case, a keyword ATM_ABS_NAV must be placed before the function DoDialog() as the transfer parameter for the Internet page that is to be loaded, directly followed by an absolute Internet address: Example: DoDialog("ATM_ABS_NAVhttp://www.wincornixdorf.com"); This navigation results in navigation taking place not in the current frame but in full-screen mode. If the application uses a frameset, the page that is loaded with ATM_ABS_NAV must also be a frameset. If several Internet pages are to be loaded in succession from one and the same address, the keyword ATM_ABS_NAV must be placed before each call to load these pages.

Loading external pages without navigation bar


If pages shall be shown in the same context as the product-related ones, their adresses have to be added in the Allow List (see also section Structure of the AllowList on page 294). The column Generate is responsible for showing the navigation bar (0) or not (1). If no navigation bar is shown the pages itself have to care about the possibility for the customer to cancel the page and the return to the product related paged. At least the Timer in the Allow List is responsible for returning. To start into this mode it is best to show a Dialog, which contains a script for loading the first external page. The link from this page to another is done by normal Internet links. The application still waits for a returncode from the DoDialog() call. If the sequence of external Pages should be stopped, the following script has to be used: <script language="JavaScript">

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)

Loading a frameset without ChangeLanguage()


Another keyword that is used for navigation apart from ATM_ABS_NAV is ATM_TOP_NAV. It loads the next page in full-screen mode. This can also be achieved by calling ChangeLanguage()(see also section Starting the Web Graphical Service on page 303). Like ATM_ABS_NAV, ATM_TOP_NAV is also placed in front of the name of the Internet page. Example: DoDialog("ATM_TOP_NAVMyFrame");

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.

DoDialog() Safety features


Because there were some problems with loading of the Web pages after a DoDialog() call here is a possibility to supervise the loading time with a timer. If the Parameter DoDialogTimer (see DoDialogTimer in the Parameters manual on page 600) is set to a value larger than 0, this is the time the Web Graphical Service might use until the page is loaded and the Contents ATM Control is activated. If the timer expires before the control is activated the Web Graphical Service will reboot the system. This value has to be carefully tested. If the application has to run on different hardware, a test on each hardware platform should be mandatory.

36

May 2008

Web-Extensions/ClassicLink

New multilanguage handling

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.

New multilanguage handling


In the Web-Extensions/ClassicLink architecture multiple languages can now even be handled by use of the WX_TEXT support (see also section Easy multilanguage support on page 289). The problem here is that the change of the directory is still automatically done, when ChangeLanguage() has been called (see also section Language selection on page 305). To prevent the Web Graphical Service from changing the directory the parameter RootPath (see "RootPath" on page 620 in the Parameters chapter) must contain the keyword ATM_PATH_NOLANG at the beginning. With this setting the HTML pages will all be read from the same directory as configured in the RootPath and DefaultLanguage (see "DefaultLanguage" on page 619 in the Parameters chapter) parameters.

May 2008

37

New multilanguage handling

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

Connecting Internet pages for workflow processing: Workflow

1. Loading of the HTML-page `PRINT.HTM`


Please wait for printout Printout ready
OK Abbruch Drucken Hilfe

8. Loading of the new HTML-page

2. Activation of the Contents-control

invisible Control invisible Control

Internet Browser

7. Conversion of the returncode into a link to a new HTML-page

3. Transmission between Internet-browser and ProTopas modules 4. Call of the ProTopas Module `PRINT`

Connector Control

6. Transmission of the returncode to the Contents-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

Special aspects of menu buttons


Menu buttons call functions such as a remittance order or a standing order (see "Button control - General 2 page for menu buttons" on page 94 in the Parameters chapter). For each function it is possible to specify whether identification is necessary and, if so, whether it requires a card or a card and PIN. In addition, the first Internet page to be loaded after identification is also specified. To make this behavior possible, a Step has to be called on Internet pages which contains the menu buttons. This Step evaluates the identifications, and buffers the name of the Internet page to be loaded after identification. The Steps return code calls the right identification branch. Only when the identification Internet pages have been processed can the functions home page be loaded as a result of a variable branch (see also section Changing links to HTML pages at runtime on page 47). The Contents STD control enters the name of the functions home page on the menu page in the VAR_FUNCTION_STARTPAGE_S variable. This string variable can hold up to 128 bytes. So that the Transaction FW class can evaluate the type of identification on the menu page, this is written to the variable VAR_IDENTIFICATION_REQUEST_L. The entries in this LONG variable are evaluated as flags. The individual bits have the following meaning. (0): No function selected (1): No identification necessary (2): Authorization with card (4): Authorization with PIN (8): Authorization with chipcard (16): Authorization with chipcard PIN (256): Mandatory authorization again before the selected function The Contents STD control on an Internet page with menu buttons has an additional task. It writes the contents of the Caption parameter (see also section Button control - Caption page on page 101) to the string variable VAR_HEADLINE_S, and simultaneously assigns this text to the header as if this had been specified in the Contents STD control. Accordingly, it is not necessary for a header to be defined

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.

Menu pages for information service pages


A custom information service is normally split up into several layers. In order to implement general menus here, the application will either need a corresponding number of general menu buttons or selection buttons. Keep in mind that no identification can be specified for selection buttons so general menus have to be used if certain contents are only going to be provided for the institutions own customers.

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.

Disabling menu contents by the host


Some server or host programs have been designed to enable or disable a menu depending on the customer or on the offerings that are currently available from the host. The host operates with function selection codes for this purpose. These must correspond to the contents of the Value parameter for each menu button (see also section Button control - General 2 page for menu buttons on page 94).

42

May 2008

Web-Extensions/HyperLink

Structure of the correction message pages

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.

Structure of the correction message pages


In the case of the Web Graphical Service, a check routine must be defined for each input field in order to check that the input is correct once the <Confirm> key has been pressed. Different return codes can be issued for different checks. The name of an Internet page must be specified for each return code, which then overlays the input page in the manner of a popup window. The size and position of this page is freely selectable. The application does not register this event. The popup Internet page can contain a button, for example <Correction>, which is activated by pressing the button with the same label on the EPP. This key closes the popup page. If such handling is required, a Contents STD control and a button of the type Selection must be created on this page. The key must have the predefined value Close-Popup-Window and, in contrast to the other selection keys, navigate to an HTML page. The name of the HTML page is CLOSE.HTM. This automatically closes the popup page. The timeout of a popup page is monitored by the Contents STD control. CLOSE.HTM is entered in the property AfterTimeout.

May 2008

43

Loading external Internet pages

Web-Extensions/HyperLink

Loading external Internet pages


In the Web-Extensions/HyperLink architecture, it is very easy to configure links to external Internet pages. It is sufficient to enter a link to the appropriate Internet page with http:// -prefix in a menu button or selection button. 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).

Programming a Transaction Framework


In the case of the Web-Extensions/HyperLink architecture, the Steps in the Transaction Framework are programmed in basically the same way as the Steps in Web-Extensions/ClassicLink. The Transaction Framework has been extended so that a Step can also selectively receive events or be canceled. These are optional functions, which are not mandatory for a Step. ProTopas/Web-Extensions, Tutorial ATM HyperLink explains in detail how to create a Transaction Framework in this architecture. When the Contents STD control is parameterized, a branch to a new HTML page can be entered for every return code of the selected Step. For the interface implementation of the ActiveStep control and the Step itself, please use the proxy file ActiveStep.xpp provided with ProTopas/KIT from version 3.0/10. A few numbers for Transaction FW events are already blocked by the ProTopas/Web-Extensions, which must not be used by projects Transaction FWs. Projects use event numbers larger than 1000. #define ACTIVESTEP_EVT_KEY_PRESSED (1) #define ACTIVESTEP_EVT_SOFTKEY_PRESSED (2) #define ACTIVESTEP_EVT_PINKEY_PRESSED (3) #define ACTIVESTEP_EVT_SET_VIEWSTATE (4) #define ACTIVESTEP_EVT_SET_HEADLINE (5)

44

May 2008

Web-Extensions/HyperLink

Programming a Transaction Framework

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

ACTIVESTEP_RC_TIMEOUT ACTIVESTEP_RC_GENERAL_ERROR ACTIVESTEP_RC_CLOSE_IMMEDIATE

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

Functions to manipulate controls

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.

Functions to manipulate controls


The functions that can be called from a Step to manipulate the currently loaded HTML page are listed below. These functions are available in this architecture only.

Showing and hiding button controls


FrmSendEventSync (ACTIVESTEP_EVT_SET_VIEWSTATE, &ViewStateActiveStepStruct, sizeof(VIEWSTATE_ACTIVESTEP)); Please include ActiveStep.xpp in the Step for the definition of the structure. This function can be used to show, disable or hide a button on the HTML page that is currently loaded. This is necessary, in particular, when the Step was notified via a hardware access that a state has changed (e.g. when a card has been input, the card eject button appears). Remember that a function key can only be disabled or hidden, whereas a selection button or menu button can also be made visible. The reason for this is that no HTML page to be loaded can be notified to a disabled or hidden function

46

May 2008

Web-Extensions/HyperLink

Functions to manipulate controls

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).

Changing links to HTML pages at runtime


There are two ways of keeping links flexible at runtime. The first way is to use the HTML generator. The HTML generator replaces variables shortly before the HTML page is displayed. It is irrelevant whether these variables are used to display customer data or for other purposes. Consequently, variables can also be entered in the Button control or in the Contents STD control instead of HTML names (see also section Inserting a variable in a control on page 288). The default value of the variables can be used when no HTML page has been specified in the variables. The option described above can be used when the variable containing the name of the HTML page is filled for the pages loaded in a Step. The second way is similar to the first, but the name of the HTML page can be filled in a Step which runs on the page that is currently loaded. The Step can fill the name of the HTML page in accordance with the result of processing. Following the return code, the name of a variable is entered instead of an HTML page. The syntax differs slightly from the syntax that is used for the HTML generator: [& name of PC variable ; formatting of PC variable ; default value of PC variable &] See page 284. This provides a description of the syntax. Here, the Contents STD control replaces the variables at precisely the moment in which it does not encounter the name of an HTML page as a link but the variable syntax described above.

Ascertaining the name of the current HTML page


The components of the Web Graphical Service ensure that the name and path of the currently loaded HTML page which contains the Contents STD/ATM control, is entered in the

May 2008

47

Functions to manipulate controls VAR_MY_HTML_NAME_S

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

Components and system requirements

Architecture

Components and system requirements


Architecture
ProConsult/Topas, ProCash/Topas and ProPrint/Topas constitute the ProTopas product family. All products are based on Windows/NT, CEN/XFS and the ProTopas basic frameworks. The figure below shows the rough architecture:
Fig. 5: General architecture of ProTopas/Web-Extensions

architecture
Internet browser
P SO
OK Abbruch Drucken Hilfe

service and operating

application components

ProTopas Modules

hardwareaccess with WOSA/XFS

ProDevice (WOSA/XFS) CSC-W/32 Windows NT 4.0

operating system and peripheral drivers

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

Components and system requirements

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

Components and system requirements


Fig. 6: Framework relationship of a ProTopas application

Architecture

May 2008

51

Architecture

Components and system requirements

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

Components and system requirements


Fig. 7: Host Protocol Framework

Architecture

Connection via host protocol framework


P SO
OK Abbruch Drucken Hilfe OK Abbruch Drucken Hilfe

Intranet / Internet TCP / IP

masks information
WAN / LAN TCP / IP

Communication Host protocol


ProTopas Modules ProDevice (WOSA/XFS) CSC-W/32 Windows NT 4.0

Framework framework IFX HBCI

Transaction data

Web Graphical Service


The Web user interface is separated from the business-oriented ProTopas application. Internet pages are used to represent this interface. The Microsoft Internet Explorer acts as the basis. As a result of its modular design, it provides the interfaces that are needed to integrate specific extensions. Functions have been added to the Internet Explorer which automatically detect line failure and access local Internet pages in such a case. An HTML generator has also been added which inserts the actual data in variables on template pages at runtime. This feature is used, for example, in account information transactions to represent the customers account data on the Internet page. User interface elements (images, texts, buttons, etc.) can be stored locally on the self-service device or centrally on an intranet server. Changes to the user interface or procedures are carried out at runtime and enabled immediately. Multimedia components such as sound, videos, videoconferencing and animations can be integrated in the Internet pages quickly and easily. To perform special functions for self-service user interfaces, controls have been developed which implement buttons and input fields, and provide access to the ProTopas frameworks. The following controls have been developed:

May 2008

53

Architecture Button control Edit control List control EPP control

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

Connecting Internet pages for workflow processing: Workflow

1. Loading of the HTML-page `PRINT.HTM`


Please wait for printout Printout ready
OK Abbruch Drucken Hilfe

8. Loading of the new HTML-page

2. Activation of the Contents-control

invisible Control invisible Control

Internet Browser

7. Conversion of the returncode into a link to a new HTML-page

3. Transmission between Internet-browser and ProTopas modules 4. Call of the ProTopas Module `PRINT`

Connector Control

6. Transmission of the returncode to the Contents-control

Pro Topas Modules 5. Access to the printer via ProDevice Pro Device Special Hardware

54

May 2008

Components and system requirements

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

Call to load an Internet page in existing environment


DoDialog() DoDialog() DoDialog() ... DoDialog() ...

Transaction Framework Steps

P SO

ProTopas ProDevice Windows NT

Service and Operating (SOP)


for the ProTopas/Web-Extensions the Service and Operating application is primarily used as an error tracing tool. In addition, the SOP acts as a key input tool for PIN keys. For the hardware devices it is used as a cash refill tool which releases the cassettes and is used to enter the refill amount, a tool the take a look at the device states and a tool to reset counters for retained documents.

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

Software requirements Mandatory hardware:

Components and system requirements

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

Components and system requirements

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

Components and system requirements

58

May 2008

Designing the user interface

Designing the user interface


The user interface has to be designed according to ergonomic and functional aspects: Only the active functions are shown on the input forms. The basic layout must have the maximum contrast between the background and the fields. Colours are used to illustrate related issues. The structure of the user interface follows the arrangement of operating elements, i.e. function keys and selection buttons. The aim of this uniform structure is to ensure reliable operation for customers. Institution-specific requirements can be implemented at any time. There are the following advantages for the institution: The number of customers can be increased as the user interface meets wide acceptance. The principles of the institutions, such as customer intimacy and friendliness, are reflected in the ease of use of the user interface. The user interface can be adjusted to the institutions corporate design. For customers, this means an interface which is easy to learn, and results in fewer operating errors and consequently more security. This chapter deals with the options for designing an application that uses an Internet browser to represent the user interface. When defining the design of a self-service application, ease of use is the first thing you ought to focus on. You can achieve this by arranging for recurrent operating Steps and positioning function keys at fixed areas on the screen. Customers should also be given operating hints to guide them through the application so that they can carry out the necessary Steps reliably. Context-sensitive Help must always be available. Icons can make it easier to recognize functions. Selective use of colours serves to distinguish buttons and the associated functions.

May 2008

59

Screen resolution and colour depth

Designing the user interface

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.

Screen resolution and colour depth


Under Windows NT, the resolution is set under the Desktop properties. ProTopas/Web-Extensions supports all resolutions that can be chosen here. Not only the resolution but also the colour depth is important. The size of buttons and input fields must be geared to the resolution. The higher the resolution, the larger the images for these elements have to be. Remember that customers with large hands also need to be able to hit the required button on the screen when using a touchscreen. The same applies to input fields. For this reason, it is advisable not to use standard Windows elements such as text boxes and list boxes. These are very difficult to hit at high resolutions. This is one of the reasons why our own controls have been developed to implement inputs, list boxes and buttons.

60

May 2008

Designing the user interface

Standard elements of the user interface

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.

Standard elements of the user interface


Formats of images
Images affecting the background or content of an Internet page can be stored in the formats that the browser can display. As far as the Microsoft Internet Explorer is concerned, these are primarily the GIF, JPEG and BMP formats. The images can be generated with standard graphics programs. Images for controls Images that are displayed in the controls may have two formats: Windows BMP format with up to 24-bit colour depth Portable Network Graphics PNG with 24-bit colour depth

May 2008

61

Standard elements of the user interface

Designing the user interface

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

Designing the user interface

Standard elements of the user interface

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.

Multimedia (video and audio)


All multimedia files that the Internet Explorer is capable of handling can be used for the application. In particular, AVI and MOV files can be used for videos. Speech or music is output with WAV files. These multimedia files should be created professionally. Manually recorded sound or videos do not reach the quality of professional recordings by a long way. This can have a negative impact on the entire presentation. Multimedia files which cannot be displayed directly in the Internet Explorer can be made accessible to the Explorer with the aid of plug-ins.

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

User interface elements

Designing the user interface

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.

User interface elements


The most important elements used for navigation on Internet pages are buttons. These have to be big enough for the customer to hit the required function and not the one next to it when using a touchscreen. Each button can be connected to a softkey on a softkey machine. The Button control can load images of different designs to put some interaction into the pages. There can be a separate image for the up, down, pressed and disabled states. It is up to designers to provide appropriate images portraying the relevant states most skillfully. The same presentation options apply to the Edit and List controls, except that the image for the down state does not exist for these two. A selected control remains selected until another one is selected. If the images are designed in such a way that the element appears to be pressed into the screen when it is selected, then the caption must also be shifted to keep the overall appearance correct. This shift depends on the travel of the button. For this, there is a parameter named Shift in pixels for all controls, which describes how the caption is shifted to the right and down (see "Button control - General 1 page" on page 84).

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

User interface elements

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

User interface elements

Designing the user interface

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

Designing the user interface

User interface elements

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

User interface elements

Designing the user interface

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

Designing the user interface

User interface elements

The Contents (STD/ATM) control


The Contents (STD/ATM) control can only be placed in the Context frame, and indeed it must be. A loaded frameset no matter how many pages it consists of must have loaded just one Contents (STD/ATM) control during any time. The task of the Contents (STD/ATM) control is to monitor all other ProTopas/Web-Extensions controls, to control the sequence of input fields and list boxes, and to send a return code to the application in one environment (Contents ATM control) or to activate a Transaction FW class in the other environment (Contents STD control). Since the mode of presentation of function keys, the operating hint and the header are stored in the Contents (STD/ATM) control, the Contents (STD/ATM) control must be located on every Internet page which uses one of the ProTopas/Web-Extensions controls (see also section The Contents ATM control on page 198).
Fig. 13: Placement of the Contents (STD/ATM) control

Frame 2

Frame 1

Frame 3 (Context)

Frame 4

Header and operating hint


Like the function keys, the operating hint and the name of the selected function header should always be output in the same place with the result that these objects should also be placed in a frame. The contents of these two objects, too, also depend on the Context page. Both texts can be specified in the Contents (STD/ATM) control (see also section Contents ATM control - General page on page 199).

May 2008

69

User interface elements

Designing the user interface

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

Designing the user interface

Arrangement of the screen interface

Arrangement of the screen interface


Most Internet pages already make use of a technique for leaving function keys with a fixed meaning and the header/logo at the same position no matter whether these involve menus, the Home button or links to associated topics. ProTopas/Web-Extensions also makes use of this frame technique to position the function key bar and the header bar. It is irrelevant whether the bars are positioned at the top, bottom, left or right edge of the screen. It is also possible to use multiple screen areas to represent different function key bars. This screen arrangement has a great effect on the design of the application for the first Step to be taken is to define the main areas and their content for the entire screen. The required resolution has to be defined beforehand in order to define the height and width of the bars. Since HTML is inherently displayed as continuous text, it is difficult to keep displaying recurrent image elements at the same position. Exact positioning is achieved either by giving the pages a tabular structure that is identical on every Internet page or by using style sheets (see "Working with style sheets" on page 73). Opting for identical tables on all Internet pages results in a considerable restriction in the design of the other screen areas. For this reason, the screen is split up into different areas into which a small Internet page can be loaded from the very beginning. Each subdivided screen area is called a frame.

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

Arrangement of the screen interface

Designing the user interface

Fig. 14: Arrangement of the screen in frames

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

Designing the user interface

Arrangement of the screen interface

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).

Positioning image elements on Internet pages of the Context frame


If you have already worked with HTML editors, you will be aware that it is not easy to position screen elements exactly where you want them. Essentially, HTML must be regarded as continuous text so image elements simply move to other positions when an additional text is inserted before them. As self-service applications require Internet pages with a uniform design, however, you must draw upon some techniques which enable you to create the required layouts. Either tables or cascaded style sheets are used for exact positioning. Working with tables Tables can be created and modified very conveniently in Microsoft FrontPage. Cells can be combined so that areas can be defined on the Internet page to hold graphical elements such as buttons. Other areas can hold the descriptive text. A minimum size can be specified for each cell. In turn, the text or the element can be aligned horizontally and vertically in the cells. This approach allows elements to be positioned quite precisely providing there is the same table arrangement on similar Internet pages. In addition, the minimum size must be chosen to ensure that the possible contents can be held, and that this size is not exceeded by the cell contents. Working with style sheets Positioning is easier with the aid of cascaded style sheets. Style sheets function as follows: Every object on the Internet page that needs to be positioned is given a unique ID. In a separate file, the style sheet, the absolute position relative to the top left corner of the Internet page (not the screen) is specified for each ID. This should be done by use of percentage. In the header of the Internet page that is to operate with absolute positioning, a reference is given to the name of the style sheet file. Accordingly, several Internet page can access one style sheet file in which all IDs are collected.

May 2008

73

Arrangement of the screen interface

Designing the user interface

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

Designing the user interface

Arrangement of the screen interface

Fig. 15: Controls based on a style sheet

Frame 2 F1 F2 Frame 1 F5 F6 Frame 4 Frame 3 F4 (Context) F3

Overlaying an Internet page over an existing one


The option provided by ProTopas/Web-Extensions of using Internet pages as popup windows is particularly useful for correction messages or for contextsensitive Help. This is defined by setting the In new window parameter for the links in all controls (see "Button control - General 2 page for selection buttons" on page 93). Internally, a new browser instance is opened over the existing one. The position and size of this window can be freely defined. Once the new browser instance has been opened, any buttons that are still visible in the lower browser window cannot be selected. In this new instance of the browser, it is not only possible to load an Internet page but also to use a frameset or call multiple Internet pages in succession. This new browser window is closed by navigating to the CLOSE.HTM page. Actually, there is no Internet page named CLOSE.HTM so the browser interprets this link and simply closes the new instance. When this overlaid browser has been closed, the focus is either passed to the input field that was last activated or, if there is no input field on the page, there is a wait for the pages timeout. If a Transaction FW class is intended to run on the page, you can define whether it has to be relaunched or not (see "Closing a new browser instance" on page 271).

May 2008

75

Arrangement of the screen interface

Designing the user interface

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).

Active DataDictionary Control

May 2008

77

Aspects common to all controls ActiveVariable Control

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).

Aspects common to all controls


Graphics resolution The Button, Edit, List and EPP control has a visible user interface (see "User interface elements" on page 64). One or more images can be loaded for the different states of a control by means of parameterization. The images that are to be loaded must be in Windows bitmap format or Portable Network Graphic (png) format both with up to 24 bit colours depth since they cannot be displayed otherwise. Images that are to be loaded directly into the browser may also be in JPEG or GIF format with any number of colours.

78

May 2008

Controls Defaults

Aspects common to all controls

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

The Button control

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.

The Button control


The Button control is useful for presenting all kinds of buttons. The Windows button, check box and radio button controls can be implemented for a selfservice user interface with the aid of this control. The button can have a multiline caption and an icon. The appearance of the button is determined by the image that is loaded. For each Button control it is possible to specify an Internet page that is opened when the button is selected. It is not possible to implement round buttons as such on any user interface when using rectangular BMP images. Against a single coloured background, however, you can achieve the effect of a round button by giving the corners of the button image the same colour as the background. It is easier to use PNG Graphics with a transparent colour to solve this problem.

80

May 2008

Controls

The Button control

Button control - General 1 page


Fig. 16: Button control - General 1 page

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

The Button control

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

The Button control

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

The Button control

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

The Button control

Button control - General 2 page for function keys


The appearance of the General 2 page depends on the type of button. If the button is created as a function key, the page looks like this:
Fig. 21: Button control - General 2 page for function keys

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

The Button control

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

Print

Cancel

Correct

Confirm

86

May 2008

Controls

The Button control

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

The Button control

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

Controls CANCEL: Not relevant.

The Button control

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

The Button control

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

The Button control

Button control - General 2 page for selection buttons


The following figure shows the General 2 page for selection buttons. Some fields are identical to those for function keys, some are additional.
Fig. 23: Button control - General 2 page for selection buttons

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

The Button control Selection:

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 Button control

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

The Button control

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.

Button control - General 2 page for menu buttons


The following figure shows the General 2 page for menu buttons. Some fields are identical to those for selection buttons, some are additional.

94

May 2008

Controls

The Button control


Fig. 25: Button control - General 2 page for menu buttons

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

The Button control

Button control - General 2 page for radio buttons


The following figure shows the General 2 page for radio buttons. Some fields are identical to those for function keys, some are additional.
Fig. 26: Button control - General 2 page for radio buttons

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

The Button control Softkey: See page 86.

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 ...

Button control - General 3 page


The following figure shows the General 3 page for buttons. The Scheme and Audio response of a button is configured here.
Fig. 27: Button control - General 3 page

98

May 2008

Controls

The Button control

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

The Button control

Button control - Caption page


The Caption page is used to define the caption that is to appear on the button. The character format can be set in a font dialog.
Fig. 28: Button control - Caption page

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

The Button control

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

The Button control

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

The Button control

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

The Button control

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 control - Graphic page


The images for the various states of the button are defined on the Graphic page.
Fig. 31: Button control - Graphic page

Button up: The image that describes the button in its up state is entered here.

May 2008

105

The Button control

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

The Button control

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).

Button control - Icon page


The images for an icon and the position of the icon are defined on this page.

May 2008

107

The Button control


Fig. 32: Button control - Icon page

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

Button Control - Property Listing

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.

Button Control - Property Listing


The following list gives an overview about all Button Control properties in the HTML View of an HTML page.
Table 1: HTML properties of Button Control

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

Button Control - Property Listing

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

Button Control - Property Listing

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

0: Icon not centered 1 (default): Icon centered

IconYCentered

0: Icon not centered 1 (default): Icon centered

FieldID

0 - 32787

May 2008

111

Button Control - Property Listing

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

Button Control - Property Listing

Property HTMLStepSwitch

Range 0 (default): Step after Button 1: HTML Page

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

String, (default is TEMP)

Identification

0 (default): do not change

May 2008

113

Button Control - Property Listing

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

Button Control - Property Listing

Property HtmlWindow

Range 0 (default): not in a new window 1: in a new window

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

Button Control - Property Listing

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

-32788 - 32787 Default: 0

XCentered TextAlignXTyp

-1 (default): do not change 0: left 1 (default): center 2: right

116

May 2008

Controls

Button Control - Property Listing

Property YCentered

Range 0: use TextAlignY 1 (default): centered

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

0: Use Font properties 1 (default): Use properties from registry

Font

String: Name of Font

FontCodePage

0 (default) - 32787 Number of codepage for Font

TextSize

1 - 32787 (default is 12)

TextBold

0: regular 1 (default): Bold

TextItalic

0 (default): Regular 1: Italic

May 2008

117

Button Control - Property Listing

Controls

Property TextUnderline

Range 0 (default): Regular 1: Underline

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

0 (default): Regular 1: Strikeout

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

0 - 16777215 (default is 8421504)

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

Button Control - Property Listing

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

-32788 - 32787 Default: 0

TextLayerTextAlignY

-32788 - 32787 Default: 0

TextLayerXCentered TextLayerTextAlignXTyp

-1 (default): do not change 0: left 1 (default): center 2: right 3: use this for shadowing effect

May 2008

119

Button Control - Property Listing

Controls

Property TextLayerYCentered

Range 0: use TextLayerTextAlignY 1 (default): centered

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

0: Use Font properties 1 (default): Use properties from registry

TextLayerFont

String: Name of Font

TextLayerFontCodePage

0 (default) - 32787 Number of codepage for Font

TextLayerTextSize

1 - 32787 (default is 12)

TextLayerTextBold

0: regular 1 (default): Bold

TextLayerTextItalic

0 (default): Regular 1: Italic

120

May 2008

Controls

Button Control - Property Listing

Property TextLayerTextUnderline

Range 0 (default): Regular 1: Underline

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

0 (default): Regular 1: Strikeout

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

0 - 16777215 (default is 8421504)

May 2008

121

The Edit control

Controls

The Edit control


The Edit control is used for customer inputs. As for the Button control, different images can be defined for the different states of the Edit control. A check routine must be specified for each input field. Inputs are checked as soon as they have been confirmed. An Internet page can be specified as a correction message for each of the various error exits. Each Edit control can call its own HTML Help page, and display the specific operating hint for the input in question. A caption, together with its font and colour, can be selected for the image for every input field. The input length, position, orientation, colour and font can be freely defined. The Contents (STD/ATM) control handles the sequence of input fields on a page. The Edit control can be used to show the asterisks for PIN input as well. So the EPP Control must not be used any longer. The Edit control has the ability to use schemes as well. This is not possible with the EPP control. The input area (see also section Edit control - Input page on page 133) of the edit control will automatically be shown with the colour, which is at the fixel position of the intersection point of the diagonals of the area.

Edit control - General 1 page


The input field for a selected function is specified on this page. The check to be performed on this input field is defined by a registry parameter and cannot be changed here. Additional check parameters can be set by opening a dialog. For each return code that is returned from the check function a different Internet page can be assigned.

122

May 2008

Controls
Fig. 33: Edit control - General 1 page

The Edit control

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

The Edit control Transaction Remittance ...

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

The Edit control

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.

Edit control - General 2 page


The state of the input field, the operating hint and the Internet page for Help are specified on this page. The designer can also select whether the input has to be confirmed and whether a beep is required at the end of the input field.
Fig. 34: Edit control - General 2 page

126

May 2008

Controls

The Edit control

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

The Edit control

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">.

Edit control - General 3 page


The Scheme and Sound response of the input field is defined on this page. These field can be specified in the same way as for the Button control.
Fig. 35: Edit control - General 3 page

128

May 2008

Controls

The Edit control

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).

Edit control - Headline page


The caption of the input field is defined on this page. The text layer, position, colour and font can be specified in the same way as for the Button control.
Fig. 36: Edit control - Headline page

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).

Edit control - Graphic page


The images for the various states of the input field are defined on this page.

May 2008

129

The Edit control


Fig. 37: Edit control - Graphic page

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

The Edit control

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).

Edit control - Input page


The size of the input field, the maximum number of characters and lines, and the colour, font and orientation of the input are defined on this page.

May 2008

131

The Edit control


Fig. 38: Edit control - Input page

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 Edit control

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

The Edit control

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

The Edit control

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

The Edit control Yes: The character may be overridden.

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

The Edit control

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

The Edit control

Controls

Edit control - Icon page


The images for an icon and the position of the icon are defined on this page.
Fig. 40: Edit control - Icon page

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).

Edit control - Not allowed character page


The characters, which should not be edited using the alphanumeric keyboard or EPP must be checked on this property page.

138

May 2008

Controls

The Edit controls use for PIN input


Fig. 41: Edit control - Not allowed character page

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.

The Edit controls use for PIN input


The edit control can be used for PIN input as well. In this case a lot of properties on the property pages are hidden, but the configuration of the remaining properties is the same to the use at the Edit control. If there are specialities they are described here.

Edit control (PIN input) - General 1 page


If EPP control is selcted on property page General 1 all other properties are not shown any longer.

May 2008

139

The Edit controls use for PIN input


Fig. 42: Edit control (PIN input) - General 1 page

Controls

Edit control (PIN input) - General 2 page


Property page General 2 is disabled completely. An active Edit control for PIN input will have the state disabled, but it can not the switched to active again.

140

May 2008

Controls

The Edit controls use for PIN input


Fig. 43: Edit control (PIN input) - General 2 page

Edit control (PIN input) - General 3 page


This property page is the same for the PIN input use as for standard Edit controls use (see also section Edit control - General 3 page on page 128).

Edit control (PIN input) - Headline page


On the Headline property page there are less properties than in the standard Edit control. A text can be entered (even on different layers), the position, color and font of this text. Because the control is shown as disabled, only the disabled properteis have to be configured (see also section Edit control - Headline page on page 129).

May 2008

141

The Edit controls use for PIN input


Fig. 44: Edit control (PIN input) - Headline page

Controls

Edit control (PIN input) - Graphic page


On the Graphic property page only the graphic for a disabled state can be edited (see also section Edit control - Graphic page on page 129).

142

May 2008

Controls

The Edit controls use for PIN input


Fig. 45: Edit control (PIN input) - Graphic page

Edit control (PIN input) - Input page


On this property page the output of the asterisks is configured. The orientation, input range, font and color of this output is configured. Even the maximum Input limit (number of digits to be shown) must be configured. It will be okay to leave this at the maximum of 100 digits, even if only 4 PIN digits have to be entered. Multiline - of course - is not possible (see also section Edit control - Input page on page 131).

May 2008

143

The Edit controls use for PIN input


Fig. 46: Edit control (PIN input) - Input page

Controls

Edit control (PIN input) - Icon page


On the Icon property page oly the icon for the disbaled inputfield and the X and Y positions are configured (see also section Edit control - Icon page on page 138).

144

May 2008

Controls

The Edit controls use for PIN input


Fig. 47: Edit control (PIN input) - Icon page

Edit control (PIN input) - Not allowed character page


This property page is the same for the PIN input use as for standard Edit controls use (see also section Edit control - Not allowed character page on page 138).

Masked edit for standard edit control


This function must not be used for Edit control used for PIN input, because in this case asterisks are shown as default. However when an Edit control shall act as a password input field, this functionality must be used. Unfortunately there is no property on the property pages for this behaviour. The property must be configured in an HTML sourcecode editor directly. The property to set is AdditionalFeatures. The keyword WX_INPUT_FLAG_ACTASPASSWORDFIELD

has to be added at the beginning of the content of the property.


Example: Property AdditionalFeatures of the input field:

May 2008

145

The Edit controls use for PIN input <param name="AdditionalFeatures" value= "WX_INPUT_FLAG_ACTASPASSWORDFIELD">

Controls

Hide the caret in standard edit control


Unfortunately there is no property on the property pages for this behaviour. The property must be configured in an HTML sourcecode editor directly. The property to set is AdditionalFeatures. The keyword WX_INPUT_FLAG_HIDECARET has to be added into the

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">

Check max. chars for EPP keyboard


If you are working with a EPP keyboard only it is possible to restrict the maximum number of characters to be entered by writing the keyword WX_INPUT_FLAG_CHECKMAXCHARONEPP into the property AdditionalFeatures. When you are working with an aphanumeric or combined keyboard it is possible to see the character entered after reaching the max. chars limit of a millisecond before it is deleted. If you want to supress this (which is only possible while using the EPP keyboard only) please use this option. Unfortunately there is no property on the property pages for this behaviour. Any separator is optional, the control is checking the

keyword.
Example: Property AdditionalFeatures of the input field: <param name="AdditionalFeatures" value= "WX_INPUT_FLAG_CHECKMAXCHARONEPP">

146

May 2008

Controls

Edit Control - Property Listing

Delete the content after customer error in edit control


This property may be used to delete the contents of an edit field, after the input error popups have been closed, so the customer has to type in the new value from scratch. Unfortunately there is no property on the property pages for this behaviour. The property must be configured in an HTML sourcecode editor directly. The property to set is AdditionalFeatures. The keyword WX_CHECK_DELETEONERROR has to be added into the

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">

Edit Control - Property Listing


The following list gives an overview about all Edit Control properties in the HTML View of an HTML page.
Table 2: HTML properties of Edit Control

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

Edit Control - Property Listing

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

List of :00032 - :00255 values

BeepAtForbiddenLetterInput

0 (default): Do not beep 1: Beep

148

May 2008

Controls

Edit Control - Property Listing

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

String: Variable name (please use suffix _S for input variables)

FieldNumber

1 - 32787

SoftkeyValue

F1 (default) - F8, none

Timeout

0 (no timer) - 32787 default is 600

May 2008

149

Edit Control - Property Listing

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

CorrectHref1 CorrectHref2 CorrectHref3 CorrectHref4 CorrectHref5 CorrectHref6 CorrectHref7 CorrectHref8 CorrectHref9

see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0 see CorrectHref0

150

May 2008

Controls

Edit Control - Property Listing

Property CorrectWindow0

Range 0 (default): not in a new window 1: in a new window

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

0 (default): not in a new window 1: in a new window

CorrectWindow2

0 (default): not in a new window 1: in a new window

CorrectWindow3

0 (default): not in a new window 1: in a new window

CorrectWindow4

0 (default): not in a new window 1: in a new window

CorrectWindow5

0 (default): not in a new window 1: in a new window

May 2008

151

Edit Control - Property Listing

Controls

Property CorrectWindow6

Range 0 (default): not in a new window 1: in a new window

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

0 (default): not in a new window 1: in a new window

CorrectWindow8

0 (default): not in a new window 1: in a new window

CorrectWindow9

0 (default): not in a new window 1: in a new window

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

Edit Control - Property Listing

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

Edit Control - Property Listing

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

Edit Control - Property Listing

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

Edit Control - Property Listing

Controls

Property CaptionText CaptionAlignDefault

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

0 (default): left 1: center 2: right

CaptionAlignY

0 - 32787 (default is 6)

CaptionCenterX CaptionCenterY

0 (default): do not change 0 (default): use CaptionAlignY 1: centered

CaptionFontDefault

0: Use Font properties 1 (default): Use properties from registry

CaptionFont

String: Name of Font

156

May 2008

Controls

Edit Control - Property Listing

Property CaptionSize

Range 1 - 32787 (default is 10)

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

0 (default) - 32787 Number of codepage for Font

CaptionBold

0: regular 1 (default): Bold

CaptionUnderline

0 (default): Regular 1: Underline

CaptionItalic

0 (default): Regular 1: Italic

CaptionStrikeout

0 (default): Regular 1: Strikeout

CaptionColourDefault

0: Use CaptionColour 1 (default): Use CaptionColour from registry

May 2008

157

Edit Control - Property Listing

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

0 - 16777215 (default is 8421504)

InputJustified

0 (default): right justified 1: left justified 2: Centered 0 - 32787 (default is 16)

InputAlignX

InputAlignY

0 - 32787 (default is 28)

InputWidth

0 - 32787 (default is 272)

InputHeight

0 - 32787 (default is 18)

158

May 2008

Controls

Edit Control - Property Listing

Property InputLineMax

Range 1 - 32787 (default is 1)

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

1 - 32787 (default is 100)

InputFont

String: Name of Font

InputFontCodePage

0 (default) - 32787 Number of codepage for Font

InputSize

1 - 32787 (default is 10)

InputBold

0 (default): regular 1: Bold

InputUnderline

0 (default): Regular 1: Underline

May 2008

159

Edit Control - Property Listing

Controls

Property InputItalic

Range 0 (default): Regular 1: Italic

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

0 (default): Regular 1: Strikeout

InputColour

0 - 16777215 (default is 0)

InputColourDisabled

0 - 16777215 (default is 8421504)

InputDirectFormatEnabled

0 (default): Direct format inactive 1: Direct format active

160

May 2008

Controls

Edit Control - Property Listing

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

Separator for InputDirectFormatMask, do not change.

May 2008

161

Edit Control - Property Listing

Controls

Property IconAlignX

Range 0 - 32787 (default is 0)

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

0: Icon not centered 1 (default): Icon centered

IconCenterY

0: Icon not centered 1 (default): Icon centered

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

Edit Control - Property Listing

Property InputColourDefault

Range 0: Use InputColour 1 (default): Use InputColour from registry

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

Edit Control - Property Listing

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

Edit Control - Property Listing

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

-32788 - 32787 Default: 19

TextLayerTextAlignY

-32788 - 32787 Default: 6

TextLayerXCentered TextLayerTextAlignXTyp

0 (default): do not change 0 (default): left 1: center 2: right

TextLayerYCentered

0 (default): use TextLayerText-AlignY 1: centered

TextLayerFontDefault

0: Use Font properties 1 (default): Use properties from registry

May 2008

165

Edit Control - Property Listing

Controls

Property TextLayerFont

Range String: Name of Font Arial is default

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

0 (default) - 32787 Number of codepage for Font

TextLayerTextSize

1 - 32787 (default is 10)

TextLayerTextBold

0: regular 1 (default): Bold

TextLayerTextItalic

0 (default): Regular 1: Italic

TextLayerTextUnderline

0 (default): Regular 1: Underline

166

May 2008

Controls

The List control

Property TextLayerTextStrikeout

Range 0 (default): Regular 1: Strikeout

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

0 - 16777215 (default is 8421504)

The List control


The List control can take on the appearance of an Edit control but, in the way it functions, it resembles a Button control which, when selected, automatically opens an Internet page in a new window. The customer has to make a choice on the page that is opened. The selected value is included in the List control.

May 2008

167

The List control

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

Fig. 49: List control - Paying turn - active

168

May 2008

Controls

The List control

List control - General 1 page


The list box for a selected function is defined on this page. It is necessary to specify an Internet page that is called whenever the List control is selected. This Internet page must always be opened in a window of its own as the aim is to convey the impression of a popup dialog.
Fig. 50: List control - General 1 page

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 List control

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

The List control

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

The List control

List control - General 2 page


The state of the List control and an operating hint are defined on this page.
Fig. 51: List control - General 2 page

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

The List control

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">.

List control - General 3 page


The Scheme and Sound response of the input field is defined on this page. These field can be specified in the same way as for the Button control.

174

May 2008

Controls
Fig. 52: Listcontrol - General 3 page

The List control

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

The List control

Controls

List control - Headline page


The caption of the List control is defined on this page. The position, colour and font can be specified here in the same way as for the Button control.
Fig. 53: List control - Headline page

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 List control

List control - Graphic page


The images for the various states of the List control are defined on this page.
Fig. 54: List control - Graphic page

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

The List control

Controls

List control - Output page


The properties of the text for the item selected from the list are defined on this page. A variable should be entered here which is filled on the Internet page in the new window. The entry defined here is written to this variable and thus displayed in the output field.
Fig. 55: List control - Output page

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

The List control

Controls

List control - Icon page


The images for an icon and the position of the icon are defined on this page.
Fig. 56: List control - Icon page

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

List Control - Property Listing

List Control - Property Listing


The following list gives an overview about all List Control properties in the HTML View of an HTML page.
Table 3: HTML properties of List Control

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

List Control - Property Listing

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

String: Variable name (please use suffix _S for input variables)

FieldNumber

1 - 32787

SoftkeyValue

F1 (default) - F8, none

ListHref

String

182

May 2008

Controls

List Control - Property Listing

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

List Control - Property Listing

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

List Control - Property Listing

Property AudioResponse

Range Predefined String

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

0 - 32787 (default is 19)

CaptionAlignY

0 - 32787 (default is 6)

CaptionCenterX CaptionAlignXTyp

0 (default): do not change 0 (default): left 1: center 2: right

CaptionCenterY

0 (default): use CaptionAlignY 1: centered

May 2008

185

List Control - Property Listing

Controls

Property CaptionFont

Range String: Name of Font

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

0 (default) - 32787 Number of codepage for Font

CaptionSize

1 - 32787 (default is 10)

CaptionBold

0: regular 1 (default): Bold

CaptionUnderline

0 (default): Regular 1: Underline

CaptionItalic

0 (default): Regular 1: Italic

CaptionStrikeout

0 (default): Regular 1: Strikeout

186

May 2008

Controls

List Control - Property Listing

Property CaptionColour

Range 0 - 16777215 (default is 0)

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

0 - 16777215 (default is 8421504)

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

0 (default): do not change

May 2008

187

List Control - Property Listing

Controls

Property InputAlignX

Range 0 - 32787 (default is 16)

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

0 - 32787 (default is 28)

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

0 (default) - 32787 Number of codepage for Font

InputSize

1 - 32787 (default is 10)

InputBold

0 (default): regular 1: Bold

188

May 2008

Controls

List Control - Property Listing

Property InputUnderline

Range 0 (default): Regular 1: Underline

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

0 (default): Regular 1: Italic

InputStrikeout

0 (default): Regular 1: Strikeout

InputColour

0 - 16777215 (default is 0)

InputColourDisabled

0 - 16777215 (default is 8421504)

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

List Control - Property Listing

Controls

Property InputColourDefault

Range 0: Use InputColour 1 (default): Use InputColour from registry

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

0: Use InputColourDisabled 1 (default): Use InputColourDisabled from registry 0 - 32787 (default is 0)

IconAlignX

IconAlignY

0 - 32787 (default is 0)

IconCenterX

0: Icon not centered 1 (default): Icon centered

IconCenterY

0: Icon not centered 1 (default): Icon centered

ImageUpDefault

0: Use Input field up graphic 1 (default): Use graphic read from registry

190

May 2008

Controls

List Control - Property Listing

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

-32788 - 32787 Default: 19

May 2008

191

List Control - Property Listing

Controls

Property TextLayerTextAlignY

Range -32788 - 32787 Default: 6

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

0 (default): do not change 0 (default): left 1: center 2: right

TextLayerYCentered

0 (default): use TextLayerText-AlignY 1: centered

TextLayerFontDefault

0: Use Font properties 1 (default): Use properties from registry

TextLayerFont

String: Name of Font Arial is default

TextLayerFontCodePage

0 (default) - 32787 Number of codepage for Font

192

May 2008

Controls

List Control - Property Listing

Property TextLayerTextSize

Range 1 - 32787 (default is 10)

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

0: regular 1 (default): Bold

TextLayerTextItalic

0 (default): Regular 1: Italic

TextLayerText Underline

0 (default): Regular 1: Underline

TextLayerTextStrikeout

0 (default): Regular 1: Strikeout

TextLayerActiveColourDefault

0: Use TextLayerTextColour 1 (default): Use TextColour from registry

May 2008

193

Show an ampersand (&) in Caption of a control

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

0 - 16777215 (default is 8421504)

Show an ampersand (&) in Caption of a control


This function is implemented for Button, Edit and List control. To show an ampersand it is necessary to write two ampersands into the text. If this text is filled by a variable it might not be possible to have two ampersands. In this case an additional keyword WX_INPUT_FLAG_IGNOREAMPERSAND may be edited manually by an HTML Source editor in the property AdditionalFeatures (see also section Masked edit for standard edit control on page 145). Example: Property after selecting the input field: <param name="AdditionalFeatures" value= "WX_INPUT_FLAG_IGNOREAMPERSAND">

194

May 2008

Controls

Shadowing effect of control capture

Shadowing effect of control capture


The Shadowing effect is available for Button capture, Edit control caption and If two identical texts with one or two pixel offset and different colour are loaded in different layers, this can be used as a shadowing effect of the font. This effect can not be configured in the property pages. To activate this feature, the property TextLayerTextAlignXType has to be set to 3 in one layer. Property TextLayerTextAlignX and TextLayerTextAlignY has to contain the offset in the same layer where TextLayerTextAlignXType is set to 3. Example: param param param param param param param param param name="TextLayerCount" value="2" name="TextLayerText" value="HALLO;;HALLO" name="TextLayerPosXYDefault" value="0;;0" name="TextLayerTextAlignX" value="2;;0" name="TextLayerTextAlignY" value="2;;0" name="TextLayerTextAlignXTyp" value="3;;1" name="TextLayerYCentered" value="1;;1" name="TextLayerActiveColourDefault" value="0;;0" name="TextLayerTextColour" value="8421504;;0"

The EPP control


The EPP control is used on Internet pages on which a PIN input is called. However, the EPP control does not call the PIN input itself but merely represents the pressed digits of the PIN pad. It is necessary to use a specific EPP control for the PIN input because this input is not handled via the alphanumeric keyboard but has to be controlled by the Web Graphical Service. Asterisks are only displayed in the EPP control as a visual response for customers. This mechanism is controlled by events from the Web Graphical Service, which uses the EPP control to output asterisks. The number of PIN digits and the confirmation of the PIN, is configured in the Contents (STD/ATM) control (see also section Contents ATM control - EPP Keys page on page 208). Even the sign of the asterisks is specified there.

May 2008

195

The EPP control

Controls

EPP control - General page


The image to be loaded and any caption are defined on this page.
Fig. 57: EPP control - General page

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

The EPP control

EPP control - Input page


The position, colour, font and input orientation for the output of asterisks are defined on this page.
Fig. 58: EPP control - Input page

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

The Contents ATM control

Controls

The Contents ATM control


The Contents ATM control is a very important control. It is invisible at runtime, but must be on every Internet page of an application which is using the Web-Extensions/ClassicLink. The Contents ATM control determines how the operating hint, header and the state of function keys are to be represented. It is also responsible for monitoring timers on the current Internet page and for beeping when the page is loaded. The Contents ATM control also monitors field sequence control of the Edit control and, in conjunction with this, the meaning of the <Correct> and <Confirm> buttons. Please do not mix the Contents ATM Control with the Contents STD Control. The Contents STD Control is used in a Web-Extensions/HyperLink architecture and has more functionality (see "The Contents STD control" on page 226). However, there may be use cases, to implement hardware access while displaying external intranet pages by use of the Contents STD Control. The Contents ATM control governs the interaction between all other controls. Every call of an Internet page from a Button control, for example, is passed via the Contents ATM control to the Web Graphical Service (see also "Web Graphical Service components). The Contents ATM control is ultimately responsible for controlling the field sequence of the Edit controls. To carry out all these tasks, the Contents ATM 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 ATM 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 ATM control. The Contents ATM control also activates or hides function keys also geared to the action that has to be performed.

198

May 2008

Controls

The Contents ATM control

Contents ATM control - General page


The header and operating hint are specified on this page. It is also possible to define whether there should be a beep whenever a page is loaded.
Fig. 59: Contents ATM control - General page

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

The Contents ATM control

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 Contents ATM control

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

The Contents ATM control

Controls

ADA configuration panel


The ADA configuration panel will be accessed over the ADA config button on the general property page of the Contents ATM Control. On this panel you can easily configure all ADA commands.
Fig. 60: Contents ATM control - ADA configuration panel

202

May 2008

Controls There are five groups on this panel:

The Contents ATM control

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

The Contents ATM control

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

The Contents ATM control

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.

Contents ATM control - Function key page


This page is used to define for each created function key whether it should be activated, disabled or hidden. Just to remind you: Function keys are buttons with a special meaning such as Correct and Confirm, which ought to be placed in an HTML frame of their own (see "Function keys with a fixed meaning" on page 87). The Contents ATM control for the current Internet page can show or hide the function keys of another frame.

206

May 2008

Controls

The Contents ATM control


Fig. 61: Contents ATM control - Functionkeys page

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

The Contents ATM control


Fig. 62: Contents ATM control - Functionkeys page (Help key)

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).

Contents ATM control - EPP Keys page


This page is used to define, if the EPP is used for normal numerical input or for PIN input. If no input field is at the current Internet page, no type of input has to be selected.

208

May 2008

Controls

The Contents ATM control


Fig. 63: Contents ATM control - EPP Keys page

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

The Contents ATM control


Fig. 64: Contents ATM control - EPP Keys Page (Normal input)

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

The Contents ATM control

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

The Contents ATM control


Fig. 66: Contents ATM control - EPP Keys conf. (Active Keys)

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

The Contents ATM control


Fig. 67: Contents ATM control - EPP Keys conf. (Terminating Keys)

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

The Contents ATM control

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

The Contents ATM control

Contents ATM control - Confirm page


This check box is only relevant for pages containing input fields.
Fig. 69: Contents ATM control - Confirm page

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

Content ATM Control - Property Listing

Controls

Content ATM Control - Property Listing


The following list gives an overview about all Content ATM Control properties in the HTML View of an HTML page.
Table 4: HTML properties of Content ATM Control

Property Name Page_Headline

Range Not used String

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

Numerical value -1 32787 or predifined keyword from registry.

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

Default is: CONFIRM

216

May 2008

Controls

Content ATM Control - Property Listing

Property FunctionKeyID03

Range Default is: CONFIRMALL

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

Default is: HELP

FunctionKeyID05

Default is: CORRECT

FunctionKeyID06

unused

FunctionKeyID07

unused

FunctionKeyID08

Default is: SURFING_CANCEL

FunctionKeyID09

Default is: SURFING_BACK

May 2008

217

Content ATM Control - Property Listing

Controls

Property FunctionKeyID10

Range Default is: SURFING_FORWARD

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

Default is: SURFING_SCROLL_U P

FunctionKeyID12

Default is: SURFING_SCROLL_D OWN

FunctionKeyID13

Default is: SURFING_SCROLL_L EFT

FunctionKeyID14

Default is: SURFING_SCROLL_R IGHT

FunctionKeyID15

Default is: SURFING_PRINT

FunctionKeyID16

unused

218

May 2008

Controls

Content ATM Control - Property Listing

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

Content ATM Control - Property Listing

Controls

Property SubmitControlName

Range one of the function key ids

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

Content ATM Control - Property Listing

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

Content ATM Control - Property Listing

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

Content ATM Control - Property Listing

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

Content ATM Control - Property Listing

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

single digit or group of characters

EPPConfigValue_FK_s ub

single character

224

May 2008

Controls

Content ATM Control - Property Listing

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

Timeout extension Menu Hint Content

May 2008

225

The Contents STD control

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

The Contents STD control


The Contents STD control is a very important control. It is invisible at runtime, but must be available on every Internet page of the WebExtensions/HyperLink application. The Contents STD control determines how the operating hint, header and the state of function keys are to be represented. Its most important property relates to the calling of Transaction FW classes. The Contents STD control is used to define which Transaction FW class has to be called and which return code is associated with an Internet page. It is also responsible for monitoring timers on the current Internet page and for beeping when the page is loaded. The Contents STD control also monitors field sequence control of the Edit controls and, in conjunction with this, the meaning of the <Correct> and <Cancel> buttons. Please do not mix the Contents STD control with the Contents ATM control. The Contents ATM control is used in a Web-Extensions/ClassicLink architecture and has less functionality (see "The Contents ATM control" on page 198).

226

May 2008

Controls

The Contents STD control

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

The Contents STD control

Controls

Contents STD control - General page


The header and operating hint are specified on this page. It is also possible to define whether there should be a beep whenever a page is loaded.
Fig. 70: Contents STD control - General page

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

The Contents STD control

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

The Contents STD control

Controls

Contents STD control - Timeout page


The message that is displayed when the customer has not input any data or made a choice for a certain period of time is defined on this page. The time that has to elapse before a timeout occurs is also defined here for the current Internet page.
Fig. 71: Contents STD control - Timeout page

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

The Contents STD control

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

The Contents STD control

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

The Contents STD control

(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

The Contents STD control

Controls

Contents STD control - Cancel page


This page is used, in the same way as the timeout, to define which Internet page has to be displayed as a confirmation question or cancellation message when the customer presses Cancel. The Internet page that has to be displayed after the cancellation message is specified on the Function key page for the Cancel function key, however.
Fig. 74: Contents STD control - Cancel page

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

The Contents STD control

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

The Contents STD control

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.

Contents STD control - Functionkey page


This page is used to define for each created function key whether an Internet page has to be loaded or whether a Transaction FW class needs to be called. The state of the function key is also defined here. Just to remind you: Function keys are buttons with a special meaning such as Cancel, Correct and Confirm

236

May 2008

Controls

The Contents STD control

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

The Contents STD control


Fig. 78: Contents STD control - Function key page (HTML page)

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

The Contents STD control


Fig. 79: Contents STD control - Function key page (Step)

Contents STD control - EPP Keys page


This page is used to define, if the EPP is used for normal numerical input or for PIN input. If no input field is at the current Internet page, no type of input has to be selected.

May 2008

239

The Contents STD control


Fig. 80: Contents STD control - EPP Keys page

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

Controls Automatic mode

The Contents STD control

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

The Contents STD control


Fig. 82: Contents STD control - EPP Keys Page (Normal input)

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

The Contents STD control

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

The Contents STD control

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

The Contents STD control


Fig. 85: Contents STD control - EPP Keys conf. (Terminating Keys)

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

The Contents STD control

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).

Contents STD control - Step After page


This page is used to define the calling of a Transaction FW class when a button has been pressed. This applies to each button for which Step after button/Step after press was specified. All Steps that are available on the device are shown in a list.

246

May 2008

Controls

The Contents STD control


Fig. 87: Contents STD control - Access to application

Connecting Internet pages for workflow processing: Workflow

1. Loading of the HTML-page `PRINT.HTM`


Please wait for printout Printout ready
OK Abbruch Drucken Hilfe

8. Loading of the new HTML-page

2. Activation of the Contents-control

invisible Control invisible Control

Internet Browser

7. Conversion of the returncode into a link to a new HTML-page

3. Transmission between Internet-browser and ProTopas modules 4. Call of the ProTopas Module `PRINT`

Connector Control

6. Transmission of the returncode to the Contents-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

The Contents STD control


Fig. 88: Contents STD control - Step After page

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

The Contents STD control

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

The Contents STD control

Controls

Contents STD control - Step page


This page is basically identical to the Step After page. The only difference is an additional check box to define whether softkeys and EPP buttons are allowed on this page. The Step that is selected here, however, is not activated when a certain button has been pressed but directly after the page has been loaded. The result is that there can be Internet pages which do not interact with the customer but activate a Transaction FW class and wait for it to finish.
Fig. 89: Contents STD control - Step page

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

The Contents STD control

Contents STD control - Instance return page


This property page is used to configure links, after a new window has been closed and the INSTANCERETURNnnn value has been set into VAR_DLG_INPUT_RESULT_S variable (see also section Closing a new browser instance on page 271). So Sub routines may be designed, which can be reused at different locations in the Web. An example would be the card return page, which may be called at the end of any transaction or in cash out transaction before presenting the cash.
Fig. 90: Contents STD control - Instance return page

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

Content STD Control - Property Listing

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.

Content STD Control - Property Listing


The following list gives an overview about all Content STD Control properties in the HTML View of an HTML page.
Table 5: HTML properties of Content STD Control

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

one of the function key ids

252

May 2008

Controls

Content STD Control - Property Listing

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

For TimeoutStdHref: 0 (default): not in a new window 1: in a new window

May 2008

253

Content STD Control - Property Listing

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

For TimeoutQuestionHref: 0 (default): not in a new window 1: in a new window String

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

Content STD Control - Property Listing

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

Content STD Control - Property Listing

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

Content STD Control - Property Listing

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

Default is: CONFIRM

FunctionKeyID03

Default is: CONFIRMALL

May 2008

257

Content STD Control - Property Listing

Controls

Property FunctionKeyID04

Range Default is: HELP

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

Default is: CORRECT

FunctionKeyID06

unused

FunctionKeyID07

unused

FunctionKeyID08

Default is: SURFING_CANCEL

FunctionKeyID09

Default is: SURFING_BACK

FunctionKeyID10

Default is: SURFING_FORWARD

258

May 2008

Controls

Content STD Control - Property Listing

Property FunctionKeyID11

Range Default is: SURFING_SCROLL_U P

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

Default is: SURFING_SCROLL_D OWN

FunctionKeyID13

Default is: SURFING_SCROLL_L EFT

FunctionKeyID14

Default is: SURFING_SCROLL_R IGHT

FunctionKeyID15

Default is: SURFING_PRINT

FunctionKeyID16

unused

FunctionKeyID17

unused

May 2008

259

Content STD Control - Property Listing

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

Content STD Control - Property Listing

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

String: Name of Step after

StepAfterHtml00

String: HTML page

StepAfterHtml01

String: HTML page

...

...

May 2008

261

Content STD Control - Property Listing

Controls

Property
StepAfterHtml19

Range String: HTML page

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

String: HTML page

HtmlAfter02

String: HTML page

... HtmlAfter20

... String: Html page

StepStart

String: Name of step

StepStartSoftkeysAllowed

Default = 2, do not change

262

May 2008

Controls

Content STD Control - Property Listing

Property
StepStartHtml00

Range String: Html page

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

String: Html page

... StepStartHtml19

... String: Html page

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

Content STD Control - Property Listing

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

Content STD Control - Property Listing

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

Content STD Control - Property Listing

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

Content STD Control - Property Listing

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

String: HTML page

May 2008

267

The ActiveStep control

Controls

Property
StepStartParam

Range String

Meaning/Reference
Input Parameter for steps (see also section

Contents STD control Step After page on page 248)


StepAfterParam

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

The ActiveStep control


The ActiveStep control is not visible at runtime. The job of this control is to communicate with the ProTopas/Web-Extensions application. Accordingly, it must exist on every Internet page on which a Trans-

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

The ActiveStep control

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

Closing a new browser instance

Closing a new browser instance


Activating the In a new window check box, which is available for almost all parameters involving an Internet page, opens a new browser instance that overlays the previous screen contents as a popup window. This is frequently used to display Help or correction pages but can additionally be used to specify Sub routines of HTML page sequences, which may be reused at different locations during the application. In this new browser instance, in turn, as many Internet pages can be called in succession as required.

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

Closing a new browser instance

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

Closing a new browser instance

Return code "InstanceTimeoutStd"

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

Hiding controls with Viewstate variables

Controls

Creating sub routines without opening a new Window


When working with frames or having sub routines in full screen it is not advisable to create sub routines by starting the first sub routine page in a new window. There may be a flicker when the new browser instance closes. There is a solution for creating sub routines but navigating in the same browser window. The trick is to use one of the following keywords as a prefix at the link. WN_TFN_FLAT_SELF: Subroutine is using current frame for navigation WN_TFN_FLAT_TOP: Subroutine is started in top mode without a frameset Example for a link: WN_TFN_FLAT_SELFmypage.htm Additionally there must be no checkbox in a new window activated. The subroutine still ends with a navigation to close.htm, even if there is no in a new window activated and the variable VAR_DLG_INPUT_RESULT_S has still to be set to InstanceReturnxxx (where xxx is in a range of 000 to 999). So the only difference between a subroutine running in a new browser instance and a subroutine running in the same browser is the prefix keyword and the in a new window not activated.

Hiding controls with Viewstate variables


The way to hide or show a control is to set a Viewstate variable which is called on one of the following pages. It is not possible to set a Viewstate variable to change the display of a control on the Internet page that is currently loaded. Any change to a Viewstate variable does not take effect until a new page is loaded. This behavior is controlled in so far as every control automatically ascertains the name of its associated Viewstate variable and keeps it as a property. The syntax has been chosen in such a way that the HTML generator recognizes this variable. The HTML generator can now replace the variable when loading the page if it has been defined. If the HTML generator does not find the variable, then this has no further impact. Parameterization of the state on the controls page is evaluated. However, if the Viewstate variable does exist, this takes precedence. The control is addressed via the name of the Viewstate variable. This name consists of the value of the control, a prefix and a suffix: Value of the button: CARDOUT

274

May 2008

Controls

Unicode Versions of the Controls Viewstate variable: VAR_CARDOUT_VIEWSTATE_S

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.

Unicode Versions of the Controls


With version 1.1 there is the possibility to install unicode versions of the controls, which have a visible user interface. These version may be used to display character in those languages that need Unicode to be displayed correctly. It is not complicate to build a static user interface with fixed text on top of the controls. The problem starts, when variable text shall be displayed. To install the Unicode controls properly, it is necessary to install the Font Arial Unicode MS. This font is needed for some Texts on property pages of the controls. Without this font a standard font is used and all property boxes are spreaded over the property page. Arial Unicode MS can be loaded from Microsofts Internet pages or from the \Tools Directory (Aruniupd.exe) from the ProInstall Developer CD. There is inserted text from the customer on the one hand and text from host machines on the other hand. Problem is the transition of Unicode characters into the ProTopas environment, because ProTopas Manager itself does not work with unicode data. So the Contents STD/ATM control transfers Unicode data into an array of characters. Depending on the Parameter UseUTF8 (see "UseUTF8" on page 648 in the Parameters chapter) the conversion is done from Unicode to ANSII or from Unicode to UTF8. However, in conversion from Unicode to ANSII some data might get lost. UFT8 is ASCII backwards compatible.

May 2008

275

Unicode Versions of the Controls

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

ProTopas Frameworks Controls


Button Edit List Epp SpinEdit
Unicode

Ch
Unicode

ar

UseUTF8 = 0: Unicode to ANSI (loss of Data possible) UseUTF8 = 1: Unicode to UTF8

Contents STD/ATM Control


Un ic od e

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

Get number of PIN Digits

\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.

Get number of PIN Digits


There are two variables VAR_PIN_ENTRY_DIGITS_L and VAR_PIN_ENTRY_COMPLETION_L defined since Version 1.1/13 of the ProTopas/Web-Extensions and ProTopas/HTML-Dialog, which can be used to get the Number of PIN digits and the returnvalue of the function call after a sucessful PIN entry. The variables do belong to the Web Graphical Service.

May 2008

277

Get number of PIN Digits

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

Web Graphical Service components

Components of the Internet browser

Web Graphical Service components


This chapter describes the components of the Internet browser and the basic considerations that led to its design. These components are referred to jointly as the Web Graphical Service.

Components of the Internet browser


The Microsoft Internet Explorer forms the basis of the user interface. It is essential for this program to be installed on the terminal device. To output selfservice Internet pages, the browser is switched to full-screen mode so that the Windows NT Desktop is not visible. The Microsoft Browser control is used for the Web Graphical Service. Note that the browser control is different to the Internet Explorer. Both are containers for internal Microsoft Web controls, but the may react in different ways. The Browser control is a control which, because the interfaces have been disclosed, allows the user interface to be set to fullscreen mode and makes it possible to intervene in navigation through Internet pages. These are essential prerequisites to make a browser capable of selfservice operations around the clock. Various rival products were examined but, in the end, only the Microsoft Internet Explorer was a viable option because it provides the necessary interfaces.

May 2008

279

Components of the Internet browser

Web Graphical Service components

Fig. 92: Architecture of the Web Graphical Service

Grafical Service Architec ture


Dialog-Framework PCView Control AllowList Control HTMLGen Control PCBrowser Control MS Browser Control

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

Web Graphical Service components

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

Web Graphical Service components

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

Web Graphical Service components


Fig. 93: HTML generator

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

ProTopas ProDevice Windows NT

HOSTSystem

Martin Miller 1212100312 98765

Name: Account: Balance:

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

Web Graphical Service components

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

Web Graphical Service components

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

Web Graphical Service components

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

Web Graphical Service components

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

Web Graphical Service components

Inserting a variable in a control


If you do not want to output a variable simply as an HTML text but, for example, as a caption on a button, then the WebBot cannot be used. In this case, the variable is entered directly in an input field of a control. To generate the caption of a Button control, for example, parameterization is as follows in the input field for the button caption: [# name of PC variable ; formatting of PC variable ; default value of PC variable #] See page 284. This provides a description of the syntax. Generally each parameter value of the control can be configured as a variable with this syntax. But this has to be done by using a standard text editor. The ability to work with MS Frontpage is lost in most cases. So if you decide to use variables in controls, please check before if you want to work with MS Frontpage again. The only exception from this rule is the caption of the control or the HTML page names, all alphanumerical properties at least.

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

Web Graphical Service components

HTML generator

Easy multilanguage support


When all text is edited in the HTML pages in multilanguage applications for every language a HTML page is needed. Those pages with different language are strored in different directories (see also section Language selection on page 305). This can be lots of maintenance work, when the pages are changing very often. A change in one page would have to be copied into all same pages in the language specific directories. To avoid this, it is possible to work with variable placeholders in the pages and to have all texts in a text file, one for each language, which will be copied into the registry during installation. However - for a Web-Extensions/ClassicLink architecture all pages have to be copied into all language specific directories as well, but the content in each subdirectory will be the same.

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

Web Graphical Service components

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

Web Graphical Service components } catch(e) { } //--> </SCRIPT>

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

Web Graphical Service components

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

Web Graphical Service components

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

Web Graphical Service components

Structure of the AllowList


Fig. 95: 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

Web Graphical Service components

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)

Rejection of selected Internet pages


If an Internet page is selected which does not follow the pattern in the AllowList, then the link is rejected. In this case, the Web Graphical Service loads the Internet page which has been entered with its complete path in the Web Graphical Services ErrorURL parameter (see "ErrorURL" on page 619 in the Parameters chapter) in a new window. On this page the customer is told about the rejected HTML page. This page works as a popup window and will be closed automatically after a timeout of 10 seconds.

Expand external pages with own code


This is a good feature to add HTML code in an Internet page, before it is loaded into the browser. This gives the possibility to add selfservice specific actions in pages, which were designed for Home PCs. For example standard edit fields can be filled with application data by use of the Data Dictionary Control and a script, or Data from an HTML element can be set into the Data Dictionary vice versa. This feature is provided by the AllowList. In column 7 of the AllowList a reference number may be specified, which references the number of a paragraph in the Expand.txt file. This paragraph contains the HTML code to be inserted. If more than one paragraph of HTML code should be inserted in one Internet file, the reference numbers in column 7 of the AllowList may be seperated by a semicolon. The Expand.txt file has the following syntax: # This is a comment - if it is outside of the _RULE_ sentinels PC_HTMLGEN_RULE_START Reference number Position

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

Web Graphical Service componentsPrinting HTML pages in windows mode

Printing HTML pages in windows mode


The general technique to print a page in windows print mode is to navigate to the URL about:SNI_SURFING_PRINT on the page, which has to be printed. This is automatically handled by the Function Key SURFING_PRINT. This will be found in the SurfingFooter since version 1.1/10 for the external page mode. For the normal mode, a button or a script with a link to about:SNI_SURFING_PRINT has to be placed directly into a page. So an existing print function of any page can be changed towards the self service print function. If the SURFING_PRINT button is pressed, the Graphical Service searches in all loaded pages for the comment <!-- PC_HTMLGEN_RULE:PRINT_THIS --> If this is found the page will be printed. All pages from a frameset will be printed seperately one after the other like IE itself would do. The comments can be set into the page directly during creation, dynamically by use of a web server or dynamically by the help of the HTML-Generator (see also section Expand external pages with own code on page 296). Example for Expand.txt enhancement: PC_HTMLGEN_RULE_START 1 102 <!-- PC_HTMLGEN_RULE:PRINT_THIS --> PC_HTMLGEN_RULE_END In the Allow List a number 1 has to be placed into the column INSERTION for each page, which shall be printed Make sure, that even the GENERATE flag is set to 1. The following Parameter has to be set to 1, if the pages shall be checked for print comments. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraficalService PCBrowser WebExtPrintCheck = 1

May 2008

299

Switching the Web Graphical Service offlineWeb Graphical Service compon

Switching the Web Graphical Service offline


A very important property of the Web Graphical Service is to switch to locally stored Internet pages in the event of line problems. This can only happen if the browser is not accessing a set of Internet pages stored locally on the PC but pages from an Intranet Server. As soon as the Web Graphical Service recognizes that the requested Internet page cannot be loaded within the monitoring time defined in the TimeoutDataReceiveRequest parameter (see "TimeoutDataReceiveRequest" on page 623 in the Parameters chapter), it accesses the local Internet page that is specified in the OfflineURL parameter (see "OfflineURL" on page 619 in the Parameters chapter). The complete path for the offline page has to be specified in the parameter. When the Web Graphical Service is switched to an offline page, there is normally a line problem so the application cannot be continued. A special return code is provided in a script on that page. The application may go on and load other pages from the local directory. A query may be issued to check whether a card is still in the device and this is ejected if appropriate. To load a page from the Intranet Server again, ChangeLanguage() (see also section CCDialogFW.ChangeLanguage on page 333) has to be called first. The next DoDialog() function tries to load the page from the intranet server. If this also fails, the page from the OfflineURL parameter is accessed. This sequence is repeated until the line is okay again. On other local Internet pages a query is therefore issued to check whether a card is still in the device and this is ejected if appropriate. Then another attempt is made to access a page from the Intranet. If this also fails, the page from the OfflineURL parameter is accessed. This sequence is repeated until the line is okay again.

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.

Monitoring of navigation to another page


The Web Graphical Service give 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. With this keyword a timer can be started, which supervises the navigation to another page or another trigger condition. If the page or trigger condition will not be reached during the period the timer is active, the Web Graphical Service will navigate to the Offline page(see also section Switching the Web Graphical Service offline on page 300). The Column 8 OPTIONAL must be configured in the following way: WXmonitor: param1 ; param2 param1: timer in seconds the navigation to the trigger may need (03600). param2: (optional: default = 0) one of the following trigger conditions: 0: stop, when next Timer is started 1: stop at document complete event from next page 2: stop when next Contents STD/ATM Control is started 3: stop by next navigation to window.navigate("WXmonitor:OK") With these conditions it is possible to create timer controllings to pages, which contain this condition. For example in page1.htm the timer is started and by configuration of the Allow List. param2 is set to 0. Even page2.htm is configured in the same way. When page2.htm is navigating to page3.htm the

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

Web Graphical Service components

Starting the Web Graphical Service

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.

Starting the Web Graphical Service


As mentioned in the Components of the Internet browser section, the main module of the Web Graphical Service has been implemented as an executable. When the application is launched, this executable is loaded. When it has been initialized, this module loads the HTML home page. This is specified with its complete path in the StartPage parameter (see "StartPage" on page 615 in the Parameters chapter). The full details contain the word FILE:// followed by the complete path name of the locally stored pages or HTTP:// followed by the domain name of the intranet server and the Web name. Example: FILE://C:\ProTopas\Web\English\Start.htm May 2008 303

Starting the Web Graphical Service or

Web Graphical Service components

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

Web Graphical Service components The Graphical Service loads FILE://C:\ProTopas\Web\German\Idle.htm

Hiding the cursor

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.

Hiding the cursor


Since the cursor is not intended to be visible in a self-service application unless editable fields for keyboard inputs are involved, it must be possible to turn the cursor on and off via a parameter. This is done with the CursorEnable parameter (see "CursorEnable" on page 604 in the Parameters chapter). 1 means that the cursor is visible, whereas 0 hides the cursor.

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

Language selection English Internet pages: German Internet pages:

Web Graphical Service components

ProTopas\Web\English ProTopas\Web\German

Language-independent images: ProTopas\Web\Images Language-specific images: Language-specific sound files:

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");

The Graphical Service loads FILE://C:\ProTopas\Web\German\Idle.htm

Changing the complete frameset


If you are working with framesets and there are language-specific outputs on the Internet pages, the complete frameset has to be changed. The difficulty here lies in calling a completely new frameset

306

May 2008

Web Graphical Service components

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.

Changing the complete frameset


If you are working with framesets and there are language-specific outputs on the Internet pages, the complete frameset has to be changed. The difficulty here lies in calling a completely new frameset from an Internet page. The Web Graphical Service takes care of this. Directly after a ChangeLanguage() function call, the next file name specified in the DoDialog() function is loaded over the whole screen. If you are working with framesets, another language-specific frameset has to be loaded. May 2008 307

Language selection

Web Graphical Service components

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.

Converting language-specific formats


If formatted inputs or outputs which are language-specific take place in the application, then the settings for the HTML generator also have to be converted. This is made possible by using the interface in the Web Graphical Service (see "PCDialogFW.Format" on page 346). The name of the language must be passed as a string to the ChangeLanguage() function by the application. Internally, the HTML generator searches its parameter lists for a key that matches this. All parameters under this key define the formatting of the language-specific amount and date formats (see "Formatting settings" on page 288). The Graphical Service itself is responsible for changing the format pattern in his ChangeLanguage() function. The name of the language must be passed as a string to the ChangeLanguage() function (see also section CCDialogFW.ChangeLanguage on page 333) by the application. Internally, the HTML generator searches its parameter lists for a key that matches this. All parameters under this key define the formatting of the language-specific amount and date formats (see "Formatting settings" on page 288). When a new language is created for an existing application, then you not only have to copy the Internet pages to a new directory but also to create a new key with the name of the new language. All parameters of an existing key are transferred to this key. Then the language-specific settings can be defined. Here, it is also possible to adapt the Windows NT language specifics by setting the UseLocals parameter (see also UseLocals on page 630) to 1.

308

May 2008

Web Graphical Service components

Memory leak of the Internet Explorer

Memory leak of the Internet Explorer


The Microsoft Internet Explorer is basically not designed to be used for applications which run 7 days x 24 hours. Each page name is stored in memory to enable use of the back key functionality to jump back several links. There is no way to switch this functionality off. The history list is switched off by default since version 1.1/10. To switch it on again, set Parameter WebExtNoHistory to 0 (see "WebExtNoHistory" on page 617 in the Parameters chapter). The only way to solve the memory problem, is to close the Internet Explorer and reopen it again. This should only be done when the memory reaches a critical mass. During this time, the Display may contain no valid contents! There is a Protopas framework available: HtmlDialogControl (HtmlDict.dll) which checks the amount of used memory and restarts CCDialog.exe if a given limit is reached. HtmlDialogControl offers a set of parameters which are documented at CCOpen parameters. There is a parameter MAX_MEMORY_USE (see "MAX_MEMORY_USE" on page 681 in the Parameters chapter), which keeps the percentage of memory that may be in use until HtmlDialogControl shuts down the Web Graphical Service. The Web Graphical Service reopens automatically. Before shutdown, the application is closed by HtmlDialogControl. So the shutdown will not happen while a customer is in the middle of a transaction. In a Web-Extensions/HyperLink architecture the step which is is loaded on the page that shows the Out-Of-Service interface must have a cancel method. It is necessary to finish the running step properly in the Contents STD Control closing routines. Because there may be some peaks of max. used memory, the parameter MAX_MEMORY_USE_MINUTES (see "MAX_MEMORY_USE_MINUTES" on page 681 in the Parameters chapter) contains the time, the wasted memory must stay in maximum, before the Web Graphical Service is closed. HTML Dialog Control Version 2240 Version 2240 of HtmlDialogControl uses when no Wincor Xfs SYN service is running (e.g. no CCSYNCFW is loaded), first the method ServiceHandlerRequest of an application fw (CCApplic.xpp). When ServiceHandlerRequest is not supported, the method OperatorSessionRequest of an application fw is used.

May 2008

309

Memory leak of the Internet Explorer

Web Graphical Service components

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

Web Graphical Service components

Memory leak of the Internet Explorer

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

Memory leak of the Internet Explorer

Web Graphical Service components

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.

Calculation of the current memory usage:


The calculation of the current memory usage is done with the Win32 function GlobalMemoryStatus. This function offers among others the values: dwTotalPageFile (Total) and dwAvailPageFile (Avail). The current memory usage is calculated by: CurrentUsed = (Total - Avail) / Total * 100 Unfortunately this calculation doesnt contain a growing of the Swapfile. As far as Windows detects there is no more memory available, the swapfile grows and so also dwTotalPageFile grows, but dwAvailPageFile doesnt change in a way that CurrentUsed would decrease! That means in detail the Start Size of the Swapfile (see Windows System Settings Swapfile) determines the reboot of the system independent from the Max Size of the Swapfile!!! If you have a Memory Leak that can not be fixed and CCRM.exe is restarting too often, you can increase the minimum (!) size of the Swapfile and so CCRM is not booting so often. But you should check, if the performance of the complete application is still fine, because the machine may busy by swapping! Furthermore if your application can not be started, because CCRM detects during the start, that too much memory is used (Default more than 95 % over 5 minutes) you can also increase the minimum size of the swapfile!

312

May 2008

Web Graphical Service components

Using the Virtual Keyboard

Using the Virtual Keyboard


The virtual keyboard may be used at Self Service Devices, which are using a Touch screen and which do not have an alphanumeric keyboard. The Virtual Keyboard is implemented as a separated Browser instance, which may be loaded on top of the Web Graphical Service into one of the edges. The Keyboard must not be visible all the time. Only by activation by a button or activation by script on those pages, which have an edit Control with alphanumeric entry inside, the Keyboard may be brought to top. The virtual Keyboard itself is an HTML page, so the keys, keystrockes and the layout of the keyboard may be configured by a person, who is able to program scripts on dynamic HTML pages. Because the keyboard is implemented as an own instance, it is delivered an an own ProTopas executable file and has to be activated in the same way in the Restart manager as the Web Graphical Service. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 VK=C:\PROTOPAS\BIN\CCVK.EXE,4,1,6 The Programs parameter must therefore be changed as a result of the new entry. The Virtual Keyboard should be started before the Web Graphical Service: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 Programs=CCBase,CCBaseCtrl,application, VK, CCDialog,Appl_Check, CCStart Additionally there are some parameters, which have to be configured, before starting the Virtual Keyboard: First of all the VirtualKeyboardOn Parameter (see "VirtualKeyboardOn" on page 598 in the Parameters chapter) has to be set to 1. The HRef Parameter (see "HRef" on page 604 in the Parameters chapter) contains the Virtual Keyboard HTML page. Width (see "Width" on page 602 in the Parameters chapter) and Height (see "Height" on page 602 in the Parameters chapter) have to be used to configure the size of the Virtual Keyboard HTML page. Pos (see "Pos" on page 601 in the Parameters chapter) is used to configure the edge, into which the Virtual Keyboard shall be loaded. Additionally

May 2008

313

Using the Virtual Keyboard

Web Graphical Service components

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

Web Graphical Service components

Using the Virtual Keyboard

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

Using the Virtual Keyboard

Web Graphical Service components

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

Web Graphical Service components

Using the Virtual Keyboard

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

Using the Virtual Keyboard

Web Graphical Service components

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

Web Graphical Service components

Using the Virtual Keyboard

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

Logging the flow of the HTML pages Parameter MarketingAllowFocus

Web Graphical Service components

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)

Logging the flow of the HTML pages


Sometimes it is necessary to see the workflow of all HTML pages at one glimpse. So there is an option to trace this flow into a file. This function is designed only for test purposes. There are two log files created with the extension .0.LOG and .1.LOG. The Web Graphical Service creates the file with the extension .1.LOG when the file with the extension .0.LOG is full. If the file with the extension .1.LOG is even full, the file with the extension .0.LOG is overridden, etc. After reboot, the Web Graphical Service searches for the file it has written last and fills this file up until this is full. Additionally the start, stop of the Web Graphical Service, memory leaks and exceptions are also logged. To activate the logging mechanism, the LOGOn parameter (see "LOGOn" on page 597 in the Parameters chapter) has to be set to 1 and the path and filename without extension of the log file has to be specified in LOGFilePath parameter (see "LOGFilePath" on page 598 in the Parameters chapter). The size of one of both log files can be specified in LOGFileSize parameter (see "LOGFileSize" on page 598 in the Parameters chapter). And finally the size of the internal buffer queue is specified in LOGBufferSize (see "LOGBufferSize" on page 598 in the Parameters chapter) parameter, because not every entry can be written into the file directly, so it has to be buffered. This file may now be used to see, which html pages have been loaded during the actual session. The contents of the file may be as follows: 27/08/2002 10:19:55 START 27/08/2002 10:20:02 C:\PROTOPAS\Web\English\OutOfService.htm 27/08/2002 10:20:06 C:\PROTOPAS\Web\English\OutOfService.htm

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

Resizing the Web Graphical Service on a PC


If the Web Graphical Service shall be used in a test environment on a PC or Laptop, there are four parameter for the starting coordinates, width and heigth. This is useful when the resolution of the PC or Laptop is larger than the resolution used in the HTML screens. Additinally some other windows may be placed around the HTML Window. Just create the following four DWORD parameter and restart the Web Graphical Service: (see "WindowTop" on page 600 in the Parameters chapter), (see "WindowLeft" on page 600 in the Parameters chapter), (see "WindowWidth" on page 601 in the Parameters chapter), (see "WindowHeight" on page 601 in the Parameters chapter).

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

Interaction with other frameworks


Methods from the following frameworks are used: Data Framework (mandatory) Variable Framework (optional) Data Dictionary Framework (optional). If the framework is not loaded a warning is written into the trace. Variables that are set and read to interact with the calling application are specified within the HTML pages. They may be accessed either through the Variable Framework or through the Data Dictionary Framework. If the data dictionary is used, the variables must be supported by the calling 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

Key NUMERIC_KEY_6 NUMERIC_KEY_7 NUMERIC_KEY_8 NUMERIC_KEY_9 Parameters: chTerminateChar (OUT)

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.

Access to customer input


The results from an input element are supported in extended handling. They are available in three different ways: access through the Data Dictionary Framework, through the Variable Framework or by methods of the Dialog Framework. These methods have already been described (see also section Specification of the methods on page 326). In the case of access through variables, the following variable names are used by default unless other variables are specified within the configuration of the dialog element: DLG_INPUT_RESULT_COUNT contains the number of characters entered by the customer

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.

Trace and error logging


Trace and error logging for the Dialog Framework is initialized under the number 852. The following trace levels are defined: Definition HLEVEL_ANALYSE HLEVEL_WARNING HLEVEL_LEVEL_2 HLEVEL_DATA HLEVEL_PARAM HLEVEL_INPUT Description Function entry / exit Configuration error Second level function entry and exit General parameters Dialog parameters Data input Value 20 21 22 25 26 27

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.

Interaction with other frameworks


Methods from the following frameworks are used: Variable Framework (optional, but one is mandatory) Data Dictionary Framework (optonal, but one is mandatory) Check Framework (only when using the ProTopas/Web-Extensions Controls) EPP Framework (only when using the ProTopas/Web-Extensions Controls) Variables that are set and read to interact with the calling application are specified within the HTML page definitions. They may be accessed either through the Variable Framework or through the Data Dictionary Framework. If the data dictionary is used, the variables must be supported by the calling framework.

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

Trace and error logging


Trace and error logging for the Dialog Framework are initialized under the number 770. The following trace levels are defined: Definition EXT_METHODS Description Traces entry and exit of methods exported by the controls interface Traces entry and exit of event-firing of the control Traces entry and exit of internal methods Traces error events Traces important events For use of HndRegister Subfunction On Windows Message Handler Traces intern functions Traces property change functions HTML window data HTML page data Property Pages interactions methods Property Pages init methods Property Pages important message Class CDIB - in method Value 10

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

Virtual Keyboard Framework

Virtual Keyboard Framework


The class of the Virtual Keyboard Framework is called CCVKfw. In the following text VK is used as abbreviation. The class CCVKfw is a summary of routines to handle the virtual keyboard. The main task of the class CCVKfw is the simulating the key press of a real keyboard.

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

Interactions with other frameworks


Methods from the following frameworks are used: none

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

Returncodes for GetStatus define


CCVK_NOK CCVK_READY CCVK_ACTIVE

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

Virtual Keyboard Framework

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:

<html> <head><title>VK demo</title></head>

<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

Virtual Keyboard Framework

Trace and error logging


The trace and error logging for the CCVK Framework will be initialized under the number 783 (MODID_CCVK) The following trace levels are defined: : Define EXT_METHODS EXT_EVENTS INT_METHODS TRACE_ERROR TRACE_IMPORTANT HND_REGISTER SUB_FUNC WM_FUNC TRACE_ANALYSE Description Extern methods Extern events Intern methods Errors traces Important traces Registry handling traces Low Developer traces Low Developer traces Analysis trace flag Value 10 11 12 13 14 20 30 31 100

The error entries are described in the RCH file "783FERS.ENG".

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

WXPTBridge Return value Type Short Name sIndex

Public interface

Description [-32768, -1] error [ 1, 32767] OK, index of function job

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

char, length: [065534,even] [0- 32767]

Short

sLen2

BSTR

strParam3

char, length: [065534,even] [0- 32767]

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!

Fire Events PTEvent, when OK and Framework fire!

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!

Fire Events none Change Properties ListeningForEvents BridgeStatus

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

Fire Events none Change Properties none

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

Fire Events none Change Properties none

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)

Fire Events BridgeError Change Properties BridgeErrors

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

Fire Events none Change Properties none

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.

Fire Events none Change Properties none

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!

ListeningForEvents BSTR ListeningForEvents

The blank separated list of sniffed Frameworks! NOTE: can be NULL if problems occur!

BridgeStatus short BridgeStatus

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!

NOTE: Status 0, Half OK, used only in emergency cases!

BridgeErrors long BridgeErrors

Counter of the errors. NOTE: unique for a process!

May 2008

407

Trace and Error logging

WXPTBridge

Trace and Error logging


Trace
Tracing is implemented in module 788.ted. Trace bits 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

NOTE: turn always 11,12 on or better 10,11,12,13 on!

Error
Error logging is implemented in module 788FERR.eng.

408

May 2008

WXPTBridge Error logs ID ERR_ERROR ERR_MANIPULATION ERR_DEVELOPER

Trace and Error logging

Description General error in system. Error in using of component. Error in logic, contact developer!

May 2008

409

Trace and Error logging

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

Input status variables

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.

Input status variables


To make sure that the input field sequence is controlled correctly, every input field has an input status variable. This is a LONG value which can assume different states (see "Input statuses" on page 419). Like the name of the unformatted input variable, the name of the status variable is derived from the name of the input variable. Since an input variable is always a string, its name ends in _S. This notation has become established practice because it is easy to read. To form the name of an input status variable, the _S is simply replaced by _L. This is why it is important that input variable names must never end in _L. It would be impossible to distinguish input variables from input status variables if they did. The VAR_ prefix and the _L suffix are mandatory. Input variable: VAR_INPUT_AMOUNT_S Input status variable: VAR_INPUT_AMOUNT_L

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

Field sequence control

Input checks

Field sequence control


The Contents (STD/ATM) control is responsible for controlling the field sequence. Each input field has a sequence number in a set of parameters. The sequence numbers for all Edit controls on an Internet page do not necessarily have to be consecutive in ascending order or begin with 1. However, they do have to be allocated and must not appear twice on an Internet page, as this would cause an error to be written to the error log. They must not overlap with the field IDs of the buttons (see "Button control - General 2 page for function keys" on page 85). When the page is initialized, the Contents (STD/ATM) control ascertains the sequence number for every Edit control that is on the page, and builds an internal management facility for sequence control. Using the sequence numbers and input statuses, the Contents (STD/ATM) control can ascertain precisely which control has to get the input focus first. Customers can freely choose the input field that they want to process next by touching it on the screen. When the input is confirmed, however, the focus automatically moves to the field which has the lowest sequence number. However, this only applies to fields whose input status has not yet been set to OK. By setting the parameter SetInputFocusNext to 1 (see SetInputFocusNext in the Parameters manual on page 649) the focus will not move to the field with the lowest but to the field with the next sequence number. This might be a little more intuitive to the customer. Customers can also use the <Tab> or the <Cursor up> key to move from field to field. Here, the Contents (STD/ATM) control moves the focus to the field which has the next higher sequence number. This continues until the field with the highest sequence number has been reached. If a customer simultaneously presses the <Tab> key and the <Shift> key or the <Cursor down> key, then the field with the next lower sequence number is selected. This continues until the field with the lowest sequence number has been reached. Jumping to other input fields with the <Tab> key or by selecting them directly via the touchscreen, however, does not have the same meaning as pressing the confirmation key. With the <Tab> key, only the focus is passed on. No input check is carried out.

416

May 2008

Input checks

Field sequence control

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

Field sequence control

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.

Special input confirmation handling


Because some banks require another confirmation handling, there is an option to create a function key CONFIRMALL on pages with more than one edit field. This key will start the check routines of all input fields which have not been checked before. This key may be used to leave the page. If the customer has jumped through the input field by use of the touch screen or <Tab> and <Cursor up>, <Cursor down> key this will help to do a final check at the end without activation fields, which have not been confirmed before. Of course if a check routine recognises an error, the corresponding field will be activated and the error message is shown.

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

Dependent input fields

Dependent input fields


Dependencies between input fields are frequent in an application. For example, the bank code, account number and bank name fields depend directly on each other. If the bank code is input, the bank name and the number of the check digit routine for the account number are ascertained from a database. If the account number is the first data that is input, it cannot be checked immediately because the number of the check digit routine is not ascertained until the bank code has been input. Another example is the input of FROM / TO dates. Here, too, the two fields depend directly on each other. In order to handle these dependencies, a technique has been developed in the Contents (STD/ATM) control which builds a decision table on the basis of the input statuses. This decision table is used to assign the input focus.

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.

FIELD_CONTAINS_ERROR (8) FIELD_NOK_USER_OVERWRITE (16)

May 2008

419

Dependent input fields

Input checks

Input status (decimal value) FIELD_BECAME_UNCHECKED (32)

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

Dependent input fields

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

Dependent input fields

Input checks

HKEY_LOCAL_MACHINE\SOFTWARE\Wincor Nixdorf\ CSC-W32/CurrentVersion/CSCSCAN/ SUBST_SIGN = 40

Editing scanned documents


When a document is scanned in, the customer can change any characters that are not recognized by the scanner. After input of a character and subsequent confirmation with the <Confirm> or <Return> key, the cursor is moved to the next unrecognized character. This continues until all unrecognized characters have been replaced. Only then is the input check called and possible error messages output. To enable replacement of unrecognized characters, the VAR_SCANNER_ERROR_L variable is set to 1. Variable VAR_SCANNER_ERROR_L Length LONG Meaning 0: Normal input check 1: Replacement of unrecognized characters is enabled

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

The Dialog() function

The Dialog() function


The Dialog() function is called directly from the Edit Control. It can only be called in an editor with which you can parameterize ActiveX controls. In addition to the input parameter for the number of the check routine the function returns three strings: The parameter string, the dependent input field string and the return code string. There is also a flag which determines whether the return code string and dependent input field string or the parameter string is to be returned. Accordingly, the dialog function is called twice during parameterization. The first call is issued when the General 1 page of the Edit control is opened. This call is to pass the dependent input field string and the return code string. The return codes are then displayed in the Error list box. For every return code, the user must input an Internet page to display the corresponding message. The return code string has the following structure: Return code=Description of return::Return code=Description of return::.... Consequently, the description of the return must not contain any equals sign or colon. A list of variable names for the dependent input fields is also returned at this point. The variable names are returned to the Edit control in the form Variable name::Variable name::.... Consequently the variable names must not contain a colon. The Edit control stores the string on the Internet page in its own CheckDependencies property. This string is passed again when the Check() function is called. Dialog() is called the second time when the <Parameter> button is selected. At this point the developer can display a self-designed dialog asking for supplementary check parameters. The contents of the parameters are returned to the Edit control in the form Parameter name=Contents::Parametername= Contents::.... Consequently the parameter name and contents must not contain any equals signs or colons. The Edit control stores the parameter string on the Internet page in its own CheckParameter property. This parameter string is passed to the Format() and Check() functions for input checking and evaluation at runtime.

The Format() function


The Format() function is called by the Contents (STD/ATM) control when the page is initialized in order to determine default values or format unformatted variables so that they can be displayed. This function is important when data is transferred from the host and this data is to be made available in input fields for

May 2008

423

The Check() function

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.

The Check() function


Check() is the function that actually checks the customers input. This function is called when the customer confirms an input. A correction message can be called on the basis of the return code. This is handled by the Contents (STD/ATM) control. To make dependent input fields invalid or to set inputs in other fields during a field check, the return parameter of the Check() function provides a facility to notify the Contents (STD/ATM) control.

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 attempt counter

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.

Input attempt counter


For every input field on an Internet page, the Contents (STD/ATM) control creates a variable containing the number of input attempts. Input variable: VAR_INPUT_AMOUNT_S Variable for input attempt counter: VAR_INPUT_AMOUNT_S_ERR_COUNTER_L When the page is loaded, the Contents (STD/ATM) control initializes this variable to 0. Whenever the Check() function is called, the name of the counter can be formed, checked and incremented on the basis of the name of the input

426

May 2008

Input checks

Standard input check dialogs

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.

Standard input check dialogs


The following sections explain the check dialogs that exist in the standard. There are the following input checks: 0: 1: 2: 3: 4: No Check Alphanumeric check Numeric check Date check 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

Standard input check dialogs

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

Standard input check dialogs

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

Standard input check dialogs

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

Standard input check dialogs

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

Standard input check dialogs

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

Standard input check dialogs

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

Standard input check dialogs

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"

where x is the drive and y is the path to the 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

Interactions with other frameworks


Methods from the following frameworks are used: Variable Framework CCVarFW Internet Graphical Service PCDialogFW Data Framework CCDataFW

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

Check Framework Error definitions Definition


CCCHECKFW_RC_SUCCESS CCCHECKFW_RC_GENERAL_ERROR CCCHECKFW_RC_INPUT_TOO_SHORT CCCHECKFW_RC_INPUT_TOO_LONG CCCHECKFW_RC_CHARS_NOT_ALLOWED CCCHECKFW_RC_NOT_DTA CCCHECKFW_RC_TOO_MANY_LINES CCCHECKFW_RC_TOO_MANY_CHARS_PER_LINE CCCHECKFW_RC_TOO_FEW_CHARS_PER_LINE CCCHECKFW_RC_TOO_MANY_CHARS_DUE_TO_UMLAUTS CCCHECKFW_RC_TOO_MANY_CHARS CCCHECKFW_RC_NO_DIGITS CCCHECKFW_RC_TOO_FEW_CHARS CCCHECKFW_RC_NO_NUMERIC_INPUT CCCHECKFW_RC_INPUT_TOO_HIGH CCCHECKFW_RC_INPUT_TOO_SMALL CCCHECKFW_RC_NOT_IN_StepRANGE CCCHECKFW_RC_WRONG_LIMITS CCCHECKFW_RC_AMOUNT_NOT_IN_LIMIT CCCHECKFW_RC_TOO_MANY_ERRORS_CHIP_AMOUNT CCCHECKFW_RC_TOO_MANY_POSTKOMMADIGITS CCCHECKFW_RC_NO_DATE_FORMAT CCCHECKFW_RC_DATE_TOO_EARLY CCCHECKFW_RC_DATE_TOO_LATE CCCHECKFW_RC_DATE_MISMATCH CCCHECKFW_RC_DATE_IN_PAST_NOT_ALLOWED CCCHECKFW_RC_CARDHOLDER_ACCOUNT CCCHECKFW_RC_ACCOUNT_CHECKNUMBER_FAILED CCCHECKFW_RC_ENTRY_NOT_FOUND

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

Return codes of Calculation Definition


CALCULATION_RETURN_READY CALCULATION_RETURN_INPUT_CREDITAMOUNT CALCULATION_RETURN_INPUT_PERIOD

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

Trace and error logging


Trace and error logging for the Check Framework are initialized under the number 780 (MODID_TA_CHECK) The following trace levels are defined: Definition T_CHECK_A T_CHECK_1 T_CHECK_2 T_CHECK_3 T_CHECK_4 T_TOOLS_A T_TOOLS_1 T_TOOLS_2 Description ext. Function entries/exits & errors int. Function entries/exits Input/Output Values Control Status Control CheckTools: ext. Function entries/exits & errors CheckTools: int. Function entries/exits CheckTools: extended information Value 10 11 12 13 14 15 16 17

The error entries are described in the RCH file "780FERS.ENG".

May 2008

447

Check Framework

448

May 2008

Displaying external pages

Configuring external Internet pages

Displaying external pages


Since ProTopas/Web-Extensions are based on Internet technology, it is also possible to display Internet pages which are external to the product from any server. However, such pages will generally not have the same layout as pages which do belong to the product. When displaying Internet pages that are external to the product, ProTopas/Web-Extensions only takes up a small area of the screen, the navigation button bar, in order to leave as much space as possible for them. The size and position (top, bottom, left, right) of the navigation button bar can be defined freely. This bar is an Internet page containing special function keys.

Configuring external Internet pages


Every Internet page that does not belong to the application must be entered in the AllowList (see also section Structure of the AllowList on page 294). This can be done with the aid of wildcards or by allowing the entire Internet server on which the Internet page is stored. For all pages that do not belong to the product it is important to specify a 0 in the GENERATE column of the AllowList and a page timeout in the TIMER column. These two entries tell the Web Graphical Service that an intranet page is to be loaded and cause the screen to switch automatically to the mode that shows the navigation button bar. The timeout for the page is monitored automatically. If the customer does not make any inputs during the defined time, the Web Graphical Service clears the screen and launches the application with the Internet page that is specified in the StartPage parameter (see "StartPage" on page 615 in the Parameters chapter). The addresses of all pages that are to be displayed must be entered in the AllowList. If an allowed page contains links to other Internet pages, for instance in order to load images, these addresses must also be specified. Otherwise the application will stop navigation to the page in question and will load the page specified in the ErrorURL parameter (see "ErrorURL" on page 619 in the Parameters chapter).

May 2008

449

Displaying the cursor

Displaying external pages

Displaying the cursor


If the cursor is to be displayed in the mode for displaying external pages, the parameter InternetModeCursorEnable (see "InternetModeCursorEnable" on page 615 in the Parameters chapter) must be set to 1. This may be necessary, for example, if navigation through the external pages is to be performed with a trackball on the self-service device. If the parameter remains set to 0 (default), the cursor for displaying external pages will be deactivated, even if it is activated during the application (parameter CursorEnable (see "CursorEnable" on page 615 in the Parameters chapter)).

The navigation button bar


The navigation button bar is an Internet page whose width and height are defined by the SurfingBrowserWidth parameter (see "SurfingBrowserWidth" on page 608 in the Parameters chapter). The position at which the bar appears is read from the SurfingBrowserPos parameter (see "SurfingBrowserPos" on page 608 in the Parameters chapter). This bar can be displayed at the top, bottom, left or right edge of the screen. The name and address of this page are defined by the SurfingURL parameter (see "SurfingURL" on page 607 in the Parameters chapter). This page must show function keys that have been designed specifically to navigate on Internet pages. The values of these function keys all begin with SURFING_ (see "Function keys with a fixed meaning" on page 87).There is a button to return to the application, <Back> and <Forward> buttons, and scrolling buttons.

Displaying external pages without a navigation button bar


In keeping with the parameterization of the AllowList, an Internet page is either interpreted as an external or product-related Internet page. (see also Structure of the AllowList on page 294). In the case of external pages, the navigation button bar is always displayed to enable the possibility of cancellation, timeout and returning to the actual application. There may also be cases in which a navigation button bar is considered an impediment. In this case, the navigation button bar can be hidden via the parameter SurfingBrowser (see "SurfingBrowser" on page 607 in the Parameters chapter). If the external pages are to offer the possibility of cancellation and returning to the productrelated page, any element must be given a link 450 May 2008

Displaying external pages

Stopping the Internet mode

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.

Stopping the Internet mode


If the function key which has the value SURFING_CANCEL is pressed or if the customer fails to make an input within the time defined in the AllowList, an event CCDIALOG_MODE_SURFING_END is fired. The user interface appears completely gray for a short time. A message can be output in a box for the customer at this time. The size of this box is defined by the MessageDLGWidth parameter (see "MessageDLGWidth" on page 612 in the Parameters chapter) and the MessageDLGHeight parameter (see "MessageDLGHeight" on page 612 in the Parameters chapter). A message to be output in the box can be specified in the Text parameter (see "Text" on page 612 in the Parameters chapter). Other parameters define the position and font for the message. During display of this message, the Web Graphical Service restarts. The next page it shows is the Internet page from the StartPage parameter (see "StartPage" on page 615 in the Parameters chapter). A more elegant method to finish the internet mode is to show a bitmap fullscreen during the restart of the Web Graphical Service.The SurfingJOBSOn parameter (see "SurfingJOBSOn" on page 613 in the Parameters chapter) has to be set to 1 first. In the SurfingJOBSStart parameter (see "SurfingJOBSStart" on page 613 in the Parameters chapter) the programm for displaying the bitmap is configured. SurfingJOBSEnd (see "SurfingJOBSEnd" on page 614 in the Parameters chapter) contains the programm to stop the displaying of the bitmap. Because the time interval between the start and teh stop is too short, a pause may be configured in the SurfingJOBSPause parameter (see "SurfingJOBSPause" on page 614 in the Parameters chapter). SurfingJOBSCheck (see "SurfingJOBSCheck" on page 614 in the Parameters chapter) double checks if both the start and the end programm for displaying the page have been stopped.

May 2008

451

Access violations

Displaying external pages

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.

Accessing https:// pages


While accessing https:// pages, there are some restrictions to know. It is always the best to access those pages directly without generating those pages. When the page should be generated, it is not possible to use the post methode, because generated pages are temporary stored on the harddisk, which means, from the browsers point of view they come from a different location than the https:// Server. When Generation is mandatory all pages have top be generated. Mixing generated and not generated pages from one https:// server is not allowed. When the post method has to be used, it is good praxis to use the Keyword NO_LOCAL_CACHE in the OPTIONAL 8th column of the table in the AllowList (see also section AllowList on page 292). Another problem occures, when a new browser window is opened from a page in https:// session. Normally the Web Graphical Service is loading an internal IE page into new windows. This may cause security exceptions in an https session. So a page from an https:// server must be used. The parameter HttpsBlankPage (see "HttpsBlankPage" on page 649 in the Parameters chapter) must be used to specify any of the valid pages from the server to be used as an opener page.

452

May 2008

Displaying external pages

Scripting with keys in external pages

Scripting with keys in external pages


In external Page mode scripting with keys not not possible for each key. This is a problem because of the architecture of the Web Graphical Service. Enhancements have been made to support at least the most importants keysstrokes in scripts. So the events OnKeyUp and OnKeyDown and the <Tab>-Key is supported now. To activate those Buttons for scripting the following Parameters have to be set to 1. Please keep in mind, that the pages are parsed for script events, when those parameter have been set to 1. WebExtTabing (see "WebExtTabing" on page 616 in the Parameters chapter) WebExtKeyScripting (see "WebExtKeyScripting" on page 617 in the Parameters chapter) If there are more keys in a script in an external page, which are not supported and which are urgently needed, please post a change request to the ProTopas/Web-Extensions.

Opening, Closing and rezising Popup Windows


In external page mode it may be necessary in scripts to open a new browser instance as a popup window. This may be used for showing print dialogs, f.e. To open a new window as a popup there is a reserved keyword about:SNI_MSWND_OPEN, which has to be set as a Prefix in front of the Links to this new page and a suffix SNI_MSWND_OPEN_ENDMARK, which has to be added at the end of the link. By using a window.navigate() command, a page which is surounded by those tags, is opened in a new instance. window.navigate(about:SNI_MSWND_OPENhttp://kamrun/warni ng.htmSNI_MSWND_OPEN_ENDMARK); To resize this new instance the Keyword about:SNI_MSWND_MOVExxxxyyyywwwwhhhh has to be used. The digits behind this keyword determine the position and size of the instance on the screen. xxxx is the x coordinate, yyyy the y coordinate, wwww the width and hhhh the height. This keyword must be used in a window.navigate() command. window.navigate(about:SNI_MSWND_MOVE0044005407120260);

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 NavigateGotoURL (BSTR Url)

void NavigateOpenNewWindow (BSTR Url, int Left, int Top, int Width, int Height) void PlaySound(BSTR Soundfile)

456

May 2008

Scripting

Method void Log(BSTR LogString, int iLogType)

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).

variantArray ADAExec(BSTR strCMD)

Event OnTimeout() (only Contents STD control)

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)

AfterUserInteraction(short ID, BSTR Contents)

May 2008

457

Scripting

Event BeforeButtonPressed(short ID)

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.

AfterButtonPressed(short ID, short selection, BSTR FunctionValue)

BeforeEditComplete(short ID)

AfterEditComplete(short ID, short reaction, BSTR Contents)

BeforeGotFocus(short ID)

458

May 2008

Scripting

Event AfterGotFocus(short ID)

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.

beforeInputCheck(short ID, short EditState, short CheckRoutineID, BSTR Contents)

afterInputCheckOK(short ID, BSTR Contents)

May 2008

459

Scripting

Event onALLInputCtrlsOK(short SubmitStatus)

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

Event void OnContentsScann()

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

Event BeforeRunComplete(short sRetCode)

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

Event AfterRunComplete(short sRetCode, BSTR bstrURL)

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

Event OnSoftkeyPressed(BSTR bstrSoftkey)

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)

Property int NewWindowTop

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

Property int NewWindowHeight int CTRLstatus

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

Method void SetFocusToButton() void TriggerControl()

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

void EnterViewState (short ViewState)

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

Property BSTR Href

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()

void SetSelection(short sStart, short sEnd)

Short Correct()

Property BSTR Instruction BSTR CaptionText BSTR CaptionFont

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

Property short CaptionSize long CaptionColour long CaptionColourDisabled

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

short InputAlignX short InputAlignY BOOL InputBold

May 2008

469

Scripting

Property BOOL InputItalic BOOL InputUnderline BOOL InputStrikeout short InputCharMax

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

Property BSTR InputFont short InputSize long InputColour long InputColourDisabled

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()

Property BSTR PinImage BSTR CaptionText

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

short ProcessStep2 (BSTR SelectedFramework, BSTR SelectedStep, BSTR SelectedParameter)

void OnUnload()

void End()

May 2008

473

Scripting

Method void Restart() void Silent()

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.

Event RunComplete (short Returncode) StepEvent (BSTR String)

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.

Property BSTR StepSelection BSTR Framework

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

Property short ReturnCode

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.

Property BSTR VariableName VARIANT VariableValue

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

Property short VariableTyp (read only)

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

Property short VariableTyp (read only) continue...

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

long VariableIndex (read only) long VariableLength (read only)

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

Property short AutoGetOnVariableNameChange

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()

Property BSTR VariableName BSTR VariableValue

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 StopSniff() boolean AddSniff(BSTR strFramework)

boolean RemoveSniff(BSTR strFramework) boolean StartKeepAlive(long lInterval)

boolean StopKeepAlive()

boolean IsRunningSniff()

boolean IsRunningKeepAlive()

480

May 2008

Scripting

Property boolean AutoStart

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.

BSTR Frameworks (set only in the properties of the control)

BSTR FrameworksRunning (get)

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()

Property BSTR Name (get/set)

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()

VARIANT Value (get)

484

May 2008

Scripting

Property BSTR Root (get/set)

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.

BSTR Type (get)

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

Method void Log(BSTR strLog, short sLogType)

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.

BSTR GetWXText(BSTR strIndex, BSTR strDefault, BOOL bErrorLog)

Property BSTR PTName

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

short BridgeStatus long BridgeErrors

May 2008

487

The Active VarFW control

Scripting

Event PTEvent(BSTR strFW, short sID, BSTR strData)

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)

The Active VarFW control


VarFW has been developed to exchange data between scripts on the HTML page and the business modules. This is another ActiveX control. It reads from the Variable Framework and writes to it. Both string variables and long variables can be read and set. Different access functions are provided for this. First, the Active VarFW control has to be created on the HTML page for which scripts are intended to be used to exchange data with the Variable Framework: <object ID="varFW" WIDTH="100" HEIGHT="51" CLASSID= "CLSID:7E4AA518-12D9-11D1-934B-0000E8A6CB06"> <param <param <param <param </object> name="_Version" value="65536"> name="_ExtentX" value="2646"> name="_ExtentY" value="1341"> name="_StockProps" value="0">

488

May 2008

Scripting

The Active DataDict control

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

The Active DataDict control


Active DataDict control has even been developed to exchange data between scripts on the HTML page and the Steps. It reads from the Data Dictionary Framework and writes to it. All variable types which are available in the Data

May 2008

489

The Active DataDict control

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

Arrays of variables are using the syntax: ActiveDataDictFW1.VariableName = "VAR_ARRAY_S[0]"

490

May 2008

Scripting Adapting the maximum buffer size

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

Logging into Error/Trace Log or Journal by Script

Scripting

The same handling work with the Edit and List Control, if the property sequence number on property page General2 is set to 0.

Logging into Error/Trace Log or Journal by Script


It is possible to log data into the Error Log and Trace Log or in Journal by script. There are two interfaces: Either the PCContents.Log() method may be used or window.navigate() method with a reserved keyword. The different methods are explained here in this chapter: Write an Error entry Use of window.navigate("WNerror:Text"); The navigate method is using the Keyword WNerror: with the text to be written to the error log direct behind it. This text is appearing in the Add: section of an error entry. Use of PCContents.Log( "Text", 2) With the Log() method there are two parameters to be filled. The first is the text to be written into the Add: section of an error entry and the second must be a static 2 for logging into an error log. The error entry is as follows: 10/17 020823 19:50:45.01 TRCERR CC_ENTRY PID:00000528.00000544 Data:131 Type : RCH_ACT_USER_APPL_4 0x64 Module : CCDlgFW (770) StClass: 0x6413 Process: CCDialog.exe APIName: HTML script StCode : CCDIALOG_GENERAL_ERROR (0x24000110) SrcName: PCBrowserWnd.cpp SrcLine: 645 Add : 'Text'

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

Logging into Error/Trace Log or Journal by Script

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

Logging into Error/Trace Log or Journal by Script

Scripting

496

May 2008

Control of the ADA service

Control of the ADA service


General idea The general idea of the ADA service is to create a possibility of using selfservice applications by persons with disabilities. The ADA service gives chosen text to a text-to-speech engine which then would be read out. To specify which text should be read out the ADA service must be configured. Furthermore you can configure the starting method and a special timeout extension which increases the timout on pages using ADA. Requirements To activate ADA the ProTopas ADA Framework, EPPRC Framework, Special Electronics Framework and TTS Framework have to be loaded. For more details please refer to: ProTopas Module Construction Kit Programming Guide, chapter Frameworks, ADA Framework (since Version 4.1). ProTopas/Manager Version 4.1 and CEN/XFS SIU30 Service is needed at least . Configuration The configuration for the ADA Framework is listed in the ProTopas Module Construction Kit documentation. Additionally the following two Parameters have to be set: HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas Current Version ActiveX GraphicalService CCDialog ADA=1 (Dword) EPPRTC=1 (Dword)

May 2008

497

Starting the service

Control of the ADA service

Starting the service


Start/Stop of the ADA service To start the ADA service you have to activate the checkboxes Epp RTC Start, Command Idle and Tutorial Allow tutorial start (with one of its options) on the ADA configuration panel on the starting page, i.e. the first page of the application. If you dont want to use a special starting event, then you have to activate the checkbox Command Start instead of Command Idle. To stop the ADA service you have to activate the checkboxes Epp RTC Stop and Command Stop on the last page of the application. In some cases the first and the last page are identical. Therefore you need the Command Idle and Stop on this page because it is the first page at the beginning of each transaction and it is the last page at end of the transaction, too. Tutorial If the Command Idle is used the service needs a special start event to be started. In this case starting the service and starting the text-to-speech support are not the same. The Command Idle starts the service which waits for a start event. Only the configured start event starts the text-to-speech support. For this case the text-to-speech support is also called the tutorial. To allow starting the tutorial from additional pages, you only have to activate the checkbox Tutorial Allow tutorial start (with one of its options) on these pages. It is mandatory to activate Allow tutorial start in one of the pages after the ADA command is started, because a good ADA implementation needs an Tutorial mandatory. Otherwise no text will be spoken. If no Tutorial shall be spoken in the application, please configure Allow tutorial start with option skip. Starting Events There are two possibilities of starting the service. You can either set a special key sequence or you can enable the ADA Framework to wait for phones plugged in to start the service. KEY_SEQUENCE: determines which key sequence causes the ADA mode to be started. The sequence is specified by a non-empty comma separated list of key codes.

498

May 2008

Control of the ADA service

Starting the service

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

Default start values

Control of the ADA service

Default start values


Entry ADA ADATimeoutExt ADAActionOnStart ADATextPageMenu ADATextPageHint ADATextPageContent ADATextPageKeys ADATextEditHint ADATextEditContent ADAEchoButton ADAEchoEdit ADAEchoEPP ADAMacroActiveKeys ADAMacroEchoKeys Value 0 200 SKIP You are in the WX.Contents.PageHeadline WX.Contents.PageInstruction WX.RT.p.WXADAContent.WXADAText WX.F.ActiveKeys WX.Edit.Instruction! You have entered WX.Edit.InputText, please confirm it! WX.F.EchoKeys.all 0=null_WXSEP_1=one_WXSEP_2= two... Thanks For WX.Button.Text press WX.Button.Softkey. WX.Button.Text

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

Control of the ADA service

Default start values

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

Control of the ADA service

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

OBJECT Contents Button Edit ActiveKeys EchoKeys TAG.ID

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

Control of the ADA service

Macros

PARAM Instruction InputText Numeric Function All innerHTML argument

used by Object Edit Edit EchoKeys EchoKeys EchoKeys RT specific RT specific HTML TAG argument

May 2008

503

Macros

Control of the ADA service

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

EchoEdit EchoEPP MacroEchoKeys

MacroActiveKeys

Description of the important macros WX.Contents.PageHeadline: This macro gives access to the Page Headline set by the PCContentsCTRL.

504

May 2008

Control of the ADA service

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

Control of the ADA service

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

Control of the ADA service The macro WX.RT.xxx

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

Control of the ADA service

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

Control of the ADA service

Scripting

Command DecreaseRate SetDefPrivacy GetDefPrivacy SetEcho

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

Scripting Parameter description and ranges Parameter Text Prio Meaning

Control of the ADA service

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

Control of the ADA service

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

Control of the ADA service

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

Control of the ADA service

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:

var res = (new VBArray($C().ADAExec('GetLanguage'))).toArray();


res[0] will contail the error code and res[1] the returned string (here: "en_US").

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

Control of the ADA service

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!

ADA Status Variable


With the help of the ADA Status variable you can check if ADA is Active, Idle Stopped, etc. This is a Data Dictionary variable, which can be requested by the Active Data Dictionary Control in the HTML Pages. DataDictionary variable WX_ADA_STATUS Value 0 - ADA is OFF 1 - ADA is Stopped 2 - ADA is IDLE 3 - ADA is Active, but Tutorial has not been played 4 - ADA is running

514

May 2008

Customer Relationship Marketing

Customer Relationship Marketing


General idea The general idea of the CRM service is to make it possible to use additional GUI on top of running self-service applications. Stability and security are main goals for the CRM service. All components use Unicode and all ProTopas strings are UTF8 coded for multilanguage support. Requirements To use CRM, the ProTopas CCDataFW and CCDatDic frameworks have to be loaded. If the EPP services is used the EppRTC Framework has to be loaded. If the formating services are used in the variable exchange, the Format Framework has to be loaded. And finally if ADA service is used, the complete WebExtensions application has to be loaded. The Microsoft Internet Explorer 6 forms the basis of the user interface. It is essential for this program to be installed on the terminal device.

May 2008

515

Components of the CRM service

Customer Relationship Marketing

Components of the CRM service


Architecture

CCDialog Framework

CRM Server (z.B. ProSales)

CCCrm Framework
Http Ctrl DD Vars

HTML page

PCButton(s) COM PCEdit(s) CRM Contents

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

Customer Relationship Marketing

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!

Configuration The logical name of the CRM Framework is CCCRM.

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

Customer Relationship Marketing

CWinApp CDialog CCCRM CCCRM_HTTP Msxml2.XMLHTTP.3.0

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

Customer Relationship Marketing

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!

NOTE: CRM will always interfere visually with 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

CCCRM framework Parameter

Customer Relationship Marketing

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

CCCRM framework TimerHTMLWrite

Customer Relationship Marketing

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

Customer Relationship Marketing CheckWND

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

Customer Relationship Marketing

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

Customer Relationship Marketing Public interface

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

Customer Relationship Marketing

CCCRMfw .SetPos sets the CRM dialog top, left coordinate, move CRM

526

May 2008

Customer Relationship Marketing Defines and data structures

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

Returncodes for GetStatus define


CCCRM_STATUS_NOK CCCRM_STATUS_WAITING CCCRM_STATUS_STARTING CCCRM_STATUS_STARTED CCCRM_STATUS_RUNNING CCCRM_STATUS_STOPING CCCRM_STATUS_STOPED CCCRM_STATUS_DELAYEDSTOPING

value
0 1 2 3 4 5 6 7

Returncodes for GetVisibility define


CCCRM_VISIBILITY_HIDDEN CCCRM_VISIBILITY_VISIBLE

value
0 1

May 2008

527

CCCRM framework

Customer Relationship Marketing

Input parameters of Start, Stop, Resume, Pause define


CCCRM_PARAM_NONE CCCRM_PARAM_STARTANDSHOW CCCRM_PARAM_STARTANDSHOWONSTARTREADY CCCRM_PARAM_STARTANDWAITFORSHOW CCCRM_PARAM_STOPANDHIDE CCCRM_PARAM_STOPANDHIDEONSTOPREADY CCCRM_PARAM_STOPANDWAITFORHIDE CCCRM_PARAM_PAUSEANDHIDE CCCRM_PARAM_PAUSEANDWAITFORHIDE CCCRM_PARAM_RESUMEANDSHOW CCCRM_PARAM_RESUMEANDWAITFORSHOW

value
0 1 2 3 1 2 3 1 3 1 3

Data dictionary variables array name CCCRM_VAR_CONTAINER_L


CCCRM_VAR_CONTAINER_S

array
0 - 255 0 - 255

528

May 2008

Customer Relationship Marketing Data dictionary variables name


CCCRM_STATE_STATUS_L CCCRM_STATE_SESSION_RC_L CCCRM_STATE_PRELOAD_STATUS_L CCCRM_STATE_CONTENT_STATUS_L CCCRM_STATE_CONTENT_SESSION_ RC_L CCCRM_VAR_DLG_INPUT_RESULT_S CCCRM_VAR_DLG_INPUT1_S CCCRM_VAR_DLG_INPUT9_S 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

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

Values for CCCRM_STATE_PRELOAD_STATUS_L define


CCCRM_STATUS_PRELOAD_UNKNOWN CCCRM_STATUS_PRELOAD_STARTED CCCRM_STATUS_PRELOAD_LOADED CCCRM_STATUS_PRELOAD_OK

value
0 1 2 3

May 2008

529

CCCRM framework Values for CCCRM_STATE_SESSION_RC_L define


CCCRM_RC_SESSION_UNKNOWN CCCRM_RC_SESSION_OK CCCRM_RC_SESSION_UNKNOWN CCCRM_RC_SESSION_TIMEOUT CCCRM_RC_SESSION_CANCEL

Customer Relationship Marketing

value
0 1 -1 -2 -3

Values for CCCRM_STATE_CONTENT_STATUS_L define


CCCRM_HTTP_STATUS_NOK CCCRM_HTTP_STATUS_WAITING CCCRM_HTTP_STATUS_LOADING CCCRM_HTTP_STATUS_LOADED CCCRM_HTTP_STATUS_PAUSED CCCRM_HTTP_STATUS_INTERACTIVE CCCRM_HTTP_STATUS_COMPLETE CCCRM_HTTP_STATUS_ENDED CCCRM_HTTP_STATUS_STOPING CCCRM_HTTP_STATUS_STOPED CCCRM_HTTP_STATUS_DEAD CCCRM_HTTP_STATUS_PAUSING CCCRM_HTTP_STATUS_RESUMING

value
0 1 2 3 4 5 6 7 8 9 10 11 12

Values for CCCRM_STATE_CONTENT_SESSION_RC_L define


CCCRM_HTTP_RC_UNKNOWN CCCRM_HTTP_RC_CONTENT_TIMEOUT CCCRM_HTTP_RC_CONTENT_END

value
0 1 2

530

May 2008

Customer Relationship Marketing

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

CCCRM framework Events

Customer Relationship Marketing

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-

sation of applications and framework dialogs!

532

May 2008

Customer Relationship Marketing CCCRM_EVT_STOP_READY

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

CCCRM framework Specification of the methods

Customer Relationship Marketing

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.

Customer Relationship Marketing

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.

Customer Relationship Marketing

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:

Customer Relationship Marketing

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

Customer Relationship Marketing

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:

Customer Relationship Marketing

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:

Customer Relationship Marketing

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:

Customer Relationship Marketing

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.

Customer Relationship Marketing

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

CCCRM framework CCCRMfw.Hide Syntax: SHORT CCCRMfw.Hide ( VOID ) Function:

Customer Relationship Marketing

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:

Customer Relationship Marketing

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:

Customer Relationship Marketing

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

Customer Relationship Marketing Trace and error logging

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

NOTE: turn always 11,12,13 on!

The error entries are described in the RCH file "784FERS.ENG".

May 2008

555

CRMContentsCtrl

Customer Relationship Marketing

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

Customer Relationship Marketing General idea

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

CRMContentsCtrl Public interface

Customer Relationship Marketing

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

Customer Relationship Marketing

CRMContentsCtrl

MAT;DEFAULT&] that is done byCRMContentsCtrl during the moment of usage!

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

Customer Relationship Marketing

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

Customer Relationship Marketing Events

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

CRMContentsCtrl Using EPP

Customer Relationship Marketing

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

string send to PCEdit


\r \b \b R L 00 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

Customer Relationship Marketing

CRMContentsCtrl

Mapping CCEPPfw Softkeys to CRMContentsCtrl stringsl CCEPPfw Softkey


CCEPPFW_FUNCKEY_FDK01 CCEPPFW_FUNCKEY_FDK02 CCEPPFW_FUNCKEY_FDK03 CCEPPFW_FUNCKEY_FDK04 CCEPPFW_FUNCKEY_FDK05 CCEPPFW_FUNCKEY_FDK06 CCEPPFW_FUNCKEY_FDK07 CCEPPFW_FUNCKEY_FDK08 CCEPPFW_FUNCKEY_FDK09 CCEPPFW_FUNCKEY_FDK10 CCEPPFW_FUNCKEY_FDK11 CCEPPFW_FUNCKEY_FDK12 CCEPPFW_FUNCKEY_FDK13 CCEPPFW_FUNCKEY_FDK14 CCEPPFW_FUNCKEY_FDK15 CCEPPFW_FUNCKEY_FDK16 CCEPPFW_FUNCKEY_FDK17 CCEPPFW_FUNCKEY_FDK18 CCEPPFW_FUNCKEY_FDK19 CCEPPFW_FUNCKEY_FDK20 CCEPPFW_FUNCKEY_FDK21 CCEPPFW_FUNCKEY_FDK22 CCEPPFW_FUNCKEY_FDK23 CCEPPFW_FUNCKEY_FDK24 CCEPPFW_FUNCKEY_FDK25 CCEPPFW_FUNCKEY_FDK26 CCEPPFW_FUNCKEY_FDK27 CCEPPFW_FUNCKEY_FDK28 CCEPPFW_FUNCKEY_FDK29 CCEPPFW_FUNCKEY_FDK30 CCEPPFW_FUNCKEY_FDK31 CCEPPFW_FUNCKEY_FDK32

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

Customer Relationship Marketing

Mapping CCEPPfw pinpad keys to CRMContentsCtrl stringsl CCEPPfw pinpad key


CCEPPFW_FUNCKEY_0 CCEPPFW_FUNCKEY_1 CCEPPFW_FUNCKEY_2 CCEPPFW_FUNCKEY_3 CCEPPFW_FUNCKEY_4 CCEPPFW_FUNCKEY_5 CCEPPFW_FUNCKEY_6 CCEPPFW_FUNCKEY_7 CCEPPFW_FUNCKEY_8 CCEPPFW_FUNCKEY_9 CCEPPFW_FUNCKEY_ENTER CCEPPFW_FUNCKEY_CANCEL CCEPPFW_FUNCKEY_CLEAR CCEPPFW_FUNCKEY_BACKSPACE CCEPPFW_FUNCKEY_HELP CCEPPFW_FUNCKEY_DECPOINT CCEPPFW_FUNCKEY_RES1 CCEPPFW_FUNCKEY_00 CCEPPFW_FUNCKEY_000 0x00080000 0x00100000 0x00200000 0x00400000 0x00800000 0x01000000 0x02000000 0x04000000 0x08000000 0x10000000 0x20000000 0x40000000 0x80000000

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

Customer Relationship Marketing Using ADA

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

NOTE: The Echo configuration format in WebExtension is: 0=text_WXSEP_1=text_WXSEP_CANCEL=text ...

Example: ECHO_BUTTON=TEXT=1=test_WXSEP_2=timer_WXSEP_3=end

May 2008

565

CRMContentsCtrl

Customer Relationship Marketing

Mapping CCEPPfw pinpad keys to PCContentsCtrl stringsl CCEPPfw pinpad key


CCEPPFW_FUNCKEY_0 CCEPPFW_FUNCKEY_1 CCEPPFW_FUNCKEY_2 CCEPPFW_FUNCKEY_3 CCEPPFW_FUNCKEY_4 CCEPPFW_FUNCKEY_5 CCEPPFW_FUNCKEY_6 CCEPPFW_FUNCKEY_7 CCEPPFW_FUNCKEY_8 CCEPPFW_FUNCKEY_9 CCEPPFW_FUNCKEY_ENTER CCEPPFW_FUNCKEY_CANCEL CCEPPFW_FUNCKEY_CLEAR CCEPPFW_FUNCKEY_HELP CCEPPFW_FUNCKEY_DECPOINT CCEPPFW_FUNCKEY_RES1

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

Customer Relationship Marketing

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

CRMContentsCtrl Using PCButton and PCEdit

Customer Relationship Marketing

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

Customer Relationship Marketing Property page

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

Customer Relationship Marketing

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

Customer Relationship Marketing

Using WebExtensions with CRM

Using WebExtensions with CRM


General idea The general idea is to control the CRM service over the HTML flow of the application with the help of the allow list. The CRM service is controlled by sessions with commands and some parameters. These commands and parameters are stored in optional parameters in allow list tables and transferred to CRM at the moment of the navigation of the application to this allow list table entry. Requirements At least version 1.1/35 of WebExtensions is needed for CRM usage. Architecture The PCView component is a key component for controlling CRM activity, the CCDialog itself is only routed through the Framework methods and events. CCDialog will pause CRM to deactivate WebExtensions, and resume CRM to activate WebExtensions to synchronise with SOP and other dialogs. All commands for CRM are directly transferred to CRM. Only the special synchronysing method, where the CRM is shown only when the WebExtension content and CRM content are downloaded and ready for use, is separately controlled by the special sync thread in PCView. It is possible to show the temporary page instead of the incomming HTML page that is navigated directly in WebExtensions for the time the sync thread is running. Configuration To enable CRM handling the following parameters have to be set: . HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas Current Version ActiveX GraphicalService CCDialog CRMAllowed=1 (Dword)

Default setting is 0, so CRM handling in WebExtension is "off"!

May 2008

571

Using WebExtensions with CRM

Customer Relationship Marketing

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.

NOTE: This HTML page shall not be generated!

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

Customer Relationship Marketing .

Using WebExtensions with CRM

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

Using WebExtensions with CRM

Customer Relationship Marketing

The general format of CRM service control entries is:

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

Customer Relationship Marketing

Using WebExtensions with CRM

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

Using WebExtensions with CRM PARAM=VALUE param


SYNCTYPE

Customer Relationship Marketing

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

content to end itself!

576

May 2008

Customer Relationship Marketing

Using WebExtensions with CRM

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

Using WebExtensions with CRM

Customer Relationship Marketing

578

May 2008

Installation

The installation procedure

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.

The installation procedure


Launch Install program. Insert the registration key diskette of the base product (i.e. ProTopas/Manager or ProTopas/Kit). Respond to the prompt asking whether there is a further registration key diskette with "Yes". Insert the registration key diskette of the add-on product (ProTopas/WebExtensions or ProTopas/HTML-Dialog). Respond to the prompt asking whether there is a further registration key diskette with "No" (unless you do have another registration key diskette for some other product). Insert the customizing diskette of the base product (the file custom.ctl must contain settings for the ProTopas/Web-Extensions or ProTopas/HTMLDialog). During the installation of ProTopas/Manager you will need the hardware diskette of the self-service terminal on which it is being installed. No hardware diskette will be requested during the installation of ProTopas/Kit. If you are installing ProTopas/Web-Extensions or ProTopas/HTML-Dialog together with ProTopas/Kit you have the option of specifying an installation path other than the default path c:\protopas. The chosen path is specified in the form: <drive letter>:\<path> The remainder of the installation procedure is carried out automatically.

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).

Required preinstalled software


Before starting the installation of the corresponding product, the following base software installation must be executed: Installation of Windows/NT 4.0 or Windows XP Workstation with current Service pack, Internet Explorer 6.x or 7.x and installed network adapter.

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

Restart Manager configuration of High Level GS

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:

Restart Manager configuration of High Level GS


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 application= C:\PROTOPAS\BIN\FwLoadPm.EXE,4,1,21,,,CCDataFW CCDatDic CCOplFW CCEppFW CCCdmFW CCCashInFW CCJournal CCSmiFW CCSyncFW CCSelFW CCCardFW CCPresFW CCDialog CCScriptFW CCSecureFW CCTransactionFW CCProtFW1 CCServiceFW CCCrdValFW CCApplFW CCJourPrtFW CCFormat The program ShowDlg.exe is responsible for waiting for the Dialog Framework to start up correctly. Then the application will start running and display the appropriate pages. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 ShowDlg=C:\PROTOPAS\BIN\ShowDlg.EXE, 4,0,8,,,DIA_RESTART The Programs parameter may be set like this: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 Programs=CCBase,CCBaseCtrl,application, ShowDlg,CCStart

May 2008

583

Restart Manager configuration of Web GS

Configuration

Restart Manager configuration of Web GS


The underlined sections have to be changed for the ProTopas/Web-Extensions. CCPresFW and CCDialog must be omitted, HTMLDialogControl must be added: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 application= C:\PROTOPAS\BIN\FwLoadPm.EXE,4,1,21,,,CCDataFW CCDatDic CCOplFW CCEppFW CCCdmFW CCCashInFW CCJournal CCSmiFW CCSyncFW CCSelFW CCCardFW CCPresFW CCDialog CCScriptFW CCSecureFW CCTransactionFW CCProtFW1 CCServiceFW CCCrdValFW CCApplFW CCJourPrtFW CCFormat HTMLDialogControl HTMLDialogControl is responsible for checking memory and restarting the Dialog Framework, if necessary (see also section Memory leak of the Internet Explorer on page 309). The parameter ShowDlg.exe is no longer necessary and can be deleted. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 ShowDlg=C:\PROTOPAS\BIN\ShowDlg.EXE,4,0,8,,, The browser must be started with the following option: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ RESTART application1 CCDialog=C:\PROTOPAS\BIN\CCDialog.EXE,4,1,6

584

May 2008

Configuration

Repository manager 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

Repository manager configuration


CCCheckFW and HTMLDialogControl must be added to the repository section, the entry for the dialog Framework can be deleted: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCREPMGR/ FRM_REPOSITORY CCCheckFW=C:\ProTopas\Bin\CCCheckFW.DLL HTMLDialogContol=C:\ProTopas\Bin\HTMLDiCt.DLL CCDialog=C:\ProTopas\Bin\CCDialog.DLL

Further configuration settings


All other configurations are used by the controls and the Dialog Framework itself. The settings can be found under the key: HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX

May 2008

585

Configuration of the softkeys

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.

Configuration of the softkeys


While working on a softkey machine with the ProTopas/Web-Extensions, a CEN/XFS configuration setting must be changed to retrieve to right codes from each softkey. There is a parameter SNIKeycodes, which has to be set to 0, meaning that the standard CEN/XFS softkey configuration is used and not a special one. The High Level Graphical Service uses a different configuration. HKEY_CLASSES_ROOT WOSA XFS_ROOT PHYSICAL_SERVICES EPP SNIKeyCodes=0 While working with SNIKeyCodes=0, the position of the softkeys should be as follows:
Fig. 101: Positions of the softkeys

F8

F1

F7

F2

F6

F3

F5

F4

Help

Print

Cancel

Correct

Confirm

586

May 2008

Configuration

Configuration of the softkeys

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 of variables for all architectures

Configuration

Configuration of variables for all architectures


All variables which are used to store the input values and the value of the pressed button are members of the Web Graphical Service. There are access functions which may be used to request those values via use of the Data Dictionary FW. To use these values correctly, the following configuration settings in the Data Dictionary parameters must be set: Value of input fields 1 to 10 HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict Properties DLG_INPUT_RESULT1_S DATA_TYPE=STRING OWNER_FW=CCDialog DLG_INPUT_RESULT2_S DATA_TYPE=STRING OWNER_FW=CCDialog ... DLG_INPUT_RESULT10_S DATA_TYPE=STRING OWNER_FW=CCDialog Value of unformatted input fields 1 to 10 HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/DataDict/ Properties DLG_INPUT_RESULT1_S_UNFORMATTED_S DATA_TYPE=STRING OWNER_FW=CCDialog DLG_INPUT_RESULT2_S_UNFORMATTED_S DATA_TYPE=STRING OWNER_FW=CCDialog ... DLG_INPUT_RESULT10_S_UNFORMATTED_S DATA_TYPE=STRING OWNER_FW=CCDialog

588

May 2008

Configuration

Configuration of variables for all architectures

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 of variables for all architectures

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

Configuration of variables for all architectures

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

Variables for Web-Extensions/ClassicLink VAR_PCDIALOG_RT_SIZEY_L DATA_TYPE=LONG OWNER_FW=CCDialog

Configuration

Variables for Web-Extensions/ClassicLink


The following variables are only valid in the architecture Web-Extensions/ClassicLink:

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

Variables for Web-Extensions/HyperLink

Variables for Web-Extensions/HyperLink


The following variables are only valid in the architecture Web-Extensions/HyperLink:

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

Variables for Web-Extensions/HyperLink Chosen Identification value of menu button

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

Variables for Web-Extensions/ExtraLink

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

Variables for Web-Extensions/ExtraLink


The following variables are only valid in the architecture Web-Extensions/ExtraLink:

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

Variables for Web-Extensions/ExtraLink

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.

Parameters for CCDialog


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraphicalService CCDialog LOGOn With this parameter the logging of the HTML pages, which are shown in the Web browser is started. An extra log file is written, which contains the HTML names in chronological order. Even exceptions and memory leaks are logged. When the maximum number of entries in the log file is reached, the logging stopps automatically. This logging mechanism is not though to be a runtime log. Its only for development reasons. (see "LOGFilePath" on page 598), (see also section Logging the flow of the HTML pages on page 320) Length: Range: Default: 1 010 Logging is off Logging is switched on

May 2008

597

Graphical Service LOGBufferSize

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

Parameters Length: Range: Default: ADA 1 011

Graphical Service

Keyboard activation is disabled Keyboard activation is enabled

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

Parameters for Virtual Keyboard


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraphicalService VK Pos This parameter specifies the position where the HTML page for Virtual Keyboard may be loaded. Its the best not to cover input fields, where the input shall be displayed.

May 2008

601

Graphical Service Length: Range:

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

Parameters Length: Range: Default: MAXonStart 5 0 - 99999 0

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

Graphical Service CursorEnable

Parameters

This parameter specifies if the cursor shall be visible or invisible during a virtual keyboard session.

Length: Range: Default: HRef

1 0 - Cursor invisible 1 - Cursor visible 1

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

Graphical Service Length: Range: Default: 10 0 - 9999999999 120000

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

Parameters for surfing


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraphicalService Surfing SurfingURL Specifies the URL with the keys "Cancel" "Back" "Forward" that are shown 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 "SurfingBrowserWidth" on page 608), (see "SurfingBrowserPos" on page 608) Length: Range: Default: 128 alphanumeric C:\ProTopas\Web\German\SurfingFooter.htm

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

Graphical Service Length: Range: 1 011

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

Graphical Service 255 ... 0 OEM_CHARSET in future new charset available

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

Parameters Length: Range: Default: 3 0-600 100

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

Graphical Service Length: Range: Default: 1024 alphanumeric -

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

Parameters for the AllowList


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraphicalService AllowList

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

Parameters for the Browser


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraphicalService PCBrowser StartPage Specifies the URL that the PCBrowser uses as startpage. If no startpage is specified, the PCBrowser uses the startpage of MS Internet Explorer. Length: Range: Default: CursorEnable Specifies whether the cursor is to be shown during the application. Length: Range: Default: 1 010 Cursor is not visible Cursor is visible 128 alphanumeric C:\ProTopas\Web\German\Start.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

Graphical Service Length: Range: Default: TabAsConfirm 1 010

Parameters

Cursor is not visible Cursor is visible

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

Parameters Length: Range: 1 011

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

Graphical Service Length: Range: 1 010

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

Parameters for PCView


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraphicalService PCView TempPath Specifies the path of the local numeric folder in which temporarily generated files are stored.

618

May 2008

Parameters Length: Range: Default: 128 alphanumeric C:\ProTopas\Web\temp

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

Graphical Service Length: Range: Default: RootPath 128 alphanumeric C:\ProTopas\Web\Allow\AllowStart.htm

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

Graphical Service BringWindowToTop

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

Parameters for the HTML generator


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ GraphicalService PCHtmlGen Language Specifies the language settings used for formatting input and output strings when starting the system. There must be a subkey with the same name for this entry. This subkey contains all language-specific settings. Length: Range: Default: 128 alphanumeric GERMAN Meaning: German is supported at startup.

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

Graphical Service Multilang

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:

Language specific parameters for the HTML generator


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCHtmlGen <Language> This section must be created for each language which is available for user language selection. The name of the language is set by using the SetLanguage() function of the CCDialog/PCDialog Framework. AllowOverride This parameter is used if the Windows system settings are used instead of the parameters of this section of the Registry. The parameter is only valid if the parameter UseLocals is set to 1 and UsedLcid contains a valid value. (see "UsedLcid" on page 629) (see "UseLocals" on page 630) Length: Range: 1 01Only the language-specific value from the language of parameter UsedLcid is taken. The language-specific value from the language of parameter UsedLcid is taken and additionally the user defined setting in the other property pages of the systems regional settings.

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

Graphical Service CurrNegativeOrder

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

Graphical Service Length: Range: Default: NumGroupSep 1 0-9 3

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

5 alphanumeric ISO language Code en_US

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

Graphical Service ADATextPageContent

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 for the ActiveX controls ADAEchoEPP

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

Parameters for the ActiveX controls


The following parameters configure the default values of the following ActiveX controls: Contents STD/ATM Control, Button Control, Edit Control and List Control. These default values change the user interface settings of all controls which have activated default checkboxes.

634

May 2008

Parameters

Parameters for the ActiveX controls

General ActiveX parameters


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/

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

Parameters for the Contents STD Control cancel situations


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents Cancel CancelHref Href for the cancel message. If no HTML page is entered in this parameter, no cancel message will be displayed. Length: Range: Default: CancelWindow Specifies whether the cancel message 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. 128 alphanumeric GeneralCancelMessageWindow.htm

May 2008

635

Parameters for the ActiveX controls Length: Range: Default: 1 011

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

Parameters for the ActiveX controls

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

Parameters for the Contents STD/ATM Control timeout situations


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents Timeout Timeout Href Href for the Timeoutmessage. If no HTML page is entered in this parameter, no timeout message will be displayed. Length: Range: Default: 128 alphanumeric GeneralTimeoutMessageWindow.htm

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 for the ActiveX controls Length: Range: Default: 1 011

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

Parameters for the ActiveX controls

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 for the ActiveX controls

Parameters

Parameters for timeout values


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents Timeout Values StandardTimeout Specifies the default timeout in seconds. Length: Range: Default: InputTimeout Specifies the default timeout on input pages. Length: Range: Default: 3 numeric 120 3 numeric 60

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

Parameters Length: Range: Default: 3 numeric 10

Parameters for the ActiveX controls

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

Parameters for beeping


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents Beep BeepDefault Specifies when the application should beep. Length: Range: 1 01230 No beep There is a beep when a new HTML page is called. There is a beep when a timeout occurs. There is a beep when a new HTML page is called or a timeout occurs.

Default:

May 2008

641

Parameters for the ActiveX controls

Parameters

Parameters for EPP configuration


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents EPPKey Value0 This parameter specifies the code for the key 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 0. Length: Range: Default: Value1 This parameter specifies the code for the key 1 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 1. Length: Range: Default: Value2 This parameter specifies the code for the key 2 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 2. Length: Range: Default: 4 alphanumeric 2 4 alphanumeric 1 4 alphanumeric 0

642

May 2008

Parameters Value3

Parameters for the ActiveX controls

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 for the ActiveX controls Value7

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

Parameters for the ActiveX controls

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 for the ActiveX controls ValueF6

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

Parameters for the ActiveX controls

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 for the ActiveX controls ValueReserved

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 *

General parameters for Contents STD/ATM control


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCContents General UseUTF8 Only when working with the Unicode versions of the controls: This parameter specifies, in which format the variables are passed from the Contents STD/ATM Control from and to the ProTopas Frameworks, like the Data Dictionary and CheckFW. This is neccessary, because the ProTopas components is using Char values for its internal communication. The internal communication in the Unicode controls is using Wchar. So a conversion has to be done. This can either be done from Unicode to ANSI or Unicode to UTF8. The default value is 0.

648

May 2008

Parameters Length: Range: 1 010

Parameters for the ActiveX controls

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 for the ActiveX controls

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

Parameters Length: Range: 1 010

Parameters for the ActiveX controls

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:

Parameters for the PCButton control


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCButton General AudioResponse The audio response for the Button control may be configured here. The parameter has to contain a string with the following layout: 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

May 2008

651

Parameters for the ActiveX controls ButtonInstallation

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

Parameters for the ActiveX controls

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

Parameters Length: Range: Default: TextCenterY 3 numeric 0

Parameters for the ActiveX controls

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

Parameters for the ActiveX controls

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

Parameters for the PCEdit control


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCEdit General AudioResponse The audio response for the Edit control may be configured here. The parameter has to contain a string with the following layout: 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)

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

Parameters for the ActiveX controls

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 for the ActiveX controls TextAlignX

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

Parameters for the ActiveX controls

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

Parameters for the ActiveX controls

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

Parameters for the ActiveX controls

Parameters for the PCList control


HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCList General AudioResponse The audio response for the List control may be configured here. The parameter has to contain a string with the following layout: 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: ImageUp Specifies the default graphic of the PCList control when it is in the state "up". 1024 alphanumeric

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

Parameters Length: Range: Default: TextColour 2 numeric 10

Parameters for the ActiveX controls

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 for the ActiveX controls 2Default: TextAlignY 0

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

Parameters for the ActiveX controls

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

Specifies if the text in the output field should be centered vertically.

670

May 2008

Parameters Length: Range: Default: InputBold 1 010

Parameters for the ActiveX controls

Text should not be centered vertically Text should be centered vertically

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 for the ActiveX controls ShiftInPixelsMode

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

Parameters for Schemes


These parameters may be used to describe Schemes for PCButton, PCEdit and PCList controls. Schemes may be used to configure all visible parameter of a control in the registry. The values are checked during runtime. These parameter will be found in parameter file C:\ProTopas\Conf\ActiveX.sdf with a template set of all parameters for the schemes for all three controls. This file may be used to add additional schemes in the registry. Because most of the values are same as the Default values for the controls, only references to those parameter are given here. HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/ActiveX/ PCButton or PCEdit or PCList General Scheme ... 672 May 2008

Parameters ImageDown Available for PCButton

Parameters for the ActiveX controls

(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

IconYCentered Available for PCButton, PCEdit, PCList

May 2008

673

Parameters for the ActiveX controls

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

Parameters for the ActiveX controls

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 for the ActiveX controls Length: Range: 1 01-

Parameters

Default checkbox shall not be checked Default checkbox shall be checked.

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

Parameters for the ActiveX controls

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 for the ActiveX controls Length: Range: 1 01-

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

Parameters for the ActiveX controls

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

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ ProTopas/CurrentVersion/CCOPEN/ HTMLDICT

May 2008

681

CCOpen parameters JOB_BEFORE_KILL

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

Default: WEBEXT_ VERSION MEMORY LEAK

0 KILL REBOOT REBOOT

1 KILL REBOOT REBOOT

2 KILL RESTART REBOOT

EXCEPTION LOCK

682

May 2008

Parameters

CCOpen parameters

WEBEXT_ VERSION JOBS_KILL JOBS_ EXCEPTION

0 SYSTEM() NONE

1 PROCESS() NONE

2 PROCESS() PROCESS() ASYNC

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

CCOpen parameters AT_KILL_PAUSE_BETWEEN_JOBS

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

CCOpen parameters Length: Range: Default: 8 0 -99999999 120000

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

Parameters Length: Range: Default: 8 0 -99999999 none

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

CCOpen parameters TIME_WAITFOR_TIMER

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

WXCompressHTML tool </HEAD> <BODY> <P>Hello world!</P> </BODY> </HTML>

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

Configuring the compressHTML tool


All dropping conditions are set in the registry and can easily be extended by configuring your own rules.

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\

FileDialogSaveProtocolInitialFilename FileDialogSaveProtocolDefaultFilenameExtension FileDialogSaveProtocolInitialDir FileDialogSaveProtocolFilter FileDialogLoadListInitialDir

String String String String String

694

May 2008

Tools

WXCompressHTML tool

Registry Entry FileDialogLoadListFilter FileDialogLoadListDefaultFilenameExtension FileDialogLoadListInitialFilename FileDialogSaveListInitialDir FileDialogSaveListFilter FileDialogSaveListDefaultFilenameExtension FileDialogSaveListInitialFilename WXVersion

Type String String String String String String String

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

WXCompressHTML tool Length: Range: Default: 1024 alphanumerical FIELLIST (*.filelist)|*.filelist||

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

How to configure your own rules


All rules for compressing are set in the data key in the registry. To configure your own rules you have to decide either to configure your own set of rules or to extend an existing set of rules. The name of the set of rules If you want to configure your own set of rules you have to determine a name of the set and create a new subkey in the data section in the registry. Example: myRuleSet HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion Tools WebExtensions CompressHTML Data myRuleSet Using the new rules To force the tool to use the new rules you have to enter the name of the set of rules in the WXVersion parameter in the current key. HKEY_LOCAL-MACHINE SOFTWARE Wincor Nixdorf ProTopas CurrentVersion Tools WebExtensions CompressHTML Current "WXVersion = myRuleSet"

700

May 2008

Tools Configuring the used ActiveX objects

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

Registry entries 00001 00002 02001 02002 02003 ...

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

Tools 1.1/20 clsid:CAE3F5B3-93D3-11D0-

A3C0-00C095ECC157 RadioButton

Registry entries 00001 00002 00003 02002

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

Examples of compressed components


The following examples should show how the compressHTML tool will work. The rules used are the 1.1/20 rules. ActiveStep OBJECT: clsid:47ED0993-B589-11D0-9302-0000E8A6CB06 NOTE: The classid of the object is very important! Every ActiveX object can be recognized by its classid. The compressHTML tool then only deletes the param TAGs according to the correspondent ActiveX object. Sourcecode before compressing with compressHTML tool: <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> Compressed sourcecode: <object classid="clsid:47ED0993-B589-11D0-93020000E8A6CB06" id="ActiveStep1" width="100" height="50"> </object> Dropped sourcecode: <param name="_Version"* <param name="_ExtentX"* <param name="_ExtentY"* <param name="_StockProps"*

May 2008

705

WXCompressHTML tool <param name="StepParameter" value> <param name="Framework" value> Dependency drops: none

Tools

PCContentsSTD OBJECT: clsid:8E67054F-5F6B-11D1-A3F5-0060084B786A

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>

<object classid="clsid:8E67054F-5F6B-11D1-A3F50060084B786A" id="PCContentsSTD1" width="100" height= "100"> </object>

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="

The tool in action


Starting dialog
Fig. 103: At startup

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

Tools Note what caused the error:


Fig. 106: Error file

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

Tools CurrentVersion CCOpen PageLogger Trace_File

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:

The log file


The logfile contains information about the transaction flow of a Web-Extensions/HyperLink application. It records the HTML pages and the steps running in these pages. Every step is logged by a starting entry and by the return value passed from this step into the page. If properties have been specified in the property file, the contents of all properties listed in this file will be logged as well. Additionally a Memcheck may be activated by parameter which results in additional memory information per log entry of pages and steps. The name of the log file must be configured in parameter Trace_File (see also section Trace_File on page 717).

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.

The property file


The property file lists line by line all properties which should be logged. Even array elements may be used with the syntax [x]. Please make sure to set the name of the property file into the parameter Prop_File (see also section Prop_File on page 717)

May 2008

721

Pagelogger Arrayelement[0] Arrayelement[1] PropertyX PropertyY

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.

The script file


The script file can be configured to to perform actions automatically, what normally an user would have to do on MFCinput in order to run a transaction. It simulates key presses on MFCInput, which can be configured to run when a specified page is loaded. Script file name The name of the script file starts with the prefix, which is configured in the parameter Script_File (see also section Script_File on page 718). If only one script file shall be used, please use .scr as extension. If more than one script file shall be used this has to be configured in parameter Num_Scripts (see also section Num_Scripts on page 718). The name of the script file have to be Prefix from Script_File + consecutive number + .scr pagelogger1.scr pagelogger2.scr pagelogger3.scr ... until it reaches the number from Num_Scripts. The aim behind having more than one script file is that the script file may change by random or sequential. The starting point of the script is configured in Init_Page (see also section Init_Page on page 719). If the parameter Random (see also section Random on page 719) is set to TRUE, at this starting point a random script file out of the range of Num_Scripts will be started. If Random is set to FALSE, the new script file will be started at of sequence, restarting with the script file 1 after the last script file has been executed.

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

Action 8 9 10 11 20 21 22 23 24 31 33 34 35 36 37 38 39 40 128 129 130 131 132 133 134

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

Action 135 RAMDOM[Min,Max, Modulo,SEP]

Define TAKE_PBK RANDOM

Meaning Functionkey Passbook taken The entry is generated at ramdom

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

Framework relationship of a ProTopas application . . . . . . Host Protocol Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Flow of control via ProTopas modules

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 . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Menu button to call more information

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

. . . . . . . . . . . . . . . . . . . . . . .

Button control - General 2 page for selection buttons

Input of coordinates for the new window . . . . . . . . . . .

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 - Headline page . . . . . . . . . . . . . . . . . Edit control - Graphic 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

List control - Graphic page . . . . . . . . . . . . . . . . . . List control - Output page . . . . . . . . . . . . . . . . . .

List control - Icon page . . . . . . . . . . . . . . . . . . . . EPP control - General page . . . . . . . . . . . . . . . . .

EPP control - Input page . . . . . . . . . . . . . . . . . . . Contents ATM control - General page . . . . . . . . . . . . . . . . . .

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Timeout confirmation question . . . . . . . . . . . . . . . . Timeout message . . . . . . . . . . . . . . . . . . . . . .

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 . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Architecture of the Web Graphical Service

HTML generator . . . . . . . . . . . . . . . . . . . . . . . Inserting a variable by means of WebBot . . . . . . . . . . AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . Alphanumeric check . . . . . . . . . . . . . . . . . . . . . Numeric check . . . . . . . . . . . . . . . . . . . . . . . . Date check . . . . . . . . . . . . . . . . . . . . . . . . . . Amount check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fig. 100: Amount check formatting

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

Comments Suggestions Corrections

Submitted by

Comments on ProTopas/Web-Extensions V 1.2/00 Programming Guide

Wincor Nixdorf International GmbH User Documentation BD PSD 6 33106 Paderborn Germany Fax: +49 5251 693 3792

Comments Suggestions Corrections

Submitted by

Comments on ProTopas/Web-Extensions V 1.2/00 Programming Guide

Wincor Nixdorf International GmbH Training BD PSD 6 33106 Paderborn Germany Fax: +49 5251 693 3792

Courses Consulting Self-tuition media

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

send me information/course programs on the following topics

Wincor Nixdorf International GmbH Training BD PSD 6 33106 Paderborn Germany Fax: +49 5251 693 3792

Courses Consulting Self-tuition media

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

send me information/course programs on the following topics

You might also like