The following example prompts for the name of an r-code file and returns its CRC code and the languages for which it is compiled:
r-rcode.p
DEFINE VARIABLE rcode-file AS CHARACTER NO-UNDO FORMAT "x(60)" LABEL "File".
REPEAT:
SET rcode-file WITH FRAME rc-info.
RCODE-INFO:FILE-NAME = rcode-file.
DISPLAY RCODE-INFO:CRC-VALUE LABEL "CRC"
RCODE-INFO:LANGUAGES FORMAT "x(60)" LABEL "Languages"
WITH FRAME rc-info SIDE-LABELS TITLE "R-code Check".
END.
Notes
In Windows, the filename cannot contain characters outside of the non-Unicode code page. See OpenEdge Development: Internationalizing Applications for more information about Unicode and code pages.
ABL generates an r-code file when you compile a procedure with the SAVE option of the COMPILE statement. You cannot use the RCODE-INFO handle to get information on session compiles.
To use the RCODE-INFO handle, you must first set the FILE-NAME attribute to the name of an r-code file (with or without a .r or .p extension). If you do not provide a full pathname, ABL searches your PROPATH to find the file. You can then read the CRC-VALUE attribute and LANGUAGES attribute to get information on the file. If the r-code file is not found, both LANGUAGES and CRC-VALUE are set to the Unknown value (?).
The LANGUAGES attribute holds a comma-separated list of language names supported by the r-code. The default segment appears in the list as the value <unnamed>.
The CRC-VALUE attribute returns the r-code CRC value stored in the r-code. The calculation for this value is based on the filename and contents of the procedure file during compilation. This value is different from any database CRCs that are stored in the r-code. For more information on CRCs, see OpenEdge Deployment: Managing ABL Applications.
The TYPE attribute returns the widget type, PSEUDO-WIDGET.
The DISPLAY-TYPE attribute holds a value of "GUI" for a graphical display, "TTY" for a character-mode display, or a blank string ("") for code that does not contain any display-specific statements. Use of this attribute allows developers to determine if the r-code contains statements that make it executable only in the same display environment on which it was compiled.