WHY PL/B?

WHY PL/B?


[WHO] [WHAT] [WHERE] [WHEN] [HOW] [Home Page]


Because.................


PL/B is a simple business language to learn

PL/B contains the features needed for business applications

PL/B programs are very cost effective

PL/B benefits through the ANSI Standard process

PL/B is offered by competitive vendors

PL/B is available on a majority of platforms

PL/B can be developed with CASE tools

PL/B is a very powerful GUI development language

PL/B has superb Client/Server support for LAN and WAN

PL/B is in widespread use internationally

Business Language Features................


Powerful Random Storage & Retrieval
Business Report Formatting
High Level Support of User Interactivity
Multi-User and Network Environments
Internet/Intranet/Extranet Support for Thin-Clients
Shared Data Access and Updating
Simple to learn and use
Powerful productivity tools available

PL/B is available on many platforms......


    Microsoft Windows 95/98/ME/NT/2000/XP
     MS-DOS (3.3, 4.1, 5.0)          DR-DOS 5 or 6
     NOVELL                          SCO XENIX
     SCO UNIX (3.2)                  IBM OS/2
     IBM AIX                         Interactive UNIX (SVR3.2, SVR4)
     AT&T UNIX (SVR3.2, SVR4)        DEC/ULTRIX
     DG AVION/UNIX                   NCR/UNIX
     Datapoint Standard              Databus (UNIX and RMS)
     Datapoint RMS                   Datapoint DOS
     VAX/VMS                         DG/AOS
     Apple MacIntosh (System 7)      Prime/PRIMOS
     HP 9000                         SUN
     Tandem/DBOL
     ****************
     (partial listing)





Case Tools for PL/B........................


Screen Designer Tools
Report Formatting Tools
Ad-hoc Query Facilities
Source Code Generators
Documentation Tools
Data Conversion Utilities
SQL Routine Generators
Menu Systems

Sample PL/B Code..............


CUSTOMERS   AFILE     FIXED=79,UNCOMPRESSED,TEXT
CUST_RECORD LIST
FIRST_NAME  DIM       10
LAST_NAME   DIM       12
ADDRESS     DIM       20(2)
CITY        DIM       15
STATE       DIM       2
            LISTEND
CUS_KEY1    DIM       28
CUS_KEY2    DIM       28
IO_ERROR    DIM       40
ANSWER      DIM       1

            DISPLAY   *BGCOLOR=*BLUE:            . set background color
                      *FGCOLOR=*WHITE:           . set foreground color
                      *ES,"HELLO WORLD":         . erase screen, Hello
                      *P1:3,"Enter First Name:":
                      *P1:4,"Enter Last Name:"
            TRAP      NOT_FOUND GIVING IO_ERROR IF IO
            OPEN      CUSTOMERS,"CUSTOMERS"
NEXT_NAME   KEYIN     *P20:3,*RPTCHAR:"_":10,*HA:-10,FIRST_NAME:
                      *P20:3,*DV,FIRST_NAME:
                      *P20:4,*RPTCHAR:"_":12,*HA:-12,LAST_NAME:
                      *P20:4,*DV,LAST_NAME,*EF;
            STOP      IF ESC                     . escape key pressed
            CALL      BUILD_KEYS                 . build floating search keys
            READ      CUSTOMERS,CUS_KEY1,CUS_KEY2;CUST_RECORD
            IF        OVER
             DISPLAY  *P01:07,*EF,*B,*P10:07,*REVON,"PERSON NOT FOUND!",*REVOFF;
            ELSE
             LOOP
              DISPLAY *P01:07,*EF:               . erase prior name & show new
                      *P10:07,FIRST_NAME,LAST_NAME:
                      *P10:08,ADDRESS(1):
                      *P10:09,ADDRESS(2):
                      *P10:10,CITY," ,",STATE;
              READKG  CUSTOMERS;CUST_RECORD      . read for another record
              IF      NOT OVER                   . found one... pause screen
               KEYIN  *P1:24,"Press ENTER to see another address... ",ANSWER
              ENDIF
             REPEAT   UNTIL OVER                 . keep showing records if any
            ENDIF
            GOTO      NEXT_NAME                  . start process all over
NOT_FOUND   DISPLAY   *P1:24,*EL,*B,IO_ERROR;    . show error & exit
            STOP

BUILD_KEYS  CLEAR     CUS_KEY1,CUS_KEY2
            IF        (NOT (FIRST_NAME=""))
             PACK     CUS_KEY1 FROM "01F",FIRST_NAME  . field 1 floating search
            ENDIF
            IF        (NOT (LAST_NAME=""))
             PACK     CUS_KEY2 FROM "02F",LAST_NAME   . field 2 floating search
            ENDIF
            RETURN






Return to J15 home page

Return to INCITS home page

Top of Page