Web Extensions V1200 Programming Guide En

December 23, 2016 | Author: osanyaolu | Category: N/A
Share Embed Donate


Short Description

Download Web Extensions V1200 Programming Guide En...

Description

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\WebExtIVZ.fm © Siemens Nixdorf Informationssysteme AG 1995

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

27 27 28 29 29 30 32 33 33 35 35 36 36 37

Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Special aspects of menu buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menu pages for information service pages . . . . . . . . . . . . . . . . . . . . . . . Variable menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39 39 40 41 42 42

May 2008

I

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

42 43 44 44 46 46 47 47

Components and system requirements . . . . . . . . . . . . . . . . . . . . . . . . . . Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operating system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CSC-W32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProTopas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web Graphical Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service and Operating (SOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49 49 49 50 50 50 50 53 55 55 56

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

59 60 61 61 62 63 63 64 64 66 67 67 68 69 69 70 70 71

II

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\WebExtIVZ.fm © Siemens Nixdorf Informationssysteme AG 1995

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

IV

May 2008

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\WebExtIVZ.fm © Siemens Nixdorf Informationssysteme AG 1995

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

342 342 342 343 343 344 344 345 354 357 357 357 357 361 361 362 363 364 365 372 372 372 373 384

WXPTBridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RegisterForEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeregisterForEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvStr2Hex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvHex2Str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . testErrors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetWXText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

385 385 385 385 386 387 388 393 395 396 397 398 399 400

VI

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\WebExtIVZ.fm © Siemens Nixdorf Informationssysteme AG 1995

Contents Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTFunctionEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BridgeError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace and Error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

401 402 403 404 405 406 408 408 408

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

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

436 436 439 447

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

449 449 450 450 450 451 452 452 453 453

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

455 488 489 491 491 493 493 494

Control of the ADA service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Starting the service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Default start values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataDictionary-Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADA Status Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

497 498 500 502 507 507 513 514

Customer Relationship Marketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Components of the CRM service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CCCRM framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Defines and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

515 516 517 525 527 532

VIII

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\WebExtIVZ.fm © Siemens Nixdorf Informationssysteme AG 1995

Contents – Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CRMContentsCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Using EPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Using ADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Using PCButton and PCEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Property page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using WebExtensions with CRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

534 556 558 559 561 562 565 568 569 571

Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The installation procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Products to be installed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Required preinstalled software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

579 579 580 580 581

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

583 583 584 585 585 586 588 592 593 595

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

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

635 635 637 640 641 642 648 651 657 665 672 680

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

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

X

May 2008

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\WebExtIVZ.fm

Contents

May 2008

XI

Contents

XII

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Einleitung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

1

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: z car sales, z insurance sales, z travel services and z ticket sales and thus open up new delivery channels. The availability of a central Web server in the provider’s 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: z freedom in designing the user interface

2

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Einleitung.fm © Siemens Nixdorf Informationssysteme AG 1995

Introduction

Take care

z centralized modification of the self-service application z creation of reusable modules z use of commercially available basic components z assembly of dialog Steps from predefined components z independence of a single central product manufacturer

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: z 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

3

New since release 1.1/25

Introduction

z 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) z 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). z 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). z 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 , or 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). z 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). z 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. z The and keys act like and now (see also section ’Special input confirmation handling’ on page 418). z Masked edit is possible for the PCEdit control now (see also section ’Masked edit for standard edit control’ on page 145). z 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). z The caret (Input cursor) can be hidden now (see also section ’Hide the caret in standard edit control’ on page 146).

4

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Einleitung.fm © Siemens Nixdorf Informationssysteme AG 1995

Introduction

New since release 1.1/25

z 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. z 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. z 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. z 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. z Icons are supported by schemes now for Button, Edit and List control. 1.1/26: z 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). z 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. z 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

5

New since release 1.1/25

Introduction

z 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. z A new batch file WebAnalysisTrace.cmd for setting the analysis trace of the Web-Extensions is available in C:\ProTopas\Bin. 1.1/27: z 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). z 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. z 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). z 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: z Parameter CursorEnable (see also section ’CursorEnable’ on page 604) specifies, if the cursor shall be visible or not during a virtual keyboard session. z 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.

6

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Einleitung.fm © Siemens Nixdorf Informationssysteme AG 1995

Introduction

New since release 1.1/25

1.1/29: z 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’). z 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: z The SpinEdit Control is not supported and not included any longer. z 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. z 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) z 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: z The default contents of all paramter containing the font family have been changed from Arial (Truetype) to Arial. z The parameter AllowMarketingFocus allows to set the focus manually even during SOP Sessions, etc. (see also section ’Parameter MarketingAllowFocus’ on page 320) z 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). z The DoDialog() call for a Classic Link application may be supervised by a timer now (see also section ’DoDialog() Safety features’ on page 36). z 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

z 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: z 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: z 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. It’s 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. z 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: z 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: z 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).

8

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Einleitung.fm © Siemens Nixdorf Informationssysteme AG 1995

Introduction

New since release 1.1/25

z 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). z 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). z 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). z 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). z 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). z 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. z 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: z 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. z Internet Explorer 7.x may be used together with the Web-Extensions right now.

May 2008

9

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: z Familiarity with ProTopas in order to recognize relationships between the individual ProTopas modules z C/C++ knowledge in order to implement application modules z HTML know-how to develop Internet user interfaces z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Einleitung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Einleitung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

14

Introduction

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Auspraegung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Restart

Service

Dialog Í OK AbbruchDrucken Hilfe Î

Script FW Transaction Host ÍOK Abbruch Drucken HilfeÎ

Dialog

IDCU

Printer

EPP

CDM

Í OK AbbruchDrucken Hilfe Î

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Auspraegung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Í OK Abbruch Drucken Hilfe Î

Restart

Service

Í OK Abbruch Drucken Hilfe Î

Dialog

Script FW Transaction Host ÍOK Abbruch Drucken HilfeÎ

Dialog

IDCU

Printer

EPP

CDM

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

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Î

18

Dialog

IDCU

Printer

EPP

CDM

May 2008

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Auspraegung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\TraditionellStarten.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\TraditionellStarten.fm © Siemens Nixdorf Informationssysteme AG 1995

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). z Activate(): Switches the Web Graphical Service to the foreground z 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: 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\TraditionellStarten.fm © Siemens Nixdorf Informationssysteme AG 1995

Web-Extensions/ExtraLink 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\AustauschOberflaeche.fm © Siemens Nixdorf Informationssysteme AG 1995

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 Microsoft’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\AustauschOberflaeche.fm © Siemens Nixdorf Informationssysteme AG 1995

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 customer’s 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 Don’t 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 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 , 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



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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\AustauschOberflaeche.fm © Siemens Nixdorf Informationssysteme AG 1995

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:

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\AustauschOberflaeche.fm © Siemens Nixdorf Informationssysteme AG 1995

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: window.navigate("http://www.wincor-nixdorf.com"); 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\AustauschOberflaeche.fm © Siemens Nixdorf Informationssysteme AG 1995

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:

May 2008

35

Loading a frameset without ChangeLanguage()Web-Extensions/ClassicLink // return code for offline window.navigate(’PCEvt:RC=0’) (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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\AustauschOberflaeche.fm © Siemens Nixdorf Informationssysteme AG 1995

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

38

Web-Extensions/ClassicLink

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Verknuepfung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

8. Loading of the new HTML-page

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

Internet Browser

Please for printout… Printoutwait ready

2. Activation of the Contents-control

3. Transmission between Internet-browser and ProTopas modules

invisible Control invisible Control Í

OK

Abbruch

Drucken

Hilfe

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

Î

Connector Control

6. Transmission of the returncode to the Contents-control

4. Call of the ProTopas Module `PRINT`

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Verknuepfung.fm © Siemens Nixdorf Informationssysteme AG 1995

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 Step’s return code calls the right identification branch. Only when the identification Internet pages have been processed can the function’s 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 function’s 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. z (0): No function selected z (1): No identification necessary z (2): Authorization with card z (4): Authorization with PIN z (8): Authorization with chipcard z (16): Authorization with chipcard PIN z (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 institution’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Verknuepfung.fm © Siemens Nixdorf Informationssysteme AG 1995

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 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 , 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 FW’s. 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Verknuepfung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Value

ACTIVESTEP_RC_FKTN_OK

0

OK

ACTIVESTEP_RC_FKTN_RETURN1

1

Special return codes

...

...

ACTIVESTEP_RC_FKTN_RETURN15

15

ACTIVETEP_RC_CANCEL

16

Cancellation of the Step by the Contents STD control

ACTIVESTEP_RC_TIMEOUT

17

Function timeout

ACTIVESTEP_RC_GENERAL_ERROR

18

General error

ACTIVESTEP_RC_CLOSE_IMMEDIATE

19

Return code after Close Immediate

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: z 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 Step’s return code but via the branch defined for the button. z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Verknuepfung.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Web-Extensions/HyperLink

VAR_MY_HTML_NAME_S 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Komponenten.fm © Siemens Nixdorf Informationssysteme AG 1995

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

service and operating

Internet browser

P SO Í

OK

Abbruch

Drucken

Hilfe

Î

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

Architecture

Fig. 6: Framework relationship of a ProTopas application

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Komponenten.fm

Components and system requirements

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 customer’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Komponenten.fm © Siemens Nixdorf Informationssysteme AG 1995

Components and system requirements

Architecture

Fig. 7: Host Protocol Framework

Connection via host protocol framework Intranet / Internet TCP / IP

P SO Í

Í

OK

Abbruch

Drucken

Hilfe

OK

Abbruch

Drucken

Hilfe

Î

• masks • information

Î

Communication Host protocol ProTopas Modules

Framework framework

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

IFX

WAN / LAN TCP / IP

• Transaction data

HBCI

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 customer’s 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

Components and system requirements

z Button control

Buttons of various kinds

z Edit control

Input fields (text boxes)

z List control

Input fields with a list function (list boxes)

z EPP control

Input fields for PINs

z Contents ATM control Master to synchronize the controls mentioned above and to handle different return codes z Contents STD control Master to synchronize the controls mentioned above and to access the application z 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

8. Loading of the new HTML-page

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

Internet Browser

Please wait for printout… Printout ready

2. Activation of the Contents-control

3. Transmission between Internet-browser and ProTopas modules

invisible Control invisible Control Í

OK

Abbruch

Drucken

Hilfe

Pro Topas Modules 5. Access to the printer via ProDevice

54

Î

Connector Control

4. Call of the ProTopas Module `PRINT`

Pro Device Special Hardware

May 2008

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

6. Transmission of the returncode to the Contents-control

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

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Komponenten.fm

Components and system requirements

Call to load an Internet page in existing environment DoDialog() DoDialog() DoDialog()

Transaction Framework Steps

... DoDialog() ...

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: z ProCash z ProInfo z ProPrint z ProConsult

May 2008

55

Software requirements

Components and system requirements

Mandatory hardware: – 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 z 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: z 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 z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Komponenten.fm © Siemens Nixdorf Informationssysteme AG 1995

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

58

Components and system requirements

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm © Siemens Nixdorf Informationssysteme AG 1995

Designing the user interface

Designing the user interface The user interface has to be designed according to ergonomic and functional aspects: z Only the active functions are shown on the input forms. z The basic layout must have the maximum contrast between the background and the fields. z Colours are used to illustrate related issues. z 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: z The number of customers can be increased as the user interface meets wide acceptance. z The principles of the institutions, such as customer intimacy and friendliness, are reflected in the ease of use of the user interface. z The user interface can be adjusted to the institution’s 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 card’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm © Siemens Nixdorf Informationssysteme AG 1995

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: z Windows BMP format with up to 24-bit colour depth z 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 tag and make those controls invisible by use of an internal style property. Give this 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 tag: Controls 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm © Siemens Nixdorf Informationssysteme AG 1995

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 Microsoft’s 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 ’w’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm © Siemens Nixdorf Informationssysteme AG 1995

Designing the user interface

User interface elements

z Back z Help z Print z Cancel z Correct z Confirm z Forward These keys depend upon the contents of the Context frame. This is why it is necessary to parameterize the representation and reference to the Internet page to be loaded on the Context page. A good example is the function key. If the reference to the Help page to be loaded were parameterized directly for the 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 3

Frame 1

(Context) Function Function Function

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

Frame 1

Se le c tio n

Frame 3

Se le c tio n

Se le c tio n

(Context) Se le c tio n

Se le c tio n

Se le c tio n

Frame 4

66

May 2008

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

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm

Designing the user interface

Frame 2 Me nu

Me nu Me nu

Frame 1 Me nu

Frame 3 (Context)

Me nu 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 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm © Siemens Nixdorf Informationssysteme AG 1995

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 3

Frame 1

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GestaltungKundeninterface.fm © Siemens Nixdorf Informationssysteme AG 1995

Designing the user interface

Arrangement of the screen interface

Fig. 15: Controls based on a style sheet

Frame 2 F1 F2

F3 Frame 3

Frame 1

F4 (Context) F5 F6 Frame 4

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 page’s 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

76

May 2008

Designing the user interface

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, Microsoft’s ActiveX technology has been used to develop some controls which are very flexible thanks to parameterization. The following controls have been developed: z Button control

Buttons of various kinds

z Edit control

Input fields (text boxes)

z List control

Input fields with a list function (list boxes)

z EPP control

Old Input fields for PINs, please use Edit Control with EPP functionality today.

z Contents ATM control Master to synchronize the controls mentioned above and the connector to the application.Only used at Web-Extensions/ClassicLink. z Contents STD control Master to synchronize the controls mentioned above and to access the application. Only used at Web-Extensions/HyperLink z ActiveStep control

z Active DataDictionary Control

Communication control between the Contents STD control and the application. Only used at Web-Extensions/HyperLink. This Control is used for scripting only. It is necessary to get and set data via the Data Dictionary (see also section ’The Active DataDict control’ on page 489).

May 2008

77

Aspects common to all controls

Controls

z ActiveVariable Control

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

z ActivePTSniff Control

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

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

Aspects common to all controls

Defaults There are default values for all controls. These are values that can be set with the aid of parameters. The appearance of the entire application can be changed in one go with these defaults because they are read from the Windows Registry at design time and at runtime. Setting as many parameters as possible to the default value in the controls means that changes to the parameters can alter the appearance of multiple controls. States of controls Of all controls, the Button control can assume the most states: z A button can be hidden: In this case, the control is transparent and assumes the colour of the background. z 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. z 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. z 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. z 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

z Button: The type of button is defined with these radio buttons. The appearance of the General 2 page depends on what is selected here. z 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

z 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

z 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

z 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

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

z 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). z 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. z 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. z 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. z Button hidden: The button does exist on the page but it is not visible in this state. z 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. z 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

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

86

Print

Cancel

May 2008

Correct

Confirm

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

z 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 , or 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.

z 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

The Button control

z CANCEL: Not relevant.

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). z 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). z 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 button in a standard browser. z 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 button in a standard browser. z 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 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). z 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. z 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

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

z 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 ... z Value: See page 85. z Field ID: See page 86. z Softkey: See page 86.

May 2008

91

The Button control

Controls

z Selection: 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. z 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. z 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.

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

z 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

z 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. z 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. z Width: The width of the new window is entered in pixels or percentage here. z 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

z 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 ... z Value: See page 85. z Field ID: See page 86. z Softkey: See page 86. z Selection: See page 92. z Input field for Internet page: See page 92. z In new window check box: See page 93.

May 2008

95

The Button control

Controls

z Coordinates button: See page 93. z Identification: Here you can define how customers have to identify themselves for the selected function: z 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. z without identification: Customers do not need access authorization for this function. z with card: Customers have to identify themselves either with an ec card or with a chipcard. z 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. z 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. z 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

z 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 ... z Value: See page 85. z Field ID: See page 86.

May 2008

97

The Button control

Controls

z Softkey: See page 86. z 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

z 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. z 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). z At the Listbox it is possible to select between the following options:

May 2008

99

The Button control

Controls

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

z 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. z Add button: To add a new layer this button has to be pressed once. The number of layers to be created is not restriced. z 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. z Caption Input field: The caption to appear on the button is entered in this text box. Multiple lines can be input here. and 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

z colour active: Three fields define the colour setting for the caption on an active button. z 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. z 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. z ... 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

The Button control Fig. 29: Standard colour dialog

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

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

z 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

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

May 2008

105

The Button control

Controls

z ... 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. z Button up input field: The name and path of the image file can be entered manually here if they are known. z 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. z 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. z 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

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

Controls Fig. 32: Button control - Icon page

z Icon for the active button (up/down/pressed): A coloured image that is to appear on the button can be specified here. z ...: 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. z Icon for the active button input field: The name and path of the image file can be entered manually here if they are known. z 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

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

Range

Meaning/Reference

Scheme

String

Scheme (see also section ’Button control General 3 page’ on page 99)

ImageUp

String

Button up graphic (see also section ’Button control Graphic page’ on page 105)

May 2008

109

Button Control - Property Listing

Controls

Property

Range

Meaning/Reference

Icon

String

Icon for the active button (up/down/pressed) (see also section ’Button control - Icon page’ on page 108)

ImageDown

String

Button down graphic (see also section ’Button control Graphic page’ on page 105)

ImagePressed

String

Button pressed graphic (see also section ’Button control Graphic page’ on page 105)

ImageDisabled

String

Button disabled graphic (see also section ’Button control Graphic page’ on page 105)

IconDisabled

String

Icon for the disabled button (see also section ’Button control - Icon page’ on page 108)

ImageUpDefault

0: do not use default graphic 1 (default): Use default graphic from registry

Use of default graphic (see also section ’Button control Graphic page’ on page 106)

ImagePressedDefault

0: do not use default graphic 1 (default): Use default graphic from registry

Use of default graphic (see also section ’Button control Graphic page’ on page 106)

110

May 2008

Controls

Button Control - Property Listing

Property

Range

Meaning/Reference

ImageDownDefault

0: do not use default graphic 1 (default): Use default graphic from registry

Use of default graphic (see also section ’Button control Graphic page’ on page 107)

ImageDisabledDefault

0: do not use default graphic 1 (default): Use default graphic from registry

Use of default graphic (see also section ’Button control Graphic page’ on page 107)

IconAlignX

0 - 32787 (default is 5)

X-position of icon on a button (see also section ’Button control - Icon page’ on page 109)

IconAlignY

0 - 32787 (default is 5)

Y-position of icon on a button (see also section ’Button control - Icon page’ on page 109)

IconXCentered

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

Possibility to center icon in x direction (see also section ’Button control - Icon page’ on page 109)

IconYCentered

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

Possibility to center icon in y direction (see also section ’Button control - Icon page’ on page 109)

FieldID

0 - 32787

Unique ID of Button (see also section ’Button control General 2 page for function keys’ on page 86)

May 2008

111

Button Control - Property Listing

Controls

Property

Range

Meaning/Reference

Href

String

HTML page to navigate to when button is pressed (see also section ’Button control General 2 page for selection buttons’ on page 92)

ViewState

0 (default): Button up 1: Button pressed 2: Button disabled 3: Button hidden

State of button (see also section ’Button control - General 1 page’ on page 84)

RTViewState

String, created automatically: [#Var_FunctionValue_ Viewstate_s#]

Viewstate during runtine, if variable is available. This property weights more than ViewState (see also section ’Hiding controls with Viewstate variables’ on page 274)

Softkey

F1 (default) - F8, 0 - 9, L, R, Cancel, Confirm, Correct, Help, Print, none

Connected softkey (see also section ’Button control - General 2 page for function keys’ on page 86)

Selection

0: do not use 1 (default): Functionkey 2: Selection Button 3: Radio Button

Type of Button (see also section ’Button control - General 1 page’ on page 81)

112

May 2008

Controls

Button Control - Property Listing

Property

Range

Meaning/Reference

HTMLStepSwitch

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

Selection of button action (see also section ’Button control General 2 page for selection buttons’ on page 92)

Function

String

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)

FunctionValue

String, (default is TEMP)

String to identify the button from the steps (see also section ’Button control General 2 page for function keys’ on page 85)

Identification

0 (default): do not change

not used any longer

May 2008

113

Button Control - Property Listing

Controls

Property

Range

Meaning/Reference

RadioButtonName

String

Selected radio Button that belongs to the radio button group (see also section ’Button control - General 2 page for radio buttons’ on page 98)

ChipCard

0 (default): do not change

not used any longer

HoldPressedState

0: no 1: yes 2 (default): default

Toggle (see also section ’Button control General 1 page’ on page 83)

PressOffsetDefault

0: Do not read from registry 1 (default): read from registry

Default checkbox for Shift in pixels. (see also section ’Button control General 1 page’ on page 84)

PressOffset

0 - 32787 (default is 3)

Shift in pixels (see also section ’Button control General 1 page’ on page 84)

AudioResponse

Predefined String (see also section ’Button control - General 3 page’ on page 99)

Sound Response (see also section ’Button control - General 3 page’ on page 99)

AdditionalFeatures

Predefined String

Used for showing ampersands (see also section ’Show an ampersand (&) in Caption of a control’ on page 194)

114

May 2008

Controls

Button Control - Property Listing

Property

Range

Meaning/Reference

HtmlWindow

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

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)

HTMLxPos

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000

X coordinate for new window (see also section ’Button control General 2 page for selection buttons’ on page 94)

HTMLyPos

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000

Y coordinate for new window (see also section ’Button control General 2 page for selection buttons’ on page 94)

HTMLWidth

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000

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

Range

Meaning/Reference

HTMLHeight

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000

Height for new window (see also section ’Button control General 2 page for selection buttons’ on page 94)

Text

String

Button caption (see also section ’Button control - Caption page’ on page 101)

PosXYDefault

0: enter x,y position in control 1 (default): read x,y position from registry

default checkbox for caption position (see also section ’Button control - Caption page’ on page 104)

TextAlignX

-32788 - 32787 Default: 0

Caption X position (see also section ’Button control - Caption page’ on page 103)

TextAlignY

-32788 - 32787 Default: 0

Caption Y position (see also section ’Button control - Caption page’ on page 103)

XCentered

-1 (default): do not change

Not used any longer

TextAlignXTyp

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

X position alignment (see also section ’Button control Caption page’ on page 103)

116

May 2008

Controls

Button Control - Property Listing

Property

Range

Meaning/Reference

YCentered

0: use TextAlignY 1 (default): centered

Y position alignment (see also section ’Button control Caption page’ on page 104)

FontDefault

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

Font default check box (see also section ’Button control Caption page’ on page 105)

Font

String: Name of Font

Fontname (see also section ’Button control Caption page’ on page 104)

FontCodePage

0 (default) - 32787 Number of codepage for Font

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)

TextSize

1 - 32787 (default is 12)

Font Size (see also section ’Button control Caption page’ on page 104)

TextBold

0: regular 1 (default): Bold

Font characteristic Bold (see also section ’Button control Caption page’ on page 104)

TextItalic

0 (default): Regular 1: Italic

Font characteristic Italic (see also section ’Button control Caption page’ on page 104)

May 2008

117

Button Control - Property Listing

Controls

Property

Range

Meaning/Reference

TextUnderline

0 (default): Regular 1: Underline

Font characteristic Underline (see also section ’Button control Caption page’ on page 104)

TextStrikeout

0 (default): Regular 1: Strikeout

Font characteristic Strikeout (see also section ’Button control Caption page’ on page 104)

ActiveColourDefault

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

Colour active default checkbox (see also section ’Button control Caption page’ on page 102)

InactiveColourDefault

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

Colour disabled default checkbox (see also section ’Button control Caption page’ on page 103)

TextColour

0 - 16777215 (default is 0)

Text colour for active text (see also section ’Button control Caption page’ on page 102)

TextColourDisabled

0 - 16777215 (default is 8421504)

Text colour for inactive text (see also section ’Button control Caption page’ on page 103)

TextLayerCount

1 - 32787 (default is 1)

Number of Text Layer (see also section ’Button control Caption page’ on page 101)

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

Range

Meaning/Reference

TextLayerText

String

Button caption for different layers. (see also section ’Button control - Caption page’ on page 101)

TextLayerPosXYDefault

0: enter x,y position in control 1 (default): read x,y position from registry

default checkbox for caption position for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerTextAlignX

-32788 - 32787 Default: 0

Caption X position for different layers. (see also section ’Button control - Caption page’ on page 103)

TextLayerTextAlignY

-32788 - 32787 Default: 0

Caption Y position for different layers. (see also section ’Button control - Caption page’ on page 103)

TextLayerXCentered

-1 (default): do not change

Not used any longer

TextLayerTextAlignXTyp

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

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

May 2008

119

Button Control - Property Listing

Controls

Property

Range

Meaning/Reference

TextLayerYCentered

0: use TextLayerTextAlignY 1 (default): centered

Y position alignment for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerFontDefault

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

Font default check box for different layers. (see also section ’Button control - Caption page’ on page 105)

TextLayerFont

String: Name of Font

Fontname for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerFontCodePage

0 (default) - 32787 Number of codepage for Font

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)

TextLayerTextSize

1 - 32787 (default is 12)

Font Size for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerTextBold

0: regular 1 (default): Bold

Font characteristic Bold for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerTextItalic

0 (default): Regular 1: Italic

Font characteristic Italic for different layers. (see also section ’Button control - Caption page’ on page 104)

120

May 2008

Controls

Button Control - Property Listing

Property

Range

Meaning/Reference

TextLayerTextUnderline

0 (default): Regular 1: Underline

Font characteristic Underline for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerTextStrikeout

0 (default): Regular 1: Strikeout

Font characteristic Strikeout for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerActiveColourDefault

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

Colour active default checkbox for different layers. (see also section ’Button control Caption page’ on page 102)

TextLayerInactiveColourDefault

0: Use TextColourDisabled 1 (default): Use TextLayerTextColourDisabled from registry

Colour disabled default checkbox for different layers. (see also section ’Button control Caption page’ on page 103)

TextLayerTextColour

0 - 16777215 (default is 0)

Text colour for active text for different layers. (see also section ’Button control Caption page’ on page 102)

TextLayerTextColourDisabled

0 - 16777215 (default is 8421504)

Text colour for inactive text for different layers. (see also section ’Button control Caption page’ on page 103)

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

The Edit control Fig. 33: Edit control - General 1 page

z 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

Controls Transaction Remittance ...

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

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

z 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. z HTML page: This is where the Internet page for the error message is specified for the message code shown in the Error list box. z 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. z 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

z 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). z 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. z 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. z hidden: In this state, the input field is on the page but it is hidden out of sight. z 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. z 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. z 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. z 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. z Coordinates button: The coordinates that are to be used for displaying Help as a popup window are specified here. See page 93. z Confirm input check box: If this check box is activated, the input must be confirmed. Both the key on the alphanumeric keyboard and the 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. z 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. z 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. z 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 , or the font can be formatted with the 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 .

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

Controls Fig. 37: Edit control - Graphic page

z Input field up: The image that describes the input field in its up state is entered here. z ...: 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. z Input field up: The name and path of the image file can be entered manually here if they are known. z 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

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

Controls Fig. 38: Edit control - Input page

z Input orientation: This group of radio buttons controls the positioning of the caret in an empty input field. z 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. z 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. z 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. z 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. z 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. z Input range: The size and position of the input field are defined in the following input fields: z 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. z 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. z Width: The width of the input range is entered in pixels here. z Height: The height of the input range is entered in pixels here. z 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) z Don’t 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

z Font colour for active: Three fields define the colour setting for the font. z 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. z 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. z ... 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. z 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). z 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. z 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

z 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

Controls

z Yes: The character may be overridden. z No: During input the caret jumps automatically to the next writeable character. z 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. z At input: This radiobutton means, that the pre-allocated character shall be displayed, when the character beneath this character has been typed in. z Always: The pre-allocated character is shown, when the page is loaded. z Character transformation: It may be specified here, if Alpha characters are directly set to Uppercase or Lowercase. z None: No transformation is done. Character stays as it is. z Uppercase: Alpha characters are set to Uppercase, directly after typing the character in. z Lowercase: Alpha characters are set to Lowercase, directly after typing the character in. z 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). z 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. z 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. z Clear all button: This button resets the complete table, which means the direct format for the complete input string. z 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. z 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

z Beep at input of not allowed character: If this checkbox is checked, at every attempt to enter a not allowed character the system beeps. z 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

Controls

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

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

Controls

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

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

Controls

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

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

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:

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:

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:

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

Range

Meaning/Reference

Scheme

String

Scheme (see also section ’Button control General 3 page’ on page 99)

ImageUp

String

Input field up graphic (see also section ’Edit control - Graphic page’ on page 130)

May 2008

147

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

IconUp

String

Icon for the active input field (up/pressed) (see also section ’Button control - Icon page’ on page 108)

ImagePressed

String

Input field pressed graphic (see also section ’Edit control - Graphic page’ on page 131)

ImageDisabled

String

Input field disabled graphic (see also section ’Edit control - Graphic page’ on page 131)

IconDisabled

String

Icon for the disabled input field (see also section ’Button control - Icon page’ on page 108)

ForbiddenLetter

List of :00032 - :00255 values

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)

BeepAtForbiddenLetterInput

0 (default): Do not beep 1: Beep

Beep when pressing a not allowed character (see also section ’Edit control - Not allowed character page’ on page 139)

148

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

PreliminaryInputForbidden

0 (default): Input variables will not be reset 1: Reset of Input variable at page load

Checkbox Don’t display preliminary input (see also section ’Edit control - Input page’ on page 133)

FunctionName

String

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

String

Fieldname in this transaction. Is reference to registry entry (see also section ’Edit control General 1 page’ on page 124)

FieldID

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

Variable name, which is automatically read from registry under key FunctionName, FieldName (see also section ’Input variables’ on page 413)

FieldNumber

1 - 32787

Seq. No (see also section ’Edit control General 1 page’ on page 124)

SoftkeyValue

F1 (default) - F8, none

Connected softkey (see also section ’Edit control - General 1 page’ on page 124)

Timeout

0 (no timer) - 32787 default is 600

Input Timeout (see also section ’Edit control General 1 page’ on page 124)

May 2008

149

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

ConfirmInput

0 (default): Do not confirm 1: Confirm the input

Confirm input check box (see also section ’Edit control - General 2 page’ on page 127)

Beep

0 (default): do not beep 1: beep

Beep at the end of input check box (see also section ’Edit control General 2 page’ on page 128)

CursorPosition

0 (default): caretposition at start 1: caretposition at end

caretposition at end (see also section ’Edit control - General 2 page’ on page 128)

CorrectHref0

String with syntax nn:pagename like 8:Mypage.htm

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)

CorrectHref1

see CorrectHref0

see CorrectHref0

CorrectHref2

see CorrectHref0

see CorrectHref0

CorrectHref3

see CorrectHref0

see CorrectHref0

CorrectHref4

see CorrectHref0

see CorrectHref0

CorrectHref5

see CorrectHref0

see CorrectHref0

CorrectHref6

see CorrectHref0

see CorrectHref0

CorrectHref7

see CorrectHref0

see CorrectHref0

CorrectHref8

see CorrectHref0

see CorrectHref0

CorrectHref9

see CorrectHref0

see CorrectHref0

150

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

CorrectWindow0

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

Checkbox in a new window for CorrectHref0 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindow1

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

Checkbox in a new window for CorrectHref1 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindow2

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

Checkbox in a new window for CorrectHref2 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindow3

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

Checkbox in a new window for CorrectHref3 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindow4

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

Checkbox in a new window for CorrectHref4 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindow5

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

Checkbox in a new window for CorrectHref5 (see also section ’Edit control General 1 page’ on page 126)

May 2008

151

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

CorrectWindow6

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

Checkbox in a new window for CorrectHref6 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindow7

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

Checkbox in a new window for CorrectHref7 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindow8

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

Checkbox in a new window for CorrectHref8 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindow9

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

Checkbox in a new window for CorrectHref9 (see also section ’Edit control General 1 page’ on page 126)

CorrectWindowTop

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 54)

X coordinate for correct window (see also section ’Button control General 2 page for selection buttons’ on page 94)

152

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

CorrectWindowLeft

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 44)

Y coordinate for correct window (see also section ’Button control General 2 page for selection buttons’ on page 94)

CorrectWindowWidth

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 712)

Width for correct window (see also section ’Button control General 2 page for selection buttons’ on page 94)

CorrectWindowHeight

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 260)

Height for correct window (see also section ’Button control General 2 page for selection buttons’ on page 94)

ViewState

0 (default): Input field inactive 2: Input field disabled 3: Input field hidden

State of input field (see also section ’Edit control - General 2 page’ on page 127)

May 2008

153

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

RTViewState

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

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

0 - 32787 (default is 3)

Shift in pixels (see also section ’Edit control General 2 page’ on page 127)

HelpHref

String

Href for help (see also section ’Edit control General 2 page’ on page 127)

HelpWindow

0 (default): show help page in current window 1: show help page in new, additional window

’in a new window’ for Href for help (see also section ’Edit control General 2 page’ on page 127)

HelpWindowTop

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 54)

X coordinate for help window (see also section ’Edit control General 2 page’ on page 127)

154

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

HelpWindowLeft

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 44)

Y coordinate for help window (see also section ’Edit control General 2 page’ on page 127)

HelpWindowWidth

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 712)

Width for help window (see also section ’Edit control - General 2 page’ on page 127)

HelpWindowHeight

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 260)

Height for help window (see also section ’Edit control - General 2 page’ on page 127)

Instruction

String

Instruction hint (see also section ’Edit control - General 2 page’ on page 128)

AudioResponse

Predefined String (see also section ’Button control - General 3 page’ on page 99)

Sound Response (see also section ’Button control - General 3 page’ on page 99)

May 2008

155

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

CaptionText

String

Caption text

CaptionAlignDefault

0: enter x,y position in control 1 (default): read x,y position from registry

default checkbox for caption position (see also section ’Button control - Caption page’ on page 104)

CaptionAlignX

0 - 32787 (default is 19)

Caption X position (see also section ’Button control - Caption page’ on page 103)

CaptionAlignXTyp

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

X position alignment (see also section ’Button control Caption page’ on page 103)

CaptionAlignY

0 - 32787 (default is 6)

Caption Y position (see also section ’Button control - Caption page’ on page 103)

CaptionCenterX

0 (default): do not change

Not used any longer

CaptionCenterY

0 (default): use CaptionAlignY 1: centered

Y position alignment (see also section ’Button control Caption page’ on page 104)

CaptionFontDefault

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

Font default check box (see also section ’Button control Caption page’ on page 105)

