Search Site | Contact Details | FAQ

ADAS Subroutine xxdsn2

      SUBROUTINE XXDSN2 ( DSNIN   ,
     &                    DSNOUT  , LEXIST
     &                  )
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: XXDSN2 *********************
C
C  PURPOSE: TO CHECK IF A FULLY QUALIFIED MVS SEQUENTIAL OR PARTITIONED
C           DATA SET EXISTS AND RETURNS THE DATA SET NAME IN A FORM FOR
C           DYNAMIC ALLOCATION.
C
C                   ***** 'DSNIN' MUST BE OF VALID FORM *****
C
C           NOTE: INPUT DSN MUST START WITH THE USERID AND MAY OR MAY
C                 NOT BE ENCLOSED IN QUOTES.  IT CAN ALREADY BE  IN A
C                 FORM SUITABLE FOR DYNAMIC  ALLOCATION IN WHICH CASE
C                 THE OUTPUT DSN AND INPUT DSN  ARE  IDENTICAL   (I.E.
C                 NEITHER HAVE QUOTES AND BOTH START WITH A '/'.)
C
C  CALLING PROGRAM: GENERAL USE
C
C  SUBROUTINE:
C
C  INPUT : (C*(*)) DSNIN   = DATASET NAME
C                            (CAN BE ENCLOSED WITHIN APOSTROPHES OR
C                             START WITH A '/')
C
C  OUTPUT: (C*(*)) DSNOUT  = VERSION OF  'DSNIN'  ALETRED SO THAT IT
C                            CAN BE USED TO DYNAMICALLY OPEN THE FILE.
C                            (NOTE: APOSTROPHES REMOVED, / ADDED AT
C                             START IF REQUIRED.)
C  OUTPUT: (L*4)   LEXIST  = .TRUE.  => FILE 'DSNIN' ALREADY EXISTS
C                          = .FALSE. => FILE 'DSNIN' DOES NOT EXISTS
C
C          (C*1)   QUOTE   = PARAMETER: APOSTROPHE (').
C          (C*1)   BSLASH  = PARAMETER: BACK SLASH (/).
C
C          (I*4)   ILEND   = LENGTH IN BYTES OF 'DSNIN'
C          (I*4)   I1      = LOCATION OF FIRST APOSTROPHE IN 'DSNIN'
C          (I*4)   I2      = LOCATION OF SECOND APOSTROPHE IN 'DSNIN'
C          (I*4)   IDSLEN  = IDENTIFIES THE NUMBER OF CHARACTERS PRESENT
C                            IN THE INPUT DATA SET NAME MINUS ONE.
C                            (I.E. NUMBER   OF   CHARACTERS  BETWEEN
C                                  APOSTROPHES IF PRESENT.)
C
C          (L*4)   LQUOTE  = .TRUE.  => APOSTROPHES PRESENT
C                            .FALSE. => NO APOSTROPHES PRESENT
C
C NOTE:
C
C          IDSLEN >=0 => NO APOSTROPHES IN 'DSNIN' OR TWO SEPERATED
C                        BY AT LEAST ONE CHARACTER.
C          IDSLEN =-1 => TWO ADJACENT APOSTROPHES
C          IDSLEN =-2 => ONLY ONE APOSTROPHE FOUND
C
C          IF:
C
C          IDSLEN =-1 ERROR: PROGRAM STOPS
C          IDSLEN =-2 ERROR: PROGRAM STOPS.
C
C
C ROUTINES:   NONE
C
C AUTHOR:  PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC)
C          K1/0/81
C          JET EXT. 4569
C
C DATE:    12/12/90  (IN ADAS90 VERSION 1 THIS ROUTINE IS CALLED XXDSN1)
C
C-----------------------------------------------------------------------
      CHARACTER*(*)       DSNIN,       DSNOUT
      LOGICAL             LEXIST
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk