Вы находитесь на странице: 1из 280

APTRA™ Author

User’s Guide

B006‐6038‐K000
Issue 1
June 2009

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.
Microsoft, Windows, Windows NT, Windows XP, Visual Studio, Visual C++, Visual Basic, Excel and ActiveX are either 
registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
Paint Shop Pro is either a registered trademark or trademark of Corel Corporation in the United States and/or other 
countries.

IBM and OS/2 are trademarks of International Business Machines Corporation.
Sybase and PowerBuilder are trademarks of Sybase Inc. and its subsidiaries.
Adobe, Acrobat and Reader are either registered trademarks or trademarks of Adobe Systems Incorporated 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
Information Solutions Feedback
Discovery Centre
3 Fulton Road
Dundee , Scotland
DD2 4SW

© 1998 ‐ 2009
By NCR Corporation
Dayton, Ohio, 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.

APTRA Author, User’s Guide iii


Federal Communications Commission (FCC) Radio Frequency Interference Statement

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

iv APTRA Author, User’s Guide


Revision Record

Revision Record

Date Page Description of Change

Jun 09 New revision to support APTRA Advance NDC 
03.04

xxix Added PCI DSS/PA‐DSS to knowledge and 
experience required

2‐7 Added folders that are created when Advance NDC 
is installed

B‐2 Added list of new workers

B‐12 NCR EJ Copy worker moved from Printer Workers 
because it is not used in Advance NDC

B‐13 Added list of modified workers

B‐16 PIN Collector moved as it is supported with minimal 
functionality in Advance NDC

B‐22 PIN Collector removed from unsupported list

D‐1 Added section on PCI DSS/PA‐DSS considerations

G‐4 Added APTRA Advance NDC, Payment Application 
Data Security Standard, Implementation Guide

Oct 08 New revision to support APTRA Advance NDC 
03.03

1‐2, 1‐4 Facility added to selectively build application links if 
defined in a project.

1‐2 Added that the APTRA Simulator is not provided 
with Advance NDC

5‐2 Added that flows can be generated as ActiveX 
controls

5‐3 Added information on generating ActiveX controls

5‐6 Replaced note to say that Advance NDC does not 
use the web‐related workers as it passes control to a 
web exit.

5‐9 Added information about Control Builder and flow 
controls

B‐2 to B‐4 Added new workers for Advance NDC 3.03

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide v


Revision Record

Date Page Description of Change

B‐5 to B‐12 Updated lists of supported workers

B‐13 to  Added the Date, Night Safe Closer, NDC Processing
B‐15 State Executor, Take Picture (moved from 
unsupported list), Time and SSDS DLL Interface 
workers to the list of modified workers

B‐19 to  Added section describing differences in passbook 
B‐20 printer worker classes for Advance NDC compared 
with the APTRA Advance Passbook Printer product

B‐21 to  Updated the lists of unsupported workers, including 
B‐23 amendment to the unsupported ActiveX workers 
section as an Authored application can be built as an 
OCX

G‐2 Added entries for the Passbook and Voice Guidance 
help

E‐2 Added “nm” to Reserved User ID list

H‐3 Added option “Build Application Links” to Tools 
Menu

Glossary‐2 Added DBCS

Glossary‐3 Added MAST and MSSA

Feb.  Updated for APTRA Advance NDC 03.02.01
2008

7‐17 Added information on language support in reports

A‐6 Added information explaining why ASCII control 
characters are sometimes displayed

A‐7 Updated the Close Program dialog box to the 
Windows Task Manager
Added information on stopping a single application 
when running multiple applications in a test 
environment
Added information on Application Errors following 
an mError in the test environment

A‐9 Added that the application name must not exceed 64 
characters or contain spaces

July 07 New revision to support Advance NDC 3.02.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

vi APTRA Author, User’s Guide


Revision Record

Date Page Description of Change

All Integrated the APTRA Author Updates white paper.
Replaced references to “ADE” with “Author”. 
Replaced references to Package.htm with Advance 
NDC Overview publication.
Changed references to “NCR XFS Simulator” to 
“APTRA Simulator” for the product and “XFS 
Simulator” for the components in the product.
Updated references to the required compiler, now 
Microsoft Visual Studio 2005 with Service Pack 1 
(was Visual C++)

i Changed title (was APTRA™ Advance ADE, User’s 
Guide).

xxv Updated the list to reflect current structure of 
chapters.

1‐3 Added details of the benefits of the facility to open 
two projects at the same time.

1‐4 Added reference to C and C++ sentence about 
visually linking components using the Author.

2‐1 Added information about obtaining the ActiveX 
sample application.

2‐3 Added information to the caution regarding 
duplicate User IDs when installing the Author on a 
second PC.

2‐4 Added note about installation counts.

2‐6 Added new DLL path for Windows XP to Table 2‐1.

3‐1 Restructured the Overview and moved Figure 3‐1 to 
the next section.

3‐6 Updated details of best practice for using workers 

Chap. 4 Moved the sections “Using the APTRA Author” and 
“Using the On‐Line Help” to a new appendix 
(Appendix H, “APTRA Author Reference”).

4‐2 to 4‐4 Added annotated graphics to the “Hello World” 
tutorial.

4‐5 Added information about the updating of worker 
details in the status bar

5‐19 Added information on method to restart work 
groups in the event of Active Script Host Worker 
deactivation.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide vii


Revision Record

Date Page Description of Change

Chap. 6 New chapter “Module Management”, replacing 
“Preparing an Advance NDC Aggregate for SSTs”. 
Added module tutorials from chapter 7 and related 
information from the white paper APTRA Author 
Updates. Previous content moved to chapter 4 and 
the APTRA Advance NDC, Developer’s Guide

6‐7 Updated the module dialog box in Figure 6‐6 and 
added a note with information on the displayed 
contents.

7‐2 to 7‐5 Added new section “Approaches to Team 
Development” with relevant information included 
from the Organising the Team publication.

7‐8 to 7‐10 Added new section “Project Management Features” 
with topics included from the APTRA Author Updates 
white paper

7‐13 to  Added new section, “Creating Project Reports” with 
7‐17 topics included from the APTRA Author Updates 
white paper.

A‐4 Added details of the project reports that can be 
printed from the Author

A‐8 Moved section “Performing a Build Final” here from 
Chapter 6 and renamed it to “How Do I Perform a 
Build Final?”.

B‐2 Added new worker list for Advance NDC 3.02 and 
reordered headings for new workers provided in 
previous releases

B‐9 Renamed the following workers in the security 
workers list:
NDC Export Encryptor Data (was NDC EPP RSA 
ExportKey)
NDC Import RSA Key (was NDC EPP RSA Import 
HSMPublicKey)
NDC RSA Import DES Key (was NDC EPP RSA 
Import DES Key)

B‐9 Moved the Statement Page worker from 
unsupported to supported

B‐11 Added Table B‐1 with list of workers modified in 
Advance 3.02

B‐12 Updated Table B‐2 to list of workers modified in 
Advance NDC 3.00

B‐17 As Coin Dispenser TI is now supported in Advance 
NDC 3.02, moved it from the unsupported list

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

viii APTRA Author, User’s Guide


Revision Record

Date Page Description of Change

F‐4 Removed references to Personas40 Mini ATM and 
VEROP as not supported

G‐2 Removed entries for ADE Users Guide, Organising the 
Team and Local Language Customisation Guide from 
Table G‐1 as no longer needed

G‐4 Moved two ADE publications from Table G‐1 to 
Table G‐2 as they are not supplied with the Author

App. H New appendix for reference information for the GUI 
and Author help (“Using the APTRA Author” and 
“Using the On‐line Help”) from Chapter 4, “First 
Steps in Building an Application”

H‐2 to H‐5 Updated all drop‐down menu screen shots in Table 
H‐1 and added an explanation of new functions

June 06 New revision to support Advance NDC 3.01

xxviii Added information on navigating this document

2‐1 Added information on user ID utility
2‐3
A‐5

2‐7 Added the custom components directory

6‐2 to 6‐3 Updated the information on producing an installable 
aggregate for SSTs

6‐4 Removed information on deliverables directories

6‐7 Updated the steps to create/export an Advance NDC 
aggregate

E‐2 Added new reserved user ID

Glossary‐2 Removed definition for Deliverables directory, and 
added definition for Custom directory

Sept 05 Updated for Advance NDC 3.00.01

2‐8 ActiveX sample application no longer supplied

5‐10 ActiveX sample application can be requested

B‐11 Modified worker information for Card Acceptor and 
Card Track Reader

D‐2 to D‐3 Updated recommended guidelines for developing 
applications

E‐2 User ID table formatted to one page

June 05 New revision to support Advance NDC 03.00.00.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide ix


Revision Record

Date Page Description of Change

All Windows XP now supported on development 
system as well as SSTs.
References to Windows NT, ADI2, and personaS SST 
Device Simulator removed as no longer supported.
Added headings for tables and illustrations for a List 
of Figures and a List of Tables.

xxvii Updated for new appendix, and training.

xxviii Redefined audience for the publication.

Chap. 1 Updated to reflect current Advance NDC usage.

1‐5 Deleted reference to Basic Self‐Service as no longer 
provided.

2‐3 Added information about the reserved user ID list 
and recommendations for format of a user ID.

2‐6 Updated development PC directory structure

Chap. 4 Replaced references to the Core Self‐Service project 
with references to the Customisation Layer project.

5‐6 Added note that only EXE files can be built, not 
OCX. 

Chap. 7 Updated for current Advance NDC practice.

B‐2 New workers added: NDC Dialup; Secure 
Encryption Key Collector; NDC Data Collector; 
NDC Echo; XFS Key; XFS Front Key; XFS Front FDK

B‐3 Added Data Entry section and Cancel Collector 
worker.

B‐4 Card Track Status Getter moved from Status 
Handling Workers.

B‐5 User CDI Stores added.

B‐6 State execution workers, Exit workers and session 
workers given their own headings.

B‐7 Debug Message Sender moved from 
Communications Workers.

B‐8 Random PAD Character worker moved from 
Miscellaneous Workers.

B‐11 Generic Print Paragraph moved from unsupported 
group to modified group.

B‐15 Communications protocol workers, and Linked FIT 
Loader moved from supported group to 
unsupported group.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

x APTRA Author, User’s Guide


Revision Record

Date Page Description of Change

B‐15 Reason for not supporting the Active Interface 
worker clarified.

B‐17 Printer workers moved from stubbed group to own 
unsupported group.
Statement Page worker moved from supported 
group to unsupported group.

App. E New appendix for reserved user IDs; old Appendix 
E moved to F and F to G.

Oct. 04 Updated to support Advance NDC 02.06.00.

All Updated for: using the Aggregate Builder Tool; 
removal of references to the Component Definition 
Tool as it is no longer needed to create an installable 
component; removal of the Seed Application from 
the Advance NDC package.

All Removed: references to “product” in Advance ADE 
and references to Seed Application.
Replaced references to User Licence with User ID.
Removed references to Windows XP as it is not 
supported for Advance NDC on a development PC.

Revision  Reversed order of entries (latest first) to align with 
Record other publications, and added page links.

1‐1 Changed chapter title to “Advance ADE Basics” 
(was “The Advance Components”).

 Chap. 2 Changed title to “Advance ADE Setup” (was 
“Installing Advance ADE”); removed all installation 
and re‐installation information; updated directory 
structure and user ID details.

4‐2 to 4‐28 Updated “Hello World” tutorial.

Chap.5 Used to be Chapter 6; previous Chapter 5, “Building 
a More Advanced Application” deleted as workers 
used in tutorial are not supported in Advance NDC.

5‐4 Removed Active Interface worker as not supported.

5‐17 Removed section on generating ActiveX flow 
controls as they are not supported.

Chap. 6 Updated for the following: including DLLs in an 
aggregate; selecting the type of application to build; 
Advance NDC aggregate structure; using the 
Aggregate Builder Tool; SST directory structure.

6‐8 Updated instructions for editing the batch file.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide xi


Revision Record

Date Page Description of Change

App.B Replaced with details of worker support in Advance 
NDC.

App. G Deleted as passbook printer is not supported.

Glossary Added CCM, MEI, VBScript.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

xii APTRA Author, User’s Guide


Table of Contents

Contents

Preface

About This Publication .......................................................................xxix
What Is in This Publication?........................................................xxix
Who Should Read This Publication?........................................... xxx
Navigating the Publication........................................................... xxx
What Experience Should I Have? ...............................................xxxi
Conventions Used.........................................................................xxxi
Support Information....................................................................xxxii

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
Using the User ID Utility ...............................................................2‐3
PC 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.

