Obfuscated Natural ...

Hi Matthias

Here is the program and output:

DEFINE DATA LOCAL
1 MYVIEW VIEW OF EMPLOYEES
2 NAME
2 FIRST-NAME
2 CITY
2 COUNTRY
END-DEFINE
*
READ MYVIEW BY NAME FIRST-NAME CITY
DISPLAY COUNTER NAME FIRST-NAME CITY
END-READ
*
WRITE T
NAME NAME FIRST-NAME CITY / T*CITY ‘LOOK AT THE VALUE OF CITY’
*
END

Page 1 13-10-02 07:02:30

CNT             NAME              FIRST-NAME              CITY

      1 ABELLAN              KEPA                 MADRID
      2 ACHIESON             ROBERT               DERBY
      3 ADAM                 SIMONE               JOIGNY
      4 ADKINSON             JEFF                 BROOKLYN
      5 ADKINSON             PHYLLIS              BEVERLEY HILLS
      6 ADKINSON             HAZEL                GAITHERSBURG
      7 ADKINSON             DAVID                CHAPEL HILL
      8 ADKINSON             CHARLIE              LEXINGTON
      9 ADKINSON             MARTHA               FRAMINGHAM
     10 ADKINSON             TIMMIE               BEDFORD
     11 ADKINSON             BOB                  LAWRENCE
     12 AECKERLE             SUSANNE              STUTTGART
     13 AFANASSIEV           PHILIP               HATTIESBURG
     14 AFANASSIEV           ROSE                 EVANSTON
     15 AHL                  FLEMMING             SUNDBY
     16 AKROYD               ELIZABETH            DERBY
     17 ALEMAN               SARA                 BARCELONA
     18 ALESTIA              GORKA                BARCELONA
     19 ALEXANDER            PHIL                 CINCINNATI

Page 2 13-10-02 07:02:30

CNT             NAME              FIRST-NAME              CITY

     20 ALEXANDER            STEPHEN              NEWARK
     21 ALEXANDER            GIL                  BALTIMORE
     22 ALEXANDER            CHARLY               DAVIS
     23 ALEXANDER            HOLLY                MADISON
     24 ALLEGRE              LOUIS                CHARLEVILLE MEZIERES
     25 ALLSOP               ALAN                 DERBY
     26 ALTINOK              ENIS                 BREMEN
     27 ALVAREZ              RAQUEL               MADRID
     28 AMOROS               FUENSANTA            MADRID
     29 ANDERSEN             ANITA                KOEBENHAVN
     30 ANDERSEN             KARIN                VANLOESE
     31 ANDERSEN             LISSI                HVIDOVRE
     32 ANDERSON             JENNY                SALT LAKE CITY
     33 ANTLIFF              JANET                DERBY
     34 ARCHER               ROBIN                DERBY
     35 ARCONADA             ARANZAZU             MADRID
     36 ARCONADA             PEDRO                BARCELONA
     37 ARNOLD               KIMBERLEY            DERBY
     38 ASTIER               ALAIN                TROYES

Page 3 13-10-02 07:02:30

CNT             NAME              FIRST-NAME              CITY

     39 ATHERTON             JOE                  SYRACUSE
     40 ATHERTON             JOE                  NORFOLK
     41 ATHERTON             CARLOS               BERKELEY
     42 AUBERT               JACQUES              TROYES
     43 BACHMANN             HANS                 MUENCHEN
     44 BAECKER              JOHANNES             FRANKFURT
     45 BAECKER              KARL                 SINDELFINGEN
     46 BAGAZJA              MARJAN               MONTHERME
     47 BAILLET              PATRICK              LYS LEZ LANNOY
     48 BAKER                SYLVIA               OAK BROOK
     49 BAKER                PAULINE              DERBY
     50 BALBIN               ENRIQUE              BARCELONA
     51 BALL                 LILLIAN              DERBY
     52 BANGART              JOHN                 OMAHA
     53 BARA                 ALBERT               GIVET
     54 BARES                SALIA                BREMEN
     55 BART                 ROGER                ST EGREVE
     56 BARTHEL              PETER                STUTTGART
     57 BATESON              KATHERINE            DERBY

Page 4 13-10-02 07:02:30

CNT             NAME              FIRST-NAME              CITY

     58 BAUMEL               JACQUES              TROYES CEDEX
     59 BAYER                THOMAS               GROSS-GERAU
     60 BECH                 KIM                  TAASTRUP
     61 BECKER               HERMANN              FRANKFURT
     62 BECKER               HORST                GROSS-GERAU
     63 BECKER               ERHARD               SINDELFINGEN
     64 BEGUERIE             JACQUES              SEDAN CEDEX
     65 BEK                  BENNY                CORVALLIS
     66 BELL                 LILIAN               MONTVALE
     67 BENCHETRIT           SERGE                MARSEILLE
     68 BENNETT              EMMA                 DERBY
     69 BENNETT              GORDON               DERBY
     70 BENTLEY              GORDON               NOTTINGHAM
     71 BENTSEN              JOHNNY               BROENDBY STR
     72 BERCU                MARC                 TROYES
     73 BERGE                PAUL                 LA CHAPELLE ST LUC
     74 BERGER               HANS                 STUTTGART
     75 BERGHAUS             ROSE                 STUTTGART
     76 BERGMANN             HANS                 FRANKFURT

Page 5 13-10-02 07:02:30

CNT             NAME              FIRST-NAME              CITY

        BERGMANN             MAX                  AUGSBURG
                                                  LOOK AT THE VALUE OF CITY

enjoy.

steve

http://techcommunity.softwareag.com/ecosystem/documentation/natural/nat6314win/pg/pg_keyw.htm#pg_keyw

OK. I got it. The loop stops at the condition city < name. And BERGMANN+AUGSBURG is the first pair of values where this condition is true.

Hi Matthias;

Right of course.

Interesting observation:

With FIND, the WITH clause is done by Adabas; the WHERE clause is done by Natural.

Similarly, with READ, the STARTING information is transmitted to Adabas (who “uses it”);
the ENDING information is used by Natural to compare against every iteration of the READ.

steve