Kbase P129316: 4GL/ABL: Why is the r-code generated by compiling the same .p at different times is not the same whe
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  2/28/2008 |
|
Status: Unverified
GOAL:
4GL/ABL: Why is the r-code generated by compiling the same .p at different times is not the same when compared using a bit by bit compare utility?
GOAL:
How to determine that two versions of r-code are the same without using the Time Stamp (-tstamp) client connection startup parameter?
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.1x
FIX:
1. The r-code generated by the Progress/OpenEdge compiler contains padding spaces for alignment. These are not set trimmed out by the compiler. Hence, a bit by bit comparison utility will detect and report these padding spaces as differences. This explains the variance when comparing the r-code using a bit by bit file compare utility like Beyond Compare. Such utilities can not be relied upon to ensure OpenEdge 4GL/ABL r-code integrity or changes.
2. To determine that two versions of r-code are the same without using the Time Stamp (-tstamp) client connection startup parameter, use either the RCODE-INFO:CRC-VALUE or the or the RCODE-INFO:MD5-VALUE attribute of the RCODE-INFO system handle. The RCODE-INFO:CRC-VALUE attribute is a unique integer value automatically generated whenever you compile and save a 4GL/ABL procedure. The RCODE-INFO:MD5-VALUE is generated whenever you compile and save a 4GL/ABL procedure using the GENERATE-MD5 option of the COMPILE statement. For example:
COMPILE ProcedureName.p GENERATE-MD5 SAVE.