APTRA Author, User’s Guide xiii


Table of Contents

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

xiv APTRA Author, User’s Guide


Table of Contents

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.

APTRA Author, User’s Guide xv


Table of Contents

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

Overview ............................................................................................... B‐1

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

xvi APTRA Author, User’s Guide


Table of Contents

New Workers ........................................................................................ B‐2


New Workers Provided in Advance NDC 3.03......................... B‐2
New Workers Provided in Advance NDC 3.02......................... B‐3
New Workers Provided in Advance NDC 3.01......................... B‐4
New Workers Provided in Advance NDC 3.00......................... B‐4
Supported Workers .............................................................................. B‐5
Cash Handling Workers ............................................................... B‐5
Data Entry Workers ....................................................................... B‐5
Printer Workers .............................................................................. B‐5
Envelope Dispenser/ Depository Workers................................. B‐6
Resource Management Workers.................................................. B‐6
MCRW Workers ............................................................................. B‐6
Indicator Workers .......................................................................... B‐6
Communications Workers............................................................ B‐7
Communications Protocols & Connections Workers ............... B‐7
Supervisor Workers ....................................................................... B‐7
Status Handling Workers ............................................................. B‐7
Data Workers.................................................................................. B‐7
Data Manipulation Workers......................................................... B‐7
Data Formatting Workers ............................................................. B‐8
FIT Worker...................................................................................... B‐8
Persistent and Sharable Stores ..................................................... B‐8
Flow Control Workers................................................................... B‐9
State Execution Workers ............................................................... B‐9
Application Interface Workers..................................................... B‐9
Exit Workers ................................................................................... B‐9
Message Handling Workers ......................................................... B‐9
Display Workers .......................................................................... B‐10
Trace Workers .............................................................................. B‐10
ActiveX Workers .......................................................................... B‐10
Security Workers.......................................................................... B‐10
Night Safe Workers...................................................................... B‐11
Statement Printer Workers ......................................................... B‐11
Miscellaneous Workers ............................................................... B‐12
Unused Application Workers .................................................... B‐12
Modified Workers .............................................................................. B‐13
Resource Identifier Workers....................................................... B‐17
EPP Security Workers ................................................................. B‐18
Passbook Printer Worker Classes..................................................... B‐19
Unsupported Workers ....................................................................... B‐21
Stubbed Workers.......................................................................... B‐21
Replaced Workers ........................................................................ B‐21

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide xvii


Table of Contents

Basic Operator Panel (BOP) Workers........................................ B‐22
Security Workers.......................................................................... B‐22
EKC Workers ................................................................................ B‐23
Communications Protocol Workers .......................................... B‐23
ActiveX Workers .......................................................................... B‐23
FIT Workers .................................................................................. B‐23
Resource Management Workers................................................ B‐23
Door Access Workers .................................................................. B‐24
Enhanced Card Reader/Writer Workers................................... B‐24
Cash Handling Workers ............................................................. B‐24
Coin Dispenser Workers ............................................................. B‐24
Communications Workers.......................................................... B‐24
Data Entry Workers ..................................................................... B‐24
Printer Workers ............................................................................ B‐25
Miscellaneous Unsupported Workers ...................................... B‐25

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
Character/Binary Based Messages............................................... C‐6
ASCII to EBCDIC ........................................................................... C‐7
EBCDIC to ASCII ........................................................................... C‐9

Appendix D
Guidelines for Developing Applications

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

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

xviii APTRA Author, User’s Guide


Table of Contents

Appendix E
Reserved User IDs

Overview ............................................................................................... E‐1


Reserved User IDs ................................................................................ E‐2

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

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


Table of Contents

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.

xx APTRA Author, User’s Guide


List of Figures

List of Figures

Chapter 2
APTRA Author Setup

Figure 2‐1 User ID Utility ................................................................2‐4

Chapter 3
The APTRA Author Methodology

Figure 3‐1 Advance NDC workers .................................................3‐2


Figure 3‐2 Worker Hierarchy ..........................................................3‐3
Figure 3‐3 Work Flows Between Work Groups............................3‐4

Chapter 4
First Steps in Building an Application

Figure 4‐1 User ID Dialog Box ........................................................4‐2


Figure 4‐2 Main Author Screen.......................................................4‐2
Figure 4‐3 Creating the “Hello World” Application....................4‐4
Figure 4‐4 “Hello World” Application in the Workspace...........4‐4
Figure 4‐5 Adding a Text Worker...................................................4‐5
Figure 4‐6 Worker Settings Dialog Box..........................................4‐6
Figure 4‐7 Displaying the Test Application Window..................4‐7
Figure 4‐8 Idle Sequence Director in the Workspace.................4‐11
Figure 4‐9 Selecting the Colour Editor.........................................4‐12
Figure 4‐10 “10 SECONDS” Timer in the Workspace .................4‐14
Figure 4‐11 Copying the Text Worker............................................4‐16
Figure 4‐12 Signals from the Timer Worker..................................4‐17
Figure 4‐13 Assigning Signals to Work Flows ..............................4‐19
Figure 4‐14 Completeness Check Dialog Box ...............................4‐20
Figure 4‐15 Successful Completeness Check ................................4‐20
Figure 4‐16 Completeness Check with Errors ..............................4‐20
Figure 4‐17 Active Work Group .....................................................4‐22

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide xxi


List of Figures

Figure 4‐18 Title‐Bar Drop‐Down Menu .......................................4‐23

Chapter 5
ActiveX Controls and APTRA Author

Figure 5‐1 Interaction of Workers and Controls...........................5‐7


Figure 5‐2 Welcome Web Pages......................................................5‐8
Figure 5‐3 Opening the Customisation Layer Project................5‐12
Figure 5‐4 Module Copy Procedure .............................................5‐12
Figure 5‐5 Confirmation Message.................................................5‐12
Figure 5‐6 Menu Bar Message .......................................................5‐13
Figure 5‐7 ActiveX(TM) Sample Application Catalog...............5‐13
Figure 5‐8 Viewing the Barcode Sample Application................5‐13
Figure 5‐9 Barcode Sample Host (Active Script Host Worker) 5‐14
Figure 5‐10 Launching the Control Browser.................................5‐14
Figure 5‐11 Launching the VBScript Editor ..................................5‐15
Figure 5‐12 VBScipt Editor ‐ Object Viewer Window..................5‐16
Figure 5‐13 VBscript Editor ‐ Viewing Associated Events..........5‐16
Figure 5‐14 VBscript Editor ‐ Viewing a User Procedure ...........5‐17
Figure 5‐15 Debugging Scripts ........................................................5‐19

Chapter 6
Managing Modules

Figure 6‐1 Opening the Customisation Layer Project..................6‐2


Figure 6‐2 Saving the Project with a New Name..........................6‐3
Figure 6‐3 Opening the Flow Control Catalog .............................6‐4
Figure 6‐4 Worker Settings ‐ Advanced.........................................6‐5
Figure 6‐5 Creating and Naming a Module ..................................6‐6
Figure 6‐6 Viewing the New Module.............................................6‐7
Figure 6‐7 Creating a New Worker ................................................6‐9
Figure 6‐8 Creating and Naming a Catalog ................................6‐10
Figure 6‐9 Adding a Catalog to the Default Module .................6‐10
Figure 6‐10 Creating a Timer Worker ............................................6‐11
Figure 6‐11 Opening the Worker Settings for the Timer.............6‐12
Figure 6‐12 Transferring the Timer Worker to a Temporary 
Module.........................................................................6‐12
Figure 6‐13 Changing the Timer Name .........................................6‐13

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

xxii APTRA Author, User’s Guide


List of Figures

Figure 6‐14 Transferring the Timer Worker to a Module You Do 


Not Own......................................................................6‐14
Figure 6‐15 Worker In Transit .........................................................6‐14
Figure 6‐16 Viewing Project Modules and Settings .....................6‐15
Figure 6‐17 Changing the Module Owner ....................................6‐16
Figure 6‐18 Using the Move Function............................................6‐17
Figure 6‐19 Using the Move To Default Module Function .........6‐18

Chapter 7
Team Development

Figure 7‐1 Concurrent Team Development ..................................7‐3


Figure 7‐2 Un‐networked Team Development.............................7‐4
Figure 7‐3 Inter‐Team Transfer Development ..............................7‐5
Figure 7‐4 Changing the Default Module......................................7‐6
Figure 7‐5 Read Only and Shared Component Display..............7‐8
Figure 7‐6 Status Bar ‐ Component Status.....................................7‐9
Figure 7‐7 Module Selection Dialog Box .......................................7‐9
Figure 7‐8 Module Highlight Status.............................................7‐10
Figure 7‐9 Selecting All Catalogs in the Imported Project ........7‐11
Figure 7‐10 Worker Report Data.....................................................7‐14
Figure 7‐11 Catalog Report Data ....................................................7‐15
Figure 7‐12 Component Report Data .............................................7‐16
Figure 7‐13 Module Ownership Report Data ...............................7‐17

Appendix A
Troubleshooting

Figure A‐1 Error Message Help ......................................................A‐3


Figure A‐2 Performing a Final Build..............................................A‐8
Figure A‐3 Running a Completeness Check .................................A‐9
Figure A‐4 Specifying a Build Name and Location .....................A‐9

Appendix D
Guidelines for Developing Applications

Figure D‐1 Using a Shared Store for Two Values.......................D‐12

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide xxiii


List of Figures

Figure D‐2 Processing the Signal from a Sub‐Application........D‐13

Appendix F
Display Considerations

Figure F‐1 Effects of Monitor Burn‐in ............................................F‐2


Figure F‐2 Reducing Optical Effects ...............................................F‐5

Appendix H
APTRA Author GUI Reference

Figure H‐1 Tool Bar Icons ............................................................... H‐4


Figure H‐2 Error Message Box ....................................................... H‐8
Figure H‐3 Runtime Error Dialog Box........................................... H‐9
Figure H‐4 Menu Item Help ........................................................... H‐9
Figure H‐5 Timer Worker Help.................................................... H‐10

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

xxiv APTRA Author, User’s Guide


List of Tables

List of Tables

Preface

Table Pref‐1 Navigation Elements ................................................ ‐xxxii


Table Pref‐2 Definitions and Abbreviations Used in This 
Publication .............................................................. ‐xxxiv
Table Pref‐3 Typographical Conventions ................................... ‐xxxiv

Chapter 2
APTRA Author Setup

Table 2‐1 Development PC Directory Structure .........................2‐6

Chapter 4
First Steps in Building an Application

Table 4‐1 Fixed Front Text Worker Attributes ............................4‐6


Table 4‐2 IDLE 1 Worker Attributes...........................................4‐15
Table 4‐3 IDLE 2 Worker Attributes...........................................4‐16

Chapter 7
Team Development

Table 7‐1 Workers Report Format...............................................7‐14


Table 7‐2 Catalogs Report Format ..............................................7‐15
Table 7‐3 Components Report Format .......................................7‐16
Table 7‐4 Catalogs Report Format ..............................................7‐17

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide xxv


List of Tables

Appendix B
Advance NDC Worker Support

Table B‐1 Workers Modified for Advance NDC 3.04 .............. B‐13


Table B‐2 Workers Modified for Advance NDC 3.03 .............. B‐14
Table B‐3 Workers Modified for Advance NDC 3.02 .............. B‐15
Table B‐4 Workers Modified for Advance NDC 3.00 .............. B‐16
Table B‐5 Passbook Printer Differences..................................... B‐19
Table B‐6 Runtime Errors Mapping to Signals......................... B‐20

Appendix C
Extending the APTRA Author Runtime

Table C‐1 Default ASCII to EBCDIC Conversion....................... C‐7


Table C‐2 Default EBCDIC To ASCII Conversion...................... C‐9

Appendix E
Reserved User IDs

Table E‐1 Reserved User IDs......................................................... E‐2

Appendix G
Related Documentation

Table G‐1 APTRA Author Documentation..................................G‐2


Table G‐2 Other NCR Documentation .........................................G‐4

Appendix H
APTRA Author GUI Reference

Table H‐1 Author Menus............................................................... H‐2


Table H‐2 Tool Bar Functions ....................................................... H‐4
Table H‐3 Author Help .................................................................. H‐6
Table H‐4 Runtime Component Help.......................................... H‐7

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

xxvi APTRA Author, User’s Guide


Preface
About This Publication

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. Following on from this, we lead you 
through 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.

APTRA Author, User’s Guide xxvii


Preface
About This Publication

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 Reference” provides reference 
information for the Author GUI and information on using the 
on‐line help for the Author and Runtime 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 Pref-1 Element Description


Navigation Elements
Revision Record Lists updates for supported releases in page order 
with page references. The most recent release is 
listed first with hyperlinked page references. For 
previous releases, not all the hyperlinks work 

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.

xxviii APTRA Author, User’s Guide


Preface
About This Publication

Element Description

Glossary Provides an alphabetical list of terms, acronyms, 
and abbreviations with their meaning.

Index Provides an alphabetical list of topics, keywords, 
concepts, and data references with page references.

Feedback Allows you to comment on the publication by:
— 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
Implemetation 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.

APTRA Author, User’s Guide xxix


Preface
About This Publication

The following definitions and abbreviation are used throughout this 
Conventions Used publication:

Table Pref-2 Term Explanation


Definitions and Abbreviations Used in This
Publication Advance NDC Short form of APTRA Advance NDC
Author Short form of APTRA Author

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

Table Pref-3 Style Explanation


Typographical Conventions
Bold Indicates menu items, keys or 
buttons.

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 See Appendix A, “Troubleshooting” for exception handling in 
Advance NDC and Self‐Service Support.

2 Contact your internal support person for help.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

xxx APTRA Author, User’s Guide


Preface
About This Publication

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.

APTRA Author, User’s Guide xxxi


Preface
About This Publication

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

xxxii APTRA Author, User’s Guide


Table of Contents
APTRA Author Basics

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.

APTRA Author, User’s Guide


Table of Contents
APTRA Author Basics

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide


APTRA Author Basics
A

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.

APTRA Author, User’s Guide 1-1


APTRA Author Basics
Introducing the APTRA Author

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 the 
APTRA Advance NDC, Developer’s Guide.

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.

1-2 APTRA Author, User’s Guide


APTRA Author Basics
Introducing the APTRA Author

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 Service Pack 1 installed.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 1-3


APTRA Author Basics
Authoring System

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

1-4 APTRA Author, User’s Guide


APTRA Author Basics
Runtime Components

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.

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

APTRA Author, User’s Guide 1-5


APTRA Author Basics
Runtime Components

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?” in Appendix A, “Troubleshooting”.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

1-6 APTRA Author, User’s Guide


Table of Contents
APTRA Author Setup

Chapter 2
APTRA Author Setup

Overview 2‐1

Working Directory 2‐2

User IDs 2‐3
Using the User ID Utility 2‐3
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
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 obtain and 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 publication, which is available in the root 
directory of the Advance NDC CD‐ROM.
To build applications, you must have Microsoft Visual Studio 2005 
with Service Pack 1 installed on your development PC.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 2-1


APTRA Author Setup
Working Directory

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.

2-2 APTRA Author, User’s Guide


APTRA Author Setup
User IDs

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. From release 3.01, 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 its filename is as follows:

<user‐id>.USR
The variable <user‐id> must be unique and start with two letters. 
Typically it is a two‐ or three‐letter string, that does not contain any 
numbers and does 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.

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

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 2-3


APTRA Author Setup
User IDs

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

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

2-4 APTRA Author, User’s Guide


APTRA Author Setup
User IDs

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 Enter the two or three characters identifying the user in the User
ID text box.

2 Select the Create New User ID button. Accept the prompt to create 


the User ID with an install count of 1. 

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. They can also be 
removed using the User ID utility.
To remove a User ID that is no longer required using the User ID 
utility, complete the following steps:
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.

APTRA Author, User’s Guide 2-5


APTRA Author Setup
PC Directory Structure

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>:\<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>:\<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> User‐defined installation directory for Advance NDC. 
The default is c:\ntglobal. This directory is known as 
your global directory.

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

<drive>:\<global>\TEST\SUPPORT\SYSTEM Support system files for test target system. 

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

2-6 APTRA Author, User’s Guide


APTRA Author Setup
PC Directory Structure

Directory Contents

<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, and files installed in 
some, 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
● Display Manager for HTML‐based screens
● Media for media files
● Pd for Problem Determination files
● 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

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 software. 
The default is c:\ntglobal.
● Working directory. You create and use this directory to save 
your Author projects in. There can be many working directories 
on a development PC.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 2-7


APTRA Author Setup
PC Directory Structure

● 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, however, 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.

2-8 APTRA Author, User’s Guide


APTRA Author Setup
Installing the ActiveX Sample Application

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

APTRA Author, User’s Guide 2-9


APTRA Author Setup
Installing the ActiveX Sample Application

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

2-10 APTRA Author, User’s Guide


Table of Contents
The APTRA Author Methodology

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, in 
particular, the workforce metaphor.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 3-1


The APTRA Author Methodology
Graphical Programming Environment

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.

3-2 APTRA Author, User’s Guide


The APTRA Author Methodology
Graphical Programming Environment

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.

APTRA Author, User’s Guide 3-3


The APTRA Author Methodology
Graphical Programming Environment

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.

3-4 APTRA Author, User’s Guide


The APTRA Author Methodology
Communication Between Workers

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

APTRA Author, User’s Guide 3-5


The APTRA Author Methodology
Types of Workers

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 the APTRA Advance NDC, 
Developer’s Guide. 

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

3-6 APTRA Author, User’s Guide


Table of Contents
First Steps in Building an Application

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‐4
Method 2 4‐5
Method 3 4‐5
Setting the Properties of Components 4‐5
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‐10
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.

APTRA Author, User’s Guide 4-1


First Steps in Building an Application
“Hello World” Tutorial

“Hello World” Tutorial 4

First, we will 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 that 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.

Figure 4-2 Title Bar Pull‐Down Menus Tool Bar


Main Author Screen

Status Bar

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

4-2 APTRA Author, User’s Guide


First Steps in Building an Application
“Hello World” Tutorial

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

6 Select File | Save As.

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.

Now you need to create a new module and assign it as your default 
module, then 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.

5 To create a new application, select Components | New | Application; 


type in Hello World as the name of the application and select 
OK.

The following picture is then displayed on the screen:

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 4-3


First Steps in Building an Application
“Hello World” Tutorial

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 which will display a text message. You will find the worker 
Component 4
in the Displays catalog.
You can add a worker to the work group in one of three ways.

Method 1 4

1 Select File | Open Catalog from the menus.

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

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

4-4 APTRA Author, User’s Guide


First Steps in Building an Application
“Hello World” Tutorial

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. 

2 Select Add Top Worker from the pop‐up menu.

3 Select Fixed Front Text from the list provided.

Method 3 4

1 Select Components | Add Worker from the menus. 

2 Select Fixed Front Text from the list provided.


In all cases you should see the following picture:

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.
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, as well as some of its other properties, such 
Components 4
as colour and position.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 4-5


First Steps in Building an Application
“Hello World” Tutorial

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.

Table 4-1 Attribute New Value


Fixed Front Text Worker Attributes
Text Colour Choose a text colour from the displayed palette

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

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

4-6 APTRA Author, User’s Guide


First Steps in Building an Application
“Hello World” Tutorial

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.

Figure 4-7
Displaying the Test Application Window

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 4-7


First Steps in Building an Application
“Hello World” Tutorial

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.

4-8 APTRA Author, User’s Guide


First Steps in Building an Application
Creating an Attractor Sequence

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.
We are going to look at the following types of workers 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 which 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.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 4-9


First Steps in Building an Application
Creating an Attractor Sequence

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

2 Name it Attractor Application and select OK.

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.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

4-10 APTRA Author, User’s Guide


First Steps in Building an Application
Creating an Attractor Sequence

2 Highlight the Director worker class and double‐click MB1. A new 
icon appears in your catalog.

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

APTRA Author, User’s Guide 4-11


First Steps in Building an Application
Creating an Attractor Sequence

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.

4-12 APTRA Author, User’s Guide


First Steps in Building an Application
Creating an Attractor Sequence

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.

2 Select the Application with MB2, select Add Top Worker and select 


Director. Name the new worker Attractor Sequence. Show its 
view by double‐clicking its icon.

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.

APTRA Author, User’s Guide 4-13


First Steps in Building an Application
Creating an Attractor Sequence

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, then from the pop‐up 
menu, select Add Worker.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

4-14 APTRA Author, User’s Guide


First Steps in Building an Application
Creating an Attractor Sequence

2 From the list, select Fixed Front Text. Name the worker IDLE 1 and 


set its attributes as follows:

Table 4-2 Attribute Value


IDLE 1 Worker Attributes
Screen Position 2000,2000

Text String Please enter your card

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.

APTRA Author, User’s Guide 4-15


First Steps in Building an Application
Creating an Attractor Sequence

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:

Table 4-3 Attribute Value


IDLE 2 Worker Attributes
Screen Position 2000,4000

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

4-16 APTRA Author, User’s Guide


First Steps in Building an Application
Creating an Attractor Sequence

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.

APTRA Author, User’s Guide 4-17


First Steps in Building an Application
How Workers Communicate

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.

4-18 APTRA Author, User’s Guide


First Steps in Building an Application
How Workers Communicate

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 
which 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, see 
the 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.

APTRA Author, User’s Guide 4-19


First Steps in Building an Application
Running a Completeness Check

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 which indicates 
‘Warning Only’. For details, see Appendix A, “Troubleshooting”.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

4-20 APTRA Author, User’s Guide


First Steps in Building an Application
Running the Test Application

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.

APTRA Author, User’s Guide 4-21


First Steps in Building an Application
Running the Test Application

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.

Now save the project as follows:

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

4-22 APTRA Author, User’s Guide


First Steps in Building an Application
Running the Test Application

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.

Figure 4-18 Title‐bar icon


Title-Bar Drop-Down Menu

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 
workers are editable when running a test application. The menu 
options are as follows:

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 4-23


First Steps in Building an Application
Running the Test Application

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

4-24 APTRA Author, User’s Guide


First Steps in Building an Application
Conclusions

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.

APTRA Author, User’s Guide 4-25


First Steps in Building an Application
Conclusions

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

4-26 APTRA Author, User’s Guide


Table of Contents
ActiveX Controls and APTRA Author

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 provides an introduction to 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, User’s Guide 5-1


ActiveX Controls and APTRA Author
APTRA Author and ActiveX

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.

5-2 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
APTRA Author and ActiveX

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, User’s Guide 5-3


ActiveX Controls and APTRA Author
APTRA Author Workers and Utilities

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 section entitled “The Barcode Scanner Sample Application” 
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 (h10049.hlp).

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.

5-4 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
APTRA Author Workers and Utilities

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.

APTRA Author, User’s Guide 5-5


ActiveX Controls and APTRA Author
APTRA Author Workers and Utilities

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.

5-6 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
APTRA Author Workers and Utilities

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.

APTRA Author, User’s Guide 5-7


ActiveX Controls and APTRA Author
APTRA Author Workers and Utilities

The web pages welcome1.htm and welcome2.htm are each simply a 
page representing a transaction for the customer to choose, as 
follows:

Figure 5-2 “Welcome1”


Welcome Web Pages

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.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

5-8 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
APTRA Author Workers and Utilities

Then any active Web Event Monitor worker whose named event 
attribute matches the above event name will produce a ‘Triggered’ 
signal.
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. 

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 5-9


ActiveX Controls and APTRA Author
APTRA Author Workers and Utilities

The Script Editor provides empty template functions to which script 
can be entered, and to associate script with events generated from 
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.

5-10 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
The Barcode Scanner Sample Application

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

APTRA Author, User’s Guide 5-11


ActiveX Controls and APTRA Author
The Barcode Scanner Sample Application

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.

5-12 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
The Barcode Scanner Sample Application

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.

APTRA Author, User’s Guide 5-13


ActiveX Controls and APTRA Author
The Barcode Scanner Sample Application

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. 
These methods are invoked when the worker is started and 
stopped.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

5-14 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
The Barcode Scanner Sample Application

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

'Reset the contents of the barcode variant store


BarcodeStore.Data = 0

'Invoking a method on the Barcode Control to Enable its


'User Interface
BarcodeCtrl.Enable

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

APTRA Author, User’s Guide 5-15


ActiveX Controls and APTRA Author
The Barcode Scanner Sample Application

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:
1 Select BarcodeCtrl in the Event Viewer window:

Figure 5-13
VBscript Editor - Viewing Associated
Events

2 Select the Scanned (shown above), to display the following code 
in the Edit Script window:
Sub BarcodeCtrl_Scanned()

'Responding to the Barcode Control event

'Storing the Barcode property value in a local variable


BarcodeValue = BarcodeCtrl.Barcode

'Invoking a user procedure to test the validity of the


'scanned barcode
BarcodeValid = BarcodeTest(BarcodeValue)

'Activating different result work groups depending on


'the validity of the barcode
if BarcodeValid = True then

