SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure...

255
Excellence Series User Guide SouthWare ® NetLinkRevision 15

Transcript of SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure...

Page 1: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Excellence SeriesUser Guide

SouthWare®

NetLink™

Revision 15

Page 2: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NOTICE

The information in this document is subject to change without notice. SouthWareInnovations, Inc. assumes no responsibility for any errors that may appear in thisdocumentation.

COPYRIGHT NOTICE

Copyright © 1983 - 2009 by SouthWare Innovations, Inc. All rights reserved. Printed in the United States of America. No part of this publication may be reproduced ortransmitted in any form or by any means without the written permission of SouthWareInnovations, Inc. Auburn, Alabama. Violations of the copyright law may result insubstantial civil and criminal damages and penalties.

TRADEMARK NOTICE

SouthWare® , SalesMark® and TaskWise® are registered trademarks of SouthWareInnovations, Inc. SouthWare Excellence Series™, DocTransfer™, ExcelAssist™,ExcelReport™, ExecuMate II™, Extended Data™, ImportMate II™, InternationalTransactions™, ReportMate™, SwiftGen™, SwiftMate™, SouthWare Forms™,SouthWare NetLink™, SouthWare WorkFlow™, StopCheck™, and AnswerReady™ aretrademarks of SouthWare Innovations, Inc.

Other products and company names used in this publication are for identificationpurposes only and may be trademarks or registered trademarks of their respective owners.

Page 3: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Table of Contents

SouthWare Excellence Series™ (Revision 15) 3

Table of Contents

Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

SouthWare NetLink™ - Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6What is a Live Portal? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11How Do I Use Live Portals? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Multiple Active Portals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Concept of Moving “Forward” to do work . . . . . . . . . . . . . . . . . . . . . . . . . . . 13What Live Portals Are Available? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Can I Enter Data in a Live Portal? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Security within Live Portals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

NL-01 Set Up NetLink Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

NL-01-01 NetLink Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

NL-01-02 Request Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

NL-01-03 Valid Requestor Logins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

NL-01-04 Parameters for RM Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Ability to Enter Literals/Constants as the Values for RM Parameters . . . . . . . 59Option to Format Included ReportMate Reports as Sharp Grids . . . . . . . . . . . 77

NL-01-05 Data Table Formats for Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

NL-01-06 Print NetLink Request Type Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

NL-01-07 NetLink Request Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

NetLink Request Creator Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . 100

NL-01-08 HyperLink ID Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

NL-01-10 Transfer Records Between Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

NL-02 Data Import Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

NL-02-01 Review Requested Import Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

NL-02-02 Process Pending Import Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Page 4: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Table of Contents SouthWare NetLink™

4 SouthWare Excellence Series™ (Revision 15)

NL-02-03 Purge Import To Do File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

NL-03 Request History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

NL-03-01 Review Request History Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

NL-03-02 Print NetLink History Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

NL-03-03 Purge NetLink History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

NL-04 Pending NetLink Sales Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

NL-04-01 List Pending NetLink Sales Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

NL-04-02 Purge Obsolete Pending Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Appendix A - Server Requirements for NetLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Appendix B - Using NetLink Requests in a Browser . . . . . . . . . . . . . . . . . . . . . . . . . 145Handheld-Oriented NetLink Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Appendix C - Working with NetLink Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163What You Do and Don’t Need to Know about HTML . . . . . . . . . . . . . . . . . 163The Basic Components of a Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164How NetLink Uses a Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Displaying a Picture/Image in a Template . . . . . . . . . . . . . . . . . . . . . . . . . . . 168How to Use a Variable Include File Name . . . . . . . . . . . . . . . . . . . . . . . . . . 169How to Specify in the Link What Content to Include in a Page . . . . . . . . . . 170Tips on Customizing and Creating Templates . . . . . . . . . . . . . . . . . . . . . . . . 171Creating a Template to Accept/Submit a Form . . . . . . . . . . . . . . . . . . . . . . . 173Using Form Data in the Next Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Saving Form Data for Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Additional Fields Available for NetLink Sales Order Templates . . . . . . . . . 177User-defined Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177Template Security Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178NetLink Resource Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Appendix D - NetLink Reserved Variable Names . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Appendix E - Extracting Data with ReportMate™ . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

Appendix F - Saving Form Data for Importing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Page 5: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Table of Contents

SouthWare Excellence Series™ (Revision 15) 5

Appendix G - Programmer Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221NetLink Sales Orders Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227Extended Data option for NetLink Order Header and Line Item Files . . . . . 237Ability to Copy a NetLink Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Item Group Matrix Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Marketing Catalog Option for Item Selection Pages . . . . . . . . . . . . . . . . . . . 241Option to Switch User Login Within Same Session . . . . . . . . . . . . . . . . . . . 241Using RCF Packets with NetLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

Appendix H - Technical Specs, File Names, and Licensing Errors . . . . . . . . . . . . . . 247

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253NOTES:

Page 6: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Introduction SouthWare NetLink™

6 SouthWare Excellence Series™

SouthWare NetLink™ - Introduction

SouthWare NetLink™ is a revolutionary tool that lets you provide simple and controlledbrowser-based network access to your company data files. It is designed primarily as abusiness-to-business application but can also be used for consumer-to-businessprocesses. Your customers, vendors, employees, business partners, and other people canboth access data and submit data from any computer that can access your data files viaInternet technology.

Since NetLink is tightly integrated with the SouthWare Excellence Series™ you can getthe best of the two computer worlds:

U For high-volume processing of business information you get the power, speed,control, and built-in sophistication of SouthWare’s mature business applicationsrunning on your internal system. Your day-to-day work is not hindered by thelimitations of browser-based access.

Page 7: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Introduction

SouthWare Excellence Series™ 7

U You and your partners can use Web browsers to access selected data and send datato be updated using the "stateless" transaction-based mode of intranets and theInternet.

From a simplified perspective, NetLink:

L Receives an Internet-type browser request from an authorized employee, customer,vendor, or other party

L Obtains data for a response (if necessary) by running up to nine ReportMate formatsthat extract the data needed from your SouthWare files

L Prepares a response by using the extracted data to replace variables in HTMLtemplates and produce a browser page

L Returns the page to the Requestor

L If the Request contained form data to be imported into SouthWare, saves the data inan importable format and keeps a log of the data that needs to be imported.

L Logs the information about the Requestor and the Request.

Page 8: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Introduction SouthWare NetLink™

8 SouthWare Excellence Series™

Here’s a broader overview of how NetLink is configured:

1. Your internal SouthWare system resides on your internal computer system for yourtypical interactive data processing. Access to your files is controlled by the manystandard SouthWare security features.

2. SouthWare NetLink™ resides on the Web server that you use to provide Internet orintranet information. This could be the same system as your internal server, but maybe a separate Web-only server. NetLink requires:- NetLink programs and configuration files- A SwiftMate™ license, which includes:

- ReportMate run programs and files- ImportMate II run programs and files(You must license ReportMate and/or ImportMate II if you need to edit thestandard formats.)

- A license for NetLink Server that allows enough users to handle the maximum

number of simultaneous requests you’ll receive OR

- an Intranet NetLink license that shares seats with your other applications- HTML template files- Access to your data files (see next point)- An Acucobol® runtime licensed for enough users to handle the maximum

number of simultaneous requests you’ll receive.

3. Your data files must be accessible to NetLink. You could:- Use the same server- Provide server-to-server access- Copy or replicate your data files

4. In NetLink you set up or modify standard configuration files to handle NetLinkRequests:

U A configuration file to specify defaults and directory pathing.U A file of Request Types, which define what NetLink should provide to a

browser in response to a particular Request. NetLink uses HTML templates asthe format for Responses, so each Request indicates:- an HTML template to use- a source of variable data to insert into the Template (this is usually one or

more files created on-the-fly by ReportMate)- whether Form data is to be saved for later import into your SouthWare files

U A file of valid Requestors, the persons and organizations who can access your

Page 9: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Introduction

SouthWare Excellence Series™ 9

data via NetLink. This file also controls which Requests they can make.

5. You must configure your Web server to recognize how to invoke the NLNETUPDprogram in response to client requests. You must also provide a link from yourcompany Web site to your NetLink home page.- Your cblconfi file for Acucobol must contain a FILE-PREFIX directive that

points to your run directory and a FILE-SUFFIX command that uses FIL.

6. When an authorized Partner logs in to NetLink, the NLNETUPD program willassign a session number to that Requestor and provide the list of Requests for thattype of Requestor.

7. Each time the Requestor submits a Request for a session, NetLink will verify that the

Request and Requestor are valid before continuing. This is necessary because of

the "stateless" mode of the Internet - each Request is independent since there isnot a continuing connection.

8. For each valid Request, NetLink:- extracts the request info- validates the Requestor and Request- runs an RM report if needed to extract data- merges the extracted data into the appropriate HTML format- sends the resulting HTML page back to the server to be returned to the

Requestor- logs the Request and optionally saves the Request info for later importing

Here are some of the benefits you get from the flexibility of SouthWare NetLink™:

L You can use NetLink right away because of pre-defined Requests, but all theinformation is customizable.

L There are many available HTML editors or Web-page tools you can use to createyour templates, so you can create exactly the look you want for your NetLink pageswithout learning HTML.

L You can expand NetLink to an unlimited number of Request types.

L You can extract any data from SouthWare that is available via ReportMate, and youcan do it using the normal ReportMate features. There’s no new programming tolearn and no need to embed SQL commands in scripts!

Page 10: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Introduction SouthWare NetLink™

10 SouthWare Excellence Series™

L You can use the Pre-Formatted option to output report data in its printed “look” forreview in your browser.

L You may easily output report data as browser tables for attractive viewing.

L You can create your own variables in your ReportMate format for insertion into yourcustom HTML templates.

L You can create Request pages that ask for parameter variables (such as ranges andrecord selection criteria tests) to use in generating data from ReportMate.

L You can control who can see what data via NetLink. This is in addition to thesecurity features of your network.

L You can receive browser Form data and store it in files ready for import into

SouthWare via ImportMate II™. This gives you keyless transfer of data while

utilizing ImportMate II’s extensive validation to help ensure the integrity of thedata you bring into your system.

Page 11: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Introduction

SouthWare Excellence Series™ 11

Live Portals

Introducing...... the next generation of user experience!

SouthWare Live Portals provide a new user-experience “wrapper” around the SouthWareproducts. With Live Portals you get the best of both worlds:

T You get a simple but powerful way to perform the common functions of your job viaintuitive web pages.

T You still have instant access to any of the other functions available in SouthWare.

Live Portals preserves the features you like about SouthWare while providing a betterway to get work done.

What is a Live Portal?Live portals is the concept of providing a way for users to interact with SouthWare

Page 12: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Introduction SouthWare NetLink™

12 SouthWare Excellence Series™

products via intuitive, dynamic web pages. Web pages are a familiar paradigm to mostfolks today, and using this approach helps minimize training and ensure efficiency. Inprevious revisions SouthWare introduced the concept of Personas as static web pageportals. Now Live Portals builds on that concept to create dynamic (“live”) rather thanstatic portals.

SouthWare has blended several different technologies to create Live Portals. The resultis a user experience that has the familiarity of a web page but provides functionality moresimilar to a program. Key benefits of Live Portals include:

i More Integrated Data - Live Portals bring related data to you instead of makingyou find it in various places in the system.

i More Access to Functions You’ll Use - Live Portals integrate functions fromvarious modules so you don’t have to find them in the menus.

i Less Complexity - Live Portals hides features that don’t need to be seen by mostoperators.

i Less Navigation - Live Portals are designed to minimize keystrokes and navigation.

How Do I Use Live Portals?The first time you log in for a SouthWare session after loading this upgrade you will seea brief introductory screen and then you will be taken to SouthWare’s Web Menu. Thedefault starting view is “WIMAIN” which provides a tabbed desktop for the differentLive Portals you use. You can use the features of the Overview tab to set the Web Menuas your default and to set defaults for other features of Live Portals.# An “Overview” tab summarizes the Live Portals and lets you configure some of the

defaults you can use.# A “Roles” tab gives you access to the different persona roles you use.# A “People” tab gives you access to all the available info about the people you work

with.# A “Tasks” tab lets you see and process your tasks (requires TaskWise license).# An “Analysis” tab gives you access to several data summary portals (subject to

security).# An “Alerts/News” tab gives you access to the current status of any alerts and recent

company News items (requires TaskWise license).

To access any of the categories you simply click on the tab. Then click on any of the infoor options available to bring new data or functions to your desktop.

Multiple Active PortalsOnce you open a Live Portal it will stay active until you log off or exit the Web Menuprogram. This means that you can switch back and forth between portals, and when youreturn to a portal it will be in the same state that you left it. It’s like having multiple taskson your desk at the same time that you can switch between as needed.

Page 13: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Introduction

SouthWare Excellence Series™ 13

Each Active Portal is maintained in its appropriate tab, so switching is much simpler thanhaving lots of stacked windows on your screen:‚ When you switch back to a major category (such as “Tasks”) the tab will show the

last page you were displaying in that category.‚ If you have been in multiple sub-tabs (such as multiple Roles) then when you

switch back to a sub-tab it will also show the last page you were displaying inthat sub-tab.

So for example, let’s say you are reviewing a service contract for a customer from theservice manager portal. Here’s a sample of how you might use portals over the next fewminutes:@ You have some questions about the customer so you click on the People tab and

bring up the customer view. @ You pull up a list of all the equipment you have sold to the customer and start

reviewing the details. @ Then you get a phone call from a customer. You click on the Tasks tab and add a

new task to record the call. @ Then you click on the People tab and you see the last page you were viewing.

Within the Customer view you even bring up the same contract details you wereviewing in your Roles portal.

Concept of Moving “Forward” to do workWith software you often select functions to move forward and build up a stack ofwindows. This is useful but can get confusing as you shuffle between windows andclose windows trying to get “back” to where you were.

With Live Portals you no longer need to go “back” - you can simply continue to moveforward doing your work. If you happen to move to a portal that is already active you’llbe right back where you were. But you don’t need to build up a long navigation streamand then close all those windows. The pages you’ve used remain active, but they staywithin their tabs so they’re available if needed again but are not “loose ends” you need toclose. What Live Portals Are Available?It would be misleading to try to include a full list of the available Live Portals. At thetime of release there are over 250 different primary pages contained within Live Portals,and we continue to add new portals and functions to existing portals. We will makesome of these available as FLASH updates for Rev 15. So instead of a complete listwe’ll outline a few key sub-portals for each category:

‚ Role Portals - you now have a Live portal for each Persona Portal available inprevious revisions. These have been turned from static portals to NetLink requeststo take advantage of Web Grids, Google charts, and other Live Portal technology.

Page 14: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Introduction SouthWare NetLink™

14 SouthWare Excellence Series™

‚ People Portals - there are separate “hubs” of info for customers, vendors, employees,TaskWise relationships, and TaskWise contacts. Within each hub there is anoverview along with available listings and search functions. When you select arecord for more info you will see a record “hub” that integrates all the related infofor that company/person into a single place. There are dozens of Web Grids, Charts,and entry screens available.

‚ Task Portals - there are various task lists, task add functions, task edit functions, andtask review functions built into this hub.

‚ Analysis Portals - there are separate hubs to analyze areas of data such as SalesOrders, Service Orders, Sales Opportunities, Contacts, etc. Within each hub thereare various Web Grids and other page options.

‚ Alerts/News - this provides various Web Grid analysis of open alerts and providesaccess to news topics (including adding new topics)

Can I Enter Data in a Live Portal?Yes. Live Portals utilize ImportMate to provide the ability to add, edit, and selectivelydelete data shown in portals. At the time of initial release there are several editing pageswithin the portals and several more will be added in the weeks following the initialrelease.

For example, with Live Portal pages available at the initial release you can:• Add customers• Edit customer name/address info• Add customer notes• Edit employee basic info• Add employee notes• Add Sales Prospects• Add Sales Opportunities• Edit Sales Opportunities• Add tasks• Edit tasks• Delete tasks• Edit relationship info• Edit service orders• Edit service order line items• Delete service order line items• Edit basic stock item info• Add a vendor• Edit vendor name/address info• Add a vendor note• Add contacts• Edit contacts

Page 15: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Introduction

SouthWare Excellence Series™ 15

Security within Live PortalsThere are various methods of securing the data and functions available in Live Portals:

• NetLink Request Access Mask - This allows you to restrict access to a requestbased on a masking code defined in the requests and in the requestor records. Seethe NetLink documentation for more information.

• Operator/Group Access - This allows you to restrict access to a request to a singleoperator or operator group. See NL-01-02, field 6, for more information.

• Conditional Template Security - This allows you to secure selected portions of aweb page template based on operator security. See “Template SecurityComments...” in NL-01-02 for more information.

Using the Live Portal interface applies the normal SouthWare security checking to allSouthWare programs. This security is in addition to the options above.

Updates to Live PortalsBecause many of the files associated with Live Portals are company specific, you nowhave a new folder named swupd15 that resides in your SouthWare run directory. • When you log in, the system checks the contents of this folder for the file

UPDATE.00. • If this file exists, the program compares the Created Date in UPDATE.00 against the

last updated date in your company record XX0302 field #15: Last SouthWareUpdate.

• If the date in the company record is less than the date in UPDDATE.00 the extractpackager will load all the new records into that company and copy any files inswupd15/nlhtml to the appropriate directory.

Other Notes• You may need to add the SouthWare Server as a local intranet zone to ensure that

Live Portals work correctly without browser security errors.• Some browser add-ons may interfere with Live Portals in WebProcessor mode. For

example, if you have installed a search add-on that manipulates all URLs, this mayinterfere with the WebProcessor handling of URLs. If the SouthWare Web Menudetects this issue it will try to help you correct it, but some products you may have todeactivate or uninstall if they manipulate browser URLs.

• You must have internet access to view Google charts.

Page 16: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Introduction SouthWare NetLink™

16 SouthWare Excellence Series™

Remote EmployeesA new license option is available for employees who want to access Live Portals frombrowsers outside of SouthWare. This could include employees on the road, workingfrom home, outside salespersons, etc. The Remote Employee license lets them use theLive Portal features without being logged into a SouthWare session.

An employee can log in to Live Portals using either of two licenses:

Internal License Seat You may use a standard license seat to access Live Portals. In the Requestorrecord (NL-01-03) you may access field 13 and enter “S”. This option wouldlikely be used when an employee normally works in the office and wants to usethat license seat when logging in from out of the office.

Remote Employee License Seat

You may use a remote employee license seat to access Live Portals. This optionis used when an employee does not have access to a SouthWare login and doesnot need all of the functionality of the standard SouthWare login session.

Auto-Assign OptionYou may also specify that the system should auto-assign the license seat for anemployee based on license seat availability. This is specified in NL-01-03 field13 as well.

For an auto-assign employee the program first tries to use a Remote Employeeseat. If no Remote Employee license seats are available the program will thenuse a SouthWare Internal License Seat if one is available.

This method has the advantage of best utilizing available seats. However, if youdon’t have enough seats licensed you may find that people who normally log onto SouthWare to do their work won’t be able to log in.

Remote Access FunctionsWhen logged into Live Portals remotely via a browser you may use all of the Live Portalfunctions except for those that are special capabilities of the SouthWare WebViewbrowser. At the time of release the primary special capability not available to RemoteEmployees is the Call to SouthWare programs that require user interaction.

Internal License Limitations“I” type requestors were allowed in previous revisions, and we are honoring thatcapability by allowing an “I” type requestor without an internal license seat. However, we expect Remote Employees will increasingly be used as an alternative

Page 17: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Introduction

SouthWare Excellence Series™ 17

to a standard login license so we will be requiring an internal license seat for use of

new features. Certain new features such as Live Portals are not available to “I”

type requestors accessing NetLink from outside a SouthWare login session unless

they are using an Internal or Remote Employee license.

Live Portals features require an internal license. To access Live Portals from anoutside browser you must use an Internal license seat or a Remote Employee licenseseat. If you try to use one of these features for an “I” type requestor without theappropriate license the page will simply return an error message explaining that thisfeature is not available without the proper license.

At the time of release the features that require an Internal License seat for use byInternal requestors accessing from an outside browser include:• Any standard Live Portal pages• Web Grids• Google Charts• XML Data Output• Conditional Security for Templates• Variable Template Names• Variable Primary Files

As new features are added to Live Portals they will continue to be restricted to usersthat have a valid internal license seat (normal SouthWare login seat or RemoteEmployee seat).

Page 18: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Introduction SouthWare NetLink™

18 SouthWare Excellence Series™

Notes:

Page 19: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01

SouthWare Excellence Series™ 19

NL-01 Set Up NetLink Files

With the options in this section you set up and maintain the system filesused by NetLink. Many of the standard records are automatically setup for you when you create your initial configuration (NL-01-01). Touse the standard NetLink information you simply need to:

T Set up the Configuration recordT Set up the Requestor IDs for the people you want to be able to

access customer, vendor, or internal information.

Page 20: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

20 SouthWare Excellence Series™

Sample NetLink Configuration Record

NL-01-01 NetLink Configuration

In this program you define the global options for NetLink.

1. Session Parameters:

This field displays a plus box so you can define parameters about aRequestor Session.

Multi-Company?

Here you must indicate whether you are using NetLink withother Company IDs on the same system. - If you enter “Y” then you must edit the standard login

request templates or create your own requests to providethe value of the variable “CO_ID” at the beginning ofeach session. See Appendix B for more details.

- If you enter “N” then the Company ID should be in theALNLCFG.SEQ file in your SouthWare run directory. The Company ID is specified in this text file by having aline in the format:

CO_ID=xxx

where xxx is your Company ID.

If you do not already have the ALNLCFG.SEQ file theprogram offers to create it for you.

Page 21: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-01

SouthWare Excellence Series™ 21

Minutes for Timeout

In this field you indicate how long a Session should beconsidered active after the last request. Enter a number ofminutes (up to 999). If a Request comes in to NetLink for aSession and the Date/Time of the Request is more than thisnumber of minutes after the last request for the Session,NetLink will deny the request and return to the NetLink logonscreen for the Requestor Type.

This is a valuable security feature since browser-basednetworks are "stateless" and NetLink won’t know when aRequestor logs off unless he uses the Logoff function.

Override Mins for Internal:

You may optionally specify to have a different timeoutinterval for internal-type requestors. Normally you would usethis to allow a longer period of inactivity for internalrequestors than you do for external requestors.

If you want the timeout interval to be different for internalrequestors than for external requestors you may enter atimeout minutes for internal sessions. You may leave thiszero if you don’t want to use a different interval for internalrequestors.

2. Directories:

This field displays a plus box of directory definition info:

Local Standard Template Directory

Enter the Local Directory (on the server) which should beused for templates and Response files. This must be thedirectory that contains the HTML template files and theirrelated graphic files and subdirectories. This directory must

have read/write permission since NetLink will read the

templates and write temporary files into this directory. Forexample, your local server directory might be“C:\internet\inetpub\scripts\netlink\” if you install these underthe executable CGI directory.

If your server does not easily accommodate directories underthe executable directory, you may want to put the directoryunder your SouthWare directory (such as “C:\sw8\netlink”).

Page 22: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

22 SouthWare Excellence Series™

See also the “Local Custom Template Directory” below.

tmp DirectoryNetLink places some files such as grid files and temporary htmlpages into a “tmp” directory under the Local Template Directory. This directory MUST be accessible to browser users since pageswill reference files in this directory.

Automatic Cleanup of Old NetLink Temporary Files

The system cleans up temporary files needed for NetLinkprocessing. Each time a SouthWare operator logs on thesystem will delete any temporary NetLink files that are datedprior to the current system date. This prevents the temporarydirectory from becoming too large and eliminates the need formanual clearing of the directory.

Local Custom Template Directory

This field gives you the option to store standard NetLinktemplates in one directory and your customized templates inanother directory. This makes it easier to load standardNetLink updates since you can load new standard templateswithout overwriting ones you have customized. This givesyou an alternative to using different names for customizedversions of standard page templates.

If you want to use this feature enter a valid Local Directorypath name. If you leave this field blank NetLink will use onlythe Local Standard Template Directory (above). If you enter aCustom Directory the NetLink program will look first in theCustom Directory for a template and then look in the StandardDirectory if the template doesn’t exist in the CustomDirectory.

Save Form Info Directory

Enter the local server directory into which you want to writeany files used to save Request info for later import into yourdata files (e.g. “C:\Sw8\import”). This directory must haveread/write permission since NetLink will write to it andImportMate II will read from it (if you are using Live data -see field 6 below).

Note: The directory paths you enter here should be the server

Page 23: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-01

SouthWare Excellence Series™ 23

paths. If you are running on a workstation make sure youenter the proper drive designation for running from theserver (which is where NetLink runs), not from theworkstation. For example, the server’s drive “C:” may beconfigured as drive “G:” when accessed from a networkworkstation. In this example you must enter “C:” as thedrive letter since NetLink requests will be executed by theserver, not by the workstation.

BASE HREF for Pages

Here you may optionally specify the Related HTTP address ofthe directory that is to serve as the base URL for relative URLreferences within NetLink pages. These would includeimages and other subdirectories such as applet information. Ifyou enter a value here, NetLink will automatically insert thefollowing HTML syntax immediately after the </title> tag inall pages that it processes:

<base href=(the value you enter here)>

The standard NetLink HTML templates include relative sub-directory references for images. You establish the directoriesfor these resources as part of the installation process (seeAppendix A) and here you simply specify the HTTP addressof the parent directory for these sub-directories.

