- Cistech


R7 Development Tools

Denise Luther

Senior Consultant, Technical Services

You might be interested in R7 and

Integrator/Enterprise Integrator if:

• You would like to (or have to-SOX) improve the security of your system

• You would like to integrate multiple systems on multiple platforms into a single user interface

• You want a more proactive system- tell me what I need to know!

• Your users like Microsoft Desktop applications, and you would like to integrate with them

• You would like to use the web to communicate with customers, partners, and employees

• You need the ability to enhance your system as your business needs change-and maintain an upgrade path

Auto Content Security-What Rows

• Special attribute classes are assigned

• On-the-fly security subsets based on values assigned to a user

• Global across all objects

• User can be setup to view all warehouse data but only allowed to maintain data in certain warehouses

Example: Item Warehouse

We want to restrict this user to warehouse 1 only.

Using a security subset

They can still subset from here.

i.e., all the records this user is authorized to.

Only warehouse 1 records appear in the list

Deployment Profiles

• Object/field assumes everything authorized

• Deployment Profile assumes nothing authorized




Object security


What the user chooses to see

What is presented to the user

What user is authorized to

All objects and attributes

Deployment Profiles

• Fields

Security for: Powerlink

…and Security for: Netlink

… and Security for: System-Link

Enhanced Security for XA

• Security Modeling and Planning

• Advanced Analysis and testing

• Routine Auditing and reporting

Alerts – Integrator Subscriptions

• Via e-mail, phone or system message

• Can also run a program

PO P012345 for $11,283.19 needs approval


Define the event

• Choose the object

• Define the type of maintenance

Define the event

• Like a subset

• Some new features

– Before

– After

– Difference

– %Difference

Flexible notification

• Notify users

• Email or Cell phone

• Notify a program


Notify via e-mail

Substitute Email from vendor object as To address

Notify via cell phone

Data Sources

Other Platforms

Files from another iseries

Files in another XA environment

Data Sources - Drivers

You must acquire drivers from the database provider

Place them in /MAPICS/driverlib

IFS directory where MAPICS is installed

They will work for all environments

Drivers are no-charge and can be downloaded from the web

Data Sources - Drivers iSeries – already installed

Access – already installed

SQL Server – SQL Server Driver for JDBC

Oracle – need 9i driver

PostgreSQL – need driver for JDBC3 Platform

Data Sources – SQL Drivers

Data Sources

[dsh] : [port]


Database owner

[user ID]


Data Sources

Display SQL Server

Views, subsets, sorts

Full navigation

Navigation history

• Workbenches

• Code files

• Graph cards

Compound cards


Column functions

Navigate to SQL Server table

Navigate to SQL Server table

Navigate from iSeries objects to external objects

Native menus automatically reflect new choices

Consistent UI across platforms

Acts like one system to the user

See outside data from within an object

• Show data in context

Cards can be external data sources

• Drill-down capability across platforms

5-1. Reduce Development Costs and Schedules

User Exit Code Generation

No downloads

More control

More Exits


Exported with object

Enterprise Integrator extends these advantages to your custom objects

(no more triggers)

Compile program

Display Compile listing

Generate program

User Exit Source

Deliver Easy-to-use Applications

Mass Program Actions

Downloadable sample code and instructions are provided

Pass parameters including dynamic token

Program will process all selected records or records within the current subset

Use when standard mass change will not handle your requirements

Improved management for environments

Import/Export individual objects

Use subsets or selected records to limit export

Improved management for environments

Integrator Projects and object maintenance history

Create Projects to track development activity

Each change is logged to a project

View history of project changes

Object transactions

• Better way to do Program actions

– Requires EI

– Transactions Card in Integrator

– Parameters defined as attributes

• Edits

• Default generation

• User Exits

Object Transactions

Object Transactions

• Attribute (Number of copies) is required entry

• User Exit calls the print program

What is System-Link?

• Program to program interface between XA and other systems.

– Inquiry/Maintenance

– Replacement for offline load


– Other ERP systems

– Other platforms

• Part of Power Architecture


– CO’s, PO’s, MO’s, Engineering…


Why use System-Link

Any object available in Power-Link can be loaded

Only certain files are available for offline load

System-Link has a standard interface

Every application is a different flavor of offline load

Secondary objects can be loaded

Extra fields defined by user

Non-XA Primary objects can be loaded

Add, Change and Delete are supported

Power-Link edits are enforced

Including user defined edits


Why use System-Link

System-Link handles:

Database files and fields

Logical fields

Business rules



You also get Release Transparency

No worries about release upgrades


System-Link References

• System-Link User Guide – Release 7.7

– Download from Infor website

• Documentation

– Product Manuals

» Miscellaneous


• System-Link Installation Instructions R7

• Configuring WAS 5.0 Express on W2K for

System-Link R7 (SH14777) Servlet information


Managing System-Link

• Use Link Manager to manage System-Link processes

By environment

By machine

Distribute server load across resources


Managing System-Link

• System-Link processes must be started

• Autostart System-Link

– Options at environment level


Methods to connect

• System-Link Simulator

– Use for testing/troubleshooting

• To web server via XML