'Storing the valid value in the Variant Store for


'use in other Script Hosts
BarcodeStore.Data = BarcodeValue
ActiveWorkGroup.Index = 1
else

ActiveWorkGroup.Index = 2

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

5-16 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
The Barcode Scanner Sample Application

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

'This function validates that the scanned barcode


'against a predetermined minimum and maximum barcode
'value.

'Checking the variant Barcode value entered is a number


if (IsNumeric(Barcode) = True) then

'Converting the barcode value to a long to ensure


'a valid comparison is made
if ((CLng(Barcode) > MIN_VALUE) and (CLng(Barcode) < MAX_VALUE))
then
BarcodeTest = True
else

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 5-17


ActiveX Controls and APTRA Author
The Barcode Scanner Sample Application

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.

5-18 APTRA Author, User’s Guide


ActiveX Controls and APTRA Author
Hints and Tips

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. Either ensure that the 
Active Script Hosts are concurrent with the transaction processing 
application, or develop a separate application to run concurrently 
with the transaction processing application, to which it passes 
information via 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.
Adding the line ActivateWorgroup.Index = 0 at the start of the 
Activate method in the script host lets other Result work groups of 

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 5-19


ActiveX Controls and APTRA Author
Hints and Tips

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.

5-20 APTRA Author, User’s Guide


Table of Contents
Managing Modules

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 the next 
chapter.
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.

APTRA Author, User’s Guide 6-1


Managing Modules
Access to Components You Do Not Own

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.

6-2 APTRA Author, User’s Guide


Managing Modules
Access to Components You Do Not Own

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.

APTRA Author, User’s Guide 6-3


Managing Modules
Access to Components You Do Not Own

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.

6-4 APTRA Author, User’s Guide


Managing Modules
Access to Components You Do Not Own

Figure 6-4 ➩Select the Advanced tab.


Worker Settings - Advanced
You will notice that the worker’s settings are view 
only. This is because you are not the owner of this 
worker. It belongs to the Flow Control Module.

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

APTRA Author, User’s Guide 6-5


Managing Modules
Creating a New Module

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.

Figure 6-5 ➩Create a module and name it 


Creating and Naming a Module ‘Temporary Module’.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

6-6 APTRA Author, User’s Guide


Managing Modules
Creating a New Module

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.

APTRA Author, User’s Guide 6-7


Managing Modules
Creating a New Module

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.

6-8 APTRA Author, User’s Guide


Managing Modules
Using Catalogs and Creating Workers

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.

APTRA Author, User’s Guide 6-9


Managing Modules
Using Catalogs and Creating Workers

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

Figure 6-9 ➩Select the Advanced tab.


Adding a Catalog to the Default Module
The catalog, by default, will 
be added to your Default 
Module.

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.

6-10 APTRA Author, User’s Guide


Managing Modules
Using Catalogs and Creating Workers

Figure 6-10 You can now create a worker 


Creating a Timer Worker and place it in ‘My Catalog’.

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

APTRA Author, User’s Guide 6-11


Managing Modules
Transferring the Worker to Another Module

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-11 ➩Select the Timer with MB2, 


Opening the Worker Settings for the Timer and select Worker 
Settings...

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.

6-12 APTRA Author, User’s Guide


Managing Modules
Transferring the Worker to Another Module

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.

APTRA Author, User’s Guide 6-13


Managing Modules
Transferring the Worker to Another Module

Figure 6-14
Transferring the Timer Worker to a Module
You Do Not Own

Figure 6-15 ➩Again, open the worker’s dialog box.


Worker In Transit
You will notice that the worker’s 
settings are view only.

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.

6-14 APTRA Author, User’s Guide


Managing Modules
Changing the Owner of a Module

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.

APTRA Author, User’s Guide 6-15


Managing Modules
Changing the Owner of a Module

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.

6-16 APTRA Author, User’s Guide


Managing Modules
Move a Module

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.

Figure 6-18 ➩Select the ‘Move’ menu item 


Using the Move Function from the Author ‘Module’ 
menu.

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

APTRA Author, User’s Guide 6-17


Managing Modules
Move a Module

The Move To Default Module function lets you move the contents of a 


Move to the Default  catalog directly into the module that you have set as your default 
Module  6
module. This function allows you to incorporate another person’s 
work, or your own, into your default module.

Figure 6-19
Using the Move To Default Module ➩Select the ‘Move to Default 
Function Module’ menu item from the 
Catalog menu.

Note:  The Tools menu has a Module Copy option, which also lets you 


copy a module to the default module. If a default module does not 
exist, the copied module is named “Copy of...”

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

6-18 APTRA Author, User’s Guide


Managing Modules
Summary on Modules

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.

APTRA Author, User’s Guide 6-19


Managing Modules
Summary on Modules

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

6-20 APTRA Author, User’s Guide


Table of Contents
Team Development

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 which support 
and encourage a team approach to development. By adopting a 
team approach, a number of 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.

APTRA Author, User’s Guide 7-1


Team Development
Planning for Project Development

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.

7-2 APTRA Author, User’s Guide


Team Development
Planning for Project Development

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.
The following diagram shows an example of this approach to 
developing an application.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 7-3


Team Development
Planning for Project Development

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.

7-4 APTRA Author, User’s Guide


Team Development
Planning for Project Development

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.

APTRA Author, User’s Guide 7-5


Team Development
Planning for Project Development

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.

7-6 APTRA Author, User’s Guide


Team Development
Planning for Project Development

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.

APTRA Author, User’s Guide 7-7


Team Development
Project Management Features

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.

7-8 APTRA Author, User’s Guide


Team Development
Project Management Features

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.

APTRA Author, User’s Guide 7-9


Team Development
Project Management Features

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.

7-10 APTRA Author, User’s Guide


Team Development
Merging Projects

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.

APTRA Author, User’s Guide 7-11


Team Development
Merging Projects

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.

7-12 APTRA Author, User’s Guide


Team Development
Creating Project Reports

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.

5 Select Data | Import External Data | Import Data and select the report file 


from the directory in which it was saved.

6 Select Open, then in the Text Import Wizard dialog select to 
import the data type as Delimited.
The following table explains the format of the data:

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide 7-13


Team Development
Creating Project Reports

Table 7-1 Data Description


Workers Report Format
Component ID Unique identifier for the 
component

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.

7-14 APTRA Author, User’s Guide


Team Development
Creating Project Reports

Table 7-2 Data Description


Catalogs Report Format
Catalog Catalog name and identifier

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.

APTRA Author, User’s Guide 7-15


Team Development
Creating Project Reports

Table 7-3 Data Description


Components Report Format
Component  Unique identifier for the component
ID

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.

7-16 APTRA Author, User’s Guide


Team Development
Creating Project Reports

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:

Table 7-4 Data Description


Catalogs Report Format
Module  Name of the module
Name

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.

APTRA Author, User’s Guide 7-17


Team Development
Creating Project Reports

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

7-18 APTRA Author, User’s Guide


Table of Contents
Troubleshooting

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.

APTRA Author, User’s Guide


Table of Contents
Troubleshooting

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide


Troubleshooting
A

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.

APTRA Author, User’s Guide A-1


Troubleshooting
Dealing with Exceptions

Dealing with Exceptions A

On an SST, an exception is caused by an error condition so severe 
that the SST cannot recover from it; the SST is automatically reset.
There are two broad categories of exception:
● Advance NDC exception
● Self‐Service Support exception.
Read the “Advance NDC Exceptions” section below to learn how to 
deal with exceptions in Advance NDC. 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 the PC or a Final Application on the SST. There are 
two categories of Advance NDC exception codes. Those that the 
user can fix (see the following subsections) and those which require 
a fix by NCR (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. Where applicable, this 
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
— 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.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

A-2 APTRA Author, User’s Guide


Troubleshooting
Dealing with Exceptions

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. 

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide A-3


Troubleshooting
Questions and Answers

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.

A-4 APTRA Author, User’s Guide


Troubleshooting
Questions and Answers

How do you 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‐3. 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.

APTRA Author, User’s Guide A-5


Troubleshooting
Questions and Answers

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 APTRA Simulator on‐line documentation.

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.

A-6 APTRA Author, User’s Guide


Troubleshooting
Questions and Answers

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.

APTRA Author, User’s Guide A-7


Troubleshooting
Questions and Answers

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

2 Select Tools | Build Final.

Figure A-2
Performing a Final Build

3 In the Select Checks window, select OK to perform a completeness 
check:

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

A-8 APTRA Author, User’s Guide


Troubleshooting
Questions and Answers

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.

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.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide A-9


Troubleshooting
Questions and Answers

Further details are provided in the Environmental Variables section 
of the ‘APTRA Advance ‐ Application Development’ course 
manual.

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.

A-10 APTRA Author, User’s Guide


Table of Contents
Advance NDC Worker Support

Appendix B
Advance NDC Worker Support

Overview B‐1

New Workers B‐2
New Workers Provided in Advance NDC 3.04 B‐2
Secure Workers B‐2
Entry of Windows User Name and Password B‐2
New Workers Provided in Advance NDC 3.03 B‐2
Voice Guidance B‐2
Passbook Printer B‐2
Mini Self‐Service Assistant Workers B‐3
Other New Workers B‐3
New Workers Provided in Advance NDC 3.02 B‐3
New Workers Provided in Advance NDC 3.01 B‐4
New Workers Provided in Advance NDC 3.00 B‐4

Supported Workers B‐5
Cash Handling Workers B‐5
Data Entry Workers B‐5
Printer Workers B‐5
Envelope Dispenser/ Depository Workers B‐6
Resource Management Workers B‐6
MCRW Workers B‐6
Indicator Workers B‐6
Communications Workers B‐7
Communications Protocols & Connections Workers B‐7
Supervisor Workers B‐7
Status Handling Workers B‐7
Data Workers B‐7
Data Manipulation Workers B‐7
Data Formatting Workers B‐8
FIT Worker B‐8
Persistent and Sharable Stores B‐8
Flow Control Workers B‐9
State Execution Workers B‐9
Application Interface Workers B‐9
Exit Workers B‐9

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide


Table of Contents
Advance NDC Worker Support

Message Handling Workers B‐9
Display Workers B‐10
Fault Display Workers B‐10
Operator Panel Workers B‐10
Trace Workers B‐10
ActiveX Workers B‐10
Security Workers B‐11
Night Safe Workers B‐11
Statement Printer Workers B‐11
Miscellaneous Workers B‐12
Unused Application Workers B‐12

Modified Workers B‐13
Workers Modified in This Release of Advance NDC B‐13
General Updates B‐13
Workers Modified in Previous Releases of Advance NDC B‐14
Resource Identifier Workers B‐17
Front Interface Resource ID B‐17
EPP Security Workers B‐18

Passbook Printer Worker Classes B‐19

Unsupported Workers B‐21
Stubbed Workers B‐21
Replaced Workers B‐21
Cardholder Data Collector B‐21
Consumer Token B‐21
Front FDK Key B‐21
Front Fixed Key B‐21
Front Key Masker B‐22
Operator Key Masker B‐22
Keyboard Beep Setter B‐22
Logo Setter B‐22
TCP/IP Comms Connection ID and S4 Comms Resource 
Identifier B‐22
Basic Operator Panel (BOP) Workers B‐22
Unsupported Security Workers B‐22
EKC Workers B‐23
Communications Protocol Workers B‐23
ActiveX Workers B‐23
FIT Workers B‐23
Resource Management Workers B‐23

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide


Table of Contents
Advance NDC Worker Support

Door Access Workers B‐24
Enhanced Card Reader/Writer Workers B‐24
Cash Handling Workers B‐24
Coin Dispenser Workers B‐24
Communications Workers B‐24
Data Entry Workers B‐24
Printer Workers B‐25
Miscellaneous Unsupported Workers B‐25

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide


Table of Contents
Advance NDC Worker Support

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide


Advance NDC Worker Support
B

Overview

Overview B

The following sections group workers by their availability for use in 
Advance NDC:
● New workers for Advance NDC 3.x
● Previous workers that are supported, grouped by function
● In case you are upgrading, workers that have been modified 
from previous Advance NDC releases
● Workers that are not supported.
For more information about workers, including detailed 
descriptions, refer to the Worker Class Help provided with 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.

APTRA Author, User’s Guide B-1


Advance NDC Worker Support
New Workers

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.

The following new workers are provided 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 
ensure that memory is automatically cleared once 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 new workers are provided 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.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

B-2 APTRA Author, User’s Guide


Advance NDC Worker Support
New Workers

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‐5 on page B‐19 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 
● 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)

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide B-3