For example, during the installation of NetLink you may haveput your templates in a sub-directory under your SouthWarerun directory and put your images and other resources in sub-directories under the template directory. In this situation youenter the HTTP address for your template directory (such as“http://mydomain.com/sw8/netlink/”).

Remote AcuConnect Directory

Leave this field blank unless you are using Acucorp’s

AcuConnect product to run ReportMate reports on a remote

server (different computer than the one running NetLink).

If you are using AcuConnect to run ReportMate on a remotemachine, enter the pathname to the remote directory whereReportMate will put its output files:

U ReportMate will output files to the local run directory on

Page 24: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

24 SouthWare Excellence Series™

the remote server (e.g. “c:\sw8" or “/usr/sw8").U In this field you must enter the path to get to that remote

run directory from the NetLink server computer (e.g.“s:\sw8" if the remote “c:” drive is mapped as drive “s:”from this computer, “@dataserver/sw8" if the remoteserver is mapped as “@dataserver”) .

See the “AcuConnect Setup Notes” section in Appendix A formore info on configuring AcuConnect for use with NetLink.

Credit Card Interface Directory

Leave this field blank unless you are using the Credit Card

interface module and card authorization software on your

web server.

From the NetLink Order Entry process you have the option topre-authorize credit card payments using Credit Card interfacesoftware. If you have licensed credit card authorizationsoftware and licensed the SouthWare Credit Card Interfacemodule for your NetLink order entry processing you shouldenter the Data Directory you defined in the Credit CardInterface ID setup process. This is the directory that will beused for Request and Answer files that communicate infobetween your card processing software and NetLink orderentry.

When you enter a directory name here the program checks tosee if the directory contains the NLICVIDS.SEQconfiguration file. If it does not, a question asks if you wantto create this file. The configuration file contains Credit CardInterface IDs and the specifications for how to handle eachpossible status of a credit card authorization transaction. Seethe related Credit Card Interface order entry notes inAppendix G.

3. Home Page URL:

Enter the URL of the page that NetLink should use as the HomePage. There is a “Home” button at the bottom of the standardpages that will access the URL you indicate here. For example, ifyou want this to access your corporate home page then you enter“www.(yourbusiness).com” as the URL. This replaces thestandard variable @VAR_HOME_URL in templates.

Page 25: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-01

SouthWare Excellence Series™ 25

4. System Admin E-Mail:

Enter the e-mail address of the person who should be notified ifthere are questions or problems in using your web site (systemadministrator, webmaster, etc.) The standard NetLink pagesprovide a way for the user to send e-mail to the systemadministrator by replacing the variable@VAR_SYS_ADMIN_EMAIL in standard footer to send e-mailto this address.

5. E-Mail Contacts:

This field displays a plus box so that you may define the e-mailaddress(es) to use when replacing the standard variable@VAR_E_MAIL_REF. In the standard NetLink footer for eachpage there is an “E-Mail” button that will send mail to theappropriate e-mail address.

Default - Enter the e-mail address to use unless there is anoverride below for the type of Requestor.

Customer O/R - If you want e-mail for customer type requestorsto go to a different address than the default, enter the differentaddress here. Otherwise leave this field blank to use the default e-mail address.

Vendor O/R - If you want e-mail for vendor type requestors to goto a different address than the default, enter the different addresshere. Otherwise leave this field blank to use the default e-mailaddress.

Internal O/R - If you want e-mail for internal type requestors togo to a different address than the default, enter the differentaddress here. Otherwise leave this field blank to use the default e-mail address.

Other O/R - If you want e-mail for Other type requestors to go toa different address than the default, enter the different addresshere. Otherwise leave this field blank to use the default e-mailaddress.

6. Date/Time of Data:

Here you may specify the date and time the SouthWare data fileswere last updated.

Page 26: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

26 SouthWare Excellence Series™

Using Live Data?

Enter “Y” if NetLink is accessing your live data files forrequests. The standard pages will show the user that the datais current as of the system date/time each Request isgenerated.

The following two fields are applicable only if you answer “N” tothe Using Live Data question:

Date of Data

Enter the date the data was current. This will be the value ofthe @VAR_DATA_DATE variable which displays instandard pages to let the user know how current the data is.

Time of Data

Enter the time the data was current. This will be the value ofthe @VAR_DATA_TIME variable which displays in standardpages to let the user know how current the data is.

Note: If you are NOT using live data you should change this

date/time each time you replace/replicate the files. The

Auto Import feature of requests will also be disabled if

you are not using live data.

7. URL for NLNETUPD.OBJ:

Here you must enter your server’s “http” address for executing theNLNETUPD.OBJ program that processes NetLink requests fromthe browser. The prefix “http://” is assumed - this makes it easierto work with automated HTML editors which often automaticallyinsert the prefix for URLs. For any requests processed by NetLinkthe address you enter here (plus the “http:// prefix that is already inthe template) will replace the variable@VAR_FORM_ACTION_URL in standard NetLink templates.

This is a very important setup parameter since all NetLink requestsare processed by the NLNETUPD.OBJ program.

In order for the server to execute the NLNETUPD.OBJ program itmust use the Acucorp runtime. You must either configure yourserver to execute the suffix “OBJ” with the Acucorp runtime, oryou must create a script (executable batch file) that contains thenecessary command line (such as “runcbl -w NLNETUPD.OBJ”or “wrun32 -w NLNETUPD.OBJ”). See Appendix A for moreinformation.

Page 27: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-01

SouthWare Excellence Series™ 27

Examples:

If you enter “myserver/scripts/NLNETUPD.OBJ” in this fieldthen the NetLink standard pages would execute theNLNETUPD program by calling for the URL“http://myserver/scripts/NLNETUPD.OBJ”. In this case yourserver must be configured to recognize the “OBJ” suffix andexecute it with the Acucorp runtime.

If you enter “myserver/scripts/nlnetupd.bat” in this field thenthe NetLink standard pages would execute NetLink by callingfor the URL “http://myserver/scripts/nlnetupd.bat”. In thiscase the server must know the “bat” extension is to beexecuted by the operating system as a script.

Note: To initially access NetLink from a browser you must havea link that executes the NLNETUPD.OBJ program (theinitial link cannot use the@VAR_FORM_ACTION_URL variable). SeeAppendix B for more information.

8. Convenience Features:

This field accesses a plus box so that you may define some relatedset-up features in other SouthWare modules. As a convenienceyou may specify these features here and have NetLinkautomatically make the related changes in the other modules.

Dept/Oper for Order Import

Enter the billing department/operator code to use for salesorders imported from NetLink (see NL-04). The code youenter here will be placed as the “Replace” value fordept/operator in the ImportMate II™ formats “NLORDER”and “NLPOS”. You may also edit these formats individuallyif you wish. This is an important part of the import sinceseveral fields are assigned based on the dept/operator code.

Svc Oper for Svc Order Import

Enter the service order operator code to use for service orderscreated from NetLink (Request Type of “CSVCREQ”). Thecode you enter here will be placed as the “Replace” value forservice operator in the ImportMate II™ format“NLSVCORD”. You may also edit this format individually ifyou wish. This is an important part of the import sinceseveral fields are assigned based on the service operator code.

Non-A/R Cust for Orders

Page 28: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

28 SouthWare Excellence Series™

Enter the customer number to use for point-of-sale ordertransactions (these are NetLink orders from new customerswho don’t have an existing customer account). When anOther type of Requestor creates a sales order in NetLink thiswill be the customer number used by the standard templates. This is comparable to the “POS Non-A/R Customer” in thebilling operator (IS-07-11, field 16). The variable@VAR_POS_CUST_NO is replaced with the customernumber you enter here.

Default Stock Location

Enter the stock location to use as the default for Price Listsand Order Entry. This replaces the variable“@VAR_DEFAULT_LOC_NO_@” which is used in thestandard login screens.

Use Stock Desc Keyword Feature?

Enter “Y” if you have activated the optional key word indexfeature in Inventory/Sales. If you enter “Y”:

- The Request Type “CORDLIN” will use the template“nlordlin.htm” which contains a form that allows orderentry users to enter key words for searching.

- The Request Type “CCATSEL” will use the template“nlcatsel.htm” which contains a form that allows orderentry users to enter key words for searching.

Enter “N” if you have not activated this feature and built theindex of key words. If you enter “N”:- The Request Type “CORDLIN” will use the template

“nlordln2.htm” which does not provide for a key wordsearch.

- The Request Type “CCATSEL” will use the template“nlcatsl2.htm” which does not provide for a key wordsearch.

Create New Cust w/Non-A/R Order?

Enter “Y” to have NetLink automatically create a newcustomer record and requestor record when NetLink receivesa submitted sales order from a new customer. This optionchanges the submit process for a non-customer sales order toinsert additional requests that utilize a special secondaryprogram (NLNEWCUS). This special program streamlines theadding of a customer/requestor and related updates so thatonly one new page is inserted between the submit of the order

Page 29: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-01

SouthWare Excellence Series™ 29

and the confirmation of the order. The process becomes:

a. The new customer submits an order.b. A page asks the new customer to specify and submit a

login ID, password, and name for their new account.

c. When the new customer submits the requestor info, the

new special function:

- Creates a new customer record and assigns a

customer number - this uses the Add New Customer

feature in the Dept/Operator record (IS-07-11 field

16) and uses the customer specified there as the

template for the new customer record

- Creates a new requestor ID for the customer

- Changes the current session info to the new

requestor/customer

- Changes the customer number in the sales order

from the miscellaneous customer to the new

customer number

- Calls the CORDOK request to submit the order as a

customer order instead of a POS or non-A/R order

d. The new customer sees the order confirmation page,which includes a reference to their new customer number.

How it works:

When you answer “Y” to this control record option the programchanges the HTML Template file for the OPOSSUM request touse “nlpossm2.htm” instead of “nlpossum.htm”. The newtemplate has “Submit Order” buttons that call the request“OADDREQR” instead of “OPOSOK”. The OADDREQRrequest asks for new requestor info. When you submitOADDREQR it calls the request “ONEWCUST”. TheONEWCUST request does not display a page, but it runs theprogram “NLNEWCUS/A” which performs the functionsdescribed above in step c. The program then causes NetLink tocall the CORDOK request that displays the customer’s orderconfirmation page.

Related Standard Examples:

- The request ID “OPOSSUM” automatically uses a differenttemplate if you activate this feature.

- The request ID “OADDREQR” asks for requestor info for a

Page 30: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

30 SouthWare Excellence Series™

new customer and submits the info to the request“ONEWCUST”.

- The request ID “ONEWCUST” calls the NLNEWCUS/Asecondary program to do the special processing beforecalling the CORDOK request.

Related Steps to Implement:

You must allow the assigning of new customer numbers asspecified in the A/R control record (AR-08-02, field 6).

Phone Number variable for POS Orders

When you create a new customer from a NetLink order you havethe option to include a phone number in the customer information. This feature includes the following components:- “PHONE” variable - when this is submitted to the

NLORDENT program as part of the order header informationthe phone number is stored in the NetLink order header.

- An additional field in the NetLink order header record storesthe phone number.

- The NLNEWCUS program that creates a new customer recordfor a submitted order will insert the phone number into thenew customer record.

- You may access the value of the NetLink order phone numbervia NL08 field 40.

9. Other Security:

This field displays a plus box window:

Does Server Support SSL?:

Indicate whether your server supports Secure Socket Layers(SSL) requests. If you enter “Y” here, any time the“@VAR_SECURE_HTTP” variable is replaced it will bereplaced with “https://” to serve as a prefix for the request. Ifyou enter “N” here the “@VAR_SECURE_HTTP” variablewill be replaced with the non-secured “http://” prefix.

The “https://” prefix tells the browser and the server tocommunicate via SSL technology. This technology encryptsthe information as it passes over the network lines so that itshields personal and private information. NetLink uses this inthe Order Entry process to secure address and paymentinformation sent by customers.

Page 31: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-01

SouthWare Excellence Series™ 31

Note: SSL servers are slower than servers that don’t use SSLtechnology. This is why the standard NetLink requestsonly use this secured transmission for Order Headerinformation (including payment info) and login info(including password). We recommend that you have botha secured and an unsecured server for your site. WithNetLink you may choose which requests are consideredsecure by using the “@VAR_SECURE_HTTP” variableinstead of the “http://” prefix for the“@VAR_FORM_ACTION_URL” in a template.

To Use SSL-based security on your Web site:

- Make sure your Web server software supports SSL.- Get a digital certificate to prove your site’s identity. One

provider of these certificates is VeriSign (www.verisign.com).- Turn on SSL in your server software after you receive your

certificate. See your server documentation for information onhow to do this.

- Answer “Y” to the “Does Server Support SSL?” field in theNetLink control record.

- Make sure your customers know to visit your site usingbrowsers that support SSL. Most popular browsers dosupport this technology.

Sys Admin Password

Here you may define a password that is required for browseraccess to the special remote system administration functionrequests that are available such as:

SYSADMINSYSSETUPSYSBLICSYSBLOGSYSERRAUDITONAUDITOFFAUDITSHORTAUDITDISPLAYAUDITCLEAR

If you enter a non-blank password in this field you must sendthe password as part of the request for these functions usingthe format "P=password". For example, if your password is"ABC321" you could turn on Audit Mode with the request:

Page 32: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

32 SouthWare Excellence Series™

http://netlinkURL?admin_id=AUDITON&p=ABC321

We strongly recommend that you implement this password

feature as additional protection.

Allow Intranet Lic Access?

If you have licensed the Intranet NetLink version of NetLinklicense enter “Y” to enable this feature in NetLink. Thismeans that each time an internal requestor logs on and passesthe variable “INTRANET_LICENSE=Y” then NetLink willuse one of the SouthWare license seats for the duration of thesession. See Appendix A for more info on the IntranetNetLink license.

Use SouthWare Web Processor?

Enter “Y” to use WebProcessor mode when calling NetLinkpages from within SouthWare’s WebPage menu. This willcreate the pages without using a web server. If you have notlicensed NetLink this field will automatically be “Y”.

Enter “N” to use a web server for NetLink requests fromwithin SouthWare’s WebPage menu. You must have licensedNetLink and have it set up on a web server in order to use thisoption.

See “WebProcessor Mode” below for more information.

Keep Internal Request History?:

Enter “N” to skip the logged history for requests from InternalRequestors. This will eliminate the logging of all Internalrequestor requests.

Enter “Y” to keep or selectively keep history for InternalRequestors. You may then indicate in each request type (NL-01-02) for internal requests (“I” type) whether history shouldbe kept for that request.

10. Request Categories:

You may assign Request Types to different user-definedcategories. This makes it easier to find related request types viathe search. The NetLink Request Type Tree View Manger (NL-01-07) also organizes the request types by category.

Page 33: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-01

SouthWare Excellence Series™ 33

Defining CategoriesIn this field you may define up to five user-defined categories ofRequest Types in the NetLink Configuration record (NL-01-01,field 10). These are in addition to standard categories such as:

(blank) Default_ Template - This is the category for requests used as templates.H Handheld pages - This is the category assigned to all the

request types that are designed for use on handheld browsers. A AJAX processing (used as background processing request)W Web Interface (used for Live Portals)

Assigning Categories to Request TypesIn the request type record (NL-01-02, field 11) you may specifyone of the valid categories or leave the category field blank.

11. Template Editor Command:

Enter a command line (up to 80 characters) that will execute yourpreferred HTML editor if you want to use this editor for NetLinktemplates. The NetLink Request Tree View Manager (NL-01-07)will append the file name to this command when you choose toedit a template from the manager.

You may leave this field blank to use the default program forHTML pages on your workstation.

12. Test Options:

This field displays a window that allows you to define testrequestor IDs to use in the Test Portal available from the NetLinkType Manager (NL-01-08). Each time you launch a test run for arequest that requires a valid session the Test Portal includes validlogin info. By specifying a login operator you can speed up yourtesting by eliminating the need to define login info each time youtest a request.

For each type of requestor simply enter a valid requestor ID for therelated requestor type (Customer, Vendor, Internal, or Other). TheTest Portal will automatically default the appropriate requestor ID,password, and requestor type into the information needed for thetest launch.

For example, if you create a customer-type requestor of

Page 34: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

34 SouthWare Excellence Series™

“TESTCUST” you could enter that here. Each time you test aNetLink requestor for the customer type, this will be the defaultlogin requestor for the test launch.

Test Setups Feature

When you initially set up the NetLink configuration record the programautomatically runs the test mode to check for errors. You may test someof the critical setup features of NetLink at any time by using the “<F4>Test Setups” function available from this program. After you haveloaded NetLink and set up your files, you may access this program and

access this feature. You should run this test only from the server

since the directory paths won’t be valid for running from a

workstation. The test process runs a report that verifies the following:U Whether one of the standard Request IDs is foundU Whether one of the standard HTML templates is found in the

directory you specifiedU Whether one of the standard ReportMate formats used by NetLink

is found properly set upU Whether one of the standard NetLink parameters for ReportMate

formats (NL–1-04) is found properly set upU Whether one of the standard ImportMate II formats used by

NetLink is found properly set upU Whether a sample temporary file can be written to the Local

HTML directory you definedU Whether a sample form data file for importing can be written to the

Import directory you definedU Whether the Company ID for NetLink is defined and whether the

ALNLCFG.SEQ file is set up in the run directoryU Test for corrupted session file - the test opens the session file for

update to ensure that the session file is not corrupt. This shoulddetect any fatal file access error (such as a FAE 98 or FAE 39) thatmight cause a NetLink process to hang.

See Appendix A for more details on setting up your server for runningNetLink.

Page 35: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-01

SouthWare Excellence Series™ 35

Web Processor Mode

Beginning with Rev 15 each SouthWare system now includes aWebProcessor version of SouthWare NetLink without licensing

NetLink! This gives you the power of NetLink for Live Portals withoutthe complexity and setup of a web server.

SouthWare WebProcessor is a unique technology that gives thefunctionality of a web page server within a SouthWare login session. The WebPage menu program in SouthWare actually controls the URLrequests from the browser window to communicate directly withNetLink.

How it Works

When you are calling web pages within the SouthWare web menuprogram the program evaluates each called link to determine if it iscalling NetLink (based on the “URL for NLNETUPD.OBJ” field in theNetLink control record setup). In WebProcessor mode when youlaunch a web page that would normally call a web server NetLink job,the SouthWare web menu program instead intercepts the call and runsNetLink without using a web server. NetLink creates a temporary filewith the resulting web page, and the SouthWare web menu displays theresulting file.

Automatic Setup if Full NetLink not Licensed

NetLink WebProcessor is automatically installed on each SouthWaresystem beginning with Rev 15, and if you don’t have NetLink licensedthe WebProcessor is automatically configured for you. You don’t have

to understand NetLink to start using it in WebProcessor mode. Then ifyou want to upgrade to a full NetLink license and use a web server it isvery simple to change the configuration.

If you already have NetLink set up on your system then your settingswill remain the same. You can choose to activate WebProcessor asoutlined below.

Switching Between WebProcessor and WebServer Mode

If you have licensed the full NetLink product and have set up a webserver you may choose whether to use the WebProcessor or web servermode of NetLink. A field in the NetLink control record (NL-01-01,field 9 “Other Security”) controls this option.

Page 36: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-01 SouthWare NetLink™

36 SouthWare Excellence Series™

Performance Notes - WebProcessor versus WebServerThe relative speed of loading pages with WebProcessor versusWebServer will depend on several factors. Because theWebProcessor mode uses the same runtime as your login sessionthe performance depends on how heavily your system is loaded:

T WebServer is typically faster for light to medium system

loads - A dedicated run session using the WebServer willlikely be faster as long as ample system resources areavailable.

T WebProcessor tends to have better scalability - TheWebProcessor doesn’t need to start a new system process so itis more scalable without performance loss when your systemis heavily loaded with requests. Since the WebServer has tostart a new runtime process for each request it will slow downsignificantly when system resources are scarce.

Special NotesT Any form submitted to the WebProcessor must have a unique

ID. The WebProcessor uses this ID to identify the formwithin the browser.

T In order for the WebProcessor to operate, it must be able toproperly interpret the URL for each navigation. Some searchtools, such as My Web Search, Smiley Central, and My FunCards can conflict with the WebProcessor's ability to interpretthe URL and must be uninstalled in order for theWebProcessor to work properly. If the WebProcessorsuspects that you have a conflict, you will be prompted toremove the conflicting tool.

T Caching - Several pages in Live Portals do AJAX calls toupdate data. This will not work properly if your browsersettings use caching and do not get newer versions oftemporary files. In your browser settings for TemporaryInternet Files you should set the “Check for newer versions ofstored pages” to the “Every time I visit the webpage” setting.

Page 37: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-02

SouthWare Excellence Series™ 37

Sample NetLink Request Type

NL-01-02 Request Types

In this program you define the requests that requestors may make viaNetLink. This does not limit the info you may make available vianormal static browser pages, but these are the only requests that will behandled via the NetLink features.

The first time you access this program the standard Requests areautomatically set up. See the list in Appendix B.

Overwrite Control

You have an Overwrite Protect function <F3> that you may toggleon and off for a request record. If you turn Overwrite Protect“On” for a record then the normal build of records from aSouthWare update will not overwrite the record. This allows youto make custom changes to a standard record and prevent themfrom being overwritten by a standard update.

1. Request ID:

Enter a unique identifier (up to 15 characters) for this Request.

Page 38: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-02 SouthWare NetLink™

38 SouthWare Excellence Series™

2. Description:

Enter a brief description of this request (up to 45 characters). InNetLink’s standard header this description will appear at the top ofa page produced by this request.

3. Requestor Type:

Specify the Type of Requestor who may access this Request. (blank) All Types - this request is valid for all types of

requestorsC Customer requestors onlyI Internal requestors onlyV Vendor requestors onlyO Other requestors only

This field has two purposes:U When NetLink is asked to process a request it verifies that the

request is valid for the type of requestor.U When NetLink replaces the @VAR_REQUEST_OPTIONS

variable with a list of requests, only the requests that matchthe requestor type and match the “Option for Request ID”field (field 9 below) will appear in the list.

4. HTML Template file:

Enter the file name of the HTML Template file that contains theHTML format for the Return Document along with any variablesto be replaced by NetLink. Typically this includes:U A reference to one or more standard header HTML filesU Text and variables to be replacedU A reference to a standard footer HTML file

If your system supports the feature, a lookup prompt lets youbrowse your Local HTML directory for the file name. You must

be running on the server or have the same path name as the serveror the lookup feature won’t find the directory.

See Appendix C for more information on working with templatesin NetLink. See Appendix D for a list of the standard variablesavailable in NetLink.

Variable Template Name for Requests

You may use more than one template with a single request*. Thisallows you to create a request that uses multiple templates and thenprovide the template name as part of the URL calling the request.

Page 39: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-02

SouthWare Excellence Series™ 39

* This option is subject to the Internal License Limitations

explained in the Remote Employee section of the introduction.

To use this feature you must specify that the template name for aNetLink request is “@template”. This then becomes a variablename that must be supplied each time you run the request.

For example, there is a standard request to add a Task that is calledWITASKADD. There is a quick entry and a standard entry of taskdata. The request has “@template” as the template name.

T To call the request for quick entry the URL includes“@template=witaskaddqk.htm”.

T To call the request for standard entry the URL includes“@template=witaskadd.htm”.

5. Use RM to Get Data?:

Enter "Y" if you will use one or more ReportMate™ formats todynamically extract data to be inserted into the Template. Enter"N" to skip the parameters for this field.

If you answer “Y” you may enter up to nine ReportMate formatnames (and optionally Alternate IDs) in a plus box. You mustalready have defined the parameters in NL-01-04 for any formatyou use. When NetLink processes this request it will run eachformat here and extract the data for use as indicated in thetemplate.

Alternate IDWhen you reference a ReportMate format in a NetLink request youmay optionally enter a valid Alternate ID to the right of eachformat specified:• If you leave this field blank the format will use the default

parameters/sorts unless overridden by the runtime variabledescribed below.

• If you enter an Alternate ID the request will always use thespecified alternate parameters/sorts. PLEASE NOTE that ifyou enter an Alternate ID then you may not override this atruntime via the special variable described below.

Example:For example, let’s say you are defining a request that uses the

Page 40: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-02 SouthWare NetLink™

40 SouthWare Excellence Series™

ReportMate format “ORDLIST” to display a list of salesorders for a customer and that the list needs to be sorted byreversed date. If the format default parameters for ORDLISTuse a different sort sequence (such as order number) you canuse the same format with this request instead of copying theformat to another format to maintain:1. Create an alternate parameters/sort ID (we’ll call it

“DATE”) for this format (see the related discussion inReportMate) and use a sort sequence of reverse date inthe alternate ID.

2. Create the NetLink ReportMate parameters record for thisformat/ID combination.

3. In the NetLink request refer to the format ORDLIST andthe alternate ID of DATE.

When you run the request the program will run ORDLIST anduse the sort sequence specified in the alternate ID “DATE”.

See Appendix E for more details on using ReportMate formatswith NetLink.

6. Security Group:

Here you can indicate a Group code that NetLink should use tocontrol access to this Request. The asterisk character serves as awildcard character, so you can press <Enter> to default to "*****"to allow all Requestors of this Type to access the Request.

If you need to secure this Request from certain Requestors youmay enter other characters in this code. Only Requestors whoseAccess Masking allows access to the Group Code will be able toaccess this Request. You should establish a scheme for this codeto make it easy to assign Access Masking to the Requestors.

Example:

You could assign the Group "xxxSF" to all Requests withSensitive Financial info. Then make sure that only Requestorswho are allowed to access Sensitive Financial info have anasterisk or "SF" in the last two characters of their AccessMasking. Requestors who should not be able to see theSensitive data should have values other than asterisk or “SF”in the last two characters of their Access Masking.

PLEASE NOTE that NetLink does not encrypt any data sent over

Page 41: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-02

SouthWare Excellence Series™ 41

the network unless you use the Secure Sockets Layer (SSL)technology on your server and you use the variable“@VAR_SECURE_HTTP” as the prefix for the form action URL. See NL-01-01 field 9 for more information on SSL.

Internal Requestors

You may optionally use Security Operators and Groups to secureInternal-type NetLink requests.

Access Opr/Group:

Enter a valid operator or operator group if this request shouldonly be accessed by that operator or by operators in thatgroup. You may leave this field blank if no special security isrequired.

Note: This security checking is in addition to any securitygroup masking that applies.

7. Import Form Data?

This field displays a plus box of information related to importingdata from a web page form into SouthWare files. NetLink can useImportMate II™ to take data saved from a browser form andupdate SouthWare data either interactively or in a batch mode. This feature is usable only if the page that calls this request was a

browser form that was “posted” or submitted to the server via the

POST method.

Save Form Data?

Enter “Y” if this request should save form data from theprevious page that called this request. The form data is savedin an importable Fixed Position Text file that ImportMate II™can utilize to update SouthWare files. Specify "N" if thisRequest does not need to save any of the data from theprevious Request.

Please note that you must save form data using the requestafter the form itself. Since Internet requests are independentand stateless, the only time when you can save form data isafter the form is submitted by the browser. For example,when a customer enters a sales order, the request that can savethe form data is the “confirmation” request that thanks thecustomer for the order. The form data was sent to NetLinkwhen the customer submitted the order, and the data isavailable as NetLink processes the confirmation request. Ifyou said to Save Form Data on the order form request itself,

Page 42: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-02 SouthWare NetLink™

42 SouthWare Excellence Series™

the only data that could be saved is the data that came into theorder form, not the data that comes from the order form.

-Optional Format File

If you want NetLink to save the Form Data in a particularformat you should enter the name of the Optional Format Textfile here. Otherwise leave this field blank.

The Optional Format file lets you control the fields andpositioning of the data within the saved file to be imported. Ifyou don’t use an Optional Format file then the form data willbe saved in a standard format with fields sequenced as theywere received in the Post string. See Appendix F for moreinformation on the standard format and on the OptionalFormat.

Auto Import Data?

Enter “Y” if you are running NetLink with your live data andwant to automatically import saved data into your data fileseach time this request is processed. Enter “N” if you arerunning NetLink with a copy of your data files or if you don’twant interactive updating of your data for this request.

Note: If are not running live data at the time this request isrun (per the NetLink Configuration file) this answerwill be treated as if it is “N” even if this recordcontains a “Y”. NetLink will not do an auto-importinto a copy of your data files since this data needs tobe imported into your live files.

Wait for Key?:

You may optionally obtain the new assigned key for a recordadded via ImportMate II. This lets you create a record fromone page and have the new key available for processing in thenext page. Examples include:- Being able to show a customer the new sales order

number assigned to their submitted order.- Being able to create a receivings transaction header and

then use the transaction number for subsequent entry ofline items.

Note: You must choose to Wait for Key if you plan to dospecial reprocessing of errors as described below.

Page 43: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-02

SouthWare Excellence Series™ 43

Enter “Y” to have NetLink wait for the import job to finishbefore producing the response page. ImportMate II willsupply the new key to NetLink and NetLink assigns it thereserved variable name of NEW_IM_KEY. You may thenuse this variable in the response page and it will be replacedwith the assigned value.

Reprocess Errors?

(available only if you choose to Wait for key)

This field provides the option to interactively utilize thevalidation features of ImportMate II in your NetLink pages. This feature lets you selectively skip the import job for asubmitted form if there are any errors and allows you toredirect NetLink to display a different request (which candisplay the import error messages). The purpose of thisfeature is to let you create data input pages that can bevalidated upon submission so users can see errors, correct thedata, and resubmit the form.

For example, let’s say you are submitting a physical inventorycount from a NetLink page. The import job creates a countrecord from the submitted item and quantity. If the itemnumber is not valid:- the normal NetLink import job will fail because of a fatal

error, the saved data will remain in the import file, theImport Request record (NL-02-01) will show that theimport was not processed, and the errors will be written inthe register so that someone can review them later and fixthe problem.

- the Special Error Response NetLink import job will alsofail because of the error, but NetLink will call a differentrequest that can be used to display the error(s) so the usercan correct them and resubmit the data. In this mode theoriginal import job was canceled and doesn’t appear onthe registers or in the NetLink Import Request file.

Note: This feature is designed to work with request pagesthat are updating a single file at a time. Thevalidation feature that skips the import will only skipthe import that has errors. For example, if from asingle page you tried to update data for both an orderheader and an order line item the import of the header

Page 44: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-02 SouthWare NetLink™

44 SouthWare Excellence Series™

data might be OK but the line item has errors. If youdon’t want to update unless there are no errors thenyou will need to submit the header info from onerequest page and the line item data from anotherrequest page.

Enter the appropriate letter to indicate how to process adifferent request type for the response page if there areerrors encountered during the import process:N No special error response processing (default). The

import process will try to run. If there is a fatal error,the saved data will remain in the import file, theImport Request record (NL-02-01) will show that theimport was not processed, and the errors will bewritten in the register so that someone can reviewthem later and fix the problem.

F Enter “F” if you want to process an alternate requestif there is a Fatal import error (an error that keepsImportMate II from updating). Errors that are notfatal will be referenced in the import registers asnormal but the import will run and the user will notbe notified.

Note: Whether an error is considered fatal iscontrolled by the ImportMate II updateprogram.

Y Enter “Y” if you want NetLink to stop the importprocess on any validation errors (Fatal or non-Fatal)and to process an alternate request.

Note: If you choose “F” or “Y” response types andNetLink needs to process an alternate request thenormal NetLink Import Request record (NL-02-01) will not be written. This is because thealternate request should allow the user to correctthe error and resubmit the job, so you don’t wantmore than one Import Request record or file forthe same data.

Error Request:

Here you may enter a Request Type that should be processedif errors occur during the import. NetLink will process thisrequest using the same data that was sent to the original

Page 45: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-02

SouthWare Excellence Series™ 45

import request. This feature is intended so that you may showa special version of the same form page the user submittedwith the data they submitted and a list of errors to correct.

Displaying the Error MessagesYou have a special reserved variable name that lets you showthe import error messages on the Error Request page. Thevariable @var_include_imerr_@ will be replaced with a list ofthe import errors encountered. You may insert this variablename on the template for your Error Request page to show theuser the errors that need to be corrected.

The receivings entry header and line item processing forHandhelds (see request types HHRECxxxx) include examplesof Special Error Response handling.

Import Format Name

Enter the name of the ImportMate II™ format to use whenimporting data from this Request.

During the processing of this request NetLink will:U Extract the Form Variables from the previous pageU Write the Form Variables to a Fixed Position Text File. The

file name will be aaaaaaaa.bbb where aaaaaaaa is theSession Number and bbb is a sequence number which isincremented for each saved form request during a session.

U Write a record to the NetLink Update To do file. U If you chose to Auto Import Data then NetLink will call the

appropriate ImportMate II program to import the data and willthen mark the To Do record as done. If you did not choose toAuto Import the next time you run "Process Pending ImportRequests" (NL-02-02) this file will be picked up for importinto your data files.

8. Remove Temp Files?:

This question controls whether the temporary files generated bythis request will be deleted after the request is processed. Normallyyou should answer “Y” here so that requests are self-cleaning. Ifyou are testing or debugging a new request you may want toanswer “N” here so that you can access the intermediate files asneeded.

Page 46: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-02 SouthWare NetLink™

46 SouthWare Excellence Series™

The temporary files generated by a request are placed in the LocalHTML directory as defined in your configuration record. Theyinclude:

- A file named aaaaaaaa.bbb where aaaaaaaa is the SessionNumber and bbb is a sequence number for each requestprocessed during a session. This file is the resulting page thatis sent back to the browser.

- One or more files named xxxxxxxx.Z99 where xxxxxxxx isthe ReportMate format name and 99 is the unique line numberfor the request. One of these files is created with the output ofeach ReportMate format that is run during the request.

9. Advanced Features:

This field accesses a plus box of features that should be used onlyby advanced users. These fields are skipped during the add of arequest.

Option for Request ID

This option controls whether this request should appear in anyrequest page that displays the list created by the@VAR_REQUEST_OPTIONS variable (as long as therequestor type(s) of this request match the requestor). Leavethis field blank to allow the request to appear in the selectionlist. This is the easiest way to make a new request appear inthe standard NetLink menus.

If this request should only appear in a particular use of@VAR_REQUEST_OPTIONS, enter the Request ID for therequest that should display this as an option. For example, ifthis request should only appear in an option list on theCustomer Menu, enter “CMENU” in this field.

If this request should not appear in any list of@VAR_REQUEST_OPTIONS then enter any character (suchas “X”) that doesn’t match an existing Request ID.

Validate Session #?

This flag controls whether NetLink requires a valid session tobe in progress in order to process the request. Normally thisshould be “Y” so that the security checking and other featuresare used. When the request validates the session number you

Page 47: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-02

SouthWare Excellence Series™ 47

may also utilize the standard variables stored in the sessionrecord (e.g. CUST_NO, VEND_NO, EMP_NO, CO_ID)

In a few cases you may not be able to validate the session andshould enter “N” here. Examples in the standard templateinclude Login requests such as “CLOGIN” (where you arestarting a session) and the “MAIN” request that is prior tostarting a session.

Secondary Program

If you have written a custom Acucobol™ program that youwant to execute for supplemental processing during thisrequest you may enter the program name here. This is for

programmers only. An example of this feature in the standardrequests is the use of the NLORDENT program for sales orderentry. See Appendix G for more information.

- Secondary Timing

If you specified a program name in the previous field you mayindicate when the custom program should be called during theprocessing of the request. Timing choices are:

1 After request data has been received and the sessionvalidated, but before any processing (such is ReportMate)is done

2 After ReportMate report(s) are done (including digestingany user-defined variables) but before creation of theHTML page

3 After the normal creation of the resulting HTML page iscomplete and before the page is sent to the browser

4 After the page is sent to the browser and Form Data issaved, but before any auto-import of data is done

See Appendix G for more information.

Extract ID

Normally you should leave this field blank. If you need toextract this request as part of a group of related requests youshould insert an ID for the group. When you use the RequestExtract program (NL-01-10-01-01) to extract records you maythen enter the ID and dump only those records that match theID.

Page 48: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-02 SouthWare NetLink™

48 SouthWare Excellence Series™

Process Template as WebView?

Enter “Y” if you want NetLink to process the template usingWebView technology before inserting data from ReportMateformat(s) referenced in the request. This will be processedlike an OfficeLink job (using XX99 as the default primaryfile) and replacing any variables that use the following syntaxforms:• <@DD=xxxxnnnn>• <@xxxxnnnn>• @VAR_DD_xxxxnnnn_@

Note: Using this option gives you more flexibility in yourtemplates but does require more processing time forthe request (since the template is processed twice). This option is most suitable when you already have aWebView-oriented template and want to create aNetLink-equivalent request.

This allows you to use the same variable syntax used in WebViewsand thus extract data fields without requiring a ReportMate. It isparticularly valuable for users running NetLink pages withinSouthWare WebView since you can use the nearly same templateversion for portals and for NetLink requests but add advancedfeatures such as ReportMate include files to the NetLink version.

For example, let’s say the CFO wants to add a tab to the CFOportal that shows a list of the balances of all cash accounts. Youcould:• copy the p_cfo.htm WebView template to the NetLink html

directory• add another tab and an “include_rm1" variable to the tab• create a ReportMate report that lists the current balances of

cash accounts from G/L• create a NetLink request that uses the new template and new

ReportMate and specifies to process the template as aWebView (since the other portions of the p_cfo.htm templateuse the WebView variable syntax).

- O/R Primary File

If you answered “Y” to Process Template as WebView, youhave the option to specify an override primary file for thevariable replacement process. By default the system will use“XX99" as the primary file. If in the NetLink request you will

Page 49: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-02

SouthWare Excellence Series™ 49

be establishing a link value for a field such as customer, order,stock item, etc. then you may specify an override primary file.

For example, the Live Portal request “WICUSEDIT” is thepage that lets you edit basic customer address info. Thetemplate wicusedit.htm is a form to let you see the currentvalue of fields and edit them. To provide the current valuesfor the fields in the form:• the request specifies “Y” to process the template as a

WebView• the request specifies an override primary file of AR01• the call to the WICUSEDIT request includes the variable

“@cust_no=xxxxxxx” to set up the customer number as alink value

• the template shows the current values of the form fieldsusing variables such as “@var_dd_AR010002_@” for thecustomer name.

Override Primary File for a Request at RuntimeYou may use a single request to do variable replacements fordifferent WebView primary files*. This would typically beused in conjunction with the Variable Template File featuresince if you change the primary file you probably are alsousing a different template. This is used in the Live Portals todo some AJAX retrieval of data without the need for aseparate request for each data retrieval needed.* This option is subject to the Internal License Limitations

explained in the Remote Employee section of the introduction.

To use this feature you must specify the primary file forWebView variable replacement via the variable name“@primaryfile”. NetLink will use the value of @primaryfileto determine the primary file to use for the WebViewreplacement.

There is a standard “@getdata” request type. This requesttype has “@template” as the template name and is used inseveral Live Portals to retrieve a single field such as a date. To retrieve the date the URL sends both the template name as@template and the primary file as @primaryfile.

For example, when you edit a customer in the Live Portal the

Page 50: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-02 SouthWare NetLink™

50 SouthWare Excellence Series™

system checks the timestamp of the record before doing anupdate. To get the current timestamp the page does an AJAXcall. The URL includes:

request_id=@getdata select the @getdata request@primaryfile=ar01 set the primary file to AR01@cust_no=@var_cust_no_@ set up the customer link value@template=getar010092.txt a special template that contains

only the variable AR010092(timestamp)

The AJAX call runs the request which sets up the customerlink value, processes the template name with AR01 as theprimary file, and returns the value to be tested in the page.

Keep Internal Request History?

Applies only if requestor type for this request is “I” and your

NetLink control record indicates to keep Internal Request

History.

Specify whether you want to keep history for this particularrequest. This allows you to selectively log the use of someinternal requests without logging all of them.

10. Comments:

Here you may enter up to 10 lines of 60 characters each to helpdescribe the purpose of the request and any special notes for futurereference.

11. Category Code:

Specify one of the valid categories defined in the NetLinkConfiguration record or leave the category field blank. This makesit easier to find related request types via the search. The NetLinkRequest Type Tree View Manger (NL-01-07) also organizes therequest types by category.

Page 51: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-03

SouthWare Excellence Series™ 51

Sample Requestor Login

NL-01-03 Valid Requestor Logins

In this screen you define the Requestors who can use NetLink to accessyour Requests.

1. Type:

Enter a one-character code to indicate the Type of Requestor youare defining:

C Customer

V Vendor

I Internal Operator

O Other

2. Requestor ID:

Enter an appropriate ID for the Requestor (up to 30 characters,letters are automatically upper case to simplify login). ForCustomer, Vendor, and Internal requestors they will be required toenter this ID to login to NetLink. For Other type requestors thereis a standard requestor of “New Customer” that is automaticallyset up and used in the standard NetLink requests for Otherrequestors.

Page 52: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-03 SouthWare NetLink™

52 SouthWare Excellence Series™

You may set up one or multiple requestors for the same customeror vendor depending on your needs. For example, from customer110123 you could set up JOE SMITH, SALLY ROGERS, andJIM WILLIAMS and relate them all to customer 110123 via field6. To avoid the risk of duplicate names you may want to includethe customer number in the Requestor ID (e.g. “JOE SMITH110123").

3. Password:

Enter the code (up to 15 characters) that you want to assign to thisRequestor to authenticate requests. The Requestor must enter thisID as a password before NetLink will allow access to any requests.

4. Access Mask:

Press <Enter> to default to all asterisks (*****) if this Requestormay access all Requests that are valid for this Requestor Type. The asterisk is a wild card character.

Enter a Masking code if this Requestor should only be able to seeRequests that match the Mask. For example, assume you use thelast position of the Access Group to contain an "R" for Requeststhat should be accessed only by a few Requestors. By entering aMask of "****x" here you will prevent this Requestor from seeingany Requests with an "R" (since the "x" won’t match the "R").

5. Requestor Name:

Enter a name for this requestor (up to 30 characters). This namewill appear in the header for standard NetLink request pages.

6. Cust/Vend/Emp No:

In this field you relate the requestor to the corresponding customer(for “C” types), vendor (for “V” types), or employee (for “I”types). This allows NetLink to automatically limit informationprovided to this requestor as appropriate.

You may optionally assign an override non-AR customer numberfor orders by an Other-type (type “O”) requestor. This overrideallows you to have multiple customer “templates” so that you canconfigure your NetLink pages to provide different defaultinformation such as sales tax and price levels. If you enter acustomer number for an Other-type requestor this customer will beused as the Non-AR customer for orders submitted by thisrequestor instead of the default Non-AR customer in the NetLink

Page 53: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-03

SouthWare Excellence Series™ 53

Configuration Record (NL-01-01, field 8, “Non-AR Cust forOrders”).

7. Validate IP Addr?:

Enter “Y” if you want to require that all requests during the samesession for this requestor come from the same IP address that wasused at login time. This could help ensure that someone did not“steal” the URL info from a session and try to use it from anotheraddress.

Enter “N” to disable this feature. You definitely should enter “N”if the requestor’s system does not maintain a continual connectionand could be using a different IP address between requests.

8. Required IP Address:

Leave this field blank if the requestor may use this login from anyincoming IP address.

If you want to restrict this login to a particular IP Address (orgroup of addresses) you may enter the IP address to use. Withinthe IP address you may use wildcard characters to specify thatportions of the address may be variable.

9. Override Initial Request:

Here you may enter a Request ID that will override the standardStart or Menu pages for this requestor. By default the standardSouthWare pages process the following requests:U Customer Login and Start button goes to CSTART, Menu

button goes to CMENUU Vendor Login and Start button goes to VSTART, Menu

button goes to VMENUU Internal Login and Start button goes to ISTART, Menu button

goes to IMENUU The standard menu link for an Other type requestor processes

the “OMENU” request

If you want this particular requestor to have an override start/menupage, enter the request ID to use instead of the standard menurequest. Leave this field blank to use the standard default menu.

For example, you may allow some of your customer typerequestors to enter/view data and others to only view data. TheCSTART and CMENU requests are the defaults so you could use

Page 54: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-03 SouthWare NetLink™

54 SouthWare Excellence Series™

that for those who may enter/view. You could then create adifferent CVIEWONLY request that has a page with only the viewoptions. For each view-only customer requestor you may specifythe request ID “CVIEWMENU” in this field. Both the Start andMenu button will go to CVIEWMENU.

Optional Override of Start/Menu During a Session

You have the option to override the Start/Menu page during asession. This is useful if your web site contains "areas" that eachhave their own start page that should be used once you navigateinto an area.

SESSION_START_OVERRIDE FeatureYou may override the start and menu request during a session. This will override the default and will supercede any requestoroverride as well. If you send the variable"SESSION_START_OVERRIDE=xxxxxxxxx" as part of aNetLink request then the system will store the value of"xxxxxxxxx" as the new Initial Request ID. This will be used forthe remainder of the session unless overridden again. If you havean override then both the Start and Menu links will call thisoverride page.

10. Comment:

Here you may enter up to 30 characters of comments for thisrequestor

11. TaskWise Contact:

Here you have the option to specify a TaskWise Contact ID (TW-04-02). This will allow you to access Contact Data for a requestorvia the Data Dictionary.

12. SW Logon Operator:

For internal requestors you may record the related SouthWarelogon operator. This allows you to cross-reference the NetLinkrequestor and the operator for such issues as testing securityoptions. The logon operator is stored in the session record and isavailable as a session field via ReportMate.

13. Allow Intranet Login?

(applies only if using Intranet NetLink license)

Enter “Y” to allow this internal requestor to log in via the IntranetNetLink license. This means that the requestor may log in and

Page 55: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-03

SouthWare Excellence Series™ 55

pass the variable “INTRANET_LICENSE=Y” with the logininformation. For this type of login NetLink will use one of theSouthWare license seats for the duration of the session instead ofusing the normal NetLink user license.

Enter “N” to prevent this internal requestor from using the IntranetLicense for NetLink logins.

Note: This flag allows you to enable the Intranet License featurevery selectively. A malicious user could log in multipletimes and tie up all the seats on your SouthWare license.

Assigned “seat” numberIf you answer “Y” to this option the system assigns a fixedworkstation number (such as “Z01") to sessions used by thisrequestor. This helps ensure that if the requestor loses an Internetconnection that he/she won’t be taking up additional license seatswhen logging back in.

Note: The “created” workstations for these assigned seats use aworkstation “NLT” as their template. Normally theworkstation settings don’t apply to NetLink logins butyou may edit this template if desired.

Controlling the License Used at LoginTo use the Intranet License instead of the normal NetLink licensethe login information submitted to start the session must includethe variable name/value of “INTRANET_LICENSE=Y”. AsNetLink establishes a session it looks for this variable if thecontrol record is enabled. If the requestor is allowed to use thistype of login and the variable is submitted then NetLink will usethe Intranet license instead of the normal license. If the requestoris not authorized to use an Intranet License and you have a normalNetLink license the system will process the request as a normalNetLink request.

Login page may not be a validated requestBecause Intranet NetLink will not process non-validated requestsyou may not use a NetLink request as your login screen. You mustuse a static web page or put the login form into another standardpage such as a WebView menu. The file “intranetlogin.htm” isprovided as a standard sample of an intranet login page you mightuse.

Page 56: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-03 SouthWare NetLink™

56 SouthWare Excellence Series™

Example:You establish the page “intranetlogin.htm” as the start pagefor your employee’s browser. When they log in via that pagethey will start an Intranet NetLink session.

Requestor User FieldsYou have available some user-defined fields in the Requestor records. These extra Requestor fields allow you to store some special info aboutthe requestor that helps you personalize your site or requests for thatuser (this lets you achieve benefits that might otherwise require web"cookies"). Requestor User Fields- There are ten 80-character user fields stored in the requestor

record. - These fields are maintainable via the "Maintain User Fields"

function (<F4>) from the requestor record (NL-01-03). - You may update the values in these fields from a NetLink request

via the import function available for this file (NL02).- You may access the values of these fields via ReportMate for the

requestor file (NL02).

Monitoring Invalid Login Attempts

Each time a user tries to log in to NetLink using an invalid RequestorID or Authorization Code the system records this bad login attempt. NetLink writes a record to the text file “ALNLBLOG.SEQ” in theSouthWare run directory on the server. This record shows the date andtime of the request and the information about the login attemptincluding the error message that was returned to the user. You may usea text editor to review and/or clean up this file periodically.

Page 57: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-03

SouthWare Excellence Series™ 57

Tip - Using ReportMate and ImportMate II to Initially Set UpRequestors

To help you set up requestor IDs you may use ReportMate to output afile and then use ImportMate II to create Requestor records. Forexample, you could easily set up a requestor ID for each customer’scontact person by using ReportMate to output a record for eachcustomer number and contact name, then using ImportMate II to importeach record to create a Requestor ID. In this scenario you might wantto initially use the customer number as the password, then change thislater as needed.

Page 58: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

58 SouthWare Excellence Series™

Sample ReportMate Parameters Record

NL-01-04 Parameters for RM Formats

In this screen you define the source for any parameters needed to runthe ReportMate reports used in your NetLink Requests. You must pre-define this information so that Requests may run quickly without anyruntime entry of parameters.

The parameters for the RM formats used in standard NetLink requestsare automatically installed when you install NetLink. Here are thefields available if you need to add a new format or edit an existingformat:

1. Report Name:

Enter the name of an existing ReportMate format. You may usethe <F3> lookup to search all ReportMate formats or the <F4>lookup to search formats that already have pre-defined parameters.

3-5. Source of Parameters:

These fields display a plus box that requires you to define thesource of each runtime value defined in the format. You mustmatch up any range values or record selection criteria with acorresponding variable value that is available from the request thatuses this format. Select a parameter as prompted, then enter thevariable name that will supply the value for the parameter.

Page 59: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 59

For example, if the ReportMate format has a range of customernumbers, the beginning customer number is one parameter valuerequired and the ending customer number is another. For a formatthat is to be used for providing information about a singlecustomer you could define that the beginning customer numbercomes from variable “CUST_NO” and the ending customernumber comes from variable “CUST_NO”. This will cause theReportMate format to be run for the single customer defined in“CUST_NO” for the request.

Note: You do not need to precede the variable name with the“@VAR_” tag.

Ability to Enter Literals/Constants as the Values for RM

Parameters

When you define values for ReportMate Parameters you havethe option to define a literal or constant value.

To define a literal/constant value you simply enclose theparameter variable name in quotes ("literal"). The quotes tellthe program that this is a value, not a variable name.

Note: When the format is run any numeric values areautomatically formatted into the proper "raw data"value based on the Data Dictionary format.

- You may enter dates as formatted (06/10/06 insteadof 20060610).

- Customer numbers will be considered numeric if youuse numeric customer numbers.

- You may enter "44.15" as an amount and theprogram will handle the proper decimal positioning.

One use of this feature is predefining a literal value for arange that is needed for reporting speed but is a constant. Forexample, if you are doing an employee ReportMate reportfrom the TaskWise relationship file you might want a primaryrange and sort sequence of relationship types to limit therecords read to Employee types. In this case your rangestarting and ending values would be "E" and you couldpredefine them here instead of requiring a variable to bepassed to ReportMate.

Note: This feature does not apply to parameter values thatare Constructed Variables.

Page 60: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

60 SouthWare Excellence Series™

Option to Pre-define Variable Names as ReportMate

Parameter Values for Increased Security

You may use Data Dictionary variables as the values of NetLinkReportMate parameters. If the value needed for a ReportMateparameter is available as a variable from the NetLink session file(NL03) you can “hard code” the parameter to the variable. Thiseliminates the need to pass certain values in the post/get strings forNetLink requests. By removing certain variables from the post/getstring you don’t “expose” the variable to users.

This is particularly helpful for internal user requests since it helpsprevent web-savvy internal users from trying to manipulatepost/get strings in an attempt to access internal data. It is lessuseful for customers and other requestors since NetLink alreadyprevents a customer from changing the customer variable.

In any NetLink ReportMate parameter field you may enter avariable as

<@DD=XXXX9999>where XXXX is the Data Dictionary file and 9999 is the fieldnumber of a field available from the NL03 pathing. For example,on a request where you are displaying info for a salesperson youcould use the variable <@DD=PR010139> to reference thesalesperson number in the employee record for the current internaloperator. This would eliminate the salesperson value from thepost/get string.

3. Range Values:

For each range (beginning and ending values) defined in theReportMate format you may enter the variable name,literal/constant, or Data Dictionary field that will supply the valueduring the NetLink run.

4. Record Select Values:

For each record selection criteria defined in the ReportMate formatyou may enter the variable name, literal/constant, or DataDictionary field that will supply the value during the NetLink run.

5. Other Runtime Values:

For each other runtime value referenced in the ReportMate format(such as “@DATE”, “@CONST”, etc.) you may enter the variable

Page 61: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 61

name, literal/constant, or Data Dictionary field that will supply thevalue during the NetLink run.

6. Format Include Data?:

This field controls whether you want any special formatting to beapplied to the report lines that are output from this ReportMaterun. This is applicable when the related template that uses thisReportMate format contains the variable “INCLUDE_RMx”(where “x” is the number 1 thru 5 for the maximum of 5ReportMates that can be run for a single request). The data in theresulting file can contain variable lines (those that start with“@VAR_”) or report lines (those that don’t start with “@VAR_”). Your options for formatting the report lines are:

N - No FormattingThe report lines will be merged into the template withoutediting.

T - Table FormattingThe report lines are designed to be shown as a browser tableand should be output using a Table Format (see next field).

G - Grid FormatEnter “G” to format the report data as a Sharp grid. See field8 below and the related discussion about grids at the end ofthis section.

P - Pre-FormattingThe report lines should be presented in a fixed width font sothat column headers and data will align properly. NetLinkwill automatically surround the report lines with the HTML“<PRE>” and “</PRE>” tags so they will be presented in afixed width font.

D - DHTMLX gridEnter “D” to format the report as a DHTMLX grid. See therelated discussion below.

C - Google ChartEnter “C” to format the report data as a Google chart. See therelated discussion below.

X-XML

Page 62: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

62 SouthWare Excellence Series™

Choose this option to format the data as an XML file. Youdefine the tags and template file like for any ReportMateXML job. When NetLink runs the format it will use the XMLoption and create a temp file in the NetLink tmp directory.

You may reference the resulting filename in your NetLinktemplate using the variable name:

rmn_xmlname

where “n” is the number of the ReportMate report within theNetLink request (i.e. rm1.xmlname,rm2.xmlname,.....,rm9.xmlname). For example, the variable“@var_rm2_xmlname_@” will be replaced with the XML filename created by the 2nd ReportMate format used in therequest.

* This option is subject to the Internal LicenseLimitations explained in the Remote Employee sectionin the introduction.

7. (Options):

The options available in this field depend on the formatting optionyou chose.

DHTMLX Grid FormattingIf you specified D - DHTMLX formatting you may specify thefollowing:

Grid Width

This is the width of the grid within the page in pixels orpercent. The grid will display a scroll bar as needed.

Grid Height

This is the height of the grid within the page in pixels orpercent. The grid will display a scroll bar as needed.

Show Toolbar?

This determines whether the toolbar is shown above thegrid. The toolbar allows the user to create a print view ofthe grid, refresh the grid, copy the contents to theclipboard (as tab delimited) and optionally toggle a

Page 63: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 63

preview pane, export to Excel, toggle a pivot table, andexecute FYI.

- Excel?

This determines whether users can export the grid toMicrosoft Excel or not (only applies if Show Toolbar? is"Y"). This feature is available only in Internet Explorer

on Windows where ActiveX controls are enabled or

prompted.

Record Key Definition

Dhtmlx grid uses a record key and is needed for events inthe grid. The record key is used in the event logic todisplay other pages or launch programs, etc. Examples ofthe need for record key are the selector icon launch or thepreview pane display. This key should be unique toensure that sorting and other features work properly.

In this field you specify where the record key comes fromfor this format. The valid values are:! First field in format: This means that the first field in

the RM format will be used as the record key.! First field in format (don't include in grid): This

means that the first field in the RM format will beused as the record key and that that field is notdisplayed in the grid. This is useful for keys that arenot user friendly such as the TW contact key.

! First portion of the record (not just the key): Thismeans that the first portion of the FD buffer will beused as the key. This many times includes more thanjust the key and the key may not be in the properposition. Those familiar with the FD layout mayprefer this method. This also ensures that the key isunique.

Note: When accessing records such as stocknumbers that have two fields in the key it isimportant to use the record key to ensurethat grid events get the whole key.

Show Selector Icon?

This determines whether the green right arrow that is usedto select the record in the row is shown in the grid or not.

Page 64: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

64 SouthWare Excellence Series™

You would need to code for an event if this icon is to dosomething.

Show Totals?

This determines whether totals are shown in the grid. Foreach numeric accumulating field in the grid, the total willappear at the bottom if this is "Y".

Show Filters?

This determines whether the filters option is shown in thegrid underneath the column headings and before the firstrow of the grid. This allows users to filter the data in thegrid as they type it in.

Note: A new field was added to the RM Parameters (Fieldoptions) that specifies whether the Grid filter shows as adrop down combo box or not. This can be accessed fromthe RM Field Selection Wizard or regular RM formatmaintenance. Currently, the combo will default to "yes"for Salesperson and Location fields.

Has Preview Pane?

This determines whether there is sufficient javascript, etc.to show a preview pane for this grid. If this is "Y", thenthe preview pane toggle button will also appear in thetoolbar.

Has Event Handler?

This determines if any events are fired in the grid. If youare going to respond to events (such as row selected ordouble click, etc), you would need to set this to "Y" andcode the javascript in the template accordingly.

Show Pivot Table?

This determines if the user can view a pivot table from thedata that is in the grid. A pivot table is a datasummarization tool that will total, average, or count datafrom a grid. The user can set up and changes thesummary's structure by selecting different fields andactions. This "rotation" or pivoting of the summary tablegives the concept its name. If this option is "Y", thenusers can click on a "Toggle Pivot Table" button in thetoolbar of the grid. The following fields will be the

Page 65: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 65

default values for the pivot tables (though a user couldchange them at runtime).

Action

This is the mathematical operation performed for thepivot table. The current options are:

SumMinimumMaximumAverageCount

If you want to summarize data by totaling a field, youwould select "Sum". If you wanted to get an average of aparticular field, you would select "Average".

Action Column

This is the column in the grid in which the action will beperformed on. For example, if you wanted to total YTDSales, you would choose "Sum" as the action and "YTDSales" as the Action Column.

'X axis' Column

This is the column in the grid that appears in the X axis. These will be the columns in the pivot table.

'Y axis' Column

This is the column in the grid that appears in the Y axis. These will be the rows in the pivot table.

Google Chart Formatting

Chart Width

This is the width of the chart in pixels. The chart will bean image displayed in the webpage and this is the width(in pixels) of that image. See "A Note on Chart Size"below.

Chart Height

This is the height of the chart in pixels. The chart will bean image displayed in the webpage and this is the height(in pixels) of that image. See "A Note on Chart Size"below.

Page 66: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

66 SouthWare Excellence Series™

A Note on Chart SizeGoogle places a limit of 300,000 pixels on the largest possiblearea for all charts (except maps). As the maximum height orwidth is 1000 pixels, examples of maximum sizes are1000x300, 300x1000, 600x500, 500x600, 800x375, and375x800.

For maps, the maximum size is 440 pixels wide by 220 pixelshigh.

Show Toolbar?

If this option is set to "Y", then a toolbar will appearabove the Google chart in the webpage allowing the userto optionally view the chart data, optionally export toExcel (from within SouthWare only), and view the data inFYI grid (within SouthWare only). If it is set to "N", thenthe toolbar will not be shown.

Excel?

This option is only allowed if the "Show Toolbar?"option is set to "Y". If this option is "Y", then users mayExport to Excel if within SouthWare. If this option is"N", then the Excel icon is not shown in the toolbar.

Show Chart Data?

This option is only allowed if the "Show Toolbar?" option

is set to "Y".

This option controls access to a display table that showsthe data for the chart. This lets you see not only the chartbut the data that created it.• Set this option to “Y” to allow users to view the data

used to create the chart. • Set this option to “N” to remove the icon option for

viewing this data. • There is also an "A" (automatic) option in which the

data will appear when the page is loaded. If thisoption is not chosen, the user will have to click onthe toolbar option to "Toggle Chart Data". The user

can always hide this data as well.

Data Position

This option applies only if the "Show Chart Data?" field

is set to "Y".

Page 67: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 67

This option controls where the chart data table appears inrelation to the chart already on the page. Chart Data canappear in 5 different positions:• Above• Below• Left• Right• Over

Sharp Grid FormattingIf you specified G - Grid Formatting for this report you may thenenter the following additional parameters:

Grid Dimension UnitsFor the grid Height and Width you may specify a value usingeither pixels or percentage. To enter percentages place a “%”at the end of the number.

Grid Height

Enter the height of the grid within the page (default is 300pixels). The grid will display a scroll bar as needed.

Grid Width

Enter the width of the grid within the page (default is 700pixels). The grid will display a horizontal scroll bar asneeded.

Show Toolbar?

Here you may specify whether to place a grid toolbarabove the grid. This toolbar contains buttons to activatethe following grid features:• Toggle Grouping Pane• Toggle Totals• Expand Groups• Collapse Groups• Export to HTML (create a separate page with the grid

data as an HTML table)

Excel?

If you specified to show the toolbar, you may specifywhether to allow users to export the grid data to aMicrosoft Excel worksheet. Enter “Y” to include the

Page 68: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

68 SouthWare Excellence Series™

Excel export button in the toolbar.

Override Layout

This is an optional advanced feature with a “wizard”function that lets you predefine a grid layout to apply tothe formatting of the grid. You can sort, group, movecolumns, or change column width, then save this layout. When NetLink inserts this grid into the web page it willreference this saved grid layout so that it becomes thedefault appearance for the grid.

To create an override layout press [F4] at this field tolaunch the wizard. The wizard will run the ReportMatereport and create a resulting grid. You may then sort,group, or otherwise modify the layout. When you areready to save the layout, click on the “Save” button. Theprogram will automatically save the layout file to yourcustom HTML directory.

8. Table Format ID:

If you selected Table or Sharp Grid Formatting in the previousfield you must specify which Table Format ID to use whenformatting the data. The default is “*DEFAULT” which is an IDthat NetLink automatically sets up for your during installation. See NL-01-05 for more information.

Grid Script ID:

For DHTMLX formatting

This is the javascript and html that is used in place of the@var_include_rmn_@. Most of the time, you should use*DEFAULT. If you want to customize the script and youunderstand how the dhtmlx grid, etc. works, you can create anew grid script ID and select it here.

Chart Script ID:

For Google Chart Formatting

The chart script ID is the HTML and Javascript syntaxrequired to show the Google Chart on a webpage. This scriptis inserted into the webpage after variables have beenreplaced. There are 2 standard script IDs. One is*DEFAULT and will be used by most charts, regardless oftype. The other is *MAP, which is a script file especially formap type charts. These chart scripts can be modified to meet

Page 69: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 69

your own purposes, but it's a good idea to start with one of ourstandards and make your own copy.

9. Extract ID:

Normally you should leave this field blank. If you need to extractthis parameter record for transfer as part of a group of relatedrecords you should insert an ID for the group. When you use theRM Format Parameters Extract program (NL-01-10-02-01) toextract records you may then enter the ID and dump only thoserecords that match the ID.

10. Zero Records Literal:

Enter a literal (up to 50 characters but see “Option to Reference aSeparate HTML File” below) that should be displayed when thisreport is to be included in a template (via @var_include_rmx_@)but zero records are selected for processing. This could be due towrong range values, wrong selection criteria, or simply no datathat matches the parameters. The purpose of the literal is to allowyou to give a more descriptive message to the user if this situationoccurs.

For example, if a report is to provide a list of invoices based onranges the user entered, you could insert the literal “<b>Noinvoices found for these ranges</b>” in this field. Notice that youcan insert HTML tags as appropriate since this literal is inserted inthe source for the page.

Related Situations/Results• If you have a variable in a page that is not supplied by the

request, the resulting page will show “(Not Available)”• If you have an include_rmx variable in a page but do not

define a corresponding ReportMate format, the resulting pagewill show “(Not Available)”

• If you have an include_rmx variable in a page AND theReportMate runs but processes no records, then the resultingpage will show the Zero Records Literal defined here

Option to Reference a Separate HTML FileIf you want to display a more elaborate message with links,graphics, or other HTML syntax then you may insert an “include”statement in this field that references a separate file containing theHTML code. When no records are processed, the resultingNetLink page will include the contents of the HTML file as the No

Page 70: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

70 SouthWare Excellence Series™

Records literal.

For example, you could create a file “norecords.htm” and insertthe following statement in the Zero Records Literal field:

@var_include_html=norecords.htm_@

NetLink will replaced this variable with the contents of the file“norecords.htm”.

Web Grid Option for a ReportMate report

You may use ReportMate* to automatically create NetLink webpages that contain a powerful interactive data grid (the DHTMLXgrid control licensed from DHTMLX, LTD.). The Live Portalscontain dozens of examples of using Web Grids.* This option is subject to the Internal License Limitations

explained in the Remote Employee section of the introduction.

With Web Grids, ReportMate and NetLink automate the HTMLand Javascript coding needed to insert a ReportMate report into apage as a DHTMLX grid. In your HTML template you simplyinsert the “@var_include_rmn_@” variable (where n is the number

Page 71: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 71

of the ReportMate format within the request type) and it will bereplaced with all the code necessary to create the grid.

BackgroundIn previous revisions SouthWare introduced the ability topresent data in a NetLink page from a ReportMate format as agrid using #Grid. While #Grid had many useful features, italso had the significant limitation of being an ActiveX controlthat would work only on Internet Explorer (since ActiveX is aWindows-only technology). The DHTMLX grid is ajavascript-based control with a superior feature set that is alsocompatible with all popular browsers and platforms. You maycontinue to use #Grid where it is supported, but SouthWarewill use the DHTMLX grid in future development.

SouthWare has created a software wrapper around theDHTMLX grid so that little or no knowledge of javascript isrequired to use the grid with SouthWare. SouthWare intendsto add to this wrapper in the future to expose even more of thefunctionality of DHTMLX grid.

Features of the Web GridHere are some of the key features available with the SouthWareWeb Grid implementation of DHTMLX grid:

Standard Features

These are features that are available in any Web Grid created fromReportMate:• Print – You can print the data shown in the grid. This

function creates a separate page with the data shown as a tablefor print format. (Applies only if you are displaying the

toolbar.)

• Sorting of columns – You may click on any column header tosort the grid records by the values of that column. You maythen toggle between ascending and descending sorting.

• Refresh – You can reload only the data for the grid byrerunning the ReportMate format. This function does notredisplay the entire html page, but only refreshes the recordsshown in the grid. (Applies only if you are displaying the

toolbar.)

• Copy to Clipboard – You may copy the data in the grid to theclipboard of your workstation so that you may copy it intoanother program. (Applies only if you are displaying the

Page 72: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

72 SouthWare Excellence Series™

toolbar.) Please note that there is a potential security issue inusing the clipboard in Firefox.

• Access to FYI features – When using a Web Grid from withina SouthWare login session you may zoom directly from thegrid to the FYI portal (if you have appropriate security access)to edit the format or view the data in any of the other FYIviews. (Applies only if you are displaying the toolbar.)

Optional Features

These are features that you may easily activate for a Web Grid. SouthWare has provided options in the NetLink ReportMateparameters record (NL-01-04) that let you use these features asdesired.• Column Filters – If you activate filters an entry field appears

at the top of each column. You may enter a filter value at thetop of a column to limit the displayed records to those thatmatch the filter. All the records are still in the grid, but thosethat don’t match the filter are hidden. This lets youinteractively change the grid without even rerunning thereport.

• Totals – If you activate totals the grid will show a totals row atthe bottom that displays totals for each numeric column in thegrid. One powerful feature of totals is that they total only therecords currently shown in grid, so as you use filters to hidecertain records the totals will automatically change to reflectonly the shown records.

• Output to Excel – You may choose to allow a user to send thegrid data to Microsoft Excel as a worksheet. This feature

works only on Internet Explorer in Windows, and requires

security to be enabled or prompted for running ActiveX

controls.

• Pivot Tables – Pivot tables are a dynamic summarization ofdata currently shown in grid. The pivot table concept allowsyou to summarize any single numeric column in the grid byany two other fields in the grid. You may change thesummarization interactively to analyze any and all fields in thegrid without running the report again.

Advanced Features

There are also many advanced features for those who want evenmore functionality from Web Grids:• Preview Pane - SouthWare has designed a preview pane

function that can easily be added to a custom page. It uses

Page 73: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 73

AJAX technology to load a preview for the currentlyhighlighted record in the grid. It requires that the htmltemplate include a “myOnRowSelectedn” script functionwhere n is the number of the ReportMate format within theNetLink request. You can look at any of the Live Portals that

offer record selection to see how this is done.

• Record Select function - SouthWare has designed a recordselect function that allows you to launch a separate Request toshow more info for a selected record. This feature requiresthat the template page include a “myOnRowSelectedn” scriptfunction where n is the number of the ReportMate formatwithin the NetLink request. You should also have a“myOnRowDblClickedn” function to handle double clickingon a record instead of clicking on the select icon.

• Customizable script - The Web Grid technology uses a scriptfile that contains the Javascript to support the functions. Youcan create a customized version of this file for selected reportsto modify the script functions.

How To Use the Web Grid

SouthWare has pre-programmed some of the many featuresavailable with the DHTMLX grid. With this functionality you caneasily turn any ReportMate/FYI format into a Web Grid. Thesteps to use a Web Grid are:1. Create a ReportMate/FYI report with the data you want to see2. Create the NetLink report parameters record (NL-01-04) for

the report3. Create a NetLink request that will run the report4. You must refer to an html template that includes the variable

@var_include_rmn_@ (where n is the ReportMate numberwithin the request type) at the point in the page you want todisplay the grid

When you run the NetLink request the NetLink/ReportMatetechnology will replace the variable with all the script code neededto produce the Web Grid.

Advanced Features

In order to code advanced features such as preview panes or selecting of recordsyou need to write javascript code to respond to the events from the grid and do thefunctions that you need. The following events are being exposed in the

Page 74: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

74 SouthWare Excellence Series™

*DEFAULT grid script id:

- onRowSelected: To use this event, simply create a javascript in the header ifthe HTML template named MyOnRowSelectedn (where "n" is the rm formatinclude number). The function should be declared like:

function myOnRowSelected1(rowID,celInd){…}

- OnRowDblClicked: To use this event, simply create a javascript in the headerif the HTML template named MyOnRowDblClickedn (where "n" is the rmformat include number). The function should be declared like:

function myOnRowDblClicked1(doublerowID,doublecelInd){…}

If you would like to modify the standard script, you can create an alternate script idto use. You should be familiar with how the Dhtmlx grids work before attemptingto create your own script. It would be a good idea to use *DEFAULT as a start. You can create the script at the operating system level (in the nlhtml directory) oryou can you can create it in NL-01-11 (NetLink Grid Scripts). If you create it inNL-01-11, the program will ask if you would like to create the script file if itdoesn't already exist. You can modify the script from NL-01-11, if you wish aswell.

Option to Format ReportMate Data as a Google Chart

You may create a Google Chart from a ReportMate report* used inNetlink! This unique and powerful function gives you thesummarized efficiency of a chart along with the optional details ofa report. Live Portals have many examples of Google charts thathelp you spot trends and status at a glance.* This option is subject to the Internal License Limitations

explained in the Remote Employee section of the release notice.

Note: You must have internet access to view Google charts.

Google charts via ReportMate are not just a picture - they are

pictures with all the details behind them.

Page 75: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 75

With NetLink’s Google Charts you get:• Web page display of Pie, bar, line, and even map charts that

summarize data• Instant web page display of the actual summarized data being

shown in the chart• Optional zoom to the details behind the summarized data.

This is via FYI, which gives you access to all the view tabs.

Note: To use Google charts you must be connected to theinternet and able to access Google’s web site. If youare not connected, a message will display instead ofthe chart.

How To Use Google Charts in a NetLink Web Page

SouthWare has pre-programmed the functionality to turnReportMate data into a Google chart. The steps to do this are:5. Create a ReportMate/FYI report with the data you want to see.

Typically you need to sort/subtotal the data field you want tochart.

6. Create the NetLink report parameters record (NL-01-04) forthe report including defining the chart parameters.

7. Create a NetLink request that will run the report.8. You must refer to an html template that includes the variable

Page 76: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

76 SouthWare Excellence Series™

@var_include_rmn_@ (where n is the ReportMate numberwithin the request type) at the point in the page you want todisplay the grid

When you run the NetLink request the NetLink/ReportMatetechnology will replace the variable with the URL parameters todisplay the Google chart. It will also insert the script elements toadd the interactive zoom and display options for the chart.

Chart Display Options (F5 key)

In order to specify how the chart looks, you will define optionsexactly the way you do in the FYI Chart tab. When you add achart format record this screen is automatically displayed. Inchange mode you may access the screen using the F5 key.

In this screen you simply set the parameters as needed to producethe chart you want. This functions the same as the FYI Chart tab,except that the chart displayed will be the Google chart. Someoptions are not available for Google chart and will not appear inthis mode. The options will be saved in special NetLink "learnrecords" so that the chart will use those parameters in the resultingwebpage chart.

Internal License Limitations

This option is not available to “I” type requestors accessing

NetLink from outside a SouthWare login session unless they are

Page 77: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 77

using an Internal or Remote Employee license. This technologywas developed for use in internal Live Portals which require aninternal license. To access Live Portals from an outside browseryou must use an Internal license seat or a Remote Employeelicense seat. If you try to use this technology for an “I” typerequestor without the appropriate license the page will simplyreturn an error message explaining that this feature is not availablewithout the proper license.

Option to Format Included ReportMate Reports as Sharp Grids

You can include the output of a ReportMate report in your NetLink

page as a grid! This both improves the look of your pages AND addsselected grid functions to the report. In a single NetLink page you caninclude multiple grids for an incredibly powerful web page!

From a web page conceptual standpoint this grid option is simply analternative presentation of an HTML table. There is no difference in

Page 78: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

78 SouthWare Excellence Series™

the RM format - it is simply a report. When you choose to include the

report in a page (with the @var_include_rmx_@ syntax) NetLinkreplaces the variable with the RM report. If you choose to format thereport as an HTML table, NetLink will insert the necessary HTMLcode for a table. If you choose to format the report as a grid, NetLinkwill insert the necessary code for a grid.

Limitation:

Your browser must support ActiveX and VBScript web pagefunctionality in order to use the grid control. Your browser mustallow VBScript to run in order for this feature to work (which mayrequire a change to browser security settings to “Enable” or“Prompt” on ActiveX controls). The ActiveX Grid control mustbe downloaded if it does not already exist on your workstation(automatically prompted if needed).

Since VBScript functionality is not supported by all browsers this

feature is best used in Internal-Use NetLink pages or pages not

distributed to the general public. If NetLink detects that thebrowser does not support the grid technology it will create a

ReportMate table instead of a grid. You may want to addwebpage functionality or text that indicates the page is designedfor Internet Explorer.

Note: At the time of release NetLink checks for “MSIE” as thevalue of the system variable “http_user_agent” to see ifActiveX is supported. This may be changed in the futureif other browsers besides Internet Explorer providesupport for this feature. See also the “Option to OverrideGrid Use During a Session” discussion below.

Unique benefits of the grid include:

Ability to specify the grid size within the web page - a long report

doesn’t have to make your web page long because the grid has its own

scrolling area

a. Ability to move/hide/resize columns in the grid

b. Ability to sort the grid - you can click on the column headerto sort the data by that column’s values

c. Ability to create groupings - you can toggle on a groupingarea and drag a column into that area to group records

9. Ability to create grouping totals so you can calculate totalswithin the web page

10. Ability to export to Excel - you can export the grid data to a

Page 79: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 79

Microsoft Excel spreadsheet

11. Ability to export to HTML - you can export the grid data toan HTML table for easy printing or e-mailing

12. Ability to click on a cell and zoom to a predefined link(either another web page or a SouthWare program)

Defining a Grid in a NetLink Page

Here are the steps to create a grid report:1. Create the RM report (do not include tildes and grave accents)2. Create the RM Parameters record (NL-01-04) for the report.

Choose the “G”rid Format option and enter the relatedparameters as described above.

3. Create the NetLink Request Type (NL-01-02) and referencethe RM report.

4. In the template for the Request Type insert the variable

@var_include_rmx_@ where “x” is the relative number of theRM format within the Request.

Grid Functions in a NetLink Page

When you run a NetLink Request that includes a grid-formattedreport, the report displays as a grid within the web page. Itcontains its own tool bar and scroll bars for independentfunctioning from the remainder of the web page.

Standard grid functions include:• Scrolling up/down and right/left as needed• Column sort via click on column header• Move columns by drag/drop• Hide columns by dragging off of the grid• Resize columns by dragging column separators

Special functions available via the tool bar include:• Toggle grouping pane on/off (with option to add groups)• Add totals for groupings• Export to Excel - creates an Excel worksheet with the data in

the grid (your browser must support automation of Excel - thismay require a change to the security settings for your browser)

• Export to HTML - creates an HTML page with the grid datashown as an HTML table (this makes it easy to print or e-mailthe grid contents separately from the rest of the web page)

Page 80: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

80 SouthWare Excellence Series™

How the Variable Replacement Works

When NetLink processes an RM report variable for a grid-formatted report it does the following:• Directs ReportMate to output the report data as an XML file• Creates a column definition grid layout file (unless the format

has an override grid layout)

• Replaces the @var_include_rmx_@ variable in the page withVBScript syntax (from a standard template file) that containsprogramming for the grid functions and references thefollowing components• A standard Grid Layout File and the report’s column

definition file OR the custom layout file created for theformat

• The XML file created by ReportMateThe VBScript includes the grid dimensions as defined in theReportMate parameters record.

Advanced Discussion - the Script Template Files

Here are the standard template files used by this feature. They are stored in thestandard NetLink HTML directory:• swgrid.vbs - this is the VBScript template that contains the programming for

the grid functions. • swgrdlay.xml - This is the standard Grid Layout file. It defines grid

characteristics such as fonts, colors, etc. It is used if there is not an overridegrid layout for the format.

• swgrdtmp.txt - This is the grid template file for each grid occurrence. Itcontains the following standard variables:• @var_grid_height_@ - replaced with grid height from NetLink RM

Parameters file• @var_grid_width_@ - replaced with grid width from NetLink RM

Parameters file• @var_grid_show_toolbar_@ - replaced with toolbar setting from

NetLink RM Parameters file• @var_grid_rm_sub_nbr_@ - replaced with number of RM format in

request (1 to 9)• @var_grid_layout_filename_@ - replaced with the name of the custom

grid layout file if applicable• @var_grid_data_filename_@ - replaced with the grid data file name

(XML data from ReportMate)• @var_grid_column_filename_@ - replaced with the column definition

file name

If you are proficient in programming these technologies you may modify these

standard files. Most users will not need to change these files and should not

attempt to modify them. If you decide to try to modify them, make sure you back

up the standard files before making any changes.

Page 81: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-04

SouthWare Excellence Series™ 81

Other files used by this process:• formatname.xml - Override Grid Layout file (if applicable) - stored in

NetLink custom template directory• session#.gdn.xml - Grid Data File - stored in NetLink temporary directory• session#.gcn.xml - Grid Columns File - defines each cell - stored in NetLink

temporary directory

Option to Override Grid Use During a Session

NetLink checks for “MSIE” as the value of the system variable“http_user_agent” to determine if ActiveX is supported. IfNetLink determines ActiveX is supported then a ReportMatereport that is to be formatted as a grid will be output as a grid. IfNetLink determines that ActiveX is not supported then a reportthat is specified to be output as a grid will instead be output as anHTML table.

There are two situations which might be exceptions to the standardassumptions NetLink is making:1. If a user has a browser that supports ActiveX BUT for

security reasons you don’t want to activate ActiveX supportyou would need to override the assumptions and forceNetLink to revert to HTML tables on all formats specified touse grids.

2. If a user has a browser that supports ActiveX but thehttp_user_agent variable is not “MSIE” then you would needto override the assumptions and force NetLink to output gridson grid-specified formats instead of reverting to tables.

You can override the use of grids during a session via a flag in thesession record. This flag is called Use Grids O/R?” and is blankby default for no override. You can set this flag at any time for asession by sending a value for the NetLink variable“@var_sess_grid_ovr_flag”. Below are the two valid values forthis variable:

@var_sess_grid_ovr_flag=Y Will output grids regardless of thehttp_user_agent value

@var_sess_grid_ovr_flag=N Will NOT output grids regardlessof the http_user_agent value

So in scenario 1 above, you would set this variable to “N” todisable grids for the session. In scenario 2 above you would setthis variable to “Y” to enable grids for the session.

Page 82: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-04 SouthWare NetLink™

82 SouthWare Excellence Series™

If you have specific requestors that need this override all the time

then you could store the default value in a requestor user field and

then use that value to set this variable each time the requestor logs

on.

Page 83: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-05

SouthWare Excellence Series™ 83

Sample Table Format

NL-01-05 Data Table Formats for Browsers

In this file you may define special formatting for HTML tablesgenerated from ReportMate formats. In each NetLink ReportMateParameters record (NL-01-04) that is to use Table Formatting you maydefine a Table Format ID to use. See Appendix E for moreinformation on creating tables from ReportMate.

A default format is pre-defined for you (“*DEFAULT”), and you mayuse this program to modify the default format or to create alternateformats.

1. Table Format ID:

Enter a unique eight-character ID for this table format. The systemautomatically created the “*DEFAULT” record when you definedyour NetLink control record.

2. Description:

Enter a brief (30-character) description of this format.

3. Table Start Text File:

Enter the HTML syntax (up to 60 characters) to be used at the startof the table. This should include the <TABLE> tag and anyspecial options for it.

Page 84: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-05 SouthWare NetLink™

84 SouthWare Excellence Series™

(Default is “<TABLE ALIGN="CENTER" NOWRAPWIDTH="100%" BORDER="1">”)

4. Table End Text File:

Enter the HTML syntax (up to 60 characters) to be used at the endof the table. This should include the </TABLE> tag. (Default is“</TABLE>”)

5. Header Start Format (~):

Enter the HTML syntax (up to 60 characters) to insert in place ofthe tilde (~) character at the beginning of a header cell. By defaultthis will be “<TH> <FONT SIZE=2>”.

6. Header End Format:

Enter the HTML syntax (up to 60 characters) to insert at the end ofa header cell. By default this will be “</FONT></TH>”.

7. Text Start Format /Indicator:

The beginning of a text cell is normally indicated by inserting atilde (~) in the RM format. In the Override Indicator field youmay specify a different character to use or leave the field blank touse the tilde. (Normally the only reason you would need to use anoverride is if your data contained tilde characters).

In the line enter the HTML syntax (up to 60 characters) to insert inplace of the tilde (~) character (or override indicator) at thebeginning of a data cell. By default this will be “<TD> <FONTSIZE=2>”.

8. Text End Format:

Enter the HTML syntax (up to 60 characters) to insert at the end ofa data cell that was preceded by a text indicator (~ or overridecharacter). By default this will be “</FONT></TD>”.

9. Numeric Start Format/Indicator:

The beginning of a numeric cell is normally indicated by insertinga grave accent (`) in the RM format. In the Override Indicatorfield you may specify a different character to use or leave the fieldblank to use the grave accent. (Normally the only reason youwould need to use an override is if your data contained graveaccent characters).

Page 85: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-05

SouthWare Excellence Series™ 85

In the line enter the HTML syntax (up to 60 characters) to insert inplace of the grave accent (`) character (or override indicator) at thebeginning of a data cell. By default this will be “<TDALIGN=RIGHT> <FONT SIZE=2>” (this is because numericfields typically look better when right-justified in a table).

10. Numeric End Format:

Enter the HTML syntax (up to 60 characters) to insert at the end ofa data cell that was preceded by a numeric indicator (` or overridecharacter). By default this will be “</FONT></TD>”.

Note Tables cannot display wider than the browser allows -normally this is the equivalent of an 80-column report, but thefont size, border width, and table width percentage all interactto determine the maximum size that can display.

11. Advanced Features:

This field displays a window of advanced features:

Extract ID:

Normally you should leave this field blank. If you need toextract this record for transfer as part of a group of relatedrecords you should insert an ID for the group. When you usethe Table Format Extract program (NL-01-10-03-01) toextract records you may then enter the ID and dump onlythose records that match the ID.

# of Records Per Row:

With this advanced feature you may specify how manyrecords to include in a table row created via ReportMate. Thisallows you to:L Place multiple records in a single row for a multi-column

presentation of data such as names or categories.L Disable any automatic table rows so that you can

conditionally insert table row tags into your ReportMateformat.

Specify how many reporting records (from the primary file)should be included in a single table row. For a Totals Onlyreport this count will apply to the last subtotal level. Thisdefaults to “1" which is the typical structure of a table (onerow per record).

Page 86: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-05 SouthWare NetLink™

86 SouthWare Excellence Series™

- You could enter a number greater than one if you plan touse this table format to create lists with multiple columnsof records. For example, if you enter “3" in this field thereport will output three records for each table row whichshould result in a three-column table. A standard sampleof this is the request CMKTSEL which uses the tableformat of MKTCAT to produce a 3-wide display ofmarketing catalog entries.

- You could enter “0" here to suppress all standard rowtags from the resulting table. This would allow you tocode the row beginning and ending tags within yourformat so that you control the rows based on the data. Astandard sample of this is the request CMATRIXENTwhich produces an entry grid by inserting the appropriaterow tags when a new row is needed.

Use of External Files for HTML Syntax

If you need to define table formatting HTML syntax that will notfit in the 60 character standard syntax fields (RM-04-06) you mayuse separate files. Enter the syntax:

@file=name where name is a text file in your run directory or for which you

include the entire path. You may not use both literals and a file

name in the same field - the field must contain either literals or afile name.

Example:You want to put a lengthy HTML format tag for text fields. Enter the HTML tag in a file mytag.txt and enter@file=mytag.txt in the table format field.

Note: Each text file used has a limit of 500 ASCII characters(non-ASCII characters are not allowed). The maximumfor a single HTML line output from ReportMate is 5000characters.

Page 87: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-06

SouthWare Excellence Series™ 87

NL-01-06 Print NetLink Request Type Info

This option allows you to print the information about your RequestTypes to help you diagnose and troubleshoot particular requests. Theinformation for each request includes:

- Comments about the request- The template used- The ReportMate formats used- The variables used by the ReportMate formats- The request(s) called from the request

To print this report, select it from the menu and choose an outputoption. Then you may enter a range of Request IDs or press <Enter>for ALL requests.

Page 88: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

88 SouthWare Excellence Series™

NL-01-07 NetLink Request Manager

With this program you may easily review and edit your NetLink requesttypes and related records. The program combines an expandable treeview with a preview pane to view more details about the records shownin the tree.

The following capabilities of the NetLink Request Type Tree ViewManager are particularly helpful when debugging NetLink requesttypes:

T Test PortalT Ability to compare ReportMate parameters with the source of

the parametersT Ability to review a list of all variables in the template and see

which ones are supplied by which ReportMate formatT Ability to see which Request Types are called from a templateT Ability to quickly see, review, and edit all the related files for

a request

When you access this program the tree view shows the request typecategories you have defined in your NetLink Configuration record(NL-01-01, field 10). You may expand any of these categories into alist of the request types assigned to the category.

Page 89: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-07

SouthWare Excellence Series™ 89

Icons to Identify the Features Used in a Request (graphical

workstations)

On graphical workstations an icon with colored bars appears besideeach request type. The icon helps you quickly identify which of thefollowing features are used within the request:

Uses ReportMate?A blue line on the left of the icon indicates that at least oneReportMate report is used by the request.

Uses ImportMate II?A yellow line in the middle of the icon indicates that at leastone ImportMate II report is used by the request.

Uses a Custom companion program?A red line to the right of the icon indicates that the requestcalls to a companion program for custom processing.

For example, an icon with a blue line and a red line would indicate thatboth ReportMate and a custom program are used by the request.

Reviewing Records in the Tree

When you expand a category the related request types display in a list. You may choose any of the following functions:

- View general info for a request type

You may click on or highlight a request type to display somegeneral information in the preview pane on the right.

- Expand the request type You may expand the tree for a request type (double click orright arrow on the record) to see the following related info:

- HTML Template

The tree shows the name of the HTML template for therequest. When you highlight the template the web page isdisplayed in the browser pane on the right. You mayopen the HTML template for viewing/editing or list theincluded variables as described below.

- ReportMate Formats Used

The tree shows a record for each ReportMate format usedby the request. When you highlight the format name thepreview pane displays some general information about theformat.

- Parameters for ReportMate Formats

Underneath each ReportMate format the tree shows a

Page 90: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

90 SouthWare Excellence Series™

record for the related parameter record that defines:

- Which NetLink variables are used at runtime for theranges or selection criteria

- How ReportMate is to format the data output by thereport

When you highlight the parameter record the previewpane displays the info for the parameters.

- ImportMate II Format Used

The tree shows a record for the ImportMate II format ifthe request updates data via import. When you highlightthe format name the preview pane displays some generalinformation about the format.

- Import Field Format Text File

The tree shows a Field Format record if the ImportMate IIformat uses an Optional Format File to define the layoutof the import file. When you highlight the file name thepreview pane displays the contents of the text file.

- Expand the List of Variables Found in the HTML

Template

You may expand the tree for an HTML template (double clickor right arrow on the record) to create a list of the threecategories of variables found within the template:

- Variables supplied by ReportMate

If the template contains a variable “@VAR_xxxxxx_@”and the “xxxxxx” variable name is found within one ofthe ReportMate formats used by the request type then thetree shows the variable and the related ReportMateformat. On graphical workstations this is identified via anicon with a black “V” on a red background. When youhighlight a ReportMate-supplied variable the previewpane displays information about the ReportMate data tobe used for the variable value.

- Variables not supplied by ReportMate

If the template contains a variable “@VAR_xxxxxx_@”and the “xxxxxx” variable name is NOT found within oneof the ReportMate formats used by the request type thenthe tree shows the variable without referencing aReportMate format. On graphical workstations this isidentified via an icon with a question mark in a greensquare.

- Calls to other requests

Page 91: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-07

SouthWare Excellence Series™ 91

If the template includes “REQUEST_ID=xxxxx” thenthis is shown in the list of variables. On graphicalworkstations this is identified via an icon with a globe.

- Open the HTML Template

On Windows workstations you may open the HTML templatefor viewing in your browser and/or editing. Highlight atemplate record, then click on the Edit button or press [F2].

- Open the Import Field Format File

On Windows workstations you may open the import formatfield text file for editing. Highlight a field format record inthe tree, then click on the Edit button or press [F2].

- Edit related record For the request type records and format records shown in thetree you may zoom to the associated maintenance program forediting if your operator has security clearance for themaintenance. Click on the Edit button or press [F2].

- Refresh list You may refresh the records shown in the tree view byclicking on the Refresh button ([F5]).

- Exit You may click on the Exit button ([F8]) to exit the managerprogram.

Icons/Images LegendOn graphical workstations you may click on the “Legend” button toaccess a help topic labeled “NetLink Request Type Manager Legend”. This displays a list of the icons used in the manager along with theirmeanings. The icons help you quickly review the list of records andidentify selected situations.

Page 92: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

92 SouthWare Excellence Series™

Request Template Editing with Special NetLink Features

You may edit NetLink request templates using the same technologyused in SouthWare’s WebPage Feature Manager program (XX-08-09-05). This function is implemented as a tab within the NetLink requesttype manager (NL-01-08). When you are highlighting an HTMLtemplate in the type manager a “Template Edit” tab appears. Click onthis tab to access the editor.

The functionality of the editor is described in the SwiftMate manual insection XX-08-09-05. Here are the unique features designedspecifically for NetLink request templates to make template editingeasier:

• Insert of SouthWare Data Variables - This function displays thefield selection wizard and shows the data variables available for

this particular NetLink request. They are categorized as follows:

• Session variables - This category includes all the standardvariables available for a session.

• RM format variables - This category includes all the datavariables supplied by any ReportMate formats run by thisrequest (now you don’t have to remember the names you gavethem! (). The list also shows the related Data Dictionary

Page 93: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-07

SouthWare Excellence Series™ 93

field or calculated data in the format that is associated with thevariable name.

• Include filename variables - This category includes all thestandard “include_xxxx” variables as well as include variablesfor any ReportMate reports run by this request.

Via the field selection wizard you can now easily select the fieldsto insert into your template. You can also specify to include themin a table for easy creation of a table of variables.

• Insert of SouthWare Link - This function helps you create a linkto another SouthWare request. In addition to the types of linksthat you can use in a Web Portal page, you can choose the Type ofCall of “NetLink Request. This lets you put the NetLink RequestID in the ID field, and creates a link with the URL“http://@var_form_action_url?session_no=@var_session_no_@&request_id=xxxxxxxx”

You can insert the syntax for additional variables in the PassingInfo field - these will be appended to the standard URL. Forexample, if you put “&my_var=123" in this field then this will beappended to the link URL.

Page 94: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

94 SouthWare Excellence Series™

Test Portal Feature for Testing/Debugging Requests

With this portal you have a test function that makes it easy to run/test aNetLink request (Windows workstations only). With this Test portalyou may test launch and analyze a NetLink request as a stand-aloneoperation with test values that "simulate" the values/links normallysupplied by a previous NetLink page.

• You can insert various test values and run the request as manytimes as you wish as you test to ensure that it works properly.

• This test function also provides a special log file anddiagnostic analysis of the test launch. This lets you quicklyidentify problems that need to be corrected.

This function is implemented as a tab within the NetLink request typemanager (NL-01-08). When you are viewing a request in the managerthe Test tab displays a screen with a Test Portal. Here are the maincomponents of this Test portal:

T List of Run Variables - In the upper left of the screen is a gridthat lists the variables required to run this request. The listincludes:• Login info if the request requires a valid session - the Test

launch uses a valid login for each test instead of using a

Page 95: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-07

SouthWare Excellence Series™ 95

session number. The login values default from the NetLinkcontrol record field 12 if you have specified default logins forTesting.

• Parameters and runtime variables needed for running eachReportMate in the request

The information shown in the grid includes the following:

• “Include” indicator - This checkmark column indicateswhether the variable should be included in the Test URL usedto launch the request. You may click on this column tocheck/uncheck values(although duplicate variables and literalsmay not be checked).

The test tab defaults these checkmarks to provide a suggestedTest URL:• The first occurrence of a variable name will be checked

(included in the URL)• All duplicate occurrences of a variable name will not be

checked (since only one occurrence is needed for theentire request)

• All values defined as literals (enclosed in quotes) or DataDictionary values in the NetLink ReportMate parameterrecord will not be checked in the grid

• Src (Source) - This column indicates the source of thevariable name. This will be “STD” for login type variables,and will indicate the related ReportMate for the request (RM1,RM2, etc.) for variables needed for ranges or selectioncriteria.

• Type - This column gives an indicator of the type of variable(such as “RB1" for Range Beginning 1, “RE1" for RangeEnding 1, etc.).

• Description - this column gives a description of the variable.This is typically the data dictionary name of the field.

• Variable - This column contains the variable name. This isthe variable name the NetLink request will use to recognizethe value for this parameter.

• Test Value - This column contains the value to use for thevariable in the Test URL. When calling this request fromanother NetLink request the preceding page or session infonormally supplies these values. For testing purposes, you canedit the values in this column to provide the values for theTest URL. When you enter or edit a variable value the TestURL is automatically updated.

Page 96: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

96 SouthWare Excellence Series™

• The list does not allow you to edit duplicate variablessince these will have no impact on the resultingrequests - they are shown only to help you be awareof all parameters. For example, let’s say the requestyou are testing is the CINVLST standard request.The first range for the first ReportMate uses thevariable “CUST_NO” as both the beginning andending value. In the grid you may enter a value forthe beginning CUST_NO, but the grid will disablethe second occurrence of CUST_NO since its valuewill be determined by the first value.

Learned Test ValuesThe Test tab automatically saves the Test Values you use for arequest if the value is not spaces, not a duplicate, or not unchecked(omitted from the Test URL). This makes it easy to switch from/tothe Test tab without losing your test values. These Test Values aresaved via SouthWare’s LearnFromYou technology, so they aresaved per operator in the Learn database.

T Launch Test URL - At the bottom of the screen you can see theTest URL that will be used to launch the test of the request. TheTest URL is constructed from the info in your NetLink controlrecord and from the variables/values in the List of Run Variables.

You can click on the “Launch Test URL” button ([F4]) to launchthe URL in your default web browser. This creates a separatewindow that you can close/resize as helpful.

For testing purposes you may also directly edit the Test URLbefore launching so that you can insert additional variables ormake other modifications to test scenarios.

Elapsed TimeAfter the launch is completed the program tries to find a matchinghistory record for the launch. If it finds one then the programdisplays the Elapsed Time in Seconds from the history record. This displays underneath the Launch URL field. This helps youanalyze the affect on performance as you enter test values or makechanges to the request.

Intranet License OptionIf the requestor specified for the test is an internal-type requestor

Page 97: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-07

SouthWare Excellence Series™ 97

and may use an Intranet Login (“Y” in field 13 in RequestorMaintenance) the screen will show a checkbox beside the launch

button labeled “Use Intranet License?”. By default this will bechecked. When this is checked the Launch function will call theSouthWare WebView program to launch the URL since theIntranet License may only be used within SouthWare WebView.

If you have both an intranet and external NetLink license you maycheck/uncheck this box to launch the test with either WebView oryour default browser.

Note: The SouthWare WebView program is limited to a URL of200 characters or less. If the test URL includes a lot ofvariables typically sent via a form and exceeds this limit,you will not be able to launch it directly from the testportal. One workaround in this situation is to launch thepreceding form page in test mode, then call your pagefrom this page.

Advanced optional discussion - When the intranet license mode checkbox ischecked, the Test URL includes the variable “intranet_license=Y”. This tells theNetLink process to use the Intranet License instead of an external license.

T Test Mode - An checkbox option in the upper right of the screencontrols whether the test launch uses a special "test mode" thatlogs details of the processing in a separate file. This test modealso utilizes a special diagnostic tool that analyzes the log file andgives you a summary report. The summary report will appear inthe browser window replacing the overview message.

Page 98: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

98 SouthWare Excellence Series™

For each major step in the processing of the NetLink request thesummary report shows whether the step seems to have beensuccessful. This summary is based on information in the specialtest log file created by NetLink during the run. From the Summaryweb page you can zoom to the details of the log file if desired aswell as zoom to the session record if applicable.

Steps shown/analyzed include:T The login/license check processT The session number validation/assignment (with a link to view

the session record if applicable)T The running of each ReportMate (and whether its related

output was found)T Any file access errors encountered (which often indicates

missing data or permissions problems)T The running of a secondary program if applicableT The replacement of template variables to create the resulting

pageT The running of an import job if applicable

The Result column in the summary report shows variousinformation depending on the logged details. For certain errors thepage will show a link to a troubleshooting page that outlinespossible causes and solutions.

Page 99: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-07

SouthWare Excellence Series™ 99

Advanced optional discussion - When the test mode checkbox is checked, the TestURL includes a variable that passes the current workstation number as the value of“test_mode”. This tells the NetLink process to output its audit information to aspecial log file named “ALNLTESTxxx.SEQ” in the NetLink run directory (wherexxx is the workstation number). The Test portal then runs a process that examinesthe contents of this file, creates a web page summary, and displays the web page inthe Test portal.

T Audit Options - The Test tab provides easy access to the optionalauditing/debug options available for NetLink. Audit mode canenable a detailed logging of program activity in theALNLCFG.SEQ file so that you can see details not otherwiseavailable (since NetLink runs invisibly on the server). Theseoptions include:

• Set Audit Mode - You can use the available radio buttons tochoose whether audit mode should be Off, On, or On Short(no list of variables). Clicking on one of these optionsautomatically changes the NetLink configuration file.

• Clear Audit Each Launch? - This checkbox provides aconvenience feature. When checked, the Test tab willautomatically clear the contents of the audit file before eachnew Launch of the Test URL. This makes it easier to quicklyreview the audit information since the file will contain onlythe info from that request. If you uncheck this option the auditfile will append the info for each new launch to the audit file.

• Display Audit File - This button launches your defaultbrowser with a URL that displays the contents of the auditfile. This provides easy access to the audit info as you aretesting/debugging a request.

Note: You do not need to use audit mode for the special TestMode function of the Test Portal. You typically woulduse audit mode when you want to launch a request,launch other requests from that page, and then examinethe audit results.

WebProcessor or External Browser Mode

Applies only when both options are available

When you use the NetLink manager to test a request type you havethe option to test in either the WebProcessor mode (run without aweb server) or External Browser mode (with a web server). Acheckbox at the lower left lets you toggle External Browser modeon and off.

Page 100: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

100 SouthWare Excellence Series™

NetLink Request Creator Wizard

This wizard (Windows workstations only) makes it easier for you tocreate common types of NetLink requests. With the NetLink RequestWizard you can quickly create ready-to-run reporting and inquirypages. You can also use the Wizard to help streamline some of thesteps of creating more complicated types of NetLink requests.

The NetLink Request Wizard is available from the NetLink RequestType Manager (NL-01-08).

When you select the Wizard you will be helped through the followingsteps (if you change your mind about a previous step you can fix it inthe manager when you get to the Review/Test step):

Select Request Template to Use

The wizard will base the new request on an existing request template. Request templates are requests that have an underscore (_) as therequest category. When you continue with this step you may select arequest template from the list that appears.

Page 101: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-07

SouthWare Excellence Series™ 101

Define New ID and Info

When you continue with this step you may enter the new Request IDand description for the request you are creating. The program will thencopy the request template to this new request record.

Add/Create ReportMate Formats

With this step you may create/specify ReportMate formats to use toextract the data needed for this NetLink request. When you start thisstep you may choose one of the following options:

• Create a New Table/Grid Format• Create a New Variable Data Format• Specify an Existing Format

If you select to Create a new format the program will launch theappropriate ReportMate/NetLink wizard. This makes it easy for you toselect the fields to include on the format and to have them formattedproperly. You may then define the appropriate ranges and selectioncriteria for the record(s) to be extracted.

If you select to specify an existing format you may enter the name ofthe format to use.

Each time you create or specify a format the format is added to therequest. You may continue to add formats up to the request limit ofnine formats.

Edit HTML Template

After you have defined the ReportMate formats for the request youmay edit the request HTML template so that it will show the extracteddata. The Wizard uses the WebPage Editor (as described in XX-08-09-05) in a special NetLink mode. This mode helps you see what data isavailable from the ReportMate reports so that you can easily insert theappropriate variable names in the template.

After you have edited the template as needed you may save and exit theeditor to return to the Wizard.

Edit Request as Needed

At this point the request and related files/records are created. Whenyou continue with this step the Wizard will display the completedRequest record (in NL-01-02) so you can make any needed changes tothe info supplied from the request template (such as comments).

Page 102: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

102 SouthWare Excellence Series™

Review/Test Finished Request

The Wizard steps are complete! At this point the Wizard will exit andthe NetLink Type Manager program will display the completed request. Via the Manager you can test or continue to edit the components of therequest as needed.

Wizard Option to Create Dynamic NetLink Page from a

ReportMate Format

A special version of the NetLink Request Wizard lets you easily turn aReportMate/FYI format into a NetLink request that you allows you torun the report over the Internet or your local intranet. You may selectthis function from the following programs:

L NetLink Request Type Manager An option in the tree view offers “Create NetLink Requestfrom ReportMate Format”. This launches the wizard.

L FYI Portal

If you have licensed NetLink the FYI Design tab for a formatdisplays a NetLink icon button beside the “Advanced Editing”button. Clicking on this button provides a popup menu withthe following options:

• Add (Recreate) NetLink Request WEBxxxxxxxx - ifthe request already exists the option will allow a Recreateoption

• Review/Test NetLink Request WEBxxxxxxxx - thisaccesses the NetLink Request Manager portal and isavailable only if a request already exists for the format

How the Dynamic NetLink ReportMate Format Wizard WorksWith this wizard you can instantly turn an FYI report into acorresponding NetLink request ID. This provides secured access to thereport from any browser in the world.

The steps you must take when you select this wizard are as easy as1-2-3:

1. Enter the name of an FYI/ReportMate format that you havealready created.

2. If you specified any ranges/selection criteria parameters for thereport you may accept the defaults or override the variable namesto use These variable names are the way you can provideparameter values from previous web page links. a. A question will ask if you want to include a "Refresh" form in

Page 103: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-07

SouthWare Excellence Series™ 103

the page template. Answer “Y”es to allow users to change therange/selection values within the web page and refresh thepage.

3. Choose the formatting option. A question asks if you want toformat the report as a grid.

a. Answer “Y” to choose grid formatting which allows usersorting, grouping, totaling, etc. (remember that gridformatting is supported only in the Internet Explorerbrowser).

b. Answer “N” to use the default table formatting.

Now you’re ready to test the report in a browser! The NetLinkManager Portal displays a Test tab when you highlight the request(which has the request ID of “WEBXXXXXXXX” whereXXXXXXXX is the format ID). You may launch it from there or copythe Test URL to the Windows clipboard and paste it into yourbrowser's URL field.

That's it. In less than a minute you'll see your report in an attractiveweb page. You can easily edit the web request as you wish via thefeatures of NetLink, but you don't have to do anything else to make thereport functional.

For example, let’s say you create a customer listing format with the ID“CUSTLIST” that shows customer info and allows a range ofsalesman. Enter “CUSTLIST” as the format name, accept the defaultsfor the range, specify to include a Refresh page, and choose gridformatting. The NetLink Manager portal will appear for the requestWEBCUSTLIST, and you can choose the Test tab to launch the page. The resulting page will show the report as a grid. You may enter arange of salesman IDs in the form displayed to the left of the grid andthen refresh the page to show the customers who match the range.

Page 104: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-07 SouthWare NetLink™

104 SouthWare Excellence Series™

Optional Technical DiscussionHere’s how this special wizard option creates the related NetLink request:

• If the format has any ranges or selection criteria then the request ID“WEBREPORT2" is used as the request template. Otherwise the requesttemplate is “WEBREPORT”.

• The request template is copied to a new request.• The assigned Request ID is “WEBxxxxxxxx” where xxxxxxxx is the

format ID.• The html template name is “webxxxxxx.htm” where xxxxxxxx is the

format ID. The html template is copied from either “webreport.htm” or“webreport2.htm” (webreport2.htm is used if you are including aRefresh form in the template).

• If the request is to include a Refresh form the wizard automatically creates anentry form in the html template for the ranges or selection criteria defined inthe format.

Sample NetLink Request Generated from an FYI Format

Page 105: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-01-08

SouthWare Excellence Series™ 105

NL-01-08 HyperLink ID Records

This program lets you add and maintain the “smart” HyperLink tagsthat may be used by NetLink to create links. See RM-04-07 for moreinformation.

Page 106: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-01-10 SouthWare NetLink™

106 SouthWare Excellence Series™

NL-01-10 Transfer Records Between Systems

The programs in this selection allow you to transfer records out tosequential files and transfer records in from sequential files. Thisallows you to easily save/transfer/restore records across machines orcompanies.

The following transfers are available at the time of this manual:

U Extract and Build Request Types (records in NL-01-02)U Extract and Build RM Format Parameters (records in NL-01-04)U Extract and Build Table Formats (records in NL-01-05)

The extract programs allow you to enter an Extract ID if you havetagged certain records with an Extract ID.

Page 107: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-02

SouthWare Excellence Series™ 107

NL-02 Data Import Requests

The selections in this section allow you to review and update pendingand completed import requests received via NetLink.

Page 108: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-02-01 SouthWare NetLink™

108 SouthWare Excellence Series™

Sample Import History Record

NL-02-01 Review Requested Import Updates

This program lets you see and maintain the records of info sent byRequestors that is to be imported into your SouthWare data files. Youcan use this program to check the status of Update Requests and toreview history of these updates.

1. Input File:

This shows the name of the file created by NetLink that containsthe data to be imported.

2. Request ID:

This shows the Request ID of the request that saved the form data.

3. IM Format:

This shows the ImportMate IIJ format to be used to import theInput File into your SouthWare files.

4. Requestor Type:

This shows the Type of Requestor who submitted the file.

5. Requestor ID:

This shows the ID of the Requestor who submitted the file.

Page 109: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-02-01

SouthWare Excellence Series™ 109

6. Create Date:

This shows the date the Input File was created by NetLink.

7. Create Time:

This shows the time the Input file was created by NetLink.

Completion InfoThe following fields are updated when the import is run:

8. Import Date:

This shows the date the import was attempted for this Input File(interactively or in the NL-02-02 batch). This will be zero if theupdate has not been done.

Note: The NetLink import process will consider that the import wasattempted as long as the import file and import format werefound. If there were data validation errors in the import, thedata might not actually have been imported. You must refer tothe spool file produced by ImportMate II to see whether theimport job was successful. This is similar to the wayImportMate II runs normally, but because no user messagesare allowed via Internet technology the spool file is the onlyindicator of errors.

9. SW Operator:

This shows the SouthWare logon operator who ran the Importprocess if the update was run using the NL-02-02 process. If theupdate was run interactively this will show "AUTO". This will beblank if the update has not been done.

10. Message:

This contains a reference or error message if the update has beenrun.

When you display a record you also have the option to:

U <F4> Display Input File - if the input file still exists you may usethis option to display the contents of the file.

U <F5> Display Positioning Controls - if the import uses a SaveData Format file you may use this option to display the positioningspecified for the file.

Page 110: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-02-02 SouthWare NetLink™

110 SouthWare Excellence Series™

NL-02-02 Process Pending Import Requests

With this program you may process a batch of import requests receivedvia NetLink. Each import request resulted in a data file with the data toimport and a record in the NetLink Import file (NL-02-01). If the datafile was not interactively imported then you may use this program toautomatically execute the imports that need to be done.

Range of Request IDs:

Enter a range of Request IDs to be processed or press <Enter> forALL. This allows you to process only requests of a certain type(such as changes of address) or to import all types of data.

Range of Date Created:

This date range corresponds to the "create date" as shown in NL-02-01. This gives you the ability to import records for a particulardate or range of dates.

Input File Directory:

Indicate or confirm the directory that contains the Input Files forthe imports. This defaults to the server Import Directory youspecified in your configuration file, but you may need to edit thedrive designator if you are running this program from aworkstation that uses a different drive designator than the serverdoes.

After you confirm these parameters the program reads through theimport "to do" file and processes any requests that match the range ofRequest IDs and that have not already been imported.

Note: The NetLink import process will consider that the import wasattempted as long as the import file and import format werefound. If there were data validation errors in the import, thedata might not actually have been imported. You must refer tothe spool file produced by ImportMate II to see whether theimport job was successful.

Page 111: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-02-03

SouthWare Excellence Series™ 111

NL-02-03 Purge Import To Do File

With this program you have the option to purge the import To Dorecords. This option requires a NetLink security level of 9. It willpurge import records whether the actual import was ever completed ornot.

Note: The NL Import "To Do" records are also purged as anormal part of the NL0303 purge when the history recordis being purged.

Page 112: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-02-02 SouthWare NetLink™

112 SouthWare Excellence Series™

Notes:

Page 113: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-03

SouthWare Excellence Series™ 113

NL-03 Request History

The selections in this section allow you to review and purge the historyof requests and logging info processed with NetLink.

Page 114: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-03-01 SouthWare NetLink™

114 SouthWare Excellence Series™

Sample Request History Record

NL-03-01 Review Request History Records

With this program you may review the history records for NetLinkprocessing. The logged information recorded by NetLink is stored in acombined history file that integrates request history with logging oferrors and other info. This allows combined reporting access andanalysis for the various logged situations as well as the request history.

The information stored in the combined history file includes:$ NetLink request history$ NetLink license errors$ NetLink bad login attempts$ NetLink other errors$ NetLink-related File Access Errors and other abort errors

Below are additional notes about the information in this file:

History Record SearchYou may search the history file for records using the [F4] LookupHistory from the first field. Available search keys include:$ Start Date$ Request ID$ Session Number$ Requestor Type/ID$ Error Number

Page 115: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-03-01

SouthWare Excellence Series™ 115

Error NumbersThere are error numbers to provide more information and tostandardize reporting. The error numbers are:

93 General Xmit error - this is a general transmission error and mayresult from various issues (this corresponds to the existingXMIT-ERROR-FLAG="Y" condition)

94 Import error (this corresponds to the existingIMPORT-ERROR-FLAG="Y" condition)

96 Improper security to run - this typically indicates that the sysadminpassword was incorrect

97 Force Fail Request - this occurs for IPERROR only (this is asecurity error)

98 Fatal File Access Error - this occurs for error codes that begin with"3" or "9"

Error Type Category CodesError numbers are classified by type. Some errors do not have a relatednumber and are identified only by type.

ERR Programming errorFAE Fatal File Access errorINF Info onlyLIC License errorIMP Import errorSEC Security Error (including ipaddress requestor restrictions and

request type restrictions)

Reporting TipsHere are some tips on reporting from this file:$ This file can become quite large. For reporting it is a good

idea to limit the number of records read, typically using arange of dates.

$ NL04 is available only as a primary file for reporting. Toreport by session number and limit to a range of sessionnumbers you must use the session number as both the firstrange and the first sort for the report. Otherwise the reportmay read more records than needed.

$ You should purge history periodically to speed up reporting.$ See the NLSYSTDY report used in the NetLink System

Manager Portal (P_NLMGR zoom view) for examples ofreporting from this file.

Page 116: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-03-01 SouthWare NetLink™

116 SouthWare Excellence Series™

The information shown for each record is:

Start Date date of the requestStart Time time of the requestSession No session for the requestRequest Count relative number of the request within the sessionUnique Sequence a sequence to provide uniqueness for certain

recordsElapsed Seconds the number of seconds the NLNETUPD program

ran to process this requestRequest ID Request type IDRequestor Type type of requestorRequestor ID ID of requestorIP Address IP address of requesting computerImport File name of the file to import if data is to be

importedOrder Number order number if request involved a NetLink sales

orderSW Logon Oper the related logon operator for an Intranet

NetLink requestError Type Category of errorError Number Error number

Page 117: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-03-02

SouthWare Excellence Series™ 117

NL-03-02 Print NetLink History Report

With this report you may selectively print the history of NetLinkrequests. This is useful for analyzing activity by a particular requestoror for analyzing the use of the various types of requests.

When you select this report you must choose an output option. Thenenter the following parameters:

Sequence of Report

Select to sequence the report by:Session numberRequest TypeRequestor Type/IDDate/Time

Range of Dates

Enter the range of request dates to include or press <Enter> forALL.

Range of Session Numbers

Enter the range of session numbers to include or press <Enter> forALL.

Requestor Type

Select the type of Requestor to include:AllCustomerVendorInternalOther

(one or all customers/vendors/employees)

U If you select Customer you may choose to include one or allcustomers

U If you select Vendor you may choose to include one or allvendors

U If you select Internal you may choose to include one or allemployees

Range of Requestor IDs

Enter a range of Requestor IDs to include or press <Enter> forALL.

Page 118: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-03-02 SouthWare NetLink™

118 SouthWare Excellence Series™

Range of Request IDs

Enter a range of Request IDs to include or press <Enter> for ALL. For example, if you want to see only those requests wherecustomers submitted a sales order enter "CORDOK" as thebeginning and ending values of the range.

Print Error Records Only

Enter "Y" to print only those requests that were not able to beprocessed because of errors.

When you confirm your options the report will print as you specified.

Page 119: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-03-03

SouthWare Excellence Series™ 119

NL-03-03 Purge NetLink History

With this option you may print and purge NetLink history records thatyou no longer need. You may run this periodically as needed to cleanup your history file.

Select this program and choose an output option for the audit report. Since this is an audit report of the records to be purged you may notdisplay the report. Then enter the parameters for the history report asdescribed in NL-03-02.

After the report prints a question confirms if you want to delete therecords just printed. Enter "Y" to purge the records.

Page 120: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-04 SouthWare NetLink™

120 SouthWare Excellence Series™

NL-04 Pending NetLink Sales Orders

The options in this section relate to the Sales Orders that requestorsmay enter in NetLink. The report helps you monitor sales orders thatcustomers have started but not submitted. The purge process lets youremove old orders from your files.

Page 121: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ NL-04-01

SouthWare Excellence Series™ 121

NL-04-01 List Pending NetLink Sales Orders

This is a sample ReportMate report that lists orders in the pendingNetLink sales order files. You may run this as needed to review thesales orders saved by customers or prospective customers.

Note: If you have licensed ReportMate on your server you maymodify this report or create other custom reports from thisdata. The NetLink sales order files are found under the"NetLink" application in ReportMate.

Page 122: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

NL-04-02 SouthWare NetLink™

122 SouthWare Excellence Series™

NL-04-02 Purge Obsolete Pending Orders

You may use this program to purge pending NetLink sales orders thatare old and obsolete. Once a user starts a NetLink sales order, theorder is considered pending until the user submits the order or deletesthe order. This allows the user to add, change, or delete line items orother information until the order is complete.

Some orders will be started but the user will never submit or deletethem. This program purges based on the date an order was lastaccessed, not on the date the order was started. This helps you ensurethat your files contain only active orders. If you want a permanent

record of these purged orders you should run the NL-04-01 report

before purging.

For example, you may set a policy of saving pending orders on file for2 weeks after last access before deleting them. This program lets youdelete pending orders that were last accessed prior to 2 weeks ago.

When you select this program you simply enter a "Purge-Thru Date"for the process. Any orders that have not been accessed or changedafter that date will be removed from the files.

Page 123: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 123

Appendix A - Server Requirements for NetLink

Licensing Options

There are two types of licensing available for NetLink You have theability to use either or both types of licensing within a NetLink site.

Normal License

This type of license provides a maximum number of simultaneousrequests that can be processed at the same time. It allows all types ofrequestors, internal and external. There is not a limit to the number ofsessions that can be in process, just a limit to the number of requeststhat can be processed at the same time.

Intranet NetLink Licensing Option

This is a special NetLink licensing option available for internal usersonly. With this "Intranet" license you may license NetLink "seats"according to the same seat count used for other SouthWare modules. The purpose of this licensing arrangement is to give you a lower costoption for internal users to be able to use NetLink in conjunction withtheir other use of SouthWare.

With this new option you can offer the power of NetLink’s webtechnology to all your employees for a near limitless number of internaluses. Standard examples available in NetLink include:- Executive-oriented pages for checking business status via a

browser- A wide array of Internal Requestor standard pages for inquiry and

data entry- Handheld-oriented pages for wireless data access via PDA devices- Handheld-oriented pages for selected warehouse functions such as

receivings, stock checking, physical counts, etc.- Remote data processing such as by service technicians and outside

salespersonsWith Intranet NetLink it is easy for employees to access the data theyneed from anywhere at anytime.

Here are the major distinctives for the Intranet licensing:- Pricing for seat counts is similar to other SouthWare modules. To

determine the Intranet-Only pricing you use the total seat count forthe SouthWare license.

- Only Internal-type requestors are allowed to log in.

Page 124: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

124 SouthWare Excellence Series™

- Only validated request types will be processed.- When an Internal requestor logs in via a Intranet NetLink license

the session that is started "uses" a seat under the normalSouthWare license. That user is considered "logged on" until thesession is logged off or expires (the normal NetLink license countsa user only while processing a request). If you view the status ofthe system the logon operator associated with that requestor willshow as being logged on via NetLink.

- Use of NetLink via SouthWare’s WebView browser does notutilize an additional seat. Since the user is already logged on, theIntranet NetLink license will not require an additional seat.

Note: Although the SouthWare license does not require anadditional seat for a NetLink request run from WebView,the Acucorp runtime will use another seat on yourruntime license while the request is processing. You mayneed to license more runtime seats than SouthWare seatsif you expect to regularly use NetLink from WebView.

Otherwise the capabilities of NetLink are the same under both licensingagreements.

Setup NotesWhen you have licensed Intranet NetLink you must activate it inthe following places:

NetLink Control Record (NL-01-01)

Here you must turn on the Intranet feature via a flag in theOther Security window (field 9):

Allow Intranet License Access?

Enter "Y" to enable this feature in NetLink. This meansthat each time an internal requestor logs on and passes thevariable "INTRANET_LICENSE=Y" then NetLink willuse one of the SouthWare license seats for the duration ofthe session.

NetLink Requestor Record (NL-01-03)

For each internal requestor (Requestor Type "I") you shouldenter their related SouthWare logon operator ID in field 12. Afield appears to the right of field 12 so that you may specifywhether the requestor can use the Intranet type of logon:

Page 125: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 125

Allow Intranet Login?

Enter "Y" to allow this internal requestor to log in via theIntranet-Only NetLink license. This means that therequestor may log in and pass the variable"INTRANET_LICENSE=Y" with the login information. For this type of login NetLink will use one of theSouthWare license seats for the duration of the sessioninstead of using the normal NetLink user license.

Enter "N" to prevent this internal requestor from using theIntranet-Only License for NetLink logins.

Note: This flag allows you to enable the IntranetLicense feature very selectively. A malicioususer could log in multiple times and tie up all theseats on your SouthWare license.

Assigned "seat" numberIf you answer "Y" to this option the system assigns afixed workstation number (such as "Z01") to sessionsused by this requestor. This helps ensure that if therequestor loses an Internet connection that he/she won’tbe taking up additional license seats when logging backin.

Controlling the License Used at LoginTo use the Intranet License instead of the normal NetLink licensethe login information submitted to start the session must includethe variable name/value of "INTRANET_LICENSE=Y". AsNetLink establishes a session it looks for this variable if thecontrol record is enabled. If the requestor is allowed to use thistype of login and the variable is submitted then NetLink will usethe Intranet license instead of the normal license. If the requestoris not authorized to use an Intranet License and you have a normalNetLink license the system will process the request as a normalNetLink request.

Login page may not be a validated requestBecause Intranet NetLink will not process non-validated requestsyou may not use a NetLink request as your login screen. You mustuse a static web page or put the login form into another standardpage such as a WebView menu. The file "intranetlogin.htm" isprovided as a standard sample of an intranet login page you mightuse.

Page 126: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

126 SouthWare Excellence Series™

Example:You establish the page "intranetlogin.htm" as the start pagefor your employee’s browser. When they log in via that pagethey will start an Intranet NetLink session.

What is an Internet/Intranet/Extranet Server?

A server on the Internet is a computer that is linked to the Internet via ahigh-speed line so that it can receive and process requests. A server onan "intranet" is simply a computer in a local network that uses Internettechnology to process requests without making all informationavailable to the World Wide Web. An "extranet" is a combination of alocal network and Internet access by specific users such as customersor vendors. There are technical security differences, but essentially thetechnology is the same. NetLink is designed to work with all of theseconfigurations.

To provide a server for NetLink you may choose to use an in-houseserver or to contract with an Internet Service Provider (ISP) to hostyour NetLink site. The following section outlines some of youroptions.

Sample Configuration OptionsHere are some possible network configurations for using SouthWareNetLink with your SouthWare Excellence SeriesJ system. With thecurrent technology available we recommend Option 3 (with some typeof firewall or "crippled" gateway machine) because it is:- less expensive to set up (software licenses and hardware costs)- faster (no network bandwidth issues between NetLink and data)- easier to administer (all functions done on same machine)- safe (as long as you have a firewall or gateway machine no one has

"see" your live machine but can access live data)

Page 127: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 127

Option 1 - NetLink on Internal Web Server using Live Data

In this configuration you have the following elements:a. NetLink is loaded on a separate computer (internal web server)

from your normal SouthWare processing, and these computers arenetworked with a high-speed connection.

b. The NetLink server has direct access to the data directory on thenormal server, typically referring to the normal server as a mappeddrive. The cblconfig file for NetLink is configured to look forfiles by looking first on the web server, then on the mapped drive. This allows NetLink’s own data to come from the web server butany other data will come from the normal server.

c. The internal web server has a continual connection with theInternet, probably via a connection to an Internet Service Provider(ISP).

d. When an Internet request comes to the ISP it is routed to theinternal web server. The internal web server runs NetLink,accesses data on the normal server, and returns the response to theISP machine.

Page 128: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

128 SouthWare Excellence Series™

Variations

U A variation on this setup is to move NetLink onto the normal dataserver and run web server software on the normal data server. You may leave only the web server software (such as Apache orXitami) on the internal web server machine. You then configurethe web server software on the internal web server to "pass"requests for NetLink to the web server software on the normal dataserver (e.g. for Apache this is a "proxypass" function). Thisimproves performance and the simplicity of your configuration.

U See also the AcuConnect notes later in this appendix for anadditional variation on this configuration.

Option 2 - NetLink on External Web Server using Live Data

In this configuration you have the following elements:a. NetLink is loaded on a separate web server computer located at

your Internet Service Provider’s location. This computer and yournormal SouthWare processing computer are networked with ahigh-speed direct access connection.

Page 129: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 129

b. The NetLink external web server has direct access to the datadirectory on the normal server, typically referring to the normalserver as a mapped drive. The cblconfig file for NetLink isconfigured to look for files by looking first on the web server, thenon the mapped drive. This allows NetLink’s own data to comefrom the web server but any other data will come from the normalserver.

c. The external web server has a continual connection with theInternet at the ISP’s site.

d. When an Internet request comes to the ISP the web server runsNetLink, accesses data on the normal server, and returns theresponse.

See also the AcuConnect notes later in this appendix for an additionalvariation on this configuration.

Option 3 - NetLink and Live Data on Same Server

This configuration is the same as Option 1 except the NetLink serverand the internal computer are the same computer.

Page 130: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

130 SouthWare Excellence Series™

Note: As a modification of this version you could have a separateinternal web server machine such as in Option 1 but use thatmachine only to route requests to your NetLink server. Thiskeeps all the SouthWare and NetLink files on your internalserver but provides a buffer between your ISP and yourinternal server. It should be faster than Option 1 and saves thecost of a separate runtime environment for the web server. For example, if your internal machine is a Unix machine youcould redirect requests from your internal NT web server(which uses IIS) to Apache on the accounting machine.

Option 4 - NetLink on External Web Server using Copied Data

This configuration is the same as Option 2 except that the ExternalWeb Server and the internal SouthWare computer are not connectedwith a high speed line. Instead the data files are copied betweenmachines on a periodic basis.

Page 131: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 131

Configuration Summary

Key Issues Option 1 Option 2 Option 3 Option 4

Benefits

Protects internal live datafrom direct connection toInternet or access byexternal parties

((( (( (((

Allows browser users toaccess live data

((( ((( (((

Web server processingdoesn’t slow down normalSouthWare processing

( ( (((

Ease of maintenance ((

Costs

Requires a separatecomputer and softwarelicenses for web server.

;; ;; ;;

Requires a high-speedconnection to Internet(ISP)

;; ;; ;;

Requires a lot of time andeffort to administer

;;;

Using Live or Off-line Data

One critical decision you have to make about your server is whether theserver will have direct access to your live data files. Using live fileswith NetLink gives you the most current data but requires that yourdata files be accessible from the server. This is a security and networkissue that you must decide for yourself based on the relative importanceof real-time data versus security concerns.

If you choose to use live data your normal live data server must beaccessible from the NetLink server system. They could be the same

Page 132: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

132 SouthWare Excellence Series™

system, or they could be two computers networked together so that thedisk drive on your normal live data server may be referenced from yourNetLink server. See "Sample Configuration Options" above.

If you choose not to use live data then you must establish a regularschedule for copying your live data files to the NetLink server and thencopying data files for importing from the NetLink server back to yourlive data server. The files that need to come back to your live dataserver include the NLIM.FIL in your NetLink server data directory andthe files in the import directory as specified in your NetLinkConfiguration record (NL-01-01). Then after you update your live datayou must copy all the files back to the NetLink server. You should alsoremember to update the "Date/Time of Data" field in the NetLinkConfiguration record each time you copy new data to the NetLinkserver.

Note: The use of off-line data is often not practical if you plan toleave your NetLink server on-line during the moving of filesand the update of data. Since new data might be coming in allthe time, it is very difficult to coordinate off-line data updates. We highly recommend that you use live data with NetLink.

What Needs to be Set Up on the Server

Page 133: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 133

Example Configuration

Here are the key elements that must be set up properly on the NetLinkserver:1. You must have a running Internet server with TCP/IP and internet

server software that supports CGI scripts.- On Windows NT or 2000 you may use the included Microsoft

Internet Information Server software.- Xitami is a freeware server package with versions for

Windows 95/98, Windows NT, Unix, and Linux. - Apache is a commonly used Unix/Linux web server package.

You may download Apache from the internet at no charge.

Important Note: In our testing we found that Apache underUnix/Linux provided much better performance undera heavy load than a comparable computer runningWindows NT and IIS. In benchmark studies we’veread that Windows NT performance for CGI scriptsdegrades quickly under load, so if you anticipateheavy simultaneous use of your NetLink site then werecommend a Unix/Linux/Apache environment forbetter performance. We have also experienced betterperformance on a Windows 2000 server when using

Page 134: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

134 SouthWare Excellence Series™

Xitami instead of Microsoft’s IIS software.

2. You must have a SouthWare run directory that contains properlyinstalled and licensed SwiftMate and NetLink products and anAcucorp runtime. You should be able to run SouthWare on theserver so that you may maintain NetLink files such as authorizedusers.- If you plan to maintain any ReportMate or ImportMate II

formats on the server you must also license these products.3. You should have loaded the NLNETUPD.OBJ program (or its

script if you use an executable script) into your server’s InternetCGI script directory.- e.g. c:\internet\inetpub\scripts on Windows NT IIS software- e.g. c:\xitami\cgi-bin on Windows with Xitami software- e.g /wwwroot/cgi-bin on Unix

4. You must set up your server so that it will run theNLNETUPD.OBJ program as a CGI script using the Acucorpruntime. There are two ways to do this:

a. You may configure your server’s internet CGI registry so thatit recognizes the "OBJ" extension as a CGI script and knowsthe command line to execute the Acucorp runtime to run the"OBJ" script. See the documentation for your Web Serversoftware to determine how to make this association.

On Windows NT, for example, you have to set the followingregistry entry:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3SVC\Parameters\Script Map

and associate the .OBJ extension with

PathToRuntime\wrun32.exe -c config %s %s

where PathToRuntime is the path where your wrun32.exeprogram resides and config is the runtime configuration filethat contains the normal entries used by SouthWare (such asFILE-PREFIX, FILE-SUFFIX, CODE-PREFIX, CODE-SUFFIX, etc.).

b. You may set up the execution command as an executable file

Page 135: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 135

by creating a batch file (Windows) or shell script (Unix) andthen using the name of the executable file in the "URL forNLNETUPD.OBJ" in the control record (NL-01-01, field 7). This eliminates the need to change the operating system’sregistry.

For example, on Unix using the Apache web server you couldcreate the file "nlnetupd.bat" that contains the following lines:

#!/bin/sh/usr/bin/runcbl -w -b -c /usr5/NETLINK/Sw8NL/cblconfig.nl NLNETUPD.OBJ

The first line is required. The -b in the command lineinhibits the terminal initialzation which keeps escapecodes from displaying on the NetLink pages.

On Windows NT you could create the file"NLNETUPD.BAT" that contains the command:

c:\sw8\wrun32.exe -w NLNETUPD.OBJ

and then useservername/scripts/NLNETUPD.BAT

as the URL for NLNETUPD.OBJ in the controlrecord.

Note: In our testing with the Xitami server we had to placethe characters "#! " (pound sign, exclamation, space)as the first characters in the batch file. This identifiesthe file as an executable file.

5. You must set up the directories needed by NetLink and these musthave appropriate permissions when run from the Internet server:- You must have a Local HTML directory into which you load

your HTML templates. This directory needs read and writepermission access. (We recommend a "netlink" directory

under your SouthWare directory.)

- For the standard NetLink templates you must have a basedirectory for your web site with sub-directories of "_themes"and "images". This base directory must have an http address,and you may use the "Base HREF" feature in the NetLink

Page 136: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

136 SouthWare Excellence Series™

control record to point to the base directory (see NL-01-01field 2).

- You must have an import directory into which you write anyform data that is to be saved for import. This directory needsread and write permission access. (We recommend an

"import" directory under your SouthWare run directory.)

- Your normal SouthWare run directory and data directory musthave read and write permission access.

- Your Internet CGI script directory must have read, write, andexecute permission access.

6. You should have an ALNLCFG.SEQ text file in your SouthWarerun directory. When you set up the NetLink Configuration record(NL-01-01) you can let the program automatically create this filefor you. The possible entries in this file are:

CO_ID=xxxwhere xxx is the Company ID to use

AUDIT_MODE=ywhere y is either "Y" or "N" to specify whether NetLinkshould use Audit Mode - in Audit Mode NetLink will writedetailed status information to the ALNLCFG.SEQ file foreach request processed - you may then look at the info to helpyou diagnose problems

Optional Single Requestor AuditYou have the option to designate a specific requestor forNetLink audit mode. This will help with debuggingrequests on a live system since the audit file can belimited to information from a single testing requestorinstead on containing info from all active users.

Normally the NetLink configuration file contains thevariable

AUDIT_MODE = xxxx (where xxx is ON, SHORT,OFF)

To designate audit mode limited to a single requestor youmay add a [REQR:xxxxxxxxx] attribute to the AuditMode where xxxxxxxxx is a valid requestor ID such as

Page 137: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 137

the following:

AUDIT_MODE = ON [REQR:JStone]

When Audit Mode is turned on for a single requestorNetLink will write audit information only for requestssubmitted by that requestor. All other requests will not beaudited.

SCAFFOLD_MODE=zwhere z is either "Y" or "N" to indicate whether to turn on aspecial mode used by SouthWare in testing (this should be"N" on your system or this entry should be deleted)

Tips on Apache Web Server Setup

Sample Unix/Linux batch file to execute Netlink:

#!/bin/sh/usr/bin/runcbl -w -b -c /usr5/NETLINK/Sw8NL/cblconfig.nl NLNETUPD.OBJ

Substitute the appropriate directories for your system..If you don’t have the first line - it will not workY.

The -b in the command line inhibits the terminal initialzationwhich keeps escape codes from displaying on the NetLink pages.

The cblconfig file:

In the cblconfig you must have a CODE-PREFIX and a FILE-PREFIX so that NetLink will know where to file the programs.

CODE-PREFIX /usr5/NETLINK/Sw8NL(Directory in which the NetLink Programs are located)

FILE-PREFIX /usr5/NETLINK/Sw8NL /usr5/dev72/run(Directory(ies) in which the data files are located)

You must be very careful to include the directory where theNetLink programs reside because this is also where your NetLinklicense will be if you haven’t added NetLink to your company’sSouthWare license. If NetLink is a part of your company’s

Page 138: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

138 SouthWare Excellence Series™

accounting system license, then the first path is not required.

Configuring Apache:

Once you install Apache on your UNIX/LINUX server you mustmodify the srm.conf file which is located in

/usr/local/lib/apache/conf.

Here are the changes to make::

DocumentRoot "/usr5/NETLINK"

(The directory name in quotations should be the root directory forthe processing of all requests.)

Alias /nlhtml " /usr5/NETLINK/nlhtml/"

(This alias will be used when creating a base href in the netlinkcontrol record. "/usr5/NETLINK/nlhtml" contains all the htmland image files.)

ScriptAlisas /cgi-bin/ " /usr5/NETLINK/cgi-bin/"

(This tells apache what directories contain server scripts. Thisshould be the directory that contains the batch file for executingNLNETUPD.OBJ)

How to Test the Server Setup

Once you have set up your server and NetLink you should test eachcomponent:

To make sure your server is accessible from a browserThis must work before you can start testing any NetLinkfeatures. From a browser connected to the server you shouldtype in the http address of an HTML file on the server. Thiswill ensure that your server is configured to receive Internet-type requests.

For example, let’s assume your server is named "myserver" in

Page 139: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 139

an intranet and that your NetLink Local HTML directory is a"netlink" directory under your SouthWare directory. In yourbrowser you could enter the URL of:

http://myserver/Sw8/netlink/INDEX.HTM

to access the template for the NetLink testing MENU request.

If you can’t access an HTML file from your server via the

browser you need to get your system administrator or web

master to fix this problem before you try to make

anything else work.

To verify that you have properly configured your server to executeNLNETUPD.OBJ

The MAIN request ID is designed to make it simple to testwhether your server properly executes the NLNETUPD.OBJprogram. Continuing with the previous example, you couldenter the URL of:

http://myserver/scripts/NLNETUPD.OBJ?REQUEST_ID=MAIN

if you have configured your server to recognize the OBJextension, or

http://myserver/scripts/NLNETUPD.BAT?REQUEST_ID=MAIN

if you are using a batch script file to execute the program

and this should display the menu of Requestor Types from the

Request ID "MAIN". If this does not work, you need to get

your system administrator or web master to fix the registry

and/or permissions and/or NetLink configuration directories

before you try to make anything else work.

Note: If you get the error message "Missing Company ID" thenthis means the NLNETUPD program is running but that itcan’t find the Company ID in the ALNLCFG.SEQ file. This could be because:

- The ALNLCFG.SEQ file does not exist (you can let theconfiguration file in NL-01-01 create it)

- The ALNLCFG.SEQ file does not have the proper

Page 140: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

140 SouthWare Excellence Series™

permissions- The cblconfig file used by the runtime does not specify

the proper run directory via the CODE-PREFIX andFILE-PREFIX directives

Note: If the program runs but seems to "hang" without returningthe request, make sure you are not using an evaluationversion of the Acucobol runtime. The evaluation versiondisplays a message that you must acknowledge when itexecutes, and when executed via the web server you donot see the message. You may work around this problemuntil you can get a live runtime by putting a "-f" switch inthe command line that you execute (e.g.c:\sw8\wrun32.exe -f -w NLNETUPD.OBJ).

To test your NetLink Configuration record from SouthWareThe NetLink Configuration program (NL-01-01) has a built-in testfeature that helps you verify your set up. You may test some of thecritical setup features of NetLink by using the "<F4> Test Setups"function available from this program. After you have loadedNetLink and set up your files, you may access this program and

access this feature. You should run this test only from the

server since the directory paths may not be valid for running

from a workstation. The test process runs a report that verifiesthe following:U Whether one of the standard Request IDs is foundU Whether one of the standard HTML templates is found in the

directory you specifiedU Whether one of the standard ReportMate formats used by

NetLink is found properly set upU Whether one of the standard NetLink parameters for

ReportMate formats (NLB1-04) is found properly set upU Whether one of the standard ImportMate II formats used by

NetLink is found properly set upU Whether a sample temporary file can be written to the Local

HTML directory you definedU Whether a sample form data file for importing can be written

to the Import directory you definedU Whether the Company ID for NetLink is defined and whether

the ALNLCFG.SEQ file is set up in the run directory

Page 141: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 141

To test your NetLink Configuration record via a browser

You may run the test function described above from a browser. This ensures that the settings and file/directory permissions arecorrect from the perspective of the web server software.

To run the "Test Setups" function from a browser you simplyexecute the NLNETUPD program as described earlier in thisappendix, but use "sysssetup" as the REQUEST_ID instead of"MAIN". For example,

http://myserver/scripts/NLNETUPD.BAT?REQUEST_ID=syssetup

if you are using a batch script file to execute the program

The "syssetup" is a special command word that NLNETUPDrecognizes and is not an existing Request Type. When it receivesthis command word the NLNETUPD program runs the same testfunction you can run from NL-01-01, but it returns the results asan HTML browser page.

Tip: If you can run this test function without error from NL-01-01 but get errors when running it from a browser, onelikely cause is permission errors. When you are loggedon to SouthWare you are recognized as a particular userby the operating system. When you execute NLNETUPDfrom a browser you are recognized as a different user(this varies depending on the web server). Make sure thatthe user your web server software uses has properpermissions for the directories that NetLink uses.

If any of these tests are not OK you must fix the condition before

using NetLink.

If an Import Doesn’t Work

If an import process for NetLink is not working when you set up yoursystem, try the following:

a. Turn live data offb. Execute the import process through Netlink to create a file to be

imported. c. Log into the Netlink system via a SouthWare login and try to

import the file created in step b.

Page 142: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

142 SouthWare Excellence Series™

The errors you receive while logged on should help you determine whythe import didn’t work from NetLink.

AcuConnect Setup Notes

AcuConnect is an optional add-on module from Acucorp that lets youdistribute application processing between client and server machines. If your data files are stored on a different computer than NetLink, youmay use AcuConnect with NetLink to launch the data extraction(ReportMate) function on the remote data machine. This reduces theamount of data that must pass over the network connection and shouldspeed up the data extraction process.

U Without AcuConnect, ALL the data to be processed by aReportMate run must be passed over the network so thatReportMate can run on the local system (NetLink server) andproduce the data extraction file.

U With AcuConnect, only the resulting data extraction file passesover the network - the ReportMate run is done on the same serverthat holds the data.

The exact steps to configure AcuConnect on your network depends onyour network configuration and you must refer to the AcuConnectdocumentation for more information. Here is an overview of theprocess:a. Install AcuConnect on your remote server as per the AcuConnect

installation instructions. This is essentially an Acucorp runtimewith enhanced capabilities. Make sure you set up theconfiguration file needed for running AcuConnect on the server.

b. Modify your local (NetLink server) cblconfig file to:

- refer to the remote server in the FILE-PREFIX command (e.g. FILE-PREFIX @dataserver:/usr/sw8)

- indicate an AcuConnect configuration file that exists on theserver (e.g. ACUCONNECT-CONFIGURATION-FILE*dataserver:/etc/acuconnect.cfg)

- specify any other AcuConnect options (e.g. ACUCONNECT-CLOSE-AFTER-CANCEL 0)

Page 143: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix A

SouthWare Excellence Series™ 143

- include an AcuConnect code name alias for each ReportMateprogram to be run via AcuConnect (typically programs thatbegin with "RMRPT" except for "RMRPT1" and"RMRPT1A"):

CODE-MAPPING 1RMRPT2 *dataserver:/usr/sw8/RMRPT2.OBJRMRPTAP *dataserver:/usr/sw8/RMRPTAP.OBJRMRPTAR *dataserver:/usr/sw8/RMRPTAR.OBJRMRPTCF *dataserver:/usr/sw8/RMRPTCF.OBJRMRPTFA *dataserver:/usr/sw8/RMRPTFA.OBJRMRPTGL *dataserver:/usr/sw8/RMRPTGL.OBJRMRPTIT *dataserver:/usr/sw8/RMRPTIT.OBJRMRPTIV *dataserver:/usr/sw8/RMRPTIV.OBJRMRPTJC *dataserver:/usr/sw8/RMRPTJC.OBJRMRPTNL *dataserver:/usr/sw8/RMRPTNL.OBJRMRPTPR *dataserver:/usr/sw8/RMRPTPR.OBJRMRPTRD *dataserver:/usr/sw8/RMRPTRD.OBJRMRPTRM *dataserver:/usr/sw8/RMRPTRM.OBJRMRPTRS *dataserver:/usr/sw8/RMRPTRS.OBJRMRPTSM *dataserver:/usr/sw8/RMRPTSM.OBJRMRPTSV *dataserver:/usr/sw8/RMRPTSV.OBJRMRPTXD *dataserver:/usr/sw8/RMRPTXD.OBJRMRPTXL *dataserver:/usr/sw8/RMRPTXL.OBJRMRPTXM *dataserver:/usr/sw8/RMRPTXM.OBJRMRPTXV *dataserver:/usr/sw8/RMRPTXV.OBJRMRPTXX *dataserver:/usr/sw8/RMRPTXX.OBJRMRPT3 *dataserver:/usr/sw8/RMRPT3.OBJ

Remote System Administration

You have several features that help you do some system administrationsupport from a remote browser.

- Special System Administration Page

To simplify system administration you may display a special pagethat consolidates system administration functions. You may askfor the request ID "SYSADMIN" to display a page that providesexplanations of each of these special functions as well as links toexecute them. You must supply the password to this special pageif you have a non-blank Remote SysAdmin Password (as definedin NL-01-01).

- Audit Mode Control

You may send any of the following request IDs to NetLink tocontrol the Audit Mode features. This helps you remotely debug aproblem with a request or a system set up problem without havingdirect access to the server. These are similar to the SYSSETUPrequest command in that there is not an actual request type in theNL-01-02 file for these names. These are system reserved names

Page 144: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix A SouthWare NetLink™

144 SouthWare Excellence Series™

that NetLink recognizes:

AUDITON This sets the AUDIT_MODE=ONparameter in the ALNLCFG.SEQ file.

AUDITOFF This sets the AUDIT_MODE=OFFparameter in the ALNLCFG.SEQ file.

AUDITSHORT This sets the AUDIT_MODE=SHORTparameter in the ALNLCFG.SEQ file(SHORT is an abbreviated version of auditmode without the variable table).

AUDITDISPLAY This displays the current contents of theALNLCFG.SEQ file to your browser.

AUDITCLEAR This clears the contents of theALNLCFG.SEQ file below the CO_ID,AUDIT_MODE, and SCAFFOLD_MODElines. This is helpful to clear the existingaudit information before you run a requestin Audit Mode.

- Error File Displays Via Browser

You may execute the following request IDs to display NetLinkerror files to your browser (use the name "admin_id" instead of"request_id"):

SYSBLIC This displays the current contents of theALNLBLIC.SEQ file to your browser.

SYSBLOG This displays the current contents of theALNLBLOG.SEQ file to your browser.

SYSERR This displays the current contents of theALNLERR.SEQ file to your browser.

Page 145: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 145

Appendix B - Using NetLink Requests in a Browser

How to Access NetLink from other Web pages

To access NetLink from a non-NetLink page you must have a hyper-text link to an initial NetLink request. This link must contain the httpreference for the NLNETUPD.OBJ program (http:// followed by theURL for NLNETUPD as defined in NL-01-01 field 7) and the RequestID to process. For example, if you want to call the NetLink customerlogin screen you might link to:

http://swntserver/scripts/nlnetupd.obj?REQUEST_ID=CLOGIN

To access NetLink this way you must be accessing a request that doesnot validate the session # (see field 9 in NL-01-02). The request ID"MAIN" is an example of a request that does not validate the sessionsince you should only be accessing that request if you are ready to starta new session. If the request requires a valid session # and there is nota valid session number in the incoming GET or POST string then therequest will fail.

To start a NetLink session you must typically go through a loginscreen. When the NLNETUPD program receives a valid Requestor IDand Authorization Code but does not receive a non-zero sessionnumber then the program will automatically start a new session for thatRequestor. The request IDs for the standard login screens are:

CLOGIN Customer LoginILOGIN Internal LoginVLOGIN Vendor Login

For Other type (type "O") requestors you may need to provide logininformation via the link. For example, if you are using NetLink toallow consumers to access data without first establishing a customerrecord then they will not have a valid login record. In order to let themaccess the Other requestor type menu you must provide logininformation (and a stock location) via the link the consumer uses to getto the menu. The link might be (the following is actually one line withno spaces):

Page 146: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

146 SouthWare Excellence Series™

http://(path_to_the_NLNETUPD.OBJ_program)?REQR_TYPE=O&REQR_ID=NEW+CUSTOMER&AUTH_ID=+&LOC_NO=loc&REQUEST_ID=OMENU

which passes the login name of "New Customer", a blankAuthorization ID, and a location number (the "+" represents a spacesince some browsers won’t accept spaces in the link data). During theNetLink set up the requestor "New Customer" is automatically definedas a valid Other type of requestor.

Using Multiple Companies on One Server

For single company setups ("Multi-Company?" is N in field 1 of NL-01-01) NetLink uses the ALNLCFG.SEQ file to determine the value ofthe CO_ID variable. Once a session is started NetLink stores theCompany ID in the session record for use by each request in thesession.

If you are using one server to run NetLink for multiple Company IDs("Multi-Company?" is Y in field 1 of NL-01-01), you must establishthe Company ID for each requestor’s login session. The easiest way todo this is to pass the CO_ID variable value in the link you use to accessNetLink as described in the previous section. For example:

http://swntserver/scripts/nlnetupd.obj?REQUEST_ID=CLOGIN&CO_ID=SI\

calls the CLOGIN request and passes it the Company ID of "SI\". Thestandard Header file includes the hidden form field template of"CO_ID=@VAR_CO_ID_@" so the resulting hidden field in theCLOGIN page will be "CO_ID=SI\". As long as the next page you callis to submit the CLOGIN form data to a request that validates thesession number, NetLink will establish a session record and store the"SI\" Company ID in the session information.

Establishing a SessionA new session is established each time you access a validated requestwithout a session number. This typically happens when you go fromthe login screen (a non-validated request) to the menu (a validatedrequest). The purpose of the session is to simulate a continuing loginstate even though Internet technology is stateless and doesn’t rememberanything from one request to another.

Page 147: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 147

When you establish a session, NetLink creates a session record thatcontains info such as who you are, your related SouthWare ID (such ascustomer number or employee number), when you logged on, the timeof your last request, etc. The session number is then passed to NetLinkfrom each request you make. From the session number NetLink candetermine who you are, what info you can see, and other info thatwould otherwise have to be stored and passed through each requestpage.

Session User Fields

You have available some user-defined fields in the Session records. These extra Session fields allow you to store some variable values thatyou obtain from a report or user input and then be able to access themvia ReportMate for use in later pages. This achieves a similar effect tothe WorkFlow user fields that stay in memory until you need them -these will be available throughout the session.

- There are ten 80-character user fields stored in the session record.- NetLink will automatically update the values of these fields when

you send the variable name "SESS_USERx" where "x" is anumber from 1 to 10 to specify which of the fields to update. Forexample, if you sent the variable "SESS_USER3=my user data" aspart of a request string, NetLink would recognize that variablename and put the value "my user data" in the third user field forthe session.

- You may access the values of these fields via ReportMate for thesession file (NL03). - The first five session user variables are automatically available

without running ReportMate.

Passing Info Between Requests

Because the server is not maintaining a login state for a requestor, eachrequest must receive all the information it needs from the previousrequest page. Information is passed from request to request using formfields and links.

U To pass data via form fields the sending page must submit a formto the server via the POST method. Any form fields in the pagewill be sent to the server, and NetLink will extract all the fieldsfrom the request. The fields may include "Hidden" fields whichdo not display on the screen but are used only for passing data to

Page 148: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

148 SouthWare Excellence Series™

the next request.

An example is the SESSION_NO field. The default header.txtinclude file for all NetLink requests includes a hidden form fieldnamed "SESSION_NO" with a value of"@VAR_SESSION_NO_@". Each time a page displays, NetLinkreplaces the "@VAR_SESSION_NO_@" variable with the currentsession number. If you submit the page as a form, theSESSION_NO value is automatically available to the next request.

U To pass data via a hypertext link, you must put the field value inthe link string. A hypertext link passes data to the server via theGET method, and only the data in the link itself is supplied toNetLink (nothing else on the page is sent to the server).

Therefore, to supply the SESSION_NO to the next request eachhypertext link must contain the information:

SESSION_NO=current#

To give a complete example, let’s say we need to have a link thatcalls for the request ID "next". Our template could have the linkof:

http://@var_form_action_url_@?session_no=@var_session_no_@&request_id=next

When the template is actually used by NetLink, the variables willbe replaced so that the link becomes:

http://domain/cgi-bin/nlnetupd.bat?session_no=00000275&request_id=next

This will pass the current session number to the next request.

Moving Between Requests

Once you are in a NetLink page the link to each available next requestshould be prompted as a hyper-text link, a button, or a graphic button. To ask for the request simply click on the link. If the page is a form tofill out you should fill in or confirm the information and then click onthe button that is identified as the one that submits the information.

Most of the standard pages contain a header with a menu of commonoptions and links for returning to your Home page or for sending e-mail as specified in your NetLink Configuration record.

Page 149: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 149

Logging Off of a Session

It is not necessary to log off of a session, but for security reasons itmay be wise to do so. If you don’t log off of a session your sessionwill eventually time out per your Timeout Interval in the NetLinkConfiguration record. However, until the timeout someone may beable to use your browser to make additional requests. Even if you go toa login screen, the "Back" function or history function of your browsermay allow someone to get back to a page to make a request.

NetLink provides a "Logoff" function that will disable the session youare in so that no further requests can be made on that session. Whenyou click on the "Logoff" button in the standard footer you call theRequest ID "LOGOFF" which runs a special program to disable yoursession record. NetLink will then no longer accept any requests forthat session number.

Overview of Standard Requests

With the standard requests in NetLink you have a powerful and easy-to-use browser application. Here is an overview of the optionsavailable for each type of requestor (these requests are subject tochange):

For Customer Requestors

Customer Login ScreenU Customer Start Page

The customer start page (request ID of "CSTART") includes thefollowing sample information incorporated into descriptive text:

- salesperson to contact- number and value of open orders with link to details- number and value of open service orders with link to

details- current balance with link to details- past due balance- current company contact info with link to change/update- PTD sales with link to details- YTD sales with link to details- last invoice date and last payment date- area to include a frequently updated message to customers

U Customer Menu of Options ----UU Summary of Customer Account Balance

Page 150: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

150 SouthWare Excellence Series™

UUU Option to View List of Open ItemsUUUU Zoom to Details of an InvoiceUUUUU Zoom to Details of an Invoice Line Item----

UU Product Orders Menu

UUU Enter Order Header Info for a New OrderUUUU Display Order SummaryUUUUU Change Order Header InfoUUUUU Add a Line ItemUUUUUU Enter Line Item QuantityUUUUU Change a Line ItemUUUUUU Enter New QuantityUUUU Submit OrderUUU Display a list of Pending Orders-----UU Select Product Category for Product Price ListUUU Display List of Items for a Product CategoryUUUU Display Details for an Item----UU Display a List of Open Sales OrdersUUU Zoom to Details of a Sales OrderUUUU Zoom to Details of a Sales Order Line Item----

UU Display a List of Open Service Orders

UUU Zoom to a Service Order Header----

UU Submit a Request for Service Work

----

UU Review Product Purchase History Menu

UUU Review Purchases for Last 3 MonthsUUU Review Purchases for a Range of Items for Last 12 MonthsUUU Enter Ranges for Product History ReviewUUUU List of Product Purchases----

UU Other Requests

UUU Customer Change of AddressUUU Request Marketing InfoUUU List of InvoicesUUU (any other requests that you have created for customers unless

you specifically excluded them from this list via the "Optionfor Request ID" field in the request record)

Additional Customer-Related Options:

Page 151: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 151

U Sales Order Inquiry (CORDINQ) to provide a non-validated singleorder inquiry that can be accessed by a customer checking on the statusof an order.U Sales Order Inquiry line item (CORDINQDET) to show line itemdetails for the non-validated request CORDINQU Option to Select Standard Bill for a NetLink Order - A request IDCBOMSEL allows a customer to choose a standard kit to purchase.

To provide a link to a list of BOMs to purchase you may add the followinghypertext line to a page related to a NetLink order (such as "nlordlq2.htm"):

<ahref="http://@var_form_action_url_@?session_no=@var_session_no_@&amp;nl_order_no=@var_nl_order_no_@&amp;loc_no=@var_loc_no_@&amp;request_id=cbomsel">Select from BOM</a>

You may also add the ReportMate report BOMLST to the request IDQCCATSEL and add an additional "ReportMate format include" within thehtml NLCATSEL.HTM or a similar hyperlink listed above if you don't wantto display a button instead of a list of BOM's.

For Vendor Requestors

Vendor Login ScreenU Vendor Start Page

The vendor start page (request ID of "VSTART") includes thefollowing sample information:

- number and value of open purchase orders with link todetails

- current balance owed with link to details- current company contact info with link to change/update- purchase YTD- last payment date- 1099-MISC information- current buyer assigned to vendor- current vendor contact from vendor purchasing record- area to include a frequently updated message to vendors

U Vendor Menu of Options----

UU List of Open POs

UUU Zoom to Details of a POUUUU Zoom to Details of a PO Line Item----

UU List of Open Invoices

----

UU Other

Page 152: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

152 SouthWare Excellence Series™

UUU List of Items for which vendor is primary supplier (VITMLST)UUU Submit Change of AddressUUU (any other requests that you have created for vendors unless

you specifically excluded them from this list via the "Optionfor Request ID" field in the request record)

For Executive-Level Internal Requestors

Executive Login ScreenU Executive Start Page

As an example of how an executive could use NetLink to accessmanagement info while out of the office you have a sample startpage for an executive. To simplify access to this page we haveprovided a request "XLOGIN" that you may use instead of thenormal "ILOGIN" for internal requestors. This calls a request"XSTART" which contains information from the last ExecuMateII gather:

- Current sales status info- Recent sales review- Current Income statement- Current Balance sheet and cash balance- Other sales order status info- Inventory status info- Receivables status info including aging period totals and

top customers- Service order and contract status info- Payables status info

For Internal Requestors

Internal Login ScreenU Internal Start Page

The internal start page (request ID of "ISTART") includes thefollowing sample information:

- "Success" area with sample company status data- (optional picture of employee)- Current personnel data from employee record- Technician contact data with link to current service orders- Salesperson sales/commission data with link to PTD

details

U Internal Menu of Options----

UU Customer Information

UUU Ranges for Customer List

Page 153: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 153

UUUU List of CustomersUUUUU Zoom to Summary of Customer InfoUUUUUU Zoom to List of Open ItemsUUUUUUU Zoom to Invoice DetailsUUUUUUUU Zoom to Details of an Invoice Line ItemUUUUUU Zoom to List of Open Sales OrdersUUUUUUU Zoom to Sales Order DetailsUUUUUUUU Zoom to Details of a Sales Order Line ItemUUUUUU Zoom to List of Open Service OrdersUUUUUUU Zoom to Service Order Header InfoUUUUUU Zoom to Product History Review RangesUUUUUUU Product History Report----

UU Vendor Information

UUU Ranges for Vendor ListUUUU List of VendorsUUUUU Zoom to Summary of Vendor InfoUUUUUU List of Open ItemsUUUUUU List of Open POsUUUUUUU Zoom to Details of a POUUUUUUUU Zoom to Details of a PO Line Item----

UU Product Price List

UUU Select Product CategoryUUUU List of Stock Items for a Product CategoryUUUUU Details of a Stock Item----

UU Other Requests

UUU PTD commission report for salesperson (ISMANCOMM)UUU List of sales orders for a salesperson (IOELIST)UUU All current sales orders (IALLORD)UUU (any other requests that you have created for Internal

requestors unless you specifically excluded them from this listvia the "Option for Request ID" field in the request record)

If you use SouthWare TaskWise®

You have a set of NetLink example pages that access and displayTaskWise data. This demonstrates that any data available viaReportMate can be made available via NetLink. These pages alsoallow users to access their TaskWise data from any browser in theworld to review key data and to make selected changes to task

Page 154: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

154 SouthWare Excellence Series™

information.

To activate the TaskWise feature you must specify a logonoperator in the NetLink Requestor record (NL-01-03). Thestandard internal start page (istart.htm) displays a left-columnTaskWise picture (the same one used in the standard SouthWaremenu) if the operator has a security level of at least 3 forTaskWise. Clicking on this picture accesses the TWSTARTrequest for the current operator. Here are some of the selectedfunctions you can do:

TW Start Page

This new page has a similar look to the standard TaskWiseStart page. This shows you totals for the access group and letsyou click on standard tabs (similar to the ones in standardTaskWise) to zoom to other TaskWise-related pages. Youmay click on one of the tabs or enter relationship or contactsearch info at the bottom of the page.

Change Access

When you display the TaskWise Start page it showsinformation for your Default Access Group as defined inyour TaskWise operator record. You may click on thearrow to the right of the Access operator to display a page(TWACCESS) that lets you select a new Access group. The page stores the current access group in User Field 6in the Session record for use by other pages.

Tasks Tab

TWTSKLST request shows a list of current tasks (openand/or closed) for the current Access group. Optionsavailable include:- Option to zoom to task details

- TWTSKDET request for view only if the task isclosed

- TWTSKCHG request with option to change atask if it is still open

- Option to add a new task - TWTSKADD- Option to change selected filters for list:

- Dates to include- Task Categories to include- Task Type to include- Open and/or Closed Task status- Whether to include archived tasks (calls

Page 155: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 155

TWTSHLST if including archive)- Text to search for

Contacts Tab

TWCONSEA request lets you search by Full Name, LastName, or Phone NumberDisplays a list of contacts- Zoom on a contact to display a page similar to the

standard TaskWise contact page (TWCONDET)- Option to zoom to tasks for the contact

Relationships Tab

TWRELSEA lets you search by Name or Phone NumberDisplays a list of relationships- Zoom on a relationship to display a page similar to

the standard TaskWise relationship page(TWRELTABx where "x" is different for eachrelationship type)- Zoom to tasks for relationship

- Zoom to task details- Zoom to Alerts for relationship

- Zoom to alert details- Zoom to list of contacts for relationship

- Zoom to contact tab

Alerts Tab

Displays a list of alerts for the current groupSelect one or all Alert types and Non-reviewed or AllAlerts- Zoom on the details of an alert

Projects Tab

Displays a list of projects- Zoom to the details for a project

- Zoom to a list of tasks for the project

AnswerReady Tab

Displays a search page that lets you select a topiccategory and a text search string- Displays a list of topics that meet criteria and lets you

change the criteria- Zooms to a page with the details from a topic

Page 156: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

156 SouthWare Excellence Series™

For Other Requestors

(system assumes Login using "New Customer")U Other Menu----

UU Product Order Form Menu

UUU Enter New Order Header InfoUUUU Review Order SummaryUUUUU Edit Order Header InfoUUUUU Add/Change Line ItemsUUUUU Submit OrderUUU Access a Saved Pending Order----

UU Product Price List

UUU Select a Product CategoryUUUU Display a List of Items for a CategoryUUUUU Zoom to Details of an Item----

UU Other

UUU (any other requests that you have created for Other typerequestors unless you specifically excluded them from this listvia the "Option for Request ID" field in the request record)

Handheld-Oriented NetLink ApplicationsYou have available an extensive set of Handheld-oriented applicationsfor NetLink. These are targeted to internal-type requestors so they areideal uses for the Intranet licensing option for NetLink. Theseapplications use standard NetLink features so you may edit thetemplates, requests, formats, etc., as with the other standard examples.

These Handheld applications are extremely powerful. Instead of simple applications that can run within the constraints of ahandheld computer these provide browser-based access to your livesystem data. Your wireless handheld unit becomes a portal for youruse of your SouthWare system. The pages are designed to minimizedata entry and scrolling (particular horizontal scrolling) for easyhandheld use.

Customer Account Management for Handhelds

These are designed to let a salesperson or other employee accesskey customer information via their handheld. Examples availablehere include:- Search for customer by number, name, or phone number- Display customer name, address, phone info

Page 157: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 157

- Related zoom options- Enter a new sales order- Display a list of pending NetLink orders (not yet

submitted as orders)- Zoom to details of a pending NetLink order and

optionally submit it- Display list of open sales orders

- Zoom to details of a sales order- Display list of open service orders

- Zoom to details of a service order- Display list of open tasks related to customer

- Zoom to details of a task- Optionally edit the details of a task

- Display credit status including- Credit limit- Current A/R Balance- Total of open sales orders- Total of open service orders- Calculated available credit- Past due amount and aging date- Credit rating

Service Technician Portal for Handhelds

These are designed to let a technician receive assignments,reference past service work, and update status information forservice work. Examples available here include:- List of open service orders for the technician

- For today- For next 7 days- For all dates

- Zoom to service order details- Submit parts and labor used on a service order

- Customer service reference info- Access to list of service calls since a selected date- List of current contracts

- List of equipment covered on a contract- Details of an equipment record

- Service order history for a piece ofequipment

- List of custom equipment items not under contract- Search for an equipment item by service tag #

Page 158: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

158 SouthWare Excellence Series™

TaskWise Task Management for Handhelds

These are designed to let any employee access and update theirtask list from anywhere in the world. Examples available hereinclude:- List of open tasks

- Zoom to task details- Option to edit existing task such as recording notes of a

customer conversation and completing the task- Option to add a new task (such as appointment, to do,

meeting, etc.)

Lookup Contact Info for Handhelds

These pages are designed to help you find a TaskWise contactperson and view related information such as address, phone, etc. You may search for contacts by last name.

Executive Review Portal for Handhelds

These are designed so that a manager, controller, or other top-levelexecutive can get an up-to-the-minute status on key areas of thebusiness at any time. Examples available here include:- Sales status information such as open orders, back orders,

quotes, scheduled shipments, and totals- Receivables status information such as aging totals and top

customers- Inventory status information such as outstanding purchase

orders, expected receivings, and inventory valuation- Payables status such as aging totals- Service status such as today’s scheduled work load, number of

late service orders, and soon-to-expire contract notification- PTD summary income statement- YTD summary income statement- Summary balance sheet and cash status

Sales Order Entry for Handhelds

These pages allow you to create a sales order directly from yourhandheld unit. Features include:- Automatic default of standard customer info- Pricing reflects any special customer or quantity discounts- Easy search for stock items- One-click selection and editing of items- Ability to hold tentative orders for later submission

Page 159: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 159

Stock Item Status Check for Handhelds

These pages are designed so that you can enter or scan in a stocknumber and get an instant check on inventory availability. Features include:- If you have multiple locations you can display quantities for

all locations- Automatic loop - you can continue to enter/scan stock

numbers to display status

Receivings Entry for Handhelds

These pages allow you to use a handheld unit to scan or enterinventory receivings (IS-03-02). Features include:- Create new transactions- Validation of receiving document number (PO number, etc)- Error checking to ensure that items entered are valid for

receiving document- Automatic loop on received items for efficient entry- Option to view all received items on a receiving transaction

Physical Count Entry for Handhelds

These pages allow you to use a handheld unit to scan in itemnumbers and counted quantities to record physical counts (IS-06-04). The examples are designed to work with the Physical CountDetail feature (IS-08-02, field 24, "Use Physical Count Detail?")so that you may record multiple counts for the same item. Featuresinclude:- Enter batch counts- Automatic loop for efficient entry- Option to display count variances

How to Add Your Own Request Types to the Standard Menus

When you create your own request type you need to make it accessiblefrom another page. There are several ways to do this:

- You can create a hyper-text or button link to your new requestfrom an existing page

- You can modify the template for the standard menu to include thisas an option

- You can allow it to display in the standard "Other" list within thestandard menus

Page 160: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

160 SouthWare Excellence Series™

To have your request appear in the "Other" pull-down menu list for therequestor type of the request you simply create the Request ID withoutentering a value for the "Option for Request ID" (NL-01-02, field 9). The standard menus will automatically pick up any requests for therequestor type that have no value in this field. You may also enter thespecific name of the menu Request ID (such as CMENU for acustomer request) to ensure that the request only appears in the Otherlist for that menu.

For example, let’s say you add a customer request called "MYINFO"that you want to appear in the Customer menu. In the "Option forRequest ID" field for this request simply leave the field blank. When acustomer accesses the CMENU request for the menu of options, thedescription of your MYINFO request will automatically appear in the"Other (select from list below)" list in the menu.

How to Easily Make a ReportMate Report Available ViaNetLink

There are standard report templates (one per requestor type) that youmay use to easily "NetLink-enable" a ReportMate report. Here are thesteps to do this:1. Create your report format. Make sure any ranges or selection

criteria can be supplied from NetLink via a variable.2. Define the Parameters for the RM Format in NetLink (NL-01-04).3. Create the new Request type. For the template name use one of

the following (there are multiple ones so that the header may bedifferent for each type):- For a customer report, use the template NLCRPT.HTM- For a vendor report, use the template NLVRPT.HTM- For an internal report, use the template NLIRPT.HTM- For an other type requestor report, use the template

NLORPT.HTM4. Make the request available from an existing NetLink menu or page

(see previous topic).

Using WorkFlow E-Mail Templates with NetLink

If you use SouthWare WorkFlow you may utilize its ability to generatecustomized e-mail to add powerful capabilities to your NetLink site:

U Option to Create E-Mail Confirmation Automatically for

Sales Orders and Invoices

Page 161: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix B

SouthWare Excellence Series™ 161

The Inventory/Sales option to automatically create WorkFlow e-mail from sales orders is a very valuable feature in NetLink. Thisfeature can create mail when an order is created via import, andsince NetLink uses the import feature then a submitted NetLinkorder can automatically generate an e-mail confirmation. Alsowhen you select an order for billing the program can generate an e-mail message telling the customer that the order has shipped.

See the related fields in the Inventory/Sales Control record (IS-08-02, field 24, Mail Templates).

U Option to Embed Link to a NetLink Page within an E-Mail

When you generate an e-mail message you could include a linkthat will call directly to NetLink to display a page. This is possiblebecause the WorkFlow template will replace variables in the e-mail text as the message is generated.

For example, when you send an order e-mail confirmation to acustomer the text of the message could contain a link that willdirectly display the customer’s order via NetLink. The templatemight contain the line:

http://myserver/cgi-bin/nlnetupd.bat?request_id=cordinq&cust_no=variable1&ord_no=variable2

where variable1 will be replaced with the customer number andvariable2 will be replaced with the order number. The request ID"cordinq" is a variation of the standard request "CORDDET" withthe following modifications:

- the request is not validated ("N" in Validate Session # in field9) so that no login information is needed

- the template does not include the standard footer with buttonsto access other requests since no session is started

- any line item zooms are taken out of the displayed data (butyou could create a non-validated version of the zooms)

When the customer gets the e-mail confirmation the link willinclude his customer number and order number. When he clickson the link it will pass the URL to his browser. When NetLinkgets the URL it sees that the request does not need to be validatedso it displays the order page.

Page 162: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix B SouthWare NetLink™

162 SouthWare Excellence Series™

NOTES:

Page 163: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 163

Appendix C - Working with NetLink Templates

The page templates used in NetLink are HTML text files that providethe look and structure of the browser pages to be created by NetLinkrequests. The standard templates in NetLink provide a variety ofvaluable standard requests and serve as examples of ways you cancreate your own templates. You may modify these standard templatesor copy them as the starting point for new templates.

What is HTML?

HTML (HyperText Markup Language) is designed as a simpledescriptive markup language that allows users to interchangedocuments. The "markup" in the language means that parts ofdocuments are marked or tagged with special text that tells browsershow to present the text as Web pages. HTML uses a header and tagsto pass structure, formatting, hyperlink, and form descriptioninformation to the browser.

For example, to tell the browser to present a word with a bold look youcan enclose the word in the "bold" tag of "<B>". The syntax

<B>word</B>

tells the browser to display the text between <B> (bold on) and </B>(bold off) as bolded text. This would appear in the browser as:

word

To learn more about HTML syntax you can find many books at anygood bookstore. The HTML for Dummies series published by IDGBooks Worldwide, Inc., is the easiest-to-read resource we’ve used.

What You Do and Don’t Need to Know about HTML

To use the standard templates of NetLink you don’t need to know anyHTML beyond the examples given in this manual. NetLink is ready togo. You may eventually want to do some editing (such as to change orremove the graphic in the standard HEADER.TXT file), but this is notnecessary.

Page 164: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

164 SouthWare Excellence Series™

To edit or create templates you will be editing HTML. The amount ofknowledge of HTML syntax you need to have depends on howsophisticated your editing needs are and on what tools you use:- To simply change text literals on a page you don’t have to

understand HTML at all - you simply find and edit the text literalwith a text editor.

- To create sophisticated pages with graphics or multiple fonts orform fields you must either understand HTML very well or use anHTML editor. We recommend you use an HTML editor for anycomplex changes since you can more readily see the result as youwork and can typically make changes faster.

The Basic Components of a Template

The basic components of the standard NetLink templates include:- Variables that refer to standard header and footer files- Other variables to be replaced- HTML text for the specific request page- Hidden form fields for SESSION_NO and other special variables

(such as NL_ORDER_NO within the order entry pages) that mustbe passed between pages

A Simple TemplateIn our example we won’t worry about the complexities of passing databetween pages. We’ll focus on the concept of a template. The syntaxfor a very simple HTML page to show a customer’s balance might looklike this:

<html><head><title>Customer Account Balance</title></head><body><p>Your current balance is $234.95</p></body></html>

This would display in the browser as:

Your current balance is $234.95

Page 165: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 165

The concept of a template is to turn the balance amount into a variablethat is replaced each time the page is displayed. Let’s say that we name

the variable "@VAR_CUST_BAL" and insert it into our template. In

the template we always insert "_@" at the end of the variable

name to delimit the name. Assume that we know the currentcustomer number and can run a ReportMate format to extract thecustomer’s balance as the value of the @VAR_CUST_BAL variable. The template HTML would now look like this:

<html><head><title>Customer Account Balance</title></head><body><p>Your current balance is $@VAR_CUST_BAL_@</p></body></html>

When you use this template in a request, NetLink will run theReportMate format that you indicate, extract the value for@VAR_CUST_BAL, and replace the variable name with the balancevalue. If the ReportMate run resulted in:

@VAR_CUST_BAL= 897.00

then this would display in the browser as:

Your current balance is $897.00

How NetLink Uses a Template

When NetLink processes a request the Request ID specifies thetemplate to use. When NetLink has gathered the data for the request(by running any necessary ReportMate formats) it creates the responsepage from the template. NetLink reads the template HTML text andoutputs it to a temporary response file while replacing any variablenames with the appropriate variable value. NetLink does not change or

even try to understand any of the other HTML syntax. It is simplyreplacing variables in the text.

Let’s look at an example. Below is the top of the page for the templatefile NLCINV.HTM as viewed in Microsoft FrontPage 98. Thistemplate is used to display the details of a customer invoice fromhistory.

Page 166: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

166 SouthWare Excellence Series™

Below are some excerpts from the HTML for the page. We’vehighlighted a few of the variables for discussion below.

<html><head><title>Customer Invoice Details</title><meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0"><meta name="Microsoft Theme" content="indust 011, default"></head><body><font COLOR="#000000" SIZE="3"><b><font COLOR="#000080"SIZE="+2"><p>@VAR_INCLUDE_HTML=HEADER.TXT_@@VAR_INCLUDE_HTML=CUSTHDR.TXT_@ </p><p align="center">Invoice# </font><font COLOR="#FF0000"SIZE="+2">@VAR_INVNO_@</font></b> <fontCOLOR="#000080" SIZE="+2"><b>- Details</b></font></p><table BORDER="1" CELLSPACING="0"> <tr VALIGN="TOP"> </font><font size="2"><td WIDTH="86"valign="top"><b><font color="#000000">BillTo:</font></b></font></td> <font COLOR="#000000" SIZE="3"><td WIDTH="208"valign="top">@VAR_BILLNAME_@<br> @VAR_BILLADD1_@<br> @VAR_BILLADD2_@<br> @VAR_BILLCITY_@ @VAR_BILLST_@ @VAR_BILLZIP_@</font></td>.(text omitted for brevity). </table><p>@VAR_INCLUDE_RM1_@ </p><div align="right">

<table BORDER="1" CELLSPACING="0" width="340"> <tr VALIGN="TOP"> <td WIDTH="173" valign="top"><font color="#000080"size="+1"><b>Subtotal</b></font> </td> <td ALIGN="RIGHT" WIDTH="159">@VAR_PRICE_@ </td>

Page 167: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 167

</tr> <tr VALIGN="TOP"> <td WIDTH="173"><font color="#000080" size="+1"><b>TradeDiscount</b></font> </td> <td ALIGN="RIGHT" WIDTH="159">-@VAR_DISC_@ </td> </tr>.(text omitted for brevity).</table></div>

<p>@VAR_INCLUDE_HTML=FOOTER.HTM_@ </p></body></html>

Notes on highlighted variables

The table below provides some comments on the variables highlightedabove:

Variable Comments

INCLUDE_HTML=HEADER.TXT This is a reference to another template file namedHEADER.TXT. All of the text from that file will beinserted into the response, and any variables in that filewill be replaced. (The reason this is not an HTM file isbecause the <HTML> and </HTML> tags have beenremoved so there will not be multiple sets within thesame page.)

INV_NO This variable’s value must be supplied from therequest that called the request for this template. In thistemplate the variable allows us to show the invoicenumber we’re reviewing. In order to process thisrequest the ReportMate format had to have a range ofinvoice numbers and the ReportMate Parameters (NL-01-04) for the format had to define INV_NO as thebeginning and ending values for the invoice numberrange.

BILLNAME This variable’s value will be extracted from theReportMate data that is extracted for this template. The ReportMate format uses the Invoice Number asthe beginning and ending range for a report thatextracts data about the invoice. The ReportMateformat must contain a variable with this name.

Page 168: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

Variable Comments

168 SouthWare Excellence Series™

INCLUDE_RM1 This variable will be replaced with all lines from theReportMate data that do not begin with @VAR_. Inthis example this will be a line per line item on theinvoice, and the lines will be formatted into a table ofline items. If this request used more than oneReportMate format then the number at the end of thevariable name indicates which ReportMate to use (e.g.the second ReportMate is referenced asINCLUDE_RM2).

Here’s what the result might look like when the variables are replaced forthe template (only the top of the page is shown):

Displaying a Picture/Image in a Template

To display a fixed picture you simply insert the image in your templateusing your HTML editor. The resulting HTML syntax will be somethinglike this:

<IMG SRC="path/filename.ext">where path is the directory path of the image and filename.ext is the nameof the image file. For example,

<IMG SRC="images/101.gif">

Page 169: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 169

would display the "101.gif" image from the images directory (under theroot directory or "base HREF" directory) using the default height andwidth indicated (there are also HTML options to specify the height andwidth).

To display a variable picture you must use variables in the HTML syntaxfor the image. For example, the image file name could be a variable thatis supplied each time the request is run.

The NLSTKBOX template contains a more sophisticated example of avariable picture. In this example the template contains one variable forthe entire image syntax. The related ReportMate format (NLSTKDET)contains the syntax for the picture but the syntax will not be output unlessthe stock record indicates that a picture exists for the item. This meansthat the template will display a picture if there is one, but if there is notone then the template won’t include any reference to the image syntax. To display a picture with the standard setup you must:- Have a picture of the item in GIF or JPEG format with the file name

of stocknumber.gif or stocknumber.jpg and located in an "images"subdirectory under your website root or "base HREF" directory (thesyntax in the NLSTKDET format uses these assumptions)

- Put a "G" in user flag 5 in the stock record if the picture is in GIFformat, or put a "J" in user flag 5 if the picture is a JPEG file. Thepicture syntax in NLSTKDET will be output only if this flagcontains a "G" or "J" so that you don't show a missing image link onany item that does not have a picture.

The NLSTKBOX template also displays Catalog Notes for the item if anyexist. These are Notes that have "C" as the Notes Type (field 2 in theNote). Only Catalog Notes will display in the standard template, but youmay modify the selection criteria in the NLSTKDET ReportMate formatas needed.

How to Use a Variable Include File Name

There may be a situation where you want to include HTML code fromanother file, but the name of the file to include is variable. Let’s workthrough an example.

Let’s say you already have catalog pages created for each of your stockitems that include descriptions and pictures. Now you want to useNetLink to get proper customer pricing while displaying the standardcatalog page. You’ll modify the CSTKDET request.

Page 170: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

170 SouthWare Excellence Series™

U We’ll use an Extended Data field to store the page name for eachstock item..

U In the ReportMate format NLSTKDET you’ll add another variable"@VAR_INCLUDE_USER1=path/xxxxxxxx" where xxxxxxxx isthe Extended Data field value and path is the directory that containsthe file. Each time we run this format for a stock item the variableINCLUDE_USER will contain the filename of the catalog page.

U In the NLSTKDET.HTM template for the request you could insertthe following line:

@VAR_INCLUDE_USER1_@

When you run this request for a stock item the appropriate catalog page(and path) will be inserted into the page to replace the@VAR_INCLUDE_USER1_@ variable.

Note: Realize that when you include pages within pages you may haveduplicate HTML tags (such as two sets of <html> </html> tags). This does not cause problems in the environments we’ve tested,but may cause problems in some browsers.

How to Specify in the Link What Content to Include in a Page

You may define one template that contains varying content that isspecified each time the template is used. This allows you to specify theinclude file in the link that calls a request. Example uses include:- When you want to use NetLink security to control access to some

sensitive static pages but don’t want to create separate requests foreach static page

- When you want to have your static pages include the standardheaders/footers from NetLink and retain session number and otherinfo needed to continue a session

This feature is implemented via a standard variable"INCLUDE_CONTENT" that you may use in pages. This variable willcause NetLink to include the contents of another file (similar to the"INCLUDE_HTML=name" variable) and the name of the other fileshould be specified in a variable named "CONTENT". The file namewill be treated as any other template file and is assumed to be in thetemplate directory (although you could use subdirectories of yourtemplate directory).

Page 171: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 171

For example, let’s assume you have three static pages that may only beaccessed by valid NetLink requestors. You could:- create a single NetLink request called "STATIC"- create a single template called "nlstatic.txt" that contains only the

text "@VAR_INCLUDE_CONTENT_@"- create links that pass the CONTENT page to the request as part of

the URL:

http://(executenetlink)?request_id=STATIC&session_no=number&CONTENT=page1.htmhttp://(executenetlink)?request_id=STATIC&session_no=number&CONTENT=page2.htmhttp://(executenetlink)?request_id=STATIC&session_no=number&CONTENT=page3.htm

If you wanted to log the access to these individual pages you couldsimply create three requests that use the same template.

Tips on Customizing and Creating Templates

U Use an HTML editor unless you are making simple changes. Theseare relatively inexpensive and allow you to focus on what you wantto see, not on the HTML syntax. SouthWare’s standard templateswere developed using Microsoft FrontPage 98.

Note: The disadvantage of these editors is that they are notdesigned for a variable CGI application like NetLink. They"police" the code in your files and may force certain HTMLsyntax into a file that is not appropriate for NetLinkvariables. For example, Microsoft FrontPage 98 lets youdirectly change the HTML syntax for a template, but thenwhen you refresh the screen it "fixes" any syntax that itdoesn’t like. Carefully check your syntax to make sure youend up with what you entered.

U Save your customized templates in a separate directory, particularly ifyou modify a standard template and save it as the same name. Youmay also use a Local Custom Template Directory in the NetLinkConfiguration Record. When you load a standard SouthWare updatefor NetLink you want to make sure that you don’t lose your changesby overwriting the modified file with the standard file of the samename.

U Remember that the only thing NetLink changes about a template is thevariables. Your template can be a simple page or a very complex pagewith applets and graphics. NetLink is simply looking through theHTML text for its own variables to replace (those that begin with

Page 172: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

172 SouthWare Excellence Series™

"@VAR_" and end with "_@").U Utilize INCLUDE_HTML files as much as possible for any HTML

that is used in multiple templates. Headers and footers are examples. For another example, look at the NLSTKBOX.HTM file. This is theinformation shown about a stock item and is "included" in multiplepages. You may change the information shown for a stock item on allthe pages that use this file by simply editing the NLSTKBOX.HTMfile.

U If you are simply trying to make a ReportMate report available viaNetLink you don’t have to create a template. You may use a standardtemplate designed for this purpose. See "How to Easily Make aReportMate Report Available Via NetLink" in Appendix B.

U You can’t have a template that has only embedded spaces betweentwo variables to be replaced. The variable replacement process triesto adjust the positioning of text based on the size of the variable, andtrailing spaces are not counted as part of the size of the variable. Anynon-space character will be retained.Example:The following template line has embedded spaces between the stateand zip code variables:

@VAR_CITY_@, @VAR_ST_@ @VAR_ZIP_@

These embedded spaces will not be in the result:

Auburn,AL36830AlternativesU One solution would be to define a single variable that will have a

value that contains the embedded spaces. Your ReportMateformat could have the syntax:

@VAR_CITYSTZIP=cityxxxxxxxxxxxxxxxx, st zipxxxxxxx

your template could have the variable:@VAR_CITYSTZIP_@

and this would result in:Auburn, AL 36830

U Another solution is to place a non-breaking space between thevariables. The HTML syntax for this is:

&nbsp;

and results in a space that is not considered "white space".

Page 173: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 173

Creating a Template to Accept/Submit a Form

This is a fairly advanced concept. We’ll review the basic points of using aform then examine an example.

A form is a browser page that contains fields. These fields allow the userto enter data or select data values to send to you. Browser form fields caninclude:- A single or multi-line text box (user enters text or numbers)- A check box (user indicates yes or no to an option)- A radio button (user selects one option from several)- A drop-down list (user selects one value from a list)- A button (user clicks to select an action)

- Hidden form fields - these are form fields that don’t display on thepage but are stored and sent as part of the form data. This is howNetLink passes session number and other information between pages. Please realize that hidden fields are not "secure" since browsers allowa user to view the source HTML of a page.

A simple form must also contain a "submit" button that the user clicks tosend the form data after entering it. The submit function causes thebrowser to send each form field and its value to the server via the POSTstring.

Each time you create a form field you must give it a name. This name istreated by NetLink as the name of a variable. When NetLink extracts theform fields from the POST string it treats them as variables and theirvalues.

There are two common uses of form data sent to NetLink:1. You may use form data as input for the next request. 2. You may save form data for importing via ImportMate II.

Using Form Data in the Next RequestThe form data you send is available to NetLink as variables in processingthe next request. For example, if you need to be able to enter a range ofdates for a request you can create a range "form" that submits the datevalues the user wants. For the beginning date field you could use thename "DATE_BEGIN" and for the ending date field the name"DATE_END". Then in the next request that runs a ReportMate formatyou could use these variable names for the date range field parameters inNL-01-04.

Page 174: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

174 SouthWare Excellence Series™

Saving Form Data for ImportIf a request that is receiving form data needs to save it for importing yousimply indicate this in the Request Type (NL-01-02, field 7). SeeAppendix F for more details on importing.

There is one very important concept you need to understand! Theform data is sent from the browser as part of a request. Therefore if youwant to save this form data you must save it in the NEXT request, not therequest that displayed the form.

For example, the form data for an order form is available to be saved onlyafter the user clicks on the submit button. In the standard NetLink orderentry function the submit button calls for the standard NetLink request"CORDOK". CORDOK is a confirmation page that thanks the customerfor the order and confirms that we received the info. The CORDOKrequest is the one that can save form data, not the requests that asked the

user to enter the order. Make certain that you save the form data in theappropriate request.

Example FormNow let’s look at the standard NetLink customer option to submit aservice order request. This is the request ID of "CSVCREQ" which usesthe following template:

Page 175: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 175

The variables in this template produce values in form fields. The formfields are named the following:

CONTRACT_NO (this is in the INCLUDE_HTML file)ContactPhoneDateTimeCOMMENT_1COMMENT_2COMMENT_3COMMENT_4

In the resulting page there will also be hidden form fields forSESSION_NO (from the HEADER.HTM include file) and forREQUEST_ID (which is defined to be CSVCRSP).

A resulting page for a specific customer would look similar to thefollowing:

The fields in the form have been defaulted from data for the requestor andcustomer. Notice that the Contract Number has a pull-down list of theactive contracts for the customer. The user doesn’t have to fill in any dataexcept the description of the problem or nature of the request. For furtherinsight you could review the ImportMate II format "NLSVCORD" to seehow these few fields are turned into a valid service order.

Page 176: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

176 SouthWare Excellence Series™

Now let’s assume the customer fills in the description fields as shownbelow:

When the user clicks on the submit button he sends the form data as wellas some hidden form fields. NetLink will receive the data and extract thefollowing variables:

Variable ValueSESSION_NO (whatever the current number is)REQUEST_ID CSVCRSPCONTRACT_NO 1 (you can’t see this, but this is the value of the

contract selected in the pull-down list)Contact Carl the ManPhone 334-821-2342Date 03/04/99Time 1654COMMENT_1 Computer stopped working with no error message. COMMENT_2 We checked the power but could not find theCOMMENT_3 problem. We need help soon because we're tryingCOMMENT_4 to get a mailing out!

When NetLink processes the CSVCRSP request, the CSVCRSP requestspecifies to save the form data. Thus the form variables will be saved forimporting.

Page 177: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 177

Additional Fields Available for NetLink Sales Order TemplatesWithin the standard files for a NetLink sales order there are additionalfields that you may use in processing. These fields are not used by thestandard templates, but you may use them by customizing the templatesand the related import(s). See Appendix G for more details.

User-defined Error MessagesYou have two features that give you control over the standard errormessages displayed by NetLink. This allows you to customize what yourusers see when NetLink encounters these errors:

1. Errors are displayed using a standard Request ID - All NetLinkstandard errors display using a standard Request ID named"STDERROR". This gives you an HTML template for the display oferrors so that you can maintain a consistent look with the rest of thepages on your site. The error messages themselves are referenced asvariables in the template so you can control the font/color/appearanceof the text.

How it works:

When NetLink encounters a standard error it processes theSTDERROR request. The template (nlstderr.htm) contains thefollowing variables:- @VAR_ERROR_MESG_@ - this is replaced with the text

of the error which includes the standard error number- @VAR_ERROR_RESP_@ - this is replaced with the

suggested response to the error (such as use the BACKbutton to try again or contact the system administrator)

Related Standard Examples:

- The request ID "STDERROR" is the only one related to thisfeature.

2. You may override the page displayed for a particular error - Eachstandard error message is assigned a number that is displayed as partof the error text. If you wish to replace one of NetLink’s standarderror message pages with a different page you can specify this via adirective in the ALNLCFG.SEQ file. For example, when a customerenters an invalid requestor ID at login (standard error number 20) youmay want to present a customized page with different explanation andinstructions than are used in the standard error display.

Page 178: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

178 SouthWare Excellence Series™

How it works:

When NetLink encounters a standard error it first checks theALNLCFG.SEQ file to see if there is an override directive for theerror number. The directive is in the format

ERROR_REQUEST_ID_nn_ccc=xxxxxxxx

where "nn" is the error number, "ccc" is the company ID (ALLfor all companies), and "xxxxxxxx" is the request ID to use. If adirective exists for this error, NetLink processes the specifiedrequest ID - otherwise it uses STDERROR.

Related Standard Examples:

- None - this is an optional feature that would be site-specific.

Steps to Implement:

If you want to present a custom page for a particular errormessage (such as error 20 for an invalid requestor ID):- Identify the number of the standard error (from the standard

message).- Create a custom request/template for this situation. For

example, you might create a custom request ID of"BADREQRID" for this purpose.

- Enter the directive ERROR_REQUEST_ID_20_ALL=BADREQRID

in the ALNLCFG.SEQ file. Whenever NetLink encounters an invalid requestor ID (error 20)it will process the BADREQRID request instead of theSTDERROR request.

Template Security CommentsComments to Conditionally Exclude HTML Code at Runtime

This advanced feature allows you to hide certain parts of a web pagetemplate, typically based on an operator’s security access, by puttingspecial comments around sections of the page*. This feature is similarto the existing feature where you can secure portions of a webtemplate for a group/operator. * This option is subject to the Internal License Limitations explained

in the Remote Employee section of the release notice.

To use this feature in a template the related request type must processthe template as a WebView (NL-01-02, field 9) (which is the samerequirement for the feature of securing based on group/operator). Thedifference this feature offers is that you can control the output of thetemplate based on several parameters. New parameters may be addedin the future.

Page 179: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 179

To Mark a Section of the Template for Conditional ExclusionWithin a template you can surround any portion of the text with thefollowing syntax:

<!-- @conditional_start:param1=value1;param2=value2;Y_@ -->Y

<!-- @conditional_end_@ -->

All of the parameters must be followed by an "=" (equal) sign and avalue. The pairs must be separated by a ";" (semicolon). All of theparameters in the string must pass in order to be shown on theresulting webpage. Nested conditional statements are not supported.

The current valid parameters are:

grpoperThis parameter should have a value of a SwiftMate operator orgroup (example: grpoper=admin or grpoper=demo).

haslaunchThis parameter allows a value of "y" or "n". This is a test to seeif you currently have the ability to "launch" SouthWare programs(That you are logged on and using the SouthWare WebMenu). Live Portals use this parameter to hide calls to SouthWareprograms from users who are not logged in to SouthWare.

seclevelThis parameter should specify a security level value (0-9) basedon security as defined in SwiftMate.

secsystemThis parameter should specify a Security System number (2 digitsor the 2-letter abbreviation) associated with the SouthWaremodule.

Let's say you have a table that you want to display only if the user hassecurity of 7 in Inventory Control. The example table is below:

<table><tr><td>Sensitive Field:</td><td>Emotional</td></tr><tr><td>Secure Field:</td><td>Guarded</td></tr></table>

The new code with the conditional syntax is:

<!-- @conditional_start:seclevel=7;secsystem=06_@ --> (or

Page 180: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix C SouthWare NetLink™

180 SouthWare Excellence Series™

secsystem=IC)<table><tr><td>Sensitive Field:</td><td>Emotional</td></tr><tr><td>Secure Field:</td><td>Guarded</td></tr></table>

<!-- @conditional_end_@ -->

Let's say you want to display a hyperlink and button only when theuser is logged into SouthWare and can execute a program:

<!-- @conditional_start:haslaunch=y_@ -->

<a href="http://?@swobj=program"><img src="launch.jpg"></a>

<!-- @conditional_end_@ -->

When the resulting web page is actually sent to the browser thecomments will be removed, and the enclosed text will be removedunless the specified criteria is met.

NetLink Resource Pages

You have available some pages with resources to help you create and editNetLink pages. The resource pages give a brief overview of commonly-needed HTML syntax and NetLink concepts and include sample HTMLcode that you can cut/paste into your pages. There are also examples offorms to enter parameters for ReportMate reports and forms to accept datato be imported into SouthWare.

These pages are available with the standard HTML files and include:

Main Resource Page (nrindex.htm)- Basic Hypertext Link Concepts- Common Hypertext link to call NetLink for a Request- Syntax to display an image/picture- Accept Limited User Input in a form

- Radio button - Drop-down menu list

- Accepting values from the user in a form- Single line text field- Scrolling multi-line text field

- Using the Next Page feature for a long report- Embedding a Simple Entry Form as part of a page- Using Hidden Form Text Fields to store Variables

Page 181: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix C

SouthWare Excellence Series™ 181

Related Pages Linked from the Main Page:- ReportMate

- Providing user-defined range values for a ReportMate report - Creating a Drop-down menu list via ReportMate - Creating a Hyperlink via ReportMate - Creating a Picture Link via ReportMate

- ImportMate II - Importing user-entered data into SouthWare files

Page 182: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix D SouthWare NetLink™

182 SouthWare Excellence Series™

Appendix D - NetLink Reserved Variable Names

The standard templates in NetLink use several variable names that havespecial reserved meanings. You may use these variables in your templates,but you should not define a user-variable with the same name as one ofthese variables.

Variable Name Description

@VAR_AUTH_ID_@ This will be replaced with thecurrent password. (Stored in

session record)

@VAR_CART_TOTAL_AMT_@ Replaced with the current NetLinksales order total dollars

@VAR_CART_NO_ITEMS_@ Replaced with the current totalnumber of line items on the NetLinksales order

@VAR_CART_TOTAL_QTY_@ Replaced with the current totalquantity for all line items for thecurrent NetLink sales order

@VAR_CO_ID_@ This will be replaced with thecurrent Company ID for the session.(Stored in session record)

@VAR_COMPANY_NAME_@ This will be replaced with yourcompany’s name from yourCompany ID record.

@VAR_CUST_NO_@ This will be replaced with the lastcustomer number used in thissession. (Stored in session record)

@VAR_CUST_NAME_@ This will be replaced with the lastcustomer name used in this session. (Stored in session record)

@VAR_DATA_DATE_@ This will be replaced with the DataLast Update Date from theconfiguration file.

Page 183: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix D

SouthWare Excellence Series™ 183

@VAR_DATA_TIME_@ This will be replaced with the DataLast Update Time from theconfiguration file.

@VAR_DEFAULT_LOC_NO_@ This will be replaced with theDefault Stock Location from theConvenience Features box in theNetLink Configuration file.

@VAR_E_MAIL_REF_@ This will be replaced with theappropriate e-mail address asspecified in the NetLinkConfiguration file. There is adefault address with an override foreach requestor type.

@VAR_EMP_NO_@ This will be replaced with thecurrent employee number for thissession. (Stored in session record)

@VAR_EMP_NAME_@ This will be replaced with thecurrent employee name for thissession. (Stored in session record)

@VAR_FORM_ACTION_URL_@ This will be replaced with the HTTPaddress of the NLNETUPDprogram as specified in the NetLinkConfiguration file. Each page in

NetLink uses this variable. Note

that this variable assumes that theURL is already prefixed with"http://" or "https://" and does notoutput a prefix.

@VAR_HOME_URL_@ This will be replaced with the HomePage URL that you specify in theNetLink Configuration.

@VAR_HTML_DIR_@ This will be replaced with the localdirectory path of your HTMLtemplate files as defined in theNetLink Configuration file.

Page 184: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix D SouthWare NetLink™

184 SouthWare Excellence Series™

@VAR_IM_FORMAT_@ This will be replaced with theImportMate II format name for therequest.

@VAR_IMPORT_DATE_FORMAT This variable lets you specify thedate format of dates to be importedfrom a NetLink request. If yousubmit the variable"IMPORT_DATE_FORMAT" aspart of the data for a NetLinkrequest that imports data then thevalue of that variable will be set upas the import variable "SWENV-IMPORT-DATE-FORMAT"(see

IM-01: Other Notes on Import

File Types in the ImportMatedocumentation). The value can beany of the Date Input formatsallowed in the company record (XX-03-01 field 12) except theCALENDAR option.

This capability is useful when youhave NetLink customers or otherusers from different parts of theworld who use different conventionsfor date entry. You may design yourNetLink pages to contain thisvariable as a hidden field (if you usedifferent templates for varioususers) or as a selection within thepage.

Page 185: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix D

SouthWare Excellence Series™ 185

@var_import_text_2000_a_@

@var_import_text_2000_b_@These fields have the specialpurpose of allowing you to receiveform text fields longer than the 100character variable limit. Each fieldcan receive up to 5000 characters inan incoming form field. Forexample, in the TaskWise TaskEntry page the import_text_2000_a

field is used to provide task detailtask to ImportMate II for the

creation of a task. These variables

may not be replaced or otherwise

used as standard variables.

@var_include_content=xxx_@ This variable will cause NetLink toinclude the contents of another file(similar to the"INCLUDE_HTML=name"variable) and the name of the otherfile should be specified in a variablenamed "CONTENT". The file namewill be treated as any other templatefile and is assumed to be in thetemplate directory (although youcould use subdirectories of yourtemplate directory).

@VAR_INCLUDE_HTML=xxx_@

where "xxx" is the name of a text file inyour Local HTML directory

This will be replaced with thecontents of the text file "xxx" (nofile extension is assumed, so youmust specify ".txt", ".htm", orwhatever extension you used). Thisis the way you can include otherHTML text in a template. It isparticularly useful for repetitiveHTML such as headers and footers. For example, the standard templatesuse INCLUDE_HTML= header andfooter files. This makes it easy tochange the header or footer onmultiple pages by changing one file.

Page 186: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix D SouthWare NetLink™

186 SouthWare Excellence Series™

@VAR_INCLUDE_NEXT=xxx_@

where xxx is the name of a text file inyour Local HTML directory

This variable is used to put a "NextPage" indicator on a page when youare producing a list of records thatcontinues on another page. Thevariable will be replaced with thecontents of the text file "xxx" (nofile extension is assumed, so youmust specify ".txt", ".htm", orwhatever extension you used). Thistext file should contain:- the HTML syntax for a button

or "Next Page" prompt (see thestandard SouthWare example ofnlnextpg.txt)

- a hypertext link to the variable@VAR_NEXT_PAGE_@

<a href="@VAR_NEXT_PAGE_@">

The reason NetLink uses a specialtype of Include variable instead of anormal INCLUDE_HTML variableis because you only want the NextPage button to appear if there aremore records. NetLinkautomatically omits the button if thecurrent page is less than a completepage.

@VAR_INCLUDE_RMx_@

where "x" is the relative number of aReportMate format referenced withinthe Request Type (the first ReportMatereferenced in the request is "1", thesecond is "2", etc. for all 9 allowed)

This will be replaced with thecontents of the Include Filegenerated by the ReportMate formatreferenced by "x". Only the linesfrom the Include File that don’t startwith "@VAR_" will be used withthis variable. Normally this variableshould be on a line by itself sincethe Include File may have severallines.

Page 187: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix D

SouthWare Excellence Series™ 187

@VAR_INCLUDE_USERx_@

where "x" is a number from 1 to 5These are five variables for use byDevelopers who want to incorporatetheir own custom include files intorequest processing. To use these theDeveloper must have the requestcall a custom program at timing 1(see Appendix G) and have thecustom program:- create the custom include file(s)- set up the name of the custom

include file in the NLLINK-PASS-UVAR-TABLE table

- pass the NLLINK-PASS-UVAR-TABLE back to theNLNETUPD program.

See also the section "How to Use aVariable Include File Name" inAppendix C.

@VAR_ITEM_UNIT_PRICE_

OVERRIDEThis variable is to establish an overrideprice when the page submits a singlestock item to be ordered. When yousubmit the quantity for a new line itemor changed line item you may submit theoverride unit price via this variable. Theunit price will be stored as an overrideand will not change for any quantitybreaks or other special pricingsituations.

This variable is recognized by thesecondary program call"NLORDENT/L" which is used to addnew line items to a NetLink order. Youmay not use this feature to change theprice to zero since the program cannotdistinguish between no override and anoverride of zero. Field 57 "Unit PriceOverride?" has been added to the DataDictionary for NL09 so that you mayidentify line items that have overrideprices. The override feature does notapply to auto-generated standard bills.

Page 188: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix D SouthWare NetLink™

188 SouthWare Excellence Series™

@VAR_ITEMQTY_UNIT_PRICE_

OVR_(stock#)This variable is to submit overridepricing from a page that allows you tochoose multiple line items (such as thestandard requests QCORDLIN andQCSTKLST). When you submit non-zero quantities for multiple items on apage you may submit the relatedoverride unit price for each item via thisvariable. The unit price will be stored asan override and will not change for anyquantity breaks or other special pricingsituations.

This variable is recognized by thesecondary program call"NLORDENT/L" which is used to addnew line items to a NetLink order. Youmay not use this feature to change theprice to zero since the program cannotdistinguish between no override and anoverride of zero. Field 57 "Unit PriceOverride?" has been added to the DataDictionary for NL09 so that you mayidentify line items that have overrideprices. The override feature does notapply to auto-generated standard bills.

@VAR_LOC_NO_@ This will be replaced with the currentstock/service location number for thesession. (Stored in session record)

@VAR_NEXT_PAGE_@ The variable is designed to be usedwithin a hypertext link that displaysthe next page of a list (see"@VAR_INCLUDE_NEXT_@" above). This variable tells NetLink toinclude in the link the data needed toreprocess the current page and toinsert or update the variables:- RM_OUT_CURR- RM_OUT_LIMIT

See the Paged Report discussion inAppendix E for an example.

Page 189: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix D

SouthWare Excellence Series™ 189

@VAR_NL_ORDER_NO_@ This variable is used to pass the currentassigned NetLink Order Numberbetween pages of the Order Entryscreens.

@VAR_POS_CUST_NO_@ This will be replaced with the Non-A/Rcustomer from the Convenience featuresin the NetLink Configuration record(NL-01-01).

@VAR_REQUEST_ID_@ This will be replaced with the ID code

for the current request. This variable is

required as part of the data coming to

NetLink via the GET or POST string.

@VAR_REQR_ID_@ This will be replaced with the currentRequestor ID. (Stored in session

record)

@VAR_REQR_MENU_@ This will be replaced with theappropriate request ID for the menu ofoptions for the current requestor type:CMENU for customer requestorsVMENU for vendor requestorsIMENU for internal requestorsOMENU for other requestors(A requestor or session override for the

start/menu page will override these

defaults)

@VAR_REQR_TYPE_@ This will be replaced with the currentRequestor Type. (Stored in session

record)

@VAR_REQUEST_OPTIONS_@ This is designed to be enclosed withinan HTML selection list and will bereplaced with a list of all valid requestoptions for this Requestor.

@VAR_RM_OUT_CURR_@ This variable is used to send the currentstarting record number to ReportMate.

@VAR_RM_OUT_LIMIT_@ This variable is used to send the numberof records to output to ReportMate.

@VAR_RM_OUT_NEXT_@ This variable is replaced with thestarting record number for the next pageof records for a report that is using theRM_OUT_LIMIT variable.

Page 190: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix D SouthWare NetLink™

190 SouthWare Excellence Series™

@VAR_RM_OUT_PREV_@ This variable is replaced with thestarting record number for the previouspage of records for a report that is usingthe RM_OUT_LIMIT variable.

@VAR_SECURE_HTTP_@ This variable will be replaced with"https://" if your NetLink control recordindicates that your server supports SSL(Secure Socket Layers) communicationwith browsers. The variable will bereplaced with "http://" if your NetLinkcontrol record indicates that your serverdoes not support SSL. This variable isused in the Order Header input forms tosecure the address and paymentinformation sent to your server. It isalso used in the login forms.

This variable is intended to be used asthe prefix for the"@VAR_FORM_ACTION_URL"variable when you want the data to besent via SSL technology. SSLtechnology is designed to provide asecure channel between your server andan SSL-capable browser.

@VAR_SESSION_NO_@ This will be replaced with the currentsession number. You must pass thecurrent session number between requestsin order for NetLink to know who islogged on.

Page 191: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix D

SouthWare Excellence Series™ 191

@VAR_SESS_USERx where "x" is a

number from 1 to 5 will be replaced the the

current value of one of the first 5 session

user variables

Session user fields - NetLink willautomatically update the values ofthese fields when you send thevariable name "SESS_USERx"where "x" is a number from 1 to 10to specify which of the fields toupdate. For example, if you sent thevariable "SESS_USER3=my userdata" as part of a request string,NetLink would recognize thatvariable name and put the value "myuser data" in the third user field forthe session.

You may access the values of thesefields via ReportMate for thesession file (NL03). The first fivesession user variables areautomatically available withoutrunning ReportMate.

@VAR_START_PAGE_@ This will be replaced with:

!TheSESSION_START_OVERRIDErequest if not blank for the session,or else!The Requestor Override InitialRequest if not blank, or else!The standard start page (CSTART,VSTART, ISTART, or OSTARTdepending on the requestor type).

@VAR_SYS_ADMIN_EMAIL_@ This will be replaced with theSystem Administrator e-mailaddress from the NetLinkConfiguration record.

@VAR_TITLE_@ This will be replaced with theDescription of the Current Request.

@VAR_VEND_NO_@ This will be replaced with thecurrent vendor number for thesession. (Stored in session record)

Page 192: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix D SouthWare NetLink™

192 SouthWare Excellence Series™

@VAR_VEND_NAME_@ This will be replaced with thecurrent vendor name for the session. (Stored in session record)

Page 193: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 193

Appendix E - Extracting Data with ReportMate™

Note: In ReportMate a wizard feature helps you create Tables anddefine variables to extract in a ReportMate format. See therelated Wizard discussion in RM-02 in the ReportMate manual.

How ReportMate provides data to NetLink

ReportMate serves as a data extraction tool for NetLink. It containsspecial interface features with NetLink so that the normal user interface ofReportMate is automatically handled by NetLink. Here’s how the datagets to NetLink:

- When a NetLink request specifies to run a ReportMate format to getdata, NetLink runs the format via a special interface:- Any ranges or selection criteria fields in the format must be

related to variable names via the ReportMate Parameters files(NL-01-04).

- NetLink passes the values of the variables to the appropriateReportMate run program.

- The ReportMate run program writes the resulting data to a file with aunique name associated with this particular NetLink request(name.Znn where name is the format name and nn is a sequencenumber for the request within this session). If the ReportMateParameter record specifies to format the data for a table or as pre-formatted data then the ReportMate run program includes thenecessary HTML syntax in the file.

- NetLink reads the file and extracts any variable values. A variable isidentified by the literal "@VAR_name=" and the data following theequal sign is considered to be the value of the variable.

- When the HTML template calls for the variable"@VAR_INCLUDE_RMx" where "x" is the relative number of aReportMate format within the request, NetLink replaces the variablewith all data lines from the ReportMate file except for lines that beginwith "@VAR_".

Note: You may use the same format to provide the values for user-defined variables and to output a report or table. The firstline that does not start with "@VAR_" will be considered to

be the first line of the report. You must put all variable linesat the beginning of the format. If you do have variable lines

you should not use standard headers or rebuild default

headers since these headers will be used as variable lines.

Page 194: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

194 SouthWare Excellence Series™

Ways you can use ReportMate data in a template

Field VariablesA field variable is a data field that you want to extract from SouthWarefiles and insert into a specific place in the HTML template. For eachvariable name that you create in an HTML template you simply define thevalue of the variable in your ReportMate format. You may make up asmany variables as you wish.

See "How to define a NetLink variable in a ReportMate format" later inthis section for an example.

Table-formatted dataTable-formatted data is data that includes the appropriate HTML syntax todisplay the data in a table (rows and columns). Each piece of data isplaced in a cell, the junction of a row and column. Since tables useproportional fonts this is usually more attractive in a browser than simplypresenting data as pre-formatted data with a fixed-width font.

See "How to create a table with ReportMate" later in this section.

A hyper-text linkA hyper-text link is data from a ReportMate format that you can click onin a browser to access another page. The link displays in the browser ashighlighted/underlined text and contains the necessary information to callto another NetLink request.

See "How to create a hyper-text link" later in this section.

Pre-formatted (fixed-width text) dataPre-formatted data allows data from a ReportMate run to be displayed inthe browser using a fixed-width font. This provides the equivalent of theprinted version of a standard report (where columns of data must alignwith their headers).

See "How to create Pre-formatted data" later in this section.

Non-formatted dataNon-formatted data is simply data that will be inserted into the HTMLtemplate without any formatting. How this will display will be dependenton the browser, but it will normally be a proportional font (which meansdata fields won’t align into columns). Notes or text are examples of datathat might be displayed this way (see the NLSTKBOX template for anexample of using Notes as a Non-formatted Include file). To produce non-

Page 195: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 195

formatted data you simply choose "No formatting" within the Parameterrecord for the report (NL-01-04).

How ReportMate run parameters are used in NetLink

Most ReportMate formats you use in NetLink will require run parameterssuch as a ranges or selection criteria. It is not possible to ask forparameters while running over an Internet connection, and in most casesyou don’t want the user to have the option to define the parameters.Therefore all ReportMate parameters for formats used by NetLink must bepre-defined in the parameters file in NL-01-04.

For each field that would normally be entered as a parameter you mustspecify a variable name that will supply the parameter value. WhenNetLink runs it will automatically supply the value for each parameter tothe ReportMate run program.

For example, to display the current status of a customer’s account youmust run a ReportMate format that extracts certain information from thecustomer record. To make the report pick up data for only one customeryou define a range of customer numbers in the format. Then in theparameters in NL-01-04 you would define the value of "Starting CustomerNumber" to be the value of the variable "CUST_NO", which is theNetLink variable for current customer. For "Ending Customer Number"you would also choose the variable "CUST_NO". This will cause theReportMate run to be limited to a single customer’s data - the currentcustomer in NetLink.

Tip: If you want to allow the user to specify ranges, you simply createa request page that lets them enter the values as a form. Whenthey submit the form you use the values they entered as thevariable values used by ReportMate.

How to Interactively Specify an Alternate ID for a ReportMateFormat

You may specify an alternate ID to use for a ReportMate format via aspecial NetLink variable. You can send this variable as part of theinformation passed to the request so that you can call the same request IDand use different Alternate IDs for the RM formats.

The variable name is:

Page 196: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

196 SouthWare Excellence Series™

@VAR_RMALTn=xxxx

where "n" is the number of the RM format in the request (1 to 9) and"xxxx" is the Alternate ID.

For example, the standard NetLink sample request CINVLST displays alist of invoices for a customer. The ReportMate format NLINVLSTcreates the list. In this revision we have provided a way for the user toclick on a column heading to change the sort sequence of the list:$ We added two Alternate IDs for NLINVLST ("DATE" and "AMT")

that provide different sort options. $ In the heading info for NLINVLST we have turned the headings for

"Invoice No" (the default sequence), "Date", and "Amount" intohyperlinks. The Date and Amount hyperlinks call the CINVLSTrequest again, but they specify to use an Alternate ID via the variablename "@VAR_RMATL1=xxxx". For example, the Date hyperlinkspecifies @VAR_RMALT1=DATE.

$ When you run the request you may click on the header hyperlink forany of the three columns with header hyperlinks. The request willredisplay and the NLINVLST ReportMate report will use theappropriate sequence to sort the invoices by the header data.

How to define a User-Defined NetLink variable in a ReportMateformat

To define a NetLink field variable you create a name for the variable andinsert it in the HTML template using the syntax "@VAR_name_@" (the"_@" at the end defines the end of the name). Then in the ReportMateformat you define the data to extract by inserting the literal"@VAR_name=" followed by the data field.-----For example, let’s say you want to display a customer’s balance in atemplate. You could assign the name "CUSBAL" to the field variable. -

In the template you would insert the literal "@VAR_CUSBAL_@" atthe place on the page where you want to display the balance. Let’ssay you preceded it with a literal so the text read:

Customer Balance: $@VAR_CUSBAL_@

- In the ReportMate format you would insert "@VAR_CUSBAL="followed by the appropriate data field (AR01, field 29).

If customer 1 had a balance of 1,234.23 and you were running the format

Page 197: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 197

for customer 1, the resulting file would contain "@VAR_CUSBAL= 1,234.23".

NetLink would replace "@VAR_CUSBAL_@" with "1,234.23" in thetemplate. The result would be:

Customer Balance: $1,234.23-----When you define a variable in ReportMate with the literal"@VAR_name=data" the data includes all fields or text until the next"@VAR_" or until the end of the format line. This gives you the option toinclude several data fields as the value of a variable. For example, youcould define a single variable for the city/state/zip code line of an addressas follows:

@VAR_CITYSTZIP=cityxxxxxxxxxxxxxxxx, st, zipxxxxxxx

How to create a table with ReportMateTo understand how ReportMate does this you need to understand thebasics of how tables are defined in HTML syntax. The basic componentsare:- An HTML tag that defines the beginning of a table- An HTML tag that defines the beginning of a header cell- An HTML tag that defines the end of a header cell- An HTML tag that defines the beginning of a data row- An HTML tag that defines the beginning of a data cell- An HTML tag that defines the end of a data cell- An HTML tag that defines the end of a table

While you could try to insert all the necessary tags into your format asliterals, ReportMate provides a much easier way to do this:U In the ReportMate format you insert a single special character in front

of data fields that should be columns in the table. Insert a tildecharacter (~) before header and data text fields. Insert a grave accentcharacter (`) before numeric data fields. This tells ReportMate howyou want columns to be defined.

U In the Parameters for RM Formats (NL-01-04) you indicate that youwant the data for this format to be output as a table, and you specify aTable Format record to use.

U In NL-01-05 the Table Format record defines what HTML syntax willbe used for each element of the table. A standard default record isautomatically set up for you. You have the option to use a differentformat for any or all tables, or you can simply use the default. Theresult of this approach is that you have great flexibility in customizingthe appearance of a table if you are familiar with HTML syntax, but

Page 198: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

198 SouthWare Excellence Series™

you don’t have to understand anything about this HTML syntax if thedefaults are OK.

The Table Format record specifies the HTML syntax for:- Start/End of table- Start/End of header cell (any literal in the ReportMate header that

is preceded by "~")- Start/End of text cell (any data field in the format that is preceded

by "~") - this is usually left-justified data- Start/End of numeric cell (any data field in the format that is

preceded by "`") - this is usually right-justified data

Here’s how this works. Let’s say you have the following simple report format tooutput a customer number, name, and balance:

Heading line: ~Cust No ~Customer Name ~Balance

Data line: ~CUSTxxxxxx#~NAMExxxxxxxxxxxxxxxxxxxxxxxxx`BALxxx

Please note that the headers don’t have to align over the data in the format. Aslong as you have the same number of columns (defined by the ~ or ` characters) inthe header as in the data they will align in the table.

Note: If you need to put field selection criteria on literals in the data lines youmust make sure that the ~ or ` characters are stand-alone literals if youwant them always to be used. If they precede a literal character then youmust allow at least one space between the character and the followingliteral or the special character will be considered to be part of the literalfor purposes of the conditional testing. For example, “~ text” would beOK since “~” would be viewed as one literal and “text” would be viewedas a separate literal that could have field selection criteria.. “~text”would not be OK since “~text” would be viewed as a single literal and ifthe literal was conditionally printed then the “~” would sometimes not beprinted and would thus not be replaced with HTML syntax.

When ReportMate writes the data out for NetLink it will automatically insert theappropriate HTML for the table. If you use the default Table Format the resultingfile would look like this:

<TABLE ALIGN=”CENTER” NOWRAP WIDTH=”100%” BORDER=”1"><TH> <FONT SIZE=2>Cust No </FONT> </TH><TH> <FONT SIZE=2>Customer Name </FONT> <TH><TH> <FONT SIZE=2>Balance</FONT> <TH><TR><TD> <FONT SIZE=2>1 </FONT> <TD><TD> <FONT SIZE=2>Carl Sanders </FONT> <TD><TD ALIGN=RIGHT> <FONT SIZE=2>1.234.56 </FONT> <TD><TR><TD> <FONT SIZE=2>2 </FONT> <TD><TD> <FONT SIZE=2>Manfred Morris </FONT> <TD>

Page 199: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 199

<TD ALIGN=RIGHT> <FONT SIZE=2>200.00 </FONT> <TD>(etc. for each record to print)

</TABLE>

The table would be displayed in the browser like this:

Cust No Customer Name Balance

1 Carl Sanders 1,234.56

2 Manfred Morris 200.00

Notice that the customer number and name are left-justified because they werepreceded in the format by a tilde (~) and the balance is right-justified because itwas preceded in the format by a grave accent (`).

Sub-totalsIf the ReportMate format is defined to produce sub-totals, ReportMate willautomatically format these totals for the table. In total lines ReportMateautomatically puts any column identifiers (~ or `) so that totals will align under theappropriate field.

Tip: If you insert your own table HTML (see below) instead of the columnidentifiers then ReportMate will not be able to automatically position totals inthe correct column. Instead you must make sure that the appropriate HTMLliterals that you inserted have print timing so they will come out on the totalline(s).

Advanced - Inserting Your Own Column HTMLThere may be a situation where you want to insert some special HTML syntaxdirectly into the ReportMate format instead of using the standard columnidentifiers of ~ or `. For example, you may want to change the color of the data ina cell based on certain criteria (such as if a number is negative or very large). Thisis possible, but requires you to understand exactly how to create this syntax.

To handle a conditional situtation such as the example above you must insertHTML tags directly into the ReportMate format. Then you must use ReportMate’sfield selection criteria to ensure that only the appropriate tags come out for eachcell. Below is a sample of how you could do this.-----

Sample:Let’s assume you want to display a simple listing of customers and their balances. This might be the ReportMate format for a table:

~Customer #~Name `Balance

~CustxNoxxx~CustxNamexxxxxxxxxxxxxxxxxxxxx`Balancexxxxx

x

Page 200: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

200 SouthWare Excellence Series™

Now let’s assume you want to make the balance appear in the color red if thecustomer has a past due amount in the customer file. To do this you must usealternative HTML tags instead of the grave accent in front of the Balance field. The format line might look like this (this is all on one line):

<TD ALIGN=RIGHT><FONT COLOR="#FF0000" SIZE=2>

Balancexxxxxxx</FONT></TD>

For the literalCOLOR="#FF0000"

you should put field selection criteria that prints the literal only if the customer’spast due amount is greater than zero. If you are printing totals on this format youshould also make sure that the remaining literals for the table cell are printed attotals time so that the totals will appear in the correct columns.

For the literal</FONT></TD>

you don’t need to put field selection criteria, but if you are printing totals on thisformat you should also make sure that this literal is printed at totals time so that thetotals will appear in the correct columns.

The result will be that the font color attribute for red will only be output if thecustomer’s past due balance is greater than zero. The balance will appear in thenormal table color if the past due balance is not greater than zero.

Tip: You could also insert conditional HTML text in a pre-formatted include filethat is displayed as a report rather than a table. If the example above wasbeing displayed as a pre-formatted report you could still conditionally printthe balance in red by putting the beginning and ending font tags around thebalance.

-----

Advanced Option to Continue Table Cell on Next Line of RMFormat

You have the ability to use multiple ReportMate format lines to providethe contents of a single cell within an HTML table.

BackgroundReportMate automatically assumes the start of a new cell whenstarting a new line in the format. This is typically the case and worksin most situations. However, if you have a lot of text to output into asingle cell (such as multiple lines of text from a TaskWise task) this

Page 201: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 201

limited the contents of a cell to the text that would fit in a singleformat line.

With this feature you may place a continuation indicator at the end of aformat line to specify that the next line is a continuation of the same cell. Place an underscore (_) in the last character of a format line to specify thatthe next line should be a continuation of the last cell on this line.

For example, if you are defining a 264-column format you could place anunderscore in column 264 of a line to disable the automatic start of a newcell on the next line.

Standard ReportMate samples that use this feature include NLMKTLSTand NLMATENT.

How to create a hyper-text link

Note: If you need to use the same link multiple times you should use theHyperLink Tag ID feature. See RM-04-07 for more details.

To use ReportMate to create the HTML syntax for a hyper-text link you simplyenter the appropriate syntax as literals/data in the ReportMate format. This is anadvanced feature involving some complex HTML syntax, but with the examplesbelow you can probably figure out how to do this in your own format.

Hyper-text link basicsA hyper-text link has the HTML syntax of:

<A HREF=”URL_name”>text to display </A>

where URL_name is the URL for the link and text to display is the text you want toappear in the browser for the link. For example, the HTML syntax of:

<A HREF=”www.southware.com”>SouthWare</A>

would display in the browser as:

SouthWare

and would access the URL “www.southware.com” if you clicked on it.

Data-dependent hyper-text links

Page 202: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

202 SouthWare Excellence Series™

If the only hyper-text links you needed were fixed ones such as the SouthWareexample above then you wouldn’t need to use ReportMate. But to allow a “drill-down” from one piece of data on a page to a related page you must build the linkinto your format.

Let’s look at a fairly sophisticated example. One of the standard NetLink requestsis a list of open items for a customer. This is the Request ID of “COPEN” and runsthe ReportMate format of “NLCOPEN”. This request displays a list of open itemsfor a single customer and presents the document number as a hyper-text link. If theopen item originated in SouthWare’s invoicing you may click on the documentnumber to request the Request ID of “CINVDET” which displays the details of theinvoice from invoice history. If the open item originated in A/R the hyper-text linkcalls a Request ID of “NODET” which displays a message indicating that nodetails are available.

Here’s how we did this in the ReportMate format NLCOPEN (if you have licensedReportMate you can review the format for yourself in RM-03):

The first column of data is to be the hyper-text link to the document number. Inthe first data line in the format we inserted the following elements as a single dataline:

1 <A HREF=”http://@VAR_FORM_ACTION_URL_@?

2 SESSION_NO=@VAR_SESSION_NO_@

3 &INV_NO=document#

4 &REQUEST_ID=CINVDET”>

5 &REQUEST_ID=NODET”>

6 document#

7 </A>

Here’s how each element is used:1- This defines the URL, which is a call to the NLNETUPD program. The

variable FORM_ACTION_URL is defined in the NetLink configuration file(NL-01-01) and will be replaced when the ReportMate data is inserted into atemplate. Notice the question mark (?) at the end of the URL. This tells thebrowser to send the following data to the server using the GET method ofcommunication.

2 - This passes the current session number to the next request.3 - This passes the document number of the open item to the next request using

the variable name of INV_NO. This is the value needed to run theReportMate format for request CINVDET for a particular invoice number.

Page 203: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 203

(The “&” at the beginning of the variable name is the separator between

variables.)

4 and 5- This passes the request ID to the next request. These two literals havefield selection criteria so that only one of them will be in the file. If thedocument originated in Invoicing, element 4 will output. Otherwiseelement 5 will output. This is an example of using ReportMate’s fieldselection criteria to alter the data sent to NetLink.

6 - This is the text that will appear in the table as a hyper-text link. Thedocument number will be highlighted as “clickable” for the link.

7 - This ends the definition of the hyper-text link.

Tip: You may notice in the format that the next column of data is on a separate lineof the format. We did this to make the format lines easier to read. When youare outputting data to a table the browser doesn’t care about format lines, it’sjust looking for table syntax.

How to create Pre-formatted data

Pre-formatted data in a browser is presented as a fixed-width font. The purpose ofthis option is to be able to see text as it would be printed on a normal text printer.

To specify that the output of a ReportMate format should be sent as pre-formatted data, select the “<P>reformatting” option in the Parameters forRM Formats (NL-01-04). ReportMate will include the HTML tag of<PRE> at the beginning of the data and the tag </PRE> at the end of thedata. You must refer to the report in your HTML template using thevariable “@VAR_INCLUDE_RMx” where “x” is the number of theReportMate report within the Request record (1 to 5).

For example, let’s say you want to make the sample ReportMate report of “SHIPTO”available via NetLink. When the report prints on a text printer it looks like this:

Customer Ship To AddressesDemo Company Date-02/26/99 Ref# SHIPTO Time-10:08:03 Page 1Customer Number 150 THRU 150Salesperson Number ALLDate Added to File ALL CUST# CUSTOMER NAME ID NAME SHI TAX TER CRE DATE ADDRESS 1 ADDRESS 2 ADDRESS 3 150 Appleton's Haberdashery 1 Appleton's Haberdashery M 1 2 05/04/98 P.O. Box 2560 Auburn AL 36831-2560 150 2 Appleton's Annex M 1 2 05/04/98 Village Mall Suite 2490

Page 204: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

204 SouthWare Excellence Series™

Auburn AL 36831-2560----------------------------------------------------------- 10 RECORDS READ 2 RECORDS PROCESSED

This is the same way it will appear in the browser if youchoose the Pre-Format option. If you don’t choose pre-formatting with this report then the browser will displaythe report using a proportional font. The columns would notalign and the report would look something like this:

Page 205: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 205

Customer Ship To Addresses

Demo Company Date-02/26/99 Ref# SHIPTO Time-10:08:03 Page 1Customer Number 150 THRU 150Salesperson Number ALLDate Added to File ALL CUST# CUSTOMER NAME ID NAME SHI TAX TER CRE DATE ADDRESS 1 ADDRESS 2 ADDRESS 3 150 Appleton's Haberdashery 1 Appleton's Haberdashery M 1 2 05/04/98 P.O. Box 2560 Auburn AL 36831-2560 150 2 Appleton's Annex M 1 2 05/04/98 Village Mall Suite 2490 Auburn AL 36831-2560----------------------------------------------------------------- 10 RECORDS READ 2 RECORDS PROCESSED

This might be acceptable for some reports like this simple one (or onNotes or text used as an Include file), but on other reports the mis-alignment of columns would not be acceptable and you should use pre-formatting or a table.

Advanced - Creating a Paged Report by Limiting the Numberof Records Returned by ReportMate

If a report can include a large number of records then it may not bedesirable to include the entire report in a response page. It may taketoo long to run the report and take too long to download the resultingpage to the browser. One common way to handle this for browserreporting is to create a paged report that only runs/displays a portion ofthe report in a page. A paged report is really just a series ofindependent report runs, but the user perceives that he/she is pagingthrough the report.

Note: If you are interested in report totals or records past the firstseveral pages then you probably should not use paged reports. Each page starts report processing from the beginning, so itwill be slower to get to the end of the report with the paged

Page 206: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

206 SouthWare Excellence Series™

feature than it would be just to run the entire report once. Skipping records is faster than printing them, but it still takessome time.

From a NetLink request you may create a paged report by:U Limiting the number of records to include on a page, andU Providing a Next Page function to display other pages

We’ll first overview how this works and then look at the details and anexample.

a. When you run a ReportMate report from a NetLink request youmay use either of two methods to limit the records shown on apage:U you may pass the variable name “RM_OUT_LIMIT” with a

value that specifies how many records to include in a pageU you may put a processing limit in the ReportMate format

(screen 3, field 17 Process Limits, Output Record Limit)When ReportMate outputs the number of records for the limit itwill stop processing.

b. To supply the user with a “Next Page” prompt you may insert the

Page 207: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 207

special variable “@VAR_INCLUDE_NEXT=xxxxxxx_@” wherexxxxxxx is a text file name that contains:- the HTML syntax for a button or “Next Page” prompt (see the

standard SouthWare example of nlnextpg.txt)- a hypertext link to the variable VAR_NEXT_PAGE_@

<a href="@VAR_NEXT_PAGE_@">

Note: The reason NetLink uses a special type of Includevariable instead of a normal INCLUDE_HTML variableis because you only want the Next Page button to appearif there are more records. NetLink automatically omitsthe button if the current page is less than a complete page.

The variable @VAR_NEXT_PAGE_@ tells NetLink to include inthe link the data needed to reprocess this page and to insert orupdate the variables:- RM_OUT_CURR- RM_OUT_LIMIT

RM_OUT_CURR is a variable that specifies the starting recordnumber for the current page. For example, if you are presenting30 records per page, “31" would be the value for RM_OUT_CURR that will show the second page of records (seefigure above). What ReportMate does is process the report fromthe beginning, then skips records until it gets to the starting record

you specify. ReportMate does not actually start processing

with record 31, but it does not output any records until record

31. This is the way some search lists work on the Internet, and thefarther you go in the list (the more records you skip) the more timeit will take to create a page.

Example Let’s look at an example of this feature:The Product History request (PRODHST) for a customer allows thecustomer to display product history for a range ofitems/categories/dates. This could be a lengthy report, so we’ll limitprocessing to 30 records per page. Then we’ll add a Next Page optionto the template to allow the customer to page through the report.1. In the ReportMate format (NLSTKHS2) we will put a processing

limit of 30 (screen 3, field 17 Process Limits, Output RecordLimit).

Note: As an alternative, in the request that calls the PRODHSTrequest (CPRODHSTRNG) we could add the hiddenform variable “RM_OUT_LIMIT” with a value of “30".

Page 208: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

208 SouthWare Excellence Series™

By passing this data to the PRODHST request we couldlimit the records to 30 even if the format does not containa limit.

2. In the template for PRODHST (prodhst.htm) we need to add a“Next Page” button (the fastest way for a user to go to a previouspage is to use the browser Back button). To do this we add thevariable “@VAR_INCLUDE_NEXT=nlnextpg.txt_@” wherenlnextpg.txt is the standard Next Page text file.

3. When you run PRODHST the first time it will display the first 30records. - If the current page contains less than 30 records then the

contents of the nlnextpg.txt file will not be included in thepage so that the Next Page button won’t appear.

- If the current page contains 30 records the contents of thenlnextpg.txt file will be included in the page, and the variable“@VAR_NEXT_PAGE_@” will be replaced with the stringof variables used for the current page as well as the variableRM_OUT_CURR with a value of 31 and the variableRM_OUT_LIMIT with a value of 30.

When you click on the Next Page button it will rerun PRODHSTbut will skip the first 30 records in the report and display records31 thru 60.

How To Improve the Speed of a Report

A ReportMate report for a NetLink page typically runs fast as long asyour computer is fast and the report meets the following criteria(regardless of the size of your data files):1. The report is reading the file using a defined key sequence so that

it reads only the records relevant to the report.2. The report does not have to skip a lot of records due to record

selection criteria.3. The number of records being passed from ReportMate to the page

is not too large (particularly if ReportMate has to insert the tableformat HTML syntax).

Here are some tips on each of these points:

1. Key sequence

U Use Key Field Sequences If Possible

Use the primary key sequence or choose one of the alternatekey sequences when sorting the report. See the sections “Tips

Page 209: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 209

on Choosing Sort Fields” and “Limiting Records Processingfrom Primary File” in Chapter 2 of the ReportMate doc formore examples.

U Make sure that your first range on the report matches the

sequence (if the sequence is a key field from the primary file)If you sequence the report by key field A then make sure thatyour first range value is for field A. This causes ReportMateto read only the records defined in the first range.

Note: This helps only if you have a single sort sequence.

U If the report must be sorted in a non-key sequence, choose

a key from the primary file as the first range

If you put a range (range one only) that is any key from theprimary file and the report is sorted (the 3rd screen of theReportMate format program tells you that it will be sorted),then the range of values in the first range for the report limitsthe number of records read.

U Create a New Key Using Constructed Variables as an

Option to Improve Speed

You may use the Constructed Variables feature (XX-09-13) toadd a special multi-part Extended Data key to a file to help along report run faster. This can be very helpful if the report isselecting records based on more than one field and thus iscurrently reading many more records than will actually beused on the report.

For example, when you report on product invoice history for acustomer (request type of "PRODHST2") the report(NLSTKHS2) currently uses the Customer alternate key andthus reads all records for a customer. Let’s say you often needto run this report for a single stock number for a customer. Here’s how you could improve the performance of this reportif your customers have lots of records and the report needs torun faster:1. Define two new Constructed Fields that consists of

Customer and Stock Number. One new field would befor the Order file (RS08) made up of fields 98 and 4. Theother new field would be for the History file (RS11) madeup of fields 3 and 4. (The <F4> copy function inConstructed Variables will automate this function for thesecond file.)

2. Add this field as an Extended Data alternate key for theInvoice Line Item (XD type of 104). Rebuild theExtended Data keys via the utility in Extended Data.

3. Change the NLSTKHS2 report (or rename it to a new

Page 210: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

210 SouthWare Excellence Series™

report) to use the new XD key field as the primary rangeand sort for the report. The primary file for the reportwill be XK04.

4. Update the NetLink Parameters for the report - you willneed to specify the variable names for both parts of thekey and separate them with a semi-colon (e.g."CUST_NO;STOCK_NO").

When the report runs it will use the new key and read onlyrecords that apply. You could also use this Extended Data keyto search for records in the Invoice Inquiry program (IS-04-02) by selecting the option "History Line Items by XD Keys".

Note: Adding alternate keys does add some overhead toother processes so you should do this only whereimproved speed in reporting on a file is veryimportant.

2. Skipping recordsU If most of the records record are used on the report then you

shouldn’t have a performance problem.U If you are skipping most of the records and only printing a few

and your files are very large you should consider adding thefield you are testing (such as an amount) as an Extended Dataalternate key.

For example, if your report is to print records that have anamount field value that exceeds 100 you could create an XDkey for the amount field. You could then have the report readin amount key sequence and use a range that started with 100. The report would then read only the records you wanted.

3. Large number of records

U Use the Next Page function and limit the records per page

It is not a good practice to have lengthy pages using Internettechnology. They take too long to pass over the network. Thecommon way to handle this is to display a few records andthen have a Next Page function to display the next fewrecords. See the Paged Report discussion earlier in thissection.

U If you must create a large page, consider using the Pre-

formatted option instead of Table formatting

When ReportMate has to insert the HTML syntax for tables ittakes longer to create the report than it does just to output the

Page 211: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix E

SouthWare Excellence Series™ 211

data. If you must create a very long report you may use thepre-formatted option for outputting the data instead of tableformatting to decrease the processing time. The report won’tlook as “pretty” but it should run faster.

Page 212: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix E SouthWare NetLink™

212 SouthWare Excellence Series™

Notes:

Page 213: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix F

SouthWare Excellence Series™ 213

Appendix F - Saving Form Data for Importing

How NetLink uses ImportMate II™ to transfer data into yoursystem

ImportMate II serves as the data import tool for NetLink. WhenNetLink needs to transfer some data into SouthWare files it uses aspecial interface with ImportMate II. Here’s how it works:- When you want a NetLink user to be able to submit data, you

create a browser HTML form with fields that the user completes. This form page must have a Submit function that the user selects tosubmit the data to the server.

- The request that is called from the form page must specify that theincoming data is to be imported. In the Request Type (NL-01-02,field 7) you specify that the incoming data is to be imported andindicate the ImportMate II format to use. You also indicatewhether the data should be auto-imported and whether you havedefined a special Optional Save Data Format for the data.

- When the user submits the form, NetLink does the following:U Saves the form data to an importable text file (see next

section)U Creates a “To Do” record in the Request Import Updates file

(NL-02-01) that contains the name of the file with the saveddata and the name of the import format to use

- When the data is to be imported (either automatically at the timethe data is received or later as part of a batch via NL-02-02 )NetLink automatically calls ImportMate II via a special interface. - If NetLink finds any of the following errors, it does not run

ImportMate II:- The import format doesn’t exist in ImportMate II- The text file to import is not found- The import program to run doesn’t load properly

- If NetLink does not find any of the above errors, NetLinkpasses the name of the data file to use and the import formatto use to ImportMate II. ImportMate II then runs without anyuser interface required. - To see if there were any data errors during the import you

need to look at the registers provided by ImportMate II. These are automatically spooled when importing viaNetLink, so you may access them thru XX-01.

- After NetLink calls ImportMate II to do the import, NetLinkupdates the Import Update Request record (NL-02-01) to showcompletion info (or error info if NetLink found errors). NetLink

Page 214: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix F SouthWare NetLink™

214 SouthWare Excellence Series™

also writes the data from the save data file into theNLIMDONE.TXT file, then deletes the save data file.

Note: If ImportMate II encountered serious errors you may needto fix the incoming data and redo the import. Since theNLIMDONE.TXT file contains the original data, youmay extract the request data from the NLIMDONE.TXTfile, put it into a separate file, correct the errors, and usethe new file for importing.

How NetLink Saves Form Data for Importing

When NetLink receives data from a browser form it is in the POSTstring format. This format contains pairs of names/values for eachfield in the form. For example, a two field form would submit theformat “field1name=field1value&field2name=field2value”.

To save this data for importing NetLink writes it to a Fixed PositionText file. The file is assigned the name “session#.seq” where“session# “ is the current session number and “seq” is a sequencenumber that changes for each form submitted during a session. Thefile is saved in the import directory specified in your NetLinkConfiguration record (NL-01-01).

The format of the file is as follows (but see also the Advanceddiscussions later for customizing this standard format):- The first line of the file contains the field names. These are for

reference only to help you easily identify the position of each datafield to be imported. The line is preceded by the literal “LBL” forlabel. Beginning in position 5 is the name of the first field thatwas in the post string (unless you use an Optional Save DataFormat -see next section). Each subsequent field begins 50positions later (field 2 begins in position 55, field 3 in position105, field 4 in position 155, etc.).

Note: The standard NetLink headers contain some hidden formfields such as Session Number or NetLink Order Number. Since they occur in the header these hidden fields willtypically be the first fields in the saved data.

- The second line in the file contains the data. The line is preceded

by the literal “DAT” and then each fields value is lined up underits corresponding name (field 1 data begins in position 5, field 2data in position 55, field 3 data in position 105, etc.)

Page 215: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix F

SouthWare Excellence Series™ 215

Here’s a sample:

1 2 3 4 5 6

123456789012345678901234567890123456789012345678901234567890

LBL field1name field2name

DAT field1value field2value

When you define an import format for this file (IM-01) remember thefollowing:T For the Source of Data choose to import from a single file with

record typesT Specify that the record ID is “DAT” with no additional IDsT Specify that the file is a Fixed Position Text fileT In the field definition specify the position of the record ID as

position 1 and then specify the position for each other field to beimported

Advanced - How to Define an Optional Save Data Format

In NetLink’s default method of saving data the sequence of the fieldsin the save file are based on the sequence of the fields in the incomingPOST string. This in turn is based on the sequence of the fields in thesubmitted form. This can result in a problem if you edit the form in away that changes the sequence - this means your import formatpositioning would change. Each time you add a field, move a fieldaround, or remove a field you change the positioning of all fields afterthat field. Since each form contains hidden fields to pass certain datayou could even accidentally change the sequence of fields withoutrealizing it.

To prevent changes to the form from affecting the saved data you havethe option to define a Save Data Format using a simple text file. In thisFormat you may specify the sequence of the fields you want to save,and you may optionally specify their position. In the Request Type thatis saving the data you specify the name of this text file. NetLink willsave the data in this sequence/positioning regardless of the sequence ofthe fields in the POST string.

To define a Save Data Format you simply use a text editor to create afile with the following structure:

fieldname(=optional starting position)fieldname(=optional starting position)fieldname(=optional starting position)etc.

Page 216: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix F SouthWare NetLink™

216 SouthWare Excellence Series™

If you don’t define a starting position for a field it will be 50 positionsafter the start of the previous field.

Template Directory for Import Optional Format FileYou may place the format text file in your standard NetLink templatedirectory. You also have the option to store your import optionalformat positioning files in the Local Custom Template Directory (NL-01-01 field 2). NetLink will first look in the custom directory for anyoptional format files before looking in the Local Standard Templatedirectory.

Using the custom directory is particularly useful if you modify one ofSouthWare’s standard import format files but leave it the same name. You may place it in the custom directory so it won’t be overwritten bystandard NetLink updates.

ExamplesLet’s look at some examples. Let’s assume that a submitted formcontains the following fields in this sequence:

SESSION_NOREQUEST_IDNameStreet_AddressCityStateZipPhone

Save Data Format Resulting File

Field Pos

None SESSION_NO 5REQUEST_ID 55Name 105Street_Address 155City 205State 255Zip 305Phone 355

Page 217: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix F

SouthWare Excellence Series™ 217

NameStreet_AddressCityStateZipPhone

Name 5Street_Address 55City 105State 155Zip 205Phone 255

Name=5Street_Address=40City=75State=100Zip=105Phone=130

Name 5Street_Address 40City 75State 100Zip 105Phone 130

If you later added a Street_Address_2 field before City in the form, itwould change the default positioning of the subsequent fields and youwould have to edit their positions in the import format. If you areusing a Save Data Format then you could simply add the new field tothe end of the Saved Data and define the new field’s position in theimport format - you wouldn’t have to change the positioning of the oldfields.

Advanced - Outputting Multiple Records Using an OptionalSave Data Format

In certain situations you may have a form that should result in multipleSouthWare records to import. You may use a special multi-recordfeature of the Optional Save Data Format to tell NetLink that the formcontains multiple records and to output multiple records in the file to beimported. This feature is controlled by the following variables in yourSave Data Format file:

@CTL_RECORD_ID=nnn Specifies the record ID (nnn) to outputfor the following record(s). Thisoverrides the standard “DAT” ID.

@CTL_MULTI_RECS=x Specifies that there are multipleoccurrences of the following recordwhere “x” is the total number ofoccurrences (the maximum number ofrecords that could be created).

For example, the standard NetLink requests include a request that

Page 218: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix F SouthWare NetLink™

218 SouthWare Excellence Series™

allows a service technician to report parts and service performed on aservice order. The form allows the technician to enter up to fivedifferent parts/services, and the resulting import needs to create up tofive different line items on the service order.

To handle this we needed to do the following:1. Create the template with five sets of fields that are identical except

that they begin with “x_ where “x” is a letter that identifies each ofthe five sets (“A” for the first set, “B” for the second set, etc.). For each line item the technician may specify:

TYPE Part or ServiceID Part number or Service CodeQTY Quantity UsedTECH Technician Code

The first line item the technician may enter would have the formfield names:

A_TYPEA_IDA_QTYA_TECH

The second line item would have the form field names:B_TYPEB_IDB_QTYB_TECH

and so on.

Note: There is a limit of 26 sets per form - one per letter of thealphabet.

2. Create an Optional Save Data Format file with the following lines:@CTL_RECORD_ID=HDRSONO@CTL_RECORD_ID=LIN@CTL_MULTI_RECS=5SONOTYPEID(*) see Note (*) below

QTY(*) see Note (*) below

TECHThis will result in an import file that contains:- an LBL line with the headers for the HDR record- a header record with the ID of “HDR” that contains the

service order number- an LBL line with the headers for the LIN records- a record per line item with an ID of “LIN” and the fields

Page 219: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix F

SouthWare Excellence Series™ 219

TYPE, ID, QTY, and TECH

Note(*):You may place an asterisk in parentheses beside a field toindicate that the field is required for a valid record andthus to skip creating a record for import if the field isblank. NetLink will only put out records that are non-

blank in the required fields - if you specify 10occurrences but only the first two records contain non-blank required fields, NetLink will write only two recordsto the file. In the example above, both the item ID andQTY fields must not be blank in order for NetLink tocreate a record for importing. Even though the formallows for up to five records, NetLink won’t save morerecords than were filled in.

How NetLink Keeps Track of Import Files

When NetLink creates a file to save form data it places the name of thefile in the Import Request record (NL-02-01, field 1). This record alsocontains the import format name and other information about therequest. This is how NetLink knows what files need to be importedand how to import them.

For example, let’s assume that a user has been assigned session number00001000. When the user submits the first form during the session,NetLink will save the data in a file named “00001000.001" in theimport directory. NetLink will also create a record in the ImportRequest file for file 000010000.001 that contains the import format touse and other data about the request.

Page 220: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix F SouthWare NetLink™

220 SouthWare Excellence Series™

Controlling When Saved Data is Actually Imported

In the Request Type record you may specify whether NetLink shouldautomatically initiate the import at the end of the request that receivedthe data. This provides the effect of interactive updating of your datafrom the browser via NetLink.

To import incoming data in a batch mode you simply answer No to theauto-import option for the Request Type or you indicate in the NetLinkConfiguration file (NL-01-01) that you are not running Live Data. Then when you want to bring the data into your system you may runthe program in NL-02-02 for a range of Request Types and haveNetLink initiate the appropriate import for each Import Request thatdoes not have Completion Info (which indicates that it has already beendone). The normal procedures and validations for ImportMate II apply,but the NetLink program executes the appropriate import program foreach file to be imported.

Page 221: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 221

Appendix G - Programmer Notes

With NetLink you may incorporate a custom program into theprocessing of a request to allow “enhancement” of NetLink processing. NetLink allows this in a way that does not require modification ofstandard NetLink programs.

The program that is the “driver” for the processing of each request isthe NLNETUPD.OBJ program. Here is a general (not complete)overview of the processing flow within this program:a. Accept and decode the information sent with the request. If the

request uses the GET method, decode the info from theQUERY_STRING environment variable. If the request uses thePOST method, accept from SYSIN and decode the info.- Decoding involves both converting hex values and extracting

variable names and valuesb. Validate the requestor and requestc. Read the request record to see how to process the requestd. Run any ReportMate formats that need to be rune. Extract any variables from the ReportMate dataf. Create a response page file with the name session#.seq where

session# is the current session number and seq is a sequencenumber assigned to each request for a session. Each line from theHTML template for the request is written to the response page, andany variables are replaced with their corresponding data.

g. Send the response page back to the server by displaying each lineupon SYSOUT.

h. If there is form data to be saved, save the data to a file and createan import to do record.

i. If form data is to be auto-imported, run the appropriateImportMate II format and update the import to do record.

j. Update the request history file.k. Do a STOP RUN.

There are four Timing points in this process (similar to WorkFlowFlowPoints) that are coded to allow supplemental processing byanother program. For any request you may add a supplementalprogram at one of these timings by entering the “Secondary Program”name and the “Secondary Timing” in field 9 of the Request ID (NL-01-02).

Page 222: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

222 SouthWare Excellence Series™

Timing Description

1 After request data has been received and the sessionvalidated, but before any processing (such asReportMate) is done - (between c. and d. above)

Sample Uses:

- To validate incoming data (and optionally switch toa different Request ID to return an error by usingthe FAIL feature described below)

- To store the incoming data in a file (e.g. when youadd or change a NetLink sales order line item, therequest CORDLIN uses the programNLORDENT/L at this timing to save the line iteminformation to a file)

- To set up additional variable values in the variabletable, including any INCLUDE_USERx names ofcustom include files (see@VAR_INCLUDE_USERx_@ in Appendix D)

2 After the processing of any ReportMate reports(including digesting any ReportMate-suppliedvariables), but before creation of the HTML page

Sample Uses:

- To insert a variable that would normally be suppliedby ReportMate if the ReportMate run resulted in nodata

- To override the value of a variable based on othervariable values

3 After the normal creation of the resulting HTML page iscomplete and before the page is sent to the browser -(between f. and g. above)

Sample Uses:

- To perform further editing of the HTML page afterthe variables have been inserted

- To validate some data in the HTML page (andoptionally change to a different Request ID toreturn an error message by using the FAIL featuredescribed below)

- To save the variable data in a file

Page 223: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

Timing Description

SouthWare Excellence Series™ 223

4 After the page is sent to the browser and Form Data issaved, but before any auto-import of data is done -(between h. and i. above)

Sample Uses:

- To edit the saved data file before importing- To overwrite the saved data file with data from

another file (e.g. when you submit a NetLink salesorder, the CORDOK request uses theNLORDENT/I program at this timing to recreatethe saved data file to include a header record and arecord for each line item from the NetLink order)

When the request indicates to call to another program at one of thesetimings, the NLNETUPD.OBJ program interrupts its processing andpasses the entire table of variable values thru SouthWare speciallinkage to the custom program (the custom program must be usingSouthWare standard routines). When the custom program exits,NLNETUPD.OBJ will receive back the table of variable values(including any modifications the custom program made) and continuewith its normal processing unless the custom program said to FAIL(see below).

FAIL Option

At Timings 1, 2 and 3 your custom program has the ability to tell theNLNETUPD.OBJ program to “fail” and not continue with normalprocessing (you cannot fail at timing 4 since the request has alreadyreturned a page to the browser). An example would be when yourcustom program determined that the user entered invalid data and needsto enter it again. Your custom program can cause the normal requestID to fail and to instead process a different request ID.

To do this your custom program must use the NLUVAR-ADD-VARIABLE routine to replace the “FAIL_REQUEST_ID” variablewith the Request ID to call to explain the problem. If theNLNETUPD.OBJ program finds that the FAIL_REQUEST_ID is notblank after returning from your custom program then it processes theFAIL_REQUEST_ID request instead of the one it was doing. TheNLORDENT program contains an example of using this feature.

Shopping Cart

NetLink has a sophisticated shopping cart functionality. A set of pages

Page 224: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

224 SouthWare Excellence Series™

use Live Portal technology to provide an out-of-the-box, interactive,simple-to-use online shopping experience via NetLink. This includesfunctions such as:• The shopping options and existing cart are integrated into a series

of tabs that give the “feel” of a single program rather than a seriesof pages.

• The marketing catalog is presented as an interactive tree.• Catalog categories and search lists are presented as interactive

folders of items that you can display in different ways andsequences.

• Customers can easily select items from past purchases to makerepeat orders simple to do.

• You can interactively edit the contents of the shopping cartwithout navigating through a lot of pages.

• You can shop and build a cart before logging on as a returningcustomer, then log on to activate customer pricing and info.

• Standard promotional pages allow you to frequently change thepromotions within your shopping site. These are designed so thatyou can modify these promotional pages without any impact on orknowledge of NetLink technology.

The NetLink requests related to the Shopping Cart use the namingconvention “WISHOPxxxxxxxxxxx”. Here is an outline of some ofthe key requests utilized in a single sample view:

Page 225: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 225

Shopping TabsThe Shopping Cart container utilizes three tabs to integrate theshopping experience:

Shop for Items

This tab contains the catalog, search, and recent purchasesfunctions. This tab stays active, so if you are shopping andswitch to another tab then back to this tab the tab state willremain unchanged.

Address

This tab contains order header info such as address andshipping method. For a customer this automatically defaultsfrom the customer record. For a non-customer this info mustbe entered before you can submit the order.

Review/Submit

This tab displays a summary of the order header info(including totals) and the items selected for the cart. You mayedit quantities or delete items from the cart while in this tab. When you are ready to submit there is a button to acceptpayment info and submit the order.

Page 226: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

226 SouthWare Excellence Series™

Catalog TreeThe Catalog tree is loaded from the Marketing Catalog (IS-07-20). If you have defined images for catalog entries then these imagesare displayed as thumbnails beside the catalog entries.

Display FolderWhen you select a category from the catalog or enter a searchvalue the results will be displayed in a “folder” control. Thiscontrol allows you to choose different views and sort sequencesfor the items, and changing the view or sequence does not requirereloading the folder.

Select an ItemWhen you select an item from a search folder or Recent Purchases

list the item is added without navigating to a new page. Amessage appears indicating that the item is added. You can thencontinue to select items as needed.

Related ItemsIf a selected item has related stock items these will be displayed ina table underneath the added item message. You can then selectitems from this table and they will be added in the same manner.

Item ZoomThe request WISHOPITEM displays details for an item whenshopping. The default layout uses the image file defined in thestock record.

Note: The template for WISHOPITEM also will display anyCatalog notes you have attached to the stock item (Noteswith a category of “C”).

Item SearchThe Item Search function will use the stock key word index to finditems. They will be displayed in the Display Folder.

Note: Remember that you can add stock notes to the key wordsearch. In the Inventory/Sales control record (IS-08-02,field 24, Keyword Notes Category) you can indicate thatcertain notes categories should be included in the search. For example, if you use the “C” category for catalognotes you can specify “C” in the control record so that thewords in the notes will be included in the stock search.

Page 227: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 227

NetLink Sales Orders Example

The NetLink Sales Order process provided with the standard NetLinkrequests is an example of using Secondary Programs for supplementalprocessing. All of the supplemental processing is done by theNLORDENT program as it is called with various switches to dodifferent functions. Here are some requests that use this program:

Request ID Program Timing Result

CORDER NLORDENT/H 1 Looks for headervariables and savesthem in NLORH.FIL- if there is not anNL_ORDER_NOvalue then one isassigned, andredirects toCORDLIN to addline items

CORDLIN NLORDENT/L 1 Looks for line itemvariables and savesthem in NLORL.FIL- ifNL_ORD_LINE_NOis zero, assumes anadd - otherwise willchange - if new lineitem has relateditems, callsCORDLNRELATE

CORDLNA NLORDENT/S 1 Validates that thestock number is validfor the location - ifnot calls the Request“BADSTOCK”

CORDOK NLORDENT/I 4 Rewrites the data filesaved for import bywriting a headerrecord and a recordper line item

Page 228: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

228 SouthWare Excellence Series™

VFYPAY NLORDENT/C 1 Validates that thecredit card info (ifapplicable) is valid -see Credit Card notesbelow - then calls theappropriate submitrequest (or addcustomer ifapplicable) - thisoption outputs avariable PAY_VERIFY_MESG which contains thetext description of theany error message

CORDDEL NLORDENT/D 1 Deletes header andline items for order

The data in NLORH.FIL and NLORL.FIL is available in ReportMateso that NetLink pages can present this custom data via ReportMateformats like any other data. See also the “CART_xxxxx” standardNetLink variables that are available to display the current status of thecustomer’s shopping cart.

Here’s the flow in this process:- The user accesses CORDHDR to enter header information - the

submit button calls CORDER. The form uses Secure SocketLayers (SSL) technology if your server supports it (as specified inyour NetLink control record).

- The CORDER request uses NLORDENT/H to save the incomingheader information in the NLORH.FIL, then presents the orderinformation via ReportMate. If this is a new order the programautomatically calls the CORDLIN request instead of the ordersummary.

- To work with line items, the user clicks on a button to call theCORDLIN request. From this request you may add a new lineitem (CORDLNA) or change an existing line item (CORDLNC). The CORDLNA request uses NLORDENT/S to validate that thestock number the user may have entered is valid for this location. Each of these requests returns to the CORDLIN request whichuses NLORDENT/L to save any incoming line item information inthe NLORL.FIL.

Page 229: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 229

- When the user selects to submit the order from the CORDERscreen, he clicks on a button that calls the VFYPAY request whichruns NLORDENT/C. If there is credit card info the programverifies that the credit card number/type is valid. If you are usingCredit Card Interfacing the program processes the interface andcalls either the confirmation request (CORDOK or CPOSOK) oran error request (CORDPAY or OORDPAY). The CORDOK orCPOSOK request uses NLORDENT/I to rewrite the import file foruse in importing a SouthWare sales order.

Ability to Add/Edit Multiple Order Line Item Quantities on Same

Page

The special order entry secondary program (NLORDENT) supports theability to enter/edit quantities for multiple line items on a single page. This offers the following two features:1. Select Multiple Products - You may display a page with a list of

products and a quantity field beside each product. The user mayenter a quantity beside each product he wants to order, then submitthe entire page. The NLORDENT/L program will add an orderline item for each product with a non-zero quantity.

How it works:

The NLORDENT/L program looks for incoming variableswith names that have the format of@VAR_ITEMQTY_xxxxx_@. When the program sees avariable name with this format xxxxx is assumed to be a stocknumber and the value of the variable is assumed to be thequantity to order of the stock number. The program creates anorder line item for each of these variables that has a non-zeroquantity.

Related Standard Examples:

- The request ID “QCSTKLST” displays a list of stockitems with a quantity field beside each item.

- The request ID “QCCATSEL” is a version of thecategory list that will call QCSTKLST instead of theCSTKLST request.

Steps to Implement:

To use this multi-line mode as the default mode you need toreplace any calls to CSTKLST with QCSTKLST and replacecalls to CCATSEL with QCCATSEL. (This has already beenimplemented in the standard NetLink requests as of June,2000.)

2. Change Multiple Line Items - You may display a page with a listof current line items on the order and a quantity field beside each

Page 230: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

230 SouthWare Excellence Series™

line item that shows the current quantity on the order. The usermay change any of the quantities and submit the entire page. TheNLORDENT/L program will update the quantity fields for all lineitems. If a quantity is changed to zero the program will delete theline item.

How it works:

The NLORDENT/L program looks for incoming variableswith names that have the format of@VAR_ITEMCHG_9999_@. When the program sees avariable name with this format 9999 is assumed to be the linenumber of a line on the order and the value of the variable isassumed to be the new quantity to use for that line item. Theprogram updates the quantity in each order line item. If thequantity is zero the program deletes the line item.

Related Standard Examples:

- The request ID “QCORDLIN” displays a list of line itemson an order with a quantity field beside each line item thatshows the current quantity on the order.

- The standard request ID CORDLIN now displays the“Quantity” column header as a link that calls theQCORDLIN request.

Steps to Implement:

To use this multi-line mode as the default mode you need toreplace any calls to CORDLIN with QCORDLIN (CORDLINdoes contain a link from the Quantity column to QCORDLINif you want to give your users a multi-line change modewithout making this the default mode). (This has already been

implemented in the standard NetLink requests as of June, 2000.)

Variable Field Names Used in NetLink Sales Order Templates

Here are the variable names supported by the NLORDENT program. Some of these are used in the standard templates, but there areadditional fields that you may use by customizing the templates and therelated import(s).

NetLink Order Header Variables (NLORH.FIL,

NLORDHDR.FD)

Page 231: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 231

Variable Name

(Import File

Position)

Notes

NL_ORDER_NO(5)

Assigned by NLORDENT/H if zero -otherwise must be passed betweenrequests for the order

CUST_NO(105)

Will default from the requestor for thesession - if provided in the POST stringthen NLORDENT will use the POSTstring value

LOC_NO(55)

Provides the default for the entire order(may be overridden per line item)

BILL_TO_ID(155)

A blank value defaults to the customer billto info. A non-blank incoming valuelooks for the customer bill to record

BILLNAME (205)BILLADD1 (255)BILLADD2 (305)BILLADD3 (355)BILLCITY (405)BILLSTATE (455)BILLZIP (505)BILLCOUNTRY

These variables are based onBILL_TO_ID.

SHIP_TO_ID (555)

A blank value defaults to the customerdefault ship to info.

SHIPNAME (605)SHIPADD1 (655)SHIPADD2 (705)SHIPADD3 (755)SHIPCITY (805)SHIPSTATE (855)SHIPZIP (905)SHIPCOUNTRY

These variables are based onSHIP_TO_ID.

PO_NO (955) To store customer PO number.

SHIP_VIA (1005) To store shipping method.

Page 232: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

Variable Name

(Import File

Position)

Notes

232 SouthWare Excellence Series™

PAY_METHOD(1055)

Value from template will be ON_ACCT orOTHER.

OTHER_PAY(1105)

If PAY_METHOD is OTHER, this shouldcontain a valid Payment Type code.

CARD_NO(1155)

If PAY_METHOD is OTHER and thePayment Type chosen (AR-07-12) callsfor the Card number, this will be stored.

CARD_EXPIRE(1205)

If PAY_METHOD is OTHER and thePayment Type chosen (AR-07-12) callsfor the Expire Date, this will be stored.

EMAIL_ADDR(2405)

To store a 50 character e-mail address forthe order.

TEXT(1 thru 5)(1855, 1905, 1955,2005, 2055)

To store up to five 30-character lines forimport as order header text.

TAX_CODE(1255)

To store a tax code if supplied from thetemplate. The standard template does not

provide this, and the standard import willassign this value.

MISC_CODE1(1305)

To store the first miscellaneous chargecode if supplied from the template. The

standard template does not provide this as

a variable.

MISC_AMT1(1355)

To store an amount for the firstmiscellaneous charge code. The standard

template does not provide this as a

variable.

MISC_CODE2(1405)

To store the second miscellaneous chargecode if supplied from the template. The

standard template does not provide this as

a variable.

Page 233: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

Variable Name

(Import File

Position)

Notes

SouthWare Excellence Series™ 233

MISC_AMT2(1455)

To store an amount for the secondmiscellaneous charge code. The standard

template does not provide this as a

variable.

DISC_PCT(1505)

To store an order header trade discountpercent if supplied from the template. The

standard template does not provide this as

a variable.

USER_ALPHA1(1555)USER_ALPHA2(1605)

To store 30-character user-defined fieldsfor the order header as supplied from thetemplate. The standard template does not

contain these as variables.

USER_AMT1 (1755)USER_AMT2 (1805)

To store user-defined amount fields (up to999,999,999.99) for the order header assupplied from the template. The standard

template does not contain these as

variables.

USER_DATE1(1655)USER_DATE2(1705)

To store user-defined date fields for theorder header as supplied from thetemplate. The standard template does not

contain these as variables.

PCCHARGE_TROUTD (2505)

To store Transaction Routing ID for PCCharge follow on transactions

NetLink Order Line Item Variables (NLORL.FIL,

NLORDLIN.FD)

Variable

(Import File Position)

Notes

NL_ORDER_NO (5) Must be supplied as an input variable.

NL_ORD_LINE_NO(55)

Assigned by NLORDENT/L if zero,otherwise is the line number for achange.

Page 234: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

Variable

(Import File Position)

Notes

234 SouthWare Excellence Series™

ITEM_STOCK_NO(105)

Stores the stock number for the lineitem.

ITEM_LOC_NO(155)

Stores the location number for the lineitem. In the standard template this is

the order header location.

ITEM_QTY(205)

Stores the quantity for the line item. IfNLORDENT/L encounters a zeroquantity for an existing line item thenit will delete the line item.

ITEM_DISC_PCT(305)

To store an order line item tradediscount percent if supplied from thetemplate (defaults from order headerdiscount percent). The standard

template does not provide this as a

variable.

ITEM_USER_ALPHA1(355)ITEM_USER_ALPHA2(405)

To store 30-character user-definedfields for the order line item assupplied from the template. The

standard template does not contain

these as variables.

ITEM_USER_AMT1(555)ITEM_USER_AMT2(605)

To store user-defined amount fields(up to 999,999,999.99) for the orderline item as supplied from thetemplate. The standard template does

not contain these as variables.

ITEM_USER_DATE1(455)ITEM_USER_DATE2(505)

To store user-defined date fields forthe order line item as supplied from thetemplate. The standard template does

not contain these as variables.

ITEM_TEXT(1 thru 5)(655, 705, 755, 805, 855)

To store up to five 30-character linesfor import as order line item text. The

standard template does not contain

these as variables.

Page 235: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 235

Credit Card Pre-Authorization Option

You have the option to interface NetLink’s Order Entry process to theCredit Card Interface for use with credit card processing software. This allows you to pre-authorize the credit card information submittedwith an order.

Set UpHere are the general steps to set up this interface:a. Install the card authorization software on the web server according

to the product’s installation instructions.b. Specify the proper Data Directory in the NetLink Parameters (NL-

01-01, field 2, Credit Card IF Directory).c. Create/edit the NLICVIDS.SEQ file in the Credit Card IF

Directory. This file is automatically created with defaultinformation when you specify a directory name in NL-01-01, butyou may need to edit the options for your particular situation. Seethe “Configuration Options” discussion below.

ProcessingTo submit credit card info for pre-authorization processing you mustcall a request that uses NLORDENT/C for Secondary Programprocessing. The standard NetLink requests “CORDVFY” and“OPOSVFY” use NLORDENT/C for this purpose.

When you call NLORDENT/C for a particular NetLink order numberthe program does the following:1. Verifies whether credit card payment has been used. If not, the

program considers the payment OK and calls the CORDOK orOPOSOK request.

2. If the payment method indicates that MOD 10 validation should bedone on the credit card number, this is verified. If OK, theprogram calls the CORDOK or OPOSOK request.

3. If pre-authorization applies and the feature has been set up, theprogram finds the first available Credit Card ID from theNLICVIDS.SEQ file and writes a corresponding Request file inthe Credit Card IF Directory. - When the program sees that a corresponding Answer file has

been written to the Credit Card IF Directory then it extractsthe Answer information.

- The status of the answer determines what happens next. TheNLICVIDS.SEQ file contains the status situations that canoccur for a request, and each status specifies what RequestType should result for that status. See the Credit Card StatusParameter section below for examples.

Page 236: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

236 SouthWare Excellence Series™

Configuration OptionsYou may customize some of the interface to options via the parametersin the NLICVIDS.SEQ file. There are two types of records in this file:

Credit Card IF IDs to UseThese records designate SouthWare Credit Card Interface IDs(XX-05-13-02) that should be used in the NetLink Order Entryinterface to card authorization software. These records have theformat of:

ICV_ID=idname

where idname is the name of a valid Credit Card Interface ID inXX-05-13-02. The Credit Card Interface ID specifies otherinformation about the interface such as the directory and the typesof credit cards to validate.

When you specify a “Credit Card IF Directory” in the NetLinkConfiguration file (NL-01-01, field 2), the NetLink programautomatically creates entries here for each of your Credit CardInterface records that refers to the same directory. You may deleteany entries that should not be used.

Credit Card Status ParametersThese records specify each possible status for an authorizationrequest and indicate what NetLink request type should beprocessed when the status occurs. These records have a FixedPosition format of:Position Contents 1 PAY_STATUS_nn (nn = number)

15 Request ID to use if the status occurs during Order Entry 31 Request ID to use if the status occurs during Point of Sale 47 Description of status (up to 100 characters) - this is made

available to the next request as the variablePAY_VERIFY_MESG

For example:12345678901234567890123456789012345678901234567890123456789012345678901234567890

PAY_STATUS_01 CORDOK OPOSOK No authorization requiredPAY_STATUS_02 CORDOK OPOSOK Authorization completedPAY_STATUS_03 CORDOK OPOSOK Transmission failed (Busy)PAY_STATUS_04 CORDOK OPOSOK Transmission failedPAY_STATUS_05 CORDPAY OPOSPAY Bad Other Pay CodePAY_STATUS_06 CORDPAY OPOSPAY Bad Card NumberPAY_STATUS_07 CORDPAY OPOSPAY Bad Exp DatePAY_STATUS_08 CORDPAY OPOSOK Authorization declined

Page 237: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 237

Option to Accept and Submit Card Verification Validation

Number

In SouthWare Order Entry you have the option to specify that you wantto enter a Card Verification Validation number for credit cardtransactions. See the related discussion in the Credit Card Interface ID(XX-05-13-02, field 14). NetLink also supports this security featurefor credit card processing.

Here are the changes made in the standard NetLink samples for thisfeature:- Additional request is NLCCDVFY - will be called when:

- an order is submitted (the VFYPAY request that is calledduring submission)

- Credit Card interface is enabled- related html template is nlccdvfy.htm

Note: For security purposes this field is not stored withinSouthWare or NetLink data.

Extended Data option for NetLink Order Header and Line Item

Files

You may use Extended Data fields to store additional informationabout pending NetLink orders. This is in addition to the user fieldsavailable for the NetLink order header and order line item.

These XD types let you temporarily store custom information about apending NetLink order/line item before you submit the order. Afteryou submit an order any needed data should be imported into thestandard order header and line item fields and related Extended Data.

Two reserved Transaction Extended Data types are available:

123 NetLink order header XD124 NetLink order line item XD

You may define fields for these XD types in the Extended Data controlrecord (XD-03-01). For each type you may also have up to 20 user-

related types for a total of over 300 possible fields for each reserved

type.

To accept XD fields in your NetLink page forms

Page 238: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

238 SouthWare Excellence Series™

You may define that a field in a web page form is to be stored as anExtended Data field via the name you give to the form field. Thenaming convention is:

XTttnnnnwhere “tt” is the last two digits of the record type and “nnnn” is theData Dictionary field number. For example, field 6 in the DataDictionary for order header Extended Data would be “XT230006".

How NetLink saves NetLink order Extended Data fieldsWhen the NetLink order entry routine is saving order headerinformation (NLORDENT/H) it also looks for order header ExtendedData fields (“XTttnnnn” for fields in XD 123 or related types). Whensaving order line item information (NLORDENT/L) it also looks fororder line item Extended Data fields (“XTttnnnn” for fields in XD 124or related types). When it encounters an applicable NetLink orderExtended Data field it automatically stores it in Extended Data.

Displaying a NetLink order XD field in a pageThese fields are accessible via ReportMate just like the standardNetLink order header and line item fields. You may output them in areport or as a variable value just like any other fields.

Importing NetLink order XD fields into standard SouthWare ordersWhen you submit a NetLink order the order data is written to a text fileand then the standard SouthWare order is created via importing the textfile data. The standard format of the text file is outlined in Appendix Gof the NetLink manual.

If you have defined Extended Data fields for a NetLink order header orline item then the special NetLink order entry program outputs theminto the text file data as well (NLORDENT/I):- NLORDENT/I will export one new record for each XD record

type (i.e. 123 and its related, 124 and its related). An LBL recordbefore each type will show the variable name for each column inthe record.

- The 3-char record type will be the 3-digit XD record type (i.e. onetext record for each XD record type, inserted at the proper place inthe text file, following the HDR or DAT records).

- The first field in the record after the record ID will be the ordernumber (position 5). On the line item record the line sequence willbe the next field (position 55).

- XD Fields will be output to the text record in field numbersequence at 50-byte increments.

Page 239: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 239

For example, the first few characters of the text lines for an order withboth header Extended Data (123) and line item Extended Data (type124) would look like this:

For Header XDLBL NL Order No var1 var2 var3 (etc.

)123 999999.999 xd 1 xd 2 xd 3 (etc.)

For Line Item XDLBL NL Order No Line No var1 var2(etc.

)124 999999.999 seq# xd 1 xd 2 (etc.)

In order to update NetLink order XD into the standard

Inventory/Sales Order (and line item) Extended Data you must

modify your import format to recognize and retrieve these additional

record types. SouthWare does not have any standard samples of this

since Extended Data is custom per user.

If you use the Multiple Stock Items per page featureNetLink supports the ability to enter/edit quantities for multiple lineitems on a single page (see “Ability to Add/Edit Multiple Order LineItem Quantities on Same Page” in Appendix G of the NetLink manual). You may use this feature in conjunction with line item Extended Data:

- To have multiple stock items with Extended Data on the same pagethe XD syntax must include the literal that triggers the program formulti lines (ITEM_QTY_) and the stock number (last element). The Extended Data format for this kind isITEM_QTY_XTnnffff_(stockno). For example:

ITEM_QTY_100 would be the variable to add a line item for stocknumber 100 where the actual qty to add is the value of the variable.The value of the form variable ITEM_QTY_XT240006_100would be the data for XT24 field 6 data for the line item thatcontains stock 100. The stock number must be the last element sothat embedded spaces cannot occur.

Special Limitations of these XD typesBecause these Extended Data types are specially designed for use withNetLink pages they have related limitations:- You may not define key fields or auto-XD fields in these record

Page 240: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

240 SouthWare Excellence Series™

types- Related notes are not available for these files

Ability to Copy a NetLink Order

You have the option to create a new NetLink order by copying anexisting NetLink order. This was requested so that you may allow acustomer to copy a previous saved order into a new order.

This feature is implemented via a reserved NetLink variable:

@var_copy_order_no=nnnnnnnn.nnn

where “nnnnnnnn” is the number of a saved NetLink order. WhenNetLink encounters this variable it does the following:- Creates a new order number from the current session info.

NetLink pending order numbers are derived as follows:- The first 8 chars of the order number is the session#- The last 3 chars of the order number is the request counter

(the request counter that started the order).- Copies the order header, order line items, and any Extended Data

from the “copy” order into the new order.- Changes the session info to refer to the new order number.

Item Group Matrix Example

A set of sample NetLink pages uses the Item Group Matrix module toshow items available within a group. You may optionally use this todisplay a matrix group entry grid for entering items (add mode only) ona sales order. Here are the related requests:

CMATRIXFINDThis request accepts a starting group/style value and calls toCMATRIXLIST. You could easily embed this html form intoanother page to provide easy access to the list of groups/styles.

CMATRIXLISTThis request produces a list of groups. The starting value can beprovided via the variable “group_start_id” or this can be blank toinclude all groups. The related ReportMate format (NLMATLST)has a limit of 30 records with a next page option.

CMATRIXENTThis request produces an entry grid for quantities to be orderedwithin a matrix group. The entry form calls to requestQCORDLIN to submit the quantities and add them to the order.- The grid uses two ReportMate formats to output the entry

Page 241: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 241

table and uses a table format of MATRIX that does not outputany row tags:

- The format NLMATCOL will output the column headersand the tags for the first row.

- The ReportMate format NLMATENT will output therows and entry fields for each row. It contains embeddedHTML syntax to produce table rows/columns that matchthe group rows/columns (up to ten columns in thesample). It uses the Table format of MATRIX whichsuppresses all automatic row formatting so that the rowtags are controlled within the ReportMate format.

Marketing Catalog Option for Item Selection Pages

A sample NetLink request uses the Inventory/Sales Marketing Catalogas a method of reviewing/selecting items to order in NetLink. If youuse the marketing catalog you can replace the product categoryselection (QCCATSEL) with your own version of this sample. Thesample request type is CMKTSEL and uses the following elements:- ReportMate format of NLMKTCAT to show items from RS27, the

marketing catalog (includes both categories and stock items)- The format will output an image for categories or stock items

if the related image name is not blank.- ReportMate parameter record for NLMKTCAT that uses the

NetLink Table Format record of MKTCAT for a 3-wide table- HTML template of nlmktsel.htm

Option to Switch User Login Within Same Session

A common scenario on a web site that sells items is to allow a customerto browse your catalog and select items for ordering without firstlogging in. Then when the order is ready to submit you allow the userto log in with their customer ID and password and switch the orderinformation to their customer account.

A feature in NetLink supports this capability. You may switch asession from an “O” type requestor (Other) to a C, V, or I typerequestor while retaining the other session information. This supportsthe order entry scenario above as well as other possible browse-then-login scenarios.

To support this feature there are three reserved NetLink variables:chg_reqr_type

Page 242: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

242 SouthWare Excellence Series™

chg_reqr_idchg_auth_id

NetLink will look for these variables when the current requestor type is“O”. These variables have the same meaning as the variables that don’t

start with “chg_” except that they are used to switch the requestor for

an existing session rather than to start a new session.

When NetLink finds these variables in the incoming values for an “O”requestor session it:- verifies that the type/id/authorization are valid- if valid, changes the session record to the new requestor info and

changes the session’s customer/vendor/employee number

Related Standard NetLink SamplesThis feature has been implemented in the standard sample page of"OPOSHDR" (the blank order header form displayed for an Other typerequestor who decides to submit an order). This page includes a loginform for "Existing Customer" that uses these new variables. If the usersubmits a valid customer ID and authorization code from that form thenNetLink will change the session to that requestor and customer. NetLink will then call "CORDHDR" so that the customer’s defaultinformation will be shown in the order header.

Using RCF Packets with NetLink

You may launch a SouthWare RCF Packet from a NetLink

request! This lets you use a web page and browser to execute virtuallyany process that you can automate with an RCF Packet.

This has ENORMOUS potential power for your NetLink users:L With SouthWare’s RCF (Remote Control Fields) Packets you may

automate literally hundreds of SouthWare options. See XX-09-14in the SwiftMate manual for more information.

L With the ability to launch an RCF packet by simply clicking on alink in a web page that calls NetLink you can now utilize thepower of RCF Packets from any browser in the world!

Page 243: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 243

NetLink Useron Browser

SouthWareNetLink

RCF Packet

Run a post

process

Spool a report f ile

Add a record

(anything you can

automate w ith an

invisible RCF Packet

For example, you can create an RCF Packet that runs in invisible modeto:- Update ExecuMate II Gather Info- Post Transactions (e.g. be able to post receivings from a handheld

web page)- Run I/S End of Day Update- Run a print program with parameters to spool a file- Do literally hundreds of other automated tasks

Then you can launch the RCF Packet from a NetLink request toautomate the same functions you would otherwise perform from anormal SouthWare logon session.

Specifying that an RCF Packet should be run by a RequestIn the request record you may define an RCF Packet as the SecondaryProgram (NL-01-02, field 9, “Secondary Program”). You may enterthe syntax:

@RCF=xxxxxxxx

where xxxxxxxx is the name of the RCF Packet object to be launched. For example, if you entered “@RCF=XMGATHER” the request wouldbe configured to launch the “XMGATHER” object/RCF packet at thetiming you specify in the “Secondary Timing” field.

Page 244: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

244 SouthWare Excellence Series™

Note: Any RCF Packet you specify should be tested and configuredfor “invisible” mode (XX-09-14-01, field 4 = “Y”). Thenormal user interface for any program is not available to aweb browser. If the program does not run successfully ininvisible mode the browser will “hang” when you run fromNetLink.

Launching the RCF Packet from a NetLink pageWhen you call a NetLink request that has an RCF Packet as thesecondary program the NetLink program will launch the RCF Packet atthe “Secondary Timing” point specified in the request.

WorkFlow in RCF PacketsIf you run an RCF Packet from NetLink any WorkFlow FlowMods inthe packet will be executed. WorkFlow is not normally available inNetLink but the RCF packets that utilize WorkFlow will be able toexecute FlowMods.

Caution: FlowMods that are 'Accept' oriented will not work ininvisible RCF packets. The concept of invisible packetsis to avoid accepting data and instead update the value offields with predefined values. If you have FlowMods thatinclude steps such as ACRE, INS keystrokes, or a MESGutility, these steps will not work since they require anaccept statement to execute.

Variables in RCF PacketsSee “Option to Pre-define Variable Names as ReportMate ParameterValues for Increased Security” later in this section. When you run anRCF packet from NetLink the primary file for @DD variables is NL03instead of XX99 (e.g. you would not get the correct NetLink employeenumber unless the primary file is NL03 instead of XX99).

Check for Other Limitations

Make sure you test whether a process can be automated via aninvisible RCF Packet. There may be program/data situations thatmay not be automated due to special passing or environmentparameters.

Utilize a NetLink Variable as an Input Variable for Running an

RCF Packet

When you record an RCF Packet you may define that the value for anentry field should be supplied by a NetLink variable that is provided atruntime. This allows your NetLink web page interface to provide

Page 245: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix G

SouthWare Excellence Series™ 245

ranges, selection parameters, field values, or other data needed to

make the RCF Packet do exactly what you want it to do.

For example, let’s say you want to run an update post process with anRCF Packet from NetLink but you want to be able to specify thetransaction operator to post via the NetLink page that calls the packet:- Define the transaction operator as a NetLink variable in the page- When you record the RCF Packet specify that the value for the

“operator to post” field should come from the NetLink variable- When you launch the Packet from NetLink the Packet will get the

current value of the specified variable and use it in the “operator topost” field.

Option to Run an RCF Packet Via a Variable Name

You have the option to send a variable to NetLink that specifies anRCF Packet that NetLink should run. This is in addition to the featurethat allows you to specify an RCF Packet within a NetLink request. The purpose of this feature is to allow more flexibility in running RCFPackets from NetLink without requiring a separate Request Type foreach RCF Packet.

The reserved NetLink variable name is “@var_run_rcfpacket” and canbe passed as part of a Get string (hyperlink) or Post string (form). When you pass a value for this variable to NetLink, NetLink willattempt to run this RCF Packet before processing the Request Type. This means that the RCF Packet will run before any ReportMate ortemplate processing is done for the request.

The intended use of this feature is to allow you to use the same RequestType for multiple possible RCF Packets. For example, in a table youcould have links to several different RCF Packets. When the userclicks on any of the RCF Packet links the same Request Type would berun (possibly to refresh the list) but the specified RCF Packet will berun prior to the request processing.

Page 246: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix G SouthWare NetLink™

246 SouthWare Excellence Series™

Notes:

Page 247: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix H

SouthWare Excellence Series™ 247

Appendix H - Technical Specs, File Names, and Licensing Errors

Technical Specifications

Different Limitations for GET and POST Methods

CGI supports two HTTP methods for sending input to the serverfrom a page.

U The GET method sends data via the QUERY_STRINGenvironment variable. This string is limited to a maximum of255 characters including any special hexadecimal encoding. SouthWare NetLink uses this method in any hypertext links -the data sent in the QUERY_STRING variable is all the dataafter the question mark in the link. For example, in the link

“http://swntserver/scripts/nlnetupd.bat?request_id=MAIN”

the QUERY_STRING will contain the value

“request_id=MAIN”

U The POST method sends data via the standard input buffer. The POST method is used for all forms processing since theGET method only handles 255 characters while the POSTmethod has no limits (but NetLink only looks at up to 10,000bytes). The CGI program has to read the standard input bufferto receive the data.

Size of POST String

The maximum post string NetLink can accept is 10,000 bytes. Note that since any special characters are transmitted from thebrowser in hexadecimal format, these require three bytes percharacter (leading “%” and two-byte code).

The maximum number of variables that NetLink can accept in apost string is 200.

Size of Save Data Record for Importing

The maximum size of a record saved for importing is 4500characters. If you are not using a Save Data Format then eachfield in the Post string is saved and uses 50 bytes. The record type(“LBL” for the label record and “DAT” for the data record)occupies the first 4 bytes of each record.

Page 248: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix H SouthWare NetLink™

248 SouthWare Excellence Series™

Size of one HTML text line

The maximum size of a text line that NetLink can process is 5000bytes. There is no limit to the number of text lines. (Note that anHTML editor may output long text lines.)

Size of a Variable Name

A variable name may contain up to 100 characters.

Size of a Variable Value

A variable value may contain up to 100 characters.

Maximum Number of Variables in a ReportMate Line

A single ReportMate format line may contain up to 25 variables.

Maximum Number of Variables to Replace in an HTML text line

A single HTML text line may contain up to 20 variables to replace.

Maximum Number of Variables per Request

A request may use up to 200 variables.

Maximum Number of Sets of Line Items in an Incoming Form

There is a limit of 26 sets of line item information per singleincoming form - one per letter of the alphabet. (But note that the

NetLink Order Entry function does not have a limit since it does

not pass all line items in a single form.)

File Names

The following files are used by NetLink:

ALNLCFG.SEQ (in SouthWare run directory) Permanent optional file that contains parameters for NetLink. Theprimary use of this file is to specify the Company ID for a singlecompany configuration. See Appendix A for more info.

ALNLBLIC.SEQ (in SouthWare run directory)Permanent file of unsuccessful attempts to run a request due tolicensing errors. See the Licensing Errors below for more details.

ALNLBLOG.SEQ (in SouthWare run directory)Permanent file of unsuccessful attempts to validate the requestorfor a request. See NL-01-03 for more info on bad login attempts.

ALNLSESS.FIL (in SouthWare run directory)Permanent file of session records, one record per session.

Page 249: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix H

SouthWare Excellence Series™ 249

ALNLTERM.FIL (in SouthWare run directory)Permanent file used to assign a workstation number for theprocessing of a particular request. NetLink uses this to ensure thateach request is processed using a unique workstation number.

ALNLUFLD.FIL (in SouthWare run directory)Permanent file that stores the user fields for requestors and sessionnumbers.

NLCTL.FIL (in Company ID data subdirectory)Permanent sequential file of NetLink configuration info. SeeNL-01-01.

NLTYP.FIL (in Company ID data subdirectory)Permanent file of Request Types. See NL-01-02.

NLRMP.FIL (in Company ID data subdirectory)Permanent file of ReportMate parameters for ReportMateformats run via NetLink. See NL-01-04.

NLRQR.FIL (in Company ID data subdirectory)Permanent file of requestor ID records, one per validrequestor. See NL-01-03.

NLTAB.FIL (in Company ID data subdirectory)Permanent file of Table Formatting records to define theHTML syntax to create a Table from a ReportMate format. One record is automatically created during setup (see NL-01-05).

NLHIS.FIL (in Company ID data subdirectory)Permanent file of request history. Contains a record for eachrequest processing by NetLink (see NL-03-01).

NLIM.FIL (in Company ID data subdirectory)Permanent file of import request records (both those that havebeen done and those that have not been done). See NL-02-01.

nnnnnnnn.HTM (in Local HTML directory as defined in NL-01-01)Temporary file which is the resulting page for a request. Thisis the file that is returned to the requesting browser.

nnnnnnnn is the session number. (Note - this file is normallydeleted but will not be deleted if the request specifies not toRemove Temp files.)

Page 250: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix H SouthWare NetLink™

250 SouthWare Excellence Series™

(name).Znn (in SouthWare run directory)Temporary ReportMate Include file for a request where name

is the ReportMate format name and Znn is the workstationnumber assigned to the request that ran the ReportMateformat.

ZnnNLINC.HTM (in Local HTML directory as defined in NL-01-01)Temporary file used by NetLink when replacing variables inan Include file.

NLORH.FIL (in Company ID data subdirectory)Permanent file of header information for pending NetLinkSales Orders.

NLORL.FIL (in Company ID data subdirectory)Permanent file of line item information for pending NetLinkSales Orders.

(name).TXT (in Import directory)Optional Format file for Import Save Data. The name is thename referenced in the Request (NL-01-02, field 7, OptionalFormat file). This contains positioning information for theSave Data file.

nnnnnnnn.sss (in Import directory)Import Save Data file with saved data from a request. nnnnnnnn is the session number and sss is a sequence numberthat matches the history record for the request.

NLIMDONE.TXT (in Import directory)Permanent text file containing the saved data from eachrequest that has been imported. The content of the

nnnnnn.sss file described above is appended to the end ofthis file for each import.

Licensing Errors

Here are some licensing errors a user may receive when trying to runNetLink requests. Whenever a user is given one of these errors theerror is logged in the ALNLBLIC.SEQ file in the SouthWare rundirectory on the NetLink server:

Page 251: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Appendix H

SouthWare Excellence Series™ 251

SouthWare NetLink(tm) Server Error LIC01 - contact system

administrator.

This results from having invalid license control info. Makesure NetLink is properly licensed on the server. Then log in toSouthWare on the NetLink server and run NLCTLMNT/I toreset the license control info.

SouthWare NetLink(tm) Server Error LIC02 - contact system

administrator.

This results from not having license control info initialized orrefreshed. Log in to SouthWare on the NetLink server toinitialize this info. You must log in at least once every 30days on the NetLink server to refresh this data.

SouthWare NetLink(tm) Server Error LIC03 - use your Back

button to refresh and then try again.

This results when the NetLink server is already processing themaximum number of licensed users and cannot process therequest. The user may try again, but if this occurs often youshould increase the number of users allowed on the license. You should check your ALNLBLIC.SEQ file frequently tomonitor the number of times your users are having thisproblem.

Page 252: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Appendix H SouthWare NetLink™

252 SouthWare Excellence Series™

NOTES:.

Page 253: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Index

SouthWare Excellence Series™ 253

IndexAcuconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23, 142Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20, 132

Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138, 143

E-MailButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25System Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

ErrorCustomizing Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

Extract ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47, 69, 85, 106Files

List of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248Removing Temporary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173, 174GET Method . . . . . . . . . . . . . . . . . . . . . . . . . . 145, 148, 202, 221, 247Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168History

of Imports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114Purging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24HTML

defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163for Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Hyper-Text Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201via ReportMate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

ICVerify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

NLSTKBOX Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Variable Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Batch Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110, 111Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Sales Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Service Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Submitting Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174To Do record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Include FileVariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169, 170via ReportMate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39, 194

IP Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Page 254: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

Index SouthWare NetLink™

254 SouthWare Excellence Series™

Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Key Word Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250Live Data Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25, 131Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Logging Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Monitoring Invalid Attempts . . . . . . . . . . . . . . . . . . . . . . . . 56

Logoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Adding to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Options List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Multi-company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20, 146NetLink Group

Format Report as Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77NetVerify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235Next/Previous Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206NLNETUPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134, 221

FAIL option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223URL defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Order Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227Paged Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205Passing Data Between Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168POST Method . . . . . . . . . . . . . . . . . . . . . . 41, 145, 147, 173, 221, 247Pre-Formatted Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61, 203, 208

via ReportMate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194Programmer Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221ReportMate

accessing via NetLink . . . . . . . . . . . . . . . . . . . . . . . . 160, 193Formatting Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Paged Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58, 195Per Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Request Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Requestor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Access Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Related Customer/Vendor/Employee . . . . . . . . . . . . . . . . . . 52User Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Requestor Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38, 51Sales Orders

Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Process Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Page 255: SouthWare - Aris Solutionsfolks today, and using this approach helps minimize training and ensure efficiency. In previous revisions SouthWare introduced the concept of Personas as

SouthWare NetLink™ Index

SouthWare Excellence Series™ 255

Purging Obsolete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Save Form Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41, 213, 214

Auto Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Optional Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42, 215

Secondary ProgramTiming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47, 221Using in a Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

SecurityAccess Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Logging Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Monitoring Invalid Attempts . . . . . . . . . . . . . . . . . . . . . . . . 56per Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190Validate Session Option . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Logging Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149User Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Validate Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190, 228Table

Formatting Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83via ReportMate . . . . . . . . . . . . . . . . . . . . . . . 68, 83, 194, 197

Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163Basic Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Per Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Replacing Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Submitting Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21URL

for NLNETUPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26, 145Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24to access NetLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

VariablesInclude File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169, 170Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247Replacing Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Reserved Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Sales Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230User-Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195, 196via ReportMate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194