Warrants

Introduction

This process enables a purchase TRADE/split to maintain individual inventory parcels (the warrants, also known as lottings).  Warrants are assigned to purchase contracts so can be edited or imported. When a purchase is allocated, the warrants also get assigned to the allocation; it is possible to edit warrants from an allocated sale. Warrants (in ITAS terms) are usually only associated with TRADE inventory i.e. the inventory detail records move with their TRADE split/record.  The other Inventory subsystems (PROMAN, PROSCHED, PROTANK) do not operate usually with Warrant import, they have their own Import of inventory processes.

Setup

To activate the TRADE warrants process, an ITAS Entity needs to be configured with a Lotting weight code in S01 (ctrl30_lotwtcode). There are 2 features for determining what weight UOM of measure is to be applied to the Warrant record. Entry of code ZZZZ indicates that the imported warrants are using the same UOM as the TRADE to which they are being associated ELSE setup a valid PHYSCODES/Weight Code which then dictates that ALL warrant weights are expressed in that UOM.  If you want to import warrants, the ITAS folder /directory itas\comp\xx\Lotting needs to be setup.  The Warrants grid columns are specified in IDD/cot01 table with the 'Used in Inventory' cell being ticked; the IDD sequence dictates the order of the fields in the maintenance grid.

Warrant Maintenance

Warrants are maintained via TRADE -> Traffic using the Warrants context menu. Warrants are editable for purchase contracts, or for allocated sales.  The grid is customisable: columns available are set up in IDD on the cot01 table and are ticked to be used in Inventory. Certain columns will always be present, such as weights.
To edit warrants, the user requires the CMP/BALEDIT privilege.
Warrants can be split using the context menu “Split Item” option when not editing.
When saving, a 5% tolerance check is applied against both net and gross weights. If the warrants fail this check, the user cannot save unless they have the CMP/LOTTINGTOL privilege, in which case they are asked to confirm the weights. This same tolerance check is also applied to importing warrants.
When saving, TRADE  weights are updated to match warrant weights, assuming the tolerance check does not fail. The user cannot change weight on the traffic screen, The user is blocked from changing bags, packing code or weight code. The user is also blocked from splitting trades in WIP or amending weights.

TRADE Splitting

When a contract has warrant(s) assigned, the standard split form is used, instead of  the grid-based tranche form. The user must choose warrants to include in the split TRADE. ITAS won’t let the user choose multiple warrants if it cannot determine how the warrants can be split. Also, ITAS won’t allow the user to split if the warrant quantity ends up as less than the split quantity. If there are any outturn weights or analysis records attached to the warrant being split, they will be split too.

TRADE Allocating

When warrants are present the user needs to pick which warrants are to be used in the allocation. The warrants used will be split if necessary. If the user chooses not to split the warrants, the purchase and sale weights are adjusted to match the warrant weights. Any analysis or outturn weight records attached to the warrants will also be split.  If the weight of the selected warrants is within 5% tolerance, the process will ask the user to split the warrant or not. If the answer is NO, the contract weights will be adjusted to match the selected warrant. If the choice is to allocate more than is available on the selected warrants, then the weight will be adjusted to match the warrants.

Example

A 100 MT purchase has 5 warrants, each 20 MT. This purchase is allocated to a 15 MT sale. The user picks the warrant to be used. This warrant will also be split so that 15 MT is allocated, and 5 MT goes on the new split.

If the contract has gross weights:

Allocate: 15,000 KG gross weights
Warrant: 20,000 KG gross, 19,980 KG net.
Split Warrant: 5,000 KG gross (20,000 – 15,000 = 5,000), Tare = 5,000 / 20,000 x 20 (existing tare) = 5, net weight = 5,000 – 5 = 4,995
Allocated Warrant: 20,000 – 5,000 = 15,000 KG gross, 19,980 – 4,995 = 14,985 net

If the contract has net weights:

Allocate: 15,000 KG net weights
Warrant: 20,000 KG gross, 19,980 KG net.
Split Warrant: 4,980 KG net (19,980 – 15,000)), tare = 5, gross weight = 4,985 KG
Allocated Warrant: 15,000 net weight (19,980 – 4,980), gross = 20,000 – 4,985 = 15,015

Gross weights and multiple warrants:

Purchase: 20 MT gross, 308 bags.
Allocate: 15,000 KG gross weights
Warrant 1: 12,000 KG gross, 11,995 net
Warrant 2: 8,000 KG gross, 7,980 net
Allocate all of warrant 1
Split warrant 2: 5,000 KG gross (20,000 –15,000), tare = 5,000 / 8,000 x 20 = 13 KG, net = 4,987 KG
Allocated Warrant 2: (8,000 – 5,000) 3,000 KG gross, tare = 7 KG, net = 2,993 KG

Import

“Import Warrants” is available from Traffic on purchase contracts when the folder itas\comp\xx\Lotting exists.
An import will overwrite the existing warrants for that contract. It isn’t possible to import warrants if the purchase is allocated.
The first row of the import file contains user headings. The second row contains the ITAS field names.
As well as cot01 fields, the import file contains the following phys01 fields, change of which will trigger a new tranche of the contract:
·     Port: phys01_warehouseloc. This is a port code. The file should contain the ports ISO code (cmy16_isocode)
·     Warehouse: phys01_warehouse: This is a client account.
·     Origin: This is an lchorigins_id from which we get lchorigins_boec which matches phys01_cmy_ctry.
·     Shed ID: phys01_shedid (Entry must match a valid ITAS shed as maintained on chr29_shed)
Note that the process will always try to tranche if any of these control details change i.e. the Trade/traffic data needs to correspond with the same warrant data
Any remainder quantity on the contract is written off.
 The import can also contain analysis fields (qua01 to qua03). There is an optional portfolio column which contains the name of a portfolio. If this portfolio exists, we check that the other analysis columns are set up for the portfolio and generate an error if not. It isn’t possible to import analysis codes where no portfolio is present – the portfolio is the trigger for the analysis import. It is possible to have different portfolios on different rows, thus the headings will need to cover the analysis codes for all referenced portfolios. We only import values that match on portfolio and have values.

Reporting

Warrants can be reported :
·     TRAFREP: Aged Stock Report, if the user ticks “Report Individual Warrants”
·     TRAFREP: Warrants, Outturns and Analyses Report

Analyses and Samples

Analysis/Sample records are usually associated at the contract level. A company operating warrants can additionally associate these at the warrant level, so an individual warrant can have multiple qua01 records.
·     When view the Analysis/Sample screen in the standard TRADE screen, details of any warrants the sample is associated with by using the warrant reference, will be shown.
·     From the warrants screen, the Analysis/Sample screen can be launched, and the details maintained at this level.

Analysis/Sample Import

Companies have the ability to import analysis/sample data via Excel spreadsheets and attach them to warrants. They can upload multiple analyses. There are 3 ways analysis/sample records can be imported:
1.     Single, where we import a single record for a particular warrant
2.     As part of the warrant import, where there are additional analysis/sample columns on the spreadsheet.
3.     An import of multiple analysis/sample records for many warrants on a single contract. This is done in TRADE Traffic.

Single Import

From the Warrants screen, as well as the existing “Analysis/Sample” option, there is an option “Import Analysis/Sample”. When selected, the user can choose the spreadsheet to import. The folder defaults to the comp\xx\analysis folder, in a similar way to the Warrants import. The file imported is an Excel spreadsheet in the following format:

  • The name of the worksheet should be "Sheet1"
  • Cell A1 contains the name of the portfolio.
  • Row 2 contains the friendly headings
  • Row 3 contains the matching analysis codes
  • Row 4 contains the data.

The data should always have content - do not leave a blank cell to represent zero, but instead populate with "0".

Technical.

  Validate that the analysis codes match the portfolio.
Import as follows:
1.     Create qua01 record:
a.     qua01_number is auto-generated
b.     qua01_portfolio is A1 content
c.     qua01_date and qua01_setdat are ITAS date
d.     qua01_setinit is user initials
e.     qua01_reference is “Upload”
f.     qua01_complete is “N”
g.     qua01_commod etc. come from the commodity
2.     Create qua02 record per analysis
3.     Create qua03 record, marking with number, contract and cot01_id

Warrant Import

When analysis/sample records are imported as part of warrant import, there should be a portfolio column, then the subsequent columns will be the analyses for that portfolio. The import works in a similar way to the single import described above. If there are any existing records, they will be deleted.

Multiple Import

This works in the same way to the single import, except that the first column holds the warrant reference (cot01_whref) which is used to identify the warrant.

Outturn Weights

When a company operates outturn weights, they can also maintain these at the individual warrant level by selecting View -> Outturn Weights. The weights are then attached to the individual warrants.