Advance NDC Worker Support
New Workers

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

B-4 APTRA Author, User’s Guide


Advance NDC Worker Support
Supported Workers

Supported Workers B

All the workers listed in this section are supported in Advance NDC 
3.03. 

Note:  If you are upgrading from a previous Advance NDC release, 
check “Modified Workers” on page B‐13, 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 Advance NDC Reference Manual.
In a multi‐vendor environment, the output goes through the printer 
conversion 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.

APTRA Author, User’s Guide B-5


Advance NDC Worker Support
Supported Workers

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

B-6 APTRA Author, User’s Guide


Advance NDC Worker Support
Supported Workers

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
● 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 
● Handle Store
Workers B

● Integer Store
● Real Store
● String Store

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide B-7


Advance NDC Worker Support
Supported Workers

● Assigner
● Handle Computer
● Integer Computer
● Real Computer
● String Computer
● Tester
● Date
● Setter
● Time
● CDI Stores
— Common Integer Store
— Common Real Store
— Common String Store
● User CDI Stores

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.

B-8 APTRA Author, User’s Guide


Advance NDC Worker Support
Supported Workers

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.

APTRA Author, User’s Guide B-9


Advance NDC Worker Support
Supported Workers

● 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

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.

B-10 APTRA Author, User’s Guide


Advance NDC Worker Support
Supported Workers

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‐4 on page B‐16)
● 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.

APTRA Author, User’s Guide B-11


Advance NDC Worker Support
Supported Workers

The following workers are available:
Miscellaneous Workers B

● Alarm
● 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
● Picture Displayer
● 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.

B-12 APTRA Author, User’s Guide


Advance NDC Worker Support
Modified Workers

Modified Workers B

The following tables list changes to workers 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 modifications made to worker classes 
Workers Modified in This  and general updates to the help.
Release of Advance NDC B

Table B-1 Worker Change


Workers Modified for Advance NDC 3.04
NDC Export  Supports variable‐length serial number for SSTs
Encryption Data

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 B

There are two general updates:
● 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

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide B-13


Advance NDC Worker Support
Modified Workers

The following tables list changes made to worker classes in previous 
Workers Modified in  releases of Advance NDC.
Previous Releases of 
Table B‐2 lists workers that were modified for Advance NDC 3.03.
Advance NDC B

Table B-2 Worker Change


Workers Modified for Advance NDC 3.03
Date Has two additional settings to allow the date set by 
Enhanced Configuration option 3 to be displayed in 
different formats, as follows:
MMDDYY (default)
DDMMYY
YYMMDD
YYDDMM

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.

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

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

B-14 APTRA Author, User’s Guide


Advance NDC Worker Support
Modified Workers

Worker Change

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‐3 lists workers that were modified for Advance NDC 3.02.

Table B-3 Worker Change


Workers Modified for Advance NDC 3.02
Coin Dispenser  A Coin Dispenser Resource ID worker is an S4 
Resource ID Resource ID for the Coin Dispenser device. A Coin 
Dispenser Resource ID worker class can be used in 
any work group that accepts Resource Identifier 
workers.

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.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide B-15


Advance NDC Worker Support
Modified Workers

Table B‐4 lists workers that have been modified for Advance NDC 
3.00.

Table B-4 Worker Change


Workers Modified for Advance NDC 3.00
Caller Has two attributes: 
ʺKeepCallingUntilHeardʺ, Boolean. When set to the 
default value, FALSE, the functionality is 
unchanged. When set to TRUE, the call persists until 
a listener receives it, even if the caller is deactivated 
before the listener is activated.
“Event Name” If the default value of 
“UseComponentID” is used, the functionality is 
unchanged. A string can be entered for the caller 
worker to use instead.

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

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.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

B-16 APTRA Author, User’s Guide


Advance NDC Worker Support
Modified Workers

Worker Change

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.

Support for the following Resource Identifier (ID) workers is limited 
Resource Identifier  to Advance NDC functions (device variant and fitness Getters), as 
Workers B
the Advance NDC application does not need to perform resource 
negotiation:
● 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
● 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

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 

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide B-17


Advance NDC Worker Support
Modified Workers

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.

B-18 APTRA Author, User’s Guide


Advance NDC Worker Support
Passbook Printer Worker Classes

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.

Table B-5 Worker Change


Passbook Printer Differences
Line Number  If the line number is invalid, ‐1 is returned.
Store 

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.

APTRA Author, User’s Guide B-19


Advance NDC Worker Support
Passbook Printer Worker Classes

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

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-6
Runtime Errors Mapping to Signals

Error Number Error Description Worker Class Signal

1 There is a passbook in the passbook  Passbook Acceptor None. Automatically 


printer attempts to read the 
passbook.

2 There is no passbook in the passbook  Passbook Reader  Abandoned


printer

3 There is no passbook in the passbook  Passbook Writer Abandoned


printer

4 There is no passbook in the passbook  Passbook Page Turner Abandoned


printer

5 There is no passbook in the passbook  Passbook Printer Abandoned


printer

6 The track is not supported Passbook Writer Bad

7 The track is not supported Passbook Reader Bad

8 Page turning is not supported by the  Passbook Page Turner Abandoned


passbook printer

9 The page number specified is outside the  Passbook Page Turner Bad


range defined for the current passbook

10 The line number specified is outside the  Passbook Printer Line number 0 is selected


range defined for the current passbook

11 Invalid data or  Passbook Writer Bad


no stripe defined

12 Invalid data Passbook Reader Bad

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

B-20 APTRA Author, User’s Guide


Advance NDC Worker Support
Unsupported Workers

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.

APTRA Author, User’s Guide B-21


Advance NDC Worker Support
Unsupported Workers

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.

B-22 APTRA Author, User’s Guide


Advance NDC Worker Support
Unsupported Workers

Advance NDC does not support the Encryptor Keyboard Controller 
EKC Workers B

(EKC), so 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.

APTRA Author, User’s Guide B-23


Advance NDC Worker Support
Unsupported Workers

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.

B-24 APTRA Author, User’s Guide


Advance NDC Worker Support
Unsupported Workers

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

APTRA Author, User’s Guide B-25


Advance NDC Worker Support
Unsupported Workers

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

B-26 APTRA Author, User’s Guide


Table of Contents
Extending the APTRA Author Runtime

Appendix C
Extending the APTRA Author 
Runtime

Overview C‐1

Workers Which Interpret APTRA Author BASIC Expressions C‐3

Components Which Make Up an APTRA 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 we provide, 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).
In the following sections, we 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.

APTRA Author, User’s Guide C-1


Extending the APTRA Author Runtime
Overview

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 white paper CEN‐XFS Exits in Advance NDC 
for guidelines. This is accessible through the Advance NDC topic in 
the on‐line APTRA Documentation.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

C-2 APTRA Author, User’s Guide


Extending the APTRA Author Runtime
Workers to Interpret APTRA Author BASIC Expressions

Workers to Interpret APTRA Author 
BASIC Expressions C

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

APTRA Author, User’s Guide C-3


Extending the APTRA Author Runtime
Components of an Author BASIC Expression

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.

C-4 APTRA Author, User’s Guide


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

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.

APTRA Author, User’s Guide C-5


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

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.

C-6 APTRA Author, User’s Guide


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

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:

Table C-1 ASCII EBCDIC ASCII EBCDIC


Default ASCII to EBCDIC Conversion
0x00 NUL 0x00 NUL 0x40 @ 0x7C @

0x01 SOH 0x01 SOH 0x41 A 0xC1 A

0x02 STX 0x02 STX 0x42 B 0xC2 B

0x03 ETX 0x03 ETX 0x43 C 0xC3 C

0x04 EOT 0x37 EOT 0x44 D 0xC4 D

0x05 ENQ 0x2D ENQ 0x45 E 0xC5 E

0x06 ACK 0x2E ACK 0x46 F 0xC6 F

0x07 BEL 0x2F BEL 0x47 G 0xC7 G

0x08 BS 0x08 BS 0x48 H 0xC8 H

0x09 HT 0x05 HT 0x49 I 0xC9 I

0x0A LF 0x15 LF 0x4A J 0xD1 J

0x0B VT 0x0B VT 0x4B K 0xD2 K

0x0C FF 0x0C FF 0x4C L 0xD3 L

0x0D CR 0x0D CR 0x4D M 0xD4 M

0x0E SO 0x0E SO 0x4E N 0xD5 N

0x0F SI 0x0F SI 0x4F O 0xD6 O

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide C-7


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

ASCII EBCDIC ASCII EBCDIC

0x10 DLE 0x10 DLE 0x50 P 0xD7 P

0x11 DC1 0x11 DC1 0x51 Q 0xD8 Q

0x12 DC2 0x12 DC2 0x52 R 0xD9 R

0x13 DC3 0x13 DC3 0x53 S 0xE2 S

0x14 DC4 0x3C DC4 0x54 T 0xE3 T

0x15 NAK 0x3D NAK 0x55 U 0xE4 U

0x16 SYN 0x32 SYN 0x56 V 0xE5 V

0x17 ETB 0x26 ETB 0x57 W 0xE6 W

0x18 CAN 0x18 CAN 0x58 X 0xE7 X

0x19 EM 0x19 EM 0x59 Y 0xE8 Y

0x1A SUB 0x3F SUB 0x5A Z 0xE9 Z

0x1B ESC 0x27 ESC 0x5B [ 0x4A [

0x1C FS 0x1C FS 0x5C \ 0xE0 \

0x1D GS 0x1D GS 0x5D ] 0x5A ]

0x1E RS 0x1E RS 0x5E ^ 0x5F ^

0x1F US 0x1F US 0x5F _ 0x6D _

0x20 Space 0x40 Space 0x60 ‘ 0x79 ‘

0x21 ! 0x4F ! 0x61 a 0x81 a

0x22 " 0x7F " 0x62 b 0x82 b

0x23 # 0x7B # 0x63 c 0x83 c

0x24 $ 0x5B $ 0x64 d 0x84 d

0x25 % 0x6C % 0x65 e 0x85 e

0x26 & 0x50 & 0x66 f 0x86 f

0x27 ’ 0x7D ’ 0x67 g 0x87 g

0x28 ( 0x4D ( 0x68 h 0x88 h

0x29 ) 0x5D ) 0x69 i 0x89 i

0x2A * 0x5C * 0x6A j 0x91 j

0x2B + 0x4E + 0x6B k 0x92 k

0x2C , 0x6B , 0x6C l 0x93 l

0x2D - 0x60 - 0x6D m 0x94 m

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

C-8 APTRA Author, User’s Guide


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

ASCII EBCDIC ASCII EBCDIC

0x2E . 0x4B . 0x6E n 0x95 n

0x2F / 0x61 / 0x6F o 0x96 o

0x30 0 0xF0 0 0x70 p 0x97 p

0x31 1 0xF1 1 0x71 q 0x98 q

0x32 2 0xF2 2 0x72 r 0x99 r

0x33 3 0xF3 3 0x73 s 0xA2 s

0x34 4 0xF4 4 0x74 t 0xA3 t

0x35 5 0xF5 5 0x75 u 0xA4 u

0x36 6 0xF6 6 0x76 v 0xA5 v

0x37 7 0xF7 7 0x77 w 0xA6 w

0x38 8 0xF8 8 0x78 x 0xA7 x

0x39 9 0xF9 9 0x79 y 0xA8 y

0x3A : 0x7A : 0x7A z 0xA9 z

0x3B ; 0x5E ; 0x7B { 0xC0 {

0x3C < 0x4C < 0x7C | 0x6A |

0x3D = 0x7E = 0x7D } 0xD0 }

0x3E > 0x6E > 0x7E ~ 0xA1 ~

0x3F ? 0x6F ? 0x7F DEL 0x07 DEL

The following table specifies the default EBCDIC to ASCII 
EBCDIC to ASCII C

conversion used by the EBCDICToASCII function.

Table C-2 EBCDIC ASCII EBCDIC ASCII


Default EBCDIC To ASCII Conversion
0x00 NUL 0x00 NUL 0x80 0x00

0x01 SOH 0x01 SOH 0x81 a 0x61 a

0x02 STX 0x02 STX 0x82 b 0x62 b

0x03 ETX 0x03 ETX 0x83 c 0x63 c

0x04 PF 0x00 0x84 d 0x64 d

0x05 HT 0x09 HT 0x85 e 0x65 e

0x06 LC 0x00 0x86 f 0x66 f

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide C-9


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

EBCDIC ASCII EBCDIC ASCII

0x07 DEL 0x7F DEL 0x87 g 0x67 g

0x08 BS 0x08 BS 0x88 h 0x68 h

