Evantage Blog
Starting at 2011R1, a new right-click action is available at MSTDAT/FST, MSTDAT/MST, SVCDAT/MST, and the Master Orders tab at MSTDAT/CTG. The action allows you to move one or more orders from any closed control group, or any control group you have open, to any other closed control group, or to any other control group that you have open.
One effect of this change is that if you are closed out of Advantage while at MSTDAT/FST, you no longer need to go to MSTDAT/CTG to close and reopen your control group. Instead, go to MSTDAT/FST and press the Current Control Group button, where the list will contain the control group you were just in. Select this control group and click the Open button, and you will be presented with the option of reopening the control group.
When ARP310 runs, it updates the last billing date (ARPPDH.LST-BIL) and effort# (ARPDH.LST-INVS) of the invoice being billed. The ARP310 select sets can then be based on the current effort number of the customer's invoice and when it was last billed. However, there are times when the ARPPDH.LST-BIL is not set during a billing run, even though the effort number may be incremented.
When the ARP310 select set is set up, you have the option of incrementing the effort number and sending a notice to the customer.
When you increment the effort number, after the billing run, the ARPPDH.LST-INVS field will reflect this. For an invoice that has never been billed, the effort number would change from blank to 1. For an invoice that has been sent effort # 1, ARP310 would increment the 1 to a 2. And so on.
When you set the Send Notice flag, ARPBHD and ARPBDT records are created, which are then used in your custom billing process that generates the actual invoice that you send to the customer. You can also bill suspend or non-pay cancel the subscription associated with the debit via the Bill Suspend? and Non-pay Cancel flags. If you do not either send notice to the customer, bill suspend, or non-pay cancel, the ARPPDH.LST-BIL is not set.
If a certain number of days must pass before you want to bill the customer again, an ELAPSED statement is used in your billing select. For instance, if you wish to pull those invoices that are on effort 1 and for which 30 days have passed since they were last billed, then your select would look something like this:
However, if when you billed the invoice for effort 1 Increment Effort was checked but the Send Notice flag was not Y, then the invoice would be on effort 1 with a blank billing date. Since the ELAPSED function cannot process blank dates, the ARP310 would error when it got to Set 20 0/0/00 in the above select.
To get around this, you will either always want to either set the Send Notice flag to Y or check for blank dates before doing your ELAPSED function:
Advantage batch processes that use select criteria produce statistics that reflect the number of database records that were a) evaluated and b) selected (or deselected) at each level of the select logic.
The location of the directory that contains the statistics is environmentally defined by SELECTSTATLOC=<directory>. Statistics reports are written to that directory if the environment variable is defined and the directory exists. The default location is a subdirectory of the ProcLogs directory called Select_Stats. This may be changed by the user.
The process log file contains a message similar to "Selection analysis statistics in <pathname>", so that you may move from a particular log file to its statistics. Similarly, the actual statistics file identifies the select name that generated it to help tie stats and processes together.
The level of breakdown is according to the structure of the boolean expression, independent of how it is typed in on the select screen. For example, if a single select screen line at the screen reads:
AND CTM.CTM-TYP = 'INDIV' AND CTM.PROMO = 'Y'
the output would break this out as two separate lines in the statistics analysis.
AND CTM.CTM-TYP = 'INDIV'
AND CTM.PROMO = 'Y'
The indentation used in the analysis reflects the level of detail, with appropriate roll-ups. For example, the reader can see that a set detail selected 'n' of 'nn' records, but he/she can then examine the indented lines to determine which parts of the complex condition for the set excluded how many customers.
Note that enabling this feature can result in a difference in I/O overhead. In most cases, this difference is negligible; for major processes, the difference should be small, but you may wish to monitor the impact on processing time.
See below for an example of this output:
Analysis of select set 'PRO305' in process 'PRO305'
|
Selected |
Evaluated |
Deselected |
Set? |
Criteria |
|
16 |
225 |
209 |
001 |
Select |
|
225 |
225 |
0 |
ORD.ORD-STA = 'C' |
|
|
224 |
225 |
1 |
And ORD.ORD-TYPE IN ('I','G') |
|
|
16 |
224 |
208 |
And ORD.CHG-CARD <> ' ' |
|
|
16 |
16 |
0 |
And VALDSC(ORD.CHG-CARD,'PAY-TYPE') = 'CC' |
Typically, Advantage product returns are entered at MSTDAT/FST, using an order type of "C". There are numerous methods of entering the return, including specifying the invoice number only, specifying the item number only, etc. The steps for entering the return in these different scenarios vary slightly. As of 2009R1, users can enter applied returns at SVCDAT/PRO (or MSTDAT/PRO).
Locating the order at SVCDAT/PRO
Users locate the order at SVCDAT/PRO using normal search methods:
- Bill-to Customer
- Order Number
- Control Group
- Status (although only posted orders can have returns entered against them)
- PO Number
- Ship-to Customer
- Docket Number
Return Steps
Once the order is located, the user chooses the "Applied Return" action (also available as a right-click action). This button will only be enabled if the user has an open control group and a return can be entered against the order. The user will be presented with the following dialog box:
They will be prompted to enter a credit reason code, which will be used on all returned lines. The user can create Return Authorization orders, which will hold the return until the stock is actually returned. The user can also choose to do a "Quick Return All" which creates a return line for all lines on the original order. The "Refund Order" box indicates whether the return credit will be refunded back to the customer (as long as the original order was paid).
Returning Line by Line
If the user opts not to do a "Quick Return All," they will be presented with a dialog box where they can mark which lines were returned.
The user can also enter a partial credit on the returned line so that full credit is not given or freight is not refunded.
Once the return is created, the user will receive a dialog box telling them the Voucher Number that was created.
You may wish to include promotional/informational material with certain of your inventory items. For example, if someone buys a book on starting a business, you may wish to insert your catalog on small business products. You may even wish or need to tie the shipment of the main inventory item to the availability and inclusion of the insertion--and have the main item go on backorder if the insertion is out of stock. The Order Inserts feature allows you to accomplish all of this. Inclusion of the order inserts, which are created as separate Advantage inventory items, is based on rules that you maintain.
System Option
This feature is activated by a system option, INSRTSEL. This PRO-level option specifies the default (active) insert select set currently in use. If this is blank, it is assumed that no order insert handling is in use. Only one Insert Select Set can be used at a time.
You can also specify the insert select to use for certain individual processes that can send out Order Inserts, at process request time. The processes below include run-time options for Order Inserts selects. If the run-time option is blank, the select identified in the INSRTSEL system option is used; if that is also blank, the Order Insert feature is not activated.
Processes that allow entry of an Order Insert select at run-time:
MST390 MST391 BCL360
Insert Assignment Rules
Each order-line is evaluated against your Insert Assignment Rules that are set up at the PROSEL workspace, as shown below:
This workspace allows you to set up an assignment structure that can have up to four levels with selection criteria at each level. This workspace allows you to set up sophisticated assignment rules in the same way as other Advantage selects (e.g., the A/R billing selection and CIR renewal selection).
You can create assignment rules so that the inserts ship, for example, whenever the customer orders any product from a particular product class. Or, alternatively, you can look at the customer's buying history and base assignment of the insertion on that.
At the lowest level, you indicate the Insert Set to use, as shown below.
In this example the CATALOG insert set is going to be used. The order with order-lines falling into this lowest level would not be held if the insert item(s) is out of stock. Nor would the insert item(s) be duplicated if they had already been assigned to an earlier order-line.
If an insert assignment set is set up to hold order lines and one or more insert items is unavailable, the order line is put on backorder and all other inserts for that order line are also put on backorder. The PRO360 – Backorder Fill process tracks and fills these backorders (main item + insert) when the insert becomes available. If rush-ship is requested for an item whose insert is out-of-stock (and the lowest level logic indicates that the order-line is to be held), a message is displayed stating that rush-ship for the item is not available.
If an order qualifies for two different insert assignment sets, each of which contain the same insert item, and one set allows duplicate items but the other one does not, the results will depend on the order in which the sets are processed. If the set that allows duplicates is processed first, then the item is added once to the order. If the set that does not allow duplicates is processed first, then the insert item is added twice.
Order Evaluation and Inventory Update
As orders are added at MSTDAT/OLN and MSTDAT/FST, the view routines query the order insert select logic to determine if order-lines for inserts need to be added to the order. If so, these order-lines are automatically added by the system.
Inserts are always added with a quantity of 1, regardless of the quantity ordered for the main item.
The following order types do qualify for order inserts:
Invoiceable Gratis Preview
The following order types do not qualify for order inserts:
Warehouse transfer Miscellaneous Proforma Credit (return) Invoiceable order with postship = Y
These insert records may be viewed by Customer Service at the SVCDAT/OLN view…as they are included as separate lines directly on the order.
Insert items are marked with price source of 'INS', which can be seen at the MSTDAT/PRO and SVCDAT/OLN views during an Inquire function.
There may be times when you have an item that cannot be purchased separately, but must be included with another item, for instance personalization services, shrink-wrapping, or logos. Advantage uses the related items feature to handle cases like this, and prohibits the entry of a related item. It must be added with another item.
Set-up of related item
Related items are set up at INVDAT like any other item. However, the related item check box must be checked. You must also set up a warehouse record for the item. Depending on the nature of the related item, it can either be stocked in inventory or set up as a non-stocked item.
Adding Related Item to Order
After adding the primary item to the order, you can right-click in the line section at MSTFST to add the related item.
Selecting Add Related Order Line… will bring up a dialog box to enter the related item and optionally override the descriptions. Using the drop-down on the Related Item Number field will show only items at INVDAT that have the related item box checked.
The related item will be related to the order line that was entered before it. If you later delete that line from the order, it will automatically delete the related order line.
With the 2008R1 release (and later), you can set up an item to be valid for only those promotions under which it has been specifically defined as a promotion item at CPNPMO/ITM.
When this setting is used, the item cannot be added under a different promotion, even when the promotion is set up to allow additional items. This would allow you, for example, to protect an item from being sold under the wrong promotion---one intended for another owning organization, for example.
Defining the item at INVDAT
Order Entry The order entry edit that prohibits addition of promotion-exclusive items to "non-participating" promotions is in place at the following places:
- Order entry views (e.g., MSTDAT/FST, /CIR)
- Uploads (e.g., CIR125, PRO301)
- Web orders
If you try to add a "promotion exclusive" item to an order under a promotion that it is not defined on, you will receive a message alerting you that the item is exclusive to specific promotion codes, and cannot be ordered under that promotion.
In Advantage, a non-pay cancel transaction causes the customer to lose any premium set they would have received on a paid order. As of 2009R1, however, there is an option to restore a premium set if the customer later reinstates.
If the subscription is later reinstated, you have the option of allowing the customer to receive the premium set--you simply set the CIR option PRMSTREI ("Restore Premium Set on REI?") to Y to enable this handling; the default setting is N.
When the option is set to Y, and a subscription with a pending premium set is non-pay cancelled, MST391 places the premium set into a special status ("H" Held). These sets are retained in the MSTPRM-M table, in case the non-pay cancelled sub is later reinstated.
If you have set the PRMSTREI option to Y, and the sub is reinstated, Advantage will remove the hold on the premium set and process it normally through the system (this occurs automatically and silently---there is no message at the time of the REI). From a premium set point of view, it is as if the subscription had never been cancelled.
Please note these points about the feature:
- If the composition of the premium set has been changed between the time of cancellation and the time of reinstatement---for example, if items were added to or deleted from a sequence, or if whole sequences were added or deleted---the restored set does not reflect these changes. The customer receives the same premium items as he/she would have had the sub not been cancelled.
- Use of this feature could inflate the number of records in your MSTPRM-M table. You can use the MST840 process to selectively purge these records.
Smart Searches allow users to restrict the display of table entries to those of most interest to the user. Using the "Search For" field, you can enter a search string that would limit the display to only those entries that satisfy the string.
Using the "Search For" field
There are different ways you can enter your search string, which will then result in different entries appearing:
- Entry of a string returns matches on the exact string (e.g., ZA will return all matches on that string).
- Entry of strings separated by spaces returns matches that satisfy all strings (e.g., Z(space) A will return all matches that contain both a Z and an A).
- Use of double quotes will perform an exact (literal) search on the string (e.g., "Z(space)A" will return all matches that contain that exact string---a Z and an A separated by a space).
Using Multiple Criteria in a Smart Search
Some Smart Searches allow you to filter on multiple types of criteria. For example, the Smart Search at MSTDAT/CTG allows you to search on Control Group Date, Control Group ID, Description, and Owner. However, what if you wanted to search by Control Group Date and Control Group ID? Instead of using the Green filter button, you can enter both "search for's" in the field.
In the screenshot above, in order to bring up the 3/23/09 ZUPL00 control group and not the 3/23/09 MMATH control group, you could type 3/23/09 ZUPL00 in the Search for field and it would limit the search where 3/23/09 is in any of the fields and ZUPL00 is in any of the fields. Keep in mind that what you enter in the field can be in any of the available columns.
Select Detail Searches
The Select Set Maintenance dialog at Advantage select views includes search capabilities to allow you to quickly access a particular level within the select; this may be of use if you are performing maintenance on a very large select, and you know the exact level you need to access.
You can enter the level number(s) you are searching for, separated by spaces (that is, you need not supply the periods between numbers). A search on "10 20" and "10.20" would yield the same results.
The search returns all levels that include the criteria, regardless of their order within the select levels. A search on "10 30" would return all levels that include those numbers---both those where 10 occurs first (e.g., 001.10.30) and those where 30 occurs first (e.g., 001.30.10).
Although Advantage assigns leading zeroes where necessary in level numbers, these need not be entered as part of the search criteria. To find level 010, you need only enter "10".
The discount is applied only to the "eligible" lines on the order (such discounts are spread proportionally across the eligible lines). In addition, you can set up a particular coupon to allow/disallow repeated uses by the same bill-to customer and access usage statistics for individual customers, as well as the general stats for a coupon "program"---number of uses, sales with and without the coupon discount, etc.
CPNTBL/COU – Coupon Setup
You set up coupons at the CPNTBL/COU view. Coupons can be attached to a promotion, or be valid for a group of promotions, items, owning organizations, etc.
Entering Coupons with the Order
Coupons can be applied to any line items that may be entered on a Master Order at MSTDAT/FST. This includes:
- CIR
- PRO
- CEM
- AMB
- MBR
Coupon discounting is supported at the FST entry view (as well as other entry points that support order scripting---for example, the Next Release tab at SVCDAT/BCL).
At MSTDAT/FST, a "Coupon" button is available for inclusion with the order entry script. This allows the rep to enter the coupon at any point of the order (once the order details phase is started, and up until the point that the payment dialog is displayed).
Multiple coupons may be used per order---however, the end result of the order is that only one coupon may be applied per line. In some cases, two or more coupons may be applicable to the same line, in which case the user must inform Advantage which coupon to honor for that line (see "Resolving Coupon Conflicts" below).
The following terminology and distinctions may be useful in understanding this:
- A coupon is assigned to an order (i.e. entered by the rep). This means is the coupon is available to its order lines, but does not necessarily mean that the coupon will actually be used by any of the order lines.
- A coupon is applicable to an order line if it meets the inclusion and exclusion rules for that coupon.
- A coupon is applied to one or more order lines, as long as it is applicable to that line, and the system has not previously applied another coupon to the line.
- A coupon qualifies for a discount if the sum of the order lines to which that coupon is applied meets the criteria (minimum order quantity, minimum order amount) that has been defined for the coupon.
How Coupon Discounts Work
Coupon discounts work just like other discounts. A monetary or % amount is subtracted from the list price of the item(s) in question when a coupon is used on a sale. Coupon discounts are placed into their own discount "bucket" allowing combination codes to rule whether, say, a promotion discount and a coupon discount are added together or compounded together, or whether the highest discount takes precedence.
Coupon discounts will be applied prior to any calculation of tax. That is, tax is calculated based on the discounted amount.
What if the total discount of the coupon is more than the total of the qualifying lines? For example, suppose you offer a $20 off discount, yet qualifying lines 1, 3, and 5 add up to only $18.50. In these cases, the customer loses the remainder of the coupon (or in other words, only $18.50 worth of discounting is applied to the order). In these situations, a message is displayed to the rep during online order entry.
NOTE: For more information on using coupons, see Online Help or request a webinar training session with Doug Moore (dmoor@advantagecs.com).
Advantage allows you to transfer credits from one customer to another. This allows you to apply payments from one customer to invoices of another customer.
Open Control Group to Hold Transfers
Create a credit control group at ARPCGP that will hold the transfers along with the new applications.
Delete Any Unposted Applications
Make sure your vouchers do not have any unposted applications on them. If they do, either post them first or delete them using the DAP function at ARPCSH.
Move Voucher to New Control Group
At ARPCSH, move your voucher from the system generated CTG for unapplied credits to your newly created control group.
- Search for the voucher in your system generated CTG for unapplied credits
- Use the MUC function to move the voucher to your new CTG
Search for Credit in New CTG
At ARPCSH, search for the credit using the S function on your newly created CTG
Transfer Credit to new CTM
- Use the AP function and enter the new CTG and your voucher #
- Zero out any automatic application that was made
- Click the XFER button
- Toggle to "OUT"
- Enter new CTM# in TO: field
- Enter amount you are transferring
- Click ADD
- Escape to function box.
New Voucher# for XFER
A new voucher number is created for the transferred credit. Search your new CTG for the voucher and use the AP function to apply it to invoice(s) as normal.
Edit and release your new CTG at ARPCGP or using ARP132/ARP136.

