com.ibm.retail.AEF.automation
Interface POSAutomationProvider

All Superinterfaces:
java.rmi.Remote

public interface POSAutomationProvider
extends java.rmi.Remote

POSAutomationProvider is an interface which encapsulates the automation APIs for a POS Application and makes it available to remote clients.


Field Summary
static java.lang.String AGE_RESTRICT
          A property which may be used to control whether the AEF will allow age restricted items to be added to the transaction.
static java.lang.String AUTO_MGR_OVERRIDE
          A property which may be used to control whether the AEF automatically performs manager overrides.
static java.lang.String AUTO_OPR_OVERRIDE
          A property which may be used to control whether the AEF automatically performs operator overrides.
static java.lang.String AUTO_TILL_EXCHANGE
          A property which determines whether the error handler will automatically perform a till exchange when prompted by the POS application.
static java.lang.String ERROR_HANDLING_MODE
          A property which determines how the AEF deals with application errors and prompts.
static int HANDLE_AUTOMATIC
           
static int HANDLE_CALLBACK
           
static int HANDLE_DEFAULT
           
static java.lang.String MAX_ERRORS_TO_HANDLE
          A property which determines how many sequential application errors should be handled by the AEF.
static java.lang.String MGR_OVERRIDE_NUMBER
          A property which contains the manager override number used for automatic overrides.
static int SIGNON
           
static int START_TRANSACTION
           
 
Method Summary
 void cancelOverride()
          Cancel an override in the POS Application.
 void forceLogoff()
          Logs an operator off the POS Application even if a transaction is in progress.
 com.ibm.retail.AEF.util.AEFErrorCallback getCallback()
          Get the Callback object for the automation provider.
 int getErrorHandlingMode()
          Get the Error Handling Mode for this application.
 int getMaxErrorToHandle()
          Gets the maximum number of errors that the error handler will try to clear.
 com.ibm.retail.AEF.automation.Operator getOperator()
          Returns the currently logged on operator.
 java.lang.String getProperty(java.lang.String property)
          Gets the value of a configuration property within the automation provider.
 com.ibm.retail.AEF.session.AEFSession getSession()
          Gets the AEFSession for this instance.
 java.lang.String getTerminalNumber()
          Retrieves the terminal number of the application.
 boolean getTrainingMode()
          Determines if the terminal is in training mode.
 com.ibm.retail.AEF.automation.Transaction getTransaction()
          Retrieves a transaction that was already in progress.
 void initialize(int initialState)
          Initialize the application to a known state (either signon, or start of a regular sales transaction).
 void logoff()
          Logs an operator off the POS Application.
 com.ibm.retail.AEF.automation.Operator logon()
          Logs an operator onto the POS application using the default id and password defined in applogon.properties for this virtual terminal.
 com.ibm.retail.AEF.automation.Operator logon(com.ibm.retail.AEF.automation.OperatorIdentifier operatorId)
          Logs an operator onto the POS Application.
 com.ibm.retail.AEF.automation.Operator logon(java.lang.String operatorID, java.lang.String password)
          Logs an operator onto the POS Application.
 void managerOverride()
          Send a manager override to the POS Application using the default manager number specified by the default manager override number property POSAutomationProvider.MGR_OVERRIDE_NUMBER.
 void managerOverride(java.lang.String password)
          Send a manager override to the POS Application.
 void operatorOverride(java.lang.String password)
          Send an operator override to the POSAutomationProvider.
 java.lang.Object performAction(com.ibm.retail.AEF.automation.ActionRequest request)
          Perform an action specified by an ActionRequest.
 void registerCallback(com.ibm.retail.AEF.util.AEFErrorCallback callback)
          Set the AEFErrorCallback object for the automation provider.
 com.ibm.retail.AEF.automation.SuspendedTransactionInfo[] retrieveSuspendedTransactionList()
          Retrieves a list of suspended transaction info objects for all terminals returned, sorted by terminal number.
 com.ibm.retail.AEF.automation.SuspendedTransactionInfo[] retrieveSuspendedTransactionList(int termNumber)
          Retrieves a list of suspended transaction info objects for a given terminal
 com.ibm.retail.AEF.automation.Transaction retrieveTransaction(int termNumber, int transNumber)
          Retrieves a suspended transaction by terminal and transaction number.
 void setOperator(com.ibm.retail.AEF.automation.Operator operator)
          Sets the currently logged on operator.
 void setProperty(java.lang.String[] properties, java.lang.String[] values)
          Sets multiple configuration property values within the automation provider.
 void setProperty(java.lang.String property, java.lang.String value)
          Sets a configuration property within the automation provider.
 void setTrainingMode(boolean trainingMode)
          Sets the training mode based on the trainingMode parameter.
 void setTransaction(com.ibm.retail.AEF.automation.Transaction trans)
          Sets the transaction in progress.
 com.ibm.retail.AEF.automation.SalesTransaction startTransaction()
          Start a regular sale transaction.
 com.ibm.retail.AEF.automation.Transaction startTransaction(com.ibm.retail.AEF.automation.TransactionIdentifier transID)
          Start a transaction of the requested type.
 com.ibm.retail.AEF.automation.Transaction suspendCurrentTransaction()
          Suspends the transaction in progress.
 com.ibm.retail.AEF.automation.Transaction suspendCurrentTransaction(java.lang.String reasonCode)
          Suspends the transaction in progress.
 void voidCurrentTransaction()
          Voids the transaction currently in progress.
 

