Upload
nancy-gordon
View
230
Download
4
Tags:
Embed Size (px)
Citation preview
Denise LutherProfessional Experience
• 30+ Years in Information Technology
• 5 Years XA Experience
• Software Design and Development
MAPICS Expertise
• Enterprise Integrator Trainer
• Technical Strategies for working with XA
Recent Customer Success
• Saia-Burgess – Implemented custom supplier web portal using Enterprise Integrator and System-Link
My technical background in the iSeries/XA environment
allows me to help IT professionals
implement new technologies for continued business
success .
Agenda
• What is System-Link
• Methods to connect
• Managing System-Link
• Simulator
• LPI
• Web portal
• Web services
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…
• Universal Off-Line Load• Build websites for customers,
vendors and partners that links directly to the XA database
• Web Services – industry standard way to run programs over the web
Why use System-Link
System-Link handles:Database files and fields (objects, attributes)Logical fieldsBusiness rulesEditingUser ExitsSecurity
You also get Release TransparencyNo worries about release upgrades
Why use System-Link
• System-Link Simulator– Use for testing/troubleshooting
• Directly to System-Link via LPI– Call an RPG program with parameters
• 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
Methods to Connect
Methods to Connect
•RPG can call LPI, Web Server, MQI, MQ LPI•HTML can call Web Server•Java can call Web Server and MQ JMS
• System-Link User Guide – Release 7.7– Download from Infor support website
- Documentation- Product Manuals
- Miscellaneous - SYSL
• System-Link Installation Instructions R7
System-Link References
• Use Link Manager to manage System-Link processes
By environmentBy machine
Distribute server load across resources
Managing System-Link
• System-Link processes must be started
• Autostart System-Link– Options at environment level
Managing System-Link
• Link Manager– Green circle means started– Right click to start/stop/restart/Move– Run System-Link on auxilliary machine
Managing System-Link
Navigation/System-Link requestNot required to create System-Link requests
but it makes the job easyDisplay PO’s for vendor 100 – Restricted List,
navigate from Vendor object or subset
System-Link Simulator
2-2-2626
• IP address of auxiliary server will be System-Linksessions
• View job log (Option 10) for troubleshooting
• Errors from associated Integrator user exits will be in QSYSOPR message queue
System-Link Sessions
2-2-2727
• RPG program you call from anywhere– PSVPSR1R in AMALIBx
• Parameters for the XML to send and receive– Send an inquiry
•Receive the results– Send an update
•Receive confirmation
Local Program Interface
2-2-2828
Parm Description Use Size Type
P#XREQ XML Request I 65,535 A
P#XRSP XML Response O 65,535 A
P#MRQR More records? *YES if more records to return
O 8 A
P#ERFD Internal Errors*YES if response contains errors
O 8 A
P#MSID External ErrorsPSX0122 – System-Link not startedPSX0130 – Response > 65K
O 7 A
LPI Parmeters
2-2-2929
• 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
LPI Sample
2-2-3030
• 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-by-field– You can use this technique in your programs– There are other techniques
Writing your programs
2-2-3131
<<Response_sessionHandle='1a5f739:fc75bbe92b:_7aef‘_wResponse_sessionHandle='1a5f739:fc75bbe92b:_7aef‘_workHanorkHan
<QueryListResponse_name='queryList_PurchaseOrderGe<QueryListResponse_name='queryList_PurchaseOrderGeneral‘_rneral‘_r
<DomainEntity_domainClass='com.mapics.pm.PurchaseO<DomainEntity_domainClass='com.mapics.pm.PurchaseOrder'rder'
<Key><Key><Property_path='order'><Property_path='order'>
<Value><![CDATA[P000349]]></Value><Value><![CDATA[P000349]]></Value></Property></Property>
</Key></Key><Property_path_='order'><Property_path_='order'>
<Value><![CDATA[P000349]]></Value><Value><![CDATA[P000349]]></Value></Property></Property><Property_path='vendor'><Property_path='vendor'>
<Value><![CDATA[100]]></Value><Value><![CDATA[100]]></Value></Property></Property><Property_path='vendorName'><Property_path='vendorName'>
<Value><![CDATA[Hi_Tech_Corp]]></Value><Value><![CDATA[Hi_Tech_Corp]]></Value></Property></Property><Property_path='orderStatus'><Property_path='orderStatus'>
<Value><![CDATA[20]]></Value><Value><![CDATA[20]]></Value>
Starts a new recordStarts a new record
Field valuesField values
2-2-3232
• 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
Fetch Next
2-2-3333
•HTTP Post interfaces with System-Link servlet •Login information used to construct Login tag •System-Link request to retrieve P.O. lines•Auto content security determines what rows to return•Deployment profile provides “firewall”
Supplier Portal – Web application
Upload shipping documents to host server Create PowerLink attachment via System-Link request
Supplier Portal – Web application
• Events on the web page are used to construct a System-Link request to create records in a custom transaction file. Transactions can be viewed in Power Link
• Custom transaction file is a business object with Integrator user exits.
• User exits are used to perform work on the host (update flags, dates, perform edits, default data generation)
• Integrator user exits execute if object is being maintained via PowerLink, System-Link or NetLink
• Ability to update Purchase orders directly
2-2-3636
Power Link transactions
2-2-3939
Web ServicesUse RPG, HTML, Java, PHP, MS Office,
anything that can communicate with a web server
2-2-4040
Web Services
•Create a deployment profileInclude the object(s) you wantSpecify the attributesSpecify the actions
•Generate the web service (URL)WSDL – Web services description languageIdentifies information required for Request Type of Response that will be received
2-2-4141
Web Services
•Web service provider WSDL information
•Tools for analyzing WSDL
• WDSc's Web Services Explorer• SQLData System's Generic SOAP Client • WebserviceX.NET's WSDL Analyzer
2-2-4242
Web Services – Price Book MS Excel Worksheet containing pricing dataA button on the worksheet sends data to an XA PricebookXA edits the data
Accepts someRejects some
Error messages are returned
2-2-4343
Web Services – Price Book On the server…•Enterprise Integrator•System-Link
On the client…•Microsoft Office•Microsoft Office XP Web Services Toolkit 2.0
• PriceBookExample.xls provided– Enable macros, if necessary– Change price book, etc. to match your environment
• 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)– ExamplesCode.bas– MAPICSLogonPrompt.frm
Web Services – Price Book