saperion ecm r/ indexer for sap - kofax · pdf file2.1 delivery of software 1 saperion ecm r/...
TRANSCRIPT
Copyright © 2016 Lexmark. All rights reserved.
Lexmark is a trademark of Lexmark International, Inc., registered in the U.S. and/or other countries. All other trademarksare the property of their respective owners. No part of this publication may be reproduced, stored, or transmitted in anyform without the prior written permission of Lexmark.
Table of Contents
1 Introduction ......................................................................................................... 1
2 Installation ........................................................................................................... 1
2.1 Delivery of Software ............................................................................................ 1
2.2 Requirements ....................................................................................................... 1
2.3 Installation ........................................................................................................... 1
3 Commissioning the R/ Link Indexer .................................................................. 2
4 Configuration ....................................................................................................... 2
4.1 "sapindexer.xml" .................................................................................................. 2
4.1.1 [Pool Properties] Section ................................................................................ 3
4.1.2 [Query/ DDC Properties] Section ................................................................... 3
4.1.3 [SAP Properties] Section ................................................................................. 4
4.1.4 [SAPERION Properties] Section ...................................................................... 5
4.1.5 [Indexer Properties] Section ............................................................................ 5
4.1.6 [Indexer Cron] Section ..................................................................................... 6
4.1.7 [Statistic Properties] Section ........................................................................... 8
4.1.8 [Worker Properties] Section ............................................................................ 8
2.1 Delivery of Software
1
SAPERION ECM R/ Indexer for SAP
1 Introduction
The R/ Indexer is a tool to update index information of SAPERION documents which are linked via
ArchiveLink in SAP. Index data are collected in SAP and then exported to SAPERION.
While performing the indexing a statistic is created. This statistic offers information about the success
resp. failure of indexed documents, the indexed properties and the processing times.
The indexer uses a DDC status field to mark successful indexed documents.
2 Installation
2.1 Delivery of Software
The R/ Indexer will be delivered as a package (ZIP-file) including all components that are necessary to
run the indexer. These are:
+ the "config" folder where you will find different configuration files
+ platform-depending DLLs (for 32 Bit and 64 Bit systems)
+ the "sapIndexer.jar" file
+ the "start.bat"
2.2 Requirements
The following technical requirements have to be met:
+ at least SAPERION version 7.1 SP1
+ SAP with JCO (Java Connector) running on the server.
+ "RLinkDocuments.ddc" installed
+ "sapjco3.dll" installed
2.3 Installation
1. Download the latest R/ Indexer Tool from the Nexus Server (http://<IP-address>/nexus/
index.html).
2. Search for "saperion" and download the ZIP-file "sapIndexer-0.0.1-SNAPSHOT-bin.zip".
3. Unzip the downloaded indexer archiv.
3 Commissioning the R/ Link Indexer
2
4. Copy the "sapjco3.dll" matching to your operating system to your directory
"C:\Windows\..."
5. Edit the properties file ""sapindexer.xml" in directory "config/" according to your
requirements. Please refer to the chapter "Configuration" for more information.
6. Copy the DDC "RLinkDocuments.ddc" from the "config/"-directory to your SAPERION
"defs/" directory.
7. Create test data in SAP and test documents in SAPERION with corresponding SAPDocIDs.
SAPDocId E0E03847C5C56EF1A567000C2994133F exists in the SAP application for
testing.
3 Commissioning the R/ Link Indexer
1. Open the Windows command line.
2. Change directory to unzipped indexer.
3. Start the tool with the batch file "start.bat".
Running Options:
+ cron: run cron scheduler
+ parallel: run parallel indexer threads
+ test: run indexer in test mode
Command line running options overwrites the configuration in the properties file in
directory "config/"
4. Monitor the output report.
4 Configuration
The following configuration files are delivered in the folder "/config":
+ saperion.properties
+ log4j.properties
+ sapindexer.xml
4.1 "sapindexer.xml"
The "sapindexer.xml" is a configuration file which is separated in several sections. You will find the
detailed description of the sections below.
i The examples listed below contains default values which can be adapted as required.
4.1 "sapindexer.xml"
3
4.1.1 [Pool Properties] Section
This section contains ClassicConnector pool settings used for parallel login against SAPERION.
Example:
<!-- POOL PROPERTIES -->
<entry key="pool.max.idle">-1</entry>
<entry key="pool.min.idle">-1</entry>
<entry key="pool.max.active">-1</entry>
<entry key="pool.exhausted.action">2</entry>
<entry key="pool.max.wait">-1</entry>
<!-- following properties are in SECONDS -->
<entry key="pool.session.timeout">120</entry> <!-- seconds after which a session gets closed. -->
<entry key="pool.scheduler.interval">60</entry> <!-- interval for cleaning sessions. -->
Parameters of the [Pool Properties] Section
Parameter Description
pool.max.idle The maximum number of "idle" instances in the pool. Use a negative value to indicate an unlimited number of
idle SaClassicConnector instances.
pool.min.idle The minimum of objects allowed in the pool before new SaClassicConnector objects are created.
pool.max.active The maximum number of SaClassicConnector objects that can be allocated by the pool at a given time. Use a
negative value for no limit.
pool.exhausted.action The action to take when a SaClassicConnector object is requested but the pool is exhausted (the maximum
number of "active" objects has been reached).
Following values are supported:
0 = a "NoSuchElementException" will be thrown
1 = the pool blocks until a SaClassicConnector object is available or the maximum waiting time (see configura-
tion of "pool.max.wait") has been reached
2 = a new SaClassicConnector object is created anyway
pool.max.wait The maximum amount of time in milliseconds the pool should block before throwing an exception when the
pool is exhausted and pool.exhausted.action = 1. (when 0 or -1 is set the pool may block infinitely).
pool.session.timeout The time in seconds a SaClassicConnector session is valid.
pool.scheduler.interval The time in seconds a scheduler should check for invalid sessions.
4.1.2 [Query/ DDC Properties] Section
This section contains the DDC and query settings.
Example:
<!-- QUERY/DDC PROPERTIES -->
<entry key="query.rlinkDDC">RLinkDocuments</entry>
<entry
key="query.indexFields">JAHR,BUCHUNGSKREIS,BELEGNUMMER,LIEFERANTENNUMMER,AUFTRAGSNUMMER,KUNDENNUMMER,KUNDENNAME,BETRIEBSSYSTEM,LIEFERANTENNAME,BRUTTOBETRAG,BUCHUNGSDATUM</
entry>
<entry key="query.filter">INDEXINGSTATE = '0'</entry>
4 Configuration
4
<entry key="query.pagingcount">100</entry>
<entry key="query.status.field">INDEXINGSTATE</entry>
<entry key="query.status.success">1</entry>
Parameters of the [Query/ DDC Properties] Section
Parameter Description
query.rlinkDDC The name of the DDC the indexer should write index values to.
query.indexFields A comma-separated string of DDC fields which should be supported by the indexer.
query.filter The HQL filter criteria to identify the documents to index.
query.pagingcount The number of documents to be selected by the indexer in one database query.
query.status.field The name of the DDC field the indexer should update when a document indexing was successful. The index
status field must have the SAPERION data type "int" (whole-numbered).
query.status.success The value to be written in the "query.status.field" when a document indexing was successful. The index success
status value must be a positive integer.
4.1.3 [SAP Properties] Section
This section contains the SAP authentication and connections settings.
Example:
<!-- SAP PROPERTIES -->
<entry key="sap.user">BUW</entry>
<entry key="sap.password">saperion11</entry>
<entry key="sap.host">192.168.16.107</entry>
<entry key="sap.sysnr">00</entry>
<entry key="sap.client">800</entry>
<entry key="sap.functionname">/SAAG/RFC_INDEXER_BC_V1</entry>
<entry key="sap.docsperrequest.max">10</entry>
<entry key="sap.exporttable.identifier">identifier</entry>
<entry key="sap.pool.enable">true</entry>
<entry key="sap.pool.capacity">3</entry>
<entry key="sap.peeklimit">10</entry>
Parameters of the [SAP Properties] Section
Parameter Description
sap.user SAP user name to authenticate against the SAP system
sap.password SAP password to authenticate against the SAP system
sap.host SAP system IP address or URL
sap.sysnr SAP system's number
sap.client SAP system's client
sap.functionname SAP function name to be used by the indexer.
sap.docsperrequest.max Note: This parameter is not used yet!
The number of documents the indexer should request at once against the SAP system.
4.1 "sapindexer.xml"
5
Parameter Description
sap.exportable.identifier The name of the export table in SAP responses.
sap.pool.enable Indicates if a connection should be used for connecting against the SAP system.
Possible Values: TRUE, FALSE
sap.pool.capacity The size of the SAP connection pool.
sap.peaklimit The peak limit will allow additional SAP connections.This means that more than the initially defined capacity
(sap.pool.capacity) can be created.
These connections will be destroyed as soon as they are not in use (whereas the connections specified in the
capacity settings will remain).
4.1.4 [SAPERION Properties] Section
This section contains the SAPERION authentication settings.
Example:
<!-- SAPERION PROPERTIES -->
<entry key="saperion.user">Administrator</entry>
<entry key="saperion.password">admin</entry>
<entry key="saperion.licensetype">1</entry>
<entry key="saperion.mandant"></entry>
Parameters of the [SAPERION Properties] Section
Parameter Description
saperion.user SAPERION user name to authenticate against the SAPERION system
saperion.password SAPERION password to authenticate against the SAPERION system
saperion.licensetype SAPERION license type to authenticate against the SAPERION system.
Possible values:
1 = index client
2 = query client
saperion.mandant SAPERION tenant to authenticate against the SAPERION system.
4.1.5 [Indexer Properties] Section
This section contains indexer mode settings.
Example:
<!-- INDEXER PROPERTIES -->
<entry key="mode.running">index</entry> <!-- possible values: test, index -->
<entry key="mode.execution">serial</entry> <!-- possible values: serial, parallel -->
4 Configuration
6
Parameters of the [Indexer Properties] Section
Parameter Description
mode.running Indexer mode
Possible values:
index = indexes the values retrieved by SAP
test = logs values retrieved by SAP in the statistic
mode.execution This mode defines a serial or parallel execution of the jobs done by the indexer.
Possible values:
serial = First, SAPERION documents are identified for indexing. Then the appropriate SAP properties will be
retrieved for archiving in SAPERION.
parallel = Getting documents for indexing, retrieving their properties from SAP and archiving in SAPERION are
executed by a number of threads in parallel.
4.1.6 [Indexer Cron] Section
This section contains the cron scheduler settings. The indexer uses the Enterprise Job Scheduler quartz
(http://www.quartz-scheduler.org/) to schedule the indexer process repeatedly. The scheduler is active
when the running option "-cron" is given as start argument.
Example:
<!-- INDEXER CRON -->
<entry key="cron.expression">0 * * * * ?</entry>
<!--
http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger
expression examples:
"0 * * * * ?"Fire every minute
"0 0 * * * ?"Fire every hour
"0 0 12 * * ?"Fire at 12pm (noon) every day
"0 15 10 ? * *"Fire at 10:15am every day
"0 15 10 * * ?" Fire at 10:15am every day
"0 15 10 * * ? *" Fire at 10:15am every day
"0 15 10 * * ? 2005"Fire at 10:15am every day during the year 2005
"0 * 14 * * ?"Fire every minute starting at 2pm and ending at 2:59pm, every day
"0 0/5 14 * * ?"Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day
"0 0/5 14,18 * * ?"Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and
ending at 6:55pm, every day
"0 0-5 14 * * ?"Fire every minute starting at 2pm and ending at 2:05pm, every day
"0 10,44 14 ? 3 WED"Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.
"0 15 10 ? * MON-FRI"Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday
"0 15 10 15 * ?"Fire at 10:15am on the 15th day of every month
"0 15 10 L * ?"Fire at 10:15am on the last day of every month
"0 15 10 ? * 6L"Fire at 10:15am on the last Friday of every month
"0 15 10 ? * 6L"Fire at 10:15am on the last Friday of every month
"0 15 10 ? * 6L 2002-2005"Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005
"0 15 10 ? * 6#3"Fire at 10:15am on the third Friday of every month
Fields (allowed Values) are:
4.1 "sapindexer.xml"
7
Seconds(0-59 ,-*/) Minutes(0-59 ,-*/) Hours(0-23 ,-*/) Day of month(1-31 ,-*?/LW) Month(1-12 or JAN-DEC,-*/) Day of
Week(1-7 or SUN-SAT,-*?/L#) Year(empty, 1970-2099 ,-*/)
-->
cron.expression
The parameter "cron.expression" defines the start time of the indexing process. A cron
expression is a string comprised of six or seven fields separated by white space. For
further information please refer to the cron trigger tutorial on the quartz webpage:
http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger
Fields (allowed values):
+ Seconds (0-59 ,-*/)
+ Minutes (0-59 ,-*/)
+ Hours (0-23 ,-*/)
+ Day of month (1-31 ,-*?/LW)
+ Month (1-12 or JAN-DEC,-*/)
+ Day of Week (1-7 or SUN-SAT,-*?/L#)
+ Year (empty, 1970-2099 ,-*/)
Cron expression examples:
Cron Expression Examples
Cron Expression Description
0 * * * * ? Fire every minute
0 0 * * * ? Fire every hour
0 0 12 * * ? Fire at 12 pm
0 15 10 ? * * Fire at 10:15 am every day
0 15 10 * * ? Fire at 10:15 am every day
0 15 10 * * ? * Fire at 10:15 am every day
0 15 10 * * ? 2005 Fire at 10:15 am every day during the year 2005
0 * 14 * * ? Fire every minute starting at 2 pm and ending at 2:59 pm every day
0 0/5 14 * * ? Fire every 5 minutes starting at 2 pm and ending at 2:55 pm every day
0 0/5 14,18 * * ? Fire every 5 minutes starting at 2 pm and ending at 2:55 pm, AND fire every 5 minutes starting at 6 pm and en-
ding at 6:55 pm every day
0 0-5 14 * * ? Fire every minute starting at 2 pm and ending at 2:05 pm every day
0 10,44 14 ? 3 WED Fire at 2:10 pm and at 2:44 pm every Wednesday in the month of March
0 15 10 ? * MON-FRI Fire at 10:15 am every Monday, Tuesday, Wednesday, Thursday and Friday
0 15 10 15 * ? Fire at 10:15 am on the 15th day of every month
0 15 10 L * ? Fire at 10:15 am on the last day of every month
0 15 10 ? * 6L Fire at 10:15 am on the last Friday of every month
4 Configuration
8
Cron Expression Description
0 15 10 ? * 6L 2002-2005 Fire at 10:15 am on every last Friday of every month during the years 2002, 2003, 2004 and 2005
0 15 10 ? * 6#3 Fire at 10:15 am on the third Friday of every month
i Default cron configuration is "Fire every full hour" (0 0 * * * ?).
4.1.7 [Statistic Properties] Section
This section contains statistic settings.
Example:
<!-- STATISTIC PROPERTIES -->
<entry key="statistic.enabled">true</entry>
<entry key="statistic.mode">console</entry> <!-- possible values: console, log, file -->
<entry key="statistic.file">d:/sapindexer_statistic.txt</entry> <!-- only if statistic.mode = file -->
Parameters of the [Statistic Properties] Section
Parameter Description
statistic.enabled De-/ activation of the statistic function.
Possible values: TRUE, FALSE
statistic.mode Defines where the statistic should be written to.
Possible values:
console = the statistic is written to the console
file = the statistic is written to a separate file
statistic.file When statistic.mode = file, state here the path and file name.
4.1.8 [Worker Properties] Section
This section contains worker settings and is only considered when mode.execution = parallel (see section
[Indexer properties] above).
Example:
<!-- WORKER PROPERTIES - needed, if 'mode.execution = parallel' -->
<entry key="worker.get.count">5</entry><!-- Number of workers for retrieving SAP properties -->
<entry key="worker.save.count">5</entry><!-- Number of workers for saving new properties to SAPERION -->
<entry key="worker.get.timeout">3</entry><!-- Timeout in seconds for one get-job to finish. -->
<entry key="worker.save.timeout">3</entry><!-- Timeout in seconds for one save-job to finish. -->
<entry key="worker.shutdowm.timeout">10</entry><!-- Timeout in seconds for all Threads to shutdown. -->
4.1 "sapindexer.xml"
9
Parameters of the [Worker Properties] Section
Parameter Description
worker.get.count The number of worker threads to be used in order to get the document index values from SAP (get-job).
worker.save.count The number of worker threads to be used in order to save the document index values to SAPERION (save-job)
worker.get.timeout The time in seconds to wait for a single get-job.
worker.save.timeout The time in seconds to wait for a single save-job.
worker.shutdown.timeout The time in seconds to wait for all threads to be completed when the indexer is shut down.