|This page outlines
selected NetLink changes in Revision 10 of the SouthWare Excellence Series
and provides examples and resources for using Rev 10 features. There
are other Rev 10 features but these are ones that are particulary
useful for NetLink developers who create their own pages.
You can cut and paste the sample HTML from the text field in the gray box at the bottom of a concept to help with your own applications. (The text field is used because if you cut from the text on a browser page and paste into an HTML document the HTML code may not be in the proper syntax.)
|Using RCF Packets
You may now launch a SouthWare RCF Packet from a NetLink request!This lets you use a web page and browser to execute virtually any process that you can automate with an RCF Packet.
This has ENORMOUS potential power for your NetLink users:
For example, you can create an RCF Packet that runs in invisible mode to:
Then you can launch the RCF Packet from a NetLink request to automate the same functions you would otherwise perform from a normal SouthWare logon session.
Specifying that an RCF Packet should be run by a Request
In the request record you may now define an RCF Packet as the Secondary Program (NL-01-02, field 9, "Secondary Program"). You may enter the syntax:
where xxxxxxxx is the name of the RCF Packet object to be launched. For example, if you entered "@RCF=XMGATHER" the request would be configured to launch the "XMGATHER" object/RCF packet at the timing you specify in the "Secondary Timing" field.
Launching the RCF Packet from a NetLink page
When you call a NetLink request that has an RCF Packet as the secondary program the NetLink program will launch the RCF Packet at the "Secondary Timing" point specified in the request.
WorkFlow in RCF Packets
If you run an RCF Packet from NetLink any WorkFlow FlowMods in the packet will be executed. WorkFlow is not normally available in NetLink but the RCF packets that utilize WorkFlow will be able to execute FlowMods.
Check for Limitations
|Option to Switch User Login Within Same
A common scenario on a web site that sells items is to allow a customer to browse your catalog and select items for ordering without first logging in. Then when the order is ready to submit you allow the user to log in with their customer ID and password and switch the order information to their customer account.
A new feature in NetLink supports this capability. You may now switch a session from an "O" type requestor (Other) to a C, V, or I type requestor while retaining the other session information. This supports the order entry scenario above as well as other possible browse-then-login scenarios.
To support this feature there are three new reserved NetLink variables:
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 "new_" 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:
Related Change to Standard NetLink Samples
This feature has been implemented in the standard sample page of "OPOSHDR" (the blank order header form displayed for an Other type requestor who decides to submit an order). This page now includes a login form for "Existing Customer" that uses these new variables. If the user submits a valid customer ID and authorization code from that form then NetLink will change the session to that requestor and customer. NetLink will then call "CORDHDR" so that the customerís default information will be shown in the order header.
Here is the HTML syntax for the related form:
|Extended Data option for NetLink Order
Header and Line Item Files
You may now use Extended Data fields to store additional information about pending NetLink orders. This is in addition to the user fields previously available for the NetLink order header and order line item.
These XD types let you temporarily store custom information about a pending NetLink order/line item before you submit the order. After you submit an order any needed data should be imported into the standard order header and line item fields and related Extended Data.
Two new reserved Transaction Extended Data types are available:
You may define fields for these XD types in the Extended Data control record (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
You may define that a field in a web page form is to be stored as an Extended Data field via the name you give to the form field. The naming convention is:
where "tt" is the last two digits of the record type and "nnnn" is the Data Dictionary field number. For example, field 6 in the Data Dictionary for order header Extended Data would be "XT230006".
How NetLink saves NetLink order Extended Data fields
When the NetLink order entry routine is saving order header information (NLORDENT/H) it also looks for order header Extended Data fields ("XTttnnnn" for fields in XD 123 or related types). When saving order line item information (NLORDENT/L) it also looks for order line item Extended Data fields ("XTttnnnn" for fields in XD 124 or related types). When it encounters an applicable NetLink order Extended Data field it automatically stores it in Extended Data.
Displaying a NetLink order XD field in a page
These fields are accessible via ReportMate just like the standard NetLink order header and line item fields. You may output them in a report or as a variable value just like any other fields.
Importing NetLink order XD fields into standard SouthWare orders
When you submit a NetLink order the order data is written to a text file and then the standard SouthWare order is created via importing the text file data. The standard format of the text file is outlined in Appendix G of the NetLink manual.
If you have defined Extended Data fields for a NetLink order header or line item then the special NetLink order entry program outputs them into the text file data as well (NLORDENT/I):
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 feature
NetLink supports the ability to enter/edit quantities for multiple line items on a single page (see "Ability to Add/Edit Multiple Order Line Item Quantities on Same Page" in Appendix G of the NetLink manual). You may use this feature in conjunction with line item Extended Data:
Special Limitations of these XD types
Because these Extended Data types are specially designed for use with NetLink pages they have related limitations:
|Ability to Copy a NetLink Order
You now have the option to create a new NetLink order by copying an existing NetLink order. This was requested so that you may allow a customer to copy a previous saved order into a new order.
This feature is implemented via a new reserved NetLink variable:
where "nnnnnnnn" is the number of a saved NetLink order. When NetLink encounters this variable it does the following:
Submitting a number via a form
The sample page includes a form that submits an existing order number to be copied. It calls the CORDER request to show the new pending order:
And here is the HTML syntax for a form that you could insert in a page:
Submitting a number via a link
From a list of pending orders or from the CORDER page you could also add a link to copy the order. You would simply use the existing order as the value for "nl_copy_order_no" and call CORDER. The syntax is below:
Marketing Catalog Option for Item Selection Pages
A new sample NetLink request uses the Inventory/Sales Marketing Catalog as a method of reviewing/selecting items to order in NetLink. If you use the marketing catalog you can replace the product category selection (QCCATSEL) with your own version of this sample. The sample request type is CMKTSEL and uses the following elements:
To call the catalog for the first level of records you must use a string such as the sample below:
The sample page includes a sample link for the Marketing Catalog.
|Item Group Matrix Grid
A new set of sample NetLink pages uses the Item Group Matrix module to show items available within a group. You may optionally use this to display a matrix group entry grid for entering items on a sales order. Here are the related requests:
Here is the syntax to call the Find function to enter a starting group value:
The sample page includes a sample link for the matrix find function.
|Option to Continue Table Cell on Next Line
of RM Format
You now have the ability to use multiple ReportMate format lines to provide the contents of a single cell within an HTML table.
With this feature you may place a continuation indicator at the end of a format 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 that the 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 an underscore in column 264 of a line to disable the automatic start of a new cell on the next line.
Standard ReportMate samples that use this feature include NLMKTLST and NLMATENT.
|Option to Control Records Per Table
With this feature you may specify how many records to include in a table row created via ReportMate. This allows you to:
LPlace multiple records in a single row for a multi-column presentation of data such as names or categories.
LDisable any automatic table rows so that you can conditionally insert table row tags into your ReportMate format.
This feature is implemented in the NetLink Data Table Format record (NL-01-05). In field 11 Advanced Features you now have the following option:
# of Records Per Row:
|Option to Pre-define Variable Names as
ReportMate Parameter Values for Increased Security
You may now use Data Dictionary variables as the values of NetLink ReportMate parameters (NL-01-04). If the value needed for a ReportMate parameter is available as a variable from the NetLink session file (NL03) you can "hard code" the parameter to the variable. This eliminates the need to pass certain values in the post/get strings for NetLink requests. By removing certain variables from the post/get string you donít "expose" the variable to users.
This is particularly helpful for internal user requests since it helps prevent web-savvy internal users from trying to manipulate post/get strings in an attempt to access internal data. It is less useful for customers and other requestors since NetLink already prevents a customer from changing the customer variable.
In any NetLink ReportMate parameter field you may enter a variable as
where XXXX is the Data Dictionary file and 9999 is the field number of a field available from the NL03 pathing. For example, on a request where you are displaying info for a salesperson you could use the variable <@DD=PR010139> to reference the salesperson number in the employee record for the current internal operator. This would eliminate the salesperson value from the post/get string.