D
dbeavon
Guest
@Rob I had found that KB which is what prompted my confusion. It seems to giving incorrect information - just like the documentation for TO-ROWID(). The method "IntToHex()" in the sample code in part b doesn't work. I believe it has to do with the character case. I'm using OE 11.7.4 on windows. Above you see that the hex value that is generated. It is capitalized and is totally consistent with the documentation about TO-ROWID. But the record cannot be found, after converting that back to a ROWID. rRowId = TO-ROWID(cRowId). FIND rci_cust WHERE ROWID(rci_cust) = rRowId. However if I use TO-ROWID(LC(cRowId)) then it seems to start working again, probably because of the LC() function. I tested on HP-UX as well and it behaves the same as windows. I suspect that both the docs and the KB article are mistaken about the special string representation for ROWID. Does that seem possible? I'm not as bothered by the fact that I have to use the LC() function as I am by the fact that the formal information from Progress is wrong. Also, I noticed that the STRING(ROWID(rci_cust)) returns a much longer hex string than the one generated by "IntToHex" and I'm wondering if this should be a concern. (eg. the STRING(ROWID(rci_cust)) generates the long string "0x0000000000a002e1")
Continue reading...
Continue reading...