slang-users mailing list

[2005 Date Index] [2005 Thread Index] [Other years]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]

[slang-users] Some Collaboration Requested ....


I am soon to be moving into my 2nd phase with SLAG, the S-Lang Application
generator. Menu System (fully Mousable) is done, and I am re-writing the
"screen" and data input routines using more of the S-Lang C features
available (such as push'ing and pop'ing things to/from the stack).

The second phase is going to be the integration of a File Manager into
SLAG/S-lang. I have decided NOT to use a SQL database, since the Business
Applications generated with SLAG need to be as maintenance free as possible.

I already have a good deal of "models" into what files, fields, field types,
need to be and contain to create AR/AP/OE/IV/GL/PO/BOM/JC/BankRec/PR/FA and
just about any type of other business application you want to name.

I am looking at using one of the two following:

http://www.ittia.com/products/overview.html

or

http://sourceforge.net/projects/vbisam


What I am going to need to some help on, is writing a "generic" file
manager for one of the above. What I would like to accomplish is having
the "file" (structure) layout defined in a S-Lang script and being able,
without any custom "C" code access on to several of the files.

And example being (S-Lang style):
% ----------- Example Code ------------------
typedef struct
 {
   CUST_ID ,   % integer
   CUST_NAME,  % Character String max 60
   CUST_ADDR,  % Character String Max 60
   CUST_CITY,  % Character String max 30
   CUST_STATE, % 2 Characters
   CUST_ZIP,   % 10 Characters
   CUST_PHONE, % 11 Chacracters
   CUST_BALANCE, % Float
   CUST_STATUS ...... (and so on)
  } CUSTOMER_RECORD ;

typedef struct
 {
   OI_CUST,    % integer
   OI_DOC_DATE, % integer
   OI_DOC_TYPE, % 1 Character
   OI_DOC_BALANCE % float .... (and so on)
  } OPEN_ITEM_RECORD

attribute CUST_FILE ;
attribute CUSTOMER = CUSTOMER_RECORD ;

attribute OPEN_ITEMS ;
attribute DOCUMENTS = OPEN_ITEM_RECORD ;
attribute FILE_STATUS ;


CUST_FILE = opendatafile("CUSTMAS", "RW", "N") ; %Filename, openmode, exclusive lock
if ( CUST_FILE == -1 )
  {
    errorroutine ;
    exit (0) ;
   }

OPEN_ITEMS = opendatafile("OPENITEMS", "RW", "N") ; %Filename, openmode, exclusive lock
if ( OPEN_ITEMS == -1 )
  {
    errorroutine ;
    exit (0) ;
   }

startdatafile(CUST_FILE, "GE", "" ) ; %Filename, Start Mode, Item Key
FILE_STATUS = readnextdf(CUST_FILE, CUSTOMER) ;

% Heee Heee ... USE COBOL file status CODES so we can
% convince COBOL programmers to use SLAG !!!!

if (FILE_STATUS == 10 )
   {
     end_file_routine () ;
     ... exit normally
   }
... and so on and so on!!!!
% End Sample Code Here .........................


Sooo... what I am trying to do is use a "generic" File Module that can be passed
the values, and return the record into a structure defined in S-Lang. But I think
for the time, such a Module is above my ability to write it.

Any takers on this ? John? Paul? ...

As always, thanks
--
Ben Duncan   - VersAccounting Software LLC 336 Elton Road  Jackson MS, 39212
"Never attribute to malice, that which can be adequately explained by stupidity"
       - Hanlon's Razor


_______________________________________________
To unsubscribe, visit http://jedsoft.org/slang/mailinglists.html


[2005 date index] [2005 thread index]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]