Kbase P116335: Error 138 when calling 4GL-JMS Message Object set*Property methods
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  1/8/2010 |
|
Status: Unverified
SYMPTOM(s):
Error 138 when calling the following 4GL-JMS Message Object set*Property methods
setStringProperty()
setLongProperty()
setIntProperty()
setFloatProperty()
setDoubleProperty()
setDateTimeTZProperty()
setDateTimeProperty()
setDateProperty()
setByteProperty()
setBooleanProperty()
** <file-name> record not on file. (138)
message-header record not on file (138).
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
SonicMQ
CAUSE:
This is a known issue being investigated by Development
CAUSE:
The setStringProperty procedure does a FIND statement with the NO-ERROR clause. If the find fails the procedure creates the record as necessary. However, the ERROR-STATUS:ERROR session variable is set even though the setStringProperty procedure does not return any errors. The fix for this problem is to reset the ERROR-STATUS:ERROR variable before the procedure returns.
FIX:
Upgrade to OpenEdge 10.1B or later. If upgrading to OpenEdge 10.1B or later is not feasible, a workaround is to use the NO-ERROR option on the method call. For example, if the following line causes the 138 error:
RUN setStringProperty in hMesg ("Name", "Value").
Change it to:
RUN setStringProperty in hMesg ("Name", "Value") NO-ERROR.