SAPERION ECM R/ Indexer for SAP - Kofax · PDF file2.1 Delivery of Software 1 SAPERION ECM R/...

12
SAPERION ECM R/ Indexer for SAP

Transcript of SAPERION ECM R/ Indexer for SAP - Kofax · PDF file2.1 Delivery of Software 1 SAPERION ECM R/...

SAPERION ECM R/ Indexer for SAP

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.