• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Properly Sorting Numeric Arrays

    September 13, 2002 Timothy Prickett Morgan

    Hey, Ted:

    In a program, data could be stored in arrays related to each other. Arrays could be filled from different files, but they could have the same index.

    To sort the arrays, we would have to combine the arrays into one alphanumeric array and sort it. However, if the sort field is numeric, and there are negative numbers in the sort field, this is not going to work.

    I have a technique that allows proper sorting of numeric values in cases like this one. Would you like to publish it in Midrange Guru?

    — A Devoted Reader

    I have good news for you. RPG knows how to handle this type of sorting.

    The short program that follows illustrates this technique. Notice that the array called MyArray is defined within a data structure. Two other subfields–Alpha and Numeric–overlay MyArray. All three subfields–MyArray, Alpha, and Numeric–are arrays. Sorting one keeps the others in sync.

    The >EVAL lines between the C specs were cut and pasted from the debugger to show what the values of the arrays were at that point.

    — Ted

    D                 ds                                          
    D   MyArray                     15    dim(5)                  
    D   Alpha                       10    overlay(MyArray:1)      
    D   Numeric                      5s 0 overlay(MYArray:11)     
    
    C                   eval      MyArray (1) = 'A.........00000' 
    C                   eval      MyArray (2) = 'C.........50005' 
    C                   eval      MyArray (3) = 'E.........2000K' 
    C                   eval      MyArray (4) = 'D.........7000P' 
    C                   eval      MyArray (5) = 'B.........40004' 
                                                                  
    >EVAL myarray                      
        MYARRAY OF (1) = 'A.........00000'
        MYARRAY OF (2) = 'C.........50005'
        MYARRAY OF (3) = 'E.........2000K'
        MYARRAY OF (4) = 'D.........7000P'
        MYARRAY OF (5) = 'B.........40004'
    
    C                   sorta     Alpha
    
    >EVAL myarray                      
        MYARRAY OF (1) = 'A.........00000'
        MYARRAY OF (2) = 'B.........40004'
        MYARRAY OF (3) = 'C.........50005'
        MYARRAY OF (4) = 'D.........7000P' 
        MYARRAY OF (5) = 'E.........2000K'
    >EVAL numeric                       
        NUMERIC OF (1) = 00000.            
        NUMERIC OF (2) = 40004.            
        NUMERIC OF (3) = 50005.            
        NUMERIC OF (4) = -70007.           
        NUMERIC OF (5) = -20002.           
    
    C                   sorta     Numeric
    
    >EVAL myarray                       
       MYARRAY OF (1) = 'D.........7000P' 
       MYARRAY OF (2) = 'E.........2000K' 
       MYARRAY OF (3) = 'A.........00000' 
       MYARRAY OF (4) = 'B.........40004' 
       MYARRAY OF (5) = 'C.........50005'
    >EVAL numeric            
       NUMERIC OF (1) = -70007.
       NUMERIC OF (2) = -20002.
       NUMERIC OF (3) = 00000. 
       NUMERIC OF (4) = 40004. 
       NUMERIC OF (5) = 50005. 
       
    C                   eval      *inlr = *on
    

    Sponsored By
    WORTH CONSULTING

    Improve Legacy Programs with Super/Windows

    Summary:

    This newly released tool for the iSeries is used to improve user and programmer productivity and efficiency.

    Pop-up windows (or selection windows) are what users want to make their jobs easier and more accurate. They have been exposed to “list boxes” when on the Internet or when using a typical windows-based program. This feature makes it so that the user does not need those sticky notes and reference material at their grasp to know what value to key in entry fields.

    Programmers have been reluctant to put the selection window feature in entry programs because it takes substantial programming efforts to build the information and display it on the screen. It also requires major additions to the display files.

    Super/Windows easily enables pop-up selection windows to your application programs in an affordable manner. Very few changes are required to be made to your existing RPG, COBOL, and CL programs. Changes to your display files are not needed! Your existing code or table files are used to populate the information in the windows from which your users make selection. You can also use the codes file (and maintenance program) that is included with Super/Windows. One of Super/Windows’ functions generates the program source for each file ID using a simple entry program where the file and descriptive information is recorded. The source can be modified to return additional fields.

    You do not have to make wholesale changes to your application software, can optimize your staff’s existing skills, and little user training is needed. They will welcome Super/Windows with open arms!

    Business Owner Benefits:

    • Low Investment / High ROI as compared to leading high investment solutions that generate application software.
    • Immediate observable results.
    • Efficiency in workforce.
    • Faster training of users and programmers by using existing skill sets.
    • Gradual implementation with control of the degree of application.
    • its your budget: no increase in personnel and no major software expense.
    • License fee is $1,500 for first system and $750 for each subsequent system, no matter how many users or system size!
    • Annual maintenance is $300, regardless of the number of installations.

    Programmer Benefits:

    • Installs in 5 minutes. Free 30-day trial.
    • Values in windows are built from your existing code and table file…nothing is “hard-coded.”
    • The programs that retrieve the data for display are automatically generated after entry of file and key information.
    • Easily implemented. Only two copybook lines and 8 lines for each field to be enabled are added to each program.
    • No changes to display files are needed, so programs can be promoted when currently active.
    • Code validation routines and file definitions for the enabled codes are no longer needed in your programs.
    • New programs to allow users to input criteria for reports and extracts are a snap!
    • Examples in RPG, RPGLE, COBOL, and CLP are provided.
    • The system can also be used in batch environment to retrieve descriptive values to be included in reports and extract files.

    User Benefits:

    • Improved accuracy. Invalid keyed entry causes window to pop up allowing the user to select a valid entry.
    • Reliance on printed code lists and manuals is reduced.
    • Improved efficiency. Eyes remain on the screen and keyboard with no need to access the mouse to cause a list box to appear.
    • Selected values are always up to date from the code or table files.
    • Improved customer service as entries can be selected with customer consent when in phone contact.

    Click here to learn more about Super/Windows.

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags: Tags: mgo_rc, Volume 2, Number 70 -- September 13, 2002

    Sponsored by
    WorksRight Software

    Do you need area code information?
    Do you need ZIP Code information?
    Do you need ZIP+4 information?
    Do you need city name information?
    Do you need county information?
    Do you need a nearest dealer locator system?

    We can HELP! We have affordable AS/400 software and data to do all of the above. Whether you need a simple city name retrieval system or a sophisticated CASS postal coding system, we have it for you!

    The ZIP/CITY system is based on 5-digit ZIP Codes. You can retrieve city names, state names, county names, area codes, time zones, latitude, longitude, and more just by knowing the ZIP Code. We supply information on all the latest area code changes. A nearest dealer locator function is also included. ZIP/CITY includes software, data, monthly updates, and unlimited support. The cost is $495 per year.

    PER/ZIP4 is a sophisticated CASS certified postal coding system for assigning ZIP Codes, ZIP+4, carrier route, and delivery point codes. PER/ZIP4 also provides county names and FIPS codes. PER/ZIP4 can be used interactively, in batch, and with callable programs. PER/ZIP4 includes software, data, monthly updates, and unlimited support. The cost is $3,900 for the first year, and $1,950 for renewal.

    Just call us and we’ll arrange for 30 days FREE use of either ZIP/CITY or PER/ZIP4.

    WorksRight Software, Inc.
    Phone: 601-856-8337
    Fax: 601-856-9432
    Email: software@worksright.com
    Website: www.worksright.com

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Adding Subprocedures to a Service Program, Revisited Reader Feedback and Insights: More Binder Language

    Leave a Reply Cancel reply

MGO Volume: 2 Issue: 70

This Issue Sponsored By

    Table of Contents

    • Reader Feedback and Insights: Binder Language
    • Put Users On the Fast Track
    • Properly Sorting Numeric Arrays

    Content archive

    • The Four Hundred
    • Four Hundred Stuff
    • Four Hundred Guru

    Recent Posts

    • Meet The Next Gen Of IBMers Helping To Build IBM i
    • Looks Like IBM Is Building A Linux-Like PASE For IBM i After All
    • Will Independent IBM i Clouds Survive PowerVS?
    • Now, IBM Is Jacking Up Hardware Maintenance Prices
    • IBM i PTF Guide, Volume 27, Number 24
    • Big Blue Raises IBM i License Transfer Fees, Other Prices
    • Keep The IBM i Youth Movement Going With More Training, Better Tools
    • Remain Begins Migrating DevOps Tools To VS Code
    • IBM Readies LTO-10 Tape Drives And Libraries
    • IBM i PTF Guide, Volume 27, Number 23

    Subscribe

    To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

    Pages

    • About Us
    • Contact
    • Contributors
    • Four Hundred Monitor
    • IBM i PTF Guide
    • Media Kit
    • Subscribe

    Search

    Copyright © 2025 IT Jungle