Web Extensions V1200 Programming Guide En

790
Edition May 2008 ProTopas/Web-Extensions V 1.2/00 ProTopas/HTML-Dialog V 1.2/00 Programming Guide

Transcript of Web Extensions V1200 Programming Guide En

Page 1: Web Extensions V1200 Programming Guide En

Edition May 2008

ProTopas/Web-Extensions V 1.2/00

ProTopas/HTML-Dialog V 1.2/00Programming Guide

Page 2: Web Extensions V1200 Programming Guide En

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.

Page 3: Web Extensions V1200 Programming Guide En

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

Page 4: Web Extensions V1200 Programming Guide En
Page 5: Web Extensions V1200 Programming Guide En

Input checks

Displaying external pages

Scripting

Control of the ADA Service

Customer Relationship Marketing

Installation

Configuration

Parameters

Tools

Abbreviations

Continued

Page 6: Web Extensions V1200 Programming Guide En
Page 7: Web Extensions V1200 Programming Guide En

Glossary

Documentation

Figures

Index

Page 8: Web Extensions V1200 Programming Guide En

May 2008 I

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\W

ebE

xtIV

Z.f

m

ContentsIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Take care . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3New since release 1.1/25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Target groups for this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Structure of the manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Typographical conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Selecting the product version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Web-Extensions/ExtraLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Web-Extensions/ClassicLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Areas of use for the product versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Similarities and differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Web-Extensions/ExtraLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Web-Extensions/ClassicLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Value of a softkey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Initializing input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Structure of the correction message pages . . . . . . . . . . . . . . . . . . . . . . 29

Implementing dynamic selection dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Loading external Internet pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Calling the first page external to the product . . . . . . . . . . . . . . . . . . . . . 33Exiting the display mode for external pages . . . . . . . . . . . . . . . . . . . . . . 33Loading product-related Internet pages from another Internet address . 35Loading external pages without navigation bar . . . . . . . . . . . . . . . . . . . 35

Loading a frameset without ChangeLanguage() . . . . . . . . . . . . . . . . . . . . . 36DoDialog() Safety features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36New multilanguage handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Hardware control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39The menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Special aspects of menu buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Menu pages for information service pages . . . . . . . . . . . . . . . . . . . . . . . 42Variable menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Page 9: Web Extensions V1200 Programming Guide En

II May 2008

Contents

Disabling menu contents by the host . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Structure of the correction message pages . . . . . . . . . . . . . . . . . . . . . . . . . 43Loading external Internet pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Programming a Transaction Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Functions to manipulate controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Showing and hiding button controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Changing links to HTML pages at runtime . . . . . . . . . . . . . . . . . . . . . . . 47Ascertaining the name of the current HTML page . . . . . . . . . . . . . . . . . . 47

Components and system requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 49Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Operating system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49CSC-W32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50ProDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50ProBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50ProTopas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Web Graphical Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Service and Operating (SOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Software requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Designing the user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Screen resolution and colour depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Standard elements of the user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Formats of images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Multimedia (video and audio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Text fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

User interface elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Function keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Selection buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Menu buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67List boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68The Contents (STD/ATM) control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Header and operating hint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Arrangement of the screen interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Page 10: Web Extensions V1200 Programming Guide En

May 2008 III

Contents

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\W

ebE

xtIV

Z.f

m

Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Positioning image elements on Internet pages of the Context frame . . . 73Overlaying an Internet page over an existing one . . . . . . . . . . . . . . . . . 75

Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Aspects common to all controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78The Button control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Button control - General 1 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81Button control - General 2 page for function keys . . . . . . . . . . . . . . . . . 85Button control - General 2 page for selection buttons . . . . . . . . . . . . . . 91Button control - General 2 page for menu buttons . . . . . . . . . . . . . . . . . 94Button control - General 2 page for radio buttons . . . . . . . . . . . . . . . . . 97Button control - General 3 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Button control - Caption page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Button control - Graphic page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Button control - Icon page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Button Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109The Edit control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Edit control - General 1 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Edit control - General 2 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Edit control - General 3 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128Edit control - Headline page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Edit control - Graphic page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Edit control - Input page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Edit control - Icon page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Edit control - Not allowed character page . . . . . . . . . . . . . . . . . . . . . . . 138

The Edit controls use for PIN input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Edit control (PIN input) - General 1 page . . . . . . . . . . . . . . . . . . . . . . . 139Edit control (PIN input) - General 2 page . . . . . . . . . . . . . . . . . . . . . . . 140Edit control (PIN input) - General 3 page . . . . . . . . . . . . . . . . . . . . . . . 141Edit control (PIN input) - Headline page . . . . . . . . . . . . . . . . . . . . . . . . 141Edit control (PIN input) - Graphic page . . . . . . . . . . . . . . . . . . . . . . . . . 142Edit control (PIN input) - Input page . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Edit control (PIN input) - Icon page . . . . . . . . . . . . . . . . . . . . . . . . . . . 144Edit control (PIN input) - Not allowed character page . . . . . . . . . . . . . 145Masked edit for standard edit control . . . . . . . . . . . . . . . . . . . . . . . . . . 145Hide the caret in standard edit control . . . . . . . . . . . . . . . . . . . . . . . . . 146Check max. chars for EPP keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . 146Delete the content after customer error in edit control . . . . . . . . . . . . . 147

Page 11: Web Extensions V1200 Programming Guide En

IV May 2008

Contents

Edit Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147The List control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

List control - General 1 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169List control - General 2 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173List control - General 3 page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174List control - Headline page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176List control - Graphic page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177List control - Output page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178List control - Icon page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

List Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181Show an ampersand (&) in Caption of a control . . . . . . . . . . . . . . . . . . . . . 194Shadowing effect of control capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195The EPP control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

EPP control - General page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196EPP control - Input page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

The Contents ATM control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198Contents ATM control - General page . . . . . . . . . . . . . . . . . . . . . . . . . . 199ADA configuration panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Contents ATM control - Function key page . . . . . . . . . . . . . . . . . . . . . . 206Contents ATM control - EPP Keys page . . . . . . . . . . . . . . . . . . . . . . . . 208Contents ATM control - Confirm page . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Content ATM Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . 216The Contents STD control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

Contents STD control - General page . . . . . . . . . . . . . . . . . . . . . . . . . . 228Contents STD control - Timeout page . . . . . . . . . . . . . . . . . . . . . . . . . . 230Contents STD control - Cancel page . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Contents STD control - Functionkey page . . . . . . . . . . . . . . . . . . . . . . 236Contents STD control - EPP Keys page . . . . . . . . . . . . . . . . . . . . . . . . 239Contents STD control - Step After page . . . . . . . . . . . . . . . . . . . . . . . . 246Contents STD control - Step page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250Contents STD control - Instance return page . . . . . . . . . . . . . . . . . . . . 251

Content STD Control - Property Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . 252The ActiveStep control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268Closing a new browser instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Creating sub routines without opening a new Window . . . . . . . . . . . . . 274Hiding controls with Viewstate variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 274Unicode Versions of the Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Get number of PIN Digits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

Page 12: Web Extensions V1200 Programming Guide En

May 2008 V

Contents

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\W

ebE

xtIV

Z.f

m

Web Graphical Service components . . . . . . . . . . . . . . . . . . . . . . . . . . . 279Components of the Internet browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279HTML generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

SNI_PC_VARIABLE WebBot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284Inserting a variable in a control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288Formatting settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288Easy multilanguage support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292Structure of the AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294Rejection of selected Internet pages . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Expand external pages with own code . . . . . . . . . . . . . . . . . . . . . . . . . . . 296Printing HTML pages in windows mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 299Switching the Web Graphical Service offline . . . . . . . . . . . . . . . . . . . . . . . 300

Offline Fallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300Monitoring of navigation to another page . . . . . . . . . . . . . . . . . . . . . . . 301

Starting the Web Graphical Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303Hiding the cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305Language selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

Changing the complete frameset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306Changing the complete frameset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307Converting language-specific formats . . . . . . . . . . . . . . . . . . . . . . . . . 308

Memory leak of the Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309Calculation of the current memory usage: . . . . . . . . . . . . . . . . . . . . . . 312

Using the Virtual Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313Logging the flow of the HTML pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320Resizing the Web Graphical Service on a PC . . . . . . . . . . . . . . . . . . . . . . 321Dialog Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322Interaction with other frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323Public Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324– Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324– Definitions and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325– Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325– Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326Access to customer input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340Trace and error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

PCDialog framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

Page 13: Web Extensions V1200 Programming Guide En

VI May 2008

Contents

Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342Interaction with other frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342Public Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343– Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343– Definitions and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344– Additional Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344– Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345Trace and error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

Virtual Keyboard Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357Interactions with other frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361Public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361– Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362– Defines and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363– Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364– Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372– Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372– Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372– Public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373Trace and error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

WXPTBridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387PTFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388RegisterForEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393DeregisterForEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395ConvStr2Hex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396ConvHex2Str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397testErrors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399GetWXText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

Page 14: Web Extensions V1200 Programming Guide En

May 2008 VII

Contents

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\W

ebE

xtIV

Z.f

m

Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401PTEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402PTFunctionEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403BridgeError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404PTCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

Trace and Error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

Input checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411Calling Format() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412Calling Dialog() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412Calling Check() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413Input variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413Input status variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415Field sequence control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

Input confirmations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417Special input confirmation handling . . . . . . . . . . . . . . . . . . . . . . . . . . . 418Input corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418

Dependent input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419Input statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419Editing scanned documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422

The Dialog() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423The Format() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423The Check() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424Correction messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425Input attempt counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426Standard input check dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

Alphanumeric check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427Numeric check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428Date check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429Amount check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

Check Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435Release specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435Interactions with other frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436Public Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436

Page 15: Web Extensions V1200 Programming Guide En

VIII May 2008

Contents

– Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436– Definitions and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436– Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439Trace and error logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

Displaying external pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449Configuring external Internet pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449Displaying the cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450The navigation button bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450

Displaying external pages without a navigation button bar . . . . . . . . . . 450Stopping the Internet mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451Access violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452Accessing https:// pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452Scripting with keys in external pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453Opening, Closing and rezising Popup Windows . . . . . . . . . . . . . . . . . . . . . 453

Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455The Active VarFW control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488The Active DataDict control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489ActivePTSniff Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491ActiveRegistry Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491WXPTBridge Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493Scripting a Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493Logging into Error/Trace Log or Journal by Script . . . . . . . . . . . . . . . . . . . 494

Control of the ADA service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497Starting the service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498Default start values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507DataDictionary-Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

ADA Status Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514

Customer Relationship Marketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515Components of the CRM service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516CCCRM framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517

– Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525– Defines and data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527– Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532

Page 16: Web Extensions V1200 Programming Guide En

May 2008 IX

Contents

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\W

ebE

xtIV

Z.f

m

– Specification of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534CRMContentsCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556

– Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558– Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559– Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561– Using EPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562– Using ADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565– Using PCButton and PCEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568– Property page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569

Using WebExtensions with CRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571

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

Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583Restart Manager configuration of High Level GS . . . . . . . . . . . . . . . . . . . 583Restart Manager configuration of Web GS . . . . . . . . . . . . . . . . . . . . . . . . 584Repository manager configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585Further configuration settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585Configuration of the softkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586Configuration of variables for all architectures . . . . . . . . . . . . . . . . . . . . . . 588Variables for Web-Extensions/ClassicLink . . . . . . . . . . . . . . . . . . . . . . . . . 592Variables for Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . . . . . . . . . 593Variables for Web-Extensions/ExtraLink . . . . . . . . . . . . . . . . . . . . . . . . . . 595

Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597Graphical Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597

Parameters for CCDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597Parameters for Virtual Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601Parameters for surfing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607Parameters for the AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614Parameters for the Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615Parameters for PCView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618Parameters for the HTML generator . . . . . . . . . . . . . . . . . . . . . . . . . . . 623Language specific parameters for the HTML generator . . . . . . . . . . . . 624

Parameters for the ActiveX controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634

Page 17: Web Extensions V1200 Programming Guide En

X May 2008

Contents

General ActiveX parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635Parameters for the Contents STD Control cancel situations . . . . . . . . . 635Parameters for the Contents STD/ATM Control timeout situations . . . . 637Parameters for timeout values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640Parameters for beeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641Parameters for EPP configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642General parameters for Contents STD/ATM control . . . . . . . . . . . . . . . 648Parameters for the PCButton control . . . . . . . . . . . . . . . . . . . . . . . . . . 651Parameters for the PCEdit control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657Parameters for the PCList control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665Parameters for Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672

CCOpen parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680

Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691WXCompressHTML tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691

Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691WebExtensions HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692Configuring the compressHTML tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 693Current key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694Data key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698How to configure your own rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700Examples of compressed components . . . . . . . . . . . . . . . . . . . . . . . . . 705The tool in action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713

Pagelogger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716The log file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720The property file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721The script file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722ScriptGen.exe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726

Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731

Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741

Page 18: Web Extensions V1200 Programming Guide En

May 2008 XI

Contents

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\W

ebE

xtIV

Z.f

m

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

Page 19: Web Extensions V1200 Programming Guide En

XII May 2008

Contents

Page 20: Web Extensions V1200 Programming Guide En

May 2008 1

Introduction

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Ein

leitu

ng.

fm

IntroductionThis manual describes the individual Steps that are needed to develop a self-service application using the ProTopas/Web-Extensions or ProTopas/HTML-Dialog.

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

Page 21: Web Extensions V1200 Programming Guide En

2 May 2008

Introduction

available tools. Optional access to the interface elements via an Encrypted PIN Pad (EPP) allows the user to input numbers via an EPP and to select functions using the softkeys at the side of the screen.

Modifications can be made to the interface during runtime using standard Microsoft products, e.g. FrontPage, and changes can be called up immediately on the self-service system. This guarantees that you are able to react promptly to the ever-changing requirements of the market.

The basis for integration of new services like 1-to-1 marketing via the Internet on self-service systems is provided by ProTopas/Web-Exten-sions. 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 self-service system and the customer can be implemented using touch-screen technology, softkeys and the EPP (Encrpted PIN Pad). The ProTopas/Web-Extensions controls can be assigned either to softkeys or to EPP keys and can thus trigger a visible reaction on screen.

Targeted access to current information and offers from the Internet is a decisive factor for future customer loyalty strategies. By opening up their terminals in the direction of the Internet, the banks in their role as self-service system installers can introduce additional services to their range including:

car sales,

insurance sales,

travel services and

ticket sales

and thus open up new delivery channels.

The availability of a central Web server in the provider’s network allows you to increase the types of possible access. During a trans-action 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 technolo-gies offers the following additional advantages:

freedom in designing the user interface

Page 22: Web Extensions V1200 Programming Guide En

May 2008 3

Introduction Take care

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Ein

leitu

ng.

fm

centralized modification of the self-service application

creation of reusable modules

use of commercially available basic components

assembly of dialog Steps from predefined components

independence of a single central product manufacturer

Take care

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 environ-ments (application is running 24 hours a day, 7 days a week; application is never closed; etc.). If an error occurs in Internet pages which contain a third party product, it has to be tested in the project, whether the third party product may cause the error, before reporting the bug to the development team of the ProTopas/Web-Extensions. Please keep in mind, that you will be charged for support, if a reported error is not found in the ProTopas/Web-Extensions themselves, but in the third party product.

There is a knowledge base available in the intranet of Wincor Nixdorf or a printed list of this knowledge base for those who have no intranet access available from the support team, where solutions of known issues and hints linked up with the ProTopas/Web-Extensions are reported.

New since release 1.1/25

1.1/25:

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

Page 23: Web Extensions V1200 Programming Guide En

4 May 2008

New since release 1.1/25 Introduction

Navigation monitor: The Web Graphical Service gives the possibility to control a navigation to another page with the help of a configuration in the Allow List. The Column 8– OPTIONAL can be used to specify the keyword WXmonitor and WXmarketingmode (see also section ’Monitoring of navigation to another page’ on page 301)

New control ActiveRegistry: This Control is used for scripting only. It is useful for getting REG_DWORD or REG_SZ Parameter values into variables for scripting (see also section ’ActiveRegistry Control’ on page 491).

New control WXPTBridge: This control gives access to all ProTopas Frame-works. It must be used in the Virtual Keyboard instance, when it is used as Marketing window for the access to the EPP Framework. However it may be used to access all other frameworks as well (see also section ’WXPTBridge’ on page 385).

New function Key CONFIRMALL: This value may be used for a special input handling. The customer may fill all edit fields by using the touch screen or the <Tab>, <Cursor up> or <Cursor down> key. After pressing this button all checks of all input fields will be started. When everything is okay, the Web Graphical Service will navigate to the page configured in this key (see also section ’Special input confirmation handling’ on page 418).

With help of the new parameter SetInputFocusNext the cursor is set to the field with the next higher field ID in multiple input pages (see also section ’Field sequence control’ on page 416).

The parameter WorkAroundNoShell (see also section ’Workaround-NoShell’ on page 617) has to be set to 1, if the Web-Extensions are installed in a ProTect environment, otherwise no Popup window will close properly.

The <Cursor up> and <Cursor down> keys act like <Tab> and <Back Tab> now (see also section ’Special input confirmation handling’ on page 418).

Masked edit is possible for the PCEdit control now (see also section ’Masked edit for standard edit control’ on page 145).

To show an ampersand it is necessary to write two ampersands into the text of a visual control. If this text is filled by a variable it might not be possible to have two ampersands. So there is a property to prevent this (see also section ’Show an ampersand (&) in Caption of a control’ on page 194).

The caret (Input cursor) can be hidden now (see also section ’Hide the caret in standard edit control’ on page 146).

Page 24: Web Extensions V1200 Programming Guide En

May 2008 5

Introduction New since release 1.1/25

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Ein

leitu

ng.

fm

Parameter NewImmediateTimeout = 0 (see also section ’NewImmedia-teTimeout’ on page 650) is responsible for directly navigating to new page without waiting time. Maybe the waiting time caused problems in some projects using Web-Extensions/ClassicLink.

The multilanguage feature (see also section ’Easy multilanguage support’ on page 289) is supported now. Variables with syntax [%WX_TEXT[Index];Default%] may be used to configure the texts in all HTML pages.

The Virtual Keyboard may be used for Marketing instances as well. New parameter Pos, Left and Top are available now as well as container properties CCVK_VAR_CONTAINER_L[0-255], CCVK_VAR_CONTAINER_S[0-255] (see also section ’Using the Virtual Keyboard’ on page 313). The Virtual Keyboard is supervised by watchdog functionality now.

Edit control may be used for EPP input as well now. EPP control is not necessary any longer and will not be maintained any longer (see also section ’Edit control (PIN input) - General 1 page’ on page 139). With the Edit control scheme support for EPP input is now available.

Icons are supported by schemes now for Button, Edit and List control.

1.1/26:

The cursor position in PCEdit Control can be set to each character in script by use of the function SetSelection(short sStart, short sEnd)(see also section ’Edit control:’ on page 468).

The Virtual Keyboard got a lot of new functions to show or hide, minimize or maximize this browser instance (see also section ’Using the Virtual Keyboard’ on page 313). A new offline event CCVK_VK_OFFLINE is fired, when an problem occurs in this browser (see also section ’CCVK_VK_OFFLINE event’ on page 319). Parameter MAXonStart (see also section ’MAXonStart’ on page 603), MINonEnd (see also section ’MINonEnd’ on page 603) are new.

The handling of the HTML flow support has been enhanced. Now there are two files written. One will be overridden when the other has been filled up (see also section ’Logging the flow of the HTML pages’ on page 320).

Page 25: Web Extensions V1200 Programming Guide En

6 May 2008

New since release 1.1/25 Introduction

The parameter WorkaroundWhitePopup (see also section ’Workaround-WhitePopUp’ on page 618) may be set to show the windows opened by in a new window when the page is completely loaded. This will remove any white background to be shown, which may flicker.

A new batch file WebAnalysisTrace.cmd for setting the analysis trace of the Web-Extensions is available in C:\ProTopas\Bin.

1.1/27:

The handling for Subroutines has been enhanced. Now it is possible to create subroutines without opening it in a new window. By setting a prefix WN_TFN_FLAT_SELF into the link to the first subroutine page the navigation takes place in the content frame, but the subroutines may still be finished by a navigation to close.htm (see also section ’Creating sub routines without opening a new Window’ on page 274).

Contents ATM Control will throw an error now, when there is an Immedia-teTimeout configured, but EPP Keys is not set to No Input. These pages should be changed, because this is time consuming and needless.

For the Virtual Keyboard the parameter WindowPlacement (see also section ’WindowPlacement’ on page 603) is new. There are new interfaces for logging into trace and error log (see also section ’Using the Virtual Keyboard’ on page 313).

Parameter OfflineMonitorTimer (see also section ’OfflineMonitorTimer’ on page 622) must be set to supervise the navigation to the offline page, when the navigation to an application page is supervised but can not be performed (see also section ’Supervising the monitoring to the first offline page’ on page 303).

1.1/28:

Parameter CursorEnable (see also section ’CursorEnable’ on page 604) specifies, if the cursor shall be visible or not during a virtual keyboard session.

Parameter AutomaticEPPConfigForAllButtons (see also section ’AutomaticEPPConfigForAllButtons’ on page 650) specifies, that all button viewstates (not only those of the function keys) shall be checked for activation to CEN/XFS EPP Service.

Page 26: Web Extensions V1200 Programming Guide En

May 2008 7

Introduction New since release 1.1/25

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Ein

leitu

ng.

fm

1.1/29:

If you are working with a EPP keyboard only it is possible to restrict the number of characters to be entered by writing the keyword WX_INPUT_FLAG_CHECKMAXCHARONEPP into the property Additional-Features of the edit control (see section ’Check max. chars for EPP keyboard’).

It is possible now to pass parameter to generated temp files like prot://server/object.ext?parameter=abc and to request them by calling window.location.search in script. Output would be ’?parameter’ in this case.

1.1/30:

The SpinEdit Control is not supported and not included any longer.

The function Log() (see also section ’Log’ on page 399) and the callback event PTCallback() (see also section ’PTCallback’ on page 405)are new in the WXPTBridge control.

There are new keywords in the AllowList at the optional column called WNvikey:START and WNvikey:END (see also section ’Structure of the AllowList’ on page 294)

The additional parameter MarketingAllowFocus allows to give the focus to other windows even when the Virtual keyboard is active (see "MarketingAl-lowFocus" on page 606 in the Parameters chapter).

1.1/32:

The default contents of all paramter containing the font family have been changed from Arial (Truetype) to Arial.

The parameter AllowMarketingFocus allows to set the focus manually even during SOP Sessions, etc. (see also section ’Parameter MarketingAllow-Focus’ on page 320)

The HTML Dialog Control has been enhanced to record all active popup windows during the runtime of a application (see also section ’HTML Dialog Control Version 2242’ on page 311).

The DoDialog() call for a Classic Link application may be supervised by a timer now (see also section ’DoDialog() Safety features’ on page 36).

A new property of the Contents STD/ATM Control may be used to check the initialization status of the control. (see also section ’Contents STD/ATM control:’ on page 465)

Page 27: Web Extensions V1200 Programming Guide En

8 May 2008

New since release 1.1/25 Introduction

The ActiveDataDictionary Control gets a new property to suppress error loggings. This may be useful for pages with properties whose values are ’property not set’ (see also section ’Active DataDictionary Control’ on page 478).

1.1/33:

There has been a change in the behaviour of the PcButton Step after. It is not possible any longer to press another button, if the first button runs a step after. To reactivate the old behaviour, please set the following undocu-mented DWORD-parameter: ActiveX\PCContents\General\StepAfter-Control with contents 0.

1.1/34:

There is a new parameter MAX_WEBEXTENSION_MEMORY_GROWTH (see "MAX_WEBEXTENSION_MEMORY_GROWTH" on page 689 in the Parameters chapter) of the HTML Dialog Control. 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.

The parameter ROOTPATH (see "RootPath" on page 620 in the Parameters chapter) can use the keyword ATM_PATH_NOLANG to prevent the Web Graphical Service from changing the directory, when using the WX_TEXT variables in all pages for multilanguge support (see "New multilanguage handling" on page 37 in the Parameters chapter).

1.1/35:

The ChangeLanguage() Function of the Web Graphical Service may use the input parameter 999 now. With this function call only the ADA language settings are updated, but no directory, WX_TEXT or format change is done (see also section ’CCDialogFW.ChangeLanguage’ on page 353).

1.1/37:

It is possible to replace variables in HTML Text with syntax [# name of PC variable ; formatting of PC variable; default value of PC variable #] directly. A WebBot is not longer necessary (see also section ’SNI_PC_VARIABLE WebBot’ on page 284).

Page 28: Web Extensions V1200 Programming Guide En

May 2008 9

Introduction New since release 1.1/25

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Ein

leitu

ng.

fm

WX_TEXT placeholders can now contain variables, either in the HTML Pge in the WX_TEXT tag (as index or as default value) or in the registry in the constant texts (see also section ’Using variables instead of constants in WX_TEXT’ on page 291).

It is possible to have floating transparencies in PNG Graphics. In former versions it was only possible to have one color for transparencies, so floating was not possibe (see also section ’Screen resolution and colour depth’ on page 60).

The Web Graphical Service can be resized by creating a few registry parameter with the coordinates of the position and size (see also section ’Resizing the Web Graphical Service on a PC’ on page 321).

The Active Data Dictionary Control got a restricted buffer size of 4096 Bytes for setting and getting strings from Data Dictionary values now. This has been done for performance reasons. If a bigger Buffer size may be necessary, it is possible to set a BufferSize property in the control (see also section ’Adapting the maximum buffer size’ on page 491).

The input of an edit control may be automatically deleted now after the input correction message has been shown by setting a new property in the edit control (see also section ’Delete the content after customer error in edit control’ on page 147).

It was not possible to delete the content of an edit field by setting the input variable to an empty string. With new parameter DeleteInputFieldsWith-EmptyString (see "DeleteInputFieldsWithEmptyString" on page 650 in the Parameters chapter) it is possible now.

Shadowing effect of a button, Edit Control and List Control capture: It is possible to use two layer with identical text and different colours to create a shadowing effect of the font (see also section ’Shadowing effect of control capture’ on page 195).

1.2/00:

A new functionality for Marketing integration has been added. Now the virtual keyboard is not used any longer for marketing issues. With this feature a new Marketing Contents Control is introduced, which has to be used in the Marketing Browser Instance only. See also chapter ’Customer Relationship Marketing’ on page 515.

Internet Explorer 7.x may be used together with the Web-Extensions right now.

Page 29: Web Extensions V1200 Programming Guide En

10 May 2008

Target groups for this manual Introduction

Target groups for this manual

This manual targets project managers and members of development teams, as well as marketing staff, in case the design of self-service user interfaces is involved. It describes how to implement multimedia user interface requirements and the underlying application modules.

Members of the development team should have the following skills:

Familiarity with ProTopas in order to recognize relationships between the individual ProTopas modules

C/C++ knowledge in order to implement application modules

HTML know-how to develop Internet user interfaces

Basic skills in handling Microsoft FrontPage

Structure of the manual

The chapter "Selecting the product version" describes the range of uses for ProTopas/Web-Extensions. In this context, we refer to different architectures.

The chapter "Web-Extensions/ExtraLink" deals with the use of the first of three possible architectures.

The chapter "Web-Extensions/ClassicLink" describes the characteristics of the second architecture.

The chapter "Web-Extensions/HyperLink" shows the differences of the third architecture.

The chapter "Components and system requirements" outlines the functionality of ProTopas/Web-Extensions. It presents modules for the user interface and the application layer, followed by a description of the hardware and software environment requirements.

The chapter "Designing the user interface" gives tips and options for imple-menting 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.

Page 30: Web Extensions V1200 Programming Guide En

May 2008 11

Introduction Structure of the manual

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Ein

leitu

ng.

fm

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/Web-Extensions 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-Exten-sions.

The chapter "Parameters" contains a detailed list of all ProTopas/Web-Exten-sions parameters.

Page 31: Web Extensions V1200 Programming Guide En

12 May 2008

Typographical conventions Introduction

The manual closes with various lists: Abbreviations, glossary, documentation, figures and index.

The interface descriptions are provided as a programming reference.

Typographical conventions

References to manuals

Times New Roman, italics and bold

System messages, examples and source code

Courier

Parameters

Italics and bold

Properties (parameters for the controls)

Italics

Variable names, HTML page names

CAPITALS

Function keys and selection buttons

<In angled brackets>

Path, directory, file and menu names, screen elements

Courier and italics

Pictograms

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

Page 32: Web Extensions V1200 Programming Guide En

May 2008 13

Introduction Typographical conventions

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Ein

leitu

ng.

fm

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.

Page 33: Web Extensions V1200 Programming Guide En

14 May 2008

Typographical conventions Introduction

Page 34: Web Extensions V1200 Programming Guide En

May 2008 15

Selecting the product version Web-Extensions/ExtraLink

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Aus

prae

gun

g.fm

Selecting the product versionThe 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 parameter-ization. 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 applica-tions 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 infor-mation to interactive Internet applications. However, if the self-service hardware is to be used for inputs, the controls of the ProTopas/Web-Extensions 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.

Page 35: Web Extensions V1200 Programming Guide En

16 May 2008

Web-Extensions/ClassicLink Selecting the product version

Fig. 1: Web-Extensions/ExtraLink

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 multi-media components and Internet applications.

This is possible without programming work in ProTopas-Steps for all applica-tions 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.

Web-Extensions/ExtraLink:Technical View

Traditional User Interface for existing Applications

Use of Internet pages for- 1-to-1 Marketing- Personalization- Advertisement- ...

OK DruckenAbbruch Hilfe

Restart

EPP CDM

IDCU Printer

DialogHost

Transaction

Script FW

Service

OK DruckenAbbruch Hilfe

DialogOK DruckenAbbruch Hilfe

Page 36: Web Extensions V1200 Programming Guide En

May 2008 17

Selecting the product version Web-Extensions/HyperLink

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Aus

prae

gun

g.fm

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/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 appli-cation 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.

Use of Internet pages for- Existing application- 1-to-1 Marketing- Personalization- Advertisement- ...

Second Dialog not applicable

Web-Extensions/ClassicLink: Technical View

OK DruckenAbbruch Hilfe

Restart

EPP CDM

IDCU Printer

Host

Transaction

Script FW

Service Dialog

OK DruckenAbbruch Hilfe

OK DruckenAbbruch Hilfe

Dialog

Page 37: Web Extensions V1200 Programming Guide En

18 May 2008

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 self-service hardware is to be used for input, the controls of the ProTopas/Web-Extensions should be used since these controls can be used to make assign-ments to softkeys and to the EPP keypad.

The integration of Internet solutions is easiest to implement with this archi-tecture 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

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

Web-Extensions/HyperLink:Technical View

Restart

EPP

IDCU

CDM

Printer

DialogHost

Transaction

Script FW

OK DruckenAbbruch Hilfe

Service Dialog

OK DruckenAbbruch Hilfe

OK DruckenAbbruch Hilfe

Page 38: Web Extensions V1200 Programming Guide En

May 2008 19

Selecting the product version Areas of use for the product versions

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Aus

prae

gun

g.fm

Areas of use for the product versions

The question arises as to which product version is most suitable for which appli-cation. 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 Web-Extensions/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. appli-cations 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. Parame-terization 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.

Page 39: Web Extensions V1200 Programming Guide En

20 May 2008

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 archi-tectures. 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 archi-tecture-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

Page 40: Web Extensions V1200 Programming Guide En

May 2008 21

Web-Extensions/ExtraLink

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Tra

diti

one

llSta

rte

n.fm

Web-Extensions/ExtraLinkThis chapter describes how Internet solutions or simple Internet pages are called from an application that was developed with ProTo-pas 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 Ser-vice overlays the Web Graphical Service. This is necessary so that the Web Graphical Service is initialized and ready to accept the inter-face 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. Nor-mally in an Web-Extensions/ClassicLink or Web-Extensions/HyperLink archi-tecture 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 fol-lowing 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 Web-Extensions/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:

Page 41: Web Extensions V1200 Programming Guide En

22 May 2008

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 Transac-tion 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 Pre-sentation 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/

RESTARTapplication1

application=C:\PROTOPAS\BIN\FwLoadPm.EXE,4,1,21,,,CCPresFWCCDialog CCTransactionFW HTMLDialogControl

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

RESTARTapplication1

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\DatadictEx-traLink -t DataDict -b -U

Page 42: Web Extensions V1200 Programming Guide En

May 2008 23

Web-Extensions/ExtraLink

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Tra

diti

one

llSta

rte

n.fm

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 DialogCCDialog myDialog; // proxy of Std Dialog

...

Implementation in the .cpp program file:

...// open the dialog frameworksmyWebDialog.Open();myDialog.Open();

...

Two functions have been created for the switch to the foreground and, subse-quently, back to the background (see also section ’CCDialogFW.Activate’ on page 339).

Activate(): Switches the Web Graphical Service to the foreground

Deactivate(): Switches the Web Graphic Service to the background.

At the point in the application at which the Internet pages are to be called, the call first switches the Web Graphical Service to the foreground and then loads the Internet start page:

Implementation in the .cpp program file:

...// Call ChangeLanguage to bring Web Dialog into a // mode, that it loads the next Internet page into// full screen mode and needs no content control// at next pagemyWebDialog.ChangeLanguage(CurrentLanguage);

// Deactivate Std DialogmyDialog.Deactivate();// Bring Web Dialog to top

Page 43: Web Extensions V1200 Programming Guide En

24 May 2008

Web-Extensions/ExtraLink

myWebDialog.Activate();

// Load Internet Startpagerc = 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 deacti-vated and the Standard Graphical Service again moved to the foreground.

Implementation in the .cpp program file:

...// Deactivate Web Dialog for SOP RequestsmyWebDialog.Deactivate();// Bring Std Dialog to topmyDialog.Activate();

// Check the returncodeif (rc != CCDIALOG_ERROR){

// Proceed in your coderc = myDialog.DoDialog(’Menu’)...

}...

The Internet page Start.htm does not contain a control but only a script which calls the first page of the Internet solution.

Syntax of the HTML page script:

<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript><!--Sub window_onload()

window.navigate("http://www.wincor-nixdorf.com")End Sub--></SCRIPT>

On the last page of the Internet application, workflow processing must be returned to the application. Like the start, this is also executed in the script, by navigating to an Internet page consisting of a certain syntax:

Page 44: Web Extensions V1200 Programming Guide En

May 2008 25

Web-Extensions/ExtraLink

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Tra

diti

one

llSta

rte

n.fm

<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript><!--Sub window_onload()

window.navigate("PCEvt:RC=0")End Sub--></SCRIPT>

Syntax for sending return codes to the application

Identification that navigation is not taking place but that a return code is being sent to the application:

PCEvt:RC=n (n = 0 to -7, cf. description of return codes in the CCDi-alog.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 sec-tion ’Starting the Web Graphical Service’ on page 303). In the Web-Exten-sions/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 DontWaitForPCCon-tentsOnOpen (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 architec-ture, 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 appli-cation. This parameter is

Page 45: Web Extensions V1200 Programming Guide En

26 May 2008

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 Web-Extensions/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 \ProTo-pas\Conf directory you will find a SetupHlgsKeys.cmd job, which is updating the Keys configuration for the High Level GS. Please update the con-figuration for the High Level GS, if you want to use it toghether with the Web GS.

Page 46: Web Extensions V1200 Programming Guide En

May 2008 27

Web-Extensions/ClassicLink Value of a softkey

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Aus

taus

chO

ber

flae

che.

fm

Web-Extensions/ClassicLinkIn 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 corre-sponding 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 appli-cations 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 appli-cation. The application queries these values using the function GetInput-String() (see also section ’CCDialogFW.GetInputString’ on page 335).

Page 47: Web Extensions V1200 Programming Guide En

28 May 2008

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 parameter-ization 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/

PCButtonSelection

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

Page 48: Web Extensions V1200 Programming Guide En

May 2008 29

Web-Extensions/ClassicLink Input fields

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Aus

taus

chO

ber

flae

che.

fm

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 imple-mented 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 <Confirm> button has been pressed. Different return codes can be issued for different checks. The name of an Internet page must be specified for each return code, which then overlays the input page in the manner of a popup window. The size and position of this page is freely selectable. The application does not register this event.

The popup Internet page can contain a button, for example <Correction>, which is activated by pressing the button with the equivalent label on the EPP. This key closes the popup page. If such handling is required, a Contents ATM control and a button of the type Selection must be created on this page. The key must have the predefined value Close-Popup-Window and, in contrast to the other selection keys, navigate to an HTML page. The name of the HTML page is CLOSE.HTM. This automatically closes the popup page.

The Contents ATM control has another special feature: The timeout of a popup page must not by monitored by the Contents ATM control. If the Contents ATM control were to register a timeout, it would send the Timeout return code to the application. However, this is not desirable in the case of popup pages. Accord-ingly, the Contents ATM control is assigned an Endless Timeout.

The timeout itself is monitored by the following script:

Page 49: Web Extensions V1200 Programming Guide En

30 May 2008

Implementing dynamic selection dialogs Web-Extensions/ClassicLink

<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript><!--Sub window_onload()

’close after 10 seccall window.setTimeout("call

Contents.NavigateGotoURL(’close.htm’)", 10000)end sub--></script>

The script function window.setTimeout() has, as its first parameter, the name of the Internet page to which navigation is to lead after a timeout and, as its second parameter, the timeout length in milliseconds. In the example shown above, the name of the Internet page to which navigation will lead is CLOSE.HTM. This results in a close of the new window. The timeout in the second parameter of window.setTimeout() is set to 10 seconds.

Navigation to CLOSE.HTM in the script through Window.navigate:

Contents.NavigateGotoURL(’close.htm’)

Implementing dynamic selection dialogs

Dynamic dialogs may be integrated into existing applications which have run to date with the High Level Graphical Service; these will have to be transferred to the Web Graphical Service during conversion. This uses the macro feature of the High Level Graphical Service, which enables interface elements to be combined to form units. These units can be referenced at the places in which the individual elements are normally parameterized. The macros can be changed during runtime.

Each application uses a different implementation in order to create dialogs dynamically. Dynamics are always required if the display of menu or selection pages is determined by data from the host system during runtime. The Web Graphical Service also permits buttons to be displayed or hidden at runtime. To this effect, variables are set prior to display of the appropriate page, which activate, disable or hide button controls or input and list controls (see also section ’Hiding controls with Viewstate variables’ on page 274).

Page 50: Web Extensions V1200 Programming Guide En

May 2008 31

Web-Extensions/ClassicLink Implementing dynamic selection dialogs

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Aus

taus

chO

ber

flae

che.

fm

So that existing applications which use dynamic dialogs do not have to be changed, the variables of the controls of the Web Graphical Service must be assigned to the values set for the application. This can be effected via a script in an overlay page. The following is an example:

<a ID="WN_GOTO" href="MultipleSelection.htm" target="_self"></a>

<object classid="clsid:B2ED2838-FD46-11D2-961D-0800060BD9E4" id="ActiveDataDictFW1" width="100" height="50">

<param name="_Version" value="65536"><param name="_ExtentX" value="2646"><param name="_ExtentY" value="1323"><param name="_StockProps" value="0">

</object>

<script LANGUAGE="VBScript"><!--

Sub window_onload()

’ Set State for Button Control 1

’ Get Macro-Value from applicationActiveDataDictFW1.VariableName ="CCTAFW_PROP_DIALOG_BUTTON(1)"Button1 = ActiveDataDictFW1.VariableValue

’ Get Returnvalue of Button from applicationActiveDataDictFW1.VariableName ="CCTAFW_PROP_DIALOG_INPUT(1)"Input1 = ActiveDataDictFW1.VariableValue

if Input1 = "" thenif Button1 = "" then

’ Button Control hiddenButton1_Viewstate = 3

else’ Button Control disabledButton1_Viewstate = 2

end ifelse

’ Button Control activeButton1_Viewstate = 0

end if

Page 51: Web Extensions V1200 Programming Guide En

32 May 2008

Loading external Internet pages Web-Extensions/ClassicLink

’ Set the viewstate variable of Button Control 1ActiveDataDictFW1.VariableName ="VAR_BUTTON1_VIESTATE_S"ActiveDataDictFW1.VariableValue = Button1_Viewstate

’ Set State for Button Control 2 to 8...

’navigate to next pageWN_GOTO.click()

end sub

--></script>

Initially, an anchor is placed on the page, which navigates to the following page once the script has been executed. This occurs when WN_GOTO.Click() is called at the end of the script. Secondly, a Data Dictionary control is created on this page in order to set and to read variables from the Data Dictionary FW.

The above example uses two variables which describe a macro and the value of a pressed button. If both variables are empty, the corresponding button is hidden in this configuration of the High Level Graphical Service. If it is only the macro which is empty, the button is displayed as disabled. In all other cases, the button is displayed as active.

In order to obtain the same view in the Web Graphical Service, the Viewstate variable of the corresponding button control is filled out in the script. This must be performed for each button. Navigation then moves to the next page which is to be set up dynamically.

If it is not only interface elements which are to be displayed or hidden but if the label and return value of a pressed button are also to change dynamically, these values must be displayed in the form of variables which are changed by the HTML generator prior to display into current contents from the Data Dictionary (see also section ’Inserting a variable in a control’ on page 288).

Loading external Internet pages

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

Page 52: Web Extensions V1200 Programming Guide En

May 2008 33

Web-Extensions/ClassicLink Loading external Internet pages

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Aus

taus

chO

ber

flae

che.

fm

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. DoDialo-gAsync() is the best to use, because the function will not wait for any retruncode from the Web Graphical Service.

No Contents ATM Control may be configured in the loaded page. The new page should include a script which automatically branches to the first external Internet page:

<script language="VBScript">

window.navigate("http://www.wincor-nixdorf.com");

</script>

As the Web Graphical Service monitors all navigation, it uses the parameter-ization 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

Page 53: Web Extensions V1200 Programming Guide En

34 May 2008

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 statuswhile(DIALOG_FW.GetbStatus()==CCDIALOG_OPERATIONAL){

TrcWritef (T_TRACT_1, "CCDIALOG.GetbStatus returnsCCDIALOG_OPERATIONAL");

CCSleep(100);}

while(DIALOG_FW.GetbStatus()==CCDIALOG_NOT_OPERATIONAL){

TrcWritef (T_TRACT_1, "CCDIALOG.GetbStatus returnsCCDIALOG_NOT_OPERATIONAL");

CCSleep(100);}

TrcWritef (T_TRACT_1, "< ShowDialogWebStep::Process ()returns %d", sRc);

return (sRc);} /* ShowDialogWebStep::Process () */

Page 54: Web Extensions V1200 Programming Guide En

May 2008 35

Web-Extensions/ClassicLink Loading external Internet pages

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Aus

taus

chO

ber

flae

che.

fm

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.wincor-nixdorf.com");

This navigation results in navigation taking place not in the current frame but in full-screen mode. If the application uses a frameset, the page that is loaded with ATM_ABS_NAV must also be a frameset.

If several Internet pages are to be loaded in succession from one and the same address, the keyword ATM_ABS_NAV must be placed before each call to load these pages.

Loading external pages without navigation bar

If pages shall be shown in the same context as the product-related ones, their adresses have to be added in the Allow List (see also section ’Structure of the AllowList’ on page 294). The column Generate is responsible for showing the navigation bar (0) or not (1). If no navigation bar is shown the pages itself have to care about the possibility for the customer to cancel the page and the return to the product related paged. At least the Timer in the Allow List is responsible for returning.

To start into this mode it is best to show a Dialog, which contains a script for loading the first external page. The link from this page to another is done by normal Internet links. The application still waits for a returncode from the DoDialog() call. If the sequence of external Pages should be stopped, the following script has to be used:

<script language="JavaScript">

Page 55: Web Extensions V1200 Programming Guide En

36 May 2008

Loading a frameset without ChangeLanguage()Web-Extensions/ClassicLink

// return code for offlinewindow.navigate(’PCEvt:RC=0’)

</SCRIPT>

(see also section ’Syntax for sending return codes to the application’ on page 25)

Loading a frameset without ChangeLanguage()

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

Example: DoDialog("ATM_TOP_NAVMyFrame");

ATM_TOP_NAV thus destroys the current frameset and loads the next page in full-screen mode. Following the call, a new frameset will generally have to be displayed.

DoDialog() Safety features

Because there were some problems with loading of the Web pages after a DoDialog() call here is a possibility to supervise the loading time with a timer. If the Parameter DoDialogTimer (see ’DoDialog-Timer’ 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.

Page 56: Web Extensions V1200 Programming Guide En

May 2008 37

Web-Extensions/ClassicLink New multilanguage handling

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Aus

taus

chO

ber

flae

che.

fm

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.

Page 57: Web Extensions V1200 Programming Guide En

38 May 2008

New multilanguage handling Web-Extensions/ClassicLink

Page 58: Web Extensions V1200 Programming Guide En

May 2008 39

Web-Extensions/HyperLink Hardware control

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\V

erkn

uepf

ung.

fm

Web-Extensions/HyperLinkThis 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 archi-tecture 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.

Page 59: Web Extensions V1200 Programming Guide En

40 May 2008

The menu Web-Extensions/HyperLink

Fig. 4: Contents STD control - Access to hardware modules

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 appli-cation and parameterizing the return codes reflects the general logic of the application (see "Contents STD control - Step page" on page 250 in the Param-eters 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.

Connecting Internet pages for workflow processing: Workflow

Pro DeviceSpecial HardwarePro DeviceSpecial Hardware

InternetBrowser

Pro Topas Modules

Connector Control

OK DruckenAbbruch Hilfe

Please wait for printout…invisible Control

5. Access to theprinter via ProDevice

3. Transmission betweenInternet-browser

and ProTopas modules

8. Loading of the new HTML-page

4. Call of theProTopas Module

`PRINT`

6. Transmission of the returncode

to the Contents-control

OK DruckenAbbruch Hilfe

Printout ready

2. Activation of theContents-control

invisible Control

7. Conversion of the return-code into a link to a new

HTML-page

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

Page 60: Web Extensions V1200 Programming Guide En

May 2008 41

Web-Extensions/HyperLink The menu

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\V

erkn

uepf

ung.

fm

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 Param-eters 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 identifi-cation on the menu page, this is written to the variable VAR_IDENTIFICATION_REQUEST_L.

The entries in this LONG variable are evaluated as flags. The individual bits have the following meaning.

(0): No function selected

(1): No identification necessary

(2): Authorization with card

(4): Authorization with PIN

(8): Authorization with chipcard

(16): Authorization with chipcard PIN

(256): Mandatory authorization again before the selected function

The Contents STD control on an Internet page with menu buttons has an additional task. It writes the contents of the Caption parameter (see also section ’Button control - Caption page’ on page 101) to the string variable VAR_HEADLINE_S, and simultaneously assigns this text to the header as if this had been specified in the Contents STD control. Accordingly, it is not necessary for a header to be defined

Page 61: Web Extensions V1200 Programming Guide En

42 May 2008

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

Page 62: Web Extensions V1200 Programming Guide En

May 2008 43

Web-Extensions/HyperLink Structure of the correction message pages

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\V

erkn

uepf

ung.

fm

From the very start, the menu pages have to be designed in such a way that they can hold the maximum range of functions. It is only possible to hide menu buttons. Buttons that did not exist beforehand cannot be generated automatically!

The approach to enabling and disabling menu buttons is simple. The host sends the values for all menu buttons that are to be disabled to the terminal device. All buttons contained in this list are disabled by a Transaction FW class in which the corresponding Viewstate variables are set (see also section ’Hiding controls with Viewstate variables’ on page 274).

This disabling can be achieved by a command that the host sends to the terminal device. The list of menu items to be disabled, however, can also be appended to the response to a transaction record, and is then evaluated when this response arrives. This approach, for example, would permit card insertion to be followed by a response to the authorization query to include a general menu that has been changed in such a way that it only shows the functions which the customer in question is allowed to use.

The disablement of existing menu buttons remains in force until the card is ejected. If the same menu contents need to be disabled for the next customer, the list has to be set again.

Structure of the correction message pages

In the case of the Web Graphical Service, a check routine must be defined for each input field in order to check that the input is correct once the <Confirm> key has been pressed. Different return codes can be issued for different checks. The name of an Internet page must be specified for each return code, which then overlays the input page in the manner of a popup window. The size and position of this page is freely selectable. The application does not register this event.

The popup Internet page can contain a button, for example <Correction>, which is activated by pressing the button with the same label on the EPP. This key closes the popup page. If such handling is required, a Contents STD control and a button of the type Selection must be created on this page. The key must have the predefined value Close-Popup-Window and, in contrast to the other selection keys, navigate to an HTML page. The name of the HTML page is CLOSE.HTM. This automatically closes the popup page.

The timeout of a popup page is monitored by the Contents STD control. CLOSE.HTM is entered in the property AfterTimeout.

Page 63: Web Extensions V1200 Programming Guide En

44 May 2008

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)

Page 64: Web Extensions V1200 Programming Guide En

May 2008 45

Web-Extensions/HyperLink Programming a Transaction Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\V

erkn

uepf

ung.

fm

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:

The ACTIVESTEP_RC_CANCEL return code has to be returned by the Step, when the Step is cancelled by the Contents STD control. No call of an HTML page may be entered for this return code. The ActiveStep control does not pass this return code to the Contents STD control.

The Cancel method must be implemented for Steps which permit cancellation from outside. Examples of Steps which may have to be cancelled from outside, e.g. as a result of the press of a button or another event, include:

Card input: Card input is cancelled by touching the screen in the idle loop or by pressing a button on the menu. At this point, the branch cannot be handled via the Step’s return code but via the branch defined for the button.

PIN input: PIN input can be cancelled by pressing a Cancel button without the PIN having been entered.

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 afterClose Immediate

Page 65: Web Extensions V1200 Programming Guide En

46 May 2008

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

Page 66: Web Extensions V1200 Programming Guide En

May 2008 47

Web-Extensions/HyperLink Functions to manipulate controls

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\V

erkn

uepf

ung.

fm

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

Page 67: Web Extensions V1200 Programming Guide En

48 May 2008

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 OnCon-tentsRestart() of the Contents STD/ATM control.

Page 68: Web Extensions V1200 Programming Guide En

May 2008 49

Components and system requirements Architecture

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Ko

mpo

nen

ten.

fm

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

Operating system

The ProTopas product family is based on the Windows XP operating system, if it uses the ProTopas/Web-Extensions.

architecture

CSC-W/32Windows NT 4.0

ProDevice (WOSA/XFS)

ProTopas Modules

OK DruckenAbbruch Hilfe

SOP

service and operating

Internet browser

hardware-access

with WOSA/XFS

operating systemand

peripheral drivers

applicationcomponents

Page 69: Web Extensions V1200 Programming Guide En

50 May 2008

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 third-party 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/Web-Extensions.

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

Page 70: Web Extensions V1200 Programming Guide En

May 2008 51

Components and system requirements Architecture

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Ko

mpo

nen

ten.

fm

Fig. 6: Framework relationship of a ProTopas application

Page 71: Web Extensions V1200 Programming Guide En

52 May 2008

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.

Page 72: Web Extensions V1200 Programming Guide En

May 2008 53

Components and system requirements Architecture

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Ko

mpo

nen

ten.

fm

Fig. 7: Host Protocol Framework

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:

HBCI

Connection via host protocolframework

CSC-W/32Windows NT 4.0

ProTopas Modules

ProDevice (WOSA/XFS)

OK DruckenAbbruch Hilfe

SOPIntranet / Internet

TCP / IP

WAN / LANTCP / IP

• Transaction data

• masks• information

Communication

Framework

IFX

OK DruckenAbbruch HilfeOK DruckenAbbruch Hilfe

Host protocol

framework

Page 73: Web Extensions V1200 Programming Guide En

54 May 2008

Architecture Components and system requirements

Button control Buttons of various kinds

Edit control Input fields (text boxes)

List control Input fields with a list function (list boxes)

EPP control Input fields for PINs

Contents ATM control Master to synchronize the controls mentioned above and to handle different return codes

Contents STD control Master to synchronize the controls mentioned above and to access the appli-cation

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

Pro DeviceSpecial HardwarePro DeviceSpecial Hardware

InternetBrowser

Pro Topas Modules

Connector Control

OK DruckenAbbruch Hilfe

Please wait for printout…invisible Control

5. Access to theprinter via ProDevice

3. Transmission betweenInternet-browser

and ProTopas modules

8. Loading of the new HTML-page

4. Call of theProTopas Module

`PRINT`

6. Transmission of the returncode

to the Contents-control

OK DruckenAbbruch Hilfe

Printout ready

2. Activation of theContents-control

invisible Control

7. Conversion of the return-code into a link to a new

HTML-page

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

Page 74: Web Extensions V1200 Programming Guide En

May 2008 55

Components and system requirements Hardware requirements

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Ko

mpo

nen

ten.

fm

This approach differs from the architecture Web-Extensions/Classi-cLink. 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

Service and Operating (SOP)

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

Hardware requirements

All self-service hardware devices may be used for applications which run with ProTopas/Web-Extensions:

ProCash

ProInfo

ProPrint

ProConsult

Call to load an Internet page in existing environment

Windows NT

ProTopas

ProDevice

SOP

Transaction Framework StepsDoDialog()

DoDialog()

DoDialog()

...DoDialog()...

Page 75: Web Extensions V1200 Programming Guide En

56 May 2008

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

Pentium PC with 512 MB memory

is needed to adjust parameters and modify the user interface. The user interface can be extended, developed from scratch or modified with standard software components for editing Internet pages.

Software requirements

The following base software is required in the specified versions at least to ensure smooth operations with ProTopas/Web-Extensions:

Terminal device:

– Windows XP with current Service Pack

– Microsoft Internet Explorer version 6.x/7.x with current Service Pack

– TLS-W32 or ProBase

– ProTopas/Manager version 3.x or 4.x

– ProTopas/Web-Extensions version 1.x or

– ProTopas/HTML-Dialog version 1.x

Design PC for editing Internet pages:

– Windows XP with current service pack

– Microsoft Internet Explorer version 6.x/7.x with current Service Pack

Page 76: Web Extensions V1200 Programming Guide En

May 2008 57

Components and system requirements Software requirements

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Ko

mpo

nen

ten.

fm

– 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, TLS-W32 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.

Page 77: Web Extensions V1200 Programming Guide En

58 May 2008

Software requirements Components and system requirements

Page 78: Web Extensions V1200 Programming Guide En

May 2008 59

Designing the user interface

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

Designing the user interfaceThe user interface has to be designed according to ergonomic and functional aspects:

Only the active functions are shown on the input forms.

The basic layout must have the maximum contrast between the background and the fields.

Colours are used to illustrate related issues.

The structure of the user interface follows the arrangement of operating elements, i.e. function keys and selection buttons.

The aim of this uniform structure is to ensure reliable operation for customers. Institution-specific requirements can be implemented at any time.

There are the following advantages for the institution:

The number of customers can be increased as the user interface meets wide acceptance.

The principles of the institutions, such as customer intimacy and friend-liness, are reflected in the ease of use of the user interface.

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

Page 79: Web Extensions V1200 Programming Guide En

60 May 2008

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.

Page 80: Web Extensions V1200 Programming Guide En

May 2008 61

Designing the user interface Standard elements of the user interface

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

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. Otherwisethe images would be adjusted automatically, which can result in ugly colour changes. However, you must also bear in mind that very finely structured images can be generated with a high colour depth but that these may take a long time to load because of their size. It is a good idea to choose a middle course.

The images of the standard ProTopas/Web-Extensions user interface have been created for a resolution of 600 x 800 pixels.

The images for the controls must be in Windows bitmap format with 24 bit colourdepth or Portable Network Graphics (png) format with 24 bit colourdepth because they cannot be displayed otherwise. This restriction does not apply to images that are loaded directly into the browser.

Since Version 1.1/37 it is possible to have floating transparencies in PNG Graphics. In former versions it was only possible to have one color for transparencies, so floating was not possibe.

Standard elements of the user interface

Formats of images

Images affecting the background or content of an Internet page can be stored in the formats that the browser can display. As far as the Microsoft Internet Explorer is concerned, these are primarily the GIF, JPEG and BMP formats. The images can be generated with standard graphics programs.

Images for controls

Images that are displayed in the controls may have two formats:

Windows BMP format with up to 24-bit colour depth

Portable Network Graphics PNG with 24-bit colour depth

Page 81: Web Extensions V1200 Programming Guide En

62 May 2008

Standard elements of the user interface Designing the user interface

PNG format for graphics for the controls is available since version 1.1 from the ProTopas/Web-Extensions. PNG Graphics support a transparent background colour. That means, it is possible to create round controls by giving the corners of the control image a colour, which has to be specified as transaprent colour before saving the file.

When PNG Graphics with transparent backgrounds are used for the visible Controls, it may happen, that the transparent background is not refreshed properly, so there are portions of the previous page in those areas. That happens, because the controls are loaded asynchronously since Version 5.5 of IE. So the new page has not finished its loading sequence, when the controls try to grab the background for transparency use.

A way to solve this problem is to build a block of all visible controls by use of a <DIV> tag and make those controls invisible by use of an internal style property. Give this <DIV> tag a name DISPLAY_CONTROLS_BLOCK. The contents STD/ATM Control will set the style to visible, when the page is properly initialized. Use the following syntax for the <DIV> tag:

<div id="DISPLAY_CONTROLS_BLOCK" style="VISIBILITY: hidden">

Controls

</div>

Icons: Since it is impossible to specify for BMP images which colour is transparent, the following has been arranged: The top left pixel of the bit map defines the transparent colour. All pixels in the image which have this colour are not displayed. Instead, the background shows through them. By using PNG images a transparent colour may be defined. This is the more easy way to use transparency in icons.

Animations

An easy way of generating animations is to use the animated GIF format. Here, different GIF images of the same size are displayed one after another. The time frame in which the following image is displayed and whether the loop should recommence at the beginning when the animation has finished is defined inthe animated GIF. The Microsoft GIF Animator is an easy-to-use interface for

Page 82: Web Extensions V1200 Programming Guide En

May 2008 63

Designing the user interface Standard elements of the user interface

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

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.

Page 83: Web Extensions V1200 Programming Guide En

64 May 2008

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:

Page 84: Web Extensions V1200 Programming Guide En

May 2008 65

Designing the user interface User interface elements

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

Back

Help

Print

Cancel

Correct

Confirm

Forward

These keys depend upon the contents of the Context frame. This is why it is necessary to parameterize the representation and reference to the Internet page to be loaded on the Context page. A good example is the <Help> function key. If the reference to the Help page to be loaded were parameterized directly for the <Help> function key, the same Help page would be called throughout the application no matter what the Context page contained. Obviously this would not be very helpful.

Function keys therefore have to be parameterized on the Context page. You do this with the aid of the Contents (STD/ATM) control by specifying that represen-tation 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

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.

(Context)

Frame 4

Frame 2

Frame 1 Frame 3

Function

FunctionFunction Function

Page 85: Web Extensions V1200 Programming Guide En

66 May 2008

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 appli-cation 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

(Context)

Frame

4

Frame

2

Frame

1 Frame

3

S Se el le ec ct ti io on n

S Se el le ec ct ti io on n

S Se el le ec ct ti io on n

S Se el le ec ct ti io on n

Page 86: Web Extensions V1200 Programming Guide En

May 2008 67

Designing the user interface User interface elements

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

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

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 imple-mented in the Edit control.

(Context)

Frame

4

Frame

2

Frame

1 Frame

3

MM ee nn uu

MM ee nn uu

MM ee nn uu

MM ee nn uu

Page 87: Web Extensions V1200 Programming Guide En

68 May 2008

User interface elements Designing the user interface

With the aid of the PCEdit control it is possible to start an input check immedi-ately after the input has been confirmed. This gives customers immediate feedback on their inputs. The message for the customer can be output via a second Internet page which is overlaid over the currently loaded Internet page. When the second Internet page is closed, the cursor is placed again in the input field which was active before the second Internet page was loaded. You can also define whether the cursor is placed before or after the input.

Input sequence

To guide customers through the input fields, customers must be compelled to confirm every field. Only then is the content checked and accepted. The <Tab> button is available so that customers can exit a field without an input check after a correction message. The same behavior can be achieved by directly selecting a button on the touchscreen. The field that is exited in this way is not checked.

The checks that have been omitted are carried out when the confirmation key or button is pressed in any input field. In this case, the input field that has just been confirmed is checked first. Then the cursor goes to the unchecked input field which has the lowest sequence number and has not been confirmed, or which contains errors. It is not possible to load the next Internet page until all fields have been confirmed.

List boxes

List boxes behave in a similar way to input fields. When a list box is activated, the customer is prompted to select one of the items in a list. A list is presented as an Internet page whose size and position can be freely defined. Accordingly, you can choose a layout which adapts to the presentation of list boxes under Windows or one which relates to the list box but otherwise adapts to the layout of the self-service application.

The selected item is inserted in the list box. List boxes can be integrated in the input sequence of input fields. You do this by specifying the sequence number within the range that is used for input fields. Otherwise, visual design options are the same as for input fields.

Page 88: Web Extensions V1200 Programming Guide En

May 2008 69

Designing the user interface User interface elements

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

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

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

(Context)

Frame 4

Frame 2

Frame 1 Frame 3

Page 89: Web Extensions V1200 Programming Guide En

70 May 2008

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 loadedin the header frame. Our example shows a table column to which theHeaderIcon ID has been assigned.

<td>

<img id="HeaderIcon" src="../Images/Icon/Icon_is.gif">

</td>

Icons placed on controls must use the same colour palette as the currently loaded image the controls are using. If the colour palette is different, the icon may not be visible.

Page 90: Web Extensions V1200 Programming Guide En

May 2008 71

Designing the user interface Arrangement of the screen interface

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

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

Page 91: Web Extensions V1200 Programming Guide En

72 May 2008

Arrangement of the screen interface Designing the user interface

Fig. 14: Arrangement of the screen in frames

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 appli-cation. 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 differ-ently 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).

(Context)

Frame 4

Frame 2

Frame 1 Frame 3

Page 92: Web Extensions V1200 Programming Guide En

May 2008 73

Designing the user interface Arrangement of the screen interface

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

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.

Page 93: Web Extensions V1200 Programming Guide En

74 May 2008

Arrangement of the screen interface Designing the user interface

The following line acts as a reference to a style sheet file in the header of an Internet page.

<link rel="styleSheet" href="../StyleSheet/UEInput.css" type="Text/css" media="Screen">

The style sheet file has the following contents:

#F1 {position:absolute;top: 14%;right: 5.0%;width: auto;height: auto;}

#F2 {position:absolute;top: 36%;left: 5.0%;width: auto;height: auto;}

#F3 {position:absolute;top: 36%;right: 5.0%;width: auto;height: auto;}

#F4 {position:absolute;top: 50%;right: 5.0%;width: auto;height: auto;}

In this example, IDs F1 to F4 have been assigned to an absolute position. The IDs have to be assigned to the graphical elements on the Internet page. When the page is loaded, the elements are automatically placed at the position that is specified for the corresponding ID in the style sheet file.

Page 94: Web Extensions V1200 Programming Guide En

May 2008 75

Designing the user interface Arrangement of the screen interface

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu

\Bo

ok\G

esta

ltung

Ku

nde

nin

terf

ace.

fm

Fig. 15: Controls based on a style sheet

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

(Context)

Frame 4

Frame 2

Frame 1 Frame 3

F1

F2 F3

F4

F5

F6

Page 95: Web Extensions V1200 Programming Guide En

76 May 2008

Arrangement of the screen interface Designing the user interface

Page 96: Web Extensions V1200 Programming Guide En

May 2008 77

Controls

ControlsThe 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 imple-mented 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:

Button control Buttons of various kinds

Edit control Input fields (text boxes)

List control Input fields with a list function (list boxes)

EPP control Old Input fields for PINs, please use EditControl with EPP functionality today.

Contents ATM control Master to synchronize the controls mentioned above and the connector to the application.Only used at Web-Exten-sions/ClassicLink.

Contents STD control Master to synchronize the controls mentioned above and to access the appli-cation. Only used at Web-Exten-sions/HyperLink

ActiveStep control Communication control between the Contents STD control and the application. Only used at Web-Extensions/HyperLink.

Active DataDictionary Control 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).

Page 97: Web Extensions V1200 Programming Guide En

78 May 2008

Aspects common to all controls Controls

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

ActivePTSniff Control This Control is used for scripting only. It is useful for receiving ProTopas Events in HTML pages (see also section ’Active-PTSniff Control’ on page 491).

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 ’ActiveReg-istry Control’ on page 491).

WXPTBridge Control This control gives access to all ProTopas Frameworks. It must be used in the Virtual Keyboard instance, when it is used as Marketing window for the access to the EPP Framework. However it may be used to access all other frameworks as well (see also section ’WXPTBridge’ on page 385).

Aspects common to all controls

Graphics resolution

The Button, Edit, List and EPP control has a visible user interface (see "User interface elements" on page 64). One or more images can be loaded for the different states of a control by means of parameterization.

The images that are to be loaded must be in Windows bitmap format or Portable Network Graphic (png) format both with up to 24 bit colours depth since they cannot be displayed otherwise. Images that are to be loaded directly into the browser may also be in JPEG or GIF format with any number of colours.

Page 98: Web Extensions V1200 Programming Guide En

May 2008 79

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:

A button can be hidden: In this case, the control is transparent and assumes the colour of the background.

A button can be up: In this case the button can be selected, and the image that has been specified for this state is loaded. A button is this state can be pressed by the customer to initiate the action that has been defined.

A button can be pressed: In this case the button has been selected, and the image that has been specified for this state is loaded. The pressed state can only be shown for buttons which are used to select several buttons simulta-neously without opening another page (Windows check box). The Toggle lock option must be set to yes for this type of button (see "Button control - General 1 page" on page 83). Reselecting a button changes its state back to up.

A button can be disabled: In this case the button cannot be selected, and the image that has been defined for this state is loaded. The button cannot be pressed. The image that is stored for this must be designed in such a way that the customer can recognize that the function is not available.

A button can be down, i.e. have been pressed briefly: The image that has been specified for this state is loaded. This state occurs when an up button has been selected, and is a visible response for the customer. The customer can see that the button has just been pressed. Directly after the down state the button returns to the up state. The time for which the button stays in the down state can be defined by the AnimationTimer parameter (see "Anima-tionTimer" 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.

Page 99: Web Extensions V1200 Programming Guide En

80 May 2008

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 self-service user interface with the aid of this control. The button can have a multi-line 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.

Page 100: Web Extensions V1200 Programming Guide En

May 2008 81

Controls The Button control

Button control - General 1 page

Fig. 16: Button control - General 1 page

Button: The type of button is defined with these radio buttons. The appearance of the General 2 page depends on what is selected here.

Menu button: This button type is only available at connection of Internet pages. A menu button is used to call a menu of business transactions. This type of button differs from a selection button in that it is possible to define for each function whether customers have to identify themselves with a card and PIN, or whether no authorization at all is required (see "Menu buttons" on page 67).This radio button will not be selectable, if the parameter ButtonInstallation (see "ButtonInstallation" on page 652 in the Parameters chapter) is set to 1.

Fig. 17: Menu button to call more information

Page 101: Web Extensions V1200 Programming Guide En

82 May 2008

The Button control Controls

Function key: Function keys are buttons with a special meaning such as Cancel, Correct or Confirm. All such keys can be placed in an HTML frame of their own are listed here (see also ’Function keys’ on page 64). This frame remains in the same position throughout the application. The function keys can be made visible or hidden from the active HTML frame.

The destination Internet page when a key is pressed is also controlled from the active HTML frame. For this reason, no Internet page can be specified on the General 2 page as far as function keys are concerned.

Fig. 18: Help function key

Selection button: A selection button is any button in the active frame.

Pressing such a button can either return a response to the calling Transaction FW class or take the customer directly to a new page in special situations, e.g. if a new window is to be closed (see also ’Selection buttons’ on page 66).

Pressing such a button takes the customer directly to a new page (see also ’Selection buttons’ on page 66).

Fig. 19: Selection button for an amount in DM

Radio button: Radio buttons always appear in groups of at least two. One of these radio buttons must be in the pressed state. If another radio button in this group is selected, the previously active one returns to the up state. If no radio button is defined as having the pressed state when the group is created, the Contents (STD/ATM) control (see "The Contents ATM control" on page 198) ensures that the radio button with the lowest field ID (see "Button control - General 2 page for function keys" on page 86) is automatically placed in the pressed state.

Fig. 20: Radio buttons to select DEM or EUR

Page 102: Web Extensions V1200 Programming Guide En

May 2008 83

Controls The Button control

Toggle: This group defines whether a button is a Windows check box. With this option it is possible, for example, to implement a button indicating that a customer card has been input. The button has the pressed state when no card is in the device. Once a card has been inserted, a Transaction FW class will set the button to up by setting the appropriate Viewstate variable and loading the same page again. The card is ejected when the customer presses this button. When this button is created, Toggle must be set to yes.

no: This – the standard setting – determines that the button functions as required.

When the button is pressed, the return code is sent to the application.

When the button is pressed, a Transaction FW class is called or an Internet page is opened, depending on the settings on the General 2 page (see "Button control - General 2 page for selection buttons" on page 91).

yes: If this setting is selected, a Button control is treated like a Windows check box, i.e. when the button is selected it gets the pressed state, and the value of the button is entered in the VAR_DLG_INPUT_RESULT_S variable.

The return code is sent to the application. It can call the same Internet page with a changed Viewstate pressed for this button.

The call of a Transaction FW class should be parameterized for a toggle button (see "Button control - General 2 page for selection buttons" on page 91). This class can buffer the value of the button and send a return code for which no Internet page has been specified. The page that has been loaded is retained. Several toggle buttons can be queried in this way.

default: If default is selected, the content of the HoldPressedState parameter is evaluated at runtime (see also ’HoldPressedState’ on page 656). This parameter may contain 0 for no or 1 for yes.

Page 103: Web Extensions V1200 Programming Guide En

84 May 2008

The Button control Controls

State: The state of a button upon loading of an Internet page is configured here. The various states can, however, be overwritten by the settings of variables in the application (see "Hiding controls with Viewstate variables" on page 274).

Button up: When the page is loaded, the button shows the image that is defined in the Button up parameter on the Graphic page (see "Button control - Graphic page" on page 105). In this state, the button can be pressed by the customer.

Button pressed: When the page is loaded, the button shows the image that is defined in the Button pressed parameter on the Graphic page (see "Button control - Graphic page" on page 105). In this state, too, the button can be pressed by the customer. Pressing it changes its state to up. It is only possible to load the button with this image when the Toggle lock parameter has been set to yes.

Button disabled: When the page is loaded, the button shows the image that is defined in the Button disabled parameter on the Graphic page (see "Button control - Graphic page" on page 105). In this state, the button cannot be pressed by the customer.

Button hidden: The button does exist on the page but it is not visible in this state.

Shift in pixels: This input field is used to specify the number of pixels by which the caption and icon are shifted to the right and down when the button is selected in order to give the optical impression of a pressed button. The number of pixels depends on the design of the button images. If the optical impression is conveyed that the button protrudes about 3 pixels, then 3 has to be input here.

default: If this check box is activated, the value of the shift in pixels is read from the PressOffset parameter at runtime (see also ’PressOffset’ on page 653). By changing this parameter it is therefore possible to give a different appearance in one action to all buttons whose shift in pixels has been set to default.

Page 104: Web Extensions V1200 Programming Guide En

May 2008 85

Controls The Button control

Button control - General 2 page for function keys

The appearance of the General 2 page depends on the type of button. If the button is created as a function key, the page looks like this:

Fig. 21: Button control - General 2 page for function keys

Functionkey: All function keys that have been created for this application are displayed in a drop-down list box. The designer can select the required one.

The content of the list box shown here is read from the Registry under Function-Key. All keys beneath that are displayed in the drop-down list box.

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

PCButtonFunction-Key

Cancel...

Value: This field is only used to output the value of the selected button. The value is read from the Value parameter under the corresponding key in the Registry. Some of these values have a special meaning (see "Function keys with a fixed meaning" on page 87). The value cannot be changed on the

Page 105: Web Extensions V1200 Programming Guide En

86 May 2008

The Button control Controls

page. It can be queried in the application if this button is pressed. The other parameter – ID – under the same key serves to number the function keys uniquely. It must be assigned in ascending order without any gaps.

When the button has been pressed, the value is stored in the VAR_DLG_INPUT_RESULT_S variable, and can be read from there by the application.

Field ID: A unique number has to be assigned for this Internet page here. When working with framesets, you must also ensure that all pages which are loaded at the same time only contain buttons with unique field IDs.

It is therefore important to use an appropriate range of values for the controls per frame. This will ensure that buttons with the same field ID will not be loaded at the same time. An error is written to the error log, if identical field IDs are loaded at the same time.

Value 0 is reserved for Buttons, which shall not be supervised by the Contents STD/ATM Control, but be used in a script (see also section ’Scripting a Control’ on page 493).

Softkey: The name of the softkey next to the screen for which this button is being defined is specified in this list box. This applies to systems which do not have a touchscreen but do have softkeys next to the screen. The buttons have the following positions:

Fig. 22: Positions of the softkeys

Help Print Cancel Correct Confirm

F1

F2

F3

F4F5

F6

F7

F8

Page 106: Web Extensions V1200 Programming Guide En

May 2008 87

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/

CancelValue = CANCELID = 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.

Page 107: Web Extensions V1200 Programming Guide En

88 May 2008

The Button control Controls

The second parameter – ID – is used by the Contents (STD/ATM) control to address the button later. The numeric value that is input here can range from 1 to 20. All function keys should be numbered consecutively in ascending order. There is no connection between the Value and the ID.

Values with a fixed meaning are as follows:

CONFIRM: When an input field becomes active, the button switches to Confirm mode. The defined input check is performed when the button with this value is pressed.

The specified value is only returned to the application if the check is positive for all inputs or if there was no input field on the page.

The specified Internet page is only opened if the check is positive for all inputs or if there was no input field on the page.

CONFIRMALL: This value may be used for a special input handling. The customer may fill all edit fields by using the touch screen or the <Tab>, <Cursor up> or <Cursor down> key. After pressing this button all checks of all input fields will be started. When everything is okay, the Web Graphical Service will navigate to the page configured in this key (see also section ’Special input confirmation handling’ on page 418).

Do not use this in Web-Extensions/ClassicLink.

The specified Internet page is only opened if all checks are positive for all inputs.

CORRECT: When an input field becomes active, the button switches to Correct mode. The character to the left of the caret is deleted when the button with this value is pressed. Any Internet page that may have been specified is irrelevant here. The function key with this value is hidden when no input field is active.

Page 108: Web Extensions V1200 Programming Guide En

May 2008 89

Controls The Button control

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

HELP: As far as pages without input fields are concerned, the application opens the Internet page specified on the Function key page for the HELP value (see also ’Contents ATM control - Function key page’ on page 206). If an input field is active, pressing this button opens the Internet page specified under Help on the General 2 page (see "Edit control - General 2 page" on page 126).

SURFING_BACK: A function key with this value can only be used in a frame for free navigation on intranet pages (see also ’The navigation button bar’ on page 450). The button then has the same meaning as the <Back> button in a standard browser.

SURFING_FORWARD: A function key with this value can only be used in a frame for free navigation on intranet pages (see also ’The navigation button bar’ on page 450). The button then has the same meaning as the <Forward> button in a standard browser.

SURFING_CANCEL: A function key with this value can only be used in a frame for free navigation on intranet pages (see also ’The navigation button bar’ on page 450). The button then has the same meaning as the <Stop> button in a standard browser. Pressing this button makes the application continue with the Internet page specified in the StartPage parameter (see "StartPage" on page 615 in the Parameters chapter).

SURFING_UP: A function key with this value can only be used in a frame for free navigation on intranet pages (see also ’The navigation button bar’ on page 450). The button is used for scrolling the page up.

SURFING_DOWN: A function key with this value can only be used in a frame for free navigation on intranet pages (see also ’The navigation button bar’ on page 450). The button is used for scrolling the page down.

Page 109: Web Extensions V1200 Programming Guide En

90 May 2008

The Button control Controls

SURFING_LEFT: A function key with this value can only be used in a frame for free navigation on intranet pages (see also ’The navigation button bar’ on page 450). The button is used for scrolling the page to the left.

SURFING_RIGHT: A function key with this value can only be used in a frame for free navigation on intranet pages (see also ’The navigation button bar’ on page 450). The button is used for scrolling the page to the right.

Page 110: Web Extensions V1200 Programming Guide En

May 2008 91

Controls The Button control

Button control - General 2 page for selection buttons

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

Fig. 23: Button control - General 2 page for selection buttons

Selection button: All buttons that have been created for this application are displayed in a drop-down list box. These buttons can be placed on the current Internet page. The designer can select the required one.

The content of the list box shown here is read from the Registry under the Selection key. All keys beneath that are displayed in the drop-down list box.

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

PCButtonSelection

German...

Value: See page 85.

Field ID: See page 86.

Softkey: See page 86.

Page 111: Web Extensions V1200 Programming Guide En

92 May 2008

The Button control Controls

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.

Step after button:

If this radio button is selected, the return code is sent immediately to the application when the button is pressed. This is the commonly used version of the selection button. The Input field for Internet page, In new window check box and Coordinates button are hidden in this case.

If this radio button is selected, a Transaction FW class is called when the button is pressed. The name of the class is specified in the Contents STD control because only one Transaction FW class can ever run on an Internet page (see "Contents STD control - Step After page" on page 246 in the Parameters chapter). The name of the Internet page to be opened upon completion of the class is also specified in the Contents STD control. The Input field for Internet page, In new window check box and Coordinates button are hidden in this case.

HTML page: If this radio button is selected, you have to specify the name of the Internet page to be opened in the Input field for HTML when the button is pressed.

This option must only be used if an Internet page in a new window is to be closed.

Input field for HTML page: The name of the Internet page to be opened when the button is pressed is specified here.

Page 112: Web Extensions V1200 Programming Guide En

May 2008 93

Controls The Button control

The navigation is normally done by direct entering a HTML page name, or including a relative path to other directories of the same web. If an external page shall be loaded, the protocol (f.e http://) has to be added. To navigate in the top or parent window there are two keywords, which may be used:

– WN_TFN_PARENT: Navigate in the parent window.

– WN_TFN_TOP: Navigate in the topmost window, which mostly means get rid of the frameset, if there was one.

in new window check box: This check box has to be activated if the new Internet page is not to replace the currently active one but overlay it like a popup window. A new browser instance is loaded which can handle any sequence of Internet pages. This new browser instance is closed when an Internet page named CLOSE.HTM is called. The Web Graphical Service closes the new instance on its own (see "Closing a new browser instance" on page 271).

The application must not incorporate an Internet page named CLOSE.HTM at any point as this name is reserved for closing a new browser instance.

Coordinates button: This button can only be selected when the In new window check box has been activated. When this button is pressed, the following dialog opens in which the coordinates for the new window can be specified:

Fig. 24: Input of coordinates for the new window

Page 113: Web Extensions V1200 Programming Guide En

94 May 2008

The Button control Controls

X pos: The X position of the new window is specified in pixels in this input field. The origin is the top left corner of the screen. The distance from the left edge is specified here.

It is eigher possible to enter a value in pixels 0 - 9999 or in percentage 0.00% - 100.00% (with two post comma digits and a closing %-sign). Same is possible with the other properties in this property page.

If a percentage value should be set in the registry parameters, because the default check box is on, 10000 has to be added to the value in pixels. Do not forget the post comma digits. 105% is 10500.

Y pos: The Y position of the new window is specified in pixels or percentage in this input field. The origin is the top left corner of the screen. The distance from the top edge is specified here.

Width: The width of the new window is entered in pixels or percentage here.

Height: The width of the new window is entered in pixels or percentage here.

Button control - General 2 page for menu buttons

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

Page 114: Web Extensions V1200 Programming Guide En

May 2008 95

Controls The Button control

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

Menu button: All buttons that have been created for this application are displayed in a drop-down list box. These buttons can be placed on the current Internet page. The designer can select the required one.

The content of the list box shown here is read from the Registry under the Transaction key. All keys beneath that are displayed in the drop-down list box.

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

PCButtonTransaction

Remittance...

Value: See page 85.

Field ID: See page 86.

Softkey: See page 86.

Selection: See page 92.

Input field for Internet page: See page 92.

In new window check box: See page 93.

Page 115: Web Extensions V1200 Programming Guide En

96 May 2008

The Button control Controls

Coordinates button: See page 93.

Identification: Here you can define how customers have to identify themselves for the selected function:

with chipcard: As this is a check box, this option can be selected independently of the others in this area. If this check box is activated, then the chip is contacted when the card is inserted and the data is read. Authorization is based either on the card only or on the card and the PIN, depending on the setting for the following radio buttons. In other words, a PIN check via the chip in the card can be enabled at this point.

without identification: Customers do not need access authorization for this function.

with card: Customers have to identify themselves either with an ec card or with a chipcard.

with card + PIN: Customers have to insert an ec card or chip card, and input a PIN. If the with chipcard check box has been activated, the PIN is checked via the chip.

Mandatory with card + PIN: Customers have to insert an ec card or chip card, and input a PIN. If the with chipcard check box has been activated, the PIN is checked via the chip. Even if customers have identified themselves with a card and PIN, the PIN is requested again when they select the function in question.

default: The value is read from the Identification parameter at runtime (see "Identification" on page 656 in the Parameters chapter). Here, too, it is possible to define whether the customer ought to be identified via a card or a card plus PIN, or whether a card plus PIN are mandatory.

Page 116: Web Extensions V1200 Programming Guide En

May 2008 97

Controls The Button control

Button control - General 2 page for radio buttons

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

Fig. 26: Button control - General 2 page for radio buttons

Radio button field: All groups of radio buttons that have been created for this application are displayed in a drop-down list box. A radio button is used when just one of a set of options can be selected. If another radio button is selected, the previous one is automatically returned to the up state.

The content of the list box shown here is read from the Registry under the Radiobutton key. All keys beneath that are displayed in the drop-down list box.

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

PCButtonRadiobutton

Currency selection...

Value: See page 85.

Field ID: See page 86.

Page 117: Web Extensions V1200 Programming Guide En

98 May 2008

The Button control Controls

Softkey: See page 86.

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/

PCButtonRadiobutton

Currency selectionDEM

...

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

Page 118: Web Extensions V1200 Programming Guide En

May 2008 99

Controls The Button control

Scheme Listbox: A scheme of a control can be compared to a scheme of the windows desktop, where all styles and colours of the windows can be configured and this configuration can be stored under a certain name. For the controls it is similar to configure all visible values under a certain key in the registry. The Key is located at

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

PCButtonGeneral

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 param-eters for a scheme. This file may be used to add additional schemes in the registry. The parameters will be added to the registry by calling

CCRCCONV ActiveX.sdf -b -U

(see also section ’Parameters for Schemes’ on page 672)

Using schemes the text properties with prefix TextLayer... are set and used. The properties Text... are not used here. If in scripts for example the property Button.Text is changed the layout from the Scheme is not used but the properties from Text... . It is better to use the Property Button.TextLayerText in script here.

Sound Response: This property may be used to select between a Wave file to be started, when this button is pressed or a sound from the special electronics. The sound may be started synchronous or asynchronous. In the synchronous mode, the next page will be loaded, when the sound has finished. In asynchronous mode the next page is immediately loaded and the sound continues until it is finished or it is explixit stopped by script or by an explicit key press (available for Wave files only).

At the Listbox it is possible to select between the following options:

Page 119: Web Extensions V1200 Programming Guide En

100 May 2008

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.

... 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 "AudioRe-sponse" on page 651 in the Parameters chapter) is used.

The output field displays a string, which is build in the same manner, as the AudioResponse parameter is filled.

Page 120: Web Extensions V1200 Programming Guide En

May 2008 101

Controls The Button control

Button control - Caption page

The Caption page is used to define the caption that is to appear on the button. The character format can be set in a font dialog.

Fig. 28: Button control - Caption page

Text layer Listbox: It is possible to create different captions on top of the others. So one text can be left justified and the other right justified. Or one line can appear red and the other blue, etc. To enable this , for each of the different formatted texts one layer has to be created. With this listbox, the layer is selected, which shall be edited and formatted.

Add button: To add a new layer this button has to be pressed once. The number of layers to be created is not restriced.

Remove button: If more than one layer has been created with this button the actual layer may be removed. All the following layer numbers are substracted by 1 in this case.

Caption Input field: The caption to appear on the button is entered in this text box. Multiple lines can be input here. <Ctrl> and <Enter> have to be pressed simultaneously to get to a new line. Variable names can also be edited here, and these are then replaced by the HTML generator (see also ’Inserting a variable in a control’ on page 288).

Page 121: Web Extensions V1200 Programming Guide En

102 May 2008

The Button control Controls

colour active: Three fields define the colour setting for the caption on an active button.

default check box: If this check box is activated, the colour of the caption on an active button is read from the TextColour parameter at runtime (see "TextColour" on page 653 in the Parameters chapter). The ... button (standard colour dialog) and the input field for the colour cannot be selected, if this check box is activated. The value to be stored in TextColour can be ascertained by calling the standard colour dialog here once and selecting a colour. The colour is then output as a numeric value in the input field for the colour and can be read there.

Input field for the colour: A numeric value can be input here to define a colour. However it is better to use the standard colour dialog to select a colour. The value for the selected colour is then entered here automati-cally.

Selecting the Font button causes the text colour defined there to be entered in this field. Any font colour that had been defined beforehand in the standard colour dialog is overwritten by this one. It is better to select the font first and then the colour if a special colour outside the 16 basic colours is required.

... button (standard colour dialog): Pressing this button opens the following standard colour dialog. Refer to the Windows NT Online Help for a description of the options in this dialog. This dialog can also be called when selecting colours for the Windows NT Desktop.

Page 122: Web Extensions V1200 Programming Guide En

May 2008 103

Controls The Button control

Fig. 29: Standard colour dialog

colour inactive: The same three fields are used to define the colour of a caption on an inactive (disabled) button as for an active button. If the default check box is activated, the colour is read from the TextColourDisabled parameter at runtime (see "TextColourDisabled" on page 654 in the Param-eters chapter).

The following fields define the position of the button caption:

X pos: The X position of the caption is specified in pixels in this input field. The origin is the top left corner of the loaded image. The distance from the left edge is specified here.

centered, Left, Right radio buttons: Depending on the selected radio button the caption is eighter horizontally left or right justified or horizon-tally 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 horizon-tally centered.

Y pos: The Y position of the caption is specified in pixels in this input field. The origin is the top left corner of the loaded image. The distance from the top edge is specified here.

Page 123: Web Extensions V1200 Programming Guide En

104 May 2008

The Button control Controls

centered check box: If this check box is activated, the caption is centered vertically. The Y pos input field cannot be selected if this check box is activated.

default check box: If this check box is activated, the position settingsfor the caption are read from the following parameters at runtime:TextAlignX corresponding to X pos(see "TextAlignX" on page 654 in the Parameters chapter)TextAlignY corresponding to Y pos(see "TextAlignY" on page 654 in the Parameters chapter)TextCenterX corresponding to centered for X pos(see "TextCenterX" on page 654 in the Parameters chapter)TextCenterY corresponding to centered for Y pos(see "TextCenterY" on page 655 in the Parameters chapter)

Font button: The font size is defined by opening the standard font dialog. This is only available if the default check box has not been activated. The standard font dialog looks like this:

Fig. 30: Standard font dialog

Refer to the Windows NT Online Help for a description of the options in this dialog. This dialog is used, for instance, in the Notepad editor to define the font.

Page 124: Web Extensions V1200 Programming Guide En

May 2008 105

Controls The Button control

default check box: If the default check box is activated, the Font button cannot be selected. In this case, the font and the font settings are read from the following parameters at runtime:TextFont corresponding to Font(see "TextFont" on page 653 in the Parameters chapter)TextSize corresponding to Size(see "TextSize" on page 653 in the Parameters chapter)TextBold corresponding to Bold(see "TextBold" on page 655 in the Parameters chapter)TextItalic corresponding to Italic(see "TextItalic" on page 655 in the Parameters chapter)TextStrikeout corresponding to Strikeout(see "TextStrikeout" on page 669 in the Parameters chapter)TextUnderline corresponding to Underline(see "TextUnderline" on page 655 in the Parameters chapter)

Button control - Graphic page

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

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

Page 125: Web Extensions V1200 Programming Guide En

106 May 2008

The Button control Controls

... button: This button calls a standard file opening dialog which is not explained here. The designer can select the required image. The name of the image and the complete path are entered in the Button up input field.

Use relative paths:To move complete Webs without conversion it is far better to use relative paths for images. The images could, for example, be stored in a subdirectory which is accessed relatively by means of .\Images\.... Accordingly, when an image name has been defined in the Button up input field, the path has to be changed from absolute to relative. The Button control itself cannot enter a relative path because it is unclear where the relative base address begins.

Displaying images at the editing workstation:Generally the images will be stored at the same place as the Internet pages, i.e. on an intranet server. To make the control images visible in Microsoft FrontPage, however, they have to be made accessible locally or on a network. The FrontPageImagePath parameter (see "FrontPageImagePath" on page 635 in the Parameters chapter) has to be set to the appropriate path on the development system. Unfor-tunately this has to be done because there is no way in the current Microsoft programming environment of loading images that are to appear in controls over the Internet.

Button up input field: The name and path of the image file can be entered manually here if they are known.

default: check box: The image file name cannot be input if this check box is activated. Instead, the image is read from the ImageUp parameter (see "ImageUp" on page 652 in the Parameters chapter). By changing this parameter it is therefore possible to give a different appearance in one go to all buttons that have been set to default.

Button down: The image that describes the button in its down state is entered here. When the button is pressed, the image changes from Button up to Button down and back to Button up.

The ... button, the Button down input field and the default check box are identical to the equivalent options for Button up. The parameter that is evaluated for the image when the default check box is activated is named ImageDown (see "ImageDown" on page 652 in the Parameters chapter).

Page 126: Web Extensions V1200 Programming Guide En

May 2008 107

Controls The Button control

Button disabled: The image that describes the button in its disabled state is entered here. This image is only displayed if the State group of radio buttons on the General 1 page has been set to Button disabled. A Transaction FW class can also disable a button.

The ... button, the Button disabled input field and the default check box are identical to the equivalent options for Button up. The parameter that is evaluated for the image when the default check box is activated is named ImageDisabled (see "ImageDisabled" on page 653 in the Parameters chapter).

Button pressed: The image that describes the button in its pressed state is entered here. This image is only displayed if Toggle lock on the General 1 page has been set to yes and the button is pressed. Pressing the button again brings back the image for Button up.

The ... button, the Button pressed input field and the default check box are identical to the equivalent options for Button up. The parameter that is evaluated for the image when the default check box is activated is named ImagePressed (see "ImagePressed" on page 653 in the Param-eters chapter).

Button control - Icon page

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

Page 127: Web Extensions V1200 Programming Guide En

108 May 2008

The Button control Controls

Fig. 32: Button control - Icon page

Icon for the active button (up/down/pressed): A coloured image that is to appear on the button can be specified here.

...: button: This button calls a standard file opening dialog which is not explained here. The designer can select the required image. The name of the image and the complete path are entered in the Icon for the active button input field.

To move complete Webs without conversion it is far better to use relative paths for images. The images could, for example, be stored in a subdirectory which is accessed relatively by means of .\Images\.... Accordingly, when an image name has been defined in the Icon for the active button input field, the path has to be changed from absolute to relative. The Button control itself cannot enter a relative path because it is unclear where the relative base address begins.

Icon for the active button input field: The name and path of the image file can be entered manually here if they are known.

Icon for the disabled button: A grayed image can be entered for an icon here. This image is only displayed if the State group of radio buttons on the General 1 page has been set to disabled or if the application has disabled the button.

Page 128: Web Extensions V1200 Programming Guide En

May 2008 109

Controls Button Control - Property Listing

The ... button and the Icon for the disabled button input field areidentical to the equivalent options for Icon for the active button (up/down/pressed).

X position: The X position of the icon is specified in pixels in this input field. The origin is the top left corner of the button image. The distance from the left edge is specified here.

centered check box: If this check box is activated, the icon is centered horizontally. The X position input field cannot be selected if this check box is activated.

Y position: The Y position of the icon is specified in pixels in this input field. The origin is the top left corner of the button image. The distance from the top edge is specified here.

centered check box: If this check box is activated, the icon is centered vertically. The Y position input field cannot be selected if this check box is activated.

Button Control - Property Listing

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

Table 1: HTML properties of Button Control

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

Page 129: Web Extensions V1200 Programming Guide En

110 May 2008

Button Control - Property Listing Controls

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 graphic1 (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 graphic1 (default): Use default graphic from registry

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

Property Range Meaning/Reference

Page 130: Web Extensions V1200 Programming Guide En

May 2008 111

Controls Button Control - Property Listing

ImageDownDefault 0: do not use default graphic1 (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 graphic1 (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 centered1 (default): Icon centered

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

IconYCentered 0: Icon not centered1 (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)

Property Range Meaning/Reference

Page 131: Web Extensions V1200 Programming Guide En

112 May 2008

Button Control - Property Listing Controls

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 up1: Button pressed2: Button disabled3: 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 use1 (default): Functionkey2: Selection Button3: Radio Button

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

Property Range Meaning/Reference

Page 132: Web Extensions V1200 Programming Guide En

May 2008 113

Controls Button Control - Property Listing

HTMLStepSwitch 0 (default): Step after Button1: 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

Property Range Meaning/Reference

Page 133: Web Extensions V1200 Programming Guide En

114 May 2008

Button Control - Property Listing Controls

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: no1: yes2 (default): default

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

PressOffsetDefault 0: Do not read from registry1 (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)

Property Range Meaning/Reference

Page 134: Web Extensions V1200 Programming Guide En

May 2008 115

Controls Button Control - Property Listing

HtmlWindow 0 (default): not in a new window1: 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest percentage value = 100% ' 20000

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

Property Range Meaning/Reference

Page 135: Web Extensions V1200 Programming Guide En

116 May 2008

Button Control - Property Listing Controls

HTMLHeight Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 control1 (default): read x,y position from registry

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

TextAlignX -32788 - 32787Default: 0

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

TextAlignY -32788 - 32787Default: 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: left1 (default): center2: right

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

Property Range Meaning/Reference

Page 136: Web Extensions V1200 Programming Guide En

May 2008 117

Controls Button Control - Property Listing

YCentered 0: use TextAlignY1 (default): centered

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

FontDefault 0: Use Font properties1 (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: regular1 (default): Bold

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

TextItalic 0 (default): Regular1: Italic

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

Property Range Meaning/Reference

Page 137: Web Extensions V1200 Programming Guide En

118 May 2008

Button Control - Property Listing Controls

TextUnderline 0 (default): Regular1: Underline

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

TextStrikeout 0 (default): Regular1: Strikeout

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

ActiveColourDefault 0: Use TextColour1 (default): Use TextColour from registry

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

InactiveColourDefault 0: Use TextColourDis-abled1 (default): Use TextCo-lourDisabled 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.

Property Range Meaning/Reference

Page 138: Web Extensions V1200 Programming Guide En

May 2008 119

Controls Button Control - Property Listing

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

TextLayerPosXYDe-fault

0: enter x,y position in control1 (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 - 32787Default: 0

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

TextLayerTextAlignY -32788 - 32787Default: 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

TextLayerText-AlignXTyp

0: left1 (default): center2: right3: 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 TextLay-erTextAlignX and TextLayerTextAlignY for shadow offset (see also section ’Shadowing effect of control capture’ on page 195).

Property Range Meaning/Reference

Page 139: Web Extensions V1200 Programming Guide En

120 May 2008

Button Control - Property Listing Controls

TextLayerYCentered 0: use TextLayerText-AlignY1 (default): centered

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

TextLayerFontDefault 0: Use Font properties1 (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)

TextLayerFont-CodePage

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: regular1 (default): Bold

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

TextLayerTextItalic 0 (default): Regular1: Italic

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

Property Range Meaning/Reference

Page 140: Web Extensions V1200 Programming Guide En

May 2008 121

Controls Button Control - Property Listing

TextLayerText-Underline

0 (default): Regular1: Underline

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

TextLayerTextStrikeout 0 (default): Regular1: Strikeout

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

TextLayerActiveColour-Default

0: Use TextLayerText-Colour1 (default): Use TextColour from registry

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

TextLayerInactiveCo-lourDefault

0: Use TextColourDis-abled1 (default): Use TextLayerTextColourD-isabled 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)

TextLayerTextColourD-isabled

0 - 16777215 (default is 8421504)

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

Property Range Meaning/Reference

Page 141: Web Extensions V1200 Programming Guide En

122 May 2008

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.

Page 142: Web Extensions V1200 Programming Guide En

May 2008 123

Controls The Edit control

Fig. 33: Edit control - General 1 page

Function: The function for which the input field has been implemented is selected from this list box. The ProTopas/Web-Extensions concept only allows input fields to be created for those functions which have been stored in the application. Generally, input fields will need to be post-edited or initialized. This can only be done with input fields that are known in the appli-cation.

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_MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionActiveX

PCEdit

Page 143: Web Extensions V1200 Programming Guide En

124 May 2008

The Edit control Controls

TransactionRemittance...

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 drop-down list box.

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

PCEditTransaction

RemittanceCustomer name...

Seq. No.: A unique number ranging from 0 to 999 must be assigned to each Edit control in order to define the sequence of inputs. The Contents (STD/ATM) control ensures that the input focus moves from field to field. An error is written to the error log at runtime if two Edit controls have the same sequence number.

Softkey: The name of the softkey next to the screen to which this input field is going to be assigned is specified in this list box. This applies to systems which do not have a touchscreen but do have softkeys next to the screen. The arrangement of softkeys next to the screen is given in Fig. 22: "Positions of the softkeys". See page 86. It is not possible to configure the numerical EPP Keys 1 - 0 as Softkeys, as it appears in the Button control.

Input timeout: The value that is set here defines when there should be a beep if a customer does not make an input in an input field.

It is possible to select No timer or Default (see "InputTimeoutHalf" on page 664 in the Parameters chapter) in this Combobox additionally.

This value does not define the time after which the timeout return code is sent to the application.

Page 144: Web Extensions V1200 Programming Guide En

May 2008 125

Controls The Edit control

This value does not define the time after which the application returns to the welcome loop with a message.

Check: The items in this area define the parameters for checking the input and allow the Internet page to be specified on which each individual message is output.

The applicable check is linked to the input field via an entry in the Registry:

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

PCEditTransaction

RemittanceCustomer name

CheckRoutine = 1Variable = 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: Alphanumeric check2: Numeric check3: Date check4: Amount check

In our example we are using the Alphanumeric check. In addition, the name of the input variable is stored in the Variable parameter in which the value is stored after the input (see "Input variables" on page 413).

If the standard checks are inadequate, custom checks can be added (see "Input checks" on page 411).

Parameter button: When this button is pressed, additional parameters can be defined specifically for the check. A new dialog page is opened, depending on the inputs (see "Standard input check dialogs" on page 427).

Page 145: Web Extensions V1200 Programming Guide En

126 May 2008

The Edit control Controls

Error: All messages returned by the check routine are displayed in this list box. An Internet page has to be specified to output each message that is returned. These messages are generated in the Dialog function at design time (see "The Dialog() function" on page 423). Up to 10 messages are allowed to be generated per input check.

HTML page: This is where the Internet page for the error message is specified for the message code shown in the Error list box.

in new window check box: This check box has to be activated if the error message needs to be output like a popup window. If so, the size of the popup window has to be specified under Coordinates. See page 93.

Coordinates button: The coordinates that are to be used for displaying the error message as a popup window are specified here. See page 93. The coordinates entered here apply in common to all errors.

Edit control - General 2 page

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

Fig. 34: Edit control - General 2 page

Page 146: Web Extensions V1200 Programming Guide En

May 2008 127

Controls The Edit control

State of inputfield: The state of the input field when the Internet page is loaded is specified here. The various states can, however, be overridden by setting variables in the application (see "Hiding controls with Viewstate variables" on page 274).

up: When the Internet page is loaded, the input field shows the image defined for the Input field up parameter on the Graphic page (see "Edit control - Graphic page" on page 129). In this state, the input field can be selected and thus activated by the customer.

disabled: When the Internet page is loaded, the input field shows the image defined for the Input field disabled parameter on the Graphic page (see "Edit control - Graphic page" on page 129). In this state, the input field cannot be selected by the customer.

hidden: In this state, the input field is on the page but it is hidden out of sight.

Shift in pixels: This input field is used to specify the number of pixels by which the caption and the icon are shifted to the right and down when the input field is selected in order to give the impression of a pressed input field. The number of pixels depends on the design of the images. If the optical impression is conveyed that the input field protrudes about 3 pixels, 3 has to be specified here.

default: If this check box is activated, the value for the shift in pixels is read from the PressOffset parameter at runtime (see "PressOffset" on page 659 in the Parameters chapter). By changing this parameter it is therefore possible to give in one action a different appearance to all input fields whose shift in pixels has been set to default.

HREF for Help: This field is used to specify the name of an Internet page that is displayed at the moment when the input field is active and the Help function key is pressed. Context-sensitive Help can thus be implemented here.

in new window checkbox: This check box has to be activated if the Help text needs to be output like a popup window. If so, the size of the popup window has to be specified in Coordinates. See page 93.

Coordinates button: The coordinates that are to be used for displaying Help as a popup window are specified here. See page 93.

Confirm input check box: If this check box is activated, the input must be confirmed. Both the <Enter> key on the alphanumeric keyboard and the <Confirm> button on the screen or on the Encrypted PIN Pad (EPP) can be

Page 147: Web Extensions V1200 Programming Guide En

128 May 2008

The Edit control Controls

used to confirm the input. If this check box is not activated, control passes automatically to the next input field when the maximum number of characters is reached.

Beep at the end of input check box: This check box can only be activated if the Confirm input check box has been activated. In this case, a beep is output when the maximum number of characters in the input field has been reached.

Cursor position at the end check box: This check box has to be activated if the caret is to be placed at the end of the input if a field is selected again.

Instruction hint: An operating hint can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. Consequently a specific operating hint can be displayed for each input field. The operating hint appears at that point on the Internet page which is identified by the HTML tag <p id="SubHeader">.

Edit control - General 3 page

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

Fig. 35: Edit control - General 3 page

Page 148: Web Extensions V1200 Programming Guide En

May 2008 129

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.

Page 149: Web Extensions V1200 Programming Guide En

130 May 2008

The Edit control Controls

Fig. 37: Edit control - Graphic page

Input field up: The image that describes the input field in its up state is entered here.

...: button: This button calls a standard file opening dialog which is not explained here. The designer can select the required image. The name of the image and the complete path are entered in the Input field up input field.

To move complete Webs without conversion it is far better to use relative paths for images. The images could, for example, be stored in a subdirectory which is accessed relatively by means of .\Images\.... Accordingly, when an image name has been defined in the input field, the path has to be changed from absolute to relative. The Edit control itself cannot enter a relative path because it is unclear where the relative base address begins.

Input field up: The name and path of the image file can be entered manually here if they are known.

default check box: The name of the image file cannot be entered if this check box is activated. Instead, the image is read from the ImageUp parameter (see "ImageUp" on page 658 in the Parameters chapter). By changing this parameter it is therefore possible to give a different appearance in one action to all input fields that have been set to default.

Page 150: Web Extensions V1200 Programming Guide En

May 2008 131

Controls The Edit control

Input field pressed: The image that describes the input field in its pressed state is entered here. In this case, the caret is visible in the input field and the customer can enter data.

The ... button, the Input field pressed input field and the default check box are identical to the equivalent options for Input field up. The parameter that is evaluated for the image when the default check box is activated is named ImagePressed (see "ImagePressed" on page 658 in the Param-eters chapter).

Input field disabled: The image that describes the input field in its disabled state is entered here. This image is only displayed if the State group of radio buttons on the General 2 page has been set to disabled. An application can also disable an input field.

The ... button, the Input field disabled input field and the default check box are identical to the equivalent options for Input field up. The parameter that is evaluated when the default check box is activated is named ImageDisabled (see "ImageDisabled" on page 658 in the Parameters chapter).

Edit control - Input page

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

Page 151: Web Extensions V1200 Programming Guide En

132 May 2008

The Edit control Controls

Fig. 38: Edit control - Input page

Input orientation: This group of radio buttons controls the positioning of the caret in an empty input field.

right-justified: The caret is located at the right end of the input field. Each character that is input appears to the right of the caret initially. Entering a new character shifts the previous ones to the left.

left-justified: At the beginning, the caret is located at the left end of the input field. Each character that is input appears to the right of the caret and shifts the caret further to the right.

centered: At the beginning, the caret is located at the center of the input field. Each character that is input appears to the right of the caret and shifts the caret slightly to the right. All previous characters are shifted slightly to the left so that the character that has just been input is always placed at the center of the input field.

Input limits — max. chars: The maximum number of characters is defined in this input field. This figure must be geared to the selected font size. If not all characters will fit into the input field at the selected font size, there is a beep and the maximum number of characters cannot be reached.

Page 152: Web Extensions V1200 Programming Guide En

May 2008 133

Controls The Edit control

The maximum number of characters is entered in the variable (Name-of-Input-Variable)_MAXCHARS_L when the Internet page is loaded. This means the check function (see "The Check() function" on page 424) can draw upon this value in order to output detailed error messages if the conversion of umlauts causes the maximum number of characters to be exceeded.

Input limits — max. lines: The maximum number of lines is defined in this input field. This figure must be geared to the selected font size. If not all lines will fit into the input field at the selected font size, confirmation causes the input field to be exited before the maximum number of lines is reached.

Input range: The size and position of the input field are defined in the following input fields:

X pos: The X position of the input range is specified in pixels in this input field. The origin is the top left corner of the Edit control. The distance from the left edge is specified here.

Y pos: The Y position of the input range is specified in pixels in this input field. The origin is the top left corner of the Edit control. The distance from the top edge is specified here.

Width: The width of the input range is entered in pixels here.

Height: The height of the input range is entered in pixels here.

default check box: If this check box is activated, the size and position of the input field are read from the following parameters at runtime:InputAlignX corresponding to X pos(see "InputAlignX" on page 662 in the Parameters chapter)InputAlignY corresponding to Y pos(see "InputAlignY" on page 662 in the Parameters chapter)InputWidth corresponding to Width(see "InputWidth" on page 663 in the Parameters chapter)InputHeight corresponding to Height(see "InputHeight" on page 663 in the Parameters chapter)

Don’t display preliminary input: Any content of the input variable will not be displayed, when this checkbox is checked. The input variable, the unfor-matted 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.

Page 153: Web Extensions V1200 Programming Guide En

134 May 2008

The Edit control Controls

Font colour for active: Three fields define the colour setting for the font.

default check box: If this check box is activated, the font colour is read from the InputColour parameter at runtime (see "InputColour" on page 662 in the Parameters chapter). The Standard colour dialog button and the input field for the colour cannot be selected if this check box is activated. The value to be stored in InputColour can be ascertained by calling the standard colour dialog here once and selecting a colour. The colour is then output as a numeric value in the input field for the colour for active and can be read there.

Input field for colour: A numeric value can be input here to define a colour. However it is better to use the standard colour dialog to select a colour. The value for the selected colour is then entered here automati-cally.

Selecting the Font button causes the text colour defined there to be entered in this field. Any font colour that had been defined beforehand in the standard colour dialog is overwritten by this one. It is better to select the font first and then the colour if a special colour outside the 16 basic colours is required.

... button (standard colour dialog): Pressing this button opens the standard colour dialog (Fig. 29: "Standard colour dialog"). See page 103. Refer to the Windows NT Online Help for a description of the options in this dialog. This dialog can also be called when selecting colours for the Windows NT Desktop.

Font colour for inactive: The same three fields are used to define the font colour for a inactive (disabled) input field as for an active one. If the default check box is activated, the colour is read from the InputColourDisabled parameter at runtime (see "InputColourDisabled" on page 662 in the Param-eters chapter).

DF (Direct Format) Checkbox: If the input shall be formatted directly during input, please check this box. The Button Direct format will be activated then. Direct format may be used for amount input or date input, to show the separator characters directly during, while the customer does not have to type it in, e.g.

Direct format button: By pressing this button the property page Direct Format is activated, to configure the type of each character of the input field. In this property page, the table at the top shows one column for each input character. To change the settings for a special character, its

Page 154: Web Extensions V1200 Programming Guide En

May 2008 135

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

5. Character transformation (None, Uppercase, Lowercase).

6. Pre-allocation selected from the Pre-allocation Listbox, from the Special Listbox or None.

Fig. 39: Edit control - Direct format

Writeable: In this radiobuttons it is specified, if the character may be overridden, or if the caret passes this character. Normally these buttons are disabled, which means, the character is writeable. If any predefined Pre-allocation from the drop-down list is set, this field is activated. Now there is the option to switch this character to not writeable, which means, during input the character may not be overridden. The caret jumps automatically to the next writeable character.

Page 155: Web Extensions V1200 Programming Guide En

136 May 2008

The Edit control Controls

Yes: The character may be overridden.

No: During input the caret jumps automatically to the next writeable character.

Visible: These radiobuttons specify, if a Pre-allocated character shall be visible, when the page is loaded or if it should be shown, when the character beneath this character has been typed in. So these radiobuttons are disabled. They will be enabled, when a Pre-allocation is specified.

At input: This radiobutton means, that the pre-allocated character shall be displayed, when the character beneath this character has been typed in.

Always: The pre-allocated character is shown, when the page is loaded.

Character transformation: It may be specified here, if Alpha characters are directly set to Uppercase or Lowercase.

None: No transformation is done. Character stays as it is.

Uppercase: Alpha characters are set to Uppercase, directly after typing the character in.

Lowercase: Alpha characters are set to Lowercase, directly after typing the character in.

Pre-allocation: This field contains an edit field to specify any sign, which should be displayed at the current character position and a listbox with predefined signs. If an item from the listbox is selected, the input field is disabled. It is only possible to enter a sign in the edit field, if None in the listbox is selected. The following items may be choosen from the listbox:

– None

– Date separator

– Time separator

– Decimal symbol

– Digit grouping symbol

– Currency symbol

Page 156: Web Extensions V1200 Programming Guide En

May 2008 137

Controls The Edit control

All these symbols are chosen from the actual language specific settings in the HTML-Generator (see also section ’Formatting settings’ on page 288).

Permitted characters: In this combobox it can be chosen, if all Alpha characters, Numeric characters or All characters may be edited. This field is only active, if no Pre-allocation is set. Additionally every possible permitted character at this position can be entered in this combobox directly.

Special: In this Listbox Amount Entry DDC may be selected. This format must be set at the position of the decimal sign. Amount entry for DDC means, that first the entered numerical values are displayed from the right to the left. If the separator sign is pressed the next numerical values are treated as post separator digits. They are displayed from the left to the right. All other properties are disabled when Amount Entry DDC is chosen.

Clear all button: This button resets the complete table, which means the direct format for the complete input string.

Font button: The font size for the input is defined by opening the standard font dialog. This is only available if the default check box has not been activated (see Fig. 30: "Standard font dialog"). Refer to the Windows NT Online Help for a description of the options in this dialog. This dialog is used, for instance, in the Notepad editor to define the font.

default check box: If the default check box is activated, the Font button cannot be selected. In this case, the font and the font settings are read from the following parameters at runtime:

InputFont corresponding to Font(see "InputFont" on page 661 in the Parameters chapter)InputSize corresponding to Size(see "InputSize" on page 662 in the Parameters chapter)InputBold corresponding to Bold(see "InputBold" on page 663 in the Parameters chapter) InputItalic corresponding to Italic(see "InputItalic" on page 663 in the Parameters chapter)InputStrikeout corresponding to Strikeout(see "InputStrikeout" on page 664 in the Parameters chapter)InputUnderline corresponding to Underline(see "InputUnderline" on page 663 in the Parameters chapter)

Page 157: Web Extensions V1200 Programming Guide En

138 May 2008

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.

Page 158: Web Extensions V1200 Programming Guide En

May 2008 139

Controls The Edit controls use for PIN input

Fig. 41: Edit control - Not allowed character page

Beep at input of not allowed character: If this checkbox is checked, at every attempt to enter a not allowed character the system beeps.

Not allowed character table: Every character which may not be entered via the keyboards must be checked on this property page.

The Edit controls use for PIN input

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

Edit control (PIN input) - General 1 page

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

Page 159: Web Extensions V1200 Programming Guide En

140 May 2008

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.

Page 160: Web Extensions V1200 Programming Guide En

May 2008 141

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

Page 161: Web Extensions V1200 Programming Guide En

142 May 2008

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

Page 162: Web Extensions V1200 Programming Guide En

May 2008 143

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

Page 163: Web Extensions V1200 Programming Guide En

144 May 2008

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

Page 164: Web Extensions V1200 Programming Guide En

May 2008 145

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 Additional-Features. 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:

Page 165: Web Extensions V1200 Programming Guide En

146 May 2008

The Edit controls use for PIN input Controls

<param name="AdditionalFeatures" value="WX_INPUT_FLAG_ACTASPASSWORDFIELD">

Hide the caret in standard edit control

Unfortunately there is no property on the property pages for this behaviour. The property must be configured in an HTML sourcecode editor directly. The property to set is AdditionalFeatures. The keyword WX_INPUT_FLAG_HIDECARET has to be added into the content of the property. Any separator is optional, the control is checking the keyword.

Example:

Property AdditionalFeatures of the input field:

<param name="AdditionalFeatures" value="WX_INPUT_FLAG_ACTASPASSWORDFIELD WX_INPUT_FLAG_HIDECARET">

Check max. chars for EPP keyboard

If you are working with a EPP keyboard only it is possible to restrict the maximum number of characters to be entered by writing the keyword WX_INPUT_FLAG_CHECKMAXCHARONEPP into the property AdditionalFeatures. When you are working with an aphanu-meric or combined keyboard it is possible to see the character entered after reaching the max. chars limit of a millisecond before it is deleted. If you want to supress this (which is only possible while using the EPP keyboard only) please use this option.

Unfortunately there is no property on the property pages for this behaviour. Any separator is optional, the control is checking the keyword.

Example:

Property AdditionalFeatures of the input field:

<param name="AdditionalFeatures" value="WX_INPUT_FLAG_CHECKMAXCHARONEPP">

Page 166: Web Extensions V1200 Programming Guide En

May 2008 147

Controls Edit Control - Property Listing

Delete the content after customer error in edit control

This property may be used to delete the contents of an edit field, after the input error popups have been closed, so the customer has to type in the new value from scratch.

Unfortunately there is no property on the property pages for this behaviour. The property must be configured in an HTML sourcecode editor directly. The property to set is AdditionalFeatures. The keyword WX_CHECK_DELETEONERROR has to be added into the content of the property. Any separator is optional, the control is checking the keyword.

Example:

Property AdditionalFeatures of the input field:

<param name="AdditionalFeatures" value="WX_CHECK_DELETEONERROR">

Edit Control - Property Listing

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

Table 2: HTML properties of Edit Control

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

Page 167: Web Extensions V1200 Programming Guide En

148 May 2008

Edit Control - Property Listing Controls

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)

BeepAtForbiddenLet-terInput

0 (default): Do not beep1: Beep

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

Property Range Meaning/Reference

Page 168: Web Extensions V1200 Programming Guide En

May 2008 149

Controls Edit Control - Property Listing

PreliminaryInputFor-bidden

0 (default): Input variables will not be reset1: 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 trans-action. 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)

Property Range Meaning/Reference

Page 169: Web Extensions V1200 Programming Guide En

150 May 2008

Edit Control - Property Listing Controls

ConfirmInput 0 (default): Do not confirm1: Confirm the input

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

Beep 0 (default): do not beep1: beep

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

CursorPosition 0 (default): caretpo-sition at start1: caretposition at end

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

CorrectHref0 String with syntax nn:pagename like8: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

Property Range Meaning/Reference

Page 170: Web Extensions V1200 Programming Guide En

May 2008 151

Controls Edit Control - Property Listing

CorrectWindow0 0 (default): not in a new window1: 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 window1: 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 window1: 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 window1: 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 window1: 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 window1: in a new window

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

Property Range Meaning/Reference

Page 171: Web Extensions V1200 Programming Guide En

152 May 2008

Edit Control - Property Listing Controls

CorrectWindow6 0 (default): not in a new window1: 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 window1: 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 window1: 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 window1: 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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)

Property Range Meaning/Reference

Page 172: Web Extensions V1200 Programming Guide En

May 2008 153

Controls Edit Control - Property Listing

CorrectWindowLeft Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 inactive2: Input field disabled3: Input field hidden

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

Property Range Meaning/Reference

Page 173: Web Extensions V1200 Programming Guide En

154 May 2008

Edit Control - Property Listing Controls

RTViewState String, created automatically:[#Inputvariable(without _s)_Viewstate_S#] i.e. Input variable: DLG_INPUT_RESULT1_SViewstate Variable: DLG_INPUT_RESULT1_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 window1: 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest percentage value = 100% ' 20000 (default is 54)

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

Property Range Meaning/Reference

Page 174: Web Extensions V1200 Programming Guide En

May 2008 155

Controls Edit Control - Property Listing

HelpWindowLeft Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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)

Property Range Meaning/Reference

Page 175: Web Extensions V1200 Programming Guide En

156 May 2008

Edit Control - Property Listing Controls

CaptionText String Caption text

CaptionAlignDefault 0: enter x,y position in control1 (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): left1: center2: 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 CaptionAlignY1: centered

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

CaptionFontDefault 0: Use Font properties1 (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)

Property Range Meaning/Reference

Page 176: Web Extensions V1200 Programming Guide En

May 2008 157

Controls Edit Control - Property Listing

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: regular1 (default): Bold

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

CaptionUnderline 0 (default): Regular1: Underline

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

CaptionItalic 0 (default): Regular1: Italic

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

CaptionStrikeout 0 (default): Regular1: Strikeout

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

CaptionColourDefault 0: Use CaptionColour1 (default): Use CaptionColour from registry

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

Property Range Meaning/Reference

Page 177: Web Extensions V1200 Programming Guide En

158 May 2008

Edit Control - Property Listing Controls

CaptionColourDis-abledDefault

0: Use CaptionColour-Disabled1 (default): Use CaptionColourDis-abled 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 justified1: left justified2: 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)

Property Range Meaning/Reference

Page 178: Web Extensions V1200 Programming Guide En

May 2008 159

Controls Edit Control - Property Listing

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): regular1: Bold

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

InputUnderline 0 (default): Regular1: Underline

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

Property Range Meaning/Reference

Page 179: Web Extensions V1200 Programming Guide En

160 May 2008

Edit Control - Property Listing Controls

InputItalic 0 (default): Regular1: Italic

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

InputStrikeout 0 (default): Regular1: 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)

InputDirectFormatEn-abled

0 (default): Direct format inactive1: Direct format active

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

Property Range Meaning/Reference

Page 180: Web Extensions V1200 Programming Guide En

May 2008 161

Controls Edit Control - Property Listing

InputDirectFor-matMask

CharPos1;;CharPos2;;CharPos3;;...Each CharPos consists of:Byte1 - Writable:Yes=1/No =2Byte2 - Visible:At input=1/Always=2Byte3 - Character transformation:None=1/Uppercase=2/Lowercase=3Byte4 - Special:None=1/AmountEn-tryDDC=2Byte5 - Pre-allocation:None=1/Any character=2/DateSepa-rator=3/TimeSepa-rator=4/Decimal-Symbol=5/DigitGrouping-Symbol=6/Curren-cySymbol=7Byte6 - Permitted characters: if Byte5=2 it contains the character, else Not used=0/All=1/Numeric=2/Alpha=3/AnyCharacters=9Byte7 - If Byte5=2it contains a 0, else it contains first character from Permitted charactersByte8 - ByteX: More Permitted characters

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

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

InputDirectFormatRT-Separators

[#VAR_PCDIALOG_RT_SEPARATORS_S;;#]

Separator for InputDi-rectFormatMask, do not change.

Property Range Meaning/Reference

Page 181: Web Extensions V1200 Programming Guide En

162 May 2008

Edit Control - Property Listing Controls

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 centered1 (default): Icon centered

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

IconCenterY 0: Icon not centered1 (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 registry1 (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 registry1 (default): read from registry

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

InputFontDefault 0: Do not read from registry1 (default): read from registry

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

Property Range Meaning/Reference

Page 182: Web Extensions V1200 Programming Guide En

May 2008 163

Controls Edit Control - Property Listing

InputColourDefault 0: Use InputColour1 (default): Use Input-Colour from registry

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

InputColourDisabled-Default

0: Use InputColourDis-abled1 (default): Use Input-ColourDisabled from registry

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

ImageUpDefault 0: Use Input field up graphic1 (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 graphic1 (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 graphic1 (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 Check1: Alphanumeric check2: Numeric check3: Date check4: 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)

Property Range Meaning/Reference

Page 183: Web Extensions V1200 Programming Guide En

164 May 2008

Edit Control - Property Listing Controls

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 String Headline text for different layers. (see also section ’Button control - Caption page’ on page 101)

Property Range Meaning/Reference

Page 184: Web Extensions V1200 Programming Guide En

May 2008 165

Controls Edit Control - Property Listing

TextLayerPosXYDe-fault

0: enter x,y position in control1 (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 - 32787Default: 19

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

TextLayerTextAlignY -32788 - 32787Default: 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

TextLayerTex-tAlignXTyp

0 (default): left 1: center2: right

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

TextLayerYCentered 0 (default): use TextLayerText-AlignY1: centered

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

TextLayerFontDefault 0: Use Font properties1 (default): Use properties from registry

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

Property Range Meaning/Reference

Page 185: Web Extensions V1200 Programming Guide En

166 May 2008

Edit Control - Property Listing Controls

TextLayerFont String: Name of FontArial is default

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

TextLayerFont-CodePage

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: regular1 (default): Bold

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

TextLayerTextItalic 0 (default): Regular1: Italic

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

TextLayerTex-tUnderline

0 (default): Regular1: Underline

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

Property Range Meaning/Reference

Page 186: Web Extensions V1200 Programming Guide En

May 2008 167

Controls The List control

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.

TextLayerTextStrikeout 0 (default): Regular1: Strikeout

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

TextLayerActiveColour-Default

0: Use TextLayerText-Colour1 (default): Use TextColour from registry

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

TextLayerInactiveCo-lourDefault

0: Use TextColourDis-abled1 (default): Use TextLayerTextColourD-isabled 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)

TextLayerTextColourD-isabled

0 - 16777215 (default is 8421504)

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

Property Range Meaning/Reference

Page 187: Web Extensions V1200 Programming Guide En

168 May 2008

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

Page 188: Web Extensions V1200 Programming Guide En

May 2008 169

Controls The List control

List control - General 1 page

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

Fig. 50: List control - General 1 page

Function: The function for which the list box has been implemented is selected from this list box. The ProTopas/Web-Extensions concept only allows list boxes to be created for those functions which have been stored in the application. Generally, the selected list item will need to be post-edited or initialized. This can only be done with list boxes that are known in the application.

The content of the list box shown here is read from the Registry under the Transaction key. All keys beneath that are displayed in the drop-down list box.

HKEY_LOCAL_MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersion

Page 189: Web Extensions V1200 Programming Guide En

170 May 2008

The List control Controls

ActiveXPCList

TransactionInternational remittance order...

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 drop-down list box.

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

PCListTransaction

International remittance orderCurrency code...

Seq. No.: A unique number ranging from 0 to 999 must be assigned to each List control in order to define the sequence of inputs. This sequence number must fit in the sequence numbers of the Edit controls on the current page. The List control can take on the appearance of an Edit control, and is integrated in the input field sequence control. The Contents (STD/ATM) control ensures that the input focus moves from field to field. An error is written to the error log, if two List controls or one Edit and one List control have the same sequence number.

Softkey: The name of the softkey next to the screen to which this list box is going to be assigned is specified in this list box. This applies to systems which do not have a touchscreen but do have softkeys next to the screen. The arrangement of softkeys next to the screen is given in Fig. 22: "Positions of the softkeys". See page 86. It is not possible to configure the numerical EPP Keys 1 - 0 as Softkeys, as it appears in the Button control.

HTML page: The Internet page to be loaded automatically in its own window when the list box is selected is specified here. Standard HTML resources, such as a database query, can be used on this page to display a list from which the customer has to make a choice.

Page 190: Web Extensions V1200 Programming Guide En

May 2008 171

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/

PCListTransaction

International remittance orderCurrency 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 &]

Name of PC variable: The name of the variable to be displayed is entered here. Array variables are possible, too. To enter the index, the index must be surrounded by [ ] (example: MyArray[index]).

Formatting of PC variable: (see "SNI_PC_VARIABLE WebBot" on page 284)

Default value of PC variable: A default value for the field can be specified here. This default is displayed, if the variable does not exist.

The syntax is similar to the one for variables that are replaced by the HTML generator. The difference is that the identifiers begin with [& instead of [# (see "SNI_PC_VARIABLE WebBot" on page 284).

As soon as the choice page is closed, the List control updates the variable in the output field. This makes sure that the value selected by the customer is available directly in the List control.

Page 191: Web Extensions V1200 Programming Guide En

172 May 2008

The List control Controls

in a new window check box: This check box is always activated because the list box should always open the new page in a window of its own.

Coordinates button: This opens a dialog to specify the coordinates for displaying the Internet page as a popup window. See page 93.

Page 192: Web Extensions V1200 Programming Guide En

May 2008 173

Controls The List control

List control - General 2 page

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

State of the inputfield: The state of the List control upon loading of the Internet page is configured here. However, these states can be overridden by the setting of variables in the application (see "Hiding controls with Viewstate variables" on page 274).

up: When the page is loaded, the List control shows the image defined for the List field up parameter on the Graphic page (see "List control - Graphic page" on page 177). In this state, the List control can be selected and thus activated by the customer.

disabled: When the page is loaded, the List control shows the image defined for the List field disabled parameter on the Graphic page (see "List control - Graphic page" on page 177). In this state, the List control cannot be selected by the customer.

hidden: In this state, the List control is on the page but is hidden from sight.

Page 193: Web Extensions V1200 Programming Guide En

174 May 2008

The List control Controls

Shift in pixel: This input field is used to specify the number of pixels by which the caption and the icon are shifted to the right and down when the list control is selected in order to give the impression of a pressed control. The number of pixels depends on the design of the images. If the optical impression is conveyed that the input field protrudes about 3 pixels, 3 has to be specified here.

default: If this check box is activated, the value of the shift in pixel is read from the PressOffset parameter at runtime (see "PressOffset" on page 666 in the Parameters chapter). By changing this parameter it is therefore possible to give a different appearance in one action to all list boxes whose shift in pixel has been set to default.

Instruction hint: An operating hint can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. Consequently a specific operating hint can be displayed for each list control. The operating hint appears at that point on the Internet page which is identified by the HTML tag <p id="SubHeader">.

List control - General 3 page

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

Page 194: Web Extensions V1200 Programming Guide En

May 2008 175

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

Page 195: Web Extensions V1200 Programming Guide En

176 May 2008

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

Page 196: Web Extensions V1200 Programming Guide En

May 2008 177

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

Page 197: Web Extensions V1200 Programming Guide En

178 May 2008

The List control Controls

List control - Output page

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

Fig. 55: List control - Output page

Output: The variable text for the content of the selected List control is entered in this text box. Generally, a variable is input here which has to be filled on the Internet page that is opened when the List control is activated (see "Inserting a variable in a control" on page 288). Multiple lines can be input here. <Ctrl> and <Enter> have to be pressed simultaneously to get to a new line.

Colour active (see "Button control - Caption page" on page 101).

Colour inactive (see "Button control - Caption page" on page 101).

The following fields define the position of the variable text for the List control:

X pos: The X position of the caption is specified in pixels in this input field. The origin is the top left corner of the loaded image. The distance from the left edge is specified here.

Page 198: Web Extensions V1200 Programming Guide En

May 2008 179

Controls The List control

Centered radio button: If this radio button is activated, the caption is centered horizontally. The X pos input field cannot be selected if this radio button is activated.

Left radio button: If this radio button is activated, the X pos field is not deactivated but contains the number of pixels from the left edge of the image. The text is placed to the right of this position in the field, i.e. left-justified.

Right radio button: If this radio button is activated, the X pos field is not deactivated but contains the number of pixels from the left edge of the image. The text is placed to the left of this position in the field, i.e. right-justified.

Y pos: The Y position of the caption is specified in pixels in this input field. The origin is the top left corner of the loaded image. The distance from the top edge is specified here.

Centered check box: If this check box is activated, the caption is centered vertically. The Y pos input field cannot be selected if this check box is activated.

Checkbox default: If this check box is activated, the caption position settings are read from the following parameters at runtime:InputAlignX corresponding to X pos(see "InputAlignX" on page 670 in the Parameters chapter)InputAlignY corresponding to Y pos(see "InputAlignY" on page 670 in the Parameters chapter)InputXCentred corresponding to the Centered, Left and Right radio buttons for X pos(see "InputXCentred" on page 670 in the Parameters chapter)InputYCentred corresponding to the Centered check box for Y pos(see "InputYCentred" on page 670 in the Parameters chapter)

Font button, default checkbox: (see "Button control - Caption page" on page 104)

Page 199: Web Extensions V1200 Programming Guide En

180 May 2008

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

Page 200: Web Extensions V1200 Programming Guide En

May 2008 181

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 StringDefault:../images/controls/input_std_up.bmp

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

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

ImagePressed StringDefault:../images/controls/input_std_pressed.bmp

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

ImageDisabled StringDefault: ../images/controls/input_std_disabled.bmp

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)

Page 201: Web Extensions V1200 Programming Guide En

182 May 2008

List Control - Property Listing Controls

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

Property Range Meaning/Reference

Page 202: Web Extensions V1200 Programming Guide En

May 2008 183

Controls List Control - Property Listing

CorrectWindowTop Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest percentage value = 100% ' 20000 (default is 712)

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

Property Range Meaning/Reference

Page 203: Web Extensions V1200 Programming Guide En

184 May 2008

List Control - Property Listing Controls

CorrectWindowHeight Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 inactive2: Input field disabled3: 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_RESULT1_SViewstate Variable: DLG_INPUT_RESULT1_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 registry1 (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)

Property Range Meaning/Reference

Page 204: Web Extensions V1200 Programming Guide En

May 2008 185

Controls List Control - Property Listing

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): left1: center2: right

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

CaptionCenterY 0 (default): use CaptionAlignY1: centered

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

Property Range Meaning/Reference

Page 205: Web Extensions V1200 Programming Guide En

186 May 2008

List Control - Property Listing Controls

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: regular1 (default): Bold

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

CaptionUnderline 0 (default): Regular1: Underline

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

CaptionItalic 0 (default): Regular1: Italic

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

CaptionStrikeout 0 (default): Regular1: Strikeout

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

Property Range Meaning/Reference

Page 206: Web Extensions V1200 Programming Guide En

May 2008 187

Controls List Control - Property Listing

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 control1 (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 properties1 (default): Use properties from registry

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

CaptionColourDefault 0: Use CaptionColour1 (default): Use CaptionColour from registry

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

CaptionColourDis-abledDefault

0: Use CaptionColour-Disabled1 (default): Use CaptionColourDis-abled 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

Property Range Meaning/Reference

Page 207: Web Extensions V1200 Programming Guide En

188 May 2008

List Control - Property Listing Controls

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: Centered2: 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): regular1: Bold

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

Property Range Meaning/Reference

Page 208: Web Extensions V1200 Programming Guide En

May 2008 189

Controls List Control - Property Listing

InputUnderline 0 (default): Regular1: Underline

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

InputItalic 0 (default): Regular1: Italic

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

InputStrikeout 0 (default): Regular1: 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 registry1 (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 registry1 (default): read from registry

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

Property Range Meaning/Reference

Page 209: Web Extensions V1200 Programming Guide En

190 May 2008

List Control - Property Listing Controls

InputColourDefault 0: Use InputColour1 (default): Use Input-Colour from registry

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

InputColourDisabled-Default

0: Use InputColourDis-abled1 (default): Use Input-ColourDisabled 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 centered1 (default): Icon centered

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

IconCenterY 0: Icon not centered1 (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 graphic1 (default): Use graphic read from registry

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

Property Range Meaning/Reference

Page 210: Web Extensions V1200 Programming Guide En

May 2008 191

Controls List Control - Property Listing

ImagePressedDefault 0: Use Input field pressed graphic1 (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 graphic1 (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)

TextLayerPosXYDe-fault

0: enter x,y position in control1 (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 - 32787Default: 19

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

Property Range Meaning/Reference

Page 211: Web Extensions V1200 Programming Guide En

192 May 2008

List Control - Property Listing Controls

TextLayerTextAlignY -32788 - 32787Default: 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

TextLayerTex-tAlignXTyp

0 (default): left 1: center2: right

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

TextLayerYCentered 0 (default): use TextLayerText-AlignY1: centered

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

TextLayerFontDefault 0: Use Font properties1 (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 FontArial is default

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

TextLayerFont-CodePage

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)

Property Range Meaning/Reference

Page 212: Web Extensions V1200 Programming Guide En

May 2008 193

Controls List Control - Property Listing

TextLayerTextSize 1 - 32787 (default is 10) Font Size for different layers. (see also section ’Button control - Caption page’ on page 104)

TextLayerTextBold 0: regular1 (default): Bold

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

TextLayerTextItalic 0 (default): Regular1: Italic

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

TextLayerTextUnderline

0 (default): Regular1: Underline

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

TextLayerTextStrikeout 0 (default): Regular1: Strikeout

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

TextLayerActiveColour-Default

0: Use TextLayerText-Colour1 (default): Use TextColour from registry

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

Property Range Meaning/Reference

Page 213: Web Extensions V1200 Programming Guide En

194 May 2008

Show an ampersand (&) in Caption of a control Controls

Show an ampersand (&) in Caption of a control

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

Example:

Property after selecting the input field:

<param name="AdditionalFeatures" value="WX_INPUT_FLAG_IGNOREAMPERSAND">

TextLayerInactiveCo-lourDefault

0: Use TextColourDis-abled1 (default): Use TextLayerTextColourD-isabled 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)

TextLayerTextColourD-isabled

0 - 16777215 (default is 8421504)

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

Property Range Meaning/Reference

Page 214: Web Extensions V1200 Programming Guide En

May 2008 195

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 name="TextLayerCount" value="2"param name="TextLayerText" value="HALLO;;HALLO"param name="TextLayerPosXYDefault" value="0;;0"param name="TextLayerTextAlignX" value="2;;0"param name="TextLayerTextAlignY" value="2;;0"param name="TextLayerTextAlignXTyp" value="3;;1"param name="TextLayerYCentered" value="1;;1"param name="TextLayerActiveColourDefault" value="0;;0"param 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 repre-sents 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.

Page 215: Web Extensions V1200 Programming Guide En

196 May 2008

The EPP control Controls

EPP control - General page

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

Graphic: The image for the control is defined in the same way as in the Button control (see "Button control - Graphic page" on page 105).

Caption, Position, Colour, Font: These inputs are basically identical to those on the Caption page in the Button control. The only things missing here are the default check boxes because there is no point in making default entries for the EPP control as it is generally needed just once or twice for an appli-cation (see "Button control - Caption page" on page 101).

Page 216: Web Extensions V1200 Programming Guide En

May 2008 197

Controls The EPP control

EPP control - Input page

The position, colour, font and input orientation for the output of asterisks are defined on this page.

Fig. 58: EPP control - Input page

Input orientation: The positioning of the caret for an empty input field is controlled by this group of radio buttons (see "Edit control - Input page" on page 132).

Input position, Font colour, Font: These inputs are basically identical to those on the Caption page in the Button control. The only things missing here are the default check boxes because there is no point in making default entries for the EPP control as it is generally needed just once or twice for an appli-cation (see "Button control - Caption page" on page 101).

Page 217: Web Extensions V1200 Programming Guide En

198 May 2008

The Contents ATM control Controls

The Contents ATM control

The Contents ATM control is a very important control. It is invisible at runtime, but must be on every Internet page of an application which is using the Web-Extensions/ClassicLink. The Contents ATM control determines how the operating hint, header and the state of function keys are to be represented. It is also responsible for monitoring timers on the current Internet page and for beeping when the page is loaded. The Contents ATM control also monitors field sequence control of the Edit control and, in conjunction with this, the meaning of the <Correct> and <Confirm> buttons.

Please do not mix the Contents ATM Control with the Contents STD Control. The Contents STD Control is used in a Web-Exten-sions/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.

Page 218: Web Extensions V1200 Programming Guide En

May 2008 199

Controls The Contents ATM control

Contents ATM control - General page

The header and operating hint are specified on this page. It is also possible to define whether there should be a beep whenever a page is loaded.

Fig. 59: Contents ATM control - General page

Caption: A header, such as the name of the function, can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. The header appears at that point on the Internet page which is identified by the HTML tag <p id="Header">.

Beep: This defines whether there should be a beep when the page is loaded or in the event of a timeout.

no beep: No beep is required.

at start of page: A beep is output when the page is loaded.

at timeout: A beep is output when the time allowed to press a button or input data on this Internet page elapses without this being done.

at start of page/timeout: A beep is output both when the page is loaded and if a timeout occurs.

Page 219: Web Extensions V1200 Programming Guide En

200 May 2008

The Contents ATM control Controls

default: If this radio button is activated, the beep setting is read from the Beepdefault parameter at runtime (see "BeepDefault" on page 641 in the Parameters chapter).

Instruction hint: An operating hint can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. The operating hint appears at that point on the Internet page which is identified by the HTML tag <p id="SubHeader">.

The operating hint that is entered here is only displayed when there are no input fields on the page. In this case, the operating hint for the active input field is displayed (see "Edit control - General 2 page" on page 126).

If the Continue without Confirm key check box has not been activated and there are input fields on the page, the operating hint is displayed when all mandatory fields have been completed and found to be without error.

Timeout combo box: This combo box is used to specify the time in seconds that the user has on this page to make a choice or to input data. Either one of the displayed timers can be selected from the list or a figure can be typed in directly. The ready-made timers are represented by parameters so they can be defined for the specific application in question. The value 0 repre-sents 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 param-eters. 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 ready-made 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.

Page 220: Web Extensions V1200 Programming Guide En

May 2008 201

Controls The Contents ATM control

The ready-made timers can be adjusted and extended easily. Every ready-made timer is represented by a Registry entry under the Values key:

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

PCContentsTimeout

ValuesCorrectTimeout=10...

To be able to display another entry in the Contents ATM control, a new entry is simply made. The value after the entry represents the timeout in seconds.

ADA configuration button: This button gives access to the ADA configuration panel.

Page 221: Web Extensions V1200 Programming Guide En

202 May 2008

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

Page 222: Web Extensions V1200 Programming Guide En

May 2008 203

Controls The Contents ATM control

There are five groups on this panel:

Epp RTC : The EppRTC is an instance between the ADA framework and the Epp framework. It gives permanent access to the EPP and enables the use of ADA specific keys even if they are not activated by the Contents ATM/STD control.

Start: Starts the EppRTC. Is only needed on starting page.

Stop: Stops the EppRTC.

Command: This group describes the behaviour of the ADA service. One of the start functions (start or idle) must be set on the first page of the appli-cation and the stop function should be set on the last page of the application.

Start: Here the Start() function of the ADA framework is called. This function starts the service directly and ignores any start sequences.

Stop: By activating this checkbox the Stop() function of the ADA service is called. This function stops the ADA framework.

Idle: This checkbox activates the WaitForStart() function of the ADA framework. Then the ADA framework is in idle mode and waits for any start event (see also section ’Starting Events’ on page 498).

Tutorial: This group describes what to do when the ADA framework is started.

Allow tutorial start: calls the function onStart(). This is the real start of the ADA service. The default behaviour is SKIP. This function uses some powerful macros:

Skip: Causes the service to skip the tutorial page and start directly.

Navigate: Activating this checkbox causes the service to navigate to a new URL.

Open: Causes the service to open a page ’in a new window ’. This command needs URL and position parameters of the popup-window.

The checkbox Allow tutorial start must be set to allow the customer to start the service on this page! If none of the checkboxes Skip, Navigate or Open is activated, default value is used. The default behaviour is set in the registry (see also ’ADAActionOnStart’ on page 599).

HTML page overrides: The group ’HTML page overrides’ on ADA configu-ration 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

Page 223: Web Extensions V1200 Programming Guide En

204 May 2008

The Contents ATM control Controls

’Control of the ADA service’ on page 497). To deactivate the output activate the special checkbox and clear the text field. Several macros can be used to change the output (see also section ’Macros’ on page 502).

All of he following properties may be language dependant. If the pages have to be created to with with differnt langauges, please use the WX_TEXT Variables here (see also section ’Easy multilanguage support’ on page 289).

Timeout Extension: All timeouts set by the Contents ATM control will be extended by the TimeoutExtension factor in percent. Default value is stored in the registry variable ’ADATimeoutExt’. Example: Timeout Extension=200 (see also ’Contents ATM control - General page’ on page 200)

Menu: The output for the page headline is configured here. Default value is stored in the registry variable ’ADATextPageMenu’ (see also ’Contents ATM control - General page’ on page 199).

Hint: Here you can configure the instruction hint. Default value is stored in the registry variable ’ADATextPageHint’ (see also ’Contents ATM control - General page’ on page 200).

Content: Several macros to read out the page content or direct text can be configured here. Default value is stored in the registry variable ’ADATextPageContent’. For further information See "The macro WX.RT.xxx" on page 507.

privacy: Some pages may contain private content which should not be read out. For this case the privacy can be used. The privacy checkboxes configure wether privacy is used or not. If privacy is used the content would only be read out via headphones. The system speaker would be disabled. There are no default values for these checkboxes. For this case you have to enter the fitting macro manually. Furthermore all content which should not be read out must be disabled by activating the special checkbox.

Keys: Here you can configure the output for the available buttons on the page. Default value is stored in the registry variable ’ADATextPageKeys’.

privacy: see above.

delayed Content: Several macros to read out the page content or direct text can be configured here (see also section ’ADA configuration panel’ on page 204). No default registry value is available here.

Page 224: Web Extensions V1200 Programming Guide En

May 2008 205

Controls The Contents ATM control

Pause(ms): This property contains a time in ms ADA waits until it’s speaking the text from delayed Content.

Edit Hint: The hint for the edit fields can be configured here. Default value is stored in the registry variable ’ADATextEditHint’ (see also section ’Edit control - General 2 page’ on page 128).

privacy: see above.

Edit Content: Here you can configure in which way the input made into the edit field should be repeated. Default value is stored in the registry variable ’ADATextEditContent’.

privacy: see above.

Echo Button: The echoes for the buttons pressed are configured here. Default value is stored in the registry variable ’ADAEchoButton’.

Echo Edit: This checkbox allows you to change the way the entered numbers would be echoed. Default value is stored in the registry variable ’ADAEchoEdit’.

Max Input: If the customer shall be informed of reaching the maximum input size, an ADA text for all keys may be entered here.

Example:

0=Maximum reached_WXSEP_1=Maximum reached_WXSEP_2=Maximum reached_WXSEP_3=Maximum reached_WXSEP_4=Maximum reached_WXSEP_5=Maximum reached_WXSEP_6=Maximum reached_WXSEP_7=Maximum reached_WXSEP_8=Maximum reached_WXSEP_9=Maximum reached

Echo EPP: The PIN entry must not read out. For this case the default value should be something like ’Thanks’ or ’Beep’. Default value is stored in the registry variable ’ADAEchoEpp’.

Macro A. keys: This is the macro used from the Keys section (WX.F.ActiveKeys). It is used to read out the button text and the Epp key which belongs to this button. Deafult value is stored in the registry variable ’ADAMacroActiveKeys’.

Macro E. keys: The echo which appears when a button is pressed is configured here. Default value is stored in the registry variable ’ADAMac-roEchoKeys’.

Repeat

Page 225: Web Extensions V1200 Programming Guide En

206 May 2008

The Contents ATM control Controls

Accumulate spoken text: This checkbox must be activated on pages, where the complete text inclusive possible input characters shall be repeated. So it makes sense to activate this checkbox on pages, which contain at least one Edit Control or List Control. If this checkbox is activated at load and unload of the page the repeat buffer will be cleared automatically. If this checkbox is not activated any new spoken text will override the repeat buffer.

Automatic repeat: If this box is checked, the text which is in the repeat buffer will be repeated. The time, when with repeat start may be configured in property pause.

pause: Time in ms, after that the repeat will start. range is from 1 to 36000000.

Everything will be repeated, what is in the repeat buffer. So the property Accumulate spoken text has an influence here.

Every text which is spoken by script or other means after the texts from the page will reset the pause timer. Repeat will then start after the pause timer really expired.

Contents ATM control - Function key page

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

Page 226: Web Extensions V1200 Programming Guide En

May 2008 207

Controls The Contents ATM control

Fig. 61: Contents ATM control - Functionkeys page

Function key: The list of all function keys is shown here. The state for each function key can be selected. The appearance of the Functionkeys page changes, depending on the selected functionkey.

State of Functionkey: The state of the selected functionkey can be deter-mined here:

up: The button will appear in the up state, and can be pressed.

pressed: The button will appear as pressed. This is only meaningful if the Toggle lock field was set to yes (see "Button control - General 1 page" on page 81).

disabled: The function key is placed in the Button disabled state (see "States of controls" on page 79). In this state, the function key cannot be pressed.

hidden: The function key is placed in the Button hidden state (see "States of controls" on page 79). In this state, the function key is hidden from sight.

When the Function key <Help> is selected, the property page is enhanced. An Internet page, which should appear when the help button is pressed, can be entered.

Page 227: Web Extensions V1200 Programming Guide En

208 May 2008

The Contents ATM control Controls

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

Help Internet page: The Internet page belonging to the selected <help> function button is entered in this input field.

in new window check box: If this check box is activated, the page specified under Internet page is shown in a new browser instance (see "Button control - General 2 page for selection buttons" on page 91).

Coordinates button: The coordinates to be used for displaying the new window can be defined by selecting this button (see "Button control - General 2 page for selection buttons" on page 91).

Contents ATM control - EPP Keys page

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

Page 228: Web Extensions V1200 Programming Guide En

May 2008 209

Controls The Contents ATM control

Fig. 63: Contents ATM control - EPP Keys page

Activate EPP Keys: The mode of the EPP is selected here:

No input: There is no input field on the current Internet page

Automatic mode: No configuration of the EPP Keys needed. But there are a few restrictions to keep in mind, when using this automatic mode:

– All Softkeys, which are connected by reference at a Selection Button, Edit or List control, are activated, even if they are disabled or invisible.

– When an Edit control is in the page all numeric EPP Keys and even the keys right and left of the 0 are enabled.

– For Functionkeys only those Softkeys, which are activated by this page are enabled. That means a Functionkey can not be activated by script after the Contents STD/ATM control is initialized.

Normal input: There are one or more input fields on the current Internet page. Numeric input is made via the EPP

Pin input: A PIN input is activated. The EPP control has to be placed on the current Internet page. The user is requested to enter his PIN. The user defined asterisks are presented by the EPP control.

Page 229: Web Extensions V1200 Programming Guide En

210 May 2008

The Contents ATM control Controls

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

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)

Page 230: Web Extensions V1200 Programming Guide En

May 2008 211

Controls The Contents ATM control

PIN input options: The number of entered PIN digits and the confirmation of the PIN is specified in here:

PIN 4-digits: The user is allowed to enter a 4-digit PIN.

PIN 6-digits: The user is allowed to enter a 6-digit PIN.

User defined:The mininum and the maximun numbers of PIN-digits may be specified in here.

Inputfield Min.: The minimun numbers of PIN-digits must be entered here.

Inputfield Max.: The minimun numbers of PIN-digits must be entered here. Please make sure, that the maximum number is larger than the minimum number.

Continue without Confirm-Key: The user has to press the function key with value <confirm> to go on using the application. After that, the return code is sent to the application.

Continue after Timeout: After entering the minimum digits and after the amount of seconds specified in the corresponding input field the return code Okay is automatically sent to the application. This feature is used to give customers the chance to continue with the transaction, even when it is necessary to confirm the PIN entry. Some customers do not notice to confirm the PIN, when it was not necessary to do this with an earlier release of the application.

EPP Keys configuration button: A dialog is opened, when pressing this button. The property pages Active Keys, Terminating Keys and Keycode change may be selected, to specify those types of keys.

Active Keys: The EPP-keys, which should be active while this Internet page is displayed, is specified at this property page. Each active button must be in pressed state.

Page 231: Web Extensions V1200 Programming Guide En

212 May 2008

The Contents ATM control Controls

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

Terminating Keys: During PIN input there may be keys specified, which will end a PIN input. During normal input these may be used in Softkey dialogs. They will end the Softkey dialog immediately. The Contents STD/ATM control does not have to cancel the EPP procedure additionally. Those buttons, which should be used as Terminating Keys, must be in pressed state.

Page 232: Web Extensions V1200 Programming Guide En

May 2008 213

Controls The Contents ATM control

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

Keycode change: At this property page it is possible to change the keycodes beneath the 0 and the Replacement sign, which will be shown in EPP control during PIN input.

Fig. 68: Contents ATM control - EPP Keys conf. (Keycode change)

Page 233: Web Extensions V1200 Programming Guide En

214 May 2008

The Contents ATM control Controls

,-Key: Enter the keycode, which shall be shown in an edit control when pressing the button right to the 0 button of the EPP keyboard here.

*-Key: Enter the keycode, which shall be shown in an edit control when pressing the button left to the 0 button of the EPP keyboard here.

Replacement Sign: Enter the Replacement Sign for a PIN input here. This sign will be shown in the EPP control during PIN input.

Page 234: Web Extensions V1200 Programming Guide En

May 2008 215

Controls The Contents ATM control

Contents ATM control - Confirm page

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

Continue without Confirm-Key: If this check box is activated, the end of the input is followed directly by reporting a return code to the application. If the customer is to be given the opportunity to check the inputs again, however, this check box has to be deactivated. In this case the Confirm key list box becomes available and the key to close the input page has to be selected there. When the last input field on the page has been confirmed, the Content 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.

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.

Page 235: Web Extensions V1200 Programming Guide En

216 May 2008

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 beep2: At start of page3: At timeout4: At start of page/timeout5 (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)

Page 236: Web Extensions V1200 Programming Guide En

May 2008 217

Controls Content ATM Control - Property Listing

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)

Property Range Meaning/Reference

Page 237: Web Extensions V1200 Programming Guide En

218 May 2008

Content ATM Control - Property Listing Controls

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_UP

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

FunctionKeyID12 Default is: SURFING_SCROLL_DOWN

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

FunctionKeyID13 Default is: SURFING_SCROLL_LEFT

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

FunctionKeyID14 Default is: SURFING_SCROLL_RIGHT

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)

Property Range Meaning/Reference

Page 238: Web Extensions V1200 Programming Guide En

May 2008 219

Controls Content ATM Control - Property Listing

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)

FunctionKeyViewState01

0: State up1: State pressed2: State disabled3 (default): State invisible

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

FunctionKeyViewState02

0: State up1: State pressed2: State disabled3 (default): State invisible

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

... ... ...

FunctionKeyViewState20

0: State up1: State pressed2: State disabled3 (default): State invisible

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

Property Range Meaning/Reference

Page 239: Web Extensions V1200 Programming Guide En

220 May 2008

Content ATM Control - Property Listing Controls

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 key1: Continue without confirm key

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

NewWindowTop Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest percentage value = 100% ' 20000Default: 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest percentage value = 100% ' 20000Default: 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)

Property Range Meaning/Reference

Page 240: Web Extensions V1200 Programming Guide En

May 2008 221

Controls Content ATM Control - Property Listing

NewWindowWidth Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest percentage value = 100% ' 20000Default: 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest percentage value = 100% ' 20000Default: 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)

Property Range Meaning/Reference

Page 241: Web Extensions V1200 Programming Guide En

222 May 2008

Content ATM Control - Property Listing Controls

PinEntry Bitwise calculated field:ggggggffffffffeeeeeeee0dcbbaaaAdd the following valuesa: Activate EPP keys0 = No input1 = Normal input2 = Pin input7 = Automaticb: Pin digits0 = 4-digits8 = 6-digits16 = user definedc: Continue without confirm key0 = off32 = ond: once changed the EPP keys configuration0 = off64 = one: User defined min.:number multiplied by 256f: User defined max.:number multiplied by 65536g: 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.

Property Range Meaning/Reference

Page 242: Web Extensions V1200 Programming Guide En

May 2008 223

Controls Content ATM Control - Property Listing

EPPConfigActiveFDK Add the values of the active Softkeys:F1: 1F2: 2F3: 4F4: 8F5: 16F6: 32F7: 64F8: 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: 11: 22: 43: 84: 165: 326: 647: 1288: 2569: 512Enter: 1024Cancel: 2048Clear: 4096Help: 16384DecPoint(*): 262144Res1(,): 32787

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

EPPConfigTermi-nateFDK

Add the values of the terminate Softkeys:F1: 1F2: 2F3: 4F4: 8F5: 16F6: 32F7: 64F8: 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)

Property Range Meaning/Reference

Page 243: Web Extensions V1200 Programming Guide En

224 May 2008

Content ATM Control - Property Listing Controls

EPPConfigTermi-nateFK

Add the values for the terminate keys:0: 11: 22: 43: 84: 165: 326: 647: 1288: 2569: 512Enter: 1024Cancel: 2048Clear: 4096Help: 16384DecPoint(*): 262144Res1(,): 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_res1

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_sub

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

Property Range Meaning/Reference

Page 244: Web Extensions V1200 Programming Guide En

May 2008 225

Controls Content ATM Control - Property Listing

Range for ADA Command

String created from following keywords (separator is _WXSEP_)

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: Init0: Do not navigate1: Navigation allowed

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

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_WXSEP_top=0, left=0, height=20000, width=20000

Timeout extension TimeoutExtension=10

Menu TextPageMenu=Text

Hint TextPageHint=Text

Content TextPageContent=Text

Property Range Meaning/Reference

Page 245: Web Extensions V1200 Programming Guide En

226 May 2008

The Contents STD control Controls

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 Web-Extensions/HyperLink application. The Contents STD control deter-mines how the operating hint, header and the state of function keys are to be represented. Its most important property relates to the calling of Transaction FW classes. The Contents STD control is used to define which Transaction FW class has to be called and which return code is associated with an Internet page. It is also responsible for monitoring timers on the current Internet page and for beeping when the page is loaded. The Contents STD control also monitors field sequence control of the Edit controls and, in conjunction with this, the meaning of the <Correct> and <Cancel> buttons.

Please do not mix the Contents STD control with the Contents ATM control. The Contents ATM control is used in a Web-Exten-sions/ClassicLink architecture and has less functionality (see "The Contents ATM control" on page 198).

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

Property Keyword

Page 246: Web Extensions V1200 Programming Guide En

May 2008 227

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.

Page 247: Web Extensions V1200 Programming Guide En

228 May 2008

The Contents STD control Controls

Contents STD control - General page

The header and operating hint are specified on this page. It is also possible to define whether there should be a beep whenever a page is loaded.

Fig. 70: Contents STD control - General page

Headline: A header, such as the name of the function, can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. The header appears at that point on the Internet page which is identified by the HTML tag <p id="Header">.

Beep: This defines whether there should be a beep when the page is loaded or in the event of a timeout.

no beep: No beep is required.

at start of page: A beep is output when the page is loaded.

at timeout: A beep is output when the time allowed to press a button or input data on this Internet page elapses without this being done.

at start of page/timeout: A beep is output both when the page is loaded and when a timeout occurs.

Page 248: Web Extensions V1200 Programming Guide En

May 2008 229

Controls The Contents STD control

default: If this radio button is activated, the beep setting is read from the BeepDefault parameter at runtime (see "BeepDefault" on page 641 in the Parameters chapter).

Continue without Confirm-key: This check box is only relevant for pages containing input fields. If this check box is activated, the end of the input is followed directly by the loading of the page that has been defined for the Confirm function key in the Contents STD control. If the customer is to be given the opportunity to check the inputs again, however, this check box has to be deactivated. In this case, the Confirm key list box becomes available and the key to close the input page has to be selected there. When the last input field on the page has been confirmed, the Content 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.

Confirm-Key list box: This list box contains all function keys in the same way as when selecting a function key in the Button control (see "Button control - General 2 page for function keys" on page 85). This list box is only available if the Continue without Confirm key check box has not been activated. The key that is selected here concludes an input page. The Internet page that has been defined for the function key shown here is loaded next.

Instruction hint: An operating hint can be input in this field. This can be in HTML syntax, e.g. a new line can be defined with <br>, or the font can be formatted with the <font face="Arial"> tag. The operating hint appears at that point on the Internet page which is identified by the HTML tag <p id="SubHeader">.

The operating hint that is entered here is only displayed when there are no input fields on the page. In this case, the operating hint for the active input field is displayed (see "Edit control - General 2 page" on page 126).

If the Continue without Confirm key check box has not been activated and there are input fields on the page, the operating hint is displayed when all mandatory fields have been completed and found to be without error.

ADA configuration button: This button gives access to the ADA configuration panel (see also ’ADA configuration panel’ on page 202).

Page 249: Web Extensions V1200 Programming Guide En

230 May 2008

The Contents STD control Controls

Contents STD control - Timeout page

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

Fig. 71: Contents STD control - Timeout page

Window for timeout: This list box contains three items – Timeout question, Timeout message and After timeout – which relate to procedures in the event of a timeout. The page to be displayed for the message has to be specified in the Internet page input field.

Timeout question: A message, which is best displayed in a separate window of its own, can be specified here to tell the customer that he or she has not made an input for some time. If the customer confirms this message, the separate window closes and the customer is taken back to the input/choice page. If the customer does not confirm the message, the

Page 250: Web Extensions V1200 Programming Guide En

May 2008 231

Controls The Contents STD control

Contents STD control automatically loads the Internet page that has been defined for the current timeout message. If no confirmation question is needed, no page is specified in the Internet page input field.

Fig. 72: Timeout confirmation question

Timeout message: The Internet page that is specified here tells the customer that the time for inputs has elapsed. This message can be output in a window of its own, and should only appear briefly. The Contents STD control automatically loads the Internet page that has been specified for After timeout. If no timeout message is needed, no page is specified in the HTML page input field.

Fig. 73: Timeout message

Page 251: Web Extensions V1200 Programming Guide En

232 May 2008

The Contents STD control Controls

After timeout: The Contents STD control loads the page that is specified here when the confirmation question and timeout message have been displayed, or when no Internet page has been specified for either of these options. If, for example, no message is needed for the actual timeout, then it is sufficient to specify an Internet page for After timeout.

default check box: If this check box is activated, the Internet pages for the three options listed above are read from a parameter. If no Internet page is specified in any of the three parameters, the message in question is not displayed.The parameter for the Timeout question is TimeoutQuestionHref (see "TimeoutQuestionHref" on page 638 in the Parameters chapter). If this message is due to be output in a separate window, the TimeoutQues-tionWindow 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 "AfterTime-outHref" on page 638 in the Parameters chapter). If this message is to be output in a separate window, the AfterTimeoutWindow parameter is changed (see "AfterTimeoutWindow" on page 638 in the Parameters chapter).

HTML page: The Internet page belonging to the list item from the Timeout window list box is entered in this input field.

in new window checkbox: If this check box is activated, the page specified under Internet page is shown in a new browser instance (see "Button control - General 2 page for selection buttons" on page 93).

Coordinates button: The coordinates to be used for displaying the new window can be defined by selecting this button. It is only possible to specify one set of coordinates, and these are used to display all pages for a timeout (see "Button control - General 2 page for selection buttons" on page 93). If the default checklist is activated, then the coordinates are read from the following parameters:TimeoutWindowLeft corresponding to X pos(see "TimeoutWindowLeft" on page 639 in the Parameters chapter), TimeoutWindowTop corresponding to Y pos(see "TimeoutWindowTop" on page 639 in the Parameters chapter), TimeoutWindowHeight corresponding to Height

Page 252: Web Extensions V1200 Programming Guide En

May 2008 233

Controls The Contents STD control

(see "TimeoutWindowHeight" on page 639 in the Parameters chapter), TimeoutWindowWidth corresponding to Width(see "TimeoutWindowWidth" on page 639 in the Parameters chapter).

The coordinates that are entered here apply to all three timeout windows.

Timeout combo box: This combo box is used to specify the time in seconds that the user has on this page to make a choice or input data. Either one of the displayed timers can be selected from the list or a figure can be typed in directly. The ready-made timers are represented by parameters so they can be defined for the specific application in question.

The ready-made timers should be used as far as possible as they ensure that timeout periods can be changed fast by modifying param-eters. 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 ready-made timer is represented by a Registry entry under the Values key:

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

PCContentsTimeout

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

Page 253: Web Extensions V1200 Programming Guide En

234 May 2008

The Contents STD control Controls

Contents STD control - Cancel page

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

Fig. 74: Contents STD control - Cancel page

Window for cancel: This list box contains two entries – Confirmation question and Cancel message – relating to cancellation. The page to be displayed for the message in question has to be specified in the Internet page input field.

Cancel question: A message, which is best displayed in a separate window of its own, can be specified here. The customer should be asked whether he or she really does want to cancel. If the customer negates this message, the separate window closes and the customer is taken back to the input/choice page. If the customer affirms this message, the

Page 254: Web Extensions V1200 Programming Guide En

May 2008 235

Controls The Contents STD control

Contents STD control automatically loads the Internet page that was specified for the cancellation message. If no confirmation question is required, no page is specified in the HTML page input.

Fig. 75: Cancellation confirmation question

Cancelmessage: The Internet page specified here tells the customer that the function will now be cancelled. This message can be output in a window of its own, and should only appear briefly. The Contents STD control automatically loads the Internet page that was specified for the Cancel button on the Function key page. If no cancellation message is required, no page is specified in the HTML page input field.

Fig. 76: Cancellation message

default check box: If this check box is activated, the Internet pages for the two options listed above are read from a parameter. If no Internet page is specified in either of the two parameters, the message in question is not displayed.

Page 255: Web Extensions V1200 Programming Guide En

236 May 2008

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 CancelQuestion-Window parameter is changed (see "CancelQuestionWindow" on page 636 in the Parameters chapter).The parameter for Cancel message is CancelHref (see "CancelHref" on page 635 in the Parameters chapter). If this message is due to be output in a separate window, the CancelWindow parameter is changed (see "CancelWindow" on page 635 in the Parameters chapter).

HTML page: The Internet page belonging to the respective list item from the Window for Cancel list box is entered in this input field (see also section ’Button control - General 2 page for selection buttons’ on page 91).

in new window checkbox: If this check box is activated, the page specified under HTML page is shown in a new browser instance (see "Button control - General 2 page for selection buttons" on page 91).

Coordinates button: The coordinates to be used for displaying the new windows can be defined by selecting this button. It is only possible to specific one set of coordinates, and these are used to display all pages for a cancellation (see "Button control - General 2 page for selection buttons" on page 91). If the default checklist is activated, then the coordi-nates 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

Page 256: Web Extensions V1200 Programming Guide En

May 2008 237

Controls The Contents STD control

which ought to be placed in an HTML frame of their own (see "Function keys with a fixed meaning" on page 87). The Contents STD control for the current Internet page can show or hide the function keys of another frame.

Fig. 77: Contents STD control - Function key page (hidden)

Functionkey: The list of all function keys is shown here. The state or action for each function key can be selected. The appearance of the Function key page changes, depending on the selected state or required action.

disabled: The function key is placed in the Button disabled state (see "States of controls" on page 79). In this state, the function key cannot be pressed.

hidden: The function key is placed in the Button hidden state (see "States of controls" on page 79). In this state, the function key is hidden from sight.

up: The button will appear in the up state, and can be pressed. It is necessary to specify an Internet page that is to be loaded.

pressed: The button will appear as pressed. This is only meaningful if the Toggle lock field was set to yes (see "Button control - General 1 page" on page 81).

If up or pressed is selected, the following additional properties are shown:

Page 257: Web Extensions V1200 Programming Guide En

238 May 2008

The Contents STD control Controls

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

HTML page radio button: When this radio button is selected, the appearance of the page changes as follows:

HTML page: The Internet page belonging to the selected function button is entered in this input field (see also section ’Button control - General 2 page for selection buttons’ on page 91).

in a new window check box: If this check box is activated, the page specified under HTML page is shown in a new browser instance (see "Button control - General 2 page for selection buttons" on page 91).

coordinates button: The coordinates to be used for displaying the new window can be defined by selecting this button. (see "Button control - General 2 page for selection buttons" on page 91). The coordinates that are entered here apply to all return codes for Steps, Steps After and Function keys.

Step after button: This radio button has to be selected if a Transaction FW class needs to be loaded when the key has been pressed. The requisite Step is selected on the Step After page. The appearance of the page changes as follows:

Page 258: Web Extensions V1200 Programming Guide En

May 2008 239

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.

Page 259: Web Extensions V1200 Programming Guide En

240 May 2008

The Contents STD control Controls

Fig. 80: Contents STD control - EPP Keys page

Activate EPP Keys: The mode of the EPP is selected here:

No input: There is no input field on the current Internet page.

Automatic mode: No configuration of the EPP Keys needed. But there are a few restrictions to keep in mind, when using this automatic mode:

– All Softkeys, which are connected by reference at a Selection Button, Edit or List control, are activated, even if they are disabled or invisible.

– When an Edit control is in the page all numeric EPP Keys and even the keys right and left of the 0 are enabled.

– For Functionkeys only those Softkeys, which are activated by this page are enabled. That means a Functionkey can not be activated by script after the Contents STD/ATM control is initialized.

Normal input: There are one or more input fields on the current Internet page. Numeric input is made via the EPP.

Pin input: A PIN input is activated. The EPP control has to be placed on the current Internet page. The user is requested to enter his PIN. The user defined asterisks are presented by the EPP control.

Page 260: Web Extensions V1200 Programming Guide En

May 2008 241

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)

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.

Page 261: Web Extensions V1200 Programming Guide En

242 May 2008

The Contents STD control Controls

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

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.

Page 262: Web Extensions V1200 Programming Guide En

May 2008 243

Controls The Contents STD control

PinInput

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

Inputf ield Continue with HTML page: The HTML page entered in this field will be loaded after a successful PIN input.

PIN input options radio button fields. The number of entered PIN digits and the confirmation of the PIN is specified in here:

PIN 4-digits: The user is allowed to enter a 4-digit PIN.

PIN 6-digits: The user is allowed to enter a 6-digit PIN.

User defined:The mininum and the maximun numbers of PIN-digits may be specified in here.

Input field Min.: The minimun numbers of PIN-digits must be entered here.

Input field Max.: The maximum numbers of PIN-digits must be entered here. Please make sure, that the maximum number is larger than the minimum number.

Continue without Confirm-Key: After entering 4 or 6 digits, the return code is automatically sent to the application.

Page 263: Web Extensions V1200 Programming Guide En

244 May 2008

The Contents STD control Controls

Continue after Timeout: After entering the minimum digits and after the amount of seconds specified in the corresponding input field the Contents STD Control automatically proceeds with the page from Continue with HTML page. This feature is used to give customers the chance to continue with the transaction, even when it is necessary to confirm the PIN entry. Some customers do not notice to confirm the PIN, when it was not necessary to do this with an earlier release of the appli-cation.

EPP Keys configuration button: A dialog is opened, when pressing this button. The property pages Active Keys, Terminating Keys and Keycode change may be selected, to specify those types of keys.

Active Keys: The EPP keys which should be active while this Internet page is displayed is specified at this property page. Each active button must be in pressed state.

Fig. 84: Contents STD control - EPP Keys conf. (Active Keys)

Terminating Keys: During PIN input there may be keys specified which will end a PIN input. During normal input these may be used in Softkey dialogs. They will end the Softkey dialog immediately. The Contents STD/ATM control does not have to cancel the EPP procedure additionally. Those buttons, which should be used as Terminating Keys, must be in pressed state.

Page 264: Web Extensions V1200 Programming Guide En

May 2008 245

Controls The Contents STD control

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

Keycode change: At this property page it is possible to change the keycodes beneath the 0 and the Replacement sign, which will be shown in EPP control during PIN input.

Fig. 86: Contents STD control - EPP Keys conf. (Keycode change)

Page 265: Web Extensions V1200 Programming Guide En

246 May 2008

The Contents STD control Controls

,-Key: Enter the keycode which shall be shown in an edit control when pressing the button right to the 0 button of the EPP keyboard here. This may be a single character or a group of characters.

*-Key: Enter the keycode which shall be shown in an edit control when pressing the button left to the 0 button of the EPP keyboard here. This may be a single character or a group of characters.

Replacement Sign: Enter the Replacement Sign for a PIN input here. This sign will be shown in the EPP control during PIN input. This may be a single character or a group of characters.

There are two Data Dictionary Variables VAR_PIN_ENTRY_DIGITS_L and VAR_PIN_ENTRY_COMPLETION_L since Version 1.1/13, which will be filled after PIN entry with the number of PIN digits and the returncode of PIN Entry (see also section ’Get number of PIN Digits’ on page 277).

Contents STD control - Step After page

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

Page 266: Web Extensions V1200 Programming Guide En

May 2008 247

Controls The Contents STD control

Fig. 87: Contents STD control - Access to application

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 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, and this is then loaded at the end of the Trans-action FW class. In this way, calling the application and parameterizing the return codes reflects the general logic of the application.

Connecting Internet pages for workflow processing: Workflow

Pro DeviceSpecial HardwarePro DeviceSpecial Hardware

InternetBrowser

Pro Topas Modules

Connector Control

OK DruckenAbbruch Hilfe

Please wait for printout…invisible Control

5. Access to theprinter via ProDevice

3. Transmission betweenInternet-browser

and ProTopas modules

8. Loading of the new HTML-page

4. Call of theProTopas Module

`PRINT`

6. Transmission of the returncode

to the Contents-control

OK DruckenAbbruch Hilfe

Printout ready

2. Activation of theContents-control

invisible Control

7. Conversion of the return-code into a link to a new

HTML-page

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

Page 267: Web Extensions V1200 Programming Guide En

248 May 2008

The Contents STD control Controls

Fig. 88: Contents STD control - Step After page

Step After: This field shows a list of Transaction FW classes (also called Steps) that are available for the entire application. To parameterize the appli-cation flow the designer of the Internet pages needs to collaborate closely with the programmer of the application. If no Transaction FW class needs to be selected, the keyword none has to be entered here. It is at the top of the list.

The list that is shown here is made up of the keys that have been created in the Registry under the Steps key:

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/Steps/

PCStep_application_STARTUP...

When a new Step is created, the list has to be extended accordingly.

Parameter: It is possible to edit an input parameter for the Step after here. It is even possible to edit Variables in the same manner, as inserting then as a caption of the Button control (see also ’Inserting a variable in a control’ on page 288). The maximum size for this parameter is 1024 bytes.

Page 268: Web Extensions V1200 Programming Guide En

May 2008 249

Controls The Contents STD control

Returnvalue: If a Step After was selected, all return codes for this Step are displayed in this list. An Internet page has to be specified for each return-value. 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_STARTUPGeneral error = 18...

HTML page: The Internet page to be loaded for the selected return code can be entered in this input field (see also section ’Button control - General 2 page for selection buttons’ on page 91).

in a new window check box: If this check box is activated, the page specified under Internet page is shown in a new browser (see "Button control - General 2 page for selection buttons" on page 91).

Coordinates button: The coordinates to be used for displaying the new window can be defined by selecting this button. (see "Button control - General 2 page for selection buttons" on page 91). The coordinates that are entered here apply to all return codes for Steps, Steps After and Function keys.

Page 269: Web Extensions V1200 Programming Guide En

250 May 2008

The Contents STD control Controls

Contents STD control - Step page

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

Fig. 89: Contents STD control - Step page

The inputs and list boxes are identical to those on the Step After page (see also ’Contents STD control - Step After page’ on page 246). The list items are also read from the same Registry key.

Softkeys and functionkeys allowed: This field is only available for old Prere-leases 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.

Page 270: Web Extensions V1200 Programming Guide En

May 2008 251

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 trans-action before presenting the cash.

Fig. 90: Contents STD control - Instance return page

New input field: In this edit field the number if the return value has to be edited. After pressing the Add Button, this number is shown in the List box Return code. In the edit field URL the link to the next page is inserted.

Add Button:By pressing this button, the number, which is edited in the New input field is added to the list of return values in the Listbox Return code.

Remove button: The return value, which is actually shown in the Return code Listbox is removed.

Return code Listbox: This listbox shows all previously added return values and is used to select the one, whose URL shall be edited.

Page 271: Web Extensions V1200 Programming Guide En

252 May 2008

Content STD Control - Property Listing Controls

URL edit field: In this field the URL for the Return value, which is actually shown in the Listbox Return code, must be entered.

Target FRAME Listbox: This Listbox contains 4 items to select from:

– _self: This is the default value and means, the navigation is done in the same frame as the currently loaded page.

– _new: This has the same meaning than the Checkbox in a new window. The coordinates button will show up, when selecting this enty.

Coordinates Button: (see also section ’Button control - General 2 page for selection buttons’ on page 91)

– _parent:The navigation will be done in the parent window. If f.e. the appli-cation 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)

Page 272: Web Extensions V1200 Programming Guide En

May 2008 253

Controls Content STD Control - Property Listing

WithoutSubmitButtont 0 (default): Continue with confirm key1: 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 beep1: At start of page2: At timeout3: At start of page/timeout4 (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 window1: in a new window

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

Property Range Meaning/Reference

Page 273: Web Extensions V1200 Programming Guide En

254 May 2008

Content STD Control - Property Listing Controls

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)

TimeoutQuestion-Window

For TimeoutQues-tionHref:0 (default): not in a new window1: 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 window1: 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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)

Property Range Meaning/Reference

Page 274: Web Extensions V1200 Programming Guide En

May 2008 255

Controls Content STD Control - Property Listing

TimeoutWindowLeft Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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)

Property Range Meaning/Reference

Page 275: Web Extensions V1200 Programming Guide En

256 May 2008

Content STD Control - Property Listing Controls

CancelStdWindow For CancelStdHref:0 (default): not in a new window1: 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 TimeoutQues-tionHref:0 (default): not in a new window1: 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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)

Property Range Meaning/Reference

Page 276: Web Extensions V1200 Programming Guide En

May 2008 257

Controls Content STD Control - Property Listing

CancelWindowWidth Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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)

Property Range Meaning/Reference

Page 277: Web Extensions V1200 Programming Guide En

258 May 2008

Content STD Control - Property Listing Controls

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)

Property Range Meaning/Reference

Page 278: Web Extensions V1200 Programming Guide En

May 2008 259

Controls Content STD Control - Property Listing

FunctionKeyID11 Default is: SURFING_SCROLL_UP

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

FunctionKeyID12 Default is: SURFING_SCROLL_DOWN

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

FunctionKeyID13 Default is: SURFING_SCROLL_LEFT

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

FunctionKeyID14 Default is: SURFING_SCROLL_RIGHT

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)

Property Range Meaning/Reference

Page 279: Web Extensions V1200 Programming Guide En

260 May 2008

Content STD Control - Property Listing Controls

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 Viewstates0: up1: pressed2: diabled3: 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 Function-KeyIDnn HTML page:0 (default): not in a new window1: 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)

Property Range Meaning/Reference

Page 280: Web Extensions V1200 Programming Guide En

May 2008 261

Controls Content STD Control - Property Listing

StepAfterHtmlWindow Bytefield for StepAfter for returncode nn (nn from 0 to 19):0 (default): not in a new window1: 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 window1: 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)

... ... ...

Property Range Meaning/Reference

Page 281: Web Extensions V1200 Programming Guide En

262 May 2008

Content STD Control - Property Listing Controls

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)

StepStartSoftkeysAl-lowed

Default = 2, do not change

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

Property Range Meaning/Reference

Page 282: Web Extensions V1200 Programming Guide En

May 2008 263

Controls Content STD Control - Property Listing

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 page1: 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 page1: 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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)

Property Range Meaning/Reference

Page 283: Web Extensions V1200 Programming Guide En

264 May 2008

Content STD Control - Property Listing Controls

NewWindowLeft Smallest non percentage value = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest 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 = 0Largest non percentage value = 9999Smallest percentage value = 0% ' 10000Largest percentage value = 100% ' 20000. Default = 260

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

Property Range Meaning/Reference

Page 284: Web Extensions V1200 Programming Guide En

May 2008 265

Controls Content STD Control - Property Listing

PinEntry Bitwise calculated field:ggggggffffffffeeeeeeee0dcbbaaaAdd the following valuesa: Activate EPP keys0 = No input1 = Normal input2 = Pin input7 = Automaticb: Pin digits0 = 4-digits8 = 6-digits16 = user definedc: Continue without confirm key0 = off32 = ond: once changed the EPP keys configuration0 = off64 = one: User defined min.:number multiplied by 256f: User defined max.:number multiplied by 65536g: 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.

Property Range Meaning/Reference

Page 285: Web Extensions V1200 Programming Guide En

266 May 2008

Content STD Control - Property Listing Controls

EPPConfigActiveFDK Add the values of the active Softkeys:F1: 1F2: 2F3: 4F4: 8F5: 16F6: 32F7: 64F8: 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: 11: 22: 43: 84: 165: 326: 647: 1288: 2569: 512Enter: 1024Cancel: 2048Clear: 4096Help: 16384DecPoint(*): 262144Res1(,): 32787

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

EPPConfigTermi-nateFDK

Add the values of the terminate Softkeys:F1: 1F2: 2F3: 4F4: 8F5: 16F6: 32F7: 64F8: 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)

Property Range Meaning/Reference

Page 286: Web Extensions V1200 Programming Guide En

May 2008 267

Controls Content STD Control - Property Listing

EPPConfigTermi-nateFK

Add the values for the terminate keys:0: 11: 22: 43: 84: 165: 326: 647: 1288: 2569: 512Enter: 1024Cancel: 2048Clear: 4096Help: 16384DecPoint(*): 262144Res1(,): 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)

Property Range Meaning/Reference

Page 287: Web Extensions V1200 Programming Guide En

268 May 2008

The ActiveStep control Controls

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-

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 returncodeByte 4:0: _self1: _new2: _parent3: _topByte 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: Init0: Do not navigate1: Navigation allowed

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

Property Range Meaning/Reference

Page 288: Web Extensions V1200 Programming Guide En

May 2008 269

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 Trans-action FW, so in general no changes are necessary. Therefore no relevant changes can be done on its property page. It is possible to change the default framework communicated to by the ActiveStep. As an additional framework to communicate with today only the CCServiceFW is supported. If you want the ActiveStep to communicate with the CCService framework you can configure the settings in the HTML code. All corresponding frameworks must contain the special step ProcessStep (pzDummy, pzStepName, pzStepParam). The HTML sourcecode of the ActiveStep looks like:

<object classid="clsid:47ED0993-B589-11D0-9302-0000E8A6CB06" id="ActiveStep1" width="100" height="50">

<param name="_Version" value="65536"><param name="_ExtentX" value="2646"><param name="_ExtentY" value="1323"><param name="_StockProps" value="0"><param name="StepParameter" value><param name="Framework" value>

</object>

The relevant parameters to change the framework communication are StepParameter and Framework.

StepParameter: Here a function input parameter of a step can be defined, which later can be queried by the step. But is is better to fill this parameter in the property page of the Contents STD Control (see also section ’Contents STD control - Step page’ on page 250).

Framework: The framework which should be communicated with can be configured here. The name of the framework must match the synthax in the registry in ...Wincor Nixdorf/ProTopas/Current-Version/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!

Page 289: Web Extensions V1200 Programming Guide En

270 May 2008

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 pressedif (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 stepswitch(sRetCode){

//...different cases...}

}

<SCRIPT LANGUAGE=javascript FOR=ActiveStep1EVENT=RunComplete>

<!--ActiveStep1_RunComplete(arguments[0])//--></SCRIPT>

This function analyzes the return code of the called Step. All possible return codes must be handled in the switch term.

Page 290: Web Extensions V1200 Programming Guide En

May 2008 271

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 instal-lation of the ProTopas/Web-Extensions.

The script - mostly used for navigating after timeout - may be as follows:

<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>

<!--Sub window_onload()

’close after 10 seccall window.setTimeout("callContents.NavigateGotoURL(’close.htm’)",10000)

end sub-->

</script>

It is not admissible to use the Timer of the Contents ATM Control, because this would send a return code to the application instead of closing the instance.

Page 291: Web Extensions V1200 Programming Guide En

272 May 2008

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.

Page 292: Web Extensions V1200 Programming Guide En

May 2008 273

Controls Closing a new browser instance

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.

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

Return code Meaning

Page 293: Web Extensions V1200 Programming Guide En

274 May 2008

Hiding controls with Viewstate variables Controls

Creating sub routines without opening a new Window

When working with frames or having sub routines in full screen it is not advisable to create sub routines by starting the first sub routine page in a new window. There may be a flicker when the new browser instance closes. There is a solution for creating sub routines but navigating in the same browser window. The trick is to use one of the following keywords as a prefix at the link.

WN_TFN_FLAT_SELF: Subroutine is using current frame for navigation

WN_TFN_FLAT_TOP: Subroutine is started in top mode without a frameset

Example for a link: WN_TFN_FLAT_SELFmypage.htm

Additionally there must be no checkbox in a new window activated.

The subroutine still ends with a navigation to close.htm, even if there is no in a new window activated and the variable VAR_DLG_INPUT_RESULT_S has still to be set to InstanceReturnxxx (where xxx is in a range of 000 to 999). So the only difference between a subroutine running in a new browser instance and a subroutine running in the same browser is the prefix keyword and the ’in a new window’ not activated.

Hiding controls with Viewstate variables

The way to hide or show a control is to set a Viewstate variable which is called on one of the following pages. It is not possible to set a Viewstate variable to change the display of a control on the Internet page that is currently loaded. Any change to a Viewstate variable does not take effect until a new page is loaded. This behavior is controlled in so far as every control automatically ascertains the name of its associated Viewstate variable and keeps it as a property. The syntax has been chosen in such a way that the HTML generator recognizes this variable. The HTML generator can now replace the variable when loading the page if it has been defined. If the HTML generator does not find the variable, then this has no further impact. Parameterization of the state on the 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

Page 294: Web Extensions V1200 Programming Guide En

May 2008 275

Controls Unicode Versions of the Controls

Viewstate variable: VAR_CARDOUT_VIEWSTATE_S

This string variable can assume the following states:

VIEW_STATE_DEFAULT_S ( -1): It is not the Viewstate variable that is evaluated but the setting in the State field for the control in question.

VIEW_STATE_UP_S (0): The button has to be shown as up.

VIEW_STATE_PRESSED_S (1): The button has to be shown as pressed (selected).

VIEW_STATE_DISABLED_S (2): The button is to be shown as disabled (not selectable).

VIEW_STATE_HIDDEN_S (3): The button is to be hidden.

These values cannot only be set in a Step but also in a script on the Internet page.

Unicode Versions of the Controls

With version 1.1 there is the possibility to install unicode versions of the controls, which have a visible user interface. These version may be used to display character in those languages that need Unicode to be displayed correctly. It is not complicate to build a static user interface with fixed text on top of the controls. The problem starts, when variable text shall be displayed.

To install the Unicode controls properly, it is necessary to install the Font Arial Unicode MS. This font is needed for some Texts on property pages of the controls. Without this font a standard font is used and all property boxes are spreaded over the property page. Arial Unicode MS can be loaded from Microsofts Internet pages or from the \Tools Directory (Aruniupd.exe) from the ProInstall Developer CD.

There is inserted text from the customer on the one hand and text from host machines on the other hand. Problem is the transition of Unicode characters into the ProTopas environment, because ProTopas Manager itself does not work with unicode data. So the Contents STD/ATM control transfers Unicode data into an array of characters. Depending on the Parameter UseUTF8 (see "UseUTF8" on page 648 in the Parameters chapter) the conversion is done from Unicode to ANSII or from Unicode to UTF8. However, in conversion from Unicode to ANSII some data might get lost. UFT8 is ASCII backwards compatible.

Page 295: Web Extensions V1200 Programming Guide En

276 May 2008

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 trans-mission 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

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

Controls

Button

Edit

List

Epp

SpinEdit

Trace

ContentsSTD/ATM Control

ProTopas

Frameworks

Unicode

Char

Unicode

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

UseUTF8 = 1: Unicode to UTF8

Unicode

Page 296: Web Extensions V1200 Programming Guide En

May 2008 277

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:

ProTopas/Manager Version 3.0/30

TLS-W32 Version 2.0/20

To enable to create an Unicode tracefile, which can be opened in the Notepad-Editor, \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.

Page 297: Web Extensions V1200 Programming Guide En

278 May 2008

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:

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

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

Page 298: Web Extensions V1200 Programming Guide En

May 2008 279

Web Graphical Service components Components of the Internet browser

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

Web Graphical Service componentsThis 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 self-service 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 full-screen mode and makes it possible to intervene in navigation through Internet pages. These are essential prerequisites to make a browser capable of self-service 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.

Page 299: Web Extensions V1200 Programming Guide En

280 May 2008

Components of the Internet browser Web Graphical Service components

Fig. 92: Architecture of the Web Graphical Service

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.

Grafi ccal Service Archite etur

AllowList Control

HTMLGen Control

MS Browser Control

PCBrowser Control

PCView Control

Dialog-Framework

Page 300: Web Extensions V1200 Programming Guide En

May 2008 281

Web Graphical Service components HTML generator

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

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 imple-mented 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 appli-cation 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 Multi-media 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

Page 301: Web Extensions V1200 Programming Guide En

282 May 2008

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:

<BASE HREF="http://fabulous/proconsult/german/Start.htm">

In addition, an anchor in the form

<a ID=PC_GeneratedAnchor href=nopage.htm target=notarget></a>

is inserted at the start of the body of the Internet page. When a new page is accessed, the required Internet page is written to the href property of PC_GeneratedAnchor and PC_GeneratedAnchor is clicked automatically. Now the browser automatically loads the Internet page from its home address.

Page 302: Web Extensions V1200 Programming Guide En

May 2008 283

Web Graphical Service components HTML generator

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

Fig. 93: HTML generator

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

Name:

Account:

Balance:

Martin Miller121210031298765

Name: Martin Miller

Account: 1212100312

Balance: 987,65 DM

Windows NT

ProTopas

ProDevice

SOP

IntranetServer

HOST-System

During loading of the HTML-page the

variables will be filled with data.The browser will be given the completed page for display.

HTML-generator

HTML-Generator

HTML-generator

Page 303: Web Extensions V1200 Programming Guide En

284 May 2008

HTML generator Web Graphical Service components

SNI_PC_VARIABLE WebBot

Sinse Version 1.1/37 from ProTopas/Web-Extensions it is not longer necessary to use a WebBot to insert Variables in the HTML Body outside of the controls. If the syntax:

[# name of PC variable ; formatting of PC variable; default value of PC variable #]

is used, this is sufficient. However, if the pages are shown in Frontpage and a WebBot is used only the preview will be visible. The pages are more readable though.

The dialog page of the WebBot is very simple. It contains the four input boxes described below:

Name of the variable: The name of the variable to be displayed is entered here. Array variables are are possibe, too. To enter the index, the index must be surrounded by [ ] (Example: MyArray[index]).

Formatting of the variable: The required formatting can be selected here from a list. The following values can be selected:

Leave the field empty (no formatting)

D (date - long)

S (date - short)

T (time)

C (currency with decimal places but without currency code)

M (currency with decimal places and currency code)

N (Number)

A free-format mask can also be specified. The @ character is used as a placeholder for the characters to be replaced. All characters other than @ are output at the position in which they appear in the mask. However, the first character must be either < or >. > means that the placeholder characters in the mask are entered from right to left. Leading zeros are suppressed as of the second character before the right-hand separator.< means that the characters are entered from left to right. Example:

Variable: 000345600 Mask: >@@@.@@@ % Result: 345.600 %

Variable: 000000600 Mask: >@@@.@@@ % Result: 0.600 %

Page 304: Web Extensions V1200 Programming Guide En

May 2008 285

Web Graphical Service components HTML generator

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

CCFORMAT:format from CCFormat FW. A format from the ProTopas Format Framework may be used in this case. For more information about the formats see ProTopas Module Construction Kit Programming Guide.

Example: CCFORMAT:#F

Default value of the variable: A default value for the field can be specified here. This default is displayed if the variable does not exist.

Preview value of the variable: Specify the text here, which shall be shown as a placeholder for the WebBot in the page. There are three different views, which are all set with the value entered here:

– The normal view in Frontpage: The PREVIEW="x" value is used.

– The preview view in Frontpage: The local_preview="x" value is used.

– The view in teh browser, when the page is not generated: The x between closing comment and opening of new comment (-->x<!--) is used.

Fig. 94: Inserting a variable by means of WebBot

Internally, a variable entry generates the following HTML syntax via a WebBot:

<!--webbot bot="SNI_PC_Variable" startspan PREVIEW="x" local_preview="x" clientside s-value="[#CCTAFW_PROP_DISPENSE_AMOUNT;M;#]" -->x<!--webbot bot="SNI_PC_Variable" I-CheckSum="120" endspan -->

Page 305: Web Extensions V1200 Programming Guide En

286 May 2008

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 corre-sponding 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

Page 306: Web Extensions V1200 Programming Guide En

May 2008 287

Web Graphical Service components HTML generator

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

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.

Page 307: Web Extensions V1200 Programming Guide En

288 May 2008

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 "Param-eters 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/

GraficalServicePCHTMLGen

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

Page 308: Web Extensions V1200 Programming Guide En

May 2008 289

Web Graphical Service components HTML generator

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

Easy multilanguage support

When all text is edited in the HTML pages in multilanguage applica-tions 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 place-holders 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 "Default-Language" 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/

GraficalServicePCHtmlGen

<language>Text

GeneralText

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.

Page 309: Web Extensions V1200 Programming Guide En

290 May 2008

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

Text001="This is the first text."Base

OutOfService="Device is out of service."100="Thank you."

CashOutTake="Please take your notes."

Please take care to use the Index string as a unique name. It must not exisit twice under the key Text even if it is in different subkeys. As it is said, those subkeys (like Base and CashOut in the example above) are only used for a better structure.

In the HTML page the placeholders for the examples above have the following syntax:

[%WX_TEXT[001]%]

[%WX_TEXT[OutOfService];%]

[%WX_TEXT[Take];Please take your notes.%]

These placeholders can be at every position in the HTML page (in the controls, in normal HTML tags, in the Header, in Scripts, etc.), so the handling is quite different to the WebBots. Secondly these Index strings can not be read through the data dictionary control. If a string shall be used in a script, it is the best to apply it to an internal script variable. These placeholders’ use is only for static text.:

<SCRIPT LANGUAGE="javascript"><!--

try{

myVariable = "[%WX_TEXT[100]%]";...

Page 310: Web Extensions V1200 Programming Guide En

May 2008 291

Web Graphical Service components HTML generator

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

}catch(e){}

//--></SCRIPT>

If WX_TEXT[100] would contain any " signs the upper script would not work properly. In this case you have to create a tag somewhere in the body of a web page ike this:

<p id="100">[%WX_TEXT[100]%]</p>

The script has to be changed to

try{

myVariable = document.getElementById("100").innerText;...

}

Using variables instead of constants in WX_TEXT

This function is available since version 1.1/37 of ProTopas/Web-Extensions.

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%]

Page 311: Web Extensions V1200 Programming Guide En

292 May 2008

AllowList Web Graphical Service components

the second time it replaces the WX_TEXT placeholder with the value from the registry key Value of PC variable or index.

This is the Registry Contents of Value of PC variable

Another possibility to use variables in WX_TEXT is to have variables in the registry constants for WX_TEXT:

ProTopas/CurrentVersion/ActiveX/GraficalService

PCHtmlGen<language>

TextTest="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 gener-ation 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 self-service terminal would enable customers to surf the Internet freely. It is therefore important to allow access to certain Internet pages only. This is done

Page 312: Web Extensions V1200 Programming Guide En

May 2008 293

Web Graphical Service components AllowList

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

by means of firewalls. These are programs which restrict access to Internet pages as a result of parameterization. The AllowList is a very simple firewall. Access restriction is achieved by parameterizing a simple Internet page – the AllowList. This page can be stored locally on the self-service device and on an Internet server. The location of the AllowList is notified to the Web Graphical Service by the ConfigPageURL parameter (see "ConfigPageURL" on page 615 in the Parameters chapter)

The AllowList is an Internet page with a simple table. It is best to edit this page with Microsoft FrontPage. The structure can be seen in Fig. 95: "AllowList". The wildcard character * can be used. The AllowList is parsed from the top to the bottom. So you have to take care about the use of wildcards. Rows without wildcards have to be specified on top of each table.

The AllowList is split up into a section for HTTP:\\ and a section for FILE:\\ access. Local accesses can thus be parameterized differently from Internet accesses. Other protocols can be edited by creating a section for this in the headline of the protocol (f.e. Javascript). Specification of General will include all possible protocols. But please be careful when using a General section because this may allow all actions to Internet pages.

Because the described structure has been enhanced from earlier versions a comment <!-- VERSION 002 --> must be located in the header of the AllowList. If this comment is not available, the Web Graphical Service assumes that the earlier version is installed. This did not contain the Port number. An AllowList with Port number column must contain the Version comment, otherwise an error will be reported.

The latest version of the AllowList inserts a 7th and an optional 8th column in each table. Column 7 may be used to insert own HTML code at different locations in foreign HTML pages before they are loaded in the browser (see also section ’Expand external pages with own code’ on page 296). This version of the AllowList is marked with a comment <!-- VERSION 006 --> in the header of the AllowList. Additionally the path of the reference file must eather be located in a comment in the header <!-- ExpandFileURL C:/ProTopas/Web/Allow/Expand.txt -->.

Page 313: Web Extensions V1200 Programming Guide En

294 May 2008

AllowList Web Graphical Service components

Structure of the AllowList

Fig. 95: AllowList

Column 1 – DOMAIN: The names of all allowed servers are entered here. If * is entered, every server can be accessed. Even native IP-Adresses, symbolized in four 3-digits numbers (nnn.nnn.nnn.nnn) can be edited here. The * can be used at the beginning or end instead of those 3-digit numbers or instead of full server names.

Column 2 – OBJECT: All allowed Internet pages and Web paths are entered here. A domain name can be specified here, too. In this case, however, an * should be specified in the DOMAIN column. Here, it is essential to specify a suffix if you are not operating with the * wildcard. If no DOMAIN is given here, the OBJECT has to begin with a / . DOMAIN and OBJECT added builds the complete Internet adress.

Column 3 – SUFFIX: A file name suffix (e.g. htm) can be entered here in addition. This is not compulsory, though. As a rule, only the * wildcard will be entered here. This column is only intended to allow all files with the same suffix. No file or domain name is allowed to appear in this column, only the file name suffix.

Column 4 – PORT: A special Port number may be edited here. If there is a request to allow only page from a special port, please enter the Port number.

Column 5– GENERATE: This must be set to 1 for all ProTopas Internet pages. All Internet pages marked with a 1 here are generated by the HTML generator and placed in a temporary directory that the TempPath parameter points to (see "TempPath" on page 618 in the Parameters chapter). They are passed to the Web Graphical Service from there. A zero in this column means that the Internet page will not be generated. A zero should be entered

Page 314: Web Extensions V1200 Programming Guide En

May 2008 295

Web Graphical Service components AllowList

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

for all pages that do not belong to the ProTopas application, but are to be loaded from the intranet or Internet. It is important to ensure that all pages belonging to a frameset have the same digit here because the Microsoft technology does not allow pages originating from different sources (temporary directory, domain, hard disk) to communicate with each other for security reasons.

Column 6– TIMER: This determines the timeout period for pages which do not belong to the ProTopas application. This value has to be set to zero for all Internet pages that are part of the ProTopas/Web-Extensions application because the timer is controlled from the pages themselves. The value that is entered here specifies the maximum time in milliseconds that will be waited until the application returns to the home page (see also ’Displaying external pages’ on page 449). But you have to understand, that the timer of the first internet page to be loaded in an instance of the external page mode is used during the complete external page mode session. So the timer of the other pages in this session will be out of interest.

Column 7– INSERTION: This column may be used to insert a reference number for a paragraph in the Expand.txt file (see also section ’Expand external pages with own code’ on page 296). This paragraph contains the reference number, the position where the HTML code should be inserted and the HTML code itself. There may be more than one paragraph to be inserted. Different reference numbers are seperated by a Semicolon.

Column 8– OPTIONAL: This column may be used for optional enhance-ments:

– 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-To-One marketing session the time for this complete session may be entered. If this timer is timing out because of any problem the Web

Page 315: Web Extensions V1200 Programming Guide En

296 May 2008

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 self-service 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

Page 316: Web Extensions V1200 Programming Guide En

May 2008 297

Web Graphical Service components Expand external pages with own code

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

HTML code (more than one line possible)

optional (for Position 301): PC_HTMLGEN_RULE_SEPARATOR

optional (for Position 301): HTML code (more than one line possible)

PC_HTMLGEN_RULE_END

PC_HTMLGEN_RULE_START

...

Reference number specifies the number of the paragraph. It must be identical to the number in column 7 of the AllowList. The range may be from 1 to 16000.

Position specifies, where in the interent page the following HTML code should be inserted. The following positions are allowed:

101 Behind tag <Head>

102 Before tag </Head>

103 Behind tag <Body>

104 Before tag </Body>

110 Inside tag <Body> at the end

201 Don’t generate a tag <Base ...>

202 Dont generate an anchor tag <a ...>

301 Replace, insert or delete tags. Here the position is not predefiend, but any HTML Code can be specified, which should be replaces or behind which the code may be inserted or deleted.

The numbers 201 and 202 may be used to supress the generation of anchor and base tag to navigate in the temp directory. Each generated Internet page is stored in a temp directory, before it is loaded in the browser (see also section ’HTML generator’ on page 281). In the base tag the real address is stored, so a relative navigation will not try to load the page from the temp directory but from the real address.

The supression of the base and anchor tag may be useful, if external pages already have a base tag, which shall not be set twice in an Internet page.

Page 317: Web Extensions V1200 Programming Guide En

298 May 2008

Expand external pages with own code Web Graphical Service components

HTML code may be any kind of HTML sourcecode, inluding scripts and objects.

Each paragraph in the Expand.txt file is separated from the others by the starting sentimel PC_HTMLGEN_RULE_START and the end sentinel PC_HTMLGEN_RULE_END. PC_HTMLGEN_RULE_SEPARATOR is used to separate the code, which should be replaced with the replacement code (only for position 301).

Only for position 301: With this position it is possible to insert, replace or delete HTML tags at each position inside the HTML page, because the tag has to be specified, which should be replaced. Here are examples for inserting, replacing and deleting HTML tags:

Inserting This is any text or tags.behind <p id="myP">this is any paragraph</p>:

PC_HTMLGEN_RULE_START7301<p id="myP">this is any paragraph</p>PC_HTMLGEN_RULE_SEPARATOR<p id="myP">this is any paragraph</p>This is any text or tags.PC_HTMLGEN_RULE_END

Replacing <p id="myP">this is any paragraph</p> with This is any text or tags.:

PC_HTMLGEN_RULE_START7301<p id="myP">this is any paragraph</p>PC_HTMLGEN_RULE_SEPARATORThis is any text or tags.PC_HTMLGEN_RULE_END

Deleting <p id="myP">this is any paragraph</p> :

PC_HTMLGEN_RULE_START7301<p id="myP">this is any paragraph</p>PC_HTMLGEN_RULE_SEPARATORPC_HTMLGEN_RULE_END

Page 318: Web Extensions V1200 Programming Guide En

May 2008 299

Web Graphical Service componentsPrinting HTML pages in windows mode

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

Printing HTML pages in windows mode

The general technique to print a page in windows print mode is to navigate to the URL about:SNI_SURFING_PRINT on the page, which has to be printed. This is automatically handled by the Function Key SURFING_PRINT. This will be found in the SurfingFooter since version 1.1/10 for the external page mode. For the normal mode, a button or a script with a link to about:SNI_SURFING_PRINT has to be placed directly into a page. So an existing print function of any page can be changed towards the self service print function.

If the SURFING_PRINT button is pressed, the Graphical Service searches in all loaded pages for the comment <!-- PC_HTMLGEN_RULE:PRINT_THIS --> If this is found the page will be printed. All pages from a frameset will be printed seperately one after the other like IE itself would do. The comments can be set into the page directly during creation, dynamically by use of a web server or dynamically by the help of the HTML-Generator (see also section ’Expand external pages with own code’ on page 296).

Example for Expand.txt enhancement:

PC_HTMLGEN_RULE_START1102<!-- PC_HTMLGEN_RULE:PRINT_THIS -->PC_HTMLGEN_RULE_END

In the Allow List a number 1 has to be placed into the column INSERTION for each page, which shall be printed Make sure, that even the GENERATE flag is set to 1. The following Parameter has to be set to 1, if the pages shall be checked for print comments.

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

GraficalServicePCBrowser

WebExtPrintCheck = 1

Page 319: Web Extensions V1200 Programming Guide En

300 May 2008

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 recog-nizes that the requested Internet page cannot be loaded within the monitoring time defined in the TimeoutDataReceiveRequest parameter (see "TimeoutDa-taReceiveRequest" 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 appli-cation 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.Change-Language’ 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 automati-cally 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 Param-eters chapter) must be configured correctly. Web Graphical Service will try to

Page 320: Web Extensions V1200 Programming Guide En

May 2008 301

Web Graphical Service componentsSwitching the Web Graphical Service off

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

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 RootPathOf-fline. 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 appli-cation 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 super-vises 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 (0-3600).

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

Page 321: Web Extensions V1200 Programming Guide En

302 May 2008

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 naviga-tions 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

Page 322: Web Extensions V1200 Programming Guide En

May 2008 303

Web Graphical Service components Starting the Web Graphical Service

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

An other way would be to navigate the the reserved keyword WXmarket-ingmode:0.

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript><!--function window_onload(){

//this will stop the transaction timerwindow.navigate("WXmarketingmode:0");

}//--></SCRIPT>

There are start/stop events from PCDialogFW with parameter, where the timer and pagenames can be retrieved with (see also section ’Additional Events’ on page 344).

Supervising the monitoring to the first offline page

The parameter OfflineMonitorTimer (see "OfflineMonitorTimer" on page 622 in the Parameters chapter) may be used to supervise the navigation to the first offline page, when an application page could not be loaded and this has been supervised by WXMonitor (see also section ’Monitoring of navigation to another page’ on page 301). If the timer expires, the Web Graphical Service will be restarted, because the offline handling is the fallback if some problems will occur. But when the offline pages itself are not accessible, it is better to restart the Web Graphical Service.

Starting the Web Graphical Service

As mentioned in the Components of the Internet browser section, the main module of the Web Graphical Service has been implemented as an executable. When the application is launched, this executable is loaded. When it has been initialized, this module loads the HTML home page. This is specified with its complete path in the StartPage parameter (see "StartPage" on page 615 in the Parameters chapter).

The full details contain the word FILE:// followed by the complete path name of the locally stored pages or HTTP:// followed by the domain name of the intranet server and the Web name.

Example: FILE://C:\ProTopas\Web\English\Start.htm

Page 323: Web Extensions V1200 Programming Guide En

304 May 2008

Starting the Web Graphical Service Web Graphical Service components

or 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: RootPath = FILE://C:\ProTopas\WebDefaultLanguage = GermanDoDialog ("Idle");

Page 324: Web Extensions V1200 Programming Guide En

May 2008 305

Web Graphical Service components Hiding the cursor

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

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 imple-mented. 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 language-specific 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:

Page 325: Web Extensions V1200 Programming Guide En

306 May 2008

Language selection Web Graphical Service components

English Internet pages: ProTopas\Web\English

German Internet pages: ProTopas\Web\German

Language-independent images: ProTopas\Web\Images

Language-specific images: ProTopas\Web\English\Images

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("General-MainMenu"). 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\WebChangeLanguage("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

Page 326: Web Extensions V1200 Programming Guide En

May 2008 307

Web Graphical Service components Language selection

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

from an involved Internet page. If you load another frameset from a frame page, this is loaded in the small section of the frame page. The following trick will overlay a frameset over the entire screen:

An Internet page is called without outputs. The new frameset is called from there by means of scripting. The content of the body of this page is the Active VarFW control and the following script:

<script language="JavaScript">

ActiveVarFW.VariableName = "VAR_WEBNAME_S"ActiveVarFW.GetStringValue()FrmSetMenu = ActiveVarFW.VariableValue +

'/English/LanguageFrmSetMenu.htm'

window.setTimeout("top.navigate(FrmSetMenu)",0);

</script>

The VAR_WEBNAME_S variable is set by the Web Graphical Service when the application starts. This variable contains the content from the RootPath parameter (see "RootPath" on page 620 in the Parameters chapter).

Two intermediate pages are thus loaded after a language selection: The first with the script shown above and the second as a frameset page.

The approach of loading a page with scripts followed by a new frameset page should also be taken when the layout needs to be changed while the application is running. If the screen is not split up into frames on information pages, for example, the same approach should be taken as when changing the language.

Changing the complete frameset

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

Page 327: Web Extensions V1200 Programming Guide En

308 May 2008

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

Page 328: Web Extensions V1200 Programming Guide En

May 2008 309

Web Graphical Service components Memory leak of the Internet Explorer

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

Memory leak of the Internet Explorer

The Microsoft Internet Explorer is basically not designed to be used for applica-tions 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 ServiceHandlerRe-quest of an application fw (CCApplic.xpp). When ServiceHandlerRequest is not supported, the method OperatorSessionRequest of an application fw is used.

Page 329: Web Extensions V1200 Programming Guide En

310 May 2008

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 Param-eters 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 CloseCus-tomerService 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.

Page 330: Web Extensions V1200 Programming Guide En

May 2008 311

Web Graphical Service components Memory leak of the Internet Explorer

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

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 appli-cation. 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 Param-eters 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

Page 331: Web Extensions V1200 Programming Guide En

312 May 2008

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/Web-Extensions 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 Set-tings 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 dur-ing the start, that too much memory is used (Default more than 95 % over 5 min-utes) you can also increase the minimum size of the swapfile!

Page 332: Web Extensions V1200 Programming Guide En

May 2008 313

Web Graphical Service components Using the Virtual Keyboard

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

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 alphanu-meric 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/

RESTARTapplication1

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/

RESTARTapplication1

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 Param-eters 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

Page 333: Web Extensions V1200 Programming Guide En

314 May 2008

Using the Virtual Keyboard Web Graphical Service components

it is possible to load it into the middle of the screen, when Pos is set to 4 and the parameters Left (see "Left" on page 602 in the Parameters chapter) and Top (see "Top" on page 602 in the Parameters chapter) are used for specifying the upper left corner.

To activate a virtual Keyboard page at any HTML Page with an Edit Control the following script has to be inserted:

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript><!--function window_onload(){

//this will pop up Virtual keyboardwindow.navigate("WNvikey:START");

}

function window_onunload(){

//this will hide Virtual keyboardwindow.navigate("WNvikey:END");

}//--></SCRIPT>

The navigation to WNvikey:START activates the Virtual Keyboard and the navigation to WNvikey:END deactivates it. In this case the Keyboard is still active but not as the topmost window.

The Virtual Keyboard HTML page itself may be configured to change the layout of the Keyboard. There are a lot of functions to be used in script to activate the Keyboard, as there are:

window.navigate("WNVKstatus:INIT");

INIT is used to tell the Virtual Keyboard instance, that the Keyboard HTML page is ready to start it’s work. So this navigation should be done in an window_onload() function call.

window.navigate("WNVKcom:END");

This navigation stops the Virtual Keyboard entries and brings the Keyboard to the background. May be used for an <End> Button on the Keyboard HTML page.

window.navigate("WNVKcom:MOVE");

Page 334: Web Extensions V1200 Programming Guide En

May 2008 315

Web Graphical Service components Using the Virtual Keyboard

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

This navigation moves to keyboard into the edges clockwise. May be used for a <move> Button on the Keyboard HTML page.

window.navigate("WNVKpos:LLLLTTTTWWWWHHHH");

This navigation moves to keyboard to the specified position and resizes it.LLLL - Distance from left side of screen to upper left cornerTTTT- Distance form top of screen to upper left cornerWWWW - WidthHHHH - Height

window.navigate("WNVKpos:MAX");

This keyword is used to maximize the virtual keyboard, when it is started minimized (by use of parameter MAXonStart=0). This might be useful, when another keyboard layout shall be used by scripting.

window.navigate("WNVKpos:MIN");

This keyword is used to minimize the virtual keyboard, when it stays maximized after end (by use of parameter MINonEnd=0).

window.navigate("WNVKpos:SHOW");

This keyword is used to activate and show the virtual keyboard instance. The difference between WNVKpos:MAX and WNVKpos:SHOW is that the maximize animation on a slow PC is not shown when using the WNVKpos:SHOW keyword.

window.navigate("WNVKpos:HIDE");

This keyword is used to deactivate and hide the virtual keyboard instance. The difference between WNVKpos:MIN and WNVKpos:HIDE is that the minimize animation on a slow PC is not shown when using the WNVKpos:HIDE keyword.

window.navigate("WNVKcom:FOCUS");

This navigation gives the focus back to the HTML page with the Edit Control.

window.navigate("WNVKkey:XXXYY");

This navigation sends the selected key to the Virtual Keyboard instance and gives the focus to the HTML page with the Edit Control. The Instance pops this key into the Keyboard buffer of the Operating System.

XXX: Virtual Key codeYY: shift state

Page 335: Web Extensions V1200 Programming Guide En

316 May 2008

Using the Virtual Keyboard Web Graphical Service components

Example: ’WNVKkey:07501’this will send SHIFT + VK_K, if you have a western keyboard layout in your aplication(process) you will get: ’K’

window.navigate("WNVKchar:ZZZZZ");

This navigation sends the selected Character to the Virtual Keyboard instance and gives the focus to the HTML page with the Edit Control. The Instance pops this key into the Keyboard buffer of the Operating System.

ZZZZZ: numerical value of UNICODE character

Example: ’WNVKchar:8364’ (’€’ = ’8364’)If you have set a german keyboard layout this will send CTRL + ALT + VK_E, You will get:’€’.

window.navigate("WNVKtrclog:XXXTTTTTT");

This navigation write a trace into the TLS Tracelog. XXX specifies the tracebit and TTTTTT the trace text. The text is transferred into the Graphical Service as 100this%20is%20analyse%20trace! Only the %20 is replaced by a blank from the Graphical Service.

The tracebit has to be in the range of 000 to 255

window.navigate("WNVKerrlog:XXXTTTTTT");

This navigation writes an Error into the TLS Errorlog. XXX specifies the error number and TTTTTT the error text. The text is transferred into the Graphical Service as 10this%20is%20an%20error! Only the %20 is replaced by a blank from the Graphical Service.

The error number has to be one of the following numbers. It has to be stored decimal, but will show up in the error log in hex:

HEX DEC StCode Type Cause

0101 257 CCVK_GENERALEXCEPTION

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

0102 258 CCVK_MEMORYEXCEPTION

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

Page 336: Web Extensions V1200 Programming Guide En

May 2008 317

Web Graphical Service components Using the Virtual Keyboard

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

Example:

<a href="WNVKerrlog:272this is a error log!">error</a>

ERROR DUMP:

12/09 061024 14:09:51.06 TRCERR CC_ENTRY PID:00000464.0000043C Data:128Type : Installation Error 0x64Module : CCVK (783) StClass: 0x6420Process: CCVK.exeAPIName: HTML ERRORStCode : CCVK_GENERAL_ERROR (0x24000110)SrcName: CCVKDlg.cpp SrcLine: 763Add : 'this is a error log!'Cause : A general ERROR inside the module/control

0103 259 CCVK_FILEEXCEPTION

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

0104 260 CCVK_INTERNETEXCEPTION

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

HEX DEC StCode Type Cause

Page 337: Web Extensions V1200 Programming Guide En

318 May 2008

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. ScriptAt-Start (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 "Window-Placement" 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

Page 338: Web Extensions V1200 Programming Guide En

May 2008 319

Web Graphical Service components Using the Virtual Keyboard

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

CheckMEMMax (see "CheckMEMmax" on page 606 in the Param-eters chapter) is the maximum amount of memory which might be allocated in CCVK.exe until the memory check will restart the instance. KillHardWAIT (see "KillHardWAIT" on page 606 in the Parameters chapter) will additionally check at restart situations, if CCVK.exe is really restarting. Othervice the complete application will be switched off.

There are a few container variables, which might be used to check the state of the Virtual Keyboard or which might be used as container array variables itself for what ever purpose they are needed. The following variables are available:

CCVK_VAR_CONTAINER_L [0-255]

CCVK_VAR_CONTAINER_S [0-255]

CCVK_VAR_STATUS_L (read only)

This variable will have the contents

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.

Meaning value

Virtual Keyboard has an error -1

Virtual Keyboard is ready 0

Virtual Keyboard is active 1

Page 339: Web Extensions V1200 Programming Guide En

320 May 2008

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 START27/08/2002 10:20:02 C:\PROTOPAS\Web\English\OutOfService.htm27/08/2002 10:20:06 C:\PROTOPAS\Web\English\OutOfService.htm

Page 340: Web Extensions V1200 Programming Guide En

May 2008 321

Web Graphical Service componentsResizing the Web Graphical Service on a

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Gra

fical

Ser

vice

.fm

27/08/2002 10:20:16 C:\PROTOPAS\Web\English\OutOfService1.htm27/08/2002 10:20:17 file://C:\PROTOPAS\Web\English\CardInsert.htm27/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).

Page 341: Web Extensions V1200 Programming Guide En

322 May 2008

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.

Page 342: Web Extensions V1200 Programming Guide En

May 2008 323

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

Interaction with other frameworks

Methods from the following frameworks are used:

Data Framework (mandatory)

Variable Framework (optional)

Data Dictionary Framework (optional). If the framework is not loaded a warning is written into the trace.

Variables that are set and read to interact with the calling application are specified within the HTML pages.

They may be accessed either through the Variable Framework or through the Data Dictionary Framework. If the data dictionary is used, the variables must be supported by the calling framework.

Page 343: Web Extensions V1200 Programming Guide En

324 May 2008

Dialog Framework

Public Interface

The Dialog Framework is implemented in the class ’CCDialogFW’. The Public Interface is defined completely in the include file CCDialog.xpp. It contains all public functions, events and required definitions for data structures and return codes.

Methods

The following public methods are defined in the dialog class:

CCDialogFW.Openopens the Dialog Framework

CCDialogFW.Closecloses the Dialog Framework

CCDialogFW.GetbStatusreturns the status of the PIN service

CCDialogFW.DoDialogcontrols the dialog

CCDialogFW.DoDialogAsynccontrols the dialog (asynchronous version)

CCDialogFW.CancelDialogcancels the currently active dialog

CCDialogFW.ChangeLanguagedefines a new secondary language

CCDialogFW.InitParmsrereads the "OPEN" section from the configuration parameters.

CCDialogFW.GetInputStringreturns the string entered by the customer or associated with the function key pressed.

CCDialogFW.GetInputLengthreturns the length of the data entered by the customer.

CCDialogFW.GetTerminateCharreturns the code of the termination key pressed by the customer.

CCDialogFW.Activatebrings the dialog window into the foreground.

Page 344: Web Extensions V1200 Programming Guide En

May 2008 325

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

CCDialogFW.Deactivatestops automatic activation of the dialog window.

Definitions and data structures

The class CCDialogFW contains the following definitions and data structures:

Return codes:

Status flags:

Events

This framework does not issue any events.

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

Definition Value

CCDIALOG_OPERATIONAL 0

CCDIALOG_NOT_OPERATIONAL 1

Page 345: Web Extensions V1200 Programming Guide En

326 May 2008

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.

Page 346: Web Extensions V1200 Programming Guide En

May 2008 327

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

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.

Page 347: Web Extensions V1200 Programming Guide En

328 May 2008

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.

Page 348: Web Extensions V1200 Programming Guide En

May 2008 329

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

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)

Page 349: Web Extensions V1200 Programming Guide En

330 May 2008

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.

Page 350: Web Extensions V1200 Programming Guide En

May 2008 331

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

CCDialogFW.DoDialogAsync

Syntax:

SHORT DoDialogAsync(

CCFRMW_JOB_STATUS *pJobState

CHAR *szDialogName

CHAR *szDialogFlags

)

Asynchronous version of CCDialogFW.DoDialog. Description see above.

Page 351: Web Extensions V1200 Programming Guide En

332 May 2008

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.

Page 352: Web Extensions V1200 Programming Guide En

May 2008 333

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

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.

Page 353: Web Extensions V1200 Programming Guide En

334 May 2008

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.

Page 354: Web Extensions V1200 Programming Guide En

May 2008 335

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

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.

Page 355: Web Extensions V1200 Programming Guide En

336 May 2008

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.

Page 356: Web Extensions V1200 Programming Guide En

May 2008 337

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

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/

PCContentsEPPKey

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

Page 357: Web Extensions V1200 Programming Guide En

338 May 2008

Dialog Framework

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.

NUMERIC_KEY_6 6

NUMERIC_KEY_7 7

NUMERIC_KEY_8 8

NUMERIC_KEY_9 9

Key Code

Page 358: Web Extensions V1200 Programming Guide En

May 2008 339

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

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

Page 359: Web Extensions V1200 Programming Guide En

340 May 2008

Dialog Framework

CCDialogFW.Deactivate

Syntax:

SHORT Deactivate (

VOID

)

Function:

This function stops the automatic activation of the dialog window.

For remarks see the ’Activate’ function.

Return values:

CCDIALOG_OK (0)

The function completed successfully.

CCDIALOG_ERROR (-2)

An error occurred executing the function.

CCDIALOG_IGNORED (-500)

The Dialog is already deactivated.

Access to customer input

The results from an input element are supported in extended handling. They are available in three different ways: access through the Data Dictionary Framework, through the Variable Framework or by methods of the Dialog Framework. These methods have already been described (see also section ’Specification of the methods’ on page 326).

In the case of access through variables, the following variable names are used by default unless other variables are specified within the configuration of the dialog element:

DLG_INPUT_RESULT_COUNT

contains the number of characters entered by the customer

Page 360: Web Extensions V1200 Programming Guide En

May 2008 341

Dialog Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\D

ialo

gFW

.fm

DLG_INPUT_RESULT_STRING

contains the string entered by the customer or specified in the dialog configuration

DLG_INPUT_RESULT_TERM

contains the code of the key that terminates the input

For the Data Dictionary these default variables are held within the Dialog Framework and read access is permitted. In the case of an abnormal end of an input (cancel, time out) you will receive the return code CCDATADICTFW_PROPERTY_NOT_SET.

Trace and error logging

Trace and error logging for the Dialog Framework is initialized under the number 852.

The following trace levels are defined:

The error entries including description are in the rch file "852FERS.eng"

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

Page 361: Web Extensions V1200 Programming Guide En

342 May 2008

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-Exten-sions/ExtraLink" on page 21) please make sure, that the PCDialog proxy object is created after CCDialog.exe ist started.

Parameters

The dialogs in this implementation are described using a very flexible parameter scheme. Configuration of the Graphical Service requires numerous parameters and will be described in a separate chapter. See also chapter ’Parameters’ on page 597.

Interaction with other frameworks

Methods from the following frameworks are used:

Variable Framework (optional, but one is mandatory)

Data Dictionary Framework (optonal, but one is mandatory)

Check Framework (only when using the ProTopas/Web-Extensions Controls)

EPP Framework (only when using the ProTopas/Web-Extensions Controls)

Variables that are set and read to interact with the calling application are specified within the HTML page definitions.

They may be accessed either through the Variable Framework or through the Data Dictionary Framework. If the data dictionary is used, the variables must be supported by the calling framework.

Page 362: Web Extensions V1200 Programming Guide En

May 2008 343

PCDialog framework

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

PC

Dia

logF

W.f

m

Public Interface

The PCDialog framework is implemented in the class ’PCDialogFW’. The public interface is defined completely in the include file PCDialog.xpp and CCDialog.xpp. PCDialog.xpp is an overlay of CCDialog.xpp. PCDialog.xpp contains additional public functions, events and required definitions for data structures and return codes. This can be

Methods

The following public methods are defined in the PCDialog class:

PCDialogFW.Formatformats a string with the given format ID. This is used for amount and date formatting.

PCDialogFW.PutIUnknownfor internal use only

PCDialogFW.CleanIUnknownfor internal use only

PCDialogFW.AllowUserInputfor internal use only

PCDialogFW.ForbidUserInputfor internal use only

PCDialogFW.Killclose CCDialog.exe

PCDialogFW.GetHWNDreturns the HWND of CCDialog.exe application.

PCDialogFW.GetFWNamereturns the name of the framework

PCDialogFW.GetPropertyreturns different types of Data Dictionary variables

PCDialogFW.SetPropertysets different types of Data Dictionary variables

PCDialogFW.ChangeLanguagesets the language for the user interface.

Page 363: Web Extensions V1200 Programming Guide En

344 May 2008

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:

Additional Events

The class PCDialogFW issues the following additional events:

CCDIALOG_MODE_SURFING_START

Send at start of surfing mode.

CCDIALOG_MODE_SURFING_END

Send at end of surfing mode.

CCDIALOG_MODE_NORMAL_START

Send at startup of the Web Graphical Service.

CCDIALOG_MODE_NORMAL_END

Send at shutdown of Web Graphical Service because of an exception or after calling the kill() function.

CCDIALOG_MODE_MARKETING

Send at start and stop of transaction supervision configured by allow list.

It contans the parameter MM_DATA:

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

Page 364: Web Extensions V1200 Programming Guide En

May 2008 345

PCDialog framework

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

PC

Dia

logF

W.f

m

typedef struct _mm_data{

SHORT Event; // the reason of the event [1 start, 2 endok, 3 end timer, 4 end offline, 5 end forced]

CHAR strStartPage[512]; //the page that started MMCHAR strEndPage[512]; // the page that ended MMLONG lTimeout; // timeout valueSYSTEMTIME timeStart; // start time of MMSYSTEMTIME timeEnd; // end time of MM

} MM_DATA, * LPMM_DATA;

Additional interface function:

Specification of the methods

In the following section all public methods are described in detail:

Definition Value

CCDIALOG_FUNC_FORMAT 500

CCDIALOG_FUNC_KILL 505

CCDIALOG_FUNC_GET_HWND 506

Page 365: Web Extensions V1200 Programming Guide En

346 May 2008

PCDialog framework

PCDialogFW.Format

Syntax:

SHORT Format(

CHAR * szContents

CHAR * szFormat

CHAR * szFormated

SHORT sFormatedLength

)

Function:

This function formats the input string with the format ID in the format parameter. The return value is given back in the third parameter, its length in the fourth.

Parameters:

szContents (IN)

pointer to a character buffer to store the input string

szFormat (IN)

Format identifier. This parameter specifies the format the szContents input string should be formatted with. The following formats are defined:

D: Long date format

S: Short date format

T: Time format

C: Currency format without currency sign

M: Currency format with currency sign

Free format: Build a mask with @ as placeholder sign. First sign ’<’: Placeholder characters are replaced from left to right. First sign ’>’: Placeholder characters are replaced from right to left.

(see also section ’SNI_PC_VARIABLE WebBot’ on page 284)

Page 366: Web Extensions V1200 Programming Guide En

May 2008 347

PCDialog framework

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

PC

Dia

logF

W.f

m

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.

Page 367: Web Extensions V1200 Programming Guide En

348 May 2008

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-Exten-sions/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.

Page 368: Web Extensions V1200 Programming Guide En

May 2008 349

PCDialog framework

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

PC

Dia

logF

W.f

m

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.

Page 369: Web Extensions V1200 Programming Guide En

350 May 2008

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.

Page 370: Web Extensions V1200 Programming Guide En

May 2008 351

PCDialog framework

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

PC

Dia

logF

W.f

m

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

Page 371: Web Extensions V1200 Programming Guide En

352 May 2008

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.

Page 372: Web Extensions V1200 Programming Guide En

May 2008 353

PCDialog framework

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

PC

Dia

logF

W.f

m

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.

Page 373: Web Extensions V1200 Programming Guide En

354 May 2008

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 interac-tions methods

70

PROPPAGE_INIT Property Pages init methods

71

PROPPAGE_IMPORTANT

Property Pages important message

72

CDIB_IN Class CDIB - in method 80

Page 374: Web Extensions V1200 Programming Guide En

May 2008 355

PCDialog framework

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

PC

Dia

logF

W.f

m

The error entries including description are in the rch file "770FERS.eng"

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

Definition Description Value

Page 375: Web Extensions V1200 Programming Guide En

356 May 2008

PCDialog framework

Page 376: Web Extensions V1200 Programming Guide En

May 2008 357

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

Virtual Keyboard Framework

The class of the Virtual Keyboard Framework is called ’CCVKfw’. In the following text ’VK’ is used as abbreviation.

The class CCVKfw is a summary of routines to handle the virtual keyboard. The main task of the class CCVKfw is the simulating the key press of a real keyboard.

Release specification

Version 1.0 of the class CCVKfw is released in a EXE named ’CCVK.EXE’.

Applications using this EXE have to include the file CCVK.XPP.

Start this EXE allways in separat process!

Note: VK is an MFC application using IE! VK is GUI application and the GUI is displayed as a HTML page.

Configuration

The logical name of the Virtual keyboard Framework is ’CCVK’.

Parameter

The following four parameters must be configured for the Virtual keyboard Framework. If the parameter is missing, default values will be used and an error will be generated.

Section "ACTIVEX\GraphicalService\VK"

Href

Specifies the URL of a HTML page for VK dialog.

Type: StringDefault: "about:blank"

Width

Page 377: Web Extensions V1200 Programming Guide En

358 May 2008

Virtual Keyboard Framework

Specifies the width for VK dialog.

Type: DwordDefault: 100

Height

Specifies the height for VK dialog.

Type: DwordDefault: 100

Pos

Specifies the position at screen for VK dialog.

Type: StringDefault: "2"Range: "0" - Up left.

"1" - Up right."2" - Down right."3" - Down left."4" - 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: DwordDefault: 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: DwordDefault: 0

Page 378: Web Extensions V1200 Programming Guide En

May 2008 359

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

The following parameters are optional for the Virtual keyboard Framework. If the parameter is missing, default values will be used.

Section "ACTIVEX\GraphicalService\VK"

ScriptLanguage

Specifies the language for the start/end scripts.

Type: StringDefault: "javascript"

ScriptAtStart

Specifies the script that will be executed at start of VK session.

Type: StringDefault: ""

ScriptAtEnd

Specifies the script that will be executed at end of VK session.

Type: StringDefault: ""

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

Page 379: Web Extensions V1200 Programming Guide En

360 May 2008

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: DwordDefault: 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: DwordDefault: 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: DwordDefault: 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 Termi-nateProcess(). In this case even hangups with a hanging main thread will be snapped.

Type: DwordDefault: 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.

Page 380: Web Extensions V1200 Programming Guide En

May 2008 361

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

Type: DwordDefault: 1Range: 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: DwordDefault: 1Range: 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: DwordDefault: 1Range: 0 - nothing on init, start & stop

1 - MIN on init, MAX on start, MIN on stop2 - HIDE on init, SHOW on start, HIDE on stop

Interactions with other frameworks

Methods from the following frameworks are used:

none

Public interface

The public interface is completely defined in the includefile CCVK.xpp.It contains all the public functions, events and the required definitions for data structures and returncodes.

Page 381: Web Extensions V1200 Programming Guide En

362 May 2008

Virtual Keyboard Framework

Methods

The following public member functions are defined in class CCVKfw:

CCVKfw.Opendo nothing.

CCVKfw.Closedo nothing.

CCVKfw.InitParmsdo nothing.

CCVKfw.GetStatusreturns a state of a framework.

CCVKfw.VK_Startstart a VK session.

CCVKfw.VK_Endend a VK session.

CCVKfw.Killkill a framework instance.

Page 382: Web Extensions V1200 Programming Guide En

May 2008 363

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

Defines and data structures

The class CCVKfw contains the following defines and data structures:

Error defintions

Returncodes for GetStatus

Data dictionary variables

VK_APP_DATA

The structure ’VK_APP_DATA’ is composed of the following components:

HWND hwndAppSpecifies the hWnd of calling application

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

define value

CCVK_NOK -1

CCVK_READY 0

CCVK_ACTIVE 1

name array

CCVK_VAR_CONTAINER_L 0 - 255

CCVK_VAR_CONTAINER_S 0 - 255

CCVK_VAR_STATUS_L (contains returncodes for GetbStatus)

Page 383: Web Extensions V1200 Programming Guide En

364 May 2008

Virtual Keyboard Framework

Events

The CCVK framework issues the following events:

CCVK_VK_INIT

This event is sent when the framework is ready.

CCVK_VK_START

This event is sent when the session is started.

CCVK_VK_END

This event is sent when the session is ended.

CCVK_VK_ACTION

This event is sent when the framework got focus.

CCVK_VK_EXIT

This event is sent when the framework is exiting (restart).

CCVK_VK_WINDOW_MIN

This event is sent when the framework is minimized.

CCVK_VK_WINDOW_MAX

This event is sent when the framework is maximized.

CCVK_VK_OFFLINE

This event is sent when the requested page cannot be loaded.

Page 384: Web Extensions V1200 Programming Guide En

May 2008 365

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

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

Page 385: Web Extensions V1200 Programming Guide En

366 May 2008

Virtual Keyboard Framework

CCVKfw.Close

Syntax:

SHORT CCVKfw.Close(

VOID

)

Function:

Do nothing.

Return values:

CCVK_OK (0)

Nothing happend

Page 386: Web Extensions V1200 Programming Guide En

May 2008 367

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

CCVKfw.InitParms

Syntax:

SHORT CCVKfw.InitParms(

VOID

)

Function:

Do nothing.

Return values:

CCVK_OK (0)

Nothing happend

Page 387: Web Extensions V1200 Programming Guide En

368 May 2008

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

Page 388: Web Extensions V1200 Programming Guide En

May 2008 369

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

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

Page 389: Web Extensions V1200 Programming Guide En

370 May 2008

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!

Page 390: Web Extensions V1200 Programming Guide En

May 2008 371

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

CCVKfw.Kill

Syntax:

SHORT CCVKfw.Kill(

VOID

)

Function:

Force VK framework to restart itself.

Return values:

FrmAsyncResolve() return values

Page 391: Web Extensions V1200 Programming Guide En

372 May 2008

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 comuni-cating 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:

<html>

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

<body scroll="no" onclick="window.navigate('WNVKcom:FOCUS')">

<a href="WNVKkey:07501">send a key 'K'</a>

<a href="WNVKcom:MOVE">move window</a>

<a href="WNVKcom:END">end session</a>

<script>

<!--

window.navigate("WNVKstatus:INIT");

-->

</script>

</body>

</html>

Note: <body> ’onclick’ event ensure that VK framework give focus away!

Page 392: Web Extensions V1200 Programming Guide En

May 2008 373

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

Public interface

METHODES

WNVKstatus:INITcall this methode once after a HTML page is ready. It will set a framework state to CCVK_READY! After this a sessions can be started.

WNVKcom:ENDend session, give focus away.

WNVKcom:MOVEmove window, give focus away.

WNVKcom:FOCUSgive focus away

WNVKkey:XXXYYsend a key press sequence if session ongoing, give focus away.XXX is a Virtual Key code, YY is a shift state, see the following list for posible values!Example: ’WNVKkey:07501’this will send SHIFT + VK_K, if you have a western keyboard layout in your aplication(process) you will get: ’K’.

WNVKchar:ZZZZZsend a key press sequence if session ongoing, give focus away.ZZZZZ is a numerical value of UNICODE charecter you want to be sent!Example:’WNVKchar:8364’, NOTE ’€’ = ’8364’if you have set a german keyboard layout for VK application(process) this will send CTRL + ALT + VK_E, in your application(process) if you have set a german keyboard layout you will get:’€’.

WNVKpos:LLLLTTTTWWWWHHHHThis 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 cornerTTTT- Distance form top of screen to upper left cornerWWWW - WidthHHHH - Height

WNVKpos:MAXThis 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.

Page 393: Web Extensions V1200 Programming Guide En

374 May 2008

Virtual Keyboard Framework

WNVKpos:MINThis keyword is used to minimize the virtual keyboard, when it stays maximized after end (by use of parameter MINonEnd=0).

WNVKpos:SHOWThis keyword is used to activate and show the virtual keyboard instance.

WNVKpos:HIDEThis keyword is used to deactivate and hide the virtual keyboard instance.

WNVKtrclog:XXXTTTTTT

This navigation write a trace into the TLS Tracelog. XXX specifies the tracebit and TTTTTT the trace text. The text is transferred into the Graphical Service as 100this%20is%20analyse%20trace! Only the %20 is replaced by a blank from the Graphical Service.

WNVKerrlog:XXXTTTTTT

This navigation write an Error into the TLS Errorlog. XXX specifies the error number and TTTTTT the error text. The text is transferred into the Graphical Service as 10this%20is%20an%20error! Only the %20 is replaced by a blank from the Graphical Service.

Please be careful by using those logging possibilities together with a real navigation. This could guide to double navigations which will harm the system. it is always a good idea to use window.setTimeout() when a few traces and a navigation shall be performed quickly one after another.

EVENTS

ScriptAtStartat start of session, before maximize.

ScriptAtEndat end of session, before minimize.

Page 394: Web Extensions V1200 Programming Guide En

May 2008 375

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

SHIFT STATE

00no additional key pressed.

01SHIFT key pressed.

02CTRL key pressed.

03SHIFT and CTRL keys pressed.

04ALT key pressed.

05SHIFT and ALT keys pressed.

06CTRL and ALT keys pressed.

07SHIFT and CTRL and ALT key pressed.

VIRTUAL KEY CODE LIST

001VK_LBUTTON

002VK_RBUTTON

003VK_CANCEL

004VK_MBUTTON

008VK_BACK

009VK_TAB

0x0CVK_CLEAR

Page 395: Web Extensions V1200 Programming Guide En

376 May 2008

Virtual Keyboard Framework

0x0DVK_RETURN

0x10VK_SHIFT

0x11VK_CONTROL

0x12VK_MENU

0x13VK_PAUSE

0x14VK_CAPITAL

0x15VK_KANA

0x17VK_JUNJA

0x18VK_FINAL

0x19VK_KANJI

0x1BVK_ESCAPE

0x1CVK_CONVERT

0x1DVK_NONCONVERT

0x1EVK_ACCEPT

0x1FVK_MODECHANGE

0x20VK_SPACE

Page 396: Web Extensions V1200 Programming Guide En

May 2008 377

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

0x21VK_PRIOR

0x22VK_NEXT

0x23VK_END

0x24VK_HOME

0x25VK_LEFT

0x26VK_UP

0x27VK_RIGHT

0x28VK_DOWN

0x29VK_SELECT

0x2AVK_PRINT

0x2BVK_EXECUTE

0x2CVK_SNAPSHOT

0x2DVK_INSERT

0x2EVK_DELETE

0x2FVK_HELP

048VK_0

Page 397: Web Extensions V1200 Programming Guide En

378 May 2008

Virtual Keyboard Framework

049VK_1

050VK_2

051VK_3

052VK_4

053VK_5

054VK_6

055VK_7

056VK_8

057VK_9

065VK_A

066VK_B

067VK_C

068VK_D

069VK_E

070VK_F

071VK_G

Page 398: Web Extensions V1200 Programming Guide En

May 2008 379

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

072VK_H

073VK_I

074VK_J

075VK_K

076VK_L

077VK_M

078VK_N

079VK_O

080VK_P

081VK_Q

082VK_R

083VK_S

084VK_T

085VK_U

086VK_V

087VK_W

Page 399: Web Extensions V1200 Programming Guide En

380 May 2008

Virtual Keyboard Framework

088VK_X

089VK_Y

090VK_Z

0x5BVK_LWIN

0x5CVK_RWIN

0x5DVK_APPS

0x60VK_NUMPAD0

0x61VK_NUMPAD1

0x62VK_NUMPAD2

0x63VK_NUMPAD3

0x64VK_NUMPAD4

0x65VK_NUMPAD5

0x66VK_NUMPAD6

0x67VK_NUMPAD7

0x68VK_NUMPAD8

0x69VK_NUMPAD9

Page 400: Web Extensions V1200 Programming Guide En

May 2008 381

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

0x6AVK_MULTIPLY

0x6BVK_ADD

0x6CVK_SEPARATOR

0x6DVK_SUBTRACT

0x6EVK_DIVIDE

0x6FVK_LBUTTON

0x70VK_F1

0x71VK_F2

0x72VK_F3

0x73VK_F4

0x74VK_F5

0x75VK_F6

0x76VK_F7

0x77VK_F8

0x78VK_F9

0x79VK_F10

Page 401: Web Extensions V1200 Programming Guide En

382 May 2008

Virtual Keyboard Framework

0x7AVK_F11

0x7BVK_F12

0x7CVK_F13

0x7DVK_F14

0x7EVK_F15

0x7FVK_F16

0x80VK_F17

0x81VK_F18

0x82VK_F19

0x83VK_F20

0x84VK_F21

0x85VK_F22

0x86VK_F23

0x87VK_F24

0x90VK_NUMLOCK

0x91VK_SCROLL

Page 402: Web Extensions V1200 Programming Guide En

May 2008 383

Virtual Keyboard Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

vk.f

m

0xE5VK_PROCESSKEY

0xF6VK_ATTN

0xF7VK_CRSEL

0xF8VK_EXSEL

0xF9VK_EREOF

0xFAVK_PLAY

0xFBVK_ZOOM

0xFCVK_NONAME

0xFDVK_PA1

0xFEVK_OEM_CLEAR

Page 403: Web Extensions V1200 Programming Guide En

384 May 2008

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

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

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

Page 404: Web Extensions V1200 Programming Guide En

May 2008 385

WXPTBridge Overview

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

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!

Page 405: Web Extensions V1200 Programming Guide En

386 May 2008

Public interface WXPTBridge

Public interface

ActiveX interface is defined in WXPTBRIDGELib. There are dispinterface _DWXPTBridge for methods and properties, and dispinterface _DWXPTBridgeEvents for events.

ProTopas functionality:

– ProTopas Functions

PTFunction

PTFunctionEnd

– ProTopas Events

PTEvent

RegisterForEvents

DeregisterForEvents

ListeningForEvents

Helper:

– ConvStr2Hex

– ConvHex2Str

– GetWXText from version 1003

ErrorHandling:

– BridgeError

– testErrors

Status:

– BridgeStatus

– BridgeErrors

– PTName

Logging:

– Log

Page 406: Web Extensions V1200 Programming Guide En

May 2008 387

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

Methods

short PTFunction(BSTR strFW, short sID, BSTR strParam1, short sLen1, BSTR strParam2, short sLen2, BSTR strParam3, short sLen3, long lIndex)

short RegisterForEvents(BSTR strFW)

short DeregisterForEvents(BSTR strFW)

BSTR ConvStr2Hex(BSTR strData)

BSTR ConvHex2Str(BSTR strData)

BSTR testErrors(short eID)

void Log(BSTR strLog, short sLogType)

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

Page 407: Web Extensions V1200 Programming Guide En

388 May 2008

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

Page 408: Web Extensions V1200 Programming Guide En

May 2008 389

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

Return value

NOTE: PTFunctionEnd’s short sIndex is the same as OK, index for this job!

Type Name Description

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

Page 409: Web Extensions V1200 Programming Guide En

390 May 2008

Public interface WXPTBridge

Parameters description

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!

Type Name Range Description

BSTR strFW char, length: [1-32]

Framework name

Short sID [0- 32767] Function ID

BSTR strParam1 char, length: [0-65534,even]

Parameter1 as byte array of HEXs

Short sLen1 [0- 32767] Parameter1 length of byte array

BSTR strParam2 char, length: [0-65534,even]

Parameter2 as byte array of HEXs

Short sLen2 [0- 32767] Parameter2 length of byte array

BSTR strParam3 char, length: [0-65534,even]

Parameter3 as byte array of HEXs

Short sLen3 [0- 32767] Parameter3 length of byte array

Long lIndex ULONG Parameter4

Page 410: Web Extensions V1200 Programming Guide En

May 2008 391

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

There are 4 possible in/out combinations of BSTR strParam, short sLen pairs:

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:

Fire Events

– PTFunctionEnd, when successful with return values of function!

– BridgeError, when something gets wrong in bridge itself! PTFunc-tionEnd will not be fired for this call!

Combin. BSTR short Converting Void*

NULL 0 0 NULL

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]

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

Description of situation when a Bridge Error is fired! BridgeErroreID

Sync Call failed, delete of CMap entry failed, memory leak! 4

Async Call failed, Some parameters out of range. 18

Page 411: Web Extensions V1200 Programming Guide En

392 May 2008

Public interface WXPTBridge

Change Properties

– BridgeErrors

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

Description of situation when a Bridge Error is fired! BridgeErroreID

Page 412: Web Extensions V1200 Programming Guide En

May 2008 393

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

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 Regis-terForEvents is mapping of ProTopas CCFrameWork class FrmRegister-ForEvents function:

SHORT FrmRegisterForEvents(PSZ pszEventSender)

Conditions

– BridgeStatus >= 1

– strFW is not already sniffed!

Return value

Parameters description

Fire Events

– PTEvent, when OK and Framework fire!

Type Name Description

Short sRet 0 OK, remain error!

Type Name Range Description

BSTR strFW char, length: [1-32]

Framework name

Page 413: Web Extensions V1200 Programming Guide En

394 May 2008

Public interface WXPTBridge

– BridgeError, when something gets wrong in bridge itself at event handling!

Change Properties

– BridgeErrors

– ListeningForEvents

– BridgeStatus

Description of situation when a Bridge Error is fired! BridgeErroreID

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

Page 414: Web Extensions V1200 Programming Guide En

May 2008 395

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

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

Parameters description

Fire Events

– none

Change Properties

– ListeningForEvents

– BridgeStatus

Type Name Description

Short sRet 0 OK, remain error!

Type Name Range Description

BSTR strFW char, length: [1-32]

Framework name

Page 415: Web Extensions V1200 Programming Guide En

396 May 2008

Public interface WXPTBridge

ConvStr2Hex

BSTR ConvStr2Hex(BSTR strData)

Usage

Convert input String to a Byte array string in HEX format.

Conditions

– none

Return value

Parameters description

Fire Events

– none

Change Properties

– none

Type Name Description

BSTR strOUT NULL NOK, remain converted string

Type Name Range Description

BSTR strData char, length: [0-MAX]

String to convert

Page 416: Web Extensions V1200 Programming Guide En

May 2008 397

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

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

Parameters description

Fire Events

– none

Change Properties

– none

Type Name Description

BSTR strOUT NULL NOK, remain converted string

Type Name Range Description

BSTR strData char, length: [0-MAX,even, HEX]

String to convert

Page 417: Web Extensions V1200 Programming Guide En

398 May 2008

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

Parameters description

Fire Events

– BridgeError

Change Properties

– BridgeErrors

Type Name Description

BSTR strOUT NULL always!

Type Name Range Description

short eID 1-5,19-22,38-43,58-63,77-79

Internal error ID

Page 418: Web Extensions V1200 Programming Guide En

May 2008 399

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

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

Fire Events

– none

Change Properties

– none

Type Name Range Description

BSTR strLog char, length: [0-MAX]

Text to log into Trace- or Error-Log

short sLogType 0 - Write text into Trace-Log Bit 101 - Write Text into Error-Log

Target for Logging

Page 419: Web Extensions V1200 Programming Guide En

400 May 2008

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

Parameters description

Fire Events

– none

Change Properties

– none

Type Name Description

BSTR strOUT Variable value (max length 4096 chars) or NULL at problems

Type Name Range Description

BSTR strIndex char, length: [0-4096]

Variable Index

BSTR strDefault char, length: [0-4096]

Default value

BOOL bErrorLog TRUE or FALSE Write error logs on errors in this method.

Page 420: Web Extensions V1200 Programming Guide En

May 2008 401

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

Events

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

void PTFunctionEnd(short sIndex, short sRet, BSTR strParam1, BSTR strParam2, BSTR strParam3)

void BridgeError(short eID)

void PTCallback(short sID, BSTR strParam1, BSTR strParam2, BSTR strParam3, long lIndex)

Page 421: Web Extensions V1200 Programming Guide En

402 May 2008

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: [1-32]

Framework name

short sID short Framework Event ID

BSTR strData char, length: [0-65534,even]

Framework DATA as byte array of HEXs

Page 422: Web Extensions V1200 Programming Guide En

May 2008 403

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

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

NOTE: if the one of Params is not declared as OUTPUT in a PTFunction then it will be a empty string!

Type Name Range Description

short sIndex [ 1, 32767] index of function job

short sRet short Function return code

BSTR strParam1 char, length: [0-65534,even]

Param1 as byte array of HEXs

BSTR strParam2 char, length: [0-65534,even]

Param2 as byte array of HEXs

BSTR strParam3 char, length: [0-65534,even]

Param3 as byte array of HEXs

Page 423: Web Extensions V1200 Programming Guide En

404 May 2008

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

Page 424: Web Extensions V1200 Programming Guide En

May 2008 405

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

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

NOTE: if the one of Params is not declared as OUTPUT in a PTFunction then it will be a empty string!

Type Name Range Description

short sID [ 1, 32767] index of function

BSTR strParam1 char, length: [0-65534,even]

Param1 as byte array of HEXs

BSTR strParam2 char, length: [0-65534,even]

Param2 as byte array of HEXs

BSTR strParam3 char, length: [0-65534,even]

Param3 as byte array of HEXs

long lIndex [1, max long] Param 4 as long

Page 425: Web Extensions V1200 Programming Guide En

406 May 2008

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

Page 426: Web Extensions V1200 Programming Guide En

May 2008 407

WXPTBridge Public interface

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

Status of the Bridge object!

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

BridgeErrors

long BridgeErrors

Counter of the errors.

NOTE: unique for a process!

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!

Page 427: Web Extensions V1200 Programming Guide En

408 May 2008

Trace and Error logging WXPTBridge

Trace and Error logging

Trace

Tracing is implemented in module 788.ted.

Trace bits

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

Error

Error logging is implemented in module 788FERR.eng.

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

Page 428: Web Extensions V1200 Programming Guide En

May 2008 409

WXPTBridge Trace and Error logging

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

P

fad

: d:\P

roTo

pas\

We

b-E

xten

sio

ns\D

ocu\

Boo

k\w

xptb

ridg

e.fm

Error logs

ID Description

ERR_ERROR General error in system.

ERR_MANIPULATION Error in using of component.

ERR_DEVELOPER Error in logic, contact developer!

Page 429: Web Extensions V1200 Programming Guide En

410 May 2008

Trace and Error logging WXPTBridge

Page 430: Web Extensions V1200 Programming Guide En

May 2008 411

Input checks

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

Input checksInput checks are separated from Edit controls. The input checks have been implemented as a ProTopas Check Framework so that they can be extended for specific projects. This makes it possible to overlay individual checks without having to recreate all checks.

In order to make individual checks more flexible you can create a dialog page for each check on which the parameters for this check can be defined. This dialog page is called while the Internet page is being created in FrontPage by selecting the <Parameter> button in the Edit control (see "Edit control - General 1 page" on page 122). Which check has to be called for every input field is defined in the parameters for the Edit controls. Parameters are stored for every input field that is needed in the application.

The names of all functions (remittance order, standing order etc.) are entered askeys 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: Check-Routine and Variable.

HKEY_LOCAL_MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionActiveX

PCEditTransaction

Remittance OrderPayee

CheckRoutine = 4Variable = VAR_INPUT_X1_S

BankcodeCheckRoutine = 6Variable = VAR_INPUT_X2_S

AccountNumber...

Message to the Bank...

Page 431: Web Extensions V1200 Programming Guide En

412 May 2008

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: No Check1: Alphanumeric check2: Numeric check3: Date check4: 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).

Page 432: Web Extensions V1200 Programming Guide En

May 2008 413

Input checks Calling Check()

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

Secondly, it sets additional parameters for the check in question. Here, the function is called when the FrontPage user presses the <Parameter> button (see "Edit control - General 1 page" on page 122). The called function can display a dialog in which the FrontPage user can define settings. These settings are passed to the Edit control when the dialog closes, and the Edit control stores them on the Internet page. These parameters are passed to the Check() function so that it can carry out the check at runtime.

Calling Check()

Check() is the function that actually checks the input. The parameters stored by means of the Dialog() function are passed when the Check() function is called. After the check, one of the return codes that was passed to the Edit control when Dialog() was first called must be passed.

Input variables

The name of the input variables is stored in the Variable parameter of the input field in question, as described above. This is always a STRING variable even if numeric inputs only are allowed. The following notation should be chosen to make the code easier to read:

VAR_INPUT_xxx_S (xxx = keyword for the content of the variable)

The VAR_ prefix and the _S suffix are mandatory.

The final letter in the variable name must not be L because this is reserved for the associated input status variable.

The content of this variable is always a formatted input. Since the inputs must always also be available in an unformatted form, for example so that they can be sent to the host, there must also be variables to hold the unformatted values. The name of such a variable is derived from the name of the corresponding input variable by adding the suffix _UNFORMATTED_S to the variable name from the Variable parameter.

Input variable: VAR_INPUT_AMOUNT_S

Unformatted input variable: VAR_INPUT_AMOUNT_S_UNFORMATTED_S

Page 433: Web Extensions V1200 Programming Guide En

414 May 2008

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:

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

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

Page 434: Web Extensions V1200 Programming Guide En

May 2008 415

Input checks Input status variables

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

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 unfor-matted 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

Page 435: Web Extensions V1200 Programming Guide En

416 May 2008

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 ’SetInputFo-cusNext’ in the Parameters manual on page 649) the focus will not move to the field with the lowest but to the field with the next sequence number. This might be a little more intuitive to the customer.

Customers can also use the <Tab> or the <Cursor up> key to move from field to field. Here, the Contents (STD/ATM) control moves the focus to the field which has the next higher sequence number. This continues until the field with the highest sequence number has been reached. If a customer simultaneously presses the <Tab> key and the <Shift> key or the <Cursor down> key, then the field with the next lower sequence number is selected. This continues until the field with the lowest sequence number has been reached. Jumping to other input fields with the <Tab> key or by selecting them directly via the touchscreen, however, does not have the same meaning as pressing the confirmation key. With the <Tab> key, only the focus is passed on. No input check is carried out.

Page 436: Web Extensions V1200 Programming Guide En

May 2008 417

Input checks Field sequence control

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

Input confirmations

Each input must be concluded with a confirmation key. This confirmation key can be the <Enter> key on the alphanumeric keyboard or the <Confirm> function key on the screen or Encrypted PIN Pad (EPP).

If an edit control is to run correctly and the Confirm key on the EPP to be used for input confirmation, there must be a function key with the value CONFIRM active on this page. If this button is not to be shown, a graphic with the size 1 x 1 pixels and the colour of the background must be assigned to it.

To be able to use the <Confirm> key on the EPP, the Normal input radio button in the Contents (STD/ATM) control for this Internet page has to be activated (see also ’Contents ATM control - EPP Keys page’ on page 208). In this case the Web Graphical Service monitors the EPP and, when a key is pressed, notifies the input field about the pressed key. The key, which is configured for the Softkey Confirm will be triggered automatically.

For a customer using a touchscreen it is more intuitive to use a CONFIRM button which can also be touched than having to push a key on the keyboard. Here, a function key with the CONFIRM value (see "Function keys with a fixed meaning" on page 87) must have been created. Normally, the Contents (STD/ATM) control will navigate to the specified Internet page when a function key is selected. However, when an Edit control has been created on the Internet page, the Contents (STD/ATM) control changes the behavior of the key which has the CONFIRM value. If this key is pressed now, the current input field is confirmed.

if the parameter TabAsConfirm (see "TabAsConfirm" on page 616 in the Parameters chapter) is switched to 1, every press of the <Tab> or <Shift><Tab> key will simulate a confirmation of each input field. So the check routine of this field will be started. But on the other hand this means, that a field with an user error this field may never been left with the <Tab> key unless the customer corrects the input.

Confirmation of a completely filled-in input page is a special aspect. If the Continue without Confirm key parameter (see "Contents ATM control - General page" on page 199) has been activated, the application immediately loads the Internet page that was specified for the CONFIRM function key when all fields have been input and checked. If Continue without Confirm key has not been activated, the operating hint from the Contents (STD/ATM) control is inserted in the page header when the final field has been input.

Page 437: Web Extensions V1200 Programming Guide En

418 May 2008

Field sequence control Input checks

Then the application waits for the key that was specified in the Confirm key parameter in the Contents (STD/ATM) control (see "Contents ATM control - General page" on page 199). The application continues with the Internet page that was defined for the selected confirmation key.

Special input confirmation handling

Because some banks require another confirmation handling, there is an option to create a function key CONFIRMALL on pages with more than one edit field. This key will start the check routines of all input fields which have not been checked before.

This key may be used to leave the page. If the customer has jumped through the input field by use of the touch screen or <Tab> and <Cursor up>, <Cursor down> key this will help to do a final check at the end without activation fields, which have not been confirmed before. Of course if a check routine recognises an error, the corresponding field will be activated and the error message is shown.

Input corrections

Every input can be corrected with a correction key – the <Backspace> key on the alphanumeric keyboard or the <Correct> function key on the screen or Encrypted PIN Pad (EPP).

If an edit control is to run correctly and the Correct key on the EPP to be used for input correction, there must be a function key with the value CORRECT active on this page. If this button is not to be shown, a graphic with the size 1 x 1 pixels and the colour of the background should be assigned to it.

To use the <Correct> key on the EPP, the Normal input radio button in the Contents (STD/ATM) control for this Internet page has to be activated (see also ’Contents ATM control - EPP Keys page’ on page 208). The key which is configured for the Softkey Correct will be triggered automatically.

To use the button on the screen as a correction key, a function key with the CORRECT value must have been created and activated. When an input field is active on the Internet page, the mode of the function key is switched.

The <Backspace> key on the numeric keypad can be used for correction.

Pressing either of these keys deletes the character to the left of the cursor.

Page 438: Web Extensions V1200 Programming Guide En

May 2008 419

Input checks Dependent input fields

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

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.

Page 439: Web Extensions V1200 Programming Guide En

420 May 2008

Dependent input fields Input checks

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 recog-nized. These must be changed by the customer first.

Input status (decimal value) Meaning

Page 440: Web Extensions V1200 Programming Guide En

May 2008 421

Input checks Dependent input fields

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

The Check Framework is responsible for setting the input statuses.

FIELD_NOT_CHECKED is the initialization value which is used to call an input page without input field defaults.

FIELD_OK is set in the Check() function when the check routine returns without error.

FIELD_CONTAINS_ERROR is set when the check routine reports an error.

FIELD_CHECKED_INFO_MISSING is only set for dependent input fields when the check of the content depends on the content of another field which has not been input yet. When the dependent field has been input and is checked, the value should change from FIELD_CHECKED_INFO_MISSING to FIELD_BECAME_UNCHECKED. The Contents (STD/ATM) control then automatically calls the first check again. A good example is the account number. If this is input first, this status is set. When the bank code has been input, the status has to be changed to FIELD_BECAME_UNCHECKED.

FIELD_NOK_USER_OVERRIDE is set if the customer is given the option of accepting an incorrect input. The bank code is an example of this. If the specified bank code is not found in the database, the customer can accept it anyway if this has been parameterized. The database may not be up to date.

FIELD_BECAME_UNCHECKED is used for dependent fields when they already contain data and an input in the current field means that the dependent fields have to be checked again. The check routine is automati-cally called by the Contents (STD/ATM) control.

FIELD_HAS_SCANNER_ERRORS can be set in addition for all input fields by means of a bit-by-bit inclusive-OR operation if this field contains an unrecognized character. The business module which initiates scanning must check every value that is transferred from the scanner for unrecognized characters and set this flag in addition. If the VAR_SCANNER_ERROR_L variable has also been set to 1, the Contents(STD/ATM) control searches all status variables for this flag. The focus is given to input fields in which this flag has been set. The input field places the cursor on the character to be replaced. When the character has been corrected and confirmed, the cursor is moved to the next character to be replaced or to the next input field in which this flag has been set. The input checks are not carried out until the customer has corrected all characters that need to be corrected. The replacement character is taken from the following parameter:

Page 441: Web Extensions V1200 Programming Guide En

422 May 2008

Dependent input fields Input checks

HKEY_LOCAL_MACHINE\SOFTWARE\Wincor Nixdorf\CSC-W32/CurrentVersion/CSCSCAN/

SUBST_SIGN = 40

Editing scanned documents

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

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.

Variable Length Meaning

VAR_SCANNER_ERROR_L LONG 0: Normal input check1: Replacement of unrecognized characters is enabled

Page 442: Web Extensions V1200 Programming Guide En

May 2008 423

Input checks The Dialog() function

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

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::.... Conse-quently, the description of the return must not contain any equals sign or colon.

A list of variable names for the dependent input fields is also returned at this point. The variable names are returned to the Edit control in the form Variable name::Variable name::.... Consequently the variable names must not contain a colon. The Edit control stores the string on the Internet page in its own CheckDependencies property. This string is passed again when the Check() function is called.

Dialog() is called the second time when the <Parameter> button is selected.At this point the developer can display a self-designed dialog asking for supple-mentary 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 evalu-ation 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

Page 443: Web Extensions V1200 Programming Guide En

424 May 2008

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

Page 444: Web Extensions V1200 Programming Guide En

May 2008 425

Input checks Correction messages

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

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 CheckDepen-dencies 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 contra-venes 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

Page 445: Web Extensions V1200 Programming Guide En

426 May 2008

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.

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

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

Page 446: Web Extensions V1200 Programming Guide En

May 2008 427

Input checks Standard input check dialogs

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

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: No Check1: Alphanumeric check2: Numeric check3: Date check4: Amount check

Alphanumeric check

The alphanumeric check is applied to inputs of one or more lines. It is possible to allow digits only or the DTA character set only. If 0 is specified as the minimum number of characters, the field is an optional one. If no further restrictions are selected, the check will always return OK.

Fig. 96: Alphanumeric check

Minimum number of characters: The minimum number of characters is input in this field. The value can range from 0 to 999. If the minimum number of characters is 0, then the field is optional and there are no compulsory inputs in it. The maximum number of characters, however, is entered on the Edit

Page 447: Web Extensions V1200 Programming Guide En

428 May 2008

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

Minimum: The minimum value to be input by the customer is entered here.

Maximum: The maximum value to be entered by the customer is entered here.

Pace: If each value is not allowed to be consecutive, the required increment can be input here.

Page 448: Web Extensions V1200 Programming Guide En

May 2008 429

Input checks Standard input check dialogs

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

Date check

The date check is applied to date fields. It is also possible to check a FROM date against a TO date, i.e. to make sure that the FROM date is before the TO date. The limits to be checked can also be specified as variables by business modules. In order to distinguish a FROM date from a TO date, the Check() routine requires unique variable names. These variable names must therefore be defined uniquely in a transaction.

Fig. 98: Date check

Default value: The input field can either not have a default value, or be defaulted to the current date, or to the date resulting from the Days until earliest possible date or Days until latest possible date, unless the input variable has already been filled by business modules. In this case, the content of the input variable is displayed. If the limits (see below) are passed from business modules, these take precedence over the values from Days until earliest possible date and Days until latest possible date.

Days until earliest possible date: Here you enter the number of days that defines the earliest date that can be input. This value depends on the Period in the past checkbox. If this check box is activated and a 5 is input, for example, this means that the date can be five days in the past. If this check box is not activated, the earliest date must be at least five days in the future. If the Check against limit check box is activated, the earliest date in days is read from the WX_CHECK_LIMIT_DATE_FROM variable. This STRING variable can be filled by business modules.

Page 449: Web Extensions V1200 Programming Guide En

430 May 2008

Standard input check dialogs Input checks

Days until latest possible date: Here you enter the number of days that defines the latest date that can be input. This value depends on the Period in the past checkbox. If the Check against limit check box is activated, the latest date in days is read from the WX_CHECK_LIMIT_DATE_TO variable. This STRING variable can be filled by business modules.

Date format: There is a choice of Long date (language-specific) and Short date (language-specific) here. The formats are taken from the parameter settings of the HTML generator (see "Formatting settings" on page 288).

Period in the past: If this check box is activated, the Days until earliest possible date and the Days until latest possible date are allowed to be in the past. This means that the value for the earliest date must be greater than the value for the latest date.

Period in the past is activated, Days until earliest possible date = 20, Days until latest possible date = 10. Today is 30.07.00:

The date must lie between 10.07.00 and 20.07.00.

Check against limit: If this check box is activated, the limits can be trans-ferred 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.

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.

Variable Length Meaning

WX_CHECK_LIMIT_DATE_FROM

STRING[4] Limit for Days until earliest possible date

WX_CHECK_LIMIT_DATE_TO

STRING[4] Limit for Days until latest possible date

Page 450: Web Extensions V1200 Programming Guide En

May 2008 431

Input checks Standard input check dialogs

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

Related: In some cases you wish to use two edit fields to enter a FROM date and a TO date. To make sure that a FROM date is before a TO date, this checkbox has to be activated.

From: To check the FROM date against the TO date, you have to activate this checkbox. Then the variable related to the ’TO edit field’ (see ’TO edit field’ property page or Registry) has to be entered into the textfield beneath the ’To’ checkbox.

To: To check the TO date against the FROM date, you have to activate this checkbox. Then the variable related to the ’FROM edit field’ (see ’FROM edit field’ property page or Registry) has to be entered into the textfield beneath the ’FROM’ checkbox.

Example: There are two edit fields, ’FROM’ and ’TO’. The edit field ’FROM’ uses the variable DLG_INPUT_RESULT1_S and the edit field ’TO’ uses the variable DLG_INPUT_RESULT2_S. Then you have to enter the variable DLG_INPUT_RESULT2_S into the textfield beneath the ’To’ checkbox on FROM edit field property page and vice versa.

Amount check

The amount check is a special numeric check in which decimal places and thousands separators can be specified. The hyphen is also accepted. The + sign and a blank are only accepted as characters before the actual amount. The number of decimal places and the formatted output can be defined.

Fig. 99: Amount check

Page 451: Web Extensions V1200 Programming Guide En

432 May 2008

Standard input check dialogs Input checks

Minimum (unformatted): This field defines the smallest amount that can be input in the unit specified in the Currency exponent parameter on the Other format page (see Fig. 100: "Amount check formatting") or in the parameters for the HTML generator (see "Formatting settings" on page 288). If the Check against limit check box is activated, the minimum is read from the WX_CHECK_LIMIT_MIN variable. If the check box is activated and the variable does not exist or contains a null string, the content of this field is used in the check.

Currency exponent = -2: Amount has to be input in pfennigs, for instance.Example: 200 => 2.00

Currency exponent = -4: Amount has to be input with 4 decimal places but without a decimal point Example: 200 => 0.0200

Currency exponent = 0: Amount can be input in full deutschmarks, for instance.Example: 200 => 200

Maximum (unformatted): This field defines the highest amount that can be input in the unit specified in the Currency exponent parameter on the Other format page (see Fig. 100: "Amount check formatting"). If the Check against limit check box is activated, the maximum is read from the WX_CHECK_LIMIT_MAX variable. If the check box is activated and the variable does not exist or contains a null string, the content of this field is used in the check.

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.

Variable Length Meaning

WX_CHECK_LIMIT_MIN STRING[20] Minimum limit for amount check

Variable Length Meaning

WX_CHECK_LIMIT_MAX STRING[20] Maximum limit for amount check

Page 452: Web Extensions V1200 Programming Guide En

May 2008 433

Input checks Standard input check dialogs

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Ein

gab

epru

efu

nge

n.fm

Number of input tries: The number of attempts to input the amount is limited here. If the customer tries to repeat the input more than the number of times specified here, the error message "Too many input errors" is output and this is rejected. The value 0 stands for an infinite number of attempts (see also section ’Input attempt counter’ on page 426).

Output format = according to HTML generator: If this check box is activated, the settings from the parameters of the HTML generator are used for input formatting (see "Formatting settings" on page 288). If it has been specified there, for example, that two decimal places are allowed, this applies automatically to the input of the amount. In this case, three decimal places would be rejected with an error message. The thousands grouping is also taken from the HTML generator’s parameter set. If this check box is not activated, the Other format button has to be pressed to open a formatting dialog.

other Format ...: The following dialog appears when this button is selected.Fig. 100: Amount check formatting

Number of post-comma digits: The number of decimal places that can be input or that is formatted for output is specified here.

Currency exponent: The currency exponent is used to form an unformatted variable or to check a limit variable.

Currency exponent = -2: Amount is converted to pfennigs, for instance.Example: 200.00 => 20000

Page 453: Web Extensions V1200 Programming Guide En

434 May 2008

Standard input check dialogs Input checks

Currency exponent = 2: Input amount is converted to a currency with decimal places but no decimal point Example: 200 => 2

Currency exponent = 0: Amount can be specified in full deutschmarks, for instance, and is not converted.Example: 200 => 200

Grouping: This input field specifies how digits before the decimal point are grouped. The character specified in the Grouping point field is used as a separator. If there are fewer places before the decimal point than specified in this input field, no grouping can take place.

Grouping = 4, group separator = +, amount = 1234567890.00

Output: 12+3456+7890.00

Decimal point: The decimal separator is specified here.

Group point: The separator that applies to the number of characters specified in the Grouping field is specified here.

Page 454: Web Extensions V1200 Programming Guide En

May 2008 435

Check Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

chec

kfw

.fm

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

Page 455: Web Extensions V1200 Programming Guide En

436 May 2008

Check Framework

Interactions with other frameworks

Methods from the following frameworks are used:

Variable Framework CCVarFW

Internet Graphical Service PCDialogFW

Data Framework CCDataFW

Public Interface

The public interface is completely defined in the include file CCCHECKFW.XPP.It contains all the public functions, events and the required definitions for data structures and return codes.

Methods

The following public member functions are defined in class CCCheckFW:

CCCheckFW.DialogReturns all strings for return values and enables display of a dialog for retrieving additional parameters from the user.

CCCheckFW.FormatFormats an unformatted variable to show the formatted value in the input field later on. This function can be used if data from the host is to be displayed inside an input field. The customer can change this.

CCCheckFW.CheckChecks the customer input. Has the ability to return with up to 20 return codes for displaying error messages.

CCCheckFW.LookForLotterySearches 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:

Page 456: Web Extensions V1200 Programming Guide En

May 2008 437

Check Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

chec

kfw

.fm

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

Page 457: Web Extensions V1200 Programming Guide En

438 May 2008

Check Framework

Return codes of Calculation

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

Definition Value

CALCULATION_RETURN_READY 0

CALCULATION_RETURN_INPUT_CREDITAMOUNT 1

CALCULATION_RETURN_INPUT_PERIOD 2

Definition Value

Page 458: Web Extensions V1200 Programming Guide En

May 2008 439

Check Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

chec

kfw

.fm

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)

Page 459: Web Extensions V1200 Programming Guide En

440 May 2008

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 usDependentInputsMax-Length 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 displayed1: the error messages should be returned

Page 460: Web Extensions V1200 Programming Guide En

May 2008 441

Check Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

chec

kfw

.fm

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.

Page 461: Web Extensions V1200 Programming Guide En

442 May 2008

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

Page 462: Web Extensions V1200 Programming Guide En

May 2008 443

Check Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

chec

kfw

.fm

CCCheckFW.Check

Syntax:

SHORT CCCheckFW.Check(

const SHORT sMethodID,

PSZ pszInput,

PSZ pszParameters,

PSZ pszOutput,

USHORT usOutputMaxLength

)

Function:

This function is used for checking the input. It is called directly after user input. The check routine can return up to 10 values.

Input parameters:

sMethodID (IN)

Number of the check routine.

pszInput (IN)

Contains a pointer to a string containing the name of the variable with the formatted value.

pszParameters (IN)

This pointer is used for transferring the additional parameter string. This string is retrieved from the dialog() function. The string must use the following syntax:

Parameter=Value;Parameter=Value;...

pszOutput (IN/OUT)

This parameter can be used for transferrring the names of the dependent variables and the names of the status variables.

DependendInputVariable1;DependendInputVariable2;...

Page 463: Web Extensions V1200 Programming Guide En

444 May 2008

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

Page 464: Web Extensions V1200 Programming Guide En

May 2008 445

Check Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

chec

kfw

.fm

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.

Page 465: Web Extensions V1200 Programming Guide En

446 May 2008

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

Page 466: Web Extensions V1200 Programming Guide En

May 2008 447

Check Framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\cc

chec

kfw

.fm

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:

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

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 infor-mation

17

Page 467: Web Extensions V1200 Programming Guide En

448 May 2008

Check Framework

Page 468: Web Extensions V1200 Programming Guide En

May 2008 449

Displaying external pages Configuring external Internet pages

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Intr

ane

tSe

itenL

ade

n.fm

Displaying external pagesSince 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).

Page 469: Web Extensions V1200 Programming Guide En

450 May 2008

Displaying the cursor Displaying external pages

Displaying the cursor

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

The navigation button bar

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

Displaying external pages without a navigation button bar

In keeping with the parameterization of the AllowList, an Internet page is either interpreted as an external or product-related Internet page. (see also ’Structure of the AllowList’ on page 294). In the case of external pages, the navigation button bar is always displayed to enable the possibility of cancellation, timeout and returning to the actual application.

There may also be cases in which a navigation button bar is considered an impediment. In this case, the navigation button bar can be hidden via the parameter SurfingBrowser (see "SurfingBrowser" on page 607 in the Parameters chapter). If the external pages are to offer the possibility of cancellation and returning to the product-related page, any element must be given a link

Page 470: Web Extensions V1200 Programming Guide En

May 2008 451

Displaying external pages Stopping the Internet mode

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Intr

ane

tSe

itenL

ade

n.fm

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

Page 471: Web Extensions V1200 Programming Guide En

452 May 2008

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

Page 472: Web Extensions V1200 Programming Guide En

May 2008 453

Displaying external pages Scripting with keys in external pages

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Intr

ane

tSe

itenL

ade

n.fm

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. Enhance-ments have been made to support at least the most importants keysstrokes in scripts. So the events OnKeyUp and OnKeyDown and the <Tab>-Key is supported now. To activate those Buttons for scripting the following Parameters have to be set to 1. Please keep in mind, that the pages are parsed for script events, when those parameter have been set to 1.

WebExtTabing (see "WebExtTabing" on page 616 in the Parameters chapter)

WebExtKeyScripting (see "WebExtKeyScripting" on page 617 in the Parameters chapter)

If there are more keys in a script in an external page, which are not supported and which are urgently needed, please post a change request to the ProTopas/Web-Extensions.

Opening, Closing and rezising Popup Windows

In external page mode it may be necessary in scripts to open a new browser instance as a popup window. This may be used for showing print dialogs, f.e. To open a new window as a popup there is a reserved keyword about:SNI_MSWND_OPEN, which has to be set as a Prefix in front of the Links to this new page and a suffix SNI_MSWND_OPEN_ENDMARK, which has to be added at the end of the link. By using a window.navigate() command, a page which is surounded by those tags, is opened in a new instance.

window.navigate(’about:SNI_MSWND_OPENhttp://kamrun/warning.htmSNI_MSWND_OPEN_ENDMARK’);

To resize this new instance the Keyword about:SNI_MSWND_MOVExxxxyyyywwwwhhhh has to be used. The digits behind this keyword determine the position and size of the instance on the screen. xxxx is the x coordinate, yyyy the y coordinate, wwww the width and hhhh the height. This keyword must be used in a window.navigate() command.

window.navigate(’about:SNI_MSWND_MOVE0044005407120260’);

Page 473: Web Extensions V1200 Programming Guide En

454 May 2008

Opening, Closing and rezising Popup Windows Displaying external pages

To close the new browser instance please navigate to about:SNI_MSWND_CLOSE in a window.navigate() command.

window.navigate(’about:SNI_MSWND_CLOSE’);

Please keep in mind, that it takes a moment to load a new instance. Please wait with the resizing or closing, until the instance is properly loaded. To navigations in script direct behind each other will propably fail.

Page 474: Web Extensions V1200 Programming Guide En

May 2008 455

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

ScriptingIt 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-Exten-sions controls are inadequate for the application that is being designed. Scripts can be used to draw upon Microsoft’s Dynamic HTML interface. This is particu-larly 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.

Page 475: Web Extensions V1200 Programming Guide En

456 May 2008

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 "AudioRe-sponse" on page 651. for information about the syntax of Soundfile

Page 476: Web Extensions V1200 Programming Guide En

May 2008 457

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

void Log(BSTR LogString, int iLogType)

This method is used to write infor-mation into Error Log Trace Log or into the Journal. LogString is the data, which shall be logged.iLogType:1: Log into Trace2: Log into Error Log3: 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.

BeforeUserInter-action(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 UserInter-action() 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.

Method Meaning

Page 477: Web Extensions V1200 Programming Guide En

458 May 2008

Scripting

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 Button-Pressed() 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 Button1: FunctionKey2: Selection Button3: 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 EditCom-plete() 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 reaction1: Confirmed2: Tab selected3: 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.

Event Meaning

Page 478: Web Extensions V1200 Programming Guide En

May 2008 459

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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.

Event Meaning

Page 479: Web Extensions V1200 Programming Guide En

460 May 2008

Scripting

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.

Event Meaning

Page 480: Web Extensions V1200 Programming Guide En

May 2008 461

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

void OnContentsScann() This event is fired after OnCon-tentsLoad() and before OnCon-tentsStart(). 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.

OnContentsOpenNew-Window(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(BSTRbstrContents)

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.

Event Meaning

Page 481: Web Extensions V1200 Programming Guide En

462 May 2008

Scripting

BeforeRunComplete(short sRetCode)

This event is fired, when a Step returns in Web-Exten-sions/HyperLink architecture or when a DoDialog() is called in Web-Extensions/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 OK21 = PIN entry error22 = PIN enty canceled25 = Data entry OK26 = Data entry error27 = Data entry canceled

Event Meaning

Page 482: Web Extensions V1200 Programming Guide En

May 2008 463

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

AfterRunComplete(short sRetCode, BSTR bstrURL)

This event is fired, when a Step returns in Web-Exten-sions/HyperLink architecture or when a DoDialog() is called in Web-Extensions/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 OK21 = PIN entry error22 = PIN enty canceled25 = Data entry OK26 = Data entry error27 = Data entry canceled

bstrURL for Web-Exten-sions/HyperLink:sRetCode 0 -19:Name of Internet page configured for the Steps returncode (only for Web-Extensions/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-Exten-sions/ClassicLink:sRetCode 20, 25:PCEvt:RC=0sRetCode 21, 26:PCEvt:RC=-2sRetCode 22, 27:not set.

Event Meaning

Page 483: Web Extensions V1200 Programming Guide En

464 May 2008

Scripting

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

Event Meaning

Page 484: Web Extensions V1200 Programming Guide En

May 2008 465

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

Button control:

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.

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.

Method Meaning

void PressButton() This method may be used to select a radio button or a button which is configured as a checkbox.

Property Meaning

Page 485: Web Extensions V1200 Programming Guide En

466 May 2008

Scripting

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 SetFo-cusToButton() 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 state1: Pressed state2: Disabled state3: 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.

Method Meaning

Page 486: Web Extensions V1200 Programming Guide En

May 2008 467

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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.

Property Meaning

Page 487: Web Extensions V1200 Programming Guide En

468 May 2008

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

Page 488: Web Extensions V1200 Programming Guide En

May 2008 469

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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.

Property Meaning

Page 489: Web Extensions V1200 Programming Guide En

470 May 2008

Scripting

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.

Property Meaning

Page 490: Web Extensions V1200 Programming Guide En

May 2008 471

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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.

Page 491: Web Extensions V1200 Programming Guide En

472 May 2008

Scripting

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.

Property Meaning

Page 492: Web Extensions V1200 Programming Guide En

May 2008 473

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

EPP Control:

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

Method Meaning

short ProcessStep (BSTR SelectedStep)

This method may be used to call a Step (SelectedStep) of the Trans-action Framework without using the Contents STD control.

short ProcessStep2 (BSTR SelectedFramework, BSTR SelectedStep, BSTR Select-edParameter)

This method may be used to call a Step (SelectedStep) of the SelectedFramework and add the input parameter SelectedPar-ameter 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

Page 493: Web Extensions V1200 Programming Guide En

474 May 2008

Scripting

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 StepSe-lection. This property will be deleted with event End(), OnUnload() or OnRunComplete.

BSTR StepParameter This Property contains the input parameter data from step StepSe-lection. This property will be deleted with event End(), OnUnload() or OnRunComplete.

Method Meaning

Page 494: Web Extensions V1200 Programming Guide En

May 2008 475

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

Active DataDictionary Control

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

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.

Property Meaning

Page 495: Web Extensions V1200 Programming Guide En

476 May 2008

Scripting

short VariableTyp (read only)

The property contains the type of variable:0: BOOL1: CHAR2: UCHAR3: SHORT4: USHORT5: LONG6: ULONG7: STRING8: 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...

Property Meaning

Page 496: Web Extensions V1200 Programming Guide En

May 2008 477

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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.

Property Meaning

Page 497: Web Extensions V1200 Programming Guide En

478 May 2008

Scripting

short AutoGetOnVariable-NameChange

The Get() function for getting the content of the property is performed0 - (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 control0 - logging switched off1 - 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.

Property Meaning

Page 498: Web Extensions V1200 Programming Guide En

May 2008 479

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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.

Page 499: Web Extensions V1200 Programming Guide En

480 May 2008

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

This method can be used to request if the original timeout in external page mode is paused.

Page 500: Web Extensions V1200 Programming Guide En

May 2008 481

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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 Frame-works, which are activated to be sniffed by AddSniff(Framework) or by directly writing it to the Frame-works property.

Page 501: Web Extensions V1200 Programming Guide En

482 May 2008

Scripting

Event Meaning

PTEvent(BSTR strSender, short sID, short sData-Length, 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 individ-ually,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.

Page 502: Web Extensions V1200 Programming Guide En

May 2008 483

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

KeepAliveStart() This event is fired, when the Start-KeepAlive() 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 StartKeep-Alive() timer expired, or when StartKeepAlive() is still running and the PTSniff object is being destroyed.

Event Meaning

Page 503: Web Extensions V1200 Programming Guide En

484 May 2008

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

Page 504: Web Extensions V1200 Programming Guide En

May 2008 485

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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.

Property Meaning

Page 505: Web Extensions V1200 Programming Guide En

486 May 2008

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 param-eters, 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 RegisterFor-Events(BSTR strFW)

Try to register for events from a target framework. (see also section ’RegisterForEvents’ on page 393)

short DeregisterFor-Events(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 testErrors(short eID) Test interface for throwing all internal errors. Increment the Bridg-eErrors property. There will be a error log and mostly the Bridg-eError Event will be fired!

Page 506: Web Extensions V1200 Programming Guide En

May 2008 487

Scripting

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

void Log(BSTR strLog, short sLogType)

Log into Trace Log or Error LogstrLog = Text to logsLogType = 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 BridgeErrors Counter of the errors. (see also section ’BridgeErrors’ on page 407)

Method Meaning

Page 507: Web Extensions V1200 Programming Guide En

488 May 2008

The Active VarFW control Scripting

The Active VarFW control

VarFW has been developed to exchange data between scripts on the HTML page and the business modules. This is another ActiveX control. It reads from the Variable Framework and writes to it. Both string variables and long variables can be read and set. Different access functions are provided for this.

First, the Active VarFW control has to be created on the HTML page for which scripts are intended to be used to exchange data with the Variable Framework:

<object ID="varFW" WIDTH="100" HEIGHT="51" CLASSID="CLSID:7E4AA518-12D9-11D1-934B-0000E8A6CB06">

<param name="_Version" value="65536"><param name="_ExtentX" value="2646"><param name="_ExtentY" value="1341"><param name="_StockProps" value="0">

</object>

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 OnFrm-Request 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 ’PTFunc-tionEnd’ on page 403)

BridgeError(short eID) Fires the error ID when internal error occurred! (see also section ’Bridg-eError’ on page 404)

Page 508: Web Extensions V1200 Programming Guide En

May 2008 489

Scripting The Active DataDict control

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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

Reading a long variable

varFW.VariableName = "VAR_VARIABLE_L"if varFW.GetLongValue() = 0 then

lVariable = varFW.VariableValueend if

Setting a string variable

varFW.VariableName = "VAR_VARIABLE_S"varFW.VariableValue = strVariableif varFW.SetStringValue() <> 0 then

alert ("error")end if

Setting a long variable

varFW.VariableName = "VAR_VARIABLE_L"varFW.VariableValue = lVariableif 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

Page 509: Web Extensions V1200 Programming Guide En

490 May 2008

The Active DataDict control Scripting

Dictionary may be accessed. Use is easier than the use of the Active Variable Framework. The developer must not use different function calls for setting or getting different types of variables.

First, the Active DataDict control has to be created on the HTML page for which scripts are to be used to exchange data with the Data Dictionary:

<object ID="ActiveDataDictFW1" WIDTH="100" HEIGHT="51" CLASSID="CLSID:B2ED2838-FD46-11D2-961D-0800060BD9E4">

<param name="_Version" value="65536"><param name="_ExtentX" value="2646"><param name="_ExtentY" value="1341"><param name="_StockProps" value="0"><param name="BufferSize" value="4096">

</object>

This control is invisible at runtime and cannot and must not be parameterized in FrontPage. The name of the variable that is to be read or set is notified to the Control in the script under VariableName. Under VariableValue, either the value can be read out or a value can be set. When the VariableName is set, the value is automatically read from the Data Dictionary. By setting Variabl-eValue 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.VariableValueif ActiveDataDictFW1.VariableTyp < 0 then

alert ("error")end if

Setting a variable

ActiveDataDictFW1.VariableName = "VAR_VARIABLE_S"ActiveDataDictFW1.VariableValue = myVariableif ActiveDataDictFW1.VariableTyp < 0 then

alert ("error")end if

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

Page 510: Web Extensions V1200 Programming Guide En

May 2008 491

Scripting ActivePTSniff Control

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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

Page 511: Web Extensions V1200 Programming Guide En

492 May 2008

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

Page 512: Web Extensions V1200 Programming Guide En

May 2008 493

Scripting WXPTBridge Control

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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.

Page 513: Web Extensions V1200 Programming Guide En

494 May 2008

Logging into Error/Trace Log or Journal by Script Scripting

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

Logging into Error/Trace Log or Journal by Script

It is possible to log data into the Error Log and Trace Log or in Journal by script. There are two interfaces: Either the PCContents.Log() method may be used or window.navigate() method with a reserved keyword. The different methods are explained here in this chapter:

Write an Error entry

Use of window.navigate("WNerror:Text");

The navigate method is using the Keyword WNerror: with the text to be written to the error log direct behind it. This text is appearing in the Add: section of an error entry.

Use of PCContents.Log( "Text", 2)

With the Log() method there are two parameters to be filled. The first is the text to be written into the Add: section of an error entry and the second must be a static 2 for logging into an error log.

The error entry is as follows:

10/17 020823 19:50:45.01 TRCERR CC_ENTRY PID:00000528.00000544 Data:131Type : RCH_ACT_USER_APPL_4 0x64Module : CCDlgFW (770) StClass: 0x6413Process: CCDialog.exeAPIName: HTML scriptStCode : CCDIALOG_GENERAL_ERROR (0x24000110)SrcName: PCBrowserWnd.cpp SrcLine: 645

Add : 'Text'

Write a Trace entry

Use of window.navigate("WNtrace:Text");

The navigate method is using the Keyword WNtrace: with the text to be written to the trace log direct behind it. The trace flag TBM 770 SHARE DEFAULT on 67 has to be activated.

Use of PCContents.Log( "Text", 1)

Page 514: Web Extensions V1200 Programming Guide En

May 2008 495

Scripting Logging into Error/Trace Log or Journal by Script

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Scr

iptin

g.fm

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:4Text

Write a Journal entry

Use of window.navigate("WNjournal:1050WEBEXT_SEPText");

The navigate method is using the Keyword WNjournal: with the entry to be written to the journal direct behind it. The entry needs to start with a journal number, a separator WEBEXT_SEP and the variable text to be filled into the journal define under this journal number. If more than one variable text shall be written a new separator and variable text must be added at the end.

Use of PCContents.Log( "1050WEBEXT_SEPText", 3)

With the Log() method there are two parameters to be filled. The first is the entry to be written into a journal and the second must be a static 3 for the journal entry. The entry needs to start with a journal number, a separator WEBEXT_SEP and the variable text to be filled into the journal define under this journal number. If more than one variable text shall be written a new separator and variable text must be added at the end.

The journal define in the registry is as follows:

@005 @001 Web message:'#1#'#NL#

This journal entry is the result:

19:50:42 1050 Web message:'Text'

Page 515: Web Extensions V1200 Programming Guide En

496 May 2008

Logging into Error/Trace Log or Journal by Script Scripting

Page 516: Web Extensions V1200 Programming Guide En

May 2008 497

Control of the ADA service

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

Control of the ADA service

General idea

The general idea of the ADA service is to create a possibility of using self-service 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 Param-eters have to be set:

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

Current VersionActiveX

GraphicalServiceCCDialog

ADA=1 (Dword)EPPRTC=1 (Dword)

Page 517: Web Extensions V1200 Programming Guide En

498 May 2008

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

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.

Page 518: Web Extensions V1200 Programming Guide En

May 2008 499

Control of the ADA service Starting the service

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

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

Wincor NixdorfProTopas

Current VersionADA

CCADAFWSTART_EVENTS

KEY_SEQUENCE = FUNCKEY_1,FUNCKEY_2,FUNCKEY_3

PHONES_PLUGGED = YES

Page 519: Web Extensions V1200 Programming Guide En

500 May 2008

Default start values Control of the ADA service

Default start values

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.

Entry Value

ADA 0

ADATimeoutExt 200

ADAActionOnStart SKIP

ADATextPageMenu You are in the WX.Contents.Page-Headline

ADATextPageHint WX.Contents.PageInstruction

ADATextPageContent WX.RT.p.WXADAContent.WXADA-Text

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.But-ton.Softkey.

ADAMacroEchoKeys WX.Button.Text

Page 520: Web Extensions V1200 Programming Guide En

May 2008 501

Control of the ADA service Default start values

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

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 param-eters 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

Page 521: Web Extensions V1200 Programming Guide En

502 May 2008

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

Page 522: Web Extensions V1200 Programming Guide En

May 2008 503

Control of the ADA service Macros

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

Instruction Edit

InputText Edit

Numeric EchoKeys

Function EchoKeys

All EchoKeys

innerHTML RT specific

argument RT specific HTML TAG argument

PARAM used by Object

Page 523: Web Extensions V1200 Programming Guide En

504 May 2008

Macros Control of the ADA service

Macro dependencies - some examples where to use several macros

Description of the important macros

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

ADA configuration panel property Spec. Macro

Menu WX.Contents.PageHeadline

Hint WX.Contents.PageInstruction

TextPageContent WX.RT.p.WXADAContent.WXADA-Text

TextPageKeys WX.F.ActiveKeys

TextEditHint WX.Edit.Instruction

TextEditContent WX.Edit.InputText

EchoButton WX.F.EchoKeys.allWX.F.EchoKeys.numericWX.F.EchoKeys.function

EchoEdit No macros!

EchoEPP No macros!

MacroEchoKeys WX.Button.HrefWX.Button.FunctionWX.Button.FunctionValueWX.Button.TextWX.Button.Text.1WX.Button.Text.2...WX.Button.Text.n

MacroActiveKeys WX.Button.Softkey andWX.Button.HrefWX.Button.FunctionWX.Button.FunctionValueWX.Button.TextWX.Button.Text.1WX.Button.Text.2...WX.Button.Text.n

Page 524: Web Extensions V1200 Programming Guide En

May 2008 505

Control of the ADA service Macros

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

WX.Contents.PageInstruction: Gives access to the Page Instruction of PCContentsCTRL

WX.F.ActiveKeys: Uses the macro ActiveKeys described below to read out the available buttons on the page.

WX.Edit.Instruction: This macro gives access to the Instruction Hint of the PCEdit.

WX.Edit.InputText: The text of the edit field would be read out after pressing confirm.

WX.Button.EchoKeys: Sets the echo of pressed buttons. The macro EchoButton would be used.

all: All pressed buttons would be echoed.

numeric: Numeric buttons [0-9] only would be echoed.

function: Only Function Keys [enter, confirm, cancel, help, print] would be echoed.

EchoButton

Here you can specify either one of the macros from the table above or the string ’0=null_WXSEP_1=one_WXSEP_2=two...’ With the string there is the possi-bility 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).

Page 525: Web Extensions V1200 Programming Guide En

506 May 2008

Macros Control of the ADA service

WX.Button.Softkey: This macro scans the buttons for the softkey related to them.

WX.Button.Text: Gives access to the first text layer of the button (same as ...Button.Text.0).

WX.Button.Text.1 to ...Text.n: Gives access to the several text layers of the button, beginning with the second layer of the button.

WX.Button.Href: Gives access to the HTML page the button is linking to.

WX.Button.Function: The name of the Functionkey set on the PCButton property page would be read out.

WX.Button.FunctionValue: The value of the Functionkey set on the PCButton property page would be read out.

Please make sure that one of the Macros above are part of this ActiveKeys, because this macro need at least one button found by using one of the macros. It is not possible to fill plain text into this macro.

Another way to configure text for single buttons is to use the echo string and fill all active buttons by use of the follwong examle string:1=Account Service_WXSEP_2=Cash deposit_WXSEP_3=Cash...

Insted of fix text here like ’Account Sevice’, ’Cash deposit’, ... you may even use the WX.RT. runtime macros.

Please consider: To read out the text of the buttons, you have to decide which text layer (if more than one are used) should be read out.

Remember: ...Text or Text.0 (first layer or normal text)...Text.1 (second layer)...Text.2 (third layer)

...

The macro EchoKeys

This macro is nearly the same like the macro ActiveKeys, but it sets the echo which appears when a button is pressed.

Page 526: Web Extensions V1200 Programming Guide En

May 2008 507

Control of the ADA service Privacy

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

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 HTML-specific tags like <br> which would be read out too.

Example innerHTML:

<p id="AccountNr>123456789</p>

To access the ’123456789’ use the macro WX.RT.p.AccountNr.innerHTML

Example argument:

<label id="AccountNr" number="987654321"></p>

To access the ’987654321’ use the macro WX.RT.label.AccountNr.number

Privacy

Some pages contain private content which should not be spoken through the system-speaker. In this cases you can use the privacy ability of the ADA service which disables the system-speaker output. The content would be spoken through the headphones only. If no headphones are plugged in no text would be spoken. To set the special content to privacy mode just activate the checkboxes HTML page overrides ’privacy’ on the ADA configuration panel and write the required text or macro in the textfield beneath it. To stop the normal output just activate the required checkbox on the ADA configuration panel and clear the textfield.

Scripting

Scripting is important to extend the default behavior of the ADA service, e.g. changing the language, the volume or the speech rate. It will be done over the ADAExec(strCMD) function of the PCContentsCTRL.

strCMD = strCommand + sep + strParam + ...sep = ’_WXSEP_’

Page 527: Web Extensions V1200 Programming Guide En

508 May 2008

Scripting Control of the ADA service

Available commands with parameters and return values

Command Param 1 Param 2 Param 3 Retvalue[1]

Open

Close

Idle

Start

Stop

Reset

IsActive

Speak String Text Ushort Prio Ushort Pri-vacy

Speak Ushort MsgNr

CancelS-peak

SetLan-guage

String Lan-guage

GetLan-guage

String Lan-guage

SetVolume Ushort Vol-ume

GetVolume Ushort Vol-ume

IncreaseVol-ume

DecreaseVolume

CycleVol-ume

SetRate Short Rate

GetRate Short Rate

IncreaseR-ate

Page 528: Web Extensions V1200 Programming Guide En

May 2008 509

Control of the ADA service Scripting

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

DecreaseR-ate

SetDefPri-vacy

Ushort Pri-vacy

GetDefPri-vacy

Ushort Pri-vacy

SetEcho Ulong CEN/XFS-Key

String Text

ResetEcho

Repeat-Command

Ushort RepeatType

Ushort Repeat-BufferLength

Command Param 1 Param 2 Param 3 Retvalue[1]

Page 529: Web Extensions V1200 Programming Guide En

510 May 2008

Scripting Control of the ADA service

Parameter description and ranges

Parameter Meaning

Text any character string

Prio Priority class:0: Text will be queued1: Queue the text if a speech output with high priority is running, abandon any other running speech output2: Abandon any running speech out-put and use this new text for output

Privacy Privacy level:0: The text may be output over the system speaker1: The text must not be out-put over the system speaker

MsgNr Message Number:Number, which contains the output text and which is configured as regis-try parameter

Language Language (The engigne for this lan-guage must be installed. A list of the supported languages can be found in the documentation ProTopas module Contruction Kit in chapter ADA Framework

Volume The range for the volume is 0 ... 7

Rate The range for the rate is -10 ... 40

Page 530: Web Extensions V1200 Programming Guide En

May 2008 511

Control of the ADA service Scripting

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

The ADAExec() function returns a variant array. The first element RetValue[0] contains the Return value from ADA Framework (see table below) and the second element RetValue[1] contains Return values listed in the table of Ada Commands above.

WOSAkey The list of keys is as follows:1: FUNCKEY_02: FUNCKEY_14: FUNCKEY_28: FUNCKEY_316: FUNCKEY_432: FUNCKEY_564: FUNCKEY_6128: FUNCKEY_7256: FUNCKEY_8512: FUNCKEY_91024: FUNCKEY_ENTER2048: FUNCKEY_CANCEL4096: FUNCKEY_CLEAR8192: FUNCKEY_BACKSPACE16384: FUNCKEY_HELP32768: FUNCKEY_DECPOINT262144: FUNCKEY_RES1

RepeatType(RepeatBufferLenght)

The repeat type is as follows:0: Delete the repeat buffer and set to default (11) behavior.1: Set to default behavior, which is 11 today.2: Clear the repeat buffer3: Get the size of the repeat butter. This will be retvalue[1] of the return buffer.11: Any spoken text will replace the old text from the repeat buffer12: The text will be accumulated and on unload of the page the buffer will be cleared.

Parameter Meaning

Page 531: Web Extensions V1200 Programming Guide En

512 May 2008

Scripting Control of the ADA service

Retvalue[0] from ADA Framework

Error number for On Error Resume Next

Example VBScript

’NOTE: example is using alert to indicate action!’NOTE: WXCont shall be set to real PCContentsCTRL ID!’for error handlingOn Error Resume Next

SHORT Code

0 RC_OK

-1 RC_ERROR

-100 RC_IGNORED

-1000 RC_FW_NOT_FOUND

-1001 RC_FUNCTION_NOT_SUPPORTED

-1002 RC_BUS_ERROR

-1003 RC_TIMEOUT

-1004 RC_INVALID_FUNCTION_ARGUMENT

-1005 RC_EVENT_MANAGER_NOT_INSTALLED

-1006 RC_EVENT_MANAGER_ERROR

-2001 GENERAL ERROR

-2002 NO COMMAND FOUND

-2003 UNKNOWN COMMAND

HRESULT LONG HEX code

S_OK 0 0 OK

E_FAIL -2147467259 80004005 General Error

E_INVALIDARG -2147024809 80070057 Input params invalid

Page 532: Web Extensions V1200 Programming Guide En

May 2008 513

Control of the ADA service DataDictionary-Scripting

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\A

DA

Ser

vice

Con

trol

.fm

’call func()myResult = WXCont.ADAExec ( "GetLanguage" )

’error checkif Err.Number = 0 then

’VARIANT check for Array (=8204)if VarType(myResult) = 8204 then

’check if function return code is okif myResult(0) = 0 then

’are there some input param?if UBound(myResult) > 0 then

’Language outputalert myResult(1)

end ifend if

end ifelse

’error handlingalert Err.Number’clean upErr.Clear()

end if

Example JavaScript

Please use the following function to get back an array in JavaScript:

var res = (new VBArray($C().ADAExec('GetLan-guage'))).toArray();

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

DataDictionary-Scripting

The default start values are stored in variables of the DataDictionary. You can change them via scripting if you need to.

DataDictionary variables Registry variables

WX_ADA_DEF_TIMEOUT_EXTENSION ADATimeoutExt

WX_ADA_DEF_TEXT_PAGE_MENU ADATextPageMenu

Page 533: Web Extensions V1200 Programming Guide En

514 May 2008

DataDictionary-Scripting Control of the ADA service

Please consider: The changed values of the variables are stored permanent until the application is restarted!

ADA Status Variable

With the help of the ADA Status variable you can check if ADA is Active, Idle Stopped, etc. This is a Data Dictionary variable, which can be requested by the Active Data Dictionary Control in the HTML Pages.

WX_ADA_DEF_TEXT_PAGE_HINT ADATextPageHint

WX_ADA_DEF_TEXT_PAGE_CONTENT ADATextPageContent

WX_ADA_DEF_TEXT_PAGE_KEYS ADATextPageKeys

WX_ADA_DEF_MACRO_ACTIVEKEYS ADAMacroActiveKeys

WX_ADA_DEF_MACRO_ECHOKEYS ADAMacroEchoKeys

WX_ADA_DEF_ECHO_BUTTON ADAEchoButton

WX_ADA_DEF_ECHO_EPP ADAEchoEpp

WX_ADA_DEF_ECHO_EDIT ADAEchoEdit

WX_ADA_DEF_TEXT_EDIT_HINT ADATextEditHint

WX_ADA_DEF_TEXT_EDIT_CONTENT ADATextEditContent

DataDictionary variable Value

WX_ADA_STATUS 0 - ADA is OFF1 - ADA is Stopped2 - ADA is IDLE3 - ADA is Active, but Tutorial has not been played4 - ADA is running

DataDictionary variables Registry variables

Page 534: Web Extensions V1200 Programming Guide En

May 2008 515

Customer Relationship Marketing

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Customer Relationship Marketing

General idea

The general idea of the CRM service is to make it possible to use additional GUI on top of running self-service applications. Stability and security are main goals for the CRM service. All components use Unicode and all ProTopas strings are UTF8 coded for multilanguage support.

Requirements

To use CRM, the ProTopas CCDataFW and CCDatDic frameworks have to be loaded. If the EPP services is used the EppRTC Framework has to be loaded. If the formating services are used in the variable exchange, the Format Frame-work has to be loaded. And finally if ADA service is used, the complete WebEx-tensions application has to be loaded. The Microsoft Internet Explorer 6 forms the basis of the user interface. It is essential for this program to be installed on the terminal device.

Page 535: Web Extensions V1200 Programming Guide En

516 May 2008

Components of the CRM service Customer Relationship Marketing

Components of the CRM service

Architecture

The main components of CRM are CCCRM framework, HttpCtrl framework and CRMContentsCtrl framework. The CCCRM framework is implemented as a Uni-code MFC executable dialog and contains a HttpCtrl framework as an indepen-dent internal object. CRMContentsCtrl is implemented as a Unicode MFC ActiveX control.

The CRM uses a special type of parameter coding to ensure speed and the extendabilty of interfaces. Most parameters are strings with format:

CMD=ACTION_|_PARAM=SUBPARAM1=VALUE1_||_SUBPARAM2=VALUE2

CCDialog Framework

CCCrm Framework

Http Ctrl

MS Browser Ctrl

HTML page

CRM Contents

PCButton(s)

PCEdit(s)

COM

CRM Server(z.B. ProSales)

RequestResponse

DD Vars

CO

M

Pro

Topas

Pro

Topas

Page 536: Web Extensions V1200 Programming Guide En

May 2008 517

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Note the main separator is _|_, the sub separator is _||_ and the equality sign is =. With this schema the method interface do not have to be changed when a new parameter is needed for some future extension!

In some cases, where the parameter set is finite and uniquely defined, the sep-arator sign for subparameters can be ",". For example:PARAM=SUBVALUE1,SUBVALUE2,SUBVALUE3

CCCRM framework

Release specification

Version 1.0 of CCCRM is released in an EXE named ’CCCRM.exe’.

Applications using this EXE have to include the file CCCRM.XPP.

Always start this EXE in a separat process!

Configuration

The logical name of the CRM Framework is ’CCCRM’.

Architecture

The CCCRM.exe is MFC dialog application. It contains:

CCCRM framework implementation

CCCRM_HTTP framework implementation

WebBrowser ActiveX object

Msxml2.XMLHTTP.3.0 ActiveX object

Page 537: Web Extensions V1200 Programming Guide En

518 May 2008

CCCRM framework Customer Relationship Marketing

General idea

The CCCRM framework is GUI run in its own procces. The GUI is an HTML page shown in the internet explorer object. All navigations are disabled in the internet explorer object for security reasons. The loading and generating of pages is done in CCCRM_HTTP framework. The loading itself is done using an XMLHTTP object. The generated content is then written in the top HTML docu-ment of the internet explorer object. Frames and windows are not supported. There is always only HTML pages shown in the internet explorer object! The internet explorer object with HTML pages runs in the main thread of the appli-cation. All ProTopas methods and events are run in separate threads and do not interfere with GUI!

The CCCRM framework interface is designed for communication with external applications. It controls the CRM session and states visibility, position and run-ning time.

The CCCRM_HTTP framework interface is internal and there is no public inter-face! It controls the CRM session content and states loading, generating, show-ing and running in the internet explorer object.

CWinApp

CDialog

CCCRM

CWebBrowser2

HTML page

CCCRM_HTTP

Msxml2.XMLHTTP.3.0

Page 538: Web Extensions V1200 Programming Guide En

May 2008 519

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

At the start, the CCCRM framework reads its default configuration, create a instance of WebBrowser with "about:blank" as initial page, loads and shows a default start HTML page. Then the CCCRM framework dialog is hidden and the framework is ready for use!

At the end of the session or when an error occurs, the state of the CCCRM and CCCRM_HTTP frameworks will be reset, the default start HTML page will be shown and the CCCRM framework dialog will be hidden. If this is not possible the CCCRM framework will be restarted over CCRM.

The CCCRM framework can constantly check the state of the main window and memory consumption, to prevent application slowdowns and hangup situations.

It is important to say that CRM should always interfere as little as possible with running applications! CRM is designed to provide the best passive way of inter-fering. Every additional activity and/or interaction from CRM contents will cause interferance with the application!

NOTE: CRM will always interfere visually with application!

Interactions with other frameworks

Methods from the following frameworks are used:

CCDataDictionaryFW

CCFormat

CCEppRtcFW

HTML tips

One and only page thats "loaded" in internet explorer object is "about:blank".

The BASE tag will be generated in downloaded content to allow using of relative paths if here is no BASE tag in original content.

The usage of ProTopas variable exchanges [#VAR;FORMAT;DEF#] in down-loaded content is allowed.

Page 539: Web Extensions V1200 Programming Guide En

520 May 2008

CCCRM framework Customer Relationship Marketing

Parameter

The following parameters are optional for CCCRM. If the parameter is missing, default values will be used.

Section "CCCRM"

StartURL

Specifies the URL of a start HTML page for CRM dialog.

Type: StringDefault: "about:blank"

CursorEnable

Enable/disable cursor in CRM dialog.

Type: DwordDefault: 0

AllowFocus

Allow/forbid application focus for CRM dialog.

Type: DwordDefault: 0

InitEppRtc

Initialise/close and start/stop EppRtc framework for CRM dialog.

Type: DwordDefault: 0

WindowWidth

Specifies the width of the CRM dialog.

Type: DwordDefault: 320

Page 540: Web Extensions V1200 Programming Guide En

May 2008 521

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

WindowHeight

Specifies the height of the CRM dialog.

Type: DwordDefault: 200

WindowLeft

This parameter specifies the distance from the left side of the screen to the upper left corner of the CRM dialog.

Type: DwordDefault: 0

WindowTop

This parameter specifies the distance from the top of the screen to the upper left corner of the CRM dialog.

Type: DwordDefault: 0

TimerSession

This parameter specifies the time in milliseconds that the CRM dialog waits for the end of the started CRM session. If during these millisec-onds no end of the CRM session is received, the CRM session will be ended.

Type: DwordDefault: 60000

TimerXMLHTTPRequest

This parameter specifies the time in milliseconds that the CRM dialog waits for the downloading of the URL over the XMLHTTP request object to be finished. If during these milliseconds no end of the down-loading is received, the CRM session will be ended.

Type: DwordDefault: 10000

Page 541: Web Extensions V1200 Programming Guide En

522 May 2008

CCCRM framework Customer Relationship Marketing

TimerHTMLWrite

This parameter specifies the time in milliseconds that the CRM dialog waits for the end of showing the generated HTML page over the inter-net explorer object. If during these milliseconds no end of show is received, the CRM session will be ended.

Type: DwordDefault: 5000

TimerCRMContenstsResponse

This parameter specifies the time in milliseconds that the CRM dialog waits for the response of the CRMContentsCtrl object to its requests. If during these milliseconds no response is received, the CRM ses-sion will be ended.

Type: DwordDefault: 3000

XMLHTTPDefURL

Specifies the URL for navigation if USE_REGISTRY_DEFAULT is used in the SESSIONURL parameter in the navigation description.

Type: StringDefault: "about:blank"

XMLHTTPDefUSER

Specifies the USER for navigation if USE_REGISTRY_DEFAULT is used in the SESSIONUSER parameter in the navigation description.

Type: StringDefault: ""

XMLHTTPDefPASSWORD

Specifies the PASSWORD for navigation if USE_REGISTRY_DEFAULT is used in the SESSIONPASSWORD parameter in the navigation description.

Type: StringDefault: ""

Page 542: Web Extensions V1200 Programming Guide En

May 2008 523

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CheckWND

This parameter belongs to a set of parameters which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the length of time in milliseconds that the hangup check is repeated.

Type: DwordDefault: 60000

CheckWNDmax

This parameter belongs to a set of parameters which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the length of time in milliseconds that the CRM dialog instance waits for the response on a window event. If during these milliseconds no response is received, the CRM dialog will be restarted.

Type: DwordDefault: 15000

CheckMem

This parameter belongs to a set of parameter which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the time in milliseconds to check for wasted memory (mem-ory leaks).

Type: DwordDefault: 120000

CheckMEMmax

This parameter belongs to a set of parameter which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the maximum size of memory in megabytes which the CRM dialog instance may take up before the instance is restarted.

Type: DwordDefault: 64

Page 543: Web Extensions V1200 Programming Guide En

524 May 2008

CCCRM framework Customer Relationship Marketing

KillHardWAIT

This parameter belongs to a set of parameters which the CRM dialog instance checks constantly for hangup situations. This parameter specifies the time in milliseconds that the instance will wait, after it has received the WM_CLOSE event, before it calls TerminatePro-cess(). In this case even hangups with a hanging main thread will be snapped.

Type: DwordDefault: 15000

Page 544: Web Extensions V1200 Programming Guide En

May 2008 525

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Public interface

The public interface is completely defined in the included CCCRM.xpp file.It contains all the public functions, events and the required definitions for data structures and return codes.

Methods

The following public member functions are defined in class CCCRMfw:

CCCRMfw .Opendoes nothing

CCCRMfw .Closedoes nothing

CCCRMfw .InitParmsdoes nothing

CCCRMfw .GetStatusreturns the state of the framework

CCCRMfw .GetVisibilityreturns the visibility of the framework dialog

CCCRMfw .Preloadloads in advance a CRM session start URL

CCCRMfw .Startstarts a CRM session

CCCRMfw .Stopends a CRM session

CCCRMfw .Resumeresumes a CRM session

CCCRMfw .Pausepauses a CRM session

CCCRMfw .Killkills a framework instance

CCCRMfw .Showshows the CRM dialog

CCCRMfw .Hidehides the CRM dialog

Page 545: Web Extensions V1200 Programming Guide En

526 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw .GetSizegets the CRM dialog size

CCCRMfw .SetSizesets the CRM dialog size, resize CRM

CCCRMfw .GetPosgets the CRM dialog top, left coordinate

CCCRMfw .SetPossets the CRM dialog top, left coordinate, move CRM

Page 546: Web Extensions V1200 Programming Guide En

May 2008 527

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Defines and data structures

The class CCCRMfw contains the following defines and data structures:

Error defintions

Returncodes for GetStatus

Returncodes for GetVisibility

define value

CCCRM_OK 0

CCCRM_ERROR -1

CCCRM_IGNORED -2

CCCRM_ERROR_INPUT -3

CCCRM_ERROR_SYS -4

define value

CCCRM_STATUS_NOK 0

CCCRM_STATUS_WAITING 1

CCCRM_STATUS_STARTING 2

CCCRM_STATUS_STARTED 3

CCCRM_STATUS_RUNNING 4

CCCRM_STATUS_STOPING 5

CCCRM_STATUS_STOPED 6

CCCRM_STATUS_DELAYEDSTOPING 7

define value

CCCRM_VISIBILITY_HIDDEN 0

CCCRM_VISIBILITY_VISIBLE 1

Page 547: Web Extensions V1200 Programming Guide En

528 May 2008

CCCRM framework Customer Relationship Marketing

Input parameters of Start, Stop, Resume, Pause

Data dictionary variables array

define value

CCCRM_PARAM_NONE 0

CCCRM_PARAM_STARTANDSHOW 1

CCCRM_PARAM_STARTANDSHOWONSTARTREADY 2

CCCRM_PARAM_STARTANDWAITFORSHOW 3

CCCRM_PARAM_STOPANDHIDE 1

CCCRM_PARAM_STOPANDHIDEONSTOPREADY 2

CCCRM_PARAM_STOPANDWAITFORHIDE 3

CCCRM_PARAM_PAUSEANDHIDE 1

CCCRM_PARAM_PAUSEANDWAITFORHIDE 3

CCCRM_PARAM_RESUMEANDSHOW 1

CCCRM_PARAM_RESUMEANDWAITFORSHOW 3

name array

CCCRM_VAR_CONTAINER_L 0 - 255

CCCRM_VAR_CONTAINER_S 0 - 255

Page 548: Web Extensions V1200 Programming Guide En

May 2008 529

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Data dictionary variables

Values for CCCRM_STATE_PRELOAD_STATUS_L

name description

CCCRM_STATE_STATUS_L read only, state of CCCRM

CCCRM_STATE_SESSION_RC_L read only, session RC

CCCRM_STATE_PRELOAD_STATUS_L read only, preload status

CCCRM_STATE_CONTENT_STATUS_L read only, state of CCCRM_HTTP

CCCRM_STATE_CONTENT_SESSION_RC_L

read only, session RC of CCRM_HTTP

CCCRM_VAR_DLG_INPUT_RESULT_S read only, result of session

CCCRM_VAR_DLG_INPUT1_S - CCCRM_VAR_DLG_INPUT9_S

variables for input control

CCCRM_ADA_TEXT_PAGE_MENU_S variable for ADA control

CCCRM_ADA_TEXT_PAGE_HINT_S variable for ADA control

CCCRM_ADA_TEXT_PAGE_CONTENT_S

variable for ADA control

CCCRM_ADA_TEXT_PAGE_KEYS_S variable for ADA control

CCCRM_ADA_ECHO_BUTTON_S variable for ADA control

CCCRM_ADA_ECHO_EDIT_S variable for ADA control

CCCRM_ADA_CTRL_BLOCKAPP_L variable for ADA control

define value

CCCRM_STATUS_PRELOAD_UNKNOWN 0

CCCRM_STATUS_PRELOAD_STARTED 1

CCCRM_STATUS_PRELOAD_LOADED 2

CCCRM_STATUS_PRELOAD_OK 3

Page 549: Web Extensions V1200 Programming Guide En

530 May 2008

CCCRM framework Customer Relationship Marketing

Values for CCCRM_STATE_SESSION_RC_L

Values for CCCRM_STATE_CONTENT_STATUS_L

Values for CCCRM_STATE_CONTENT_SESSION_RC_L

define value

CCCRM_RC_SESSION_UNKNOWN 0

CCCRM_RC_SESSION_OK 1

CCCRM_RC_SESSION_UNKNOWN -1

CCCRM_RC_SESSION_TIMEOUT -2

CCCRM_RC_SESSION_CANCEL -3

define value

CCCRM_HTTP_STATUS_NOK 0

CCCRM_HTTP_STATUS_WAITING 1

CCCRM_HTTP_STATUS_LOADING 2

CCCRM_HTTP_STATUS_LOADED 3

CCCRM_HTTP_STATUS_PAUSED 4

CCCRM_HTTP_STATUS_INTERACTIVE 5

CCCRM_HTTP_STATUS_COMPLETE 6

CCCRM_HTTP_STATUS_ENDED 7

CCCRM_HTTP_STATUS_STOPING 8

CCCRM_HTTP_STATUS_STOPED 9

CCCRM_HTTP_STATUS_DEAD 10

CCCRM_HTTP_STATUS_PAUSING 11

CCCRM_HTTP_STATUS_RESUMING 12

define value

CCCRM_HTTP_RC_UNKNOWN 0

CCCRM_HTTP_RC_CONTENT_TIMEOUT 1

CCCRM_HTTP_RC_CONTENT_END 2

Page 550: Web Extensions V1200 Programming Guide En

May 2008 531

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRM_HTTP_RC_ERROR_INPUT_DATA_INVALID -1

CCCRM_HTTP_RC_ERROR_STATE_INVALID -2

CCCRM_HTTP_RC_ERROR_SYS -3

CCCRM_HTTP_RC_TIMEOUT_SEND -4

CCCRM_HTTP_RC_SEND_CANCEL -5

define value

Page 551: Web Extensions V1200 Programming Guide En

532 May 2008

CCCRM framework Customer Relationship Marketing

Events

The CCCRM framework issues the following events:

CCCRM_EVT_INIT

This event is sent when the framework is ready for use.

CCCRM_EVT_START

This event is sent when the session has been started.

CCCRM_EVT_STOP

This event is sent when the session has been ended.

CCCRM_EVT_PRELOAD_OK

This event is sent when the preload has ended successfully.

CCCRM_EVT_PAUSE

This event is sent when the session is paused.

CCCRM_EVT_RESUME

This event is sent when the session is resumed.

CCCRM_EVT_EXIT

This event is sent if the framework exists (restart).

CCCRM_EVT_ERROR

This event is sent when an error in session has occurred!

CCCRM_EVT_OFFLINE

This event is sent when the requested page loading timeouts.

CCCRM_EVT_SHOW

This event is sent when the frameworks dialog is shown.

CCCRM_EVT_HIDE

This event is sent when the frameworks dialog is hidden.

CCCRM_EVT_START_READY

This event is sent when the Start() method is called with the parameter CCCRM_PARAM_STARTANDWAITFORSHOW. It is used for the visual synchroni-sation of applications and framework dialogs!

Page 552: Web Extensions V1200 Programming Guide En

May 2008 533

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRM_EVT_STOP_READY

This event is sent when the Stop() method is called with parameter CCCRM_PARAM_STOPANDWAITFORHIDE. It is used for the visual synchronisa-tion of applications and framework dialogs!

CCCRM_EVT_PAUSE_READY

This event is sent when the Pause() method is called with parameter CCCRM_PARAM_PAUSEANDWAITFORHIDE. It is used for the visual synchroni-sation of applications and framework dialogs!

CCCRM_EVT_RESUME_READY

This event is sent when the Resume() method is called with parameter CCCRM_PARAM_RESUMEANDWAITFORSHOW. It is used for the visual synchroni-sation of applications and framework dialogs!

CCCRM_EVT_ADA_CHANGE

This event is sent when the session content has changed ADA variables during the session. NOTE: not for the first change at the session start!

Page 553: Web Extensions V1200 Programming Guide En

534 May 2008

CCCRM framework Customer Relationship Marketing

Specification of the methods

In the following section the public methods are described in detail.

CCCRMfw.Open

Syntax:

SHORT CCCRMfw.Open(

VOID

)

Function:

Does nothing.

Return values:

CCCRM_OK (0)

Nothing happened.

Page 554: Web Extensions V1200 Programming Guide En

May 2008 535

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRMfw.Close

Syntax:

SHORT CCCRMfw.Close(

VOID

)

Function:

Does nothing.

Return values:

CCCRM_OK (0)

Nothing happened.

Page 555: Web Extensions V1200 Programming Guide En

536 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.InitParms

Syntax:

SHORT CCCRMfw.InitParms(

VOID

)

Function:

Does nothing.

Return values:

CCCRM_OK (0)

Nothing happened.

Page 556: Web Extensions V1200 Programming Guide En

May 2008 537

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRMfw.GetStatus

Syntax:

SHORT CCCRMfw.GetStatus(

VOID

)

Function:

Get the framework status.

Return values:

CCCRM_STATUS_NOK (0)

Framework loaded, but not ready yet, dialog hidden.

CCCRM_STATUS_WAITING (1)

Framework ready for use, dialog hidden.

CCCRM_STATUS_STARTING (2)

Framework session start ongoing, loading URL, dialog hidden.

CCCRM_STATUS_STARTED (3)

Framework session start ongoing, URL loaded, content loaded, hidden dialog waiting for show.

CCCRM_STATUS_RUNNING (4)

Framework session running, URL loaded, content complete, dialog shown.

CCCRM_STATUS_STOPING (2)

Framework session stop ongoing, stop request sent to session content, dialog visible.

CCCRM_STATUS_STOPED (3)

Framework session stop ongoing, session content stopped, dialog visi-ble waiting for hide.

Page 557: Web Extensions V1200 Programming Guide En

538 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.GetVisibility

Syntax:

SHORT CCCRMfw.GetVisibility(

VOID

)

Function:

Get the framework dialog visibility.

Return values:

CCCRM_VISIBILITY_HIDDEN (0)

Framework dialog hidden.

CCCRM_VISIBILITY_VISIBLE (4)

Framework dialog visible.

Page 558: Web Extensions V1200 Programming Guide En

May 2008 539

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRMfw.Preload

Syntax:

SHORT CCCRMfw.Preload(

CHAR* pstrData

)

Function:

Load a CRM session start URL in advance. Preload can be done only when no session is running. CRM status must be CCCRM_STATUS_WAITING or preload request will be ignored!

Input parameters:

pstrData (IN)

UTF8 string, preload data

Return values:

CCCRM_OK (0)

Preload initialised.

CCCRM_ERROR (-1)

General error.

CCCRM_IGNORED (-2)

CRM not ready for preload.

Page 559: Web Extensions V1200 Programming Guide En

540 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.Start

Syntax:

SHORT CCCRMfw.Start(

CHAR* pstrData,

SHORT sShow

)

Function:

Start a CRM session. Start can be done only when no session is running. CRM status must be CCCRM_STATUS_WAITING or the start request will be ignored! Start can be done for ongoing or successfully carried out pre-load. If the start is done with new start session data over a preload, the pre-load will be cancelled, Start will be ignored and the CCCRM_EVT_ERROR event is fired!

Input parameters:

pstrData (IN)

UTF8 string, start session data

NULL or empty strings or strings containing only SESSIONTIMER parameters, start a previously preloaded content, or set a flag to start an ongoing preload content, when preload is finished!

All parameters are coded in one string in format: PARAMETER=VALUE_|_PARAMETER=VALUE ... Valid PARAMETERs for Start meth-ods:

SESSIONURLUTF16 unicode string, URL, used in navigation, check global XMLHTTPDefURL

SESSIONTIMERoptional, numeric converted to DWORD, overwrite the duration of the global TimerSession in miliseconds for this session, must be greater then 0.

Page 560: Web Extensions V1200 Programming Guide En

May 2008 541

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

SESSIONUSERoptional, UTF16 unicode string, USER, used in navigation, check global XMLHTTPDefUSER

SESSIONPASSWORDoptional, UTF16 unicode string, PASSWORD, used in navigation, check global XMLHTTPDefPASSWORD

SESSIONXMLHTTPREQUESTTIMERoptional, numeric converted to DWORD, overwrite the duration of the global TimerXMLHTTPRequest in miliseconds for this naviga-tion, must be greater then 0. Can be used from version 1003 of CCCRM.EXE.

sShow (IN)

How to show the dialog: immediately, when the content is ready or exter-nally synchronised.

1, CCCRM_PARAM_STARTANDSHOW, show dialog immediately at success-ful start

2, CCCRM_PARAM_STARTANDSHOWONSTARTREADY, show dialog when the content is loaded and intialised

3, CCCRM_PARAM_STARTANDWAITFORSHOW waits for the extern method show, until a content has been loaded and intialised and event CCCRM_EVT_START_READY has been fired!

Return values:

CCCRM_OK (0)

Start initialised.

CCCRM_ERROR (-1)

General error.

CCCRM_IGNORED (-2)

CRM not ready for start.

CCCRM_ERROR_INPUT (-3)

Input parameter sShow not in range.

Page 561: Web Extensions V1200 Programming Guide En

542 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.Stop

Syntax:

SHORT CCCRMfw.Stop(

CHAR* pstrData,

SHORT sHide

)

Function:

Stop a CRM session. Stop can be done only when a session is running, CRM status must be one of: CCCRM_STATUS_STARTING, CCCRM_STATUS_STARTED, CCCRM_STATUS_RUNNING or the stop request will be ignored!

Input parameters:

pstrData (IN)

UTF8 string, stop session data

All parameters are coded in one string in format: PARAMETER=VALUE_|_PARAMETER=VALUE ... Valid PARAMETERs for Stop meth-ods:

DELAYSTOPUNTILCRMENDoptional, "DELAYSTOPUNTILCRMEND=ON" will allow content to end itself, normal ends are: CCCRM_HTTP_RC_CONTENT_END and CCCRM_HTTP_RC_CONTENT_TIMEOUT!

sHide (IN)

How to hide the dialog: immediately, when content is ready or externally synchronised.

1, CCCRM_PARAM_STOPANDHIDE, hide dialog immediately at successful stop

2, CCCRM_PARAM_STOPANDHIDEONSTOPREADY, hide dialog when the content is ended

3, CCCRM_PARAM_STOPANDWAITFORHIDE, wait for an external hide. When a content is ended, event CCCRM_EVT_STOP_READY is fired!

Page 562: Web Extensions V1200 Programming Guide En

May 2008 543

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Return values:

CCCRM_OK (0)

Stop initialised.

CCCRM_ERROR (-1)

General error.

CCCRM_IGNORED (-2)

CRM not ready for stop.

CCCRM_ERROR_INPUT (-3)

Input parameter sHide not in range.

Page 563: Web Extensions V1200 Programming Guide En

544 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.Pause

Syntax:

SHORT CCCRMfw.Pause(

CHAR* pstrData,

SHORT sHide

)

Function:

Pause a CRM session. Pause can be done only when a session is running, CRM status must be CCCRM_STATUS_RUNNING or the pause request will be ignored! Double Pause method calls are ignored, too!

Input parameters:

pstrData (IN)

UTF8 string, not used at the moment

sHide (IN)

How to hide the dialog: immediately, when content is ready or externally synchronised.

1, CCCRM_PARAM_PAUSEANDHIDE, hide dialog immediately at successful pause

2, CCCRM_PARAM_PAUSEANDWAITFORHIDE, wait for extern hide, when the content is paused event CCCRM_EVT_PAUSE_READY is fired!

Return values:

CCCRM_OK (0)

Pause initialised.

CCCRM_ERROR (-1)

General error.

CCCRM_IGNORED (-2)

CRM not ready for pause.

Page 564: Web Extensions V1200 Programming Guide En

May 2008 545

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRM_ERROR_INPUT (-3)

Input parameter sHide not in range.

Page 565: Web Extensions V1200 Programming Guide En

546 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.Resume

Syntax:

SHORT CCCRMfw.Resume(

CHAR* pstrData,

SHORT sShow

)

Function:

Resume a CRM session. Resume can be done only when a session is run-ning, CRM status must be CCCRM_STATUS_RUNNING or the resume request will be ignored! Resume method can be called only after the pause method or it will be ignored!

Input parameters:

pstrData (IN)

UTF8 string, not used at the moment

sShow (IN)

How to show the dialog: immediately, when content is ready or externally synchronised.

1, CCCRM_PARAM_RESUMEANDSHOW, show dialog immediately at success-ful resume

2, CCCRM_PARAM_RESUMEANDWAITFORSHOW, wait for extern show, when a content is reintialised event CCCRM_EVT_RESUME_READY is fired!

Return values:

CCCRM_OK (0)

Resume initialised.

CCCRM_ERROR (-1)

General error.

CCCRM_IGNORED (-2)

Page 566: Web Extensions V1200 Programming Guide En

May 2008 547

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CRM not ready for stop.

CCCRM_ERROR_INPUT (-3)

Input parameter sHide not in range.

Page 567: Web Extensions V1200 Programming Guide En

548 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.Kill

Syntax:

SHORT CCCRMfw.Kill(

VOID

)

Function:

Force CRM framework to restart itself.

Return values:

CCCRM_OK (0)

Restart initialised.

CCCRM_ERROR (-1)

General error.

Page 568: Web Extensions V1200 Programming Guide En

May 2008 549

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRMfw.Show

Syntax:

SHORT CCCRMfw.Show(

VOID

)

Function:

This method shows the CRM framework window.

Return values:

CCCRM_OK (0)

Function completed successfully.

CCCRM_ERROR (-1)

General error.

CCCRM_IGNORED (-2)

CRM framework window already visible.

CCCRM_ERROR_SYS (-4)

System function failed.

Page 569: Web Extensions V1200 Programming Guide En

550 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.Hide

Syntax:

SHORT CCCRMfw.Hide(

VOID

)

Function:

This method hides the CRM framework window.

Return values:

CCCRM_OK (0)

Function completed successfully.

CCCRM_ERROR (-1)

General error.

CCCRM_IGNORED (-2)

CRM framework window already hidden.

CCCRM_ERROR_SYS (-4)

System function failed.

Page 570: Web Extensions V1200 Programming Guide En

May 2008 551

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRMfw.GetSize

Syntax:

SHORT CCCRMfw.GetSize(

LONG* plWidth,

LONG* plHeight

)

Function:

This method returns the current width and hight of the CRM framework win-dow.

Input parameters:

plWidth (OUT)

The current width of the CRM framework window

plHeight (OUT)

The current height of the CRM framework window

Return values:

CCCRM_OK (0)

Function completed successfully.

CCCRM_ERROR (-1)

General error.

CCCRM_ERROR_INPUT (-3)

Input parameter is NULL pointer.

Page 571: Web Extensions V1200 Programming Guide En

552 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.SetSize

Syntax:

SHORT CCCRMfw.SetSize(

LONG lWidth,

LONG lHeight

)

Function:

This method sets the width and hight of the CRM framework window.

Input parameters:

lWidth (IN)

The new width of the CRM framework window

lHeight (IN)

The new height of the CRM framework window

Return values:

CCCRM_OK (0)

Function completed successfully.

CCCRM_ERROR (-1)

General error.

Page 572: Web Extensions V1200 Programming Guide En

May 2008 553

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CCCRMfw.GetPos

Syntax:

SHORT CCCRMfw.GetPos(

LONG* plX,

LONG* plY

)

Function:

This method returns the current top left position of the CRM framework win-dow.

Input parameters:

plX (OUT)

The current left (X) position of the CRM framework window

plY (OUT)

The current top (Y) position of the CRM framework window

Return values:

CCCRM_OK (0)

Function completed successfully.

CCCRM_ERROR (-1)

General error.

CCCRM_ERROR_INPUT (-3)

Input parameter is NULL pointer.

Page 573: Web Extensions V1200 Programming Guide En

554 May 2008

CCCRM framework Customer Relationship Marketing

CCCRMfw.SetPos

Syntax:

SHORT CCCRMfw.SetPos(

LONG lX,

LONG lY

)

Function:

This method sets the top left position of the CRM framework window.

Input parameters:

lX (IN)

The new left (X) position of the CRM framework window

lY (IN)

The new top (Y) position of the CRM framework window

Return values:

CCCRM_OK (0)

Function completed successfully.

CCCRM_ERROR (-1)

General error.

Page 574: Web Extensions V1200 Programming Guide En

May 2008 555

Customer Relationship Marketing CCCRM framework

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Trace and error logging

The trace and error logging for the CCCRM Framework will be initialized under the number 784 (MODID_CCCRM)

The following trace levels are defined:

NOTE: turn always 11,12,13 on!

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

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

Page 575: Web Extensions V1200 Programming Guide En

556 May 2008

CRMContentsCtrl Customer Relationship Marketing

CRMContentsCtrl

Release specification

Version 1.0 of CRMContentsCtrl is released in a OCX named ’CRMContentsC-trl.ocx’.

CRMContentsCtrl is implemented as a Unicode MFC ActiveX control.

This control can be used only within CCCRM.exe!

Configuration

Like every ActiveX control, CRMContentsCtrl have to be registered before first usage.

For the trace and error logging, CRMContentsCtrl is using the CCCRM Frame-work 784 (MODID_CCCRM) trace and error settings!

Architecture

The CRMContentsCtrl is the bridge of communication between the HTML page and its components (CRM content) and the CCCRM_HTTP framework, which is controlling the CRM content from outside in CCCRM.exe.

The CRMContentsCtrl controls:

CRM Session synchronisation with CCCRM_HTTP framework

Start/Stop/Pause/Resume, PageTimeout control, external EndSession

CRM content

PCButton interactions, PCEdit interactions, external Navigation

EPP

EPP softkeys and pinpad keys usage

ADA

Extension of application ADA usage

Page 576: Web Extensions V1200 Programming Guide En

May 2008 557

Customer Relationship Marketing CRMContentsCtrl

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

General idea

The CRMContentsCtrl controls the HTML part of the CCCRM framework. After the HTML code is downloaded and generated through the CCCRM_HTTP framework, it will be written directly into the active page, overwriting it com-pletely!

After the page is written, the CRMContentsCtrl will be initialised by the CCCRM_HTTP frameworks calls of Load, Init, Kick methods. This communica-tion is timer secured and implemented as a Request/Acknowledge sequence for every method call from the CCCRM_HTTP framework. The same applies to End, Pause, Resume methods that are called at Session end, pause or resume.

The HTML page is scanned at load method and the CRMContentsCtrl is con-nected with all the PCButtons and PCEdits that can be found. The properties are resolved if the ProTopas variable exchange is used, and the Page Timeout, EPP keys Takeover and ADA usage are started as configured. Now the HTML page is fully ready and interactive.

CRMContentsCtrl then reacts to Events from EPP, PCButton or PCEdit and to external usage (scripting) as discribed in public interface.

CRMContentsCtrl has property page and configuration dialogs for its properties that can be used with HTML page editors.

Interactions with other frameworks

Methods from the following frameworks are used:

CCCRM_HTTPfw

CCEppRtcFW

CCDataDictionaryFW

CCFormat

Page 577: Web Extensions V1200 Programming Guide En

558 May 2008

CRMContentsCtrl Customer Relationship Marketing

Public interface

The public interface is completely defined in the old file CRMContentsCtrl.odl.This type library contains all the public properties, methods and events.

Properties

The following properties are defined in object CRMContentsCtrl.ocx:

BSTR PageTimeoutnumeric value, timer in milliseconds, range: [0,+LONG]

BSTR EPPConfigEPP configuration. Format: FDK=a,b_|_FK=c,d_|_FK2TXT=e=f_||_g=h...FDKs are Softkeys: F1,F2,F3...,F32FKs are pinpad keys: 0,1,2,3,4,5,6,7,8,9, CONFIRM, CANCEL, CLEAR, BACKSPACE, R,L,00,000, 19,20,21...31FK2TXT maps pinpad keys to a string that is sent to PCEdit when the pinpad key is pressed! Default maping is: CLEAR="\b", CONFIRM="\r", R=".", L="*", 00="00", 000="000", BACKSPACE="\b"Example: FDK=F1_|_FK=0,1,2,3,4,5,6,7,8,9, CONFIRM,CLEAR,CANCEL ,R,L_|_FK2TXT=CANCEL=_||_R=,

BSTR ADAConfigADA configuration. Format: CMD=POSITION=pos_||_TEXT=text_||_SUBSTITUTETEXT=subText_|_CMD2=POSITION=pos_||_TEXT=text_||_SUBSTITUTETEXT=subText...CMD are possible texts and macros that can be changed into WebExten-sions, that are: TEXT_PAGEMENU, TEXT_PAGEHINT, TEXT_PAGECONTENT, TEXT_PAGEKEYS, ECHO_BUTTON and ECHO_EDITPOSITION is position for paste of text in original texts and macros in WebEx-tension, that are: before, after and substitute.TEXT is text to paste.SUBSTITUTETEXT is text to substitute with TEXT when POSITION is sub-stitute!

NOTE: all properties can use one or more of ProTopas variable exchanges, the generator exchange [#VARIABLE;FOR-MAT;DEFAULT#] that is done by CCCRM_HTTP framework during page generation, or the real time exchange [&VARIABLE;FOR-

Page 578: Web Extensions V1200 Programming Guide En

May 2008 559

Customer Relationship Marketing CRMContentsCtrl

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

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

Methods

The following methods are defined in object CRMContentsCtrl.ocx:

boolean EndSession()Request the session end from CCCRM_HTTP framework

boolean Navigate(BSTR strURL)Request from CCCRM_HTTP framework to download, generate and show resource described in strURL.

Example: Navigate("SESSIONURL=file://C:\CRM\HTML\myPage.htm")

strURL format: PARAMETER=VALUE_|_PARAMETER=VALUE ... Valid PARAMETERs:

SESSIONURLUTF16 unicode string, URL, used in navigation, check global XMLHTTPDefURL parameter

SESSIONUSERoptional, UTF16 unicode string, USER, used in navigation, check glo-bal XMLHTTPDefUSER parameter

SESSIONPASSWORDoptional, UTF16 unicode string, PASSWORD, used in navigation, check global XMLHTTPDefPASSWORD parameter

SESSIONXMLHTTPREQUESTTIMERoptional, numeric converted to DWORD, overwrite the duration of the global TimerXMLHTTPRequest in miliseconds for this navigation, must be greater then 0. Can be used from version 1003 of CCCRM.EXE

boolean ADAChange()Request CCCRM framework to fire CCCRM_EVT_ADA_CHANGE event.

BSTR DoIt(BSTR strData)Calls some CCCRM framework functions, see specification of the methods for more information about parameters and return codes!

Page 579: Web Extensions V1200 Programming Guide En

560 May 2008

CRMContentsCtrl Customer Relationship Marketing

Example: DoIt("CMD=SetPos_|_POSX=3_|_POSY=150")

The method returns a CCCRM framework functions return code as string or one of general error codes:"!ERROR! input parameter NULL pointer!","!ERROR! can't find CMD in data!","unknown CMD!"

strData format: PARAMETER=VALUE_|_PARAMETER=VALUE ... Valid PARAMETERs:

CMDVALUES one of:

SetPoscalls SetPos(X,Y) method of CCCRM framework. Needs POSX and POSY PARAMETERs! Additional return codes:"!ERROR! missing parameter 'POSX'!","!ERROR! missing parameter 'POSY'!"

SetSizecalls SetSize(W,H) method of CCCRM framework. Needs SIZEW and SIZEH PARAMETERs! Additional return codes:"!ERROR! missing parameter 'SIZEW'!","!ERROR! missing parameter 'SIZEH'!"

Showcalls Show() method of CCCRM framework.

Hidecalls Hide() method of CCCRM framework.

Killcalls Kill() method of CCCRM framework.

POSXused only with CMD=SetPos, numeric, x position

POSYused only with CMD=SetPos, numeric, y position

SIZEWused only with CMD=SetSize, numeric, width size

SIZEHused only with CMD=SetSize, numeric, height size

Page 580: Web Extensions V1200 Programming Guide En

May 2008 561

Customer Relationship Marketing CRMContentsCtrl

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Events

The object CRMContentsCtrl.ocx issues the following events:

onLoad()

This event is sent by the CCCRM_HTTP framework to request Load func-tionality.

onInit()

This event is sent by the CCCRM_HTTP framework to request Init function-ality.

onKick()

This event is sent by the CCCRM_HTTP framework to request Kick function-ality.

onPause()

This event is sent by the CCCRM_HTTP framework to request Pause func-tionality.

onResume()

This event is sent by the CCCRM_HTTP framework to request Resume functionality.

onEnd()

This event is sent by the CCCRM_HTTP framework to request End function-ality.

onTimeout()

This event is sent when the Page timer expires.

onUserInteraction(short sID)

This event is sent when some User interaction has occurred from the PCBut-ton or PCEdit, for example, pressing the button, giving focus to PCEdit or writing in PCEdit. sID is the unique ID of PCButton or PCEdit.

OnEppInteraction(BSTR strInteraction)

This event is sent when some EPP interaction has occurred. For example, starting the service, stopping the service, or pressing some softkeys or pin-pad keys. strInteraction is "START", "END" or one of FDK or FK string.

Page 581: Web Extensions V1200 Programming Guide En

562 May 2008

CRMContentsCtrl Customer Relationship Marketing

Using EPP

CRM uses EPP over existing application usage! This is done with CCEPPRtc takeover functionality. When the Softkey(FDK) or pinpad keys(FK) are taken over, the application will lose control over it and only CRMContentsCtrl will be informed when the takeover key is pressed! All 32 FDKs and all 32 FKs can be taken over!FK2TXT is mapped from CRMContentsCtrl of the FK to a string that is sent to PCEdit when a pinpad key is pressed and there is some PCEdit control in the HTML page! All 32 FKs can be mapped to another string different to the normal CCEppfw to CRMContentsCtrl string mapping!

Default mapping of pinpad keys to strings sent to PCEditl

NOTE: You can use EPP functionality only when the application is using standard ExeCmdGetData or doing nothing with EPP! If ExeC-mdGetPin is used or some other special EPP functionality is being used by the application the takeover functionality can not work!

NOTE: The usage of EPP in CRM will always interfere interactivity with applications that are using EPP!

CCEPPfw pinpad key string send to PCEditCCEPPFW_FUNCKEY_ENTER \r

CCEPPFW_FUNCKEY_CLEAR \b

CCEPPFW_FUNCKEY_BACKSPACE \b

CCEPPFW_FUNCKEY_DECPOINT R

CCEPPFW_FUNCKEY_RES1 L

CCEPPFW_FUNCKEY_00 00

CCEPPFW_FUNCKEY_000 000

Page 582: Web Extensions V1200 Programming Guide En

May 2008 563

Customer Relationship Marketing CRMContentsCtrl

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Mapping CCEPPfw Softkeys to CRMContentsCtrl stringsl

CCEPPfw Softkey CRMContentsCtrl stringCCEPPFW_FUNCKEY_FDK01 F1

CCEPPFW_FUNCKEY_FDK02 F2

CCEPPFW_FUNCKEY_FDK03 F3

CCEPPFW_FUNCKEY_FDK04 F4

CCEPPFW_FUNCKEY_FDK05 F5

CCEPPFW_FUNCKEY_FDK06 F6

CCEPPFW_FUNCKEY_FDK07 F7

CCEPPFW_FUNCKEY_FDK08 F8

CCEPPFW_FUNCKEY_FDK09 F9

CCEPPFW_FUNCKEY_FDK10 F10

CCEPPFW_FUNCKEY_FDK11 F11

CCEPPFW_FUNCKEY_FDK12 F12

CCEPPFW_FUNCKEY_FDK13 F13

CCEPPFW_FUNCKEY_FDK14 F14

CCEPPFW_FUNCKEY_FDK15 F15

CCEPPFW_FUNCKEY_FDK16 F16

CCEPPFW_FUNCKEY_FDK17 F17

CCEPPFW_FUNCKEY_FDK18 F18

CCEPPFW_FUNCKEY_FDK19 F19

CCEPPFW_FUNCKEY_FDK20 F20

CCEPPFW_FUNCKEY_FDK21 F21

CCEPPFW_FUNCKEY_FDK22 F22

CCEPPFW_FUNCKEY_FDK23 F23

CCEPPFW_FUNCKEY_FDK24 F24

CCEPPFW_FUNCKEY_FDK25 F25

CCEPPFW_FUNCKEY_FDK26 F26

CCEPPFW_FUNCKEY_FDK27 F27

CCEPPFW_FUNCKEY_FDK28 F28

CCEPPFW_FUNCKEY_FDK29 F29

CCEPPFW_FUNCKEY_FDK30 F30

CCEPPFW_FUNCKEY_FDK31 F31

CCEPPFW_FUNCKEY_FDK32 F33

Page 583: Web Extensions V1200 Programming Guide En

564 May 2008

CRMContentsCtrl Customer Relationship Marketing

Mapping CCEPPfw pinpad keys to CRMContentsCtrl stringsl

CCEPPfw pinpad key CRMContentsCtrl stringCCEPPFW_FUNCKEY_0 0

CCEPPFW_FUNCKEY_1 1

CCEPPFW_FUNCKEY_2 2

CCEPPFW_FUNCKEY_3 3

CCEPPFW_FUNCKEY_4 4

CCEPPFW_FUNCKEY_5 5

CCEPPFW_FUNCKEY_6 6

CCEPPFW_FUNCKEY_7 7

CCEPPFW_FUNCKEY_8 8

CCEPPFW_FUNCKEY_9 9

CCEPPFW_FUNCKEY_ENTER CONFIRM

CCEPPFW_FUNCKEY_CANCEL CANCEL

CCEPPFW_FUNCKEY_CLEAR CLEAR

CCEPPFW_FUNCKEY_BACKSPACE BACKSPACE

CCEPPFW_FUNCKEY_HELP HELP

CCEPPFW_FUNCKEY_DECPOINT R

CCEPPFW_FUNCKEY_RES1 L

CCEPPFW_FUNCKEY_00 00

CCEPPFW_FUNCKEY_000 000

0x00080000 19

0x00100000 20

0x00200000 21

0x00400000 22

0x00800000 23

0x01000000 24

0x02000000 25

0x04000000 26

0x08000000 27

0x10000000 28

0x20000000 29

0x40000000 30

0x80000000 31

Page 584: Web Extensions V1200 Programming Guide En

May 2008 565

Customer Relationship Marketing CRMContentsCtrl

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Using ADA

CRM ADA is used over WebExtensions! CRM simply modifies the texts that the WebExtension uses for ADA. When one property has to be spoken from the WebExtension, it is first checked if the CRM wants to change the text, and then the text is changed as configured in CRM.These properties from WebExtension can be changed using CRM:

TEXT_PAGEMENU

TEXT_PAGEHINT

TEXT_PAGECONTENT

TEXT_PAGEKEYS

Example: TEXT_PAGEMENU=POSITION=after_||_TEXT= With marketing!

The Echos, that is the acustic reaction to the pressing of one of the pinpad keys, can only be overwritten from CRM. This is because in WebExtension the Echos can use macros, but macros cannot access the CRM proccess! So the WebEx-tension will configure the echos first and then if the ECHO_EDIT is present, it will be used, if not then if the ECHO_BUTTON is present, it will be used.These properties from WebExtension can be overwritten from CRM:

ECHO_BUTTON

ECHO_EDIT

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

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

Page 585: Web Extensions V1200 Programming Guide En

566 May 2008

CRMContentsCtrl Customer Relationship Marketing

Mapping CCEPPfw pinpad keys to PCContentsCtrl stringsl

The usage of PCEdit and ADA in CRM is very limited. PCEdit can only be used in CRM with ADA functionality when there is no PCButtons or EPP usage in the CRM or WebExtension application. The ADA functionalities EDIT_HINT and EDIT_CONTENT are not supported in CRM.

NOTE: If ADA is not running in the application the ADA functionality cannot be used from CRM!

NOTE: The usage of ADA in CRM will always interfere audibly with applications that are using ADA!

CCEPPfw pinpad key PCContentsCtrl stringCCEPPFW_FUNCKEY_0 0

CCEPPFW_FUNCKEY_1 1

CCEPPFW_FUNCKEY_2 2

CCEPPFW_FUNCKEY_3 3

CCEPPFW_FUNCKEY_4 4

CCEPPFW_FUNCKEY_5 5

CCEPPFW_FUNCKEY_6 6

CCEPPFW_FUNCKEY_7 7

CCEPPFW_FUNCKEY_8 8

CCEPPFW_FUNCKEY_9 9

CCEPPFW_FUNCKEY_ENTER CONFIRM

CCEPPFW_FUNCKEY_CANCEL CANCEL

CCEPPFW_FUNCKEY_CLEAR CORRECT

CCEPPFW_FUNCKEY_HELP HELP

CCEPPFW_FUNCKEY_DECPOINT R

CCEPPFW_FUNCKEY_RES1 L

Page 586: Web Extensions V1200 Programming Guide En

May 2008 567

Customer Relationship Marketing CRMContentsCtrl

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

In detail, the ADA functionality of CRM is implemented over CRM data dictio-nary variables. CRMContentsCtrl saves the variable values in the variable in the Init() phase of HTML start, and the PCContentsCtrl uses these variables to modify the original WebExtension application ADA settings. To synchronise this, the CRM session has to be started using the CCCRM_PARAM_STARTANDWAITFORSHOW parameter. The following changes in the variable values, as a result of the CRM HTML page change or CRM session end, will be signaled with the CCCRM_EVT_ADA_CHANGE event. PCCon-tentsCtrl will then restart the ADA handling of in page configuration in the WebExtension application. The CRM data dictionary variables for ADA controls are public and can be changed from CRM HTML pages using scripting, for example. To signal the change to the WebExtension application the CRMCon-tentsCtrl method ADAChange() should be used.

From version 1003 of CCCRM.EXE, version 1002 of CRMContentsCtrl.ocx and version 1244 of PCContentsSTDSvr.dll CRM cann block application ADA func-tionality with CTRL_BLOCKAPP=ON command in ADAconfig property. This will block application in page ADA activities, so the CRM ADA only configuration will be executed from application!

CRM ADA data dictionary variables

name description

CCCRM_ADA_TEXT_PAGE_MENU_S PAGE_MENU control

CCCRM_ADA_TEXT_PAGE_HINT_S PAGE_HINT control

CCCRM_ADA_TEXT_PAGE_CONTENT_S

PAGE_CONTENT control

CCCRM_ADA_TEXT_PAGE_KEYS_S PAGE_KEYS control

CCCRM_ADA_ECHO_BUTTON_S ECHO_BUTTON control

CCCRM_ADA_ECHO_EDIT_S ECHO_EDIT control

CCCRM_ADA_CTRL_BLOCKAPP_L Application ADA control

Page 587: Web Extensions V1200 Programming Guide En

568 May 2008

CRMContentsCtrl Customer Relationship Marketing

Using PCButton and PCEdit

One or more of the PCButton and/or PCEdit controls from WebExtensions can be used in CRM. The CRMContentsCtrl will scan at the start for all controls in a page and connect the controls with links in CRMContentsCtrl.

For PCButton only FieldID, Softkey, Selection, FunctionValue and Href proper-ties and ButtonPressed event are used in CRMContentsCtrl. The FieldID is used to identify the controls, Softkey is used to press the buttons over EPP, Selection, FunctionValue and Href are used to define the action after the button has been pressed. After the button is pressed the following happens:

The FunctionValue is stored in CCCRM_VAR_DLG_INPUT_RESULT_S CRM variable.

If the Selection is equal to 1 (function button!) and the FunctionValue is equal to "END", the session end will be requested from the CCCRM_HTTP frame-work.

If the Selection is equal to 2 (selection button!), the navigation with parame-ter Href will be requested from the CCCRM_HTTP framework.

For PCEdit only FieldNumber, SoftkeyValue and FieldID properties, GotFocus, UserInteraction and EditComplete events are used in CRMContentsCtrl. The FieldNumber is used to identify the controls, SoftkeyValue is used to press the buttons over EPP, and FieldID is used to name one of the CRM internal vari-ables that will store the input value of the PCEdit control. The CRM variables CCCRM_VAR_DLG_INPUT1_S - CCCRM_VAR_DLG_INPUT9_S are reserved for this purpose! At the UserInteraction event from PCEdit control, the input value of the PCEdit control will be stored in a variable configured in FieldID.

All user interaction events with PCButton and PCEdit control will restart the CRMContentsCtrl timer and the CRMContentsCtrl will fire the OnUserInterac-tion event.

Page 588: Web Extensions V1200 Programming Guide En

May 2008 569

Customer Relationship Marketing CRMContentsCtrl

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Property page

There is only one Property Page where all properties of CRMContentsCtrl can be modified.The properties are:

BSTR PageTimeoutnumeric value, timer in milliseconds, range: [0,+LONG]

BSTR EPPConfigString, EPP configuration.

BSTR ADAConfigString, ADA configuration.

NOTE: The usage of ProTopas variable exchanges, [#VAR;FOR-MAT;DEF#] or [&VAR;FORMAT;DEF&], in EPPConfig or ADAConfig property, will disable the corresponding configuration button!

Page 589: Web Extensions V1200 Programming Guide En

570 May 2008

CRMContentsCtrl Customer Relationship Marketing

EPPConfig property can be configured directly in its edit field or using an EPP configuration dialog. The most commonly used softkeys and pinpad keys, in EPP configuration dialog, are shown below. Additional FDKs or FKs have to be configured directly in the edit field of property, the same applies for additional FK2TXT mapping.

The ADAConfig property can be configured directly in its edit field or over the ADA configuration dialog. In the ADA configuration dialog all subproperties can be comfortably configured.

Page 590: Web Extensions V1200 Programming Guide En

May 2008 571

Customer Relationship Marketing Using WebExtensions with CRM

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

Using WebExtensions with CRM

General idea

The general idea is to control the CRM service over the HTML flow of the appli-cation with the help of the allow list. The CRM service is controlled by sessions with commands and some parameters. These commands and parameters are stored in optional parameters in allow list tables and transferred to CRM at the moment of the navigation of the application to this allow list table entry.

Requirements

At least version 1.1/35 of WebExtensions is needed for CRM usage.

Architecture

The PCView component is a key component for controlling CRM activity, the CCDialog itself is only routed through the Framework methods and events. CCDialog will pause CRM to deactivate WebExtensions, and resume CRM to activate WebExtensions to synchronise with SOP and other dialogs. All com-mands for CRM are directly transferred to CRM. Only the special synchronysing method, where the CRM is shown only when the WebExtension content and CRM content are downloaded and ready for use, is separately controlled by the special sync thread in PCView. It is possible to show the temporary page instead of the incomming HTML page that is navigated directly in WebExten-sions for the time the sync thread is running.

Configuration

To enable CRM handling the following parameters have to be set:

. HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

Current VersionActiveX

GraphicalServiceCCDialog

CRMAllowed=1 (Dword)

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

Page 591: Web Extensions V1200 Programming Guide En

572 May 2008

Using WebExtensions with CRM Customer Relationship Marketing

There are two optional parameters for configuration of the sync thread:

. HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

Current VersionActiveX

GraphicalServicePCView

CRMSyncURL="c:\proto-pas\web\offline\CRMEmpty.htm" (String)

The default setting is "about:blank", this is the HTML page that will be shown on demand for the time the sync thread is running.

NOTE: This HTML page shall not be generated!

This is an example of an allow list entry for not generating a CRMSyncURL HTML page:

<tr>

<td width="250">*</td>

<td width="250">*CRMEmpty.htm*</td>

<td width="100">*</td>

<td width="100">*</td>

<td width="100">0</td>

<td width="100">0</td>

<td width="100"></td>

</tr>

Page 592: Web Extensions V1200 Programming Guide En

May 2008 573

Customer Relationship Marketing Using WebExtensions with CRM

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

. HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

Current VersionActiveX

GraphicalServicePCView

CRMSyncTimeout=5000 (Dword)

Default setting is 15000. This is the time in milliseconds, which the sync thread waits for both WebExtension content and CRM content to be downloaded and ready. After this timeout the CRM session is stopped, and the original navigation will be shown. The CRM session is skipped due to sync timeout.

Allow list

The commands and parameters for the CRM service control are stored in optional parameters in the allow list tables entries.

This is an example of a CRM session control:

<tr>

<td width="250">*</td>

<td width="250">*basselection.htm*</td>

<td width="100">*</td>

<td width="100">*</td>

<td width="100">1</td>

<td width="100">0</td>

<td width="100"></td>

<td width="100">CRM:CMD=START_|_SESSIONURL=file://C:\start.htm</td>

</tr>

There can be multiple optional parameter entries in one allow list table entry. This allowes multiple commands at one point in HTML flow, that will be exe-cuted one after another!

Page 593: Web Extensions V1200 Programming Guide En

574 May 2008

Using WebExtensions with CRM Customer Relationship Marketing

The general format of CRM service control entries is:

CRM:CMD=ACTION_|_PARAM=VALUE_|_PARAM=VALUE ...

The CRM: is header for the CRM service, CMD=ACTION are commands that are sent directly to CRM by calling the method with the same name, PARAM=VALUE are parameters for the commands/methods or parameter for the sync thread. The standard WebExtensions variable exchange [#VAR;for-mat;default#] can be used in complete optional parameter string, variable will be exchanged at moment of read of optional parameter at flow match. The real time variable exchange [&VAR;format;default&] can be used only in ACTION and VALUE substrings of optional parameter!

CMD=ACTION commands for CRM

NOTE: All commands are asynchronous requests, that can be ignored if the state of the CRM is not valid for that command!

action description

START starts the CRM session

STOP stops the CRM session

PAUSE pause the CRM session

RESUME resume the CRM session

PRELOAD preload the CRM session

START_STOP start the CRM session and stop it at next CancelDia-log() or DoDialog(), only the start parameter can be con-figured, stop method is called with empty string and CCCRM_PARAM_STOPANDHIDE parameter!

MOVE moves and/or resizes the CRM framework window

Page 594: Web Extensions V1200 Programming Guide En

May 2008 575

Customer Relationship Marketing Using WebExtensions with CRM

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

CRM methods start(), stop(), pause(), resume() have always 2 parameters:

1. parameter: CHAR*string representing all data that this method needs

2. parameter: SHORThow to show/hide the dialog

CRM method preload() has 1 parameter:

1. parameter: CHAR*string representing all data that this method needs

Move is synthetic command that cann execute CRM methods SetSize() and/or SetPos(), both methods always have 2 parameters:

1. parameter: LONGLeft(X) position for setPos() or Width for SetSize()

2. parameter: LONGTop(Y) position for setPos() or Height for SetSize()

Page 595: Web Extensions V1200 Programming Guide En

576 May 2008

Using WebExtensions with CRM Customer Relationship Marketing

PARAM=VALUE

param description

SYNCTYPE second parameter for start/stop/resume/pause methods of CRM, 3 as a value will start sync thread, wait for WebExtension content and CRM content to be downloaded and ready for use, than show instantly both and end sync thread

SYNCURL this URL will be shown for the time the sync thread is running, USE_REGISTRY_DEFAULT as a value will use PCView’s CRM-SyncURL registry value for this.

SESSIONTIMER first parameter for start method

SESSIONURL first parameter for start and preload methods

SESSIONXMLHTTPREQUESTTIMER first parameter for start and preload methods

SESSIONUSER first parameter for start and preload methods

SESSIONPASSWORD first parameter for start and preload methods

POSX first parameter for MOVE com-mand and SetPos method

POSY second parameter for MOVE command and SetPos method

SIZEW first parameter for MOVE com-mand and SetSize method

SIZEH second parameter for MOVE command and SetSize method

DELAYSTOPUNTILCRMEND first parameter for stop method, VALUE "ON" will allow content to end itself!

Page 596: Web Extensions V1200 Programming Guide En

May 2008 577

Customer Relationship Marketing Using WebExtensions with CRM

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: D

:\Pro

Topa

s\W

eb-

Ext

ensi

ons

\Doc

u\B

ook\

CR

M.f

m

NOTE: The parameters that are sent to CRM methods as a string parameter shall be encoded in UTF8, the CRM is a UNICODE appli-cation that converts all incomming ProTopas method string parame-ters from UTF8 to UTF16!

Complex example:

<!--td width="100">CRM:CMD=START_|_SYNCTYPE=3_|_SYNCURL=USE_REGISTRY_DEFAULT_|_SESSIONURL=http://server/market-ing.htm_|_SESSIONTIMER=15000</td-->

Complex example of allow list entry with 2 commands and usage of variable:

<tr>

<td width="250">*</td>

<td width="250">*basselection.htm*</td>

<td width="100">*</td>

<td width="100">*</td>

<td width="100">1</td>

<td width="100">0</td>

<td width="100"></td>

<td width="100">CRM:CMD=MOVE_|_POSX=100_|_POSY=100</td>

<td width="100">CRM:CMD=START_|_SESSIONURL=[&MY_VAR;;http://server/marketing.default.htm&]</td>

</tr>

Page 597: Web Extensions V1200 Programming Guide En

578 May 2008

Using WebExtensions with CRM Customer Relationship Marketing

Page 598: Web Extensions V1200 Programming Guide En

May 2008 579

Installation The installation procedure

© S

iem

ens

Nix

dor

f In

form

atio

nssy

ste

me

AG

19

95

Pfa

d: d

:\Pro

Topa

s\W

eb-E

xten

sio

ns\D

ocu\

Boo

k\In

sta

llatio

n.fm

InstallationThis chapter describes the installation of the ProTopas/Web-Extensions as an add-on product of the ProTopas/Manager or the ProTopas/Kit. You should note here that the base product and the add-on product must be installed together in a single run of the installation program. Use the installation of ProTopas/Kit with ProTopas/Web-Extensions at a development PC and the installation of ProTopas/Manager and ProTopas/Web-Extensions on a self-service device.

The installation procedure

Launch Install program.

Insert the registration key diskette of the base product (i.e. ProTopas/Manager or ProTopas/Kit).

Respond to the prompt asking whether there is a further registration key diskette with "Yes".

Insert the registration key diskette of the add-on product (ProTopas/Web-Extensions or ProTopas/HTML-Dialog).

Respond to the prompt asking whether there is a further registration key diskette with "No" (unless you do have another registration key diskette for some other product).

Insert the customizing diskette of the base product (the file custom.ctl must contain settings for the ProTopas/Web-Extensions or ProTopas/HTML-Dialog).

During the installation of ProTopas/Manager you will need the hardware diskette of the self-service terminal on which it is being installed.

No hardware diskette will be requested during the installation of ProTopas/Kit.

If you are installing ProTopas/Web-Extensions or ProTopas/HTML-Dialog together with ProTopas/Kit you have the option of specifying an installation path other than the default path c:\protopas.

The chosen path is specified in the form: <drive letter>:\<path>

The remainder of the installation procedure is carried out automatically.

Page 599: Web Extensions V1200 Programming Guide En

580 May 2008

Products to be installed Installation

When the installation has finished you will have to reboot the target system to enable the system configuration to be finalized (e.g. registration of the controls).

The installation of ProTopas/Web-Extensions or ProTopas/HTML-Dialog and the ProTopas/Manager or ProTopas/Kit must always be carried out during a single run of the installation program!

A subsequent separate installation of ProTopas/Web-Extensions alone is not possible and is not supported. Attempts to so this may give rise to problems with the parameter settings or in the registry, making it necessary to perform an entire reinstallation.

Products to be installed

ProTopas/Web-Extensions or ProTopas/HTML-Dialog

ProTopas/Web-Extensions or ProTopas/HTML-Dialog is the product which installs the Web Graphical Service and all the controls. This is an add-on product which may be installed together with a ProTopas/Manager or ProTopas/Kit installation on the target system. An additional key disk is required for installation. The customizing disk is shared this the ProTopas/Manager or ProTopas/Kit.

WebBot SNI_PC_Variable

The WebBot components are installed in the directory C:\PROTOPAS\WEBBOT.

To configure the WebBot for use in FrontPage, it has to be copied manually to another location (see also section ’Installing the WebBot in Front Page 2000’ on page 287).

Required preinstalled software

Before starting the installation of the corresponding product, the following base software installation must be executed:

Installation of Windows/NT 4.0 or Windows XP Workstation with current Service pack, Internet Explorer 6.x or 7.x and installed network adapter.

Page 600: Web Extensions V1200 Programming Guide En

May 2008 581

Installation Tutorial

© S

iem

ens

Nix

dor

f In

form

atio

nssy

ste

me

AG

19

95

Pfa

d: d

:\Pro

Topa

s\W

eb-E

xten

sio

ns\D

ocu\

Boo

k\In

sta

llatio

n.fm

Please follow the installation description for this Microsoft operating system. Install the network adapter and connect the PC of the self-service system to the network.

Sound card driver installation (0ptional)

Most sound cards are soundblaster compatible.

Trace and Error Logging

To trace error situations, you are recommended to use the trace and error logging tool from CSCW32 or ProBase. All modules from ProTopas/Web-Extensions trace to this tool.

Required relevant base product

ProTopas/Manager 3.x/4.x or

ProTopas/Kit 3.x/4.x

Tutorial

The ProTopas/Development Suite shows how a ProTopas ATM appli-cation is implemented. It explains how to create a HyperLink driven Application and builds up a complete transaction set step after step by using the ProTopas/Web-Extensions as it’s user interface.

Page 601: Web Extensions V1200 Programming Guide En

582 May 2008

Tutorial Installation

Page 602: Web Extensions V1200 Programming Guide En

May 2008 583

Configuration Restart Manager configuration of High Level GS

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Con

figur

atio

n.fm

ConfigurationThe differences between the High Level Graphical Service and the Web Graphical Service can be found in the Start options of the Dialog Framework. Because the Web Graphical Service is implemented as an executable file, there must be a special entry in the ProTopas Restart Manager section of the registry. The High Level Graphical Service is installed with the following options:

Restart Manager configuration of High Level GS

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

RESTARTapplication1

application=C:\PROTOPAS\BIN\FwLoadPm.EXE,4,1,21,,,CCDataFWCCDatDic CCOplFW CCEppFW CCCdmFW CCCashInFWCCJournal CCSmiFW CCSyncFW CCSelFW CCCardFWCCPresFW CCDialog CCScriptFW CCSecureFWCCTransactionFW CCProtFW1 CCServiceFW CCCrdValFWCCApplFW CCJourPrtFW CCFormat

The program ShowDlg.exe is responsible for waiting for the Dialog Framework to start up correctly. Then the application will start running and display the appropriate pages.

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

RESTARTapplication1

ShowDlg=C:\PROTOPAS\BIN\ShowDlg.EXE,4,0,8,,,DIA_RESTART

The Programs parameter may be set like this:

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

RESTARTapplication1

Programs=CCBase,CCBaseCtrl,application,ShowDlg,CCStart

Page 603: Web Extensions V1200 Programming Guide En

584 May 2008

Restart Manager configuration of Web GS Configuration

Restart Manager configuration of Web GS

The underlined sections have to be changed for the ProTopas/Web-Extensions. CCPresFW and CCDialog must be omitted, HTMLDialogControl must be added:

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

RESTARTapplication1

application=C:\PROTOPAS\BIN\FwLoadPm.EXE,4,1,21,,,CCDataFWCCDatDic CCOplFW CCEppFW CCCdmFW CCCashInFWCCJournal CCSmiFW CCSyncFW CCSelFW CCCardFWCCPresFW CCDialog CCScriptFW CCSecureFWCCTransactionFW CCProtFW1 CCServiceFW CCCrdValFWCCApplFW CCJourPrtFW CCFormat HTMLDialogControl

HTMLDialogControl is responsible for checking memory and restarting the Dialog Framework, if necessary (see also section ’Memory leak of the Internet Explorer’ on page 309).

The parameter ShowDlg.exe is no longer necessary and can be deleted.

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

RESTARTapplication1

ShowDlg=C:\PROTOPAS\BIN\ShowDlg.EXE,4,0,8,,,

The browser must be started with the following option:

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

RESTARTapplication1

CCDialog=C:\PROTOPAS\BIN\CCDialog.EXE,4,1,6

Page 604: Web Extensions V1200 Programming Guide En

May 2008 585

Configuration Repository manager configuration

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Con

figur

atio

n.fm

The CCCheckFW which is used for input checking must be started separately because of an internal exception handling:

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

RESTARTapplication1

Appl_Check=C:\PROTOPAS\BIN\FwLoadPm.exe,4,1,19,,,CCCheckFW

The Programs parameter must therefore be changed as a result of the new entry for starting the browser:

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

RESTARTapplication1

Programs=CCBase,CCBaseCtrl,application,CCDialog,Appl_Check, CCStart

Repository manager configuration

CCCheckFW and HTMLDialogControl must be added to the repository section, the entry for the dialog Framework can be deleted:

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/CCREPMGR/

FRM_REPOSITORYCCCheckFW=C:\ProTopas\Bin\CCCheckFW.DLLHTMLDialogContol=C:\ProTopas\Bin\HTMLDiCt.DLLCCDialog=C:\ProTopas\Bin\CCDialog.DLL

Further configuration settings

All other configurations are used by the controls and the Dialog Framework itself. The settings can be found under the key:

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

Page 605: Web Extensions V1200 Programming Guide En

586 May 2008

Configuration of the softkeys Configuration

See also chapter ’Controls’ on page 77. See also chapter ’Web Graphical Service components’ on page 279. Here you will find further configuration settings of the controls.

Configuration of the softkeys

While working on a softkey machine with the ProTopas/Web-Extensions, a CEN/XFS configuration setting must be changed to retrieve to right codes from each softkey. There is a parameter SNIKeycodes, which has to be set to 0, meaning that the standard CEN/XFS softkey configuration is used and not a special one. The High Level Graphical Service uses a different configuration.

HKEY_CLASSES_ROOTWOSA

XFS_ROOTPHYSICAL_SERVICES

EPPSNIKeyCodes=0

While working with SNIKeyCodes=0, the position of the softkeys should be as follows:

Fig. 101: Positions of the softkeys

Help Print Cancel Correct Confirm

F1

F2

F3

F4F5

F6

F7

F8

Page 606: Web Extensions V1200 Programming Guide En

May 2008 587

Configuration Configuration of the softkeys

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Con

figur

atio

n.fm

Additionally, there is a possibility to configure the codes for the function GetTerminateChar() (see also section ’CCDia-logFW.GetTerminateChar’ on page 337). In the following section in the Registry there are parameters for each softkey and EPP key.

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

PCContentsEPPKey

0Value=0

1Value=1

......

9Value=9

F1Value=H

F2Value=D

...Value=...

F8Value=G

CancelValue=0x01

CorrectValue=0x02

HelpValue=0x03

ConfirmValue=0x04

PrintValue=0x05

ReservedValue=*

DecPointValue=,

In order to return different codes for the terminating character, the Value parameter of each section must be changed.

Page 607: Web Extensions V1200 Programming Guide En

588 May 2008

Configuration of variables for all architectures Configuration

Configuration of variables for all architectures

All variables which are used to store the input values and the value of the pressed button are members of the Web Graphical Service. There are access functions which may be used to request those values via use of the Data Dictionary FW. To use these values correctly, the following configuration settings in the Data Dictionary parameters must be set:

Value of input fields 1 to 10

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict

PropertiesDLG_INPUT_RESULT1_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

DLG_INPUT_RESULT2_SDATA_TYPE=STRINGOWNER_FW=CCDialog

...DLG_INPUT_RESULT10_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Value of unformatted input fields 1 to 10

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesDLG_INPUT_RESULT1_S_UNFORMATTED_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

DLG_INPUT_RESULT2_S_UNFORMATTED_SDATA_TYPE=STRINGOWNER_FW=CCDialog

...DLG_INPUT_RESULT10_S_UNFORMATTED_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Page 608: Web Extensions V1200 Programming Guide En

May 2008 589

Configuration Configuration of variables for all architectures

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Con

figur

atio

n.fm

Value of status variables 1 to 10

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesDLG_INPUT_RESULT1_L

DATA_TYPE=LONGOWNER_FW=CCDialog

DLG_INPUT_RESULT2_LDATA_TYPE=LONGOWNER_FW=CCDialog

...DLG_INPUT_RESULT10_L

DATA_TYPE=LONGOWNER_FW=CCDialog

Value of Viewstate variables 1 to 10

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict

PropertiesDLG_INPUT_RESULT1_VIEWSTATE_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

DLG_INPUT_RESULT2_VIEWSTATE_SDATA_TYPE=STRINGOWNER_FW=CCDialog

...DLG_INPUT_RESULT10_VIEWSTATE_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Error Counter Variables 1 to 10 for amount input retries

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesDLG_INPUT_RESULT1_S_ERR_COUNTER_L

DATA_TYPE=LONGOWNER_FW=CCDialog

DLG_INPUT_RESULT2_S_ERR_COUNTER_LDATA_TYPE=LONGOWNER_FW=CCDialog

Page 609: Web Extensions V1200 Programming Guide En

590 May 2008

Configuration of variables for all architectures Configuration

...DLG_INPUT_RESULT10_S_ERR_COUNTER_L

DATA_TYPE=LONGOWNER_FW=CCDialog

Maximum mumber of characters Variables 1 to 10

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesDLG_INPUT_RESULT1_S_MAXCHARS_L

DATA_TYPE=LONGOWNER_FW=CCDialog

DLG_INPUT_RESULT2_S_MAXCHARS_LDATA_TYPE=LONGOWNER_FW=CCDialog

...DLG_INPUT_RESULT10_S_MAXCHARS_L

DATA_TYPE=LONGOWNER_FW=CCDialog

Variables for setting the Web path in scripts

These variables are initialized by the Web Graphical Service during Startup. The content is taken from the parameters RootPath (see also section ’RootPath’ on page 620), DefaultLanguage (see also section ’DefaultLan-guage’ on page 619) or actual set language, RootPathOffline (see also section ’RootPathOffline’ on page 620).

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_WEBNAME_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

VAR_LANGUAGE_SDATA_TYPE=STRINGOWNER_FW=CCDialog

VAR_OFFLINE_WEBNAME_SDATA_TYPE=STRINGOWNER_FW=CCDialog

Page 610: Web Extensions V1200 Programming Guide En

May 2008 591

Configuration Configuration of variables for all architectures

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Con

figur

atio

n.fm

Value of selected item in popup page of a PCList Control

(see also section ’List control - General 1 page’ on page 169)

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_PCLIST_VALUE_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Variable to be set after scanner errors

(see also section ’Editing scanned documents’ on page 422)

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_SCANNER_ERROR_L

DATA_TYPE=LONGOWNER_FW=CCDialog

Variable that contains page name, which cannot be loaded

This variable can be used in the local pages in the offline directory. It deter-mines, which page should be loaded and could not be retrieved.

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_OFFLINE_HTML_NAME_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Variable for resizing Web Graphical Service in test environment

These variables are used by test tools to resize the Web Graphical Service during the development cycle.

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_PCDIALOG_RT_SIZEX_L

DATA_TYPE=LONGOWNER_FW=CCDialog

Page 611: Web Extensions V1200 Programming Guide En

592 May 2008

Variables for Web-Extensions/ClassicLink Configuration

VAR_PCDIALOG_RT_SIZEY_LDATA_TYPE=LONGOWNER_FW=CCDialog

Variables for Web-Extensions/ClassicLink

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

Value of last pressed button

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesDLG_INPUT_RESULT_STRING

DATA_TYPE=STRINGOWNER_FW=CCDialog

Number of entered characters for last input field

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesDLG_INPUT_RESULT_COUNT

DATA_TYPE=USHORTOWNER_FW=CCDialog

Code of last pressed termination key

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesDLG_INPUT_RESULT_TERM

DATA_TYPE=CHAROWNER_FW=CCDialog

Page 612: Web Extensions V1200 Programming Guide En

May 2008 593

Configuration Variables for Web-Extensions/HyperLink

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Con

figur

atio

n.fm

Variables for Web-Extensions/HyperLink

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

Value of last pressed button

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_DLG_INPUT_RESULT_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Page 613: Web Extensions V1200 Programming Guide En

594 May 2008

Variables for Web-Extensions/HyperLink Configuration

Chosen Identification value of menu button

(see also section ’Button control - General 2 page for menu buttons’ on page 94)

(see also section ’Special aspects of menu buttons’ on page 41)

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor NixdorfProTopas/CurrentVersion/DataDict/

PropertiesVAR_IDENTIFICATION_REQUEST_L

DATA_TYPE=LONGOWNER_FW=CCDialog

Caption of menu button

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

(see also section ’Special aspects of menu buttons’ on page 41).

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_HEADLINE_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Link to HTML page of menu button

(see also section ’Button control - General 2 page for menu buttons’ on page 94)

(see also section ’Special aspects of menu buttons’ on page 41)

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_FUNCTION_STARTPAGE_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Page 614: Web Extensions V1200 Programming Guide En

May 2008 595

Configuration Variables for Web-Extensions/ExtraLink

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Doc

u\B

ook\

Con

figur

atio

n.fm

Variable for current Internet page name

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_MY_HTML_NAME_S

DATA_TYPE=STRINGOWNER_FW=CCDialog

Variables for Web-Extensions/ExtraLink

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

Frameworkname of the actual Web Dialog

HKEY_LOCAL_MACHINE/SOFTWARE/Wincor Nixdorf/ProTopas/CurrentVersion/DataDict/

PropertiesVAR_PCDIALOG_FW_NAME

DATA_TYPE=STRINGOWNER_FW=WebDialog

Page 615: Web Extensions V1200 Programming Guide En

596 May 2008

Variables for Web-Extensions/ExtraLink Configuration

Page 616: Web Extensions V1200 Programming Guide En

May 2008 597

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ParametersThe following chapter explains all parameters for the Graphical Service and for the ActiveX Controls. The properties of the ActiveX Controls are described in the Controls chapter (see also section ’Controls’ on page 77). The parameters described in this section will affect the controls at runtime. All of the default value settings in the properties of all ActiveX Controls are made in Registry sections of the self-service device. These settings are explained here.

Graphical Service

The following parameters describe the settings for the Browser overlay modules. The Start HTML page and other HTML pages can be configured here.

Parameters for CCDialog

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

GraphicalServiceCCDialog

LOGOn

With this parameter the logging of the HTML pages, which are shown in the Web browser is started. An extra log file is written, which contains the HTML names in chronological order. Even exceptions and memory leaks are logged. When the maximum number of entries in the log file is reached, the logging stopps automatically. This logging mechanism is not though to be a runtime log. It’s only for development reasons.

(see "LOGFilePath" on page 598), (see also section ’Logging the flow of the HTML pages’ on page 320)

Length: 1Range: 0 - Logging is off

1 - Logging is switched onDefault: 0

Page 617: Web Extensions V1200 Programming Guide En

598 May 2008

Graphical Service Parameters

LOGBufferSize

This parameter determines the maximum number of logs, temporary stored in memory. For performance reasons not every page is directy logged into the file. Only at shutdown, this list is written into the file completely. This parameter has to be available, if Parameter LogOn = 1.

(see "LOGFilePath" on page 598), (see also section ’Logging the flow of the HTML pages’ on page 320)

Length: 3Range: 1 - 100Default: 10

LOGFilePath

This parameter keeps the filename without extension and path of the Log file. If the maximum number of entries is reached, the logging stopps automatically. This parameter has to be available, if Parameter LogOn = 1.

(see "LOGFileSize" on page 598), (see also section ’Logging the flow of the HTML pages’ on page 320)

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\temp\HTMLFlow

LOGFileSize

This parameter keeps the maximum size of the log file in Byte. When the maximum number is reached the Web Browser willl stop logging. This parameter has to be available, if Parameter LogOn = 1.

(see "LOGFilePath" on page 598), (see also section ’Logging the flow of the HTML pages’ on page 320)

Length: 8Range: 100 - 10 000 000Default: 1 000 000

VirtualKeyboardOn

With this parameter the activation of a virtual keyboard is enabled. The keyboard may automatically be started at pages, which need any alphanu-merical input. This is done by script in those pages. The activation mechanism is disabled, if this parameter is set to 0.

Page 618: Web Extensions V1200 Programming Guide En

May 2008 599

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 1Range: 0 - Keyboard activation is disabled

1 - Keyboard activation is enabledDefault: 1

ADA

With this parameter the activation of ADA (Americans with Disabilities Act) is enabled. This does not mean, the activation is automatically done. This is done by Properties in the Contents STD/ATM Control.

Length: 1Range: 0 - ADA is disabled

1 - ADA activation is enabledDefault: 0

EppRTC

With this parameter the EPP Overlay is activated. This means, there is a continous ExeCommandGetData-function running and Web-Extensions do not have to call the EPP FW Open- and Close-functions all the time. This may speed up the transaction.

Length: 1Range: 0 - EppRTC is disabled

1 - EppRTC is enabledDefault: 1

ADATimeoutExt

This parameter prolongs the timeout periode in a percentage value. If ADA is activated, it might be better for people with disabilities to have a longer Timeout. This percentage value, which must be larger than 100, specifies the new timeout periode for ADA.

Length: 3Range: >100 Value in percentage, which prolongs the timeout value.Default: 200

ADAActionOnStart

This parameter may contain a script, which is started, when ADA is activated. This script can be used to start a tutorial or to link to a special page, etc.

Page 619: Web Extensions V1200 Programming Guide En

600 May 2008

Graphical Service Parameters

Length: 20000Range: alphanumeric, ScriptDefault: SKIP

DoDialogTimer

This parameter supervises the time in milliseconds after a DoDialog() has been called by the Step until the page is been loaded. If there are problems loading the page, this timer will expire and the ProTopas/Web-Extensions will reboot the system. The time has to be specified dependent on the system capacity.

0 means ’No supervision’.

Length: 6Range: 0 - 60000Default: 0

DoDialogTimerPageTimerExtend

After the page timer of the Contents ATM Control has been expired, this parameter offers a little bit more time to end the DoDialog. If it is not returning to the step after this timer has expired the ProTopas/Web-Extensions will reboot the system.

Length: 6Range: 0 - 60000Default: 5000

WindowTop

Only in test environments on a laptop or PC. Please do not set on the maschines on customer environments.

X coordinate in pixels of the Web Graphical Services window upper left corner.

Length: 6Range: 0 - 232

Default: 0

WindowLeft

Only in test environments on a laptop or PC. Please do not set on the maschines on customer environments.

Page 620: Web Extensions V1200 Programming Guide En

May 2008 601

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Y coordinate in pixels of the Web Graphical Services window upper left corner.

Length: 6Range: 0 - 232

Default: 0

WindowWidth

Only in test environments on a laptop or PC. Please do not set on the maschines on customer environments.

Width in pixels of the Web Graphical Services window.

Length: 6Range: 0 - 232

Default: Full screen width

WindowHeight

Only in test environments on a laptop or PC. Please do not set on the maschines on customer environments.

Height in pixels of the Web Graphical Services window.

Length: 6Range: 0 - 232

Default: Full screen height

Parameters for Virtual Keyboard

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

GraphicalServiceVK

Pos

This parameter specifies the position where the HTML page for Virtual Keyboard may be loaded. It’s the best not to cover input fields, where the input shall be displayed.

Page 621: Web Extensions V1200 Programming Guide En

602 May 2008

Graphical Service Parameters

Length: 1Range: 0 - Upper left corner

1 - Upper right corner2 - Lower right corner3 - Lower left corner4 - Middle of the screen. See parameters Top and Left for upper left corner

Default: 2

Width

This parameter specifies the width of the container (Virtual Keyboard Dialog Window) of the HTML page for Virtual Keyboard.

Length: 5Range: 1 - 99999Default: 400

Height

This parameter specifies the height of the container (Virtual Keyboard Dialog Window) of the of the HTML page for Virtual Keyboard.

Length: 5Range: 1 - 99999Default: 150

Left

This parameter specifies the distance from the left side of the screen to the upper left corner of the container (Virtual Keyboard Dialog Window) of the of the HTML page for Virtual Keyboard.

Length: 5Range: 0 - 99999Default: 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.

Page 622: Web Extensions V1200 Programming Guide En

May 2008 603

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 5Range: 0 - 99999Default: 0

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.

Length: 1Range: 0 - Stay minimized

1 - Start maximized with the sizes from Height, left, top, width

Default: 1

MINonEnd

This parameter enables the virtual keyboard to become invisible, when the keyword WNvikey:END is used. If the virtual keyboard is not minimized with this parameter, this can be done with the keyword WNVKpos:MIN.

Length: 1Range: 0 - Stay maximized

1 - End minimizedDefault: 1

WindowPlacement

This parameter specifies, which behavior of the virtual keyboard is desired. So a minimize/maximize behavior or a show/hide behavior can be configured. With min/max on slow machines it is possible that the window movement is visible.

Length: 1Range: 0 - nothing on init, start & stop

1 - MIN on init, MAX on start, MIN on stop2 - HIDE on init, SHOW on start, HIDE on stop

Default: 1

Page 623: Web Extensions V1200 Programming Guide En

604 May 2008

Graphical Service Parameters

CursorEnable

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

Length: 1Range: 0 - Cursor invisible

1 - Cursor visibleDefault: 1

HRef

This parameter specifies the name and path of the HTML page for Virtual Keyboard.

Length: 1024Range: alphanumericDefault: C:\ProTopas\Web\VK\vk.htm

ScriptLanguage

This parameter specifies the script language of the start and end script.

(see also ’ScriptAtStart’ on page 604) (see also ’ScriptAtEnd’ on page 605)

Length: 1024Range: alphanumericDefault: javascript

ScriptAtStart

This parameter specifies a script in the Virtual Keyboard page, which may be used at start of the keyboard session, when the page will be maximized. For example it could be necessary to read a language variable and then to switch to a language specific keyboard page. This parameter may contain a script directly in {} brackets or the name of a function.

Example: {window.myLabel.innerText='ON';} or vkOnStart()

Length: 1024Range: alphanumericDefault: -

Page 624: Web Extensions V1200 Programming Guide En

May 2008 605

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ScriptAtEnd

This parameter specifies a script in the Virtual Keyboard page, which should be activated at the end of a keyboard session, when the page will be minimized again. This parameter may contain a script directly in {} brackets or the name of a function.

Example: {window.myLabel.innerText='ON';} or vkOnEnd()

Length: 1024Range: alphanumericDefault: -

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 milli-seconds no response is received the Virtual Keyboard window will be restarted.

Length: 10Range: 0 - 9999999999Default: 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 instance waits for the response on a window event. If during these milliseconds no response is received the Virtual Keyboard window will be restarted.

Length: 10Range: 0 - 9999999999Default: 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).

Page 625: Web Extensions V1200 Programming Guide En

606 May 2008

Graphical Service Parameters

Length: 10Range: 0 - 9999999999Default: 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.

Length: 10Range: 0 - 9999999999Default: 64

KillHardWAIT

This parameter belongs to a set of parameter the Virtual Keyboard instance is checking constantly for a hangup situation. This parameter specifies the time in milliseconds the instance will wait after it has received the WM_CLOSE event until it will call TerminateProcess(). In this case even hangups with a hanging main thread will be snapped.

Length: 10Range: 0 - 9999999999Default: 15000

MarketingAllowFocus

This parameter allows the virtual keyboard to loose the focus by demand. This may be necessary during development, because otherwise no other windows will be visible when Virtual Keyboard is activated.

Length: 1Range: 0 Virtual Keyboard is always on top

1 Virtual Keyboard may loose the focus if developperactivates another window.

Default: 0

Page 626: Web Extensions V1200 Programming Guide En

May 2008 607

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Parameters for surfing

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

GraphicalServiceSurfing

SurfingURL

Specifies the URL with the keys "Cancel" "Back" "Forward" that are shown when pages which do not belong to the ProConsult application (e.g. Internet pages, pages of other servers) are shown.

The SurfingURL makes it possible to leave the non-ProConsult pages and return to the ProConsult application.

(see "SurfingBrowserWidth" on page 608), (see "SurfingBrowserPos" on page 608)

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\German\SurfingFooter.htm

AccessViolationURL

Specifies the URL that is shown when the Graphical Service tries to navigate to a non-ProConsult URL which contains scripts or other components that could make the return to the ProConsult application impossible.

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\Allow\AccessViolationStart.htm

SurfingBrowser

Specifies whether a second browser is called to show the SurfingURL with the keys "Cancel" "Back" "Forward" when pages which do not belong to the ProConsult application (e.g. Internet pages, pages of other servers) are shown.

The SurfingURL makes it possible to leave the non-ProConsult pages and return to the ProConsult application.

(see "SurfingURL" on page 607)

Page 627: Web Extensions V1200 Programming Guide En

608 May 2008

Graphical Service Parameters

Length: 1Range: 0 - Non-ProConsult pages are shown in full-screen mode.

No second browser is called.1 - A second browser is called to show the SurfingURL.

Default: 1

SurfingBrowserPos

Specifies the position of the second browser for the SurfingURL when pages which do not belong to the ProConsult application (e.g. Internet pages, pages of other servers) are shown.

The SurfingURL makes it possible to leave the non-ProConsult pages and return to the ProConsult application.

(see "SurfingURL" on page 607), (see "SurfingBrowser" on page 607), (see "SurfingBrowserWidth" on page 608)

Length: 5Range: UP - The second browser is found at the top of the

screen.DOWN- The second browser is found at the bottom of the

screen.LEFT- The second browser is found at the left of

the screen.RIGHT- The second browser is found at the right of

the screen.Default: DOWN

SurfingBrowserWidth

Specifies the height in pixels (when SurfingBrowserPos= UP or DOWN) or the width in pixels (when SurfingBrowserPos= LEFT or RIGHT) of the second browser for the SurfingURL when pages which do not belong to the ProConsult application (e.g. Internet pages, pages of other servers) are shown.

(see "SurfingURL" on page 607), (see "SurfingBrowser" on page 607), (see "SurfingBrowserPos" on page 608)

Length: 3Range: 0-800Default: 74

Page 628: Web Extensions V1200 Programming Guide En

May 2008 609

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

TextFont

Specifies the font of the wait message when the new browser restarts.

Length: 128Range: alphanumericDefault: Arial

TextSize

Specifies the size of the wait message when the new browser restarts.

Length: 2Range: numericDefault: 12

TextColour

Specifies the colour of the wait message when the new browser restarts.

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00000000

TextAlignX

Specifies the x-position in pixels of the wait message when the new browser restarts.

(see "TextCenterX" on page 609)

Length: 3Range: numericDefault: 0

TextCenterX

Specifies whether the wait message is horizontally centered on the button.

(see "TextAlignX" on page 609)

Length: 1Range: 0 - The wait message is not horizontally

centered (see exact x-position in TextAlignX).

Page 629: Web Extensions V1200 Programming Guide En

610 May 2008

Graphical Service Parameters

1 - The wait message is horizontally centered(ignore TextAlignX).

Default: 1

TextAlignY

Specifies whether the wait message is vertically centered.

(see "TextCenterY" on page 610)

Length: 3Range: numericDefault: 0

TextCenterY

Specifies the y-position in pixels of the wait message relative to the button.

(see "TextAlignY" on page 610)

Length: 1Range: 0 - The wait message is not vertically centered

(see exact y-position in TextAlignX).1 - The wait message is vertically centered

(ignore TextAlignY).Default: 1

TextBold

Specifies whether the wait message is printed bold when the new browser is called.

Length: 1Range: 0 - The wait message is not printed bold.

1 - The wait message is printed bold.Default: 1

TextItalic

Specifies whether the wait message is printed in italics when the new browser is called.

Length: 1Range: 0 - The wait message is not printed in italics.

1 - The wait message is printed in italics.Default: 0

Page 630: Web Extensions V1200 Programming Guide En

May 2008 611

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

TextUnderline

Specifies whether the wait message is printed underlined when the new browser is called.

Length: 1Range: 0 - The wait message is not printed underlined.

1 - The wait message is printed underlined.Default: 0

TextStrikeout

Specifies whether the wait message is printed strikeout when the new browser is called.

Length: 1Range: 0 - The button's caption is not printed strikeout.

1 - The button's caption is printed strikeout.Default: 0

TextFontCharSet

Specifies the character set for the wait message, when the browser restarts.

Length: 3Range: 0 ANSI_CHARSET

1 DEFAULT_CHARSET2 SYMBOL_CHARSET77 MAC_CHARSET128 SHIFTJIS_CHARSET129 HANGUL_CHARSET130 JOHAB_CHARSET134 GB2312_CHARSET136 CHINESEBIG5_CHARSET161 GREEK_CHARSET162 TURKISH_CHARSET163 VIETNAMESE_CHARSET177 HEBREW_CHARSET178 ARABIC_CHARSET186 BALTIC_CHARSET204 RUSSIAN_CHARSET222 THAI_CHARSET238 EASTEUROPE_CHARSET

Page 631: Web Extensions V1200 Programming Guide En

612 May 2008

Graphical Service Parameters

255 OEM_CHARSET... in future new charset available

Default: 0

MessageDLGWidth

Specifies the width of the window for the wait message when the browser restarts.

Length: 3Range: 10-800Default: 400

MessageDLGHeight

Specifies the height of the window for the wait message when the browser restarts.

Length: 3Range: 10-600Default: 200

Text

Specifies the text for the wait message when the browser restarts.

Length: 512Range: 10-800Default: Please wait...

SurfingScrollUp

Specifies the number of pixels the screen is scrolled when the ScrollUp button is pressed.

Length: 3Range: 0-600Default: 100

SurfingScrollDown

Specifies the number of pixels the screen is scrolled when the ScrollDown button is pressed.

Page 632: Web Extensions V1200 Programming Guide En

May 2008 613

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 3Range: 0-600Default: 100

SurfingScrollLeft

Specifies the number of pixels the screen is scrolled when the ScrollLeft button is pressed.

Length: 3Range: 0-800Default: 50

SurfingScrollRight

Specifies the number of pixels the screen is scrolled when the ScrollRight button is pressed.

Length: 3Range: 0-800Default: 50

SurfingJOBSOn

This parameter activates the possibility to load a graphic during the restart of the Browser after the External page mode is finished.

(see "Stopping the Internet mode" on page 451), (see "SurfingJOBSStart" on page 613)

Length: 1Range: 0 - The Message Window with the contents of the Text

Parameter is displayed1 - The Bitmap from SufingJOBSStart is shown

Default: 0

SurfingJOBSStart

The programm to load the graphic is specified here. Normally the programm SHOWBMP.EXE is used here. It needs two input parameter. The first is the Graphic to be loaded and the second is TOPMOST to load the graphic on top of the othe windows.

Page 633: Web Extensions V1200 Programming Guide En

614 May 2008

Graphical Service Parameters

Length: 1024Range: alphanumericDefault: -

SurfingJOBSEnd

The programm to unload the graphic is specified here. Normally the programm SHOWBMP.EXE StopWaiting is used here.

Length: 1024Range: alphanumericDefault: -

SurfingJOBSPause

The time interval between loading the graphic and unloading it is specified here. If the Unload would be too quick, an error would be generated, so it’s a good idea to wait a moment until the unload is called.

Length: 6Range: 000001 - 999999Default: 3000

SurfingJOBSCheck

This parameter is used as a double check mechanism, if the SurfingJOB-SStart and SurfingJOBSEnd jobs have already been finished after the time in ms specified here. If one or both are not finished jet, they will be killed automatically.

Length: 6Range: 000001 - 999999Default: 2500

Parameters for the AllowList

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

GraphicalServiceAllowList

Page 634: Web Extensions V1200 Programming Guide En

May 2008 615

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ConfigPageURL

Specifies the URL of the AllowList.The AllowList is an HTML page that contains a table with all possible html pages which customers are permitted to call during the ProConsult appli-cation. Access is denied to all other pages.

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\Allow\AllowList.htm

Parameters for the Browser

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

GraphicalServicePCBrowser

StartPage

Specifies the URL that the PCBrowser uses as startpage. If no startpage is specified, the PCBrowser uses the startpage of MS Internet Explorer.

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\German\Start.htm

CursorEnable

Specifies whether the cursor is to be shown during the application.

Length: 1Range: 0 - Cursor is not visible

1 - Cursor is visibleDefault: 0

InternetModeCursorEnable

Specifies whether the cursor is to be shown while external pages are shown. This may be useful if navigation through those pages is to be performed via trackball.

Page 635: Web Extensions V1200 Programming Guide En

616 May 2008

Graphical Service Parameters

Length: 1Range: 0 - Cursor is not visible

1 - Cursor is visibleDefault: 0

TabAsConfirm

This parameter manipulates the reaction of the <Tab>-Key during multiple input.

Length: 1Range: 0 - Tab is used to jump to the next field without checking

the actual input1 - Tab is confirming and checking the actual input first and

activates the next input thenDefault: 0

WebExtTabing

This parameter will suport TAB key behavior during external page mode: tabing between text fields, links, frames and more.

Length: 1Range: 0 - Tab during external page mode is not possible

1 - Tab during external page mode is allowedDefault: 1

WebExtPrintCheck

This parameter will support search for <--PC_HTMLGEN_RULE:PRINT_THIS --> tags in external page mode (see also section ’Printing HTML pages in windows mode’ on page 299).

Length: 1Range: 0 - Searching for the tags is omitted. Pages are

generated quicker1 - Searching for the tags is done

Default: 1

WebExtOfflineCheck

This parameter will support Offline handling, even when IE would normally show one of the internal error pages. The Graphical service is doing offline handling in this case.

Page 636: Web Extensions V1200 Programming Guide En

May 2008 617

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 1Range: 0 - IE internal error pages are shown in offline cases

1 - IE internal error pages are not shown in offline cases. Graphical Service Offline handling is done in this case.

Default: 1

WebExtNoHistory

This parameter surpresses the storage of a historie list, which is used for navigations to previous vistited pages. So the waste of memory will be reduced, when setting this parameter to 1.

Length: 1Range: 0 - Historie list is still stored

1 - Historie list is not stored. Less memory will be wasted. Default: 1

WebExtKeyScripting

This parameter enables online scripting support in external page mode. OnKeyUp and OnKeyDown events are not posted, if this parameter is not set to 1. If this parameter is switched to 1 each page will be parsed for those key events. This takes a bit of performance. If those key events are not used, this parameter should be switched to 0.

Length: 1Range: 0 - KeyEvents are not posted

1 - KeyEvents are postedDefault: 0

WorkaroundNoShell

This parameter is used to activate a workaround because of a problem in the windows system. When the application is started without the windows shell ’explorer.exe’ the problem in this situation is that all new Popup windows are not disapearing. This workaround searches in the list of all open windows for the one with the Popup window name and destroys the appropriate one. Any installations without a shell must activate this parameter.

Page 637: Web Extensions V1200 Programming Guide En

618 May 2008

Graphical Service Parameters

Length: 1Range: 0 - Normal behaviour, when explorer.exe is active during

runtime.1 - Activation when running without a shell.

Default: 0

WorkaroundWhitePopUp

This parameter is removing the problem with white flickering. The Web Graphical Service loads an ’About:Blank’ page in a new window instance first, before the real HTML page is loaded. Because ’About:Blank’ is a white page it might flicker, when a new window instance is loaded. For this reason the parameter may be used to wait for the second document.complete event until the ready page is shown. But setting this value would mean, that scripting any popup window without use of the Web Graphical Service the first page would not be shown but the second. SO please be careful with setting this parameter.

Length: 1Range: 0 - Workaround not active

1 - Show the window after first document.complete event2 - Show the window after second document.complete

event...9 - Show the window after nineth document.complete

eventDefault: 0

Parameters for PCView

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

GraphicalServicePCView

TempPath

Specifies the path of the local numeric folder in which temporarily generated files are stored.

Page 638: Web Extensions V1200 Programming Guide En

May 2008 619

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\temp

TempFileNumber

Specifies the number of temporarily generated files which are stored in the TempPath directory. There are three different sets of pages: Normal mode, SurfingFooter and Surfing mode area. Each set gets a different temp file name. This always starts with PCPg gets one of the characters A,B,C and then a three digits number. Example: PCPgA16.htm. For each mode another set of pages exists. So there may be up to three times TempFileNumber pages stored in the temp directory.

Length: 3Range: 10-999Default: 100

DefaultLanguage

Specifies the first language setting.

Length: 16Range: alphanumericDefault: GERMAN

Meaning: The first language is set to German.

OfflineURL

Specifies an URL that is shown when the Graphical Service tries to navigate to an unreachable URL (e.g. Server down, etc.).

OfflineURL has to contain a local file name.

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\Offline\OfflineStart.htm

ErrorURL

Specifies the URL that is shown when the Graphical Service tries to navigate to an URL that is not in the AllowList.

ErrorURL must contain a local file name.

Page 639: Web Extensions V1200 Programming Guide En

620 May 2008

Graphical Service Parameters

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\Allow\AllowStart.htm

RootPath

Specifies the URL path without the subdirectory for the language and without the specified name of the HTML page. This parameter is only used if the DoDialog() function is used to load an HTML page.

RootPath has to contain a local path or an URL beginning with HTTP://. To specify the HTML page to be loaded, RootPath is enhanced by the input parameter of the ChangeLanguage() function and the input parameter of DoDialog().

To prevent the Web Graphical Service from changing the directory from the ChangeLanguage() function the paramter has to contain the keyword ATM_PATH_NOLANG at the beginning. This is usefull when all texts are inserted dynamically by use of the WX_TEXT variables.

Length: 128Range: alphanumericDefault: C:\ProTopas\Web

RootPathOffline

Specifies the URL for the Offline Web. Should be a directory on the hard disk.

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\Offline

EmptyPageURL

Only when working with multiple Graphical Services: Specifies the name and location for an empty page which is shown while the Web Graphical Service is switched to the background and the other Graphical Service is activated. The Web Graphical Service will do a top navigation for showing this page.

Length: 128Range: alphanumericDefault: ATM_ABS_NAVC:\ProTopas\Web\Offline\Empty.htm

Page 640: Web Extensions V1200 Programming Guide En

May 2008 621

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

DontWaitForPCContentsOnOpen

Only when working with multiple Graphical Services: In Web-Exten-sions/ExtraLink architecture the Startpage must not contain any Contents STD/ATM Control, if the Web Graphical Service shall be switched to the background at Startup. In this case this parameter has to be set to 1, so that the Web Graphical Service will not wait for any Contents STD/ATM Control to be activated.

Length: 1Range: 0 - Standard use

1 - Use in Web-Extensions/ExtraLink architecture or whenusing the Web Graphical Service in an otherenvironment.

Default: 0

DontWaitForPCContentsOnCancelDialog

Only when working with Web-Extensions/ClassicLink: Each page, which is called by DoDialog() must contain a Contents ATM Control. If this DoDialog() shall be canceled, it is no problem. But if a page has been called by a script and does not contain a Contents ATM Control, this parameter has to be set to 1. Otherwise the Web Graphical Service waits for at least half a minute until he answers the Cancel().

Length: 1Range: 0 - Standard use

1 - Use in Web-Extensions/ClassicLink architecture whena page does not contain a Contents ATM Control andshall be canceled.

Default: 0

ActivePageURL

Only when working with multiple Graphical Services: Specifies the name and location for a page which is shown while the Web Graphical Service is switched to the foreground and the other Graphical Service is deactivated. The Web Graphical Service will do a top navigation for showing this page.

Length: 128Range: alphanumericDefault: -

Page 641: Web Extensions V1200 Programming Guide En

622 May 2008

Graphical Service Parameters

BringWindowToTop

If this Parameter is activated, each time a page is loaded in ClassicLink architecture, the Web Graphical Service tries to make its window the topmost one, so it is visible.

Length: 1Range: 0 - Normal Handling

1 - Web Graphical Service tries to bring its window to topDefault: 0

OfflineFallback

This parameter activates the fallback mechanism for the Offline Handling. This means, that any not found pages are loaded from the Offline directory, if the pagewith the same name exists there. If the page is not available there, the page from OfflineURL is loaded.

(see "OfflineURL" on page 619) (see also section ’Switching the Web Graphical Service offline’ on page 300)

Length: 1Range: 0 - Page of OfflineURL is loaded directly

1 - Page with same name is loaded from Offline directoryDefault: 0

OfflineMonitorTimer

This parameter supervises the timer for the navigation to the Offline page. If the timer expires the Web Graphical service will restart itself.

(see also section ’Switching the Web Graphical Service offline’ on page 300)

Length: 1Range: 0 Navigation to offline page is not supervised

1-999 Timer in second to navigate to offline pageDefault: 0

Page 642: Web Extensions V1200 Programming Guide En

May 2008 623

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Parameters for the HTML generator

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

GraphicalServicePCHtmlGen

Language

Specifies the language settings used for formatting input and output strings when starting the system. There must be a subkey with the same name for this entry. This subkey contains all language-specific settings.

Length: 128Range: alphanumericDefault: GERMAN

Meaning: German is supported at startup.

TimeoutConnect

Specifies the timeout in milliseconds when the connection request times out.

Length: 5Range: 1-32767Default: 5000

TimeoutDataSendRequest

Specifies the timeout in milliseconds when the data send request times out.

Length: 5Range: 1-32767Default: 10000

TimeoutDataReceiveRequest

Specifies the timeout in milliseconds when the data receive request times out.

Length: 5Range: 1-32767Default: 10000

Page 643: Web Extensions V1200 Programming Guide En

624 May 2008

Graphical Service Parameters

Multilang

Specifies the possibility of the HTML Generator to replace all WX_TEXT variables in all generated Web-Pages.

(see also section ’Easy multilanguage support’ on page 289)

Length: 1Range: 0 - Switch the Multilanguage option off for better perfor-

mance1 - Switch the Multilanguage option on

Default: 1

Language specific parameters for the HTML generator

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

PCHtmlGen<Language>

This section must be created for each language which is available for user language selection. The name of the language is set by using the SetLan-guage() function of the CCDialog/PCDialog Framework.

AllowOverride

This parameter is used if the Windows system settings are used instead of the parameters of this section of the Registry. The parameter is only valid if the parameter UseLocals is set to 1 and UsedLcid contains a valid value.

(see "UsedLcid" on page 629)(see "UseLocals" on page 630)

Length: 1Range: 0 - Only the language-specific value from the language of

parameter UsedLcid is taken.1 - The language-specific value from the language of

parameter UsedLcid is taken and additionally the userdefined setting in the other property pages of the systems regional settings.

Default: 1

Page 644: Web Extensions V1200 Programming Guide En

May 2008 625

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

CurrCurrencySymbol

This parameter stores the sign or the characters which are used as the currency symbol.

Length: 5Range: alphanumericDefault: DM

CurrDecimalSep

The decimal separator for currency formatting is set here.

Length: 3Range: alphanumericDefault: ,

CurrGrouping

The number of currency digits which are to be grouped using the group separator is set in this parameter.

Length: 1Range: 0 - 9Default: 3

CurrGroupSep

The group separator for currency values is set in this parameter. This sign is used for better readability of long values.

Length: 3Range: alphanumericDefault: .

CurrLeadingZero

This parameter specifies whether leading zeros for currency values are suppressed or shown, if they are present.

Length: 1Range: 0 - Leading zeros are suppressed

1 - Leading zeros are shown if they are present.Default: 1

Page 645: Web Extensions V1200 Programming Guide En

626 May 2008

Graphical Service Parameters

CurrNegativeOrder

This parameter acts as a mask to show negative currency values.

Length: 2Range: 0 - ($1.1)

1 - -$1.12 - $-1.13 - $1.1-4 - (1.1$)5 - -1.1$6 - 1.1-$7 - 1.1$-8 - -1.1 $ (space before $)9 - -$ 1.1 (space after $)10 - 1.1 $- (space before $)11 - $ 1.1- (space after $)12 - $ -1.1 (space after $)13 - 1.1- $ (space before $)14 - ($ 1.1) (space after $)15 - (1.1 $) (space before $)

Default: 8

CurrNumDigits

This parameter stores the number of digits that follow the currency decimal separator.

Length: 1Range: 0 - 9Default: 2

CurrPositiveOrder

This parameter acts as a mask to show positive currency values.

Length: 2Range: 0 - Prefix, no separation

1 - Suffix, no separation2 - Prefix, 1-char separation3 - Suffix, 1-char separation

Default: 3

Page 646: Web Extensions V1200 Programming Guide En

May 2008 627

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

CurrServerValueOffset

This value is used for building the unsigned currency variable.

Example for German Marks: The unsigned variable should be the smallest amount, which is Pfennigs. The number of digits after the decimal separator is 2. CurrServerValueOffset must be -2 in this case (Value: 10,00 -> Unsigned value: 1000).

Length: 3Range: -9 - 9Default: 4294967294 (-2: fffffffe)

LongDateFormat

This parameter is responsible for displaying the date in a long format, which may include the weekday and written month.

Length: 128Range: d - Numeric day in month without leading zeros (1, 2, ...)

dd - Numeric day in month with leading zeros (01, 02, ...)ddd - Weekday in short form (Mon,Tue, Wed, ...)dddd - Weekday in long form (Monday, Tuesday, ...)M - Month numeric without leading zeros (1, 2, ...)MM - Month numeric with leading zeros (01, 02, ...)MMM -Month in short form (Jan, Feb, ...)MMMM -Month in long form (January, February, ...)yy - Year 2 digits (99, 00, ...)yyyy - Year 4 digits (1999, 2000, ...)

Default: dddd, d. MMMM yyyy

NumDecimalSep

The decimal separator for numeric formatting is set in here.

Length: 3Range: alphanumericDefault: ,

NumGrouping

The number of numeric digits which is to be grouped using the group separator is set in this parameter.

Page 647: Web Extensions V1200 Programming Guide En

628 May 2008

Graphical Service Parameters

Length: 1Range: 0 - 9Default: 3

NumGroupSep

The group separator for numeric values is set in this parameter. This sign is used for better readability of long values.

Length: 3Range: alphanumericDefault: .

NumLeadingZero

This parameter specifies whether leading zeros for numeric values are suppressed or shown, if they are present.

Length: 1Range: 0 - Leading zeros are suppressed

1 - Leading zeros are shown, if they are present.Default: 1

NumNegativeOrder

This parameter acts as a mask to show negative values.

Length: 2Range: 0 - (1.1)

1 - -1.12 - - 1.1 (space after -)3 - 1.1-4 - 1.1 - (space before -)

Default: 1

NumNumDigets

This parameter stores the number of digits following the decimal separator.

Length: 1Range: 0 - 9Default: 2

Page 648: Web Extensions V1200 Programming Guide En

May 2008 629

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ShortDateFormat

This parameter is responsible for displaying the date in short format.

Length: 128Range: d - Numeric day in month without leading zeros (1, 2, ...)

dd - Numeric day in month with leading zeros (01, 02, ...)M - Month numeric without leading zeros (1, 2, ...)MM - Month numeric with leading zeros (01, 02, ...)yy - Year 2 digits (99, 00, ...)yyyy - Year 4 digits (1999, 2000, ...)

Default: dd.MM.yy

TimeFormat

This parameter is responsible for displaying the time.

Length: 128Range: h - Hour without leading zero (1, 2, ...) 12 h format

hh - Hour with leading zero (01, 02, ...) 12 h formatH - Hour without leading zero (1, 2, ...) 24 h formatHH - Hour with leading zero (01, 02, ...) 24 h formatmm - Minutes (00, 01, ...)ss - Seconds (00, 01, ...)tt - PM or AM

Default: hh:mm:ss

Currently the AM and PM must be configured in the regional systems settings in Windows XP. There are two parameters - one for the morning and one for the afternoon format.

UsedLcid

This parameter stores the value of the system language settings which are only used if parameter UseLocals is set to 1. To retrieve the number of the language, try the following: Open the regional settings icon in the Windows Control Panel. On the Property page ’Regional Setting’ choose the language you want to use. Close the Regional Settings. If the change requires a file from the Windows installation CD, cancel this request. Now look into the following section in the Windows Registry:

HKEY_CURRENT_USERControl Panel

International

Page 649: Web Extensions V1200 Programming Guide En

630 May 2008

Graphical Service Parameters

The parameter Locale contains the value you are looking for.

(see "AllowOverride" on page 624)(see "UseLocals" on page 630)

Length: 8 hexRange: 0000 - 9999Default: 1024 (German)

UseLocals

The HTML generator is able to look up language-specific standards that are installed in the Windows system. The language to use to retrieve the settings can be determined in the parameter UsedLcid. If user-defined settings are made to the other property pages, the parameter AllowOverride has to be set to 1, too, otherwise only the systems language-specific parameters are used.

(see "UsedLcid" on page 629)(see "AllowOverride" on page 624)

Length: 1Range: 0 - Use values of this language-specific section of the Registry

1 - Take the Windows standardsDefault: 0

ADALanguage

This parameter specifies the ISO language code for the speech engine, which defines the language to be spoken.

The following codes are possible with the current version of the ProTopas/Web-Extensions:

Language Code

General American English en_US

General American English en_CA

British English en_GB

Castilian Spanish es_ES

Standard French fr_FR

Mexican Spanish es_MX

Page 650: Web Extensions V1200 Programming Guide En

May 2008 631

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 5Range: alphanumeric ISO language CodeDefault: en_US

ADATextPageMenu

This parameter specifies the Default-Text of the page Headline to be spoken, when a page is loaded.

Macros like WX.Contents.PageHeadline may be used. (see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: You are in WX.Contents.PageHeadline.

ADATextPageHint

This parameter specifies the Default-Text of the page Instruction Hint to be spoken, when a page is loaded.

Macros like WX.Contents.PageInstruction may be used. (see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: WX.Contents.PageInstruction

Canadian French fr_CA

Standard German de_DE

Standard Italian it_IT

Brazilian Portuguese pt_BR

Standard Finnish fi_FI

Standard Dutch nl_NL

Standard Norwegian no_NO

Standard Swedish sv_SE

Standard Danish da_DK

Language Code

Page 651: Web Extensions V1200 Programming Guide En

632 May 2008

Graphical Service Parameters

ADATextPageContent

This parameter specifies the Default-Text of the page Content to be spoken, when a page is loaded. It the best to give the text, which should be spoken, an ID and to specify a variable WXADAText, where the message to be spoken is repeated. So the visual text may be different from the spoken text, i.e. to explain blind people where to find the specific HW devices.

(see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: WX.RT.P.WXADAContent.WXADAText

Example:

<table class="styleTableBlue"><tr>

<td class="styleTd"><p ID="WXADAContent" WXADAText="Please waita moment." class="textpopup">Please wait amoment...</p><p align="center"><img src="../images/animation/wait_message.gif" id="wait"></p>

</td></tr>

</table>

ADATextPageKeys

This parameter specifies the Default-Text to be spoken, when active keys are available on the page to tell the customer, which options are available. The parameter may specify text and macros. In default, this macro directs to WX.F.ActiveKeys, which means the macro ADAMacroActiveKeys (see also section ’ADAMacroActiveKeys’ on page 634). The macros may be used to get the caption of all buttons as well as the assigned numerical key.

(see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: Please press WX.F.ActiveKeys!

Page 652: Web Extensions V1200 Programming Guide En

May 2008 633

Parameters Graphical Service

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ADATextEditHint

This parameter specifies the Default-Text to be spoken, when an edit field becomes active. A macro may be used to specify the Instruction Hint to be spoken.

(see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: WX.Edit.Instruction!

ADATextEditContent

This parameter specifies the Default-Text to be spoken, after a customer has confirmed an input and it has been positivly checked. A macro may be used to when an edit field becomes active. A macro may be used to specify the Instruction Hint to be spoken.

(see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: You have entered WX.Edit.InputText, please confirm it!

ADAEchoButton

This parameter specifies the Default-Text to be spoken, when a button is pressed. A macro may be used. In default, this macro directs to ADAMacro-EchoKeys (see also section ’ADAMacroEchoKeys’ on page 634).

(see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: WX.F.EchoKeys.all

ADAEchoEdit

This parameter specifies the Default-Text to be spoken, when an Edit field is active and keys are pressed. The default value is to repeat the numerical value of each pressed EPP key. No macros are allowed here

Length: 1024Range: alphanumericDefault: 0=null_WXSEP_1=one_WXSEP_2=two...

Page 653: Web Extensions V1200 Programming Guide En

634 May 2008

Parameters for the ActiveX controls Parameters

ADAEchoEPP

This parameter specifies the Default-Text to be spoken, when a key is pressed during PIN input. No macros are allowed here.

Length: 1024Range: alphanumericDefault: Thanks.

ADAMacroActiveKeys

This parameter contains the macro for WX.F.ActiveKeys (= all active Buttons on this page). This macro may be specified in one of the parameters where macros are allowed. Other macros are allowed here.

(see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: WX.Button.Softkey for WX.Button.Text !

ADAMacroEchoKeys

This parameter contains the macro for WX.F.EchoKeys (= Button, which has been selected). This macro may be specified in one of the parameters where macros are allowed. Other macros are allowed here.

(see also section ’Macros’ on page 502)

Length: 1024Range: alphanumericDefault: You have selected WX.Button.Text

Parameters for the ActiveX controls

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

Page 654: Web Extensions V1200 Programming Guide En

May 2008 635

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

General ActiveX parameters

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

FrontPageImagePath

Specifies the directory on a design computer on which the images are stored. If there is a relative (or absolute) path name in an ActiveX-Control, every entry up to "images" will be replaced by this path name.

This setting is only used on design computers, where FrontPage is used to design the HTML pages. On this PC, all the graphics files must be stored on your local computer. This setting is not used on a self-service device.

Length: 128Range: alphanumericDefault: C:\ProTopas\Web\Images

Parameters for the Contents STD Control cancel situa-tions

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

PCContentsCancel

CancelHref

Href for the cancel message. If no HTML page is entered in this parameter, no cancel message will be displayed.

Length: 128Range: alphanumericDefault: GeneralCancelMessageWindow.htm

CancelWindow

Specifies whether the cancel message is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window.

Page 655: Web Extensions V1200 Programming Guide En

636 May 2008

Parameters for the ActiveX controls Parameters

Length: 1Range: 0 - The cancel message is not shown in a new window.

1 - The cancel message is shown in a new window.Default: 1

CancelQuestionHref

Href for the cancel question "Do you really want to cancel?". If no HTML page is entered in this parameter, no cancel question will be shown.

Length: 128Range: alphanumericDefault: GeneralCancelQuestionWindow.htm

CancelQuestionWindow

Specifies whether the cancel question "Do you really want to cancel?" is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window.

Length: 1Range: 0 - The cancel question is not shown in a new window.

1 - The cancel question is shown in a new window.Default: 1

CancelWindowLeft

Specifies the left pixel position of the new window for the cancel situations (cancel, cancel question). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555.

Length: 5Range: 0 - 20000Default: 44

CancelWindowTop

Specifies the upper pixel position of the new window for the cancel situations (cancel, cancel question). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555.

Length: 5Range: 0 - 20000Default: 54

Page 656: Web Extensions V1200 Programming Guide En

May 2008 637

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

CancelWindowHeight

Specifies the height of the new window for the cancel situations (cancel, cancel question). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555.

Length: 5Range: 0 - 20000Default: 260

CancelWindowWidth

Specifies the width of the new window for the cancel situations (cancel, cancel question). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555.

Length: 5Range: 0 - 20000Default: 712

Parameters for the Contents STD/ATM Control timeout situations

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

PCContentsTimeout

Timeout Href

Href for the ’Timeoutmessage’. If no HTML page is entered in this parameter, no timeout message will be displayed.

Length: 128Range: alphanumericDefault: GeneralTimeoutMessageWindow.htm

TimeoutWindow

Specifies whether the ’Timeoutmessage’ is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window.

Page 657: Web Extensions V1200 Programming Guide En

638 May 2008

Parameters for the ActiveX controls Parameters

Length: 1Range: 0 - The timeout message is not shown in a new window.

1 - The timeout message is shown in a new window.Default: 1

TimeoutQuestionHref

Href for the ’Security question’ "You have not made an input for a while ...?" If no HTML page is entered in this parameter, no timeout question will be shown.

Length: 128Range: alphanumericDefault: GeneralTimeoutQuestionWindow.htm

TimeoutQuestionWindow

Specifies whether the ’Security question’ "You have not made an input for a while ...?" is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window.

Length: 1Range: 0 - The timeout question is not shown in a new window.

1 - The timeout question is shown in a new window.Default: 1

AfterTimeoutHref

Href for the situation ’After timeout’.

Length: 128Range: alphanumericDefault: GeneralTimeoutFunction.htm

AfterTimeoutWindow

Specifies whether the situation ’After timeout’ is shown in a new window, i.e. the browser is called again and does not cover the whole screen but only a smaller window.

Length: 1Range: 0 - The situation after timeout is not shown in a new

window.1 - The situation after timeout is shown in a new window.

Default: 0

Page 658: Web Extensions V1200 Programming Guide En

May 2008 639

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

TimeoutWindowLeft

Specifies the left pixel position of the new window for the timeout situations (timeout, timeout question, after timeout). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555.

Length: 5Range: 0 - 20000Default: 44

TimeoutWindowTop

Specifies the upper pixel position of the new window for the timeout situa-tions (timeout, timeout question, after timeout). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555.

Length: 5Range: 0 - 20000Default: 54

TimeoutWindowHeight

Specifies the height of the new window for the timeout situations (timeout, timeout question, after timeout). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555.

Length: 5Range: 0 - 20000Default: 260

TimeoutWindowWidth

Specifies the width of the new window for the timeout situations (timeout, timeout question, after timeout). By specifying a value >= 10000 the percentage numbers may be added. Fe. 5,55% means 10555.

Length: 5Range: 0 - 20000Default: 712

Page 659: Web Extensions V1200 Programming Guide En

640 May 2008

Parameters for the ActiveX controls Parameters

Parameters for timeout values

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

PCContentsTimeout

Values

StandardTimeout

Specifies the default timeout in seconds.

Length: 3Range: numericDefault: 60

InputTimeout

Specifies the default timeout on input pages.

Length: 3Range: numericDefault: 120

MessageTimeout

Specifies the default timeout to show messages.

Length: 3Range: numericDefault: 5

HelpTimeout

Specifies the default timeout to show help messages.

Length: 3Range: numericDefault: 60

CorrectTimeout

Specifies the default timeout to show correct messages.

Page 660: Web Extensions V1200 Programming Guide En

May 2008 641

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 3Range: numericDefault: 10

EndlessTimeout

Specifies an endless timeout. May be used when a Step is called and the end of the Step is to continue the application.

Length: 3Range: not writableDefault: 0

ImmediateTimeout

Only used by Content ATM control. Specifies that the return code is to be reported immediately to the DoDialog() function.

Length: 3Range: not writableDefault: 0xffffffff

Parameters for beeping

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

PCContentsBeep

BeepDefault

Specifies when the application should beep.

Length: 1Range: 0 - No beep

1 - There is a beep when a new HTML page is called.2 - There is a beep when a timeout occurs.3- There is a beep when a new HTML page is called

or a timeout occurs.Default: 0

Page 661: Web Extensions V1200 Programming Guide En

642 May 2008

Parameters for the ActiveX controls Parameters

Parameters for EPP configuration

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

PCContentsEPPKey

Value0

This parameter specifies the code for the key 0 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 0.

Length: 4Range: alphanumericDefault: 0

Value1

This parameter specifies the code for the key 1 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 1.

Length: 4Range: alphanumericDefault: 1

Value2

This parameter specifies the code for the key 2 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 2.

Length: 4Range: alphanumericDefault: 2

Page 662: Web Extensions V1200 Programming Guide En

May 2008 643

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Value3

This parameter specifies the code for the key 3 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 3.

Length: 4Range: alphanumericDefault: 3

Value4

This parameter specifies the code for the key 4 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 4.

Length: 4Range: alphanumericDefault: 4

Value5

This parameter specifies the code for the key 5 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 5.

Length: 4Range: alphanumericDefault: 5

Value6

This parameter specifies the code for the key 6 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 6.

Length: 4Range: alphanumericDefault: 6

Page 663: Web Extensions V1200 Programming Guide En

644 May 2008

Parameters for the ActiveX controls Parameters

Value7

This parameter specifies the code for the key 7 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 7.

Length: 4Range: alphanumericDefault: 7

Value8

This parameter specifies the code for the key 8 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 8.

Length: 4Range: alphanumericDefault: 8

Value9

This parameter specifies the code for the key 9 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 9.

Length: 4Range: alphanumericDefault: 9

ValueF1

This Parameter specifies the code for the softkey F1 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is H.

Length: 4Range: alphanumericDefault: H

Page 664: Web Extensions V1200 Programming Guide En

May 2008 645

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ValueF2

This Parameter specifies the code for the softkey F2 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is D.

Length: 4Range: alphanumericDefault: D

ValueF3

This Parameter specifies the code for the softkey F3 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is E.

Length: 4Range: alphanumericDefault: E

ValueF4

This Parameter specifies the code for the softkey F4 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is F.

Length: 4Range: alphanumericDefault: F

ValueF5

This Parameter specifies the code for the softkey F5 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is C.

Length: 4Range: alphanumericDefault: C

Page 665: Web Extensions V1200 Programming Guide En

646 May 2008

Parameters for the ActiveX controls Parameters

ValueF6

This Parameter specifies the code for the softkey F6 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is B.

Length: 4Range: alphanumericDefault: B

ValueF7

This Parameter specifies the code for the softkey F7 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is A.

Length: 4Range: alphanumericDefault: A

ValueF8

This Parameter specifies the code for the softkey F8 returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is G.

Length: 4Range: alphanumericDefault: G

ValueCancel

This Parameter specifies the code for the functionkey or softkey CANCEL returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 0x01.

Length: 4Range: alphanumericDefault: 0x01

Page 666: Web Extensions V1200 Programming Guide En

May 2008 647

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ValueConfirm

This Parameter specifies the code for the functionkey or softkey CONFIRM returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 0x04.

Length: 4Range: alphanumericDefault: 0x04

ValueCorrect

This Parameter specifies the code for the functionkey or softkey CORRECT returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 0x02.

Length: 4Range: alphanumericDefault: 0x02

ValueHelp

This Parameter specifies the code for the functionkey or softkey HELP returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 0x03.

Length: 4Range: alphanumericDefault: 0x03

ValuePrint

This Parameter specifies the code for the softkey PRINT returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is 0x05.

Length: 4Range: alphanumericDefault: 0x05

Page 667: Web Extensions V1200 Programming Guide En

648 May 2008

Parameters for the ActiveX controls Parameters

ValueReserved

This parameter specifies the code for the key left to the 0 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is *

Length: 4Range: alphanumericDefault: *

ValueDecPoint

This parameter specifies the code for the key right to the 0 on the EPP keyboard returned by the function GetTerminateChar(). Hex. values may be specified by typing in 0xnn, where nn is the hex code.

The default value is , .

Length: 4Range: alphanumericDefault: ,

General parameters for Contents STD/ATM control

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

PCContentsGeneral

UseUTF8

Only when working with the Unicode versions of the controls:

This parameter specifies, in which format the variables are passed from the Contents STD/ATM Control from and to the ProTopas Frameworks, like the Data Dictionary and CheckFW. This is neccessary, because the ProTopas components is using Char values for its internal communication. The internal communication in the Unicode controls is using Wchar. So a conversion has to be done. This can either be done from Unicode to ANSI or Unicode to UTF8.

The default value is 0.

Page 668: Web Extensions V1200 Programming Guide En

May 2008 649

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 1Range: 0- Convert using ANSI (Not all Unicode signs can be

converted)1- Convert using UTF8

Default: 0

HttpsBlankPage

This is a workaround for a problem with the Web Graphical Service in a HTTPS session. When during normal page mode a new window is popping up, this window is created using the page specified here. This should be one of the pages from the HTTPS-Server, which contains less content. If this page would not be specified, an ABOUT:Blank page would be created, which causes a warning message popup during a HTTPS session.

Length: 1024Range: alphanumericDefault: -

NCREppInit

Because the NCR Numeric Keyboard handling is very slow, the is an initial-ization command for Numeric Keyboard handling, which will be called at page initialization.

PLEASE USE THIS SWITCH ONLY ON NCR HARDWARE!!!

The default value is 0.

Length: 1Range: 0- All other hardware

1- Only on NCR EPP HardwareDefault: 0

SetInputFocusNext

Normally the input focus - after an edit field has been confirmed - is given to the edit field with the lowest field ID, which input has not been checked jet. With this parameter the input focus may be given to the field with the next field ID in the sequence.

Length: 1Range: 0- Input focus is given to the field with the lowest field ID

1- Input focus is given to the field with the next field IDDefault: 0

Page 669: Web Extensions V1200 Programming Guide En

650 May 2008

Parameters for the ActiveX controls Parameters

This parameter may be used to get the old behaviour of The Immediate-Timout again. This had used a very short timeout before. Now it does not use any timer any more.

NewImmediateTimeout

This parameter may be used to configure a new behaviour of the ImmediateTimeout. ImmediateTimeout was implemented using a very short timeout. This could case a problem, that this timer never exires. The new behaviour is that the ImmediateTimeout is not using a timer any more, so that possible hangup situations are minimized.

Length: 1Range: 0- Old ImmediateTimeout behaviour with a very short

timer.1- New ImmediateTimeout behaviour without using a

timer.Default: 0

AutomaticEPPConfigForAllButtons

This parameter activates all active buttons to CEN/XFS, which viewstate variable is set to ’visible’, if at the property page EPP Config the mode is set to automatic. In the old behaviour this was done only for function keys.

Length: 1Range: 0- Old behaviour: Only the function key viewstates are

checked.1- New behaviour: For all buttons the viewstates are

checked.Default: 0

DeleteInputFieldsWithEmptyString

This parameter may be used to change the behaviour of deleting input fields. If the parameter is set to 0 it is not allowed to delete an edit field with an empty input varaibale. Empty input variables are not set in the old behaviour. With the new behaviour (1) it is possible now.

Page 670: Web Extensions V1200 Programming Guide En

May 2008 651

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 1Range: 0- Old behaviour. No set of empty input variable possible.

1- New behaviour: Deleting a content of the input field ispossible with an empty input variable.

Default: 0

Parameters for the PCButton control

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

PCButtonGeneral

AudioResponse

The audio response for the Button control may be configured here. The parameter has to contain a string with the following layout:

XXX_Y_ZZZZZZZZ

XXX = WAV for Wave filesXXX = SEL for Special electronic beepingY= S for synchronous playing (don’t play > 5 sec as sync.)Y= A for asynchronous playingY = X for stop previous playing (WAV only)ZZZZZZZZ = at WAV is relative or absolute path ( non local files will be

dowloaded to cache - check in alllow list)

ZZZZZZZZ - at SEL is one of the following sounds:BELL_OFFBELL_KEYPRESSBELL_EXCLAMATIONBELL_WARNINGBELL_ERRORBELL_CRITICALBELL_KEYPRESS_CONTINUOUSBELL_EXCLAMATION_CONTINUOUSBELL_WARNING_CONTINUOUSBELL_ERROR_CONTINUOUSBELL_CRITICAL_CONTINUOUS

Length: 1024Range: alphanumeric

Page 671: Web Extensions V1200 Programming Guide En

652 May 2008

Parameters for the ActiveX controls Parameters

ButtonInstallation

Specifies whether the button control is used in the architecture Web-Exten-sions/ClassicLink or Web-Extensions/HyperLink. A menu button is not available for Web-Extensions/ClassicLink.

The default value is 0.

Length: 1Range: 0- Use button control in the architecture

Web-Extensions/HyperLink1- Use button control in the architecture

Web-Extensions/ClassicLinkDefault: 0 - Use button control in the architecture

Web-Extensions/HyperLink.

AnimationTimer

Specifies the time in milliseconds how long a button remains "down" when the button is pressed before it goes "up" again.

The default value is 500 milliseconds.

Length: 99Range: 1 - 9999Default: 500 - When a button is touched, it remains "down" for

half a second.

ImageUp

Specifies the default graphic of the button when it is in the state "up".

Length: 128Range: alphanumericDefault: ../images/controls/select_up.bmp

ImageDown

Specifies the default graphic of the button when it is in the state "down".

Length: 128Range: alphanumericDefault: ../images/controls/select_down.bmp

Page 672: Web Extensions V1200 Programming Guide En

May 2008 653

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ImagePressed

Specifies the default graphic of the button when it is in the state "pressed".

Length: 128Range: alphanumericDefault: ../images/controls/select_pressed.bmp

ImageDisabled

Specifies the default graphic of the button when it is in the state "disabled".

Length: 128Range: alphanumericDefault: ../images/controls/select_disabled.bmp

PressOffset

Specifies the number of pixels that the text and the icon on the button will move in x- and y- directions when the button is pressed. The number cannot be larger than the height and the width of the button.

Length: 3Range: numericDefault: 3

TextFont

Specifies the font of the button's caption.

Length: 128Range: alphanumericDefault: Arial

TextSize

Specifies the size of the button's caption.

Length: 2Range: numericDefault: 12

TextColour

Specifies the colour of the button's caption when the button is up, down or pressed:

Page 673: Web Extensions V1200 Programming Guide En

654 May 2008

Parameters for the ActiveX controls Parameters

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00000000

TextColourDisabled

Specifies the colour of the button's caption if the button is disabled:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00808080

TextAlignX

Specifies the x-position in pixel of the caption relative to the button.

(see "TextCenterX" on page 654)

Length: 3Range: numericDefault: 0

TextCenterX

Specifies whether the caption is horizontally centered on the button.

(see "TextAlignX" on page 654)

Length: 1Range: 0 - The caption is left justified and the position is taken from

the TextAlignX property.1 - The caption is horizontally centered on the button

(ignore TextAlignX).2 - The caption is right justified and the position is taken

from the TextAlignX property.Default: 1

TextAlignY

Specifies whether the caption is vertically centered on the button.

(see "TextCenterY" on page 655)

Page 674: Web Extensions V1200 Programming Guide En

May 2008 655

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 3Range: numericDefault: 0

TextCenterY

Specifies the y-position in pixels of the caption relative to the button.

(see "TextAlignY" on page 654)

Length: 1Range: 0 - The caption is not vertically centered on the button

(see exact y-position in TextAlignX).1 - The caption is vertically centered on the button

(ignore TextAlignY).Default: 1

TextBold

Specifies whether the button's caption is printed bold.

Length: 1Range: 0 - The button's caption is not printed bold.

1 - The button's caption is printed bold.Default: 1

TextItalic

Specifies whether the button's caption is printed in italics.

Length: 1Range: 0 - The button's caption is not printed in italics.

1 - The button's caption is printed in italics.Default: 0

TextUnderline

Specifies whether the button's caption is printed underlined.

Length: 1Range: 0 - The button's caption is not printed underlined.

1 - The button's caption is printed underlined.Default: 0

Page 675: Web Extensions V1200 Programming Guide En

656 May 2008

Parameters for the ActiveX controls Parameters

TextStrikeout

Specifies whether the button's caption is printed strikeout.

Length: 1Range: 0 - The button's caption is not printed strikeout.

1 - The button's caption is printed strikeout.Default: 0

HoldPressedState

Specifies whether the button changes to the state "pressed" when it is pressed.

Length: 1Range: 0 - When the button is pressed it changes to the

state "down" and when it is released it changesback to the state "up".

1 - When the button is pressed it changes to thestate "down" and when it is released it changesto the state "pressed".

Default: 0

Identification

Specifies whether the customer must insert his card and/or enter the PIN after he has pressed the button.

Only relevant for menu buttons.

Length: 1Range: 0 - no card, no PIN

1 - with card, without PIN2 - with card, with PIN3 - mandatory with card, with PIN4 - with chipcard, without PIN5 - with chipcard, with PIN6 - mandatory with chipcard, with PIN

Default: 0

ShiftInPixelsMode

Specifies the mode fot the Shift in Pixels of the control. Should it be inter-preted as a shift to the lower right corner or be interpreted as a shift to whatever direction. Then the value is interpreted as a binary:

Page 676: Web Extensions V1200 Programming Guide En

May 2008 657

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Format for offset:

short +/- 32768

FEDCBA98 76543210-yyyyyyy -XXXXXXX

Example:

x=3,y=3binary: 00000011 00000011short : (y(3*256)+x(2+1) ) -> 771

x:-3,y:-3 (build complements)binary: 11111101 11111101short : (y((256-3)*256+x(256-3)) -> 65021-65536 -> -515

Length: 1Range: 0 - Shift to lower left corner

1 - Shift to all directionsDefault: 0

Parameters for the PCEdit control

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

PCEditGeneral

AudioResponse

The audio response for the Edit control may be configured here. The parameter has to contain a string with the following layout:

XXX_Y_ZZZZZZZZ

XXX = WAV for Wave filesXXX = SEL for Special electronic beepingY= S for synchronous playing (don’t play > 5 sec as sync.)Y= A for asynchronous playingY = X for stop previous playing (WAV only)ZZZZZZZZ = at WAV is relative or absolute path ( non local files will be

dowloaded to cache - check in alllow list)

Page 677: Web Extensions V1200 Programming Guide En

658 May 2008

Parameters for the ActiveX controls Parameters

ZZZZZZZZ - at SEL is one of the following sounds:BELL_OFFBELL_KEYPRESSBELL_EXCLAMATIONBELL_WARNINGBELL_ERRORBELL_CRITICALBELL_KEYPRESS_CONTINUOUSBELL_EXCLAMATION_CONTINUOUSBELL_WARNING_CONTINUOUSBELL_ERROR_CONTINUOUSBELL_CRITICAL_CONTINUOUS

Length: 1024Range: alphanumeric

ImageUp

Specifies the default graphic of the input field when it is in the state "up".

Length: 128Range: alphanumericDefault: ../images/controls/input_std_up.bmp

ImagePressed

Specifies the default graphic of the input field when it is in the state "pressed".

Length: 128Range: alphanumericDefault: ../images/controls/input_std_pressed.bmp

ImageDisabled

Specifies the default graphic of the input field when it is in the state "disabled".

Length: 128Range: alphanumericDefault: ../images/controls/input_std_disabled.bmp

Page 678: Web Extensions V1200 Programming Guide En

May 2008 659

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

PressOffset

Specifies the number of pixels that the text, the input area and the icon on the input field will move in x- and y-direction when the input field is pressed. The number cannot be larger than the height and the width of the input field.

Length: 3Range: numericDefault: 3

TextFont

Specifies the font of the input field's caption.

Length: 128Range: alphanumericDefault: Arial

TextSize

Specifies the size of the input field's caption.

Length: 2Range: numericDefault: 10

TextColour

Specifies the colour of the input field's caption when the input field is up or pressed:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00000000

TextColourDisabled

Specifies the colour of the input field's caption if the input field is disabled:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00808080

Page 679: Web Extensions V1200 Programming Guide En

660 May 2008

Parameters for the ActiveX controls Parameters

TextAlignX

Specifies the x-position in pixels of the caption relative to the input field.

(see "TextCenterX" on page 660)

Length: 3Range: numericDefault: 19

TextCenterX

Specifies whether the caption is horizontally centered on the input field.

(see "TextAlignX" on page 660)

Length: 1Range: 0 - The caption is left justified and the position is taken from

the TextAlignX property.1 - The caption is horizontally centered on the button

(ignore TextAlignX).2 - The caption is right justified and the position is taken

from the TextAlignX property.Default: 0

TextAlignY

Specifies whether the caption is horizontally centered on the input field.

(see "TextCenterY" on page 660)

Length: 3Range: hexadecimalDefault: 6

TextCenterY

Specifies whether the caption is vertically centered on the input field.

(see "TextAlignY" on page 660)

Length: 1Range: 0 - The caption is not vertically centered on the input

field (see exact y-position in TextAlignX).1 - The caption is vertically centered on the input field

(ignore TextAlignY).Default: 0

Page 680: Web Extensions V1200 Programming Guide En

May 2008 661

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

TextBold

Specifies whether the input field's caption is printed bold.

Length: 1Range: 0 - The input field's caption is not printed bold.

1 - The input field's caption is printed bold.Default: 1

TextItalic

Specifies whether the input field's caption is printed in italics.

Length: 1Range: 0 - The input field's caption is not printed in italics.

1 - The input field's caption is printed in italics.Default: 0

TextUnderline

Specifies whether the input field's caption is printed underlined

Length: 1Range: 0 - The input field's caption is not printed underlined.

1 - The input field's caption is printed underlined.Default: 0

TextStrikeout

Specifies whether the input field's caption is printed strikeout.

Length: 1Range: 0 - The input field's caption is not printed strikeout.

1 - The input field's caption is printed strikeout.Default: 0

InputFont

Specifies the font of the customer's input.

Length: 128Range: alphanumericDefault: Courier

Page 681: Web Extensions V1200 Programming Guide En

662 May 2008

Parameters for the ActiveX controls Parameters

InputSize

Specifies the size of the customer's input.

Length: 2Range: numericDefault: 10

InputColour

Specifies the colour of the customer's input when the input field is up or pressed:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00000000

InputColourDisabled

Specifies the colour of the customer's input if the input field is disabled:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00808080

InputAlignX

Specifies the x-position in pixel of the input area relative to the input field.

Length: 3Range: 0 - 799Default: 16

InputAlignY

Specifies the y-position in pixels of the customer's input relative to the input field.

Length: 3Range: 0 - 409Default: 28

Page 682: Web Extensions V1200 Programming Guide En

May 2008 663

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

InputWidth

Specifies the width in pixels of the input area on the input field. The width of the input area cannot be larger than the width of the input field.

Length: 3Range: 0 - 410Default: 272

InputHeight

Specifies the height in pixels of the input area on the input field. The height of the input area cannot be larger than the height of the input field.

Length: 3Range: 0 - 410Default: 18

InputBold

Specifies whether the customer's input is printed bold.

Length: 1Range: 0 - The consumer's input is not printed bold.

1 - The consumer's input is printed bold.Default: 0

InputItalic

Specifies whether the customer's input is printed in italics.

Length: 1Range: 0 - The customer's input is not printed in italics.

1 - The customer's input is printed in italics.Default: 0

InputUnderline

Specifies whether the customer's input is printed underlined

Length: 1Range: 0 - The customer's input is not printed underlined.

1 - The customer's input is printed underlined.Default: 0

Page 683: Web Extensions V1200 Programming Guide En

664 May 2008

Parameters for the ActiveX controls Parameters

InputStrikeout

Specifies whether the customer's input is printed strikeout.

Length: 1Range: 0 - The customer's input is not printed strikeout.

1 - The customer's input is printed strikeout.Default: 0

InputTimeoutHalf

Specifies the timeout in seconds during an input. After this period of time the application beeps.

Length: 3Range: 0 There is no beep during the input.

1 - 999 After this period of time in seconds the appli-cation beeps.

Default: 600

ShiftInPixelsMode

Specifies the mode fot the Shift in Pixels of the control. Should it be inter-preted as a shift to the lower right corner or be interpreted as a shift to whatever direction. Then the value is interpreted as a binary:

Format for offset:

short +/- 32768

FEDCBA98 76543210-yyyyyyy -XXXXXXX

Example:

x=3,y=3binary: 00000011 00000011short : (y(3*256)+x(2+1) ) -> 771

x:-3,y:-3 (build complements)binary: 11111101 11111101short : (y((256-3)*256+x(256-3)) -> 65021-65536 -> -515

Length: 1Range: 0 - Shift to lower left corner

1 - Shift to all directionsDefault: 0

Page 684: Web Extensions V1200 Programming Guide En

May 2008 665

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Parameters for the PCList control

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

PCListGeneral

AudioResponse

The audio response for the List control may be configured here. The parameter has to contain a string with the following layout:

XXX_Y_ZZZZZZZZ

XXX = WAV for Wave filesXXX = SEL for Special electronic beepingY= S for synchronous playing (don’t play > 5 sec as sync.)Y= A for asynchronous playingY = X for stop previous playing (WAV only)ZZZZZZZZ = at WAV is relative or absolute path ( non local files will be

dowloaded to cache - check in alllow list)

ZZZZZZZZ - at SEL is one of the following sounds:BELL_OFFBELL_KEYPRESSBELL_EXCLAMATIONBELL_WARNINGBELL_ERRORBELL_CRITICALBELL_KEYPRESS_CONTINUOUSBELL_EXCLAMATION_CONTINUOUSBELL_WARNING_CONTINUOUSBELL_ERROR_CONTINUOUSBELL_CRITICAL_CONTINUOUS

Length: 1024Range: alphanumeric

ImageUp

Specifies the default graphic of the PCList control when it is in the state "up".

Page 685: Web Extensions V1200 Programming Guide En

666 May 2008

Parameters for the ActiveX controls Parameters

Length: 128Range: alphanumericDefault: ../images/controls/input_std_up.bmp

ImagePressed

Specifies the default graphic of the PCList control when it is in the state "pressed".

Length: 128Range: alphanumericDefault: ../images/controls/input_std_pressed.bmp

ImageDisabled

Specifies the default graphic of the PCList control when it is in the state "disabled".

Length: 128Range: alphanumericDefault: ../images/controls/input_std_disabled.bmp

PressOffset

Specifies the number of pixels that the text, the output area and the icon on the PCList control will move in x- and y-direction, if the PCList control is pressed. The number cannot be larger than the height and the width of the PCList control.

Length: 3Range: numericDefault: 3

TextFont

Specifies the font of the PCList control's caption.

Length: 128Range: alphanumericDefault: Arial

TextSize

Specifies the size of the PCList control's caption.

Page 686: Web Extensions V1200 Programming Guide En

May 2008 667

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 2Range: numericDefault: 10

TextColour

Specifies the colour of the PCList control's caption, when the PCList control is up or pressed:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00000000

TextColourDisabled

Specifies the colour of the PCList control's caption, if the PCList control is disabled:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00808080

TextAlignX

Specifies the x-position in pixel of the caption relative to the PCList control.

(see "TextCenterX" on page 667)

Length: 3Range: numericDefault: 19

TextCenterX

Specifies whether the caption is horizontally centered on the PCList control.

(see "TextAlignX" on page 667)

Length: 1Range: 0 - The caption is left justified and the position is taken from

the TextAlignX property.1 - The caption is horizontally centered on the button

(ignore TextAlignX).

Page 687: Web Extensions V1200 Programming Guide En

668 May 2008

Parameters for the ActiveX controls Parameters

2 - The caption is right justified and the position is takenfrom the TextAlignX property.

Default: 0

TextAlignY

Specifies whether the caption is horizontally centered on the PCList control.

(see "TextCenterY" on page 668)

Length: 3Range: hexadecimalDefault: 6

TextCenterY

Specifies whether the caption is vertically centered on the PCList control.

(see "TextAlignY" on page 668)

Length: 1Range: 0 - The caption is not vertically centered on the

PCList control (see exact y-position in TextAlignX).1 - The caption is vertically centered on the

PCList control (ignore TextAlignY).Default: 0

TextBold

Specifies whether the PCList control's caption is printed bold.

Length: 1Range: 0 - The PCList control's caption is not printed bold.

1 - The PCList control's caption is printed bold.Default: 1

TextItalic

Specifies whether the PCList control's caption is printed in italics.

Length: 1Range: 0 - The PCList control's caption is not printed in italics.

1 - The PCList control's caption is printed in italics.Default: 0

Page 688: Web Extensions V1200 Programming Guide En

May 2008 669

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

TextUnderline

Specifies whether the PCList control's caption is printed underlined

Length: 1Range: 0 - The PCList control's caption is not printed underlined.

1 - The PCList control's caption is printed underlined.Default: 0

TextStrikeout

Specifies whether the PCList control's caption is printed strikeout.

Length: 1Range: 0 - The PCList control's caption is not printed strikeout.

1 - The PCList control's caption is printed strikeout.Default: 0

InputFont

Specifies the font of the output field.

Length: 128Range: alphanumericDefault: Courier

InputSize

Specifies the size of the output field.

Length: 2Range: numericDefault: 10

InputColour

Specifies the colour of the output field when the field is up or pressed:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00000000

Page 689: Web Extensions V1200 Programming Guide En

670 May 2008

Parameters for the ActiveX controls Parameters

InputColourDisabled

Specifies the colour of the output field if the field is disabled:

00RRGGBB (RR=red, GG=green, BB=blue)

Length: 8Range: hexadecimalDefault: 00808080

InputAlignX

Specifies the x-position in pixels of the output field relative to the PCList control.

Length: 3Range: 0 - 799Default: 16

InputAlignY

Specifies the y-position in pixels of the output field relative to the PCList control.

Length: 3Range: 0 - 409Default: 28

InputXCentred

Specifies to which side of the cursor position of InputAlignX the output should be written.

Length: 1Range: 0 - Text should be written to the left

1 - Text should be centered relative to position ofInputAlignX

2 - Text should be written to the right Default: 0

InputYCentred

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

Page 690: Web Extensions V1200 Programming Guide En

May 2008 671

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 1Range: 0 - Text should not be centered vertically

1 - Text should be centered verticallyDefault: 0

InputBold

Specifies whether the output field is printed bold.

Length: 1Range: 0 - The output field is not printed bold.

1 - The output field is printed bold.Default: 0

InputItalic

Specifies whether the output field is printed in italics.

Length: 1Range: 0 - The output field is not printed in italics.

1 - The output field is printed in italics.Default: 0

InputUnderline

Specifies whether the output field is printed underlined

Length: 1Range: 0 - The output field is not printed underlined.

1 - The output field is printed underlined.Default: 0

InputStrikeout

Specifies whether the output field is printed strikeout.

Length: 1Range: 0 - The output field is not printed strikeout.

1 - The output field is printed strikeout.Default: 0

Page 691: Web Extensions V1200 Programming Guide En

672 May 2008

Parameters for the ActiveX controls Parameters

ShiftInPixelsMode

Specifies the mode fot the Shift in Pixels of the control. Should it be inter-preted as a shift to the lower right corner or be interpreted as a shift to whatever direction. Then the value is interpreted as a binary:

Format for offset:

short +/- 32768

FEDCBA98 76543210-yyyyyyy -XXXXXXX

Example:

x=3,y=3binary: 00000011 00000011short : (y(3*256)+x(2+1) ) -> 771

x:-3,y:-3 (build complements)binary: 11111101 11111101short : (y((256-3)*256+x(256-3)) -> 65021-65536 -> -515

Length: 1Range: 0 - Shift to lower left corner

1 - Shift to all directionsDefault: 0

Parameters for Schemes

These parameters may be used to describe Schemes for PCButton, PCEdit and PCList controls. Schemes may be used to configure all visible parameter of a control in the registry. The values are checked during runtime. These parameter will be found in parameter file C:\ProTopas\Conf\ActiveX.sdf with a template set of all parameters for the schemes for all three controls. This file may be used to add additional schemes in the registry.

Because most of the values are same as the Default values for the controls, only references to those parameter are given here.

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

PCButton or PCEdit or PCListGeneral

Scheme...

Page 692: Web Extensions V1200 Programming Guide En

May 2008 673

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

ImageDown

Available for PCButton

(see also ’ImageDown’ on page 652)

ImagePressed

Available for PCButton, PCEdit, PCList

(see also ’ImagePressed’ on page 653)

ImageDisabled

Available for PCButton, PCEdit, PCList

(see also ’ImageDisabled’ on page 653)

ImageUp

Available for PCButton, PCEdit, PCList

(see also ’ImageUp’ on page 652)

IconAlignX

Available for PCButton, PCEdit, PCList

This parameter is used for configuring the X coordinate in pixels for an Icon from the upper left corner of the button graphic.

Length: 4Range: 0 - 9999

IconXCentered

Available for PCButton, PCEdit, PCList

This parameter is used to configure, if the Icon of a control shall be centered horizontally.

Length: 1Range: 0 - Icon should not be centered horizontally

1 - Icon should be centered horizontally

IconYCentered

Available for PCButton, PCEdit, PCList

Page 693: Web Extensions V1200 Programming Guide En

674 May 2008

Parameters for the ActiveX controls Parameters

This parameter is used for configuring the Y coordinate in pixels for an Icon from the upper left corner of the button graphic.

Length: 4Range: 0 - 9999

IconAlignY

Available for PCButton, PCEdit, PCList

This parameter is used to configure, if the Icon of a control shall be centered vertically.

Length: 1Range: 0 - Icon should not be centered vertically

1 - Icon should be centered vertically

Icon

Available for PCButton, PCEdit, PCList

This parameter is used to configure the Icon.

Length: 128Range: alphanumeric

IconDisabled

Available for PCButton, PCEdit, PCList

This parameter is used to configure the disabled Icon.

Length: 128Range: alphanumeric

PressOffset

Available for PCButton, PCEdit, PCList

(see also ’PressOffset’ on page 653)

AudioResponse

Available for PCButton, PCEdit, PCList

The audio response for the controls may be configured here. The parameter has to contain a string with the following layout:

Page 694: Web Extensions V1200 Programming Guide En

May 2008 675

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

XXX_Y_ZZZZZZZZ

XXX = WAV for Wave filesXXX = SEL for Special electronic beepingY= S for synchronous playing (don’t play > 5 sec as sync.)Y= A for asynchronous playingY = X for stop previous playing (WAV only)ZZZZZZZZ = at WAV is relative or absolute path ( non local files will be

dowloaded to cache - check in alllow list)

ZZZZZZZZ - at SEL is one of the following sounds:BELL_OFFBELL_KEYPRESSBELL_EXCLAMATIONBELL_WARNINGBELL_ERRORBELL_CRITICALBELL_KEYPRESS_CONTINUOUSBELL_EXCLAMATION_CONTINUOUSBELL_WARNING_CONTINUOUSBELL_ERROR_CONTINUOUSBELL_CRITICAL_CONTINUOUS

Length: 1024Range: alphanumeric

TextLayerCount

Available for PCButton, PCEdit, PCList

This Parameter contains the number of TextLayers. This has an impact to all the other parameter beginning with TextLayer... When there are more than one Layer, the values have to be separated by ;;

Length: 3Range: 1 - 999

TextLayerPosXYDefault

Available for PCButton, PCEdit, PCList

This Parameter specifies, if the Position Default Button at the caption or Headline property page is checked or not.

Page 695: Web Extensions V1200 Programming Guide En

676 May 2008

Parameters for the ActiveX controls Parameters

Length: 1Range: 0 - Default checkbox shall not be checked

1 - Default checkbox shall be checked.

TextLayerTextAlignX

Available for PCButton, PCEdit, PCList

(see also ’TextAlignX’ on page 654)

TextLayerTextAlignY

Available for PCButton, PCEdit, PCList

(see also ’TextAlignY’ on page 654)

TextLayerTextAlignXTyp

Available for PCButton, PCEdit, PCList

(see also ’TextCenterX’ on page 654)

TextLayerYCentered

Available for PCButton, PCEdit, PCList

(see also ’TextCenterY’ on page 655)

TextLayerFontDefault

Available for PCButton, PCEdit, PCList

This parameter specifies, if the Font Default Button at the caption or Headline property page is checked or not.

Length: 1Range: 0 - Font Default checkbox shall not be checked

1 - Font Default checkbox shall be checked.

TextLayerFont

Available for PCButton, PCEdit, PCList

(see also ’TextFont’ on page 653)

Page 696: Web Extensions V1200 Programming Guide En

May 2008 677

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

TextLayerFontCodePage

Available for PCButton, PCEdit, PCList

This Parameter specifies the Code Page for the font.

Length: 4Range: 001 - 9999

TextLayerTextSize

Available for PCButton, PCEdit, PCList

(see also ’TextSize’ on page 653)

TextLayerTextBold

Available for PCButton, PCEdit, PCList

(see also ’TextBold’ on page 655)

TextLayerTextItalic

Available for PCButton, PCEdit, PCList

(see also ’TextItalic’ on page 655)

TextLayerTextUnderline

Available for PCButton, PCEdit, PCList

(see also ’TextUnderline’ on page 655)

TextLayerTextStrikeout

Available for PCButton, PCEdit, PCList

(see also ’TextStrikeout’ on page 656)

TextLayerActiveColourDefault

Available for PCButton, PCEdit, PCList

This parameter specifies, if the ActiveColour Default Button at the caption or Headline property page is checked or not.

Page 697: Web Extensions V1200 Programming Guide En

678 May 2008

Parameters for the ActiveX controls Parameters

Length: 1Range: 0 - ActiveColour Default checkbox shall not be checked

1 - ActiveColour Default checkbox shall be checked.

TextLayerInactiveColourDefault

Available for PCButton, PCEdit, PCList

This parameter specifies, if the InactiveColour Default Button at the caption or Headline property page is checked or not.

Length: 1Range: 0 - InactiveColour Default checkbox shall not be checked

1 - InactiveColour Default checkbox shall be checked.

TextLayerTextColour

Available for PCButton, PCEdit, PCList

(see also ’TextColour’ on page 653)

TextLayerTextColourDisabled

Available for PCButton, PCEdit, PCList

(see also ’TextColourDisabled’ on page 654)

InputAreaDefault

Available for PCEdit, PCList

This parameter specifies, if the Input/Output Range Default Button at the Input or Output property page is checked or not.

Length: 1Range: 0 - Range Default checkbox shall not be checked

1 - Range Default checkbox shall be checked.

InputAlignX

Available for PCEdit, PCList

(see also ’InputAlignX’ on page 662)

InputAlignY

Available for PCEdit, PCList

Page 698: Web Extensions V1200 Programming Guide En

May 2008 679

Parameters Parameters for the ActiveX controls

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

(see also ’InputAlignY’ on page 662)

InputWidth

Available for PCEdit, PCList

(see also ’InputWidth’ on page 663)

InputHeight

Available for PCEdit, PCList

(see also ’InputHeight’ on page 663)

InputFontDefault

Available for PCEdit, PCList

This parameter specifies, if the Font Default Button at the Input or Output property page is checked or not.

Length: 1Range: 0 - Font Default checkbox shall not be checked

1 - Font Default checkbox shall be checked.

InputFont

Available for PCEdit, PCList

(see also ’InputFont’ on page 661)

InputFontCodePage

Available for PCEdit, PCList

This Parameter specifies the Code Page for the font.

Length: 4Range: 001 - 9999

InputSize

Available for PCEdit, PCList

(see also ’InputSize’ on page 662)

Page 699: Web Extensions V1200 Programming Guide En

680 May 2008

CCOpen parameters Parameters

InputBold

Available for PCEdit, PCList

(see also ’InputBold’ on page 663)

InputUnderline

Available for PCEdit, PCList

(see also ’InputUnderline’ on page 663)

InputItalic

Available for PCEdit, PCList

(see also ’InputItalic’ on page 663)

InputStrikeout

Available for PCEdit, PCList

(see also ’InputStrikeout’ on page 664)

InputColour

Available for PCEdit, PCList

(see also ’InputColour’ on page 662)

InputColourDisabled

Available for PCEdit, PCList

(see also ’InputColourDisabled’ on page 662)

CCOpen parameters

These parameters are used by HTML_DIALOG_CONTROL. These parameters are currently not supervised by parac.

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

GLOBALTIME

Page 700: Web Extensions V1200 Programming Guide En

May 2008 681

Parameters CCOpen parameters

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

MAX_MEMORY_USE

Please do not use this parameter any longer - it’s deprecated. Please use parameter MAX_WEBEXTENSION_MEMORY_GROWTH (see also section ’MAX_WEBEXTENSION_MEMORY_GROWTH’ on page 689) instead.

Percentage showing how much memory may have been wasted until the Internet Explorer is shut down and restarted, in order to solve the memory leak of the Internet Explorer. This parameter is used by the HTML_DIALOG_CONTROL (HTMLDiCT.DLL). For the calculation of the memory it is always the best to use the same minimum and maximum memory settings for extended memory in the Windows system environment settings.

(see also section ’Memory leak of the Internet Explorer’ on page 309).

Length: 3Range: 1 - 99Default: 85

MAX_MEMORY_USE_MINUTES

Minutes to wait, until the HTML_DIALOG_CONTROL (HTMLDiCT.DLL) restart the Internet Explorer, if maximum Amount of Memory has been reached. (see also section ’Memory leak of the Internet Explorer’ on page 309).

(see "MAX_MEMORY_USE" on page 681)

Length: 2Range: 1 - 99Default: 5

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

HTMLDICT

Page 701: Web Extensions V1200 Programming Guide En

682 May 2008

CCOpen parameters Parameters

JOB_BEFORE_KILL

By this parameter a command job can be defined, that is called with system() directly before the last running Dialog is canceled and the Web Graphical Service exits and restarts! Errors from the system call are not checked. The tool showbmp.exe can be used for displaying a message during the restart (start showbmp c:\\Protopas\\xyz.bmp TOPMOST).

Length: 128Range: alphanumericDefault: ""

JOB_AFTER_KILL

By this parameter a job can be defined, that is called when the Web Graphical Service is operational again and opened! Showbmp.exe may be stopped here (showbmp StopWaiting).

Length: 128Range: alphanumericDefault: ""

WEBEXT_VERSION

By this parameter you can control the behavior of the HTML Dialog Control. Depending on the type of error, different behavior will result for different architecture of the ProTopas/Web-Extensions.

Length: 1Range: 0 - Web-Extensions/ClassicLink

1 - Web-Extensions/HyperLink Version 1.02 - Web-Extensions/HyperLink since Version 1.1

Default: 0

WEBEXT_VERSION

0 1 2

MEMORY LEAK

KILL KILL KILL

EXCEPTION REBOOT REBOOT RESTART

LOCK REBOOT REBOOT REBOOT

Page 702: Web Extensions V1200 Programming Guide En

May 2008 683

Parameters CCOpen parameters

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

JOB_BEFORE_EXCEPTION

By this parameter a job can be defined, that is called when the Web Graphical Service has thrown an exception and HTML Dialog Control will restart/Reboot the system. This job can be used for displaying an image.

Length: 128Range: alphanumericDefault: ""

JOB_CHECK

This Parameter is only valid in Web-Extensions/HyperLink architecture. This Parameter specifies the time in ms after JOB_AFTER_XXX to check if both process ( JOB_BEFORE_XXX & JOB_AFTER_XXX ) are finished. If not, HTML Dialog Control tries to terminate those.

NOTE: There are two threads in HTML Dialog Control:

mem check - Checking for memory leaks

watch check - Checking for locks

Length: 8Range: 0 - 99999999Default: 5000

JOB_AFTER_EXCEPTION

By this parameter the Job before Exception can be stopped, f.e. Showbmp.exe may be stopped here (showbmp StopWaiting).

Length: 128Range: alphanumericDefault: ""

JOBS_KILL SYSTEM() PROCESS() PROCESS()

JOBS_EXCEPTION

NONE NONE PROCESS() ASYNC

WEBEXT_VERSION

0 1 2

Page 703: Web Extensions V1200 Programming Guide En

684 May 2008

CCOpen parameters Parameters

AT_KILL_PAUSE_BETWEEN_JOBS

This parameter defines a pause between the JOB_BEFORE_KILL and JOB_AFTER_KILL in milliseconds. It may be necessary to wait until a JOB_BEFORE_KILL is initialized.

(see also section ’JOB_BEFORE_KILL’ on page 682)(see also section ’JOB_AFTER_KILL’ on page 682)

Length: 6Range: 1-600000Default: 100

AT_EXCEPTION_PAUSE_BETWEEN_JOBS

This parameter defines a pause between the JOB_BEFORE_EXCEPTION and JOB_AFTER_EXCEPTION in milliseconds. It may be necessary to wait until a JOB_BEFORE_EXCEPTION is initialized.

(see also section ’JOB_BEFORE_EXCEPTION’ on page 683)(see also section ’JOB_AFTER_EXCEPTION’ on page 683)

Length: 6Range: 1-600000Default: 100

AT_KILL_APP_STOP

By this parameter the close procedure in the application can be switched on and off. The application itself has to handle the open and close mechanism. This is done via the Application Framework together with the Sync Framework normally.

Length: 5Range: FALSE - CloseCustomerService() from the Application

Framework is not calledTRUE - CloseCustomerService() from the Application

Framework is calledDefault: TRUE

Page 704: Web Extensions V1200 Programming Guide En

May 2008 685

Parameters CCOpen parameters

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

AT_KILL_APP_RESUME

By this parameter the open procedure in the application can be switched on and off. The application itself has to handle the open and close mechanism. This is done via the Application Framework together with the Sync Framework normally.

Length: 5Range: FALSE - OpenCustomerService() from the Application

Framework is not calledTRUE - OpenCustomerService() from the Application

Framework is calledDefault: TRUE

AT_KILL_GS_OPEN

By this parameter the Open() function of the Web Graphical Service can be called or not. It may be necessary not to open the Web Graphical Service in differnt situations (see also section ’Configuration of the start page’ on page 25). The best is to see and test, if an open is implemented in the Trans-action Framework.

Length: 5Range: FALSE - Open() from the Web Graphical Service is not

calledTRUE - Open() from the Web Graphical Service is

called.Default: TRUE

TIME_WAITFOR_RESTART_MEM

This parameter specifies the maximum time in ms, HTML Dialog Control waits for a restart of the Web Graphical Service, after the memory watch thread discovers a problem.

Length: 8Range: 0 -99999999Default: 120000

TIME_WAITFOR_RESTART_EXCEPTION

This parameter specifies the maximum time in ms, HTML Dialog Control waits for a restart of the Web Graphical Service, after the exception watch thread discovers a problem.

Page 705: Web Extensions V1200 Programming Guide En

686 May 2008

CCOpen parameters Parameters

Length: 8Range: 0 -99999999Default: 120000

TIME_WAITFOR_RESTART_THREADS

This parameter specifies the maximum time in seconds, HTML Dialog Control will wait for restart of the internal threads after restarting the Web Graphical Service.

NOTE: There are two threads in HTML Dialog Control:

mem check - Checking for memory leaks

watch check - Checking for locks

Length: 8Range: 0 -99999999Default: 120

TIME_SLEEP_WATCH

This parameter specifies the time in ms, the HTML Dialog Control repeats the check for the Reaction of the system.

Length: 8Range: 0 -99999999Default: 15000

TIME_MAX_WATCH_THREAD

To make sure, the WatchThread in HtmlDict itself can not hang (CCDialog hangs?!), the WatchThread is controlled by the Software Watchdog from FwLoad. The maximum time in ms of one run of the Watchdog is defined by this parameter. The Default calculation of this max time is: TIME_TRYAGAIN_WM +TIME_WAITFOR_WM + TIME_TRYAGAIN_TIMER + TIME_WAITFOR_TIMER second.

If this time is too short, because any other timeouts (like V.24 timeout of the Hardware) takes longer, the parameter can be set. So its value must be higher than: TIME_TRYAGAIN_WM +TIME_WAITFOR_WM + TIME_TRYAGAIN_TIMER + TIME_WAITFOR_TIMER.

Page 706: Web Extensions V1200 Programming Guide En

May 2008 687

Parameters CCOpen parameters

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 8Range: 0 -99999999Default: none

TIME_TRYAGAIN_INIT

This parameter specifies the time in ms for a pause, the HTML Dialog Control tries to call GetHWND the second time during initialization.

Length: 8Range: 0 -99999999Default: 15000

TIME_TRYAGAIN_WM

This parameter specifies the time in ms for a pause, the HTML Dialog Control tries to post a second Windows Message. It waits for the response of a Windows Message for a time specified in TIME_WAITFOR_WM.

(see also ’TIME_WAITFOR_WM’ on page 687)

Length: 8Range: 0 -99999999Default: 5000

TIME_WAITFOR_WM

This parameter specifies the time in ms, the HTML Dialog Control tries to wait for a Windows Message response.

(see also ’TIME_TRYAGAIN_WM’ on page 687)

Length: 8Range: 0 -99999999Default: 5000

TIME_TRYAGAIN_TIMER

This parameter specifies thesecond time in ms for a pause, the HTML Dialog Control tries to get a timer response.

Length: 8Range: 0 -99999999Default: 5000

Page 707: Web Extensions V1200 Programming Guide En

688 May 2008

CCOpen parameters Parameters

TIME_WAITFOR_TIMER

This parameter specifies the time in ms, the HTML Dialog Control waits for getting a timer.

(see also ’TIME_TRYAGAIN_TIMER’ on page 687)

Length: 8Range: 0 -99999999Default: 10000

RESTART_AT

By this new parameter the WebDialog can be restarted at a given time to get rid of memory leaks (GDI leaks).

Syntax: "HHMM", "0200"

Length: 4Range: 0000 -2359Default: -

POPUP_KILLER

This parameter activates the Auditoring of all popup windows of the system during the lifetime of the application. A file will be created, which keeps all Windows names. It will be created in the ProTopas/Web-Extensions TEMP Path (see also ’TempPath’ on page 618) with the name POPUP.TXT.

To store it in Unicode please refer to parameter POPUP_KILLER_FILE_UNICODE.

(see also ’POPUP_KILLER_TIME_SLEEP’ on page 689)

Length: 3Range: ON: Activate the popup window check

OFF: Deactivate the popup window checkDefault: OFF

POPUP_KILLER_FILE_UNICODE

This parameter specifies the format of the POPUP.TXT file with the name of all popup windows.

(see also ’POPUP_KILLER’ on page 688)

Page 708: Web Extensions V1200 Programming Guide En

May 2008 689

Parameters CCOpen parameters

© S

iem

ens

Nix

dor

f Inf

orm

atio

nss

yste

me

AG

199

5

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ions

\Do

cu\B

ook

\Use

rIn

terf

ace.

fm

Length: 3Range: YES: Store the file in Unicode

NO: Store the file in ANSIDefault: NO

POPUP_KILLER_TIME_SLEEP

This parameter specifies the time in milliseconds the thread for the inspection of the popup windows reactivates to check for new windows. It falls into sleep mode after this check until it is reactivated.

(see also ’POPUP_KILLER’ on page 688)

Length: 7Range: 1000 - 3600000Default: 5000

MAX_WEBEXTENSION_MEMORY_GROWTH

Amount of memory in megabytes showing how much memory may have been wasted until the Internet Explorer is shut down and restarted, in order to solve the memory leak of the Internet Explorer. This parameter is used by the HTML_DIALOG_CONTROL (HTMLDiCT.DLL).

If this parameter contains 30 and the start usage of menory is 50 MB the browser will be restarted, when 80 MB are reached.

This parameter is a successor of parameter MAX_MEMORY_USE.

(see also section ’Memory leak of the Internet Explorer’ on page 309).

Length: 5Range: 0 - 32768Default: 0

Page 709: Web Extensions V1200 Programming Guide En

690 May 2008

CCOpen parameters Parameters

Page 710: Web Extensions V1200 Programming Guide En

May 2008 691

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

ToolsIn this chapter several tools for the WebExtensions are explained.

WXCompressHTML tool

General idea

The general idea of this tool is to compress HTML-files generated with MS FrontPage. ActiveX elements generated with FrontPage are bigger in size than they need to, because FrontPage generates all default parameters of the elements into the HTML-source. The compressHTML tool will try to delete all unnecessary content in every HTML-file.

Installation

To install the necessary Parameter for this tool please call manually setup-tools.cmd in \ProTopas\Web\Tools\Conf. This will install the default parameter for the Web-Extensions with its default properties. Each Project has to adapt this Parameter List (see also section ’Configuring the compressHTML tool’ on page 693).

HTML

HTML-files are documents which a browser (like Internet Explorer) can read and interpret. Every HTML document consists of a special structure and every command is written into Tags (<>). A special form of a Tag is a comment which looks like <!-- -->.

A simple HTML structure

HTML documents consist of the following structure:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

<HTML>

<HEAD>

<TITLE>My first HTML document</TITLE>

Page 711: Web Extensions V1200 Programming Guide En

692 May 2008

WXCompressHTML tool Tools

</HEAD>

<BODY>

<P>Hello world!</P>

</BODY>

</HTML>

This is only a simple one, which should show the special HTML structure. HTML source is handled in several frames, one Tag opens the frame , e.g. <HTML>, and another one closes the frame, e.g. </HTML>. The slash in the second frame tells the interpreter to close the frame, which is opened by the first frame. The more complex a HTML-file is made, the more frames are used.

WebExtensions HTML

HTML pages are used by the WebExtensions for the Graphical User Interface (GUI). The following components are used:

ActiveX objects

WebBots

special purpose Tags like

<BASE ...>

<a ID="PC_GeneratedAnchor" ...></a>

<div ID="DISPLAY_CONTROLS_BLOCK" ...></div>

<!-- PC_HTMLGEN_RULE:PRINT_THIS -->

ActiveX objects

All ActiveX components of the WebExtensions have a common structure.

This is an Example of the ActiveStep control:

<object classid="clsid:47ED0993-B589-11D0-9302-0000E8A6CB06" id="ActiveStep1" width="100" height="50">

<param name="_Version" value="65536">

<param name="_ExtentX" value="2646">

<param name="_ExtentY" value="1323">

Page 712: Web Extensions V1200 Programming Guide En

May 2008 693

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

<param name="_StockProps" value="0">

<param name="StepParameter" value>

<param name="Framework" value>

</object>

The data in the first Tag configures the classid (the ActiveX object identifier), the id (DOM ID) and the position on the page (width, height). The properties of the ActiveX object are stored in the <param ...> Tags, where ’name’ describes the property name and ’value’ describes the property value. All default properties of the ActiveX objects are "known" by the object at runtime, so if there are no <param ...> Tags, default values would be used. This means all <param ...> TAGs of an unmodified ActiveX object could be deleted. This behaviour is exploited by the compressHTML tool.

The following ActiveX objects are used by the WebExtensions:

ActiveStep

ActiveVarFW

ActiveDataDictFW

ActiveRegistry

ActivePTSniff

WXPTBridge

PCContentsSTD or PCContentsATM

PCButton

PCEdit

PCEpp

PCList

and some other rare ActiveX components for testing purposes

Configuring the compressHTML tool

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

Page 713: Web Extensions V1200 Programming Guide En

694 May 2008

WXCompressHTML tool Tools

Registry key

The base key of the compressHTML tool is:

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionTools

WebExtensionsCompressHTML

??

Under this key you can find two subkey entries, Current and Data.

Current key

The entries in current key define the standard behaviour of the tool, e.g. the rules used or the initial opening path on startup.

The following entries are settled in the current key:

Registry Entry Type Default Value

WXVersion String 1.1/20

DeleteTextBetweenParamTagsInObjectTag dword 0

FileDialogOpenFilesReadBuffer dword 32768

FileDialogOpenFilesInitialDir String C:\Protopas\Web

FileDialogOpenFilesFilter String HTML (*.htm)|*.htm|HTML (*.html)|*.html||

FileDialogSaveProtocolInitialFilename String Compress.1

FileDialogSaveProtocolDefaultFilename-Extension

String *.prot

FileDialogSaveProtocolInitialDir String C:\ Temp\

FileDialogSaveProtocolFilter String PROTOCOL (*.prot)|*.prot||

FileDialogLoadListInitialDir String C:\ Temp\

Page 714: Web Extensions V1200 Programming Guide En

May 2008 695

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

WXVersion

Describes which set of rules will be used from Data key. This entry is mandatory!

Length: 32Range: alphanumericalDefault: 1.1/20

DeleteTextBetweenParamTagsInObjectTag

This entry configures whether text between two param TAGs in an object TAG should be deleted or not.

Length: 1Range: numerical [0-1]

0 = turns deleting text off1 = turns deleting text on

Default: 0

FileDialogOpenFilesReadBuffer

A size of the buffer for a multiple selection in a TCHARs for OpenFiles dialog.

Length:Range: numericalDefault: 32768

FileDialogLoadListFilter String FIELLIST (*.filel-ist)|*.filelist||

FileDialogLoadListDefaultFilenameExten-sion

String *.filelist

FileDialogLoadListInitialFilename String Compress.1

FileDialogSaveListInitialDir String C:\ Temp\

FileDialogSaveListFilter String FIELLIST (*.filel-ist)|*.filelist||

FileDialogSaveListDefaultFilenameExten-sion

String *.filelist

FileDialogSaveListInitialFilename String Compress.1

Registry Entry Type Default Value

Page 715: Web Extensions V1200 Programming Guide En

696 May 2008

WXCompressHTML tool Tools

FileDialogOpenFilesInitialDir

The initial directory for OpenFiles dialog will be configured here.

Length: 1024Range: alphanumericalDefault: C:\Protopas\Web

FileDialogOpenFilesFilter

This is a file filter in OpenFiles dialog. Only files with the specified extension (e.g. .htm) will be shown in the dialog window.

Length: 1024Range: alphanumericalDefault: HTML (*.htm)|*.htm|HTML (*.html)|*.html||

*InitialDir

The initial directories for OpenList, SaveList and SaveProtocoll dialogs will be configured here.

Length: 1024Range: alphanumericalDefault: C:\Temp

FileDialogSaveProtocolInitialFilename

The initial file name for SaveProtocoll which would be shown in the dialog at startup will be configured here.

Length: 1024Range: alphanumericalDefault: Compress.1

FileDialogSaveListInitialFilename

The initial file name for SaveList which would be shown in the dialog at startup will be configured here.

Length: 1024Range: alphanumericalDefault: Compress.1

Page 716: Web Extensions V1200 Programming Guide En

May 2008 697

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

FileDialogLoadListInitialFilename

The initial file names for OpenList which would be shown in the dialog at startup will be configured here.

Length: 1024Range: alphanumericalDefault: Compress.1

FileDialogSaveListDefaultFilenameExtension

Default file name extension for SaveList dialog.

Length: 1024Range: alphanumericalDefault: *.filelist

FileDialogLoadListDefaultFilenameExtension

Default file name extension for LoadList dialog.

Length: 1024Range: alphanumericalDefault: *.filelist

FileDialogSaveProtocolDefaultFilenameExtension

Default file name extension for SaveProtocol dialog.

Length: 1024Range: alphanumericalDefault: *.prot

FileDialogSaveProtocolFilter

The file filters for SaveProtocoll dialog will be configured here. Only files with the specified extension will be shown in the dialog window.

Length: 1024Range: alphanumericalDefault: PROTOCOL (*.prot)|*.prot||

FileDialogSaveListFilter

The file filters for SaveList dialog will be configured here. Only files with the specified extension will be shown in the dialog window.

Page 717: Web Extensions V1200 Programming Guide En

698 May 2008

WXCompressHTML tool Tools

Length: 1024Range: alphanumericalDefault: FIELLIST (*.filelist)|*.filelist||

FileDialogLoadListFilter

The file filters for OpenList, SaveList and SaveProtocoll dialogs will be configured here. Only files with the specified extension will be shown in the dialog window.

Length: 1024Range: alphanumericalDefault: FIELLIST (*.filelist)|*.filelist||

Data key

All rules for the compressing job will be configured in the data key. Several sets of rules can be configured there. A set consists of the set’s name key, the object identifier keys (clsid) and maybe of some dependencies. All rules of a special set are summarized under the set’s name key, e.g. 1.1/20 (for WebExtensions Version 1.1/release 20). Under the name key the object identifier subkeys are settled. The dependencies (if any) are settled under the special object identifier key.

Page 718: Web Extensions V1200 Programming Guide En

May 2008 699

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

Fig. 102: Default settings in the registry

This example should show the default set of rules. The set’s name key is 1.1/20, the object identifier keys are the classids of ActiveX objects of the WebExten-sions. The dependencies are configured in Dependency_Cancel, Dependency_PinEntry, etc.

The entries of rules for compressing data are settled in every object identifier key. The rules of dependency drop are settled in the special Dependency_* keys.

Page 719: Web Extensions V1200 Programming Guide En

700 May 2008

WXCompressHTML tool Tools

How to configure your own rules

All rules for compressing are set in the data key in the registry. To configure your own rules you have to decide either to configure your own set of rules or to extend an existing set of rules.

The name of the set of rules

If you want to configure your own set of rules you have to determine a name of the set and create a new subkey in the data section in the registry.

Example: myRuleSet

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionTools

WebExtensionsCompressHTML

DatamyRuleSet

Using the new rules

To force the tool to use the new rules you have to enter the name of the set of rules in the WXVersion parameter in the current key.

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionTools

WebExtensionsCompressHTML

Current"WXVersion = myRuleSet"

Page 720: Web Extensions V1200 Programming Guide En

May 2008 701

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

Configuring the used ActiveX objects

New subkeys in the Data\myRuleSet section must be created. The name of each of the subkeys must be the classid of the special ActiveX object which should be compressed, following called identifier key.

Example: ActiveStep

The classid of the ActiveStep is clsid:47ED0993-B589-11D0-9302-0000E8A6CB06, so the name of the identifier key is exactly the same.

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionTools

WebExtensionsCompressHTML

DatamyRuleSet

clsid:47ED0993-B589-11D0-9302-0000E8A6CB06

Configuring the compressing rules

The compressing rules must be configured for every ActiveX object. There are two different kinds of rules:

Normal drop: Normal drop is the standard way of compressing data. The rules of normal drop are settled in the object identifier key, e.g. for ActiveStep in the clsid:47ED0993-B589-11D0-9302-0000E8A6CB06 key. The normal drop rules are used mostly to drop the default parameters of every ActiveX object. There are two different kinds of dropping the content, DROP EXACT and DROP IF BEGIN WITH.

DROP EXACT is used to drop the content only if the whole term in the HTML file matches exact the term entered in the registry.Example: The rule in the registry looks like 01001 = <param name="Framework" value> and it is settled in the registry key of the ActiveStep (classid), then all terms which matches exact the term above and belong to the ActiveStep will be deleted, if the term in the HTML file looks like <param name="Framework" value="CCTransac-tionFW"> the whole term would not be deleted (see also the example below).

Page 721: Web Extensions V1200 Programming Guide En

702 May 2008

WXCompressHTML tool Tools

DROP IF BEGIN WITH is used to drop every content which begins with the term in the registry, the value is irrelevant.Example: The rule in the registry looks like 02001 = <param name="Framework" value>, then the term would also be deleted if its value does not match the term in the registry. Only the beginning of the term must match.

Dependency drop: In some cases a few parameters are related to each other. In these cases only one <param ...> TAG value can decide either to delete a block of TAGs or not. Dependency drop rules are settled in a subkey (determine a name) in the identifier key section.Example: The schemes of the PCButton are a good example. If a scheme is used the properties of the used images, font, font-size (etc.) are set in the special schemes, so all <param ...> TAGs which describe these attributes of the schemes could be deleted if a scheme is used.

All entries in the identifier key are string values. Their names consist of a 5 digit keycode with the format XX YYY. XX is the value of the command and YYY is the value of its description. The following codes are possible:

The command value 00 is only for dependency drop use. You have to use both of them, if you want to configure a dependency drop. First you have to use the code 00 001 and the Condition type (if 0, if not 0, if string or if not string), then the code 00 002 and the condition value. If the Condition type is if not string additional condition to match the right row (<param ...>) for Condition value check should be used in 00 003! The following entries (must begin with 01 or 02) are the entries of param TAGs which should be deleted if the condition set before is true. If the command codes 01 or 02 are used the next 3 digits are only the serial number of each parameter. The value is irrelevant as long as there are no equal entries in the same registry key!

Example of a dependency drop rule:

XX YYY Command

00 001 Condition type (if 0, if not 0, if string, if not string)

00 002 Condition value

00 003 Row Condition value for if not string

01 001-999 Drop exact

02 001-999 Drop if begin with

Page 722: Web Extensions V1200 Programming Guide En

May 2008 703

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionTools

WebExtensionsCompressHTML

Data1.1/20

clsid:CAE3F5B3-93D3-11D0-A3C0-00C095ECC157

Scheme_new_m

In this example all <param ...> TAGs, which are determined by a scheme, are deleted if the scheme "new_m" is used by the ActiveX object (in this case the PCButton).

Example of a dependency drop rule using if not string:

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionTools

WebExtensionsCompressHTML

Data

Registry entries Values

00001 if string

00002 <param name="Scheme" value="new_m">

02001 <param name="ImageDown"

02002 <param name="ImageUp"

02003 <param name="ImagePressed"

... ...

Page 723: Web Extensions V1200 Programming Guide En

704 May 2008

WXCompressHTML tool Tools

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

A3C0-00C095ECC157RadioButton

In this example <param name="RadioButtonName"...> TAG will be deleted if the Selection is not "3".

NOTE: 00003 is used only with if not string condition. It act like IF BEGIN WITH to select right row for Condition check!

Registry entries Values

00001 if not string

00002 <param name="Selection" value="3">

00003 <param name="Selection"

02002 <param name="RadioButtonName"

Page 724: Web Extensions V1200 Programming Guide En

May 2008 705

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

Examples of compressed components

The following examples should show how the compressHTML tool will work. The rules used are the 1.1/20 rules.

ActiveStep

OBJECT:

clsid:47ED0993-B589-11D0-9302-0000E8A6CB06

NOTE: The classid of the object is very important! Every ActiveX object can be recognized by it’s classid. The compressHTML tool then only deletes the param TAGs according to the correspondent ActiveX object.

Sourcecode before compressing with compressHTML tool:

<object classid="clsid:47ED0993-B589-11D0-9302-0000E8A6CB06" id="ActiveStep1" width="100" height="50">

<param name="_Version" value="65536">

<param name="_ExtentX" value="2646">

<param name="_ExtentY" value="1323">

<param name="_StockProps" value="0">

<param name="StepParameter" value>

<param name="Framework" value>

</object>

Compressed sourcecode:

<object classid="clsid:47ED0993-B589-11D0-9302-0000E8A6CB06" id="ActiveStep1" width="100" height="50">

</object>

Dropped sourcecode:

<param name="_Version"*

<param name="_ExtentX"*

<param name="_ExtentY"*

<param name="_StockProps"*

Page 725: Web Extensions V1200 Programming Guide En

706 May 2008

WXCompressHTML tool Tools

<param name="StepParameter" value>

<param name="Framework" value>

Dependency drops: none

PCContentsSTD

OBJECT:

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

Sourcecode before compressing:

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

<param name="_cx" value="2646"><param name="_cy" value="2646"><param name="PageHeadline" value><param name="SubmitControlName" value><param name="WithoutSubmitButton" value="0"><param name="PageInstruction" value><param name="PageBeep" value="4"><param name="PageTimeout" value><param name="TimeoutStdHref" value><param name="TimeoutStdWindow" value="0"><param name="TimeoutQuestionHref" value><param name="TimeoutQuestionWindow" value="0"><param name="AfterTimeoutHref" value><param name="AfterTimeoutWindow" value="0"><param name="TimeoutWindowTop" value="-16000"><param name="TimeoutWindowLeft" value="-16000"><param name="TimeoutWindowWidth" value="-16000"><param name="TimeoutWindowHeight" value="-16000"><param name="CancelStdHref" value><param name="CancelStdWindow" value="0"><param name="CancelQuestionHref" value><param name="CancelQuestionWindow" value="0"><param name="CancelWindowTop" value="-16000">

Page 726: Web Extensions V1200 Programming Guide En

May 2008 707

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

<param name="CancelWindowLeft" value="-16000"><param name="CancelWindowWidth" value="-16000"><param name="CancelWindowHeight" value="-16000"><param name="FunctionKeyID01" value><param name="FunctionKeyID02" value><param name="FunctionKeyID03" value><param name="FunctionKeyID04" value><param name="FunctionKeyID05" value><param name="FunctionKeyID06" value><param name="FunctionKeyID07" value><param name="FunctionKeyID08" value><param name="FunctionKeyID09" value><param name="FunctionKeyID10" value><param name="FunctionKeyID11" value><param name="FunctionKeyID12" value><param name="FunctionKeyID13" value><param name="FunctionKeyID14" value><param name="FunctionKeyID15" value><param name="FunctionKeyID16" value><param name="FunctionKeyID17" value><param name="FunctionKeyID18" value><param name="FunctionKeyID19" value><param name="FunctionKeyID20" value><param name="HtmlOrStepAfterFlag" value="0"><param name="FunctionKeyViewState" value="33333333333333333333"><param name="HtmlWindow" value="00000000000000000000"><param name="StepAfterHtmlWindow" value="00000000000000000000"><param name="StepStartHtmlWindow" value="00000000000000000000"><param name="StepAfter" value><param name="StepAfterHtml00" value><param name="StepAfterHtml01" value><param name="StepAfterHtml02" value><param name="StepAfterHtml03" value><param name="StepAfterHtml04" value><param name="StepAfterHtml05" value><param name="StepAfterHtml06" value><param name="StepAfterHtml07" value><param name="StepAfterHtml08" value><param name="StepAfterHtml09" value>

Page 727: Web Extensions V1200 Programming Guide En

708 May 2008

WXCompressHTML tool Tools

<param name="StepAfterHtml10" value><param name="StepAfterHtml11" value><param name="StepAfterHtml12" value><param name="StepAfterHtml13" value><param name="StepAfterHtml14" value><param name="StepAfterHtml15" value><param name="StepAfterHtml16" value><param name="StepAfterHtml17" value><param name="StepAfterHtml18" value><param name="StepAfterHtml19" value><param name="HtmlAfter01" value><param name="HtmlAfter02" value><param name="HtmlAfter03" value><param name="HtmlAfter04" value><param name="HtmlAfter05" value><param name="HtmlAfter06" value><param name="HtmlAfter07" value><param name="HtmlAfter08" value><param name="HtmlAfter09" value><param name="HtmlAfter10" value><param name="HtmlAfter11" value><param name="HtmlAfter12" value><param name="HtmlAfter13" value><param name="HtmlAfter14" value><param name="HtmlAfter15" value><param name="HtmlAfter16" value><param name="HtmlAfter17" value><param name="HtmlAfter18" value><param name="HtmlAfter19" value><param name="HtmlAfter20" value><param name="StepStart" value><param name="StepStartSoftkeysAllowed" value="0"><param name="StepStartHtml00" value><param name="StepStartHtml01" value><param name="StepStartHtml02" value><param name="StepStartHtml03" value><param name="StepStartHtml04" value><param name="StepStartHtml05" value><param name="StepStartHtml06" value><param name="StepStartHtml07" value><param name="StepStartHtml08" value><param name="StepStartHtml09" value>

Page 728: Web Extensions V1200 Programming Guide En

May 2008 709

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

<param name="StepStartHtml10" value><param name="StepStartHtml11" value><param name="StepStartHtml12" value><param name="StepStartHtml13" value><param name="StepStartHtml14" value><param name="StepStartHtml15" value><param name="StepStartHtml16" value><param name="StepStartHtml17" value><param name="StepStartHtml18" value><param name="StepStartHtml19" value><param name="TimeoutDefault" value="0"><param name="CancelDefault" value="0"><param name="NewWindowTop" value="54"><param name="NewWindowLeft" value="44"><param name="NewWindowWidth" value="712"><param name="NewWindowHeight" value="260"><param name="PinEntry" value="7"><param name="EPPConfigActiveFDK" value="0"><param name="EPPConfigActiveFK" value="0"><param name="EPPConfigTerminateFDK" value="0"><param name="EPPConfigTerminateFK" value="0"><param name="EPPConfigValue_FK_Decpoint" value><param name="EPPConfigValue_FK_res1" value><param name="EPPConfigValue_FK_sub" value="*"><param name="EPP_OK_Href" value><param name="EPP_NOK_Href" value><param name="StepStartParam" value><param name="StepAfterParam" value><param name="InstanceReturn" value><param name="ADACommand" value>

</object>

Compressed sourcecode:

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

</object>

Page 729: Web Extensions V1200 Programming Guide En

710 May 2008

WXCompressHTML tool Tools

Dropped sourcecode:

all <param ...> TAGs

Dependency drops:

IF NOT 0

<param name="CancelDefault" value="

DROP

<param name="CancelStdHref"*<param name="CancelStdWindow"*<param name="CancelQuestionHref"*<param name="CancelQuestionWindow"*<param name="CancelWindowTop"*<param name="CancelWindowLeft"*<param name="CancelWindowWidth"*<param name="CancelWindowHeight"*

The rules for this dependency drop could be found in

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionTools

WebExtensionsCompressHTML

Data1.1/20

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

Dependency_Cancel

00001

This is the condition type of the dependency drop.

Length: 1024Range: alphanumericalDefault: if not 0

Page 730: Web Extensions V1200 Programming Guide En

May 2008 711

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

00002

This is the condition value. In this case the value of the specific param must not be 0. The string must be entered up to the first quotation mark after the ’value=’. The condition is true if the value is not 0 or not empty.

Length: 1024Range: alphanumericalDefault: <param name="CancelDefault" value="

02nnn

All following parameters entered in the same key will be deleted if the condition before is true. Therefore the ’Drop if begin’ rule is the best way to do so.

The tool in action

Starting dialog

Fig. 103: At startup

At startup you have the following options:

File(s): Select one or more files. The initial directory is set in the registry.

Page 731: Web Extensions V1200 Programming Guide En

712 May 2008

WXCompressHTML tool Tools

Clear file(s): All selected files will be deleted from the list.

Load list: Loads a saved list of files.

Save list: Creates a list of all selected files and saves it.

Select all: Selects all files shown in the window.

Deselect all: Deselects all files shown in the window.

Compress: This button starts the compress dialog.

Compress dialog

Fig. 104: Compress; Do it!

In the compress dialog you have the following options:

Do it!: This button starts the compressing job. All files selected in the starting dialog would be compressed if no error occurs. The compressed files have a new file ending .new to preserve the original files. The rules for compressing the files are set in the registry. To rename all *.new files to its original file names use DOS command: rename *.htm.new *.htm

Page 732: Web Extensions V1200 Programming Guide En

May 2008 713

Tools WXCompressHTML tool

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

Save protocol: The output shown in the dialog would be saved to a special protocol file. Rules for the protocol are set in the registry.

Exit: Exits the Compress dialog.

Error handling

The compressHTML tool can handle some errors.

Possible error values are:

Value Error description

-1 general error

-2 file is empty

-3 file is not HTML conform

-100 general exception

-101 file exception

Page 733: Web Extensions V1200 Programming Guide En

714 May 2008

WXCompressHTML tool Tools

Fig. 105: Example of an error

Page 734: Web Extensions V1200 Programming Guide En

May 2008 715

Tools Pagelogger

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

Note what caused the error:

Fig. 106: Error file

The error was caused by a missing comment end tag! in the script!

Pagelogger

This tool is used for tracking the flow of a Web-Extensions/HyperLink appli-cation. It journals all HTML pages and all step entries and exits with the corre-sponding return values. In a separate configuration file data dictionary properties may be configured. These are logged together with the HTML pages as well as memory information (another option). Finally this tool may be configured to run automatically and to simulate a user in front of the application. In case of error situations a script file may be used to save log data. So this tool may be used to perform a long term test.

Page 735: Web Extensions V1200 Programming Guide En

716 May 2008

Pagelogger Tools

Installation

To install the necessary parameter for this tool please call manually setup-pagelogger.cmd in \ProTopas\Web\Tools\Conf. This will install the default parameter and configuration files for Pagelogger with its default properties and copies the file PageLogger.dll from \ProTopas\Web\Tools to \ProTopas\Bin.

Please make sure, that the application is installed prior to the instal-lation of Pagelogger, otherwise the Repository entries from PageLogger will be overridden by the installation of the application. PageLogger creates overlays of the Data Dictionary FW and CCTransaction FW and these must be written as last entries in these parameters.

As soon as PageLogger is installed it will start logging. To switch it off, please remove manually the calls to the PageLogger.dll under the keys:

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

CurrentVersionCCRepMgr

FRM_RepositoryCCDatDicCCTransactionFW

Please remove ;C:\ProTopas\BIN\PageLogger.dll from these parameters.

Configuration

The configuration of PageLogger has to be done manually in the registry. The parameter are not supervised by Parac. An explanation of all parameter will be found in this chapter.

HKEY_LOCAL-MACHINESOFTWARE

Wincor NixdorfProTopas

Page 736: Web Extensions V1200 Programming Guide En

May 2008 717

Tools Pagelogger

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

CurrentVersionCCOpen

PageLogger

Trace_File

This parameter specifies the path and name of the log file of PageLogger

(see also section ’The log file’ on page 720).

Length: 256Range: Alphanumerical

Path to PageLoggers log file.Default: C:\ProTopas\PageLogger\PageLogger.trc

Prop_File

This parameter contains a filename and path, which lists all data dictionary properties to be logged at the end of a step. The properties must be added - each line a parameter - in this file. Array properties may be entered as well, each array element on a separate line, e.g.

Arrayelement[0]Arrayelement[1]PropertyX

(see also section ’The property file’ on page 721)

Length: 256Range: Alphanumerical

Path to PageLoggers property fileDefault: C:\ProTopas\PageLogger\PageLogger.prp

Memcheck

This parameter specifies if memory data shall be logged at each entry in the log file.

(see also section ’The log file’ on page 720)

Length: 5Range: Alphanumerical

TRUE = Logging of Memory data is enabled. So at each Log entrythree memory values a written into the Log.

FALSE = Logging of Memory data is disabled.Default: FALSE

Page 737: Web Extensions V1200 Programming Guide En

718 May 2008

Pagelogger Tools

Script_Handling

With this parameter you can switch the script handling on or off.

Length: 5Range: Alphanumerical

TRUE = Script handling is enabledFALSE = Script handling is disabled

Default: FALSE

Script_File

This parameter contains a filename prefix and path for the script file. This is used for automatic testing. If more than one script shall be used, the parameter Num_Scripts (see also section ’Num_Scripts’ on page 718) contains the number of script files to use. Each script file begins with the filename prefix from this parameter, is enhanced by a number (starting from 1) and has the extension .scr, e.g. Pagelogger1.scr, Pagelogger2.scr.

If Num_Scripts is 1, the number after the filename prefix will be omitted,e.g. Pagelogger.scr.

Remark: This filename must not have an extension. This is automatically added (.scr) (see also section ’Script file name’ on page 722).

Length: 256Range: Alphanumerical

Path to PageLoggers script file(s)Default: C:\ProTopas\PageLogger\PageLogger

Num_Scripts

This parameter contains the number of script files for automatic testing. This parameter is used to build the filename of the scriptfile together with the parameter Script_File (see also section ’Script_File’ on page 718).

(see also section ’Script file name’ on page 722)

Length: 3Range: Numerical

1 - 999Default: 1

Page 738: Web Extensions V1200 Programming Guide En

May 2008 719

Tools Pagelogger

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

Init_Page

The HTML name (without extension .htm) specified in this parameter is set as the starting point for the script files for the automatic test. The first script file starts and ends here and if the parameter Random (see also section ’Random’ on page 719) is not set to TRUE, after a waiting time specified in parameter Time_Between_Transactions (see also section ’Time_Between_Transactions’ on page 719) the next script file will start here as well. After the last scriptfile has passed the first scriptfile will restart, and so on.

Remark: The extension.htm must be omitted in this parameter.

Length: 256Range: Alphanumerical

Name of a HTML fileDefault: basidleloop

Random

This parameter specifies if the number of script files shall be started one after each other starting with script number 1 or if the script shall be started randomly.

Length: 5Range: Alphanumerical

TRUE = Scripts shall run randomlyFALSE = Script shall run in sequential order

Default: FALSE

Time_Between_Transactions

This parameter specifies the time in ms to wait after one script file is finished and the next (or the same) shall be started.

Length: 40Range: Numerical

Time to wait between script files in msDefault: 10000

Error_Pages

The HTML name of error pages (without extensions .htm), divided by the | sign, may be edited in this parameter. If one of these files has been passed during automatic test the script from parameter Error_Action (see also section ’Error_Action’ on page 720) is started.

Page 739: Web Extensions V1200 Programming Guide En

720 May 2008

Pagelogger Tools

Length: 1024Range: Alphanumerical

Name or names of HTML file(s) divided by | Default: baserror

Error_Action

This parameter specifies a command file to be started, if one of the error pages (see also section ’Error_Pages’ on page 719) has been passed during the automatic test.

Length: 256Range: Alphanumerical

Name and path of a script file for the error action Default: C:\protopas\pagelogger\copy_error.cmd

LOG_MFC

This parameter specifies, if additionaly inforamtion should be written into the log file. These information are used by the tool ScriptGen.exe (see also section ’ScriptGen.exe’ on page 726) to build script files automatically.

Length: 1Range: 0 - Do not write log information into Tracefile for automatic

generation of script file1 - write log information into Tracefile for automatic generation ofscript file

Default: 0

The log file

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

Page 740: Web Extensions V1200 Programming Guide En

May 2008 721

Tools Pagelogger

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

An entry for the HTML page log with memory entry will look as follows:

11:55:53.28 <00000478> <00089448> <00091763>--> HTML : C:\PROTOPAS\Web\English\basselection.htm

There are 3 memory values (in <> brackets), which are posted when the parameter Memcheck is set to TRUE. They have the following meaning:

1. This counter is incremented for each UtiMalloc and decremented for each UtiFree. To make sure that there is no memory leak this counter should not grow.

2. This value returns the number of actual allocated bytes.

3. This value returns the maximum amount of allocated bytes.

An entry for a step (start and exit with return value) will look as follows:

11:55:49.88 <00000447> <00088373> <00090634>Step : BAS_CHECK_SELECTION()

11:55:49.88 <00000447> <00088373> <00090688>Return: BAS_CHECK_SELECTION --> 2

If there are internal steps called from inside a step those are listed as well. Every step, which is called by ProcessStepAsync or ProcessStep using the ProTopas Bus will be listed.

An entry for a property will like like this:

11:55:49.88 CCTAFW_PROP_TRANSACTION_STATUS[0] = <0>

The index [0] will be added even if the property is not part of an array!

Please remark: The log entries for the properties will be shown above the log entry of the step return. However, the data is read from the data dictionary after the step has finished.

The property file

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

Page 741: Web Extensions V1200 Programming Guide En

722 May 2008

Pagelogger Tools

Arrayelement[0]Arrayelement[1]PropertyXPropertyY

The property file is interpreted each time the page from parameter Init_Page (see also section ’Init_Page’ on page 719) is passed, that means it is possible to change the property file even during runtime.

An example property file will have been copied into C:\ProTopas\Pagel-ogger with the name PageLogger.prp by the installation.

The script file

The script file can be configured to to perform actions automatically, what normally an user would have to do on MFCinput in order to run a transaction. It simulates key presses on MFCInput, which can be configured to run when a specified page is loaded.

Script file name

The name of the script file starts with the prefix, which is configured in the parameter Script_File (see also section ’Script_File’ on page 718). If only one script file shall be used, please use .scr as extension. If more than one script file shall be used this has to be configured in parameter Num_Scripts (see also section ’Num_Scripts’ on page 718). The name of the script file have to be

Prefix from Script_File + consecutive number + .scr

pagelogger1.scrpagelogger2.scrpagelogger3.scr...until it reaches the number from Num_Scripts.

The aim behind having more than one script file is that the script file may change by random or sequential. The starting point of the script is configured in Init_Page (see also section ’Init_Page’ on page 719). If the parameter Random (see also section ’Random’ on page 719) is set to TRUE, at this starting point a random script file out of the range of Num_Scripts will be started. If Random is set to FALSE, the new script file will be started at of sequence, restarting with the script file 1 after the last script file has been executed.

Page 742: Web Extensions V1200 Programming Guide En

May 2008 723

Tools Pagelogger

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

Before a new script file starts the parameter Time_Between_Transactions (see also section ’Time_Between_Transactions’ on page 719) specifies the time in ms to wait for the start of the new script.

An example script file will have been copied into C:\ProTopas\Pagelogger with the name PageLogger.scr by the installation.

Syntax of the script file

A script file lists line by line all commands it has to perform on the MFCInput in order to run any transaction, starting with the command to leave the page configured in Init_Page.

Each line starts with the page name without extension on which the action must be performed, followed by a numerical value, which stands for the action itself. All other entries are optional: The sleeping time in ms before the action is started, a command file to be started after the page and finally a command file to be started when the page is loaded. All entries have to be separated by a | sign. Please make sure to add all separators in each line, even if the contents of any entry may be left empty:

page name | action | sleep | command to do after page (on next page) | command to do when page starts

Examples:

basidleloop|128|8000||

baspinentry4|1,2,3,4|1000||

basselection|38|1000||

The action can be one of these numerical values or the keyword RANDOM:

Action Define Meaning

0 0 Key 0

1 1 Key 1

2 2 Key 2

3 3 Key 3

4 4 Key 4

5 5 Key 5

6 6 Key 6

7 7 Key 7

Page 743: Web Extensions V1200 Programming Guide En

724 May 2008

Pagelogger Tools

8 8 Key 8

9 9 Key 9

10 ASTERIX Key *

11 CROSS Key #

20 CONFIRM Functionkey Enter

21 CANCEL Funktionkey Cancel

22 CLEAR Funktionkey Correct

23 HELP Functionkey Help

24 PRINT not used

31 SUPERVISOR Functionkey Supervisor

33 F1 Softkey F1

34 F2 Softkey F2

35 F3 Softkey F3

36 F4 Softkey F4

37 F5 Softkey F5

38 F6 Softkey F6

39 F7 Softkey F7

40 F8 Softkey F8

128 INSERT_CARD Functionkey Card inserted

129 TAKE_CARD Functionkey Card taken

130 TAKE_MONEY Functionkey Money taken

131 TAKE_DOC Functionkey Doc taken

132 INSERT_ENV Functionkey Env. inserted

133 TAKE_ENV Functionkey Env. taken

134 INSERT_PBK Functionkey Passbook entry

Action Define Meaning

Page 744: Web Extensions V1200 Programming Guide En

May 2008 725

Tools Pagelogger

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook\

Too

ls.f

m

All actions can be combined by separating two actions with a comma.

Please note that all buttons positions have to be entered as shown in the MFCInput control panel.F1 F5F2 F5F3 F7F4 F8

Action RANDOM[Min,Max,Modulo,SEP]: This action might be used to generate an action at random. Min and Max define the upper and lower value, which may be generated. Modulo tells by which value the generated entry must be divisable. SEP is a bool flag (TRUE, FALSE) which specifies if the separator sign shall be used during entering the values and may be specified optionally. This means for a ramdom Softkey press you have to specify RANDOM[33,40,1], for an amount entry which must be between 10 and 400 in Steps of 10 it is RANDOM[10,400,10,TRUE].

The sleeping time may be used to add a little amount of time before the action is performed. This makes it more realistic to real live, where the user needs a small amount of time, before he inserts his card or inserts any numerical value, etc.

The two command files may be used to save any trace data, for example.

Error Page action

By use of the parameter Error_Pages (see also section ’Error_Pages’ on page 719) pages may be configured, which may not be edited in a script file. Here the general error pages may be entered. It may be that any software (or even HW) error occurs. In this case the trace, journal and error file may be stored with a timestamp in a command file, which has to be entered in parameter Error_Action (see also section ’Error_Action’ on page 720).

135 TAKE_PBK Functionkey Passbook taken

RAMDOM[Min,Max,Modulo,SEP]

RANDOM The entry is generated at ramdom

Action Define Meaning

Page 745: Web Extensions V1200 Programming Guide En

726 May 2008

Pagelogger Tools

ScriptGen.exe

If the parameter LOG_MFC (see also section ’LOG_MFC’ on page 720) has been set to 1, there are additional information written into the log file. ScriptGen-exe may use those information to build the script file automati-cally.

ScriptGen is using a command line for its parametrization. The following syntax has to be used:

ScriptGen.exe <input file> -s [page] -w nnn -t [file]-O <page> <script> -A <page> <script>

– parameters in [ ] brackets are optional

– parameters in < > brackets are mandatory

<input file> specifies the trace file. Make sure, that the additional infor-mation are available in this file (Parameter LOG_MFC = 1)

-s [page]: This parameter specifies the name of the init page, which is the activation point for pagelogger. If the page name is omitted basidleloop.htm is used.

-w nnn: nnn speficies the amount of time in ms to wait on the init page until the script is activated. The default is 1000, which is 1 second.

-t [file]: This is the name for the output script file. The default would be pagelogger.scr.

-O <page> <script>: This parameter specifies the name of a script to be started on a page. The parameter is optional, but when it is used the page name and script name are mandatory. This parameter can be specified more than once.

-A <page> <script>: This parameter specifies the name of a script to be started after a page. The parameter is optional, but when it is used the page name and script name are mandatory. This parameter can be specified more than once.

After the script file has been built it has to be checked, if everything is arranged like it should. It can be modified and extended by own scriptcode as well.

Page 746: Web Extensions V1200 Programming Guide En

May 2008 727

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Web

Ext

Ab

kuer

zung

en.

fm

AbbreviationsANSI American National Standards Institute: The character set used in

Windows is based on an ANSI standard.

AVI Format for movie files that can be displayed in the Internet Explorer.

BMP Bit map: A pixel image format which is frequently used in Windows environments.

BOF Basic Operating Functions: Operating system extension for self-service devices. It incorporates drivers for controlling peripheral devices.

CIM86 Card Identification Module 86: Security module for checking whether ec or customer cards have been tampered with.

EPP Encrypted PIN Pad: Keyboard for entering the PIN on a self-service device. The EPP is also a secure repository for keys to encrypt the PIN.

EXT Extended Functionality: Operating extension for self-service devices. It incorporates drivers for controlling third-party peripheral devices.

FW Framework: ProTopas component incorporating a self-contained function.

GIF Format for image files. This is the most frequently used format. Moving pictures can also be stored in this format.

HTML Hypertext Markup Language: Language to describe Internet pages. A page described with HTML elements can be displayed in any browser.

HTTP Hypertext Transport Protocol: Interface protocol to exchange HTML pages between servers and terminal devices.

ID Identification. Often used in conjunction with the ID card. It describes a card which uniquely identifies the customer.

Page 747: Web Extensions V1200 Programming Guide En

728 May 2008

Abbreviations

IDCU ID card unit: Device to read customer and ec cards.

ISO International Organization for Standardization: An international association of member countries, each of which is represented by its leading standard-setting organization.

JPEG Format for image files that is frequently used on the Internet. These files are compressed but cannot contain transparent images or moving pictures.

LAN Local Area Network: Network of PCs and other computers within buildings or campuses.

MODID Module Identification: Description of the version and date of files from ProTopas/Web-Extensions.

MOV Movie: File format for storing movies. This format can be displayed in the Internet Explorer.

ND97 Nixdorf printer 97: Forms printer for statements of account and large-format receipts. This printer has two paper feeds, and can retract documents that have not been removed.

ND99 Nixdorf printer 99: Printer for small-format receipts. The paper is in rolls.

ODBC Open Data Base Connection: Standardized protocol to access any databases in Windows systems.

OFX Open Financial Exchange: Protocol for the international exchange of data between home PCs and financial institutions’ computers. The protocol is geared to the HTML page description language.

PIN Personal Identification Number: Secret number that the customer has to input as a security precaution for ec or customer cards.

PMP ProConnect Message Protocol: Proprietary protocol for exchanging data between self-service devices and the ProConnect server.

SFP Security Facility Package: Operating system extension for self-service devices. It incorporates drivers for controlling security modules such as the Encrypted PIN Pad.

Page 748: Web Extensions V1200 Programming Guide En

May 2008 729

Abbreviations

© S

iem

ens

Nix

dorf

Inf

orm

atio

nss

yste

me

AG

199

5 P

fad:

d:\

Pro

Topa

s\W

eb-E

xte

nsio

ns\

Do

cu\B

ook

\Web

Ext

Ab

kuer

zung

en.

fm

SOP Service and Operating: Functions to monitor and refill/empty paper/cash/cards on self-service devices.

SQL Structured Query Language: Language to access database elements.

TCP/IP Transmission Control Protocol/Internet Protocol: A suite of protocols used to transport data over the Internet.

URL Uniform Resource Locator: Address at which an HTML page can be found.

WAN Wide Area Network: Network of computers not in the same building or campus.

WAV File format for storing audio data that has not been recorded digitally.

CEN/XFS Windows Open System Architecture/Extensions for Financial Services: Standard interface for addressing peripheral hardware in self-service devices under Windows NT: Programs which address hardware via this interface can run on devices of manufacturers who support this interface.

WYSIWYG What You See Is What You Get: Data that is displayed on screen in an editor appears as it will later in a printout.

Page 749: Web Extensions V1200 Programming Guide En

730 May 2008

Abbreviations

Page 750: Web Extensions V1200 Programming Guide En

May 2008 731

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\W

ebE

xtF

achw

ort.f

m

GlossaryActive VarFW control

Control which permits access to the Variable Framework. Data can be read or stored there with the aid of this control. The control is used in conjunction with HTML page scripts.

AllowList

Positive list in which all HTML pages are specified that can be displayed on the self-service device.

AllowList control

Control which monitors the AllowList. This control cannot be edited in Microsoft FrontPage.

application Framework

ProTopas framework which handles synchronization between the Trans-action, Host Protocol and Service Frameworks.

Array

Data structure which can hold a certain number of data items.

Business module

ProTopas Transaction Framework module which is also called a Step. The business functionality of the application and access to the hardware is handled in these modules.

Browser

Module to display HTML pages. Microsoft’s Internet Explorer is used as the browser in ProTopas/Web-Extensions.

Button control

Control to represent a button on the screen. The optical appearance and the link for this button can be edited.

Cascaded style sheet

A description file defined for Internet pages which permits the elements on an Internet page to be positioned with pixel accuracy.

Page 751: Web Extensions V1200 Programming Guide En

732 May 2008

Glossary

Check Framework

ProTopas Framework in which input checks have been implemented for ProTopas/Web-Extensions.

Contents STD/ATM control

Control in which access to business modules is parameterized and in which the appearance of function keys is described. The Contents ATM control also controls the input sequence and synchronizes the other ProTopas/Web-Extensions controls.

Context frame

Arrangement of the screen to load individual Internet pages. The main frame, in which the events of the application have been implemented, is called the Context frame.

Control

Independent component which incorporates a self-contained function and can be controlled or queried from outside.

Data Dictionary Framework

ProTopas framework which can be parameterized to manage the storage location of variables. Every ProTopas framework can read and set data via the Data Dictionary, and thus does not have to deal with the storage location of the data.

Default values

Basic settings that are used by default if nothing else is specified. Changing these default values results in a change to all modules which have been set to these values.

Device Framework

ProTopas framework which controls the hardware.

Dialog Framework

ProTopas framework which displays the user interface. The Dialog Framework has been implemented as a browser in ProTopas/Web-Exten-sions.

Page 752: Web Extensions V1200 Programming Guide En

May 2008 733

Glossary

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\W

ebE

xtF

achw

ort.f

m

Dynamic HTML

Method of representing moving contents on an HTML page with the aid of scripts.

Edit control

Control to represent input fields. The appearance of this control can be freely designed. Standard input checks can be used, or new ones added.

Input status variable

Variable containing the status of an input field. This status indicates whether the input has already been checked or whether the check still needs to be carried out.

Input timeout

A value that can be set to ensure that the application returns to its original state if a customer leaves the device in the middle of a function.

Encrypted PIN Pad

Keyboard to input the personal identification number. This hardware also ensures that the PIN is encrypted immediately and is never sent in the clear over any line.

EPP control

Control that outputs asterisks when the PIN is input. An asterisk is displayed as a result of an event.

Error log

File in which errors are recorded. This file is written cyclically. The size of the file can be defined.

Retry counter

The retry counter indicates how often the customer has already input the PIN incorrectly. The retry counter can have the values 3, 2, 1 and 0. Whenever the PIN is entered incorrectly, the retry counter is reduced by 1. If the retry counter does not have a status of 3, 2, 1 or 0, the card has been tampered with.

Field ID

Numbering of controls on an HTML page. Each control on an HTML page must have a different field ID so that it can be addressed.

Page 753: Web Extensions V1200 Programming Guide En

734 May 2008

Glossary

Firewall

Firewalls are programs which restrict access to HTML pages by way of parameterization.

Focus

Displaying the cursor for input purposes. Only the input field which has the focus can accept a keyboard input.

Font

A set of characters of the same typeface, size and style.

Frame

Arrangement of screen contents in small HTML pages. Each frame can hold an HTML page.

Frameset

HTML page describing the arrangement of the screen in frames.

Framework

Module which incorporates a self-contained function and can thus be regarded as an independent unit. Frameworks can, however, call each other in any sequence.

Host protocol

Description of the interface between the data on the host computer and the data on the terminal device.

Host server

ProConnect software component which implements a connection between the server and a host.

Host variables

Variables that are needed for further processing Steps and are provided by the host. Examples include the customer’s limit or the number of purpose lines that the host can receive.

HTMLGen control

This control of the HTML generator prepares HTML pages with data that is provided on the self-service device at runtime only, such as account details. This control cannot be edited in Microsoft FrontPage.

Page 754: Web Extensions V1200 Programming Guide En

May 2008 735

Glossary

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\W

ebE

xtF

achw

ort.f

m

Icon

Symbol illustrating a function to make it easier to recognize.

Images

Graphics for controls

Instance

Multiple opening of a program. It is used to distinguish the main screen of the browser from additional browser windows.

ISO protocol

Standard protocol to authorize transactions from self-service devices.

List control

Control which is comparable with Windows list boxes to represent a choice of items. The selection is displayed via an HTML page.

Offline detection

Detection that the connection to the Internet server is no longer ready to transport data.

Offline mode

Switching to a set of HTML files that are installed on the terminal device. These are used to return the card to the customer and display the "Out of service" message.

PCBrowser control

Module to display the Internet Explorer window. This control cannot be edited in Microsoft FrontPage.

PCDialog Framework

Control with a connection to ProTopas frameworks which, in turn, incor-porate the PCView control.

PCView control

Control which incorporates the HTML generator, the AllowList control and the PCBrowser control.

Page 755: Web Extensions V1200 Programming Guide En

736 May 2008

Glossary

Popup window

A window holding a new HTML page which overlays the previously displayed HTML page.

Property

Parameter for a control that can be edited with Microsoft FrontPage.

Registry

Windows database in which the parameters for all programs, and accord-ingly those of ProTopas/Web-Extensions, are stored.

Remote access

Access to a remote computer via a network.

Return codes

Values that are returned by functions and modules to indicate how the program code was executed.

Service Framework

ProTopas framework which synchronizes access to the Service and Operating program.

Script Framework

ProTopas framework which is only used with ProTopas/Web-Extensions. It is used in other ProTopas environments to parameterize the flow of business modules.

Scripting

Programming on HTML pages. Special programming languages have been developed for this (Visual Basic Script and Java Script).

Step

Business Transaction Framework module, also called a business module.

Style guide

An institution’s guide to presenting its image externally. Self-service devices should also adhere to this layout.

Page 756: Web Extensions V1200 Programming Guide En

May 2008 737

Glossary

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

Web

-Ext

ens

ion

s\D

ocu\

Boo

k\W

ebE

xtF

achw

ort.f

m

Style sheet

See "".

Softkey

Key next to the screen of a self-service device which is used to control a transaction if no touchscreen has been installed.

SOP switch

Button which starts the Service and Operating program. This button is hidden inside the self-service device.

Suffix

The end of a file name, also called extension, to indicate that the file belongs to a particular program.

Transaction Framework

ProTopas framework which incorporates the business modules and can be addressed by the Contents and ActiveStep controls.

Variable Framework

ProTopas framework which can hold and return data as containers. The variables are addressed via names. Variables can also be deleted in the Variable Framework.

Viewstate variable

A variable which is used to set the state of a control to visible, hidden or disabled.

WebBot

Component that can be integrated into Microsoft FrontPage to edit variables with the ProTopas/Web-Extensions syntax in the FrontPage editor.

CEN/XFS SSP interface

Interface for vendor-independent access to peripheral devices of the self-service system. These include the card reader, Encrypted PIN Pad, special electronics, various printers, cash dispenser and scanner.

Page 757: Web Extensions V1200 Programming Guide En

738 May 2008

Glossary

Page 758: Web Extensions V1200 Programming Guide En

May 2008 739

© S

iem

ens

Nix

dor

f In

form

atio

nssy

stem

e A

G 1

995

P

fad:

d:\P

roTo

pas\

Web

-Ext

ensi

ons

\Do

cu\B

ook

\We

bExt

Lite

ratu

r.fm

DocumentationPlease contact your local branch office to order documentation.

[1] Wincor NixdorfProTopas Programming Guide

[2] MicrosoftWindows NT Online Help

[3] Wincor NixdorfProTopas/Web-ExtensionsTutorial ATM HyperLink

Page 759: Web Extensions V1200 Programming Guide En

740 May 2008

Documentation

Page 760: Web Extensions V1200 Programming Guide En

May 2008 741

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\W

ebE

xtA

VZ

.fm

FiguresFig. 1: Web-Extensions/ExtraLink . . . . . . . . . . . . . . . . . . 16

Fig. 2: Web-Extensions/ClassicLink . . . . . . . . . . . . . . . . . 17

Fig. 3: Web-Extensions/HyperLink . . . . . . . . . . . . . . . . . . 18

Fig. 4: Contents STD control - Access to hardware modules . . . . 40

Fig. 5: General architecture of ProTopas/Web-Extensions . . . . . 49

Fig. 6: Framework relationship of a ProTopas application . . . . . . 51

Fig. 7: Host Protocol Framework . . . . . . . . . . . . . . . . . . 53

Fig. 8: Flow of control via ProTopas modules . . . . . . . . . . . . 54

Fig. 9: Showing Internet pages from the application . . . . . . . . . 55

Fig. 10: Placement of function keys . . . . . . . . . . . . . . . . . . 65

Fig. 11: Placement of selection buttons . . . . . . . . . . . . . . . . 66

Fig. 12: Placement of menu buttons . . . . . . . . . . . . . . . . . 67

Fig. 13: Placement of the Contents (STD/ATM) control . . . . . . . . 69

Fig. 14: Arrangement of the screen in frames . . . . . . . . . . . . 72

Fig. 15: Controls based on a style sheet . . . . . . . . . . . . . . . 75

Fig. 16: Button control - General 1 page . . . . . . . . . . . . . . . 81

Fig. 17: Menu button to call more information . . . . . . . . . . . . 81

Fig. 18: Help function key . . . . . . . . . . . . . . . . . . . . . . . 82

Fig. 19: Selection button for an amount in DM . . . . . . . . . . . . 82

Fig. 20: Radio buttons to select DEM or EUR . . . . . . . . . . . . 82

Fig. 21: Button control - General 2 page for function keys . . . . . . 85

Fig. 22: Positions of the softkeys . . . . . . . . . . . . . . . . . . . 86

Fig. 23: Button control - General 2 page for selection buttons . . . . 91

Fig. 24: Input of coordinates for the new window . . . . . . . . . . . 93

Page 761: Web Extensions V1200 Programming Guide En

742 May 2008

Figures

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

Fig. 26: Button control - General 2 page for radio buttons . . . . . . 97

Fig. 27: Button control - General 3 page . . . . . . . . . . . . . . . 98

Fig. 28: Button control - Caption page . . . . . . . . . . . . . . . . 101

Fig. 29: Standard colour dialog . . . . . . . . . . . . . . . . . . . . 103

Fig. 30: Standard font dialog . . . . . . . . . . . . . . . . . . . . . 104

Fig. 31: Button control - Graphic page . . . . . . . . . . . . . . . . 105

Fig. 32: Button control - Icon page . . . . . . . . . . . . . . . . . . 108

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

Fig. 34: Edit control - General 2 page . . . . . . . . . . . . . . . . 126

Fig. 35: Edit control - General 3 page . . . . . . . . . . . . . . . . 128

Fig. 36: Edit control - Headline page . . . . . . . . . . . . . . . . . 129

Fig. 37: Edit control - Graphic page . . . . . . . . . . . . . . . . . 130

Fig. 38: Edit control - Input page . . . . . . . . . . . . . . . . . . . 132

Fig. 39: Edit control - Direct format . . . . . . . . . . . . . . . . . . 135

Fig. 40: Edit control - Icon page . . . . . . . . . . . . . . . . . . . 138

Fig. 41: Edit control - Not allowed character page . . . . . . . . . . 139

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

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

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

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

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

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

Fig. 48: List controls - not active . . . . . . . . . . . . . . . . . . . 168

Fig. 49: List control - ’Paying turn’ - active . . . . . . . . . . . . . . 168

Fig. 50: List control - General 1 page . . . . . . . . . . . . . . . . 169

Page 762: Web Extensions V1200 Programming Guide En

May 2008 743

Figures

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\W

ebE

xtA

VZ

.fm

Fig. 51: List control - General 2 page . . . . . . . . . . . . . . . . . 173

Fig. 52: Listcontrol - General 3 page . . . . . . . . . . . . . . . . . 175

Fig. 53: List control - Headline page . . . . . . . . . . . . . . . . . 176

Fig. 54: List control - Graphic page . . . . . . . . . . . . . . . . . . 177

Fig. 55: List control - Output page . . . . . . . . . . . . . . . . . . 178

Fig. 56: List control - Icon page . . . . . . . . . . . . . . . . . . . . 180

Fig. 57: EPP control - General page . . . . . . . . . . . . . . . . . 196

Fig. 58: EPP control - Input page . . . . . . . . . . . . . . . . . . . 197

Fig. 59: Contents ATM control - General page . . . . . . . . . . . . 199

Fig. 60: Contents ATM control - ADA configuration panel . . . . . . 202

Fig. 61: Contents ATM control - Functionkeys page . . . . . . . . . 207

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

Fig. 63: Contents ATM control - EPP Keys page . . . . . . . . . . . 209

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

Fig. 65: Contents ATM control - EPP Keys Page (Pin input) . . . . . 210

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

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

Fig. 68: Contents ATM control - EPP Keys conf. (Keycode change) . 213

Fig. 69: Contents ATM control - Confirm page . . . . . . . . . . . . 215

Fig. 70: Contents STD control - General page . . . . . . . . . . . . 228

Fig. 71: Contents STD control - Timeout page . . . . . . . . . . . . 230

Fig. 72: Timeout confirmation question . . . . . . . . . . . . . . . . 231

Fig. 73: Timeout message . . . . . . . . . . . . . . . . . . . . . . 231

Fig. 74: Contents STD control - Cancel page . . . . . . . . . . . . . 234

Fig. 75: Cancellation confirmation question . . . . . . . . . . . . . . 235

Fig. 76: Cancellation message . . . . . . . . . . . . . . . . . . . . 235

Page 763: Web Extensions V1200 Programming Guide En

744 May 2008

Figures

Fig. 77: Contents STD control - Function key page (hidden) . . . . 237

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

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

Fig. 80: Contents STD control - EPP Keys page . . . . . . . . . . . 240

Fig. 81: Contents STD control - EPP Keys Page (Automatic) . . . . 241

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

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

Fig. 84: Contents STD control - EPP Keys conf. (Active Keys) . . . 244

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

Fig. 86: Contents STD control - EPP Keys conf. (Keycode change) . 245

Fig. 87: Contents STD control - Access to application . . . . . . . . 247

Fig. 88: Contents STD control - Step After page . . . . . . . . . . . 248

Fig. 89: Contents STD control - Step page . . . . . . . . . . . . . . 250

Fig. 90: Contents STD control - Instance return page . . . . . . . . 251

Fig. 91: Unicode - Data flow . . . . . . . . . . . . . . . . . . . . . 276

Fig. 92: Architecture of the Web Graphical Service . . . . . . . . . 280

Fig. 93: HTML generator . . . . . . . . . . . . . . . . . . . . . . . 283

Fig. 94: Inserting a variable by means of WebBot . . . . . . . . . . 285

Fig. 95: AllowList . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

Fig. 96: Alphanumeric check . . . . . . . . . . . . . . . . . . . . . 427

Fig. 97: Numeric check . . . . . . . . . . . . . . . . . . . . . . . . 428

Fig. 98: Date check . . . . . . . . . . . . . . . . . . . . . . . . . . 429

Fig. 99: Amount check . . . . . . . . . . . . . . . . . . . . . . . . 431

Fig. 100: Amount check formatting . . . . . . . . . . . . . . . . . . 433

Fig. 101: Positions of the softkeys . . . . . . . . . . . . . . . . . . . 586

Fig. 102: Default settings in the registry . . . . . . . . . . . . . . . . 699

Page 764: Web Extensions V1200 Programming Guide En

May 2008 745

Figures

© S

iem

ens

Nix

dorf

Info

rmat

ion

ssys

tem

e A

G 1

995

Pfa

d: d

:\P

roTo

pas\

We

b-E

xten

sion

s\D

ocu\

Boo

k\W

ebE

xtA

VZ

.fm

Fig. 103: At startup . . . . . . . . . . . . . . . . . . . . . . . . . . . 711

Fig. 104: Compress; Do it! . . . . . . . . . . . . . . . . . . . . . . . 712

Fig. 105: Example of an error . . . . . . . . . . . . . . . . . . . . . 714

Fig. 106: Error file . . . . . . . . . . . . . . . . . . . . . . . . . . . 715

Page 765: Web Extensions V1200 Programming Guide En

746 May 2008

Figures

Page 766: Web Extensions V1200 Programming Guide En

May 2008 747

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

Index

1-to-1 marketing 1

Aabout

SNI_CANCELSURFING 451Access violations 452Account information transaction 53Active DataDict control 489

Reading a variable 490Setting a variable 490

Active VarFW control 307, 488Reading a long variable 489Reading a string variable 489Setting a long variable 489Setting a string variable 489

ActiveStep control 40, 268ActiveX control 634AfterTimeout 43AllowList 33, 292

DOMAIN 294GENERATE 294, 449INSERTION 295OBJECT 294OPTIONAL 4, 295, 301, 302PORT 294SUFFIX 294TIMER 295, 449

AmountCurrency exponent 432

Anchor 32Animation 53, 62, 70

Dynamic HTML 63GIF 63Loop 62

ApplicationAccess 247Design 59Flow of control 54Home page 295Response times 79

Application Framework 52Architecture 49ATM_ABS_NAV 35ATM_TOP_NAV 36Audio 63Authorization 81

BBackground 61Basic colours 102, 134Beep 199, 228

At end of input 128At input of not allowed

character 139At start of page 199, 228At start of page/timeout 199, 228At timeout 199, 228Default 200, 229No beep 199, 228

Bit maps 62Browser instance 93, 208, 238

Closing 93, 271Coordinates 93

Browser windowClosing 75

Business moduleCancellation 45Return code 83

ButtonCaption 41Confirmation 127Field ID 86Hiding 46Parameter 413, 423Round 80Showing 46State 84, 107Toggle 83Toggle lock 107, 207, 237Travel 64Type 81

Page 767: Web Extensions V1200 Programming Guide En

748 May 2008

Index

Button control 54, 64, 80, 651Caption 101Caption page 101General 1 page 81General 2 page

Function keys 85Menu buttons 94Radio buttons 97Selection buttons 91

Graphic page 105Icon page 107Scripting interfaces 465

CCancel situations 635Cancellation

Cancel question 234Cancellation message 235, 272Confirmation question 272Coordinates 236Default 235Function key 235HTML page 236

Cancellation window 234Caption 122, 199

Add layer button 101Colour for active button 102Colour for inactive button 103Default font size 105Font size 104Input field for colour 102Multiple lines 101, 178New lines 101Position 103Remove layer button 101Shift 84Shifting 64Text layer Listbox 101X pos 103

Left, Centered, Right 103Y pos 103

Centered 104Card reader 50Cascaded style sheets 73

CCDialogFW.GetInputString 335Cell

Aligning elements 73Minimum size 73

CEN/XFS 49, 50Character to be replaced 421Character width 63Check Framework 342, 412, 435

Check() 122, 125, 133, 413, 424, 443

Dialog() 412, 423, 439Format() 282, 412, 423, 441LookForLottery() 445Return codes 424, 437Trace and error logging 447Windows dialog 423

Check parameters 122Check routines 412

Message 126Numbers 412

Chip 96Click() 32CLOSE.HTM 29, 43, 272Close-Popup-Window 29, 43Colour depth 60, 61Colours

Active buttonDefault 102

Colour changes 61Colour depth 61Green 60Red 60Selective use 60Striking 60Yellow 60

Components 49Business 50Main components 52ProTopas 50Standard 50Technical 50

ConfigurationCaption of menu button 594Error Counter variables 589

Page 768: Web Extensions V1200 Programming Guide En

May 2008 749

Index

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

Frameworkname of the actual Web Dialog 595

Identification of menu button 594Input field 588Link of menu button 594Maximum number of characters

variables 590Number of entered

characters 592Repository Manager 585Restart Manager 583Selected item of PCList

Control 591Softkeys 586Status variable 589Termination key code 592Unformatted input field 588Value of button 592, 593VAR_LANGUAGE_S 590VAR_OFFLINE_WEBNAME_S

590VAR_WEBNAME_S 590Variable at scanner errors 591Variable for current Internet page

name 595Variable

VAR_OFFLINE_HTML_NAME_S 591

Variables 588Viewstate variable 589Web path 590

Confirmation button 127Contents (STD/ATM) control 69, 419

Field sequence control 69Positioning 69Tasks 69

Contents ATM control 198, 419, 635Administrative information 198Confirm key list box 215Confirm page 215EPP Keys page 208Functionkeys page 206General page 199Scripting interfaces 456

Contents STD control 226Administrative information 227Cancel page 234Confirm key list box 229EPP Keys page 239Function key page 236General page 228Instance return page 251Step After page 246Step page 250Timeout page 230

Context frame 65Continue without Confirm key 215,

229, 417Continuous text 71, 73Contrast 59Controls 10, 18, 77

Active DataDict control 490Active VarFW control 488ActiveStep control 54AllowList control 280Appearance 64Button control 54Defaults 79Edit control 54EPP control 54Graphics resolution 78Hiding by a Viewstate

variable 274HTMLGen control 280Images for 61List control 54PCBrowser control 280PCView control 281Round 62Standard 77States 79Synchronization 54

Conversion of umlauts 133Coordinates

Height 94Width 94X pos 94Y pos 94

Page 769: Web Extensions V1200 Programming Guide En

750 May 2008

Index

Corporate design 59Correction 67Correction message 68, 424, 425

Structure of page 29, 43Correction pages 271CSC-W32 50, 56, 57

Drivers 50Currency exponent 432Cursor 67, 131, 418

Hiding 305Cursor position at the end 128Customer database 2Customer identification 67Customer projects 50

DDare

TO 429Data Dictionary 32, 490Data Dictionary Control 32Data Dictionary Framework 52, 342,

489Database query 170Date

Days until earliest date 429Days until latest date 429FROM 429Limit 429, 430Long date (language-

specific) 430Short date (language-

specific) 430Decimal places 433Design workstation 56Desktop resolution 61Device faults 50Device types

ProCash 55ProConsult 55ProInfo 55ProPrint 55

DialogDynamic 30

Dialog Framework 281, 322, 342

CCDialogFW.CancelDialog 332CCDialogFW.ChangeLanguage

333CCDialogFW.Close 327CCDialogFW.DoDialog 329CCDialogFW.DoDialogAsync 33

1CCDialogFW.GetbStatus 328CCDialogFW.GetInputLength 33

6CCDialogFW.GetInputString 335CCDialogFW.GetTerminateChar

337CCDialogFW.InitParms 334CCDialogFW.Open 326PCDialogFW.ChangeLanguage

346, 350, 351, 352PCDialogFW.Format 346PCDialogFW.GetFWName 350,

351, 352Dialog names 16Direct format

Character transformation 136Lowercase 136None 136Uppercase 136

Clear all 137Permitted characters 137

All 137Alpha characters 137Numeric characters 137

Pre-allocation 136Currency symbol 136Date separator 136Decimal symbol 136Digit grouping symbol 136None 136Time separator 136

Special 137Amount Entry DDC 137

Visible 136Always 136At input 136

Writeable 135

Page 770: Web Extensions V1200 Programming Guide En

May 2008 751

Index

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

No 136Yes 136

Directory_vti_bot 286bots 287Language-specific 305SNI_PC_VARIABLE 286, 287Temporary 282

Drivers 50DTA character set 427Dynamic HTML 63, 455

EEase of use 60Edit control 64, 122, 411, 423, 657

General 1 page 122General 2 page 126General 3 page 128Graphic page 129Headline page 129Icon page 138Input page 131Not allowed character page 138Property

CheckDependencies 423CheckParameter 423

Scripting interfaces 468Edit control (PIN input)

General 1 page 139General 2 page 140General 3 page 141Graphic page 142Headline page 141Icon page 144Input page 143Not allowed character page 145

Elements of navigation 64Elements of the user interface 10Encrypted PIN Pad 50, 56EPP 2, 50EPP control 195

Caption 196Colour 196Default 196

Font 196, 197Font colour 197Image 196Input orientation 197Input page 197Input position 197Position 196

EPP Framework 342EPP keypad 2EPP Keys

Automatic 209, 240Continue with HTML page 243EPP error HTML page 241EPP Keys configuration 242No input 209, 240Normal input 209, 240Pin input 209, 240

EPP Keys configuration 211, 244*-Key 246,-Key 246Active Keys 244Keycode change 245Replacement Sign 246Terminating Keys 244

Error and diagnostics concept 50External Internet pages

Configuration 449

FField 63, 68Field ID

Range 86Field sequence control 198, 226,

416Field size 64File

Allowlist 280Multimedia 63SNI_PC_Variable.dll 286, 287SNI_PC_Variable.inf 286, 287Style sheet 73Suffix 294

FILE accesses 293Firewall 293

Page 771: Web Extensions V1200 Programming Guide En

752 May 2008

Index

FLAG_NAVINACTIVEPAGE 302Focus 75, 124, 170, 416Font 63Font formatting 128, 174, 200, 229Font size 63, 132Format

AVI 63GIF 78JPEG 78MOV 63WAV 63

Formatting 282Amount 288Changing language-specific 308Date 288Language-specific 281, 308Settings 288Time 288

Formatting settings 288Frame 71, 82

Function key bars 71Nesting 72Size 71

Frame technique 71Frameset 69, 71, 295

Changing 306, 307Changing at runtime 72Overlaying the entire screen 307Screen layout 72

FrameworkApplication Framework 52Check Framework 411Data Dictionary Framework 52Dialog Framework 281Host Protocol Framework 52,

281Low-level frameworks 52PCDialog framework 281Script Framework 55Service Framework 52Transaction Framework 52Variable Framework 455

Free-format mask 284Full-screen mode 279

Function key 46, 64, 82, 198, 227, 450Back 65Cancel 65Caption 72Confirm 65Confirmation 229Coordinates 208, 238Correct 65Disabled 207, 237Fixed meaning 87Forward 65Help 65, 127Help HTML page 208Hidden 207, 237HTML page 238ID 86, 88Pressed 207, 237Print 65State selection 207Step after button 238Up 207, 237Value 85, 87

CANCEL 89CONFIRM 88CONFIRMALL 88CORRECT 88HELP 89SURFING_BACK 89SURFING_CANCEL 89, 451SURFING_DOWN 89SURFING_FORWARD 89SURFING_LEFT 90SURFING_RIGHT 90SURFING_UP 89

Function key bar 71Function key page 237Function keys

Positioning 65Functionkeys page 207

GGeneral menu

Value 42

Page 772: Web Extensions V1200 Programming Guide En

May 2008 753

Index

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

Graphical Service 279, 597Dialog 27Starting 303

Graphics program 61Group of radio buttons 97, 98, 168

HHardware

Access 40, 247Alphanumeric keyboard 56Encrypted PIN Pad 56Network card 56Pentium PC 56Softkeys 56Sound card 56Touchscreen 56

Header 69, 199, 228Assigning text 41

Help 59Context-sensitive 28, 59, 127

Help pages 271HelpTimeout 640High Level Graphical Service 583High Level GS CCDialog 16Home page 41, 303Host interface

Authorization request 43Command 43

Host Protocol Framework 52, 269HTML editors 73HTML generator 32, 53, 101, 280,

281, 294, 430, 623HTML page

Access restriction 292Address 282Ascertaining the name 47Body 282External to the product 449Overlay 75Temporary 280

HTTP accesses 293

IIcon 59, 70

For the active button 108For the active page

Input field 108For the disabled button 108

Input field 109On button 70Pixel X position 109

Centered 109Pixel Y position 109

Centered 109Scripting 70Setting 70Shift 84

IDObject ID 73

Identification 41, 67Default 96Mandatory with card and PIN 96With card 96With card and PIN 96With chipcard 96Without 96

ImageButton disabled 107

Default 107Input field 107

Button downDefault 106Input field 106

Button pressed 107Default 107Input field 107

Button up 105, 106Default 106Input field 106

Display at editing workstation 106

For input fields 67Formats 61Language-specific 305Pixel 62Size 60

Image element

Page 773: Web Extensions V1200 Programming Guide En

754 May 2008

Index

Positioning in the Context frame 73

Image format 61Animated GIF 62BMP 61GIF 61, 62JPEG 61Windows bit map 61

Image pathRelative 106

In a new window 271In new window 75, 93, 126, 127,

172, 208, 232, 236, 238, 249, 425Increment 428Information service 42

General menu 42Levels 42

Initialization 52, 303Input

Confirmation 417List box

Error 126Input attempts 426

Initialization 426Variable name 426

Input check 68, 88, 411Alphanumeric 427

Minimum number of characters 427

Amount 431Check against limit 432Currency exponent 433Decimal places 433Decimal separator 434Group separator 434Grouping 434Maximum (unformatted) 432Minimum (unformatted) 432Number of input attempts 433Other formats 433Output formats acc. to HTML

generator settings 433Date 429

Check against limit 430

Compulsory input 430Date format 430Days until earliest date 429Days until latest date 430Default value 429Period in the Past 430

Numeric 428Increment 428Maximum 428Minimum 428

Input check dialog 427Input correction 418Input field 28, 43, 67, 282

Beep at end of input 128Checking 125Confirmation 127Cursor position at the end 128Default value 412Dependent 419, 425DF (Direct Format) 134Don’t display preliminary

input 133Error list box 423Field name 124Font 137

Default 137Font colour for active 134

Default 134Font colour for inactive 134Font colour for inactive (disabled)

Default 134Function 123HTML page for Help 127

Coordinates 127Initialization 29, 123Label 67Maximum characters 128Message

Coordinates 126HTML page 126

Operating hint 128, 174Parameter button 125Range 68Sequence number 124

Page 774: Web Extensions V1200 Programming Guide En

May 2008 755

Index

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

Shift in pixels 127Default 127

Softkey 124State 127, 131

Hidden 127Up 127

Input field disabled 131Default 131

Input field pressed 131Default 131

Input field up 130Default 130

Input focus 124, 170, 416, 426Input length

Maximum 428Input limits 132

Maximum characters 132Maximum lines 133

Input orientation 132Centered 132Left-justified 132Right-justified 132

Input range 133Default 133Height 133Width 133X position 133Y position 133

Input sequence 68Input status variable 415, 425

Default value 424Initialization value 421Notation 415Status 419Unformatted 424

Input timeout 124Input variable 125, 413

Formatted 413, 424Initialization 414Notation 413Unformatted 413

Installation 579Instance 271Instance return

Add 251New 251Remove 251Return code 251Target FRAME 252

_new 252_parent 252_self 252_top 252

URL 252Interactive Internet applications 15Internet 295Internet browser 279

Components 279Intervention in navigation 279

Internet ExplorerPlugin 63

Internet pages 53Displaying 449Other products 20

Internet presence 60Internet solution 19Internet technology 60Internet user interface 10Intranet 295Intranet pages 89Intranet server 53, 280

KKey

Backspace 418Confirmation 416, 422Correct 418Cursor down 416Cursor up 416Enter 127, 417Return 422Tab 416Tab+Shift 416

Key disk 580

LLanguage

Changing 72, 306

Page 775: Web Extensions V1200 Programming Guide En

756 May 2008

Index

Creating a new 308Standard language 305

Language selection 281, 288, 305, 306

Layout 307Line problem 53, 300Link

Changing at runtime 47List box 54, 68

Items 68List control 64, 167, 665

Coordinates 172Field name 170Function 169General 1 page 169General 2 page 173General 3 page 174General page 196Graphic page 177Headline page 176HTML page 170Icon page 180Operating hint 174Output 178

Centered 179Colour active 178Colour inactive 178Default 179Font 179Left-justified 179New line 178Right-justified 179X position 178Y position 179

Output page 178Output range 171

Syntax 171Scripting interfaces 471Sequence number 170Shift in pixels 174

Default 174State 173

Disabled 173Hidden 173

Up 173Logo 70, 72

MMacro 32Maintenance 50Menu 40, 81

Assigning a header 42Disabling contents 42General menu 42Level 42Maximum range 43Pages 43Step 41Variable 42

Menu button 20, 40, 46, 67, 81Disabling 43Enabling 43Identification 96Positioning 67Value 42

Microsoft ActiveX technology 77Microsoft Browser control 279Microsoft FrontPage 10, 57, 71, 106,

283, 286, 287Personal Web Server 286

Microsoft GIF Animator 62Microsoft Internet Explorer 53, 56,

279, 515Multimedia 63

Sound 63Video 63

Multimedia user interface 10

NNavigation

Elements 64Navigation button bar 33, 449, 450

No display 450New line 128Normal input 417, 418Not allowed character 139

Page 776: Web Extensions V1200 Programming Guide En

May 2008 757

Index

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

OOffline state

Recognition 281Operating

Reliability 59Operating hint 59, 69, 72, 122, 128,

174, 200, 229, 417operating hint 67Overlay

Context-sensitive Help 75Correction messages 75Position and size 75

PParameter

SchemeAudioResponse 674Icon 674IconAlignX 673IconAlignY 674IconDisabled 674IconXCentered 673IconYCentered 673ImageDisabled 673ImageDown 673ImagePressed 673ImageUp 673InputAlignX 678InputAlignY 678InputAreaDefault 678InputBold 680InputColour 680InputColourDisabled 680InputFont 679InputFontCodePage 679InputFontDefault 679InputHeight 679InputItalic 680InputSize 679InputStrikeout 680InputUnderline 680InputWidth 679PressOffset 674TextLayerActiveColourDefault

677TextLayerCount 675TextLayerFont 676TextLayerFontCodePage 677TextLayerFontDefault 676TextLayerInactiveColourDefaul

t 678TextLayerPosXYDefault 675TextLayerTextAlignX 676TextLayerTextAlignXTyp 676TextLayerTextAlignY 676TextLayerTextBold 677TextLayerTextColour 678TextLayerTextColourDisabled

678TextLayerTextItalic 677TextLayerTextSize 677TextLayerTextStrikeout 677TextLayerTextUnderline 677TextLayerYCentered 676

ParametersAccessViolationURL 452, 607ActivePageURL 621ADA 599ADAActionOnStart 599ADAEchoButton 633ADAEchoEdit 633ADAEchoEPP 634ADALanguage 630ADAMacroActiveKeys 634ADAMacroEchoKeys 634ADATextEditContent 633ADATextEditHint 633ADATextPageContent 632ADATextPageHint 631ADATextPageKeys 632ADATextPageMenu 631ADATimeoutExt 599AfterTimeoutHref 232, 638AfterTimeoutWindow 232, 638AllowList 614AllowOverride 624AnimationTimer 79, 652

Page 777: Web Extensions V1200 Programming Guide En

758 May 2008

Index

AT_EXCEPTION_PAUSE_BETWEEN_JOBS 684

AT_KILL_APP_RESUME 685AT_KILL_APP_STOP 684AT_KILL_GS_OPEN 685AT_KILL_PAUSE_BETWEEN_JO

BS 684AudioResonse 651, 657, 665AutomaticEPPConfigForAllButton

s 650BeepDefault 641Beepdefault 200, 229BringWindowToTop 300, 622ButtonInstallation 652CancelHref 236, 635CancelQuestionHref 236, 636CancelQuestionWindow 236,

636CancelWindow 236, 635CancelWindowHeigh 637CancelWindowLeft 236, 636CancelWindowTop 236, 636CancelWindowWidth 236, 637CheckMem 605CheckMEMmax 606CheckWND 605CheckWNDmax 605ConfigPageURL 293, 615CurrCurrencySymbol 625CurrDecimalSep 625CurrGrouping 625CurrGroupSep 625CurrLeadingZero 625CurrNegativeOrder 626CurrNumDigits 626CurrPositiveOrder 626CurrServerValueOffset 627CursorEnable 305, 604, 615DefaultLanguage 619DeleteInputFieldsWithEmptyString

650DoDialogTimer 600DoDialogTimerPageTimerExtend

600

DontWaitForPCContentsOnCancelDialog 621

DontWaitForPCContentsOnOpen621

EmptyPageURL 620EPPRTC 599ErrorURL 296, 449, 619FrontPageImagePath 106, 635Height 313, 602HoldPressedState 83, 656HRef 313, 318, 358, 602, 604HttpsBlankPage 649Identification 96, 656ImageDisabled 107, 131, 653,

658, 666ImageDown 106, 652ImagePressed 107, 131, 653,

658, 666ImageUp 106, 130, 652, 658,

665InputAlignX 133, 179, 662, 670InputAlignY 133, 179, 662, 670InputBold 137, 663, 671InputColour 134, 662, 669InputColourDisabled 134, 662,

670InputFont 137, 661, 669InputHeight 133, 663InputItalic 137, 663, 671InputSize 137, 662, 669InputStrikeout 137, 664, 671InputTimeoutHalf 664InputUnderline 137, 663, 671InputWidth 133, 663InputXCentred 179, 670InputYCentred 179, 670InternetModeCursorEnable 615JOB_AFTER_EXCEPTION 683JOB_AFTER_KILL 682JOB_BEFORE_EXCEPTION 68

3JOB_BEFORE_KILL 682JOB_CHECK 683KillHardWAIT 606

Page 778: Web Extensions V1200 Programming Guide En

May 2008 759

Index

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

Language 623Left 602LOGBufferSize 320, 598LOGFilePath 320, 598LOGFileSize 320, 598LOGOn 597LongDateFormat 627MarketingAllowFocus 606MAX_MEMORY_USE 681MAX_MEMORY_USE_MINUTES

681MAX_WEBEXTENSION_MEMOR

Y_GROWTH 689MAXonStart 603MaxOnStart 603MessageDLGHeight 451, 612MessageDLGWidth 451, 612MINonEnd 603MInOnEnd 603Multilang 624NCREppInit 649NewImmediateTimeout 650NumDecimalSep 627NumGrouping 627NumGroupSep 628NumLeadingZero 628NumNegativeOrder 628NumNumDigets 628OfflineFallback 622OfflineMonitorTimer 622OfflineURL 300, 619POPUP_KILLER 688POPUP_KILLER_FILE_UNICOD

E 688POPUP_KILLER_TIME_SLEEP

689Pos 313, 601PressOffset 84, 127, 174, 653,

659, 666Programs 583RESTART_AT 688RootPath 300, 620RootPathOffline 300, 620ScriptAtEnd 318, 605

ScriptAtStart 318, 604ScriptLanguage 318, 604SetInputFocusNext 649ShiftInPixelsMode 656, 664, 672ShortDateFormat 629StandardTimeout 640StartPage 89, 303, 305, 449,

451, 615SurfingBrowser 607SurfingBrowserPos 450, 608SurfingBrowserWidth 450, 608SurfingJOBSCheck 451, 614SurfingJOBSEnd 451, 614SurfingJOBSOn 451, 613SurfingJOBSPause 451, 614SurfingJOBSStart 451, 613SurfingScrollDown 612SurfingScrollLeft 613SurfingScrollRight 613SurfingScrollUp 612SurfingURL 450, 607TabAsConfirm 616TempFileNumber 619TempPath 282, 294, 618Text 451, 612TextAlignX 104, 609, 654, 660,

667TextAlignY 104, 610, 654, 660,

668TextBold 105, 610, 655, 661, 668TextCenterX 104, 609, 654, 660,

667TextCenterY 104, 610, 655, 660,

668TextColour 102, 609, 653, 659,

667TextColourDisabled 103, 654,

659, 667TextFont 105, 609, 653, 659, 666TextFontCharSet 611TextItalic 105, 610, 655, 661, 668TextSize 105, 609, 653, 659, 666TextStrikeout 105, 611, 656, 661,

669

Page 779: Web Extensions V1200 Programming Guide En

760 May 2008

Index

TextUnderline 105, 611, 655, 661, 669

TIME_MAX_WATCH_THREAD686

TIME_SLEEP_WATCH 686TIME_TRYAGAIN_INIT 687TIME_TRYAGAIN_TIMER 687TIME_TRYAGAIN_WM 687TIME_WAITFOR_RESTART_EX

CEPTION 685TIME_WAITFOR_RESTART_ME

M 685TIME_WAITFOR_RESTART_TH

READS 686TIME_WAITFOR_TIMER 688TIME_WAITFOR_WM 687TimeFormat 629Timeout Href 637Timeout values

CorrectTimeout 640EndlessTimeout 641HelpTimeout 640ImmediateTimeout 641InputTimeout 640MessageTimeout 640StandardTimeout 640

TimeoutConnect 623TimeoutDataReceiveRequest 30

0, 623TimeoutDataSendRequest 623TimeoutHref 232TimeoutQuestionHref 232, 638TimeoutQuestionWindow 232,

638TimeoutWindow 232, 637TimeoutWindowHeight 232, 639TimeoutWindowLeft 232, 639TimeoutWindowTop 232, 639TimeoutWindowWidth 233, 639Top 358, 602UsedLcid 629UseLocales 288, 308UseLocals 630UseUTF8 648

Value0 642Value1 642Value2 642Value3 643Value4 643Value5 643Value6 643Value7 644Value8 644Value9 644ValueCancel 646ValueConfirm 647ValueCorrect 647ValueDecPoint 648ValueF1 644ValueF2 645ValueF3 645ValueF4 645ValueF5 645ValueF6 646ValueF7 646ValueF8 646ValueHelp 647ValuePrint 647ValueReserved 648VirtualKeyboardOn 598WEBEXT_VERSION 682WebExtKeyScripting 453, 617WebExtNoHistory 617WebExtOfflineCheck 616WebExtPrintCheck 616WebExtTabing 453, 616Width 313, 602WindowHeight 601WindowLeft 600WindowPlacement 603, 604WindowTop 600WindowWidth 601WorkaroundNoShell 617WorkaroundWhitePopUp 618

PC_GeneratedAnchor 282PCDialog Framework 342PCEvt 25Pentium PC 56

Page 780: Web Extensions V1200 Programming Guide En

May 2008 761

Index

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

Pictograms 12References 13Registry entries 13Tips and tricks 13Warnings and hints 12Web-Extensions/ClassicLink 13,

20Web-Extensions/ExtraLink 13,

20Web-Extensions/HyperLink 13,

20PIN 54, 96PIN input 195PIN input options

Continue after Timeout 211, 244Continue without Confirm-

Key 211, 243PIN 4-digits 211, 243PIN 6-digits 211, 243User defined 211, 243

Max. 211, 243Min. 211, 243

PIN pad 195Pixel 62Plugin 63Popup dialog 169Popup window 43, 271Portable Network Graphic (png)

format 78Positioning

Contents(STD/ATM) control 69Exact 71, 73Function keys 65Header 69Logo 70Menu buttons 67Operating hint 69Selection buttons 66

Prefixhttp:// 44

Preinstalled softwareProTopas/Kit 581ProTopas/Manager 581SoundCard driver 581

Windows/NT 4.0 580Printer 50ProDevice 50Product information 15, 17Product versions 15

Areas of use 19Program

Runtime 63Property

CheckDependencies 425CheckParameter 424, 425

ProTopas 49, 50Application 52Basic frameworks 49ProCash/Topas 49ProConsult/Topas 49ProPrint/Topas 49ProTopas/HTML-Dialog 56, 57ProTopas/KIT 57ProTopas/Manager 56ProTopas/Web-Extensions 56,

57ProTopas High Level GS 19

RRadio button 82

Group 82, 97, 168Registry

CheckRoutine 125, 411Function-Key 85Language 288Radiobutton 97, 98Selection 91Steps 248Transaction 42, 95, 123, 125,

169, 411Transaction/(function) 124, 170Values 201, 233Variable 125, 171, 411

Relative branch 304Relative path 106, 108, 130Requirements

Hardware 55Software 56

Page 781: Web Extensions V1200 Programming Guide En

762 May 2008

Index

Resolution 60Restart Manager 20Return code 40, 54, 247

Range 249

SSales 2Scanner 50Screen interface

Arrangement 71Screen resolution 60, 71Script 24, 307, 455

Loading external pages 24OnTimeout 272

Script Framework 15, 55Selection button 29, 43, 46, 66, 82

HTML page 92Input field for HTML page 92Step after button 92Values 66

Self-service applicationLayout 68

Sequence number 68, 416Server 294Server/host 52Service and Operating 52, 55Service Framework 52Service Pack 5 56Shift in pixels 64, 84

Default 84Softkey 2, 86, 124, 170, 250

Position 86Value 27

Softkeys and function keys allowed 250

SOP 55Sound 53Sound card 56Special characters 420, 428Special electronics 50Standard colour dialog 102, 134Standard font dialog 104Standard graphics program 57Standard Windows elements 60

StatesButton disabled 84Button hidden 84Button pressed 84Button up 84Disabled 64, 79Down 64, 79Hidden 79Pressed 64, 79Up 64, 79

Status messages 72Status variable 67Step 44, 47

Self defined event 45Step After 248

Coordinates 249HTML page 249None 248Parameter 248Returnvalue 249

Stock exchange rates 292Style guide 60Style sheet 71, 73

Content of file 74Reference 73

SubHeader 128, 174, 200, 229Suffix 294Surfing the Internet freely 292Switching to offline state 300Syntax

Special 282System requirements 49

TTable 73TCP/IP 56Template pages 53Text font 63

Bold 63Non-proportional 63Proportional 63Underlined 63

Third-party manufacturer 50Thousands grouping 433

Page 782: Web Extensions V1200 Programming Guide En

May 2008 763

Index

© S

iem

ens

Nix

dorf

Info

rma

tions

syst

em

e A

G 1

995

Pfa

d: d

:\Pro

Topa

s\W

eb-

Ext

ensi

ons\

Doc

u\B

ook\

Web

Ext

SIX

.fm

Ticket sales 2Timeout 200

After timeout 230, 232, 273Confirmation question 273Coordinates 232Default 232HTML page 230, 232Timeout combo box 233Timeout message 230, 231, 273Timeout question 230

Timeout period 200, 233Timeout situations 637Timer 200, 233, 295

Custom settings 200, 233Monitoring 198, 226, 449Ready-made 200, 233

Toggle lockNo 83Yes 83, 84

Touchscreen 2, 50, 68, 451Trackball 450Traditional interfaces 1Transaction Framework 20, 52

Access 40Cancel() 44Events 44

Transaction FW class 52Restart 272

Travel services 2Typographical conventions 12

UUser interface 59

Elements 10Internet 10Multimedia 10Standard elements 61

User interface elements 64

VVariable 280, 281

(Name-of-input-variable)_MAXCHARS_L 133

Default value 171, 285Inserting in a control 288Reading 414Setting 414VAR_DLG_INPUT_RESULT_S

83, 86, 272, 273VAR_FUNCTION_STARTPAGE_

S 41VAR_HEADLINE_S 41, 42VAR_IDENTIFICATION_REQUES

T_L 41VAR_LANGUAGE_S 590VAR_LIMIT_DATE_FROM_S 43

0VAR_LIMIT_DATE_TO_S 430VAR_LIMIT_S 432VAR_MY_HTML_NAME_S 48VAR_OFFLINE_WEBNAME_S

590VAR_PCLIST_VALUE_S 171VAR_SCANNER_ERROR_L 42

1, 422VAR_WEBNAME_S 307, 590Viewstate variable 274

Variable Framework 342, 488Video 53, 63Videoconferencing 53Viewstate variable 32, 43, 274

States 275

WWeb browser 1Web Graphical Service 11, 15, 53,

198, 227Web server 286WebBot 284

Default value of PC variable 171Default value of the variable 285Formatting of PC variable 171Formatting of the variable 284Hiding contents 286Installation 286, 287Name of PC variable 171Name of the variable 284

Page 783: Web Extensions V1200 Programming Guide En

764 May 2008

Index

PREVIEW 286Preview value of the variable 285Showing contents 286SNI_PC_VARIABLE 284s-value 286

Welcome loop 125Wildcard 280, 449Windows bitmap format 78Windows control

Button 80Check box 80Radio button 80

Windows NT 49, 56Windows Registry 79WN_TFN_FLAT_SELF 274WN_TFN_FLAT_TOP 274WN_TFN_PARENT 93WN_TFN_TOP 93WXmarketingmode 302WYSIWYG 305

Page 784: Web Extensions V1200 Programming Guide En

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

CommentsSuggestionsCorrections

Submitted by

Wincor Nixdorf International GmbHUser Documentation BD PSD 633106 PaderbornGermany

Fax: +49 5251 693 3792

Page 785: Web Extensions V1200 Programming Guide En
Page 786: Web Extensions V1200 Programming Guide En

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

CommentsSuggestionsCorrections

Submitted by

Wincor Nixdorf International GmbHUser Documentation BD PSD 633106 PaderbornGermany

Fax: +49 5251 693 3792

Page 787: Web Extensions V1200 Programming Guide En
Page 788: Web Extensions V1200 Programming Guide En

send me information/course programs on the following topics

Wincor Nixdorf International GmbHTraining BD PSD 633106 PaderbornGermany

Fax: +49 5251 693 3792

The Wincor Nixdorf Application Software department offers training for a wide range of Banking Software products. Write to us for information and course programs.

CoursesConsulting

Self-tuition media

Submitted by

Page 789: Web Extensions V1200 Programming Guide En
Page 790: Web Extensions V1200 Programming Guide En

send me information/course programs on the following topics

Wincor Nixdorf International GmbHTraining BD PSD 633106 PaderbornGermany

Fax: +49 5251 693 3792

The Wincor Nixdorf Application Software department offers training for a wide range of Banking Software products. Write to us for information and course programs.

CoursesConsulting

Self-tuition media

Submitted by