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 

[]
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
[]
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
[]
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
[]
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