RIMAS for UNIX
Software Installation
To: All Unix Operating System Users
From: The SHARED LOGIC Group, Inc.
Re: Rolling Contracts
Date: July 13, 1996
The
following Operations Overview is based on programs in the Purchase Contracts
and Receiving menu. However,
similar programs exist in the Sales Contracts and Shipments menu and are
used in a similar fashion.
The
purpose of this overview is to describe the setup and use of “rolling
contracts” and pricing procedures.
There are as many different reasons for using these programs, as there
are many different ways to use these programs. This overview will offer one approach to use the Purchase
Contracts related programs, with a few suggested alternatives. Hopefully, you will discover other options
as you study the programs, perhaps better fitting the workflow in your company.
The
concept of “rolling contracts” is based on the need to establish new pricing
each month, track shipments (i.e., material receipts) separately for each
month, entering shipments before pricing has been established (suspending the
posting of these shipments until pricing is established), and automatically
posting the suspended shipments once pricing has been established. All of these requirements are satisfied by
the concept of “rolling contracts” and related programs.
The
first step in the process is to build the basic contract, market prices and
formula data in the system. This data
will be updated and used each month as the contracts are “rolled”.
Proceed
as follows, the numbers in parenthesis are the menu page and selection numbers
in Shared Logic’s standard Purchase Contracts and Receiving menu:
1.
Input Purchase Contracts (1/2)
Enter a template for each contract that will be “rolled” from month to
month. These contracts are entered like
any other contract, with one exception.
The exception is that the first character of the page number must be a
letter, A-L. Use “A” if the contract is
for your January prices and purchases, “B” if for February, and so on through
“L” for December. The second character
of the page number must be a digit, 1-9.
This allows for up to nine (9) pages of up to nine (9) commodities each
per month.
2.
Maintain Market Prices (2/12)
Select a two (2) letter code for each market.
This can be based on the next combination of the magazine, class and
district for which prices are being entered.
Then enter all of the commodities and prices in that market. (When doing this the commodity codes do not
have to be the same as those in your own Commodity Inventory master file.)
3.
Print Market Prices (2/13)
We recommend that you list and print your market prices after they are entered
or updated, since so much critical processing will be based on these entries.
4.
Maintain Vendor Pricing & Formula (2/8)
Use this program to enter the formula that will be used to compute the purchase
price for each Vendor and Commodity that will be priced based on a
formula. When entering the formula, you
will enter the Vendor and Commodity code, then the Market Code, the Commodity Code
in the market on which the formula is based, the Variance (which may be a
positive or negative dollar amount or percentage), an “N” in the Bypass
Automatic Price Change field, and the Price Basis (which is “H” to base the
computation on the Market High-side price, an “L” for Low-side, or an “A” for
the average of the High-side and Low-side price).
5.
Print Vendor Formulae (2/10)
We again recommend that you print and check the formula.
It
should be noted that, of all the steps listed above, only the entry of your
contracts is required. As you will
learn shortly, there are available pricing methods that do not require the use
of markets and formula. These are
provided to handle situations where your trader(s) must determine prices, and
these are entered directly into the system.
The
monthly process that actually rolls the contracts is based on just two (2)
programs:
1.
Print Contract Pricing Worksheet (3/3)
This is an optional program, often used to prepare a report of last month’s
contracts, prices and transactions that will aid your trader in determining
this month’s prices. This program
includes many run-time options that control which contracts and detail are
printed, including the range of vendors or contracts to print, the sequence in
which to print, the contract page (1st character only) to print, the
status, yard, trader, and/or contract source code to print. Each contract may also be printed on a
separate page.
2.
Update to Duplicate (Roll) Contract (3/4)
This is the key, required, program. It
is used to actually “roll” the contracts, meaning that the contracts for one
month are duplicated to become the next month’s contracts. The program performs many separate actions:
a. The port date is displayed as the
date that will be assigned to the new contracts.
b. The month from which to roll
is requested, as a letter, where “A” means January will be duplicated into
February, “B” means February will be duplicated into March, and “L” means that
December will be duplicated into January (of the next year).
c. After entering the above, the program
deletes all Contracts for the month into which the new contracts will be
duplicated. Also, all of the
corresponding Vendor Commodity Descriptions, the Memos, the Shipment History
and any orphaned Shipment Detail are deleted.
d. After all of the above have been
removed from the system, all of the contracts having pages that match the month
from which to roll are duplicated into the next month. All of the Vendor Material Descriptions and
Memos that correspond to the Contracts from which the new Contracts were
duplicated are also duplicated.
As the Contracts are duplicated, certain flags are set on the new
Contracts. These flags include the
following:
a. The Hold Payables (posting) is set to
“Y”.
b. The Status Codes is set to “P”. (Think of these two flags meaning that “the
Contract is ‘on hold for pricing’”.)
c. If the Print Contract flag is “M” it
is set to “L”. If it is “S”, it is set
to “R”. Otherwise, it is set to
“Y”. These flags are used in some custom
versions of contract print programs to print new contacts (i.e., purchase
orders) and/or pricing letters.
As
soon as the Contracts are rolled, you may begin the entry of shipments
(material receipts). These shipments
will automatically have the “estimated price” flag set to “Y”, because the
“hold payables” flag is a “Y” and the “status code” is a “P” on the
Contract. The “Y” in the estimated
price flag will suspend shipment posting until pricing has been done and the
“Y” is removed. This is accomplished as
follows:
1.
Maintain Market Prices (2/12)
This program will be used only when contract prices are based on formula. If you will be entering prices provided by
your trader(s) for all of the contracts, you will skip this step.
This is the same program that you used to enter the Markets at the beginning of
this overview. Normally, the market
prices change frequently, at least monthly, and must be entered before the
contracts are priced. As we did above,
we again recommend that you print and check your market prices before
proceeding.
2.
Update Market to Purchase Prices (2/14)
This program is only used when prices are based on Markets and Formula.
Vendor Formula and the Market Prices are used to compute and store prices in
the Vendor Price File. The Market
current price date is copied into the Current Date field and the Market Next
Date field is copied to the Future Date field, when the price is placed in the
Current Price field.
3.
Update Purchase Price on Contracts (3/5)
This program is only used when prices are based on Markets and Formula.
The prices that were computed by the above program and stored in the Current
Price field in the Vendor Price file are used to update the rolled
contracts. This is done by looking up
the Current Price (in the Vendor Price file) for each commodity on the
contract. Each time a match is found,
the price on the Contract is changed to the Vendor Price file Current
Price. If all of the commodities on the
Contract are successfully re-priced, the “hold payables” flag is changed to an
“N” and the “status code” is set to the letter that is the first character of
the contract page number. If one or
more commodities could not be priced, the flag and status are left unchanged
(and a warning message is displayed just before the program returns to the
menu).
4.
Input Purchase Contract Prices (3/6)
This program is used to enter prices directly on the contract. It may be used to enter prices provided by
your trader(s), or to compute and accept prices based on formula.
To use the program, enter the contract number to be priced. As the page number, enter only the letter
that corresponds to the month to be priced.
Entering just the first character of the page number causes the program
to automatically assemble a list of all commodities on all pages of the
contract. This is the easiest way to
update the prices on the entire contract’s set of pages. (If you want to price only one specific page
of a contract, the entire page number may be entered.)
After the commodities are displayed on the screen, the cursor moves down the
new price column. If the operator
enters a price, it is accepted. If the
operator presses enter, the new price will be the computed as a result of the
formula (if a formula is displayed), or the previous price is retained.
When the prices have been entered, you may choose to “HOLD” or “POST” the
prices on the contract. In either case,
the new prices are written back to the proper line(s) on the contract. The “POST” option also changes the “hold payables”
flag to an “N” and the “status code” to the first character (i.e., the month)
of the contract page number. On the
other hand, the “HOLD” option does not change these two flags after putting the
prices back on the contract.
5.
Update Contract Prices to Shipments (3/7)
This is the end result of all of the pricing processes. This program scans all of the Purchase
Shipments (Receipts) in the Detail file, locating those that have a “Y” in the
“estimated price” flag. When a Detail
record is located, the corresponding Contract is accessed. If the Contract still has a “Y” in the “hold
payables” flag, the Detail record is not re-priced, and the Purchase Shipment
scan continues.
On the other hand, if the Contract “hold payables” flag is not a “Y”, the commodities
on the Detail record are matched against those on the contract. If the page number on the Detail record ends
in 1-9, that specific page of the contract is used to match commodities. However, if the page number on the Detail
record ends is zero (0), all contract pages that begin with the same letter are
used to match commodities (which allows one Detail record to contain
commodities that appear on any of the nine (9) possible contract pages).
If all of the commodities on the Detail record are successfully re-priced, the
“estimated price” flag is set to an “N”.
The detail record is then ready to be posted when the Update program(s)
are next run.
At
any time, you may determine which contracts remain to be priced by running the Print Purchase Contract List (2/2)
program, entering a “P” as the “status code to print”. This will list all of the contracts that
have not been (fully) re-priced. A list
of all un-posted (for any reason) Detail may be printed by running the Print Purchase Detail (Short Form) Register
immediately after a posting run has been completed, requesting that all Detail
be reported.
All
of the concepts and techniques outlined above can be applied to Sales Detail,
where the contract “hold payables” flags are replaced by the “hold invoicing”
flag.