Programming Language for Business

{{Infobox programming language

| name = Programming Language for Business

| logo =

| paradigm = Procedural, imperative

| year = 1972

| designers =

| developers =

| latest release version =

| latest release date =

| typing = Strong,{{cite web | url=http://www.sysmaker.com/infopro/plb.htm | title=Programming Language for Business | publisher=sysmaker.com | accessdate=10 June 2016}} static

| implementations = DB/C DX, DATABUS, and PL/B

| dialects =

| influenced_by = COBOL

| influenced =

| file_ext = .rl, .ps, .cb, .pls, .pgm

}}

Programming Language for Business or PL/B is a business-oriented programming language originally called DATABUS and designed by Datapoint in 1972{{cite web | url=http://www.sysmaker.com/infopro/x3j15/ | title=J15 - Programming Language PL/B | publisher=sysmaker.com | accessdate=10 June 2016}} as an alternative to COBOL because Datapoint's 8-bit computers could not fit COBOL into their limited memory, and because COBOL did not at the time have facilities to deal with Datapoint's built-in keyboard and screen.

A version of DATABUS became an ANSI standard, and the name PL/B came about when Datapoint chose not to release its trademark on the DATABUS name.{{cite web | url=https://www.dbcsoftware.com/dbcov.html | title=DB/C DX, DATABUS, and PL/B Overview | publisher=DBC Software | accessdate=10 June 2016}}{{cite web | url=http://www.mmcctech.com/pl-b/plb-0100.htm | title=ANSI Standard PL/B | publisher=mmcctech.com | accessdate=10 June 2016}}

Functionality

Much like Java and .NET, PL/B programs are compiled into an intermediate byte-code, which is then interpreted by a runtime library. Because of this, many PL/B programs can run on DOS, Unix, Linux, and Windows operating systems.{{cite web | url=http://www.sunbelt-plb.com/show.php?Page=aboutplb.shtml | title=About PL/B | publisher=Sunbelt Computer Systems, Inc. | accessdate=10 June 2016}} PL/B (Databus) is actively used all over the world, and has several forums on the Internet dedicated to supporting software developers.{{cn|date=February 2025}}

PL/B has a database capability built-in with ISAM and Associative Hashed Indexes, as well as functionality for working with ODBC, SQL, Oracle,{{Cite web |title=SQL Instructions |url=https://sunbelt-plb.com/help/htm/plb/sql_overview.htm |access-date=2022-06-06 |website=sunbelt-plb.com}} sequential, random access, XML and JSON files.{{Cite web |title=XDATA |url=https://sunbelt-plb.com/help/htm/plb/xdata.htm |access-date=2022-06-06 |website=sunbelt-plb.com}}

PL/B also has the ability to access external routines through COM objects, DLLs and .NET assemblies. Full access to the .NET framework is built into many versions.{{cn|date=February 2025}}

Several implementations of the language are capable of running as an Application Server like Citrix, and connecting to remote databases through a data manager.{{cn|date=February 2025}}

Source code example

IF (DF_EDIT[ITEM] = "PHYS")

STATESAVE MYSTATE

IF (C_F07B != 2)

DISPLAY *SETSWALL 1:1:1:80:

*BGCOLOR=2,*COLOR=15:

*P49:1," 7-Find "

ELSE

DISPLAY *SETSWALL 1:1:1:80:

*BGCOLOR=7,*COLOR=0:

*P49:1," 7-Find "

ENDIF

STATEREST MYSTATE

TRAP GET_PRO NORESET IF F7

ENDIF

IF (SHOW_FILTER AND THIS_FILTER AND C_CUSTNO <> "MAG")

LOADMOD "filter"

PACK PASS_ID WITH "QED ",QED_ID1,BLANKS

MOVE " FILTER DISPLAY (F6) " TO PASS_DESC

SET C_BIGFLT

CALL RUN_FILT USING PASS_ID,PASS_DESC,"432"

UNLOAD "filter"

CLEAR THIS_FILTER

ENDIF

References

{{reflist|30em}}