V8.5 Alpha Document Number Support
The primary reason for this feature is because some Elliott users are running out of invoice numbers and are approaching invoice number 999999. In the past, users could use a special archive procedure to reset the invoice number. However, there are some limitations with the archive and users may find some minor issues after the archiving.
By using alphabetic invoice numbers, each digit can have the
value from 0 – 9 and A-Z. So the maximum number of invoice numbers is 36 * 36 *
36 * 36 * 36 * 36 = 2,176,782,336. This exponentially increases the number of
invoices that can be stored in Elliott, so users can avoid resetting the
invoice number counter in the future.
999999 – the next number will be set to 0 and a duplicate invoice can be created.
A99999 – the next number will be B00000.
AA9999 – The next number will be AB0000.
AAA999 – The next number will be AAB000.
AAZ999 – The next number will be ABA000.
AAAA99 – The next number will be AAAB00.
AAAAA9 – The next number will be AAAAB0.
AAAAAA – The next number will be AAAAAB.
AAAAAZ – the next number will be AAAABA
So the number of possible document numbers depends on the number of leading alpha digits the user enters in the Starting Invoice Number in A/R Setup. The system will always maintain that many number of digits of alphabetic characters. For example, if a user enters AAA001 as the starting invoice number, then the left 3 digits will always be alphabetic from A – Z. The right 3 digits will always be numeric from 0 – 9. This is important for the following reasons:
Users do not have to make alphabetic or numeric as either leading or trailing, but it should be consistent. For example, the user can enter the following as the starting invoice number:
The rule is that the digit that’s alphabetic will always be alphabetic. The digit that’s numeric will always be numeric until someone manually changes the starting invoice number.
The alphabetic document number feature not only applies to invoice numbers, it also applies to most other fields that are considered as document numbers. This includes, but is not limited to:
- Crystal Report Conversion for V8.5 - http://support.elliott.com/knowledgebase/articles/1887961-crystal-report-conversion-for-v8-5
- The Lessons We Learned from Upgrading Web Service 8.2 to 8.5 in eStore - http://support.elliott.com/knowledgebase/articles/1886914-the-lessons-we-learned-from-upgrading-web-service
If you have no need to use alphabetic document numbers, then you don’t have to go through the database conversion immediately. You can continue using V8.2 web services, the V8.2 DDF files and their corresponding database for external applications to access Elliott’s data. Elliott V8.5 will work with the V8.2 database structure without any problem. But we will eventually stop supporting V8.2 web services and DDF, so you still should plan on migrating to V8.5 web services (if you use web services), and using the new V8.5 DDF at some point. This will require database conversion.
The main risk of converting to the Elliott V8.5 database format is that your external applications may stop working. To minimize your risk, we suggest you to take the following steps:
Step 1 - Convert External Applications First
If you use external applications like Crystal Reports or web applications, you should start converting them to become Elliott V8.5 compatible. By default, Elliott V8.5 will create the database name like ELI85DATA. This is based on the new DDF files in the <ElliottRoot>\Bin85\DDF40 folder. We presume you will make a copy of your existing applications to another area when performing this conversion and point to the ELI85DATA database.
While you perform this conversion, you will continue to let your production Crystal Reports or web applications access your V8.2 database (e.g., ELIDATA) and web services.
Step 2 - Convert Database, Test or Live
After you are done with your conversion, to begin using the V8.5 database, like ELI85DATA, you will need to convert your V8.2 data to Elliott V8.5 format. This involves rebuilding the index of many Elliott tables. For example, Invoice Number used to be a numeric field. It is a string field in Elliott V8.5. For all tables that have the invoice number field and are part of the table’s index, you will need to convert those indexes to treat invoice numbers as string fields now. You can do so by logging on to the PSQL server as an administrator, bringing up the command prompt, going to the folder <ElliottRoot>\Bin85, and typing the following command:
DDF2BTR <ElliottRoot>\DATA\*.BTR
Substitute<ElliottRoot>with the root directory where your Elliott is installed. For example, use “M:\Elliott7.” The DATA is the corresponding DATA folder. It can be DATA, DATA_02…etc., which corresponds to each company. If you have custom modifications with your database, you will specify the path of your custom DDF with the DDF2BTR command. Use DDF2BTR /? to find out the proper command to do so.
When you perform this conversion on the PSQL server, you can estimate about 120 MB per minute. Do not perform this conversion on the client side since the performance will be significantly slower and less reliable. The actual time may depend on many factors. Only convert your Elliott data when no one is using Elliott, including external applications that access Elliott data like Report Writer or web services.
To be safe, you can optionally copy your production company’s data to a new company and perform your database conversion in the new company first, then continue your test with external applications that point to this new company. If the external application tests are successful, then convert your production company data. If you have multiple companies, you may perform this conversion one at a time. You don’t need to convert all of them at the same time. You still can convert the V8.5 database back to the V8.2 format as long as there’s no alphabetic value stored in any document number fields.
Step 3 - Enable Alpha Document Number Support
To enable alphabetic document numbers, you will go to Global Setup
-> System -> Comp. Specialized Control.
Answer “Y” to “Use Alpha Document Numbers?”
The application will present the user with information about converting the database if this is the first time, the option is set to "Y."
Press Enter to continue to the next warning screen.
Each kind of document number is controlled by its corresponding Global Setup flag. You will need to turn that flag on in order to use alphabetic values for that document number.
Choose the document for which you intend to use alphabetic values. For example, you may choose to use an alphabetic value for an invoice or sales order number, but not for a purchase order number.
Choose one of the following options:
- Y - This enables alpha document number support with format control.
- N - This disables alpha document number support. Only numeric values will be supported.
- W - Alpha document number support is enabled and the user will be warned if they attempt to create a document that does not match the specified format.
- F - Alpha document number support is enabled and the user can enter any format they like.
If the Y option is chosen, the document number format will be validated when new documents are created (i.e. the enforcement is on Add Mode only. We do not enforce on change mode because there could be document in different format created previously). If the user enters a document number that does not match the existing format specified in add mode, they will receive the following error message:
Once you are done with this, you will go to
the corresponding counter area to set the starting value. For example, if you
choose to use alphabetic invoice numbers, you may go to A/R Setup and set the
starting invoice number like, say, AAA001. This value is up to you. The
important thing to know is if the digit in the starting value is alphabetic,
then it will stay alphabetic. If it is numeric, then it will stay numeric. So
the digit of value “A” can have a value of A-Z.
The numeric digit will have the value of 0-9. Therefore, this format can
accommodate a maximum 26 * 26 * 26 * 10 * 10 * 10 = 17,576,000 number of
invoices. It is up to you to decide your invoice number format. Alphabetic
values can be in the beginning, the middle or the end. Or you can make them all alphabetic. The
format will stay the same until you change the starting counter value.
Once you have alphabetic values stored in any document number fields, you will not be able to go back to Elliott V8.2 or V7.5. Attempting to access a company with alpha document support enabled will generate this error message:
CLS