CaptionFont

String: Name of Font

Fontname (see also section ’Button control Caption page’ on page 104)

156

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

CaptionSize

1 - 32787 (default is 10)

Font Size (see also section ’Button control Caption page’ on page 104)

CaptionFontCodePage

0 (default) - 32787 Number of codepage for Font

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)

CaptionBold

0: regular 1 (default): Bold

Font characteristic Bold (see also section ’Button control Caption page’ on page 104)

CaptionUnderline

0 (default): Regular 1: Underline

Font characteristic Underline (see also section ’Button control Caption page’ on page 104)

CaptionItalic

0 (default): Regular 1: Italic

Font characteristic Italic (see also section ’Button control Caption page’ on page 104)

CaptionStrikeout

0 (default): Regular 1: Strikeout

Font characteristic Strikeout (see also section ’Button control Caption page’ on page 104)

CaptionColourDefault

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

Colour active default checkbox (see also section ’Button control Caption page’ on page 102)

May 2008

157

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

CaptionColourDisabledDefault

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

Colour disabled default checkbox (see also section ’Button control Caption page’ on page 103)

CaptionColour

0 - 16777215 (default is 0)

Text colour for active caption (see also section ’Button control Caption page’ on page 102)

CaptionColourDisabled

0 - 16777215 (default is 8421504)

Text colour for inactive caption (see also section ’Button control Caption page’ on page 103)

InputJustified

0 (default): right justified 1: left justified 2: Centered

Input orientation (see also section ’Edit control - Input page’ on page 132)

InputAlignX

0 - 32787 (default is 16)

Input range X pos (see also section ’Edit control - Input page’ on page 133)

InputAlignY

0 - 32787 (default is 28)

Input range Y pos (see also section ’Edit control - Input page’ on page 133)

InputWidth

0 - 32787 (default is 272)

Input range width (see also section ’Edit control - Input page’ on page 133)

InputHeight

0 - 32787 (default is 18)

Input range height (see also section ’Edit control - Input page’ on page 133)

158

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

InputLineMax

1 - 32787 (default is 1)

Input limits - max. lines (see also section ’Edit control - Input page’ on page 133)

InputCharMax

1 - 32787 (default is 100)

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)

InputFont

String: Name of Font

Fontname (see also section ’Edit control Input page’ on page 137)

InputFontCodePage

0 (default) - 32787 Number of codepage for Font

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)

InputSize

1 - 32787 (default is 10)

Font Size (see also section ’Button control Caption page’ on page 104)

InputBold

0 (default): regular 1: Bold

Font characteristic Bold (see also section ’Button control Caption page’ on page 104)

InputUnderline

0 (default): Regular 1: Underline

Font characteristic Underline (see also section ’Button control Caption page’ on page 104)

May 2008

159

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

InputItalic

0 (default): Regular 1: Italic

Font characteristic Italic (see also section ’Button control Caption page’ on page 104)

InputStrikeout

0 (default): Regular 1: Strikeout

Font characteristic Strikeout (see also section ’Button control Caption page’ on page 104)

InputColour

0 - 16777215 (default is 0)

Text colour for active caption (see also section ’Edit control Input page’ on page 134)

InputColourDisabled

0 - 16777215 (default is 8421504)

Text colour for inactive caption (see also section ’Edit control Input page’ on page 134)

InputDirectFormatEnabled

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

Direct Format checkbox (see also section ’Edit control Input page’ on page 134)

160

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

InputDirectFormatMask

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

Direct format (see also section ’Edit control Input page’ on page 134)

[#VAR_PCDIALOG_R T_SEPARATORS_S;;# ]

Separator for InputDirectFormatMask, do not change.

InputDirectFormatRTSeparators

May 2008

Please notice that not any combination of Byte settings is allowed. It is best to create the string in the property page.

161

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

IconAlignX

0 - 32787 (default is 0)

X-position of icon on an input field (see also section ’Button control Icon page’ on page 109)

IconAlignY

0 - 32787 (default is 0)

Y-position of icon on an input field (see also section ’Button control Icon page’ on page 109)

IconCenterX

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

Possibility to center icon in x direction (see also section ’Button control - Icon page’ on page 109)

IconCenterY

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

Possibility to center icon in y direction (see also section ’Button control - Icon page’ on page 109)

PressOffsetDefault

0: Do not read from registry 1 (default): read from registry

Default checkbox for Shift in pixels. (see also section ’Edit control General 2 page’ on page 127)

InputAreaDefault

0: Do not read from registry 1 (default): read from registry

Input range default (see also section ’Edit control - Input page’ on page 133)

InputFontDefault

0: Do not read from registry 1 (default): read from registry

Font button, default check box (see also section ’Edit control Input page’ on page 137)

162

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

InputColourDefault

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

Colour active default checkbox (see also section ’Edit control Input page’ on page 134)

InputColourDisabledDefault

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

Colour disabled default checkbox (see also section ’Edit control Input page’ on page 134)

ImageUpDefault

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

Input field up, default check box (see also section ’Edit control Graphic page’ on page 130)

ImagePressedDefault

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

Input field pressed, default check box (see also section ’Edit control - Graphic page’ on page 131)

ImageDisabledDefault

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

Input field disabled, default check box (see also section ’Edit control - Graphic page’ on page 131)

CheckRoutine

0: No Check 1: Alphanumeric check 2: Numeric check 3: Date check 4: Amount check

Number of the check routine (see also section ’Standard input check dialogs’ on page 427)

CheckParameter

Depending on the check routine. Filled during design time from CCCheckfw.dll. Please pick it up in Frontpage

Parameter from the check routines (see also section ’The Dialog() function’ on page 423)

May 2008

163

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

CheckDependencies

Depending on the check routine. Filled during design time from CCCheckfw.dll. Please pick it up in Frontpage

Parameter from the check routines (see also section ’The Dialog() function’ on page 423)

AdditionalFeatures

Predefined Strings

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)

TextLayerCount

1 - 32787 (default is 1)

Number of Text Layer (see also section ’Button control Caption page’ on page 101)

Only edit the following TextLayer... properties, if TextLayoutCount is greater than 1. Use ;; as separator for each layers value. TextLayerText

164

String

Headline text for different layers. (see also section ’Button control - Caption page’ on page 101)

May 2008

Controls

Edit Control - Property Listing

Property

Range

Meaning/Reference

TextLayerPosXYDefault

0: enter x,y position in control 1 (default): read x,y position from registry

default checkbox for caption position for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerTextAlignX

-32788 - 32787 Default: 19

Caption X position for different layers. (see also section ’Button control - Caption page’ on page 103)

TextLayerTextAlignY

-32788 - 32787 Default: 6

Caption Y position for different layers. (see also section ’Button control - Caption page’ on page 103)

TextLayerXCentered

0 (default): do not change

Not used any longer

TextLayerTextAlignXTyp

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

X position alignment for different layers. (see also section ’Button control - Caption page’ on page 103)

TextLayerYCentered

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

Y position alignment for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerFontDefault

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

Font default check box for different layers. (see also section ’Button control - Caption page’ on page 105)

May 2008

165

Edit Control - Property Listing

Controls

Property

Range

Meaning/Reference

TextLayerFont

String: Name of Font Arial is default

Fontname for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerFontCodePage

0 (default) - 32787 Number of codepage for Font

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)

TextLayerTextSize

1 - 32787 (default is 10)

Font Size for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerTextBold

0: regular 1 (default): Bold

Font characteristic Bold for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerTextItalic

0 (default): Regular 1: Italic

Font characteristic Italic for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerTextUnderline

0 (default): Regular 1: Underline

Font characteristic Underline for different layers. (see also section ’Button control Caption page’ on page 104)

166

May 2008

Controls

The List control

Property

Range

Meaning/Reference

TextLayerTextStrikeout

0 (default): Regular 1: Strikeout

Font characteristic Strikeout for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerActiveColourDefault

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

Colour active default checkbox for different layers. (see also section ’Button control Caption page’ on page 102)

TextLayerInactiveColourDefault

0: Use TextColourDisabled 1 (default): Use TextLayerTextColourDisabled from registry

Colour disabled default checkbox for different layers. (see also section ’Button control Caption page’ on page 103)

TextLayerTextColour

0 - 16777215 (default is 0)

Text colour for active text for different layers. (see also section ’Button control Caption page’ on page 102)

TextLayerTextColourDisabled

0 - 16777215 (default is 8421504)

Text colour for inactive text for different layers. (see also section ’Button control Caption page’ on page 103)

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

z 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

Controls ActiveX PCList Transaction International remittance order ...

z 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 ... z 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. z 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. z 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 control’s 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 control’s 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 &] z 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]). z Formatting of PC variable: (see "SNI_PC_VARIABLE WebBot" on page 284) z 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

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

z 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). z 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. z 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. z hidden: In this state, the List control is on the page but is hidden from sight.

May 2008

173

The List control

Controls

z 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. z 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. z 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 , or the font can be formatted with the 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 .

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

The List control Fig. 52: Listcontrol - General 3 page

The description of this page is identical to that of the General 3 page in the Button control (see "Button control - General 3 page" on page 98).

May 2008

175

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

z 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. and have to be pressed simultaneously to get to a new line. z Colour active (see "Button control - Caption page" on page 101). z Colour inactive (see "Button control - Caption page" on page 101). z The following fields define the position of the variable text for the List control: z 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

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

Range

Meaning/Reference

Scheme

String

Scheme (see also section ’Button control General 3 page’ on page 99)

ImageUp

String

Input field up graphic (see also section ’Edit control - Graphic page’ on page 130)

Default: ../images/controls/input_ std_up.bmp

IconUp

String

Icon for the active input field (up/pressed) (see also section ’Button control - Icon page’ on page 108)

ImagePressed

String Default:

Input field pressed graphic (see also section ’Edit control - Graphic page’ on page 131)

../images/controls/input_ std_pressed.bmp

ImageDisabled

String Default: ../images/controls/input_ std_disabled.bmp

IconDisabled

String

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)

May 2008

181

List Control - Property Listing

Controls

Property

Range

Meaning/Reference

FunctionName

String

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

String

Fieldname in this transaction. Is reference to registry entry (see also section ’List control General 1 page’ on page 170)

FieldID

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

Variable name, which is automatically read from registry under key FunctionName, FieldName (see also section ’Input variables’ on page 413)

FieldNumber

1 - 32787

Seq. No (see also section ’List control General 1 page’ on page 170)

SoftkeyValue

F1 (default) - F8, none

Connected softkey (see also section ’List control - General 1 page’ on page 170)

ListHref

String

HTML Page for showing the List on in a new window (see also section ’List control General 1 page’ on page 170)

182

May 2008

Controls

List Control - Property Listing

Property

Range

Meaning/Reference

CorrectWindowTop

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 54)

Y coordinate for correct window (see also section ’List control General 1 page’ on page 172)

CorrectWindowLeft

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 44)

X coordinate for correct window (see also section ’List control General 1 page’ on page 172)

CorrectWindowWidth

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 712)

Width for correct window (see also section ’List control General 1 page’ on page 172)

May 2008

183

List Control - Property Listing

Controls

Property

Range

Meaning/Reference

CorrectWindowHeight

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 (default is 260)

Height for correct window (see also section ’List control General 1 page’ on page 172)

ViewState

0 (default): Input field inactive 2: Input field disabled 3: Input field hidden

State of List control (see also section ’List control - General 2 page’ on page 173)

RTViewState

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

Viewstate during runtine, if variable is available. This property weights more than ViewState (see also section ’Hiding controls with Viewstate variables’ on page 274)

PressOffsetDefault

0: Do not read from registry 1 (default): read from registry

Default checkbox for Shift in pixels. (see also section ’List control General 2 page’ on page 174)

PressOffset

0 - 32787 (default is 3)

Shift in pixels (see also section ’List control General 2 page’ on page 174)

Instruction

String

Instruction hint (see also section ’List control - General 2 page’ on page 174)

184

May 2008

Controls

List Control - Property Listing

Property

Range

Meaning/Reference

AudioResponse

Predefined String

Sound Response (see also section ’Button control - General 3 page’ on page 99)

AdditionalFeatures

Predefined Strings

Used for showing ampersands (see also section ’Show an ampersand (&) in Caption of a control’ on page 194)

CaptionText

String

Caption text (see also section ’Button control Caption page’ on page 103)

CaptionAlignX

0 - 32787 (default is 19)

Caption X position (see also section ’Button control - Caption page’ on page 103)

CaptionAlignY

0 - 32787 (default is 6)

Caption Y position (see also section ’Button control - Caption page’ on page 103)

CaptionCenterX

0 (default): do not change

Not used any longer

CaptionAlignXTyp

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

X position alignment (see also section ’Button control Caption page’ on page 103)

CaptionCenterY

0 (default): use CaptionAlignY 1: centered

Y position alignment (see also section ’Button control Caption page’ on page 104)

May 2008

185

List Control - Property Listing

Controls

Property

Range

Meaning/Reference

CaptionFont

String: Name of Font

Fontname (see also section ’Button control Caption page’ on page 104)

CaptionFontCodePage

0 (default) - 32787 Number of codepage for Font

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)

CaptionSize

1 - 32787 (default is 10)

Font Size (see also section ’Button control Caption page’ on page 104)

CaptionBold

0: regular 1 (default): Bold

Font characteristic Bold (see also section ’Button control Caption page’ on page 104)

CaptionUnderline

0 (default): Regular 1: Underline

Font characteristic Underline (see also section ’Button control Caption page’ on page 104)

CaptionItalic

0 (default): Regular 1: Italic

Font characteristic Italic (see also section ’Button control Caption page’ on page 104)

CaptionStrikeout

0 (default): Regular 1: Strikeout

Font characteristic Strikeout (see also section ’Button control Caption page’ on page 104)

186

May 2008

Controls

List Control - Property Listing

Property

Range

Meaning/Reference

CaptionColour

0 - 16777215 (default is 0)

Text colour for active caption (see also section ’Button control Caption page’ on page 102)

CaptionColourDisabled

0 - 16777215 (default is 8421504)

Text colour for inactive caption (see also section ’Button control Caption page’ on page 103)

CaptionAlignDefault

0: enter x,y position in control 1 (default): read x,y position from registry

default checkbox for caption position (see also section ’Button control - Caption page’ on page 104)

CaptionFontDefault

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

Font default check box (see also section ’Button control Caption page’ on page 105)

CaptionColourDefault

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

Colour active default checkbox (see also section ’Button control Caption page’ on page 102)

CaptionColourDisabledDefault

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

Colour disabled default checkbox (see also section ’Button control Caption page’ on page 103)

InputText

String: Name of variable

Output; variable which holds the selected item (see also section ’List control - Output page’ on page 178)

InputJustified

0 (default): do not change

Not used

May 2008

187

List Control - Property Listing

Controls

Property

Range

Meaning/Reference

InputAlignX

0 - 32787 (default is 16)

Output range X pos (see also section ’List control - Output page’ on page 178)

InputAlignY

0 - 32787 (default is 28)

Output range Y pos (see also section ’List control - Output page’ on page 178)

InputXCentred

X pos Position: 0: Left (default) 1: Centered 2: Right

X pos position (see also section ’List control Output page’ on page 178)

InputYCentred

y pos: 0: not centered (default) 1: Centered

y pos checkbox Centered (see also section ’List control Output page’ on page 178)

InputFont

String: Name of Font

Fontname for outpt font (see also section ’List control - Output page’ on page 179)

InputFontCodePage

0 (default) - 32787 Number of codepage for Font

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)

InputSize

1 - 32787 (default is 10)

Font Size (see also section ’Button control Caption page’ on page 104)

InputBold

0 (default): regular 1: Bold

Font characteristic Bold (see also section ’Button control Caption page’ on page 104)

188

May 2008

Controls

List Control - Property Listing

Property

Range

Meaning/Reference

InputUnderline

0 (default): Regular 1: Underline

Font characteristic Underline (see also section ’Button control Caption page’ on page 104)

InputItalic

0 (default): Regular 1: Italic

Font characteristic Italic (see also section ’Button control Caption page’ on page 104)

InputStrikeout

0 (default): Regular 1: Strikeout

Font characteristic Strikeout (see also section ’Button control Caption page’ on page 104)

InputColour

0 - 16777215 (default is 0)

Text colour for active caption (see also section ’Edit control Input page’ on page 134)

InputColourDisabled

0 - 16777215 (default is 8421504)

Text colour for inactive caption (see also section ’Edit control Input page’ on page 134)

InputAlignDefault

0: Do not read from registry 1 (default): read from registry

Checkbox default for output positions (see also section ’List control - Output page’ on page 179)

InputFontDefault

0: Do not read from registry 1 (default): read from registry

Font button, default check box (see also section ’List control Output page’ on page 179)

May 2008

189

List Control - Property Listing

Controls

Property

Range

Meaning/Reference

InputColourDefault

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

Colour active default checkbox (see also section ’Edit control Input page’ on page 134)

InputColourDisabledDefault

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

Colour disabled default checkbox (see also section ’Edit control Input page’ on page 134)

IconAlignX

0 - 32787 (default is 0)

X-position of icon on an input field (see also section ’Button control Icon page’ on page 109)

IconAlignY

0 - 32787 (default is 0)

Y-position of icon on an input field (see also section ’Button control Icon page’ on page 109)

IconCenterX

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

