CLCUCCCHKD CALCULATE UCC CHECK DIGIT TAACLRD |
The Calculate UCC Check Digit command calculates the check digit for
several UCC standards such as UPC-12 used for most grocery items.
This can be used to assist in assigning the value for a new item.
In some discussions of the standards, the solution is termed 'Modulus
10'. The algorithms used differ from the system Modulus 10 function.
See the CLCMOD10 TAA tool for calculating the self check digit for
the system function.
The UC-Council describes several standards (see the UC-Council web
site) that have a fixed length. CLCUCCCHKD requires that the input
length be one less than the full length in order to return the self
check digit.
The supported standards are:
Full Input
Description Length Length TYPE value
----------- ------ ------ ----------
UCC-12 (U.P.C.) 12 11 *UCC12
EAN/UCC-13 11 12 *EANUCC13
EAN/UCC-14 12 13 *EANUCC14
SSCC 16 17 *SSCC
VICS (Bill of lading) 15 16 *VICS
The VICS type is also know has the 'Shipment ID number'.
A typical series of commands would be:
DCL &CHKDGT *CHAR LEN(1)
DCL &INPUT *CHAR LEN(11)
DCL &FULLUCC *CHAR LEN(12)
.
CLCUCCCHKD TYPE(*UCC12) INPUT(&INPUT) CHGDGT(&CHKDGT)
CHGVAR &FULLUCC (&INPUT *CAT &CHKDGT)
The &FULUCC value now contains the complete UCC number.
The algorithms used require adding the values for the odd and even
number digits of the input value. The *UCC12, *EANUCC14, and *SSCC
standards multiply the sum of the odd number digits by 3. The
*EANUCC13, and *VICS standards multiply the sum of the even number
digits by 3. Both algorithms then add the sums together. The last
digit of the sums is then subtracted from 10 to determine the check
digit.
CLCUCCCHKD escape messages you can monitor for
----------------------------------------------
TAA9891 The input value cannot be all blank
TAA9892 Non-digit value is entered
TAA9893 Wrong input length
Escape messages from based on functions will be re-sent.
Command parameters *CMD
------------------
TYPE The type of check digit to be generated.
*UCC12 may be entered for the UCC-12 (U.P.C.)
standard which requires an 11 digit input value.
*EANUCC13 may be entered for the EAN/UCC-13 standard
which requires a 12 digit input value.
*EANUCC14 may be entered for the EAN/UCC-14 standard
which requires a 13 digit input value.
*SSCC may be entered for the SSCC standard which
requires a 17 digit input value.
*VICS may be entered for the VICS (Bill of lading)
or 'Shipment ID number' standard which requires a 16
digit input value.
INPUT The input value to calculate the check digit for.
Only digits 0-9 may be entered. See the TYPE
parameter for the length required for each standard.
CHKDGT The one digit value that is returned that should be
used as the check digit. The variable must be
declared as *CHAR LEN(1).
Restrictions
------------
Because the command returns variables, it may only be used in a CL
program.
Prerequisites
-------------
The following TAA Tools must be on your system:
EDTVAR Edit variable
SNDESCMSG Send escape message
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
CLCUCCCHKD *CMD TAACLRD QATTCMD
TAACLRDC *PGM CLP TAACLRDC QATTCL
|
Added to TAA Productivity tools July 15, 2003