PROC  PUTPLNK ( WS$AREA, WS$LENGTH, (TERM$OPTION), RSTATUS);
      BEGIN  # PUTPLNK #
*copyc ICS$ICSZCOM
      ITEM WS$AREA    U;
      ITEM WS$LENGTH  U;
      ITEM TERM$OPTION U;
      ITEM RSTATUS    U;

      ITEM STAT       U;

      XREF
        BEGIN
        PROC PUTLNK;
        END

      IF (TERM$OPTION EQ CONTINUE) AND (POSITION NQ MID$RECORD)
      THEN
        BEGIN
        RSTATUS = CONTNOTMID;
        RETURN;
        END

      IF (TERM$OPTION EQ START) AND (POSITION EQ MID$RECORD)
      THEN
        BEGIN  # TERMINATE ANY PRIOR PARTIAL RECORD #
        PUTLNK(WS$AREA,0,TERMINATE,TRUE,STAT);
        IF STAT NQ 0
        THEN
          BEGIN
          RSTATUS  = STAT;
          RETURN;
          END

        END

      PUTLNK (WS$AREA,WS$LENGTH,(TERM$OPTION),(TRUE),STAT);
      RSTATUS = STAT;

      END  # PUTPLNK #

    TERM
