Consultor Eletrônico



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.