[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::decbasic

Title:DEC BASIC Conference
Notice:SSB Kit Now available - Note 2.29
Moderator:TLE::HAYNES
Created:Wed Sep 15 1993
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:210
Total number of notes:976

198.0. "OTS-F-INTDATCOR with DECBasic 1.2 on Alpha" by VIRGIN::PFISTERR (Carpe Diem, Memento Mori) Thu Jan 23 1997 03:11

T.RTitleUserPersonal
Name
DateLines
198.1Internal data corrupted in Open VMS RTLTLE::HAYNESThu Jan 23 1997 06:2523
198.2VIRGIN::PFISTERRCarpe Diem, Memento MoriThu Jan 23 1997 08:5019
198.3D-float on VAX and Alpha not the sameTLE::HAYNESFri Jan 24 1997 06:3428
	Yes, the better way to specify the floating-point representation
	to use is with the /REAL_SIZE qualifier.

	Saying /REAL_SIZE=DOUBLE on the Alpha is NOT the same as saying
	it on the VAX.  On the VAX the memory storage and the calculations
	are both done in D-floating representation.  On the Alpha only
	the memory storage is done in D-floating representation.  The
	Alpha has NO D-floating arithmetic hardware.  What happens is
	this.  The D-floating data is converted to G-floating representation,
	the arithmetic operation is performed using G-floating arithmetic,
	and then the result is converted back to D-floating representation.
	Since G-floating representation is 3 bits less precise than
	D-floating representation, converting to G-floating representation
	to do the arithmetic may change the data slightly.

	The way to determine if this a problem, is to see if the same
	results are gotten when using the same representation on both
	platforms.  The common representations between VAX and Alpha
	are F-floating representation and G-floating representation.
	D-floating representation is NOT a common representation.  If
	the Alpha and VAX behave differently when a common representation
	is used, then I think it is safe to say the problem lies else
	where.  However if they behave the same, then the problem is
	most likely with the differing numeric representations and must
	be dealt with by the application.

Peter
198.4VIRGIN::PFISTERRCarpe Diem, Memento MoriWed Jan 29 1997 04:1183
    Thank You for Your answer!
    The customer told me now, that it occurs also on the VAX. He also told
    me, that he can't remember, that he uses
    double-floatingpoint-variables. He thinks, that he uses only integers.
    He mailed me the traceback (below).
    Can You tell me how to go further, please?
    
    Rene
    
    
    Traceback:
    
    %OTS-F-INTDATCOR, internal data corrupted in Run-Time Library
    %TRACE-F-TRACEBACK, symbolic stack dump follows
     Image Name   Module Name     Routine Name    Line Number  rel PC     
    abs PC
                                                            0 804417F4   
    804417F4
     DEC$BASRTL                                             0 0000E7C0   
    004D27C0
    ----- above condition handler called with exception 0017801C:
    %OTS-F-INTDATCOR, internal data corrupted in Run-Time Library
    ----- end of exception message
                                                            0 842682BC   
    842682BC
     DEC$BASRTL                                             0 0003A730   
    004FE730
     DEC$BASRTL                                             0 00035DA4   
    004F9DA4
     DEC$BASRTL                                             0 0000D3B8   
    004D13B8
    ----- above condition handler called with exception 001A84DC:
    %BAS-F-RECNOTFOU, Record not found
    -BAS-I-ON_CHAFIL, on channel 12 for file
    DISK$SIMS:[SIMS.DAT]PATIENTEN.DAT;4 at
    user PC 00000000
    -RMS-E-RNF, record not found
    ----- end of exception message
                                                            0 842682BC   
    842682BC
     DEC$BASRTL                                             0 0004A9F8   
    0050E9F8
     DEC$BASRTL                                             0 0003D4F0   
    005014F0
     DEC$BASRTL                                             0 00046684   
    0050A684
     PROSP        SP_EINTRITT     GETDATA                1549 000013C8   
    00082BC8
     PROSP        SP_EINTRITT     TESTING                1608 00001C30   
    00083430
     PROSP        SP_EINTRITT     SP_EINTRITT            2111 0000044C   
    00081C4C
     PROSP        AST_HANDLER_EIN AST_HANDLER_EIN         540 000007E0   
    00060100
                                                            0 800825A4   
    800825A4
     DEC$BASRTL                                             0 0003ADA0   
    004FEDA0
     DEC$BASRTL                                             0 0003A52C   
    004FE52C
     DEC$BASRTL                                             0 00035548   
    004F9548
     DEC$BASRTL                                             0 00035320   
    004F9320
     PROSP        PROSP           PRTLOG                 2260 000014AC   
    000514AC
     PROSP        PROSP           DO_WHOLE_STACK         3475 0000EE0C   
    0005EE0C
     PROSP        PROSP           PROSP                  3616 00000F38   
    00050F38
                                                            0 84366170   
    84366170
      SIMS         job terminated at 27-JAN-1997 09:26:48.10
    <CR><LF>  Accounting information:
      Buffered I/O count:            6919         Peak working set size:  
    8336
      Direct I/O count:             25600         Peak page file size:   
    53312
      Page faults:                    453         Mounted volumes:           
    0
      Charged CPU time:           0 00:00:41.59   Elapsed time:     0
    18:28:59.82
     
198.5What's happening on the disk?TLE::HAYNESWed Jan 29 1997 12:2623
Rene,

	If the same thing happens on the VAX as well as Alpha, then you
	can forget about the floating point discussion.  That's just the
	most frequent cause when the two don't behave the same.

	It's pretty hard to determine much with just a stack dump, but
	here are some ideas and questions.  It appears that the DEC
	BASIC RTL is in the midst of reporting a Record Not Found
	error on channel 12 for the file DISK$SIMS:[SIMS.DAT]PATIENEN.DAT;4.
	Since the program runs for days/weeks (re .0) before failing
	randomly, I wonder what else is happening on the disk.  Is it
	possible that the file gets physically moved say by a disk
	compression utility?  I looks like something happens to the
	file which invalidates the information which the RTL has in
	its control blocks.  Because the VAX and DEC BASIC RTLs are
	very different, I would suspect that application program is
	doing something strange since it is the common denominator.

	Without more information and a clearly reproducable problem,
	I can't tell much more.

Peter
198.6VIRGIN::PFISTERRCarpe Diem, Memento MoriThu Feb 06 1997 05:51550
    Thanks for Your answer!
    In the meantime, I asked the customer 3 questions and receives his
    answers:
    
    1.  Q: Did the program crashes also in other places?
    	A: Yes. ->appendix 1 (all tracebacks are from an Alpha)
    
    2.	Q: Can You extract me the useful output of BASIC/LIST?
    	A: ->appendix 2
    
    3.  Q: Do You use 'blank Basic'? (no system routines, library routines
           or routines of an other language?)
    	A: I use only BASIC and RTL functions.
    
    
    Appendix 1:
    ============================================================================
    %OTS-F-INTDATCOR, internal data corrupted in Run-Time Library
    %TRACE-F-TRACEBACK, symbolic stack dump follows
     Image Name   Module Name     Routine Name    Line Number  rel PC     
    abs PC
                                                            0 804417F4   
    804417F4
     DEC$BASRTL                                             0 0000E7C0   
    004D27C0
    ----- above condition handler called with exception 0017801C:
    %OTS-F-INTDATCOR, internal data corrupted in Run-Time Library
    ----- end of exception message
                                                            0 842682BC   
    842682BC
     DEC$BASRTL                                             0 0003A730   
    004FE730
     DEC$BASRTL                                             0 00035DA4   
    004F9DA4
     DEC$BASRTL                                             0 0000D3B8   
    004D13B8
    ----- above condition handler called with exception 001A805C:
    %BAS-F-ENDFILDEV, End of file on device
    -BAS-I-ON_CHAFIL, on channel 116 for file DISK$SIMS:[SIMS.DAT]SP.DAT;1
    at user
    -RMS-E-EOF, end of file detected
    ----- end of exception message
                                                            0 842682BC   
    842682BC
     DEC$BASRTL                                             0 0004A9F8   
    0050E9F8
     DEC$BASRTL                                             0 0003D124   
    00501124
     DEC$BASRTL                                             0 000462FC   
    0050A2FC
     PROSP        AST_HANDLER_EIN AST_HANDLER_EIN         535 00000610   
    0005FF30
                                                           0 800825A4   
    800825A4
     DEC$BASRTL                                             0 0003AD94   
    004FED94
     DEC$BASRTL                                             0 0003A52C   
    004FE52C
     DEC$BASRTL                                             0 00035548   
    004F9548
     DEC$BASRTL                                             0 00035320   
    004F9320
     PROSP        PROSP           PRTLOG                 2260 000014AC   
    000514AC
     PROSP        PROSP           DO_WHOLE_STACK         3423 0000E53C   
    0005E53C
     PROSP        PROSP           PROSP                  3616 00000F38   
    00050F38
                                                            0 84366170   
    84366170
      SIMS         job terminated at  6-FEB-1997 00:46:42.83
    <CR><LF>  Accounting information:
      Buffered I/O count:           67326         Peak working set size:  
    8128
      Direct I/O count:            314503         Peak page file size:   
    55104
      Page faults:                   3265         Mounted volumes:           
    0
      Charged CPU time:           0 00:07:41.28   Elapsed time:     2
    14:52:08.46
    ----------------------------------------------------------------------------
    
    %OTS-F-INTDATCOR, internal data corrupted in Run-Time Library
    %TRACE-F-TRACEBACK, symbolic stack dump follows
     Image Name   Module Name     Routine Name    Line Number  rel PC     
    abs PC
                                                            0 804417F4   
    804417F4
     DEC$BASRTL                                             0 0000E7C0   
    004D27C0
    ----- above condition handler called with exception 0017801C:
    %OTS-F-INTDATCOR, internal data corrupted in Run-Time Library
    ----- end of exception message
                                                            0 842682BC   
    842682BC
     DEC$BASRTL                                             0 0003A730   
    004FE730
     DEC$BASRTL                                             0 00035DA4   
    004F9DA4
     DEC$BASRTL                                             0 0000D3B8   
    004D13B8
    ----- above condition handler called with exception 001A84DC:
    %BAS-F-RECNOTFOU, Record not found
    -BAS-I-ON_CHAFIL, on channel 12 for file
    DISK$SIMS:[SIMS.DAT]PATIENTEN.DAT;4
    at
    -RMS-E-RNF, record not found
    ----- end of exception message
                                                            0 842682BC   
    842682BC
     DEC$BASRTL                                             0 0004A9F8   
    0050E9F8
     DEC$BASRTL                                             0 0003D4F0   
    005014F0
     DEC$BASRTL                                             0 00046684   
    0050A684
     PROSP        SP_EINTRITT     GETDATA                1549 000013C8   
    00082BC8
     PROSP        SP_EINTRITT     TESTING                1608 00001C30   
    00083430
     PROSP        SP_EINTRITT     SP_EINTRITT            2111 0000044C   
    00081C4C
     PROSP        AST_HANDLER_EIN AST_HANDLER_EIN         540 000007E0   
    00060100
                                                            0 800825A4   
    800825A4
     DEC$BASRTL                                             0 0003AD8C   
    004FED8C
     DEC$BASRTL                                             0 0003A52C   
    004FE52C
     DEC$BASRTL                                             0 00035548   
    004F9548
     DEC$BASRTL                                             0 00035320   
    004F9320
     PROSP        PROSP           PRTLOG                 2260 000014AC   
    000514AC
     PROSP        PROSP           DO_WHOLE_STACK         3475 0000EE0C   
    0005EE0C
     PROSP        PROSP           PROSP                  3616 00000F38   
    00050F38
                                                            0 84366170   
    84366170
      SIMS         job terminated at  3-FEB-1997 09:53:32.09
    <CR><LF>  Accounting information:
      Buffered I/O count:           69276         Peak working set size:  
    8496
      Direct I/O count:            336666         Peak page file size:   
    55488
      Page faults:                   1401         Mounted volumes:           
    0
      Charged CPU time:           0 00:08:34.92   Elapsed time:     4
    16:52:53.57
    ----------------------------------------------------------------------------
    
    %OTS-F-INTDATCOR, internal data corrupted in Run-Time Library
    %TRACE-F-TRACEBACK, symbolic stack dump follows
     Image Name   Module Name     Routine Name    Line Number  rel PC     
    abs PC
                                                            0 804417F4   
    804417F4
     DEC$BASRTL                                             0 0000E7C0   
    004D27C0
    ----- above condition handler called with exception 0017801C:
    %OTS-F-INTDATCOR, internal data corrupted in Run-Time Library
    ----- end of exception message
                                                            0 842682BC   
    842682BC
     DEC$BASRTL                                             0 0003A730   
    004FE730
     DEC$BASRTL                                             0 00035DA4   
    004F9DA4
     DEC$BASRTL                                             0 0000D3B8   
    004D13B8
    ----- above condition handler called with exception 001A84DC:
    %BAS-F-RECNOTFOU, Record not found
    -BAS-I-ON_CHAFIL, on channel 12 for file
    DISK$SIMS:[SIMS.DAT]PATIENTEN.DAT;4
    at
    -RMS-E-RNF, record not found
    ----- end of exception message
                                                            0 842682BC   
    842682BC
     DEC$BASRTL                                             0 0004A9F8   
    0050E9F8
     DEC$BASRTL                                             0 0003D4F0   
    005014F0
     DEC$BASRTL                                             0 00046684   
    0050A684
     PROSP        SP_EINTRITT     GETDATA                1549 000013C8   
    00082BC8
     PROSP        SP_EINTRITT     TESTING                1608 00001C30   
    00083430
     PROSP        SP_EINTRITT     SP_EINTRITT            2111 0000044C   
    00081C4C
     PROSP        AST_HANDLER_EIN AST_HANDLER_EIN         540 000007E0   
    00060100
                                                            0 800825A4   
    800825A4
     DEC$BASRTL                                             0 0003ADA0   
    004FEDA0
     DEC$BASRTL                                             0 0003A52C   
    004FE52C
     DEC$BASRTL                                             0 00035548   
    004F9548
     DEC$BASRTL                                             0 00035320   
    004F9320
     PROSP        PROSP           PRTLOG                 2260 000014AC   
    000514AC
     PROSP        PROSP           DO_WHOLE_STACK         3475 0000EE0C   
    0005EE0C
     PROSP        PROSP           PROSP                  3616 00000F38   
    00050F38
                                                            0 84366170   
    84366170
      SIMS         job terminated at 29-JAN-1997 17:00:02.21
    <CR><LF>  Accounting information:
      Buffered I/O count:           46552         Peak working set size:  
    7536
      Direct I/O count:            173026         Peak page file size:   
    54592
      Page faults:                   1666         Mounted volumes:           
    0
      Charged CPU time:           0 00:04:40.91   Elapsed time:     2
    02:04:06.32
    ============================================================================
    
    
    Appendix 2:
    
    ============================================================================
    
    
      1538              DEF BYTE GETDATA( LONG keynum, STRING keystr)
      1539
      1540                WHEN ERROR IN
      1541                  GETDATA = TRUE
      1542                  GET #CHNPAT, KEY #keynum EQ keystr ,REGARDLESS
      1543                USE
      1544                  SELECT ERR
      1545                    CASE 155%
      1546                      GETDATA = FALSE
      1547                    CASE ELSE
      1548                      EXIT HANDLER
      1549                  END SELECT
      1550                END WHEN
      1551
      1552              END DEF
    
    .
    .
    .
    .
    
      1592              DEF INTEGER TESTING
      1593
      1594                DECLARE BYTE record_found
      1595
      1596                TESTING = SS$_NORMAL
      1597
      1598                IF SP$EDIFACT_MASK > 0% AND SPS::USERNAME =
    "EDIFACT"
    THEN
      1599
      1600                  SELECT SPS::COMMAND_ID                  ! what
    command
      1601                    CASE SP$EINTRITT                      !
    Admission
      1602                      IF GETDATA( PAT$K_NUMMER, SPS::ID +
    SPS::PATIENT_NUMBER) THEN ! check patient number
      1603                        IF NOT SPS::REENTRY THEN
      1604                          RETURN_VALUE = SPS::PATIENT_NUMBER
      1605                          TESTING = SIMS$MSG_PATNUM_USED  ! This
    patient
    number is occupied
      1606                        ELSE
      1607                          IF SPS::ID = SP$ID_MIETER THEN
      1608                            CALL DBG_MSG( DBG$ERROR,
    SPS::SP$NODE, "SP",
    "SP_EINTRITT/CLEAR_OLD_PID" &
      1609                              ,"Reentry of Tendant with contract
    Nr. " +
    sps::patient_number,"")
      1610                          ELSE
      1611                            CALL DBG_MSG( DBG$ERROR,
    SPS::SP$NODE, "SP",
    "SP_EINTRITT/CLEAR_OLD_PID" &
      1612                              ,"Reentry of Patient with Patient
    Nr. " +
    sps::patient_number,"")
      1613                          END IF
      1614                        END IF
      1615                      ELSE                                !
    number not
    used
      1616                        IF SPS::CARD_CODE <> "0" AND SPS::PHONE
    THEN
      1617                          IF GETDATA( PAT$K_CODE, SPS::CARD_CODE)
    THEN
      1618                            TESTING = Check_Card          !
    check, is
    card free
      1619                          END IF
      1620                        END IF
      1621                      END IF
      1622                    CASE SP$CHANGE_CARD                   !
    Change Card
      1623                      IF GETDATA( PAT$K_NUMMER, SPS::ID +
    SPS::PATIENT_NUMBER) THEN
      1624                        SPS::OLD_CODE = pat::code
      1625                      END IF
      1626                      IF GETDATA( PAT$K_CODE, SPS::CARD_CODE)
    THEN
      1627                        TESTING = Check_Card              !
    check, card
    is free
      1628                      END IF
      1629                  END SELECT
      1630                END IF
      1631
      1632              END DEF ! testing
    
    .
    .
    .
    
      2089              ! Main Program
    *********************************************************************
      2090
      2091              WHEN ERROR USE Error_Handler
      2092
      2093              ZEROTIME::HL, ZEROTIME::LL = 0%
      2094              SYS_STATUS = SYS$BINTIM( SP$LOCK_CARD + "
    00:00:00.01",
    LOCK_CARD)
      2095
      2096              RSET SPS::CARD_CODE = NUM1$( INTEGER(
    SPS::CARD_CODE))
      2097              SPS::DWDN = FORMAT$( INTEGER( SPS::DWDN),
    "<0>######")
      2098
      2099              CALL DBG_MSG( DBG$INFO, SPS::SP$NODE,
    "SP","SP_EINTRITT"
       &
      2100                           ,GETMSG( SIMS$DBG_EINTRITT,
    SPS::CARD_CODE)
    ,"")
      2101
      2102              LOCKED% = FALSE
      2103              MARKED  = FALSE
      2104
      2105              RETURN_STATUS = TESTING
      2106
      2107              IF RETURN_STATUS = SS$_NORMAL THEN
      2108
      2109                WHEN ERROR IN
      2110                  PAT_STATUS = RMS$_NORMAL
      2111                  RETURN_VALUE = SPS::CARD_CODE
      2112                  RETURN_STATUS = SS$_NORMAL
      2113                  GET #CHNPAT , KEY #PAT$K_CODE EQ SPS::CARD_CODE
    !
      2114                USE
      2115                  SELECT ERR
      2116                    CASE 155%                                    
    ! new
    patient code
      2117                      PAT_STATUS = VMSSTATUS
      2118                    CASE ELSE
      2119                      RETURN_STATUS = VMSSTATUS
      2120                  END SELECT
      2121                END WHEN
      2122
      2123                IF RETURN_STATUS = SS$_NORMAL THEN               
    ! ok
      2124                  RETURN_STATUS = LOCK_FREE_DWDN
      2125                  IF RETURN_STATUS = SS$_NORMAL THEN             
    ! ok
      2126
      2127                    SELECT SP$MODE
      2128                      CASE "1"
      2129                        SUB_STATUS = GET_SUBLEVEL_MODE1
      2130                      CASE "2"
      2131                        IF NOT SPS::REENTRY THEN
      2132                          SUB_STATUS = GET_SUBLEVEL_MODE2
      2133                        ELSE
      2134                          SUB_STATUS = GET_TBI_RECORD_FOR_REENTRY
      2135                        END IF
      2136                    END SELECT
      2137
      2138                    SELECT SUB_STATUS
      2139                      CASE RMS$_NORMAL                           
    ! dn
    expired
      2140                        CALL DBG_MSG( DBG$INFO, SPS::SP$NODE,
    "SP"
               &
      2141                            ,"SP_EINTRITT/GET_SUBLEVEL"
              &
      2142                            ,"Sublevel " + NUM1$( TBI::SUBLEVEL)
    + "
    expired","")
      2143
      2144                        return_status = send_to_tax
      2145                        IF return_status = SS$_NORMAL THEN
      2146                          Y = UPDATE_DN_BUFFER                   
    ! get
    the values
      2147                          UPDATE #CHNTEI                         
    !
    overwritte the old dn
      2148                          Y = UPDATE_FREE_DWDN( EIN)
      2149                          Y = HANDLE_PATIENT
      2150                          Y = MIETER
      2151                        END IF
      2152                      CASE RMS$_RNF
      2153                        CALL DBG_MSG( DBG$INFO, SPS::SP$NODE,
    "SP"
               &
      2154                            ,"SP_EINTRITT/GET_SUBLEVEL"
              &
      2155                            ,"Create new Sublevel " + NUM1$(
    TBI::SUBLEVEL),"")
      2156
      2157                        return_status = send_to_tax
      2158                        IF return_status = SS$_NORMAL THEN
      2159                          Y = UPDATE_DN_BUFFER                   
    ! get
    the values
      2160                          PUT #CHNTEI                            
    ! put
    a new record
      2161                          Y = UPDATE_FREE_DWDN( EIN)
      2162                          Y = HANDLE_PATIENT
      2163                          Y = MIETER
      2164                        END IF
      2165                      CASE ELSE                                  
    !
    unexpected error
      2166                        RETURN_STATUS = SUB_STATUS
      2167                    END SELECT
      2168                    y = Clear_Old_PID
      2169                  END IF
      2170                END IF
      2171              END IF
      2172
      2173              IF RETURN_STATUS = SS$_NORMAL THEN
      2174                CALL DBG_MSG( DBG$INFO, SPS::SP$NODE,
    "SP","SP_EINTRITT"
    &
      2175                            , GETMSG3( RETURN_STATUS,
    RETURN_VALUE), "")
      2176
      2177                CALL DBG_MSG( DBG$ALWAYS, SPS::SP$NODE, "SM",""
    &
      2178                            , "Eintritt "
    &
      2179                            + "Patnr : " + SPS::CARD_CODE
    &
      2180                            + " Name : " + NEW_PANAM
    &
      2181                            + " Dwdn : " + NEW_PANUM, "")
      2182
      2183              ELSE
      2184
      2185                SAV_RETURN_VALUE = RETURN_VALUE
      2186                Y = UPDATE_FREE_DWDN( AUS)
      2187                RETURN_VALUE = SAV_RETURN_VALUE
      2188
      2189                CALL DBG_MSG( DBG$ERROR, SPS::SP$NODE,
    "SP","SP_EINTRITT"     &
      2190                            , GETMSG3( RETURN_STATUS,
    RETURN_VALUE ),
    "")
      2191
      2192                EDI::BUFF = ""
      2193                SYS_STATUS = PRTMSG( EDI$PRINTER, RETURN_STATUS,
    RETURN_VALUE, SPS::USERNAME     &
      2194                             , EDI::BUFF BY REF, SPS::BUFF BY
    REF, "",
    0%)
      2195
      2196              END IF
      2197              SP_EINTRITT = RETURN_STATUS         ! return status
    to
    caller
      2198
      2199              END WHEN
      2200
      2201              HANDLER Error_Handler
      2202
      2203                CALL DBG_MSG( DBG$ERROR, "0", "SP",
    "SP_EINTRIT/ERROR_HANDLER"      &
      2204                             ," Vmsstatus : " + GETMSG(
    VMSSTATUS, ),
    "")
      2205
      2206                SP_EINTRITT = VMSSTATUS
      2207
      2208              END HANDLER
      2209
      2210              UNLOCK #CHNTEI
      2211              UNLOCK #CHNPAT
      2212              UNLOCK #CHNFDN
      2213
      2214              IF SP$EDIFACT_MASK > 0% AND SP$MODE = "1" AND
    SPS::USERNAME = "EDIFACT" THEN
      2215
      2216                ! unlock resource "get_free_dwdn"
      2217                SYS_STATUS = SYS$ENQW(,LCK$K_NLMODE BY VALUE      
    !
    lock mode           &
      2218                                      ,FDN$LKSB                 
    ! lock
    id & status &
      2219                                      ,LCK$M_CONVERT BY VALUE   
    !
    convert lock        &
      2220                                      ,,,,,,,)
      2221
      2222                CALL LIB$STOP( SYS_STATUS BY VALUE) IF
    (SYS_STATUS AND
    1%) = 0%
      2223                CALL LIB$STOP( FDN$LKSB::VMS_STATUS BY VALUE) IF
    (FDN$LKSB::VMS_STATUS AND 1%) = 0%
      2224
      2225              END IF
      2226
      2227          END FUNCTION ! End of FUNCTION SP_EINTRITT
    
    
    
    
    Allocation information for DEF GETDATA  Offset based on (R10)
    
    Name                               Offset    Size      Type
    
            Parameters:
    KEYNUM                             115       4         Long
    KEYSTR                             111       8         Dynamic string
    
            Result:
    GETDATA                            126       1         Byte
    
    
    Allocation information for DEF TESTING  Offset based on (R10)
    
    Name                               Offset    Size      Type
    
            Result:
    TESTING                            123       4         Long
    ============================================================================ 
198.7VIRGIN::PFISTERRCarpe Diem, Memento MoriThu Feb 06 1997 05:545
    answer to .5:
    No datas are moved physically by a tool like compression utility (even
    backup of course).
    
    Rene