 `DIVIDE          DIVIDE                                 TAACLRP`
```
The Divide  command provides  a quotient,  a remainder,  and a  decimal
fraction  after dividing  a dividend  by a  divisor.   The  CL division
function  does not  provide for  a remainder nor  for a  fraction.  The
input variables must be specified as *DEC LEN(10 0).

A typical series of commands would be:

DCL        &DIVIDEND *DEC LEN(10 0)
DCL        &DIVISOR *DEC LEN(10 0)
DCL        "IENT *DEC LEN(10 0)
DCL        &REMAINDER *DEC LEN(10 0)
DCL        &DECFRACT *DEC LEN(9 9)
.
DIVIDE     DIVIDEND(&DIVIDEND) DIVISOR(&DIVISOR) +
QUOTIENT("IENT) REMAINDER(&REMAINDER)
DECFRACT(&DECFRACT)

If the dividend  is 333 and  the divisor is 12,  the quotient would  be
27 with a remainder of 9 and a fraction of .75.

If you  have dividend such  as 100.15, you  must convert it to  a whole
number  using multiplication or the TAA  MOVTODEC command.  The results
after the divide must then  be converted to provide the proper  decimal
positions.

Internally the C 'div' run time function is used.

DIVIDE escape messages you can monitor for
------------------------------------------

CPF9898    Divisor of 0

Escape messages from based on functions will be re-sent.

DIVIDE Command parameters                             *CMD
-------------------------

DIVIDEND      The  dividend  to be  divided  by  the divisor.    The
value must be specified as *DEC LEN(10 0).

DIVISOR       The  divisor  to divide  into  the dividend.    If the
divisor is 0,  CPF9898 is sent  as an escape  message.
The value must be specified as *DEC LEN(10 0).

QUOTIENT      The result of the  divide as a whole number.   This is
a  return  variable that  must  be  specified as  *DEC
LEN(10 0).

REMAINDER     The  remainder of the divide as  a whole number.  This
is a return  variable that must  be specified as  *DEC
LEN(10 0).

DECFRACT      The  decimal fraction  of the  whole number  after the
divide.    This  is a  return  variable  that  must be
specified as *DEC LEN(9 9).

Restrictions
------------

Because the command  returns variables, DIVIDE  may only be  used in  a
CL program.

Prerequisites
-------------

The following TAA Tools must be on your system:

SNDESCINF       Send escape information
SNDESCMSG       Send escape message

Implementation
--------------

None, the tool is ready to use.

Objects used by the tool
------------------------

Object        Type    Attribute      Src member    Src file
------        ----    ---------      ----------    ----------

DIVIDE        *CMD                   TAACLRP       QATTCMD
TAACLRPC      *PGM       CLLE        TAACLRPC      QATTCL
```

Added to TAA Productivity tools March 21, 2008