Possibility to center icon in x direction (see also section ’Button control - Icon page’ on page 109)

IconCenterY

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

Possibility to center icon in y direction (see also section ’Button control - Icon page’ on page 109)

ImageUpDefault

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

List control up, default check box (see also section ’Edit control Graphic page’ on page 130)

190

May 2008

Controls

List Control - Property Listing

Property

Range

Meaning/Reference

ImagePressedDefault

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

List control pressed, default check box (see also section ’Edit control - Graphic page’ on page 131)

ImageDisabledDefault

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

List control disabled, default check box (see also section ’Edit control - Graphic page’ on page 131)

TextLayerCount

1 - 32787 (default is 1)

Number of Text Layer (see also section ’Button control Caption page’ on page 101)

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)

TextLayerPosXYDefault

0: enter x,y position in control 1 (default): read x,y position from registry

default checkbox for caption position for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerTextAlignX

-32788 - 32787 Default: 19

Caption X position for different layers. (see also section ’Button control - Caption page’ on page 103)

May 2008

191

List Control - Property Listing

Controls

Property

Range

Meaning/Reference

TextLayerTextAlignY

-32788 - 32787 Default: 6

Caption Y position for different layers. (see also section ’Button control - Caption page’ on page 103)

TextLayerXCentered

0 (default): do not change

Not used any longer

TextLayerTextAlignXTyp

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

X position alignment for different layers. (see also section ’Button control - Caption page’ on page 103)

TextLayerYCentered

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

Y position alignment for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerFontDefault

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

Font default check box for different layers. (see also section ’Button control - Caption page’ on page 105)

TextLayerFont

String: Name of Font Arial is default

Fontname for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerFontCodePage

0 (default) - 32787 Number of codepage for Font

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)

192

May 2008

Controls

List Control - Property Listing

Property

Range

Meaning/Reference

TextLayerTextSize

1 - 32787 (default is 10)

Font Size for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerTextBold

0: regular 1 (default): Bold

Font characteristic Bold for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerTextItalic

0 (default): Regular 1: Italic

Font characteristic Italic for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerText Underline

0 (default): Regular 1: Underline

Font characteristic Underline for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerTextStrikeout

0 (default): Regular 1: Strikeout

Font characteristic Strikeout for different layers. (see also section ’Button control Caption page’ on page 104)

TextLayerActiveColourDefault

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

Colour active default checkbox for different layers. (see also section ’Button control Caption page’ on page 102)

May 2008

193

Show an ampersand (&) in Caption of a control

Controls

Property

Range

Meaning/Reference

TextLayerInactiveColourDefault

0: Use TextColourDisabled 1 (default): Use TextLayerTextColourDisabled from registry

Colour disabled default checkbox for different layers. (see also section ’Button control Caption page’ on page 103)

TextLayerTextColour

0 - 16777215 (default is 0)

Text colour for active text for different layers. (see also section ’Button control Caption page’ on page 102)

TextLayerTextColourDisabled

0 - 16777215 (default is 8421504)

Text colour for inactive text for different layers. (see also section ’Button control Caption page’ on page 103)

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:

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

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

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

z 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 , or the font can be formatted with the tag. The header appears at that point on the Internet page which is identified by the HTML tag . z Beep: This defines whether there should be a beep when the page is loaded or in the event of a timeout. z no beep: No beep is required. z at start of page: A beep is output when the page is loaded. z 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. z 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

z 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). z 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 , or the font can be formatted with the tag. The operating hint appears at that point on the Internet page which is identified by the HTML tag . 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. z 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. z 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

The Contents ATM control

There are five groups on this panel: z 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. z Start: Starts the EppRTC. Is only needed on starting page. z Stop: Stops the EppRTC. z 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. z Start: Here the Start() function of the ADA framework is called. This function starts the service directly and ignores any start sequences. z Stop: By activating this checkbox the Stop() function of the ADA service is called. This function stops the ADA framework. z 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). z Tutorial: This group describes what to do when the ADA framework is started. z 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: z Skip: Causes the service to skip the tutorial page and start directly. z Navigate: Activating this checkbox causes the service to navigate to a new URL. z 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). z 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). z 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) z 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). z 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). z 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. z 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. z Keys: Here you can configure the output for the available buttons on the page. Default value is stored in the registry variable ’ADATextPageKeys’. z privacy: see above. z 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

z Pause(ms): This property contains a time in ms ADA waits until it’s speaking the text from delayed Content. z 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). z privacy: see above. z 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’. z privacy: see above. z Echo Button: The echoes for the buttons pressed are configured here. Default value is stored in the registry variable ’ADAEchoButton’. z 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’. z 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 z 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’. z 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’. z Macro E. keys: The echo which appears when a button is pressed is configured here. Default value is stored in the registry variable ’ADAMacroEchoKeys’. z Repeat

May 2008

205

The Contents ATM control

Controls

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

z 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. z State of Functionkey: The state of the selected functionkey can be determined here: z up: The button will appear in the up state, and can be pressed. z 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). z 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. z 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 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

Controls

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

z Help Internet page: The Internet page belonging to the selected function button is entered in this input field. z 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). z 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

z Activate EPP Keys: The mode of the EPP is selected here: z No input: There is no input field on the current Internet page z 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. z Normal input: There are one or more input fields on the current Internet page. Numeric input is made via the EPP z 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

Controls

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

z 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

z PIN input options: The number of entered PIN digits and the confirmation of the PIN is specified in here: z PIN 4-digits: The user is allowed to enter a 4-digit PIN. z PIN 6-digits: The user is allowed to enter a 6-digit PIN. z User defined:The mininum and the maximun numbers of PIN-digits may be specified in here. z Inputfield Min.: The minimun numbers of PIN-digits must be entered here. z 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. z Continue without Confirm-Key: The user has to press the function key with value to go on using the application. After that, the return code is sent to the application. z 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. z 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. z 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

Controls

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

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

z 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

z ,-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. z *-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. z 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

z 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 control’s 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. z 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

Range

Meaning/Reference

Name

Not used

not used

Page_Headline

String

Caption (see also section ’Contents ATM control - General page’ on page 199)

PageInstruction

String

Instruction hint (see also section ’Contents ATM control - General page’ on page 200)

PageTimeout

Numerical value -1 32787 or predifined keyword from registry.

Timeout combo box (see also section ’Contents ATM control General page’ on page 200)

PageBeep

1: No beep 2: At start of page 3: At timeout 4: At start of page/timeout 5 (default): Default from registry

Beep (see also section ’Contents ATM control General page’ on page 199)

FunctionKeyID01

Default is: CANCEL

Function key with ID 01 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID02

Default is: CONFIRM

Function key with ID 02 (see also section ’Contents ATM control Function key page’ on page 207)

216

May 2008

Controls

Content ATM Control - Property Listing

Property

Range

Meaning/Reference

FunctionKeyID03

Default is: CONFIRMALL

Function key with ID 03 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID04

Default is: HELP

Function key with ID 04 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID05

Default is: CORRECT

Function key with ID 05 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID06

unused

Function key with ID 06 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID07

unused

Function key with ID 07 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID08

Default is: SURFING_CANCEL

Function key with ID 08 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID09

Default is: SURFING_BACK

Function key with ID 09 (see also section ’Contents ATM control Function key page’ on page 207)

May 2008

217

Content ATM Control - Property Listing

Controls

Property

Range

Meaning/Reference

FunctionKeyID10

Default is: SURFING_FORWARD

Function key with ID 10 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID11

Default is: SURFING_SCROLL_U P

Function key with ID 11 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID12

Default is: SURFING_SCROLL_D OWN

Function key with ID 12 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID13

Default is: SURFING_SCROLL_L EFT

Function key with ID 13 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID14

Default is: SURFING_SCROLL_R IGHT

Function key with ID 14 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID15

Default is: SURFING_PRINT

Function key with ID 15 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID16

unused

Function key with ID 16 (see also section ’Contents ATM control Function key page’ on page 207)

218

May 2008

Controls

Content ATM Control - Property Listing

Property

Range

Meaning/Reference

FunctionKeyID17

unused

Function key with ID 17 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID18

unused

Function key with ID 18 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID19

unused

Function key with ID 19 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyID20

unused

Function key with ID 20 (see also section ’Contents ATM control Function key page’ on page 207)

FunctionKeyViewState 01

0: State up 1: State pressed 2: State disabled 3 (default): State invisible

State of Function key 01=CANCEL (see also section ’Contents ATM control - Function key page’ on page 207)

FunctionKeyViewState 02

0: State up 1: State pressed 2: State disabled 3 (default): State invisible

State of Function key 02=CONFIRM (see also section ’Contents ATM control - Function key page’ on page 207)

...

...

...

FunctionKeyViewState 20

0: State up 1: State pressed 2: State disabled 3 (default): State invisible

State of Function key 20 (see also section ’Contents ATM control Function key page’ on page 207)

May 2008

219

Content ATM Control - Property Listing

Controls

Property

Range

Meaning/Reference

SubmitControlName

one of the function key id’s

Confirm key list box (see also section ’Contents ATM control Confirm page’ on page 215)

WithoutSubmitButton

0 (default): Continue with confirm key 1: Continue without confirm key

Continue without confirm key (see also section ’Contents ATM control - Confirm page’ on page 215)

NewWindowTop

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Default: 54

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)

NewWindowLeft

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Default: 44

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

Range

Meaning/Reference

NewWindowWidth

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Default: 712

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

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000 Default: 260

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

String

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

Range

Meaning/Reference

PinEntry

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

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

Range

Meaning/Reference

EPPConfigActiveFDK

Add the values of the active Softkeys: F1: 1 F2: 2 F3: 4 F4: 8 F5: 16 F6: 32 F7: 64 F8: 128

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)

EPPConfigActiveFK

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

Values of the selected active EPP keyboard keys (see also section ’Contents ATM control EPP Keys page’ on page 211)

EPPConfigTerminateFDK

Add the values of the terminate Softkeys: F1: 1 F2: 2 F3: 4 F4: 8 F5: 16 F6: 32 F7: 64 F8: 128

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

Range

Meaning/Reference

EPPConfigTerminateFK

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

Values of the selected terminate EPP keyboard keys (see also section ’Contents ATM control - EPP Keys page’ on page 211)

EPPConfigValue_FK_ Decpoint

single character or group of characters

The value of the ,-key (see also section ’Contents ATM control EPP Keys page’ on page 214)

EPPConfigValue_FK_r es1

single digit or group of characters

The value of the *-key (see also section ’Contents ATM control EPP Keys page’ on page 214)

EPPConfigValue_FK_s ub

single character

The replacement sign for PIN input (see also section ’Contents ATM control - EPP Keys page’ on page 214)

224

May 2008

Controls

Content ATM Control - Property Listing

Property

Range

Meaning/Reference

ADACommand

(see also section ’Range for ADA Command’ on page 225)

ADA configuration Panel(see also section ’ADA configuration panel’ on page 202)

CTRLstatus

-1: Init 0: Do not navigate 1: Navigation allowed

Read only property: may be used to ask in script, if a navigation is allowed.

Range for ADA Command String created from following keywords (separator is _WXSEP_) Property

Keyword

EPPRTC, Start

StartEppRTC

EPPRTC, Stop

StopEppRTC

Command, Start

START

Command, Stop

STOP

Command, Idle

IDLE

Command Start and Stop

RESTART

Command Stop and Idle

REIDLE

Allow Tutorial start

onSTART

Skip

onSTART=SKIP

Navigate

onSTART= NAVIGTE_WXSEP_mypage.htm

Open

onSTART= OPEN_WXSEP_mypage.htm_WXS EP_top=0, left=0, height=20000, width=20000

Timeout extension

TimeoutExtension=10

Menu

TextPageMenu=Text

Hint

TextPageHint=Text

Content

TextPageContent=Text

May 2008

225

The Contents STD control

Controls

Property

Keyword

Content, privacy

TextPageContentPRV=Text

Keys

TextPageKeys=Text

Keys, pricacy

TextPageKeysPRV=Text

Edit Hint

TextEditHint=Text

Edit Hint, privacy

TextEditHintPRV=Text

Edit Content

TextEditContent=Text

Edit Content, privacy

TextEditContentPRV=Text

Echo Button

EchoButton=Text

Echo Edit

EchoEdit=Text

Echo EPP

EchoEpp=Text

Macro A. keys

MacroActiveKeys=Text

Macro E. keys

MacroEchoKeys=Text

Accumulate spoken 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 and 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

z 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 , or the font can be formatted with the tag. The header appears at that point on the Internet page which is identified by the HTML tag . z Beep: This defines whether there should be a beep when the page is loaded or in the event of a timeout. z no beep: No beep is required. z at start of page: A beep is output when the page is loaded. z 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. z 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

z 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). z 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 control’s 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. z 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. z 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 , or the font can be formatted with the tag. The operating hint appears at that point on the Internet page which is identified by the HTML tag . 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. z 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

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

z 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

z 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. z 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). z HTML page: The Internet page belonging to the list item from the Timeout window list box is entered in this input field. z 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). z 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. z 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

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

z 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

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

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

Controls

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

z HTML page radio button: When this radio button is selected, the appearance of the page changes as follows: z 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). z 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). z 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. z 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

Controls

Fig. 80: Contents STD control - EPP Keys page

z Activate EPP Keys: The mode of the EPP is selected here: z No input: There is no input field on the current Internet page. z 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. z Normal input: There are one or more input fields on the current Internet page. Numeric input is made via the EPP. z 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

The Contents STD control

Automatic mode If the automatic mode is selected, an EPP error HTML page property is available additionally. Fig. 81: Contents STD control - EPP Keys Page (Automatic)

z 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

Controls

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

z 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

The Contents STD control

PinInput Fig. 83: Contents STD control - EPP Keys Page (Pin input)

z Inputf ield Continue with HTML page: The HTML page entered in this field will be loaded after a successful PIN input. z PIN input options radio button fields. The number of entered PIN digits and the confirmation of the PIN is specified in here: z PIN 4-digits: The user is allowed to enter a 4-digit PIN. z PIN 6-digits: The user is allowed to enter a 6-digit PIN. z User defined:The mininum and the maximun numbers of PIN-digits may be specified in here. z Input field Min.: The minimun numbers of PIN-digits must be entered here. z 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. z 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

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

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

z 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

z ,-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. z *-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. z 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

8. Loading of the new HTML-page

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

Internet Browser

Please wait for printout… Printout ready

2. Activation of the Contents-control

3. Transmission between Internet-browser and ProTopas modules

invisible Control invisible Control Í

OK

Abbruch

Drucken

Hilfe

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

Î

Connector Control

6. Transmission of the returncode to the Contents-control

4. Call of the ProTopas Module `PRINT`

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

Controls

Fig. 88: Contents STD control - Step After page

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

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

z 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. z 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. z Remove button: The return value, which is actually shown in the Return code Listbox is removed. z 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

z URL edit field: In this field the URL for the Return value, which is actually shown in the Listbox Return code, must be entered. z 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. z 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

Range

Meaning/Reference

PageHeadline

String

Headline (see also section ’Contents STD control - General page’ on page 228)

SubmitControlName

one of the function key id’s

Confirm key list box (see also section ’Contents STD control General page’ on page 229)

252

May 2008

Controls

Content STD Control - Property Listing

Property

Range

Meaning/Reference

WithoutSubmitButtont

0 (default): Continue with confirm key 1: Continue without confirm key

Continue without confirm key (see also section ’Contents ATM control - Confirm page’ on page 215)

PageInstruction

String

Instruction hint (see also section ’Contents STD control - General page’ on page 229)

PageBeep

0: No beep 1: At start of page 2: At timeout 3: At start of page/timeout 4 (default): Default from registry

Beep (see also section ’Contents STD control General page’ on page 228)

PageTimeout

Numerical value: -1 to 32787 or predifini

Timeout como box (see also section ’Contents STD control - Timeout page’ on page 233)

TimeoutStdHref

String

HTML Page to navigate to when a timeout has occured (see also section ’Contents STD control - Timeout page’ on page 232)

TimeoutStdWindow

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

In an new window checkbox (see also section ’Contents STD control - Timeout page’ on page 232)

May 2008

253

Content STD Control - Property Listing

Controls

Property

Range

Meaning/Reference

TimeoutQuestionHref

String

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)

TimeoutQuestionWindow

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

In an new window checkbox (see also section ’Contents STD control - Timeout page’ on page 232)

AfterTimeoutHref

String

HTML Page to navigate to after timeout (see also section ’Contents STD control - Cancel page’ on page 236)

AfterTimeoutWindow

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

In an new window checkbox (see also section ’Contents STD control - Timeout page’ on page 232)

TimeoutWindowTop

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000

Top-Position for In a new window for Timeout (see also section ’Contents STD control - Timeout page’ on page 232)

254

May 2008

Controls

Content STD Control - Property Listing

Property

Range

Meaning/Reference

TimeoutWindowLeft

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000

Left-Position for In a new window for Timeout (see also section ’Contents STD control - Timeout page’ on page 232)

TimeoutWindowWidth

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000

Width for In a new window for Timeout (see also section ’Contents STD control Timeout page’ on page 232)

TimeoutWindowHeight

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000

Height for In a new window for Timeout (see also section ’Contents STD control Timeout page’ on page 232)

CancelStdHref

String

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

Range

Meaning/Reference

CancelStdWindow

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

