PUT CONTAINER (BTS)

Save data in a named BTS data-container.

Read syntax diagramSkip visual syntax diagram
PUT CONTAINER (BTS)

>>-PUT--CONTAINER(data-value)--+----------------------+--------->
                               +-ACTIVITY(data-value)-+   
                               +-ACQACTIVITY----------+   
                               +-PROCESS -------------+   
                               '-ACQPROCESS-----------'   

>--FROM(data-area)--+---------------------+--------------------><
                    '-FLENGTH(data-value)-'   

Conditions: ACTIVITYERR, CONTAINERERR, INVREQ, IOERR, LOCKED, PROCESSBUSY

Description

PUT CONTAINER (BTS) saves data and places it in a container associated with a specified BTS activity or process.

The container is identified by name. The process or activity that owns the container can be identified:
  • Explicitly, by specifying one of the PROCESS- or ACTIVITY-related options.
  • Implicitly, by omitting the PROCESS- and ACTIVITY-related options. If these are omitted, the current activity is implied.
Note:
  1. There is no limit to the number of containers that can be associated with an activity.
  2. Different activities can own identically-named containers—these are different containers.
  3. If the named container does not already exist, it is created. If the named container already exists, its previous contents are overwritten.
  4. Containers owned by a process (process-containers) can be read by every activity in the process. However, they can be updated only by the root activity, or by a program that has acquired the process.

    A process's containers are not the same as its root activity's containers.

See also GET CONTAINER (BTS) and MOVE CONTAINER (BTS).

Options

ACQACTIVITY
specifies either of the following:
  • If the program that issues the command has acquired a process, that the container is owned by the root activity of that process.
  • Otherwise, that the container is owned by the activity that the program has acquired by means of an ACQUIRE ACTIVITYID command.
ACQPROCESS
specifies that the container is owned by the process that the program that issues the command has acquired in the current unit of work.
ACTIVITY(data-value)
specifies the name (1–16 characters) of the activity that owns the container. This must be a child of the current activity.
CONTAINER(data-value)
specifies the name (1–16 characters) of the container into which data is to be placed.

The acceptable characters are A-Z a-z 0-9 $ @ # / % & ? ! : | " = ¬ , ; < > . - and _. Leading and embedded blank characters are not permitted. If the name supplied is less than 16 characters, it is padded with trailing blanks up to 16 characters.

FLENGTH(data-value)
specifies, as a fullword binary value, the length of the data area from which data is to be read.
FROM(data-area)
specifies an area of working storage from which the data to be saved is to be read.
PROCESS
specifies that the container into which data is to be placed is owned by the current process—that is, the process that the program that issues the command is executing on behalf of.

Conditions

109 ACTIVITYERR
RESP2 values:
8
The activity named on the ACTIVITY option could not be found.
110 CONTAINERERR
RESP2 values:
10
The container named on the CONTAINER option could not be found.
18
The name specified on the CONTAINER option contains an illegal character or combination of characters.
26
The process container named on the CONTAINER option is read-only.
16 INVREQ
RESP2 values:
1
The DATATYPE option was specified without the CHANNEL option, and there is no current channel (because the program that issued the command was not passed one.) DATATYPE is valid only on PUT CONTAINER commands that specify (explicitly or implicitly) a channel. It is not valid on PUT CONTAINER (BTS) commands.
2
The FROMCCSID option was specified without the CHANNEL option, and there is no current channel (because the program that issued the command was not passed one.) FROMCCSID is valid only on PUT CONTAINER commands that specify (explicitly or implicitly) a channel. It is not valid on PUT CONTAINER (BTS) commands.
4
The command was issued outside the scope of a currently-active activity.
15
The ACQPROCESS option was used, but the unit of work that issued the request has not acquired a process.
24
The ACQACTIVITY option was used, but the unit of work that issued the request has not acquired an activity.
25
The PROCESS option was used, but the command was issued outside the scope of a currently-active process.
17 IOERR
RESP2 values:
30
An input/output error has occurred on the repository file.
31
The record on the repository file is in use.
100 LOCKED
The request cannot be performed because a retained lock exists against the relevant record on the repository file.
106 PROCESSBUSY
RESP2 values:
13
The request could not be satisfied because the process record is locked by another task.


dfhp4_putcontainerbts.html | Timestamp icon Last updated: Thursday, 27 June 2019