Thursday, July 11, 2013

Sage 100 Scripting Capabilities



Sage 100 Scripting Capabilities
Below are just some of the examples of what scripting can do in Sage 100 (formerly MAS 90 and 200). If I can be of any assistance with your scripting need, contact me (707) 425-9923.

Open Related Documents
A button can be placed on a screen (Item Maintenance, Customer Master, Vendor Master, etc) to recall a related document stored on the server.  There are two options with naming and storing the related documents.  The first is that the documents can be stored with their names matching the file (Item Number = ABC, Document Name: ABC.pdf).  The second is that an additional text field can be added next to the button that can store a file name.

Delete Pricing (Customer or Item Pricing Records)
This script was designed to make changing pricing quicker.
For example you have a customer that has special pricing on 1000 items and you want it to stop.  The script can run through and delete all pricing records associated with that customer at once.
The script can be used in combination with visual integrator to make quick modifications to inventory pricing.

Calculate Qty Ordered (Sales Order and Invoice Detail)
This script is designed to calculate the Sales Order Detail field “Quantity Ordered" from a combination of stored user defined fields. "PERBOX", and "BOXES"  The Quantity Per box is stored at the item level, but can also be changed at the line level.  A box quantity is entered into the BOXES field, the field is then multiplied by the quantity per box stored.  The value is then pushed into the Quantity Ordered field. (the one that is actually used in Sage.
This similar process can be used to calculate unit price and many other scenarios depending upon the clients needs in data entry.

Calculate Discount to display on Line entry and Form Printing
This script designed to calculate the discount based off of the difference between the line Unit Price and the items Standard Price or Retail Price.  This value is then stored in a discount field.  This discount filed can also be updated to in turn change the Unit Price field.
Ex. Unit Price = 80, Retail Price = 100, Discount = 20%
The Retail Price can’t be changed but the other two can and will consequentially update the other.
This information can then be used on the Sales Order or Invoice forms is desired.

Change Standard Cost Value in Item Maintenance.
This script uses a user defined field to populate a NEW Standard Cost record in Standard Cost Adjustment Entry utility in Inventory.  A blank field is put on the screen with a button that when pressed grabs the value in the field and creates a new entry in Adjustment Entry.  This is nice because typically entries can’t be entered unless all entries are updated.  This script allows for entries to be made that will be sitting out there ready to be updated when possible.
Note: The Adjustment Entry will have to be updated for cost changes to take place.

Coupon Codes in Order Entry
This script looks at a user defined field "Coupon Code" on the Sales Order Totals tab and when the coupon is applied to the order, it pulls coupon information stored in the maintained user defined table “Coupon_Codes” and calculates the coupon amounts per line.
It can work for all different types of coupons;
·         All Customers, All items
·         Specific customers, All items
·         Specific customers, Specific items
·         All customers, Specific items
·         Percentage based or Amount based
·          
Track Rental Contracts in Sales Order
Repeating orders are set up as contracts in the sales order module.
User defined fields on the lines of the contract reference the serial number of the item being rented. Rented Serial items are automatically transferred from the stock warehouse to the rental warehouse by creating Inventory Transfers (though another script)  Once the contract has expired, the item can then be returned to the stock warehouse, or even to a holding warehouse for repairs and processing. This is done again with an automatic inventory transfer.
Reports can be ran for rental profits by item and by serial number.

Don’t let Price Go Below
This script was set up so that certain users could not change the items unit price on an order or an invoice below either a defined amount per item, or a certain percentage of the retail price. (these fields can be changed to meet the clients request)  If a price was entered that did not meet the criteria, the price would automatically change back to the previous price, or to the system price.

Open Google Maps from a specified address in the System
This script simply is a button that launches Google Maps from a given address so directions can be printed.

Create Production Entry in Bill of Material from Receipt of Goods
Although this could be done from other modules as well, this script would automatically create a production entry for a specified bill when a certain item was received.