HP 3000 Manuals

Procedure Division in the Communication Module [ COBOL/HP-UX Language Reference for the Series 700 and 800 ] MPE/iX 5.0 Documentation


COBOL/HP-UX Language Reference for the Series 700 and 800

Procedure Division in the Communication Module 

The ACCEPT MESSAGE COUNT Statement 

Function 

The ACCEPT MESSAGE COUNT statement 
causes the number of messages in a queue to be made available.

General Format 

     ACCEPT cd-name MESSAGE COUNT 

Syntax Rule 

CD-name must reference an input CD.

General Rules 

   1.  The ACCEPT MESSAGE COUNT statement causes the MESSAGE COUNT field
       specified for cd-name to be updated to indicate the number of
       messages that exist in a queue, sub-queue-1, ...  .

   2.  Upon execution of the ACCEPT MESSAGE COUNT statement, the contents
       of the area specified by a communication description entry must
       contain at least the name of the symbolic queue to be tested.
       Testing the condition causes the contents of the data items
       referenced by data-name-10 (STATUS KEY) and data-name-1 (MESSAGE
       COUNT) of the area associated with the communication entry to be
       appropriately updated.  (See "The Communication Description -
       Complete Entry Skeleton"  in this chapter.)

The DISABLE Statement 

Function 

The DISABLE statement 
notifies the MCS to inhibit data transfer between specified output queues
and destinations for output or between specified sources and input queues
for input.
________________________________________________________________________
|(ANS85)                                                               |
|The KEY phrase of the DISABLE statement is classed as an obsolete     |
|element in the ANSI'85 standard and is scheduled to be deleted from   |
|the next full revision of the ANSI Standard.                          |
________________________________________________________________________

            
________________________________________________________________________
|(MF)                                                                  |
|All dialects within this COBOL implementation fully support this      |
|syntax.  Refer to your COBOL System Reference for details on          |
|using the FLAGSTD directive to detect all occurrences of this         |
|syntax.                                                               |
________________________________________________________________________

            

General Format 

	       Click here to view figure.
            

Syntax Rules 

1.  Cd-name must reference an input CD when the INPUT phrase 
    is specified.
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|2.  Cd-name must reference an input-output CD when the I-O TERMINAL   |
|    phrase is specified.                                              |
|                                                                      |
________________________________________________________________________

            

3.  Cd-name must reference an output CD when the OUTPUT phrase is
    specified.

4.  Literal-1 or the contents of the data item referenced by identifier-1
    must be defined as alphanumeric.

General Rules 

   1.  The DISABLE statement provides a logical disconnection between the
       MCS and the specified sources or destinations.  When this logical
       disconnection is already in existence, or is to be handled by some
       other means external to this program, the DISABLE statement is not
       required in this program.  The logical path for the transfer of
       data between the COBOL programs and the MCS is not affected by the
       DISABLE statement.

   2.  When the INPUT phrase with the optional word TERMINAL is
       specified, the logical path between the source and all queues and
       sub-queues is deactivated.  Only the contents of the data item
       referenced by data-name-7 (SYMBOLIC SOURCE) of the area referenced
       by cd-name are meaningful.

   3.  When the INPUT phrase without the optional word TERMINAL is
       specified, the logical paths for all of the sources associated
       with the queues and sub-queues specified by the contents of
       data-name-1 (SYMBOLIC QUEUE) through data-name-4 (SYMBOLIC
       SUB-QUEUE-3) of the area referenced by cd-name are deactivated.
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|4.  When the I-O TERMINAL phrase is specified, the logical path       |
|    between the source (as defined by the content of the data item    |
|    referenced by data-name-3 (SYMBOLIC TERMINAL)) and the program is |
|    deactivated.                                                      |
|                                                                      |
________________________________________________________________________

            

5.  When the OUTPUT phrase is specified, the logical path for
    destination, or the logical paths for all destinations, specified by
    the contents of the data item referenced by data-name-5 (SYMBOLIC
    DESTINATION) of the area referenced by cd-name are deactivated.

6.  Literal-1 or the contents of the data-name referenced by identifier-1
    will be matched with a password built into the system.  The DISABLE
    statement will be honored only if literal-1 or the contents of the
    data item referenced by identifier-1 match the system password.  When
    literal-1 or the contents of the data item referenced by identifier-1
    do not match the system password, the value of the STATUS KEY item in
    the area referenced by cd-name is updated.

    The MCS must be capable of handling a password of from one to ten
    characters inclusive.

7.  The MCS will insure that the execution of a DISABLE statement will
    cause the logical disconnection at the earliest time the source or
    destination is inactive.  The execution of the DISABLE statement will
    never cause the remaining portion of the message to be terminated
    during transmission to or from a terminal.

The ENABLE Statement 

Function 

The ENABLE statement 
notifies the MCS to allow data transfer between specified output queues
and destinations for output or between specified sources and input queues
for input.
________________________________________________________________________
|(ANS85)                                                               |
|The KEY phrase of the ENABLE statement is classed as an obsolete      |
|element in the ANSI'85 standard and is scheduled to be deleted from   |
|the next full revision of the ANSI Standard.                          |
________________________________________________________________________

            
________________________________________________________________________
|(MF)                                                                  |
|All dialects within this COBOL implementation fully support this      |
|syntax.  Refer to your COBOL System Reference for details on          |
|using the FLAGSTD directive to detect all occurrences of this         |
|syntax.                                                               |
________________________________________________________________________

            

General Format 

	       Click here to view figure.
            

Syntax Rules 

1.  Cd-name must reference an input CD when the INPUT phrase 
    is specified.
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|2.  Cd-name must reference an input-output CD when the I-O TERMINAL   |
|    phrase is specified.                                              |
|                                                                      |
________________________________________________________________________

            

3.  Cd-name must reference an output CD when the OUTPUT phrase is
    specified.

4.  Literal-1 or the contents of the data item referenced by identifier-1
    must be defined as alphanumeric.

General Rules 

1.  The ENABLE statement provides a logical connection between the MCS
    and the specified sources or destinations.  When this logical
    connection is already in existence, or is to be handled by some other
    means external to this program, the ENABLE statement is not required
    in this program.  The logical path for the transfer of data between
    the COBOL programs and the MCS is not affected by the ENABLE
    statement.

2.  When the INPUT phrase with the optional word TERMINAL is specified,
    the logical path between the source and all associated queues and sub
    queues which are already enabled is activated.  Only the contents of
    the data item referenced by data-name-7 (SYMBOLIC SOURCE) of the area
    referenced by cd-name are meaningful to the MCS.

3.  When the INPUT phrase without the optional word TERMINAL is
    specified, the logical paths for all of the sources associated with
    the queue and sub-queues specified by the contents of data-name-1
    (SYMBOLIC QUEUE) through data-name-4 (SYMBOLIC SUB-QUEUE-3) of the
    area referenced by cd-name are activated.
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|4.  When the I-O TERMINAL phrase is specified, the logical path       |
|    between the source (as defined by the content of the data item    |
|    referenced by data-name-3 (SYMBOLIC TERMINAL)) and the program is |
|    activated.                                                        |
|                                                                      |
________________________________________________________________________

            

5.  When the OUTPUT phrase is specified, the logical path for
    destination, or the logical paths for all destinations, specified by
    the contents of the data item referenced by data-name-5 (SYMBOLIC
    DESTINATION) of the area referenced by cd-name are activated.

6.  Literal-1 or the contents of the data item referenced by identifier-1
    will be matched with a password built into the system.  The ENABLE
    statement will be honored only if literal-1 or the contents of the
    data item referenced by identifier-1 match the system password.  When
    literal-1 or the contents of the data item referenced by identifier-1
    do not match the system password, the value of the STATUS KEY item in
    the area referenced by cd-name is updated.

    The MCS must be capable of handling a password of from one to ten
    characters inclusive.
________________________________________________________________________
|The PURGE Statement                                                   |
|                                                                      |
|(ANS85)                                                               |
|                                                                      |
|Function                                                              |
|                                                                      |
|The PURGE statement eliminates from the MCS a partial message which   |
|has been released by one or more SEND statements.                     |
|                                                                      |
|General Format                                                        |
|                                                                      |
|     PURGE cd-name                                                    |
|                                                                      |
|Syntax Rule                                                           |
|                                                                      |
|CD-name must reference an output CD or input-output CD.               |
|                                                                      |
|General Rules                                                         |
|                                                                      |
|                                                                      |
|   1.  Execution of a PURGE statement causes the MCS to eliminate any |
|       partial message awaiting transmission to the destinations      |
|       specified in the CD referenced by cd-name.                     |
|                                                                      |
|   2.  Any message that has associated with it an EMI or EGI is not   |
|       affected by the execution of a PURGE statement.                |
|                                                                      |
|   3.  The content of the status key data item and the content of the |
|       error key data item (if applicable) of the area referenced by  |
|       cd-name-1 are updated by the MCS. (See "The Communication      |
|       Description - Complete Entry Skeleton"  earlier in this     |
|       chapter.)                                                      |
________________________________________________________________________

            

The RECEIVE Statement 

Function 

The RECEIVE statement 
makes available to the COBOL program a message, message segment, or a
portion of a message or segment, and pertinent information about that
data from a queue maintained by the MCS. The RECEIVE statement allows for
a specific imperative statement when no data is available.

General Format 

	       Click here to view figure.
            

Syntax Rule 

Cd-name must reference an input CD or input-output CD. (ANS85)

General Rules 

   1.  If cd-name references an input CD, the contents of the data items
       specified by data-name-1 (SYMBOLIC QUEUE) through data-name-4
       (SYMBOLIC SUB-QUEUE-3) of the area referenced by cd-name designate
       the queue structure containing the message.  (See "The
       Communication Description - Complete Entry Skeleton"  in this
       chapter.)
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|2.  If cd-name references an input-ouput CD, the contents of the      |
|    data items specified by data-name-3 (SYMBOLIC TERMINAL) of        |
|    the area referenced by cd-name designate the source of the        |
|    message.                                                          |
|                                                                      |
________________________________________________________________________

            

3.  The message, message segment, or portion of a message or segment is
    transferred to the receiving character positions of the area
    referenced by identifier-1 aligned to the left without space fill.

4.  When, during the execution of a RECEIVE statement, the MCS makes data
    available in the data item referenced by identifier-1, the NO DATA
    phrase, if specified, is ignored and control is transferred to the
    end of the RECEIVE statement
________________________________________________________________________
|(ANS85)                                                               |
|or, if the WITH DATA phrase is specified, to imperative-statement-2.  |
|If control is transferred to imperative-statement-2, execution        |
|continues according to the rules for each statement specified in      |
|imperative-statement-2.  If a procedure branching or conditional      |
|statement which causes explicit transfer of control is executed,      |
|control is transferred in accordance with the rules for that          |
|statement; otherwise, upon completion of the execution of             |
|imperative-statement-2, control is transferred to the end of the      |
|RECEIVE statement.                                                    |
________________________________________________________________________

            

5.   When, during the execution of a RECEIVE statement, the MCS does not
     make data available in the data item referenced by identifier-1, one
     of the three actions listed below will occur.  The conditions under
     which data is not made available are defined by the implementor.

        a.  If the NO DATA phrase is specified in the RECEIVE statement,
            the RECEIVE operation is terminated with the indication that
            imperative-statement-1.  Execution then continues
            according to the rules for each statement specified in
            imperative-statement-1.  If a procedure branching or
            conditional statement which causes explicit transfer of
            control is executed, control is transferred in accordance
            with the rules for that statement; otherwise, upon completion
            of the execution of imperative- statement-1, control is
            transferred to the end of the RECEIVE statement and the WITH 
            DATA phrase, if specified, is ignored.(ANS85)

        b.  If the NO DATA phrase is not specified in the RECEIVE
            statement, execution of the object program is suspended until
            data is made available in the data item referenced by
            identifier-1.

        c.  If one or more queues or subqueues (ANS85) are unknown to the
            MCS, the appropriate status key code is stored and control is
            then transferred as if data had been made available.

6.   The data items identified by cd-name are appropriately updated by
     the MCS at each execution of a RECEIVE statement.

7.   A single execution of a RECEIVE statement never returns to the data
     item referenced by identifier-1 more than a single message (when the
     MESSAGE phrase is used) or a single segment (when the SEGMENT phrase
     is used).  However,the MCS does not pass any portion of a message to
     the object program until the entire message is available in the
     input queue, even if the SEGMENT phrase of the RECEIVE statement is
     specified.

8.   When the MESSAGE phrase is used, end of segment indicators are
     ignored, and the following rules apply to the data transfer:

        a.  If a message is the same size as the area referenced by
            identifier-1, the message is stored in the area referenced by
            identifier-1.

        b.  If a message size is less than the area referenced by
            identifier-1, the message is aligned to the leftmost
            character position of the area referenced by identifier-1
            with no space fill.

        c.  If a message size is greater than the area referenced by
            identifier-1, the message fills the area referenced by
            identifier-1 left to right starting with the leftmost
            character of the message.  The remainder of the message can
            be transferred to the area referenced by identifier-1 with
            subsequent RECEIVE statements referring to the same queue,
            sub-queue ...  .  The remainder of the message, for the
            purposes of applying rules 8a, 8b, and 8c, is treated as a
            new message.

9.   When the SEGMENT phrase is used, the following rules apply:

        a.  If a segment is the same size as the area referenced by
            identifier-1, the segment is stored in the area referenced by
            identifier-1.

        b.  If the segment size is less than the area referenced by
            identifier-1, the segment is aligned to the leftmost
            character position of the area referenced by identifier-1
            with no space fill.

        c.  If a segment size is greater than the area referenced by
            identifier-1, the segment fills the area referenced by
            identifier-1 left to right starting with the leftmost
            character of the segment.  The remainder of the segment can
            be transferred to the area referenced by identifier-1 with
            subsequent RECEIVE statements calling out the same queue,
            sub-queue ...  .  The remainder of the segment, for the
            purposes of applying rules 9a, 9b and 9c, is treated as a new
            segment.

        d.  If the text to be accessed by the RECEIVE statement has
            associated with it an end of message indicator or end of
            group indicator, the existence of an end of segment indicator
            associated with the text is implied and the text is treated
            as a message segment.

10.  Once the execution of a RECEIVE statement has returned a portion of
     a message, only subsequent execution of RECEIVE statements in that
     run unit can cause the remaining portion of the message to be
     returned.
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|11.  The END-RECEIVE phrase delimits the scope of the RECEIVE         |
|     statement.  See Delimited Scope Statements in the chapter COBOL  |
|     Concepts.                                                        |
|                                                                      |
________________________________________________________________________

            

The SEND Statement 

Function 

The SEND statement 
causes a message, a message segment, or a portion of a message or segment
to be released to one or more output queues maintained by the MCS.

General Formats 

Format 1 

     SEND cd-name FROM identifier-1

Format 2 

	       Click here to view figure.
            

Syntax Rules 

   1.  Cd-name must reference an output CD or an input-output CD. (ANS85)

   2.  Identifier-2 must reference a one character integer without an
       operational sign.

   3.  When identifier-3 is used in the ADVANCING phrase, it must be the
       name of an elementary integer item.

   4.  When the mnemonic-name phrase is used, the name is identified with
       a particular feature specified.  The mnemonic-name is defined in
       the SPECIAL-NAMES paragraph of the Environment Division.

   5.  Integer or the value of the data item referenced by identifier-3
       can be zero.
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|6.  If identifier-1 is a function-identifier, it must reference an    |
|    alphanumeric function.                                            |
|                                                                      |
________________________________________________________________________

            

General Rules 

Both Formats 

   1.  When a receiving communication device (printer, display screen,
       card punch, and so on) is oriented to a fixed line size:

          a.  Each message or message segment will begin at the leftmost
              character position of the physical line.

          b.  A message or message segment that is smaller than the
              physical line size is released so as to appear space-filled
              to the right.

          c.  Excess characters of a message or message segment will not
              be truncated.  Characters will be packed to a size equal to
              that of the physical line and then transmitted to the
              device.  The process continues on the next line with the
              excess characters.

   2.  When a receiving communication device (paper tape punch, another
       computer, and so on) is oriented to handle variable length
       messages, each message or message segment will begin on the next
       available character position of the communications device.

   3.  As part of the execution of a SEND statement, the MCS will
       interpret the contents of the data item referenced by data-name-2
       (TEXT LENGTH) of the area referenced by cd-name to the user's
       indication of the number of leftmost character positions of the
       data item referenced by identifier-1 from which data is to be
       transferred.

       If the contents of the data item referenced by data-name-2 (TEXT
       LENGTH) of the area referenced by cd-name are zero, no characters
       of the data item referenced by identifier-1 are transferred.

       If the contents of the data item referenced by data-name-2 (TEXT
       LENGTH) of the area referenced by cd-name are outside the range of
       zero through the size of the data item referenced by identifier-1
       inclusive, an error is indicated by the value of the data item
       referenced by data-name-3 (STATUS KEY) of the area referenced by
       cd-name, and no data is transferred.  (See Table 9-1 for Status.)

   4.  As part of the execution of a SEND statement, the contents of the
       data item referenced by data-name-3 (STATUS KEY) of the area
       referenced by cd-name is updated by the MCS. (See the section "The
       Communication Description - Complete Entry Skeleton"  earlier
       in this chapter.)

   5.  The effect of having special control characters within the
       contents of the data item referenced by identifier-1 is undefined.

   6.  A single execution of a SEND statement for Format 1 releases only
       a single portion of a message or of a message segment to the MCS.

       A single execution of a SEND statement of Format 2 never releases
       to the MCS more than a single message or a single message segment
       as indicated by the contents of the data item referenced by
       identifier-2 or by the specified indicator ESI, EMI or EGI. 

       However, the MCS will not transmit any portion of a message to a
       communications device until the entire message is placed in the
       output queue.

   7.  During the execution of the run unit, the disposition of a portion
       of a message not terminated by an EMI or EGI or which has not been 
       eliminated by the execution of a PURGE statement (ANS85) is
       undefined.  However, the message does not logically exist for the
       MCS and hence cannot be sent to a destination.

   8.  Once the execution of a SEND statement has released a portion of a
       message to the MCS, only subsequent execution of SEND statements
       in the same run unit can cause the remaining portion of the
       message to be released.

       Format 2 

   9.  The contents of the data item referenced by identifier-2 indicate
       that the contents of the data item referenced by identifier-1 are
       to have associated with it an end of segment indicator, an end of
       message indicator or an end of transmission indicator according to
       the following schedule:

----------------------------------------------------------------------------------------------
|                              |                              |                              |
| If the contents of the data  | then the contents of data    | which means:                 |
| item referenced by           | item referenced by           |                              |
| identifier-2 associated with | identifier-1 have:           |                              |
| it is:                       |                              |                              |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| "0"                          | no indicator                 | no indicator                 |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| "1"                          | ESI                          | an end of segment indicator  |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| "2"                          | EMI                          | an end of message indicator  |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| "3"                          | EGI                          | an end of group indicator    |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                                                                                            |
| Any character other than "1",, "2" or "3" will be interpreted as "0"                       |
|                                                                                            |
----------------------------------------------------------------------------------------------
|                                                                                            |
| If the contents of the data item referenced by identifier-2 is other than "1" ,, "2"       |
| or "3",, and identifier-1 is no specified,, then an error is indicated by the value        |
| in the data item referenced by data-name-3 (STATUS KEY) or the area referenced by          |
| cd-name,, and no data is transferred.                                                      |
|                                                                                            |
----------------------------------------------------------------------------------------------

10.  The ESI 
     indicates to the MCS that the message segment is complete.  The EMI
     indicates to the MCS that the message is complete.

     The EGI 
     indicates to the MCS that the group of messages is complete.  The
     Run-Time System specifies the interpretation that is given to the
     EGI by the MCS.

     The MCS will recognize these indications and establish whatever is
     necessary to maintain group, message, and segment control.

11.  The hierarchy of ending indicators is EGI, EMI, 
     ESI. An EGI need not be preceded by an ESI or EMI. An EMI need not
     be preceded by an ESI.

12.  The ADVANCING phrase allows control of the vertical positioning of
     each message or message segment on a communication device where
     vertical positioning is applicable.  If vertical positioning is not
     applicable on the device, the MCS will ignore the vertical
     positioning specified or implied.

13.  If identifier-2 is specified and the content of the data item
     referenced by identifier-2 is zero, the ADVANCING phrase and the 
     REPLACING phrase (ANS85) if specified, are ignored by the MCS.

14.  On a device where vertical positioning is applicable and the
     ADVANCING phrase 
     is not specified, automatic advancing is provided to act as if the
     user had specified AFTER ADVANCING 1 LINE.

15.  If the ADVANCING phrase is implicitly or explicitly specified and
     vertical positioning is applicable, the following rules apply:

        a.  If identifier-3 or integer is specified, characters
            transmitted to the communication device will be repositioned
            vertically downward the number of lines equal to the value
            associated with the data item referenced by identifier-3 or
            integer.
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|b.  If the value of the data item referenced by identifier-3 is       |
|    negative, the results are undefined.                              |
|                                                                      |
________________________________________________________________________

            

     c.  If mnemonic-name is specified, characters transmitted to the
         communication device will be positioned according to the rules
         specified for that communication device.

     d.  If the BEFORE phrase 
         is used, the message or message segment is represented on the
         communication device before vertical repositioning according to
         general rules 15a.  and 15b.  (ANS85) above.

     e.  If the AFTER phrase 
         is used, the message or message segment is represented on the
         communication device after vertical repositioning according to
         general rules 15a.  and 15b.  (ANS85) above.

     f.  If PAGE is specified, characters transmitted to the
         communication device will be represented on the device before or
         after (depending upon the phrase used) the device is
         repositioned to the next page.  If PAGE is specified but page
         has no meaning in conjunction with a specific device, then
         advancing is provided to act as if the user had specified BEFORE
         or AFTER (depending upon the phrase used) ADVANCING 1 LINE.
________________________________________________________________________
|(ANS85)                                                               |
|                                                                      |
|                                                                      |
|                                                                      |
|16.  On receiving character-imaging communication devices on which it |
|     is possible to present two or more characters at the same        |
|     position, with the choice of superimposing second or subsequent  |
|     characters on characters already displayed at that position,     |
|     or displaying each character in the place of characters          |
|     previously transmitted to that line, the following rules         |
|     apply:                                                           |
|                                                                      |
|                                                                      |
|        a.  If the REPLACING phrase is specified, the characters      |
|            transmitted by the SEND statement replace all characters  |
|            which may have previously been transmitted to the same    |
|            line, beginning with the leftmost character position of   |
|            the line.                                                 |
|                                                                      |
|        b.  If the REPLACING phrase is not specified, the characters  |
|            transmitted by the SEND statment, appear superimposed upon|
|            the characters which may have previously been transmitted |
|            to the same line, beginning with the leftmost character   |
|            position of the line.                                     |
|                                                                      |
|17.  When a receiving communication device does not support the       |
|     replacement of characters, regardless of whether or not the      |
|     REPLACING phrase is specified, the characters transmitted by the |
|     SEND statement appear superimposed upon the characters           |
|     which may have previously been transmitted to the same           |
|     line, beginning with the leftmost character position of the      |
|     line.                                                            |
|                                                                      |
|18.  When a receiving communication device does not support the       |
|     superimposing of two or more characters at athe same position,   |
|     regardless of whether or not the REPLACING phrase is specified,  |
|     the characters transmitted by the SEND statement replace all     |
|     characters which may have previously been transmitted to the same|
|     line beginning with the leftmost character position of the       |
|     line.                                                            |
|                                                                      |
________________________________________________________________________

            



MPE/iX 5.0 Documentation