0x09 RLF 0x00 0x89 i 0x69 i

0x0A SMM 0x00 0x8A 0x00

0x0B VT 0x0B VT 0x8B 0x00

0x0C FF 0x0C FF 0x8C 0x00

0x0D CR 0x0D CR 0x8D 0x00

0x0E SO 0x0E SO 0x8E 0x00

0x0F SI 0x0F SI 0x8F 0x00

0x10 DLE 0x10 DLE 0x90 0x00

0x11 DC1 0x11 DC1 0x91 j 0x6A j

0x12 DC2 0x12 DC2 0x92 k 0x6B k

0x13 DC3 0x13 DC3 0x93 l 0x6C l

0x14 RES 0x00 0x94 m 0x6D m

0x15 LF 0x0A LF 0x95 n 0x6E n

0x16 BS 0x00 0x96 o 0x6F o

0x17 IL 0x00 0x97 p 0x70 p

0x18 CAN 0x18 CAN 0x98 q 0x71 q

0x19 EM 0x19 EM 0x99 r 0x72 r

0x1A CC 0x00 0x9A 0x00

0x1B CU1 0x00 0x9B 0x00

0x1C FS 0x1C FS 0x9C 0x00

0x1D GS 0x1D GS 0x9D 0x00

0x1E RS 0x1E RS 0x9E 0x00

0x1F US 0x1F US 0x9F 0x00

0x20 DS 0x00 0xA0 0x00

0x21 SOS 0x00 0xA1 ~ 0x7E ~

0x22 FS 0x00 0xA2 s 0x73 s

0x23 0x00 0xA3 t 0x74 t

0x24 BYP 0x00 0xA4 u 0x75 u

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

C-10 APTRA Author, User’s Guide


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

EBCDIC ASCII EBCDIC ASCII

0x25 LF 0x0A LF 0xA5 v 0x76 v

0x26 ETB 0x17 ETB 0xA6 w 0x77 w

0x27 ESC 0x1B ESC 0xA7 x 0x78 x

0x28 0x00 0xA8 y 0x79 y

0x29 0x00 0xA9 z 0x7A z

0x2A SM 0x00 0xAA 0x00

0x2B CU2 0x00 0xAB 0x00

0x2C 0x00 0xAC 0x00

0x2D ENQ 0x05 ENQ 0xAD 0x00

0x2E ACK 0x06 ACK 0xAE 0x00

0x2F BEL 0x07 BEL 0xAF 0x00

0x30 0x00 0xB0 0x00

0x31 0x00 0xB1 0x00

0x32 SYN 0x16 SYN 0xB2 0x00

0x33 0x00 0xB3 0x00

0x34 PN 0x00 0xB4 0x00

0x35 RS 0x00 0xB5 0x00

0x36 UC 0x00 0xB6 0x00

0x37 EOT 0x04 EOT 0xB7 0x00

0x38 0x00 0xB8 0x00

0x39 0x00 0xB9 0x00

0x3A 0x00 0xBA 0x00

0x3B CU3 0x00 0xBB 0x00

0x3C DC4 0x14 DC4 0xBC 0x00

0x3D NAK 0x15 NAK 0xBD 0x00

0x3E 0x00 0xBE 0x00

0x3F SUB 0x1A SUB 0xBF 0x00

0x40 Space 0x20 Space 0xC0 { 0x7B {

0x41 0x00 0xC1 A 0x41 A

0x42 0x00 0xC2 B 0x42 B

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide C-11


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

EBCDIC ASCII EBCDIC ASCII

0x43 0x00 0xC3 C 0x43 C

0x44 0x00 0xC4 D 0x44 D

0x45 0x00 0xC5 E 0x45 E

0x46 0x00 0xC6 F 0x46 F

0x47 0x00 0xC7 G 0x47 G

0x48 0x00 0xC8 H 0x48 H

0x49 0x00 0xC9 I 0x49 I

0x4A 0x5B 0xCA 0x00

0x4B . 0x2E . 0xCB 0x00

0x4C < 0x3C < 0xCC 0x00

0x4D ( 0x28 ( 0xCD 0x00

0x4E + 0x2B + 0xCE 0x00

0x4F ! 0x21 ! 0xCF 0x00

0x50 & 0x26 & 0xD0 } 0x7D }

0x51 0x00 0xD1 J 0x4A J

0x52 0x00 0xD2 K 0x4B K

0x53 0x00 0xD3 L 0x4C L

0x54 0x00 0xD4 M 0x4D M

0x55 0x00 0xD5 N 0x4E N

0x56 0x00 0xD6 O 0x4F O

0x57 0x00 0xD7 P 0x50 P

0x58 0x00 0xD8 Q 0x51 Q

0x59 0x00 0xD9 R 0x52 R

0x5A ] 0x5D ] 0xDA 0x00

0x5B $ 0x24 $ 0xDB 0x00

0x5C * 0x2A * 0xDC 0x00

0x5D ) 0x29 ) 0xDD 0x00

0x5E ; 0x3B ; 0xDE 0x00

0x5F ^ 0x5E ^ 0xDF 0x00

0x60 - 0x2D - 0xE0 \ 0x5C \

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

C-12 APTRA Author, User’s Guide


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

EBCDIC ASCII EBCDIC ASCII

0x61 / 0x2F / 0xE1 0x00

0x62 0x00 0xE2 S 0x53 S

0x63 0x00 0xE3 T 0x54 T

0x64 0x00 0xE4 U 0x55 U

0x65 0x00 0xE5 V 0x56 V

0x66 0x00 0xE6 W 0x57 W

0x67 0x00 0xE7 X 0x58 X

0x68 0x00 0xE8 Y 0x59 Y

0x69 0x00 0xE9 Z 0x5A Z

0x6A | 0x7C | 0xEA 0x00

0x6B , 0x2C , 0xEB 0x00

0x6C % 0x25 % 0xEC 0x00

0x6D _ 0x5F _ 0xED 0x00

0x6E > 0x3E > 0xEE 0x00

0x6F ? 0x3F ? 0xEF 0x00

0x70 0x00 0xF0 0 0x30 0

0x71 0x00 0xF1 1 0x31 1

0x72 0x00 0xF2 2 0x32 2

0x73 0x00 0xF3 3 0x33 3

0x74 0x00 0xF4 4 0x34 4

0x75 0x00 0xF5 5 0x35 5

0x76 0x00 0xF6 6 0x36 6

0x77 0x00 0xF7 7 0x37 7

0x78 0x00 0xF8 8 0x38 8

0x79 ‘ 0x60 ‘ 0xF9 9 0x39 9

0x7A : 0x3A : 0xFA 0x00

0x7B # 0x23 # 0xFB 0x00

0x7C @ 0x40 @ 0xFC 0x00

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide C-13


Extending the APTRA Author Runtime
ASCII/EBCDIC Functions

EBCDIC ASCII EBCDIC ASCII

0x7D ’ 0x27 ’ 0xFD 0x00

0x7E = 0x3D = 0xFE 0x00

0x7F " 0x22 " 0xFF 0x00

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

C-14 APTRA Author, User’s Guide


Table of Contents
Guidelines for Developing Applications

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

In the following “Recommended Guidelines” section, we provide 
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 or applications in a 
single project file. In the following “Developing Several 
Applications in Separate Project Files” and “Developing a Single 
Application over Several Project Files” sections we describe how 
you can 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.

APTRA Author, User’s Guide D-1


Guidelines for Developing Applications
Recommended Guidelines

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

D-2 APTRA Author, User’s Guide


Guidelines for Developing Applications
Recommended Guidelines

you change, with their original worker component IDs, and a 
summary of the changes made. Refer to the APTRA Advance 
NDC, Developer’s Guide for further information on documenting 
your development.

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.

APTRA Author, User’s Guide D-3


Guidelines for Developing Applications
Developing Several Applications in Separate Project Files

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.

D-4 APTRA Author, User’s Guide


Guidelines for Developing Applications
Developing Several Applications in Separate Project Files

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

APTRA Author, User’s Guide D-5


Guidelines for Developing Applications
Developing Several Applications in Separate Project Files

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 onto an SST, see the Developers Guide.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

D-6 APTRA Author, User’s Guide


Guidelines for Developing Applications
Developing a Single Application over Several Project Files

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.

APTRA Author, User’s Guide D-7


Guidelines for Developing Applications
Developing a Single Application over Several Project Files

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.

D-8 APTRA Author, User’s Guide


Guidelines for Developing Applications
Developing a Single Application over Several Project Files

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 build a Final 
Application, The Author creates an application DLL file as well 
as 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 pathname 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.

APTRA Author, User’s Guide D-9


Guidelines for Developing Applications
Developing a Single Application over Several Project Files

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 up 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 vice versa.

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

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

D-10 APTRA Author, User’s Guide


Guidelines for Developing Applications
SSDS DLL Interface Signal

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.
The following diagram shows how to do this.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide D-11


Guidelines for Developing Applications
SSDS DLL Interface Signal

Figure D-1 Sub‐Application


Using a Shared Store for Two Values

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.

D-12 APTRA Author, User’s Guide


Guidelines for Developing Applications
SSDS DLL Interface Signal

Figure D-2 Controlling Application


Processing the Signal from a
Sub-Application

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.

APTRA Author, User’s Guide D-13


Guidelines for Developing Applications
SSDS DLL Interface Signal

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

D-14 APTRA Author, User’s Guide


Table of Contents
Reserved User IDs

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.

APTRA Author, User’s Guide E-1


Reserved User IDs
Reserved User IDs

Reserved User IDs E

The following list gives all the reserved user IDs in Advance NDC, 
alphabetically by row.

Table E-1 aae aaf aag aah aai


Reserved User IDs
aaj aandc aap aau aav

aaw aax aaz abc akaash

akash an ankush aqi aqn

aqr ar arb ark as

asc asi asj ask asl

atm ato atp avc avf

ayp bad bindu bm bna

cb cm db dc df

dha di dma dwmclean ep

ewp gbl gt hg im

ja513225 js jv laptop lb

lg ly mk ms murthy

mw ncr ncrsg ndc newuser

nga nm pa pad pc

pd pk pn postdev praven

rakshi rd rda rdl rg

rich richl richtest rk rl

rl205 rle rm7 rr rupesh

se sg sge sidhu sgncr

sgs sm sp spg spq

srinivas ss sue test tm

trevlin2 vm yc ziy yy

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

E-2 APTRA Author, User’s Guide


Table of Contents
Display Considerations

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.

APTRA Author, User’s Guide F-1


Display Considerations
Understanding Grey Scale Monitor Burn-In

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.

F-2 APTRA Author, User’s Guide


Display Considerations
Understanding Grey Scale Monitor Burn-In

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

APTRA Author, User’s Guide F-3


Display Considerations
Guidelines for Using Monochrome STN LCDs

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.

F-4 APTRA Author, User’s Guide


Display Considerations
Guidelines for Using Monochrome STN LCDs

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.

APTRA Author, User’s Guide F-5


Display Considerations
Guidelines for Using Monochrome STN LCDs

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

F-6 APTRA Author, User’s Guide


Table of Contents
Related Documentation

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. To 
read the PDF documentation, you need Adobe Reader version 5.0 or 
later.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide G-1


Related Documentation
APTRA Author Documentation

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

Title Format Description

APTRA Author, User’s Guide PDF Describes how to install and use the Author and 


B006‐6038 Runtime Components to design, develop and 
maintain a self‐service application.

APTRA Author Help Windows  Context‐sensitive help for the Author user interface 


Help and authoring errors.

Runtime Core Help Windows  Context‐sensitive help for the Runtime Core 


Help Authoring components and runtime errors, which 
are part of Advance Core Self‐Service.

GUI Help Windows  Context‐sensitive help for the GUI Authoring 


Help components, which are part of Advance Core 
Self‐Service.

Self‐Service Core Help Windows  Context‐sensitive help for the Self‐Service Core 


Help Authoring components, which are part of Advance 
Core Self‐Service.

ActiveX Help Windows  Context‐sensitive help for the ActiveX Authoring 


Help components and runtime errors, which are part of 
Advance Core Self‐Service.

Basic Self‐Service Help Windows  Context‐sensitive help for the Authoring components 


Help provided with Advance Basic Self‐Service.

ATM Help Windows  Context‐sensitive help for the Authoring components 


Help and runtime errors provided with Advance ATM.

Special Self‐Service Help Windows  Context‐sensitive help for the Authoring components 


Help and runtime errors provided with Advance Special 
Self‐Service.

Statement Printer Help Windows  Context‐sensitive help for the Authoring components 


Help and runtime errors provided with Advance 
Statement Printer.

Advance NDC Worker Class Help Windows  Context‐sensitive help for the Worker Classes 


Help provided in the Advance NDC Customisation Layer 
and NDC Core catalogs. Also includes 
context‐sensitive help for additional Advance NDC 
Worker Classes which are provided for inheritance 
purposes.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

G-2 APTRA Author, User’s Guide


Related Documentation
APTRA Author Documentation

Title Format Description

Advance NDC Passbook Printer Worker Class  Windows  Context‐sensitive help for the Worker Classes 


Help Help provided in the Advance NDC Passbook catalog. 
These worker classes are provided to allow users to 
develop their own passbook printer application.

Advance NDC Voice Guidance Worker Class  Windows  Context‐sensitive help for the Worker Classes 


Help Help provided in the Advance NDC Voice Guidance 
Workers catalog.

Advance NDC Application Core Worker Class  Windows  Context‐sensitive help for the Worker Classes 


Help Help provided in the Advance NDC Application Core 
catalog.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide G-3


Related Documentation
Other NCR Documentation

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

Title Format Description

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.

APTRA Advance NDC,  PDF Describes the differences between Advance NDC 


Multi‐Vendor Support  on NCR SSTs and Advance NDC on other 
Reference Manual vendors’ SSTs, and how to implement Advance 
B006‐6344 NDC in a multi‐vendor environment.

APTRA Advance NDC,  PDF Describes how to migrate to Advance NDC. It 


Developer’s Guide also identifies the functionality offered by 
B006‐6046 Advance NDC, and describes how to enhance it.

APTRA Advance NDC,  PDF  Provides information on implementing an 


Payment Application Data  Advance NDC solution in compliance with PCI 
Security Standard,  DSS/PA‐DSS
Implementation Guide
B006‐6861

APTRA Advance ADE,  PDF Describes how application programmers should 


Programmer’s Guide create their own C++ Worker Classes. It also 
B006‐6042 * contains information on using C routines to 
manipulate data.

APTRA Advance ADE,  PDF Provides application programmers with 


C++ Class Reference definitions for a number of C++ Runtime and 
B006‐6043 * Utility Worker Classes provided by NCR.

XFS Simulator for APTRA Microsoft HTML Help (CHM) Context‐sensitive help for the XFS Simulator.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

G-4 APTRA Author, User’s Guide


Table of Contents
APTRA Author GUI Reference

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.

APTRA Author, User’s Guide H-1


APTRA Author GUI Reference
Menus

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.

H-2 APTRA Author, User’s Guide


APTRA Author GUI Reference
Menus

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

Author Help Topics ‐ displays the Author’s Help Topics window


General Help ‐ displays the Author’s General Help window
Keyboard Shortcuts Help ‐ displays help on using the keyboard with the Author
About APTRA Author ‐ provides details of the Author you are using.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide H-3


APTRA Author GUI Reference
Tool Bars

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:

Table H-2 Icon Menu Function


Tool Bar Functions
File, Open

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.

H-4 APTRA Author, User’s Guide


APTRA Author GUI Reference
Tool Bars

Icon Menu Function

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.

APTRA Author, User’s Guide H-5


APTRA Author GUI Reference
Using the On-line Help

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.

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.

Table H-3 For help on ... Do the following:


Author Help
Interface 1. Select Help, General Help.
2. Select Interface.

Menus either Place the cursor over a menu item, and press <F1>.

or 1. Select Help, General Help.


2. Select Interface.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

H-6 APTRA Author, User’s Guide


APTRA Author GUI Reference
Using the On-line Help

For help on ... Do the following:

Dialog  either With a dialog box selected, select the Help button. 


boxes This gives you help on the dialog.
Note: If the dialog box is a Settings dialog and an 
Authoring component is selected in the Author, 
then the help for the component is displayed, not 
the help for the dialog.

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.

or 1. Select Help, General Help.


2. Select Dialog Boxes.

Objects 1. Select Help, General Help.


2. Select Objects.

Concepts 1. Select Help, General Help.


2. Select Concepts.

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.

Table H-4 For help on ... Do the following:


Runtime Component Help
Applications 1. Select the application icon with MB2.
2. Select Help.

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.

APTRA Author, User’s Guide H-7


APTRA Author GUI Reference
Using the On-line Help

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 
component or Solution component, such as ATM, and <x> is its 
domain number. The domain number can be one of the following:

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

H-8 APTRA Author, User’s Guide


APTRA Author GUI Reference
Using the On-line Help

● 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.
The worker help provides:
● A view of the icon

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide H-9


APTRA Author GUI Reference
Using the On-line Help

● 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

For help on the worker class help layout, select Help, Author Help Topics, 


and open the Overview help for any runtime item (for example, 
ATM). Select the worker class help layout link.
Should you want help on other topics, select Contents or Index from 
the Help menu to give you a list of available topics.
For general Windows help guidelines, select Help, General Help, and 
then Help On Using Help.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

H-10 APTRA Author, User’s Guide


Glossary

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 Application.
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
C++/CLI C++/Common Language Infrastructure. A language 
C specification from Microsoft with .NET‐specific features.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Glossary-1


Glossary

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.

Final Application An application created in the Author for delivery to 


F the runtime system.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Glossary-2 APTRA Author, User’s Guide


Glossary

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.

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.
Multi-vendor application An Advance NDC application that runs on 
SSTs that comply with release 3.0 or later of the CEN‐XFS 
specification.

NCR XFS Simulator NCR software enabling the initial testing of 


N Advance NDC applications on a development PC by simulating SST 
devices. Supports the XFS interface.

OLE Object Linking and Embedding. An architecture for enabling 
O one application to insert and access objects created in other 
applications.

PA-DSS Payment Application Data Security Standard
P
PCCM PC Communications Module. The NCR communications 
card allowing communications with a host.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Glossary-3


Glossary

PCI DSS Payment Card Industry Data Security Standard


PDF Portable Document Format.
Personas Personas is the name given to NCR’s latest range of SSTs.
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.

Runtime components Provide the Authoring components used to 


R construct a self‐service application and the SST runtime software.

Self-Service Application This is the application which runs on an SST 


S and processes all the necessary transactions.
Self-Service Support A 32‐bit open software platform supplied by 
NCR for use on SSTs.
Simulated Services Simulations of SST devices. Used instead of real 
devices when running a Test Application.
Solution Component The Core Self‐Service Runtime product contains 
a group of related software units, called Solution Components. The 
Solution Components are grouped together because they have 
interdependencies which users do not need to know about.
SP Service Provider.
STN Super Twisted Nematic. Technology for complex liquid crystal 
displays.
SST Self‐Service Terminal.
Subworker A Worker contained within a Work Group of another 
Worker, in a Worker hierarchy.

Test Application An application running on a development PC is 


T called a test application.
Timestamp The date and time when a component was last modified. 
It is used to identify and preserve the latest versions of components.
Top Worker The Worker at the top of the Worker hierarchy.

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Glossary-4 APTRA Author, User’s Guide


Glossary

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.

APTRA Author, User’s Guide Glossary-5


Glossary

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Glossary-6 APTRA Author, User’s Guide


Index

Index 0

*.mpj 2‐6, 2‐7
Symbols
Accessing methods and properties 5‐15
A Active control 5‐4
Active control worker B‐10
Active script host 5‐5, 5‐19
Active script host worker B‐10
ActiveX controls 5‐2
ActiveX sample application 5‐13
installing 2‐9
ActiveX scripting 5‐3
ActiveX workers B‐10
ActiveX workers (unsupported) B‐23
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‐12
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‐9
Approaches to team development 7‐8
distributed, concurrent team develpoment 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
APTRA Author documentation G‐2

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Index-1


Index

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‐12
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‐10
Availability indicator worker B‐6

Barcode print paragraph worker (unsupported) B‐25
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‐22
Beep controller worker B‐6
Behaviour of work groups within a director 4‐10
Benefits of APTRA Author
life cycle support 1‐2
BOP echo worker (unsupported) B‐22
BSC 3 worker (unsupported) B‐23
Build Final, performing A‐8
Burn‐in on monitor screens 4‐23, F‐2

Caller worker B‐9, B‐16
C Camera resource ID worker B‐17
Cancel collector worker B‐5

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Index-2 APTRA Author, User’s Guide


Index

Card acceptor worker B‐6, B‐17
Card capture worker B‐6
Card CIM verifier worker (unsupported) B‐24
Card ejector worker B‐6
Card reader resource ID worker B‐17
Card track reader worker B‐6, B‐17
Card track status getter worker B‐6
Card track writer worker B‐6
Card watermark verifier worker (unsupported) B‐24
Cardholder data collector worker (unsupported) B‐21
Cardholder display resource ID worker B‐17
Cash accessibility checker worker B‐24
Cash handler resource ID worker B‐17
Cash handler TI worker B‐5
Cash handling workers B‐5
Cash presenter worker B‐5
Cash purger worker B‐5
Cash stacker worker B‐16
Cassette total worker B‐5
Catalog 6‐9
creating 4‐3, 6‐10
report 7‐14
Catalogs report 7‐14
CDI stores workers B‐8
Changing the owner of a module 6‐15
Channel ID worker (unsupported) B‐21
Coin dispense worker (unsupported) B‐24
Coin Dispenser Resource ID B‐15
Coin dispenser resource ID worker B‐17
Coin dispenser TI worker B‐15
Coin dispenser workers (unsupported) B‐24
Coin initialise worker (unsupported) B‐24
Coin mix worker (unsupported) B‐24
Colour depth F‐4
Colour tool 4‐12
COM initialiser 5‐5
COM initialiser worker B‐10
Comma‐separated values file 7‐13
Common integer store worker B‐8
Common real store worker B‐8
Common string store worker B‐8
Comms buffer activator worker B‐7
Comms closer worker B‐7
Comms opener worker B‐7
Comms protocol workers B‐7
Communication between workers 3‐5, 4‐18
Communications protocol workers (unsupported) B‐23
Communications workers B‐7
Communications workers (unsupported) B‐24
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.

APTRA Author, User’s Guide Index-3


Index

Components report 7‐15
Configuration data saver worker B‐7
Connecting the flow 4‐18
Connection state worker B‐7
Consumer resource ID worker B‐17
Consumer token worker (unsupported) B‐21
Contrast F‐4
Control browser 5‐9
Co‐ordinator worker 4‐9
Copying a worker xxxiv
Copying the text worker 4‐15
CoreSelfService.mpj 4‐3, 7‐7
Counter store worker (unsupported) B‐25
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‐10
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‐7
Customisation data initialiser worker B‐7
Customisation data saver worker B‐7
CustomisationLayer.mpj 6‐2

Data entry workers B‐5
D Data formatting workers B‐8

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Index-4 APTRA Author, User’s Guide


Index

Data manipulation workers B‐7
Date worker B‐8
Dealing with exceptions A‐2
Advance NDC exceptions A‐2
Debug message sender worker B‐10
Default installation directory 2‐6
Default module 6‐5, 6‐7
Defining user procedures 5‐17
Deformatter worker B‐8
Depository workers B‐6
Depth search feature 4‐19
DES component checker worker (unsupported) B‐22
DES component holder worker (unsupported) B‐22
DES component wiper worker (unsupported) B‐22
DES component worker B‐11
DES decryptor worker (unsupported) B‐22
DES encryptor worker B‐11
DES exchanger worker B‐11
DES loader worker B‐11
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‐6
Director worker 4‐9, B‐9
behaviour of work groups within 4‐10
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‐7, 4‐3
Directory structure 2‐6
Directory types 2‐7
Disk size getter worker B‐12
Display burn‐in F‐5
Display workers B‐10
Distributed, concurrent team develpoment 7‐2
Door acceptor worker (unsupported) B‐24
Door access workers (unsupported) B‐24
Door opener worker (unsupported) B‐24
Door resource ID worker B‐17
Dynamic graphics paragraph worker (unsupported) B‐25
Dynamic logo paragraph worker (unsupported) B‐25
Dynamic logo setter worker (unsupported) B‐25

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Index-5


Index

EBCDIC to ASCII function C‐5
E EBCDIC to ASCII table C‐9
EKC workers, unsupported B‐23
Encryption Key B‐11
Encryption key collector worker (unsupported) B‐22
Encryption key worker B‐11
Encryptor identifier worker B‐11
Encryptor resource ID worker B‐17
Enhanced card reader/writer workers (unsupported) B‐24
Enumerated types 5‐20
Envelope depositor worker B‐6
Envelope depository resource ID worker B‐17
Envelope depository TI worker B‐6
Envelope dispenser resource ID worker B‐17
Envelope presenter worker B‐6
EPP delete key worker B‐11
EPP key mode initialiser worker B‐11
EPP KVV evaluator worker B‐11
EPP security Workers B‐18
Example of monitor burn‐in F‐2
Exception handling A‐2
Exit condition tester worker B‐9
Exit workers B‐9
Extended cassette type enabler worker (unsupported) B‐21
Extended operator key worker (unsupported) B‐21

