{
{   The purpose of this request is to transfer a partial record from the
{ user's working storage area to the "next" location in a file opened}
{ with amc$record access_level.}
{   This request is provided for exceedingly long records which would}
{ otherwise require an impractical working storage length.}
{   The output of a complete record occurs as a result of one or more}
{ amp$put_partial requests.  The first portion of the record is output}
{ specifying a term_option of amc$start. Intermediate portions of the}
{ record are output specifying a term_option of amc$continue.  The final}
{ portion of the record is output specifying a term_option of amc$terminate.}
{   A request specifying a term_option of amc$start may be issued regardless}
{ of the current file_position.  If the current file_position is amc$mid_}
{ record, then the previous partially constructed record is terminated}
{ and a new partially constructed record is begun. A request specifying}
{ a term_option of amc$start causes the file_position to be set to}
{ amc$mid_record.}
{   A request specifying a term_option of amc$continue may be issued only}
{ when the current file_position is amc$mid_record.  The file_position}
{ remains amc$mid_record.}
{   A request specifying a term_option of amc$terminate may be issued}
{ regardless of the current file_position.  If the current file_position}
{ is not amc$mid_record, then the request is functionally equivalent to an}
{ amp$put_next; the final portion of the record also happens to be the}
{ initial portion of the record.  If the current file_position is}
{ amc$mid_record, then the final portion of the record is output and}
{ the record is terminated.  A request specifying a term_option of}
{ amc$terminate causes the file_position to be set to amc$eor.}
{}
{       AMP$PUT_PARTIAL (FILE_IDENTIFIER, WORKING_STORAGE_AREA,
{         WORKING_STORAGE_LENGTH, BYTE_ADDRESS, TERM_OPTION, STATUS)
{
{ FILE_IDENTIFIER: (input) This parameter specifies the file access
{       identifier established when the file was opened.
{
{ WORKING_STORAGE_AREA: (input) This parameter specifies the address of}
{       the full or partial record which is to be output.}
{
{ WORKING_STORAGE_LENGTH: (input) This parameter specifies the number
{       of bytes to be output.
{
{ BYTE_ADDRESS: (output) This parameter specifies the file address of the}
{       start of the record which has been output. This address may be saved}
{       in a directory for subsequent random access to the record. A value
{       is initially returned when the term_option is amc$start; the same}
{       value is returned after subsequent partial outputs of the record.}
{       A value is only returned for mass storage files.}
{
{ TERM_OPTION: (input) This parameter specifies which portion of the record}
{       is being output.}
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITION:  ame$ring_validation_error,
{                   ame$conflicting_access_level,
{                   ame$improper_file_id,
{                   ame$improper_output_attempt,
{                   ame$put_beyond_file_limit,
{                   ame$record_exceeds_mbl,
{                   ame$improper_term_option,
{                   ame$improper_continue,
{                   ame$improper_wsl_value,
{                   ame$unrecovered_write_error,
{                   ame$terminal_disconnected.
{       IDENTIFIER: amc$access_method_id.
{
