C OOOAP1    SOURCE    PV090527  26/04/24    08:23:00     12524          
CMODE 92/04/09 17:33:44     ESOPV10
      SUBROUTINE OOOAP1 (LRET,HARG,PSEG,HTYPE,HPOINT,
     *                  PARCH)
C
C    ->LRET     RETOUR D'ERREUR
C               = 1 SI SEGMENT SUPPRIME(POINTEUR NUL)
C               = 2 SI SEGMENT ACTIF
C               = 3 SI SEGMENT INACTIF EN MEMOIRE
C               = 4 SI SEGMENT INACTIF SUR DISQUE
C
C      IRET     0
C      HARG     'NOM_SUBROUTINE NUMERO_LIGNE NOM_SEGMENT '
C      PSEG     POINTEUR DU SEGMENT
C      HTYPE    NOM DU SEGMENT DESIGNE
C      HPOINT   NOM DU POINTEUR DU SEGMENT
C      PARCH
C
C     H_MULLEMAN 1/8/91
C     M.F. ROBEAU SUPPRESSION DE LGR INUTILISE ET ->ERREUR SUR CRAY
C-----------------------------------------------------------------------
%INC IOOWCOM
%INC IOOARC
C
      PARAMETER  (NPRINT=6)
      CHARACTER *(*)  HARG , HPOINT , HTYPE

      POINTEUR   PSEG.PSEG ,PARCH.KARCHIV
C
      MACRO , (SUPPRIME , ACTIF     , INACTIF_EN_MEMOIRE
     *      ,  INACTIF_SUR_DISQUE                         )
C
      KASINS = INSTRUCTION_SEGINIA
      HDIA   = HARG
      LDIA   = LEN(HARG)
C     MESSAGE D'ERREUR SI PSEG INVALIDE
      CALL OOOVPN (PSEG)
C
      IF(PSEG.EQ.0) THEN
        LRET = SUPPRIME
      ELSE
        CALL OOOETA(PSEG,IETA,IMOD)
        LRET=IETA+1
      ENDIF
C
      IACTIF=.FALSE.
      CASE         , LRET
      WHEN , SUPPRIME
      WHEN , ACTIF
      WHEN , INACTIF_EN_MEMOIRE
        SEGACT , PSEG
        IACTIF=.TRUE.
      WHEN , INACTIF_SUR_DISQUE
        SEGACT , PSEG
        IACTIF=.TRUE.
      ENDCASE
C
C     INITIALISATION DU SEGMENT ARCHIVE
      LOOK=1000
      SEGINI   PARCH
C     SEGACT , PARCH
      INDICE=1
      RETURN
C   ..............................................
      ENTRY      OOOAP2 (LRET,HARG,PSEG,PARCH)
C        REMETTRE LE SEGMENT PARCH A SA VRAIE LONGUEUR
      LOOK=INDICE-1
      SEGADJ PARCH
C        RETOUR A L'ETAT ANTERIEUR DU SEGMENT
        IF (IACTIF) SEGDES , PSEG*NOMOD
        SEGDES , PARCH
      RETURN
C   ..............................................
      ENTRY OOOBP1 (LRET,HARG,HTYPE,HPOINT,PARCH)
      IACTIF=.TRUE.
      INDICE=1
      SEGACT  ,PARCH
      RETURN
C   ..............................................
      ENTRY      OOOBP2 (LRET,HARG,PSEG,PARCH)
C         PSEG RESTE ACTIF COMME POUR UN SEGINI
      SEGDES , PARCH*NOMOD
      RETURN
      END
C   ..............................................
 
