roneymaza
19th February 2009, 21:00
Buenas Tardes, el siguiente mensaje de error se me presenta al momento de generar varias Ordenes de Compra: "Error base_extern api.messages not found in process", el problema es que cuando inicializo el proceso luego de arrojar el error, genera las siguientes O/C, no lo genera con una Orden de Compra en específico, ya que, ejecuto el proceso nuevamente y continua con las demas.
Que solución se podria aplicar para evitar este error
Adjunto el código que uso para generar las lineas de las Ordenes de Compra:
function extern domain tcbool ddpos.dll1110.grabar.lineas.OC(
domain tcorno i.orno,
domain tcitem i.item,
domain tcqrd1 i.oqua,
domain tccwar i.cwar,
domain tcpric i.pric)
{
domain tcsess my.sess
my.sess = "tdpur4105s000"
ret = 0
err.mess = ""
stpapi.put.field("tdpur4101m000", "tdpur040.orno", str$(i.orno))
ret = stpapi.find("tdpur4101m000", err.mess)
if ret then
stpapi.handle.subproc("tdpur4101m000", my.sess, "add")
stpapi.continue.process("tdpur4101m000", err.mess)
if not isspace(err.mess) then
ddpos.dll1110.grabar.log.errores()
stpapi.end.session("tdpur4101m000")
return(false)
endif
stpapi.put.field(my.sess,"tdpur041.orno",str$(i.orno))
stpapi.put.field(my.sess,"tdpur041.item",i.item)
stpapi.put.field(my.sess,"tdpur041.oqua",str$(i.oqua))
stpapi.put.field(my.sess,"tdpur041.cwar",i.cwar)
stpapi.put.field(my.sess,"tdpur041.sdsc",str$(etol(tcyesno.yes)))
stpapi.put.field(my.sess,"tdpur041.pric",str$(i.pric))
stpapi.put.field(my.sess,"tdpur041.disc",str$(0))
stpapi.put.field(my.sess,"tdpur041.ldam",str$(0))
stpapi.put.field(my.sess,"tdpur041.ddtb",str$(date.o))
stpapi.put.field(my.sess,"tdpur041.odat",str$(date.o))
stpapi.end.session("tdpur0130s000")
stpapi.handle.subproc(my.sess,"tdpur0130s000", "add")
ret = stpapi.insert(my.sess,true, err.mess)
if not ret then
ddpos.dll1110.grabar.log.errores()
stpapi.end.session("tdpur0130s000")
stpapi.end.session(my.sess)
stpapi.end.session("tdpur4101m000")
return(false)
endif
stpapi.end.session("tdpur0130s000")
stpapi.end.session(my.sess)
stpapi.end.session("tdpur4101m000")
return(true)
endif
ddpos.dll1110.grabar.log.errores()
|stpapi.end.session(my.sess)
stpapi.end.session("tdpur4101m000")
return(false)
}
Que solución se podria aplicar para evitar este error
Adjunto el código que uso para generar las lineas de las Ordenes de Compra:
function extern domain tcbool ddpos.dll1110.grabar.lineas.OC(
domain tcorno i.orno,
domain tcitem i.item,
domain tcqrd1 i.oqua,
domain tccwar i.cwar,
domain tcpric i.pric)
{
domain tcsess my.sess
my.sess = "tdpur4105s000"
ret = 0
err.mess = ""
stpapi.put.field("tdpur4101m000", "tdpur040.orno", str$(i.orno))
ret = stpapi.find("tdpur4101m000", err.mess)
if ret then
stpapi.handle.subproc("tdpur4101m000", my.sess, "add")
stpapi.continue.process("tdpur4101m000", err.mess)
if not isspace(err.mess) then
ddpos.dll1110.grabar.log.errores()
stpapi.end.session("tdpur4101m000")
return(false)
endif
stpapi.put.field(my.sess,"tdpur041.orno",str$(i.orno))
stpapi.put.field(my.sess,"tdpur041.item",i.item)
stpapi.put.field(my.sess,"tdpur041.oqua",str$(i.oqua))
stpapi.put.field(my.sess,"tdpur041.cwar",i.cwar)
stpapi.put.field(my.sess,"tdpur041.sdsc",str$(etol(tcyesno.yes)))
stpapi.put.field(my.sess,"tdpur041.pric",str$(i.pric))
stpapi.put.field(my.sess,"tdpur041.disc",str$(0))
stpapi.put.field(my.sess,"tdpur041.ldam",str$(0))
stpapi.put.field(my.sess,"tdpur041.ddtb",str$(date.o))
stpapi.put.field(my.sess,"tdpur041.odat",str$(date.o))
stpapi.end.session("tdpur0130s000")
stpapi.handle.subproc(my.sess,"tdpur0130s000", "add")
ret = stpapi.insert(my.sess,true, err.mess)
if not ret then
ddpos.dll1110.grabar.log.errores()
stpapi.end.session("tdpur0130s000")
stpapi.end.session(my.sess)
stpapi.end.session("tdpur4101m000")
return(false)
endif
stpapi.end.session("tdpur0130s000")
stpapi.end.session(my.sess)
stpapi.end.session("tdpur4101m000")
return(true)
endif
ddpos.dll1110.grabar.log.errores()
|stpapi.end.session(my.sess)
stpapi.end.session("tdpur4101m000")
return(false)
}