Jump to content

Source Program Maintenance Online II

From Alfawiki
Source Program Maintenance Online II (SPMOL-II)
Company typeSoftware solution
IndustryComputer software
Founded1974; 52 years ago (1974)
Headquarters
United States
ProductsInteractive programming environment for IBM mainframe platforms

Source Program Maintenance Online II (commonly known as SPM, SPM/OL, or SPMOL-II, pronounced "S-P-M" or "Spimoli") is an IBM software solution developed during the late 1970s and early 1980s, designed to offer an interactive programming environment on IBM mainframe platforms. It functioned within the CICS teleprocessing monitor framework and was accessed through an IBM 3270 terminal.

SPM facilitated the development and modification of source code in COBOL and various other programming languages, allowing users to submit programs for online compilation instead of handling physical punched card decks. The source files were maintained on disk storage, enabling retrieval for editing and batch job execution. IBM characterized SPM as an extension of CICS’s interactive capabilities tailored for programmers, aimed at boosting programming productivity.

Categorized as a Field Developed Program, SPM gained popularity among IBM mainframe installations that did not have access to MVS/TSO or VM/CMS systems.

History

The original version, identified as field-developed program 5798-BDT, is believed to have been introduced around mid-1974. This initial release was implemented using IBM 370 Assembly language.

The most widely recognized iteration, Source Program Maintenance Online II (5798-CFT), was launched in late 1975. This version featured significant improvements such as relative location referencing within code, block move and copy editing capabilities, support for tab characters, the ability to store multiple datasets, and compressed directory structures.

By 1979, an Audit and Archive module was incorporated, accompanied by separate documentation. This enhancement provided detailed tracking of program modifications within SPM and enabled selective restoration from archived versions.

Operation

SPM’s functionality was primarily controlled through four-character CICS transaction codes. Core editing tasks were managed via SPIN or SPUD, job status information was accessed with SPMD, and output viewing occurred through SPDO or RPDO.

Source code resided in a dedicated disk library. Within the interface, SPM utilized three-character commands for editing:

Selected SPM Editing Commands
Command Function
PRG Initiate a new program
SEL, CPY Duplicate a program
REN Change program name
DEL Remove a program
LOD Load SYSOUT output
Xnn, Znn Perform indexing operations
SUB Substitute text
FWD string Search for specified text
ADD, PAM Insert text
DEL Delete text segments
REP Replace text blocks

Submitting a compilation request involved transferring the program from the CICS partition to batch partitions along with appropriate job control language statements.

Program outputs could be routed back to terminals for review or testing purposes, allowing batch jobs to serve as input into SPM. Standard output was typically directed to SYSOUT=S, while special output used SYSOUT=R. Compilation feedback and error reports were accessible via the RPDO transaction.

The interaction between batch processes and SPM was bi-directional: a member of a partitioned data set could be read through JCL into SYSOUT=R, edited and tested interactively in SPM, then updated back into the dataset using JCL procedures.

SPM generated reports cataloging program inventories, detailing members and indexes from SPIN, HPIN, and PPIN libraries; these reports could be sorted by programmer.

Additionally, SPM provided backup and update utilities; programs could be archived onto magnetic tape media for preservation.

Uses

SPM was primarily designed to streamline the programming and compilation processes, thereby boosting programmer productivity. A 1979 IBM advertorial in Computerworld highlighted a food and beverage company that experienced a 50% increase in productivity after implementing SPM. Technical documentation specialists also leveraged SPM to execute the SCRIPT/VS text formatting tool and examine its output.

While SPM included features for auditing, many IBM mainframe installations favored well-established batch-oriented third-party products such as The Librarian to manage program revisions. In these environments, SPM produced Librarian commands for adding, deleting, and updating source code. This combined method—using SPM for comprehensive initial editing and Librarian for subsequent modifications—became standard practice once software entered production phases.

Beyond its role in language processing, SPM found use within application systems. For example, one installation adapted SPM for an interactive data retrieval service, while another incorporated it into a data input and display program.

Additional utilities were developed by vendors to extend SPM/OL’s functionality, including tools to channel input into an POWER reader queue. Moreover, custom programs created by users captured console messages from POWER operating under DOS/VS.

Sales and popularity

By the close of the 1970s, IBM had recognized sufficient market acceptance of SPMOL-II to provide extended support options alongside a monthly subscription model.

An IDC survey conducted in 1979 revealed that approximately 50% of System/370 sites employed online editing and submission tools during development. Higher-end System/370 models generally operated on the MVS system with the interactive TSO interface, whereas smaller systems running OS/VS1 utilized solutions such as VM/CMS, SPM, and Roscoe. Within this user base, SPM represented roughly 10% of the online editing and programming tools employed. It is noteworthy that installations with newer or larger IBM mainframes like the IBM 303X series tended to use SPM less frequently.

SPM’s widespread adoption prompted IBM in the early 1980s to introduce VM/CMS Library Maintenance and the SPMOL-II Simulator—a field-developed utility replicating SPM’s line number-based edit commands within the VM/CMS environment. This eased the transition for users moving from SPMOL-II to VM/CMS.

See also

External links