Fault display workers B‐10
F FBSS passthru worker (unsupported) B‐23
File copier worker B‐10
File wiper worker B‐12
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
h10049.hlp 5‐4
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
First steps in building an application
conclusions 4‐25
FIT searcher worker B‐8

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Index-6 APTRA Author, User’s Guide


Index

FIT workers (unsupported) B‐23
Fitness getter worker B‐6
Fixed BOP text worker (unsupported) B‐22
Fixed front text 4‐5
Fixed front text worker B‐10
Fixed length field worker B‐8
Fixed operator text worker B‐16
Flow control catalog 6‐4
Flow control workers B‐9
Formatter worker B‐8
Front echo worker B‐12
Front FDK key (unsupported) B‐21
Front fixed key worker (unsupported) B‐21
Front interface resource ID worker B‐17
Front interface specifier worker B‐7
Front interface worker (unsupported) B‐21
Front kbd resource ID worker B‐17
Front key masker worker (unsupported) B‐22

Generic exit executor worker B‐9
G Generic print paragraph worker B‐17
Get action text worker B‐10
Get number of actions worker B‐10
Global directory 2‐6, 2‐7
Graphical programming environment 3‐2
Graphics print paragraph worker B‐5
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

h10049.hlp 5‐4
H Handle computer worker B‐8
Handle store worker B‐7
Hayes modem worker (unsupported) B‐23
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‐23
How do I prevent monitor burn‐in? F‐3
How workers communicate 4‐18
connecting the flow 4‐18

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Index-7


Index

IBM PIN verifier worker B‐11
I Implementing screen maintenance techniques F‐3
Importing a project 7‐13
In transit worker 6‐14
Incrementing install counts 2‐4
Indicator workers B‐6
Information on obtaining help H‐9
Initialisation vector worker (unsupported) B‐22
Install number A‐5
Installing the ActiveX sample application 2‐9
Integer computer worker B‐8
Integer signaller 5‐5
Integer signaller worker B‐9, B‐10
Integer store worker B‐7
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‐5
J Journal page worker B‐5
Journal printer resource ID worker B‐17
Journal security trace generator worker B‐10

Keyboard beep setter worker (unsupported) B‐22
K
Language setter worker B‐12
L Last command getter worker B‐12
Last response type getter worker B‐12
Last tcode getter worker B‐12
Library files A‐9
Life cycle support 1‐2
Linked FIT loader worker (unsupported) B‐23
Listener worker B‐9
Logo print paragraph worker (unsupported) B‐25
Logo setter worker (unsupported) B‐22

MACer worker B‐11
M main_prj.mpj D‐9
MCRW resource ID worker B‐17
MCRW TI worker B‐6
Media entry indicator worker (unsupported) B‐21
Menu bar (Author) 4‐1
Menus H‐2
Message handling workers B‐9
Message receiver worker B‐7
Message sender worker B‐7
Miscellaneous workers B‐12
Modified workers B‐13

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Index-8 APTRA Author, User’s Guide


Index

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 xxxiv
MB2 xxxiv
Move a module 6‐17
Moving a worker xxxiv
Multi lingual file name worker B‐12
Multi lingual picture displayer worker B‐12
Multi lingual resource string worker B‐12
Multiple result work groups 5‐19
Multi‐Vendor implementations xxxiii

NCR EJ copy worker B‐5
N NDC application terminator worker B‐12
NDC cardholder data collector worker B‐4
NDC close state executor worker B‐12
NDC command reject message build worker B‐10
NDC comms connection ID worker B‐16
NDC comms connection worker B‐22
NDC configuration info builder worker B‐9
NDC counters builder worker B‐9
NDC DES loader worker B‐11
NDC device status message worker B‐9
NDC dialup worker B‐4
NDC echo worker B‐4
NDC EKC initialiser worker (unsupported) B‐23
NDC EKC tamper clear worker (unsupported) B‐23
NDC EPP delete key worker B‐11
NDC EPP initialiser worker B‐18
NDC EPP key mode initialiser worker B‐18
NDC EPP KVV evaluator worker B‐18
NDC error log builder worker B‐9
NDC export encryptor data worker B‐15
NDC field worker B‐12
NDC fitness data builder worker B‐9
NDC hallmark key builder worker (unsupported) B‐23
NDC hallmark key verifier worker (unsupported) B‐23
NDC hardware config builder worker B‐9

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Index-9


Index

NDC import RSA key worker B‐15
NDC message receiver worker B‐7
NDC message sender worker B‐7
NDC message validator worker B‐10
NDC PIN collector worker B‐11
NDC print footer worker B‐5
NDC print immediate handler worker B‐5
NDC processing state executor worker B‐9
NDC ready 9/B message builder worker B‐9
NDC RSA import DES key worker B‐15
NDC screen displayer worker B‐10
NDC sensors status builder worker B‐9
NDC supplies data builder worker B‐9
NDC tally builder worker B‐10
NDC terminal state message build worker B‐9
NDC timeout state executor worker B‐9
NDC transaction handle worker B‐9
New workers in Advance NDC B‐2
Night safe closer worker B‐11
Night safe depositor worker B‐11
Night safe resource ID worker B‐17
Night safe workers B‐11
Note definitions builder worker B‐9
Note initialiser worker B‐5
Note mixer worker (unsupported) B‐25
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‐24
Offline worker (unsupported) B‐24
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‐8
Operator display resource ID worker B‐17
Operator echo worker B‐16
Operator kbd resource ID worker B‐17
Operator key masker worker (unsupported) B‐22
Operator key worker B‐16
Optical effects F‐4
Other NCR documentation G‐4
Ownership
component ID 6‐10
module 6‐5
timestamp 7‐11
user ID 6‐10

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Index-10 APTRA Author, User’s Guide


Index

Passbook printer
P modified worker classes B‐19
Pass‐thru worker B‐9
PC directory structure 2‐6
directory types 2‐7
PCI DSS/PA‐DSS xxxiii, D‐1
Performing a module copy 5‐11
Persistence wiper worker B‐8
Persistent and sharable stores workers B‐8
Persistent integer store worker B‐8
Persistent real store worker B‐8
Persistent string store worker B‐8
Picture displayer worker B‐12
PIN block encryptor worker B‐11
PIN collector worker (unsupported) B‐22
PIN length adjuster worker B‐16
PIN retries updater worker B‐11
Print paragraph worker B‐5
Printer code page definer worker (unsupported) B‐25
Printer workers B‐5
Printer workers (unsupported) B‐25
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‐8
Real store worker B‐7
Rear interface resource ID worker B‐17
Rear interface specifier worker B‐7
Rear interface worker (unsupported) B‐21
Receipt printer resource ID worker B‐17
Recommended guidelines for developing applications D‐2
Register trace generator worker B‐10
registry.scr 2‐7

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Index-11


Index

Removing user IDs with the user ID utility 2‐5
Replaced workers B‐21
Reports
catalogs report 7‐14
components report 7‐15
module ownership report 7‐16
workers report 7‐13
Reserved screen retriever worker B‐10
Reserved user IDs E‐2
Resource allocator worker B‐23
Resource identifier workers B‐17
Resource management workers B‐6
Resource management workers (unsupported) B‐23
Resource monitor worker B‐23
Resource negotiator worker B‐23
Resource releaser worker B‐23
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‐22
S S4 message sender worker (unsupported) B‐23
Sample host application 5‐14
Screen display worker B‐12
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‐4
Secure workers B‐2
Security workers B‐11
Security workers, unsupported B‐22
Selector worker B‐9
Self‐service application development life‐cycle 1‐2
Separator field worker B‐8
Set media entry indicator frequency worker B‐6
Setter worker B‐8
Setting the properties of components 4‐5
Sharable integer store worker B‐8
Sharable real store worker B‐8

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Index-12 APTRA Author, User’s Guide


Index

Sharable string store worker B‐8
Sharing a timer worker 4‐15
Sharing a worker 4‐8
Sharing workers xxxiv
Sideways receipt page worker (unsupported) B‐25
Signals available from a worker 4‐16
Signals worker 4‐16
SM token worker (unsupported) B‐21
Smart card connect worker (unsupported) B‐24
Smart card direct worker (unsupported) B‐24
Smart card disconnect worker (unsupported) B‐24
Smart card resource ID worker B‐17
SMS Data Collector B‐2
SNA 3624 worker (unsupported) B‐23
SNA X.25 QLLC worker (unsupported) B‐23
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‐9
Statement capture worker B‐11
Statement ejector worker B‐11
Statement page worker (unsupported) B‐11
Statement printer resource ID worker B‐17
Statement printer workers B‐11
Status activator worker B‐7
Status getter worker B‐7
Status handling workers B‐7
String computer worker B‐8
String store worker B‐7
Structure worker B‐8
Stubbed workers B‐21
sub_prj.mpj D‐9
Summary on modules 6‐19
Supervisor data collector worker B‐16
Supervisor exit executor worker B‐9
Supervisor gateway worker B‐7
Supervisor gone worker B‐7
Supervisor interface getter worker B‐7
Supervisor present worker B‐7
Supervisor workers B‐7
Supplies data formatter worker B‐8
Supported workers in Advance NDC B‐5
Synchroniser worker B‐9
System escapes A‐2
System menu worker B‐7

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Index-13


Index

Take picture worker B‐15
T TCP/IP comms connection ID worker (unsupported) B‐22
Terminal suspend worker B‐6
Test window menu options 4‐23
Tester worker B‐8
Time worker B‐8
Timer worker 4‐14, 4‐17, B‐9
Timestamp on components 7‐11
Tool bars H‐4
Top worker 4‐9
Touch key worker B‐12
Tr reply function worker B‐9
Trace activator worker B‐12
Trace workers B‐10
Trace workers, unused B‐12
Track 1 decomposer worker B‐6
Training xxxiii
Transaction request state worker B‐9
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‐5
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‐21
Unsupported workers, miscellaneous B‐25
Unused workers B‐12
UPS worker B‐4
User CDI stores worker B‐8
User directory 5‐11
User ID file 2‐3, A‐5
User ID utility 2‐3–2‐5
User IDs

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Index-14 APTRA Author, User’s Guide


Index

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‐12
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‐22
V Variable front text worker B‐12
Variable length binary field worker B‐12
Variable length character field worker B‐12
Variable operator text worker B‐16
Variable timer worker B‐9
Variant store 5‐5
Variant store worker B‐10
Video player worker B‐12
View only 7‐8
VISA PIN Verifier B‐11

Web event monitor 5‐6
W Web event monitor worker B‐10
Web page loader 5‐6
Web page loader worker B‐10
welcome1.htm 5‐8
welcome2.htm 5‐8
wfactory.dll A‐8
What is monitor burn‐in? F‐2
White papers in Advance NDC C‐2
Work flow, creating 4‐18
Work group, creating 4‐15
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 xxxiv
creating 6‐11
finding 4‐4
integer signaller 5‐5
modified in Advance NDC B‐13
moving xxxiv
new in Advance NDC B‐2
report 7‐13
sharing xxxiv, 4‐8

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

APTRA Author, User’s Guide Index-15


Index

supported in Advance NDC B‐5
transferring ownership of 6‐12
types of 3‐6, 4‐9
unsupported in Advance NDC B‐21
unused in Advance NDC B‐12
variant store 5‐5
web event monitor 5‐6
web page loader 5‐6
Workers report 7‐13
Workers, miscellaneous unsupported B‐25
Workforce 3‐1
Working directory 2‐7, A‐9
Workspace 4‐1

X.25 LAPb worker (unsupported) B‐23
X XFS front FDK worker B‐4
XFS front key worker B‐4
XFS key worker B‐4
XModem worker (unsupported) B‐23

Confidential and proprietary information of NCR.
Unauthorised use, reproduction and/or distribution is strictly prohibited.

Index-16 APTRA Author, User’s Guide


User Feedback Form

Title: APTRA™ Author, User’s Guide
Number: B006‐6038‐K000 Release: Issue 1 Date: Jun 2009

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  
Web (within firewall) ‐ http://www.dundee.ncr.com/infoprod/rcomment/newform/webform99.htm

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

NCR Financial Solutions Group Ltd


Information Solutions Feedback
Discovery Centre
3 Fulton Road
Dundee, Scotland
DD2 4SW