8.1.2 Admin
8.1.2 Admin
8.1.2 Admin
JDA® Allocation
Release 8.1.2.0
Legal notice
Rights to the content of this document
Copyright © 2005-2015 JDA Software Group, Inc. All rights reserved.
Printed in the United States of America.
Reproduction of this document or any portion of it, in any form, without the express written consent of JDA Software Group,
Inc. ("JDA") is prohibited.
These materials are protected by the Copyright Act of 1976, as amended, as an unpublished work and the foregoing notice and
legend shall not be deemed to constitute publication or an intent to publish thereunder. These materials are proprietary and
confidential information of JDA and may be disclosed and used only as authorized in a signed, written agreement controlling
such disclosure or use.
The fact that a particular name or logo does not appear on this notice does not constitute a waiver of any intellectual property
rights that JDA has established in any of its products, feature or service names, or logos.
Technical documentation
NOTICE: This design or technical documentation is supplied as a courtesy only and does not form part of the "Documentation"
as defined in your JDA license agreement. This design or technical documentation is supplied in the English language only and is
supplied "as is" and without warranties. JDA, at its discretion, may choose to offer this document in additional languages, but is
under no obligation to do so. JDA undertakes no obligation to update this design or technical documentation.
Patents
This product may be protected by one or more United States and foreign patents. Please see the JDA Patents website
(http://jda.com/JDAPatents).
Provide feedback on this document
JDA values your opinion and strives to ensure that the documentation you receive is clear, concise,
and provides the appropriate information required for you to use each JDA application efficiently.
If you would like to provide feedback on this document, you can submit your questions or suggestions
to the JDA Documentation Management team (mailto:[email protected]) and they will
be forwarded to the appropriate development teams for review and consideration in a future release.
Table of Contents
Chapter 1. Introduction to JDA Allocation ....................................................................... 1
Allocation Database Setup .......................................................................................... 1
Allocation Administration ............................................................................................ 1
Software implementation advisement ........................................................................... 1
What if I need help? ................................................................................................... 1
The application takes information about the merchandise from your orders, advanced shipping notices,
receipts, and reserve stock, and distributes the merchandise according to the needs of each location.
Distributors can customize the distribution of merchandise according to their judgment.
Allocation allows you to view your merchandise to be distributed, select merchandise to distribute, and
distribute that merchandise to the locations of your choice, based on information from your transaction
management system or JDA planning system.
The application produces a set of results you can feed to your transaction management system to send
the merchandise to the appropriate locations.
This guide covers the administrative functions in Allocation Database Setup and Allocation
Administration application utilities.
Your Oracle Database Administrator (DBA) will have created the tables according to your
implementation design. You will have also established processes to interface data to these tables from
your host system and to return the results of the allocation.
Allocation Administration
Allocation Administration allows you to manage users, create restrictions, create and maintain Auto-
Allocation schedules, maintain and validate the variables used by the distributors, build data collect
levels and like store rules, and delete methods, store selections, WorkList views, and results.
The system is set up according to your implementation design. This design enables the application to
work using your business processes and terminology.
For more information on setting your Allocation logging level for support purposes, see "Support
Logging Levels and other options" (on page 89).
These sections also describe the processes necessary for setting up procedures to provide data from
your transaction management system for Allocation to use as the basis of its calculations. They
describe the format of the results output by the application that must be returned to your transaction
management system to be put into action.
Assumed knowledge
You should have a working knowledge of the following items.
Oracle
Two types of tables are on the database: system tables and user tables.
Note that invalid data that is introduced or modified by the interface code can cause unexpected
behavior in JDA Allocation. However, any application behavior caused by invalid interface data is the
responsibility of the customer.
Note also that a JDA Allocation database consists both of system objects and implementation- specific
"user" objects. There are a few system objects that support direct interfacing, and those objects are
documented in this JDA Allocation Administrator Guide. Although modification or insertion of data in
other system tables is possible, it is NOT recommended or documented. These tables are proprietary
and JDA is at liberty to change them without client notification.
If a client modifies the system tables or the data contained within those tables, and JDA spends time
investigating a problem because of it, the client is liable for the costs associated with such work.
System tables
The system tables (the tables used internally by the application) are loaded onto the database and
partially populated by the installation process. To install these tables, you must run Oracle scripts to
create the system tables and populate the bare minimum of the database.
Among other things, the system tables contain information about your user tables. You run the
Database Setup utility after you have created your user tables, to add information to the system tables
about your tables, and to create hierarchies, groups, ranges, and so on.
User tables
You must create tables to hold all merchandise information that you want the application to use, such
as information on locations, planned and actual data that you want to use as the basis for your
allocation, and the products that you are allocating.
These tables reflect the way your organization works, so you must inform the application of the names
and contents of these tables, using the Database Setup utility. In some cases, you can use existing
Oracle tables that contain the necessary information.
Input
For the application to distribute merchandise, it needs the following information.
Merchandise information
You must set up procedures to write merchandise information to your JDA Allocation user tables
whenever there is merchandise to be allocated. These tables are the WorkList and Merchandise Shape
tables.
If you want to use planned data, it can be obtained from the JDA Enterprise Knowledge Base (EKB)
and stored in staging tables for use in JDA Allocation. If you want to use actual data, or a combination
of planned and actual data, you must set up procedures to read data requests, and provide data from
your transaction management system in a form that JDA Allocation can understand. This process is
known as data collect.
JDA Allocation also has an option of collecting data from a structured data staging area. This option
allows your interface code to maintain historical data in a staging area within the Allocation database,
instead of dynamically obtaining the data at the users' request. JDA Allocation automatically does the
collection of data from the staging area to the format table for use in calculating store Need.
If you choose to stage your data, your data is already in the correct format for Need generation, and
the necessary data can be collected very quickly. On the other hand, staged data needs to be loaded,
needs the appropriate amount of storage space, and needs to be maintained. Consult with your
database administrator for advice on the option that is appropriate for your business.
Note: JDA Allocation does not support leading or trailing spaces in any text data.
Output
The results of the allocation are written to the results tables. These tables contain information about
how much merchandise of each type is to be sent to each location. You set up procedures to read this
information from the tables and pass it to your transaction management system, so the appropriate
quantities of the right sizes and colors of the merchandise are sent to each location.
Allocation database
Set up the Allocation database
This section provides an overview of the steps involved in setting up the Allocation database. The steps
are covered in detail later in this manual.
To set up the central Allocation database, carry out the following procedures.
1. Check your system and network requirements. See the JDA Allocation Installation Guide
(INSTALL.PDF) for more information.
2. Install Oracle on your database server machine. See the Oracle documentation for details.
3. Install the Oracle Network client on every PC that uses JDA Allocation. Configure an Oracle Local
Net Service Name connecting each PC to the database that holds the JDA Allocation schema, which
is required for creating and updating the Allocation database using SQL*Plus.
4. Install Oracle SQL*Plus on the PC you are using to install JDA Allocation.
5. Install the JDA Allocation software onto every machine that uses the application.
6. Working with your distributors, review the "Implementation decisions" (on page 11), and decide
how you want the application to work.
7. Create the system tables on the Oracle database. See "Install the database tables" (on page 17)
for details. You need the help of an Oracle Database Administrator (DBA) for the initial stages of
creating the system tables.
8. Install the required PL/SQL database packages. See "Install the database tables" (on page 17) for
details.
9. Create the Locations table, which contains a list of all stores and warehouses to which you want to
send merchandise. See "Set up locations" (on page 28) for details. Note: See the EKB Integration
note following these steps.
10. Create the WorkList and Merchandise Shape tables, according to the decisions made by the
distributors. You must create the following tables.
WorkList table
Detail tables
List Source tables Note: See the EKB Integration note following these steps.
11. Set up procedures to write information to the WorkList and Merchandise Shape tables from your
transaction management system.
12. Set up procedures to provide the performance data that the application uses as a basis for the
allocation of merchandise. You must do the following.
See "Set up host data collect procedures" (on page 51) for details.
13. Set up procedures to read the results that JDA Allocation produces, as follows:
Set up procedures to collect results and update your transaction management system.
Set up procedures to delete results and corresponding WorkList and Shape table information.
See "Set up results collection procedures" (on page 68) for details.
14. Optionally, set up a Store Grading table, which contains grades for each store by product and time
period. See "Set up store grading" (on page 70) for details.
15. Optionally, create a Currently Allocated Quantities (CAQ) table that contains a record of all
allocations that have not been updated in your transaction management system. See "Set up
currently allocated quantities" (on page 73) for details.
16. If intending to create a database that loads and maintains product and location structure directly
from EKB, you must link the allocation database to EKB before continuing this process.
For other databases, now run Run Allocation Database Setup from the Start menu. Configure your
connection criteria and save to a connection file.
17. Proceed with configuring the database using the Database Setup utility, as follows:
See "Use the Database Setup utility" (on page 87) for details.
EKB Integration Note: If the Allocation database structure is created and maintained from an EKB
database, some of these steps should not be taken, as the table structure creation and corresponding
data population and maintenance for the location and product lists are performed by the system.
That structure context must be created prior to building the Allocation database. It must identify the
subcube set for all EP and AP measures that will be used by Allocation. This structure context will be
built when Allocation is configured to use it. After that, it must be rebuilt whenever structure changes
are made to EKB. See "Maintain the EKB Structure Context for Allocation" (on page 66).
To set up the central Allocation database with a direct connection to EKB for product and location
structure information, perform the following procedure.
1. Run steps 1-15 in "Set up the Allocation Database" (on page 5).
2. Ensure that your EP Mid-Tier application server is running and the TNS entry used by the EP Mid-
Tier to connect to the EKB database exists not only on the application server machine, but also on
the AL database server.
3. Run Allocation Administration from the Start menu. Configure your connection criteria and save to
a connection file.
5. Enter the Machine Name and Port number for the EP Mid-Tier Application server, then select
Connect to EP Mid-Tier.
6. Select the structure context for Allocation. This will populate the hierarchy information.
7. Select the unique product level from the Product Hierarchy. This corresponds to the UMID level or
style level in Allocation Database Setup. Attributes below this level will be used as WorkSheet
levels, such as color or size.
8. Select the Product Groups, Data Collect Levels & Attribute Levels tab. Determine the order of
the unique product attributes to be used as WorkSheet levels in Allocation. Order the attributes
using the move up/down buttons. Note that once the product hierarchy and levels are established
in a database, they cannot be changed.
9. Select OK to close the EKB Information… dialog box. This step will create the appropriate
hierarchies, locations list, and product lists in the Allocation database.
10. Select Maintain > Location List. If reserve stock locations exist in the EKB structure context,
then the warehouse flag will have to be manually selected to identify them as reserve locations in
Allocation. Otherwise, add reserve stock warehouses to the location list and set the warehouse flag
and the avail_for_alloc flag. Any records manually added to the location list will not be updated by
EKB when Allocation loads new details from the structure context, although other location
attributes will be.
11. Exit Allocation Administration and run Allocation Database Setup from the Start menu.
12. Continue with step 17 in "Set up the Allocation Database" (on page 5) above in order to configure
the WorkList, shape detail tables, format tables, etc.
Rollback segments
Oracle uses a special database object called a "rollback segment" to store information it may need to
undo. For example, if a transaction fails, Oracle can use the data in the rollback segment to restore the
database to its state prior to the transaction.
You must ensure the rollback segments are of sufficient size to deal with the volume of data produced
by the application. See your Oracle documentation or consult your Oracle DBA for details.
System requirements
JDA Allocation uses a central Oracle database and client Windows-based PCs. See the JDA Allocation
Installation Guide (INSTALL.PDF) for details on system requirements.
The amount of space your operational Allocation database requires is dependent entirely on the level
of detail at which you work. You must ensure that the application has sufficient space on the Oracle
database to store all data, by increasing the size of the AAMDATA and AAMINDEX tablespaces. See the
Oracle documentation for details on increasing tablespaces.
WorkList tables
The WorkList tables take up space, dependent on the size of the WorkList table and the amount of
information stored there.
Add all values based on the datatype space requirements for each column to produce the average
space requirements for a WorkList line.
Additional information stored in Shape tables has to be added. There are often several lines in a Shape
table for each WorkList line. For example, if you have three colors and three sizes, there are nine lines
in a Shape table for the relevant WorkList line, assuming there is merchandise for each combination of
levels.
2. Multiply this value by the number of bytes in an average Shape table line.
3. Add this value to the average space requirements for a WorkList line to produce the average
WorkList space requirements per record.
4. Multiply this value by the average number of collections of merchandise you intend to have in the
WorkList at any one time. This calculation produces the average amount of space you need to store
the WorkList.
Results
Results require an average of 100 bytes per record. Multiply this value by the combinations of levels at
which you allocate; average number of sizes by average number of colors, and so on. This calculation
produces the storage requirements for a single location for a single WorkList line.
Multiply this value by the average number of locations in an allocation. For example, if you have 200
locations, but usually allocate a single collection of merchandise to an average of 100 locations at a
time, multiply the value by 100.
Multiply this value by the number of WorkList lines allocated in a single day. This value is obtained by
multiplying the number of distributors by the number of collections of merchandise each distributor
allocates in a single day. Multiply this value by the number of days you intend to keep results on the
database.
Caution: If you allocate at a very low level (style/color/size/width, for example) to many locations,
you will find that stored results require a very large amount of space. You must make sure that results
are put into action and removed from the database as soon as possible after they have been released.
You may want to keep the number of days to a minimum that the merchandise is kept on the
database.
Staging tables
The staging tables hold staged performance data for use by the built-in data collect procedure. If using
the built-in data collect process, determine how much space each record of the staging areas requires
and multiply by the number of records expected in the staging areas. Staging areas for some levels of
data collect can be views, which do not have storage requirements. Note that significant additional
space may be required for maintenance of data in the staging area.
Format tables
The format tables hold collected data; their size depends on how many levels and variables you use.
These tables could become very large in a very short time; you must have procedures to clear them
out as soon as data is no longer needed.
System tables
The system tables, including the Location and User list tables, and saved views, variables, and
methods should take up no more than the 20 MB set up by the installation procedure.
Indexes
If you are dealing with a large amount of data, you must get the help of an Oracle expert to optimize
your database. This process involves the addition of indexes to your database to speed up data access
times, which increases the size of your database.
Limitations
The following database limitations should be noted.
In addition to Oracle's restrictions on names for columns, no column names can be an exact match
with any of the application's operators. This restriction also applies to column descriptions.
Embedded spaces
JDA Allocation does not support leading, embedded, or trailing spaces in any group or level member
numbers or codes. For example, a style number cannot contain embedded spaces. In addition, any
data values with leading or trailing spaces are not supported and may cause unexpected application
behavior.
The system administrator sets up the application according to the information provided by the
distributors. The system should reflect the way your organization works, and should consider the
needs of the distributors. Any information that your existing system holds can be passed through the
application to allow the distributors to use it when allocating merchandise.
After you have obtained this information from the distributors, set up the database accordingly.
Close to receiving. You can allocate merchandise shortly before it arrives in a distribution center
or shortly before it is counted, for example. The allocation can be triggered by an Advance Ship
Notice (ASN), the packing slip, the receipt of the merchandise at the receiving dock, or a fixed
number of days before the merchandise is due to be received.
When the vendor confirms that the merchandise is ready to ship. If your vendor sends
merchandise directly to your locations, you can allocate the merchandise as soon as your vendor is
ready to ship. This enables you to use the most up-to-date information about the Need of each
location, and send the results of the allocation directly to the vendor.
When allocating merchandise from reserve stock. If you have merchandise kept in a
warehouse location, you can allocate it at any time.
Set up procedures
You have to set up procedures to write information from your transaction management system to the
WorkList. These procedures are triggered by one or more of the conditions described in the previous
section.
For example, you could set up procedures to send information to Allocation ten days before the
shipment is due (close to receiving), while also having special procedures for allocating from reserve
stock.
You could have a mixture of vendor multi-drop shipments for some products and shipments directly
from your distribution center for other products.
All procedures can be triggered by particular documents in your existing transaction management
system; for example, dock receipts or purchase order receipts. If you include a document type in the
WorkList display, you can allow your distributors to differentiate between the types of allocation.
The information from these documents (for example, the style, number of units, department, class,
and so on) is passed to the WorkList, and the distributor can allocate the merchandise.
You can have as many as six levels of merchandise, which can have any names you choose.
Individual types of merchandise may be allocated to different levels. You do not have to use all levels
for each style of merchandise. You need to determine the maximum level of detail to which
merchandise is allocated, and decide on the names of the levels, depending on the information you can
obtain from your operational database.
Set up levels
To set up levels, you need to provide the names of the levels. See "Step 6: Define the levels" (on page
96) for details. You also need to create Merchandise Shape tables, tables that describe the
composition of a collection of merchandise. These tables contain information about the colors, sizes,
and other levels. See "Set up Merchandise Shape tables" (on page 44) for details.
The tables describe the quantities for each combination of levels; for example, how many large white
shirts, how many large red shirts, and so on. You can have several Merchandise Shape tables; your
system has to specify which one to use for each collection of merchandise.
The UMID (level 0) cannot be below the WorkList level. It must be at the WorkList level. (A pack
cannot contain more than one level 0, because a pack cannot include multiple WorkList lines.)
Like all WorkSheet levels, the UMID (level 0) must use a text data type. If it consists of
concatenated fields to make the value unique, then it will automatically be treated as text;
however, if it consists of only one WorkList field, such as STYLE_NUMBER, then that field must be a
text data type on the WorkList.
A source distribution center (DC) cannot be below the WorkList level. Each WorkList can have only
one source DC and one destination DC.
With performance data, the application distributes merchandise according to the historical or current
performance data. With information from your planning system, merchandise is distributed according
to the planned figures for each location.
Data is collected and passed to the Allocation database so JDA Allocation can consider it when
distributing merchandise. The distributors can select a basis for store Need when allocating, based on
their judgment, but the procedures for collection of data must be set up at the time of installation.
For example, if the transaction management system can track information about the fabric, the season
for which the merchandise is appropriate, and the advertising event for which the merchandise was
ordered, this information can be passed to the distributors, and it helps them in making their
decisions. They can also use this information to restrict their views of the merchandise.
Information such as the department and class of the merchandise can be presented to the distributors;
this method also allows the system administrator to restrict the access of individual distributors to
particular departments or classes to make the division of work easy to manage.
You must also set up procedures that write information to the WorkList table at the appropriate times;
for example, whenever there is merchandise to allocate.
You must make sure that the WorkList table (along with the Merchandise Shape tables) contains
enough information to determine the shape of the merchandise and defines the “merchandise type” by
including information such as the department and class.
You decide on the different shapes of merchandise your system deals with (for example, hard goods
with no variations vs. soft goods with colors and sizes) and then you assign a corresponding number to
that shape during Database Setup (Step 10). These shape numbers are known as merchandise types.
Set up the merchandise types using the Database Setup utility. You can have as many merchandise
types as you need. See "Step 10: Set up merchandise types" (on page 101) for details on using the
Database Setup utility to create merchandise types.
If none of your merchandise is allocated in packs, and all of it is allocated in bulk, you do not need to
set up the WorkList to deal with packs.
Pack information must be incorporated into the Allocation database, in addition to the level
information.
Set up packs
To set up packs, you add columns to the WorkList and Merchandise Shape tables that provide
information on the pack ID, number of packs available, and quantity per pack.
You can include all pack columns (pack ID, number of packs available, and quantity per pack) in the
WorkList, or include all columns in a Shape table. You cannot have some pack columns in a Shape
table and some in the WorkList.
You must set up a merchandise type that includes the pack ID in the merchandise ID (UPID).
Multiples refers to merchandise that is received and distributed in single SKU packs. Prior to the 2.2.0
release of Advanced Allocation, they were the only packs that could consider Need below the store
level. As of Advanced Allocation 2.2.0, all packs should use a shape type of Pack. Although they have
limited use and constrained functionality, multiples have been maintained for those customers who
used them in releases prior to Advanced Allocation 2.2.0.
Merchandise of department stationery cannot be allocated to locations that do not stock stationery.
You can have multiple restrictions on merchandise. For example, if you are allocating clothing, you
might want to restrict heavy woolen items from being distributed to locations in southern California; in
this case, you would set a restriction based on the fabric type and location. Restrictions may also be
created by Source Warehouse (Distribution Center). See "Set up product location restrictions by source
warehouse" (on page 104).
To create restrictions based on the department of merchandise, you would need to set up a group
called Department in the WorkList. To restrict clothing based on fabric and location, you would need to
include information on the fabric type in the WorkList and the region in the Locations table. This setup
would allow the administrators to create restrictions. See "Set a location restriction for a user" (on
page 135) and "Set a product restriction for a user" (on page 136) for details.
You should find out what information the distributors want to use for their restrictions. In general, the
more information you can provide from your transaction management system, the more flexible the
distributors' restrictions can be.
Hierarchies define the structure of the merchandise. You can have several hierarchies. For example,
you might have a hierarchy for your product dimension, called Main Hierarchy, that contains the
groups Department, Class, Style, and Color, and another hierarchy, called Planning Hierarchy that
contains the groups Department, Class, and Style.
Hierarchies are used for data collection, and determine the level of data to be collected. JDA Allocation
uses the collected data to calculate the Need of each location. For example, if you collect information
for Class, the application calculates the Need for each class of merchandise for each location.
Hierarchies are used for Product Location Restrictions; you can set up conditions for merchandise
based on the values of members of the hierarchy.
Note: If you have a List Source table, the users are unable to select anything except a member of that
List Source table; therefore, List Source tables must be kept up-to-date.
For groups that correspond to WorkSheet levels, the list source can provide the default order for level
members in the WorkSheet. This is done using a sequence column, which can be identified on Step 3
of Allocation Database Setup. The column can be numeric or text. If present, it is used to order the
members in Multi-Dimensional Views (MDVs) such as the WorkSheet. The application of this ordering is
controlled via the user’s Member Order for Multi-dimensional Views preference setting in the
WorkList.
Non-hierarchical groups
Not all groups must belong to a hierarchy. Groups that do not are called non-hierarchical groups. An
example of a non-hierarchical group is price point. This group does not belong in a hierarchical
structure, but you may want to provide a list of prices from which to choose, so you would create a
group for these purposes.
Many of these scripts use the JDA_ALLOCATION_SCRIPTS environment variable, which specifies the
location of the scripts. This variable requires that the scripts are run using SQL*Plus from the Windows
machine where Allocation is installed. Do not modify this variable or run the scripts from a different
directory, because the scripts will not work.
To create a database that is dependent on EKB and has some of its components built and
maintained from an EKB Structure context, execute the provided CREALL_EKB.SQL script.
To create a standalone Allocation database, execute the CREALL.SQL script instead. Note that
collection of Enterprise and Assortment Planning data from EKB can be performed with either type
of database. Once a database has been created, it cannot be changed to or from EKB dependency,
so confirm the intended implementation before deciding which script to execute.
To ensure these scripts are run in the correct order, the CREALL.SQL script is provided, which lists all
scripts in the order they should be run.
Note: Starting in Oracle 12c, the Allocation schema must reside in a PDB (Pluggable DataBase). If you
are using Oracle 12c or later, execute the CREALL script against the PDB, not the CDB root. Please
refer to Oracle documentation on how to create a PDB.
You then create your user tables, based on how you want the application to work.
After you have loaded and populated the system tables and created the user tables, run the Database
Setup utility to populate the system tables with information about the user tables and decisions you
made about how the system works.
Any table of type format, for example, PLAN_FORMAT, host format tables, data collect format
tables, and the format table you create for performance based data collects. The same restriction
holds true if you create an additional format table for Prior Results.
GRADE
CAQ_HOST
RESULTS_DETAIL
JDA Allocation requires a Main Key to be set up in Database Setup. This key is not the same as an
Oracle Key or index; it is strictly informational and is used by the application to determine details
about some tables.
Oracle users
Ensure that you have set up a user for Oracle with full Database Administrator (DBA) rights. You need
this user for the preliminary setup, such as creating the tablespaces and users.
Tip: To copy and paste these commands, use the Text Select Tool in Acrobat Reader. Select the text,
copy it to the Clipboard, and paste it into a text editor for customization.
SQL*Plus
1. Start SQL*Plus.
Example: Because the drive and path are contained in the JDA_ALLOCATION_SCRIPTS environment
variable, if you have a script called TEST.SQL, you would type:
start %JDA_ALLOCATION_SCRIPTS%\AAM\TEST.SQL
and press Enter.
CRETBLSP.SQL
CREADMIN.SQL
CREALL.SQL
Use the following procedures to run the scripts in the correct sequence from the appropriate Oracle
user. You should open these scripts, using a text editor, to review comments that provide more details
on the purpose and action of the scripts.
Caution:
Do not interface directly to system objects other than those documented and required for data and
results. JDA reserves the right to change these objects at any time.
Do not alter system objects in any way or future scripts will not be able to update them. For
example, do not rename system objects to fit other naming conventions.
Run the scripts as outlined in this Guide. Do not deviate. Do not run from a session on the server
itself, as the scripts use Windows environment variables that are established during the
installation, and must be run from SQL*Plus on the Windows administrator machine.
Tablespaces are the parts of the Oracle database in which Oracle stores all tables, indexes, and other
information. You must tell Oracle the name of the data files in which the information is stored.
Two tablespaces are used: AAMDATA and AAMINDEX. AAMDATA holds all system tables and
AAMINDEX holds all index information for these tables.
Edit the CRETBLSP.SQL script to use your path names and directories on your database server
machine. This script creates the Oracle tablespaces used by the application.
Tip: You may find that performance is improved if you put the AAMDATA tablespace data file on one
disk, and the AAMINDEX tablespace data file on another. This split minimizes contention.
start %JDA_ALLOCATION_SCRIPTS%\CRETBLSP.SQL
and press Enter.
JDA Allocation needs an Oracle schema in which to store its database objects. All users of the
application connect to this schema, using an encrypted connection file. The CREADMIN.SQL script
prompts for the name of the schema before creating it with the required privileges.
The CREADMIN.SQL script allocates space on the AAMDATA and AAMINDEX tablespaces to the
specified schema, so you must run the CRETBLSP.SQL script before you run this script. See "Create
the tablespaces (CRETBLSP.SQL)" (on page 19) for details.
To retrieve information on the current Windows user and the time when changes were made to the
database, CREADMIN.SQL creates the JDA$OSUSER function in the Allocation schema.
start %JDA_ALLOCATION_SCRIPTS%\AAM\CREADMIN.SQL
and press Enter.
Check the CreAdmin.log file in the allocation\scripts directory for errors and warnings. Resolve any
errors before continuing. Contact JDA Support Services for assistance in resolving any errors.
To ensure these scripts are run in the correct order, the CREALL.SQL or CREALL_EKB script is
provided, which lists all scripts in the order they should be run.
To run the script, log on to Oracle as the user that was specified when CREADMIN.SQL was run,
using a password the same as the user ID. The script is in the \AAM directory of the installed scripts.
start %JDA_ALLOCATION_SCRIPTS%\AAM\CREALL.SQL
and press Enter.
If not integrating with EKB for product and location structure data, you must enter the data type and
precision of the Location ID columns you intend to use throughout the application, so the script can
create the relevant system tables with the correct type of Location ID. When you are prompted, you
must enter the data type and precision exactly as it should be used.
For example:
Sample scripts
A sample script for creating user tables (CREDB.SQL) is provided in the SAMPLES directory of the
installation.
These scripts can be used as a basis for creating your own tables.
See "Example tables" (on page 116) for examples of user-defined tables.
Tablespaces
When creating your user tables, use the AAMDATA tablespace for the tables and the AAMINDEX
tablespace for the indexes.
Consult your Oracle DBA for advice on the size of the tablespaces you should use. See the Oracle
documentation for information on increasing the size of your tablespaces.
Table names
The application reserves some table names for its own system tables. In addition, some names for
user tables can be used only for specific purposes. The WorkList table, for example, must be called
WORKLIST, and the name cannot be used for any other table.
Oracle allows great flexibility with table and column names; however, for JDA Allocation you must use
alphanumeric table and column names, with no spaces, primes, or mixed case. In addition to Oracle's
restrictions on names for columns, no column names can be an exact match with any of JDA
Allocation's operators. This restriction applies to column descriptions as well.
AA$ALERT_QUEUE
AA$BATCH_DETAIL
AA$BATCH_HEADER
AA$JOB
AA$SCHEDULE
AAM_PARAMETERS
ALLOCHOST$DCLOG
ALLOCHOST$DCRULES
ALLOCHOST$ERRORS
ALLOCHOST$GRPLEVELS
ALLOCHOST$HIERARCHY
ALLOCPACK$ERRORS
ALLOCPACK$ERRORSVIEW
AUTO_ALLOCATION_ALERTS
AUTO_ALLOCATION_SERVERS
BASE$PKV
BASE$RCV
BASE$UKV
CAQ$CHS
CAQ$CHSV
CAQ$CSC
DC_COND_DETAIL
DC_COND_DLG_DRV
DC_COND_GRP_ASSOC
DC_COND_HEADER
DC_FORMAT_HEADER
DC_RULE_DETAIL
DC_RULE_DLG_DRV
DC_RULE_GRP_ASSOC
DC_RULE_HEADER
DC_RULE_INFO
DC_RULE_PARAMETER
DC_VARIABLES
DC_VARIABLE_LIST
EKB_LOCATION_TECH_KEYS
EKB_CALENDAR_TECH_KEYS
EKB_PRODUCTS
FOLDER_MANAGER
FOLDER_OBJECT_XREF
HIERARCHY
HIERARCHY_DETAIL
INTERNAL_GRADING_DETAIL
INTERNAL_GRADING_DLG_DRV
INTERNAL_GRADING_HEADER
INTERNAL_GRADING_RULES
LEVELS
LIKE_STORE_DLG_DRV
LIKE_STORE_PATTERNS_DETAIL
LIKE_STORE_PATTERNS_HEADER
LIKE_STORE_PRODUCTS_DETAIL
LIKE_STORE_PRODUCTS_HEADER
LIKE_STORE_VARIABLES
LOV
MD$DCSTATEMENTS
MD$IMPORT_DATA
MD$NAMES
MD$PRODUCT
MODEL_STOCK
NEED_DETAIL
OWNERSHIP
PARAMS
PLAN$COLLECT
PLAN_FORMAT
PLAN_STAGING
PLAN_TIME_ORDER
QUEUE_DC_ACTIVE
QUEUE_IN
QUEUE_OUT
RDM$COLLECT
REPORT_DETAIL
REPORT_HEADER
RES$RSV<number>
RESULTS_ANALYSIS
RESULTS_DETAIL
RESULTS_HEADER
RESULTS_LOCATIONS
RESULTS_STATISTICS
RST_COND_CRITERIA_SCRATCH
RST_COND_DETAIL
RST_COND_DLG_DRV
RST_COND_GRP_ASSOC
RST_COND_HEADER
RST_COND_RESULTS_SCRATCH
RTMM_COLUMN_MAP
RTMM_COLUMNS
RTMM_DATA_SOURCES
RTMM_GROUPS
RTMM_MAP
RTMM_OBJECT
RTMM_PRIMARY_KEY_MAP
RTMM_TABLES
SC_COND_DETAIL
SC_COND_DLG_DRV
SC_COND_HEADER
SYSTEM_STATUS
TECH_MM$DETAIL
TECH_MM$DETAIL_PACK
TECH_MM$HEADER
TECHNIQUES_ALTLEVEL
TECHNIQUES_DESCRIPTION
TECHNIQUES_GRADING
TECHNIQUES_HEADER
TECHNIQUES_MINMAX_STORES
TECHNIQUES_TEMPLATE
TECHNIQUES_TEMPLATE_STORES
UNIQUE_KEY_DETAIL
UNIQUE_KEY_HEADER
USERS
VARIABLE_DETAIL
VARIABLE_HEADER
VARIABLE_REFERENCES
VARIABLE_REFERENCES_NAMES
VARIABLE_REFERENCES_VIEW
VIEW_DETAIL_DISP_ATTRIB_TB
VIEW_DETAIL_DISP_ATTRIBUTES
VIEW_DETAIL_FILTER
VIEW_DETAIL_FILTER_TB
VIEW_DETAIL_SORT_ATTRIB_TB
VIEW_DETAIL_SORT_ATTRIBUTES
VIEW_HEADER
VIEW_LAYOUTS
VIEW_SUMMARY
GRADE
LOCATIONS
WORKLIST
Drop a table
To drop a table that has been identified as a User table in Database Setup:
1. From Database Setup, "Step 1" (on page 91), select the table you want to remove from the list.
The table's details are displayed in the Table Name, Table Type, and Table Description boxes.
2. Click Remove, then click Yes to confirm. The table details are removed from the list.
3. Click Next to move to "Step 2" (on page 92) of Database Setup. Database Setup removes all
references to the table you removed; it does not remove the table from the database.
5. After removing the table name through Database Setup, you can use SQL*Plus to issue the Drop
Table command for the tables you want to remove.
Note: Current versions of Oracle allow dropping a column from a table. Before dropping a column from
a table that has been identified in Database Setup, follow the previous steps so Allocation Database
Setup can correctly handle the change. After the table has been altered, re-add it in Database Setup.
1. Start Database Setup and go to "Step 3: Define the groups" (on page 93).
2. Select the groups associated with the List Source table and specify <None> as a List Source for
each, clicking Set each time.
Do these three steps first, because if you remove a List Source table without performing these
steps, Database Setup removes not only the List Source table, but the corresponding groups and
everything associated with those groups.
4. Restart Database Setup and go to "Step 1: Enter the table names" (on page 91).
1. Restart Database Setup and re-add the List Source tables on "Step 1: Enter the table names" (on
page 91). Click Next to go to "Step 2: Enter the dimension names" (on page 92).
2. Go to "Step 3: Define the groups" (on page 93), and specify the tables as List Source tables for
the appropriate groups.
3. Go to "Step 5: Enter the column information" (on page 95), and associate the appropriate product
hierarchy group with the appropriate code column for each table.
4. Go to "Step 9: Set up column mappings" (on page 99), and re-establish the appropriate main key
for each List Source table.
start %JDA_ALLOCATION_SCRIPTS%\AAM\PROCS\PACKAGES\INSTALL.SQL
If you do not use CAQ, run the script NOCAQINSTALL.SQL.
After running the script, check the packages.log in the scripts directory. Contact JDA Support
Services for assistance in resolving any errors.
Read the current Release Notes to identify changes you may need to make to the user tables and
interface code.
The process for updating the system tables is also documented in the Release Notes for the current
version.
Caution:
Do not directly interface to JDA Allocation system objects other than those documented and required
for data and results. JDA reserves the right to change these objects at any time.
Do not alter system objects in any way or future scripts will not be able to update them. For example,
do not rename system objects to fit other naming conventions.
If you use a text data type for your location ID, the values for the location IDs must not contain
spaces.
Required columns. JDA Allocation needs all required columns for its own use.
Optional columns. The optional columns can be used to change the way the application works. For
example, you can define some locations as warehouses by creating a warehouse flag column.
Additional columns. You can use additional columns that help the distributors in their decisions; for
example, you can provide a column for climate that would allow distributors to narrow the range of
locations to warm climates when allocating summer clothing.
You can give the columns in the Locations table any names you want; this naming ensures that the
distributors deal with information that is familiar to them. You must map the required and optional
columns that you create in these tables to the names that JDA Allocation understands, using the
Database Setup utility.
Caution: Operators cannot be used as column names or descriptions in any JDA Allocation table.
You can do this process at any time after you have created the Locations table. The Database Setup
utility runs on the PC and modifies the Allocation database to consider your tables and the names you
have given the columns.
Keep a record of the names of the columns you create in the table, and to which required columns
they apply.
Location ID
The location ID is the code that the application uses to keep track of stores and distribution centers.
Each location ID must be unique in the location table. The location ID may be numeric or text;
however, you must ensure that the location ID contains no spaces.
Caution: You must decide which data type you are going to use for your location ID before you install
the system tables. You must use the same location ID data type consistently in all tables that need a
Location ID column.
The LOCATION_ID data type is used internally by Allocation when creating some system tables and
plan format/staging tables. It is particularly important to ensure that the precision is specified
when the user runs the database creation scripts.
Database drivers occasionally report incorrect information for columns with a data type of
NUMBER, when the precision is not specified for the column. To avoid this issue, specify the
precision when creating tables with columns using numeric data types.
Location Name
The Location Name is the name or description of the location. JDA Allocation can display this name to
the users instead of the location ID when a list of locations is shown. For example, a location may have
the location ID 121 and the Location Name "Fosse Park."
For example, you may set the Available for Allocation flag to Unchecked when the location has been
set up, but you have not started staging the merchandise for the store, or if it is being remodeled.
If you change the Available for Allocation flag from Checked to Unchecked on a location with pending
allocations (in Approved, Unapproved, or Discrepancy status), a warning message will appear
confirming your change.
Ensure that the Available for Allocation flag is set to Checked for all warehouses to which merchandise
can be distributed. If this flag is not set, you are not able to allocate merchandise to reserve. The
Distribution Centers and stores are held in the Locations table. The Available for Allocation flag can be
updated in the Locations Maintenance table in Allocation Administration. See "Maintain locations" (on
page 138) for details.
Warehouse flag
The Warehouse flag specifies whether the location is a warehouse, rather than a store. Warehouses
cannot be sent merchandise through the normal allocation procedure; they can be sent only
merchandise allocated to a reserve warehouse location.
You must have this column if you want to allocate merchandise to a reserve warehouse location.
You do not have to populate every additional column in every row in the Locations table. If the
information is available on your transaction management system, you can provide it or leave the field
null.
Display in WorkSheet
The Display in WorkSheet column indicates to JDA Allocation whether the location should be displayed
in the WorkSheet. It is an optional column. If it is not present, locations of type store are displayed in
the WorkSheet if they are available for allocation.
Display in WorkSheet is used to allow locations to be displayed in the WorkSheet whether they are
stores or warehouses, even if they are unavailable for allocation, as long as they are not excluded due
to user or product location restrictions. Any locations that are unavailable for allocation but selected for
display appear in a read-only state. At the database level, the supported values for this column are Y
and N. If the column is present, any locations where the flag is unchecked (and contains a value of N)
will not be present in the WorkSheet.
Global Coordinates
The Global Coordinates columns (Latitude & Longitude) provide JDA Allocation the global coordinates
of locations so that they can be displayed on the store selection map of the Locations tile on the
Administrator Dashboard. They are optional columns. If both of these columns are not present and
mapped on step 9 of Allocation Database Setup, then store selections are not displayed on the tile’s
map.
The global coordinates columns should be populated with the latitude and longitude coordinates of
every location. For example, a store in Atlanta, Georgia might have a Global Coordinates Latitude
value of 33.7489954 and Global Coordinates Longitude value of -84.3879824.
Set up the WorkList table to display the information the distributors need to know to carry out their
allocations. This information may include styles, colors, sizes, pack sizes, quantities, and order date.
Information that exists on your transaction management system that can help the distributors should
be passed to the WorkList. The distributors can set up views onto the WorkList, allowing them to use
all or a subset of the information passed to them.
The WorkList is very flexible. You can create a WorkList to hold as much information as is available.
You can give each piece of information meaningful headings in the WorkList, using the terminology of
your own organization, so the distributors can readily understand the information.
The WorkList table. The WorkList table contains information from your transaction management
system and is displayed to the distributors. Each row in the WorkList table contains one collection
of merchandise. The exact columns in the tables must be defined in collaboration with the
distributors. There is only one WorkList table.
Merchandise Shape tables. Merchandise Shape tables contain extra information about each
collection of merchandise. For example, a Merchandise Shape table might contain the quantities of
red, blue, and black colors and small, medium, and large sizes in a collection of T-shirts, or the
quantities for each size in a pack of running shoes.
The merchandise type in the WorkList line specifies which Shape table is appropriate. You can have
as many Merchandise Shape tables as you need.
Detail tables. Detail tables contain extra lines of description about parts of the WorkList. For
example, you could have several lines of description for each style. You can have as many Detail
tables as you need.
Set up these tables so they contain the columns the application needs to carry out the allocation of
merchandise and as much information as possible for the distributors.
See "Example tables" (on page 116) for examples of the WorkList table.
Required columns. The application needs all required columns for the system to work.
Optional columns. The optional columns can be used to change the way the application works. For
example, if a particular collection of your merchandise must be sent to a particular warehouse
location when there is merchandise left over from the allocation, you can add a warehouse number
column to the WorkList table.
Additional columns. You can use additional columns that the application does not use for its own
purposes, but which can help the distributors in their decisions. For example, if your operational
system contains information for the fabric content and the merchandise label for all styles, you can
add that information to the WorkList table so that distributors can consider it when allocating. If
desired, data in these additional columns can be edited by users either directly, using a calendar
control for date columns, or selecting a value from a custom drop-down list.
JDA Allocation supports only one level 0 member (often the style level) per WorkList line. The Main Key
for Shape tables should not include anything above level 1 (as defined in "Step 6" (on page 96) of
Database Setup).
Mapping can be completed at any time after you create the WorkList table. The Database Setup utility
runs on the PC and modifies the Allocation database to consider your tables and the names you gave
the columns.
Keep a record of the names of the columns you create in the table, and to which required columns
they apply.
Allocation Number
The Allocation Number is used when the distributor decides to allocate a WorkList line. The line is given
an Allocation Number, which is used to track the merchandise as it goes through the system.
When each WorkList line is written to the WorkList table, the value of the Allocation Number must be
zero.
Allocation User
The Allocation User is used to determine who is currently working on each WorkList line.
When each WorkList line is written to the WorkList table, the Allocation User column must be set to
null.
WorkList Key
The WorkList Key is a number that identifies the WorkList line. This number must be unique in the
WorkList table.
When each WorkList line is written to the WorkList table, the WorkList Key must be set to a unique
number. Sequential numbering of the WorkList Key is one way to get unique numbers.
Status Code
The Status Code indicates whether the WorkList line is available for allocation. When each WorkList
line is written to the WorkList table, the Status Code must be 10, the code for Available. The possible
values for Status Code are shown in the following table.
Status Description
The Status Description column displays the status of the WorkList line to the distributors.
When each WorkList line is written to the WorkList table, the Status Description must be Available.
When each WorkList line is written to the WorkList table, the value of the Status Change Timestamp
must be set to the current system date.
Merchandise Type
The Merchandise Type specifies the shape of the merchandise. To allocate WorkList lines together,
they must have the same merchandise type. You define merchandise types using the Database Setup
utility, Step 10. You can have as many types as you want. For example, you may have a different
merchandise type for a style that has colors and sizes than a hardline SKU that doesn't. When each
WorkList line is written to the WorkList table, the Merchandise Type must be set by the interface to the
type associated with the merchandise.
Trouble Code
The Trouble Code is used if there are problems with a WorkList line. If you have problems with the
merchandise in the WorkList line, you set this column to any non-null value. The application checks the
value of this column every time it tries to change the status of the line. If you have set the Trouble
Code, the application does not allow the use of the line and the merchandise it represents until the
Trouble Code is removed.
When each WorkList line is written to the WorkList table, the Trouble Code must be set to null.
Current Activity
The Current Activity column holds special information about the allocation.
When each WorkList line is written to the WorkList table, the Current Activity column must be set to
null.
Collect Status
For background data collects, the Collect Status column is used to hold the data collect status of the
current WorkList line, as well as Auto-Allocation review information.
When each WorkList line is written to the WorkList table, this column must be null.
When each WorkList line is written to the WorkList table, this column must be null.
When each WorkList line is written to the WorkList table, this column must be null.
When each WorkList line is written to the WorkList table, this column must be null.
Keep a record of the names of the columns you create in the table, and to which optional columns they
apply.
Available Quantity
The Available Quantity column provides the quantities of the merchandise to be allocated. If there is
no Merchandise Shape table associated with the WorkList line, this column must exist and contain the
quantity of merchandise available for allocation. Available Quantity is not used to determine the
WorkSheet details for pack merchandise.
When each WorkList line is written to the WorkList table, the quantity of merchandise available for
allocation must be written either to the WorkList or to a Shape table. If the information exists in a
Shape table, you can still provide data in this column to help the distributors, but JDA Allocation will
use the details in the Shape table for updating the WorkSheet.
This column is required to be mapped and populated if using the status & report functionality on the
Administrator and Client Dashboards to show the total units by status code for a WorkList view.
When each WorkList line is written to the WorkList table, the Default Store Selection can be set to the
name of the store selection appropriate for the merchandise. If entered, this store selection must be a
saved global store view, created in Allocation Administration or the WorkSheet.
The Default Store Selection is loaded on entry to the WorkSheet, unless multiple WorkList lines are
allocated together and they contain different store selections. In this case, no store selection is
opened.
When loading a method and the method contains no store selection, the Default Store Selection is
preserved. If the method contains a store selection, the store selection from the method is opened
instead.
Destination Warehouse
The destination warehouse is the warehouse location to which unallocated merchandise in the current
WorkList line must be sent; for example, you might have three warehouses that store different items.
This column allows you to specify where the unallocated merchandise is sent. If the column is null, or if
you do not set up this column, the merchandise can be allocated to any of your warehouses. If the
column contains a 0 (zero), the merchandise from that WorkList line must be allocated to locations in
the WorkSheet; it will be restricted from sending to reserve.
The warehouse number must contain the valid number of a warehouse that is available for allocation;
this number is the location ID from the location table, where the location has the Warehouse flag set to
Y.
When each WorkList line is written to the WorkList table, the warehouse number must be set to the
number of the warehouse to which the merchandise must be sent, or null if the merchandise can be
sent to any warehouse.
Source Warehouse
The Source Warehouse is the warehouse location from which unallocated merchandise in the current
WorkList comes. For example, you might have a warehouse on the East coast and a warehouse on the
West coast. If you make this column a group, it allows you to create Product Location Restrictions
based on the source of the merchandise. For example, merchandise from the East coast goes to the
Eastern locations, while merchandise from the West coast goes to the Western locations. See "Set up
product location restrictions by source warehouse" (on page 104).
The warehouse number must contain the valid number of a warehouse that is available for allocation;
this number is the location ID from the Location table, where the location has the warehouse flag set
to Y. When each WorkList line is written to the WorkList table, the warehouse number must be set to
the number of the warehouse from which the merchandise comes. If the column exists, it cannot be
null.
Pack ID
The Pack ID identifies the pack. The Pack ID, appended to the UMID, makes up the unique pack
identifier (UPID). This column may exist in a Merchandise Shape table instead of in the WorkList table.
The Pack ID column, the Quantity per Pack column, and the Number of Packs Available column must
be included in the same table; that is, either the WorkList or the Shape table. You must also make the
Pack ID part of the Main Key.
When each WorkList line is written to the WorkList table, the Pack ID must be set to the unique ID of
the pack that makes up the collection of merchandise.
If the Pack ID column is associated with a group in Allocation Database Setup step 5, and the list
source table for that group has a description for each Pack ID, the Pack ID description can optionally
be displayed in the WorkSheet.
This column may exist in a Merchandise Shape table instead of in the WorkList table. It is used only for
pack merchandise.
When each WorkList line is written to the WorkList table, the Number of Packs Available must be set to
the number of packs in the collection of merchandise.
This column may exist in a Merchandise Shape table instead of in the WorkList table. When each
WorkList line is written to the WorkList table, the Quantity per Pack must be set to the number of units
in each pack.
Method Name
The Method Name column contains the name of the method to be used to perform the allocation.
Method Name is required for Auto-Allocation. If multiple methods of the same name are created by
different users, you can specify which user's method to use by including the user ID preceded by a
tilde ~. For example, mymethod~marilyn.
Note: Do not use any special characters, such as a tilde (~), when initially saving and naming a
method.
When loading a method that contains no store selection, the Default Store Selection is preserved. If
the method contains a store selection, the store selection from the method is opened instead.
Model Name
The Model Name column contains the name of the model to be used with the method. The name must
reference a model that has details for all merchandise contained in a WorkList line. The model name
will be associated with the level zero product member identified by the WorkList line, when the line is
allocated.
Distribution Sequence
The Distribution Sequence column contains a value that is used by the system to determine the order
for distributing goods when a SKU or pack from one source warehouse is allocated from multiple
WorkList keys in one allocation.
The system will hand out goods from WorkList rows in ascending order using Distribution Sequence,
followed by WorkList key. The system always distributes to WorkSheet locations first, followed by
reserve stock. As a result, the goods from WorkList keys with a higher value for distribution sequence
will be the units left for reserve stock, as long as the allocation meets the above criteria.
Score
The Score column contains the calculated score of the allocation.
Note: The Score is displayed in the WorkList as a numeric value, but additional encoded information is
stored in this column.
Levels
The Level columns provide information about the merchandise below the style level; for example, the
color, size, and width. Level 0, the merchandise ID level, is defined by the merchandise type of the
WorkList line, but you can add the additional level columns to the WorkList or to a Merchandise Shape
table. Only include a level column on the WorkList if all merchandise uses that level. See "Set up
merchandise IDs" (on page 42) for details.
When each WorkList line is written to the WorkList table, the level information must also be written, if
available.
Note: The WorkList must contain only mapped level columns that are common to all merchandise
being allocated. For example, you cannot have a level column on the WorkList for Color, if some
merchandise does not use that level.
Groups
The Group columns provide information for product location restrictions and data collect; for example,
the Department and Class. These columns can be used to build a hierarchy of the products. You can
create hierarchies from groups using the Database Setup program. See "Step 4: Define the
hierarchies" (on page 94) for details.
You must also have groups for any information for which you want to collect data. For example, if the
allocation is to be based on department and class level plan information, you include columns for
Department and Class on the WorkList table.
Not all groups must belong to a hierarchy. Groups that do not belong to a hierarchy are called non-
hierarchical groups. An example of a non-hierarchical group is price point. It does not belong in a
hierarchical structure, but you may want to restrict data according to the price of the merchandise, or
to collect data for a range of prices. You would create a group for these purposes.
You can have as many groups as you want. You define Groups using the Database Setup utility. Any
table representing a group must have that information established on "Step 5" (on page 95) of
Database Setup.
Columns on the WorkList table that have associated Groups on "Step 5" (on page 95) of Database
Setup cannot accept Null values.
You can add extra columns for such information as style descriptions. You may have a column that
identifies the style by a number, but your distributors may prefer to see such information in more
descriptive terms. For example, you could add a Style_Desc column that would hold T-shirts whenever
the Style_ID column was 112.
JDA Allocation automatically displays all columns in the WorkList table to the distributors; you do not
have to tell the system about these extra columns. If this information grows too unwieldy, distributors
can tailor the display using WorkList views that show a subset of the available columns.
You do not have to populate every additional column in every WorkList line. If the information is
available on your transaction management system, you can provide it or leave the field null.
The sample WorkList tables provide examples of additional columns that distributors may find useful.
See "WorkList tables" (on page 116) for details.
1. Create a table in the Allocation schema to hold the list of values for the column. This list must
use a single column as its key.
2. Add the table in Allocation Database Setup step 1 (on page 91) as a list source table.
3. Create a non-hierarchical group in Allocation Database Setup step 3 (on page 93) to represent
the data. Identify the list source table for the group. Select the column that holds the values as
the code column.
4. Associate this group to the appropriate column on the list source table as well as the desired
column on the WorkList table in step 5 (on page 95). Set the WorkList column to be editable.
5. In step 9 (on page 99), configure the main key for this list source to be the single value
column.
After this configuration is complete, a user can enter a value into the column by selecting it from a list.
The control also supports manual editing of the data as well as pasting of a value from the clipboard. If
the data value must be constrained to entries on the list, an update trigger can be created to reject
any invalid entries.
The merchandise ID should be a unique value. If you have the same style number used for different
products (for example, style number 21361 refers to both teapots and tea towels, depending on the
department and class), you must add additional columns from the WorkList to ensure uniqueness. In
this example, you would need to add a column for Department and a column for Class. If you are using
the built-in data collect, the merchandise ID must consist of groups in your hierarchy. You must
determine the separator character during database setup if you are using multiple columns
concatenated to make up your UMID. Like all WorkSheet levels, the UMID (level 0) must use a text
data type. If it consists of concatenated fields to make the value unique, then it will automatically be
treated as text; however, if it consists of only one WorkList field, such as STYLE_NUMBER, then that
field must be a text data type on the WorkList.
You must decide on the shapes of merchandise your system deals with, and what information defines
each one of the shapes. These shapes are known as merchandise types. The merchandise type is a
number assigned during database setup that describes the shape of the merchandise. Only WorkList
lines with the same merchandise type can be allocated together.
UMIDs and merchandise types are set up in Step 10 of Database Setup. See "Step 10: Set up
merchandise types" (on page 101) for details.
Have a merchandise type associated with it. This information must come from your transaction
management system.
Set up the merchandise types using the Database Setup utility. You must also set up the merchandise
separator character using the Database Setup utility.
If a particular type of merchandise does not have a Shape table (for example, if all merchandise
information is stored on the WorkList line), you can choose to associate the merchandise type with no
Shape table.
Bulk merchandise
For bulk merchandise, the merchandise ID must be made from columns in the WorkList only.
Pack merchandise
For pack merchandise that contains the pack information in a Merchandise Shape table, the
merchandise ID must be composed of columns from the WorkList, with the Pack ID column from the
Shape table added as the final column.
If you do not have a Shape table for a particular type of pack merchandise, and all pack description
columns are on the WorkList, your merchandise ID must be composed of columns from the WorkList,
with the Pack ID column from the WorkList added as the final column.
Note: If a variation of an item is included in the Shape table for a WorkList key, it will be present
when a user takes the line into the WorkSheet, even if the available quantity is zero units. This allows
all the product’s variations to be present in the WorkSheet for visualization of current stock or proper
application of percentage size curves.
When the distributor views the WorkList line, the application checks the Shape table associated with
the WorkList line, and finds the rows that have the same WorkList key as the WorkList line. When each
WorkList line is written to the WorkList table, the rows of the relevant Shape table must be filled in at
the same time.
If your merchandise does not have information below the style level (for example, no sizes associated
with the style) you do not need a Shape table. If your merchandise has only a single combination of
levels (for example, one style, one color, and no sizes), you can store all merchandise information on
the WorkList, rather than in a Shape table.
See "Merchandise Shape tables" (on page 119) for an example of a Merchandise Shape table.
For example, if you have a collection of style 110 (men's polo shirts) with colors red, black, and blue,
in sizes small, medium, and large, you would have a Style column in the WorkList table, and a Shape
table with Color and Size columns. For each combination of size and color (small black polo shirts,
large red polo shirts, and so on), you would tell JDA Allocation the available quantity (100 small black
shirts, 150 large red shirts, and so on).
For example, if you have packs of T-shirts that have small, medium, and large sizes in black, navy,
and maroon colors, you might have a Shape table specify how many of each color-size combination are
in each pack.
Caution: If you have two packs with the same merchandise ID, they must be identical in composition
and size. For example, within style 100.ABC, you have pack A; this pack is made up of three small,
two medium, and two large white T-shirts; a total of seven units. Accordingly, the merchandise ID
100.ABC.A can be used only for a pack comprising three small, two medium, and two large white T-
shirts.
When you set up Shape tables for bulk, you create columns for the levels of detail and the quantity
available for allocation. For example, if the WorkList table contains style information and you want to
allocate down to the color and size level, you need to create columns for color, size, and quantity
available for allocation.
You also have to include the WorkList key. The Main Key of the Shape table must contain the WorkList
key first, plus the extra level information. In the above example, it would be WorkList key, color, and
size.
WorkList Key
Levels
Available Quantity
WorkList key
The WorkList key in a Shape table matches the WorkList key in the WorkList table. It is used to match
the WorkList line with the relevant merchandise information.
Levels
Add columns for the information that defines the composition of the merchandise: size, color, width,
and so on. These must be defined as levels using Database Setup. See "Step 6: Define the levels" (on
page 96) for details.
All allocable levels, such as UMID, color, and size levels, must be defined as VARCHAR2 columns. Text
data cannot have leading or trailing spaces.
Available Quantity
Add a column that specifies how much merchandise is available for each combination of levels.
When you set up Shape tables for merchandise that is ordered in packs, you must create columns for
the levels of detail and pack information. For example, because the WorkList table contains style
information, you need to create columns for Color, Size, Pack ID, Number of Packs, and Quantity per
Pack, if you want to allocate down to the color and size level.
You also must include the WorkList key. The Main Key of the Shape table must contain the WorkList
key first, then pack ID, followed by the extra level information. In the above example, it would be
WorkList key, pack ID, color, and size.
You can include all pack columns (Pack ID, Number of Packs, and Quantity per Pack) in the WorkList,
or include all columns in a Shape table. However, you cannot have some pack columns in a Shape
table and some in the WorkList.
You can optionally include a Preferred Pack column, which the system will use in combination with the
Prioritize Preferred Packs allocation control option. It allows for the identification of specific packs that
the system will tend to allocate in favor of other packs by slightly increasing the calculation engine’s
tolerance for variation between the preferred pack’s shape and the allocation target values. This
increases the likelihood that the preferred pack would be allocated as opposed to other packs of the
same merchandise. The column allows the attribute to be set systematically; however, it can also be
set by an end user.
You must include the following columns for a pack Shape table.
WorkList Key
Pack ID
Number of Packs
Levels
WorkList Key
The WorkList key in a Shape table matches the WorkList key in the WorkList table. It is used to match
the WorkList line with the relevant merchandise information.
Pack ID
The Pack ID column identifies the pack. This column must be used as the last column in the
merchandise type for the pack. It is in the WorkSheet as part of the merchandise identifier code. You
can have more than one pack ID for each WorkList line, if the pack ID is on the Shape table.
Number of Packs
The Number of Packs, along with the Quantity per Pack, is used to determine how much merchandise
is available for allocation. The number of packs must be the same throughout the same pack ID for a
WorkList line. For example, if you have a WorkList line that contains merchandise in three pack types,
A, B, and C, all Shape table records for that WorkList line that contain pack A must contain the same
number of packs; you cannot have more than one quantity of packs for a single pack.
Levels
You must add columns for the information that defines the composition of the pack: size, color, width,
and so on. These must be defined as levels using Database Setup. See "Step 6: Define the levels" (on
page 96) for details.
The composition of the pack is available for viewing by distributors to help them make decisions. JDA
Allocation supports the determination of store Need for the individual components of a pack, and
determines the best combination of available packs to meet store Need.
All allocable levels, such as UMID, color, and size levels, must be defined as VARCHAR2 columns. Text
data cannot have leading or trailing spaces.
Preferred Pack
If this column is included, it must be mapped on step 9 of Allocation Database Setup and the
functionality enabled on step 11. The Preferred Pack column must be a single alphanumeric character
with, for example, the data type CHAR. Acceptable values are ‘Y’ and ‘N’.
Each detail table contains one or more columns from the WorkList table. The lines in the detail table
are matched to lines in the WorkList for every detail table you have defined, and display the extra
information to the distributor.
You can create as many detail tables as you need. The only requirement is that the Main Key of each
table contains at least one column that is mapped to a column in the WorkList table.
Use Database Setup to map one or more of the primary key columns to the WorkList. See "Mapping
columns to WorkList columns" (on page 101) for details.
See "Detail tables" (on page 122) for an example detail table.
The primary key column or columns in the List Source table identify the code for the member, and
another column contains the display name for the member.
For example, if you have Department codes that are unique, your Department's List Source table
would contain two columns: the Dept_Code column (the primary key) and the Dept_Name column.
If you have Class codes that are not unique, but are used in different Departments, you would use two
columns for the primary key, Dept_Code and Class_Code, and a Class_Name column to hold the name
for each class.
It is important that the order of the primary key columns in a List Source table matches the order of
the groups in the hierarchy. In the example above, Department must come immediately before Class
in the hierarchy.
Specify the List Source table to use during Database Setup, and the columns that refer to the code and
display name. If you have multiple columns in the primary key, select the last column in the primary
key as the code. In the example above, use Class_Code as the code, and Class_Name as the display
name. See "Step 3: Define the groups" (on page 93) for details.
This procedure must transfer information automatically from your transaction management system to
the Allocation database.
Discrepancies
If you write information to the WorkList when merchandise has been ordered, you may find the
merchandise you receive does not match exactly what you ordered. Your distributors may have
allocated the merchandise already, based on the wrong figures.
Update quantities
To force the application to re-read the merchandise details, you must update the relevant values in the
WorkList line and associated Merchandise Shape table. This update can be done for WorkList keys in
an Available status. For Approved or Unapproved allocations, if the values are different from what was
originally allocated, update the values, and set the allocation status code of the relevant WorkList lines
to 25 and the status description to Discrepancy.
Set the Status Code column to 99, because the application never uses that number. Set the
status description to Locked and update the Status Change Timestamp.
This update prevents anyone from working on the WorkList line while you are making changes. If the
WorkList line forms only part of an allocation, the rest of the lines also should be locked.
Update the relevant quantities in the WorkList line and associated Merchandise Shape table.
If the merchandise is Approved or Unapproved, set the status code of the WorkList line to 25, and
the status description to Discrepancy. Set the status code to 25 and the status description to
Discrepancy for all other WorkList lines that make up the same allocation.
If a discrepancy occurs for In Progress merchandise, wait until the allocation is no longer In Progress,
then attempt the update again, following these rules, based on its new status code.
If it is in any other state, an update is not allowed, but can be attempted again later.
If you use the Shift function to select a large block of lines across multiple pages, the rows in the
middle may not be refreshed, and will not get loaded. Because JDA Allocation cannot determine the
status of those lines, it disables the Release function.
This behavior is intentional and acts to reduce the amount of memory overhead used when accessing
the WorkList.
Note: Some lines in the following example have wrapped due to page width and are actually on the
same line.
DECLARE
result NUMBER := -1; -- This will be set by the function on return
worklistKey NUMBER := 9999; -- Just a test number
BEGIN
ELSE
dbms_output.put_line('An Oracle error occurred: error code = ' || result );
END IF;
END;
/
DECLARE
result NUMBER := -1; -- This will be set by the function
on return
allocationNumber NUMBER := 9999; -- Just a test number
BEGIN
ELSE
dbms_output.put_line('An Oracle error occurred: error code = ' || result );
END IF;
END;
/
Merchandise is distributed based on the Need of each location. Need can be based on actual data from
your transaction management system, data from other systems, or planned data from your JDA
planning system.
To collect data to calculate the Need based on actual data, you must read the specifications for the
data required, obtain the relevant data from the data source (for example, your transaction
management system), and write this information in a form that can be understood. The information is
written to the appropriate format tables. You must create these format tables to hold the information
you want to use in calculating the Need of each location.
For definitions of the Data Collection tables, see "Table definitions" (on page 105).
QUEUE_OUT table
QUEUE_IN table
DC_FORMAT_HEADER table
DC_RULE_HEADER table
DC_RULE_DETAIL table
RTMM_GROUPS table
DC_COND_HEADER table
DC_COND_DETAIL table
Each format table must contain a column for the location ID, which represents the store to which the
results pertain. It must also contain a column for the allocation number of the merchandise. An
allocation number is assigned to a WorkList line when the process of allocation begins.
You must create columns on the format table for the following items.
Variable components. Each component of the Need variables that the distributors use must be
included in a format table. For example, SALES_01AGO.
Levels. A level is a product dimension/variation present in the WorkSheet. This begins with level 0,
the UMID, and goes all the way down to the lowest variation. For example, your levels below 0
might be assigned as level 1: color, level 2: size, and level 3: width. Levels only exist at the unique
merchandise level and below and must be included in a format table in which data is collected .
The levels are defined in Step 6 of Database Setup.
Hierarchy group members. The hierarchies are created by naming them and selecting their groups
(members) in Step 4 of Database Setup. If you are using the Like Store Support functionality, you
must include all members of the Like Store hierarchy range for which data is collected in the
format table. The Like Store Hierarchy Range is defined in Step 8 of Database Setup. If you put
groups above level 0 in your format table, be sure your data collect procedure never populates
more than one record per location above level 0.
Variable Key. If your business requires multiple levels of collected data to be used in a single Need
calculation, then the collected data must also be identified by Variable Key. This column must be
mapped in the optional columns in Allocation Database Setup.
Use the Database Setup utility to provide (Step 1) the names of the tables, associate (Step 5) the
hierarchy groups to the format table columns, and map (Step 9) the required columns (Location ID
and Allocation Number), optional columns (Level), and optional variable key.
Note: Variable columns that are mapped to logical fields in Step 9 will be populated by Allocation. The
data populated by Allocation could override any custom data collect. These variable columns include
the following logical fields on the format table:
Prior Results
Model Threshold
Model Target
Variable components
You must add columns for the components the distributors want to use in creating variables, such as
sales, stock, or historical sales.
For example, if a distributor wants to create a Need variable based on sales over three weeks, defined
by:
When the data collect process is run, the data collect procedure collects the information for
Sales_01Ago, Sales_02Ago ,and Sales_03Ago, and stores it in the format table, so a value for
Sales3Weeks can be obtained.
Levels
If you want to use low-level Need, you must add columns for the merchandise levels. For example, if
you are allocating a collection of shirts in small, medium, and large sizes, and you collect data for
small, medium, and large sizes, you must have a column for the size code in the format table so the
correct data is used for the correct merchandise.
In this situation, there is more than one line of data for each location ID; there should be three rows,
one for each size.
All allocable levels, such as style, color, and size levels, must be defined as VARCHAR2 columns. When
the format table is populated, any level columns that are not used for the current allocation must be
left null.
For example, when the table contains columns for style, color, and size, but the distributor has
requested data at the style level, the column for Style contains the style ID for the merchandise being
allocated, but the color and size columns contain nulls.
Unique Merchandise ID
If you plan to collect data at the UMID level (level 0), you must populate the UMID column with the
merchandise ID used when displaying the merchandise.
For example, if the merchandise ID comprises the Department, Class, and Style columns concatenated
with a period as the separator, and the merchandise is from Department 100, Class 150, Style ABC,
you must populate the UMID column of the format table with 100.150.ABC. Alternatively, your UMID
could simply be constructed of the Style, because it is unique on its own. In this case, the UMID
column of the format table would contain ABC.
You must include columns for the members of your merchandise hierarchy, for example, Division,
Department, and Class, when using the Like Store Support function.
The application does not support multiple records per location above the unique merchandise (level 0)
on a format table for single data collect request.
Main Key
This key must comprise the allocation number, location ID, and all appropriate level columns; for
example, allocation number, location ID, UMID, color, and size. This key is not a primary key on the
format table. See "Format table indexes" (on page 125) for details on performance enhancements.
You can use this table for collected data at the following levels.
Department
Class
Style
Color
Size
You would populate the table for each location; this example shows data for location 030 only.
Again, you would populate the table with data for all locations.
Dept=01; Class=014
you might populate the table with the following:
Dept=01; Class=014
Dept=01; Class=028
you might populate the table with the following:
You can have only one value per variable per store, if the data collect is above the unique merchandise
level; in this example, Department or Class. If you collect for more than one class, you sum or average
the values for each class and transfer the values for the variables to the format table.
Note: The built in data collect will sum the data, if collecting for more than one member above level 0
in a data collect request.
You must use Database Setup to set up these ranges. See "Use the Database Setup utility" (on page
87) for full details.
You must create and set up your format tables and parameters before creating a data collect range.
2. Go to "Step 8: Set up hierarchy ranges and associations" (on page 97) of Database Setup.
4. Click New.
6. Select the Format table for which you want to be able to create data collect levels.
7. Select the Parameter, if any, you want for the current range.
9. Select the first member of the hierarchy you want to use in data collect levels from the Start
Group list.
10. Select the last member of the hierarchy you want to use in data collect levels from the Stop
Group list.
12. If you want to add non-hierarchical groups to data collect levels, click Associate. See "Change
associated groups" (on page 99) for details.
2. When building a data collect range on "Step 8" (on page 97) of the Database Setup utility, select
the appropriate parameter.
A resulting data collect rule built from this data collect range will contain the parameter value. This rule
can be used by the data collect engine to apply special rules to the data collect.
Collect data
Data collection on demand occurs when the distributor requests a data collect from the application. For
collection of actual data, you must collect the data, and present it in a specified format table, which
can use the information to determine the Need of each location. If you are not using the built in data
collect, you must implement a custom data collect.
Note: If your business requires multiple levels of collected data to be used in a single Need calculation,
then multiple data collect requests can be issued at the same time for a single allocation. If you find
that this causes your server to become overburdened, you may want to process these requests serially
by user.
1. Periodically read the QUEUE_OUT table in the Allocation database. This table contains the list of
actions to be performed by the host system.
Queue_ID: This column contains a sequential number that identifies the queue entry. Process
the queue entries with the lowest queue IDs first.
Queue_Entry_Type: For data collect requests, this column is set to RULE (carry out the
specified data collect rule).
DC_Rule_Key: This column specifies the data collect rule to be implemented. The rule
determines the data to be collected and to which format table the data should be written.
Allocation_Nbr: This number identifies the request and is written to the QUEUE_IN table to
specify the request for which data has been collected. Each request for data collection has a
unique allocation number.
XMLRequest: This column contains an XML description of the data collect request. See "XML
data collect example" (on page 60).
XML_REQUEST: This column serves the same purpose as the XMLRequest column, but
supports larger values. The XMLRequest column has been maintained for historical purposes.
Example
Queue_ID: 1
Queue_Entry_Type: RULE
DC_Rule_Key: 83
DC_Cond_Nbr: 0
Allocation_Nbr: 1005
Action: COLLECT
XMLRequest / XML_REQUEST: See "XML data collect example" (on page 60).
2. Read the DC_RULE_HEADER and DC_FORMAT_HEADER tables to find the format table associated
with the rule. Delete any records in the format table for the current allocation.
Note: If your business requires multiple levels of collected data to be used in a single Need
calculation, then use the VARIABLE_KEY value from the DC_RULE_HEADER table to identify both
the data on the format table as well as the QUEUE_IN record. When cleaning the format table as
part of the data collect process, delete records by allocation number and variable key.
Match the contents of the DC_Rule_Key column of the QUEUE_OUT table to the DC_Rule_Key
column in the DC_RULE_HEADER table. The DC_Format_Nbr column for that row contains the
number of the associated format table.
Note: After the QUEUE_OUT request is handled, it should be deleted. See "QUEUE_OUT" (on page
105).
Next, match the DC_Format_Nbr column in the DC_RULE_HEADER table to the DC_Format_Nbr
column in the DC_FORMAT_HEADER table. The Table_Name column for that row contains the
name of the format table to which the data collect results must be written.
Example
If the DC_Rule_Key in the QUEUE_OUT table is 83, you read the row in the DC_RULE_HEADER
table that has a DC_Rule_Key equal to 83.
This row might contain a DC_Format_Nbr of 3, meaning that results for data collect rule number
83 must be written to format table number 3.
You would read the row in the DC_FORMAT_HEADER table with DC_Format_Nbr equal to 3, and
find that the Table_Name column contains the entry SALES_STOCK, meaning that data collect
format table number 3 is the table SALES_STOCK. Therefore, results from data collect rule number
83 should be written to the format table SALES_STOCK. Before inserting any data into
SALES_STOCK, delete any records for Allocation_Nbr 1005.
You need to read the rows in the DC_RULE_DETAIL table that have the DC_Rule_Key that was in
the QUEUE_OUT table. These rows make up the data collect rule; this rule describes what data
must be collected.
A data collect rule is made up of phrases and components; a phrase might be "Collect data where
Department equals 100, Class equals 10, Style equals 20, and Price Point is greater than $10.99".
A component is part of a phrase; for example, "Department equals 100" is the first component of
the above phrase.
You can have multiple phrases if you have implemented parameters; each phrase must have a
different parameter.
The DC_Rule_Component_Nbr column specifies the number of the component in the current
phrase.
The DC_Rule_Parameter_Code column specifies the parameter code for the current phrase.
Dimension_Nbr: This column specifies the dimension of the group. For example, dimension 1 is
the Product dimension.
Group_Nbr: This column, together with the Dimension_Nbr column, specifies the number of
the group. For example, dimension 1, group 2 may be Department in your hierarchy.
Read the RTMM_GROUPS table to find out the group that is being specified. Look for the line with
the same Dimension_Nbr and Group_Nbr, and read the Group_Name column; this column provides
the name of the group to which the data collect rule applies.
DC_Rule_Operand_Code: This column specifies the comparison operator for the group. The
DC_Rule_Operand_Code may be one of the following.
= equal to
Note that the built-in data collect process supports only the "=" equal to operand code.
DC_Rule_Value: The DC_Rule_Value specifies the values for which data is to be collected.
Example
Dimension_Nbr 1
Group_Nbr 2
DC_Rule_Operand_Code =
DC_Rule_Value 100
Example
If the rule states "Collect data where Department equals 100, Class equals 10, Style equals 20,
and Price Point is greater than $10.99", and the associated format table SALES_STOCK contains
columns for:
Allocation Number
Location
Sales3WeeksAgo
OnHand
you collect the Sales3WeeksAgo and OnHand data for all locations, where Department equals 100,
Class equals 10, Style equals 20, and Price Point is greater than $10.99, and fill the table with the
results.
You would populate each row with the allocation number from the QUEUE_OUT table.
Note: If your business requires multiple levels of collected data to be used in a single Need
calculation, then also populate the mapped variable key column on the format table with the
variable key from the DC_RULE_HEADER table for the data collect request.
5. When the collect process has finished, write an entry to the QUEUE_IN table specifying the
allocation number from the QUEUE_OUT table to allow JDA Allocation to retrieve the results. In the
same transaction, delete the QUEUE_OUT record that initiated the request.
Note: If your business requires multiple levels of collected data to be used in a single Need
calculation, then update the QUEUE_IN variable key column with the variable key from the
DC_RULE_HEADER table for the data collect request.
Example
JDA Allocation recognizes the allocation number (in this case, 1005) and looks in the format table
that applies to the current allocation. This table contains the requested data.
In the following example, the XML data collect request is for data collect rule 742 and allocation
number 797. The host phrase is Grp#2='01' AND Grp#3='181' AND Grp#4='23646SK'. (We ignore a
parameter code of type A, which is used for plan data.) The target format table is SALES_STOCK.
Support Partial Format Table Records is enabled, so only SALES1_AGO, SALES2_AGO, SALES3_AGO, and
SALES4_AGO need to be collected, but the host still must issue a delete for the current allocation
number.
<xml xmlns:aal="http://jda.com/arthur/allocation">
<aal:HOST_REQUEST>
<aal:QUEUE_OUT QUEUE_ID="343" QUEUE_ENTRY_TYPE="RULE" DC_RULE_KEY="742"
DC_COND_NBR="0" ALLOCATION_NBR="797" ACTION="COLLECT">
<aal:DC_RULE PARTIAL_DATA_COLLECT="Y" DC_RULE_KEY="742" DC_FORMAT_NBR="1">
<aal:DC_PHRASE DC_RULE_PARAMETER_CODE="H" HIERARCHY_NBR="1">
<aal:DC_COMPONENT GROUP_NBR="2" DC_RULE_OPERAND_CODE="="
DC_RULE_VALUE="01" />
<aal:DC_COMPONENT GROUP_NBR="3" DC_RULE_OPERAND_CODE="="
DC_RULE_VALUE="181" />
<aal:DC_COMPONENT GROUP_NBR="4" DC_RULE_OPERAND_CODE="="
DC_RULE_VALUE="23464SK" />
</aal:DC_PHRASE>
<aal:DC_PHRASE DC_RULE_PARAMETER_CODE="A" HIERARCHY_NBR="4">
<aal:DC_COMPONENT GROUP_NBR="1" DC_RULE_OPERAND_CODE="="
DC_RULE_VALUE="01" />
<aal:DC_COMPONENT GROUP_NBR="2" DC_RULE_OPERAND_CODE="="
DC_RULE_VALUE="01" />
<aal:DC_COMPONENT GROUP_NBR="3" DC_RULE_OPERAND_CODE="="
DC_RULE_VALUE="181" />
</aal:DC_PHRASE>
<aal:FORMAT_TABLE DC_FORMAT_NBR="1" TABLE_NAME="SALES_STOCK">
<aal:COLUMN NAME="SALES1_AGO" />
<aal:COLUMN NAME="SALES2_AGO" />
<aal:COLUMN NAME="SALES3_AGO" />
If the data collect completed successfully, leave the Status column null.
If the data collect did not complete successfully, write a message to the Status column. This message
is interpreted as a failure, and the message is displayed to the user.
Note: If your business requires multiple levels of collected data to be used in a single Need
calculation, then update the QUEUE_IN variable key column with the variable key from the
DC_RULE_HEADER table for the data collect request. If any pieces of a multi-level data-collect request
report an error, the system will wait until the remaining requests finish before presenting that error to
the user.
Use the Data Collects tile on the Administrator Dashboard to monitor the state of active host data-
collect processes, and also instruct JDA Allocation to stop waiting for a data collect process that is not
responding.
For more information, see the Online Expert (OLE) by selecting Help within Allocation Administration.
For more information, see the Online Expert (OLE) by selecting Help within Allocation Administration.
There is a sample script that can be used to create the staging areas. The sample script can be found
in SCRIPTS\SAMPLES. It creates staging area tables for Actual_Size and Actual_Class, and staging
area views of those tables for Actual_Division, Actual_Department, Actual_Style, and Actual_Color.
Summarizing historical data from the lowest level to the highest level using a view is not
recommended, unless performance tests yield acceptable timings.
The administrator specifies the names of the staging areas in Step 1 of Database Setup. You select the
type of table called Staging to identify staging areas. See "Step 1: Enter the table names" (on page
91) for details.
In Step 3 of Database Setup, you associate a staging area with a group. For each group, the
administrator selects a staging area from the list and clicks Set. The application performs all required
mappings and groups associations for all staging areas. There is no need to supply information for any
staging area table in Step 5 or Step 9 of Database Setup. See "Step 3: Define the groups" (on page
93) for details.
To enable built-in data collect, select the Enable Built-In Data Collect option in Step 11 of Database
Setup. See "Step 11: Set the JDA Allocation system parameters" (on page 103) for details. If you
select the Enable Host Data Collect option in Step 11 of Database Setup, you have to provide a data
collect procedure.
The built-in data collect from the staging areas only collects following a standard hierarchy, including
any non-hierarchical groups associated with hierarchical groups in the data collect range on Allocation
Database Setup Step 8. You are able to collect in conjunction with or instead of our process by
enabling both the Built-In Data Collect as well as the Host Data Collect options. If you enable both
options, the custom data collect procedure needs to purge the format table records for the current
allocation, even if USE_BUILT_IN_DC will be set to Y. If the database is configured to support multiple
levels of collected data, then this purge is keyed by allocation number and variable key. When a data
collect is initiated, the application waits until the Host Data Collect has updated the QUEUE_IN table
before performing the built-in data collect. The QUEUE_IN record indicates whether a built-in data
collect is required. To facilitate this data collect, a column called USE_BUILT_IN_DC is on the
QUEUE_IN table. Set this parameter to Y to use the built-in data collect.
Note: The built-in data collect procedure has an internal limit on the size of the data collect rule that
can be used. Many aspects of the implementation configuration come into play that can affect what fits
within this limit. However, a general approximation for most implementations is that the built-in data
collect will likely support up to a 100 phrase data collect rule at the size level. As the default behavior
is that each WorkList key being allocated generates one phrase, this means that the limit of built-in
data collect should allow a data collect for up to 100 WorkList keys.
Note: Using group columns on the format table to determine like store rule application means that if
you have a custom or alternate hierarchy data collect, you must decide how to populate these group
columns based on the data collect request (or on whatever you decide to use).
The Like Store column on the format table is populated with the like store number or like store
selection to indicate to the allocator that a like store rule has been applied during the data collect. The
like store column is always available for display on the WorkSheet via member select when it is
mapped. The Like Store column is listed in the Non-Variables folder in the Variable Edit dialog box.
Note: The like store/selection is still listed in the column, even if the Need calc does not reference
variables selected for inclusion in like store functionality.
Alternatively, JDA Allocation collects assortment data from the Buying and Assortment Management
(Assortment) database in a similar manner.
If the database is configured to use product and location structure data from EKB, go to the next
step.
For other databases, ensure that your level names on step 6 are valid Oracle column names and
that they match the corresponding group names on step 3. However, do not add a plan hierarchy,
plan staging table, plan format table, or plan data collect range. That information is all maintained
by the system. Simply select the Enable Planning Data From EKB option in step 11 of Database
Setup and update the database.
2. Ensure that your EP Mid-Tier application server is running and that the TNS entry used by the EP
Mid-Tier to connect to the EKB database exists not only on the application server machine, but also
on the AL database server.
3. Define an EKB structure context for AL to use. It must identify the subcube set for all EP and AP
measures that will be used by Allocation. This structure context will be built when AL is configured
to use it. After that, it must be rebuilt whenever structure changes are made to EKB so that
Allocation will be able to collect plan data.
4. Start Allocation Administration and select EKB Information… from the Maintain menu.
5. Configure your EP Mid-Tier connection, select the EKB structure context that was defined for
Allocation, map EKB levels to Allocation product groups for data collection, and select EKB
measures for use within Allocation Need calculations. The application will automatically set up the
hierarchy, data collect ranges, and data collect levels as well as the plan staging and format tables.
Detailed information on this configuration step is found in the Online Expert (OLE) by selecting
Help from within Allocation Administration.
6. By default, user-requested data is cached within the system. To clear the cache, you must purge
the PLAN_STAGING and EKB_PRODUCTS tables regularly. This purge can be scheduled for a
time when no users are in the system using a DBMS job within the Oracle database.
The format can be defined for hierarchical groups in Allocation. It consists of a format string in which
the group/level code and additional characters are formatted to match the corresponding EKB member
ID. Additional text can be embedded, as long as it does not interfere with level names. To embed a
level member into this format string, start with a percent (%) symbol, followed by the minimum
number of characters for the level member ID and the group/level name in uppercase. The ID will be
prefixed with zeros if necessary to meet the minimum length. Trailing zeros or other text can be added
where required. Some examples are shown below.
Notes:
You should successfully log in to establish a connection to the database prior to using the
command line syntax to start any of the AL applications. A connection file can also be included as
one of the command line options.
1. In "Step 4" (on page 94) of Database Setup, establish the plan hierarchy. If you intend to use data
at level 0 or below, be sure to include groups that are part of the unique merchandise ID. Your
group names must be valid Oracle column names.
2. Verify the levels are valid column names in "Step 6" (on page 96) of Database Setup.
3. Deselect "Enable Planning Data From EKB" and select the plan hierarchy in "Step 11" (on page
103) of Database Setup.
4. In Allocation Administration, build the base variable list. See "Maintain the base variable list" (on
page 145) for details.
The application creates the staging area (PLAN_STAGING) and format table (PLAN_FORMAT). The
columns are named using the following rule.
<VariableName>_<Time periods>OUT
For example, SALES for three time periods yields SALES, SALES_1OUT, and SALES_2OUT.
Note that the use of two placeholders for the number of time periods in the base variable names is
a new feature as of the 7.6.0 release. If your database was set up for manual population of the
PLAN_STAGING area prior to that version, then it will continue to use the original pattern of
SALES, SALES_1OUT, SALES_2OUT, etc.
The staging area contains columns for all groups in your plan hierarchy. These columns are
associated with proper groups in "Step 5" (on page 95) of Database Setup. In addition, any
required mappings ("Step 9" (on page 99)) are performed. No further mapping is required.
5. Establish the data collect range in "Step 8" (on page 97) of Database Setup.
6. Return to Allocation Administration and create the data collect levels for the PLAN_FORMAT table.
7. Populate the PLAN_STAGING table with your plan data. Do not populate the PRODUCT_KEY field.
This field is used by Allocation when interfacing data from EKB.
8. Populate the PLAN_TIME_ORDER table with your time codes. For format information, see "Table
definitions" (on page 105).
You may decide to use only one plan time code and replace all data in your PLAN_STAGING table
every time period.
9. In Allocation Administration, choose Action > Set Current Time Code > Planning, and select a
time code from the list.
Plan data coming into the application is always rounded into whole numbers.
If the PLAN_STAGING or PLAN_FORMAT tables must be dropped and rebuilt, the AAM_PARAMETERS
table must be modified prior to rebuilding them in Allocation Administration. For PLAN_STAGING, set
the value of PLAN_STAGING_VALID to N. For the PLAN_FORMAT table, set the value of
PLAN_FORMAT_VALID to N. For the AAM_PARAMETERS table, execute the following statements:
The results table contains information about how much merchandise is to be sent to each location. For
example, the results table might contain a line that says that 150 small red T-shirts from a particular
WorkList line should be sent to the Fosse Park location. You must pass this information to your
transaction management system so the right quantities of the right sizes and colors of the
merchandise are sent to the right location.
QUEUE_OUT table
RESULTS_DETAIL table
The QUEUE_OUT table informs you when there are results to collect, and the RESULTS_DETAIL table
contains the results to be collected.
For definitions of the Results Collection tables, see "Table definitions" (on page 105).
Collect results
When the allocation is completed, the results are written to the RESULTS_DETAIL table, and a
notification is written in the QUEUE_OUT table.
You must set up procedures on the host system to carry out the following steps.
1. Periodically read the QUEUE_OUT table in the Allocation database. This table contains the list of
actions to be performed by the host system. For results collection, the Queue_Entry_Type column
contains RES, meaning results collection.
The only code that can be displayed in the Action column for results collection is REL. This code
means the allocation results are released and ready for collection.
Example
For example, the QUEUE_OUT table might contain the following information.
Queue_ID 1
Queue_Entry_Type RES
Allocation_Nbr 1005
Action REL
This information means results for the allocation number 1005 are ready for collection.
2. Read the RESULTS_DETAIL table, and obtain the results from the allocation by finding all rows in
the results table that have the allocation number mentioned in the QUEUE_OUT table.
For bulk merchandise, the results table also can contain information about the levels (size, color,
width, and so on) of the merchandise.
Example
For example, one of the lines in the RESULTS_DETAIL table might contain the following
information.
Allocation_Nbr 1005
Location_ID 52
Unique_Mer_Key 2
Level1_Desc 012
WL_Key 175
Result_Qty 150
For the allocation number 1005, which refers to the WorkList line with the WorkList key of 175,
150 units should be allocated to the location with location number 52.
For pack merchandise, the result_qty would be the number of packs, not the total number of units.
If CAQ is to be adjusted as results are purged, decrement the CAQ_HOST table for the allocation.
For example:
Execute AllocCAQ.DecrementCAQEx(1005);
If extra information is needed, for example, the purchase order number, this information can be
obtained from the WorkList table by looking at the line with the same WorkList key.
If you allow distributors to add comments to the WorkList by making some columns editable, you
can extract this information in the same way.
Note: After the QUEUE_OUT request is handled, it should be deleted. See "QUEUE_OUT" (on page
105).
Delete results
After you update the transaction management system with the results, the results and WorkList
records need to be cleaned up. It is your responsibility to configure and execute a clean up process. A
Results Purge process is provided that can be configured in Allocation Administration and executed
programmatically. See the Enable Results Purge option under "Set the general parameters" in
Allocation Database Setup: Step 11.
Note: Many customers leave the results and their associated WorkList records in the Allocation
database for a short period of time, to be used as a reference for future allocations. After results have
been generated for an allocation, the WorkList and Shape table records are linked to the results and
cannot be purged independently.
You can provide a single grade per location, or a series of grades for each location, depending on the
merchandise being allocated or the current Grading time period. The merchandise information can be
taken from the WorkList, or you can let the distributors choose the grading attributes to use for an
allocation.
You can use grading information in variables, templates, and minimums and maximums.
When Store Grading is enabled, a Grading dialog box displays whenever a distributor goes into the
WorkSheet, allowing the distributor to select the grading criteria for the current allocation. While in the
WorkSheet, the Store Grading Dialog can be selected from the WorkSheet Criteria > Grading menu.
This table allows distributors to use grades to select groups of locations for templates and minimums
and maximums, as well as using the grade of each location when building the Need variables.
You must create the GRADE table and populate it with the locations and grading information from your
grading software. You must keep the grading data current.
Location ID
Grade
Location ID
The Location ID holds information for the locations for which you have a grade.
Grade
The grade is the actual grade for the location.
Time Period
The time period is used to store the Grading time period for which the grade is relevant.
If you do not slice grade data by time, enter a dummy value in this column, for example, TIME.
Merchandise Information
Your Merchandise Information columns refer to the type of merchandise for which each grade is
relevant. For example, some locations might sell menswear in large quantities and womenswear in low
quantities; accordingly, they would have a high grade for menswear and a low grade for womenswear.
This data may be the hierarchical information from your JDA planning system; for example, the
department and class information. You can map these columns to your WorkList so the application
automatically selects the correct type of grade for the merchandise you are allocating. If the
information is not available on your WorkList, or you are allocating more than one sort of merchandise,
the distributor can select the criteria to use for grading.
By making the Main Key a unique key rather than a primary key, you can leave some of the columns
blank when populating the table. For example, you can include both Department and Class level
grades by leaving the Class column blank for the Department level grades, and populating both for the
Class level grades.
See "Use the Database Setup utility" (on page 87) for full details.
2. Click New, type the table name GRADE, then click Set.
3. Leave the Table Type blank and click Next. Database Setup processes the list of tables; if it
cannot find any table, it warns you. Check that your tables are set up correctly.
4. Go to "Step 9: Set up column mappings" (on page 99) of the Database Setup utility.
5. Select the GRADE table, and click Main Key. The Main Key Maintenance dialog box is displayed.
6. Enter the columns from the GRADE table that make up the unique key.
7. Click Map to WL to map your merchandise information columns to the WorkList, click Close, then
click OK.
The GRADE WorkList mappings are required for levels above level 0. Because a location may have
only one grade while in the WorkSheet, JDA Allocation does not support grading at or below level
0.
8. Select the table again, and click Mappings. The Mappings dialog box is displayed.
9. Map all required columns to their relevant columns on the table, and click OK.
10. Go to "Step 11: Set the JDA Allocation system parameters" (on page 103) of the Database Setup
utility.
CAQ returns a value for the merchandise you are allocating, which may not be the merchandise for
which you have collected data. If you have a variable like Sales minus CAQ, where you are allocating
red T-shirts based on mapped collected data (using Like Products) for yellow T-shirts, the Sales value
is taken from the yellow T-shirts, and the CAQ value is taken from the red T-shirts you have already
allocated.
CAQ is always collected for the current product, even if alternate hierarchy data collect is used. DCAQ
follows the data collect rule, but it does not support alternate hierarchies.
Because CAQ looks at the Need level to determine what to load, and the Need level is never above the
WorkSheet level (0), it does not distinguish between different levels above the WorkSheet level. As
soon as it determines that Need is above the WorkSheet level, it uses information from the WorkList to
load CAQ for one level above the WorkSheet level. If quantities specific to a group in the data collect
rule are required, then the answer is to use DCAQ.
Note: CAQ for allocations that were produced using Planning data has no time period other than
current. The CAQ is written and read, using only the CAQ slice for the selected plan time code. This
CAQ does not age, so it never becomes current. If you want to include this CAQ in your other
allocations, do not map a time code on your CAQ_HOST table.
When merchandise is allocated, the results from the allocation are written to the CAQ_HOST table
when the user leaves the WorkSheet, whether the status of the merchandise is Approved, Unapproved,
or Released. This table provides a record of the merchandise that has been allocated to date.
If you back out a collection of merchandise, the results from that allocation are removed from the
CAQ_HOST table and the quantities are reduced.
When you set up procedures to read from the results tables into your transaction management
system, you must adjust the quantities in the CAQ_HOST table accordingly. As soon as the allocated
merchandise is considered in the data received from the data collect process, it should no longer show
up in the CAQ values. See "Decrementing values in the CAQ table" (on page 76) for details.
Location ID
Levels
Quantity Allocated
You can include extra columns to help identify the CAQ, which can be any WorkList columns that are
mapped to a group. Database Setup also must be used to map these columns to the WorkList. Because
these are groups, they cannot contain null values. The columns on the CAQ_HOST table are populated
with the appropriate data from the WorkList, if you follow these instructions.
Location ID
The location ID is used to store information for the locations to which you allocate.
Groups
You may include the hierarchical groups above level 0, if you intend to collect data above level 0.
These other groups should be included in the main key above level 0, and must be mapped to the
WorkList in that main key.
Levels
You must include at least the column for level 0; the unique merchandise ID column. You also must
include the maximum number of levels to which you allocate; for example, if some of your
merchandise comes in combinations of only style and color, and other merchandise comes in
combinations of style, color, size, and width, you must include columns for level 0 (unique
merchandise), color, size, and width.
Quantity Allocated
The quantity allocated is the amount of merchandise allocated for the current combination of location
and levels; for example, the merchandise allocated to location 001, unique merchandise
100.200.1ABC, color Red, and size Medium. The quantity allocated represents the bulk number of units
allocated, regardless of whether the initial allocation was for pack or bulk merchandise.
This quantity is cumulative. The application adds to it whenever more merchandise is allocated, and
subtracts from it whenever merchandise is backed out. You must set up procedures to subtract the
released merchandise quantities when you update your transaction management system. Alternatively,
you may decide to wait and refresh CAQ quantities nightly, for all Approved and Unapproved lines that
remain on the WorkList at the end of the day, to coincide with the updated stock quantity information
being made available from your transaction management system.
WorkList Columns
You can include any WorkList columns that are mapped to a group and cannot contain null values.
These columns may help identify the CAQ for specialized data collects.
Unique Key
See "DCAQ/CAQ index" (on page 126) for the exact order of columns.
2. Click New, type the table name CAQ_HOST, then click Set.
3. Leave the Table Type blank and click Next. Database Setup processes the list of tables; if it
cannot find any table, you are warned. Check that your tables are set up correctly.
4. Go to "Step 5: Enter the column information" (on page 95) of the Database Setup utility.
5. For all columns on the CAQ_HOST table that correspond to groups in your product dimension,
select the column and the appropriate group, then click Set.
6. Go to "Step 9: Set up column mappings" (on page 99) of the Database Setup utility.
7. Select the CAQ_HOST table, and click Main Key. The Main Key Maintenance dialog box is
displayed.
8. Enter the columns from the CAQ_HOST table that make up the unique key.
9. Click Map to WL to map your additional columns to the WorkList, click Close, then click OK.
The CAQ WorkList mappings are required for style level and above. These mappings are how CAQ
determines which levels are style level and above. Because JDA Allocation does not display any
level above level 0 (or UMID) in the WorkSheet, we need to use a different method to find the
corresponding values; for example, a lookup back to a WorkList column.
10. Select the table again, and click Mappings. The Mappings dialog box is displayed.
11. Map all required columns, and all optional columns you have used, to the relevant columns on the
table, and click OK.
To map the levels you may have used (for example, unique merchandise ID, color, and size), you
must have set up the levels previously.
12. Go to "Step 11: Set the JDA Allocation system parameters" (on page 103).
13. Select the Enable Currently Allocated Quantities option in the General section. CAQ values are
not used unless this parameter is set.
Maintain CAQ
Functions are available through Oracle scripts that provide support in maintaining CAQ.
EXECUTE ALLOCCAQ.DECREMENTCAQEX(AllocationNumber)
AllocationNumber is the current allocation number with a data type of NUMBER.
Data cached in the CAQ$CHS staging table is used, if it exists. Otherwise, the staging table is
populated using the original allocation results, WorkList, and Shape table data. RESULTS_HEADER,
RESULTS_DETAIL, WorkList, and Shape table records must exist for the specified allocation.
If the allocation number is not in an appropriate state, or if the required data is not present, no action
is taken.
For faster performance on future updates to the table, the procedure does not delete the record from
CAQ_HOST when the quantity allocated value is reduced to zero. It does not allow values to go
negative; if the result of the decrement is negative, the result is updated to zero.
EXECUTE ALLOCCAQ.REBUILDCAQHOST
The CAQ_HOST table is truncated and repopulated with results for all approved and unapproved
allocations on the WorkList. This update does not include released allocations.
The CAQ$CHS staging table is always repopulated using the original allocation results.
RESULTS_HEADER, RESULTS_DETAIL, and Shape table records must exist for all approved and
unapproved allocations on the WorkList.
The procedure removes records from CAQ_HOST for products not in Approved or Unapproved status.
As a result, performance degradation occurs the next time a user writes results for something that was
not approved on the WorkList prior to the execution of the rebuild.
Models must contain information at or below level 0 (unique merchandise). Models contain information
by Location. The Model Data Collect will bring in only data for locations that exist in the model. Models
can be established at any level, without establishing all higher levels. For example, if level 1 is color
and level 2 is size, you can create one model at the size level that pertains to all colors for the size.
You can specify a wildcard value at any level of a model, as well as for the location ID. The wildcard
value is a double asterisk (**) for level codes and -1 for the location ID. When a wildcard value exists
in a model, it is used for all members of the specified level that do not have values in the model for the
product being allocated with the model. A model that contains a wildcard value in one level can also
contain specific values at that level. For example, a model that has target and threshold values for
black, white, and ** can be used for allocating a product that comes in black, white, green, blue, and
yellow. In this example, the target and threshold values for green, blue, and yellow are populated
using the target and threshold specified by the wildcard. Levels specifying wildcard values need not be
contiguous. For example, you can specify level 1 and level 3 and set level 2 to a wildcard value. If the
model includes a wildcard for the location ID, the model data collect brings in data for all locations that
are available for allocation on the LOCATIONS table.
MD$IMPORT_DATA is the table used to contain the details of your models. You must create and
maintain the model outside of the application.
First, update the MD$IMPORT_DATA table with new or changed model stock data. To associate a
model with a product, each model must be identified by a unique name. Each record of the model
must contain that unique name in the MODEL_NAME field. The Model_Key column is managed by the
application, and must not be edited. The Model_Key column is populated automatically when the
UPDATEIMPORTDATA procedure is run.
Execute the UPDATEIMPORTDATA procedure provided with JDA Allocation to update the application
links to the MD$IMPORT_DATA. This procedure is located in the AllocModels package. For example:
EXECUTE ALLOCMODELS.UPDATEIMPORTDATA;
COMMIT;
You cannot change the structure of the MD$IMPORT_DATA table.
The following sample MD$IMPORT_DATA table shows some example information required to provide
model stock functionality. Make sure no lines are duplicated in the MD$IMPORT_DATA table; this
duplication causes unexpected results in the data collect.
The import table can include different merchandise types, and use level codes instead of descriptions.
Model_ Location_
Key Model_Name Level_1 Level_2 Level_3 Level_4 Level_5 ID Threshold Target
? CasShirt70 002 055 1 10 40
Model_ Location_
Key Model_Name Level_1 Level_2 Level_3 Level_4 Level_5 ID Threshold Target
? CasShirt70 002 055 2 5 30
? CasShirt70 … … … … …
? CasShirt70 002 057 1 8 15
? CasShirt70 002 057 2 12 24
? CasShirt70 … … … … …
? CasShirt70 001 055 1 20 40
? CasShirt70 001 055 2 15 30
? CasShirt70 … … … … …
? CasShirt70 001 057 1 15 30
? CasShirt70 001 057 2 18 24
…
? BallCaps100 008 1 20 30
? BallCaps100 008 2 10 20
? BallCaps100 … … … …
? BallCaps100 010 1 15 30
? BallCaps100 010 2 12 24
? BallCaps100 … … … …
? BallCaps100 ** ** 8 12
…
? H&BApplianc 1 8 15
es
? H&BApplianc 2 6 12
es
…
A single unique merchandise ID can be associated with only one model at a time. The association
occurs when that WorkList line is being allocated. For example, during manual allocation, the
association occurs on entry to the WorkSheet and remains associated with the product. If multiple
WorkList lines that have the same unique merchandise ID, but different models, are allocated
together, only one model is associated with that unique merchandise ID.
After a UMID has been associated with a model, it remains associated with that model until it is either
associated with a different model or the model is deleted from the MD$IMPORT_DATA table.
No error messages are generated if multiple models are listed for a unique merchandise ID in a single
allocation or if the model name on the WorkList does not exist.
To use the functionality of Threshold and Target, you need to map Threshold and Target columns in
the format tables. See "Step 9: Set up column mappings" (on page 99) for details.
The most typical approach for an application to utilize model stock replenishment is to set up the data
collect and Need generation at the lowest level. The following statement is typical.
If the product specified in the data collect rule has no model, the target and threshold values are zero.
If the product in the data collect rule that is being allocated in the WorkSheet has a model, but the
model does not have details for all merchandise currently being allocated, the target and threshold
values for those missing details are returned as zero, unless the model contains wildcard values that
can be used for the missing merchandise details.
Because model data typically makes sense only at the level that it exists in the MD$IMPORT_DATA
table, JDA does not recommend collecting model data above the model's lowest level.
A score of 100 is the best possible score and occurs when an Allocation exactly matches its Need. A
score of 0 represents the worst possible score, meaning an Allocation where no goods were allocated
towards satisfying its Need.
Notes:
The score can be affected by Templates, Minimums, Maximums, and manual edits, as these all will
likely be departures from Need.
A store without Need and allocated is not considered as part of the calculation.
Technical details
The Allocation Score is based on the root-mean-square deviation (RMSD), which serves to aggregate
the magnitudes of the variances into a single measure of accuracy.
Note: The scoring thresholds do not affect the score directly but only the color that represents that
score for the given product.
A system rule called "All Products" defines the default color gradient for every product, unless there is
a more specific rule for the product being allocated. Additional rules can be added that correspond to
different parts of the product hierarchy.
For example, an Allocation administrator could define the following set of rules:
In this example "Home Goods" is predominantly pre-packed merchandise where the granularity tends
to create variance from Need, while "Men’s Apparel" merchandise with more packaging options tends
to track more closely to Need. As a result, the administrator increases the scoring tolerance for "Home
Goods."
1. In "Step 5: Enter the column information" (on page 95), create a new column on the WorkList
table and add a description for the column, such as "Score." The Score column must be able to
hold a string of at least 30 characters, for example, data type VARCHAR2(30). Null is a legal value.
2. In "Step 8: Set up hierarchy ranges and associations" (on page 97), define the hierarchy range for
Scoring rules.
2. Expand and navigate the product hierarchy tree, then select a level member to add a scoring rule.
3. Click Add new rule (+ icon) to create the new scoring rule.
4. Move the Ideal and Acceptable controls until the desired scoring gradients are achieved.
5. Click Apply.
The scoring rule is applied during initial entry to the WorkSheet, based on the level information in the
rule and on the WorkList. An allocation can use only one scoring rule. If multiple WorkList lines are
selected that would cause conflicting rules to be applied, then the rule that is more specific (applied at
a lower level in the hierarchy) is applied.
The administrator can select an internal grading calculation and specify a percentage breakout of
stores for each grade.
Notes:
The grading calculation can use collected data at any level, but there will be only one value for
each store/allocation. This means that a low-level data-collect request and calculation will be
aggregated up to the store level for assignment of grades.
Even if both internal and external grading are enabled, an allocation can use only one of these
options at a time during the allocation.
The option to use internal grading can be stored in a method along with the specified grading variable
and data collect criteria. The internal grading data collect rule can be generic or specific.
To enable Internal Grading, define the Internal Grading hierarchy range in "Step 8: Set up hierarchy
ranges and associations" (on page 97) of Database Setup.
2. Expand and navigate the product hierarchy tree and select a level member to add an Internal
Grading rule.
3. Click Add new rule (+ icon) to create a new Internal Grading rule.
5. Add grade codes and percentages for the rule. The percentages must add up to 100 to create a
rule.
The grading rule is applied during entry to the WorkSheet, based on the level information in the rule
and on the WorkList. An allocation can use only one grading rule. If multiple WorkList lines are
selected that would cause conflicting rules to be applied, then an error message is displayed and no
grading is loaded.
You can monitor configuration, error reporting, and status from the Auto-Server tile in the
Administrator Dashboard.
2. Enter the Allocation User ID and Password that the Auto-Allocation Server will use to launch
each Auto-Allocation background process.
3. Select a Connection File that specifies the location of the Allocation schema.
4. Select a Service Port number for the Auto-Server tile to communicate with the Auto-Allocation
Server.
Notes:
The JDA Allocation Administration Auto-Server tile communicates with the Auto-Allocation Server
using TCP, which requires a port number. The valid range for ports is from 0 to 65535, however
many of these may be in use on your network. It is recommended that you select a port in the
range of 49152 through 65535 to minimize the likelihood of a port conflict. In the event of a
conflict, select another port in the recommended range.
The port that you select must be allowed to pass through any firewalls on the machine running
both Auto-Allocation Server and any machine running JDA Allocation Administration.
If you specify an Allocation user that authenticates against Active Directory, then the Auto-
Allocation Server Windows service must use the same user and authentication. Additionally, the
connection file specified must have the Accept Windows Authentication option selected. This is
required because JDA Allocation does not store or sequester domain password information.
The Stop button toggles to display Start, which you can select as needed.
Notes:
After it has been configured, you can also start or stop the Auto-Allocation Server service:
From the Windows command line, using the net start/stop command.
2. Select the gear icon on the Global Configuration panel to configure the Auto-Allocation Server
settings:
Target Number of Jobs/Core specifies the target number of Auto-Allocation clients to run in
parallel. The number specified is not required to be a whole number.
Example:
1.8 jobs/core
Server Alpha with 16 cores will target 28 jobs
Server Beta with 4 cores will target 7 jobs
CPU Warning Threshold specifies the average summed CPU percent load to report as an
alert in the Status section of the Auto-Server tile.
Memory Warning Threshold specifies the memory consumption percent utilization to report
as an alert in the Status section of the Auto-Server tile.
Disk Utilization Warning Threshold specifies the disk space percent utilization to report as
an alert in the Status section of the Auto-Server tile.
Process Runtime Warning Threshold specifies the longest amount of time an Auto-
Allocation client should be allowed to run before being reported as an alert in the Status
section of the Auto-Server tile.
3. Click Save to persist the changes for all Auto-Allocation servers. The configuration change is
effective immediately. No restart is required.
2. Right-click the Auto-Allocation Server from the list displayed in the Auto-Allocation Servers panel.
3. Navigate to Logging Level in the context menu, and select the desired logging level.
Notes:
If you decide to change the Auto-Allocation Service login credentials, the log file is located in the
user’s AppData directory.
2. Right-click the server in the Auto-Allocation Servers panel and select Open Log File. The file is
opened on the administrator machine using the application registered to view log files on the
machine.
To resume Auto-Allocation processing, click the Resume Auto-Allocation Jobs icon on the Auto-
Server tile.
The Database Setup utility runs on the PC and modifies the Allocation database to consider your tables
and the names you have given the columns.
Create your WorkList and its associated tables: the WorkList table itself, the Merchandise Shape
tables, and the Detail tables.
Most fields in the dialog boxes in Database Setup are empty when you start.
1. To establish the connection, start Database Setup and click Configure on the Login dialog box.
2. A second dialog box is displayed that contains the fields required to configure a connection
between the database and the client. Enter the following information:
User Name
Password
Service Name
TNS Entry (for RAC support – replaces port, service, and server options)
Note: The use of a TNS entry allows JDA Allocation to leverage RAC functionality via the local
Oracle TNSNames configuration. If selected, the connection file will only function on machines
with the same TNS entry defined. With this option, alternate nodes within the cluster can be
used as necessary to support failover, etc. However, it may be necessary to restart JDA
Allocation following a node failure or other connection change.
LDAP Path: This optional configuration parameter allows a Microsoft Active Directory service
user to authenticate against the specified directory. It is required only for directory service
users. See the chapter "Maintain users" (on page 132) for more information.
Note: Selecting the option to accept Windows authentication for LDAP users allows the system
to leverage a user’s credentials from the Windows login without requiring them to re-enter a
password. If this option is selected, then the password field becomes disabled when the
currently authenticated operating system user’s Windows login name has been detected.
3. After entering the connection criteria, click OK from the Configure screen.
4. In the Save As dialog box, save the details to a file. The connection details are encrypted and
stored in this file.
5. After you successfully save the file, the Login dialog box is displayed. The new connection file is
displayed in the Connection box.
After a connection has been established, the fields on the Allocation Connection Configuration screen
are populated, based on the currently selected connection file. If you enter data that does not match
the currently populated connection file data, upon selecting OK, you are prompted with a confirmation
message asking whether you want to overwrite the current connection or save to a new file. If you
select the option to save to a new file, a Save As dialog box is displayed.
Multiple connections can be established, producing multiple files for various Allocation environments.
For example, you may want to establish a second environment for testing. After an alternate
connection has been configured, click the Connection ellipsis button to browse to and select another
connection file.
JDA recommends that a connection file be stored locally for each user.
Client Login
The Allocation client Login dialog box allows the entry of a Connection string. Each user is given the
name and the location of the connection file. At the first sign in, the user must browse to the file name
by selecting the Connection ellipsis button. The Connection box is populated with the last used
connection file path the next time the user logs in.
The Configure button, used for creating or editing a connection file, is only available on the
administrative components of the application.
After establishing a link to an Allocation database via a connection file, any system processes on that
machine that start Allocation will use that connection.
You should successfully log in to establish a connection to the database prior to using the
command line syntax to start any of the AL applications.
The Logging Level is selected from options on a cascading menu. The default for Logging Level is
Normal. Note that you must select OK from the Login dialog to complete the Logging Level selection.
The Logging Level can also be set from within the application. For JDA Allocation, Allocation
Administration, and Auto-Allocation, the Logging Level can be selected from the Help Menu. For
Allocation Database Setup, the Logging Level options are available on the right-click shortcut menu for
every step.
Note that detailed log levels are for use when investigating application behavior in partnership with
JDA Support Services. At all other times, normal logging levels should be used, as detailed logging can
degrade application performance.
The Microsoft Data Access Components (MDAC) Version information is available by selecting the
right-click shortcut menu option on the Login dialog box.
SQL Trace
To enable the SQL Trace menu item, press <ctrl + shift> while right clicking on the dialog.
If SQL Trace is already enabled (trace files are being generated on the server), you can access the SQL
Trace menu on the login dialog by simply right-clicking on the dialog.
Setup procedure
The Database Setup utility reads information from the database directly, and updates the database
with the changes you have made. You can save your position at any point in the process by saving the
database configuration to a database setup file on your PC.
"Step 1" (on page 91): Enter the table names. Provide the names and types of the tables you
created.
"Step 2" (on page 92): Enter the dimension names. Provide the names you want to use for the
dimensions.
"Step 3" (on page 93): Define the groups. Provide the names of the groups you want to use for
each dimension.
"Step 4" (on page 94): Define the hierarchies. Provide the names of the hierarchies you want to
use for each dimension, and the groups that make up these hierarchies.
"Step 5" (on page 95): Enter the column information. Provide extra information about the columns
in the WorkList tables, the Locations table, and the table containing the user information. All
columns on a table representing a group must be associated with the group in Step 5, including list
source, shape, format, WorkList, and detail tables.
Any column that contains a UMID (level 0) should not be associated to a group on Step 5 of
Database Setup. UMID must be mapped in Step 9 only.
"Step 6" (on page 96): Define the levels. Provide the names of the merchandise levels you want to
use.
"Step 7" (on page 96): Set up data collect parameters. Provide the names of the data collect
parameters you want to use, if any.
"Step 8" (on page 97): Set up hierarchy ranges and associations. Define the groups that can be
used for data collect rules and product location restrictions (ranges within the hierarchies and non-
hierarchical groups).
"Step 9" (on page 99): Set up column mappings. Define the columns that make up the Main Keys
of the tables you have created, the columns in the detail tables that refer to columns in the
WorkList table, and the columns in the Locations table, WorkList table, and Merchandise Shape
tables that map to the required and optional columns.
"Step 10" (on page 101): Set up merchandise types and the merchandise ID (UMID). The
merchandise types describe the shape of your merchandise. The UMID is the item to be allocated.
This UMID is used as the top level of merchandise, level 0 in the database.
"Step 11" (on page 103): Set up the JDA Allocation system parameters. Set a series of system-
wide parameters that determine the way the application works; for example, these determine
whether Store Grading or Currently Allocated Quantities are to be used.
If Database Setup is unable to lock the users out of the database, you are prompted to retry (after
ensuring that no users are working on the database), cancel the operation, or skip the process. If you
skip the process, you will be unable to update the database.
Jump to steps
To move through the steps of Database Setup one at a time, click Back or Next. If you want to go to
a particular step, you can use the shortcut menu.
1. Right-click in the gray area. The shortcut menu lists the 11 steps.
1. Tables
2. Dimensions
3. Groups
4. Hierarchies
5. Columns
6. Levels
7. DC Parameters
9. Column Mappings
1. Click Save. The program asks for a name and location for the setup file.
2. Type a name and path for the setup file, and click OK. The setup file is saved.
1. Click Open. The program asks for a name and location for the setup file.
2. Select the setup file you want to open, and click OK. The setup file opens, and you can continue
making changes.
When you finish adding, editing, or removing the table names, click Next to go to "Step 2: Enter the
dimension names" (on page 92).
2. Type the name of the table you created on the database in the Table Name field. Select the
Table Type from the list. The table type can be one of the following.
Merchandise Shape
Detail
Format
List Source
Staging
Leave the table type for the Locations, Users, and WorkList tables blank. If you have a CAQ_HOST
or GRADE table, leave the type for those tables blank also.
3. Type a Table Description, if required. The table description must be fifty characters or less.
For data collect Format tables, the table description is used as the format name. When users are
prompted to select a format table, they can choose from the table descriptions entered here.
Edit a table
To change the type and description of a table:
1. Select the table you want to edit. The table's details are displayed in the Table Name, Table
Type, and Table Description boxes.
2. Change the Table Name, Table Type, and Table Description, as appropriate.
3. Click Set. The table details are updated.
1. Select the table you want to remove from the list. The table's details are displayed in the Table
Name, Table Type, and Table Description boxes.
2. Click Remove, then click Yes to confirm. The table details are removed from the list.
3. Click Next to move to Step 2 (on page 92) of Database Setup. Database Setup removes all
references to the table you removed; it does not remove the table from the database.
5. After removing the table name through Database Setup, you can use SQL*Net, for example, to
issue the Drop Table command for the tables you want to remove.
2. Type the new name for the dimension in the Display Name field, using fifty characters or less.
When you finish naming the dimensions, click Next to go to "Step 3: Define the groups" (on page 93),
or Back to return to "Step 1: Enter the table names" (on page 91).
When using the application's built-in data collect and plan data, do not use Oracle reserved words (for
example, SIZE) or words containing spaces for group names, because the group names will be used
for column names on your staging areas. You must also make sure that group names and level names
match.
JDA Allocation supports up to 32 groups for use as attributes in PLRs and Data Collect rules.
When you finish defining the groups, click Next to go to "Step 4: Define the hierarchies" (on page 94),
or Back to return to "Step 2: Enter the dimension names" (on page 92).
4. Select a List Source table from the list, if required. You can select only those tables that were
flagged as List Source tables in Step 1: User-Defined Tables.
5. Select the column that contains the group member codes from the Code list.
6. Select the column that contains the names associated with the group member codes from the
Name list.
7. Select the Data Collect Operator code from the Op Code list. This code determines the
operations that can be performed on this group. You can choose from:
8. Select a Staging Area table from the list, if required. You can select only those tables that were
flagged as Staging tables in "Step 1: Enter the table names" (on page 91).
Edit a group
1. Select the group you want to edit from the list. The group's details are displayed in the boxes at
the top of the dialog box.
Remove a group
1. Select the group you want to remove from the list. The group's details are displayed in the boxes
at the top of the dialog box.
You cannot remove a group that is referred to elsewhere. For example, if the group Department is
associated with the column Dept_Nbr in the WorkList (using "Step 5: Enter the column information"
(on page 95)), you cannot remove the group.
Any group that is not part of the actual or main hierarchy needs to belong to an alternate hierarchy, if
it is needed for a data collect. If the group is created for restrictions, it does not need to be part of a
hierarchy.
When you edit a hierarchy, you must re-enter any ranges or associations set up using "Step 8" (on
page 97). Database Setup removes all associations and ranges for a hierarchy that has been edited to
prevent inconsistencies in the database.
When you finish adding, renaming, or removing the hierarchies, click Next to go to "Step 5: Enter the
column information" (on page 95), or Back to return to "Step 3: Define the groups" (on page 93).
3. Type the name of the hierarchy, using fifty characters or less, and click OK. The new hierarchy is
displayed in the list. The hierarchy is empty. You must edit the detail of the hierarchy to add
groups. See "Editing a hierarchy" (on page 94) for details.
Rename a hierarchy
1. Select the hierarchy you want to rename.
3. Type the new name, and click OK. The new hierarchy name is displayed in the list.
Remove a hierarchy
1. Select the hierarchy you want to remove.
2. Click Remove, and confirm the removal. The hierarchy is removed from the list.
Edit a hierarchy
1. Select the hierarchy you want to edit.
The Available Groups field shows the groups associated with the current dimension that have not
been put into the current hierarchy.
3. To add a group from the list of available groups to the list of groups in the hierarchy, select the
group you want to move, and click the >> button, or double-click the group you want to move.
When you add a group to the hierarchy, it is displayed at the bottom of the hierarchy. Add the
groups to the hierarchy in the order in which you want them to display.
4. To move a group from the list of groups in the hierarchy to the list of available groups, select the
group you want to move, and click the << button; or double-click the group you want to move.
It is critical that all columns on any table representing a group must have that information established
in Step 5, including list source, shape, format, WorkList, and detail tables. There are no exceptions to
this rule. Without this information, the application cannot function properly.
The tables are shown with any new tables at the bottom of the list.
Caution:
You cannot use operators, reserved words, or special characters (for example, apostrophe) in
display names.
The display names for each column on the table must be unique within that table.
Display names cannot match column data values that could be used in filters, because JDA
Allocation parses the filter text to replace column descriptions with actual column names.
When you finish entering the column information, click Next to go to "Step 6: Define the levels" (on
page 96) or Back to return to "Step 4: Define the hierarchies" (on page 94).
To change the dimension, select one of the dimensions from the Dimension list. If you specify
a dimension, you must specify a group.
To change the group associated with the column, select one of the groups associated with the
current dimension from the Group list. If you specify a group, you must specify a dimension.
To change the name that is displayed to users, type the name in the Display Name box. Do
not user operators, reserved words, or special characters, for example, apostrophe (').
Select a number format from the Number Format dialog box using the ellipsis button in the
Format column. For details on number formatting, see the Online Expert (OLE) by selecting
Help from Allocation Database Setup.
To change whether users can edit entries in the column, select Yes or No from the Edit? list.
For example, you might have a column for distributors' comments in the WorkList table. You
would set Edit? to Yes to allow the user to type text into the column to be saved on the
database. This information could be extracted from the database along with the results.
Two merchandise levels are used as the top level: the Unique Merchandise ID (UMID) and the Unique
Pack ID (UPID). The UPID consists of the UMID plus the pack ID. The UMID is used as the top level
when allocating bulk merchandise, and the UPID is used as the top level when allocating pack
merchandise. The application does not support multiple records per store above the top level on a
format table for a single data collect request. See "Set up tables to hold collected data" (on page 51)
for details.
When using the application's built-in data collect and plan data, do not use Oracle reserved words (for
example, SIZE) for level names. You must also make sure that level names and group names match.
When you finish adding, editing, or removing the levels, click Next to go to "Step 7: Set up data collect
parameters" (on page 96), or Back to return to "Step 5: Enter the column information" (on page 95).
2. Type the name of the level in the Level Name box. Make sure you add levels in hierarchical order.
Edit a level
1. Select the level you want to edit. The level details are displayed in the boxes at the top of the
dialog box.
Remove a level
1. Select the level you want to remove. The level details are displayed in the boxes at the top of the
dialog box.
2. Click Remove, and confirm the removal. The level is removed from the list. The levels are
renumbered.
You cannot remove levels that are used in the logical mappings for the WorkList table, format tables,
or Merchandise Shape tables.
Data collect parameters are stored as part of the data collect rules. They can act as flags for your host
system to aid in determining the sort of data collection to be carried out.
Note: The Data Collect parameter 'A' is reserved for plan data and should not be changed or used for
any other purpose.
When you finish setting up the data collect parameters, click Next to go to "Step 8: Set up hierarchy
ranges and associations" (on page 97), or Back to return to "Step 6: Define the levels" (on page 96).
2. Type the parameter code in the Parameter Code box. This code must be a single character and
cannot be "-".
3. Type the description for the parameter in the Parameter Description box.
Edit a parameter
1. Select the parameter you want to edit. The parameter details are displayed in the boxes at the top
of the dialog box.
Remove a parameter
1. Select the parameter you want to remove. The parameter details are displayed in the boxes at the
top of the dialog box.
2. Click Remove, and confirm the removal. The parameter is removed from the list.
For example, you might want a data collect rule that requires data to be collected for Dept 105, Class
10, Style 110, Vendor 1961. This rule consists of a range in the main hierarchy (Department, Class,
Style, and Color) and a non-hierarchical group, Vendor. To create the rule, you would specify a range
of the hierarchy.
When you finish setting up hierarchy ranges and associations, click Next to go to "Step 9: Set up
column mappings" (on page 99), or Back to return to "Step 7: Set up data collect parameters" (on
page 96).
Note: After Ranges are established, any future changes to a range could make existing rules and
restrictions invalid. Before changing any range for data collect rules, product location restrictions, or
like stores, be sure to remove all items that depend on the range.
1. Select one of the range types from the list at the top of the dialog box. This type can be one of the
following.
Product Restrictions
Like Store
Data Collect
The current range or list of ranges for that type of hierarchy range is displayed.
3. Select the Hierarchy from the list of hierarchies (created in "Step 4" (on page 94)) in the current
dimension.
4. For Data Collect only, select a Parameter from the list. If you have no parameters, select
<None>.
5. For Data Collect only, select a Format name from the list. The format name is the description of
the format table provided in "Step 1: Enter the table names" (on page 91).
6. Select a Start Group from the list. This group is the first group in the hierarchy for which the user
can enter a value.
7. Select a Stop Group from the list. This group is the last group in the hierarchy for which the user
can enter a value. If you want the user to enter a value only for a single group, the stop group can
be the same as the start group.
You can specify a single hierarchy range for Product Restrictions. When setting the hierarchy ranges
for Data Collect, you can specify a range once for each combination of format table and parameter.
You can only define one range for the like store hierarchy.
Edit a range
1. Select one of the range types from the list at the top of the dialog box.
2. Select the range you want to edit. The range details are displayed in the boxes at the top of the
dialog box.
3. Edit the details. After you create a range, you can change only the start and stop groups.
Note: After Ranges are established, any future changes to a range could make existing rules and
restrictions invalid. Before changing any range for data collect rules, product location restrictions, or
like stores, be sure to remove all items that depend on the range.
Remove a range
1. Select one of the range types from the list.
2. Select the range you want to remove. The range details are displayed in the boxes at the top of
the dialog box.
3. Click Remove, and confirm the removal. The range is removed from the list.
Note: After Ranges are established, any future changes to a range could make existing rules and
restrictions invalid. Before changing any range for data collect rules, product location restrictions, or
like stores, be sure to remove all items that depend on the range.
1. Select the hierarchy range for which you want to set up the associated groups.
3. Select the member of the current hierarchy from the Hierarchy Member list.
The Groups in Dimension box shows the groups that can be associated with that member; the
Groups associated with Hierarchy Member box shows the groups that have been associated
with that member.
4. To associate a group with a member, select a group from the Groups in Dimension list and click
>>. The group is associated with the hierarchy member.
5. To disassociate a group from a member, select a group from the Groups associated with
Hierarchy Member box and click <<. The group is disassociated from the hierarchy member.
6. Select another member of the current hierarchy from the list, and confirm that you want to make
the changes.
7. Make associations for all hierarchy members you want, click Apply to apply the changes, then click
Close to return to the Hierarchy Ranges dialog box.
The associations are made. Every time the administrator creates data collect levels or product location
restrictions, these associated groups are available as optional components.
JDA Allocation does not support non-hierarchical group associations for Like Store. The Associate…
button is disabled when Like Store is selected as the hierarchy range.
Note: After external groups are associated with a group in a range, any future changes to the range or
group association could make existing rules and restrictions invalid. Before changing any associated
group for data collect rules or product location restrictions, be sure to remove all items that depend on
the group.
You must set up the keys for each table before carrying out this step. Database Setup does not create
the primary keys or unique keys in the database for you.
These columns may have any name, but you must specify the required and optional columns to which
they map, using this step.
1. Select the table for which you want to map the required and optional columns. You can choose the
WorkList table, the Locations table, CAQ table, Store Grade table, or any of the Merchandise Shape
tables or Format tables.
3. To map a required or optional column to one of the columns in the table, select the name in the
Required Columns or the Optional Columns list.
Note: The WorkList must contain only mapped level columns that are common to all merchandise
being allocated.
For example, you cannot have a level column on the WorkList for color if some merchandise does
not use that level. Although the Color column may exist on the WorkList, and be populated for
those items that go down to that level, it must not be mapped. If the merchandise does have a
color level, this level allows the user to quickly see the color of the items on the WorkList, but it
does not cause the system to attempt to include the color level for merchandise that has no color.
If some items to be allocated do not go down to the color level, the color information must be
mapped on the appropriate Merchandise Shape Table only.
Note: The Optional Column Source Warehouse must be mapped for the WorkList table, if a Default
Source Warehouse is to be specified on entry to the WorkSheet. See "Set up product location
restrictions by source warehouse" (on page 104).
If the column is already mapped, you can unmap it by clicking Un-Map. To map the column, select
the column to which it refers in the Columns on Table list and click Map. If the column is already
mapped, you can remap it by clicking Re-Map.
4. When you finish mapping all required columns, and as many of the optional columns as you used,
click OK.
1. Select the table for which you want to provide Main Key information, and click Main Key. The Main
Key Maintenance dialog box is displayed.
Available Columns lists the columns in the table that are not part of the Main Key. Main Key
lists the columns that are part of the Main Key.
2. To specify that a column is part of the Main Key, select the column name in Available Columns
and click >>. The column name is moved to Main Key. You must enter the columns for the Main
Key in the order in which they are displayed in the primary key.
3. To specify that a column is not part of the Main Key, select the column name in Main Key and
click <<. The column name moves to Available Columns.
If you are setting the Main Key for a Detail table, Currently Allocated Quantities (CAQ_HOST) table, or
Store Grading (GRADE) table, you must specify the columns in the primary key that refer to columns
in the WorkList table.
1. Select the table and click Main Key. The Main Key Maintenance dialog box is displayed.
2. Click Map to WL to set up the mappings to the WorkList table. The Map Main Key to WorkList
dialog box is displayed.
3. To map a column from the Main Key to a WorkList column, select one of the entries in the list. The
details are displayed in the Main Key and WorkList Column boxes at the top of the dialog box.
4. Select the WorkList column to which the column refers from the WorkList Column list.
5. Click Set.
6. When you finish mapping all columns in the Main Key that refer to columns in the WorkList table,
click Close.
As part of this step, you must select the columns from the WorkList table that make up the identifying
information of the Unique Merchandise ID (UMID). The merchandise ID refers to the item to be
allocated. You must make sure that this ID is unique across your product hierarchy and include as
many columns as necessary to make it so. The UMID columns must include the style group as the last
group in the UMID. This ID is used as the top level of merchandise, level 0 in the Allocation database.
Note: The built-in data collect requires that the UMID be populated from groups on your staging table
during the data collect. Only use groups in your UMID that exist as columns on your staging tables. In
other words, build your UMID using WorkList columns (groups associated with WorkList table columns
on Step 5)) that also exist as staging tables columns (groups associated with Staging table columns on
Step 5).
The Unique Pack ID (UPID) is used to identify packs and consists of the UMID plus the Pack ID. The
pack ID column may be selected from either the WorkList or the Shape tables. The Unique Pack ID
must uniquely identify a pack across all merchandise. For example, two packs of the same style and
size combinations but different colors must have different UPIDs.
The UMID structure for all merchandise types used in the database must be the same. Pack
merchandise types must use the same UPID structure.
If you are using multiple columns to uniquely describe your merchandise, you must decide on the
separator character to be used when displaying the UMIDs. For example, if the merchandise ID
comprises department, class, and style, and the separator character is a period, an item of department
100, class 20, style 17371 would be displayed as 100.20.17371.
Notes:
Concatenating multiple columns to make up the UMID is only necessary if the item you are
allocating cannot be uniquely described by a single column. For example, if your style number is
unique on its own and is not duplicated in any other class, department, etc., the UMID can be
comprised of the style number column alone.
Like all WorkSheet levels, the UMID (level 0) must use a text data type. If it consists of
concatenated fields to make the value unique, then it will automatically be treated as text;
however, if it consists of only one WorkList field, such as STYLE_NUMBER, then that field must be a
text data type on the WorkList.
2. Type the name of the Merchandise Type and assign a Type ID. (The Type ID is displayed in the
WorkList.)
3. Select the Allocation Type option, which can be Bulk or Pack. (We do not recommend the use of
Multiples).
4. Select the Merchandise Shape Table, if any, that you want to use for this merchandise type
from the list.
5. Click OK.
Note: Multiples are no longer recommended for use as a shape type and are only listed to support pre-
existing customers.
2. Select each column from the list on the left that defines your UMID and click >>.
3. To remove a column from the UMID, select the column you want to remove, and click <<.
Notes:
You must add the columns to the Unique Merchandise ID in the order in which you want them to
display. The UMID must include the style column and it must be the last column.
The UMID must contain the same columns for each Merchandise Type that is defined.
2. Select each column from the list on the left that defines your UPID and click >>.
3. To remove a column from the UPID, select the column you want to remove, and click <<.
Notes:
The UPID must contain the same columns (UMID + Pack ID) for each Pack Merchandise Type that
is defined. The UMID columns must come from the WorkList table. The pack ID column may be
selected from either the WorkList or the Shape tables. All columns from the WorkList table must
come before any columns from the Shape tables.
3. Click OK.
Note: The separator character must not be present in the data for any column that makes up the
UMID/UPID.
1. Click Finish. You are asked if you want to make the changes, or to save your changes to a
database setup file.
2. To make the changes, click Update. The program modifies the database.
You can update the database only if no users are currently working on the database. If users are
working, you can save your changes in a database setup file and run the update later, when everyone
has logged out of the database.
Selecting the Update to SQL script file option allows you to update the database indirectly by
spooling the database update to a script that your DBA can run to perform the database update. If this
option is selected, the script that is produced must not be modified. The updates will not take place
until the script has successfully run.
When the database is being updated, you may be prompted to rebuild the CAQ Repository. This rebuild
does not refresh values in the CAQ_HOST table; it just makes sure that the procedures and tables
used by Allocation to maintain the data in CAQ_HOST are up-to-date, based on your current
configuration.
You may also be prompted to map and associate columns on the staging tables for historical data. If
using the built-in data collect, this process can verify that all required mappings and associations for
the staging areas have been performed. If the staging areas, groups, levels, or column data types
have not been set up correctly, this process will fail.
In addition, you may be prompted to update the Model Stock DC statement Cache. This cache is used
by Model Stock data collects and contains information linking Shape tables, the WorkList table, and
Model tables. It must be rebuilt if mapping or group information on these tables has changed.
1. In "Step 3" (on page 93), set up a group named Source Warehouse.
2. In "Step 5" (on page 95), associate the Source Warehouse group with the FROM_WHSE column on
the WorkList Table.
Note: Any column on the WorkList Table that has a Group associated to it with the intent to set up
Product Location Restrictions cannot accept Null values).
3. In "Step 8" (on page 97), associate the Source Warehouse group with a level in the hierarchy.
4. In "Step 9" (on page 99), map the optional Source Warehouse column to the WorkList
FROM_WHSE column.
5. In "Step 11" (on page 103), select a default warehouse from the Undefined Source Warehouse
drop-down menu.
Note: A default warehouse must be specified if the Host System does not always populate the
Source Warehouse WorkList Table column with a value.
Note: Product location restrictions set up for a default source warehouse are applied to WorkList lines
upon entry to the WorkSheet.
To enable the creation of like store rules in Allocation Administration, follow these steps during
Database Setup.
1. In "Step 1" (on page 91), set like store hierarchy range member list source tables.
2. In "Step 3" (on page 93), groups and their list sources must be set for each planned member of
the like store hierarchy range.
3. In "Step 4" (on page 94), establish a like store hierarchy if like store rules are going to be built for
members in addition to those in the main product hierarchy.
4. In "Step 5" (on page 95), associate format and list source table columns representing members
included in the like store hierarchy range with their corresponding Group.
5. In "Step 8" (on page 97), define the like store hierarchy range.
6. In "Step 9" (on page 99), map the optional Like Store column to the format table LIKE_STORE
column.
Queue tables. These tables are used to pass information about actions that must be carried out, or
actions that have been carried out, between JDA Allocation and the user-written host system
procedures.
QUEUE_OUT
QUEUE_IN
Results tables. These tables are used to obtain results of allocations to be transferred to your
transaction management system.
RESULTS_HEADER
RESULTS_DETAIL
Data Collect tables. These tables are used to provide JDA Allocation with Planning or historical data
from your existing systems.
DC_FORMAT_HEADER
DC_RULE_HEADER
DC_RULE_DETAIL
RTMM_GROUPS
PLAN_STAGING
PLAN_TIME_ORDER
You use these tables when passing information to and obtaining information from the application.
Queue tables
The tables QUEUE_IN and QUEUE_OUT are used to pass information between JDA Allocation and the
user-written host system procedures. The QUEUE_IN table is used by the host to pass information to
JDA Allocation, and the QUEUE_OUT table is used to pass information to the host.
You must set up procedures to read the QUEUE_OUT table periodically to check for data collection and
results collection codes, and procedures to write information to the QUEUE_IN table.
QUEUE_OUT
The QUEUE_OUT table is used to pass information to the host about actions that must be carried out.
You should purge all old QUEUE_OUT requests that have been handled during the data collect and
results collection procedures. Deleting the requests should normally be a part of these procedures.
However, an alternative approach of purging specific QUEUE_OUT records at scheduled intervals can
sometimes be used where appropriate, as long as the volume of QUEUE_OUT records does not
negatively affect performance of data collect, results processing, or results purging operations.
Queue_Entry_Type is the type of action to be carried out; this type can be:
DC_Cond_Nbr is the number of the data collect condition to be added, changed, or deleted.
Allocation_Nbr is the number assigned to the WorkList lines when the distributor chooses to allocate.
XMLRequest contains an XML description of the data collect request and has been made redundant by
the more capable XML_REQUEST field.
XML_REQUEST contains an XML description of the data collect request, and uses a data type of CLOB.
This avoids the field length restrictions of the XMLRequest field, which has been retained for historical
purposes.
QUEUE_IN
The QUEUE_IN table is used by the host to pass information to the application about data collections
that have been carried out.
Status is empty when the data collect succeeded, but can contain an error message that is passed to
the user when the data collect fails.
Use_Built_In_DC is the flag that determines if you want to use built-in data collect; this flag can be:
Y: Yes
N: No
Results tables
RESULTS_HEADER Table
The RESULTS_HEADER table lists the results sets to which allocation results must be written. It maps
the allocation numbers to the actual names of the results sets.
Global_Flag is the flag that determines if the results set is global or personal; this flag can be:
Y: global
N: personal
Planning_TimeCode is no longer used by the application. It is set to null for every allocation.
ENV_INFORMATION contains the ENV details from completed allocations in an XML format. This
information is displayed by the system when reviewing an allocation.
RESULTS_DETAIL table
The RESULTS_DETAIL table contains the results of an allocation.
Location_ID is the code for the location to which the merchandise should be sent.
Unique_Mer_Key is the UMID or UPID that uniquely identifies the merchandise. For example,
10.115.456 might mean Department 10, Class 115, Style 456.
WL_Key is the WorkList key that associates lines in the results table with the relevant entries in the
WorkList tables.
Level[1-5]_Desc are the descriptions of the level data: for example, if level 1 is color, the Level1_Desc
column might contain blue, red, or green for a batch of T-shirts.
Result_Qty is the amount of merchandise to be sent to the location. For pack merchandise, this
quantity is the number of packs.
Reserve indicates if a location was actually a warehouse that received units in the WorkSheet with a
value of N for this column. A warehouse that receives units in the reserve view will have a value of Y
for this column. It is possible that a warehouse that is enabled for Display in WorkSheet receives
merchandise both from the WorkSheet as well as the reserve view. The results processing interface
should aggregate results by allocation number and location when reading from this table because of
this.
RESULTS_STATISTICS table
The RESULTS_STATISTICS table contains details about an allocation.
NEED_DETAIL table
The NEED_DETAIL table contains the final Need values by store at the level that Need was generated
in the allocation if Enable Saving and Loading of Need Values with Results is selected in
Allocation Database Setup step 11. The structure is similar to RESULTS_DETAIL; however, the Need
level may be higher or lower than the level of data in the RESULTS_DETAIL table. If the Need is above
the UMID level, then the WL_KEY will be set to -1, as Need by store cannot be associated with an
individual WorkList key of an allocation.
DC_Format_Name is the name that the users pick when selecting a format table.
DC_RULE_HEADER table
The DC_RULE_HEADER table lists the data collect rules that can be carried out. The details of the rules
are stored in the DC_RULE_DETAIL table.
DC_Format_Nbr is the number of the format table to which results must be written. This column is
mapped to the DC_Format_Nbr column in the DC_FORMAT_HEADER table.
Rule_Template_Param is the flag that determines whether the entry is a rule or a template; this flag
can be:
R: rule
T: template
Temporary_Flag is the flag that determines whether the rule is temporary. Temporary rules are
deleted after the data collect is run; this flag can be:
Y: temporary
N: permanent
Variable_Key is the variable key of the request. This is used only if your business requires multiple
levels of collected data to be used in a single Need calculation.
DC_RULE_DETAIL table
The DC_RULE_DETAIL table describes the data to be collected for each data collect rule.
DC_Rule_Phrase_Nbr is the number of the phrase of the current rule. There can be several phrases
within each rule if you implemented parameters; each phrase uses a different parameter.
DC_Rule_Component_Nbr is the number of the component of the current phrase of the current rule.
DC_Rule_Parameter_Code is the parameter code associated with the rule. You can use this code to
mark different kinds of data collection, depending on how you collect data from your host system.
Dimension_Nbr is the dimension number of the rule element; for example, dimension number 1 might
be mapped to Product.
Group_Nbr is the group number of the rule element; for example, group 1 in dimension 1 might be
mapped to Department in the RTMM_GROUPS table.
Hierarchy_Nbr is the number of the hierarchy used for the current data collect rule.
DC_Rule_Operand_Code is the operation to be performed on the rule element; for example, "=". See
"DC_Rule_Operand_Code" under "Set up custom data collect procedures" (on page 57) for a list of
valid codes.
DC_Rule_Value is the value against which the rule element must be tested.
Dimension_Nbr 1
Group_Nbr 2
DC_Rule_Operand_Code =
DC_Rule_Value 20
which translates to "Division = 20", if group 2 in division 1 maps to "Division". This item is a single
component of the data collect rule.
RTMM_GROUPS table
The RTMM_GROUPS table describes the groups that can be used for data collection. You must look in
this table to find the names of the groups for which data must be collected.
DC_Operand_Code is the data collect operand associated with the group. See
"DC_Rule_Operand_Code" under "Set up custom data collect procedures" (on page 57) for a list of
valid codes.
Table_Name is the name of the list source table for the group, if one exists.
Attribute_Nbr_Display1 is the column in the list source table that contains the codes for the group, for
example, Dept_Code.
Attribute_Nbr_Display2 is the column in the list source table that contains the display names for the
group members, for example, Dept_Name.
Plan tables
PLAN_STAGING table
The PLAN_STAGING table contains columns for all groups in your plan hierarchy. Because it depends
on the implementation hierarchy, the following table is one example of how the table would be
structured.
Division, Department, Class, and Style are examples of columns, and are based on the planning
hierarchy.
Level[1-5] are the levels below style, such as color, size, and width.
Product_Key is an internal reference for the product for which you are collecting data. Do not use this
column.
PLAN_TIME_ORDER table
The PLAN_TIME_ORDER table holds planning time codes used to determine the starting time period for
a planning data collect. You can choose to use only one plan time code and replace all the data in your
PLAN_STAGING table every time period.
CreateUser is the user ID of the user who created the record. This column is updated automatically.
CreateDate is the date the record was created. This column is updated automatically.
UpdateUser is the user ID of the last user to update the record. This column is updated automatically.
UpdateDate is the date of the last update. This column is updated automatically.
TIME_TECH_KEY is used by the system when it collects Enterprise or Assortment Planning data from
EKB. It should be left NULL when populating plan data from other sources.
WorkList table
Detail tables
WorkList table
The WorkList table must be called WORKLIST.
Unique keys
The WL_Key column, the WorkList key, must be a unique column, separately indexed from the rest of
the primary key. It is set to Unique.
Primary key
The key columns on the WorkList are dependent on what makes a WorkList record unique for your
business. Each record uniquely identified by the key columns should have a unique value in the
WorkList key field. The columns that make up the primary key for the table cannot be null. In the
example "WorkList table" (on page 116), the following columns make up the primary key.
Division
Department
Class
Style
Color
Vendor
These groups have two columns set up for them. One column holds the codes used by your transaction
management system, the other holds the descriptions associated with the codes. The descriptions are
for the benefit of the end users; they serve no internal purpose. When you set up your mappings to
groups using Step 5 of the Database Setup utility, you map the code to each group, rather than the
name.
From that table, the column Class_Code is specified as holding the code for the group, and
Class_Name is specified as holding the name. JDA Allocation uses the codes internally, but displays the
associated names whenever the user is shown a list of possible classes.
The information for these columns comes from the transaction management system.
Structure of WLBULK
Here is the structure of an example WLBULK Merchandise Shape table for bulk merchandise.
Primary key
The following columns make up the primary key. They uniquely identify the merchandise to be
allocated.
All of these columns are not null, as they must be if they are to form part of the primary key.
Required columns
Column name Mapped to
WL_Key WorkList key
Optional columns
Column name Mapped to
Color_Code Level 1 (Color)
Size_Code Level 2 (Size)
Avail_Qty Available to allocate
The levels are set up using the Database Setup utility.
Dept_Code
Class_Code
Style_Code
The merchandise with the merchandise type 10 is defined by the Dept_Code, Class_Code, and
Style_Code columns in the WorkList, and has the lower-level information stored in the WLBULK Shape
table.
If the merchandise type separator (set up by Database Setup) is a period, the unique merchandise ID
for a WorkList line with Department 100, Class 150, Style ABCD, and merchandise type 10 would be
100.150.ABCD.
Structure of WLPACK
Here is the structure of an example WLPACK Merchandise Shape table for pack merchandise.
Primary key
The following columns make up the primary key. They uniquely identify the merchandise to be
allocated.
Required columns
Column name Mapped to
WL_Key WorkList key
Optional columns
Column name Mapped to
Color_Code Level 1 (Color)
Size_Code Level 2 (Size)
Pack_ID Pack ID
Nbr_Of_Packs Number of packs
Qty_Per_Pack Quantity per pack
The levels are set up using the Database Setup utility.
If the merchandise type separator (set up by Database Setup) is a period, the unique merchandise IDs
for a WorkList line with Department 100, Class 150, Style ABCD, and two pack IDs, AA1 and AA2, in
the Shape table, with merchandise type 11, would be 100.150.ABCD.AA1 and 100.150.ABCD.AA2.
Detail tables
Detail tables provide additional information about WorkList lines. They may have any name. You can
have as many detail tables as you need. The example tables are BATCH_DETAIL and CLASS_DETAIL.
You set the mappings to the WorkList, using the Database Setup utility.
Structure of WORKLIST_DETAIL
Here is the structure of an example WORKLIST_DETAIL detail table. This table provides extra
comments for a single WorkList line. It matches the WorkList key, the unique identifier of each
WorkList line to entries in the detail table.
Primary key
The following columns make up the primary key.
All of these columns are not null, as they must be if they are to form part of the primary key. When
the information is displayed, it is sorted according to the primary keys; the sequence number is used
to sort multiple lines of comments for a single WL_Key.
When the application displays the details for a WorkList line, it checks this table to see if the WL_Key
column in the WorkList table matches any of the entries in the WL_Key column of BATCH_DETAIL. If
so, it displays all records with WL_Key entries that match.
Structure of CLASS_DETAIL
Here is the structure of an example CLASS_DETAIL table. This table provides extra comments for each
Department/Class combination.
Primary key
The following columns make up the primary key.
All of these columns are not null, as they must be if they are to form part of the primary key. When
the information is displayed, it is sorted according to the primary keys; the sequence number is used
to sort multiple lines of comments for a single Department/Class combination.
When JDA Allocation displays the details for a WorkList line, it checks this table to see if the Dept_Nbr
and Class_Nbr columns in the WorkList table match any of the combinations of Dept_Nbr and
Class_Nbr in CLASS_DETAIL.
Your Oracle DBA may wish to turn off Oracle Logging on some objects such as Data Staging tables,
provided the data can be recovered from your host system. This change may improve performance
related to the maintenance of the data in the Staging Area.
To improve performance of built-in data collects, create an index for all format tables and these
columns: Allocation Number, Location ID, Level 0 (Unique Merchandise ID), Level 1, Level 2, Level 3,
and Level 4.
If your format table does not contain these levels, you do not need to add them. A table containing
only Class can have an index for just allocation number and location ID.
Do not include other levels to these indexes (for example, those above style such as division or dept).
The data collect procedures do not require them and, in fact, any performance gain may be lost.
For example, for a format table that can hold data down to Width (Level 3):
The index should contain location ID, followed by the levels above, and including, style, and finally
followed by levels 1 through 5. You do not need to add the columns if you do not have them.
The first example pertains to the lowest level staging table. If you know this table contains unique
data, make the index unique. However, do not make this index your primary key.
These tables are created and maintained by JDA Allocation; however, these indexes are not created
automatically. If these tables are ever regenerated, you must remember to recreate the indexes.
The following example assumes that the data collect rules includes Department, Class, Style, Color,
Size, and Width.
DCAQ/CAQ index
The DCAQ/CAQ data collects depend on indexing for reading and writing. Create an index for each
level above style (excluding style), followed by unique merchandise (level 0), levels 1 through 5, then
location ID.
Example
By creating the following index, Allocation can quickly gather information about Worklist lines for the
current user.
WorkList indexes are used in the Need Generation wizard when going between the data collect
template page and the data collect rule page. Specifically, JDA Allocation reads the values from the
WorkList when populating the data collect rule.
For example, a data collect rule containing Dept, Class, Style, Color, Size benefits from the following
indexes.
Example
To improve performance during Store View creation, add indexes for commonly used columns. Indexes
will enable JDA Allocation to quickly populate the dialog box with possible values. For example, if
DISTRICT_MGR is frequently used during the creation of views, performance can be improved by
adding a non-unique index for DISTRICT_MGR on the Locations table.
Grading indexes
Due to the statements generated for grading, you benefit from indexes based on the following
examples.
Your Database Administrator should be monitoring indexes and rebuilding them as necessary.
Rebuilding must be done to maintain optimal database performance.
Below is a list of some system tables you may want to periodically review.
AA$BATCH_HEADER and AA$BATCH_DETAIL: These two system tables constitute a report of the
Auto-Allocation jobs, which is available for analysis on the Administrator Dashboard. Data should be
cleared regularly after it has been reviewed.
QUEUE_IN and QUEUE_OUT: You should not have to maintain these tables, but a periodic review
should find only a handful of records at any given time. Contact JDA Support Services if you find an
abnormal amount of records.
PLAN_STAGING and your actual (Host) format tables require regular maintenance. See "Maintenance
of data in the plan staging area" and "Clean up format tables" (on page 53).
Your list source tables, WorkList and Shape tables, Detail tables, and any other miscellaneous tables all
need maintenance as determined by your interface to JDA Allocation.
When the Allocation System Login dialog box is displayed, type the system administrator user ID and
password, configure or select the connection file (for more information, see "Configure the database
connection criteria" (on page 87)), and click OK. When the application is installed, the user ID is AAM,
with password AAM.
Note: Change this password or delete this user as soon as possible. It is provided only for the purpose
of initially setting up other users. See "Manage the User List" (on page 132) below for details.
Choose Action > Disable User Logins, and confirm the action. No users are able to log in to the
database. Users who are currently logged in are allowed to continue working until they log out.
You can tell which users are working on the database from the User Active? flag on the User List.
You can execute these actions from a command line, which enables them to be called from a batch
process to run on an administrator's Windows machine where Allocation Administration is installed. The
options are %DISABLE_LOGINS and %ENABLE_LOGINS.
For more information, see the Online Expert (OLE) by selecting Help from Allocation Administration.
The Status & Report tile uses a mapped Available Quantity column on the WorkList in order to display
number of units by status code. This column can be configured in Allocation Database Setup, step 9.
For more information, see the Online Expert (OLE) by selecting Help from Allocation Administration.
You must set up users and grant them the appropriate privileges to allocate, approve, and release
merchandise. You also can specify products on which each user can work, and locations to which each
user can send merchandise. In this way, you can divide the workload among the distributors.
User List
For more information, see the Online Expert (OLE) by selecting Help from Allocation Administration.
You can change the entries in the cells by clicking them, typing a new value, and pressing Enter.
Add a user
1. Do one of the following:
Select Maintain > Add Directory Service Users… to open the Add Directory Service Users
dialog box. See the Allocation Online Expert Help for more information.
Note: If you added Directory Service Users, the User ID, First Name, Last Name, and
Password should not be entered for the user.
2. Enter a user ID for the user. The user ID must be unique. The user ID can be up to 30 characters.
Even though most fields in JDA Allocation do not support spaces, the User ID field does.
3. Enter the first and last name for the user. These can be up to 50 characters.
4. Enter a password for the user to enter to log in to the database. It can be up to 50 characters.
Note: Directory Service user passwords are maintained outside of Allocation and cannot be altered
from within Allocation. The Directory Service user column indicates whether the user is a directory
service user. This column cannot be directly edited.
5. To allow a user to access the Administration program, select the check box in the Administrator?
column.
6. To allow a user to create global methods, views, and results that can be accessed by everyone,
select the check box in the Create Global? column.
7. To allow a user to allocate and approve merchandise, select the check box in the Allocate?
column.
8. To allow a user to release allocated merchandise, select the check box in the Release? column.
9. To allow a user to override the location restrictions placed on merchandise, select the check box in
the Location Restrictions? column.
Note: The user can choose to override all location restrictions: User Location Restrictions, Product
Location Restrictions, and reserve warehouse restrictions as specified on the WorkList. For the
above options, clear the check box to revoke the privilege.
10. Select a default view in the Default WorkList View column. For example, Default~AAM, where
Default is the name of the WorkList view and AAM is the owner. It is not necessary to specify an
owner for global views.
11. Select a default WorkSheet view in the Default WorkSheet View column. For example,
DefaultWorkSheet~AAM, where DefaultWorkSheet is the name of the WorkSheet view and AAM is
the owner. It is not necessary to specify an owner for global views.
Notes:
The Current OS User column is for JDA Allocation internal use only. It displays the Windows
user and machine where the user logged in.
The Application Name displays the short name (CLIENT, ADMIN, AUTO, or SETUP) of the
application component where the user was last logged in.
The User In WS Count and Last WorkSheet Access Date contain statistics about the user’s
WorkSheet access.
The Application Login Count and Last Application Access Date contain statistics about the
user’s application access.
Delete a user
1. Select the row by clicking the tile at the left of the row. The row is highlighted.
The user is deleted from the User List. All WorkList views, methods, variables, results, and store
selections created by the user are deleted at the same time.
Clear the check box in the User Active? column. The user can log in again.
Note: Editing the User Active? column does not log off a user. Modifying the value in this column
should be done only if a communications failure occurs.
System Admin?
Access the Administration program.
Create Global?
Create views, methods, and results that can be used by everyone.
Allocate?
Allocate and approve merchandise.
Release?
Release allocated merchandise.
Location Restrictions?
Override location restrictions.
2. Press Enter.
The Grace Period option allows the administrator to specify the amount of time the end users are
given before the logoff function executes. During that time, the warning message displays on the
operator's status bar.
This process can be configured and executed using Allocation Administration. Select Action > Logout
Active Users… from the menu. It can also be controlled via the command line, which enables it to be
called from a batch process to run on an administrator's Windows machine where Allocation
Administration is installed. The options are %DISABLE_AND_LOGOFF <Grace Period (in min)>
<Warning Message> [INCLUDE_AUTO].
The valid values for the grace period are 0 (immediate), 1, 5, 10, or 15 minutes.
In addition, it can be executed via a PL/SQL stored procedure in the AllocHost package. This procedure
takes three parameters as follows: Disable_And_Logoff(GracePeriod, WarningMessage, IncludeAuto).
The GracePeriod is in number of minutes (see valid values above). The WarningMessage is a text string
that will be displayed followed by a countdown time in minutes. The IncludeAuto is an optional
parameter that defaults to FALSE. Any errors encountered will be logged in the AllocHost$Errors table.
SQL> exec AllocHost.Disable_And_Logoff(5, 'You are being logged out of the system.',
TRUE)
Notes:
Once user this command has been executed, user logins must be enabled. See "Allow users to log
in to the database" (on page 130) for more information.
User location restrictions let you filter the location list based on the attributes of the locations. Each
attribute of a location is a column in the Locations table.
2. Select the user for whom you want to create a restriction from the list.
4. Click Save.
Create a filter
1. Select the attribute onto which you want to put a constraint from the list of attributes. The list of
possible values for that attribute is displayed in the Members list.
2. Double-click the attribute, and the attribute name is displayed in the filter.
3. Click an operator in the operator toolbar, or double-click one of the operators in the Operator list.
The operator is displayed in the filter.
4. Double-click one of the values for the column. The value is displayed in the filter.
3. To prevent the user from seeing any of the columns, click Remove All.
4. To add columns, select them from the list on the left, and click Add.
5. To remove columns, select them from the list on the right, and click Remove.
6. To change the order of columns displayed, select one or more columns from the list on the right,
and drag them to the desired location.
7. Click OK.
Tip: You can select more than one column by pressing Shift+click to select a range of columns, or
Ctrl+click to select several columns.
2. Select the user for whom you want to create a restriction from the list.
4. Click Save.
Create a filter
1. Select the attribute that you want to put a constraint onto from the list of attributes. The list of
possible values for that attribute is displayed in the Members list.
2. Double-click the attribute, and the column name is displayed in the filter.
3. Click an operator in the operator toolbar, or double-click one of the operators in the Operator list.
The operator is displayed in the filter.
4. Double-click one of the values for the attribute. The value is displayed in the filter.
Example: If you want the user to see only those WorkList lines that relate to Vendor number 110, you
would enter a filter such as:
Vendor_Nbr = '110'
3. To prevent the user from seeing any of the columns, click Remove All.
4. To add columns, select them from the list on the left, and click Add.
5. To remove columns, select them from the list on the right, and click Remove.
6. To change the order of columns displayed, select one or more columns from the list on the right,
and drag them to the desired location.
7. Click OK.
Tip: You can select more than one column by pressing Shift+click to select a range of columns, or
Ctrl+click to select several columns.
This dialog box shows the available columns on the left, and the columns on which the data is
sorted on the right.
2. To add columns, select them from the list on the left, and click Add.
3. For each column in the list on the right, click Ascending or Descending to choose whether the
application sorts that column in ascending or descending order.
4. Click OK. The application sorts the rows based on the contents of the sort columns.
Your database administrator will set up this table to contain the information the allocators need to
carry out their work. See "Set up locations" (on page 28) for details on creating this table.
You must create entries for all locations to which you want to send merchandise. You can also specify
the products that can be sent to each location.
Location List
Store selections
For more information, see the Online Expert (OLE) by selecting Help from Allocation Administration.
Your database administrator will create display names for the columns in the Location List. Ask your
database administrator what the display names are for each column.
Required
Optional
Additional
The application needs all required columns for its own purposes. The required columns are Location
ID, Location Name, Warehouse Flag, and Available for Allocation Flag.
Optional columns change the way the application works. The optional columns are Display in
WorkSheet and Global Coordinates.
Additional columns are used to provide additional information about the locations that can be used to
create restrictions and views.
Caution: Make sure that your database administrator has set up the appropriate columns in the
Location List so that they can be edited; otherwise, you will not be able to edit any of the location
details or add new locations.
See "Use the Database Setup utility" (on page 87) for details.
You can change the entries in the cells by clicking them, typing a new value, and pressing Enter. If
you cannot edit a cell by clicking it, it has been set up to be read-only in the database.
Add a location
Note: Adding locations is normally performed in a host system and applied to JDA Allocation through a
batch update process. However, locations are sometimes added directly by JDA Allocation for
demonstration or training environments.
3. Select the Available for Allocation Flag column; check it to allow merchandise to be allocated to
this location. Uncheck it to prevent merchandise from being allocated to this location.
4. In the Warehouse Flag or Location Name column, enter values for those columns.
5. Enter values for any of the other columns that have been set up in the Location List.
6. Press Enter.
Delete a location
Note: Removing locations is normally performed in a host system and applied to JDA Allocation
through a batch update process. However, locations are sometimes removed directly from JDA
Allocation for demonstration or training purposes.
1. Select the row by clicking the tile at the left of the row. The row is highlighted.
For example, to see if location 120 is part of any pending allocations, run the following commands
from SQL*Plus:
A condition rule
For example, Department = 100, Class = 105
You can make the store selection exclusive or inclusive. When the conditions for the merchandise are
met, you can either send the merchandise to all locations except those in the store selection
(exclusive) or send the merchandise only to those locations in the store selection (inclusive).
Product location restrictions can be applied only at or above the WorkList level. For example, if your
WorkList level is style/color, the lowest level for restrictions is color.
Hierarchy ranges describe the portions of the hierarchy you can use to create product location
restriction conditions; for example, in a Division, Dept, Class, Style, Color, Size, Width hierarchy, you
may be allowed to create conditions from the Dept, Class, Style range.
In each condition, you must start at the top of the range, and work down through the levels. For
example, with a Dept, Class, Style range, you could create the following three conditions:
Dept = value
Dept = value;Class = value
Dept = value;Class = value;Style = value
If you have associations with your hierarchy range, you can add nonhierarchical groups to your
condition. For example, you could have Source Warehouse and Price Point associated with the Style
group. You could choose to add Source Warehouse or Price Point to your condition when you add Style.
If you associate all nonhierarchical groups with the top-level member of the hierarchy range, you can
exercise maximum flexibility with the conditions. You can use some or all associated groups, with or
without any of the hierarchical groups. For more information, see the online help (ALCHEMY.CHM).
This setup requires the Source Warehouse column in the WorkList; this column is used to differentiate
between two pieces of merchandise of the same style that have different product location restrictions.
This column must be made into a group, and used as an associated group at the top level of the
product location restrictions hierarchy range during Allocation Database Setup. See "Use the Database
Setup utility" (on page 87) for details.
When allocating merchandise from multiple warehouses, you see an extra dimension in the
WorkSheet. This dimension is Distribution, and contains the source warehouses in the allocation.
Caution: The only time merchandise with the same style can have different product location
restrictions is when the merchandise comes from different source warehouses.
Swing stores
You can allocate merchandise to particular stores from more than one distribution center. Sometimes
known as swing or flip stores, this method allows you to give out the maximum number of goods from
all distribution centers.
JDA Allocation first tries to get goods from only one distribution center for one swing store. However, a
swing store may have goods allocated from two different distribution centers, if this behavior is
required to hit the available curve and maximize Need.
You can establish swing stores through Allocation Administration by creating multiple product location
restrictions for certain locations, with different distribution centers in each restriction.
Store selections let you filter the location list based on the attributes of the locations. Each attribute of
a location is a column in the Location list. You can save selections for later use.
If you have the required privileges, you can save store selections as global selections that can be used
by everyone.
This dialog box lets you sort the data, apply a filter to the list of locations, and check the validity of the
filter. You use a filter for allocating to select locations.
This dialog box shows the available columns on the left, and the columns on which the data is
sorted on the right.
2. To add columns, select them from the list on the left, and click Add.
3. For each column in the list on the right, click Ascending or Descending to choose whether the
application sorts that column in ascending or descending order.
4. Click OK.
JDA Allocation sorts the locations based on the contents of the sort column. Allocation uses
alphanumeric sorting. For example, a Descending sort by Grade would list D-A. If you sort on the
square foot value of the location in descending order, the largest locations are displayed first. You can
sort on any store attributes in the location list.
By default, if you have not specified a sort order, the application sorts the locations by order of Need,
after the allocation has been carried out.
Create a filter
1. Select the attribute onto which you want to put a constraint from the list of attributes. The list of
possible members of that attribute is displayed in the Members list.
3. Click an operator in the operator toolbar, or double-click an operator in the Operator list. The
operator is displayed in the filter.
4. Double-click an attribute value from the Members list. The value is displayed in the filter.
2. Click Save or OK. The application checks the validity of the filter.
If you have previously saved the selection, it is saved under the same name as before.
If you have not saved the selection, the Save As dialog box is displayed.
2. To save the selection as a global selection that can be used by other users, click Global.
3. Type the name for the selection and click OK. The Description dialog box is displayed. Selection
names can be up to 50 characters, and can contain numbers, letters, and spaces.
3. Click OK. The Store Selection dialog box is displayed. This dialog box lets you change the selection
you are editing and save it, or save it under another name.
4. Click OK.
2. Select the store selection you want to delete, and click Delete.
3. Click Close.
The filter is applied every time the store selection is used. If you have a store selection that has a filter
set for locations in a warm climate, the application checks the climate of every store when the
selection is applied. If you reclassify a location, or a store was added or removed, the filter is applied
to the relevant locations.
Valid filters
A valid filter phrase has the form:
= equal to
Example: If you want to send merchandise only to those locations that are in a warm climate, you
might enter:
Climate = 'Warm'
Complex filters
You can create complex filters using AND, OR, and NOT to combine phrases. Use the left and right
parentheses to provide clarity.
You can use +, -, *, and / for addition, subtraction, multiplication, and division.
You can test whether a column is equal to one of a list of values using:
(Climate IN ('Warm','Hot') AND State code <> 'CA') OR (Square feet >= '25000' AND
Building type = 'Mall')
This filter means "Send merchandise to all locations that have a warm or hot climate that are not in
California, or to all Mall locations with square footage greater than or equal to 25000".
{d 'yyyy-mm-dd'}
{ts 'yyyy-mm-dd hh:mm:ss'}
Example
{d '1999-06-25'}
{ts '1999-06-25 17:30:00'}
SQL statements
Depending on your database, you may be able to enter more complex SQL statements for the filter,
using functions that are available on your database.
For example, to compare any date to the current Oracle system date (that is, today), you can use the
Oracle to_date and sysdate functions. To compare the STATUS_TIMESTAMP column to today's
date, use:
See the Oracle documentation for more information on what functions Oracle provides.
Your database administrator must set up procedures to collect data from your transaction
management system, your JDA planning system, or both.
Each piece of information from your host system or JDA planning system is a base variable. Base
variables from your planning system and host system can be combined to create derived variables.
Derived variables can be of two types.
Relative
Absolute
Relative variables are used to determine the ratio of merchandise to be sent to each location. Absolute
variables are used to determine the number of units to be sent to each location.
Base variables
Base variables are stored in columns on the Allocation database. For variables that follow a sequence
of time periods, each variable and time period combination corresponds to a column. This allows Need
calculations to be built that are relative to the current time. For example, a calculation that determines
the average of the last four weeks of sales data can be based on sales_01ago, sales_02ago,
sales_03ago, and sales_04ago. A calculation that depends on the planned sales for the next two weeks
could reference sales_01out and sales_02out.
The variable columns in the Plan format table can be used to create a Need based on planned data.
The variable columns in the Host format tables contain variables from your transaction management
system. These variables can be used to create a Need based on performance data.
2. Click New.
3. Enter a Variable name and Number of Time Periods. Variable names do not support spaces.
4. Click Set.
5. After all changes are made to the base variable list, click OK to update the database.
4. Click Set.
5. After all changes are made to the base variable list, click OK to update the database.
3. Click Remove.
4. Click Yes to confirm the delete. The variable is removed from the list.
5. After all changes are made to the base variable list, click OK to update the database.
Tip: Be careful when deleting base variables because they may be used by Need calculations.
To create or edit variables during the Need selection process, the Variable Manager is invoked from the
Need Selection Wizard in the WorkSheet.
Information on how to use the Variable Manager is located in the Online Expert (OLE) by selecting
Help from within Allocation or Allocation Administration.
2. Select the format table you want to use. Eligible On Hand variables for that format table are
displayed.
3. Select the On Hand variable you want to map to this format table.
4. Click Map. Only one On Hand variable can be mapped to a format table at a time. Click Un-Map or
Re-Map to change your selection.
5. Click OK.
If no eligible variables are displayed, you can create them. On Hand variables can be only Global, and
only a user with administrator privileges can create them. Close this dialog box and choose Maintain
> Variable Manager. Create a variable to calculate the On Hand value. All On Hand variable names
must begin with the tilde character (~).
On Hand variables must be defined in a format table; if not, the application cannot complete a
calculation using the On Hand variables. If you use a plan variable from a plan format table, there is
no On Hand information. To access On Hand information for plan data, you may want to create
variables as performance variables that refer to plan data.
JDA Allocation calculates On Hand variables during Need generation, regardless of whether you
selected the Consider On Hand At or Above the Need Level option. As a result of calculating an On
Hand variable, it is displayed with the other variables in the WorkSheet.
To ensure that Model data, Target and Threshold are collected, add the following statement to your
Mapped OnHand variable: "NOP(Target) + NOP(Threshold)". This allows for the application of model
based minimums for any Need Calculation.
1. Choose Maintain > Variables > Priority Order. The Priority Order Default Variable Selection
dialog box is displayed.
2. Select the format table you want to use. Eligible priority order variables for that format table are
displayed.
3. Select the priority order variable you want to map to this format table.
4. Click Map. Only one priority order variable can be mapped to a format table at a time. Click Un-
Map or Re-Map to change your selection.
5. Click OK.
Revalidate a variable
You can select this option to automatically check and validate your variables' formulas, display names,
or derived variable descriptions. As JDA Allocation is validating, it may also modify the way some
variables were previously stored in order to tolerate base variable display and derived variable
description changes. This may also include some location table column display names used in Need
calculations. This option does not change formulas or display names that are viewed by you and the
distributors. If you open a previously saved variable, JDA Allocation always displays the display name
(if valid) instead of the column name.
If a display name is not found, JDA Allocation will simply validate the variable. If a variable is found to
be invalid, the variable is logged as invalid in the AAMDebug.log. The log file is maintained for
support purposes. For help diagnosing an error in a variable, contact JDA Services. Note: This variable
is not updated in the database and must be corrected by you before it can be used.
1. Choose Maintain > Variables > Revalidate. An Updating Variables wait panel is displayed.
The wait panel contains a progress bar. When the validation is complete, an informational message
is displayed that describes how many variables were present, updated (does not include derived
descriptions that matched names), and invalid.
Relative variables
Relative variables are used to determine the ratio of merchandise to be sent to each location. For
example, you could create a relative variable SalesLastWeek with the formula:
sales1ago
If Need is calculated at location level, this formula might produce a relative Need for locations A, B,
and C of 250:300:150, which is a ratio of 5:6:3. For every five units sent to location A, six should be
sent to location B, and three to location C. This ratio ensures that locations with the higher Need get
sent more merchandise.
Absolute variables
Absolute variables are used to determine the number of units to be sent to each location. For example,
you could create an absolute variable Sales4Weeks with the formula:
Example
The following variable would provide an eight Weeks of Supply calculation; enough merchandise to last
the location eight weeks, based on the last four weeks' sales, subtracting the merchandise still on
hand.
sales1ago
from the host table might produce a value for actual sales one week ago. If you wanted to base the
Need for each location on the sales, but wanted to send more merchandise, you could modify the
variable as follows:
sales1ago * 2
This formula would produce a Need for each location of twice the sales one week ago.
You can include several variables in a formula. For example, if you want to add the sales for the last
three weeks together, you might use:
Syntax conventions
Words in UPPER CASE are words the application recognizes; these words are usually functions or
arithmetic operators. For example, ROUND is a function.
Words in italics are generic terms. You must replace the word with the appropriate information. For
example, ROUND(expression) indicates that you should replace the word expression with a valid
expression.
Square brackets [ ] indicate optional items. You can include one of the items or none of them. For
example, AVERAGE(expression [, expression, ...]) means that you must include at least one
expression, and may optionally include more.
Parentheses ( ) are used to enclose parts of an expression. The items within parentheses are
calculated before items outside them. For example, B / (C - D) means that B is divided by the
result of C - D.
+ INC
- MOD
/ VAR
* ZDIV
@ ZEXC
% ZMOD
EXC ZPCT
See the "Arithmetic Operators" topic in the online help (ALCHEMY.CHM) for details.
Conditional statements
You can use the following functions to make the result of a variable dependent on some condition.
IF ELSE
IF THEN ELSE
WHENTEST
WHENTESTs with Levels and Product Mappings
See the online help (ALCHEMY.CHM) for details and examples of conditional statements.
Logical operators
You can use these operators in the formula of a variable.
& AND
OR NOT
TRUE FALSE
See the "Logical Operators" topic in the online help (ALCHEMY.CHM) for details.
Comparisons
You can use the following comparisons in the formula of a variable.
= or EQ or IN Equal to
See the "Comparisons" topic in the online help (ALCHEMY.CHM) for details.
Functions
You can use the following functions in the formula of a variable.
ABS AVERAGE
ENV MIN
MAX NOP
ROUND SGN
SQRT STR
TRUNC VAL
See the online help (ALCHEMY.CHM) for details and examples of these functions.
Vertical functions
Because most of the functions for derived variables operate on variables for a single location, or a
single combination of levels for a single location, the following functions let you calculate sums and
averages for all locations, or for all colors within a single location, for example.
Horizontal functions act on values across this set of data; for example, the average of sales1ago and
sales2ago is given by:
AVERAGE(sales1ago,sales2ago)
This formula produces a value within each row of the above table.
Vertical functions, on the other hand, act on the columns of this set of data, working down the table.
For example, you might want to know the average sales last week for all sizes in color red for a
particular location; or even the average sales last week for all locations.
The application considers the data relevant to the merchandise being allocated. Even if data for 20
colors is collected, if only three colors are being allocated, the number of colors that the application
reads from the collected data is three.
See the online help (ALCHEMY.CHM) for details on vertical functions: AVG, COUNT, SUM, ZAVG,
ZCOUNT, and ZSUM.
ID
ID is a shortcut for LOCATION_ID in addition to LOCATION (NAME).
Example
LOCATION
The Location function retrieves attribute information about a location from the Locations table.
LOCATION(basevariable)
basevariable is the name of a column on the Locations table. The function is intended to be used
within a WHENTEST expression. LOCATION can return either a string or a numeric.
Example
You must use the Oracle column names, not the Locations table display names, when creating these
attributes.
Example
In this example, we used the Oracle column name REGION_NBR instead of the Locations table display
name of Region Number.
Additional functions
The application provides functions that let you alter the results of a Need variable dependent on the
merchandise already allocated of that type, or the grade of the location, provided you implemented
Currently Allocated Quantities and Store Grading. See "Set up currently allocated quantities" (on page
73) and "Set up store grading" (on page 70) for details on implementing these features.
For details on CAQ, DCAQ, GRADE, and PR functions, see the online help (ALCHEMY.CHM).
Note: A Need calculation containing a constant variable (for example: PR, Prior Results) also must
reference a format table variable.
The application distributes merchandise based on the Need of each location. Need can be based on
actual data from your transaction management system, data from other systems, or plan data.
Once a data collect level has been established, rules are built from the levels. Because of this, data
collect levels cannot be modified after they have been established.
This level does not indicate the level in the product hierarchy at which the application generates Need,
because the application generates Need based on how the host system populates the format table.
For example, assume you have the following data collect level, associated with your Sales and Stock
format table.
This collect is a style level data collect; therefore, you name this level Style. The name you give the
level is what the distributor sees when asked to choose a level.
For most data collects, the default low-level rule uses the wildcard specified on "Step 11" (on page
103) of Allocation Database Setup to represent low-level members, if multiple members at level 1 or
lower are present on one WorkList line. For example, a color level data collect rule for four colors may
look like this example:
Hierarchy ranges describe the portions of the hierarchy that you can use to create data collect levels;
for example, in a Division, Dept, Class, Style, Color, Size, Width hierarchy, you may be allowed to
create data collect levels from the Dept, Class, Style range.
In each data collect level, you must start at the top of the range, and work down through the levels.
For example, with a Dept, Class, Style range, you could create the following three data collect levels.
Dept = ?
Dept = ?;Class = ?
Dept = ?;Class = ?;Style = ?
If you have associations with your hierarchy range, you can add nonhierarchical groups to your data
collect level. For example, you could have Vendor and Price Point associated with the Style group. You
can choose to add Vendor or Price Point to your data collect level whenever you add Style. This
addition allows you to create the following additional data collect levels.
2. Select the format table for which you want to create a data collect level from the list, and click OK.
The New Data Collect Level dialog box is displayed.
3. Type a Level Name. The level name is what the distributor sees when selecting the level for a
data collect. Level names can be up to 30 characters long, and may include spaces.
4. If you have more than one data collect parameter, for example, a base parameter and parent
parameter, you can enter lines for each parameter. Click the + sign next to each parameter folder
to open it.
If you do not have parameters, you see an expandable tree containing the members of the
hierarchy range for your format table.
5. Double-click the first member of the Hierarchy to add it to the level. For example, double-click
Department.
6. Double-click an operator from the Operators list to add it to the level. For example, double-click
=.
7. Continue with the next member of the hierarchy that you want to include in the level; for example,
Class.
8. If you have nonhierarchical groups associated with any groups in the hierarchy, they display in the
same folder. You can add these groups by double-clicking the name, then the operator, or you can
leave them out of the data collect level.
9. Click New Row to create a new row with a different parameter. You must not create more than
one row, unless you have a different parameter in each.
10. Click Save to save the data collect level, and Close to close the dialog box.
3. Click Delete.
4. Click Close.
As system administrator, you can delete any of these items that are not used or may have expired.
You can sort the results by name, user, or date by clicking the tiles at the top of the dialog box.
2. Select the results name you want to remove, and click Delete.
4. Click Close.
Results purge
Named and unnamed results sets and their corresponding WorkList and shape table records remain
indefinitely, unless code is executed to clean them up. You can purge these potentially unneeded
records either programmatically or through Allocation Administration.
First, select the Enable Results Purge parameter on Step 11 of Database Setup. Next, in Allocation
Administration, specify the number of days to keep the results from the Action > Results Purge
menu. Then, execute the purge process. When executed, the results purge procedure uses your
configured settings to determine what should be purged. By default, unnamed results sets and their
corresponding WorkList and Shape records are eligible to be purged after 14 days. Named results sets
have a life of 999 days, by default.
Schedule the purge process to run from a command line on an administrator's Windows machine
where Allocation Administration is installed, or execute it directly from the database package in Oracle.
Notes:
You should successfully log in to establish a connection to the database prior to using the
command line syntax to start any of the AL applications. A connection file can also be included as
one of the command line options.
Example: SQL*Plus
EXEC AALResultsUtils.PurgeResults
It is expected that the procedure will be scheduled to run once daily. It will delete only results and
their corresponding records for released allocations whose queue_out entry has been processed and
deleted by the interface. If a queue_out record still exists for an allocation, it will not be deleted.
See "Delete results" (on page 69) for more information about removing results data.
To execute the purge process, select Action > Like Store Rules Purge > Execute…
All Like Store rules that meet the following passed date criteria are purged when this process is
executed:
Rules with a Purge Date that is earlier than the current system date
Alternatively, rules can be purged programmatically. The purge process can be scheduled to run from
a command line on an Administrator's Windows machine where Allocation Administration is installed.
The command line option is %PURGE_LSPRULES.
Notes:
The message that indicates when the process is complete is suppressed when the purge is
executed via command line.
You should successfully log in to establish a connection to the database prior to using the
command line syntax to start any of the AL applications. A connection file can also be included as
one of the command line options.
It is expected that the procedure is scheduled to run as often as needed to purge expired rules.
Storing a high volume of rules (>1000) in the database may degrade performance.
Delete a method
1. Choose Maintain > Delete > Methods. The Delete Methods dialog box is displayed.
You can sort the methods by name, user ID, or date by clicking the tiles at the top of the dialog
box.
4. Click Close.
2. You can sort the views by name, user ID, or date by clicking the tiles at the top of the dialog box.
5. Click Close.
You can sort the views by name, user ID, or date by clicking the tiles at the top of the dialog box.
2. Select the data collect rule you want to delete, and click Delete.
4. Click Close.
Auto-Allocation allows the user to focus on reviewing and adjusting allocations instead of stepping
through the process to produce the initial allocation. Auto-Allocation is well suited to support basic
stock replenishment.
Auto-Allocation provides a graphical user interface that lets you set controls for logging job details, and
displays the progress of the auto allocation as it is running. Tables and schedules that reference
existing WorkList lines within the JDA Allocation product control Auto-Allocation.
Configuration considerations
The following are suggestions to consider when planning your configuration for Auto-Allocation.
Determining the optimum configuration for your site may require some experimentation.
Issues that may have an impact on the configuration you select include the volume of network traffic,
number of users, and level of saturation your site supports. Machines running Auto-Allocation should
be close to the database. However, if you have a large number of machines dedicated to running Auto-
Allocation while nearby user machines are running interactive JDA Allocation, concurrent activity may
slow processing.
You may choose to run application server-type machines both day and night with Auto-Allocation
exclusively. Or, you may want to run user-type machines with JDA Allocation during the day and Auto-
Allocation at night. Each machine running Auto-Allocation must have its own user ID and password.
Start up and shut down of Auto-Allocation must be managed by the site. Users can manually shut
down JDA Allocation and start Auto-Allocation, and vice-versa. Third party scheduling products can be
used to start and stop Auto-Allocation.
Auto-Allocation process
Auto-Allocation provides all the functionality available in the interactive JDA Allocation product. In
addition, Auto-Allocation provides the ability to run allocations without real-time intervention. Auto-
Allocation uses the same files (with some additional files), and has the same requirements as JDA
Allocation.
Auto-Allocation can be installed on the same machine as JDA Allocation, but the two cannot run
simultaneously on the same machine. You can, however, set up Auto-Allocation to run during the night
on the same machine used to run interactive JDA Allocation during the day.
A schedule table holds the required information for Auto-Allocation, including run times, filters,
methods, and action to take when the allocation is complete. When there is conflicting information
between the WorkList and the schedule table in Auto-Allocation, the schedule table takes precedence.
The scheduling process creates the job queue entries that manage running each item. Each job is
assigned a job number in the queue. Multiple machines can be set up to check the queue to run the
next job. A machine checks the queue every five minutes. The scheduling process can be launched
interactively by users, or can be set to launch from Allocation Administration.
When a schedule record is queued, the appropriate WorkList line is updated to include the job number,
method, and filter information required for the allocation. The WorkList line is locked until the job is
completed. The schedule process cannot queue the item if the WorkList line is not available.
Auto-Allocation must have access to the Need variable for that particular method. Without a Need
variable defined in the WorkList or the method, Auto-Allocation cannot proceed.
All major events during an Auto-Allocation are written to a table that can be viewed in Oracle or an
Oracle-compatible reporting tool. Reporting is centralized so information from every job run from the
job queue is accessible in one location.
By including the option in the schedule table, you can choose to release the allocation automatically
after it is complete; or you can review and release the allocation manually.
Requirements
User IDs for Auto-Allocation must be established and set up as global administrator with all rights. In
Allocation Administration, choose Maintain > User List to add or edit user IDs.
All other requirements for Auto-Allocation are the same as for JDA Allocation. See the JDA Allocation
Installation Guide (INSTALL.PDF) for details.
WorkList mappings
When you first use Auto-Allocation, the following new columns must be added to the WorkList and
mapped using Allocation Database Setup. In some cases, mapping may be optional.
Example WorkList
Columns Map to JDA Allocation Auto-Allocation
METHOD_NAME Method Name Optional Required
AA_JOB_NUMBER Auto-Allocation Job Number Not Applicable Required
MODEL_NAME Model Name Optional Optional
STORE_SELECTION Default Store Selection Optional Optional
CURRENT_ACTIVITY Current Activity Required Required
The Auto-Allocation tile uses a mapped Available Quantity column on the WorkList in order to calculate
allocated units. This column can be configured in Allocation Database Setup, step 9.
For more information, see the Online Expert (OLE) by selecting Help from Allocation Administration.
Schedule Auto-Allocation
Choose Maintain > Auto-Allocation Schedule in Allocation Administration, where you can enter the
required information into the schedule table. There is no validation.
The scheduling process checks the schedule table for any schedule items that need to be run.
Authorized users can interactively start the scheduling process, or it can be set to run at specified
times.
The product you want to allocate must be described by a filter for the WorkList. In the schedule table,
you can use the name of an existing filter, or you can type the text defining the filter. If you define the
filter in the schedule table, column names or descriptions can be used, but they are case sensitive. The
schedule table must also indicate the method to be used. This information is copied to the WorkList by
the schedule process.
When there is conflicting information between the WorkList and the schedule table in Auto-Allocation,
the application can be configured so that either the schedule table or the WorkList takes precedence. If
either the model or the method name column is null in the schedule table, the corresponding WorkList
columns are not overwritten.
Schedule table
Edit the schedule table in Allocation Administration by choosing Maintain > Auto-Allocation
Schedule. Columns in the schedule table include:
Enabled indicates whether this schedule record is available to be processed. Y and N are the legal
values for this column. This column can be edited by the administrator and updated by the
schedule process. This column is required, and must be set to Y for the schedule record to be
processed.
Process Record After Date is the date/time before which the record should not be processed.
The record will not be processed before this date/time. The calendar displayed when this cell is
selected includes time of day (based on a 24-hour clock). This column can be edited by the
administrator and updated by the schedule process when re-scheduling of the record takes place.
Null is a legal value. Populating this column is optional.
Record Last Processed Date is the date/time the schedule record was previously processed. The
schedule process automatically includes this information. This column cannot be edited.
Last Successful Job Created is the date/time when processing the schedule record resulted in a
job being created for Auto-Allocation. This column cannot be edited.
Do Not Process After Date is the date/time after which the schedule record should not be
processed or rescheduled. The first time the schedule is processed after this date, the record is
disabled. Null is a legal value.
Override allows you to override schedule information and force the schedule record to be
processed the next time the schedule is processed, as long as it is not after the Do Not Process
After Date. Y, N, and A are the legal values for this column. Y indicates that the record should be
processed during the next schedule processing, regardless of the Process Record After Date. Y
is a temporary override, which is set to N after processing. N indicates there is no override of the
Process Record After Date. A indicates that the record should always be processed, regardless
of the Process Record After Date. A is a permanent override and can only be changed by the
administrator. If a schedule record is processed due to the presence of Y or A in the Override
column, the Process Record After Date is unaffected. Null is a legal value. This column is
optional.
Schedule Code is used during rescheduling, if the item was processed based on the Process
Record After Date. It allows you to set the schedule record to be processed certain days of the
week, as represented by a number. If a record is currently scheduled for a particular date/time
that does not correspond to the Schedule Code, the schedule record is processed based on that
date, then rescheduled for the next valid date matching the Schedule Code. Legal values for the
days of the week are 1, 2, 3, 4, 5, 6, and 7 (corresponding to Sunday through Saturday), used in
this format: D:<n>[,<n>].
The 4 and 6 represent Wednesday and Friday respectively. Null is also a legal value.
This column is optional. If a schedule code is used, set Override to null and set the initial
date/time for Process Record After Date.
Interval is used during rescheduling if the item was processed based on the Process Record
After Date. It contains a number representing days that specify how often the schedule record
should be processed. Legal values are 1 through 365. Null is also a legal value. This column is
optional. If this column contains a value, set the initial date/time for Process Record After Date.
Filter contains the name of a view saved in the WorkList, or a filter as it would be entered in the
filter field in the WorkList View dialog box. If a WorkList view is used, it must contain a filter. If
column descriptions are used, you must type them exactly as they display in the WorkList, because
they are case sensitive. This column is required.
To indicate the text is a filter name (created and named using the WorkList or Store Selection
dialog box), the at sign (@) must precede the name. You then must specify the user ID, preceded
by a tilde (~), for personal filters. For example, @MyFilter1~Marilyn refers to a filter previously
created and saved as a WorkList view in the WorkList. It is recommended that you specify the
owner (user ID) for global views, although it is not required.
Method contains the name of the method to be used to perform the allocation. Select a method
from the list in the Method column. Null is also a legal value. If no method name is included in the
table for this schedule record, there must be a method for this product in the WorkList for Auto-
Allocation to proceed.
Notes:
Override Location Restrictions and Override Specified Reserve Warehouse options are
saved with methods. The user’s privileges are checked when the method is loaded; if user does
not have permission to override, the option is ignored.
If any criterion in the method references grading, the method must include the grading
information.
You should attempt to include all information typically provided by the user during an
interactive allocation within methods, to avoid assumptions by the application.
To ensure that any methods for Auto-Allocation contain valid data collection criteria, you must
successfully collect data before the method is saved.
The application does not prohibit multiple users from creating methods of the same name.
Specify the user that created the method, as well as the method name, when referring to a
method in the schedule table or WorkList to ensure that Auto-Allocation uses the intended
method. Use the following format: methodname~user id.
Model Name contains the name of the model to be used with the method. The name must
reference a model that has details for all merchandise that matches the WorkList selection defined
by the filter. Null is a legal value. Model Name ensures that the product being allocated has an
associated model, which is required if the method's Need calculation references model data.
Store Selection contains the name of the store selection to be used with this method. The name
must reference a valid store selection. Null is a legal value.
Note: If a store selection is specified in both the method and the Store Selection column, the store
selection in the method takes precedence.
Final Action contains the instruction code to either approve or release on successful completion of
the allocation. A and R are the legal values for this column. Null is also a legal value. If this
column is left blank, the default is to approve the allocation.
Process Information is used by the schedule process to display information resulting from
attempts to queue or re-schedule records. You cannot edit this column.
User Notes can be used to enter any information relevant to that schedule record. Use of this
column is optional.
Process Order can be used to define the order of processing for each of the schedule records. The
records will be processed in order from lowest to highest integer. Use of this column is optional.
Notes:
When the schedule has been processed, a job code is displayed in the WorkList for each record
currently queued for Auto-Allocation. The user cannot enter the WorkSheet for these records until
the Auto-Allocation jobs are complete.
When there is conflicting information between the WorkList and the schedule table in Auto-
Allocation, the Auto-Allocation Schedule Preferences in Allocation Administration define the order of
precedence.
A series of numeric values is inserted into the Process Order column that causes the records to be
processed in the current order.
Schedule process
The schedule process checks the schedule records and attempts to process records as appropriate.
Then, the schedule process reschedules records.
Process records
The schedule process attempts to process records by first checking for the Process Record After
Date date/time and selecting all records with a date/time that is past or equal to the current system
date/time, but before the Do Not Process After Date. If Enabled is Y for the record selected, the
schedule process checks the appropriate WorkList line to determine if it is available. If so, the record is
queued to run.
Similarly, the schedule process attempts to process all records with an Override value of Y or A.
These records do not calculate a Process Record After Date, based on a schedule record. If Run
Today was Y, it becomes N.
If the record is processed based on Process Record After Date, the record is rescheduled. Records
scheduled based on the Override value only are not rescheduled.
Reschedule records
The schedule process attempts to reschedule records by changing the date/time in Process Record
After Date for that record. The schedule process first attempts to determine the Process Record
After Date date/time, based on the Schedule Code (D:1,2,3,4,5,6,7).
If there is no Schedule Code, the schedule process reschedules based on Interval. If the Schedule
Code is invalid, Enabled is set to N for the record. If there is no Schedule Code and no Interval,
Enabled is set to N for the record.
If rescheduling a record results in a date/time after the Do Not Process After Date, Enabled is set
to N for that record.
You can schedule the process to run as an Oracle job, using Oracle functionality. Check with your
DBA for details. The name of the procedure is ALLOCSCHED.SCHEDULEJOBS in the AAM schema.
Using SQL*Plus, enter the following in the AAM schema:
EXECUTE ALLOCSCHED.SCHEDULEJOBS;
You can run the scheduling process from Allocation Administration, using Action > Process Auto-
Allocation Schedule.
You can set up the process to be started using a command line statement. This option is available
on a machine where Allocation Administration is installed. Starting the scheduling process in this
way is useful particularly for schedule processing as part of other batch processes that run at
night. This option is the same as starting Administration and choosing Action > Process Auto-
Allocation Schedule. For example:
"C:\Program Files (x86)\JDA\JDA Allocation\Alchemy.exe" [username] [password]
%PROCESS_SCHEDULE
Notes:
You should successfully log in to establish a connection to the database prior to using the
command line syntax to start any of the AL applications. A connection file can also be included
as one of the command line options.
You might prefer to run the process all the time; however, do not start the schedule process until the
previous run has been completed. The schedule jobs process does not support being executed more
than once at any given time.
The optimum frequency for running the schedule process depends on how big the schedule table is and
how long the process takes. You may need to experiment with your application to determine the best
approach to scheduling. A batch job that overlaps the previous batch job will not process.
Run Auto-Allocation
Auto-Allocation lets you set controls for logging record details, and displays the progress of the
application as it is running.
Manually
Double-click the Auto-Allocation icon.
By command line
Three different command line statements control starting and stopping Auto-Allocation.
Starting Auto-Allocation from a command line so it shuts down when the queue is empty:
"C:\Program Files (x86)\JDA\JDA Allocation\AlcAuto.exe" [username] [password]
%SHUTDOWN_WHEN_DONE
Notes:
You should successfully log in to establish a connection to the database prior to using the
command line syntax to start any of the AL applications. A connection file can also be included as
one of the command line options.
After that option has been selected, you can run Auto-Allocation using commands similar to the
following examples.
If you have the appropriate permissions, you can start Auto-Allocation with the following command.
You can use the following command to shut down the Auto-Allocation session six hours later.
You should successfully log in to establish a connection to the database prior to using the
command line syntax to start any of the AL applications. A connection file can also be included as
one of the command line options.
The full path must be listed, not just the executable. The AAL_HOME environment variable can be
used to identify the Allocation installation folder if the scheduling is being performed on the
machine where Allocation is installed. If scheduling from a different machine, the Allocation
installation folder must be specified. If the directory name contains spaces, use the short path
format or put the path and executable name in quotes. You can also select the /interactive flag
for Auto-Allocation, so you can see the application while it is running.
Log files are useful during debugging when you first are establishing your Auto-Allocation process.
Once your schedule records are processing smoothly, typically the major events included in reports are
sufficient information to track your allocations.
Processing assumptions
Assumptions generally mean that a new condition not previously considered in a method has been
encountered and should be resolved. An allocation that includes assumptions is not released. Auto-
Allocation handles the following three assumptions.
If the method does not specify how to handle leftover goods, Auto-Allocation assumes that all
leftover goods are forced to reserve.
If your method uses a variable that references planning data, and the method does not contain
planning time period information, Auto-Allocation uses the current time period.
If your method requires grading criteria for store selections or Need, and the method does not
contain grading information, Auto-Allocation uses default grading criteria and current time period.
Reporting
Reporting is centralized so up-to-date status from every job is accessible in one location.
The application records all major events to the report tables as Auto-Allocation proceeds. There are
two tables, AA$BATCH_HEADER and AA$BATCH_DETAIL. All machines running Auto-Allocation from
the same schedule table report to the same centralized reporting table. You can use Oracle Forms or
another Oracle report reading tool to view these reports.
The header table includes the status field with major status information, such as approved or released.
The detail table lists any assumptions that were made or errors encountered. This table is specific to
Auto-Allocation, and is not the detail table used by JDA Allocation.
These tables require routine cleanup. JDA Allocation provides options for maintenance of data on these
tables.
In addition to the ability to review this Auto-Allocation data in the Administrator Dashboard, we have
provided a sample script, as shown below, that can be used directly or modified as required to create
simple Auto-Allocation reports.
START %JDA_ALLOCATION_SCRIPTS%\SAMPLES\AAREPORT.SQL
The report produced can be printed in Notepad using the following settings:
These settings are suggested to provide appropriate page breaks in the report.
Run the data maintenance process by selecting the option on the dashboard tile. You can also run this
process using a command line option or PL/SQL procedure.
You should successfully log in to establish a connection to the database before using the command
line syntax to start any of the AL applications. A connection file can also be included as one of the
command line options.
This can be controlled using the Auto-Allocation tile on the Administrator Dashboard or the Allocation
Administration Action menu. Select Action > Auto-Allocation > Suspend Auto-Allocation Jobs or
Resume Auto-Allocation Jobs. After Auto-Allocation jobs have been suspended, no more jobs will be
initiated, although jobs that have already started will continue until they have completed.
It can also be executed via a command line option, which enables it to be called from a batch process
to run on an administrator's Windows machine where Allocation Administration is installed. The options
are %SUSPEND_AUTO_JOBS and %RESUME_AUTO_JOBS.
You should successfully log in to establish a connection to the database prior to using the
command line syntax to start any of the AL applications. A connection file can also be included as
one of the command line options.
Monitor process
You have an option to configure and run a client service to monitor the running Auto-Allocation jobs
and generate an alert if a job fails to complete within a specified amount of time.
The AA$ALERT_QUEUE system table holds details about the job that failed to respond. You can query
this table for alerts and take action as necessary.
Detailed information on the configuration of this feature is located in the Online Expert (OLE) by
selecting Help from within Allocation Administration.
Clean up
You can clean up information related to jobs in the Auto-Allocation job table and in the WorkList, by
running commands from SQL*Plus.
The following command deletes all records from the AA$JOB table that represent either completed or
failed jobs. It does not delete any jobs in progress or newly scheduled jobs. WorkList lines
representing failed allocations are reset to available, with their auto-allocation job number cleared out,
as part of this process.
EXECUTE ALLOCSCHED.AUTOALLOCATIONCLEANUP;
In addition to performing everything described in the first example, this command also undoes any
scheduled jobs that have not begun, and clears out the auto-allocation job number as part of resetting
the associated WorkList lines to available.
EXECUTE ALLOCSCHED.AUTOALLOCATIONCLEANUP(TRUE);
You can reset failed Auto-Allocation jobs by choosing Action > Reset Failed Auto-Allocation Jobs in
Allocation Administration or by passing the %RESET_FAILED_AUTOALLOCATION_JOBS switch as a
command-line parameter to JDA Allocation.
You can reset all Auto-Allocation jobs by choosing Action > Reset All Auto-Allocation Jobs in
Allocation Administration or by passing the %RESET_ALL_AUTOALLOCATION_JOBS switch as a command-
line parameter to JDA Allocation.
To approve and release the allocation automatically, set the option in the final action column of the
schedule table.
If Generate Need When Loading Auto-Allocation Results is enabled in Allocation Database Setup
step 11, you can view the calculated Need that Auto-Allocation used for a particular allocation. This
Need applies to Auto-Allocation results that are in either Approved or Discrepancy status, and is
generated during WorkSheet entry when reviewing the results from the original data collected.
However, if the format table is cleaned out before the review, JDA Allocation cannot display the
calculated Need. Dynamic information not stored in format tables, such as CAQ or GRADE, will have
been changed since Need was originally calculated. To address the issue of CAQ being dynamic, we
recommend using the DCAQ feature that collects CAQ based on the data collect rule and stores the
information in the format table. This feature allows re-use of the information as needed.
If any Auto-Allocation jobs are pending review, do not change methods that are referenced by the
Auto-Allocation job. If the referenced methods are changed, the review will no longer be meaningful.
An alternative approach is to Enable Saving and Loading of Need Values with Results in
Allocation Database Setup step 11. This does not require Need to be generated from the format table
data, and it is not affected by changes to CAQ. However, this functionality only loads the Need values
and does not provide access to the base & derived variables that were used to generate the Need.
The Like Store Support dialog box provides an easy to understand and easy to use mechanism for
building like store rules. A rule can be assigned to a high level of the product hierarchy and all levels
below inherit that assignment. Or you can assign different like stores to different product hierarchy
levels while easily keeping track of these assignments as you proceed.
Some database set up is required before proceeding to build the rules. See "Set up like store support"
(on page 104). You must then select variables for use in like store support.
Variable patterns are assembled by Allocation to enable quick and efficient criteria selections. The
selections you make for the pattern are inherited by the all of the members of the pattern.
Choose Action > Establish Like Store Variable Criteria…. The dialog box containing the variable
criteria options is displayed.
1. Select the format table that contains the variables you want to include in like store support.
Note: Planning format table variables and mapped variables, such as Model Target, Model
Threshold, Prior Results, and DCAQ, are not eligible for like store assignment.
2. Select the corresponding Time Period for the variable patterns. For example, if each member in
the pattern Sales_<n>_ago represents one week's worth of history, the corresponding time period
is Weekly for that pattern. You must select the length of time represented by each member of a
pattern in order to begin using the new store's history while continuing to use the like store's
history. Each time period, Allocation will use another portion of the new store's history, while
phasing out the like store's history. See "Build like store rules" (on page 169)
Patterns
Click the Patterns… button to display the dialog box for suspending patterns. This dialog box also
displays pattern matched variable lists.
1. Select the Apply To Store for which you want to create a like store rule from the list.
Note: An Apply To Store can only reference itself as a Like Store in a direct Like Store reference.
However, a store cannot reference itself in an indirect reference via a Like Store selection. The
reason for this is that a store can be used both as an Apply To Store as well as a Like Store for a
different store. The system must determine how to apply the like store rules so that any Like
Stores that are also Apply To Stores are updated in an appropriate list. Like store circular
references are detected when the system applies the like store rules. If any are found, the like
store data collect will fail. To avoid the possibility of indirect circular references, the system filters
out the Apply To Stores from the Like Store Selections when applying like store rules.
3. Select the desired date criteria. The Transition To Like Store is the date when Allocation initiates
applying the like store's product data collection to the new store. The Transition From Like Store
date is the date when Allocation begins using the new store's own history as it accumulates, while
continuing to use some of the Like Store's history. The Purge Date is the last day that Allocation
uses the like store's data.
Note: These dates are applied to rules based on the date/time of the machine where the
application is running.
4. Check the box and type a Percent Increase to increase the like store's history by <n>% when
applying the data to the new store.
5. Choose a product. You can select multiple products that will use the currently selected location and
date criteria. Each product selection is separated into individual rules.
6. Select Add, to build a rule(s) and continue working. Note: By selecting Add, you are not yet
saving the rule to the database. Selecting Add before Apply or OK is optional.
7. Select Apply to save the rule to the database, and continue working in the Like Store Support
dialog box. Select OK save the rule to the database, and exit the Like Store Support dialog box.
2. Select the rule from the list. The dialog box is populated with the rule criteria.
2. Select the rule from the list. Select multiple rows by pressing Ctrl+.
To delete all rules for that Apply To Store, right-click the Rules grid and select Delete All Rules.
Note: An expired Purge Date does not remove the rule from the Rules grid. You can remove expired
rules by selecting them and using the Delete Rules button or by executing the "Like Store Rules Purge"
(on page 156) process.
2. Right-click the Rules grid. Select Copy Rules. The Copy Apply To Store's Rules dialog box is
displayed.
5. Select OK. This dismisses the Copy Apply To Store's Rules dialog box. The Like Store Support
dialog box is now populated with the new Apply To Store, its copied rules, and any rules that
already existed for this store.