In an new window checkbox (see also section ’Contents STD control - Cancel page’ on page 236)

CancelQuestionHref

String

HTML Page to navigate to first when the customer has canceled (see also section ’Contents STD control Cancel page’ on page 236)

CancelQuestionWindow

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

In an new window checkbox (see also section ’Contents STD control - Cancel page’ on page 236)

CancelWindowTop

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000

Top-Position for In a new window for Cancel (see also section ’Contents STD control Cancel page’ on page 236)

CancelWindowLeft

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000

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

Range

Meaning/Reference

CancelWindowWidth

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000

Width for In a new window for Cancel (see also section ’Contents STD control - Cancel page’ on page 236)

CancelWindowHeight

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = -16000

Height for In a new window for Cancel (see also section ’Contents STD control - Cancel page’ on page 236)

FunctionKeyID01

Default is: CANCEL

Function key with ID 01 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID02

Default is: CONFIRM

Function key with ID 02 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID03

Default is: CONFIRMALL

Function key with ID 03 (see also section ’Contents STD control Functionkey page’ on page 237)

May 2008

257

Content STD Control - Property Listing

Controls

Property

Range

Meaning/Reference

FunctionKeyID04

Default is: HELP

Function key with ID 04 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID05

Default is: CORRECT

Function key with ID 05 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID06

unused

Function key with ID 06 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID07

unused

Function key with ID 07 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID08

Default is: SURFING_CANCEL

Function key with ID 08 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID09

Default is: SURFING_BACK

Function key with ID 09 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID10

Default is: SURFING_FORWARD

Function key with ID 10 (see also section ’Contents STD control Functionkey page’ on page 237)

258

May 2008

Controls

Content STD Control - Property Listing

Property

Range

Meaning/Reference

FunctionKeyID11

Default is: SURFING_SCROLL_U P

Function key with ID 11 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID12

Default is: SURFING_SCROLL_D OWN

Function key with ID 12 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID13

Default is: SURFING_SCROLL_L EFT

Function key with ID 13 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID14

Default is: SURFING_SCROLL_R IGHT

Function key with ID 14 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID15

Default is: SURFING_PRINT

Function key with ID 15 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID16

unused

Function key with ID 16 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID17

unused

Function key with ID 17 (see also section ’Contents STD control Functionkey page’ on page 237)

May 2008

259

Content STD Control - Property Listing

Controls

Property

Range

Meaning/Reference

FunctionKeyID18

unused

Function key with ID 18 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID19

unused

Function key with ID 19 (see also section ’Contents STD control Functionkey page’ on page 237)

FunctionKeyID20

unused

Function key with ID 20 (see also section ’Contents STD control Functionkey page’ on page 237)

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

HTML Page/ Step after Function keys (see also section ’Contents STD control - Functionkey page’ on page 238)

FunctionKeyViewState

Bytefield for Viewstates 0: up 1: pressed 2: diabled 3: hidden (Default)

Viewstate for Function keys. Bytevalue for FunctionKeyID01 is set into Byte1, etc. (see also section ’Contents STD control Functionkey page’ on page 237)

HtmlWindow

Bytefield for FunctionKeyIDnn HTML page: 0 (default): not in a new window 1: in a new window

In a new window checkbox for FunctionKeyID01 is set into Byte1, etc. (see also section ’Contents STD control Functionkey page’ on page 238)

260

May 2008

Controls

Content STD Control - Property Listing

Property

Range

Meaning/Reference

StepAfterHtmlWindow

Bytefield for StepAfter for returncode nn (nn from 0 to 19): 0 (default): not in a new window 1: in a new window

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)

StepStartHtmlWindow

Bytefield for StepStart for returncode nn (nn from 0 to 19): 0 (default): not in a new window 1: in a new window

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)

StepAfter

String: Name of Step after

Step after (see also section ’Contents STD control - Step After page’ on page 248)

StepAfterHtml00

String: HTML page

HTML page for step after returncode 0 (see also section ’Contents STD control - Step After page’ on page 249)

StepAfterHtml01

String: HTML page

HTML page for step after returncode 1 (see also section ’Contents STD control - Step After page’ on page 249)

...

...

...

May 2008

261

Content STD Control - Property Listing

Controls

Property

Range

Meaning/Reference

StepAfterHtml19

String: HTML page

HTML page for step after returncode 19 (see also section ’Contents STD control Step After page’ on page 249)

HtmlAfter01

String: HTML page

HTML page for Function key 01 (see also section ’Contents STD control Functionkey page’ on page 238)

HtmlAfter02

String: HTML page

HTML page for Function key 02 (see also section ’Contents STD control Functionkey page’ on page 238)

...

...

...

HtmlAfter20

String: Html page

HTML page for Function key 20 (see also section ’Contents STD control Functionkey page’ on page 238)

StepStart

String: Name of step

Step Start (see also section ’Contents STD control - Step After page’ on page 248)

StepStartSoftkeysAllowed

Default = 2, do not change

Do not change , only for compatibility reasons (see also section ’Contents STD control Step page’ on page 250)

262

May 2008

Controls

Content STD Control - Property Listing

Property

Range

Meaning/Reference

StepStartHtml00

String: Html page

HTML page for step returncode 0 (see also section ’Contents STD control - Step After page’ on page 249)

StepStartHtml01

String: Html page

HTML page for step returncode 1 (see also section ’Contents STD control - Step After page’ on page 249)

...

...

...

StepStartHtml19

String: Html page

HTML page for step returncode 19 (see also section ’Contents STD control - Step After page’ on page 249)

TimeoutDefault

0 (default): read values from property page 1: Read values from registry

Timeout property page, default checkbox (see also section ’Contents STD control - Timeout page’ on page 232)

CancelDefault

0 (default): read values from property page 1: Read values from registry

Cancel property page, default check box (see also section ’Contents STD control - Cancel page’ on page 235)

NewWindowTop

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = 54

Top coordinate for all function keys new window (see also section ’Contents STD control - Functionkey page’ on page 238)

May 2008

263

Content STD Control - Property Listing

Controls

Property

Range

Meaning/Reference

NewWindowLeft

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = 44

Left coordinate for all function keys new window (see also section ’Contents STD control - Functionkey page’ on page 238)

NewWindowWidth

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = 712

Width for all function keys new window (see also section ’Contents STD control Functionkey page’ on page 238)

NewWindowHeight

Smallest non percentage value = 0 Largest non percentage value = 9999 Smallest percentage value = 0% ' 10000 Largest percentage value = 100% ' 20000. Default = 260

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

Range

Meaning/Reference

PinEntry

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

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

Range

Meaning/Reference

EPPConfigActiveFDK

Add the values of the active Softkeys: F1: 1 F2: 2 F3: 4 F4: 8 F5: 16 F6: 32 F7: 64 F8: 128

Values of the selected active Softkeys (see also section ’PinInput’ on page 244) and (see also section ’PinInput’ on page 244)

EPPConfigActiveFK

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

Values of the selected active EPP keyboard keys (see also section ’PinInput’ on page 244)

EPPConfigTerminateFDK

Add the values of the terminate Softkeys: F1: 1 F2: 2 F3: 4 F4: 8 F5: 16 F6: 32 F7: 64 F8: 128

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

Range

Meaning/Reference

EPPConfigTerminateFK

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

Values of the selected terminate EPP keyboard keys (see also section ’PinInput’ on page 244)

EPPConfigValue_FK_ Decpoint

single alphanumeric character or group of alphanumeric characters

The value of the ,-key (see also section ’PinInput’ on page 246)

EPPConfigValue_FK_ res1

single alphanumeric character or group of alphanumeric characters

The value of the *-key (see also section ’PinInput’ on page 246)

EPPConfigValue_FK_ sub

single alphanumeric character or group of alphanumeric characters

The replacement sign for PIN input (see also section ’PinInput’ on page 246)

EPP_OK_Href

String: HTML page

Continue with HTML page (see also section ’PinInput’ on page 243)

EPP_NOK_Href

String: HTML page

EPP Error HTML page(see also section ’Automatic mode’ on page 241)

May 2008

267

The ActiveStep control

Controls

Property

Range

Meaning/Reference

StepStartParam

String

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)

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

Instance return string (see also section ’Contents STD control Instance return page’ on page 251)

ADACommand

(see also section ’Range for ADA Command’ on page 225)

ADA configuration Panel(see also section ’ADA configuration panel’ on page 202)

CTRLstatus

-1: Init 0: Do not navigate 1: Navigation allowed

Read only property: may be used to ask in script, if a navigation is allowed.

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: The relevant parameters to change the framework communication are StepParameter and Framework. z 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). z 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 can’t 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... } } 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: 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

Meaning

"InstanceEndRestart"

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.

"InstanceCancelQuestion"

The Internet page specified for Confirmation question on the Cancel page of the Contents STD control is loaded.

272

May 2008

Controls

Closing a new browser instance

Return code

Meaning

"InstanceTimeoutStd"

The Internet page specified for Timeout message on the Timeout page of the Contents STD control is loaded.

"InstanceTimeoutQuestion"

The Internet page specified for Confirmation question on the Timeout page of the Contents STD control is loaded.

"InstanceAfterTimeout"

The Internet page specified for After timeout on the Timeout page of the Contents STD control is loaded.

"InstanceAfter00"

The Internet page specified for the first item in the Function key list box on the Functionkey page is loaded.

"InstanceReturn000"

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.

...

...

"InstanceReturn999"

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.

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. z WN_TFN_FLAT_SELF: Subroutine is using current frame for navigation z 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 control’s 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: z 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. z VIEW_STATE_UP_S (0): The button has to be shown as up. z VIEW_STATE_PRESSED_S (1): The button has to be shown as pressed (selected). z VIEW_STATE_DISABLED_S (2): The button is to be shown as disabled (not selectable). z 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

Ch

ar

Controls Button Edit List

Unicode

Epp

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

Contents STD/ATM Control Un ic

SpinEdit

od e

Unicode

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 DLL’s which allow to trace unicode characters into the trace log: z ProTopas/Manager Version 3.0/30 z 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

VAR_PIN_ENTRY_ DIGITS_L

VAR_PIN_ENTRY_ COMPLETION_L

default (WebExt start)

-1

0

before ExeCmdGetPin()

-1

0

after ExeCmdGetPin() error

-1

error code

after ExeCmdGetPin() OK

usDigits

usCompletion

For more information about error code, usDigits and usCompletion check The ProTopas Programming Guide, chapter EPP Framework, function ExeCmdGetPin().

278

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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 Service’s 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: In addition, an anchor in the form is inserted at the start of the body of the Internet page. When a new page is accessed, the required Internet page is written to the href property of PC_GeneratedAnchor and PC_GeneratedAnchor is clicked automatically. Now the browser automatically loads the Internet page from its home address.

282

May 2008

HTML generator

Fig. 93: HTML generator

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm

Web Graphical Service components

HTML-generator

During loading of the HTML-page the variables will be filled with data. The browser will be given the completed page for display. Name: Martin Miller Account: 1212100312 Balance: 987,65 DM

HTMLGenerator generator

Intranet Server

P O S

Í Í

Î Î

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: z 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]). z Formatting of the variable: The required formatting can be selected here from a list. The following values can be selected: z Leave the field empty (no formatting) z D (date - long) z S (date - short) z T (time) z C (currency with decimal places but without currency code) z M (currency with decimal places and currency code) z N (Number) z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

Web Graphical Service components

HTML generator

z 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 z 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. z 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 (-->xx

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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 NT’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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 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 Index’s 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 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.: 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: [%WX_TEXT[100]%] 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 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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 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 in the header of the AllowList. Additionally the path of the reference file must eather be located in a comment in the header .

May 2008

293

AllowList

Web Graphical Service components

Structure of the AllowList Fig. 95: AllowList

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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. z 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. z 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. z 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 Service’s 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 PC’s. 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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 ... z 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. z Position specifies, where in the interent page the following HTML code should be inserted. The following positions are allowed: 101

Behind tag

102

Before tag

103

Behind tag

104

Before tag

110

Inside tag at the end

201

Don’t generate a tag

202

Dont generate an anchor tag

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 z 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: z Inserting This is any text or tags.behind this is any paragraph: PC_HTMLGEN_RULE_START 7 301 this is any paragraph PC_HTMLGEN_RULE_SEPARATOR this is any paragraphThis is any text or tags. PC_HTMLGEN_RULE_END z Replacing this is any paragraph with This is any text or tags.: PC_HTMLGEN_RULE_START 7 301 this is any paragraph PC_HTMLGEN_RULE_SEPARATOR This is any text or tags. PC_HTMLGEN_RULE_END z Deleting this is any paragraph : PC_HTMLGEN_RULE_START 7 301 this is any paragraph PC_HTMLGEN_RULE_SEPARATOR PC_HTMLGEN_RULE_END

298

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

Web Graphical Service components

Starting the Web Graphical Service

An other way would be to navigate the the reserved keyword WXmarketingmode:0. 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 application’s 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:

304

RootPath = FILE://C:\ProTopas\Web DefaultLanguage = German DoDialog ("Idle");

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

Web Graphical Service components

Hiding the cursor

The Graphical Service loads FILE://C:\ProTopas\Web\German\Idle.htm 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

Web Graphical Service components

z English Internet pages:

ProTopas\Web\English

z German Internet pages:

ProTopas\Web\German

z Language-independent images: ProTopas\Web\Images z Language-specific images:

ProTopas\Web\English\Images

z Language-specific sound files:

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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: ActiveVarFW.VariableName = "VAR_WEBNAME_S" ActiveVarFW.GetStringValue() FrmSetMenu = ActiveVarFW.VariableValue + '/English/LanguageFrmSetMenu.htm' window.setTimeout("top.navigate(FrmSetMenu)", 0); 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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 doesn’t 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 doesn’t 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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: 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: z window.navigate("WNVKstatus:INIT"); INIT is used to tell the Virtual Keyboard instance, that the Keyboard HTML page is ready to start it’s work. So this navigation should be done in an window_onload() function call. z window.navigate("WNVKcom:END"); This navigation stops the Virtual Keyboard entries and brings the Keyboard to the background. May be used for an Button on the Keyboard HTML page. z window.navigate("WNVKcom:MOVE");

314

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

Web Graphical Service components

Using the Virtual Keyboard

This navigation moves to keyboard into the edges clockwise. May be used for a Button on the Keyboard HTML page. z 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 z 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. z 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). z 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. z 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. z window.navigate("WNVKcom:FOCUS"); This navigation gives the focus back to the HTML page with the Edit Control. z 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’ z 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:’€’. z 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 z 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

DEC

StCode

Type

Cause

0101

257

CCVK_ GENERAL EXCEPTION

0x64

Installation Error: An Exception was thrown inside the module/control

0102

258

CCVK_ MEMORY EXCEPTION

0x64

Installation Error: A MemoryException was thrown inside the module/control

316

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

Web Graphical Service components

Using the Virtual Keyboard

HEX

DEC

StCode

Type

Cause

0103

259

CCVK_FILE EXCEPTION

0x64

Installation Error: A FileException was thrown inside the module/control

0104

260

CCVK_ INTERNET EXCEPTION

0x64

Installation Error: An InternetException was thrown inside the module/control

0110

272

CCVK_ GENERAL_ ERROR

0x64

Installation Error: A general ERROR inside the module/control

0111

273

CCVK_ ERROR_ INSTALATION

0x63

Installation Error: An installation or configuration ERROR inside the module/control

0120

288

CCVK_ WARNING

0x61

Invalid User Action: An Warning is issued inside the module/control

Example: error 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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: z CCVK_VAR_CONTAINER_L [0-255] z CCVK_VAR_CONTAINER_S [0-255] z CCVK_VAR_STATUS_L (read only) This variable will have the contents Meaning

value

Virtual Keyboard has an error

-1

Virtual Keyboard is ready

0

Virtual Keyboard is active

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

Web Graphical Service components

Parameter MarketingAllowFocus 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\GraficalService.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

Dialog Framework

Interaction with other frameworks Methods from the following frameworks are used: z Data Framework (mandatory) z Variable Framework (optional) z 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: z CCDialogFW.Open opens the Dialog Framework z CCDialogFW.Close closes the Dialog Framework z CCDialogFW.GetbStatus returns the status of the PIN service z CCDialogFW.DoDialog controls the dialog z CCDialogFW.DoDialogAsync controls the dialog (asynchronous version) z CCDialogFW.CancelDialog cancels the currently active dialog z CCDialogFW.ChangeLanguage defines a new secondary language z CCDialogFW.InitParms rereads the "OPEN" section from the configuration parameters. z CCDialogFW.GetInputString returns the string entered by the customer or associated with the function key pressed. z CCDialogFW.GetInputLength returns the length of the data entered by the customer. z CCDialogFW.GetTerminateChar returns the code of the termination key pressed by the customer. z CCDialogFW.Activate brings the dialog window into the foreground.

324

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

Dialog Framework z 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

Value

CCDIALOG_OK

0

CCDIALOG_ERROR

-2

CCDIALOG_CANCEL

-3

CCDIALOG_TIMEOUT

-4

CCDIALOG_SW_CANCEL

-6

CCDIALOG_OFFLINE (Only HTML-GUI)

-7

CCDIALOG_BUFFER_TOO_SMALL

-2

CCDIALOG_PROPERTY_NOT_SET

-4

