      SUBROUTINE PLU.READ.FILE(W,OPT,DST)
*PIC-LAN
*
*ALL
*PC
*N
*
*
*
*
      INCLUDE SYS.TYPE.INCLUDE
*
      INCLUDE PL.COMMON
      INCLUDE PL.COMMON.DEFS
      INCLUDE PL.DEFS
      INCLUDE PLIP.COMMON
      INCLUDE PLW.COMMON
*
      TP = FIELD(W,' ',1)
      BEGIN CASE
         CASE TP = 'FILE'
            OPEN FIELD(W,' ',2) TO PAGE.FD ELSE CALL PLXX.STOP(201,FIELD(W,' ',2))
            READ DST FROM PAGE.FD , FIELD(W,' ',3) ELSE CALL PLXX.STOP(202,FIELD(W,' ',3))
         CASE TP = 'HOST'
            CALL PLHOST.IMPORT(OCONV(FIELD(W,' ',2),'MCL'),OPT,DST)
         CASE TP = 'DSG'
            IF OPT = 'A' THEN OPT = 'a'
            CALL PLSUB.DSG('*OPEN CONNECTION',PLCB.HANDLE,FIELD(W,' ',2),'','','','','','')
            CALL PLSUB.DSG('*DOS OPEN',PLCB.HANDLE,FIELD(W,' ',3),'R','','',FILE.HANDLE,FILELEN,'')
            CALL PLSUB.DSG('*DOS READ',PLCB.HANDLE,FILE.HANDLE,0,FILELEN,OPT,'',DST,'')
            CALL PLSUB.DSG('*DOS CLOSE',PLCB.HANDLE,FILE.HANDLE,'','','','','','')
            CALL PLSUB.DSG('*CLOSE CONNECTION',PLCB.HANDLE,'','','','','','','')
         CASE YES
            PRINT 'Invalid page source type ' : TP
            STOP
      END CASE
*      
      RETURN
   END