Advantage allows you to have a PRO item that is actually a service item (or a non-inventory item). This allows you to add the item on PRO orders, but you do not need to keep warehouse quantities for the item.
Setup at INVDAT
Create your inventory item as you would any other PRO item.
Setup at INVDAT/WHS
You will need to add an item/warehouse record, even though you will not be keeping stock of the non-inventory or service item in your warehouse. To add the item, use the AN function, which will create the item with a quantity of 99999999 in the warehouse but the bin quantity will remain 0. You do not want to use the ‘A' function to add the item, and then receive or adjust the quantity to 9,999,999 since that will create a bin quantity of 9,999,999, and that will cause problems later.
Assumptions on Non-Inventory Items
- You cannot enter adjustment on service items.
- You cannot enter a receipt on service items.
- You can delete a warehouse record item when the quantity is 99999999.
- You cannot commit inventory on service items.
- You cannot backorder a service item.
- Returning a service item does not increase the quantity in the warehouse.
- You cannot enter a transfer on a service item.
- You cannot do a physical inventory on service items.
- A package header must be defined as a non-inventory item.
Advantage allows you to reverse a check or credit card payment after it has been posted to a customer's account. The instances when you may want to use this feature are to back out a bad check or to correct a payment that was entered against the wrong customer.
ARPCGP Entry Defaults
The ARPCGP workspace contains the following control group defaults to support entry of credit reversals.
- Account Shortcut Code: if you enter a miscellaneous debit code here (set up at ARPTBL/GLD) this value will default into the miscellaneous debit dialog, if you enter a returned check fee.
- Credit Reason: if entered, this value defaults into the Credit Reason field for RC transactions at ARPCSH. Note that other ARPCSH transactions can include a credit reason code; this control group default is used for the RC function only. This can be used for automatic generation of a customer note when the RC function is performed.
- Bad Check: this can be used to default the Bad Check indicator to Y for the RC function. It could be used, for example, if you are entering an entire batch of bad checks. It is also used if you are trying to reverse a CC payment on a customer's account.
- Prompt for bank fee: checking this box causes the debit entry dialog to automatically display during the RC function. It could be used, for example, if your organization routinely charges a fee for returned checks.
Setup of Credit Reason (Customer Service Reason) for Automatic Note
Set up Credit Reasons that will generate a customer service note (and optional letter) at the SVCTBL/RSN view.
Note that the Advantage field for customer service reason codes is CNTC-RSN, while the Credit Reason field is CRD-RSN, with valid values set up at CDSVLU. To auto-generate a note through the RC function at ARPCSH, you must set up the customer service reason code record, and also a credit reason code record at CDSVLU, where the customer service reason code and the credit reason code are identical.
Note the following points for setting up customer service/credit reasons:
- The Reason Category must be blank.
- The Area must be ARP.
- The Text for Note may be filled in (or left blank). If filled in, this defaults as the text for the note, with any entry in the Comments field at ARPCSH (during the RC function) prefixed to this.
- Respond With may be used to link to an action code, to generate a customer service letter.
The note is automatically generated when the transaction is entered. If the transaction is deleted before posting, the note is deleted as well.
RC Function at ARPCSH
At the ARPCSH workspace, use the SPC - Search Posted Checks function and provide the customer number. ARP will display all of the payments that have been posted for the customer.
Enter RC (Reverse Credit/Bad Check) in the function field click on the payment you want to reverse, and press <ENTER>. ARP will ask for more information.
- Entry Date: The current date will default into this field. Press <TAB>.
- Bad Check?: This is a required field. Enter Y or N. Bad check information is recorded on the customer's credit record - displayed at the ARPCRD workspace.
- Comment: This is an area where you can record information that may be helpful if this reversal is investigated in the future. It is optional. Press <TAB>.
- Suspense Acct & Cash Ctl: These fields will be filled with the value from the control group. You can change them if you wish.
- Credit Reason: You can associate a reason code with the reversal. Valid codes are established at the CDSVLU workspace under keyword CRD-RSN. This is an optional field. Press <ENTER>.
If you are reversing a credit card payment, the system will ask you whether this reversal should credit the customer's charge card. A "Yes" answer will credit the customer's card. Also, make sure Bad Check is set to Y.
When the transaction is posted, the check will be shown as a "B" type of transaction at the ARP view of SVCDAT. The original check amount is displayed under the Amount column and the Remaining column will show zero.
Returned Check Fee
If you want to charge a customer a fee when a payment is reversed, you can do this at the time of the RC function. One method is to press the DBT button to enter the details for the debit memo as shown below. Another is to indicate "Prompt for bank fee" on the ARPCGP control group---which causes the system to automatically prompt for the fee payment.
Either method opens a dialog with the miscellaneous debit code defaulted in---if you have set up a default at ARPCGP.
The debit is created when the transaction is entered. If the transaction is deleted before posting, the debit is deleted as well.
When posted, this will create a debit memo (invoice) on the customer's account for the amount shown. That invoice can be picked up by your billing selections to send a notification to the customer.