Professional Documents
Culture Documents
1. You may not use the SAP Material for a purpose competitive with SAP or its products unless otherwise
clearly permitted by applicable law.
2. You may not use the SAP corporate logo.
3. No use of other SAP trademarks is granted under this section. For information regarding use of SAP
trademarks, see http://www.sap.com/corporate/en/legal/trademark.html.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or
registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product
and service names mentioned are the trademarks of their respective companies.
Operation Guide – POS Client III
Table of contents
1 Introduction .......................................................................................................................................................... 1
2 Architecture ......................................................................................................................................................... 1
3 Logging................................................................................................................................................................. 1
3.1 General ............................................................................................................................................................... 1
3.1.1 Format ......................................................................................................................................................... 1
3.1.2 Example ...................................................................................................................................................... 1
3.2 POS Thin Client .................................................................................................................................................. 4
3.2.1 Configuration file name, max. file size etc.: pos.log ................................................................................... 4
3.2.2 Configuration file name, max. file size etc.: terminal.log ............................................................................ 4
3.2.3 Configuration of outputted log levels .......................................................................................................... 5
3.2.4 Log output on the console .......................................................................................................................... 6
3.3 POS Full Client ................................................................................................................................................... 6
3.3.1 Configuration file name, max. file size etc.: pos.log ................................................................................... 6
3.3.2 Configuration file name, max. file size etc.: terminal.log ............................................................................ 6
3.3.3 Configuration of outputted log levels .......................................................................................................... 7
3.3.4 Log output on the console .......................................................................................................................... 7
4 Tracing .................................................................................................................................................................. 8
5 Monitoring ............................................................................................................................................................ 8
5.1 GK/Retail Monitoring via Enterprise Cockpit events .......................................................................................... 8
5.1.1 General ....................................................................................................................................................... 8
5.1.1.1 Structure of the event IDs ................................................................................................................... 8
5.1.1.2 Structure of an entry............................................................................................................................ 8
5.1.1.3 Enable/disable events ......................................................................................................................... 9
5.1.2 POS Thin Client .......................................................................................................................................... 9
5.1.2.1 Configuration files ............................................................................................................................... 9
5.1.3 POS Full Client ......................................................................................................................................... 10
5.1.3.1 Configuration files ............................................................................................................................. 10
6 Communication of the components ................................................................................................................ 11
6.1 Parameter distribution ...................................................................................................................................... 11
6.1.1 Basics ....................................................................................................................................................... 11
6.1.2 Parameter distribution in detail ................................................................................................................. 11
6.1.3 Technical details of the communication .................................................................................................... 12
6.1.4 Storage of POS configuration ................................................................................................................... 12
6.2 Operation .......................................................................................................................................................... 13
6.2.1 POS Full Client ......................................................................................................................................... 13
7 Start and stop .................................................................................................................................................... 13
8 DB maintenance ................................................................................................................................................ 13
8.1 Logging ............................................................................................................................................................. 14
8.2 Compress tables ............................................................................................................................................... 14
8.3 Statistics recalculation ...................................................................................................................................... 15
8.4 Automatic statistics recalculation ..................................................................................................................... 15
9 Troubleshooting ................................................................................................................................................ 16
9.1 Response to malfunctions ................................................................................................................................ 16
9.1.1 Error while saving POS transactions ........................................................................................................ 16
9.1.2 POS Client does not start ......................................................................................................................... 16
9.1.3 POS Client does not operate as expected ............................................................................................... 16
9.2 Malfunction analysis: access to POS database ............................................................................................... 16
9.2.1 Remote access ......................................................................................................................................... 16
9.2.2 POS configuration ..................................................................................................................................... 17
9.2.3 Access with database tool ........................................................................................................................ 18
10 Error codes ........................................................................................................................................................ 18
Operation Guide – POS Client 1
1 Introduction
This Operation Guide describes the initial operation and basic configuration of the POS Client. Two types exist:
POS Thin Client and POS Full Client.
In addition, there is an Operation Guide for the POS Service. This Operation Guide is required for the operation of
the POS Thin Client.
• Logging
• Tracing
• Monitoring
• Application start and stop
• Troubleshooting
For details on the installation process, refer to the Installation Guide. For details on the configuration, refer to the
Customizing Guide and to the Customizing Reference.
2 Architecture
For information on the architecture, refer to the "Architecture Master Guide".
3 Logging
In the application directories, different log files are generated. The log files of the current day are available in an
unpacked form. Older log files from the past are packed.
3.1 General
3.1.1 Format
The log entries are structured as follows:
3.1.2 Example
Example:
2 Operation Guide – POS Client
If an error occurs, additional hints are displayed in the form of runtime exceptions which must be checked by the
development partner, e.g.:
Operation Guide – POS Client 3
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegist
ry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableB
eanFactory.java:585)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplica
tionContext.java:895)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
139)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:
83)
at com.gk_software.pos.Main.startApp(Main.java:79)
at com.gk_software.pos.Main.main(Main.java:42)
There are several parameters to influence the storage duration, file size, etc.:
• maxBytes: Max. file size in bytes. If it is exceeded, the file is packed and a new file is created.
• maxCount: Max. number of files. If it is exceeded, the files are deleted.
• maxAge: Max. age of files. If it is exceeded, the corresponding files are deleted.
There are several parameters to influence the storage duration, file size, etc.:
• maxBytes: Max. file size in bytes. If it is exceeded, the file is packed and a new file is created.
• maxCount: Max. number of files. If it is exceeded, the files are deleted.
• maxAge: Max. age of files. If it is exceeded, the corresponding files are deleted.
• TRACE
• DEBUG
• INFO
• WARNING
• ERROR
• FATAL
If INFO is set, all messages of the level INFO and higher are outputted.
# HAL
log.level.com.gk_software.pos.hal=DEBUG
log.level.com.gk_software.pos.pos_hal.input=DEBUG
log.level.gk.cashterminal=DEBUG
log.level.gk.javapos=DEBUG
# remoting
log.level.org.apache.cxf=OFF
# commons http client
log.level.httpclient.wire=DEBUG
log.level.org.apache.commons.httpclient=DEBUG
# http client - svs
log.level.org.apache.http.impl.conn=DEBUG
log.level.org.apache.http.impl.client=DEBUG
log.level.org.apache.http.client=DEBUG
#ui - xml printouts
log.level.com.gk_software.pos.ui=OFF
log.level.com.gk_software.pos.ui.swing.service=OFF
log.level.com.gk_software.pos.ui.swing.adapter=INFO
6 Operation Guide – POS Client
drop.appender.GK_STDOUT.enabled=true drop.appender.GK_STDERR.enabled=false
There are several parameters to influence the storage duration, file size, etc.:
• maxBytes: Max. file size in bytes. If it is exceeded, the file is packed and a new file is created.
• maxCount: Max. number of files. If it is exceeded, the files are deleted.
• maxAge: Max. age of files. If it is exceeded, the corresponding files are deleted.
There are several parameters to influence the storage duration, file size, etc.:
Operation Guide – POS Client 7
• maxBytes: Max. file size in bytes. If it is exceeded, the file is packed and a new file is created.
• maxCount: Max. number of files. If it is exceeded, the files are deleted.
• maxAge: Max. age of files. If it is exceeded, the corresponding files are deleted.
• TRACE
• DEBUG
• INFO
• WARNING
• ERROR
• FATAL
If INFO is set, all messages of the level INFO and higher are outputted.
# HAL
log.level.com.gk_software.pos.hal=DEBUG
log.level.com.gk_software.pos.pos_hal.input=DEBUG
log.level.gk.cashterminal=DEBUG
log.level.gk.javapos=DEBUG
# remoting
log.level.org.apache.cxf=OFF
# commons http client
log.level.httpclient.wire=DEBUG
log.level.org.apache.commons.httpclient=DEBUG
# http client - svs
log.level.org.apache.http.impl.conn=DEBUG
log.level.org.apache.http.impl.client=DEBUG
log.level.org.apache.http.client=DEBUG
#ui - xml printouts
log.level.com.gk_software.pos.ui=OFF
log.level.com.gk_software.pos.ui.swing.service=OFF
log.level.com.gk_software.pos.ui.swing.adapter=INFO
drop.appender.GK_STDOUT.enabled=true
drop.appender.GK_STDERR.enabled=false
4 Tracing
Both Client variants also provide a tracing which can be set using the logging settings.
5 Monitoring
5.1 GK/Retail Monitoring via Enterprise Cockpit events
5.1.1 General
The Clients support monitoring via the GK/Retail Enterprise Cockpit using predefined events.
All events of all systems are automatically transmitted via the Storemanager infrastructure to the
Enterprise Cockpit, which is the GK/Retail standard monitoring tool. Events can be enabled/disabled for each
application. In the Enterprise Cockpit, it is also possible to set which events should be visualized and how.
X.FunctionID.NN
EnterpriseCockpitEventConfig.ecEvents.0.eventId=S_01010101201_00
EnterpriseCockpitEventConfig.ecEvents.0.enabled=true
EnterpriseCockpitEventConfig.ecEvents.0.messageLevel=INFO
EnterpriseCockpitEventConfig.ecEvents.0.messageContent=Worker {0} logged in.
Operation Guide – POS Client 9
All events are disabled in the standard product configuration. Enable -> ".enabled=true", disable ->
".enabled=false".
Two configuration files are available for the POS Thin Client:
ecEvent.properties
<POS_ROOT>/config//standard/parameter/client/ecEvent.properties
This file contains the events which are triggered via the Client.
List of events
ecServerEvents.properties
../config/standard/parameter/server/ecServerEvents.properties
This file contains the events which are triggered via the Service.
List of events
Two configuration files are available for the POS Full Client:
ecEvent.properties
<POS_ROOT>/config/standard/parameter/client/ecEvent.properties
List of events
ecServerEvents.properties
<POS_ROOT>/config/standard/parameter/server/ecServerEvents.properties
List of events
Note: The Infoserver and Infoclient may run in a shared component, the Hybrid Infoserver.
12 Operation Guide – POS Client
Communication between the Infochannel components takes place via TCP port 7422. All Infochannel components
are executed as services (or daemons under Linux).
For replication of the data received from the Storemanager, the Infoserver uses a Firebird database.
All configuration files are supplied by the Infoclient. Data supply is carried out even if the configuration files have
been deleted (intentionally or unintentionally) during current operations. The data is supplied from the cache
directory of the Infoclient:
<GKRETAIL_ROOT>/basecomponents/infoclient/info.bridge/po
Operation Guide – POS Client 13
6.2 Operation
6.2.1 POS Full Client
During POS Client operation, data is exchanged between the POS Client and POS Server: transactions and
master data. The POS Client transfers the performed sales transactions to the POS Server. The POS Server
transfers the new data or data changes to the POS Clients. This communication channel is also used to delete
data.
All document data generated by the POS Client is first saved temporarily to the local POS database. This ensures
that the POS Client is able to operate in offline mode for a certain time. Upon successful day-end closing, the
document database of the POS Clients is archived.
The start files are located in the application directory and can be started via the command line (Windows) or via the
terminal (Linux).
To do so, change to this application directory and start the POS Client using the start file touch_pos.cmd
(Windows) or touch_pos.sh (Linux).
Windows
d:
cd \gkretail\pos
run_tpos.cmd
Linux
cd /usr/local/gkretail/pos
./run_tpos.cmd
The function "End program" allows you to stop the application. This function can be found in the Service menu of
the POS Client. First, log out any logged-in cashiers. After logout, the program can be shut down in the Service
menu. Depending on the configuration of the application, it may be necessary to enter a password.
8 DB maintenance
The Apache Derby database provides a set of maintenance functions which will lead to a significant performance
improvement.
OmniPOS provides a DB maintenance component which provides access to two of these functions:
These functions can be triggered separately via a scheduler for the master data database and transaction
database.
14 Operation Guide – POS Client
Remark: Only ONE of these functions should be used for a database instance.
We strongly recommend enabling and configuring these maintenance functions according to your
needs. The compressTables feature is activated in OmniPOS by default and runs during the night at 2 a.m. for the
master data DB and 3 a.m. for the transaction DB. If you shut down your POS workstations every night, you need
to find another suitable time for DB maintenance (ideally outside the business hours). You may also create your
own system jobs for shutting down and restarting your POS workstations, which should include execution of the DB
maintenance functions. In this case, you can disable the OmniPOS DB maintenance schedulers.
• Full POS
• master data database:
config/standard/parameter/client/scheduler_client/scheduler_updateStatisticsMD.prop
erties
• transaction database:
config/standard/parameter/client/scheduler_client/scheduler_updateStatisticsTX.prop
erties
• Smart POS Service
• master data database:
config/standard/parameter/server/scheduler_smartpos/smartpos_scheduler_updateStatis
ticsMD.properties
• transaction database:
config/standard/parameter/server/scheduler_smartpos/smartpos_scheduler_updateStatis
ticsTX.properties
Internally, the functions perform specified operations for all tables which are available in the schema.
8.1 Logging
To enable proper logging, the following logger must be activated:
log.level.com.gk_software.pos.db_maintenance.DBMaintenance_Derby=DEBUG
To enable the compress tables feature, the scheduler configuration must be adopted accordingly. To do so, the DB
maintenance component provides the method compressTables().
The following configuration shows how this feature for MD database is enabled. The configuration of
scheduler_updateStatisticsMD.properties must look as follows:
Operation Guide – POS Client 15
scheduler.serviceComponent=db-maintenance-derby
scheduler.service=dbMaintenance_MasterdataDB.compressTables()
scheduler.cronExpression=0 0 2 * * ?
scheduler.enabled=true
To enable this feature for the TX database, the configuration of scheduler_updateStatisticsTX.properties must look
as follows:
scheduler.serviceComponent=db-maintenance-derby
scheduler.service=dbMaintenance_TransactionDB.compressTables()
scheduler.cronExpression=0 0 3 * * ?
scheduler.enabled=true
scheduler.serviceComponent=db-maintenance-derby
scheduler.service=dbMaintenance_MasterdataDB.updateStatistics()
scheduler.cronExpression=0 0 2 * * ?
scheduler.enabled=true
scheduler.serviceComponent=db-maintenance-derby
scheduler.service=dbMaintenance_TransactionDB.updateStatistics()
scheduler.cronExpression=0 0 3 * * ?
scheduler.enabled=true
For further details about the statistics recalculation procedure, see: SYSCS_UTIL.SYSCS_UPDATE_STATISTICS
system procedure
• Statistics recalculation consumes lots of resources (CPU+RAM+IO). If it takes place during business
hours, it is likely to affect the POS performance.
• As we take care of statistics ourselves, there is no need for Derby to recalculate statistics on its own.
With disabled statistics recalculation, however, the Import Data Pump takes much longer and statistics are only
recalculated if outdated.
SystemConfig.systemProperties.9.propertyKey=derby.storage.indexStats.auto
SystemConfig.systemProperties.9.propertyValue=true
9 Troubleshooting
In the event of any issues, an incident can be raised in SAP Support launchpad
(https://launchpad.support.sap.com/) using the component XX-PART-GKS-OCP-STA SAP Omnichannel POS
by GK.
As a local database is only created for the deployment variant POS Full Client, this section refers to this
deployment variant only.
The "Embedded Server" of Apache Derby must have been activated. It starts a network server to enable the
remote access by database tools. The Derby Network Client JDBC driver is used for this purpose.
This remote access is set in the standard configuration and enables a connection to the database to be
established for analysis purposes if the POS Client is running. In the event of security concerns, disable this
remote access by configuration.
Parameter Description
SystemConfig.systemProperties.1.propertyKey=derby.drda.startNetworkServer Remote access enabled/disabled
SystemConfig.systemProperties.1.propertyValue=false Possible values: true | false
SystemConfig.systemProperties.2.propertyKey=derby.drda.portNumber Port number for accessing the DB server
SystemConfig.systemProperties.2.propertyValue=1527
SystemConfig.systemProperties.3.propertyKey=derby.user.sa User name and password (without encryption) - NOT
SystemConfig.systemProperties.3.propertyValue=posderbypass RECOMMENDED
18 Operation Guide – POS Client
Parameter Description
If the Embedded Server was started for remote access, the following information appears in the log:
Thu Feb 26 12:32:36 CET 2015 : Apache Derby Network Server 10.10.2.0 - (1582446) was started and is ready to
accept connections on port 1527.
10 Error codes
Code ID Message Internal Cau Acti
se on
GKR- Unknown runtime com.gk_software.pos.utils.error.ErrorCodeMessages.MSG_UNKNOWN_RUNTIME_ERROR
00000 error
GKR- Invalid session com.gk_software.pos.utils.error.ErrorCodeMessages.MSG_INVALID_SESSION
00001
GKR- Characters entered com.gk_software.pos.utils.error.ErrorCodeMessages.MSG_INVALID_INPUT
00003 are not valid!
GKR- An unexpected com.gk_software.pos.utils.error.ErrorCodeMessages.MSG_UNEXPECTED_EXCEPTION
00005 application error
occurred. Try the
operation again. If
the problem
happens again,
please contact
support.
GKR- Not allowed com.gk_software.pos.utils.error.ErrorCodeMessages.MSG_ILLEGAL_ARGUMENT
00006 argument for
internal function call
occurred!
GKR- The error does not com.gk_software.pos.utils.error.ErrorCodeMessages.MSG_ERRORCONTEXT_WAS_NULL
00007 contain any error
information!
GKR- The error does not com.gk_software.pos.utils.error.ErrorCodeMessages.MSG_ERRORCODE_WAS_NULL
00008 contain an error
code!
GKR- POS Service com.gk_software.pos.utils.error.ErrorCodeMessages.MSG_POS_SERVICE_CONNECT_EXCEPT
00500 cannot be reached! IONPOS
Operation Guide – POS Client 19
Email: documentation@gk-software.com
www.gk-software.com