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

      ITEM STAT       U;

      XREF
        BEGIN
        PROC PUTLNK;
        END

      IF 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,(START),(FALSE),STAT);
      RSTATUS = STAT;

      END  # PUTNLNK #

    TERM
