Marc's Place




E$LIB is a set of programs and source code members which make programming easier and your sources easier to read. The included /COPY members standardize handling of messages, display and printer file description specs, etc.
Some routines date far back (1990's) and may not work on new(est) systems, you just have to try it - or try and convert.

All routines and source members may be used freely, but please retain my name as the original author.

DATE calculations
With this program one can calculate with dates, convert them, etc.. You can add days, convert dates to weeknumbers, daynumbers, alfanumeric, etc, etc... The program accepts alphanumeric parameters so it can also be used in CL-programs.
FIELD listings
With this software you can do various things. Fixed options are listings of all fields of a file or a listing of keyfields only. Other options are RPG/400 or DDS output to a file from a file so one does not have to type every MOVE(L) instruction. Within SEU you can copy this output directly into your source with F15. You can also add your own output queries to this software (like a plug-in). You need QUERY/400 for this software.
DIR command
This command creates a listing of objects from up to five libraries in one run, sorted by name and creation date/time. You have control over the subset you want to see by entering selection criteria in the 'select records' screen.
A standard RPG/400 program skeleton with the right subfilehandling for F4, Positioning after F4 or other processing, etc.
Message sender/retriever program
A CL-program that can send a program message, clear the program message queue, retrieve a message description and it can retrieve the object description of an object. In the last modus it also returns the mode the program is running in: batch or interactive.
/COPY members
Using these your sources will be more uniform.
COPYRIGHT data structure
Your copyright source lines in color.
Datastructures for all RPG/400 programs
This copy member has the following data structures:
  • The Program datastructure IPSDS with subfields.
  • A second Program datastructure which is filled by other routines
  • A Display Device datastructure with the most common fields.
  • A Printer Device datastructure with the most common fields.
  • A general datastructure for E$-Routines mentioned hereafter.
  • A Message datastructure for retrieving/sending message data.
  • Binary Functionkey definitions with which you do not need any indicator to handle function keys.
  • A call to the Object Description retrieving program
Datastructures for batch RPG/400 programs
This copy member has the same data structures as the one mentioned above, apart from the Binary Function Key definitions and the call to the Object Description retrieving program.
Condensing routines
Routine to condense a text field. Only characters 0-9 and A-Z are concatenated to one character string.
Decomposing routine
Routine to decompose a text field which contains data from a database like 'abc;def;g;;;e23;' into individual columns.
Alignment routines
Routines to align text left or right within an alphanumeric field.
Amount formatting routine
Formats a numeric amount value in an alpanumeric field with thousand and decimal separators (leading zeroes are removed) or extracts a formatted amount into a numeric field.
Leading Zeroes remover
Routine which converts leading zeroes in an alphanumeric field to blanks. It does not align the contents left or right.
Get Cursor Position
Routine which retrieves the position of the cursor into ##ROW and ##COL which can be found in Display file source member DEFAULT#.
Message handling
Routine to send a message to the message queue which is defined in Display file source member DEFAULT#.
Umlaut conversion
Routine to convert German special charachters or characters with umlaut (ä, ö, ü, ß, etc.) to standard characters: ä -> ae.
Get Job date
Routine which retrieves a fictional Jobdate that works even after 0:00 hrs. This Jobdate is then stored in the System date fields (see 'Get System date') so your program has no different variables to cope with.
Get System date
Routine to retrieve the System date and stores it its own System date variables. Two System date variables hold the date as CCYYMMDD and DDMMCCYY, respectively.



(click links to read detailed information)

E$CHKOBJ - Check if object exists
E$CLCDAT - Date calculations
E$DIR - Lists object's attributes
E$FFD - Shows and lists Fields of a file
E$LSZ - Creates TAB-separated file with Library Sizes
E$PGMMSG - Message sender/retriever

Source Members
FN_E$ALL - Align text left
FN_E$ALR - Align text right
FN_E$BDG - Format numeric amount into text field
FN_E$BDR - Format text amount into numeric field
FN_E$CDS - Condense textfield data
FN_E$CDSC - Condense citynames
FN_E$CLZ - Convert leading zeroes into blanks
FN_E$CUR - Get cursor position
FN_E$DCP - Decompose ?-separated data
FN_E$ISO - Convert HTML entities
FN_E$MSG - Send program message
FN_E$RPL - Replace a character
FN_E$UML - Convert German and other special characters
FN_DAYDAT - Get the DAY date
FN_SYSDAT - Get the SYSTEM date

Go to download page
© 1997- Marc Vos (and others)   -   Privacy Statement   -    Contact Me

On this website, Google Analytics is used to track visitor statistics. These are anonymised data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc.. You will also see non-personalised ads via Google AdSense. Cookies from Paddle or Paypal are placed when you click on a 'Buy now!' or 'Donate!' button, and possible cookies from Disqus when you use that system to comment on one or more blogposts.
Privacy Statement