CCDIALOG_IGNORED

-500

CCDIALOG_FORCED_CANCEL

-502

Status flags: Definition

Value

CCDIALOG_OPERATIONAL

0

CCDIALOG_NOT_OPERATIONAL

1

Events This framework does not issue any events.

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Code

SOFTKEY_LEFT_1

G

SOFTKEY_LEFT_2

A

SOFTKEY_LEFT_3

B

SOFTKEY_LEFT_4

C

SOFTKEY_RIGHT_1

H

SOFTKEY_RIGHT_2

D

SOFTKEY_RIGHT_3

E

SOFTKEY_RIGHT_4

F

NUMERIC_KEY_0

0

NUMERIC_KEY_1

1

NUMERIC_KEY_2

2

NUMERIC_KEY_3

3

NUMERIC_KEY_4

4

NUMERIC_KEY_5

5

May 2008

337

Dialog Framework

Key

Code

NUMERIC_KEY_6

6

NUMERIC_KEY_7

7

NUMERIC_KEY_8

8

NUMERIC_KEY_9

9

Parameters: chTerminateChar (OUT) 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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: z DLG_INPUT_RESULT_COUNT contains the number of characters entered by the customer

340

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\DialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

Dialog Framework z DLG_INPUT_RESULT_STRING contains the string entered by the customer or specified in the dialog configuration z 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

Description

Value

HLEVEL_ANALYSE

Function entry / exit

20

HLEVEL_WARNING

Configuration error

21

HLEVEL_LEVEL_2

Second level function entry and exit

22

HLEVEL_DATA

General parameters

25

HLEVEL_PARAM

Dialog parameters

26

HLEVEL_INPUT

Data input

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: z Variable Framework (optional, but one is mandatory) z Data Dictionary Framework (optonal, but one is mandatory) z Check Framework (only when using the ProTopas/Web-Extensions Controls) z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\PCDialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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: z PCDialogFW.Format formats a string with the given format ID. This is used for amount and date formatting. z PCDialogFW.PutIUnknown for internal use only z PCDialogFW.CleanIUnknown for internal use only z PCDialogFW.AllowUserInput for internal use only z PCDialogFW.ForbidUserInput for internal use only z PCDialogFW.Kill close CCDialog.exe z PCDialogFW.GetHWND returns the HWND of CCDialog.exe application. z PCDialogFW.GetFWName returns the name of the framework z PCDialogFW.GetProperty returns different types of Data Dictionary variables z PCDialogFW.SetProperty sets different types of Data Dictionary variables z 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

Value

CCDIALOG_IGNORED

-500

CCDIALOG_SURFING_END

-501

CCDIALOG_FORCED_CANCEL

-502

CCDIALOG_WE_PARAM_UNKNOWN

-503

CCDIALOG_WE_WIN_ERROR

-504

CCDIALOG_WE_PT_ERROR

-505

Additional Events The class PCDialogFW issues the following additional events: z CCDIALOG_MODE_SURFING_START Send at start of surfing mode. z CCDIALOG_MODE_SURFING_END Send at end of surfing mode. z CCDIALOG_MODE_NORMAL_START Send at startup of the Web Graphical Service. z CCDIALOG_MODE_NORMAL_END Send at shutdown of Web Graphical Service because of an exception or after calling the kill() function. z CCDIALOG_MODE_MARKETING Send at start and stop of transaction supervision configured by allow list. It contans the parameter MM_DATA:

344

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\PCDialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Value

CCDIALOG_FUNC_FORMAT

500

CCDIALOG_FUNC_KILL

505

CCDIALOG_FUNC_GET_HWND

506

Specification of the methods In the following section all public methods are described in detail:

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 right to left. (see also section ’SNI_PC_VARIABLE WebBot’ on page 284)

346

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\PCDialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\PCDialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\PCDialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\PCDialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Description

Value

EXT_METHODS

Traces entry and exit of methods exported by the controls interface

10

EXT_EVENTS

Traces entry and exit of event-firing of the control

11

INT_METHODS

Traces entry and exit of internal methods

12

TRACE_ERROR

Traces error events

13

TRACE_IMPORTANT

Traces important events

14

HND_REGISTER

For use of HndRegister

20

SUB_FUNC

Subfunction

30

ONWM_FUNC

On Windows Message Handler

31

INTERN_FUNC

Traces intern functions

34

PROP_METHODS_ CHANGE

Traces property change functions

35

HTML_WINDOW

HTML window data

65

HTML_PAGE

HTML page data

66

PROPPAGE_ACTION

Property Pages interactions methods

70

PROPPAGE_INIT

Property Pages init methods

71

PROPPAGE_ IMPORTANT

Property Pages important message

72

CDIB_IN

Class CDIB - in method

80

354

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\PCDialogFW.fm © Siemens Nixdorf Informationssysteme AG 1995

PCDialog framework

Definition

Description

Value

CDIB_OUT

Class CDIB - out method

81

CDIB_DATA

Class CDIB - data

82

PT_ANALYSE

Tool Class analyse

90

PT_ENTRY

Tool Class entry point

91

PT_EXIT

Tool Class exit point

92

PT_SUB_ENTRY

Tool Class sub functions entry point

93

PT_SUB_EXIT

Tool Class sub functions exit point

94

PT_DATA

Tool Class data

95

PT_HEXDATA

Tool Class hexdata dump

96

PT_ERROR

Tool Class error

97

PT_WARNING

Tool Class warning

98

TRACE_ANALYSE

Analyze trace

100

The error entries including description are in the rch file "770FERS.eng"

May 2008

355

PCDialog framework

356

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

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. z Section "ACTIVEX\GraphicalService\VK" Href Specifies the URL of a HTML page for VK dialog. Type: Default:

String "about:blank"

Width

May 2008

357

Virtual Keyboard Framework Specifies the width for VK dialog. Type: Default:

Dword 100

Height Specifies the height for VK dialog. Type: Default:

Dword 100

Pos Specifies the position at screen for VK dialog. Type: Default: Range:

String "2" "0" "1" "2" "3" "4" -

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:

Dword 0

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:

358

Dword 0

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework The following parameters are optional for the Virtual keyboard Framework. If the parameter is missing, default values will be used. z Section "ACTIVEX\GraphicalService\VK" ScriptLanguage Specifies the language for the start/end scripts. Type: Default:

String "javascript"

ScriptAtStart Specifies the script that will be executed at start of VK session. Type: Default:

String ""

ScriptAtEnd Specifies the script that will be executed at end of VK session. Type: Default:

String ""

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:

Dword 60000

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

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:

Dword 15000

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:

Dword 120000

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:

Dword 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. Type: Default:

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

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: z 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: z CCVKfw.Open do nothing. z CCVKfw.Close do nothing. z CCVKfw.InitParms do nothing. z CCVKfw.GetStatus returns a state of a framework. z CCVKfw.VK_Start start a VK session. z CCVKfw.VK_End end a VK session. z CCVKfw.Kill kill a framework instance.

362

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework Defines and data structures The class CCVKfw contains the following defines and data structures: Error defintions define

value

CCVK_OK

0

CCVK_ERROR

-1

CCVK_IGNORED

-2

CCVK_ERROR_VK_NOT_READY

-10

CCVK_ERROR_VK_ACTIVE

-11

CCVK_ERROR_VK_NOT_ACTIVE

-12

CCVK_ERROR_HWND

-13

Returncodes for GetStatus define

value

CCVK_NOK

-1

CCVK_READY

0

CCVK_ACTIVE

1

Data dictionary variables name

array

CCVK_VAR_CONTAINER_L

0 - 255

CCVK_VAR_CONTAINER_S

0 - 255

CCVK_VAR_STATUS_L (contains returncodes for GetbStatus) VK_APP_DATA The structure ’VK_APP_DATA’ is composed of the following components: z HWND hwndApp Specifies the hWnd of calling application

May 2008

363

Virtual Keyboard Framework Events The CCVK framework issues the following events: z CCVK_VK_INIT This event is sent when the framework is ready. z CCVK_VK_START This event is sent when the session is started. z CCVK_VK_END This event is sent when the session is ended. z CCVK_VK_ACTION This event is sent when the framework got focus. z CCVK_VK_EXIT This event is sent when the framework is exiting (restart). z CCVK_VK_WINDOW_MIN This event is sent when the framework is minimized. z CCVK_VK_WINDOW_MAX This event is sent when the framework is maximized. z CCVK_VK_OFFLINE This event is sent when the requested page cannot be loaded.

364

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework CCVKfw.VK_Start Syntax: SHORT CCVKfw.VK_Start ( VK_APP_DATA ’lpStruct, ) 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

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

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 URL’s (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:

VK demo

send a key 'K' move window end session

Note: ’onclick’ event ensure that VK framework give focus away!

372

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework Public interface METHODES z 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. z WNVKcom:END end session, give focus away. z WNVKcom:MOVE move window, give focus away. z WNVKcom:FOCUS give focus away z 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’. z 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:’€’. z 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 z 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 z WNVKpos:MIN This keyword is used to minimize the virtual keyboard, when it stays maximized after end (by use of parameter MINonEnd=0). z WNVKpos:SHOW This keyword is used to activate and show the virtual keyboard instance. z WNVKpos:HIDE This keyword is used to deactivate and hide the virtual keyboard instance. z 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. z 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 z ScriptAtStart at start of session, before maximize. z ScriptAtEnd at end of session, before minimize.

374

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework SHIFT STATE z 00 no additional key pressed. z 01 SHIFT key pressed. z 02 CTRL key pressed. z 03 SHIFT and CTRL keys pressed. z 04 ALT key pressed. z 05 SHIFT and ALT keys pressed. z 06 CTRL and ALT keys pressed. z 07 SHIFT and CTRL and ALT key pressed. VIRTUAL KEY CODE LIST z 001 VK_LBUTTON z 002 VK_RBUTTON z 003 VK_CANCEL z 004 VK_MBUTTON z 008 VK_BACK z 009 VK_TAB z 0x0C VK_CLEAR

May 2008

375

Virtual Keyboard Framework z 0x0D VK_RETURN z 0x10 VK_SHIFT z 0x11 VK_CONTROL z 0x12 VK_MENU z 0x13 VK_PAUSE z 0x14 VK_CAPITAL z 0x15 VK_KANA z 0x17 VK_JUNJA z 0x18 VK_FINAL z 0x19 VK_KANJI z 0x1B VK_ESCAPE z 0x1C VK_CONVERT z 0x1D VK_NONCONVERT z 0x1E VK_ACCEPT z 0x1F VK_MODECHANGE z 0x20 VK_SPACE

376

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework z 0x21 VK_PRIOR z 0x22 VK_NEXT z 0x23 VK_END z 0x24 VK_HOME z 0x25 VK_LEFT z 0x26 VK_UP z 0x27 VK_RIGHT z 0x28 VK_DOWN z 0x29 VK_SELECT z 0x2A VK_PRINT z 0x2B VK_EXECUTE z 0x2C VK_SNAPSHOT z 0x2D VK_INSERT z 0x2E VK_DELETE z 0x2F VK_HELP z 048 VK_0

May 2008

377

Virtual Keyboard Framework z 049 VK_1 z 050 VK_2 z 051 VK_3 z 052 VK_4 z 053 VK_5 z 054 VK_6 z 055 VK_7 z 056 VK_8 z 057 VK_9 z 065 VK_A z 066 VK_B z 067 VK_C z 068 VK_D z 069 VK_E z 070 VK_F z 071 VK_G

378

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework z 072 VK_H z 073 VK_I z 074 VK_J z 075 VK_K z 076 VK_L z 077 VK_M z 078 VK_N z 079 VK_O z 080 VK_P z 081 VK_Q z 082 VK_R z 083 VK_S z 084 VK_T z 085 VK_U z 086 VK_V z 087 VK_W

May 2008

379

Virtual Keyboard Framework z 088 VK_X z 089 VK_Y z 090 VK_Z z 0x5B VK_LWIN z 0x5C VK_RWIN z 0x5D VK_APPS z 0x60 VK_NUMPAD0 z 0x61 VK_NUMPAD1 z 0x62 VK_NUMPAD2 z 0x63 VK_NUMPAD3 z 0x64 VK_NUMPAD4 z 0x65 VK_NUMPAD5 z 0x66 VK_NUMPAD6 z 0x67 VK_NUMPAD7 z 0x68 VK_NUMPAD8 z 0x69 VK_NUMPAD9

380

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework z 0x6A VK_MULTIPLY z 0x6B VK_ADD z 0x6C VK_SEPARATOR z 0x6D VK_SUBTRACT z 0x6E VK_DIVIDE z 0x6F VK_LBUTTON z 0x70 VK_F1 z 0x71 VK_F2 z 0x72 VK_F3 z 0x73 VK_F4 z 0x74 VK_F5 z 0x75 VK_F6 z 0x76 VK_F7 z 0x77 VK_F8 z 0x78 VK_F9 z 0x79 VK_F10

May 2008

381

Virtual Keyboard Framework z 0x7A VK_F11 z 0x7B VK_F12 z 0x7C VK_F13 z 0x7D VK_F14 z 0x7E VK_F15 z 0x7F VK_F16 z 0x80 VK_F17 z 0x81 VK_F18 z 0x82 VK_F19 z 0x83 VK_F20 z 0x84 VK_F21 z 0x85 VK_F22 z 0x86 VK_F23 z 0x87 VK_F24 z 0x90 VK_NUMLOCK z 0x91 VK_SCROLL

382

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ccvk.fm © Siemens Nixdorf Informationssysteme AG 1995

Virtual Keyboard Framework z 0xE5 VK_PROCESSKEY z 0xF6 VK_ATTN z 0xF7 VK_CRSEL z 0xF8 VK_EXSEL z 0xF9 VK_EREOF z 0xFA VK_PLAY z 0xFB VK_ZOOM z 0xFC VK_NONAME z 0xFD VK_PA1 z 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

Description

Value

EXT_METHODS

Extern methods

10

EXT_EVENTS

Extern events

11

INT_METHODS

Intern methods

12

TRACE_ERROR

Errors traces

13

TRACE_IMPORTANT

Important traces

14

HND_REGISTER

Registry handling traces

20

SUB_FUNC

Low Developer traces

30

WM_FUNC

Low Developer traces

31

TRACE_ANALYSE

Analysis trace flag

100

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

384

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

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 container’s 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 z PTFunction z PTFunctionEnd – ProTopas Events z PTEvent z RegisterForEvents z DeregisterForEvents z ListeningForEvents Helper: – ConvStr2Hex – ConvHex2Str – GetWXText from version 1003 ErrorHandling: – BridgeError – testErrors Status: – BridgeStatus – BridgeErrors – PTName Logging: – Log

386

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

WXPTBridge

Public interface

Methods z short PTFunction(BSTR strFW, short sID, BSTR strParam1, short sLen1, BSTR strParam2, short sLen2, BSTR strParam3, short sLen3, long lIndex) z short RegisterForEvents(BSTR strFW) z short DeregisterForEvents(BSTR strFW) z BSTR

ConvStr2Hex(BSTR strData)

z BSTR

ConvHex2Str(BSTR strData)

z BSTR

testErrors(short eID)

z void Log(BSTR strLog, short sLogType) z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

WXPTBridge

Public interface

Return value Type

Name

Description

Short

sIndex

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

NOTE: PTFunctionEnd’s short sIndex is the same as OK, index for this job!

May 2008

389

Public interface

WXPTBridge

Parameters description Type

Name

Range

Description

BSTR

strFW

char, length: [132]

Framework name

Short

sID

[0- 32767]

Function ID

BSTR

strParam1

char, length: [065534,even]

Parameter1 as byte array of HEXs

Short

sLen1

[0- 32767]

Parameter1 length of byte array

BSTR

strParam2

char, length: [065534,even]

Parameter2 as byte array of HEXs

Short

sLen2

[0- 32767]

Parameter2 length of byte array

BSTR

strParam3

char, length: [065534,even]

Parameter3 as byte array of HEXs

Short

sLen3

[0- 32767]

Parameter3 length of byte array

Long

lIndex

ULONG

Parameter4

NOTE: ProTopas is transporting Byte arrays as void* and length combination, on a COM side it’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

WXPTBridge

Public interface

There are 4 possible in/out combinations of BSTR strParam, short sLen pairs: Combin.

BSTR

short

Converting

Void*

NULL

0

0

IN

[0-65534, even]

0

Copy HEXs to Bytes

[0- 32767]

OUT

0

[0- 32767]

Init with 0

[0- 32767]

IN/OUT

[0-65534, even]

[0- 32767]

Init with 0, (BSTR/2) < short, Copy HEXs to Bytes

[0- 32767]

NULL

NOTE: only OUT params will be fired in PTFunctionEnd’s params as updated return values from a function execution! This is the way of replacing pointers in a HTML world!

Example: Combin.

BSTR

short

Converting

Void*

NULL

""

0

NULL

0

IN

"3130FF00"

0

49,48,255,0

4

OUT

0

4

0,0,0,0

4

IN/OUT

"3130"

4

49,48,0,0

4

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!

BridgeError eID

Sync Call failed, delete of CMap entry failed, memory leak!

4

Async Call failed, Some parameters out of range.

18

May 2008

391

Public interface

WXPTBridge

Description of situation when a Bridge Error is fired!

BridgeError eID

Async Call failed, Lookup of CMap failed!

4

Async Call failed, Exception in FrmResolve!

1

Async Call failed, Exception in call handling!

19

Async Call failed, General exception.

19

Async Result failed, Some parameters out of range.

18

Async Result failed, cant PostMessage!

2

Async Result failed, General exception.

19

Sync Result failed, Some parameters out of range.

18

Sync Result failed, Lookup of CMap failed!

4

Sync Result failed, COM fire failed!

3

Sync Result failed, General exception.

19

Change Properties – BridgeErrors

392

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

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 it’s 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

Name

Description

Short

sRet

0 OK, remain error!

Parameters description Type

Name

Range

Description

BSTR

strFW

char, length: [132]

Framework name

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!

BridgeError eID

Sync Call failed, delete of CMap entry failed, memory leak!

4

Async Call failed, Some parameters out of range.

18

Async Event failed, data from ProTopas corrupt!

1

Async Event failed, new failed!

5

Async Event failed, cant PostMessage!

2

Async Event failed, General exception.

19

Sync Event failed, Some parameters out of range.

18

Sync Event failed, COM fire failed!

3

Sync Event failed, General exception.

19

Change Properties – BridgeErrors – ListeningForEvents – BridgeStatus

394

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

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 it’s 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

Name

Description

Short

sRet

0 OK, remain error!

Parameters description Type

Name

Range

Description

BSTR

strFW

char, length: [132]

Framework name

Fire Events – none Change Properties – ListeningForEvents – BridgeStatus

May 2008

395

Public interface

WXPTBridge

ConvStr2Hex BSTR

ConvStr2Hex(BSTR strData)

Usage Convert input String to a Byte array string in HEX format. Conditions – none Return value Type

Name

Description

BSTR

strOUT

NULL NOK, remain converted string

Parameters description Type

Name

Range

Description

BSTR

strData

char, length: [0MAX]

String to convert

Fire Events – none Change Properties – none

396

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

WXPTBridge

Public interface

ConvHex2Str BSTR

ConvHex2Str(BSTR strData)

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

Name

Description

BSTR

strOUT

NULL NOK, remain converted string

Parameters description Type

Name

Range

Description

BSTR

strData

char, length: [0MAX,even, HEX]

String to convert

Fire Events – none Change Properties – none

May 2008

397

Public interface

WXPTBridge

testErrors BSTR

testErrors(short eID)

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

Name

Description

BSTR

strOUT

NULL always!

Parameters description Type

Name

Range

Description

short

eID

1-5,19-22,3843,58-63,77-79

Internal error ID

Fire Events – BridgeError Change Properties – BridgeErrors

398

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Name

Range

Description

BSTR

strLog

char, length: [0MAX]

Text to log into Trace- or ErrorLog

short

sLogType

0 - Write text into Trace-Log Bit 10 1 - Write Text into Error-Log

Target for Logging

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

Name

Description

BSTR

strOUT

Variable value (max length 4096 chars) or NULL at problems

Parameters description Type

Name

Range

Description

BSTR

strIndex

char, length: [04096]

Variable Index

BSTR

strDefault

char, length: [04096]

Default value

BOOL

bErrorLog

TRUE or FALSE

Write error logs on errors in this method.

Fire Events – none Change Properties – none

400

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

WXPTBridge

Public interface

Events z void PTEvent(BSTR strFW, short sID, BSTR strData) z void PTFunctionEnd(short sIndex, short sRet, BSTR strParam1, BSTR strParam2, BSTR strParam3) z void BridgeError(short eID) z 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

Name

Range

Description

BSTR

strFW

char, length: [132]

Framework name

short

sID

short

Framework Event ID

BSTR

strData

char, length: [065534,even]

Framework DATA as byte array of HEXs

402

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Name

Range

Description

short

sIndex

[ 1, 32767]

index of function job

short

sRet

short

Function return code

BSTR

strParam1

char, length: [065534,even]

Param1 as byte array of HEXs

BSTR

strParam2

char, length: [065534,even]

Param2 as byte array of HEXs

BSTR

strParam3

char, length: [065534,even]

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 can’t be assumed through a return codes! Parameters description Type

Name

Range

Description

short

eID

1,2,3,4,5,18,19

Error ID

ID

Description

1

ProTopas problems

2

WND windows problems

3

COM windows problems

4

MFC windows problems

5

Memory (new,delete) windows problems

18

Internal problems

19

General problems

404

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Name

Range

Description

short

sID

[ 1, 32767]

index of function

BSTR

strParam1

char, length: [065534,even]

Param1 as byte array of HEXs

BSTR

strParam2

char, length: [065534,even]

Param2 as byte array of HEXs

BSTR

strParam3

char, length: [065534,even]

Param3 as byte array of HEXs

long

lIndex

[1, max long]

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

PTName

[id(0x00000002)] BSTR

ListeningForEvents

[id(0x00000003)] short BridgeStatus [id(0x00000004)] long

BridgeErrors

All properties are read only! PTName BSTR

PTName

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

WXPTBridge

Public interface

Status of the Bridge object! short

Description

Status

-1

Not initialised

NOK

0

ProTopas FrmSetName OK

Half OK

1

ProTopas AddToRepository OK, WND OK

OK

2

ProTopas FrmRegisterForEvents 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

Name

Description

1

MOD_INIT

Reserved

10

ANALYSE

Trace for analyse

11

EXCEPTION

Trace for all exceptions!

12

ERROR

Trace for all errors!

13

WARNING

Trace for all warnings!

14

INFO

Trace for infos

15

DATA

Trace for data

16

SUB_DATA

Trace for less important data

17

INOUT

Trace for functions entry/exit points

18

SUB_INOUT

Trace for less important functions entry/exit points

19

FREQ_INOUT

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\wxptbridge.fm © Siemens Nixdorf Informationssysteme AG 1995

WXPTBridge

Trace and Error logging

Error logs ID

Description

ERR_ERROR

General error in system.

ERR_MANIPULATION

Error in using of component.

ERR_DEVELOPER

Error in logic, contact developer!

May 2008

409

Trace and Error logging

410

WXPTBridge

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

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 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 customer’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Meaning

DLG_INPUT_RESULT1_S

Input variable 1

...

...

DLG_INPUT_RESULT10_S

Input variable 10

DLG_INPUT_RESULT1_S_ UNFORMATTED_S

Unformatted input variable 1

...

...

DLG_INPUT_RESULT10_S_ UNFORMATTED_S

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

Input checks

Input status variables

If the preliminary input is not to be displayed, the checkbox don’t 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

Meaning

DLG_INPUT_RESULT1_L

Input status variable 1

...

...

DLG_INPUT_RESULT10_L

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 or the 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 key and the key or the 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 key or by selecting them directly via the touchscreen, however, does not have the same meaning as pressing the confirmation key. With the key, only the focus is passed on. No input check is carried out.

416

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

Input checks

Field sequence control

Input confirmations Each input must be concluded with a confirmation key. This confirmation key can be the key on the alphanumeric keyboard or the 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 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 or 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 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 and , 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 key on the alphanumeric keyboard or the 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 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 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

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)

