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.