Software development, photography, jokes, ....

Sites by me

 
tas-logoTransportation Administration System
snoezelkussen-logo-kleinstSnoezelkussens voor verstandelijk gehandicapten
ikzoekeenbegeleider-logoBegeleiders voor gehandicapten
Laat uw hond het jaarlijkse vuurwerk overwinnen
logo 50x50Hey Vos! Je eigen naam@vos.net emailadres?
Kunst in huis? Nicole Karrèr maakt echt bijzonder mooie dingen
nettylogo2Kunst in huis? Netty Franssen maakt ook bijzonder mooie dingen
Salarisadministratie en belastingadvies bij De Zaak Loont
Zutphense Bomenstichting

Hosting Favorites

 
ANU Internet Services
XelMedia .internet Services
register.com

Blogroll

 
Bomenstichting
LassoSoft
MacFreak
Quality that computes
The Economy of Motion
Wheel 2.0
IntrAktv



Website Hosting bij Xel Media

Marc's Place

E$LIB - Sorteren van bestanden




XCALL SORT statement vervangen


De DIBOL routine XCALL SORT en het gebruik van sorteerprogramma's werkt onder Synergy Language (DBL) niet meer. Synergy Language biedt een SORT statement in plaats van een XCALL zoals onder DIBOL.

De aanpassingen die gedaan moet worden om XCALL SORT te vervangen door XCALL E$SORT te kunnen gebruiken met bestaande sorteerdefinities bestaat uit het volgende:

  • Er wordt géén gebruik meer gemaakt van aparte sorteerprogramma's.
  • Het programma waar naar doorgestart werd, gedefinieerd in de Vax/DIBOL SORT-parameterfile door het EXECUTE: statement, moet nu in parameter 4 worden doorgegeven. Zo niet, dan keert de routine terug naar het aanroepende programma en kan je zelf een STOP "PROG" programmeren.

Het record dat in de eerste parameter kan worden meegegeven kan je vullen door DBLSORTG een include file te laten genereren van je sorteerdefinitie (vóórdat je DIBOL van de VAX verwijderd!):


Vax/DBLSORTG input file:


INPUT:WRK:SORTFILE.DDF
WORK:3
OUTPUT:WRK:SORTFILE.DDF

RECORD:
       ARTIKEL,A18
       ,       A70
       INKDAT, D8
       ,       A104

KEYS:INKDAT,ARTIKEL
TAGS:SORT
EXECUTE:EXE:PRINTPROG.EXE

END:


Vax/DCL command procedure:


$ run sys$system:dblsortg
VAX DBLSORTG Version Vx.x

Input file: SORTPGM.PRM
Output file: SORTPGM.H

 


Resultaat van DBLSORTG:


RECORD SORTM

, A50,'1WRK:SORTFILE.DDF                                 '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                    WRK:SORTFILE.D'
, A50,'DF                                                '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                         002000x00'
, A50,'00000000000000000000000000000000000000000000000000'
, A50,'0000000000000000002DA      AA      000890000100000'
, A50,'0000000000000000000000000008018000000000000000000S'
, A50,'ORT 000000099y30                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                           EXE:PRINTPROG.EXE      '
, A50,'                                                  '
, A50,'                                                  '
, A50,'                                                00'
, A50,'                                        0010000000'
, A08,'00000000'


.INCLUDE 'SYS$LIBRARY:DBLSORTM.DBL'


Haal het .INCLUDE 'SYS$LIBRARY:DBLSORTM.DBL' statement weg en bewaar het bestand als een include file. Toets bovenin in de source van je programma .INCLUDE 'SORTPGM.H' of zoiets. Dit record SORTM komt qua posities en lengte precies overeen met het RECORD PARMS dat voor het samenstellen van het sort-statement wordt gebruikt. Geef het record SORTM als eerste parameter mee aan E$SORT. Hier volgt het record PARMS:


RECORD PARMS
                        ; INPUT=filespec(s)
        INNUM,  D1      ; Number of inputfiles
        INPUT,  7A255   ; Specifications for input file(s)

                        ; OUTPUT=filespec
        OUTPUT, A255    ; Specifications for output file

        RECLEN, D5      ; Record length

        ISAM,   D1      ; Non-VMS or DBL-ISAM: always 0.

        PAD,    A1, "_" ; User-defined end-of-file marker
                        ; (ASCII 000)
                        ; Non-VMS or DBL-ISAM: not used

        COUNT,  7D10    ; Number of records to sort
                        ; Non-VMS or DBL-ISAM: not used

        KEYNUM, D1      ; Number of keys
        TYPE,   8A1     ; Key field data type
                        ; (A=alpha,D=numeric,...)
        DIRECT, 8A1     ; Sort direction
                        ; (A=ascending,D=descending)
        POSTN,  8D5     ; Starting record position for key
        LENGTH, 8D3     ; Length of key

        TAGS,   A5      ; Type of tag sort to be performed
                        ; (SORT, LIST or INDEX)
                        ; Non-VMS or DBL-ISAM: not used

        TTNUM,  D10, -999 ; Not used

        WORK,   D1, 2   ; Number of work files to use

        DEVNO,  D1      ; Number of device specifications
        DEV,    8A32    ; Device specs for work files

                        ; TEMP=filespec
        TEMP,   A255    ; Spec for temporary output file

                        ; CHAIN=filespec
        CHAIN,  A132    ; Program to chain to

        IDENT,  A39     ; Not used

        MESSIZ, D2      ; Number of characters in message
        MESSGE, A40     ; Message to be sent to program
                        ; specified by CHAIN

        LOCKCC, D1      ; Set if CTRL/C should be disabled

        DETACH, D1      ; Not used
        DIBOL,  D1      ; Not used
        MEMORY, D2      ; Not used
        SU,     D1      ; Not used
        CNTWRK, D1      ; Not used

        FLAGS,  10D1    ; Not used

RECORD,X
        PARMSX, A2727   ; Overlay
        ,       A173
        DMSSGE, D3      ; Overlays 1st 3 chars of MESSGE

© 1997- Marc Vos (and others) Contact Me