System-Link Workshop for Programmers
Download
Report
Transcript System-Link Workshop for Programmers
XA System-Link
A Powerful
Development Tool
Denise Luther
[email protected]
What is System-Link?
Bridge between XA and other systems
Inquiry
Maintenance
XML – Standard interface
Other ERP systems
Other platforms
Part of Power Architecture
CSM, PM, OBPM, EPDM, MM…
CO’s, PO’s, MO’s, Engineering…
2-2
Why use System-Link
Replacement for offline load
Access any object available in Power-Link
Only certain files are available for offline load
Secondary objects can be accessed
Extra fields defined by user
Non-XA Primary objects can be accessed
Add, Change and Delete are supported
Power-Link edits are enforced
Including user defined edits
2-3
Why use System-Link
System-Link handles:
Database files and fields
Logical fields
Business rules
Editing
User Exits
Security
You also get Release Transparency
No worries about release upgrades
2-4
Methods to connect
System-Link Simulator
Use for testing/troubleshooting
Directly to System-Link via LPI
RPG/CL programs
To web server via XML
Web pages – Java/HTML
Web Services
Anything Microsoft-enabled
Requires Enterprise Integrator
IBM’s WebSphere MQ
Global enterprises
Requires IBM products
2-5
System-Link References
System-Link User Guide – Release 7.7
Download from Infor website
Documentation
Product Manuals
Miscellaneous
SYSL
System-Link Installation Instructions R7
Configuring WAS 5.0 Express on W2K for
System-Link R7 (SH14777) Servlet information
2-6
Managing System-Link
Use Link Manager to manage System-Link
processes
By environment
By machine
Distribute server load across resources
2-7
Managing System-Link
System-Link processes must be started
Autostart System-Link
Options at environment level
2-8
Managing System-Link
Link Manager
Green circle means started
Right click to start/stop/restart/Move
2-9
Managing System-Link
2-10
System-Link Simulator
URL points to your host server
Make a desktop shortcut or bookmark
2-11
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
2-12
System-Link REQUEST
2-13
Paste from clipboard
2-14
Variables
2-15
Check the response
2-16
2-17
Make adjustments
Deleted e
2-18
Request has errors – Check the response
2-19
Update System-Link Command
Requesting System-Link from Card File
Copying a Create System-Link Command
System-Link sessions
ODBCJOBR7/WRKODBCJOB command will allow
you to manage System-Link jobs.
2-23
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
2-24
Local Program Interface
RPG program you call from anywhere
PSVPSR1R in AMALIBx
Parameters for the XML to send and receive
Inquiry – Request rows (view) or details (cards)
– Receive the results or error
Maintenance – Create records, Update an attribute
– Receive confirmation or error
2-25
LPI Parameters
Parm
Description
P#XREQ
XML Request
I
65,535
A
P#XRSP
XML Response
O
65,535
A
P#MRQR
More records?
O
8
A
P#ERFD
Internal Errors
O
8
A
P#MSID
External Errors
PSX0122 – System-Link not
started
PSX0130 – Response > 65K
O
7
A
*YES if more records to
return
*YES if response contains
errors
Use
Size
Type
2-26
LPI sample
Available as a download
SH14873
Illustrate one way of using System-Link with your
RPG programs
Send a request - Send XML request to LPI
Parse the response - Receive and parse XML
response from LPI
Create a report of PO’s for a vendor
Only change required – Supply data for login
substitutions
2-27
Writing your programs
Sample parsing program USRLPI1R is written
generically
Can be used for just about any object (use it for
yours)
V5R4 New XML functions for parsing
%XML, XML-INTO, %HANDLER, XML-SAX
Sample print program calls the parser field-byfield
You can use this technique in your programs
There are other techniques
2-28
<Response_sessionHandle='1a5f739:fc75bbe92b:_7aef‘_workHan
<QueryListResponse_name='queryList_PurchaseOrderGeneral‘_r
<DomainEntity_domainClass='com.mapics.pm.PurchaseOrder'
Starts a new record
<Key>
<Property_path='order'>
<Value><![CDATA[P000349]]></Value>
</Property>
</Key>
<Property_path_='order'>
<Value><![CDATA[P000349]]></Value>
</Property>
<Property_path='vendor'>
Field values
<Value><![CDATA[100]]></Value>
</Property>
<Property_path='vendorName'>
<Value><![CDATA[Hi_Tech_Corp]]></Value>
</Property>
<Property_path='orderStatus'>
2-29
FetchNext
Don’t ask for too many records at once.
You set the limit with MaxReturned
LPI tells you if there are more.
‘FetchNext’ is the way to get more.
Our sample programs shows you how.
Create loop that processes until P#MRQR
= *NO
2-30
Supplier Portal - Web application
Login information used to construct Login tag
System-Link request to retrieve P.O. lines
Auto content security determines what rows
2-31
System-Link request returns rows
2-32
Transactions
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, create attachments)
Integrator user exits execute if object is being
maintained via PowerLink, System-Link or
NetLink.
2-33
Custom Forecast Object
Custom objects can be used with System-Link
2-34
Thank You
Questions?
Denise Luther
[email protected]