Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 The subset is still (all records) i.e., all the records this user is authorized to. They can still subset from here. Only warehouse 1 records appear in the list Deployment Profiles • Object/field assumes everything authorized • Deployment Profile assumes nothing authorized UI What the user chooses to see Deployment Profile What is presented to the user Object security What user is authorized to Database All objects and attributes Deployment • Object list • Content Profiles • Navigation • Maintenance • 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 ERP 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 •RPG, XML 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 Database owner [user ID] [Password] Data Sources Display SQL Server • Views, subsets, sorts • Full navigation • Navigation history • Workbenches • Code files • Graph cards • Compound cards • Attachments • 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 Consistency 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 • XML – Other ERP systems – Other platforms • Part of Power Architecture – CSM, PM, OBPM, EPDM, MM… – CO’s, PO’s, MO’s, Engineering… 2-37 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 2-38 Why use System-Link System-Link handles: Database files and fields Logical fields Business rules Editing Security You also get Release Transparency No worries about release upgrades 2-39 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-40 Managing System-Link • Use Link Manager to manage System-Link processes By environment By machine Distribute server load across resources 2-41 Managing System-Link • System-Link processes must be started • Autostart System-Link – Options at environment level 2-42 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 2-43 System-Link Simulator URL points to your host server 2-44 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-45 System-Link REQUEST 2-46 Request and Response 2-47 Paste from clipboard 2-48 Check the response 2-49 2-50 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. 2-54 System-Link sessions • IP address of auxiliary server will be SystemLink sessions • View job log (Option 10) for troubleshooting • Errors from associated Integrator user exits will be in QSYSOPR message queue 2-55 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 – Maintenance – Create records, Update an attribute – Receive confirmation – Send is the Request - Receive is the Response 2-56 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 2-57 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 %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-58 Supplier Portal - Web application •Login information used to construct Login tag •System-Link request to retrieve order lines 2-59 System-Link request returns rows 2-60 Transactions • User actions on the web page are used to construct a SystemLink 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. 2-61 System-Link Create Attachment Web portal can set attachments for document management Custom Forecast Object Custom objects can be used with System-Link 2-63 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 Length 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 CQCD U/M A 2 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 – %XML, XML-INTO, %HANDLER, XML-SAX • 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 SystemLink • Error messages are formatted as text • Linked to transaction by token System-Link Transaction Detail • XML that was passed to SystemLink • See if what you thought you sent is what was sent • Not meant for user System-Link Transaction Detail • Fields passed to SystemLink • Errors can be fixed here • Error transactions can be processed again 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 Pricebook XA edits the data Accepts some Rejects some Error messages are returned Prerequisites On the server… •Enterprise Integrator •System-Link 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) – ExamplesCode.bas – MAPICSLogonPrompt.frm Price Book version before Price book version after Host edits, subscriptions…everything works Additional questions or comments? Thank you!!