– Web pages – Java/HTML

• Directly to System-Link via LPI

– RPG/CL programs

• Web Services

– Anything Microsoft-enabled

– Requires Enterprise Integrator

• IBM’s WebSphere MQ

– Global enterprises

– Requires IBM products


System-Link Simulator

URL points to your host server


Using System-Link Simulator

• Display PO’s for vendor 100 – Restricted List, navigate from Vendor object

Navigation/System-Link request

Not required to create System-Link requests but it makes the job easy


System-Link REQUEST


Request and Response


Paste from clipboard


Check the response



System-Link Update

Requesting System-Link from Card File

Copying a Create System-Link Command

System-Link sessions

• WRKODBCJOB command will allow you to manage System-Link jobs.


System-Link sessions

• IP address of auxiliary server will be System-

Link sessions

• View job log (Option 10) for troubleshooting

• Errors from associated Integrator user exits will be in QSYSOPR message queue


Local Program Interface

• RPG program you call from anywhere


• Parameters for the XML to send and receive

– Inquiry – Request rows (view) or details (cards)

– Receive the results

– Maintenance – Create records, Update an attribute

– Receive confirmation

– Send is the Request - Receive is the Response


LPI Sample

• Illustrate one way of using System-Link with your

RPG programs

– Send a request

– Parse the response

• Available as a download

– SH14873

• Create a report of PO’s for a vendor

• Use RPG to…

– Send XML request to LPI

– Receive and parse XML response from LPI


Writing your own programs

• Sample parsing program is written generically

– Can be used for just about any object (use it for yours)

– V5R4 New XML functions for parsing


• Sample print program calls the parser field-byfield

– You can use this technique in your programs

– There are other techniques


Supplier Portal - Web application

Login information used to construct Login tag

System-Link request to retrieve order lines


System-Link request returns rows



• User actions on the web page are used to construct a System-

Link request to create records in a custom transaction file.

• Custom transaction file is a business object with Integrator user exits.

• User exits are used to perform work on the host (update flags, dates, secondary business object)

• Integrator user exits execute if object is being maintained via

PowerLink, System-Link or NetLink.


System-Link Create Attachment

Web portal can set attachments for document management

Custom Forecast Object

Custom objects can be used with System-Link


System-Link replaces Off-Line Load

• Create the System-Link requests from an interface file

– Separates the XML logic from the load function

• XML logic can be adjusted without changing load program(s)

– Can be used to track XML requests

• Who, what, when created the request?

• When was the request processed?

• Were there any errors?

– Errors can easily be fixed in the file

• Changing XML would be problematic

– Group requests

• Process various types of objects together

• Processing can take place in batch mode as unattached job

• Sequence objects are processed in is important

Sample System-Link Interface File

File name . . . SYSLNKCD Customer Order Line Item - Interface

Format name . . SYSLNKCDR0 Key . . . Sequential

Field Field Text Type


AENB Company number S 2,0

DCCD Internal header type A 1

CVNB Quote/order number A 7

KTNB User entered sequence no. A 7

ACQT Order qty In order U/M P 10,3

AITX Item number A 15


A3CD Warehouse A 3

SYST System-link Status A 1

TKEN Token used to uniquely identify record A 15

ACDA Action Code A 1

NWCD Group ID A 10

CRDT Create date P 7,0

CRTM Create time P 6,0

CRUS Created by user A 10

CRPG Create program A 10

CHDT Change date P 7,0

CHTM Change time P 6,0

XML Error Messages

• Errors are returned in XML format in the Response

– Error needs to be parsed out

• Can be found by scanning for:

< Message type=“error”><Text><![CDATA[

• Multiple messages can occur for one request

• In V5R4 native RPG commands aid XML parsing


• How are errors managed?

– How are they presented, organized, resolved?

• Watch for external errors

– These do not show up in response

Groups with Errors

• In this model requests are grouped by group ID

Message or e-mail could be sent to user

Errors in the Group

• On overview is used to show multiple record types

System-Link Transaction Detail

• Error(s) returned from



• Error messages are formatted as text

• Linked to transaction by token

System-Link Transaction Detail

• XML that was passed to System-


• See if what you thought you sent is what was sent

• Not meant for user

• Fields passed to



• Errors can be fixed here

• Error transactions can be processed again

System-Link Transaction Detail

System-Link Transaction Detail

• Who initiated this transaction

• When was it initiated

• What program created the transaction

• When was the transaction processed

Web Services Example

MS Excel Worksheet containing pricing data

A button on the worksheet sends data to an XA


XA edits the data

Accepts some

Rejects some

Error messages are returned


On the server…

•Enterprise Integrator


On the client…

•Microsoft Office

•Microsoft Office XP Web Services Toolkit 2.0

Deployment Profile

Generate Web service Catalog

Steps in Excel

Search for web services

– Tools => Macros => Visual Basic Editor => Web

Service References

Enter the URL from the deployment profile

• Add two services

– PriceBookBasePriceSvc

– SystemOperations

Import sample code (File => Import File)



Price Book version before

Price book version after

Host edits, subscriptions…everything works

Additional questions or comments?

Thank you!!