//************************************************************************

      // Author.......: Aaron Bartell

      // Creation Date: 06-01-2003

      // Description..: This program will give example to the UsrSpcFn API's to

      //                dynamically build arrays of information.  Think of it as

      //                being able to load many different "objects" into the

      //                same expandable array. By objects I mean data structures

      //************************************************************************

     H dftactgrp(*No) bnddir('MYBND')

 

      /copy QSource,UsrSpcCp

 

     D lib             S             10a   Inz('AARONLIB')

     D space           S             10a   Inz('TESTUSRSPC')

     D i               S             10i 0

     D emailCount      S             10i 0

     D addressCount    S             10i 0

 

      // User Space Entry names

     D EMAIL_          C                   Const('EMAIL')

     D ADDRESS_        C                   Const('ADDRESS')

 

     D email           DS                  Qualified

     D  address                      25a

     D  name                         25a

 

     D address         DS                  Qualified

     D  name                         10a

     D  adr1                         10a

     D  adr2                         10a

     D  city                         10a

     D  state                        10a

     D  zipCode                       5  0

      /free

 

       UsrSpc_new(lib: space);

 

       email.address = 'aaronbartell@mowyourlawn.com';

       email.name = 'Aaron Bartell';

       UsrSpc_addEntry(lib: space: EMAIL_: %Size(email): email);

 

       email.address = 'happy@you.com';

       email.name = 'Happy You';

       UsrSpc_addEntry(lib: space: EMAIL_: %Size(email): email);

 

       email.address = 'Lloyd@Lumber.com';

       email.name = 'Lloyd Lumber';

       UsrSpc_addEntry(lib: space: EMAIL_: %Size(email): email);

 

       address.name = 'Jim Carey';

       address.adr1 = '113 Bye';

       address.city = 'Mankato';

       address.state = 'MN';

       address.zipCode = 56001;

       UsrSpc_addEntry(lib: space: ADDRESS_: %Size(address): address);

       address = ' ';

 

       emailCount = UsrSpc_getNamedEntryCount(lib: space: EMAIL_);

       for i = 1 To emailCount By 1;

         email = UsrSpc_getNamedEntry(lib: space: EMAIL_: i);

       endfor;

 

       addressCount = UsrSpc_getNamedEntryCount(lib: space: ADDRESS_);

       for i = 1 To addressCount By 1;

         address = UsrSpc_getNamedEntry(lib: space: ADDRESS_: i);

       endfor;

       UsrSpc_delete(lib: space);

 

       *inlr = *on;

 

      /end-free