*"表題 ４引数外部手続き呼びだし GTOOL3(GPCAL4)
*
*"履歴   90/10/13 沼口  敦
*"     2002/06/20 竹広真一
*
*
*********************************************************************
*"         << ４引数外部手続き呼びだし >>
*********************************************************************
      SUBROUTINE GPCAL4
     I         ( GESUBR,
     I           HHEAD1, GDATA1,
     I           HHEAD2, GDATA2,
     I           HHEAD3, GDATA3,
     I           HHEAD4, GDATA4,
     I           HEDIT , HETTL ,
     O           HHEADO, GDATAO )
*
      EXTERNAL   GESUBR                  ! 外部手続き名
      CHARACTER  HHEAD1 ( * )*(*)        !" ヘッダー(入力1)
      REAL       GDATA1 ( * )            !" データ(入力1)
      CHARACTER  HHEAD2 ( * )*(*)        !" ヘッダー(入力2)
      REAL       GDATA2 ( * )            !" データ(入力2)
      CHARACTER  HHEAD3 ( * )*(*)        !" ヘッダー(入力3)
      REAL       GDATA3 ( * )            !" データ(入力3)
      CHARACTER  HHEAD4 ( * )*(*)        !" ヘッダー(入力4)
      REAL       GDATA4 ( * )            !" データ(入力4)
      CHARACTER  HEDIT       *(*)        !" 編集略記号
      CHARACTER  HETTL       *(*)        !" 編集タイトル
      CHARACTER  HHEADO ( * )*(*)        !" ヘッダー(出力)
      REAL       GDATAO ( * )            !" データ(出力)
*
*"         < 1. 大きさの取得 >
*
      CALL GUSMIS ( HHEAD1 )
*
      CALL GUQSIZ
     I         ( HHEAD1,
     O           IXSTR1, IXEND1, IXDIM1,
     O           IYSTR1, IYEND1, IYDIM1,
     O           IZSTR1, IZEND1, IZDIM1 )
      CALL GUQSIZ
     I         ( HHEAD2,
     O           IXSTR2, IXEND2, IXDIM2,
     O           IYSTR2, IYEND2, IYDIM2,
     O           IZSTR2, IZEND2, IZDIM2 )
      CALL GUQSIZ
     I         ( HHEAD3,
     O           IXSTR3, IXEND3, IXDIM3,
     O           IYSTR3, IYEND3, IYDIM3,
     O           IZSTR3, IZEND3, IZDIM3 )
      CALL GUQSIZ
     I         ( HHEAD4,
     O           IXSTR4, IXEND4, IXDIM4,
     O           IYSTR4, IYEND4, IYDIM4,
     O           IZSTR4, IZEND4, IZDIM4 )
*
*"         < 2. ヘッダーコピー >
*
      CALL GHCOPY ( HHEAD1, HHEADO )
      CALL GHQENM ( HHEADO, IENUM  )
*
*"         < 3. 外部手続き呼びだし >
*
      CALL GESUBR
     I         ( HHEAD1, GDATA1,
     I           HHEAD2, GDATA2,
     I           HHEAD3, GDATA3,
     I           HHEAD4, GDATA4,
     O           HHEADO, GDATAO,
     D           IXDIM1, IYDIM1, IZDIM1,
     D           IXDIM2, IYDIM2, IZDIM2,
     D           IXDIM3, IYDIM3, IZDIM3,
     D           IXDIM4, IYDIM4, IZDIM4 )
*
*"         < 4. ヘッダー変更 >
*
      IF (  ( HEDIT .NE. ' ' ).AND.( HEDIT .NE.'NUL' )  ) THEN
         CALL GHESET ( HHEADO, HEDIT  , HETTL , IENUM+1 )
      ENDIF
*
      RETURN
      END
*********************************************************************
*"         << ４引数外部手続き呼びだし >>
*********************************************************************
      SUBROUTINE GMCAL4
     I         ( GESUBR,
     M           HHEAD1, GDATA1,
     I           HHEAD2, GDATA2,
     I           HHEAD3, GDATA3,
     I           HHEAD4, GDATA4,
     I           HEDIT , HETTL  )
*
      EXTERNAL   GESUBR                  ! 外部手続き名
      CHARACTER  HHEAD1 ( * )*(*)        !" ヘッダー(入力1)
      REAL       GDATA1 ( * )            !" データ(入力1)
      CHARACTER  HHEAD2 ( * )*(*)        !" ヘッダー(入力2)
      REAL       GDATA2 ( * )            !" データ(入力2)
      CHARACTER  HHEAD3 ( * )*(*)        !" ヘッダー(入力3)
      REAL       GDATA3 ( * )            !" データ(入力3)
      CHARACTER  HHEAD4 ( * )*(*)        !" ヘッダー(入力4)
      REAL       GDATA4 ( * )            !" データ(入力4)
      CHARACTER  HEDIT       *(*)        !" 編集略記号
      CHARACTER  HETTL       *(*)        !" 編集タイトル
*
      COMMON     /GMWORK/ GDATAW
      REAL       GDATAW ( 1 )            !" データ(ワーク)
#ifdef SYS_IBMS
      INCLUDE    (GZSIZE)                !" NCC, NDC
#else
#include         "gzsize.F"              !" NCC, NDC
#endif
      CHARACTER  HHEADW ( NDC )*(NCC)    !" ヘッダー(ワーク)
*
      CALL       GMCSIZ ( HHEADW )
      CALL       GPCAL4
     I         ( GESUBR,
     I           HHEAD1, GDATA1,
     I           HHEAD2, GDATA2,
     I           HHEAD3, GDATA3,
     I           HHEAD4, GDATA4,
     I           HEDIT , HETTL ,
     O           HHEADW, GDATAW )
*
      CALL       GPFSET
     I         ( HHEADW, GDATAW,
     I           ' '   , ' '   ,
     O           HHEAD1, GDATA1  )
*
      RETURN
      END