Meaning

FIELD_NOT_CHECKED (1)

The field has not been checked. The Check() function has not been called yet.

FIELD_OK (2)

The field has been checked, and the input was OK.

FIELD_CHECKED_INFO_MISSING (4)

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.

FIELD_CONTAINS_ERROR (8)

The Check() function ascertained errors in the input.

FIELD_NOK_USER_OVERWRITE (16)

The Check() function ascertained errors in the input but the customer was given the option to accept the errors anyway. The customer opted to do so.

May 2008

419

Dependent input fields

Input checks

Input status (decimal value)

Meaning

FIELD_BECAME_UNCHECKED (32)

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.

FIELD_HAS_SCANNER_ERRORS (512)

The default value contains special characters that have not been recognized. These must be changed by the customer first.

420

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

Input checks

Dependent input fields

The Check Framework is responsible for setting the input statuses. z FIELD_NOT_CHECKED is the initialization value which is used to call an input page without input field defaults. z FIELD_OK is set in the Check() function when the check routine returns without error. z FIELD_CONTAINS_ERROR is set when the check routine reports an error. z 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. z 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. z 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. z 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 or 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

Length

Meaning

VAR_SCANNER_ERROR_L

LONG

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

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 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 control’s 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 customer’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

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 control’s 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 control’s 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

Limit Variable

WX_CHECK_ACTUAL_MAX

WX_CHECK_LIMIT_MAX

WX_CHECK_ACTUAL_MIN

WX_CHECK_LIMIT_MIN

WX_CHECK_ACTUAL_MIN_DATE

WX_CHECK_LIMIT_DATE_FROM

WX_CHECK_ACTUAL_MAX_DATE

WX_CHECK_LIMIT_DATE_TO

WX_CHECK_ACTUAL_STEP

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

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

z 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

control’s 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

z Minimum: The minimum value to be input by the customer is entered here. z Maximum: The maximum value to be entered by the customer is entered here. z Pace: If each value is not allowed to be consecutive, the required increment can be input here.

428

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

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

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

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

Length

Meaning

WX_CHECK_LIMIT_DATE_F ROM

STRING[4]

Limit for Days until earliest possible date

WX_CHECK_LIMIT_DATE_T O

STRING[4]

Limit for Days until latest possible date

z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

Input checks

Standard input check dialogs

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

z 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

Length

Meaning

WX_CHECK_LIMIT_MIN

STRING[20]

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

Length

Meaning

WX_CHECK_LIMIT_MAX

STRING[20]

Maximum limit for amount check

z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Eingabepruefungen.fm © Siemens Nixdorf Informationssysteme AG 1995

Input checks

Standard input check dialogs

z 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). z 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 generator’s parameter set. If this check box is not activated, the Other format button has to be pressed to open a formatting dialog. z other Format ...: The following dialog appears when this button is selected. Fig. 100: Amount check formatting

z Number of post-comma digits: The number of decimal places that can be input or that is formatted for output is specified here. z 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 z 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 z Decimal point: The decimal separator is specified here. z Group point: The separator that applies to the number of characters specified in the Grouping field is specified here.

434

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\cccheckfw.fm © Siemens Nixdorf Informationssysteme AG 1995

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: z Variable Framework CCVarFW z Internet Graphical Service PCDialogFW z 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: z CCCheckFW.Dialog Returns all strings for return values and enables display of a dialog for retrieving additional parameters from the user. z 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. z CCCheckFW.Check Checks the customer input. Has the ability to return with up to 20 return codes for displaying error messages. z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\cccheckfw.fm © Siemens Nixdorf Informationssysteme AG 1995

Check Framework Error definitions Definition

Value

CCCHECKFW_RC_SUCCESS

0

CCCHECKFW_RC_GENERAL_ERROR

-1

CCCHECKFW_RC_INPUT_TOO_SHORT

1

CCCHECKFW_RC_INPUT_TOO_LONG

2

CCCHECKFW_RC_CHARS_NOT_ALLOWED

3

CCCHECKFW_RC_NOT_DTA

4

CCCHECKFW_RC_TOO_MANY_LINES

5

CCCHECKFW_RC_TOO_MANY_CHARS_PER_LINE

6

CCCHECKFW_RC_TOO_FEW_CHARS_PER_LINE

7

CCCHECKFW_RC_TOO_MANY_CHARS_DUE_TO_UMLAUTS

23

CCCHECKFW_RC_TOO_MANY_CHARS

25

CCCHECKFW_RC_NO_DIGITS

26

CCCHECKFW_RC_TOO_FEW_CHARS

27

CCCHECKFW_RC_NO_NUMERIC_INPUT

8

CCCHECKFW_RC_INPUT_TOO_HIGH

9

CCCHECKFW_RC_INPUT_TOO_SMALL

10

CCCHECKFW_RC_NOT_IN_StepRANGE

11

CCCHECKFW_RC_WRONG_LIMITS

12

CCCHECKFW_RC_AMOUNT_NOT_IN_LIMIT

13

CCCHECKFW_RC_TOO_MANY_ERRORS_CHIP_AMOUNT

24

CCCHECKFW_RC_TOO_MANY_POSTKOMMADIGITS

28

CCCHECKFW_RC_NO_DATE_FORMAT

14

CCCHECKFW_RC_DATE_TOO_EARLY

15

CCCHECKFW_RC_DATE_TOO_LATE

16

CCCHECKFW_RC_DATE_MISMATCH

30

CCCHECKFW_RC_DATE_IN_PAST_NOT_ALLOWED

34

CCCHECKFW_RC_CARDHOLDER_ACCOUNT

17

CCCHECKFW_RC_ACCOUNT_CHECKNUMBER_FAILED

18

CCCHECKFW_RC_ENTRY_NOT_FOUND

19

May 2008

437

Check Framework

Definition

Value

CCCHECKFW_RC_ENTRY_NOT_UNIQUE

20

CCCHECKFW_RC_NO_KOMMA_IN_BANKNAME

21

CCCHECKFW_RC_BANKNAME_NOT_OF_BANKCODE

22

CCCHECKFW_RC_NOT_IN_TELEPHONE_FORMAT

29

CCCHECKFW_RC_DATE_ONLY_ONE_PERIOD

31

CCCHECKFW_RC_WRONG_STARTDATE

32

CCCHECKFW_RC_DATE_IS_NOT_IN_RHYTHM

33

Return codes of Calculation Definition

Value

CALCULATION_RETURN_READY

0

CALCULATION_RETURN_INPUT_CREDITAMOUNT

1

CALCULATION_RETURN_INPUT_PERIOD

2

438

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\cccheckfw.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\cccheckfw.fm © Siemens Nixdorf Informationssysteme AG 1995

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

CCCheckFW.Check Syntax: SHORT CCCheckFW.Check (

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\cccheckfw.fm

Check Framework

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\cccheckfw.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\cccheckfw.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Description

Value

T_CHECK_A

ext. Function entries/exits & errors

10

T_CHECK_1

int. Function entries/exits

11

T_CHECK_2

Input/Output Values

12

T_CHECK_3

Control

13

T_CHECK_4

Status Control

14

T_TOOLS_A

CheckTools: ext. Function entries/exits & errors

15

T_TOOLS_1

CheckTools: int. Function entries/exits

16

T_TOOLS_2

CheckTools: extended information

17

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

May 2008

447

Check Framework

448

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\IntranetSeitenLaden.fm © Siemens Nixdorf Informationssysteme AG 1995

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, and 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\IntranetSeitenLaden.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\IntranetSeitenLaden.fm © Siemens Nixdorf Informationssysteme AG 1995

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 -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. z WebExtTabing (see "WebExtTabing" on page 616 in the Parameters chapter) z 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. z 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. z 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. z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

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 Microsoft’s 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

Meaning

void Refresh()

The control refreshes input status variables and contents of input variables of Edit controls and List controls

void NavigateGotoURL (BSTR Url)

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.

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

Opens a new browser at coordinates Left, Top, Width, Height and loads Internet page Url into this area.

void PlaySound(BSTR Soundfile)

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

456

May 2008

Method

Meaning

void Log(BSTR LogString, int iLogType)

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)

variantArray ADAExec(BSTR strCMD)

This method is used to activate ADA commands in script (see also section ’Scripting’ on page 507).

Event

Meaning

OnTimeout() (only Contents STD control)

When a timeout occurs on the page, actions can still be carried out which have to be completed before navigating to the next page.

BeforeUserInteraction(short ID)

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.

AfterUserInteraction(short ID, BSTR Contents)

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.

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm

Scripting

May 2008

457

Scripting

Event

Meaning

BeforeButtonPressed(short ID)

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.

AfterButtonPressed(short ID, short selection, BSTR FunctionValue)

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

BeforeEditComplete(short ID)

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.

AfterEditComplete(short ID, short reaction, BSTR Contents)

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

BeforeGotFocus(short ID)

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.

458

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Event

Meaning

AfterGotFocus(short ID)

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.

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

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

afterInputCheckOK(short ID, BSTR Contents)

This event is fired after the check routine has successfully returned. It is not fired if a correction return code has been returned and it is not even fired if the check is not performed (see EditState FIELD_OK_USER_OVERRIDE). The Contents of the input field after the check routine are retrieved with this event. It may be formatted or changed.

May 2008

459

Scripting

Event

Meaning

onALLInputCtrlsOK(short SubmitStatus)

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.

OnContentsStart()

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.

OnContentsEnd()

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.

OnContentsLoad()

This event is fired after all pages of a frameset have been loaded and before the Contents STD/ATM Control initializes itself.

460

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Event

Meaning

void OnContentsScann()

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.

OnContentsUnload()

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.

OnContentsOpenNewWindow(BSTR Target)

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.

OnContentsRestart()

This event is fired when a new browser instance has been closed and before the Contents STD/ATM control has been reinitialized.

OnStepEvent(BSTR bstrContents)

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.

May 2008

461

Scripting

Event

Meaning

BeforeRunComplete(short sRetCode)

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Event

Meaning

AfterRunComplete(short sRetCode, BSTR bstrURL)

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

Meaning

OnSoftkeyPressed(BSTR bstrSoftkey)

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

OnKeyPressed(long lKey)

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.

OnPinKeyPressed(long lKey)

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

Property

Meaning

int NewWindowTop

x position (from upper left corner of the screen) of popup window for help messages

int NewWindowLeft

y position (from upper left corner of the screen) of popup window for help messages

int NewWindowWidth

Width of popup window

464

May 2008

Property

Meaning

