Documente Academic
Documente Profesional
Documente Cultură
User’s Guide
B006‐6038‐Q000
Issue 1
October 2015
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Copyright and Trademark Information
The products described in this document are copyrighted works of NCR Corporation.
NCR and APTRA are trademarks of NCR Corporation.
Adobe, Acrobat and Reader are either registered trademarks or trademarks of Adobe Systems Incorporated in the United
States and/or other countries.
PaintShop Pro is a trademark or registered trademark of Corel Corporation and/or its subsidiaries in Canada, the United
States and/or other countries.
IBM and Operating System/2 are trademarks of International Business Machines Corporation, registered in many
jurisdictions worldwide.
Microsoft, ActiveX, Excel, Visual Basic, Visual C++, Visual Studio and Windows are either registered trademarks or
trademarks of Microsoft Corporation in the United States and/or other countries.
Sybase and PowerBuilder are either registered trademarks or trademarks of Sybase Inc. or its affiliates in the United
States and/or other countries.
All other trademarks are the property of their respective owners.
Disclaimer:
It is the policy of NCR Corporation to improve products as technology, components, software and firmware become
available. NCR therefore reserves the right to change specifications without prior notice.
All features, functions and operations described herein may not be marketed by NCR in all parts of the world. In some
instances, photographs are of equipment prototypes. Therefore, before using this document, consult with your NCR
representative or NCR office for information that is applicable and current.
To maintain the quality of our publications, we need your comments on the accuracy, clarity, organisation and value of
this book.
Address correspondence to:
NCR Financial Solutions Group Ltd
Product Management Feedback
Discovery Centre
3 Fulton Road
Dundee, Scotland
DD2 4SW
© 1998–2015
By NCR Corporation
Duluth Georgia, USA
All Rights Reserved
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Federal Communications Commission (FCC) Radio Frequency Interference Statement
Federal Communications
Commission (FCC) Radio Frequency
Interference Statement
Note: This equipment has been tested and found to comply with
the limits for a Class A digital device, pursuant to Part 15 of the
FCC Rules. These limits are designed to provide reasonable
protection against harmful interference when the equipment is
operated in a commercial environment. This equipment
generates, uses, and can radiate radio frequency energy and, if not
installed and used in accordance with the instruction manual,
may cause harmful interference to radio communications.
Operation of this equipment in a residential area is likely to cause
harmful interference in which case the user will be required to
correct the interference at his own expense.
This digital apparatus does not exceed the Class A limits for radio
Canadian Class A Device noise emissions from digital apparatus set out in the Radio
Declaration Interference Regulations of the Canadian Department of
Communications.
Le présent appareil numérique n’émet pas de bruits
radioélectriques dépassant les limites applicables aux appareils
numériques de la classe A prescrites dans le Réglement sur le
brouillage radioélectrique édicté par le ministère des
Communications du Canada.
This equipment must be installed and used in strict accordance with
Information to User the manufacturer’s instructions. However, there is no guarantee
that interference to radio communications will not occur in a
particular commercial installation. If this equipment does cause
interference, which can be determined by turning the equipment off
and on, the user is encouraged to consult an NCR service
representative immediately.
Caution NCR Corporation is not responsible for any radio or television
interference caused by unauthorised modifications of this
equipment or the substitution or attachment of connecting cables
and equipment other than those specified by NCR. Such
unauthorised modifications, substitutions, or attachments may void
the user’s authority to operate the equipment. The correction of
interference caused by such unauthorised modifications,
substitutions, or attachments will be the responsibility of the user.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Revision Record
October New revision for Advance NDC 4.04
2015
B‐2 Added information that a new worker has been
provided for a Contactless card reader.
B‐14 Added information that the Cash Handler
Tamper Indicator details, attributes and signal
have been updated.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Contents
Preface
About This Publication .......................................................................xxiii
Contents of the Publication .........................................................xxiii
Audience ........................................................................................xxiv
Navigating the Publication..........................................................xxiv
Knowledge and Experience..........................................................xxv
Conventions Used.........................................................................xxvi
Support Information.....................................................................xxvi
Chapter 1
APTRA Author Basics
Overview ................................................................................................1‐1
Introducing the APTRA Author..........................................................1‐2
Life Cycle Support ..........................................................................1‐2
APTRA Author................................................................................1‐2
Authoring System..................................................................................1‐4
Runtime Components ...........................................................................1‐5
Authoring Components Provided................................................1‐5
Using Your Own Authoring Components..................................1‐5
Chapter 2
APTRA Author Setup
Overview ................................................................................................2‐1
Working Directory ................................................................................2‐2
User IDs ..................................................................................................2‐3
User ID Format................................................................................2‐3
Using the User ID Utility ...............................................................2‐4
PC Directory Structure .........................................................................2‐6
Global Directory Structure ............................................................2‐6
Directory Types...............................................................................2‐7
Installing the ActiveX Sample Application .......................................2‐9
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 3
The APTRA Author Methodology
Overview ................................................................................................3‐1
Graphical Programming Environment ..............................................3‐2
Communication Between Workers .....................................................3‐5
Types of Workers...................................................................................3‐6
Using Workers to Extend Advance NDC....................................3‐6
Chapter 4
First Steps in Building an Application
Overview ................................................................................................4‐1
“Hello World” Tutorial.........................................................................4‐2
Finding the Correct Component...................................................4‐4
Setting the Properties of Components .........................................4‐6
Starting the Simulator ....................................................................4‐7
Running the Application ...............................................................4‐7
Creating an Attractor Sequence...........................................................4‐9
Top Worker ......................................................................................4‐9
Co‐ordinator ....................................................................................4‐9
Director.............................................................................................4‐9
Creating an Application...............................................................4‐10
Using a Director Worker..............................................................4‐10
Creating a Director Worker .........................................................4‐10
Adding the Hello World Worker................................................4‐12
Modifying Attributes Dynamically ............................................4‐12
The Attractor Sequence ................................................................4‐13
Adding a New Top Worker.........................................................4‐13
Adding a Timer and Editing its Attributes ...............................4‐14
Creating Screen Text.....................................................................4‐14
Sharing a Timer Worker...............................................................4‐15
Copying the Text Worker ............................................................4‐15
Signals Available from a Worker................................................4‐16
How Workers Communicate .............................................................4‐18
Connecting the Flow.....................................................................4‐18
Running a Completeness Check........................................................4‐20
Running the Test Application............................................................4‐21
Test Window Menu Options .......................................................4‐23
Conclusions ..........................................................................................4‐25
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 5
ActiveX Controls and APTRA Author
Overview ................................................................................................5‐1
APTRA Author and ActiveX ...............................................................5‐2
ActiveX Controls .............................................................................5‐2
ActiveX scripting.............................................................................5‐3
Generating ActiveX Controls ........................................................5‐3
APTRA Author Workers and Utilities ...............................................5‐4
Workers ............................................................................................5‐4
Using a Web Page Interface...........................................................5‐6
Software Utilities.............................................................................5‐9
The Barcode Scanner Sample Application.......................................5‐11
ActiveX Sample Application .......................................................5‐13
Barcode Sample Application .......................................................5‐13
Advanced Functionality...............................................................5‐18
Hints and Tips......................................................................................5‐19
Active Script Host .........................................................................5‐19
Screen Displaying With Script Hosts .........................................5‐19
Multiple Result Work Groups.....................................................5‐19
Enumerated Types........................................................................5‐20
Chapter 6
Managing Modules
Overview ................................................................................................6‐1
Access to Components You Do Not Own..........................................6‐2
Creating a New Module .......................................................................6‐6
Default Module ...............................................................................6‐7
Using Catalogs and Creating Workers...............................................6‐9
Transferring the Worker to Another Module..................................6‐12
Transferring the Worker to a Module You Do Not Own........6‐13
Changing the Owner of a Module ....................................................6‐15
Move a Module ....................................................................................6‐17
Module Move Based on Ownership ..........................................6‐17
Move to the Default Module .......................................................6‐18
Summary on Modules ........................................................................6‐19
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 7
Team Development
Overview ................................................................................................7‐1
Planning for Project Development......................................................7‐2
Approaches to Team Development..............................................7‐2
Team Development.........................................................................7‐5
Owning More Than One Module .................................................7‐6
Receiving Ownership of a Module...............................................7‐6
Project Management Features..............................................................7‐8
Project Comparison ........................................................................7‐8
Read Only and Shared Components............................................7‐8
Component Status...........................................................................7‐9
Module Information .......................................................................7‐9
Module Highlighting......................................................................7‐9
Merging Projects ..................................................................................7‐11
Creating Project Reports.....................................................................7‐13
Producing a Workers Report.......................................................7‐13
Catalogs Report Option ...............................................................7‐14
Components Report......................................................................7‐15
Module Ownership Report..........................................................7‐16
Printing Reports and Language Support...................................7‐17
Appendix A
Troubleshooting
Overview ...............................................................................................A‐1
Dealing with Exceptions......................................................................A‐2
Advance NDC Exceptions ............................................................A‐2
Questions and Answers.......................................................................A‐4
Getting Help and Information .....................................................A‐4
User IDs ...........................................................................................A‐5
Working with Screens ...................................................................A‐6
Developing and Testing an Application.....................................A‐6
Building an Application................................................................A‐7
Appendix B
Advance NDC Worker Support
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Worker Classes Modified in This Release of Advance NDC. B‐14
Worker Classes Modified in Previous Releases
of Advance NDC........................................................................ B‐14
Resource Identifier Workers....................................................... B‐20
EPP Security Workers.................................................................. B‐21
Passbook Printer Worker Classes..................................................... B‐22
Unsupported Workers ....................................................................... B‐24
Stubbed Workers.......................................................................... B‐24
Replaced Workers ........................................................................ B‐24
Basic Operator Panel (BOP) Workers........................................ B‐25
Unsupported Security Workers ................................................. B‐25
EKC Workers ................................................................................ B‐26
Communications Protocol Workers .......................................... B‐26
ActiveX Workers .......................................................................... B‐26
FIT Workers .................................................................................. B‐26
Resource Management Workers................................................ B‐26
Door Access Workers .................................................................. B‐27
Enhanced Card Reader/Writer Workers................................... B‐27
Cash Handling Workers ............................................................. B‐27
Coin Dispenser Workers ............................................................. B‐27
Communications Workers.......................................................... B‐27
Data Entry Workers ..................................................................... B‐27
Printer Workers ............................................................................ B‐28
Miscellaneous Unsupported Workers ...................................... B‐28
Appendix C
Extending the APTRA Author Runtime
Appendix D
Guidelines for Developing Applications
Overview ...............................................................................................D‐1
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
PCI DSS/PA‐DSS Considerations ................................................D‐1
Recommended Guidelines ..................................................................D‐2
Developing Several Applications in Separate Project Files............D‐4
Advantages .....................................................................................D‐4
Recommended Approach .............................................................D‐4
Developing a Single Application over Several Project Files ..........D‐7
Advantages .....................................................................................D‐7
Recommended Approach .............................................................D‐7
SSDS DLL Interface Signal ................................................................D‐11
Appendix E
Reserved User IDs
Appendix F
Display Considerations
Overview ................................................................................................F‐1
Understanding Grey Scale Monitor Burn‐In .....................................F‐2
What is Monitor Burn‐In?..............................................................F‐2
Example of Monitor Burn‐In .........................................................F‐2
How Do I Prevent Monitor Burn‐In? ...........................................F‐3
Implementing Screen Maintenance Techniques.........................F‐3
Guidelines for Using Monochrome STN LCDs ................................F‐4
Colour Depth ...................................................................................F‐4
Contrast ............................................................................................F‐4
Animation ........................................................................................F‐4
Optical Effects..................................................................................F‐4
Display Burn‐In...............................................................................F‐5
Appendix G
Related Documentation
Overview ...............................................................................................G‐1
APTRA Author Documentation.........................................................G‐2
Other NCR Documentation ................................................................G‐4
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix H
APTRA Author GUI Reference
Glossary
Glossary .................................................................................... Glossary‐1
Index
Index ................................................................................................Index‐1
User Feedback Form
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
List of Figures
Chapter 2
APTRA Author Setup
Chapter 3
The APTRA Author Methodology
Chapter 4
First Steps in Building an Application
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 5
ActiveX Controls and APTRA Author
Chapter 6
Managing Modules
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 7
Team Development
Appendix A
Troubleshooting
Appendix D
Guidelines for Developing Applications
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix F
Display Considerations
Appendix H
APTRA Author GUI Reference
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
List of Tables
Preface
Chapter 2
APTRA Author Setup
Chapter 4
First Steps in Building an Application
Chapter 7
Team Development
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix B
Advance NDC Worker Support
Appendix C
Extending the APTRA Author Runtime
Appendix E
Reserved User IDs
Appendix G
Related Documentation
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix H
APTRA Author GUI Reference
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
About This Publication
This publication documents the APTRA Author for Advance NDC.
Its main purpose is to help you understand how to use the Author
to modify an Advance NDC application for installation on an NCR
self‐service terminal.
This publication consists of the following chapters and appendices:
Contents of the Publication
Chapter 1, “APTRA Author Basics”, introduces the Author and
Runtime Components and provides an overview of building an
application in a visual programming environment.
Chapter 2, “APTRA Author Setup”, provides details of User IDs,
the directory structure used and how to install the sample ActiveX
application.
Chapter 3, “The APTRA Author Methodology” describes the
design methodology of creating an application using the Author.
This is a reference chapter on the concepts of the Author.
Chapter 4, “First Steps in Building an Application” Tutorial ‐ Part
1. In this chapter you will learn how to use the Author by building
your first application. This is a hands‐on tutorial with explanations
of the Author terminology. From this, you can start creating a
simple application with an Attractor Screen.
Chapter 5, “ActiveX Controls and APTRA Author” introduces how
the Author supports ActiveX and explains how the Author can be
used to integrate ActiveX objects and third party tools. It describes
the Author workers, Control Browser and Script Editor, and gives
details of the sample application supplied.
Chapter 6, “Managing Modules”, provides tutorials to help you
become familiar with using the module features of the Author.
Chapter 7, “Team Development”, introduces the project
management features of the Author, with recommendations for
successful project management
Appendix A, “Troubleshooting” provides useful troubleshooting
information to help with exceptions. This appendix also answers
some typical Author questions.
Appendix B, “Advance NDC Worker Support” describes support
in Advance NDC for the Author workers provided.
Appendix C, “Extending the APTRA Author Runtime” introduces
the BASIC programming language offered by the Author.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix D, “Guidelines for Developing Applications” provides
guidelines for improving the performance of project management;
by developing an Author application or applications over several
project files.
Appendix E, “Reserved User IDs” lists the User IDs that are
reserved in the Advance NDC authored projects and must not be
used.
Appendix F, “Display Considerations” explains the effects of
burn‐in on the monitor and describes how to prevent it from
happening. This appendix also provides guidelines for using
monochrome STN Liquid Crystal Displays (LCDs).
Appendix G, “Related Documentation” identifies the
documentation available to help you with authored applications.
Appendix H, “APTRA Author GUI Reference” provides reference
information for the Author graphical user interface (GUI) and
information on using the on‐line help for the Author and its
components.
This publication is intended for developers who are going to apply
Audience updates or extensions using the Author.
This publication can be viewed on screen with Adobe Reader, or
Navigating the Publication printed. On‐screen viewing provides the following:
Hyperlinked page references
A hyperlinked contents tree in the Bookmarks pane, with
bookmarks down to the third heading level.
For both on‐screen viewing and the printed version, the The
following navigation and commenting elements are provided for
navigation:
Table of Contents Lists the first two heading levels in page order with
page references.
Table of Contents Lists the first three heading levels in page order
for chapter or with page references.
appendix
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Element Description
Running H/F 1 Provides an alphabetical list of terms, acronyms,
and abbreviations with their meaning.
Running H/F 1 Provides an alphabetical list of topics, keywords,
concepts, and data references with page references.
User Feedback Allows you to comment on the publication by:
Form — Printing the form
— Selecting the Email link
— Selecting the Web link.
You should be familiar with using the Windows XP operating
Knowledge and system.
Experience
Training
If you have not already attended the earlier courses APTRA Advance
Author (course 11565) and Implementing APTRA Advance NDC,
(course 18008), NCR recommends the following
APTRA Advance NDC Implementation Workshop (course 28777)
APTRA Advance NDC ‐ Installing, Configuring and Troubleshooting
(course 32319)
Recommended Practices for Modifying APTRA Advance NDC
(course 29482)
Multi‐Vendor Implementations
If you intend to implement Advance NDC on other vendors’ SSTs,
refer to the APTRA Advance NDC, Multi‐Vendor Support Reference
Manual.
PCI DSS/PA‐DSS
For an Advance NDC end solution that is compliant with the
Payment Card Industry Data Security Standards, (PCI DSS),
Authored modifications may fall within the scope of the Payment
Application Data Security Standard (PA‐DSS). For more
information refer to the following:
APTRA Advance NDC, Payment Application Data Security Standard
Implementation Guide
APTRA Advance NDC, Developerʹs Guide
Appendix E, “PCI DSS & PA‐DSS Compliance in Advance
NDC”
PCI Security Standards website.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following definitions and abbreviation are used throughout this
Conventions Used publication:
Simulator Short form of APTRA Simulator
MB1 Mouse Button 1. Normally the Left Mouse Button ‐
used for selecting, moving, copying and sharing.
MB2 Mouse Button 2. Normally the Right Mouse Button ‐
used ,for bringing up pop‐up menus.
Move Hold down MB1 and drag item.
Copy Hold down the MB1 and the Control key and drag item.
(Copy will take a copy of the current Authoring
component. Note that the two components are now
unique, any changes to one will not be made to the
other).
Share Hold down MB1 and the Shift key and drag item. The
component will now be referenced from two places.
The following typographical conventions are used throughout this
publication
text in Indicates text you need to type in.
Text with this format indicates that you have an action to
do, for example to type in some text or select a choice from a
menu.
1 Procedures you have to carry out
are given in numbered lists.
If you have a problem using the Author software, try the following
Support Information to resolve it:
1 For exception handling in Advance NDC and Self‐Service
Support, see Appendix A, “Troubleshooting”
2 Contact your internal support person for help.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
3 Contact your local NCR representative.
NCR provides a wide range of support programmes. For more
information, contact your local Account Team.
If you have any problems using this guide, see the “User Feedback
Form” at the back of this guide, where you will find our e‐mail
address. Please take the time to reply as your comments will be
appreciated.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 1
APTRA Author Basics
Overview 1‐1
Introducing the APTRA Author 1‐2
Life Cycle Support 1‐2
APTRA Author 1‐2
Authoring System 1‐4
Runtime Components 1‐5
Authoring Components Provided 1‐5
Using Your Own Authoring Components 1‐5
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Overview
Overview 1
This chapter covers the following topics:
Introduction to the Author
Authoring system
Runtime components
For a guide to the graphical user interface (GUI) and on‐line help for
the Author and Runtime components, see Appendix H, “APTRA
Author GUI Reference”.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Introducing the APTRA Author 1
The Author provides the following:
A graphical user interface (GUI) for the application
development environment
The ability to integrate new devices or new software functions
The ability to run applications within the Author
The ability to simulate and test in the development environment
using the APTRA Simulator, without the need to first install the
application on an SST
Options to selectively build any application link defined in a
project; this means building an application DLL with the link
information provided to integrate the application DLL into
Advance NDC.
Although the Author is provided as a tool to extend existing
Advance NDC functionality, NCR recommends using Exits where
possible to extend Advance NDC as this reduces the
re‐implementation effort required to move to a later release.
Functionality that is extended using the Author must be
re‐implemented in subsequent releases and service packs. For more
information about the methods available for extending Advance
NDC and the best options for particular enhancements, refer to
APTRA Advance NDC, Extending the Product.
With the APTRA Simulator, the Author provides support for the
Life Cycle Support 1
self‐service application development life‐cycle. This includes the
following stages:
Design
Development
Test
Maintenance.
Note: The APTRA Simulator from NCR is not provided with
Advance NDC, but can be purchased separately.
For information about the project management features that
support team development, see Chapter 6, “Managing Modules”.
The Author consists of the following software components:
APTRA Author 1
Authoring system
Runtime components.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
These components are described in more detail in the following
sections of this chapter.
Note: You can run the Author in a Windows XP environment, but
to compile a final application, you must have Microsoft Visual
Studio 2005 with the latest service pack installed.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Authoring System 1
The APTRA Author (the Author) provides the following:
A visual programming tool for Advance NDC applications
A powerful object oriented construction model combining
sequential and concurrent programming techniques
A facility to construct applications from building blocks and
selectively build application links if they have been defined in a
project
A facility to encapsulate documentation (embed development
comments and notes in your project)
The ability to develop applications through gradual refinement
and prototyping
An interface to specialised editors
A collection of project management features that support and
encourage a team approach to development
The ability to open two separate Author projects making it
possible to compare two different projects at the same time
A Report menu item that allows output from the project file to
be exported to an external program (Excel) for further analysis
A Module Management function that facilitates maintenance of
modules, and the integration of work for each development
release
An user interface that gives information about a worker’s state,
based on its edit or module status.
The Author promotes a process of gradual refinement and
prototyping. Rough outlines of the application structure or flow can
be passed from one team member to another for refinement of
detail.
To help other team members, you can add documentation to the
application flow using the Description field provided in the
component settings.
Each user can document the development at each part in the
application. Other team members can then view this additional
documentation. If the application is to be edited, the developer will
be able to view just the documentation appropriate to the part being
updated. This ensures that the developer does not see unnecessary
information.
The ability to open two separate projects and the addition of the
highlight function helps users compare projects and promotes
re‐use of existing components.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Runtime Components 1
The Author offers object‐oriented technology to its users. The
objects provided are reflective of real world tasks. For example, we
deal with printers rather than a print command.
Objects, which are called Authoring components, are supplied for a
wide variety of tasks.
Examples of Author objects/Authoring components are:
Applications ‐ an application is a collection of workers that can
be built to create an application executable or DLL
Workers ‐ workers perform specific jobs; you can extend their
behaviour by modifying their attributes
Catalogs ‐ a catalog allows you to organise workers into
manageable groups. It provides project management support.
When you use the Author to update or extend an application, you
save to a project, which is a collection of Authoring components.
All development can be done in the Author by graphically linking
components together. There is no need to write code using a
traditional programming language such as C or C++.
All the Authoring components you require to build an application
Authoring Components are provided. On‐line help is available to assist with the definition
Provided 1
of the data and attributes required for the components.
For details of worker support in Advance NDC, see Appendix B,
“Advance NDC Worker Support” and the on‐line help provided
with the Author.
If you have developed your own Authoring components, or Worker
Using Your Own Classes as they are referred to, you cannot test them without first
Authoring Components 1
setting up the environment that allows the Author to run the test
software. You do this by setting up the Worker Factory.
A Worker Factory supplies information on the worker classes
available and their characteristics.
You only need to create a new Worker Factory if you create new
worker classes or you merge in another project. To find out more
about creating your own worker classes, refer to the APTRA
Advance ADE, Programmer’s Guide.
The Worker Factory can be built once by one person and distributed
to the other team members; each team member does not need to
build it.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
For details of the name and location of the Worker Factory file that
you distribute, see the section “What is a Worker Factory and when
do I need to build one?” on page A‐7.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 2
APTRA Author Setup
Overview 2‐1
Working Directory 2‐2
User IDs 2‐3
User ID Format 2‐3
Using the User ID Utility 2‐4
Incrementing Install Counts 2‐4
Adding User IDs 2‐5
Removing User IDs Using the User ID Utility 2‐5
PC Directory Structure 2‐6
Global Directory Structure 2‐6
Other Folders and Files 2‐7
Directory Types 2‐7
Installing the ActiveX Sample Application 2‐9
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
APTRA Author Setup
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
APTRA Author Setup
B
Overview
Overview 2
Advance NDC includes the Author, which is installed when you
install Advance NDC on your development PC. If you plan to work
through the tutorials, you will need to install the sample
application. For details, see “Installing the ActiveX Sample
Application” on page 2‐9.
This chapter gives details of the User IDs in the Author, the
directory structure used, and installing the sample ActiveX
application.
For information about installing Advance NDC, refer to the APTRA
Advance NDC, Overview, which is available in the root directory of
the Advance NDC CD‐ROM.
Note: To build applications, you must have Microsoft Visual
Studio 2005 with the latest service pack installed on your
development PC.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Working Directory 2
Before you start using the Author, you must create a directory
\<working>, in which <working> can be any directory name of your
choice.
The working directory is the place where you save your Author
projects and it provides a base directory. This directory is also
where your Advance NDC applications must be built. For details of
building a final application, see “How Do I Perform a Build Final”
on page A‐8.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
User IDs 2
A unique User ID is required for each user that will be using the
Author to create an application or to create authoring components
for other users. A separate User ID utility is provided, which allows
you to manage the Author User IDs. User IDs must be set up before
using the Author for the first time.
Each component that is created in the Author has a unique
component identifier. It is very important that each user has a
unique User ID, even when using separate development PCs, as
components will be copied and shared between projects. Errors will
be caused when components are created with a User ID that is
present on more than one PC at any one time.
A User ID is a file that can be moved, not copied, from one
development PC to another by copying the file to another disk and
then deleting it from the original PC. The User ID file is installed
into your <global> directory.
The format of the User ID filename is as follows:
User ID Format 2
<user‐id>.USR
The variable <user‐id> must conform to the following requirements:
Be unique
Use only lower‐case letters in the range ‘a’ to ’z’
Have a length between 2 and 8 letters
Not use any numbers or special characters
Not conflict with the reserved list of User IDs given in
Appendix E.
NCR recommends that you use your initials, followed by a suffix
indicating your organisation (company name, location or
department), for example, sgeng.
The format of User IDs is restricted because they are an element in
the formation of component IDs. If characters other than letters are
used, errors can be generated during a Build Final.
Caution The management and allocation of these User IDs is the
responsibility of the users. You must ensure that you control the
use of the User IDs to prevent duplicate component IDs being
generated. NCR recommends you keep a list of User IDs. If
duplicate IDs occur across projects, the projects must never be
merged, otherwise they will become corrupted.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Projects may also become corrupted if you install a copy of the
Author on two PCs using the same User ID. as you risk creating
authoring components with component IDs that exist elsewhere.
This will corrupt the project and render it unusable if you merge
or import another project using the same component IDs.
The utility can be run in either of the following ways:
Using the User ID Utility 2
At the end of an interactive development installation by
selecting the check box in the final installation dialog box
At any other time by selecting Start|All Programs|NCR
APTRA|Advance NDC|Tools|User ID Utility.
Selecting the User ID utility displays the following dialog box.
Figure 2-1
User ID Utility
2
Incrementing Install Counts 2
Advance NDC maintains a count of the number of installations for
which a User ID has been used.
A list of any existing user files is displayed in the User ID utility as
follows:
If this is the first installation of Advance NDC, the list is empty
If there has been a previous installation, there may be some User
ID files already in the installation folder and these are listed in
the dialog box
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
If there has been an installation on another development PC, the
User IDs from that PC can be moved to the <global> directory on
this PC and these are listed in the dialog box.
If you run the utility from the check box at the end of installation, all
installation counts are automatically incremented.
Note: If you run the utility from the check box, do not select the
Increment All Install Counts button. If you do this, the install counts will
be incremented twice.
If you run the utility from the Start menu for the first time since
installation, you can increment all counts by selecting the Increment All
Install Counts button.
To change the installation count for an individual User ID, select the
ID from the list, enter the number of installations in the Install No text
box, and select the Update Install Count button.
For more information about the installation counts, see “Why is the
Install Number so important?” on page A‐5.
Adding User IDs 2
Adding User IDs is always done through the User ID utility.
However, the Description field is taken from the description in the
Author. If a new User ID is added, no description is available until
you set it from within the Author.
To add a new user, complete the following steps:
1 In the User ID text box, enter a short string as described in “User
ID Format” on page 2‐3.
3 If you need to change the install count for the User ID, enter the
required count in the Install No text box, and select the Update Install
Count button.
Removing User IDs Using the User ID Utility 2
User IDs can be removed by deleting the file (<user‐id>.USR). They
can also be removed using the User ID utility, as follows:
1 Select the ID from the list.
2 Select the Remove button.
A confirmation dialog appears.
3 Select Yes to delete the associated User ID file.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
PC Directory Structure 2
This section lists the directory structure of the Author environment
on the development PC, and the location of files, programs and
data.
The Author is installed with Advance NDC into a user‐defined
directory. This directory is referred to as the global directory. You
are prompted to define this directory the first time you install
Advance NDC. The default global directory is c:\ntglobal.
The directory structure on the development PC is as follows:
Global Directory Structure 2
Table 2-1
Development PC Directory Structure
Directory Contents
<drive>:\<working> Your working directory, which you create manually
after installing Advance NDC. Use it for your working
files, for example, your Author project files (*.mpj).
<drive>:\<global> Installation directory for Advance NDC. This
directory is known as your global directory. The
default is c:\NTGlobal but you can specify your own
name at installation time.
<drive>:\<global>\AUTHOR Author executable file.
<drive>:\<global>\AUTHOR\authres Author resource files.
<drive>:\<global>\AUTHOR\dict Author directory (used internally by the Author).
<drive>:\<global>\AUTHOR\dll DLL files supplied with the Author for Windows NT.
<drive>:\<global>\AUTHOR\XPDll DLL files supplied with the Author for Windows XP.
<drive>:\<global>\AANDCAPPS Final application files for Advance NDC.
<drive>:\<global>\HELP Context‐sensitive help files for the Author.
<drive>:\<global>\CUSTOM Source on‐line help files to enable the help to be
localised.
<drive>:\<global>\Test Test target system files.
<drive>:\<global>\Test\Include Include files for test target system.
<drive>:\<global>\Test\XFS\Dll DLL files for test target system
<drive>:\<global>\Test\XFS\Lib Library files for test target system.
<drive>:\<global>\Test\SUPPORT Support files for test target system.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Directory Contents
<drive>:\<global>\Test\SUPPORT\SYSTEM Support system files for test target system.
<drive>:\<global>\Test\SUPPORT\USER User‐modifiable support files (userfuns.scr, registry.scr)
for test target system.
<drive>:\<global>\Final Final target system files.
<drive>:\<global>\Final\Include Include files for final target system.
<drive>:\<global>\Final\XFS\Dll DLL files for final target system.
<drive>:\<global>\Final\XFS\Lib Library files for final target system.
<drive>:\<global>\Final\SUPPORT Support files for final target system.
<drive>:\<global>\Final\SUPPORT\SYSTEM Support system files for final target system.
<drive>:\<global>\Final\SUPPORT\USER All Author project files (*.mpj).
<drive>:\<global>\Final\<TARGET_SYSTEM> Target system directories for each
<TARGET_SYSTEM>. These must be created manually.
Other Folders and Files 2
In addition, the following folders are created under C:\Program
Files\NCR APTRA\Advance NDC:
ChequeImages for images of cheques
Config for schemas and XML files
Data for pmdata and custom.dat
Debug for log files
DisplayManager for HTML‐based screens
Media for media files
Pd for Problem Determination files
Screens for additional user‐defined screens
Security for files required for PCI DSS/PA DSS compliance
Snapshots for pictures taken by the security camera
Tools for supported utilities provided as part of Advance NDC
Tools (Unsupported) for NDC host
Some of the folders are populated with utilities and files.
The development PC has the following types of directory:
Directory Types 2
Global directory. This directory is the Advance NDC
installation directory containing all the Advance NDC authored
projects and software. The installation default directory is
c:\NTGlobal.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Working directory. You create and use this directory to save
your Author projects in. There can be many working directories
on a development PC.
Project directory. This directory is automatically created for
each Author project (*.mpj) when the Author project is saved. It
contains the database for the Author project file. The directory
name is the same as the specified Author project filename.
Custom components directory. The custom components
directory groups together all executables, picture and data files
belonging to one or more applications for a particular SST
environment. This folder can be created anywhere on your
system, but it must contain the ANDC.msi and _comp.ini files.
The ABT recognises any folder containing _comp.ini as an
APTRA component folder. These files can be found in the same
directory on the installation CD.
Files are stored by file type, not by runtime component. This
ensures that the PATH settings are not extended unnecessarily. For
more information on types of DLL directories, refer to the APTRA
Advance NDC, Developer’s Guide.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Installing the ActiveX Sample
Application 2
The installation of the ActiveX sample application is optional. This
sample application is no longer supplied on the Advance NDC
CD‐ROM, but you can request a copy by contacting NCR Financial
Software Engineering.
After you have installed Advance NDC, you can install the sample
ActiveX application on your development PC if you intend to work
with ActiveX controls:
1 Select Run on the Start menu.
2 Browse to the directory containing the ActiveX sample
application or type in the following:
<drive>:\ade_sample_app\setup.exe
For more information about the sample application, a bar code
scanner, see Chapter 5, “ActiveX Controls and APTRA Author”.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 3
The APTRA Author Methodology
Overview 3‐1
Graphical Programming Environment 3‐2
Communication Between Workers 3‐5
Types of Workers 3‐6
Using Workers to Extend Advance NDC 3‐6
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
The APTRA Author Methodology
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
The APTRA Author Methodology
C
Overview
Overview 3
This chapter describes the concepts used in the Author, the
workforce metaphor.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Graphical Programming
Environment 3
The Author enables you to build complex structures using building
blocks called workers. The software application is viewed as a large
workforce of co‐operating ‘workers’, each playing a small part in
providing the working application. For example:
Figure 3-1
Advance NDC workers
Using the Author it is possible to capture the following for the
elements in an application:
Sequence (identify the order in which Authoring components
are run)
Choice (select what to do next)
Concurrency (run components at the same time).
The Author graphical user interface (GUI) is used to do the
following:
Select, place and connect the flow of control between
components
Edit or amend the data and properties associated with each
component or signal flow.
The Author shows the organisational structure with names and
lines. Workers are grouped together in a bounding box shape, and
can be hidden within the worker above it in the hierarchy. This is
used to simplify the amount of data on the display at any one time
by hiding unnecessary (or unwanted) views of the hierarchy of
workers.
An Author application is viewed as a large workforce of
co‐operating workers, each responsible for a part of the operation of
the SST. For example, a worker may be responsible for displaying
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
an image on the screen, accepting a customer’s card or dispensing
cash.
Some workers solely perform operations or functions. Some act as
data stores providing access mechanisms to the data in the store.
Others also co‐ordinate the activities of other workers.
Workers can be organised to form complex hierarchical structures,
where the worker at the top of the hierarchy (known as the ‘top
worker’) is responsible for the complete application. Each worker
can group the workers below it in the hierarchy into work groups.
Figure 3-2
Worker Hierarchy
Workers
Work Group
There is a special worker, called a ‘director’, which can have links
between its work groups to specify the flow of control from one
work group to another. These links are referred to as work flows.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 3-3
Work Flows Between Work Groups
Director
Work Flow
Work Group
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Communication Between Workers 3
In an Author application, workers are ‘used by’ the worker above
them in the hierarchy. ‘Used by’ means that they are activated and
de‐activated under control of a worker in the hierarchy above.
Subworkers in the hierarchy can be used in one of three ways as
follows:
They can be read from
They can be written to
They can be activated.
Workers that can be activated are the most useful. They perform a
job of work. For example, a worker can be developed to write some
text to the screen, eject a card from a card reader, print a receipt on a
printer, and so on.
When you come to use the Author you will see how to define a flow
of control from one worker to another using the graphical tools
provided by the Author. You do not need to know how it is actually
done; all you need to know is that the worker will signal after its
task is completed.
Most Author workers can be activated, but some simply store data.
Data is either written to or read from them (or in some cases a
combination: they may be used as stores or converters). Some are
for storing information and others can be used to transfer
information to some other workers (perhaps unknown).
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Types of Workers 3
An application is viewed as a large workforce of co‐operating
workers, each responsible for a part of the operation of a self‐service
terminal, such as displaying an image on the screen, accepting a
customers card or dispensing cash. Some workers may call other
workers to help with their task. Some workers are ‘co‐ordinators’,
because they are responsible for co‐ordinating activities of other
workers to perform larger tasks. Some workers do not need help
from other workers and are called ‘loners’.
One special worker, a director, has the ability to combine workers to
form a new functional component. These components can be
created using a hierarchy of workers and the new director worker
can be re‐used throughout the application, or in different projects.
Although the complete Advance NDC application is provided, you
Using Workers to Extend may have to modify or extend the functionality and Advance NDC
Advance NDC 3
provides various ways to do this. Bear in mind that modifications
will have to be applied to future releases or service packs. Therefore,
NCR recommends that the re‐implementation effort be considered
in choosing a method.
Using the Author, you can create an instance of a worker class
supplied by NCR and define the data required to use it. For
example, the data you need to define for a displayer worker is the
text or picture to be displayed, and the data for the position on the
screen. You then add the new instance of the worker to an
appropriate place in the application. Another method is to combine
existing workers within a director to perform the required task.
If there is a particular task that cannot be performed using the
worker classes provided by NCR, you can write an external C
function or C Exit. It is also possible to create a new worker class to
perform the task, but this requires knowledge of the C++
programming language and NCR does not recommend it.
For information about the different implementation techniques you
can use extend the functionality of Advance NDC, and the best
options for particular scenarios, refer to APTRA Advance NDC,
Extending the Product.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 4
First Steps in Building an
Application
Overview 4‐1
“Hello World” Tutorial 4‐2
Finding the Correct Component 4‐4
Method 1 4‐5
Method 2 4‐5
Method 3 4‐5
Setting the Properties of Components 4‐6
Starting the Simulator 4‐7
Running the Application 4‐7
Creating an Attractor Sequence 4‐9
Top Worker 4‐9
Co‐ordinator 4‐9
Director 4‐9
Behaviour of Work Groups within a Director 4‐9
Creating an Application 4‐10
Using a Director Worker 4‐10
Creating a Director Worker 4‐10
Adding the Hello World Worker 4‐12
Modifying Attributes Dynamically 4‐12
The Attractor Sequence 4‐13
Adding a New Top Worker 4‐13
Adding a Timer and Editing its Attributes 4‐14
Creating Screen Text 4‐14
Sharing a Timer Worker 4‐15
Copying the Text Worker 4‐15
Signals Available from a Worker 4‐16
How Workers Communicate 4‐18
Connecting the Flow 4‐18
Running a Completeness Check 4‐20
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
First Steps in Building an Application
Running the Test Application 4‐21
Test Window Menu Options 4‐23
SST Screen Size 4‐23
Screen Displayer Mode 4‐23
Conclusions 4‐25
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
First Steps in Building an Application
D
Overview
Overview 4
The Author software is installed as part of Advance NDC. However,
if Advance NDC is not yet installed, refer to the APTRA Advance
NDC, Overview on the Advance NDC CD‐ROM for installation
information.
In this chapter, you will learn how to use the Author to build a
simple application. A tutorial leads you through the development of
the application and the testing of each stage on the development PC.
Note: You will normally modify the Advance NDC applications
provided by NCR, not develop completely new ones. The tutorial
goes through the development of a simple application to help you
become familiar with the Author environment.
As you go through the tutorial, the various concepts required for an
understanding of the environment are discussed.
The simple application you will build provides sample attractor
screens prompting the user to enter a card.
This chapter consists of the following information:
Building and executing your own “Hello World” application
Creating an attractor sequence
How workers communicate
Performing a completeness check
Performing a final build
Running a test application
Creating project reports
Conclusions.
Note: In the tutorials that follow references to the left and right
mouse buttons are given as MB1 and MB2.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
“Hello World” Tutorial 4
Open an Author project that has the relevant Authoring
components supplied by NCR, as follows:
1 On the Windows Start menu, select All Programs | NCR APTRA |
Advance NDC | APTRA Author to run the Author program.
If more than one User ID has been installed, a dialog box
appears as follows:
Figure 4-1
User ID Dialog Box
2 Select your name from the list and then OK to display the main
author screen.
Status Bar
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
3 From the main Author screen, select File | Open to open an
existing project (or alternatively, select the first icon in the Tool
Bar, ‘Open Project’).
4 Move to the directory <drive>:\<global>\Final\Support\User
and select CustomisationLayer.mpj.
5 Select the Open button to open the project for the Customisation
Layer components.
The first thing you must do is save this project with another
name (do not overwrite the originally supplied .mpj project file).
7 Move to the <drive>:\<working> directory. Enter tutorial.mpj
as the filename and select Save.
Note: Ensure that you save the new project in your working
directory and not the global directory.
Create a new module and assign it as your default module, then
create a new catalog and finally a new application. The module
gives you ownership, and the catalog allows you to group the
components you create in an organised manner. Complete the
following steps.
1 Open your project and on the Modules menu, select Create and
type in Tutorial as the name.
2 On the Modules menu, select Default, and then Tutorial as your
default module.
Your module name is displayed in the Author status bar.
3 On the Components menu, select New | Catalog; type in Tutorial -
part 1 for the name and select OK.
4 Select the catalog by selecting MB1 anywhere inside the catalog
window.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following picture is displayed on the screen:
Figure 4-3
Creating the “Hello World” Application
Catalog Window
Now that you have created a component in your catalog you can
use it in the workspace to start developing your application.
6 Double‐click on the Hello World icon shown.
This opens a view of the Hello World application in the Author
workspace, ready for you to add workers to it.
The following diagram shows the application in the workspace
window.
Figure 4-4
“Hello World” Application in the Workspace
Workspace
Window
For this “Hello World” simple application, you are going to use a
Finding the Correct worker that will display a text message. You will find the worker in
Component 4
the Displays catalog.
You can add a worker to the work group in one of three ways,
described on the next page.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Method 1 4
2 Select Displays from the list. A catalog with the Displays workers
is shown. You may need to select Window | Tile from the menu to
ensure that the catalogs are all visible (and not one on top of
another).
3 Copy the Fixed Front Text worker into the Top Worker of the
application. (Hold down MB1 on the worker, press the Control key
(Control for Copy) and drag the icon to its destination.)
Method 2 4
1 Select MB2 anywhere inside the work group of the Top Worker.
Method 3 4
Figure 4-5
Adding a Text Worker
So far, you have completed the following:
Created your own Tutorial catalog
Created a Hello World application
Added a Fixed Front Text worker to your application.
By adding the Fixed Front Text icon you are indicating that you
want to display some fixed text on the operator screen of the
self‐service terminal.
To obtain information about the worker’s functionality, you can use
MB2 and select Help from the pop‐up menu. When you select a
component icon, the status bar is updated to display the component
ID of the worker and the module it belongs to.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The help indicates what the worker will do when it is activated.
When an application is executed, the Top Worker is activated first.
You now need to define the actual text you want the Fixed Front
Setting the Properties of Text worker to display, and also some of its other properties, such as
Components 4
colour and position.
1 Select the Fixed Front Text icon with MB2 and open the Settings
dialog box by selecting Worker Settings from the pop‐up menu
(you can also double‐click MB1 on the icon).
The Settings dialog box allows you to modify the properties of
the worker.
Figure 4-6
Worker Settings Dialog Box
2 Re‐name the worker Hello World and change its attributes as
shown in the table below.
Text String Hello World
Tip To modify each attribute, double‐click MB1 on the attribute,
enter its new value and then select OK.
There is no need to close the Settings dialog box. Changes take effect
immediately they are made.
Although there are other types of dialog boxes in the Author, you
will probably use the Settings dialog box the most. The Settings
dialog box is used to view and edit the properties of the following
objects in the Author:
Component (such as an application, worker or catalog)
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Work group
Work flow.
You can display or hide the Settings dialog box by selecting the
Open Settings option in the View menu. A check mark to the left of
the Open Settings menu option indicates that the Settings dialog is
visible.
For more information on the Settings dialog box, see the on‐line
help.
You now have a complete application. If you have the APTRA XFS
Simulator (Simulator) installed, you can test the application outside
the Author, in the PC environment to see its effect. You must ensure
that you have started the Simulator before running the Author Test
Application.
NCR recommends that you test your application frequently when
creating and adding new components. This will allow you to correct
problems at each stage in the development.
Save the project now before testing the application (Select File |
Save).
It is good practice to save your work regularly.
For information about starting the Simulator, refer to the on‐line
Starting the Simulator 4
help accompanying the Simulator.
Note: The Simulator is a separate product, not provided with
Advance NDC. but can be purchased from NCR.
Now run the Hello World application.
Running the Application 4
1 Select the application icon (on the blue background) with MB2.
On the Application pop‐up menu, select Start.
The application will start executing. You should see a new
window appear with the name of the application on the title bar.
This is the Test Application window and it represents the screen
of the SST.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 4-7
Displaying the Test Application Window
2 Select Stop from the Application pop‐up menu. Now change the
Text String in the Fixed Front Text worker to “World Hello“.
Re‐start the application by selecting the application icon with
MB2, then Start from the pop‐up menu. The text changes on the
screen.
3 Without stopping the application, change the text back to Hello
World.
Notice that the text changes dynamically in the Test Application
window.
4 Stop the application by selecting the application icon with MB2,
then Stop from the pop‐up menu. Select the window in which
Hello World was displayed and close it by double‐clicking MB1
on the top left hand corner.
Note: Do not exit the Simulator.
Sharing the “Hello World” Fixed Operator Text worker into your
own Catalog lets you use it again later. This is another benefit of
using the Author: re‐use of components.
1 Select the Hello World worker with MB1.
2 Holding down the Shift key (Shift for Share) and MB1, drag the
worker into your catalog.
3 Close the workspace view by double‐clicking MB1 on the top left
hand corner of the workspace window.
You have now completed your first application, so save the project.
For more information about sharing, see “Sharing a Timer Worker”
on page 4‐15.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Creating an Attractor Sequence 4
In the previous section you created a complete application, although
its only task was to display a single text message on the screen.
However, in your applications you will require many tasks to be
performed. Throughout the rest of this tutorial further components
will be added to build up the application. Each step will show new
features of the Author.
The following types of workers are described in this section:
Top worker
Co‐ordinator
Director.
For details of these components, read Chapter 3, “The APTRA
Author Methodology” and make sure that you understand their
operation before continuing with the following examples.
More detailed information is available in the on‐line help. On the
Help menu, select Author Help Topics to get a list of the complete help.
Use the Find tab to find help on the appropriate subject. Use the
Contents tab if you want to navigate your way through the help
system yourself.
An application contains a top worker, which may be a loner (such as
Top Worker 4
the Fixed Front Text worker) or a co‐ordinator. Normally a special
type of co‐ordinator, the Director, is used as the top worker.
Any worker that has one or more work groups is known as a
Co‐ordinator 4
co‐ordinator, as it co‐ordinates the operation of the workers within
its work group(s).
A co‐ordinator is used to control other workers beneath it.
The Director worker is used to control the flow of an application. It
Director 4
contains a number of work groups, called Places, which are
containers for subworkers. One of these work groups is labelled
START. This workgroup will be the first work group to be activated
when the Director is enabled.
The Director uses work flows between the work groups to control
the flow of the application.
Behaviour of Work Groups within a Director 4
A Director contains work groups and each work group can contain
a number of workers. Using one of the Director’s work groups as an
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
example, the Director activates each worker in the work group in
turn, with the worker at the far left of the first row being activated
first. The workers are activated in turn very rapidly and it appears
as though they are activated simultaneously.
All workers in a Director will be started, regardless of whether the
first worker generates a response before any other worker has been
activated. The co‐ordinator will not look for any signals during this
‘start‐up’ phase. When all the workers have been activated, the
(Director) co‐ordinator will be in a position to recognise when a
signal is raised. All the workers will then be de‐activated before the
co‐ordinator responds to the signal.
Before you can create workers, you need to create an application, as
Creating an Application 4
follows:
1 Select your Tutorial ‐ part 1 catalog. Create a new application by
selecting Components | New | Application from the menus.
A Director worker is a very powerful type of worker that you will
Using a Director Worker 4
use frequently. To learn about Director workers before creating one,
complete the following:
1 To open the Supervisor Example catalog, select the Open
Catalog icon on the tool bar with MB1.
Remember that you can select Window | Tile to rearrange windows.
2 In the Supervisor Example catalog, double‐click MB1 on the
application icon.
3 In the Supervisor Example workspace, select the Director
Worker with MB2, then select Help from the pop‐up menu.
The Runtime Core Help describes how a Director worker behaves.
Your new application will contain two Attractor Screens and a
Creating a Director means to allow entry of a card. We will create some new workers in
Worker 4
your working catalog (Tutorial ‐ part 1), so ensure that it is selected.
The first worker to be created is a Director worker, as follows:
1 Select Components | New | Worker.
2 Highlight the Director worker class and double‐click MB1. A new
icon appears in your catalog.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
3 To define the name of the new worker, you can select the icon
with MB2, then select Worker Settings from the pop‐up menu. Enter
the name IDLE SEQUENCE. Alternatively, use one of the other
methods described in “Finding the Correct Component” on
page 4‐4.
4 Double‐click on the Attractor Application icon to show the
workspace view of the application.
5 Share the IDLE SEQUENCE icon (select the icon in your catalog
with MB1, then pressing the Shift key and MB1, drag the icon) into
the Top Worker of the application.
6 Double‐click on the worker to view its picture (see the following
diagram).
Figure 4-8
Idle Sequence Director in the Workspace
Director
Work
Group
The work group allows you to add workers to the Director to
perform some operations (in the following example to display text
or pictures, or both, on the screen).
You will notice that the first work group has a START label attached
to it. This label indicates the work group that will be activated first.
When the Director itself is activated it will activate all workers
within this work group.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The top worker will become activated under one of two conditions,
as follows:
Started from within the Author (to test it on the development
PC)
Installed on an SST and the SST is powered on (the application
will automatically start executing).
The first method will be used in this tutorial to test the application
as it is being developed.
You are now going to add the Hello World worker you created
Adding the Hello World earlier to the START work group. The difference here is that you
Worker 4
will encapsulate a specific worker in the worker structure, allowing
you to add more workers, for example to display more text to the
screen. The first example of Hello World would not allow you to
add more workers.
1 Share the “Hello World” Fixed Front Text worker into the
START work group.
2 Select Start on the Attractor Application.
The resultant display is exactly the same as the example earlier.
A feature of testing your application on the development PC is the
Modifying Attributes ability to modify attributes dynamically. You can do this even while
Dynamically 4
the application is executing.
This example shows you how to change the colour and position of
the displayed text.
1 Select the “Hello World” text on the (simulated) screen with MB1.
Hold MB1 and drag the text to a new position.
You can see the co‐ordinates have changed by viewing the
Attributes list in the worker’s settings.
2 To change the text colour, double‐click MB1 on the text and select
the Colour Editor from the dialog box.
Figure 4-9
Selecting the Colour Editor
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
3 Choose a different colour from the displayed palette.
4 When you select OK, notice that the colour of the ‘Hello World’
text changes to the colour you selected in the palette editor.
Notice also that the Text Colour attribute has changed by
viewing the Attributes list in the worker’s settings.
5 If you wish, you can also dynamically change the font of the text
using the Font Editor.
6 When you are satisfied with the colour and font of the text, stop
the application running and close the Test Application window.
Each type of worker has a different behaviour (as do all the workers
The Attractor Sequence 4
supplied by NCR). To build an application, you need to become
familiar with the behaviour of the various types of workers
available in the catalogs. Different types of workers have different
icons.
Viewing the catalogs will provide you with an indication of the
types of workers that are available (you can also look at the on‐line
help). For an example, look at the Displays catalog to see several
types of Text and Picture Display workers.
The steps in this task will lead you through creating an attractor
sequence (of two pictures for ten seconds each). You will then run
the application on your development PC.
For the attractor sequence, you will need a Timer worker and two
screens with appropriate text messages. Later we will see how to
add picture files to provide a more user‐friendly attractor screen.
In this section, you will continue to learn how to share and copy
components.
Here you will remove the IDLE SEQUENCE Director from the
Adding a New Top Attractor application and then add a new top worker.
Worker 4
1 Select the Director with MB2 and select Remove. Then select Yes
when prompted with the confirmation message.
3 Copy the Attractor Sequence worker into the Tutorial ‐ part 1
catalog.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Here you will add a ten‐second timer to the START work group:
Adding a Timer and
Editing its Attributes 4
1 In the workspace view of the Attractor application, select the
Start work group with MB2.
2 Select Add Worker to show the pop‐up menu. Select Timer from the
list.
A Timer icon now appears in the work group.
3 Open the Worker Settings dialog for the Timer, and change its
name to 10 SECONDS.
4 Double‐click on the <Time Delay> attribute and type 10 (for 10
seconds) into the dialog box.
Your workspace should now look like this:
Figure 4-10
“10 SECONDS” Timer in the Workspace
A Fixed Front Text worker will be used to display a message on the
Creating Screen Text 4
screen. You need to add an additional worker to the START work
group, share it to your catalog and create a second work group.
1 Select the Start work group with MB2 and on the pop‐up menu,
select Add Worker.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
For the moment you can leave all other attributes at their default
value.
3 To share the new worker to your catalog, select the icon, then
press the Shift key and MB1 to drag the icon into your catalog.
4 To create second work group in the Director, select the grey
worker picture area with MB2, then select Add Workgroup from the
pop‐up menu.
This provides a work group titled Place 2.
A Timer is also required for the other attractor screen. Instead of
Sharing a Timer Worker 4
creating a new Timer worker the existing worker can be shared.
Sharing permits a worker to be used in many places and its
attributes may be accessed and updated from any of the work
groups or catalogs in which it is used.
To share the existing ten‐second Timer:
1 Select the Timer icon in the START work group
2 Hold down the Shift key and MB1 to drag the icon into the empty
work group.
Satisfy yourself that the two Timers are actually the same. For
example, select one Timer and using the Settings dialog move to the
Description tab and enter the description ʹattractor timerʹ. Select the
other Timer and observe that the same description appears.
Note: You have shared the same Timer worker between two work
groups.
If you change the Time Delay attribute to 5 seconds for one of the
Timers, it will be changed across all the shared workers.
Copy the IDLE 1 worker from the first work group to the second
Copying the Text Worker 4
one.
1 Select the IDLE 1 icon in the START work group
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
2 Hold down the Control key and MB1 to drag the icon into the
second work group.
3 Name the new worker IDLE 2 and set its attributes as follows:
Note: The Text String remains the same when you copy a
worker and hence you did not need to re‐enter it here (as we
want the same text string).
You now have the following application:
Figure 4-11
Copying the Text Worker
As described earlier with the workforce metaphor, workers have
been created to perform some set of operations. However, we need
to capture the control from one worker to another. The Author uses
the concept of Signals to indicate events in workers. For example, in
the Timer worker above, a signal will be generated to indicate that
the time‐out period has occurred.
To find out what signals are available from a worker, look at the
Signals Available from a on‐line help, as follows:
Worker 4
1 Select the worker icon with MB2.
2 Select Help from the pop‐up menu.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Try this on the Timer worker. You will see that there is only one
signal available and its purpose is to signal when the specified delay
has completed.
Figure 4-12
Signals from the Timer Worker
The following section describes the concepts of signals and how
workers communicate.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
How Workers Communicate 4
In an Authored application, workers are organised in a hierarchy.
The workers can be thought of as working for the worker above
them. Active workers are the most useful. They perform operations
such as drawing on the screen, looking for key presses, or
dispensing cash.
As discussed previously, the top worker is activated when the
application is started. Other workers are activated when specific
events occur. The next section describes the connection of signals
from one work group to another. This is called adding work flows.
Each of the Timer workers is able to generate a Delay Complete
Connecting the Flow 4
signal at the end of the Timer period. In this example, after the
time‐out of each Timer the other worker should activate (to display
the alternative attractor screen).
1 Select the START (Place 1) work group with MB2, then select
Create Workflow from the pop‐up menu.
The following cursor is then shown:
2 Select the other (Place 2) work group. A work flow has now
been added between the work groups.
3 Now add a work flow from the Place 2 work group to the Place 1
work group.
This indicates that when a signal occurs the source work group will
be de‐activated and control will pass to the destination work group
pointed to by the arrow on the work flow. Note that we have not yet
specified which signals cause the control to change. This will be
done when you select a signal.
1 Select one of the work flows (click MB2 and select Workflow
Settings). A dialog box appears allowing you to name the flow
and to allocate a signal generated by a worker. (There may be
more than one signal generated by a worker so ensure that you
select the correct one.)
2 Type in Delay Complete for the Name and select the 10
SECONDS ‐ DelayComplete signal from the list box.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
3 Repeat this for the other work flow.
Note: The Depth drop‐down list box allows you to limit the search
and selection of available signals to assign to a work flow. This is
especially useful for performance reasons when an application
contains a deep worker hierarchy and you want to assign a signal
that is generated near the top of the hierarchy. Since this manual
only involves you developing relatively simple applications, you
can leave the Depth at its default value of ‘Full’ when assigning
signals to work flows. For more information about this feature, refer
to the Author on‐line help.
The application now looks like the following diagram:
Figure 4-13
Assigning Signals to Work Flows
Note: Be careful when selecting the work flow. If you double‐click
slightly off the flow you will cause the work group view to be
removed. You will need to double‐click on the Director again to
re‐display its picture view.
We will now check the completeness of this simple application and
then execute it on the development PC. Before doing so, first save
the project. (On the File menu, select Save.)
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Running a Completeness Check 4
To run a completeness check, complete the following:
1 Select the application, then select the blue area with MB2 to access
the pop‐up menu.
2 Select Completeness Check to check that you have completed all the
appropriate settings for each worker.
3 Select OK when prompted with the following dialog box.
Figure 4-14
Completeness Check Dialog Box
The following report will then be displayed on the screen.
Figure 4-15
Successful Completeness Check
If there is a problem, a window will list the problems as follows:
Figure 4-16
Completeness Check with Errors
The errors shown on the above screen are only warnings. This
means that you can still test the application on the development PC.
You will not be able to perform a build final on a Final Application
for execution on the SST until the causes of all such warnings are
resolved.
Note: In some cases you can build an application that indicates
‘Warning Only’. For details, see Appendix A, “Troubleshooting”.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Running the Test Application 4
Now start the test application running.
1 Select the blue area on the top worker with MB2.
2 On the pop‐up menu select Start.
At this point you should see a new window appear with the name
of the application shown on the title bar. This test window
represents the screen of the SST. However, if the test window does
not appear, there has been a problem with the steps you have taken.
Either re‐trace your steps or see Appendix A, “Troubleshooting” for
help.
Another window should appear with the name ‘Simulated Timers’
in its title bar. This window enables you to pause a test application
when a Timer worker is active. When a Timer worker is active and
you press the Pause button, the Timer pauses and so cannot
produce its DelayComplete signal. The application can be resumed
by pressing the Running button in the Simulated Timers program.
The test window should begin by showing the text from the Fixed
Front Text worker in the START work group. After the Timer’s
specified time has elapsed, the screen should show the text from the
Fixed Front Text worker in the second work group. This cycling
between the two screens will continue until you stop the
application.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
You will notice that as the application is running, the currently
active work group is highlighted, as indicated in the following
diagram:
Figure 4-17
Active Work Group
Note: Highlighting of the active work group applies only to small
applications. As a result of the modularisation of state types and
transaction reply functions, highlighting does not apply in the
Advance NDC application DLLs.
1 Stop the application.
2 Modify the Time Delay attribute in the Timer worker (it does
not matter which Timer you select as it is the same worker
shared in two places) to two (2.0) seconds.
3 Select Start on the Top Worker to re‐start the application. You
will now see the text cycling at a faster rate.
You can also modify the properties while the application is
executing. You do not have to stop and start the application each
time.
1 Without stopping the application, select a Timer and change the
time delay to 10.0 seconds.
2 Change the Text String attribute for the IDLE 1 text worker to
“We would like you to enter a card”.
You should now see the new text alternating at a rate of 10
seconds.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Now save the project as follows:
1 Stop the application and close the Test Application window.
2 Share the Attractor Sequence worker into your catalog.
3 Close the workspace window and save the project.
Note: When designing screens for the SST, be aware of the
possibility of monitor burn‐in. This effect can be reduced by
frequently cycling between an image and its inverse (for example,
displaying an image in white and then in black). For more details of
the effects of monitor burn‐in, see Appendix F, “Display
Considerations”.
If you select the test window’s title‐bar icon, this reveals the title‐bar
Test Window Menu drop‐down menu. This menu contains two significant Author menu
Options 4
items:
SST Screen Size
ScreenDisplayer Mode.
SST Screen Size 4
This menu item sets the size of the test window on the development
PC. This allows you to preview how an application will look when
run on an SST with a different screen resolution from that of your
PC. The size options are as follows:
640 x 480
800 x 600
1024 x 768
1152 x 864
1280 x 1024.
Screen Displayer Mode 4
This menu item allows you to determine the appearance of workers
contained within a Screen Displayer worker and whether the
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
workers are editable when running a test application. The menu
options are as follows:
Test
Final.
In Test mode, workers in a Screen Displayer can be edited.
However, the appearance of the screen will not be as seen on the
final SST. While editing, the screen is not refreshed as in Final mode
and black areas are left on the screen.
In Final mode, the appearance of the screen is exactly what you will
see on the SST. However, workers in a Screen Displayer cannot be
edited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Conclusions 4
In this chapter you have built your first application. It was a simple
application using the basic concepts. The application was tested in
the Author on the development PC. You did not need to run it on
the SST.
By this stage you should be familiar with the concepts of using the
Author, how to use existing workers and define the unique
properties for your application.
In the next chapter we will look at more powerful objects that let
you add more powerful types of workers. These workers provide an
interface to the devices on an SST, for example, the Card
Reader/Writer, Journal Printer and FDK keypad.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 5
ActiveX Controls and APTRA
Author
Overview 5‐1
APTRA Author and ActiveX 5‐2
ActiveX Controls 5‐2
ActiveX scripting 5‐3
Generating ActiveX Controls 5‐3
APTRA Author Workers and Utilities 5‐4
Workers 5‐4
Active Control 5‐4
Active Script Host 5‐5
Automation Object 5‐5
COM Initialiser 5‐5
Integer Signaller 5‐5
Variant Store 5‐5
Web Event Monitor 5‐6
Web Page Loader 5‐6
Using a Web Page Interface 5‐6
Software Utilities 5‐9
Control Browser 5‐9
Control Builder 5‐9
Script Editor 5‐9
The Barcode Scanner Sample Application 5‐11
Performing a Module Copy 5‐11
ActiveX Sample Application 5‐13
Barcode Sample Application 5‐13
The Sample Host Application 5‐14
Advanced Functionality 5‐18
Hints and Tips 5‐19
Active Script Host 5‐19
Screen Displaying With Script Hosts 5‐19
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
ActiveX Controls and APTRA Author
Multiple Result Work Groups 5‐19
Enumerated Types 5‐20
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
ActiveX Controls and APTRA Author
E
Overview
Overview 5
This chapter introduces ActiveX within the Author by describing
the following:
The ability of the Author to integrate with ActiveX technology
and third‐party software tools
The Author workers and the software utilities provided for
ActiveX
The ActiveX sample application
Hints and tips.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author and ActiveX 5
The ActiveX workers enable the Author to integrate with commonly
used third‐party application development environments.
Microsoft ActiveX technology has emerged as a popular mechanism
for the creation and re‐use of component software. The underlying
technology of ActiveX is the Microsoft Component Object Model
(COM). Many popular ADEs support this technology, for example,
Microsoft Visual C++, Microsoft Visual Basic and Sybase
PowerBuilder.
COM support lets you use other development tools to suit your
particular application development, as follows:
For complex application structure and concurrency ‐ use the
Author
For GUI development and data manipulation ‐ use, for example,
Visual Basic, Visual C++ or PowerBuilder.
The Author supports ActiveX by providing access to ActiveX
controls from within an Authored application, and allowing
manipulation of those controls through ActiveX scripting. It also
allows flows to be generated as ActiveX controls.
An ActiveX control is a tool‐independent component that can be
ActiveX Controls 5
used in various environments; for example C++ applications, .NET
applications, and web pages using scripting languages that support
ActiveX.
ActiveX controls are typically designed to provide common
functionality. Since ActiveX controls are tool independent, they can
be used within any Control Container environment to develop
applications.
An Authored application can become a control container. The
Author is able to use ActiveX controls created by other
ActiveX‐enabled development environments. It achieves this by
wrapping an ActiveX control within a worker called the Active
Control. This is introduced in “APTRA Author Workers and
Utilities” on page 5‐4.
Note: ActiveX controls can be known under different names such
as OLE controls, Active controls and COM objects.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
ActiveX scripting is constructed from two main components:
ActiveX scripting 5
ActiveX scripting hosts ‐ the application on which a script is run
ActiveX scripting engines ‐ the language in which the script is
written.
The ActiveX scripting architecture consists of a series of COM
interfaces which define a protocol for connecting scripting engines
to host applications. The scripting engine supported by the Author
is Microsoft’s Visual Basic, Scripting Edition (VBScript).
The Author supports ActiveX scripting through the creation of the
Active Script Host worker, described in “Active Script Host” on
page 5‐19, which acts as an active scripting host using VBScript. To
use the Author features described here, you need to be familiar with
VBScript.
An Authored flow built as an ActiveX control using the Build Final
Generating ActiveX option consists of the following files:
Controls 5
An Authored flow DLL file
A wrapper file, <ApplicationName>Ctrl.dll
Note: If the ANDC_CONTROL_BUILD environment variable is
disabled (changed to 0 from the default 1, enabled), the wrapper
file is not created.
A strings file, <ApplicationName>.str
A file reference file, <ApplicationName>.frf
The ActiveX control can be used either as a stand‐alone application
or as part of a larger worker hierarchy; for example with Advance
NDC.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author Workers and
Utilities 5
Access to ActiveX scripting and ActiveX controls from within an
Authored application is provided by the ActiveX worker classes in
the Advance NDC projects.
This section includes an illustration of how to construct a simple
consumer flow with a web page interface, using the Web Event
Monitor and Web Page Loader workers; for more information see
“Using a Web Page Interface”.
The “The Barcode Scanner Sample Application” section describes
the ActiveX sample application we provide, and explains the use of
some of these workers within them.
The following workers enable the Author to access ActiveX
Workers 5
controls:
Active Control
Active Script Host
Automation Object
COM Initialiser
Integer Signaller
Variant Store
Web Event Monitor
Web Page Loader.
An introduction to each of these workers is provided in the
following pages; further details of all of these workers (except the
generic Integer Signaller) are available in the ActiveX Worker Class
Help.
Active Control 5
The Active Control worker wraps an ActiveX control and allows
access to it from within the Author. It can be used to integrate any
ActiveX control which has been correctly written and installed on
your PC ‐ either third party, or created by yourself using another
development environment. This Control can also be displayable
when an application is running.
As well as containing the Control’s associated class identifier, this
worker’s Class Identifier attribute enables access to a Control
Browser providing a list of ActiveX controls installed on your PC.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Note that user‐generated ActiveX controls employed within the
Author must support the IProvideClassInfo and ITypeInfo
interfaces.
Active Script Host 5
The Active Script Host worker provides access to ActiveX scripting,
using VBScript, and ActiveX controls from within an Author
application.
The attributes of this worker include the script that the host will run,
and the variable names required to identify the COM objects to be
used. Its Script attribute enables access to a Script Editor for entry to
and editing of your script.
Automation Object 5
The Automation Object worker wraps an Automation Object
allowing access to it from within the Author. It can be used to either
integrate a third party Automation Server Object, or an Automation
Object you have created.
Using this worker enables use of components created by third party
ADEs, for example Visual Basic. These components can be accessed
by querying, setting their properties or invoking their methods
through the Active Script Host.
COM Initialiser 5
This worker creates and initialises a COM object associated with the
subworker object.
The COM Initialiser is useful if you are using an Active Control
class to wrap a complex Active Control object which has a long
initialisation time. You can make sure that any delay due to the time
taken to create the COM object is handled before the COM objects
are used, by dropping the Active Control class into the Data Objects
work group. This prevents the delay occurring during customer
transactions.
Integer Signaller 5
This worker was originally for use within an SSDS Flow, which is
not supported. However, it can still be used as a Passthru worker.
Variant Store 5
The Variant Store worker is used to share data between different
Active Script Hosts. The Data it stores is of type variant which
allows it to hold string, integer or real data types.
Note: The Integer, String and Real Data Store workers have been
enhanced to support COM. They can be used to share data as in a
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
normal Author flow and manipulated as Variant Stores using
VBScript from within an Active Script Host.
Web Event Monitor 5
The Web Event Monitor worker monitors (waits to receive) the
COM event specified by its Event Name attribute.
On receiving the COM event, this worker produces a Triggered
signal.
Use this worker concurrently with a Web Page Loader worker, to
monitor any web page objects which produce COM events.
This worker class should be used in conjunction with the Microsoft
Web Browser control to display a web page.
Web Page Loader 5
This worker enables a web page to be loaded within an Author
application. It instantiates a Microsoft Web Browser control, which
can then be scripted within its Script attribute.
The Web Page Loader is a Script Host, similar to an Active Script
Host worker, with additional Area, Position, and URL attributes to
specify the web page to be loaded. It contains an Active Control
worker configured as a Web Browser control, referred to as an
ʹActive Controlʹ.
When activated, this worker performs the following:
Informs the script engine which Automation Object and Active
Control workers are available
Displays any controls which are displayable objects
Displays the Web Browser control, using the area and position
attributes specified
Navigates to the URL specified in the URL attribute
Synchronously invokes the Activate function of the script.
On deactivation, this worker invokes the Deactivate function of the
script, and when this is complete, returns to the Author flow.
Note: Advance NDC passes complete control to a web‐based exit
and therefore does not use the Web Event Monitor and Web Page
Loader workers.
The Web Event Monitor and Web Page Loader workers assist in the
Using a Web Page development of consumer flows within the Author where the aim is
Interface 5
to provide a web‐page‐driven graphical interface to the cardholder.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following extract from the sample application illustrates how
the workers and controls interact in this solution, in a consumer
flow.
Figure 5-1
Interaction of Workers and Controls
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The web pages welcome1.htm and welcome2.htm are each simply a
page representing a transaction for the customer to choose, as
follows:
Withdrawal
“Welcome2”
Enquiry
Each Web Page Loader worker loads the initial page Welcome1.htm
or Welcome2.htm. The example VBScript shown below ensures that a
failed navigation results in activation of the Failed work group,
which in this case contains a Passthru worker:
Sub WebBrowser_BeforeNavigate2(pDisp,URL,Flags,
TargetFrameName,PostData,Headers,Cancel)
' The following code is provided to catch Navigation
errors
' Add to this code to catch other Navigation exceptions
If InStr(1, URL, "dnserror", vbTextCompare) > 0 Then
Cancel = True
ActiveWorkGroup.Failed=True
End If
End Sub
The flow passes between Welcome1 and Welcome2 every 10 seconds
by using a Timer worker, which on expiry activates a Result work
group containing a Passthru worker.
Welcome1.htm and Welcome2.htm are identical in function, and both
contain a self‐service button. When pressed, each button informs the
Web Event Broker object by calling a method, passing it the event
name associated with the button (‘Tx1Press’ or ‘Tx2Press’
respectively).
The Web Event Broker object then fires an event, which is handled
by the Web Event Monitor worker with the relevant event name
attribute.
Then any active Web Event Monitor worker whose named event
attribute matches the above event name will produce a ‘Triggered’
signal.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
This allows the consumer flow to continue to the next stage, shown
as ‘Card Entry’ in the extract from the sample application,
Figure 5‐1 “Interaction of Workers and Controls”.
The web pages are loaded through Web Page Loader workers, and
any user‐generated COM events are handled through the buttons
and the Web Event Broker object, passing control back to the Author
to continue the consumer flow.
The advantage of these workers and objects is that they enable you
to use the benefits of both the Author and web‐page technology for
the user interface.
The following utilities are provided:
Software Utilities 5
Control Browser
Control Builder
Script Editor.
Control Browser 5
The Control Browser, a Literal Type Editor for the Class Identifier
attribute in the Active Control worker, displays a list of all the
ActiveX controls installed on your development PC. It is invoked
when editing the Class Identifier attribute in an Active Control
worker. The Control Browser enables an ActiveX control to be
selected from those installed on your PC.
Control Builder 5
The Control Builder is invoked when ‘Build Final’ is selected within
the Author. It dynamically creates, from any Doer subclass, a
C++/CLI (Common Language Infrastructure) Control class, which
contains a wrapper for the associated Author flow functionality.
The wrapper exposes a COM interface, allowing the control to be
used in either an ActiveX or .NET environment.
When invoked, the code is automatically generated in a
sub‐directory of the output directory. The code is then compiled to
generate the wrapper. Following successful compilation, the
generated code is deleted.
Script Editor 5
The Script Editor is a Literal Type Editor for the Script attribute in
the Active Script Host worker, and enables the entry of VBScript
associated with the Active Script Host worker.
The Script Editor provides empty template functions to which script
can be entered, and to associate script with events generated from
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Active Control workers in the Data Objects work group (that is,
‘Event Handlers’).
It also enables you to view the Methods, Properties and Events of
ActiveX controls included in the Data Objects work group.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The Barcode Scanner Sample
Application 5
The ActiveX sample application, Barcode Scanner, demonstrates a
simple use of the ActiveX workers. If you would like a copy of the
sample application, contact NCR Financial Software Engineering.
See “Installing the ActiveX Sample Application” on page 2‐9 for
details of installing the sample application.
The Barcode Scanner shows use of an ActiveX control within an
application. By looking through the sample application you will
gain an understanding of how to:
Access the Methods, Properties and Events of an ActiveX
control
Access and define user‐generated procedures
Access and define VBScript functions.
This standalone application is described step by step in the section
“Barcode Sample Application” on page 5‐13.
Initially, you do not own any of the Authoring components in the
ActiveX Sample Application. You cannot view it unless you own its
components. To become the owner of the components, you need to
perform a Module Copy, as described in the following section.
Performing a Module Copy 5
A Module Copy allows you to take a copy of all the components in a
Module. The new components are put into a new Module and you
become the owner of these components. The components belonging
to the old Module are then deleted.
To perform a Module Copy on the ActiveX sample applications
components, do the following:
1 Start the Author (on the Start menu, select Programs | NCR APTRA |
Advance NDC | APTRA Author).
2 Open the Customisation Layer project (which you will find in
your <global>\Final\Support\User directory).
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 5-3
Opening the Customisation Layer Project
3 On the Tools menu, select Module Copy.
4 Select the ActiveX(TM) Sample Application module and select OK.
Figure 5-4
Module Copy Procedure
5 When prompted with the following message, select Yes.
Figure 5-5
Confirmation Message
6 When the Module Copy is complete, save the project with a
different name.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Note Ensure you do not overwrite the supplied Customisation
Layer project.
Figure 5-6
Menu Bar Message
You will now be able to view the components in the ActiveX sample
application.
Ensure the Author is running, open the project you have just named
ActiveX Sample (during the module copy process), and then open the ActiveX(TM)
Application 5
Sample Application catalog to see the ActiveX sample application (File
| Open Catalog and select ActiveX(TM) Sample Application).
The following application workers are displayed:
Figure 5-7
ActiveX(TM) Sample Application Catalog
To view the Barcode Scanner, complete the following steps:
Barcode Sample
Application 5
1 Select the Barcode Sample application and open it into a
workspace.
2 Double‐click the Director worker to view the application:
Figure 5-8
Viewing the Barcode Sample Application
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
3 Double‐click the Sample Host (Active Script Host worker) to
view its workers and work groups:
Figure 5-9
Barcode Sample Host (Active Script Host
Worker)
The Sample Host Application 5
This section describes the Sample Host application. By browsing the
application in the Author at the same time as reading this section,
you will make the most of the information that follows.
Associating COM Objects The Data Objects work group contains 5
an Active Control worker and a Variant Store worker. The Active
Script Host worker contains the names of both these workers, as
variables, within the Variables attribute. Variable names are used to
associate the Active Control workers with the script in the Active
Script Host.
The Active Control worker is used to define the ActiveX control
required (The Barcode Scanner).
1 Place the cursor on the Barcode Control worker, press MB2 and
select Worker Settings.
2 From the Worker Settings Dialog, select the Class Identifier
attribute to launch the Control Browser.
Figure 5-10
Launching the Control Browser
Script Activation and Deactivation When editing a new Script, 5
both Activate and Deactivate methods are provided by default.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
These methods are invoked when the worker is started and
stopped. Complete the following steps:
1 Place the cursor on the Sample Host worker, press MB2 and select
Worker Settings.
2 From the Worker Settings Dialog, select the Script attribute to
launch the Script Editor.
Figure 5-11
Launching the VBScript Editor
3 Select the activate Method (shown above) to display the
following VBScript code in the Event Viewer window:
Sub activate()
End Sub
The code shown above enables the Barcode Scanner Control, using
the variable defined within the Active Script Host worker, and
initialises the Variant Store associated with the Active Script Host.
The Enable method, Enable (m), of the Barcode Control can be
found in the Object Viewer window as shown below.
Accessing Methods and Properties The Object Viewer window of 5
the Script Editor provides a list of the methods and properties
supported by an ActiveX control. To view the methods and
properties of the Barcode Scanner Control, complete the following
steps:
1 In the Insert Actions pane, select BarcodeCtrl
2 If necessary, scroll down to reveal Barcode (p) as shown in
Figure 5‐12
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 5-12
VBScipt Editor - Object Viewer Window
Associating Events The Event Viewer window of the Script Editor 5
provides a list of the events supported by an ActiveX control.
To view the events associated with the Barcode Scanner Control,
complete the following steps:
1 Select BarcodeCtrl in the Event Viewer window:
Figure 5-13
VBscript Editor - Viewing Associated
Events
2 Select Scanned (as shown above), to display the following code in
the Edit Script window:
Sub BarcodeCtrl_Scanned()
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
ActiveWorkGroup.Index = 2
end if
End Sub
The code provides a response to the Barcode Control event. The
value of the Barcode is stored and then validated by invoking a
user‐defined procedure, explained in the next section.
If the value of the Barcode is valid, it is passed to the Variant Store to
be used by other Script Hosts. To activate a result work group, a call
to the index property of the script host automation object
ActiveWorkGroup is required. This is under the System
Functions object in the Object Viewer window.
Both the Barcode, Barcode (p), and Data, Data (p), properties are in
the Object Viewer below the BarcodeCtrl and BarcodeStore
objects respectively.
Defining User Procedures User procedures can be added by 5
using the Add Procedure button in the VBScript Editor. To view a
User Procedure defined for the Barcode Scanner Control, complete
the following steps:
1 Select User Procedures in the Event Viewer window:
Figure 5-14
VBscript Editor - Viewing a User Procedure
2 Select the Barcode Test user‐defined procedure to display the
following VBScript code in the Edit Script window:
Function BarcodeTest(Barcode)
Const MIN_VALUE = 5000
Const MAX_VALUE = 5000000
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
BarcodeTest = True
else
BarcodeTest = False
end if
else
BarcodeTest = False
end if
End Function
The BarcodeTest procedure tests whether the Barcode value entered
is a valid one.
Using the Author with ActiveX enables access to the following
Advanced Functionality 5
advanced features; a detailed description of these is outside the
scope of this manual:
Alternative Data Manipulation ‐ enabling complex data
manipulation functionality to be written using VBScript instead
of using existing Author BASIC expressions
An alternative to writing Worker Classes ‐ the Active Script
Host worker provides default activate and deactivate functions
which are invoked on activation and deactivation of the worker
class. Instead of writing a C++ class with a start and stop
method, an instance of this class can be used by including
VBScript code within its activate and deactivate functions
An alternative to calling external C functions ‐ by allowing
third‐party code to be accessed through an ActiveX control.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Hints and Tips 5
The following points should be borne in mind when developing
applications using ActiveX controls.
There is no buffering of events when the Active Script Host is
Active Script Host 5
inactive. This could lead to events being lost if the Active Script
Host is being used to manage an ActiveX control which can receive
events at any time, such as a TCP/IP Control.
You can avoid this by placing the Active Script Hosts in the
application such that they are always active, using either of the
following methods:
Ensure that the Active Script Hosts are concurrent with the
transaction processing application
Develop a separate application to run concurrently with the
transaction processing application, to which it passes
information using shared stores.
You can debug the script used by the Active Script Host worker by
selecting Start | Run and entering
<drive:>\<global>\test\xfs\dll\axscripthostoptions.exe at the
command line. This will display the following dialog window:
Figure 5-15
Debugging Scripts
To activate Active Script Host script debugging, tick the box as
shown, and select Close.
Screen display must be given careful consideration, bearing in mind
Screen Displaying With that on activation, the Active Script Host worker displays any
Script Hosts 5
Control that is Visible. Display of controls can be avoided by
declaring an Area of (0,0) on the Active Control worker.
Although the Active Script Host allows concurrent activation of
Multiple Result Work more than one Result work group, which can contain worker
Groups 5
hierarchies, use this feature with care. If a worker within any Result
work group generates an unconsumed signal, the Active Script Host
worker is deactivated. This stops all Result work groups and their
subworkers. Therefore, you need to design your application such
that workers in Result work groups can handle any premature
deactivation resulting from this situation.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Adding the line ActivateWorgroup.Index = 0 at the start of the
Activate method in the script host lets other Result work groups of
that script host be started more than once. If a Result work group is
running and an attempt is made to run it a second time, the work
group is stopped and then restarted. This lets you repeat the same
functionality in a work group, without restarting the script host.
Enumerated types defined within a COM Object which is accessed
Enumerated Types 5
through an Author Active Script Host worker will not be available
within VBScript.
These enumerated types will therefore have to be declared within
that Active Script Host, or the numeric values will have to be used
literally.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 6
Managing Modules
Overview 6‐1
Access to Components You Do Not Own 6‐2
Creating a New Module 6‐6
Default Module 6‐7
Using Catalogs and Creating Workers 6‐9
Transferring the Worker to Another Module 6‐12
Transferring the Worker to a Module You Do Not Own 6‐13
Changing the Owner of a Module 6‐15
Move a Module 6‐17
Module Move Based on Ownership 6‐17
Move to the Default Module 6‐18
Summary on Modules 6‐19
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
Managing Modules
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Managing Modules
F
Overview
Overview 6
Modules support the control and management of multi‐developer
projects. Project management is discussed in detail in Chapter 7,
“Team Development”.
This chapter provides tutorials to help you understand modules,
which are key to successful project management.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Access to Components You Do Not
Own 6
This tutorial shows you what happens when you try to access
components in a module that you do not own.
Figure 6-1
Opening the Customisation Layer Project
Select File, Open. Move to the
<drive>:\<global>\Final\Support\
User directory and select
CustomisationLayer.mpj. Select the
Open button to open the project for
the Customisation Layer
components.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 6-2
Saving the Project with a New Name
Save the project in your working
directory with a different name
(for example, ‘team.mpj’).
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 6-3
Opening the Flow Control Catalog
Open the Flow Control Catalog.
In the Flow Control Catalog,
select the Director Worker with
MB2, and select Worker
Settings...
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Select Close to exit the dialog.
When you create your first component without first creating a
module and setting it as the default module, a default module is
automatically created and the component belongs to it. Further
components created also belong to this module, until you change
the default module.
A user owns modules. Nobody else can modify components
belonging to one of your modules.
By default the Author uses your name to name the default module,
which can make component management more difficult if there are
many modules with the same name and no indication of their
function. Therefore, NCR recommends that you first create a
module with a meaningful name, for example, a name indicating
the development task, and then set your module as the default
module. Creating a module and use of the default module are
covered in the next tutorial.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Creating a New Module 6
Each component uses a module to establish ownership of and access
rights to it. Therefore, when starting on a project, the first thing to
do is create a module, name it and assign it as your default module.
You will now learn how to create a new module.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 6-6
Viewing the New Module
Now view the modules in the current
project to ensure that the new module
has been created successfully.
You should see the new
module included in the
alphabetical list of
modules in the project.
You can view the settings of a module
by selecting the module from the list in
this dialog box.
A user can have a number of modules. You may want to organise
your components into a number of modules in the expectation of
later transferring ownership of them to other team members. For
example, you can develop a component that displays a picture and
later transfer it to someone who has better presentation skills, for
further development and refinement.
Note: If you try to delete a module, you will only be offered the
choice of deleting one of the modules you own. You cannot delete
modules you do not own.
The default module is always the current module in use, and the
Default Module 6
one to which any component you create is assigned. If you forget to
create and set as default a module before you start creating
components, the first component you create will also create a
module based on your user name and this module will
automatically be set as your default module.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
To set a module as the default module, complete the following
steps:
1 On the Modules menu, select Default.
2 Select a module and then select OK.
The name of the default module is displayed in the status bar. Any
new component you now create will be assigned to the default
module.
You can rename your default module using the View option on the
Modules menu. You can change the default module at any time, but
only to another module that you own.
If you have placed a component in the wrong module, you can
move it to another module you own by changing the setting on the
Advanced tab of the Worker Settings dialog box.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Using Catalogs and Creating
Workers 6
When creating a new worker, you need to have a catalog selected. A
catalog is similar to a directory in a file system. It is an Authoring
component which allows you to organise all your other Authoring
components into manageable groups.
This tutorial shows you what happens when you try to create a
worker in a catalog you do not own, and then how to create a new
worker.
Figure 6-7
Creating a New Worker
With the Flow Control
Catalog selected, create a
new worker.
You will notice that you
cannot add a worker to this
catalog because you do not
own it.
Since a catalog is itself a
component, it can belong to
a module. This catalog
belongs to the Flow Control
Module.
When you try and modify a component, the Author looks at the
component to see which module is associated with that component.
the Author then checks the module’s details for ownership. If you
are not the current owner, you will not be allowed to change the
component.
So far, you have opened the Customisation Layer project, saved it
with a different name and created a module. You do not own any
other components in the current project, as you have not created
any.
You will now create a catalog. This will be assigned to your default
module.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
After you have created the catalog, you can create a worker, as
follows:
Figure 6-8
Creating and Naming a Catalog
Create a catalog and
name it ‘My Catalog’.
Note: When a component is created, it is assigned a unique
component identifier (Component ID). This identifier includes your
User ID and a number which is incremented for each new
component. The identifier differentiates one component from
another as no two users can have the same User ID. For more
information about on User IDs, see “User IDs” on page 2‐3.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Ensure ‘My Catalog’ is
selected and using the
pull‐down menus, create a
new worker, in the same way
as before.
Select Timer in
this window.
You have created a worker that belongs to your default module.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Transferring the Worker to Another
Module 6
In this tutorial you will transfer the previously created worker to a
module you own, and then to a module you do not own.
Figure 6-12
Transferring the Timer Worker to a
Temporary Module
Select the Advanced tab.
Transfer the Timer Worker to the Temporary
Module and select Close.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 6-13
Changing the Timer Name
Again, open the worker’s dialog box, and change the name
of the Timer worker to Delay. Select Close.
You will notice that the worker’s name
has changed. This is because you still own
the worker. Although you transferred it
into the Temporary Module, you are the
owner of this module and so only you can
edit it.
You are now going to transfer the Timer Worker to a module you do
Transferring the Worker to not own.
a Module You Do Not
Own 6
As in the previous section, open the Timer Worker’s dialog and select
the Advanced tab.
Transfer the worker to the Flow Control Module and select
Close.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 6-14
Transferring the Timer Worker to a Module
You Do Not Own
This is because you are no longer
the owner of this worker. It
belongs to the Flow Control
Module. This means that you
cannot edit the worker. However,
you can still use it in your
application.
Select the Advanced
tab.
Note that the worker has
been marked as In
Transit.
When a component is transferred, it is marked as being In Transit. It
is received by the new owner the next time they open or save to the
project.
Note: The components in a catalog can belong to a different module
from the catalog itself. You can see this here. The worker belongs to
the ‘Flow Control’ module whereas the catalog belongs to ‘My
Default Module’.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Changing the Owner of a Module 6
You can transfer ownership of your modules. When you transfer
ownership of a module, you no longer own that module or any
component in it.
You will now transfer ownership of your temporary module. This
means that you will no longer be able to modify any of the
components belonging to it.
Figure 6-16
Viewing Project Modules and Settings
6
Start by viewing the list of modules
in the current project.
Now view the settings of your
Temporary Module by
selecting it from this dialog
box.
When viewing or selecting a module from the Select a Module
dialog box, the owner of the module is indicated and the number of
components contained in the selection is shown.
This makes it easier to identify ownership of work within the team
and shows how the authored work is partitioned. It also makes it
easier to identify empty modules that are no longer associated with
the project. These empty modules can be tidied up by using the
Delete Empty option on the Modules menu.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 6-17
Changing the Module Owner Change the owner of the Temporary
Module to a name in the Owner list
and select OK.
Repeat the above steps, but this time try to transfer ownership of the
Temporary module to a different name.
You will discover this time that you cannot transfer ownership of
the module. This is because you no longer own the module.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Move a Module 6
In this tutorial, you will move the contents of one module to another
module using two methods, as follows:
Move based on ownership, which means you can only move
modules that you own
Move to the default module, which moves a catalog’s contents,
owned by you or another user, to the default module
This type of move lets you move all of the components in any
Module Move Based on module that you own into another module you own, which is not
Ownership 6
set as your default module. This function is useful when you need to
incorporate work from one module into another module you are
working on.
Select the Source Module that
you want to transfer from, then
select OK.
Select the Destination
Module that you want to
transfer to, then select OK.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 6-19
Using the Move To Default Module Select the ‘Move to Default
Function Module’ menu item from the
Catalog menu.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Summary on Modules 6
A module is a collection of Authoring components owned by a
single user. Modules support the control and management of
multi‐developer projects.
Users own the components belonging to one of their modules. This
means only the module owner can do the following:
Edit the components belonging to the module (edit the
attributes of a component)
Change the contents of catalogs belonging to the module (that is,
add a component to or remove a component from a catalog)
Transfer ownership of a module to another user
Move the contents of a module to another module using the
method based on ownership
Move catalog contents belonging to any user to the default
module.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Chapter 7
Team Development
Overview 7‐1
Planning for Project Development 7‐2
Approaches to Team Development 7‐2
Distributed, Concurrent Team Development 7‐2
Un‐networked Team Development 7‐3
Inter‐Team Transfer 7‐4
Intra‐Team Transfer Development 7‐5
Team Development 7‐5
Owning More Than One Module 7‐6
Receiving Ownership of a Module 7‐6
Making Yourself Known ‐ Method 1 7‐7
Making Yourself Known ‐ Method 2 7‐7
Project Management Features 7‐8
Project Comparison 7‐8
Read Only and Shared Components 7‐8
Component Status 7‐9
Module Information 7‐9
Module Highlighting 7‐9
Merging Projects 7‐11
Creating Project Reports 7‐13
Producing a Workers Report 7‐13
Catalogs Report Option 7‐14
Components Report 7‐15
Module Ownership Report 7‐16
Printing Reports and Language Support 7‐17
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
Team Development
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Team Development
G
Overview
Overview 7
The Author provides project management features that support and
encourage a team approach to development. By adopting a team
approach, developers can develop a self‐service application by
working on different parts of the application at the same time and
saving to a common project.
This chapter introduces the different approaches to team
development and the Author project management features that are
available to all approaches. The use of project management features
is consistent across any team development approach so no examples
are provided for a particular approach.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Planning for Project Development 7
Modules and module ownership are vital in a multi‐developer
project. You must plan for this at an early stage if you want the
management of your components and projects to remain easy to
manage.
NCR recommends that you split your project into logical sections
and make each one a module, ensuring that you can assign one
developer to all the components belonging to a module.
You can use stubs of components to allow areas to be partially
developed and tested in parallel with other developers. That is,
create top level workers and work groups that have not had their
attributes set or additional workers added.
Ownership of each stub worker can subsequently be transferred to
the appropriate developer. When the developer has updated the
components, they can be imported back into the main project and
ownership transferred back to the project co‐ordinator.
The Author supports the following team development approaches:
Approaches to Team
Distributed, concurrent team development ‐ two or more
Development 7
developers, in separate locations, who are developing an
application at the same time
Un‐networked team development ‐ two or more developers
who are not on a network developing an application
Inter‐team transfer ‐ importing a project into another project
Intra‐team transfer ‐ transferring ownership of components and
modules.
Distributed, Concurrent Team Development 7
A team consisting of two or more developers who are on a network
can share the development of an application. Distributed,
concurrent team development enables all team members to develop
and work on an application and its components at the same time,
which is the recommended way of working.
The team members work on a common project, which is stored in a
shared directory on the network. When they open the project at the
beginning of a session, this copies the project to their PC. Then, at
the end of the session, saving their work merges the copy they have
been working on with the common project. A timestamp ensures
that only the latest versions of authoring components are retained.
Ownership of modules ensures that conflict between team members
is avoided and integrity maintained.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following diagram shows an example of this approach to
developing an application.
Figure 7-1
Concurrent Team Development
Un‐networked Team Development 7
A team consisting of two or more developers who are not on a
network can develop an application by working on their own PCs
and appointing a project administrator.
The project coordinator distributes copies of a common base project
to each team member. This enables the team members to work on
their own local copies. The team members return their updated
projects to the project coordinator, who imports them into the base
project. The project coordinator then copies the updated base project
to all the team members.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following diagram shows an example of this approach to
developing an application.
Figure 7-2
Un-networked Team Development
Inter‐Team Transfer 7
A team can import a complete project or selected catalogs from
within a project into their project. The developers of the project,
from which catalogs are being imported, can choose to retain or
transfer ownership of each of their modules and authoring
components.
When you import catalogs from a project, this imports all the
Modules and components from the selected catalogs and combines
them with the currently open project. The ownership feature of the
Author ensures that components associated with modules are
protected, as two developers cannot be working simultaneously on
the same component. Therefore, you will not lose any changes when
importing a catalog. If a component is not associated with a module
and exists in both projects, the one with the latest timestamp is kept
and the other is discarded.
The following diagram shows an example of importing a catalog.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Figure 7-3
Inter-Team Transfer Development
Intra‐Team Transfer Development 7
If a team approach to developing an application is adopted, each
team member can play a part in specifying, designing and
developing the components in the application, due to the capability
of transferring ownership of modules and components between
team members.
A module can be transferred to another team member by changing
its owner. A component can similarly be transferred by changing
the module it belongs to.
When modules and components are transferred they are marked as
being ‘in‐transit’. The transferred modules and components are
received by the new owners the next time they open or save to the
project.
For large developments, the project team can contain the following:
Team Development 7
Lead developer
Developers
Other non‐technical experts such as graphics specialists.
In the development process it is a good idea to split a development
into separate areas. An effective model is to develop a top layer
from which other areas are called. The top layer would be
developed first using stubs to represent the areas which had not yet
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
been developed. This not only maintains a structured approach to
development but also provides for early prototyping.
The top layer also forms an effective test bed as stubs are developed
into their final functionality.
In this scenario, NCR recommends that one person (the lead
developer) be given responsibility for controlling, distributing and
importing the various parts of the application that may be
developed independently.
As you work with the Author, new components are automatically
Owning More Than One assigned to the current Default Module. You can change the default
Module 7
module at any time by selecting Modules, Default.
Figure 7-4
Changing the Default Module
If you have placed a component in the wrong module by mistake, as
long as you own the destination module, you can change the
module by selecting Worker Settings > Advanced or Catalog Settings >
Advanced and selecting the module you want the component to be in.
If you want to modify a component in a module you do not own,
ask the existing owner to transfer ownership to you, as described in
the next section. If this is not possible, you will have to revert to the
previous version of the project, and lose any changes you have
made.
To modify a component that you do not own, you must ask the
Receiving Ownership of a current owner of the module containing the component to transfer
Module 7
the component to one of your modules.
If you are a new developer, you cannot receive ownership of a
component or module until you are added to the project and your
name appears on the list of names available for module transfer.
For your name to appear in a project, you must have worked on the
project at some time. This can be as simple as creating and deleting a
catalog. Two methods for doing this are outlined below.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Making Yourself Known ‐ Method 1 7
Complete the following steps:
1 Move your User ID file (<user-id>.USR) to the <global>
directory on the lead developer’s PC.
2 Start the Author and select your own User ID.
3 Open the required project, create a module and assign it a
meaningful name. This process adds your name to the list of
users who have worked on the project.
4 Close the project, remove your User ID from the lead
developer’s PC and restore it to your own PC.
Making Yourself Known ‐ Method 2 7
With this method you take the given project, for example,
CoreSelfService.mpj, and add your name to it, as follows:
1 Open the project and create a module, assigning the module a
meaningful name. Your name is now present in the project.
2 Save the modified project and transfer it to the lead developer’s
PC for import.
3 On the lead developer’s PC, the project can be imported into the
lead developer’s project. The only difference in the imported
project is the new developer’s ownership details.
This method takes a little longer than the first but has the advantage
that the new developer does not need to go to the lead developer’s
PC. This may be of advantage where geographical locations make
the first method difficult.
This method can also be achieved more easily by saving the project
file to a shared network drive and making the changes to it before
importing from the network.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Project Management Features 7
The Author provides the following features to assist project
management activities and provide developers with useful
information:
Project comparison
Identification of read‐only and shared components
Module information
Component status
Module highlighting.
Two separate Author projects can be opened and compared, this is
Project Comparison 7
particularly useful to users who wish to migrate modifications from
an existing project to a new release or application.
When comparing projects, always open the project you are working
on in the first instance of the Author, you can not use the Save, Save
As or Import menus in the second instance of the Author, the project
you open in the second instance is View Only.
Attempting to run more than two instances of the Author will result
in an error.
Read only components are displayed with their label font in italic
Read Only and Shared and light grey (see Figure 7‐5). A darker shade of grey indicates that
Components 7
the component is also shared.
Also notice that the component ID of the worker is displayed in the
line below the worker name. This helps when documenting any
work that requires the context of the change to be indicated in a
worker hierarchy.
Figure 7-5
Read Only and Shared Component
Display
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
When a component is selected, the status bar is updated to display
Component Status 7
the component ID of the worker and the module it belongs to.
Figure 7-6
Status Bar - Component Status
When you view or select a module from the Module Selection
Module Information 7
dialog box (see Figure 7‐7), the owner of the module is indicated
and the number of components contained within the module is
shown. This makes it easier to identify ownership of the work
within a team and also shows how the authored work is partitioned.
It is also possible to identify empty modules that are no longer
associated with the project. These empty modules can be deleted
using the Delete Empty option on the Modules menu.
Figure 7-7
Module Selection Dialog Box
Module highlighting is used to identify any modifications by
Module Highlighting 7
changing the colour of the labels in the worker hierarchy. This is
useful in tracking changes you have made in your project.
You can turn highlighting on by selecting the Highlight | On option on
the Modules menu. A list of available modules to select from will be
presented. More than one module can be selected for highlighting.
A label colour of red indicates that the worker belongs to the list of
modules which are highlighted. A label colour of pink indicates that
the worker is shared.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Selecting Highlight | Off on the Modules menu returns the label colours
back to the original state, based on the edit and share status of the
components.
Figure 7-8
Module Highlight Status
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Merging Projects 7
You merge two projects by importing one into another. You will not
lose any changes when importing a project, as the ownership
feature of the Author ensures that all components associated with
modules are protected. After the project is imported, you can select
any of the workers provided in the newly imported project.
To merge two projects, complete the following steps:
1 In the Author open you project, and select File | Import.
2 Select the project you want to import.
3 When you are prompted to select a catalog in the project to
import, choose Select All and then OK.
Figure 7-9
Selecting All Catalogs in the Imported
Project
The merge process is started and you are offered the option to view
a report of the merge. If you select No, the merge proceeds to
completion. Select Yes to see the effects of the merge and decide
whether to continue or cancel the merge.
If you choose to continue with the merge, you can view discarded
components in the Trash window when the operation is complete. If
you wish to retrieve components from the Trash window, you can
move them to another location.
If a component is not associated with a module and exists in both
projects, the one with the latest timestamp is retained and the other
discarded.
Every component has a timestamp containing the data and time a
component was last modified. The timestamp is used to identify the
latest version of a component when merging projects.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
For more information about merging projects, refer to the Import
and Merge Analysis topics in the Author help.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Creating Project Reports 7
Project reports are available for workers, catalogs, components and
module ownership.
The Component menu has a Report option for reports on workers,
catalogs, or components. The report file (.txt) contains tab‐delimited
data that can be imported into an external program (such as Excel)
for analysis. Tabs are used as delimiters because there may be
commas in the data.
The Modules menu has an Ownership Report option for reports on
owners of modules. This report is a comma‐separated values (.csv)
file that can be opened with an external program (such as Excel) for
analysis.
Producing a Workers Select the Workers option to produce a report based on all the
Report 7
workers contained in a project open in the Author.
To generate a report and import it into a spreadsheet, complete the
following steps:
1 If the project is not already open in the Author, open it now, and
select Components | Report | Workers.
2 When prompted, name the file and save it to a directory of your
choice.
3 Open a spreadsheet (new or existing file).
4 Select the cell where you want to place the data.
Note: To avoid overwriting existing data, make sure that the
worksheet does not contain data below or to the right of the
selected cell.
6 Select Open, then in the Text Import Wizard dialog select to
import the data type as Delimited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following table explains the format of the data:
Name Name of the worker object
Class Name of the class to which the
worker object belongs
Module Name of the module containing
the worker object
Owner Name of the organisation or
person that owns the module
Date Date the worker was created
Time Time the worker was created
The following example shows the worker report data imported into
a spreadsheet:
Figure 7-10
Worker Report Data
Select the Catalogs option to produce a report based on the
Catalogs Report Option 7
components contained in each of the catalogs in the project.
To generate a Catalogs report and import it into a spreadsheet,
complete the following:
1 If the project is not already open in the Author, open it now, and
select Components | Report | Catalogs.
2 When prompted, name the file and save it to a directory of your
choice.
3 Follow steps 3 to 6 given in “Producing a Workers Report” on
page 7‐13.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Component Unique identifier for the component
ID
Name Name of the component belonging to the catalog
Class Name of the class to which the component belongs
Module Name of the module containing the component
Owner Name of the organisation or person owning the
module
Date Date the component was created
Time Time the component was created
The following example shows a catalog report data in a spreadsheet:
Figure 7-11
Catalog Report Data
Selecting Components produces a report based on workers,
Components Report 7
applications, worker classes, literal types, and so on. It is an
inventory of all the components contained in a project.
To generate a Components report and import it into a spreadsheet,
complete the following:
1 If the project is not already open in the Author, open it now, and
select Components | Report | Components.
2 When prompted, name the file and save it to a directory of your
choice.
3 Follow steps 3 to 6 given in “Producing a Workers Report” on
page 7‐13.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Name Name of the component
Type The role of the component, for example, a worker or a
sequencer
Module Name of the module containing the component
Owner Name of the organisation or person owning the
component
Date Date the component was created
Time Time the component was created
The following example shows component report data in a
spreadsheet:
Figure 7-12
Component Report Data
This option reports the name of the module, who owns the module
Module Ownership Report 7
(along with User ID), and how many components are associated
with the module.
This can be useful for tracking team development work carried out
over a period of time. It is especially useful if the Project Module
structure has been created based on functionality rather than
developer. In this way, a different area of functionality can be
assigned to team members by transferring ownership of the Module
based on the User ID of the developer.
As the report file is a CSV file, it can be opened directly in a
spreadsheet, without importing it first.
To generate a Module Ownership report, complete the following:
1 If the project is not already open in the Author, open it now, and
select Modules | Ownership Report.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
2 When prompted, name the file and save it to a directory of your
choice.
The following table explains the format of the data in the
spreadsheet:
Comp ID Unique identifier for the component (module)
Users The number of users that have worked on the module
Owner Name of the organisation or person owning the module
The following example shows module ownership report data in a
spreadsheet:
Figure 7-13
Module Ownership Report Data
A string is represented in the report using non‐printable characters
Printing Reports and if the following are true:
Language Support 7
The string is the value of a worker attribute, for example, a text
attribute in a Fixed Front Text worker
The language of the report cannot be represented with 256
characters using 8 bit characters
The string cannot be converted to an 8‐bit character string.
This occurs as all strings created within the Author are stored as
UNICODE 16 bit character strings. This is due to some languages,
such as Chinese, Japanese, and Korean requiring more than 256
characters. However, because UNICODE is not supported in Rich
Text Format (RTF), strings are converted to 8 bit character strings
when a report is printed.
This is not an issue for languages that can be represented with 256
characters using 8 bit character sets.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix A
Troubleshooting
Overview A‐1
Dealing with Exceptions A‐2
Advance NDC Exceptions A‐2
Running a Test Application A‐2
Running a Final Application A‐2
Questions and Answers A‐4
Getting Help and Information A‐4
User IDs A‐5
Working with Screens A‐6
Developing and Testing an Application A‐6
Building an Application A‐7
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Overview
Overview A
This appendix contains information on the following:
Dealing with exceptions
Frequently asked questions.
If you have developed your own worker classes and need to debug
your Author application, refer to the APTRA Advance ADE,
Programmer’s Guide for details.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Dealing with Exceptions A
On an SST, an exception is caused by an error condition so severe
that the SST cannot recover from it. In this case, the SST is
automatically reset.
There are two broad categories of exception:
Advance NDC exception
Self‐Service Support exception.
Dealing with exceptions in Advance NDC is described in the next
section. If you are using the Simulator, refer to its Troubleshooting
section in the APTRA on‐line documentation.
Advance NDC exceptions can occur when running a test
Advance NDC Exceptions A
application on a development PC or a final application on an SST.
There are two categories of Advance NDC exception codes, as
follows:
Exceptions you can fix, described in the following subsections
Exceptions requiring a fix from NCR; for these, contact your
local NCR representative.
Running a Test Application A
If an exception occurs when running a test application in the
Author, a runtime error message is displayed identifying the cause
of the problem. This gives you an idea of what part of the
application was active when the exception occurred.
For details of obtaining help for runtime error messages, see
Appendix H, “Using the On‐line Help”.
Running a Final Application A
If an exception occurs when running a final application on an SST,
details are written to the Windows event log or Problem
Determination Collection depending on the worker executing at the
time. Where applicable, NDC‐based exceptions will include the
following information for the exception:
Error number
Domain number, where:
— 0 = Runtime Core, GUI, Self‐Service Core and Basic
Self‐Service Solution Components
— 100 = Common Utilities Solution Component
— 1 = ATM Runtime Component
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
— 2 = Special Self‐Service Runtime product
— 3 = Statement Printer Runtime product.
You can use this information to obtain the same level of help as in
the test application environment.
The diagram below shows an example help topic.
Figure A-1
Error Message Help
As an example, if the event log specifies an error number of 100 and
domain number 1, you can locate help on the runtime error message
from the above help panel.
To display the help topic, either access it from the Author on‐line
help as described in Chapter 4, “First Steps in Building an
Application” or use Windows Explorer to locate the appropriate
<global>\Help\rt*.hlp file, in which the asterisk (*) corresponds to the
domain number, and double‐click on it.
For information about exceptions in .NET tasks, refer to the APTRA
On‐line Documentation under APTRA Product Line | Runtime
components | .NET
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Questions and Answers A
This section groups together some common questions as follows:
Getting help and information
User IDs
Working with screens
Developing and testing an application
Building an application
Reports, help systems and search facility are available to provide
Getting Help and information about the Author and applications.
Information A
What information can be printed in the Author?
In the Author you can generate the following reports:
High‐level description of each Worker Class in the project (select
Tools, Print Report)
Alphabetical description of each Worker in the project (select
Tools, Print Report)
Alphabetical description of each Worker in an Application (from
the Application’s pop‐up menu, select Print Report).
Project reports, which include:
— A workers report, which is based on all the workers in a
project (select Components | Report | Workers)
— A catalogs report, which is based on the components in each
of the catalogs in a project (select Components | Report | Catalogs)
— A components report, which is an inventory of all the
components contained in a project (select Components | Report |
Components)
— A module ownership report, which is based on all the
modules in a project (select Modules | Ownership Report)
The reports for Worker and Worker Class descriptions are output to
a Rich Text Format (RTF) file. You can then view and print this file
using a word processing application.
Project reports for workers, catalogs and components are output to
a text (.txt) file, which can be imported into a spreadsheet
application (such as Excel) for analysis.
Module ownership reports are output to a comma‐separated (.csv)
file, which can be opened directly into a spreadsheet application for
analysis.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
How do I find the component required to perform a
particular job?
Although there are a lot of Authoring components provided with
the Runtime components, they are ordered into catalogs of similar
components. As you create your own components you can group
them in your own catalogs. In addition to this, you can make use of
the ‘Find’ or ‘Find By ID’ options in the Edit menu to track down
particular components.
You can also use the on‐line help to find components. These are
grouped for each Runtime component, giving details of the catalogs
and each worker within the catalog.
How can I get help information for...?
See Appendix H, “Using the On‐line Help”. It describes how to
obtain help for all aspects of the Author and the Runtime
Components.
User IDs are an important part of successful project management.
User IDs A
Can I copy my user ID from one PC to another?
No. You can move a user ID (the user ID is in the form of a file) but
you must never copy it. If you have the same user ID on two PCs,
you run the risk of creating components which have the same
identifier. Therefore, if you perform a merge, or an import, this
could corrupt the project and render it unusable.
Why is the Install Number so important?
The Install Number is defined and updated if the User ID utility is
run from the option at the end of installation. The Install Number
can also be updated by running the utility from the Start menu and
selecting the Update All Counts button. You may need to re‐enter this
number if you lose your <user‐id>.USR file. This file contains the
data required for the Author to uniquely tag each component that is
created. Use the ‘Advanced’ option during installation or in the
Author select Tools, Edit User Name to find out what the Install Number
is.
The User ID file may be deleted accidentally or your system may
crash and you lose the contents of your hard disk. You may also lose
the User ID file if you move it onto a diskette and the diskette
subsequently becomes corrupt.
You can change the installation number using the User ID utility as
described under “Using the User ID Utility” on page 2‐4. It is very
important that you ensure that the Install Number that you enter
has not been entered or used before. If you happen to re‐enter the
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
same number, components you create could potentially have the
same component ID as existing components (and hence if an Import
is carried out components will get deleted).
This section answers questions about screen design and
Working with Screens A
manipulation.
What screen design tools can be used?
When designing SST screens, you can use any third‐party graphics
tool which can generate BMP or other supported file formats. A full
list of supported formats is given in the on‐line help for the APTRA
GUI Component.
How do I cause a blank screen to be displayed while an
Author application is loading on the SST?
While the SST loads the Author application, a window is displayed
showing its progress.
To display a blank screen during application loading, you will need
to implement a Windows application that displays a blank window,
and start this application before the Author application.
Why are ASCII control characters displayed?
If the text string of a text worker contains ASCII control characters,
non‐printable characters are displayed.
Note: If the carriage return ASCII control characters (0x0d) appear
in the text string, a line feed and carriage return is performed.
To avoid this, do not use ASCII control characters in text strings that
are to be displayed.
This section answers questions about application testing and
Developing and Testing an recovery.
Application A
Can real devices be used instead of simulated devices
during testing?
Yes, if your development environment is an SST. If you have the
APTRA Simulator installed on the development SST, you can also
test with a mix of real and simulated devices. For more information,
refer to the on‐line documentation for the APTRA Simulator.
How are changes to the application recorded?
Each Authoring component provided with a Runtime component
has a brief description attached explaining its function. You will not
be able to change these descriptions as you can only edit the
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
components you own (a user who has created a component is said
to be the owner of that component, such that nobody else can
modify it). Therefore, you can add descriptions to any of the
components you create.
How do I terminate the application?
If the application is not displayed on the screen and you cannot stop
it running, you may need to press CTRL+ALT+DEL to display the
Windows Task Manager. You can then close the application by
selecting it from the list of running programs and selecting the End
Task button.
If you are running multiple applications in the test environment,
and you want to terminate only one, the application should be
stopped using the Author rather than terminated by closing the
window. Terminating a single application may affect others using
the same interface. If one application window is terminated, all
other application windows must also be stopped and terminated.
All applications can then be restarted.
How are the Remote Status Indicators supported?
The Remote Status Indicators are supported by the Systems
Application (SYSAPP) provided with APTRA XFS, not by your
Author application.
Why does an Application Error occur after an mError in the
test environment?
An application error can be generated in the test environment after
an mError in the following situation:
There are ActiveX workers in the application
The mError displays a prompt to terminate the application
The No option is selected from this prompt.
The application running in the test environment is not affected by
this Application Error. If the mError occurs again, select Yes when
presented with the prompt to terminate the application.
This section answers questions about building an application,
Building an Application A
including how to perform a build final.
What is a Worker Factory and when do I need to build one?
A worker factory is used by the test environment to provide the
functionality of the Runtime Components to be executed on the
development PC.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
NCR provides a worker factory with the Advance NDC projects.
You will need to rebuild the worker factory for any one of the
following:
Importing another project or component into your Author
project if you have a created a worker class.
Creating your own classes (this is described in the APTRA
Advance ADE, Programmer’s Guide).
If you re‐install Advance NDC, it will overwrite the existing worker
factory on your PC. Hence if you are building an application which
uses additional classes to those supplied, you will need to rebuild
the worker factory. Do this by selecting Tools, Build Factory from the
Author menu bar.
By rebuilding the worker factory, this allows the test environment
to take account of any new/changed worker classes.
The name of the worker factory is wfactory.dll and can be found in
your <global>\test\XFS\dll directory.
How Do I Perform a Build Final
When you have completed modifications to your application, you
can then run the Build Final option in the Author. This compiles the
application and generates the relevant files ready for inclusion in an
installable aggregate.
To run Build Final in the Author, complete the following steps:
1 Select the Application component you want to compile.
Figure A-2
Performing a Final Build
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
3 In the Select Checks window, select OK to perform a completeness
check:
Figure A-3
Running a Completeness Check
4 When you are prompted for a build name, provide a name, for
example myapp, without an extension. The default file type to
save as is exe. The default location for the compiled build is your
<working> directory, but you can create another directory at
this point if you prefer.
Note: The name must not be more than 64 characters or contain
spaces.
Figure A-4
Specifying a Build Name and Location
An application is built using the libraries from /final/xfs/lib and
headers from final/include. Generating a Build Final creates a
number of files, for example *.exe and *.dll, which together form the
application. A Build Final can take several minutes to perform.
Note: If the Microsoft Visual Studio 2005 compiler is not present, an
error message will be displayed and the build will be unsuccessful.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
How do I correct a fatal error during a Build Final?
If the fatal error U1077: ‘cl.exe’ : return code ‘0x1’ is reported during
a Build Final of your application, ensure you have appended the
INCLUDE, LIB and PATH system variables to the relevant USER
variables.
Is it possible to build an application with ‘unconsumed
signals’?
Yes, you can test an application on the development PC with any
number of unconsumed signals.
You can also build an application for execution on the SST which
has a ‘Warning Only’ message. You should be extremely careful
under these conditions as the application may not function
correctly.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix B
Advance NDC Worker Support
Overview B‐1
New Workers B‐2
New Workers Provided in This Release of Advance NDC B‐2
New Workers Provided in Advance NDC 4.03 B‐2
New Workers Provided in Advance NDC 4.02 B‐2
New Workers Provided in Advance NDC 4.00 B‐2
New Workers Provided in Advance NDC 3.04 B‐2
Secure Workers B‐2
Entry of Windows User Name and Password B‐3
New Workers Provided in Advance NDC 3.03 B‐3
Voice Guidance B‐3
Passbook Printer B‐3
Mini Self‐Service Assistant Workers B‐4
Other New Workers B‐4
New Workers Provided in Advance NDC 3.02 B‐4
New Workers Provided in Advance NDC 3.01 B‐5
New Workers Provided in Advance NDC 3.00 B‐5
Supported Workers B‐6
Cash Handling Workers B‐6
Data Entry Workers B‐6
Printer Workers B‐6
Envelope Dispenser/ Depository Workers B‐7
Resource Management Workers B‐7
MCRW Workers B‐7
Indicator Workers B‐7
Communications Workers B‐8
Communications Protocols & Connections Workers B‐8
Supervisor Workers B‐8
Status Handling Workers B‐8
Data Workers B‐8
Data Manipulation Workers B‐8
Data Formatting Workers B‐9
FIT Worker B‐9
Persistent and Sharable Stores B‐9
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Flow Control Workers B‐10
State Execution Workers B‐10
Application Interface Workers B‐10
Exit Workers B‐10
Message Handling Workers B‐10
Display Workers B‐11
Fault Display Workers B‐11
Operator Panel Workers B‐11
Trace Workers B‐11
ActiveX Workers B‐11
Security Workers B‐12
Night Safe Workers B‐12
Statement Printer Workers B‐12
Alarm Workers B‐13
Miscellaneous Workers B‐13
Unused Application Workers B‐13
Modified Workers B‐14
Worker Classes Modified in This Release of Advance NDC B‐14
Worker Classes Modified in Previous Releases
of Advance NDC B‐14
General Updates for Advance NDC 4.00 B‐16
General Updates for Advance NDC 3.04 B‐17
Resource Identifier Workers B‐20
Front Interface Resource ID B‐21
EPP Security Workers B‐21
Passbook Printer Worker Classes B‐22
Unsupported Workers B‐24
Stubbed Workers B‐24
Replaced Workers B‐24
Cardholder Data Collector B‐24
Consumer Token B‐24
Front FDK Key B‐24
Front Fixed Key B‐24
Front Key Masker B‐25
Operator Key Masker B‐25
Keyboard Beep Setter B‐25
Logo Setter B‐25
TCP/IP Comms Connection ID and S4 Comms Resource
Identifier B‐25
Basic Operator Panel (BOP) Workers B‐25
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Unsupported Security Workers B‐25
EKC Workers B‐26
Communications Protocol Workers B‐26
ActiveX Workers B‐26
FIT Workers B‐26
Resource Management Workers B‐26
Door Access Workers B‐27
Enhanced Card Reader/Writer Workers B‐27
Cash Handling Workers B‐27
Coin Dispenser Workers B‐27
Communications Workers B‐27
Data Entry Workers B‐27
Printer Workers B‐28
Miscellaneous Unsupported Workers B‐28
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Overview
Overview B
The following sections group workers by their availability for use in
Advance NDC:
New workers for this release of Advance NDC
Existing workers that are supported, grouped by function
In case you are upgrading from an earlier release of Advance
NDC, workers that have been modified since previous Advance
NDC releases
Workers that are not supported.
For more information about workers, including detailed
descriptions, refer to the Worker Class Help provided in the Author
(select Help | Author Help Topics, or MB2 | Help on any worker),
and to Appendix B of the APTRA Advance NDC, Developer’s Guide.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
New Workers B
New workers are supplied to support additional functionality or
replace existing workers. For details, refer to the Worker Class help
in the Author.
Contactless Card Acceptor worker is added in Advance NDC 4.04.
New Workers Provided in This worker controls the operation of the contactless card reader.
this release of Advance
NDC B
No new workers were provided in Advance NDC 4.03.
New Workers Provided in
Advance NDC 4.03 B
No new workers were provided in Advance NDC 4.02.
New Workers Provided in
Advance NDC 4.02 B
The following workers were added in Advance NDC 4.00:
New Workers Provided in
IFD Alarm
Advance NDC 4.00 B
This worker supports alarm monitoring on intelligent fraud
devices (IFDs) on NCR SSTs only. When used on other vendors’
SSTs, it has no effect.
Supervisor Task Executor
This worker executes a .NET Supervisor task anywhere in the
Supervisor flow. The .NET Supervisor task can be configured
through the AdvanceNDC.accfg configuration file. Some
authoring is required to specify the required .NET Supervisor
task in the Supervisor Task Executor. For more information
about AdvanceNDC.accfg, refer to the APTRA Advance NDC
Developer’s Guide.
NDC CRM Interface
This worker is used for customer relationship management
applications (APTRA Promote and APTRA Relate) to inform the
NDC CRM service when a a flow point needs to be called or a
coupon needs to be printed.
The following workers were added in Advance NDC 3.04:
New Workers Provided in
Advance NDC 3.04 B
Secure Workers B
These workers are used to hold sensitive data, as defined by the
Payment Card Industry Data Security Standard (PCI DSS). They
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
ensure that memory is automatically cleared after the data is
processed:
Secure Authenticator
Secure Password Changer
Secure String Store
The following abstract classes are also provided:
Secure String Giver
Secure String Receiver
Entry of Windows User Name and Password B
The SMS Data Collector is used for secure authentication of
Supervisor users to support Payment Application Data Security
Standard (PA‐DSS) compliance.
The following workers were added in Advance NDC 3.03:
New Workers Provided in
Advance NDC 3.03 B
Voice Guidance B
Audio Jack Detector
Audio Resource ID
Audio Speaker
NDC Audio Speaker
Volume Adjuster
Passbook Printer B
The passbook printer worker classes provided with Advance NDC
have been developed from the Passbook Printer authoring
components, part of the APTRA Advance Passbook Printer product.
This development includes the migration from the ADI‐2 interface
to CEN‐XFS 3 and enables the development of an authored flow to
support passbook transactions in Advance NDC.
If you used the Passbook Printer component with versions of
Advance NDC prior to 2.06, see Table B‐9 on page B‐22 for a
comparison of the changes.
Line Number Store
Page Number Store
Passbook Acceptor
Passbook Capture
Passbook Definer
Passbook Definition
Passbook Ejector
Passbook Page Turner
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Passbook Printer
Passbook Printer Checker
Passbook Reader
Passbook Resource ID
Passbook Writer
Mini Self‐Service Assistant Workers B
These workers, in the MAST catalog, provide an on‐screen short‐cut
to vendor‐dependent mode (VDM).
Supervisor MAST Host
VDM Entry Listener
VDM Negotiator
VDM Resource ID
Other New Workers B
The Cash Taken worker ensures a signal is always returned
when the cardholder takes the cash presented
The TEMPDESKeyLoader is used temporarily to obtain the key
verification value (KVV) of the key entered
The following workers were added in Advance NDC 3.02:
New Workers Provided in
Barcode Reader
Advance NDC 3.02 B
Barcode Resource ID *
Cheque Acceptor
Cheque Capture
Cheque Ejector
Coin Dispenser (replaces Coin Dispense)
CPM Initialise
CPM Tamper Indicator (TI)
CPM Resource ID *
Extended Cash Stacker
First Cash Handler Resource ID *
Integer Array Element
NDC Delete RSA Key
NDC Print Coupon
Receipt Control
Resource Status Checker
Resource Initialiser
RSA Key
Second Cash Handler Resource ID *
XML Config File Loader
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
* Resource ID workers are used solely for Advance NDC functions
(Device Variant Getter and Fitness Getter) as the Advance NDC
application does not need to perform resource negotiation.
No new workers were provided in Advance NDC 3.01.
New Workers Provided in
Advance NDC 3.01 B
The following workers were added in Advance NDC 3.00:
New Workers Provided in
NDC Dialup
Advance NDC 3.00 B
Secure Encryption Key Collector
NDC Data Collector
NDC Echo
UPS (Uninterruptible Power Supply)
XFS Front Key
XFS Front FDK
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Supported Workers B
All the workers listed in this section are currently supported in
Advance NDC.
Note: If you are upgrading from a previous Advance NDC release,
check “Modified Workers” on page B‐14, to see how they might
affect your application.
The following workers are available for cash handling:
Cash Handling Workers B
Cash Handler T.I.
Cash Presenter
Cash Purger
Cash Stacker
Extended Cash Stacker
Cassette Total
The following workers are available for data entry:
Data Entry Workers B
Cancel Collector
Operator Key
Supervisor Data Collector.
In Advance NDC, only the NDC syntax for printer control
Printer Workers B
sequences is supported. For details of these and the character sets
supported, refer to the APTRA Advance NDC Reference Manual.
In a multi‐vendor environment, the print output is processed as
described in the APTRA Advance NDC, Multi‐Vendor Support
Reference Manual.
The following workers are available for printing:
Print Paragraph
Graphics Print Paragraph
Variable Graphics Paragraph
Journal Configurator
Journal Page
NDC Print Buffers
NDC Print Coupon
NDC Print Footer
NDC Print Immediate Handler
NDC Printer Initialiser
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Normal Receipt Page
Receipt Control
The following workers are available for envelope dispensing and
Envelope Dispenser/ deposit:
Depository Workers B
Envelope Depositor
Envelope Depository T.I.
Envelope Presenter
The following workers are available for resource management:
Resource Management
Device Variant Getter
Workers B
Fitness Getter
Resource Initialiser
Terminal Suspend
The following workers are available for the magnetic card
MCRW Workers B
reader/writer (MCRW):
Card Acceptor
Card Answer To Reset (ATR) Reader
Card Capture
Card Ejector
Card Track Reader
Card Track Status Getter (Track 3 only)
Card Track Writer
MCRW TI
Track 1 Decomposer
The following workers are available for media entry indication:
Indicator Workers B
Set Media Entry Indicator Frequency
Availability Indicator
Beep Controller
Note: The Media Entry Indicator worker is not supported.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following workers are available for communications:
Communications Workers B
Comms Opener
Comms Closer
Message Sender
Message Receiver
NDC Message Sender
NDC Message Receiver
The following workers are available for communications protocols
Communications Protocols and connections:
& Connections Workers B
Comms Buffer Activator
Connection State
NDC Comms Connection ID
The following workers are available for Supervisor:
Supervisor Workers B
Front Interface Specifier
Rear Interface Specifier
Supervisor Gateway
Supervisor Gone
Supervisor Interface Getter
Supervisor Present
Supervisor Task Executor
System Menu
The following workers are available for status handling:
Status Handling Workers B
Status Activator
Status Getter
The following workers are available for configuration and
Data Workers B
customisation data:
Configuration Data Saver
Customisation Data Decomposer
Customisation Data Initialiser
Customisation Data Saver
The following workers are available for data manipulation:
Data Manipulation
Assigner
Workers B
Date
Handle Computer
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Handle Store
Integer Computer
Integer Store
Real Computer
Real Store
Setter
String Computer
String Store
Handle Computer
Tester
Time
XML Config File
The following workers are available for data formatting:
Data Formatting Workers B
Deformatter
Formatter
Structure
Fixed Length Field
Open Length Field
Separator Field
Supplies Data Formatter
The FIT Searcher worker is available for the Financial Institution
FIT Worker B
Table.
The following workers are available for persistent and sharable
Persistent and Sharable stores:
Stores B
Persistence Wiper
Persistent Integer Store
Persistent Real Store
Persistent String Store
Sharable Integer Store
Sharable Real Store
Sharable String Store
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following workers are available for application flow control:
Flow Control Workers B
Director
Integer Signaller
Caller
Listener
Pass‐thru
Selector
Synchroniser
Timer
Variable Timer
The following workers are available to execute states:
State Execution Workers B
Exit Condition Tester
NDC Processing State Executor
NDC Timeout State Executor
NDC Transaction Handler
Transaction Request State
Tr Reply Function
The Session Releaser is available to signal to the Application Core
Application Interface that it can take control of the cardholder session from the
Workers B
Customisation Layer.
The following workers are available for Exits:
Exit Workers B
Supervisor Exit Executor
Generic Exit Executor
The following workers are available for message handling:
Message Handling
NDC Device Status Message Handler
Workers B
NDC Ready 9/B Message Builder
NDC Terminal State Message Builder
Note Definitions Builder
NDC Counters Builder
NDC Error Log Builder
NDC Fitness Data Builder
NDC Hardware Config Builder
NDC Configuration Info Builder
NDC Sensors Status Builder
NDC Supplies Data Builder
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
NDC Tally Builder
NDC Command Reject Message Builder
NDC Message Validator
The following workers are available for use:
Display Workers B
NDC Screen Displayer
Fixed Front Text
Reserved Screen Retriever
Picture Displayer
Fault Display Workers B
The following workers are available for displaying device fault
information:
Get Action Text
Get Number Of Actions
Operator Panel Workers B
The following workers are available for displaying operator
information:
Fixed Operator Text
Variable Operator Text
Operator Echo
Operator Hardware
The following trace workers are available for use:
Trace Workers B
Register Trace Generator
Journal Security Trace Generator
Debug Message Sender
File Copier
The following workers are available for ActiveX controls:
ActiveX Workers B
Active Control
Active Script Host
Automation Object
COM Initialiser
Integer Signaller
Variant Store
Web Event Monitor
Web Page Loader
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following workers are available for Security:
Security Workers B
Data Encoding Converter
DES Encryptor
DES Exchanger
DES Loader
Encryption Key
Encryptor Identifier
EPP Delete Key
EPP Key Mode Initialiser
EPP KVV Evaluator
IBM PIN Verifier
MACer
NDC DES Loader
NDC EPP Delete Key
NDC EPP Initialiser
NDC EPP Key Mode Initialiser
NDC EPP KVV Evaluator
NDC Export Encryptor Data
NDC Import RSA Key
NDC RSA Import DES Key
NDC PIN Collector
PIN Collector (limited support; see Table B‐8 on page B‐19)
PIN Block Encryptor
PIN Retries Updater
Random PAD Character
RSA Key
Secure Encryption Key Collector
VISA PIN Verifier
The following workers are available for the Night Safe:
Night Safe Workers B
Night Safe Depositor
Night Safe Closer
The following workers are available for the Statement Printer:
Statement Printer Workers B
Statement Capture
Statement Ejector
Statement Page
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following worker is available:
Alarm Workers B
Alarm
The following workers are available:
Miscellaneous Workers B
NDC Application Terminator
Disk Size Getter
The following workers are unchanged but unused in the supplied
Unused Application Advance NDC application as they are not required for the standard
Workers B
Advance NDC functionality.
Trace workers
— File Wiper
— Trace Activator
— User Tracer
Last Command Getter
Last Response Type Getter
Last Tcode Getter
Language Setter
Multi Lingual Picture Displayer
Multi Lingual File Name
Multi Lingual Resource String
NCR EJ Copy
Variable Length Character Field
Variable Length Binary Field
Front Echo
Screen Display
Variable Front Text
Touch Key
Audio Player
Video Player
NDC Field
NDC Close State Executor
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Modified Workers B
The following tables list changes to worker classes for Advance
NDC. If you are upgrading from a previous Advance NDC release,
you will need to take account of how these changes affect your
enhancements or extensions. You can use the application Find option
to check for these workers. (On the application Top Worker director,
select MB2 and select the Worker Hierarchy option.)
This section gives details of the modifications made to worker
Worker Classes Modified classes, and any general updates to the help.
in This Release of Advance
NDC B
The following tables list changes made to worker classes in previous
Worker Classes Modified releases of Advance NDC.
in Previous Releases
of Advance NDC B
Supervisor Task These two worker classes are now configured
Executor through the AdvanceNDCCustom.accfg file instead of
AdvanceNDC.accfg.
Supervisor Exit For more information, refer to the APTRA Advance
Executor NDC, Developer’s Guide
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Card Acceptor
Card Reader
Resource ID These four worker classes have a new attribute for
multiple card readers: Card Reader ID
Card Track
Reader
Card Track
Status Getter
Get Number of Reports the total number of faults from
Actions customisations and also from Advance NDC
IFD Alarm The IFD Alarm worker class and its help have been
removed from the APTRA Author as the intelligent
fraud device (IFD) is no longer supported
Resource Executes the appropriate reset type as follows:
Initialiser A 24‐volt reset is performed for communications
failures on NCR SSTs with a USB miscellaneous
interface
An XFS reset is performed in all other
circumstances requiring a reset
Cheque Ejector Workgroups have been extended to support cheque
endorsement
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Table B‐4 lists workers that were modified for Advance NDC 4.00.
Journal Page Has an additional attribute, Journal Level Trigger
Value. This is used with the journal levels set in
Supervisor for the journal printer and the EJ to
determine the level of data detail to be printed
Customisation Initialises Screen Manager
Data Initialiser
NDC Export The Data To Export attribute has an additional
Encryptor Data value, EPP Attributes, which can be returned to the
host to determine whether the EPP is PCI‐compliant
Supervisor Exit Includes Activate .NET Supervisor Tasks, which are
Executor configured through the SUPCTR file (refer to
APTRA Advance NDC, Extending the Product) and the
AdvanceNDC.accfg file (refer to APTRA Advance
NDC, Developer’s Guide)
Picture Now used to support BMP, JPG, TIF, PNG, GIF and
Displayer PCX/DCX image file formats; dependency on
LEADTOOLS removed
General Updates for Advance NDC 4.00 B
The NDC Display Manager introduces consolidated display
management on the consumer interface, with support for
multi‐media files through codecs. The Author help has been
updated for the following to reflect these changes, including
workers that are not used by Advance NDC:
Audio Player
Multimedia Editor
Picture and Animation File Formats
Video Player
Table B‐5 lists workers that were modified for Advance NDC 3.04.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Worker Change
Cheque Capture Signals and work groups have been updated to
support scanning after endorsement
Resource Now handles power‐off and power‐on of devices in
Initialiser a fatal state that fail to respond to a reset command
(24V Reset)
General Updates for Advance NDC 3.04 B
Two general updates were introduced for Advance NDC 3.04:
To support user C exits and local customisations from previous
releases, c:\ssds\dll is retained in the path environment variable;
but Advance NDC does not install files to this location.
Advance NDC supports the use of DVD or CD‐ROM as a
replacement for diskettes.
The Author help has been updated for the following workers to
reflect these changes, including workers that are not used by
Advance NDC:
Journal Configurator
NCR EJ Copy
Variable Graphics Paragraph
Table B‐6 lists workers that were modified for Advance NDC 3.03.
Night Safe This previously waited for the time specified in the
Closer Door Close Time attribute before signalling for both
basic and enhanced night safes.
For basic night safe, this worker signals if a bag is
dropped while the worker is active. If no bag is
dropped, the worker signals as in previous releases.
For enhanced night safe, this worker signals if the
door is closed while the worker is active. If the door
is not closed, the worker signals as in previous
releases.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Worker Change
NDC Processing This worker now handles the execution of one state
State Executor only and then signals. Therefore, the Transaction
Request signal and Close State signal are no longer
supported
NDC Delete These workers now have additional attributes and
RSA Key, work groups to support multi‐vendor remote key
NDC Export management using certificates.
Encryptor Data,
NDC Export
RSA Key,
NDC Import
RSA Key
SSDS DLL This worker can now link DLLs indirectly through
Interface the registry using a new attribute of Application
Link
Take Picture This previously unsupported worker is now
supported in Advance NDC 3.03 with some
modifications for the new implementation of
camera. The worker reads the flow point and, if a
capture flow point and Enhanced Configuration
Parameter option 0 are enabled, takes between one
and three pictures and stores the image files in a
folder. The flow point, number of pictures to take
and location of the folder are defined in the Security
Camera XML file.
Time Has an additional attribute “milliSeconds”. This
allows milliseconds in the range 000‐999 to be
included in the time. By default, milliseconds are not
included. When milliseconds are included, a period
(‘.’) separates the seconds from the milliseconds and
leading zeros are used. For example, 2 seconds and
40 milliseconds would be displayed in one of the
following ways:
when leading zeros for seconds are disabled: 2.040
when leading zeros for seconds are enabled: 02.040
Table B‐7 lists workers that were modified for Advance NDC 3.02.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Worker Change
Coin Dispenser This previously unsupported worker is now
TI supported in Advance 3.02. The worker is a State
Reporter which, when activated, waits for a coin
dispenser Tamper Indication (TI) event to occur.
NDC Export Changed name from NDC EPP RSA Export Key and
Encryptor Data modified for enhanced RKM. Now supports
retrieval of encryptor capabilities and status and
retrieval of the ATM random number.
NDC Import Changed name from NDC EPP RSA Import HSM
RSA Key Public Key and modified for enhanced RKM. Now
supports loading of any type of RSA key into the
encryptor in the EPP.
NDC RSA Changed name from NDC EPP RSA Import DES
Import DES Key Key.
Table B‐8 lists workers that have been modified for Advance NDC
3.00.
Cash Stacker Cash Dispenser 7 cassettes not supported
PIN Collector Supported by Advance NDC with minimum
functionality, to allow the PIN to be collected from
the physical cardholder keyboard only, not from
FDKs or touch screen.
PIN Length Functionality is limited to signals to minimise
Adjuster author changes
Supervisor Data Now works only in two basic modes: numeric and
Collector hexadecimal; new signal introduced for Cancel
operation, due to CEN‐XFS limitations.
Fixed Operator Now handles positioning for different screen
Text resolutions
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Worker Change
Variable Now handles positioning for different screen
Operator Text resolutions, but performs no text formatting
Operator Echo Now handles positioning for different screen
resolutions
Operator Key Now used only as a sensor to enable emulation of
FDK keys on the touch screen during Supervisor
Data Collection on the front supervisor interface.
This worker must be used inside a Supervisor Data
Collector worker and not inside any other worker
such as a director. Using the worker inside a
Supervisor Data Collector ensures the Supervisor
Data Collector behaves correctly.
NDC Comms Uses APTRA Communications Connection Manager
Connection ID (CCM) for software for communications. The Name
attribute specifies the CCM link ID. The default is
TPA CONNECTION.
Generic Print Only a limited set of control codes is supported.
Paragraph
Card Acceptor Now used to specify which card tracks to read.
Card Track Now used to retrieve the track data previously read
Reader by the Card Acceptor.
New signal on read failure.
The following subheadings group workers by type, and give details
of the changes that apply both to all the workers in the group, and to
individual workers in the group.
As the Advance NDC application does not need to perform resource
Resource Identifier negotiation, support for the following Resource Identifier (ID)
Workers B
workers is limited to Advance NDC functions (device variant and
fitness Getters):
Consumer Resource ID
Cardholder Display Resource ID
Card Reader Resource ID
Operator Display Resource ID
Front Kbd Resource ID
Rear Interface Resource ID
Operator Kbd Resource ID
Coin Dispenser Resource ID
Receipt Printer Resource ID
Journal Printer Resource ID
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
MCRW Resource ID
Encryptor Resource ID
Cash Handler Resource ID
Envelope Depository Resource ID
Envelope Dispenser Resource ID
Door Resource ID
Smart Card Resource ID
Night Safe Resource ID
Camera Resource ID
Statement Printer Resource ID
Cash In Resource ID
Front Interface Resource ID B
If your application uses this worker, you can obtain focus by
replacing the negotiator worker that uses the Front Interface
Resource ID by an NDC Screen Displayer, with its Reserved Screen
attribute set to FOCUS.
The following workers have been modified for RSA functionality:
EPP Security Workers B
NDC EPP KVV Evaluator
NDC EPP Initialiser
NDC EPP Key Mode Initialiser
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Passbook Printer Worker Classes B
If you used the APTRA Advance Passbook Printer product with
versions of Advance NDC 2.x prior to Advance NDC 2.06, the
following tables describe differences in the Passbook Printer worker
classes in Advance NDC, using the CEN‐XFS interface.
Page Number If the page number is invalid, 0 is returned.
Store
Passbook The Passbook Acceptor worker uses a form definition
Acceptor and a media definition to validate the passbook, and
stores the magnetic stripe data. NCR does not
recommend the use of an idle sequence by this worker
as Advance NDC uses an idle sequence in the Card
Acceptor.
Passbook The Passbook Definer worker is retained for
Definer backwards compatibility. To set up passbook
characteristics, NCR recommends you edit the
provided XFS form definition and media definition.
Passbook The Passbook Definition worker is retained for
Definition backwards compatibility. To set up passbook
characteristics, NCR recommends you edit the
provided XFS form definition and media definition.
Passbook A signal is sent instead of a runtime error if page
Page Turner turning is not supported, or there is no passbook in the
printer
Passbook The DBCS Toggle attribute is ignored by Advance
Printer NDC
Passbook The Passbook Reader worker returns the magnetic
Reader stripe data. It also scans the passbook page for the line
number, and the page number if it is present, to
update the line number and page number stores. A
registry setting, ByPassPageMark under the
Advance NDC/PRINTING/Passbook registry key,
can be used to ignore the page even if it is present. For
backwards compatibility, the attributes can be set; but
they are ignored. Signals are sent instead of runtime
errors.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Worker Change
Passbook For backwards compatibility, the attributes can be set;
Writer but they are ignored. Signals are sent instead of
runtime errors.
Passbook In Advance NDC, Resource ID worker classes are used
Resource ID as described in “Resource Identifier Workers” on
page B‐20.
The CEN‐XFS passbook printer worker classes do not generate the
runtime errors used by the ADI‐2 workers, but send equivalent
signals. The following table shows how the runtime errors map to
signals.
Table B-10
Runtime Errors Mapping to Signals
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Unsupported Workers B
All the workers in this section are not supported in an Advance
NDC application. You will need to check your application to see
whether it is affected. To find a worker, you can use the Author Find
option. (On the application Top Worker director, select MB2, select
Find and search by the Worker Hierarchy option.)
The following workers exist in the authored flow for worker factory
Stubbed Workers B
and application build compatibility, but perform no function and
are not supported:
Media Entry Indicator
Front Interface
Rear Interface
SM Token
Extended Cassette Type Enabler
Extended Operator Key
Channel ID
A worker in this list has been replaced either by a new worker or a
Replaced Workers B
different implementation of the functionality, and therefore the
worker is no longer supported. For any customisation using any of
these workers, alternatives are suggested.
Cardholder Data Collector B
This worker has been replaced by the NDC Data Collector.
Consumer Token B
The functionality of the Consumer Token is now performed at
platform level by the resource agent. For details, refer to the APTRA
Resource Management On‐Line Documentation. If your
customisation uses a Consumer Token, you can model your
re‐implementation on the existing Advance NDC code in the Card
Read State.
Front FDK Key B
This worker has been replaced by the XFS Front FDK worker, which
requires the NDC Data Collector to be active during key entry.
Front Fixed Key B
This worker has been replaced by the XFS Front Key worker, which
requires the NDC Data Collector to be active during key entry.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Front Key Masker B
This worker cannot be used in an XFS development. If your
customisation uses this worker, it will require re‐implementation
using the NDC Data Collector to enable the required keys.
Operator Key Masker B
This worker cannot be used in an XFS development. If your
customisation uses this worker, it will require re‐implementation
using the NDC Data Collector to enable the required keys.
Keyboard Beep Setter B
The beeping of both the front and rear keyboards can be configured
at the service provider (SP) level.
Logo Setter B
This worker class is no longer supported but you can set a logo by
updating the K09 screen definition in resrvd.def with the appropriate
printer controls for downloading the logo file to the printer.
TCP/IP Comms Connection ID and S4 Comms Resource
Identifier B
If your customisation uses the TCP/IP Comms Connection ID or S4
Comms Resource Identifier workers, it will require
re‐implementation using the NDC Comms Connection worker.
As Advance NDC does not support the BOP, there is no support for
Basic Operator Panel the following workers:
(BOP) Workers B
Fixed BOP Text
Variable BOP Text
BOP Echo
The following Security workers are not used and are not supported
Unsupported Security in Advance NDC:
Workers B
DES Component Checker
DES Component Holder
DES Component Wiper
DES Decryptor
Encryption Key Collector
Initialisation Vector
PIN Length Adjuster
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Advance NDC does not support the Encryptor Keyboard Controller
EKC Workers B
(EKC), therefore there is no support for the following workers:
NDC EKC Initialiser
NDC EKC Tamper Clear
NDC Hallmark Key Builder
NDC Hallmark Key Verifier
The following workers are not supported in Advance NDC as
Communications Protocol communications protocols are handled at the platform level:
Workers B
BSC 3
FBSS Passthru
Hayes Modem
HoneyWell
S4 Message Sender
SNA 3624
SNA X.25 QLLC
X.25 LAPb
XModem
Although an Author application can be built as an OCX control, the
ActiveX Workers B
Active Interface worker is not supported in Advance NDC.
As linked FITs are not supported in Advance NDC, the Linked FIT
FIT Workers B
Loader is not supported.
As Advance NDC does not negotiate for devices, the Resource
Resource Management Management workers described here are only available for Display
Workers B
Resource IDs. Other devices are not supported.
Resource Negotiator
Resource Monitor
Resource Allocator
Resource Releaser
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
As Door Access is not supported in Advance NDC, the following
Door Access Workers B
workers are not supported.
Door Acceptor
Door Opener
The following Enhanced Card Reader/Writer workers are not
Enhanced Card supported in Advance NDC:
Reader/Writer Workers B
Card CIM Verifier
Card Watermark Verifier
Smart Card Connect
Smart Card Direct
Smart Card Disconnect
The following Cash Handling workers are not supported in
Cash Handling Workers B
Advance NDC:
Cash Accessibility Checker
Extended Cassette Type Enabler
Note Initialiser
Note Mixer
The following workers were provided for a previous
Coin Dispenser Workers B
implementation of Coin Dispenser, which is not supported:
Coin Dispense
Coin Initialise
Coin Mix
Note: In a new implementation of coin dispensing functionality for
Advance NDC, the Coin Dispenser (but not Coin Dispense) worker
is supported.
The following Communications workers are not supported in
Communications Workers B
Advance NDC:
Offline
Offline Status
The following Data Entry workers are not supported in Advance
Data Entry Workers B
NDC, as described in “Replaced Workers”:
Cardholder Data Collector
Front FDK Key
Front Fixed Key
Front Key Masker
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Keyboard Beep Setter
Operator Key Masker
The following workers are not supported in Advance NDC. NCR
Printer Workers B
proprietary codes should be passed straight through to the printer
using the Raw Data command:
Sideways Receipt Printer Page
Barcode Print Paragraph
Dynamic Graphics Paragraph
Dynamic Logo Paragraph
Dynamic Logo Setter
Logo Print Paragraph
Logo Setter
Printer Code Page Definer
If you use these workers, ensure that the corresponding printer
control codes are configured to allow the printer data to be
processed correctly by the printer service provider.
For details of printer configuration, refer to Chapter 5, “Printer
Data” in the APTRA Advance NDC, Reference Manual. For additional
printer configuration on other vendors’ SSTs, refer to the APTRA
Advance NDC, Multi‐Vendor Support Reference Manual.
The following workers are not supported in Advance NDC:
Miscellaneous
Counter Store
Unsupported Workers B
Note Mixer
Session Requester
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix C
Extending the APTRA Author
Runtime
Overview C‐1
Workers to Interpret APTRA Author BASIC Expressions C‐3
Components of an Author BASIC Expression C‐4
ASCII/EBCDIC Functions C‐5
Message Level Protocols C‐5
Character Based Messages C‐5
SST to Host (ASCII to EBCDIC) C‐5
Host to SST (EBCDIC to ASCII) C‐5
Character/Binary Based Messages C‐6
SST to Host (ASCII to EBCDIC) C‐6
Host to SST (EBCDIC to ASCII) C‐6
ASCII to EBCDIC C‐7
EBCDIC to ASCII C‐9
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
Extending the APTRA Author Runtime
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Extending the APTRA Author Runtime
C
Overview
Overview C
As well as using the Author to visually develop an application,
there are other programming tasks you can perform to extend the
Author runtime. For instance, if there is a task which cannot be
performed using the workers provided, you can do one of the
following:
Use the ActiveX worker classes and VBScript (see Chapter 5,
“ActiveX Controls and APTRA Author” for details)
Write a BASIC expression to perform the task. Some workers
interpret BASIC expressions
Create a COM component using .NET, Visual Basic or ATL. The
object must support the IProvideClassInfo2 interface.
Write an external C function to perform the task. The function
will be contained in a Dynamic Link Library (DLL) with access
through one of the supplied workers
Create a new worker class to perform the task. This means
programming in C++.
Note: For performing data manipulation operations and providing
functionality not available with the worker classes provided, the
ActiveX worker classes and VBScript approach is recommended.
These programming tasks have been introduced as visual
representation is often, but not always, the best tool for the job.
Writing a BASIC expression is the simplest form of Author
extension and can be produced by non‐programmers. It can be used
to do the following in your application:
Perform a calculation
Carry out some data manipulation (for example, string
formatting).
The following sections describe the BASIC programming language
offered by the Author.
We also provide details of the default translation tables used by the
ASCII/EBCDIC functions (ASCIIToEBCDIC and EBCDICToASCII)
we supply. These functions are only two of the functions provided
with the Core Self‐Service Runtime component which can be called
from a BASIC expression.
Note: If you previously used the ASC() function with the OS/2
version of SSDS, you should be aware that the ASC() function
returns different values with Microsoft Windows than with OS/2. In
both OS/2 and Windows, the ASC() function returns an integer
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
representing the first character in a character string. However, OS/2
uses single byte characters, and the range of returned values is 0 to
255. Windows uses dual‐byte characters, and the range of returned
integers is ‐32768 to 32767.
If a BASIC expression cannot give you the functionality you require
then you could consider extending the Author runtime by either
writing an external C function or creating a new worker class. For
details of these programming tasks, refer to the APTRA Advance
ADE, Programmer’s Guide.
If you have NDC Exits to be migrated from ADI2 to the CEN‐XFS
interface, refer to the APTRA Advance NDC, Extending the Product
publication.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Workers to Interpret APTRA Author
BASIC Expressions C
The APTRA Author provides workers to evaluate a user‐defined
BASIC expression. These workers are referred to as Expression
Evaluators. Expression Evaluators allow the testing and
manipulation of data stored in the workers. There are three types of
Expression Evaluators:
Computers ‐ for computing a single result from an expression
Testers ‐ for testing the success or failure of the expression
Assigners ‐ for storing the result(s) of the expression.
For more details of the Expression Evaluators, refer to the on‐line
help as follows:
1 Select Help, Author Help Topics.
2 Double‐click the Core Self‐Service book.
3 Double‐click the Runtime Core book.
4 Double‐click the Data Manipulation topic.
The Expression Evaluators are listed on this help screen.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Components of an Author BASIC
Expression C
An Author BASIC expression is a string written in a subset of the
BASIC language. It does not support any of the traditional
if/then/else (multiple line) constructs. It only supports a single
BASIC statement.
An Author BASIC expression can contain any of the following
components:
Functions ‐ these can be called from a BASIC expression to
perform a pre‐determined operation on an operand (or
operands)
Variables ‐ every variable has a data type which determines
what is stored in the variable. Possible data types are Real,
Integer, String and Handle (note that array variables are not
supported)
Operators ‐ includes arithmetic, relational and logical operators.
To learn more about the components that make up an Author
BASIC expression (such as the operators and data types supported),
refer to the on‐line help as follows:
1 Select Help, Author Help Topics.
2 Double‐click the Core Self‐Service book.
3 Double‐click the Runtime Core book.
4 Double‐click the Data Manipulation topic.
5 Select the BASIC Expression link. Information on BASIC
expressions is provided on this help screen.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
ASCII/EBCDIC Functions C
In common with most computer related manufacturers, NCR uses
the ASCII code set to represent characters. However, IBM uses the
EBCDIC character code set. Thus, if NCR SSTs are connected to an
IBM network, communications messages must be translated to
EBCDIC before being sent by an NCR SST, and translated to ASCII
when received by an NCR SST.
Two ASCII/EBCDIC functions (ASCIIToEBCDIC and
EBCDICToASCII) are provided with the Core Self‐Service Runtime
component which can be called from a BASIC expression. For
details of these functions, refer to the on‐line help as detailed in the
previous section.
Message structure and field content is determined by agreement
Message Level Protocols C
between the host and the SST application developers. Messages may
be Character Based or Character/Binary Based.
Character Based Messages consist entirely of character fields, that is
all of the message fields contain character (String) data.
Character/Binary Based Messages consist of a combination of
character fields and binary (Integer) fields, that is some of the
message fields contain character data and some contain binary data.
Typically, the entire content of Character Based Messages should be
translated, whereas only character fields of Character/Binary Based
Messages should be translated.
This section gives guidelines on how to translate a character based
Character Based Messages C
message.
SST to Host (ASCII to EBCDIC) C
In a Message Sender worker’s Parcel work group, place a String
Computer worker, with the attributes Expression
ASCIIToEBCDIC$(OutMsg$) and Parameter List OutMsg$.
In the String Computer workerʹs Input 1 work group, place a
Formatter worker.
Host to SST (EBCDIC to ASCII) C
In a Message Receiver workerʹs MailBox work group, place a String
Store (Raw Message) to hold the untranslated data.
Define the Message Identifier characters in EBCDIC by converting
the EBCDIC character codes to hexadecimal, and entering the
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
corresponding decimal value using the Alt key and the numeric
keypad.
For example, if the Message Identifier characters are ʹ02ʹ EBCDIC,
this is equivalent to F0H F2H, which converts to 240 242 decimal.
Use the numeric keypad to enter <Alt>240 <Alt>242.
When the Message Receiver worker signals, transfer control to a
work group which contains an Assigner worker, with the attributes
Expression EBCDICToASCII$(InMsg$) and Parameter List
InMsg$.
In the Assigner workerʹs Input 1 work group, share the Raw
Message String Store. In the Answer work group, place a
Deformatter worker.
This section gives guidelines on how to translate a character/binary
Character/Binary Based based message.
Messages C
A message level protocol may define some message fields as Binary
fields and others as String fields. Only the String fields should be
translated.
SST to Host (ASCII to EBCDIC) C
Before being transmitted to the host, Binary (integer) data should be
converted to its character equivalent, so that a Fixed Field Length
worker can be used to define the field format.
To perform the conversion, use a String Computer worker with the
BASIC function CHR$ in its expression attribute.
For example, if TSN% is an integer in the range 1‐255, use
expression CHR$(TSN%) to convert it to a character. When the
conversion to character is complete, the data is ready for
transmission. Do not translate to EBCDIC.
To translate String data, use a String Computer worker with
function ASCIIToEBCDIC$ in its expression attribute.
Note that a String Computer worker can be placed in each Retrieval
Area work group of a Formatter worker.
Host to SST (EBCDIC to ASCII) C
Previously, when we looked at Character Based Messages, we
considered the Message Receiver workerʹs Message Identifier
attribute to be in EBCDIC characters.
However, for Character/Binary Based Messages, the Message
Identifier may be Integer. In this case, to define the Message
Identifier attribute, you must enter the integer value while pressing
the Alt key.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
For example, if the Message Identifier is Xʹ02ʹ (IBM notation for 02
Hex), define the Message Identifier as <Alt>02.
Deformat received messages so that binary fields are placed into
String Stores. The stores will then hold the character equivalent of
the integer data.
Subsequently, use Assigner workers with function ASC in their
expression attribute, to convert the character data to integers, and
store the result in Integer Stores.
As there are many different standards for ASCII to EBCDIC
ASCII to EBCDIC C
conversion, the source code for these functions has been made
available should you want to change their behaviour. The character
conversion table used in the default implementation of the functions
is provided in the following pages.
For details of how to change the default tables, refer to the APTRA
Advance ADE, Programmerʹs Guide.
The following table specifies the default ASCII to EBCDIC
conversion used by the ASCIIToEBCDIC function:
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following table specifies the default EBCDIC to ASCII
EBCDIC to ASCII C
conversion used by the EBCDICToASCII function.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix D
Guidelines for Developing
Applications
Overview D‐1
PCI DSS/PA‐DSS Considerations D‐1
Recommended Guidelines D‐2
Developing Several Applications in Separate Project Files D‐4
Advantages D‐4
Recommended Approach D‐4
Differences when Running a Test Application D‐6
Developing a Single Application over Several Project Files D‐7
Advantages D‐7
Recommended Approach D‐7
Differences when Running a Test Application D‐10
SSDS DLL Interface Signal D‐11
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
Guidelines for Developing Applications
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Guidelines for Developing Applications
D
Overview
Overview D
The following “Recommended Guidelines” section provides
recommended best practice development stages, which should be
followed when modifying or extending an application.
It is common for Author users to develop their Author application
or applications in a single project file. This can lead to large project
files being developed. Where a team development approach is being
used, it is not desirable to work with large project files as project
merges will take a long time to perform.
There is no need to develop an application in a single project file.
The following sections, “Developing Several Applications in
Separate Project Files” and “Developing a Single Application over
Several Project Files” describe how to improve the performance of
project management by doing the following:
Developing several communicating applications and storing
each application in a separate project file
Developing a single application and storing it over several
project files.
The “SSDS DLL Interface Signal” section then describes how to use
the SSDS DLL Interface worker. However, you may wish to use
ActiveX functionality in place of the described SSDS DLL Interface
worker approach.
For an Advance NDC end solution that is compliant with PCI
PCI DSS/PA‐DSS DSS/PA‐DSS, any modifications to the supplied Authored projects
Considerations D
may fall within the scope of the Payment Application Data Security
Standard (PA‐DSS) and require to be developed securely. For more
information refer to the following:
APTRA Advance NDC, Payment Application Data Security Standard
Implementation Guide
APTRA Advance NDC, Developerʹs Guide
Appendix E, “PCI DSS & PA‐DSS Compliance in Advance
NDC”
PCI Security Standards website.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Recommended Guidelines D
These guidelines assume you are familiar with using the Author,
and you have read the Author documentation, and/or attended an
Author course. As such, they are not step‐by‐step instructions but
stages to follow when you are modifying or extending an Author
application.
Before and during these guidelines, it is good practice to back up the
provided projects, and the projects you are working on.
NCR recommends that you adhere to the following guidelines
when preparing to modify or extend any application:
1 With the required project file open, create a new module for
your development. Change the default module name you are
prompted with to an appropriate and meaningful (recognisable)
name.
2 Set your created module as the default module.
3 Create a new catalog ready for your applications, with a
meaningful name.
4 Create a new catalog ready to hold your workers, and workers
being changed, with another meaningful name.
Note: If your modification or extension requires new worker
class definitions, create these in a separate module. This is
necessary as a module copy cannot copy a mode containing
worker classes or literal type definitions.
5 Copy the application to be modified into your applications
catalog.
6 Open the application in your applications catalog to display its
top‐level picture.
7 Before changing a Director worker by adding a worker or work
group, share the original worker into your worker catalog. This
is useful for future releases or changes, enabling you to review
and compare changes.
Note: As in any development, all application changes must be
documented, to enable easy review for future releases and
changes. As a minimum, you should keep a list of the workers
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
you change, with their original worker component IDs, and a
summary of the changes made. For more information about
documenting your development, refer to Chapter 8, ʺModifying
the Customisation Layerʺ of the APTRA Advance NDC,
Developer’s Guide.
8 Replace the top worker and any other Director workers you
wish to change, down to the required level. Make changes at the
Director level wherever possible, to enable easier re‐use of your
own changes, and for subsequent releases.
9 Ensure all the signals associated with the workers you have
changed are reconnected to the required workers.
10 Test the changes you have made in isolation as much as
possible, in a unit test.
11 Perform a module copy on the catalogs containing tested
developer(s) changes into another fully functional ‘work in
progress’ application, as and when required.
12 Share the top workers from the catalogs into the main work
flow.
Note: If changes are made to shared workers, you must ensure
that you identify all locations that use the shared workers.
Ensure that you have identified all instances of the shared
worker, even where the sharing occurs at a higher level.
13 All changes can then be tested in one or more integration tests,
separately from a previously tested (known working)
application.
New functionality and updates can continue to be added in a
controlled manner, using the preceding recommended guidelines.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Developing Several Applications in
Separate Project Files D
There is no need to develop all your applications in one project file.
In fact, there are many advantages in structuring development such
that each application is held in its own project file. This will result in
project files which have a smaller, and thus more manageable, size.
This in turn will reduce the length of time required to do merges.
This development approach still allows you to test all the
applications simultaneously on your development PC. A detailed
description of how this can be achieved is provided later in this
section. In summary however, when a project is opened in the
Author, it is possible to run an application contained in another
project by doing the following:
1 Creating a new Application component.
2 Placing an SSDS DLL Interface worker in this Application
component.
3 Setting the DLL Name attribute of the SSDS DLL Interface
worker to refer to the DLL name of the application you want to
run.
4 This application can then be started as normal.
When it comes to installing the Final Applications on an SST, this
approach is no different from installing many applications created
in a single project file. This is also described later in this section.
The advantages gained by developing several applications in
Advantages D
separate project files (instead of storing them all in one large project)
are as follows:
The application will take less time to initialise in the test
environment
The responsiveness of the Author will improve when running
an application in this way
The project merge time is reduced.
This section describes the procedure for splitting up a project
Recommended Approach D
containing many applications into many projects, each containing
one application. It also describes how the applications can be run at
the same time in the test and final environments.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
In this procedure, we will assume you want to convert a large
project file which contains two applications into two projects each
containing one of the applications. The procedure for doing this is
as follows:
1 Open the large project.
2 Delete all the components associated with one of the
applications. To delete a component from a project file, it must
be removed from all places where it is referenced in the project.
By ‘referenced’ we mean held in a catalog, or contained in a
work group.
3 After you have deleted all unnecessary components, use Save
As to save the project with a new name.
4 Open the original project again and repeat steps 2 and 3 to create
another project containing only the components for the other
application.
5 Where the applications use Sharable Stores, ensure that the Store
Name attributes have identical values.
We will now assume that you have two projects named app1_prj.mpj
and app2_prj.mpj which contain application top workers ‘App1’ and
‘App2’ respectively.
6 In app1_prj.mpj, place the App1 top worker in an Application
component and build a Final Application for it (for example,
c:\working\app1.exe).
7 In app2_prj.mpj, place the App2 top worker in an Application
component and build a Final Application for it (for example,
c:\working\app2.exe).
When you build a Final Application, the Author creates an
application Dynamic Link Library (DLL) file and an executable.
When these are created, you are able to run either application,
regardless of which project file is opened in the Author.
For example, if you want to run App2 in the test environment while
App1 is running, do the following:
1 In the app1_prj.mpj project, create a new Application component
and place an SSDS DLL Interface worker in it.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
2 Set the DLL Name attribute of the SSDS DLL Interface worker to
refer to the DLL generated for App2 as part of the Final
Application. The full pathname is required (that is,
c:\working\app2.dll).
3 You can now start this application and App2 will run.
The above is an outline of the approach and can be adapted
depending on how many applications you have, how many you
wish to run on your PC at the same time, and how many projects
you have.
Note: If you have a worker shared between both the applications
and the worker is not a Data Store, then you do not have to replace
it. However, if you do not replace the worker and subsequently
change its behaviour in both projects, then if you merge these two
projects in the future, the most recently changed version of the
worker will be kept and will replace all uses of the older version.
You may not wish this to happen. Therefore, it is advisable to
replace the shared worker with another worker. Note that it is bad
practice to share a worker other that a Sharable or Persistent Store
between applications.
Differences when Running a Test Application D
The following points should be noted when testing applications
held in different project files:
The application held within the DLL will take less time to
initialise
Any dynamic updates to the application held within the DLL
will be ignored
It is not possible to view the currently active work groups via
Author ‘hatching’ for the application contained within the DLL
Compared to their behaviour when running fully in the test
environment, there may be some timing and synchronisation
differences between running applications via the SSDS DLL
Interface worker.
For details of the steps you need to perform to deploy an Advance
NDC application to an SST, refer to the APTRA Advance NDC
Developers Guide.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Developing a Single Application
over Several Project Files D
There is no need to develop a large application in one project file. It
is possible to develop different parts of the same application over
many project files. This will result in smaller, more manageable
project files which take less time to merge.
This approach still allows you to test the application on the
development PC. A detailed description of how this can be achieved
is provided later in this section. In summary however, you need to
identify a part of the application which can be easily split away
from the application. This part application should be removed and
put in another project. It should then be placed in an Application
component and a Final Application built for it. An SSDS DLL
Interface worker is then placed in the original application in the
work group vacated by the part application. This SSDS DLL
Interface worker refers to the DLL of the part application generated
as part of the Final Application.
The advantages gained by developing an application over several
Advantages D
project files, instead of storing it in one large project, are as follows:
The application will take less time to initialise in the test
environment
Author Completeness Check time is reduced
Time required to assign signals to work flows is reduced
Application rebuild time is reduced since you only need to
rebuild the part of the application that has changed
The project merge time is reduced
Note: All of the above are achieved because the Author does
not have to do any checking of the contents of the sub‐DLLs.
Time taken to download files during Software Management is
reduced as sub‐components (contained in sub‐DLLs) of the
application can be downloaded.
This section describes the procedure for splitting up a project
Recommended Approach D
containing a large application to many projects, each containing a
part of the application. It also describes how these part applications
can be pulled together to run in both the test and final
environments.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
In this procedure, we will assume you want to convert a large
project file which contains a single application into two projects
with one project containing the main application and the other
containing a part of the application. The procedure for doing this is
as follows:
1 Open the large project.
2 Firstly, you need to identify a part of the application which can
be easily split away from the main application. This should be a
large, self‐contained, part of the application which has few
interdependencies with the rest of the application (for example,
Transactions, Supervisor, Communications).
Note: We will refer to the main application as the controlling
application and the part of the application being split away as
the sub‐application.
3 Find all the Data Stores that are shared between the controlling
application and the intended sub‐application. If some of the
Stores do not need to be shared, then replace them with other
workers. If there are some Stores which need to be shared,
replace them with Sharable or Persistent Stores.
Note: If the intended sub‐application is independent, there
should be few Stores that are shared.
4 Find all Synchroniser workers which are used across the
boundary of the controlling application and intended
sub‐application. These workers only work within DLL
boundaries.
When splitting an application, you should try to ensure that
Synchronisers do not end up in two different DLLs. If this is not
possible, then for all Synchroniser workers used across the
boundary, you need to remove them using either of the
following methods:
— Introduce a Sharable Store. This Store can be used as a
semaphore between applications ‐ it can be set, cleared and
tested as appropriate to simulate the use of a Synchroniser. It
can be set or cleared by using a Setter and can be tested by
using a Tester (if the Tester reports that the semaphore is not
clear, then activate a Timer which on completion will
re‐activate the Tester)
— Alternatively, you can synchronise actions by using message
passing between the controlling application and
sub‐application via the Message Sender and Receiver
workers.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
5 Having identified the intended sub‐application, delete all the
components associated with it. To delete a component from a
project file, it must be removed from all places where it is
referenced in the project. By ‘referenced’ we mean held in a
catalog, or contained in a work group.
6 After you have deleted all unnecessary components, use Save
As to save the project with a new name.
7 Open the original project again and repeat steps 5 and 6 to create
another project containing only the components for the
controlling application.
8 Where the applications use Sharable Stores, ensure that the Store
Name attributes have identical values.
We will now assume that you have two projects named main_prj.mpj
and sub_prj.mpj which contain application top workers ‘MainApp’
and ‘SubApp’ respectively.
9 Open the sub_prj.mpj project. Place the SubApp top worker in an
Application component and build a Final Application for it (for
example, c:\working\sub_app.exe). When you generate a Build
Final, the Author creates an application DLL file and an
executable.
10 Open the main_prj.mpj project. Add an SSDS DLL Interface
worker to the work group in the MainApp which previously
held the sub‐application.
11 Set the DLL Name attribute of the SSDS DLL Interface worker to
refer to the DLL generated for the sub‐application as part of the
Final Application. The full path name is required (for example,
c:\working\sub_app.dll).
Note: The SSDS DLL Interface worker has only one signal
which is triggered whenever the top worker in the
sub‐application (it refers to) produces a signal. However, the
sub‐application may return more than one signal. So that the
controlling application can handle all the signals returned, you
need to adapt its flow. This is described, later in this appendix,
in the section “SSDS DLL Interface Signal”.
12 You can now start the controlling application (MainApp) and
the sub‐application will run when the SSDS DLL Interface
worker is activated.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The above procedure is a recursive technique. That is, you can
repeat it with an application which is itself a sub‐application of
some other application. In this way you can further split up an
application into a hierarchy of DLLs, if required.
Note: If you have a worker shared between the controlling
application and sub‐application and the worker is not a Data Store,
then you do not have to replace it. However, if you do not replace
the worker and subsequently change its behaviour in both projects,
then if you merge these two projects in the future, the most recently
changed version of the worker will be kept and will replace all uses
of the older version. You may not wish this to happen. Therefore, it
is advisable to replace the shared worker with another worker. Note
that it is bad practice to share a worker other that a Sharable or
Persistent Store between applications.
Resource negotiation is unaffected by splitting an application into
multiple DLLs. Resource negotiation actions apply on an
application to application basis. Therefore, if you negotiate for a
device in a DLL pulled in as a sub‐application, it will negotiate on
behalf of the controlling application, and the other way around.
Differences when Running a Test Application D
The following points should be noted when testing an application
held over several project files:
The application will take less time to initialise
Any dynamic updates to the application held within the DLL
will be ignored
The currently active work groups is not highlighted for the
application contained within the DLL
Compared to their behaviour when running fully in the test
environment, there may be some timing and synchronisation
differences between applications running through the SSDS
DLL Interface worker
Application rebuild time is reduced since you only need to
rebuild the part of the application that has changed.
For details of how to deploy an Advance NDC application onto an
SST, see the APTRA Advance NDC Developers Guide.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
SSDS DLL Interface Signal D
The SSDS DLL Interface worker has only one signal which is
triggered whenever the top worker in the sub‐application (it refers
to) produces a signal. However, the sub‐application may return
more than one signal. So that the controlling application can handle
all the signals, you will need to adapt its flow. We describe this in
the following steps.
Step 1
In this example, Transaction is the top worker of the
sub‐application. We will assume that the sub‐application’s top
worker can generate two different signals, ‘good’ or ‘bad’.
In order for the controlling application to know which signal has
been generated by the sub‐application (good or bad), a Shared Store
will be used.
First of all, you need to add work groups to the sub‐application and
place workers in them which set a Shared Store to one of two values.
Each value identifies either the good or bad signal generated.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The following diagram shows how to do this.
The workers in the ‘Place 2’ and ‘Place 3’ work groups perform
basically the same job. The ‘set store to good’ worker sets the
Sharable Store to hold a value of ‘1’ and the ‘set store to bad’ worker
sets the same Sharable Store to ‘2’.
Step 2
Now, in the controlling application, an SSDS DLL Interface worker
called ‘Sub App’ is placed in the work group that previously held
the sub‐application flow. This worker references the DLL file
(generated as part of the Final Application) containing the
sub‐application.
Destination work groups (Place 2 and Place 3) are added to the
application flow to deal with the good or bad signal from the
sub‐application.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Note that the SSDS DLL Interface worker (Sub App) can only
generate one signal. Therefore, when the sub‐application signals,
the Sub App worker signals.
By adding a Selector worker to the application, we can use this to
determine what signal was generated by the sub‐application (good
or bad).
The same Sharable Store used in the sub‐application (see Step 1) can
be added to the Selector worker. Depending on the value in the
Shared Store (either 1 or 2), the Selector will generate a signal to
force the correct path through the application.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix E
Reserved User IDs
Overview E‐1
Reserved User IDs E‐2
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
Reserved User IDs
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Reserved User IDs
E
Overview
Overview E
This appendix lists the reserved user IDs that are used in the
Advance NDC authored projects. These user IDs must not be
assigned to anyone else, otherwise duplicate component IDs could
be created.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Reserved User IDs E
The following list gives all the reserved user IDs in Advance NDC,
alphabetically by row. For details of the format required for new
users IDs, see section “User IDs” on page 2‐3.
bm bna cb cm db
dc df dha di dma
HC185040 hg im ja513225 js
jv kv kn laptop laya
lb lg ly ly250014 MBYI
mk ms murthy mw ncr
pa pad pc pd pk
VKA vm yc ziy yy
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix F
Display Considerations
Understanding Grey Scale Monitor Burn‐In F‐2
What is Monitor Burn‐In? F‐2
Example of Monitor Burn‐In F‐2
How Do I Prevent Monitor Burn‐In? F‐3
Implementing Screen Maintenance Techniques F‐3
Guidelines for Using Monochrome STN LCDs F‐4
Colour Depth F‐4
Contrast F‐4
Animation F‐4
Optical Effects F‐4
Display Burn‐In F‐5
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
Display Considerations
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Display Considerations
F
Overview
Overview F
This appendix highlights the effects of monitor burn‐in and
describes how to prevent it from happening. It also provides
guidelines for using monochrome super twisted nematic (STN)
liquid crystal displays (LCDs).
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Understanding Grey Scale Monitor
Burn‐In F
The inside of a CRT (Cathode Ray Tube) is coated with phosphor.
What is Monitor Burn‐In? F
This element, when excited by electrons, will glow, producing an
image on screen. With this continued electron bombardment, the
phosphor coating will deteriorate. This shows itself as a ‘browning’
of the phosphor particles in the areas which have had the highest
level of activation, that is, the parts of the screen which have shown
the most white. This ‘browning’ is known as BURN‐IN.
If an image or a number of images are displayed on a CRT
constantly, or as part of a cycle of screens, the image or images will
cause screen Burn‐In. The severity of which will depend on the
following:
Intensity of graphics displayed
Length of time spent in idle loop(s)
Number of screens shown in idle loop(s)
Phosphor choice on tube
Brightness level of the display.
The screen starts with no image as shown in Figure F‐1 (1). An
Example of Monitor image is then displayed on screen; in this example, it is made up of
Burn‐In F
the left half in black and the right half in full intensity white as can
be seen in Figure F‐1 (2). This means only the white half has its
phosphors activated and as such, these phosphors will deteriorate.
Next, this image is shown for a period of time, allowing burn‐in.
After the image has been burnt‐in to the monitor, the right hand
side will have a brownish look to it when the monitor is switched
off. If a full white screen is displayed, the right hand side of the
screen will appear duller than the left, as can be seen in Figure F‐1
(3). This shows the effect of the deterioration of the phosphor
coating on the right side of the screen.
Figure F-1
Effects of Monitor Burn-in
1 2 3
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Each graphic screen displayed in the idle loop should have a
How Do I Prevent Monitor corresponding negative image which is also displayed during the
Burn‐In? F
idle loop AND for the same time‐span as the positive image. This
will exercise each pixel on screen to the same extent.
For example, a black pixel displayed in one image will be displayed
as a white pixel in the corresponding negative image. A mid‐grey
pixel will remain the same in both original and negative image
screens.
These guidelines should also be followed when choosing
background and text colours and displaying partial pictures in the
idle loop.
New screens should be designed with the negative image in mind.
To implement the CRT screen maintenance techniques, do the
Implementing Screen following:
Maintenance Techniques F
Create negative picture images using a graphics utility such as
PaintShop Pro®.
Create screens using reversed background and text colours.
Create and install either a new or an update aggregate that will
incorporate the new images in your application on the terminal.
Modify the idle loop, at the host level, to reference the new
screens.
Equalise the length of time the negative and positive image are
displayed.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Guidelines for Using Monochrome
STN LCDs F
The purpose of these guidelines is to provide the application screen
designer with basic information on how to make the best use of
monochrome STN Liquid Crystal Displays (LCDs).
Although these guidelines are for a monochrome display, it is
Colour Depth F
assumed that applications screens will be designed in colour. On
graphics screens the best effects are generated by using 256 colour
images. These will show up as a maximum of 61 shades and good
quality monochrome images can be achieved by this technique.
However, it should be noted that at average lighting levels, less than
61 gradations can normally be detected by the eye.
On text‐only screens, the best contrast is achieved by displaying
Contrast F
white characters on a black background. Coloured text will be
displayed as shades of black and white, but certain colour
combinations do not show up well on the panel.
Sharp vertical or horizontal contrast changes should be avoided, or
at least minimised if possible. Such changes lead to “ghosting”, or a
faint continuation of a line to the edge of the displayable area.
Careful selection of colour schemes can help to minimise this effect.
For example, rather than using a uniform background, choose a
pattern that will highlight every other pixel. Geometric patterns
suffer most from this limitation of the technology. Random patterns
or (perhaps more practically) grey scale backgrounds reduce the
effect.
It is preferable not to offer animation on the screen. If animation is
Animation F
required then it should only be for short, slow moving sequences.
This is due to the relatively slow response speed of the LCD.
It should be noted that some colours do not render well in grey
Optical Effects F
scale. Gradations between black and white for any one pixel are
achieved by strobing the pixel on and off. Some grey scale
representations of colours appear to have moving interference
patterns. This can be avoided by creating a shaded area by means of
turning on every other pixel fully, rather than strobing all pixels
within a given area.
The following diagram shows two groups of four pixels. All four
pixels in the left‐hand group are strobed at 50% duty cycle. The
right‐hand group shows how a similar grey scale can be achieved
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
with a lower risk of unwanted optical effects. In both cases, the eye
perceives the same amount of grey over the area.
Figure F-2
Reducing Optical Effects
Key:
Pixel on
Pixel strobed
Pixel off
Although images on LCD panels do not actually burn into the
Display Burn‐In F
screen in the same way as on CRTs, prolonged use of a static image
can cause the image to not fully disappear when required. This
effect is not nearly so pronounced as with CRTs, but prolonged use
of a static image should be avoided.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix G
Related Documentation
Overview G‐1
APTRA Author Documentation G‐2
Other NCR Documentation G‐4
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
Related Documentation
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Related Documentation
G
Overview
Overview G
This appendix describes the NCR documentation provided with the
Author and other documents referenced in this guide.
The Author documentation is a combination of on‐line help files
and one Adobe Acrobat Portable Document Format (PDF) file.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author Documentation G
The following table lists the documentation provided with the
Author as part of the Advance NDC installation.
Table G-1
APTRA Author Documentation
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Other NCR Documentation G
The following table lists other documentation referenced in the
APTRA Author, User’s Guide. Publications marked with an asterisk
(*) have not been updated for Advance NDC and are not supplied
with Advance NDC, but the information can still be used.
Table G-2
Other NCR Documentation
APTRA Advance NDC, Introduces Advance NDC and gives full details of
Overview the Advance NDC and related documentation.
B006‐6597
APTRA Advance NDC, PDF Provides application programmers with reference
Reference Manual information for Advance NDC: States, Screens,
B006‐6180 and the message formats between Central and the
SST.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Appendix H
APTRA Author GUI Reference
Overview H‐1
Menus H‐2
Tool Bars H‐4
Using the On‐line Help H‐6
Obtaining Help for the APTRA Author H‐6
Obtaining Help for Runtime Components H‐7
Obtaining Help for Error Messages H‐8
Authoring Errors H‐8
Application Runtime Errors H‐8
More Information on Obtaining Help H‐9
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
Table of Contents
APTRA Author GUI Reference
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author, User’s Guide
APTRA Author GUI Reference
H
Overview
Overview H
This appendix contains reference information for the Author GUI
and information on using the on‐line help for the Author.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Menus H
The Author drop‐down menus on the menu bar provide the
following functions:
Table H-1
Author Menus
Menu Functions
Open ‐ opens an existing project
Open Catalog ‐ opens an existing catalog in the currently open project
Open Trash ‐ opens the Trash window which displays Authoring components which have been
removed from the currently open project
Save ‐ saves any changes made to the currently open project
Save As ‐ copies the currently open project enabling you to assign a different name to the new
project
Remove ‐ removes an existing project from your PC
Import ‐ imports another project into the currently open project
Exit ‐ exits from the Author
Cut ‐ cuts the selected Authoring component to the clipboard
Copy ‐ copies the selected component to the clipboard
Share ‐ shares the component from the clipboard into the selection
Paste ‐ pastes the component from the clipboard into the selection
Remove ‐ removes the selected component
Delete Catalog ‐ removes a catalog along with all the components stored in it
Empty Trash ‐ permanently removes all components in the Trash Window from the currently
open project
Find ‐ searches for a worker name in the currently open project
Find By ID ‐ searches for a worker in the currently open project, by specifying its Component ID
Add Workgroup ‐ adds a work group to the selected worker
Add Worker ‐ adds a worker to the selected catalog or workspace
Add Catalog ‐ adds an existing Catalog to the currently active Catalog
New ‐ creates a new Literal Type, Worker Class, Worker, Application, Catalog or Nested
Catalog
View ‐ displays the properties of a Literal Type, Worker Class, Worker, Application or Catalog
Report ‐ exports output from the project file to an external program (Excel) for further analysis
View ‐ displays the properties of a selected Module
Ownership Report ‐ reports the name of the module, owner of the module (along with User ID),
and how many components are associated with the module
Highlight ‐ turns the highlight option on/off
Create ‐ creates a new Module in the currently open project
Delete ‐ removes a selected Module
Move ‐ moves components to other modules that the user can select
Default ‐ allows you to change your Default Module
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Menu Functions
Open Picture ‐ creates a new workspace and displays the picture of the selected Application or
Coordinator in it
Open Co-ordinator ‐ creates a new workspace and displays the picture of the selected worker’s
coordinator in it
Open Settings ‐ displays the properties of the selected Authoring component
Show ‐ shows the selected worker’s picture
Hide ‐ hides the selected worker’s picture
Test Start ‐ starts the test application running from the selected Authoring component (the
APTRA Simulator needs to be installed to run test applications)
Test Stop ‐ stops the test application running
Check Completeness ‐ checks the completeness of the selected component
Build Factory ‐ builds the Worker Factory for this project
Build Final ‐ builds the Final Application for the selected application
Build Application Links ‐ builds links for selected state types, reply functions and application
DLLs
Edit User Name ‐ allows you to change the name associated with your User ID
Module Copy ‐ copies the components in a Module and deletes the old components
Defragment Project ‐ defragments the currently open project
Print Report ‐ generates a Worker Report or Author Forms for the currently open project
Zoom In ‐ zooms in on the workspace by a fixed percentage
Zoom Out ‐ zooms out from the workspace by a fixed percentage
Actual Size ‐ restores the active workspace to its original size and position
World ‐ changes the view of the active workspace to see everything within it
Smart Zoom ‐ displays the selected component at 100% of its full size
Smart UnZoom ‐ unzooms any previous Smart Zoom
Snap To Grid ‐ aids tidy layout of work groups, when switched on
Change Default Editors ‐ allows you to change the default editors used to edit specified file types
Fast Start Enabled ‐ enables you to switch on the application fast start method
Tile ‐ arranges all open windows side by side so that they are all visible
Cascade ‐ arranges all open windows in an overlapping pattern so that their title bars are
visible
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Tool Bars H
The tool bar is an ‘icon menu’ used to provide some of the
commands from the menus.
Figure H-1
Tool Bar Icons
Move the cursor across the icons on the tool bar. Tool tips are
displayed for each active icon. Information is also provided for each
icon on the status bar at the bottom of the Author window
The tool bar offers the following functions:
File, Save
File, Open Catalog
Edit, Cut
Edit, Copy
Edit, Paste
Edit, Share
Edit, Find
Components, Add Worker
Components, Add Work Group
View, Show
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
View, Hide
Zoom, Zoom In
Zoom, Zoom Out
Zoom, World
Zoom, Smart Zoom
Zoom, Smart UnZoom
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Using the On‐line Help H
On‐line help is available for the Author and each of the Runtime
components.
In the following sections, we describe how to obtain help for the
Author and the Runtime components.
We also describe how to obtain help for error messages that can be
displayed when developing and testing an Author application.
Note: On 32‐bit Windows 7 operating systems, you must install the
Windows Help program (WinHlp32.exe) as described at
http://www.microsoft.com/en‐us/download/details.aspx?id=91 to
view the on‐line help.
The Author provides on‐line help for the following:
Obtaining Help for the
Interface ‐ describes the Author interface (for example,
APTRA Author H
pull‐down menus)
Dialogs ‐ describes the dialogs provided for entering various
types of information
Objects ‐ describes the various components of the Author.
Concepts ‐ describes the concepts and terminology used in the
Author.
The following table gives details of the help for the Author.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
or With a dialog box selected, press <F1>. This gives
you help on the dialog. However, if a field within
the dialog is selected, help on the field is
displayed.
Note: In addition to the above methods for getting help, each of the
above help topics can be found in the Contents and Index windows
of the Author on‐line help. There are also links throughout the
on‐line help system to various help panels, as appropriate.
For each Runtime component provided, help is available for the
Obtaining Help for following Authoring components in the product:
Runtime Components H
Applications ‐ describes the purpose of an application
Catalogs ‐ provides a list of all the workers in the catalog
Worker Classes/Workers ‐ provides a detailed description of the
worker class and its attributes, signals and work groups. Although
help has been provided for Worker Classes, a worker is an instance
of a Worker Class. Throughout this manual, we refer to this type of
help as worker help.
The following table gives details of the help for these components.
Catalogs 1. Select the Title Bar icon in the top left of the catalog
window.
2. Select Help.
Workers 1. Select the worker with MB2.
2. Select Help.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Note: In addition to the above methods for getting help, each of the
above components can be found in the Contents and Index
windows of the Author on‐line help. There are also links
throughout the on‐line help system to various help panels.
Note: For details of worker support in Advance NDC, see
Appendix B, “Advance NDC Worker Support”.
The following types of error messages can be displayed when
Obtaining Help for Error developing and testing an Author application:
Messages H
Authoring errors
Runtime errors
Simulator errors—refer to the documentation accompanying the
APTRA Simulator for more information.
Authoring Errors H
When authoring an application using the Author, you may
experience authoring errors. Authoring errors are reported in an
error message box, like the one shown below.
Figure H-2
Error Message Box
To obtain help for the error, select the Help button. Additionally,
help for all authoring error messages can be obtained by selecting
Author Error Messages from the Contents or Index windows in the
Author on‐line help.
Application Runtime Errors H
When testing an application on the development PC (by running a
Test Application), you may experience runtime errors. Runtime
errors indicate that an exception has occurred. For details of
exceptions, see Appendix A, “Troubleshooting”.
To obtain help for a displayed error, select the Help button.
Additionally, help for all runtime error messages can be obtained by
selecting Runtime Error Messages, <Component> (Domain <x>)
Error Messages from the Contents or Index windows in the Author
on‐line help, where <Component> is the name of a runtime
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
component or Solution component, such as ATM, and <x> is its
domain number. The domain number can be one of the following:
0 ‐ Runtime Core, GUI, Self‐Service Core, Basic Self‐Service
runtime errors
100 ‐ Common Utilities runtime errors
1 ‐ ATM runtime errors
2 ‐ Special Self‐Service runtime errors
3 ‐ Statement Printer runtime errors.
Figure H-3
Runtime Error Dialog Box
For details of how to obtain help for runtime errors, see
Appendix A, “Troubleshooting”.
It is important to remember that help is provided for each of the
More Information on menu selections or any dialog box. If you are unsure about the
Obtaining Help H
available options, you can use the <F1> key to select help. This will
open a window giving help on the selected topic. An example of the
help given for a specific menu item is shown below:
Figure H-4
Menu Item Help
When you require help on a specific worker, you can select Help from
the worker’s pop‐up menu.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
The worker help provides:
A view of the icon
A detailed description of the worker
Details of the worker’s attributes, signals and work groups
(these concepts are described in more detail later)
Tips, Notes and Warnings on using each worker, where
appropriate.
An example of the help for the Timer worker is given below:
Figure H-5
Timer Worker Help
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Glossary 0
ABT Aggregate Builder Tool. NCR utility to prepare or customise
A software for installation on SSTs.
ActiveX ActiveX from Microsoft is a set of technologies built on two
Microsoft architectures: object linking and embedding (OLE), and
the Component Object Model (COM). It enables the sharing of
information among different software applications in a networked
environment.
ADE Application Development Environment.
ADI2 Application Device Interface 2. A proprietary interface from
NCR.
See also: XFS.
Application In the Author, an application is a collection of Workers
that can be built to create an executable.
See also: Self‐Service Support.
Application Link The information required to build and link a state
type, transaction reply function or support DLL into the Advance
NDC application. The information is held in the Application Link
Build Information field on the General tab of the Application
Settings attributes pages.
APTRA Simulator NCR software enabling the initial testing of
Advance NDC applications on a development PC by simulating SST
devices. Supports the XFS interface.
ASCII American Standard Code for Information Interchange
(ASCII) is a computer code for representing alphanumeric
characters.
Author Tool that allows you to graphically design and develop a
self‐service application.
Authoring components An Authoring component is the smallest
manageable unit in the Author. Examples of Authoring components
are Workers and Catalogs.
BOP Basic Operator Panel.
B
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
C++/CLI C++/Common Language Infrastructure. A language
C specification from Microsoft with .NET‐specific features.
Cardholder Customer of a financial institution using an SST for
financial transactions.
Catalog A Catalog is a component which allows Users to organise
all their other Authoring components into manageable groups.
CCM Communications Connection Manager. An APTRA
component providing a layer of software to separate an application
from the underlying communications protocol.
COM Common Object Model. An open architecture for
cross‐platform development of client/server applications based on
object‐oriented technology. Clients have access to an object through
interfaces implemented on the object (access to Methods, Properties
and Events).
CEN Comité Européen de Normalisation (European Committee for
Standardization). Responsible for the XFS interface specification.
Component See Authoring components and Runtime components.
Coordinator A type of Worker that can coordinate the work of
subworkers contained in its Work Groups.
Custom directory A user‐specified directory that groups together all
executables, picture and data files belonging to one or more
applications for a particular SST environment.
DASH Dip And Smart Hardware. A card reader/writer capable of
D reading/writing magnetic and smart cards.
DBCS Dual Byte Character Sets.
Director A Director Worker controls the flow of the application. It
contains Work Groups. Each Work Group contains a collection of
subworkers which can be activated concurrently. Work Flows
specify the flow of control from one Work Group to another.
DLL A Dynamic Link Library (DLL) is a library that can be linked at
execution time.
EBCDIC Extended Binary‐Coded Decimal Interchange Code
E (EBCDIC) is an eight‐bit character code.
EKC Encryptor Keyboard Controller.
EOP Enhanced Operator Panel.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
GBNA Global Bunch Note Acceptor.
G
GBRU Global Bill Recycling Unit.
GBXX GBNA and GBRU.
Global directory The user‐specified directory in which Advance
NDC has been installed. The default is NTGlobal on the C drive.
GUI Graphical User Interface.
IFD Intelligent Fraud Device. Not supported in Advance NDC.
I
KVV Key Verification Value.
K
MAST Mini ATM Status Task. See MSSA.
M
MB1 Mouse Button 1. Normally the left mouse button ‐ used for
selecting, moving, copying and sharing ‐ but can be switched with
MB2.
MB2 Mouse Button 2. Normally the right mouse button ‐ used for
accessing a second level of operations, options and functions ‐ but
can be switched with MB1.
MCRW Magnetic Card Reader/Writer.
MEI Media Entry/Exit Indicator.
Module A collection of Authoring components created by a single
user. It supports the control and management of multi‐developer
projects.
MSSA Mini Self‐Service Assistant. Means of providing an on‐screen
short‐cut to VDM through an icon or text
OLE Object Linking and Embedding. An architecture for enabling
O one application to insert and access objects created in other
applications.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
PA-DSS Payment Application Data Security Standard
P
PCCM PC Communications Module. The NCR communications
card allowing communications with a host.
PCI DSS Payment Card Industry Data Security Standard
PDF Portable Document Format.
PIN Personal Identification Number.
Project In the Author environment, a collection of Authoring
components.
Project directory In the Author environment, a directory that
automatically created for each Author project (*.mpj) when the
Author project is saved. It contains the database for the Author
project file.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
User A developer who has installed the Author using a personal
U User ID. A User can create and own Authoring components.
User ID A unique User ID is required for each developer that will be
using the Author to create an application, or to create Author
components for other developers.
VBScript Visual Basic Scripting Edition from Microsoft.
V
Work Flow A work flow allows workers to communicate across
W work groups by associating two work groups. It specifies the flow of
control from one work group to another.
Work Group A work group contains a collection of workers with
similar roles in the worker hierarchy.
Worker A building block used to create an application. Workers are
the authoring components in a self‐service application.
Worker Class Defines the characteristics and functions that any
given worker will have. Every worker belongs to a worker class.
Worker Factory Supplies information on the worker classes available
and their characteristics. It is required to run an application in the
Author test environment.
Working directory A user‐specified directory to save Author projects
in. There can be many working directories on a development PC.
XFS Extensions for Financial Services. A standard Windows‐based
X client‐server architecture for financial applications, managed by
CEN. Now used by Advance NDC.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Index 0
*.mpj 2‐6, 2‐7
Symbols
Accessing methods and properties 5‐15
A Active control 5‐4
Active control worker B‐11
Active script host 5‐5, 5‐19
Active script host worker B‐11
ActiveX controls 5‐2
ActiveX sample application 5‐13
installing 2‐9
ActiveX scripting 5‐3
ActiveX workers B‐11
ActiveX workers (unsupported) B‐26
Adding a new top worker 4‐13
Adding a timer and editing its attributes 4‐14
Adding the hello world worker 4‐12
Adding user IDs 2‐5
Advance NDC Exceptions
running a final application A‐2
Advance NDC, default directory 2‐6
Advanced functionality 5‐18
Alarm worker B‐13
Alarm workers B‐13
Animation F‐4
app1_prj.mpj D‐5
app2_prj.mpj D‐5
Application
completeness check 4‐20
creating 4‐3
development guidelines D‐1
DLL D‐6
executable D‐5, D‐9
files A‐9
starting 4‐7
Application interface workers B‐10
Approaches to team development 7‐8
distributed, concurrent team development 7‐2
inter‐team transfer 7‐4
intra‐team transfer development 7‐5
un‐networked team development 7‐3
APTRA Author
author 1‐4, 4‐1
introduction 1‐2
runtime components 1‐5
APTRA Author and ActiveX 5‐2
activeX controls 5‐2
activeX scripting 5‐3
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
APTRA Author documentation G‐2
APTRA Author workers and utilities 5‐4
software utilities 5‐9
using a web page interface 5‐6
workers 5‐4
APTRA simulator G‐4
ASCII to EBCDIC function C‐5
ASCII to EBCDIC table C‐7
ASCII/EBCDIC Functions
EBCDIC to ASCII table C‐9
Assigner worker B‐8
Associating COM objects 5‐14
Associating events 5‐16
Attractor sequence 4‐13
Attributes, modifying dynamically 4‐12
Audio player worker B‐13
Author 1‐4, 4‐1
menu bar 4‐1
user ID utility 2‐5
user IDs 2‐3
workspace 4‐1
Authoring components provided 1‐5
Authoring system 1‐4
Automation object 5‐5
Automation object worker B‐11
Availability indicator worker B‐7
Barcode print paragraph worker (unsupported) B‐28
B Barcode sample application 5‐13
accessing methods and properties 5‐15
associating COM objects 5‐14
associating events 5‐16
defining user procedures 5‐17
sample host application 5‐14
script activation and deactivation 5‐14
Barcode scanner sample application 5‐11
activeX sample application 5‐13
advanced functionality 5‐18
barcode sample application 5‐13
performing a module copy 5‐11
Basic operator panel (BOP) workers B‐25
Beep controller worker B‐7
Behaviour of work groups within a director 4‐9
Benefits of APTRA Author
life cycle support 1‐2
BOP echo worker (unsupported) B‐25
BSC 3 worker (unsupported) B‐26
Build Final, performing A‐8
Burn‐in on monitor screens 4‐23, F‐2
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Caller worker B‐10, B‐19
C Camera resource ID worker B‐20
Cancel collector worker B‐6
Card acceptor worker B‐7, B‐20
Card capture worker B‐7
Card CIM verifier worker (unsupported) B‐27
Card ejector worker B‐7
Card reader resource ID worker B‐20
Card track reader worker B‐7, B‐20
Card track status getter worker B‐7
Card track writer worker B‐7
Card watermark verifier worker (unsupported) B‐27
Cardholder data collector worker (unsupported) B‐24
Cardholder display resource ID worker B‐20
Cash accessibility checker worker B‐27
Cash handler resource ID worker B‐20
Cash handler TI worker B‐6
Cash handling workers B‐6
Cash presenter worker B‐6
Cash purger worker B‐6
Cash stacker worker B‐19
Cassette total worker B‐6
Catalog 6‐9
creating 4‐3, 6‐10
report 7‐14
Catalogs report 7‐14
Changing the owner of a module 6‐15
Channel ID worker (unsupported) B‐24
Coin dispense worker (unsupported) B‐27
Coin Dispenser Resource ID B‐18
Coin dispenser resource ID worker B‐20
Coin dispenser TI worker B‐18
Coin dispenser workers (unsupported) B‐27
Coin initialise worker (unsupported) B‐27
Coin mix worker (unsupported) B‐27
Colour depth F‐4
Colour tool 4‐12
COM initialiser 5‐5
COM initialiser worker B‐11
Comma‐separated values file 7‐13
Comms buffer activator worker B‐8
Comms closer worker B‐8
Comms opener worker B‐8
Comms protocol workers B‐8
Communication between workers 3‐5, 4‐18
Communications protocol workers (unsupported) B‐26
Communications workers B‐8
Communications workers (unsupported) B‐27
Completeness check 4‐20
Component ID 7‐8
Component ID ownership 6‐10
Component Status 7‐9
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Components report 7‐15
Configuration data saver worker B‐8
Connecting the flow 4‐18
Connection state worker B‐8
Consumer resource ID worker B‐20
Consumer token worker (unsupported) B‐24
Contrast F‐4
Control browser 5‐9
Co‐ordinator worker 4‐9
Copying a worker xxvi
Copying the text worker 4‐15
CoreSelfService.mpj 4‐3, 7‐7
Counter store worker (unsupported) B‐28
Creating
a catalog 4‐3
a work flow 4‐18
a work group 4‐15
an application 4‐3
Creating a director worker 4‐10
Creating a new module 6‐6
Creating a worker 6‐9
Creating an attractor sequence 4‐9
adding a new top worker 4‐13
adding a timer and editing its attributes 4‐14
adding the hello world worker 4‐12
attractor sequence 4‐13
co‐ordinator worker 4‐9
copying the text worker 4‐15
creating a director worker 4‐10
creating an application 4‐10
creating screen text 4‐14
director worker 4‐9
behaviour of work groups within a director 4‐9
modifying attributes dynamically 4‐12
sharing a timer worker 4‐15
signals available from a worker 4‐16
top worker 4‐9
using a director worker 4‐10
Creating project reports 7‐13
catalogs report 7‐14
components report 7‐15
module ownership report 7‐16
workers report 7‐13
Creating screen text 4‐14
Custom component directory 2‐8
Customisation data decomposer worker B‐8
Customisation data initialiser worker B‐8
Customisation data saver worker B‐8
CustomisationLayer.mpj 6‐2
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Data entry workers B‐6
D Data formatting workers B‐9
Data manipulation workers B‐8
Date worker B‐8
Dealing with exceptions A‐2
Advance NDC exceptions A‐2
Debug message sender worker B‐11
Default installation directory 2‐6
Default module 6‐5, 6‐7
Defining user procedures 5‐17
Deformatter worker B‐9
Depository workers B‐7
Depth search feature 4‐19
DES component checker worker (unsupported) B‐25
DES component holder worker (unsupported) B‐25
DES component wiper worker (unsupported) B‐25
DES component worker B‐12
DES decryptor worker (unsupported) B‐25
DES encryptor worker B‐12
DES exchanger worker B‐12
DES loader worker B‐12
Developing a single application over several project files D‐7
advantages D‐7
differences when running a test application D‐10
recommended approach D‐7
Developing applications, guidelines D‐1
Developing several applications in separate project files D‐4
advantages D‐4
differences when running a test application D‐6
recommended approach D‐4
Device variant getter worker B‐7
Director worker 4‐9, B‐10
behaviour of work groups within 4‐9
Directories
custom component 2‐8
default for Advance NDC 2‐6
global 2‐7
on development PC 2‐6
project 2‐8
user 5‐11
worker factory A‐8
working 2‐2, 2‐8, 4‐3
Directory structure 2‐6
Directory types 2‐7
Disk size getter worker B‐13
Display burn‐in F‐5
Display workers B‐11
Distributed, concurrent team develpoment 7‐2
Door acceptor worker (unsupported) B‐27
Door access workers (unsupported) B‐27
Door opener worker (unsupported) B‐27
Door resource ID worker B‐20
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Dynamic graphics paragraph worker (unsupported) B‐28
Dynamic logo paragraph worker (unsupported) B‐28
Dynamic logo setter worker (unsupported) B‐28
EBCDIC to ASCII function C‐5
E EBCDIC to ASCII table C‐9
EKC workers, unsupported B‐26
Encryption Key B‐12
Encryption key collector worker (unsupported) B‐25
Encryption key worker B‐12
Encryptor identifier worker B‐12
Encryptor resource ID worker B‐20
Enhanced card reader/writer workers (unsupported) B‐27
Enumerated types 5‐20
Envelope depositor worker B‐7
Envelope depository resource ID worker B‐20
Envelope depository TI worker B‐7
Envelope dispenser resource ID worker B‐20
Envelope presenter worker B‐7
EPP delete key worker B‐12
EPP key mode initialiser worker B‐12
EPP KVV evaluator worker B‐12
EPP security Workers B‐21
Example of monitor burn‐in F‐2
Exception handling A‐2
Exit condition tester worker B‐10
Exit workers B‐10
Extended cassette type enabler worker (unsupported) B‐24
Extended operator key worker (unsupported) B‐24
Fault display workers B‐11
F FBSS passthru worker (unsupported) B‐26
File copier worker B‐11
File wiper worker B‐13
Files
*.mpj 2‐6, 2‐7
application A‐9
application DLL D‐6
application executable D‐5, D‐9
CoreSelfService.mpj 4‐3, 7‐7
CustomisationLayer.mpj 6‐2
help for ATM errors A‐3
registry.scr 2‐7
rt*.hlp A‐3
user ID 2‐3, A‐5
userfuns.scr 2‐7
web pages 5‐8
welcome1.htm 5‐8
welcome2.htm 5‐8
wfactory.dll A‐8
Finding a worker 4‐4
Finding the correct component 4‐4
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
First steps in building an application
conclusions 4‐25
FIT searcher worker B‐9
FIT workers (unsupported) B‐26
Fitness getter worker B‐7
Fixed BOP text worker (unsupported) B‐25
Fixed front text 4‐5
Fixed front text worker B‐11
Fixed length field worker B‐9
Fixed operator text worker B‐19
Flow control catalog 6‐4
Flow control workers B‐10
Formatter worker B‐9
Front echo worker B‐13
Front FDK key (unsupported) B‐24
Front fixed key worker (unsupported) B‐24
Front interface resource ID worker B‐20
Front interface specifier worker B‐8
Front interface worker (unsupported) B‐24
Front kbd resource ID worker B‐20
Front key masker worker (unsupported) B‐25
Generic exit executor worker B‐10
G Generic print paragraph worker B‐20
Get action text worker B‐11
Get number of actions worker B‐11
Global directory 2‐6, 2‐7
Graphical programming environment 3‐2
Graphics print paragraph worker B‐6
Guidelines for developing applications D‐1
Guidelines for using monochrome STN LCDs F‐4
animation F‐4
colour depth F‐4
contrast F‐4
display burn‐in F‐5
optical effects F‐4
Handle computer worker B‐8, B‐9
H Handle store worker B‐9
Hayes modem worker (unsupported) B‐26
Header files A‐9
Help for APTRA Author 4‐9
Help for ATM errors A‐3
Highlight Module 7‐9
Hints and tips 5‐19
active script host 5‐19
enumerated types 5‐20
multiple result work groups 5‐19
screen displaying with script hosts 5‐19
HoneyWell worker (unsupported) B‐26
How do I prevent monitor burn‐in? F‐3
How workers communicate 4‐18
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
connecting the flow 4‐18
IBM PIN verifier worker B‐12
I IFD Alarm B‐2, B‐13
IFD Alarm, removed B‐15
Implementing screen maintenance techniques F‐3
Importing a project 7‐13
In transit worker 6‐14
Incrementing install counts 2‐4
Indicator workers B‐7
Information on obtaining help H‐9
Initialisation vector worker (unsupported) B‐25
Install number A‐5
Installing the ActiveX sample application 2‐9
Integer computer worker B‐9
Integer signaller 5‐5
Integer signaller worker B‐10, B‐11
Integer store worker B‐9
Inter‐team transfer 7‐4
Intra‐team transfer development 7‐5
Introducing APTRA Author 1‐2
APTRA Author 1‐2
life cycle support 1‐2
Journal configurator worker B‐6
J Journal page worker B‐6
Journal printer resource ID worker B‐20
Journal security trace generator worker B‐11
Keyboard beep setter worker (unsupported) B‐25
K
Language setter worker B‐13
L Last command getter worker B‐13
Last response type getter worker B‐13
Last tcode getter worker B‐13
Library files A‐9
Life cycle support 1‐2
Linked FIT loader worker (unsupported) B‐26
Listener worker B‐10
Logo print paragraph worker (unsupported) B‐28
Logo setter worker (unsupported) B‐25
MACer worker B‐12
M main_prj.mpj D‐9
MCRW resource ID worker B‐20
MCRW TI worker B‐7
Media entry indicator worker (unsupported) B‐24
Menu bar (Author) 4‐1
Menus H‐2
Message handling workers B‐10
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Message receiver worker B‐8
Message sender worker B‐8
Miscellaneous workers B‐13
Modified worker classes B‐14
Modified workers B‐14
Modifying attributes dynamically 4‐12
Module copy 5‐11
Module dialog selection box 6‐15
Module highlight 4‐10
Module Information 7‐9
Module ownership report 7‐16
Module, default 6‐5
Modules
copying 5‐11
creating 6‐6
moving 6‐17
ownership report 7‐16
owning 6‐9
transferring ownership 6‐15
Monitor burn‐in 4‐23, F‐2
Mouse buttons
MB1 xxvi
MB2 xxvi
Move a module 6‐17
Moving a worker xxvi
Multi lingual file name worker B‐13
Multi lingual picture displayer worker B‐13
Multi lingual resource string worker B‐13
Multiple result work groups 5‐19
Multi‐Vendor implementations xxv
NCR EJ copy worker B‐6
N NDC application terminator worker B‐13
NDC cardholder data collector worker B‐5
NDC close state executor worker B‐13
NDC command reject message build worker B‐11
NDC comms connection ID worker B‐19
NDC comms connection worker B‐25
NDC configuration info builder worker B‐10
NDC counters builder worker B‐10
NDC CRM Interface B‐2
NDC DES loader worker B‐12
NDC device status message worker B‐10
NDC dialup worker B‐5
NDC echo worker B‐5
NDC EKC initialiser worker (unsupported) B‐26
NDC EKC tamper clear worker (unsupported) B‐26
NDC EPP delete key worker B‐12
NDC EPP initialiser worker B‐21
NDC EPP key mode initialiser worker B‐21
NDC EPP KVV evaluator worker B‐21
NDC error log builder worker B‐10
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
NDC export encryptor data worker B‐18
NDC field worker B‐13
NDC fitness data builder worker B‐10
NDC hallmark key builder worker (unsupported) B‐26
NDC hallmark key verifier worker (unsupported) B‐26
NDC hardware config builder worker B‐10
NDC import RSA key worker B‐18
NDC message receiver worker B‐8
NDC message sender worker B‐8
NDC message validator worker B‐11
NDC PIN collector worker B‐12
NDC print footer worker B‐6
NDC print immediate handler worker B‐6
NDC processing state executor worker B‐10
NDC ready 9/B message builder worker B‐10
NDC RSA import DES key worker B‐18
NDC screen displayer worker B‐11
NDC sensors status builder worker B‐10
NDC supplies data builder worker B‐10
NDC tally builder worker B‐11
NDC terminal state message build worker B‐10
NDC timeout state executor worker B‐10
NDC transaction handle worker B‐10
New workers in Advance NDC B‐2
Night safe closer worker B‐12
Night safe depositor worker B‐12
Night safe resource ID worker B‐20
Night safe workers B‐12
Note definitions builder worker B‐10
Note initialiser worker B‐6
Note mixer worker (unsupported) B‐28
ntglobal default installation directory 2‐6
Obtaining help for error messages H‐8
O Obtaining help for runtime components H‐7
Obtaining help for the author H‐6
Offline status worker (unsupported) B‐27
Offline worker (unsupported) B‐27
On‐line help H‐6
information on obtaining help H‐9
obtaining help for error messages H‐8
obtaining help for runtime components H‐7
obtaining help for the author H‐6
On‐line help for APTRA Author 4‐9
Open length field worker B‐9
Operator display resource ID worker B‐20
Operator echo worker B‐19
Operator kbd resource ID worker B‐20
Operator key masker worker (unsupported) B‐25
Operator key worker B‐19
Optical effects F‐4
Other NCR documentation G‐4
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Ownership
component ID 6‐10
module 6‐5
timestamp 7‐11
user ID 6‐10
Passbook printer
P modified worker classes B‐22
Pass‐thru worker B‐10
PC directory structure 2‐6
directory types 2‐7
PCI DSS/PA‐DSS xxv, D‐1
Performing a module copy 5‐11
Persistence wiper worker B‐9
Persistent and sharable stores workers B‐9
Persistent integer store worker B‐9
Persistent real store worker B‐9
Persistent string store worker B‐9
Picture displayer worker B‐11
PIN block encryptor worker B‐12
PIN collector worker (unsupported) B‐25
PIN length adjuster worker B‐19
PIN retries updater worker B‐12
Print paragraph worker B‐6
Printer code page definer worker (unsupported) B‐28
Printer workers B‐6
Printer workers (unsupported) B‐28
Project administrator 7‐3
Project Compare 7‐8
project coordinator 7‐3
Project directory 2‐8
Project reports
catalogs report 7‐14
components report 7‐15
module ownership report 7‐16
workers report 7‐13
Projects
development planning 7‐2
owning more than one module 7‐6
receiving ownership of a module 7‐6
team development 7‐5
importing 7‐13
management features 7‐1
saving 6‐3
Questions and answers A‐4
Q
Read Only and Shared Components 7‐8
R Real computer worker B‐9
Real store worker B‐9
Rear interface resource ID worker B‐20
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Rear interface specifier worker B‐8
Rear interface worker (unsupported) B‐24
Receipt printer resource ID worker B‐20
Recommended guidelines for developing applications D‐2
Register trace generator worker B‐11
registry.scr 2‐7
Removing user IDs with the user ID utility 2‐5
Replaced workers B‐24
Reports
catalogs report 7‐14
components report 7‐15
module ownership report 7‐16
workers report 7‐13
Reserved screen retriever worker B‐11
Reserved user IDs E‐2
Resource allocator worker B‐26
Resource identifier workers B‐20
Resource management workers B‐7
Resource management workers (unsupported) B‐26
Resource monitor worker B‐26
Resource negotiator worker B‐26
Resource releaser worker B‐26
rt*.hlp A‐3
Running a completeness check 4‐20
Running a final application A‐2
Running a test application A‐2
Running the test appication
test window menu options 4‐23
screen displayer mode 4‐23
SST screen size 4‐23
Running the test application 4‐21
Runtime components 1‐5
authoring components provided 1‐5
using your own authoring components 1‐5
S4 comms resource ID worker (unsupported) B‐25
S S4 message sender worker (unsupported) B‐26
Sample host application 5‐14
Screen display worker B‐13
Screen displayer mode 4‐23
Screen displaying with script hosts 5‐19
Screens
monitor burn‐in 4‐23, F‐2
STN liquid crystal displays (LCDs) F‐4
Script activation and deactivation 5‐14
Script editor 5‐9
Secure encryption key collector worker B‐5
Secure workers B‐2
Security workers B‐12
Security workers, unsupported B‐25
Selector worker B‐10
Self‐service application development life‐cycle 1‐2
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Separator field worker B‐9
Set media entry indicator frequency worker B‐7
Setter worker B‐9
Setting the properties of components 4‐6
Sharable integer store worker B‐9
Sharable real store worker B‐9
Sharable string store worker B‐9
Sharing a timer worker 4‐15
Sharing a worker 4‐8
Sharing workers xxvi
Sideways receipt page worker (unsupported) B‐28
Signals available from a worker 4‐16
Signals worker 4‐16
SM token worker (unsupported) B‐24
Smart card connect worker (unsupported) B‐27
Smart card direct worker (unsupported) B‐27
Smart card disconnect worker (unsupported) B‐27
Smart card resource ID worker B‐20
SMS Data Collector B‐3
SNA 3624 worker (unsupported) B‐26
SNA X.25 QLLC worker (unsupported) B‐26
Software utilities 5‐9
control browser 5‐9
control builder 5‐9
script editor 5‐9
SSDS DLL interface signal D‐11
SSDS DLL interface worker D‐9
SST screen size 4‐23
Starting an application 4‐7
Starting the simulator 4‐7
State execution workers B‐10
Statement capture worker B‐12
Statement ejector worker B‐12
Statement page worker (unsupported) B‐12
Statement printer resource ID worker B‐20
Statement printer workers B‐12
Status activator worker B‐8
Status getter worker B‐8
Status handling workers B‐8
String computer worker B‐9
String store worker B‐9
Structure worker B‐9
Stubbed workers B‐24
sub_prj.mpj D‐9
Summary on modules 6‐19
Supervisor data collector worker B‐19
Supervisor exit executor worker B‐10
Supervisor gateway worker B‐8
Supervisor gone worker B‐8
Supervisor interface getter worker B‐8
Supervisor present worker B‐8
Supervisor Task Executor B‐2, B‐8
Supervisor workers B‐8
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Supplies data formatter worker B‐9
Supported workers in Advance NDC B‐6
Synchroniser worker B‐10
System escapes A‐2
System menu worker B‐8
Take picture worker B‐18
T TCP/IP comms connection ID worker (unsupported) B‐25
Terminal suspend worker B‐7
Test window menu options 4‐23
Tester worker B‐9
Time worker B‐9
Timer worker 4‐14, 4‐17, B‐10
Timestamp on components 7‐11
Tool bars H‐4
Top worker 4‐9
Touch key worker B‐13
Tr reply function worker B‐10
Trace activator worker B‐13
Trace workers B‐11
Trace workers, unused B‐13
Track 1 decomposer worker B‐7
Training xxv
Transaction request state worker B‐10
Transferring ownership
modules 6‐15
workers 6‐12
Transferring the worker to another module
transferring the worker to a module you do not own 6‐13
Troubleshooting
questions and answers A‐4
Tutorials
hello world 4‐2
finding the correct component 4‐4
running the application 4‐7
setting the properties of components 4‐6
starting the simulator 4‐7
simple attractor sequence 4‐9
Types of workers 3‐6, 4‐9
co‐ordinator 4‐9
director 4‐9
top worker 4‐9
Understanding grey scale monitor burn‐in F‐2
U example of monitor burn‐in F‐2
how do I prevent monitor burn‐in? F‐3
implementing screen maintenance techniques F‐3
what is monitor burn‐in? F‐2
Un‐networked team development 7‐3, 7‐4
Unsupported workers in Advance NDC B‐24
Unsupported workers, miscellaneous B‐28
Unused workers B‐13
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
UPS worker B‐5
User directory 5‐11
User ID file 2‐3, A‐5
User ID utility 2‐4–2‐5
User IDs
ownership 6‐10
reserved E‐2
using the user ID utility
adding user IDs 2‐5
incrementing install counts 2‐4
removing user IDs with the user ID utility 2‐5
User tracer worker B‐13
userfuns.scr 2‐7
Using a director worker 4‐10
Using a web page interface 5‐6
Using your own authoring components 1‐5
Variable BOP text worker (unsupported) B‐25
V Variable front text worker B‐13
Variable length binary field worker B‐13
Variable length character field worker B‐13
Variable operator text worker B‐19
Variable timer worker B‐10
Variant store 5‐5
Variant store worker B‐11
Video player worker B‐13
View only 7‐8
VISA PIN Verifier B‐12
Web event monitor 5‐6
W Web event monitor worker B‐11
Web page loader 5‐6
Web page loader worker B‐11
welcome1.htm 5‐8
welcome2.htm 5‐8
wfactory.dll A‐8
What is monitor burn‐in? F‐2
Work flow, creating 4‐18
Work group, creating 4‐15
Worker classes
modified for Advance NDC B‐14
Worker factory 1‐5, A‐7
directory A‐8
Workers 5‐4
active control 5‐4
active script host 5‐5
automation object 5‐5
COM initialiser 5‐5
communication between 3‐5, 4‐18
copying xxvi
creating 6‐11
finding 4‐4
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
integer signaller 5‐5
modified in Advance NDC B‐14
moving xxvi
new in Advance NDC B‐2
report 7‐13
sharing xxvi, 4‐8
supported in Advance NDC B‐6
transferring ownership of 6‐12
types of 3‐6, 4‐9
unsupported in Advance NDC B‐24
unused in Advance NDC B‐13
variant store 5‐5
web event monitor 5‐6
web page loader 5‐6
Workers report 7‐13
Workers, miscellaneous unsupported B‐28
Workforce 3‐1
Working directory 2‐8, A‐9
Workspace 4‐1
X.25 LAPb worker (unsupported) B‐26
X XFS front FDK worker B‐5
XFS front key worker B‐5
XFS key worker B‐5
XML Config File B‐9
XModem worker (unsupported) B‐26
Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.
Title: APTRA™ Author, User’s Guide
Number: B006‐6038‐Q000 Release: Issue 1 Date: October 2015
NCR welcomes your feedback on this publication. Your comments can be of great value in helping us improve
our information products.
Cut
You may send your comments to us electronically. See over for details.
Circle the numbers below that best represent your opinion of this publication.
Ease of use 5 4 3 2 1 0 5 = Excellent
4 = Good
Accuracy 5 4 3 2 1 0
3 = Adequate
Clarity 5 4 3 2 1 0 2 = Fair
1 = Poor
Completeness 5 4 3 2 1 0
Organisation 5 4 3 2 1 0 0 = Not applicable
Appearance 5 4 3 2 1 0
Examples 5 4 3 2 1 0
Illustrations 5 4 3 2 1 0
Job performance 5 4 3 2 1 0
Question resolution 5 4 3 2 1 0
Overall satisfaction 5 4 3 2 1 0
Indicate the ways you feel we could improve this publication.
Improve the table of contents Add more/better quick reference aids
Improve the overview/introduction Add more examples
Improve the organisation Add more illustrations
Improve the index Add more step‐by‐step procedures
Make it less technical Add more troubleshooting information
Make it more concise/brief Add more detail
Write any additional comments you may have below and on additional sheets, if necessary. Include page
numbers where applicable.
Use the following addresses to send your comments to us electronically:
E‐mail ‐ sf230067@ncr.com
Cut
Fold
If we may contact you concerning your comments, please fill in the information below:
Name:
Organisation:
Company:
Address:
Phone: Fax:
Thank you for your evaluation of this publication. Fold the form where indicated, tape (please do not staple),
and drop in the mail.
F 8763‐0695
Fold
Affix
Postage
Stamp
Here