*"表題 GTOOLファイルオープン GTOOL3(GFROPN)
*
*"履歴 90/08/16 沼口  敦
*"     90/09/06 沼口  敦
*"     92/09/19 沼口  敦 APPEND
*
*
*********************************************************************
*"         << ファイル読み込みオープン >>
*********************************************************************
      SUBROUTINE GFROPN
     M         ( IFILE ,
     I           HFILE  )
*
      INTEGER    IFILE                    !" 装置番号
      CHARACTER  HFILE*(*)                !" ファイル名
*
      IFILED = IFILE
      CALL       GFOPEN
     O         ( IFILE , IERR  ,
     I           HFILE , IFILED, 'READ' , 'UNFORMATTED'  )
*
      IF ( IERR .NE. 0 ) THEN
         CALL MSGDMP( 'E', 'GFROPN', 'FILE OPEN ERROR' )
      ENDIF
*
      RETURN
      END
*********************************************************************
*"         << ファイル書き込みオープン >>
*********************************************************************
      SUBROUTINE GFWOPN
     M         ( IFILE ,
     I           HFILE  )
*
      INTEGER    IFILE                    !" 装置番号
      CHARACTER  HFILE*(*)                !" ファイル名
*
      IFILED = IFILE
      CALL       GFOPEN
     O         ( IFILE , IERR  ,
     I           HFILE , IFILED, 'WRITE' , 'UNFORMATTED'  )
*
      IF ( IERR .NE. 0 ) THEN
         CALL MSGDMP( 'E', 'GFWOPN', 'FILE OPEN ERROR' )
      ENDIF
*
      RETURN
      END
*********************************************************************
*"         << ファイル追加書き込みオープン >>
*********************************************************************
      SUBROUTINE GFAOPN
     M         ( IFILE ,
     I           HFILE  )
*
      INTEGER    IFILE                    !" 装置番号
      CHARACTER  HFILE*(*)                !" ファイル名
*
      IFILED = IFILE
      CALL       GFOPEN
     O         ( IFILE , IERR  ,
     I           HFILE , IFILED, 'APPEND' , 'UNFORMATTED'  )
*
      IF ( IERR .NE. 0 ) THEN
         CALL MSGDMP( 'E', 'GFWOPN', 'FILE OPEN ERROR' )
      ENDIF
*
      RETURN
      END
*********************************************************************
*"         << ファイル(追加)書き込みオープン >>
*********************************************************************
      SUBROUTINE GFOOPN
     M         ( IFILE ,
     I           HFILX , OAPPND  )
*
      INTEGER    IFILE                    !" 装置番号
      CHARACTER  HFILX*(*)                !" ファイル名
      LOGICAL    OAPPND                   !" 追加?
*
#ifdef SYS_IBMS
      INCLUDE    (GZSIZE)                    !" NCC, NDC
#else
#include         "gzsize.F"                  !" NCC, NDC
#endif
      CHARACTER  HFILE *(NFILN)
      CHARACTER  HAPP  *(NCC)
*
      HFILE = HFILX
      CALL GTCGET ( 'APPENDC', HAPP )
      NAP = LENC( HAPP )
*
      IF ( HFILE(1:NAP) .EQ. HAPP ) THEN
         HFILE(1:NAP) = ' ' 
         CALL CLADJ( HFILE )
         CALL    GFAOPN
     O         ( IFILE , HFILE )
*
      ELSE IF ( OAPPND ) THEN
         CALL    GFAOPN
     M         ( IFILE ,
     I           HFILE  )
*
      ELSE
         CALL    GFWOPN
     M         ( IFILE ,
     I           HFILE  )
      ENDIF
*
      RETURN
      END
