2
RE2211: IBM SurePOS™ ACE Programming What You Should Know About V6 RE2211: IBM SurePOS™ ACE Programming What You Should Know About V6 June 2007 This course update supplements prerequisite course RE2205: SurePOS ACE V5 Programming and covers the changes made in IBM SurePOS™ Application Client/Server Environment (ACE) Version 6. They do not change the mechanics of programming IBM SurePOS ACE; however, this information can be valuable if you will be programming in these areas of SurePOS ACE. Please refer to the IBM SurePOS Application Client/Server Environment for 4690 OS Programming Reference and IBM SurePOS Application Client/Server Environment for 4690 OS Planning and Installation Guide for additional information. To view or download these manuals, go to the IBM Retail Store Solutions Web site at www.ibm.com/products/retail . When you are at the site, click Manuals and publications under the Support heading, and then click ACE under the Applications heading. Select the appropriate manual that you wish to access. Version 6 changes Changes in IBM SurePOS ACE Version 6 Programming are to events during initialization and accessing other options files during initialization. Changes to events during initialization Changes have been made to the terminal application to optimize the loading of options data by using more efficient file reads and reducing duplicate read operations. The changes also add additional initialization stage events to more precisely identify the steps occurring during initialization. Previously, the display indicated "Loading Options Data" and a number which indicated the stage. With the addition of more stages, the number is replaced with a text indication of the stage. In addition, subscribers to initializationStageComplete should review extension code to ensure that it is executing during the proper initialization stage and only executing once during initialization. The enum values can be found in the ISOptionsStorage class header file optnsstr.hpp. Additional information regarding the initialization stages can be found in the EAMOPTNS section of the IBM SurePOS Application Client/Server Environment for 4690 OS Programming Reference Version 6, Appendix C. Extending SurePOS ACE, Access to Other Options Files During Initialization. Changes have also been made to allow extenders to cache sales descriptors in the terminal. When sales descriptors are not cached, the terminal must read them from the sales descriptor file. Extenders should evaluate the frequency of Page 1 of 2

RE2211: IBM SurePOS™ ACE Programming What You …€¦ · RE2211: IBM SurePOS™ ACE Programming ― What You Should Know About V6 Page 2 of 2 the use of sales descriptors and determine

Embed Size (px)

Citation preview

RE2211: IBM SurePOS™ ACE Programming ― What You Should Know About V6

RE2211: IBM SurePOS™ ACE Programming – What You Should Know About V6 June 2007 This course update supplements prerequisite course RE2205: SurePOS ACE V5 Programming and covers the changes made in IBM SurePOS™ Application Client/Server Environment (ACE) Version 6. They do not change the mechanics of programming IBM SurePOS ACE; however, this information can be valuable if you will be programming in these areas of SurePOS ACE. Please refer to the IBM SurePOS Application Client/Server Environment for 4690 OS Programming Reference and IBM SurePOS Application Client/Server Environment for 4690 OS Planning and Installation Guide for additional information. To view or download these manuals, go to the IBM Retail Store Solutions Web site at www.ibm.com/products/retail. When you are at the site, click Manuals and publications under the Support heading, and then click ACE under the Applications heading. Select the appropriate manual that you wish to access.

Version 6 changes Changes in IBM SurePOS ACE Version 6 Programming are to events during initialization and accessing other options files during initialization.

Changes to events during initialization Changes have been made to the terminal application to optimize the loading of options data by using more efficient file reads and reducing duplicate read operations. The changes also add additional initialization stage events to more precisely identify the steps occurring during initialization. Previously, the display indicated "Loading Options Data" and a number which indicated the stage. With the addition of more stages, the number is replaced with a text indication of the stage. In addition, subscribers to initializationStageComplete should review extension code to ensure that it is executing during the proper initialization stage and only executing once during initialization. The enum values can be found in the ISOptionsStorage class header file optnsstr.hpp. Additional information regarding the initialization stages can be found in the EAMOPTNS section of the IBM SurePOS Application Client/Server Environment for 4690 OS Programming Reference Version 6, Appendix C. Extending SurePOS ACE, Access to Other Options Files During Initialization. Changes have also been made to allow extenders to cache sales descriptors in the terminal. When sales descriptors are not cached, the terminal must read them from the sales descriptor file. Extenders should evaluate the frequency of

Page 1 of 2

RE2211: IBM SurePOS™ ACE Programming ― What You Should Know About V6

Page 2 of 2

the use of sales descriptors and determine if the descriptors should be preloaded and held in memory during initialization to improve run-time performance. Extend ISTSNLSFactory::loadMoreSalesDescriptors() to cache user sales descriptors. Refer to the IBM SurePOS Application Client/Server Environment for 4690 OS Programming Reference Version 6, Appendix C. Extending SurePOS ACE, Adding Descriptors to the Descriptor Cache during Initialization section for more information.

Access to other options files during initialization The optionsLoaded() event is raised with a pointer to an ISOptions object which contains the options found in the EAMOPTNS.DAT file and, if applicable, EAMOPxxx terminal-specific options merged together. In some cases, it is necessary for extension code to access options contained within other ACE options files, such as the APSOPTNS or NLSOPTNS files. In earlier releases of ACE (prior to V6), the options file would need to be read by the extension code to access the options values by calling blRead(). Each caller to this method would cause a read of the options file from the controller disk. The result is that the APSOPTNS and NLSOPTNS files were read multiple times during intialization, both by the base application and extension code. Starting with SurePOS ACE V6, a new method has been implemented to preload the additional options files and make them available to extenders during the options loaded event. Extenders should review any calls to blRead() and replace these with calls to getOptionsObject() to obtain a pointer to the preloaded options object. For example: // Change object to pointer //ISOptions NLSoptions; ISOptions * NLSoptions; // remove call to blread //result = NLSoptions.blRead("<$LSOPTNS>"); // add call to getOptionsObject ISResult readResult = ISOptionsStorage::instance().getOptionsObject("<$LSOPTNS>", NLSoptions); // Change user code to use pointer... Refer to the IBM SurePOS Application Client/Server Environment for 4690 OS Programming Reference Version 6 for additional information.