The following groups of primitives are available:
J-INITIATE-WORK
J-INITIATE-WORK-MAN
J-DISPOSE
J-GIVE
J-END-SIGNAL
J-STATUS
J-KILL
J-STOP
J-MESSAGE
A Basic Class implementation can support any combination of the following sets of service primitives:
A Basic Class system does not support the value COMPLETION for the commitment level on a C-BEGIN or J-BEGIN. It may, however, return such a value or accept such a value on a C-READY or a J-READY.
Basic Class systems do not necessarily support a full range of document types. ISO/IEC 8832 defines three document types named by ASN.1 ObjectDescriptor values (see ISO/IEC 8824) of
"Simple ISO text document"
"Simple ISO print document"
"Simple ISO binary document"
For brevity, these are referred to in this section only as text (1), print (2), and binary (3) respectively.
In addition, the following document types (see 3.5) are used in Basic Class:
"JTM work-display document"
"JTM report-display document"
For brevity, these are referred to in this section only as work-display (4) and report-display (5) (but see also 4.2.1).
The following document types are supported by Basic Class implementations claiming to be general purpose:
in J-INITIATE-WORK
text (1)
print (2)
in the proforma in J-INITIATE-WORK
print (2)
in the proforma in J-INITIATE-WORK-MAN
work-display (4) (Brief only)
in J-GIVE
print (2)
in J-DISPOSE
text (1)
print (2)
report-display (5)
work-display (4) (Brief only)
Note that other document types are not necessarily supported by a JTM Basic Class implementation.
This clause defines the subset of the datastructures (defined in clauses 3.3, 3.4, and 3.5) which are used in the Basic Class. Clause 4.3 defines additional Basic Class restrictions related to the parameters of service primitives.
NOTE -- Where the parameters of the Basic Class J-INITIATE request (defined in clause 4.3) are more restricted than the corresponding fields of the Basic Class conceptual datastructure defined in this clause, the general case defined here only occurs when a Basic Class implementation is interworking with an implementation posessing functionality exceeding that required for Basic Class.
Basic Class reports are generated by Basic Class implementations. A Basic Class monitor point can only handle Basic Class reports.
These reports are a subset of the reports defined in 3.3.2, as follows:
<report>::= <name of reporter>
<time stamp>
<subjob identification>
<event identification>
<event parameters>
<subjob identification> has the full range of values specified in 3.3.2.
<event identification>::= ( NORMAL-TERMINATION | MANIPULATION-TERMINATION |
ABNORMAL-TERMINATION | USER-MESSAGE )
Other events are not recognised in Basic Class. Reports of other events are not handled by Basic Class Monitor Points. Requests (in a <report selector>) for reporting of other events cause a work specification to be refused by a Basic Class system.
The only <event parameters> supported are <number spawned>, <text>, and <diagnostic>.
The <diagnostic information> in reports received by Basic Class monitor points can have the full form defined in 3.3.3 with the following exceptions.
The <source details> and <se details> fields do not refer to FTAM activity, and the <CCR diagnostics> do not contain an <FTAM outcome>.
Accounting information is not generated by Basic Class systems. If it is passed to such systems on a C-READY or C-REFUSE it is ignored.
A Basic Class implementation supports a restricted form of work specification. Work specifications are created on a Basic Class system as the result of an incoming transfer, or (if an initiation agency is supported) a J-INITIATE (see clause 4.3). Such work specifications contain only the information defined below. An attempt to transfer a more complex work specification to a Basic Class system results in refusal and a CCR diagnostic.
<work specification>::= <OSI job parameters>
<subjob specification>
<proforma list>
<local fields>
<document list>
<local fields> are as in 3.4.1, except that <time waiting> and <estimated size> are not present, and the <agency activity parameters> identify at most one agency activity.
<subjob specification>::= <OSI subjob parameters>
<JTM action parameters>
<error action>
<error action>::= TERMINATE
<proforma list>::= [<proforma>]*L
<document list>::= [<document>]*L
The <proforma list> for any work specification with a Basic Class <target> contains at most a single top-level proforma. Any proforma lists within this proforma are handled transparently. Work specifications produced at a Basic Class system by spawning, and targeted at some other system, contain a transparent proforma list.
NOTE -- Proforma lists only occur within a proforma if the original work specification was created on an implementation with a functionality exceeding that required for Basic Class.
A Basic Class work specification contains at most a single <document>, referenced by the top-level subjob.
Basic Class restrictions on these parameters apply to the whole OSI job. Any OSI job which is to make use of a Basic Class system for the processing of any of its OSI subjobs is subject to the restrictions of this clause.
<OSI job parameters>::= <OSI job submission system>
<initiating identification>
<initiating time>
<OSI job name>
<OSI job local reference>
<audit trace>
<primary monitoring specification>
<authorisations>
<permissions>
<CCR parameters>
Note that <secondary monitoring specification>s, <accounts> and <security parameters> are not present.
NOTE -- Interworking between an extended implementation requiring <accounts> and a Basic Class implementation is not possible. For this reason, extended implementations are required to be able to operate without <accounts>.
The fields of the <OSI job parameters> have the full form and meaning defined in 3.4.2, with the exceptions given below.
A Basic Class system can choose to ignore the <authorisations> and to perform authorisation using data contained in the <documents> being sent to sink or execution agencies.
NOTE -- Basic Class systems are not required to support source agencies. Authorisation for J-GIVE is therefore not required, as access is only to an execution agency activity established by an ealier J-DISPOSE. The linkage between the two primitives is the agency activity id.
The <primary monitoring specification> does not contain any <relay>, and the <disposal instructions> do not have the value KEEP.
The <report selector> contains only the following event categories:
NORMAL-TERMINATION
MANIPULATION-TERMINATION
ABNORMAL-TERMINATION
USER-MESSAGE
<OSI subjob parameters>::= <subjob name-list>
<target list>
<urgency>
<subjob type>
The <target list> contains only <target> for any work specification transferred to a Basic Class system or generated there by spawning or by J-INITIATE. The <holds> is also absent from such subjobs.
These restrictions do not apply in proformas which remain transparent to the Basic Class system (are not spawned) (see 4.2.7).
The <subjob type> is one of
REPORT-MOVEMENT
DOCUMENT-MOVEMENT
WORK-MANIPULATION
Other <subjob type> values appear only in proformas which remain transparent.
The following restrictions apply to any subjob whose <target> is a Basic Class system. They do not apply where a proforma is handled transparently (see 4.2.7).
There is a single <document movement>, and a single <se identification>. The <document block> is a <single form>.
The <se identification> is not the <FTAM se> form. It has no <additional authorisations>, the <agency parameter> is NULL, and the <se prefix> is empty.
The <document se reference> is not the <FTAM write-data> form, and the <se access parameter> is NORMAL.
There is a single <document pointer> which, on arrival at a Basic Class target system, has the value EMBEDDED, or contains a single <single document reference> with <state> FAILED.
In the latter case, the <source identification> is <JTM source>, there are no <additional authorisations>, and the <document source reference> is <JTM read-data>. The <CCR diagnostics> has the form defined in 4.2.1.1 above.
Where the <document movement operations> are in a top-level subjob produced at a Basic Class system by spawning, a <single document reference> with state NOT-ATTEMPTED can be present. If the <action open system> is the local system, the <source identification> is either PROVIDER or a <JTM source> which is an execution agency, and there is an <agency parameter> of NULL, and a <source access parameter> of MOVE.
Work manipulation operations in a subjob targeted at a Basic Class system have the following restrictions.
The <work specification operations> consist of exactly two <work operation>s. The first <work-operation> is
SELECT <selector> (see below)
The second is one of
KILL
STOP
DISPLAY <doc-name> BRIEF
The <selector> consists of three <field test>s combined by <AND clause>s to give a <header test>. The <selector> is then
FIRST-HEADER-IS
<header test>
The three <field test>s are tests for equality on the three fields
OSI-JOB-SUBMISSION-SYSTEM
OSI-JOB-NAME
SUB-JOB-TYPE
Use of ANY-ITEM is not supported in Basic Class.
The header list conceptual data structure thus contains only a single header with only these three fields, in Basic Class systems.
Where a work specification contains embedded proformas, these are wholly transparent, and open system names carried in the <target> or <relay>s of these proformas do not provide implicit permissions for manipulation or display of the work specification.
A <report movement operation> has the full generality specified in 3.4.4.5 except that
The top-level proforma in a Basic Class system has <spawning control data> set to COMPLETION. The proforma name is not used in any proforma reference in any embedded proforma.
A work specification transferred to a Basic Class system has a <target> of that open system.
A work specification created by spawning (or by J-INITIATE) might (the first case) or might not (the second case) have that open system as the <target>.
In the first case, the subjob specified in the work specification has at most one top-level proforma; the main subjob, the top-level proforma, and the subjob specified in the top-level proforma are all subject to the Basic Class restrictions specified in this clause. The proforma-list in the top-level proforma is transparent and unrestricted.
In the second case, the subjob specified in the work specification is subject to the Basic Class restrictions, but the proforma-list in the subjob is transparent and unrestricted.
Basic Class systems do not recognise the concept of transfer control records, nor do they support TCR-MANIPULATION subjobs.
All transfers made from such systems are scheduled in an implementation-dependent way.
A Basic Class system supports the generation and transfer of JTM work displays containing only <brief display>. It does not support such documents if they contain <full display>.
If the system provides support for generation of J-INITIATE-MAN, it supports the receipt of such documents and their disposal using J-DISPOSE.
If the Basic Class system provides support for a monitor point, it is capable of converting a <report> (but see 4.2.1) into a JTM report display document and disposing of this document using J-DISPOSE to a sink.
JTM TCR display documents are not supported.
A Basic Class system intended for general purpose use supports the document types listed in 4.1.2. It might also support other document types.
In the Basic Class service, a J-INITIATE primitive group has a subset of the parameters available in the extended JTM service. The following restrictions apply.
The commitment level has only the values PROVIDER-ACCEPTANCE and AGENCY-ACCEPTANCE on J-BEGIN.
There are no <secondary monitoring specification>s. There are no <accounts>. There are no <security parameters>.
Only
J-INITIATE-WORK
J-INITIATE-WORK-MAN
are available.
The <subjob specification> for J-INITIATE-WORK is subject to the restrictions specified in clause 4.2, but in addition the following restrictions apply.
| <OSI job parameters> | |
| <OSI subjob parameters> | |
| <JTM action parameters> | |
| <error action> | This is TERMINATE |
| <proforma list> | A single proforma or no proformas. (The single proforma has no embedded proformas.) |
| <document list> | A single text (1) or print (2) document for J-INITIATE-WORK. No documents for J-INITIATE-WORK-MAN. If the document is print (2), there are no proformas. |
| <initiating identification> | Any value. |
| <OSI job-name> | Any value. |
| <authorisation data> | An <authorisation element> and a <permission element> giving a user identification and password for use at the <target> open system. This is used to authorise JTM activity, such as manipulation, or the return of results. An execution agency can require the same information to be repeated at the head of the document ("JCL") passed on J-DISPOSE. An additional authorisation and permission element may be present to provide for action at the proforma target system. The permission element identification is always equal to the authorisation element identification. |
| <secondary monitoring specification> | No <secondary monitoring specification>s. The local management sets a <primary monitoring specification> with a <report selector> specifying one or more of the event types of ABNORMAL-TERMINATION, USER-MESSAGE, NORMAL-TERMINATION and MANIPULATION-TERMINATION, and with <disposal data> of their choice. KEEP is not used in basic class. |
| <target list> | A single <target>; the <relays> are empty. |
| <urgency> | MEDIUM only. |
| <holds> | The <holds> is empty. |
| <subjob type> | DOCUMENT-MOVEMENT or WORK-MANIPULATION only. |
These are either <document movement operations> or <work manipulation operations>.
There is a single <document movement> consisting of:
| <document type> | This is a document type of text (1) or print (2). |
| <se agencies> | There is one <se identification> of the <JTM se> form containing |
| <se name> | A value of a sink name (document type print (2)) or an execution agency name (document type text (1)) at the <target>. |
| <agency parameter> | This is NULL. |
| <se prefix> | This is NULL. |
| <additional authorisations> | None |
| <document block> | This is a <single form> containing <JTM write-data>: |
| <se access parameter> | Set to NORMAL. |
| <name-list> | Set to the name of the document. |
| one <document pointer> | Set to EMBEDDED. |
There are two <work manipulation operation>s. The first is a <select operation>, and the second is a KILL, STOP or DISPLAY operation. The <selector> is
FIRST-HEADER-IS
AND OSI-JOB-SUBMISSION-SYSTEM
EQUALS <name>
AND OSI-JOB-NAME EQUALS <string>
SUB-JOB-TYPE
EQUALS <subjob type>
The DISPLAY operation requests BRIEF, and the <docname> is the string DISPLAY. The <name> is that of the open system where the J-INITIATE-MAN was issued.
The single proforma, if present, consists of
| <proforma name> | Set to "OUTPUT". |
A proforma body with:
| <spawning control data> |
Set to COMPLETION. |
| <OSI subjob parameters> |
As in 4.3.3, but the subjob type is DOCUMENT-MOVEMENT. |
| <JTM action parameters> |
See below |
| <proforma list> | Proformas do not appear in proformas in Basic Class J-INITIATE. |
The JTM action parameters in the Basic Class proforma consist of a single document movement operation with:
| <document type> | Any | A minimal conforming OSI job submission system is capable of setting this field to print (2) (for J-INITIATE-WORK) and to work-display (4) (for J-INITIATE-WORK-MAN), and is not required to support the setting of any other values. Minimal conforming receivers of work specifications are not required to support any value other than those listed above. |
| <se agency> | There is one <se identification> of the <JTM se form>: | |
| <se name> | An appropriate name for a sink at the proforma target. | |
| <agency parameter> | This is NULL. | |
| <se prefix> | This is NULL. | |
| <document block> | This is a <single form> containing: | |
| <se access parameter> | Set to NORMAL. | |
| <name-list> | A single name. |
The <document block> also contains a single <document pointer> which is a <single document reference> giving
| <action open system> | This equals the initial <target>. |
| <source identification> | This is PROVIDER in a proforma in a manipulation, otherwise it is a <JTM source>: |
| <source name> | This equals the initial <se name>. |
| <agency parameter> | This is NULL. |
| <document source reference> | This is <JTM read-data>: |
| <source access parameter> | This is MOVE. |
| <name-list> | This is a suitable value for collecting the document from the target. |
| <embedded diagnostics> | This is EMBED |
The following information is passed to the JTM service provider in this primitive:
All other fields have fixed values.
The following information is passed to the JTM service provider in this primitive:
The full set of parameters defined in 3.6.2 are carried, with the following exceptions.
There are no <additional authorisations>, no <user account>, and the <agency parameter> is NULL. The <diagnostic information> does not contain any <FTAM outcome>.
The <disposal document> is either work-display (4) (Brief), report-display (5), text (1) (for an execution agency), or print (2) (for a sink agency).
The full set of parameters defined in 3.6.3 are carried, with the following exceptions.
There are no <additional authorisations>, no <user account>, and the <agency parameter> is NULL. The <document group> is <activity end group> and the <document type> is print (2).
The remaining primitive groups of Basic Class (J-MESSAGE, J-END-SIGNAL, J-STATUS, J-KILL, J-STOP) carry the full range of parameters defined in 3.6.5, 3.6.7, 3.6.8, and 3.6.9.
A summary appears as table 4.
| Primitives | Request | Indication | Response | Confirm | |
| J-INITIATE-WORK | |||||
| basic document movement specification | X | - | |||
| OSI job local reference | - | X | |||
| J-INITIATE-WORK-MAN | |||||
| basic work manipulation specification | X | - | |||
| OSI job local reference | - | X | |||
| J-DISPOSE | |||||
| provider activity id | X | - | |||
| user authority | X | - | |||
| agency parameter = NULL | X | - | |||
| document se reference | X | - | |||
| errors | X | - | |||
| document type = text(1), print(2), work-display(4) or report-display(5) | X | - | |||
| agency activity id | - | X | |||
| J-GIVE | |||||
| user authority | X | - | |||
| agency parameter = NULL | X | - | |||
| document source reference | X | - | |||
| document type = print(2) | X | - | |||
| activity end document group | X | - | |||
| document and document type | - | X | |||
| J-END-SIGNAL | |||||
| provider activity id | X | ||||
| J-STATUS | |||||
| agency activity id | X | - | |||
| status message | - | X | |||
| J-KILL | |||||
| agency activity id | X | ||||
| J-STOP | |||||
| agency activity id | X | ||||
| J-MESSAGE | |||||
| provider activity id | X | ||||
| message | X | ||||