int NewWindowHeight

Height of popup window

int CTRLstatus

Control initialisation status: If the Contents STD/ATM Control is loaded, this property may contain a 0 or a 1.

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm

Scripting

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

Meaning

void PressButton()

This method may be used to select a radio button or a button which is configured as a checkbox.

May 2008

465

Scripting

Method

Meaning

void SetFocusToButton() void TriggerControl()

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.

void EnterViewState (short ViewState)

This method may be used to change the state of the button: 0: Up state 1: Pressed state 2: Disabled state 3: Invisible state

Property

Meaning

BSTR Text

This property changes the caption of the button.

BSTR Font

This property changes the font of the caption of the button.

short TextSize

This property changes the font size of the caption.

short TextAlignX

This property changes the X alignment of the caption.

short TextAlignY

This property changes the Y alignment of the caption.

BOOL TextBold

This property changes the caption font attributes to bold.

BOOL TextItalic

This property changes the caption font attributes to italic.

BOOL TextUnderline

This property changes the caption font attributes to underline.

BOOL TextStrikeout

This property changes the caption font attributes to strikeout.

466

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Property

Meaning

BSTR Href

This property changes the HTML page to which the Dialog is to navigate after this button has been triggered.

BSTR ImageUp

This property changes the image for the up state.

BSTR ImageDown

This property changes the image for the down state.

BSTR ImagePressed

This property changes the image for the pressed state.

BSTR ImageDisabled

This property changes the image for the disabled state.

BSTR Icon

This property changes the icon for the up state.

BSTR IconDisabled

This property changes the icon for the disabled state.

May 2008

467

Scripting Edit control: Method

Meaning

void TriggerControl()

This method may be used to select an input field in script.

void SetContents(BSTR Contents)

This method may be used to prefill data in an edit field or to empty an input field.

void Backspace()

This method may be used to clear the character to the left of the cursor in script.

void Confirm()

This method may to used to confirm an input in script. The check is then performed.

void SetSelection(short sStart, short sEnd)

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)

Short Correct()

This method may be used to clear the complete edit field content at once in script. The function returns the number of deleted characters.

Property

Meaning

BSTR Instruction

This property changes the instruction hint of the edit field.

BSTR CaptionText

This property changes the caption of the edit field.

BSTR CaptionFont

This property changes the font of the caption of the edit field.

468

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Property

Meaning

short CaptionSize

This property changes the font size of the caption of the edit field.

long CaptionColour

This property changes the font colour of the caption.

long CaptionColourDisabled

This property changes the font colour during disabled state of the caption.

short CaptionAlignX

This property changes the X alignment of the caption.

short CaptionAlignY

This property changes the Y alignment of the caption.

BOOL CaptionBold

This property changes the caption font attributes to bold.

BOOL CaptionItalic

This property changes the caption font attributes to italic.

BOOL CaptionUnderline

This property changes the caption font attributes to underline.

BOOL CaptionStrikeout

This property changes the caption font attributes to strikeout.

BSTR InputFont

This property changes the font of the input field of the edit field.

short InputSize

This property changes the font size of the input field of the edit field.

long InputColour

This property changes the font colour of the input field.

long InputColourDisabled

This property changes the font colour during disabled state of the input field.

short InputAlignX

This property changes the X alignment of the input field.

short InputAlignY

This property changes the Y alignment of the input field.

BOOL InputBold

This property changes the input field font attributes to bold.

May 2008

469

Scripting

Property

Meaning

BOOL InputItalic

This property changes the input field font attributes to italic.

BOOL InputUnderline

This property changes the input field font attributes to underline.

BOOL InputStrikeout

This property changes the input field font attributes to strikeout.

short InputCharMax

This property changes the maximum number of characters which may be entered in this Edit control.

BSTR ImageUp

This property changes the image for the up state.

BSTR ImagePressed

This property changes the image for the pressed state.

BSTR ImageDisabled

This property changes the image for the disabled state.

BSTR IconUp

This property changes the icon for the up state.

BSTR IconDisabled

This property changes the icon for the disabled state.

470

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting List control: Method

Meaning

void TriggerControl()

This method may be used to select a list control in script.

void SetContents(BSTR Contents)

This method may be used to prefill data into a list control or to empty a list control.

Property

Meaning

BSTR Instruction

This property changes the instruction hint of the list control

BSTR CaptionText

This property changes the caption of the list control.

BSTR CaptionFont

This property changes the font of the caption of the list control.

short CaptionSize

This property changes the font size of the caption of the list control.

long CaptionColour

This property changes the font colour of the caption.

long CaptionColourDisabled

This property changes the font colour during disabled state of the caption.

short CaptionAlignX

This property changes the X alignment of the caption.

short CaptionAlignY

This property changes the Y alignment of the caption.

BOOL CaptionBold

This property changes the caption font attributes to bold.

BOOL CaptionItalic

This property changes the caption font attributes to italic.

BOOL CaptionUnderline

This property changes the caption font attributes to underline.

BOOL CaptionStrikeout

This property changes the caption font attributes to strikeout.

May 2008

471

Scripting

Property

Meaning

BSTR InputFont

This property changes the font of the input field of the list control.

short InputSize

This property changes the font size of the input field of the list control.

long InputColour

This property changes the font colour of the input field.

long InputColourDisabled

This property changes the font colour during disabled state of the input field.

short InputAlignX

This property changes the X alignment of the input field.

short InputAlignY

This property changes the Y alignment of the input field.

BOOL InputBold

This property changes the input field font attributes to bold.

BOOL InputItalic

This property changes the input field font attributes to italic.

BOOL InputUnderline

This property changes the input field font attributes to underline.

BOOL InputStrikeout

This property changes the input field font attributes to strikeout.

BSTR ImageUp

This property changes the image for the up state.

BSTR ImagePressed

This property changes the image for the pressed state.

BSTR ImageDisabled

This property changes the image for the disabled state.

BSTR IconUp

This property changes the icon for the up state.

BSTR IconDisabled

This property changes the icon for the disabled state.

472

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting EPP Control: Method

Meaning

BOOL KeyPress(short Key)

This method may be used to simulate display of any character (Key) in EPP control in script.

void Correct()

This method may be used to clear the input field of the EPP control completely.

Property

Meaning

BSTR PinImage

This property changes the image of the EPP graphic.

BSTR CaptionText

This property changes the caption text of the EPP control.

ActiveStep control Method

Meaning

short ProcessStep (BSTR SelectedStep)

This method may be used to call a Step (SelectedStep) of the Transaction Framework without using the Contents STD control.

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

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.

void OnUnload()

This method cancels a running Step. It should be called when the dialog navigates to another Internet page.

void End()

This method cancels a running Step when a new browser instance is started

May 2008

473

Scripting

Method

Meaning

void Restart()

This method restarts a Step after a popup window has been closed.

void Silent()

This method switches all events off, a running Step may fire. No event notification will be received in the current page.

Event

Meaning

RunComplete (short Returncode)

This event reports the Returncode from the Step.

StepEvent (BSTR String)

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

Meaning

BSTR StepSelection

This property may contain the Step to be called.

BSTR Framework

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.

BSTR StepParameter

This Property contains the input parameter data from step StepSelection. This property will be deleted with event End(), OnUnload() or OnRunComplete.

474

May 2008

Property

Meaning

short ReturnCode

Copy from the Step RC. Will be deleted at ProcessStep() or ProcessStep2()

short Status

Status: ACTIVESTEP_NOT_OPERATIONAL (0) ACTIVESTEP_OPERATIONAL (1) ACTIVESTEP_STEP_RUNNING(2) ACTIVESTEP_STEP_RUNNING_AN D_FIREING_EVENTS (3)

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm

Scripting

Active DataDictionary Control Method

Meaning

short GetBYTE(long Index)

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

Meaning

BSTR VariableName

The property contains the name of the Data Dictionary variable.

VARIANT VariableValue

The property contains the value of the Data Dictionary variable.

May 2008

475

Scripting

Property

Meaning

short VariableTyp (read only)

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

Property

Meaning

short VariableTyp (read only) continue...

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

The property contains the index of an array variable.

long VariableLength (read only)

The property contains the length of the contents of the variable. Use it with string and binary variables.

© Siemens Nixdorf Informationssysteme AG 1995

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm

Scripting

May 2008

477

Scripting

Property

Meaning

short AutoGetOnVariableNameChange

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

bool ErrorLogging

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.

478

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting ActiveVariable Control Method

Meaning

short SetLongValue()

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)

short SetStringValue()

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)

short GetLongValue()

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)

short GetStringValue()

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)

Property

Meaning

BSTR VariableName

The property contains the name of the Data Dictionary variable.

BSTR VariableValue

The property contains the value of the Data Dictionary variable.

May 2008

479

Scripting ActivePTSniff Control Method

Meaning

boolean StartSniff()

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.

boolean StopSniff()

This function stops the Sniffer.

boolean AddSniff(BSTR strFramework)

This function adds a framework to the list of sniffed frameworks and automatically starts sniffing this framework.

boolean RemoveSniff(BSTR strFramework)

This function removes a framework from the list of sniffed frameworks.

boolean StartKeepAlive(long lInterval)

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.

boolean StopKeepAlive()

Only in external Page mode: The StartKeepAlive() is canceled and the original timeout will be restarted.

boolean IsRunningSniff()

This method can be used to request if some frameworks are being sniffed.

boolean IsRunningKeepAlive()

This method can be used to request if the original timeout in external page mode is paused.

480

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Property

Meaning

boolean AutoStart

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.

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

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 ;

BSTR FrameworksRunning (get)

This property contains all Frameworks, which are activated to be sniffed by AddSniff(Framework) or by directly writing it to the Frameworks property.

May 2008

481

Scripting

Event

Meaning

PTEvent(BSTR strSender, short sID, short sDataLength, VARIANT byteData, BSTR strData )

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

PTRegistred(BSTR strFramework)

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

PTDeregistred(BSTR strFramework)

This event is fired, when any framework is removed from the list of sniffed frameworks by use of RemoveSniff().

SNIFFStart()

This event is fired, when the first framework Sniffer is started.

SNIFFStop()

This event is fired, when the last framework Sniffer is stopped, so there is no more framework to be sniffed.

482

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Event

Meaning

KeepAliveStart()

This event is fired, when the StartKeepAlive() function has been called.

KeepAliveStop()

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.

May 2008

483

Scripting ActiveRegistry Control Method

Meaning

long toLONG()

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)

BSTR toSTRING()

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.

Property

Meaning

BSTR Name (get/set)

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.

VARIANT Value (get)

The content of the parameter will be in this property, after the Name property has been set. The property is of type variant. To convert these values into long or string use the methods toLong() or toString()

484

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Property

Meaning

BSTR Root (get/set)

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.

BSTR Type (get)

The Type property may be used to check what type the property is. It may be NUMERIC, STRING or UNKNOWN. If it is UNKNOWN eigher the name of the parameter is wrong or it does not contain a value.

May 2008

485

Scripting WXPTBridge Control Method

Meaning

short PTFunction(BSTR strFW, short sID, BSTR strParam1, short sLen1, BSTR strParam2, short sLen2, BSTR strParam3, short sLen3, long lIndex)

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)

short RegisterForEvents(BSTR strFW)

Try to register for events from a target framework. (see also section ’RegisterForEvents’ on page 393)

short DeregisterForEvents(BSTR strFW)

Try to deregister for events from a target framework. (see also section ’DeregisterForEvents’ on page 395)

BSTR ConvStr2Hex(BSTR strData)

Convert input String to a Byte array string in HEX format. (see also section ’ConvStr2Hex’ on page 396)

BSTR ConvHex2Str(BSTR strData)

Convert input String from Byte array string in HEX format to normal String. (see also section ’ConvHex2Str’ on page 397)

BSTR

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!

486

testErrors(short eID)

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

Method

Meaning

void Log(BSTR strLog, short sLogType)

Log into Trace Log or Error Log strLog = Text to log sLogType = 0: Log to Trace (bit10) =1: Log to Error log (Number 0x64)

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

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.

Property

Meaning

BSTR PTName

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)

BSTR ListeningForEvents

The blank separated list of sniffed Frameworks! (see also section ’ListeningForEvents’ on page 406)

short BridgeStatus

Status of the Bridge object. (see also section ’BridgeStatus’ on page 406)

long

Counter of the errors. (see also section ’BridgeErrors’ on page 407)

BridgeErrors

May 2008

487

The Active VarFW control

Scripting

Event

Meaning

PTEvent(BSTR strFW, short sID, BSTR strData)

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)

void PTCallback(short sID, BSTR strParam1, BSTR strParam2, BSTR strParam3, long lIndex)

This event will be fired when OnFrmRequest with ID: 91-98 is incomming

PTFunctionEnd(short sIndex, short sRet, BSTR strParam1, BSTR strParam2, BSTR strParam3)

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)

BridgeError(short eID)

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:



488

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

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:

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

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

Scripting

ActivePTSniff Control

Adapting the maximum buffer size 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

Scripting

{ //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 } 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 it’s 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

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 container’s 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: z Write an Error entry z 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. z 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'

z Write a Trace entry z 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. z Use of PCContents.Log( "Text", 1)

494

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\Scripting.fm © Siemens Nixdorf Informationssysteme AG 1995

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 z Write a Journal entry z 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. z 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

496

May 2008

Scripting

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ADAServiceControl.fm © Siemens Nixdorf Informationssysteme AG 1995

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 don’t 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. z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ADAServiceControl.fm © Siemens Nixdorf Informationssysteme AG 1995

Control of the ADA service

Starting the service

z 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

Value

ADA

0

ADATimeoutExt

200

ADAActionOnStart

SKIP

ADATextPageMenu

You are in the WX.Contents.PageHeadline

ADATextPageHint

WX.Contents.PageInstruction

ADATextPageContent

WX.RT.p.WXADAContent.WXADAText

ADATextPageKeys

WX.F.ActiveKeys

ADATextEditHint

WX.Edit.Instruction!

ADATextEditContent

You have entered WX.Edit.InputText, please confirm it!

ADAEchoButton

WX.F.EchoKeys.all

ADAEchoEdit

0=null_WXSEP_1=one_WXSEP_2= two...

ADAEchoEPP

Thanks

ADAMacroActiveKeys

For WX.Button.Text press WX.Button.Softkey.

ADAMacroEchoKeys

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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ADAServiceControl.fm © Siemens Nixdorf Informationssysteme AG 1995

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

Action

WX.

Special WebExtensions Object Macro

WX.F.

Special WebExtensions Function Macro

WX.RT.

Normal Real-Time HTML macro

OBJECT

Action

Contents

PCContentsCTRL

Button

PCButton

Edit

PCEdit

ActiveKeys

Function macro (see also ’The macro ActiveKeys’)

EchoKeys

Function macro (see also ’The macro EchoKeys’)

TAG.ID

Normal HTML TAG with ID

PARAM

used by Object

PageHeadline

Contents

PageInstruction

Contents

Softkey

Button

Text

Button

Text.1 ... n

Button

Href

Button

Function

Button

FunctionValue

Button

502

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ADAServiceControl.fm © Siemens Nixdorf Informationssysteme AG 1995

Control of the ADA service

Macros

PARAM

used by Object

Instruction

Edit

InputText

Edit

Numeric

EchoKeys

Function

EchoKeys

All

EchoKeys

innerHTML

RT specific

argument

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

Spec. Macro

Menu

WX.Contents.PageHeadline

Hint

WX.Contents.PageInstruction

TextPageContent

WX.RT.p.WXADAContent.WXADAText

TextPageKeys

WX.F.ActiveKeys

TextEditHint

WX.Edit.Instruction

TextEditContent

WX.Edit.InputText

EchoButton

WX.F.EchoKeys.all WX.F.EchoKeys.numeric WX.F.EchoKeys.function

EchoEdit

No macros!

EchoEPP

No macros!

MacroEchoKeys

WX.Button.Href WX.Button.Function WX.Button.FunctionValue WX.Button.Text WX.Button.Text.1 WX.Button.Text.2 ... WX.Button.Text.n

MacroActiveKeys

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

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

504

May 2008

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ADAServiceControl.fm © Siemens Nixdorf Informationssysteme AG 1995

Control of the ADA service

Macros

z WX.Contents.PageInstruction: Gives access to the Page Instruction of PCContentsCTRL z WX.F.ActiveKeys: Uses the macro ActiveKeys described below to read out the available buttons on the page. z WX.Edit.Instruction: This macro gives access to the Instruction Hint of the PCEdit. z WX.Edit.InputText: The text of the edit field would be read out after pressing confirm. z WX.Button.EchoKeys: Sets the echo of pressed buttons. The macro EchoButton would be used. z all: All pressed buttons would be echoed. z numeric: Numeric buttons [0-9] only would be echoed. z 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

z WX.Button.Softkey: This macro scans the buttons for the softkey related to them. z WX.Button.Text: Gives access to the first text layer of the button (same as ...Button.Text.0). z 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. z WX.Button.Href: Gives access to the HTML page the button is linking to. z WX.Button.Function: The name of the Functionkey set on the PCButton property page would be read out. z 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

Pfad: d:\ProTopas\Web-Extensions\Docu\Book\ADAServiceControl.fm © Siemens Nixdorf Informationssysteme AG 1995

Control of the ADA service

Privacy

The macro WX.RT.xxx 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 which would be read out too. Example innerHTML:
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF