TAA Tools
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


Home Page Up to Top