Field Detail

AUTO_MGR_OVERRIDE

public static final java.lang.String AUTO_MGR_OVERRIDE
A property which may be used to control whether the AEF automatically performs manager overrides. Use the setProperty method to set this property true or false. Default value is defined in automation.properties.

See Also:
Constant Field Values

MGR_OVERRIDE_NUMBER

public static final java.lang.String MGR_OVERRIDE_NUMBER
A property which contains the manager override number used for automatic overrides. Use the setProperty method to set this property value. Default value is defined in appautomation.properties.

See Also:
Constant Field Values

AUTO_OPR_OVERRIDE

public static final java.lang.String AUTO_OPR_OVERRIDE
A property which may be used to control whether the AEF automatically performs operator overrides. Use the setProperty method to set this property true or false. Default value is defined in appautomation.properties.

See Also:
Constant Field Values

AGE_RESTRICT

public static final java.lang.String AGE_RESTRICT
A property which may be used to control whether the AEF will allow age restricted items to be added to the transaction. If true, the AEF will attempt to answer any age verification automatically. Use the setProperty method to set this property true or false. Default value is defined in appautomation.properties.

See Also:
Constant Field Values

ERROR_HANDLING_MODE

public static final java.lang.String ERROR_HANDLING_MODE
A property which determines how the AEF deals with application errors and prompts. May be set to POSAutomationProvider.HANDLE_AUTOMATIC or POSAutomationProvider.HANDLE_DEFAULT. In AUTOMATIC mode, the AEF will attempt to complete the automation call by clearing any errors and handling any prompts where possible. This mode is intended for use in an environment where there is no cashier present. In DEFAULT mode, the AEF will pause at errors and prompts to allow the operator to clear or provide the required input. Default value is defined in appautomation.properties.

See Also:
Constant Field Values

MAX_ERRORS_TO_HANDLE

public static final java.lang.String MAX_ERRORS_TO_HANDLE
A property which determines how many sequential application errors should be handled by the AEF. The maximum number of errors will keep the automation provider from waiting indefinitely to complete an automation API if the application is in an error loop. Default value is defined in appautomation.properties.

See Also:
Constant Field Values

AUTO_TILL_EXCHANGE

public static final java.lang.String AUTO_TILL_EXCHANGE
A property which determines whether the error handler will automatically perform a till exchange when prompted by the POS application.

See Also:
Constant Field Values

HANDLE_AUTOMATIC

public static final int HANDLE_AUTOMATIC
See Also:
Constant Field Values

HANDLE_DEFAULT

public static final int HANDLE_DEFAULT
See Also:
Constant Field Values

HANDLE_CALLBACK

public static final int HANDLE_CALLBACK
See Also:
Constant Field Values

SIGNON

public static final int SIGNON
See Also:
Constant Field Values

START_TRANSACTION

public static final int START_TRANSACTION
See Also:
Constant Field Values
Method Detail

logon

public com.ibm.retail.AEF.automation.Operator logon(com.ibm.retail.AEF.automation.OperatorIdentifier operatorId)
                                             throws java.rmi.RemoteException,
                                                    AEFException
Logs an operator onto the POS Application.

Action ID = LogonAction

Parameters:
operatorId - The identifier containing the logon arguments.
Returns:
Operator
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CASH_DRAWER_ERROR, AEFConst.NONE_AVAILABLE
AEFConst.INVALID_ARGUMENT, AEFConst.ID_REQUIRED
AEFConst.INVALID_ARGUMENT, AEFConst.INVALID_ID
AEFConst.INVALID_ARGUMENT, AEFConst.INVALID_PASSWORD
AEFConst.INVALID_ARGUMENT, AEFConst.NEW_PASSWORD_PROHIBITED
AEFConst.INVALID_ARGUMENT, AEFConst.PASSWORD_REQUIRED
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED, AEFConst.NONE
AEFConst.PASSWORD_EXPIRED, AEFConst.NONE
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.ANOTHER_OPERATOR_SIGNED_ON
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.CLOSING_ACCOUNTING_PERIOD
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.OPERATOR_ALREADY_ACTIVE
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

logon

public com.ibm.retail.AEF.automation.Operator logon(java.lang.String operatorID,
                                                    java.lang.String password)
                                             throws java.rmi.RemoteException,
                                                    AEFException
Logs an operator onto the POS Application.

Action ID = LogonAction

Parameters:
operatorID - The ID assigned to the operator in the POS application.
password - The password corresponding to the operator. Use a null or empty string if the password is not required.
Returns:
Operator
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CASH_DRAWER_ERROR, AEFConst.NONE_AVAILABLE
AEFConst.INVALID_ARGUMENT, AEFConst.ID_REQUIRED
AEFConst.INVALID_ARGUMENT, AEFConst.INVALID_ID
AEFConst.INVALID_ARGUMENT, AEFConst.INVALID_PASSWORD
AEFConst.INVALID_ARGUMENT, AEFConst.PASSWORD_REQUIRED
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED, AEFConst.NONE
AEFConst.PASSWORD_EXPIRED, AEFConst.NONE
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.ANOTHER_OPERATOR_SIGNED_ON
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.CLOSING_ACCOUNTING_PERIOD
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.OPERATOR_ALREADY_ACTIVE
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

logon

public com.ibm.retail.AEF.automation.Operator logon()
                                             throws java.rmi.RemoteException,
                                                    AEFException
Logs an operator onto the POS application using the default id and password defined in applogon.properties for this virtual terminal.

Action ID = LogonAction

Returns:
Operator
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CASH_DRAWER_ERROR, AEFConst.NONE_AVAILABLE
AEFConst.CONFIG_ERROR, AEFConst.NO_DEFAULT_ID_CONFIGURED
AEFConst.INVALID_ARGUMENT, AEFConst.INVALID_ID
AEFConst.INVALID_ARGUMENT, AEFConst.INVALID_PASSWORD
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED, AEFConst.NONE
AEFConst.PASSWORD_EXPIRED, AEFConst.NONE
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.ANOTHER_OPERATOR_SIGNED_ON
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.CLOSING_ACCOUNTING_PERIOD
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.OPERATOR_ALREADY_ACTIVE
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

getOperator

public com.ibm.retail.AEF.automation.Operator getOperator()
                                                   throws java.rmi.RemoteException
Returns the currently logged on operator.

Returns:
Operator
Throws:
java.rmi.RemoteException

setOperator

public void setOperator(com.ibm.retail.AEF.automation.Operator operator)
                 throws java.rmi.RemoteException
Sets the currently logged on operator.

Throws:
java.rmi.RemoteException

getTerminalNumber

public java.lang.String getTerminalNumber()
                                   throws java.rmi.RemoteException
Retrieves the terminal number of the application.

Returns:
String The terminal number of the application.
Throws:
java.rmi.RemoteException

initialize

public void initialize(int initialState)
                throws java.rmi.RemoteException,
                       AEFException
Initialize the application to a known state (either signon, or start of a regular sales transaction). The framework will perform the following steps:
1. Clear any error conditions.
2. Void any transactions in progress.
3. Signoff if requested state is signon.
4. Start a regular transaction if requested state is start transaction.

Action ID = InitializeAction

Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CASH_DRAWER_ERROR, AEFConst.NONE_AVAILABLE
AEFConst.INVALID_ARGUMENT, AEFConst.INVALID_INITIALIZE_STATE
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.CLOSING_ACCOUNTING_PERIOD
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NONE
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

setProperty

public void setProperty(java.lang.String property,
                        java.lang.String value)
                 throws java.rmi.RemoteException,
                        AEFException
Sets a configuration property within the automation provider. Supported properties are determined in the automation.properties file.

Parameters:
property - The property name to set.
value - The property value.
Throws:
java.rmi.RemoteException
AEFException - AEFException error codes are:
AEFConst.PROPERTY_NOT_SUPPORTED
AEFConst.INVALID_PROPERTY_VALUE

setProperty

public void setProperty(java.lang.String[] properties,
                        java.lang.String[] values)
                 throws java.rmi.RemoteException,
                        AEFException
Sets multiple configuration property values within the automation provider. Supported properties are determined in the automation.properties file.

Parameters:
properties - An array of property names.
values - An array of property values.
Throws:
java.rmi.RemoteException
AEFException - AEFException error codes are:
AEFConst.INVALID_ARGUMENT
AEFConst.PROPERTY_NOT_SUPPORTED
AEFConst.INVALID_PROPERTY_VALUE

getProperty

public java.lang.String getProperty(java.lang.String property)
                             throws java.rmi.RemoteException,
                                    AEFException
Gets the value of a configuration property within the automation provider. Supported properties are determined in automation.properties.

Parameters:
property - The property name to get.
Returns:
String The property value.
Throws:
java.rmi.RemoteException
AEFException - AEFException error codes are:
AEFConst.PROPERTY_NOT_SUPPORTED

logoff

public void logoff()
            throws java.rmi.RemoteException,
                   AEFException
Logs an operator off the POS Application. Will generate an exception if a transaction is in progress.

Action ID = LogoffAction

Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CASH_DRAWER_ERROR, AEFConst.NONE_AVAILABLE
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.CLOSING_ACCOUNTING_PERIOD
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NONE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_IN_PROGRESS
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

forceLogoff

public void forceLogoff()
                 throws java.rmi.RemoteException,
                        AEFException
Logs an operator off the POS Application even if a transaction is in progress. If transaction is in progress, it is voided prior to logging off.

Action ID = ForcedLogoffAction

Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CASH_DRAWER_ERROR, AEFConst.NONE_AVAILABLE
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.CLOSING_ACCOUNTING_PERIOD
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NONE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.PAYMENT_SYSTEM_OFFLINE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_CANNOT_BE_VOIDED
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

startTransaction

public com.ibm.retail.AEF.automation.Transaction startTransaction(com.ibm.retail.AEF.automation.TransactionIdentifier transID)
                                                           throws java.rmi.RemoteException,
                                                                  AEFException
Start a transaction of the requested type.

Action ID = StartTransaction

Note that some POS applications (such as IBM's Supermarket Application) will not actually start a transaction until the first item is sold. This API will return a transaction object, but the transaction id and date/time in the TransactionInfo object will be null until the first item is sold.

Parameters:
transID - A transaction Identifier that describes the type of transaction to be started.
Throws:
java.rmi.RemoteException
AEFException. - Among the possible AEFException error codes are:
AEFConst.CASH_DRAWER_ERROR, AEFConst.CLOSE_DRAWER
AEFConst.INVALID_ARGUMENT, AEFConst.INVALID_TRANSACTION_TYPE
AEFConst.INVALID_ARGUMENT, AEFConst.NONE
AEFConst.INVALID_ARGUMENT, AEFConst.TRANSACTION_TYPE_REQUIRED
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.CLOSING_ACCOUNTING_PERIOD
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NONE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NOT_ALLOWED_TRAINING
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TILL_EXCHANGE_NEEDED
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_ALREADY_IN_PROGRESS
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors
AEFException

startTransaction

public com.ibm.retail.AEF.automation.SalesTransaction startTransaction()
                                                                throws java.rmi.RemoteException,
                                                                       AEFException
Start a regular sale transaction.

Action ID = StartTransaction

Note that some POS applications (such as IBM's Supermarket Application) will not actually start a transaction until the first item is sold. This API will return a transaction object, but the transaction id and date/time in the TransactionInfo object will be null until the first item is sold.

Returns:
SalesTransaction The SalesTransaction object which was started.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CASH_DRAWER_ERROR, AEFConst.CLOSE_DRAWER
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.CLOSING_ACCOUNTING_PERIOD
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TILL_EXCHANGE_NEEDED
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_ALREADY_IN_PROGRESS
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

getTransaction

public com.ibm.retail.AEF.automation.Transaction getTransaction()
                                                         throws java.rmi.RemoteException
Retrieves a transaction that was already in progress.

Returns:
Transaction The Transaction already in progress. If no transaction in progress, returns a null.
Throws:
java.rmi.RemoteException

setTransaction

public void setTransaction(com.ibm.retail.AEF.automation.Transaction trans)
                    throws java.rmi.RemoteException
Sets the transaction in progress. This method is intended to be called by the TransactionDetector.

Throws:
java.rmi.RemoteException

retrieveTransaction

public com.ibm.retail.AEF.automation.Transaction retrieveTransaction(int termNumber,
                                                                     int transNumber)
                                                              throws java.rmi.RemoteException,
                                                                     AEFException
Retrieves a suspended transaction by terminal and transaction number.

Action ID = RetrieveTransaction

Parameters:
termNumber - Terminal number
transNumber - Transaction number to retrieve.
Returns:
Transaction The suspended transaction.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.INVALID_ARGUMENT, AEFConst.NONE
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NONE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NO_SUCH_SUSPENDED_TRANSACTION
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NOT_ALLOWED_TRAINING
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.PICKUP_NEEDED
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.RETRIEVE_TRANSACTION_WHERE_SUSPENDED
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.SAME_OPERATOR_MUST_RETRIEVE_TRANSACTION
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TILL_EXCHANGE_NEEDED
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_ALREADY_IN_PROGRESS
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_ALREADY_RETRIEVED
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.UNABLE_TO_RETRIEVE_TRANSACTION
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

suspendCurrentTransaction

public com.ibm.retail.AEF.automation.Transaction suspendCurrentTransaction(java.lang.String reasonCode)
                                                                    throws AEFException,
                                                                           java.rmi.RemoteException
Suspends the transaction in progress.

Action ID = SuspendTransaction

Parameters:
reasonCode - The reason for the transaction being suspended.
Returns:
Transaction The retrieved transaction.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.APPLICATION_LIMIT_EXCEEDED, SUSPENDED_TRANSACTION_LIMIT
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.INVALID_ARGUMENT, AEFConst.REASON_CODE_PROHIBITED
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.HOST_REQUEST_PENDING
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NONE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_NOT_ACTIVE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.VALUE_CARDS_MUST_BE_VOIDED
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

suspendCurrentTransaction

public com.ibm.retail.AEF.automation.Transaction suspendCurrentTransaction()
                                                                    throws AEFException,
                                                                           java.rmi.RemoteException
Suspends the transaction in progress.

Action ID = SuspendTransaction

Returns:
Transaction The retrieved transaction.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.APPLICATION_LIMIT_EXCEEDED, SUSPENDED_TRANSACTION_LIMIT
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.MANAGER_OVERRIDE_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.HOST_REQUEST_PENDING
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NONE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_NOT_ACTIVE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.VALUE_CARDS_MUST_BE_VOIDED
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

retrieveSuspendedTransactionList

public com.ibm.retail.AEF.automation.SuspendedTransactionInfo[] retrieveSuspendedTransactionList()
                                                                                          throws java.rmi.RemoteException,
                                                                                                 AEFException
Retrieves a list of suspended transaction info objects for all terminals returned, sorted by terminal number.

Action ID = RetrieveSuspendedTransactionList

Returns:
SuspendedTransactionInfo[] An array of SuspendedTransactionInfo objects.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE

retrieveSuspendedTransactionList

public com.ibm.retail.AEF.automation.SuspendedTransactionInfo[] retrieveSuspendedTransactionList(int termNumber)
                                                                                          throws java.rmi.RemoteException,
                                                                                                 AEFException
Retrieves a list of suspended transaction info objects for a given terminal

Parameters:
termNumber - Terminal number
Returns:
SuspendedTransactionInfo[] An array of SuspendedTransactionInfo objects.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE

operatorOverride

public void operatorOverride(java.lang.String password)
                      throws java.rmi.RemoteException,
                             AEFException
Send an operator override to the POSAutomationProvider. Operator overrides apply to the current operator.

Action ID = OperatorOverrideAction

Parameters:
password - The operator override password. Use null or an empty string if the password is not required by the POS application.
Throws:
java.rmi.RemoteException
AEFException - AEFException error codes are:
AEFConst.APPLICATION_NOT_IN_PROPER_STATE, AEFConst.APPLICATION_NOT_IN_PROPER_SUBSTATE
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

managerOverride

public void managerOverride(java.lang.String password)
                     throws java.rmi.RemoteException,
                            AEFException
Send a manager override to the POS Application.

Action ID = ManagerOverrideAction

Parameters:
password - The manager override number.
Throws:
java.rmi.RemoteException
AEFException - AEFException error codes are:
AEFConst.APPLICATION_NOT_IN_PROPER_STATE, AEFConst.APPLICATION_NOT_IN_PROPER_SUBSTATE
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.DEVICE_HOOK_ERROR, AEFConst.NONE
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.JAVA_POS_EXCEPTION, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

managerOverride

public void managerOverride()
                     throws java.rmi.RemoteException,
                            AEFException
Send a manager override to the POS Application using the default manager number specified by the default manager override number property POSAutomationProvider.MGR_OVERRIDE_NUMBER.

Action ID = ManagerOverrideAction

Throws:
java.rmi.RemoteException
AEFException - AEFException error codes are:
AEFConst.APPLICATION_NOT_IN_PROPER_STATE, AEFConst.APPLICATION_NOT_IN_PROPER_SUBSTATE
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.CONFIG_ERROR, AEFConst.NO_DEFAULT_MANAGER_OVERRIDE_PASSWORD
AEFConst.DEVICE_HOOK_ERROR, AEFConst.NONE
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.JAVA_POS_EXCEPTION, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

cancelOverride

public void cancelOverride()
                    throws java.rmi.RemoteException,
                           AEFException
Cancel an override in the POS Application.

Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

voidCurrentTransaction

public void voidCurrentTransaction()
                            throws java.rmi.RemoteException,
                                   AEFException
Voids the transaction currently in progress.

Action ID = VoidTransaction

Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.INVALID_MANAGER_OVERRIDE_NUMBER, AEFConst.NONE
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NONE
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.TRANSACTION_NOT_ACTIVE
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

performAction

public java.lang.Object performAction(com.ibm.retail.AEF.automation.ActionRequest request)
                               throws java.rmi.RemoteException,
                                      AEFException
Perform an action specified by an ActionRequest. This API is meant to be used in situation where the more specific APIs are not sufficient for the necessary function. In this case, the developer writes an action class and requests the action to be performed.

Returns:
Object An object returned from the action.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.INVALID_ACTION_REQUEST

getSession

public com.ibm.retail.AEF.session.AEFSession getSession()
                                                 throws java.rmi.RemoteException
Gets the AEFSession for this instance.

Returns:
AEFSession
Throws:
java.rmi.RemoteException

getErrorHandlingMode

public int getErrorHandlingMode()
                         throws java.rmi.RemoteException,
                                AEFException
Get the Error Handling Mode for this application. The options are:
  1. HANDLE_AUTOMATIC which means that the error helper will send all the key strokes needed to get aroun the error
  2. HANDLE_DEFAULT which means that the error helper will monitor the system and wait for the application to get to the correct state/substate. This would more than likely be the result of the operator performing some action on the system.
  3. HANDLE_CALLBACK which means that the error helper will make a call back to the calling application and wait for data or instructions.

Returns:
int POSAutomationProvider.HANDLE_AUTOMATIC, POSAutomationProvider.HANDLE_DEFAULT, or POSAutomationProvider.HANDLE_CALLBACK.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.PROPERTY_NOT_SUPPORTED
Common Errors

registerCallback

public void registerCallback(com.ibm.retail.AEF.util.AEFErrorCallback callback)
                      throws java.rmi.RemoteException
Set the AEFErrorCallback object for the automation provider. The AEFErrorCallback object will be used when the error handling mode is set to HANDLE_CALLBACK. In this mode, the callback will be used when additional data is needed to complete the POS operation. For example, when a SalesTransaction.addItem call requires the operator to enter a date of birth.

Parameters:
callback - An object which implements the com.ibm.retail.AEF.util.AEFErrorCallback interface.
Throws:
java.rmi.RemoteException

getCallback

public com.ibm.retail.AEF.util.AEFErrorCallback getCallback()
                                                     throws java.rmi.RemoteException
Get the Callback object for the automation provider.

Returns:
AEFErrorCallback An object which implements the com.ibm.retail.AEF.util.AEFErrorCallback interface.
Throws:
java.rmi.RemoteException

getMaxErrorToHandle

public int getMaxErrorToHandle()
                        throws java.rmi.RemoteException,
                               AEFException
Gets the maximum number of errors that the error handler will try to clear.

Returns:
int The maximum number of errors that the error handler should try to clear.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.PROPERTY_NOT_SUPPORTED

setTrainingMode

public void setTrainingMode(boolean trainingMode)
                     throws java.rmi.RemoteException,
                            AEFException
Sets the training mode based on the trainingMode parameter.

Action ID = TrainingModeOn or TrainingModeOff

Parameters:
trainingMode - If true the terminal is put into training mode. If false the terminal will be taken out of training mode.
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.CONFIG_ERROR, AEFConst.FACTORY_ERROR
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_NOT_REMOVED
AEFConst.KEYLOCK_ERROR, AEFConst.MANAGER_KEY_REQUIRED
AEFConst.POS_APP_FAILURE, AEFConst.FILE_IO_ERROR
AEFConst.POS_APP_FAILURE, AEFConst.UNRECOGNIZED_PRINT_CHARACTERS
AEFConst.PRINTER_ERROR, AEFConst.COVER_OPEN
AEFConst.PRINTER_ERROR, AEFConst.NONE
AEFConst.PRINTER_ERROR, AEFConst.PAPER_LOW
AEFConst.PROCEDURE_NOT_ALLOWED, AEFConst.NOT_ALLOWED_TRAINING
AEFConst.UNCHECKED_EXCEPTION, AEFConst.NONE
Common Errors

getTrainingMode

public boolean getTrainingMode()
                        throws java.rmi.RemoteException
Determines if the terminal is in training mode.

Returns:
boolean True if the terminal is in training mode. False if the terminal is not in training mode.
Throws:
java.rmi.RemoteException


Copyright © 2004 IBM. All Rights Reserved.
Generated: July 19 2004