|
|
(3 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
− | {{AN}} is an acronym for {{bu|C|ontrol}} {{bu|L|anguage}} {{bu|P|rogram}}.
| + | #REDIRECT [[:Category:CLP]] |
− | | |
− | Much of what we find in CLP programs are IBM Commands. [http://wiki.midrange.com/index.php/Category:Commands] Also see [[CLP Coding Rules]] and [[CLP Commands]].
| |
− | | |
− | As with many other languages, there are multiple versions in popular usage, such as [[CLP/400]] and [[ILE-CLP]].
| |
− | | |
− | In some realities, this is comparable to software that is the "glue" connecting higher level language programs like [[:RPG]]; data base files and their over-rides; screen and print "files" and their over-rides; and other objects with Menus ... typically when we take a menu option, we are launching a CLP program.
| |
− | | |
− | == CLP Unique Commands ==
| |
− | | |
− | Some 400 [[:Category:Commands | commands]] can ONLY be executed from within a CLP program, not from [[Command Line]]. In other programming languages, these might be called OP CODES.
| |
− | * [[PGM]] (Program)
| |
− | * [[ENDPGM]]
| |
− | * [[DCL]] (Declare Variable)
| |
− | * [[IF]]
| |
− | * [[ELSE]]
| |
− | * [[DO]]
| |
− | * [[ENDDO]]
| |
− | * [[GOTO]]
| |
− | * [[MONMSG]]
| |
− | | |
− | == Pointer use ==
| |
− | As of V5R4, CL allows the use of pointers. There were some problems with uninitialised pointers, and PTFs were issued. As of 15 Feb 2008, 5722-SS1:
| |
− | * SI28620
| |
− | * SI28196
| |
− | * SI27953
| |
− | | |
− | These are immediate PTFs, but you will need to re-compile any CL programs using pointers in order to get the issues fixed.
| |
− | | |
− | One can't compare a pointer to *NULL, but a clever idea is to create an unused pointer (which will be set to *NULL if the above PTFs are applied) and compare to that. Here is a snippet from Tom L. for a CL program that performs [http://code.midrange.com/1509e4633a.html getenv] from a thread on [http://archive.midrange.com/rpg400-l/200802/msg00248.html RPG400-L].
| |
− | | |
− | dcl &pNull *ptr /* Auto-initialized to *null */
| |
− | if ( &pEnvVar *eq &pNull ) do
| |
− | | |
− | ==Categories==
| |
− | [[Category:Programming languages]]
| |
− | [[Category:CLP|*]]
| |