Denise Luther Senior IT Consultant [email protected] Connect MAPICS to Anything with System...
-
Upload
richard-carson -
Category
Documents
-
view
220 -
download
1
Transcript of Denise Luther Senior IT Consultant [email protected] Connect MAPICS to Anything with System...
Denise LutherSenior IT Consultant
Connect MAPICS to Anything Connect MAPICS to Anything with System Link with System Link
(CISTECH R7.8 series)(CISTECH R7.8 series)
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 and other platforms– Request/Response
• Part of IDF– 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 rulesEditingDefault generationUser ExitsSecurityAttachmentsHost jobs and reportsLogical and object transactions
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
• 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
Link Manager 7.8
Managing System-Link
• System-Link processes must be started on auxiliary • Autostart System-Link with environment• Right click or toolbar to start/stop/restart/Move• View Logs and diagnostics
Managing System-Link
URL points to your host server
System-Link Simulator
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
System-Link Request
2-2-1414
Paste from clipboard
System-Link Request
2-2-1515
Variables
System-Link Request
2-2-1616
Check the response
System-Link Response
2-2-1717
System-Link Response
2-2-1818
Request has errors – Check the response
System-Link Response - Error
System-Link Request
Requesting System-Link from Card File
System-Link Request
2-2-2121
WRKODBCJOB command will allow you to manage System-Link jobs.
System-Link Sessions
2-2-2222
• IP address of auxiliary server will be System-Linksessions
• View job log (Option 10) for troubleshooting
• Link Manager 7.8
• Errors from associated Integrator user exits will be in QSYSOPR message queue
System-Link Sessions
2-2-2323
• 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-2424
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 Parameters
2-2-2525
• 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-2626
Constructing a Request• Write a service program with functions• for sections, tags and actions
• XML header• Login • Request• Property path wrapper based on type:
alpha, numeric• Common actions
2-2-2727
• 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
Parsing Response
2-2-2828
<<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-2929
• 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-3030
Transaction GroupStartTransactionGroup tag StartTransactionGroup tag
A StartTransactionGroup tag is used to group all subsequent maintenance actions in a request document as a single transaction.
Normally, most maintenance actions are “auto-commit”: each maintenance action commits prior to the next action being run.
2-2-3131
Transaction Group<Request sessionHandle='*current' workHandle='*new' broker='EJB' maxIdle='1000'> <Request sessionHandle='*current' workHandle='*new' broker='EJB' maxIdle='1000'> <Update name='<Update name='updateObject_Vendor1' domainClass='com.mapics.pm.Vendor'> updateObject_Vendor1' domainClass='com.mapics.pm.Vendor'> ... ... </Update></Update>
<<StartTransactionGroup /> StartTransactionGroup /> <Create name='createObject_PurchaseOrder' <Create name='createObject_PurchaseOrder' domainClass='com.mapics.pm.PurchaseOrder'>……..domainClass='com.mapics.pm.PurchaseOrder'>……..</Create> </Create> <Create name='createObject_PurchaseOrderItem1' <Create name='createObject_PurchaseOrderItem1' domainClass='com.mapics.pm.PoItem'> ………domainClass='com.mapics.pm.PoItem'> ………</Create> </Create> <Create name='createObject_PurchaseOrderItem2' <Create name='createObject_PurchaseOrderItem2' domainClass='com.mapics.pm.PoItem'> ………domainClass='com.mapics.pm.PoItem'> ………
<Create name='createObject_PurchaseOrderItem3' <Create name='createObject_PurchaseOrderItem3' domainClass='com.mapics.pm.PoItem'> ……….domainClass='com.mapics.pm.PoItem'> ……….</Create> </Create>
<Update name='<Update name='updateObject_Vendor2' domainClass='com.mapics.pm.Vendor'>updateObject_Vendor2' domainClass='com.mapics.pm.Vendor'>............. ............. </Update> </Update> </Request> </Request>
2-2-3232
•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
Style sheet used to present the XML data
2-2-3333
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-3535
Power Link transactions
2-2-3636
Power Link transactions
2-2-3737
Custom objects can be used with System-Link (EI)
Custom objects
2-2-3838
Web ServicesUse RPG, HTML, Java, PHP, MS Office,
anything that can communicate with a web server
2-2-3939
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-4040
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-4141
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-4242
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
Web Services – Price Book
Web Services – Price Book
Host edits, subscriptions…everything works
Web Services – Price Book