32U
Author Archives: 32U

ILINX Content Store Rocks

ImageSource has created a new distributed Scan, Store, Retrieve imaging system called ILINX® Content Store. Content Store will be demonstrated at the upcoming Nexus® 2010 ECM Conference (Nov 4-5 in Bellevue, Washington http://www.nexusecm.com/index.htm).

ILINX Content Store provides the means to import images and universal documents that have been indexed and released into a folder from multiple scanning solutions. Documents can also be manually indexed into Content Store from its interface. The system is accessed via a web browser and uses Microsoft Windows Presentation Foundation as the user interface. This allows a modern functional interface into the system. Content Store can be accessed from MS Internet Explorer, Mozilla Firefox, and Google Chrome.

ILINX Content Store is perfect for small to large document storage needs. Imported documents are stored within a database making backup, security, and scalability straightforward.

I’ll take you on a quick tour of the product. We’ve wired up ILINX Capture, an advanced distributed capture solution to scan a document into ILINX Content Store. Advanced versions of Content Store will also provide simple direct scanning mechanism.

First I log in to ILINX Capture using Internet Explorer in order to scan a document. ILINX Capture and ILINX Content Store are running off premises on a company web server so I can access them via the internet.

ILINX Capture Login

Next, I select a scan source and application, scan a document, and then Continue reading

Oracle IPM Invoice Processing Accelerators

Oracle is rolling out best-practice ERP AP invoice processing solution accelerators as part of their 11g Fusion Middleware offering. Called “adapters”, these ERP software components are available for Oracle E-Business Suite, PeopleSoft, and Siebel.

The accelerators are a mechanism to ensure scanned invoices reach a backend ERP system for final handling even when there are issues in the invoice data gathered using OCR forms recognition during scanning. This allows for minimal user exception handling or intervention prior to each invoice arriving in the ERP system. The idea is to simply load the scanner with invoices, press a button, and then handle the invoices once they arrive in the backend.

In order for this approach to work, Oracle’s solution accelerators use XML documents to contain header and line invoice data. The XML documents are combined with business rules in an Oracle BPEL Process Manager workflow that automatically massages the data into a format that will be accepted by the ERP import functionality such as the Oracle EBS open interface table import. The invoice image resides in the Oracle IPM system.

In the case where data can’t be massaged sufficiently for insert, the invoice is keyed from image from within the BPEL workflow. Invoices that directly insert into the ERP system arrive either ready for validation, matching, payment, coding, etc., or are placed on hold with a hold code and a hold reason code. Some sample hold and reason codes are:

FIELD VALIDATION HOLD HOLD REASON
Purchase Order PO must be valid and open.
PO vendor must match invoice vendor.
IPM_INVALID_PO_HOLD INVALID PO NUM
INACTIVE PO
INCONSISTENT PO SUPPLIER
Supplier Supplier is required.
Supplier must exist in vendor master.
Supplier ID and supplier site ID must match.
IPM_INVALID_
SUPPLIER_HOLD
NO SUPPLIER
INVALID SUPPLIER
INCONSISTENT SUPPLIER

There are many more business rules that operate on each invoice inside of workflow that meet the requirements of the ERP system.

Oracle has created a flash demo of a scan to EBS process at:

http://bit.ly/aHaNwl

Oracle has also created a PDF document that highlights the E-Business Suite Adapter:

http://bit.ly/b4pGFa

As an Oracle partner, ImageSource has begun to implement these solutions in the field.

Clint Lewis
Senior Systems Engineer
ImageSource, Inc.

Using C#.NET with the Kofax KTM Validation Module

My current project has a requirement to do several Oracle EBS validations and lookups from the Kofax KTM validation window. For example, one requirement is to present the validator with a list of Suppliers. Another is to check for a duplicate invoice number in EBS. I can easily add additional methods as needed.

Kofax KTM provides Win Basic scripting language that can accomplish some of this, but it’s difficult to use compared to modern programming languages. After a little research I discovered it was feasible to create and call methods in a COM object from KTM Win Basic. This meant I could expose a C#.NET dll via COM Interop but have all the power of any version of the .NET framework and Microsoft Visual Studio available to do the heavy lifting.

My C# methods return either arrays or booleans back to KTM where I then use the Win Basic language to present results to the validation user. I can debug my C# code by attaching to the KTM Project Builder exe while running validation tests.

Setting up the C# Class

The first step is to create a project in Visual Studio and set up a class to contain the methods you will call in KTM. The prefered method is to use interfaces in case you need to change the methods without breaking the inferface. Here is an example. Continue reading

Match Fields Early when Designing an Imaging Solution

When building an enterprise level imaging system, one of the most important early tasks is matching up the fields in the solution. A typical ERP imaging solution has fields in the following functional areas:

Scan and validation
Image repository
Workflow template
Temporary tables for line items and custom forms
EBS tables

Looking at the big picture, the entire imaging solution is simply a transportation system for meta data stored in table columns (fields) at various stages from paper scan to workflow, to voucher creation. Fields carry information that tie to a specific image document.

Many fields map across each step of the process and must have the same data types. Some fields are used uniquely during scanning, image retrieval, workflow, or in the ERP backend. It is very difficult to begin a project until all these fields are well-known and understood.

One of the challenges of matching up fields is that each area may refer to a field data type (string, integer, etc.) in a slightly different way. An experienced architect and solutions implementor will resolve the type quirks during implementation.

I’ve found the best way to understand how the fields map across the solution is to create a single table with a common set of fields names and data types with columns indicating areas of use, rather than creating separate tables spread throughout the project plan for each area.

Since project plans are lengthy, having a single field mapping table makes it much easier to create the necessary fields, templates, and tables during project implementation since you don’t have to jump around in the project document to find the needed information. Also, having a single table prevents incorrectly mapped fields between functional areas because the big picture view is simple to understand.

I like to use color to highlight specific logical field groupings and keep notes for each field. I tend to continuously revise the master table as the project unfolds and additional information is discovered and then email each revision to the key project players so that everyone is working from the same assumptions.

Here is a link to a sample field mapping table. The table can be improved by adding a column that contains realistic sample data for each field. I use basic field type nomenclature and convert the types as needed in each functional environment.

If you are responsible for putting together a project plan for an imaging system deployment, or work in a company with an imaging system, I encourage you to have a table like this that matches your system. It’s very useful.

Clint Lewis
Senior Systems Engineer
ImageSource, Inc.

 

 

The System Engineer Tool Belt and Problem Solving

Quite often, System Engineers are called upon to solve unusual problems. The greater our depth of knowledge about various technologies, the greater our problem solving ability.

My primary technology tool belt consists of knowledge in document capture, business workflow, enterprise content management, web development, .NET programming and web services, ERP Accounts Payable systems, and several other useful technology tools and systems.

Recently, a customer came to ImageSource with a problem. We had taught the customer how to use the PAWSER Oracle Imaging and Process Management (IPM) web SDK capability. What PAWSER makes possible is a specially constructed URL that can securely call an IPM system and retrieve a specific stored image. The P in PAWSER stands for “public” meaning there is no need for the calling user to log in to the imaging system.

For example, consider the following URL:

http://mywebserver/IBPMExpress/External/DocumentActionProcessor.aspx?ToolName=PAWSER&SearchName=APSEARCH&CheckDate=11/18/2009
&CheckNumber=0&VendorNum=1234567&Viewer=ImagingPlugin

URL explanation:

“APSEARCH”: This is the name of the Saved Search being queried in Oracle IPM
“CheckDate”: The field being searched
“CheckNumber”: The field being searched
“VendorNum”: The field being searched
“Viewer=ImagingPlugin”: This launches the IPM viewer

In this case, the customer was dynamically constructing this url in a J.D. Edwards WORLD ERP system to retrieve an image related to an invoice screen. The problem is that the WORLD environment only allows 123 maximum characters for the URL string. The required URL for the call has more characters than that.

So stop here, don’t look below. How would you solve the URL length problem?
Continue reading