alex.bonutti
4th September 2017, 12:13
Hi all,
I'm developing a session extension with Tools 10.5 which should create and save a predefined text in purchase order footer. I've tried both via external variable or via database text field, text is created but I'm not able to commit the transaction and save it. This is a sample of my 4GL code:
...
file.tmp = creat.tmp.file$()
ft = seq.open(file.tmp,"w")
text_body = "Sample text"
ret = seq.puts(text_body, ft)
seq.close(ft)
ret = text.write("tdpur400.txtb", "6", "Purchase.", "Order footer.", tdpur400.orno, "", "text", "text", file.tmp)
ret = dal.change.object("tdpur400")
ret = dal.save.object("tdpur400")
if ret <> 0 then
abort.transaction()
ret = dal.get.error.message(error.mess)
message(str$(ret) & " - " & error.mess)
else
commit.transaction()
message("Footer text created for purchase order " & tdpur400.orno)
endif
...
dal.get.error.message return value is 1.
I made a few tries with DAL scripts
ret = dal.change.object("tdpur400")
dal.set.field("tdpur400.txtb", text_nr)
ret = dal.save.object("tdpur400")
or even db update funtions
db.update(ttdpur400, db.retry)
but transaction cannot be completed with DAL error
Record ... cannot be saved in table Purchase Orders in company ...
If I commit just the text.write function, a text is correctly saved in the database, but it can't be linked in my entity (which is a purchase order). Can someone help me?
Thanks,
Alex
I'm developing a session extension with Tools 10.5 which should create and save a predefined text in purchase order footer. I've tried both via external variable or via database text field, text is created but I'm not able to commit the transaction and save it. This is a sample of my 4GL code:
...
file.tmp = creat.tmp.file$()
ft = seq.open(file.tmp,"w")
text_body = "Sample text"
ret = seq.puts(text_body, ft)
seq.close(ft)
ret = text.write("tdpur400.txtb", "6", "Purchase.", "Order footer.", tdpur400.orno, "", "text", "text", file.tmp)
ret = dal.change.object("tdpur400")
ret = dal.save.object("tdpur400")
if ret <> 0 then
abort.transaction()
ret = dal.get.error.message(error.mess)
message(str$(ret) & " - " & error.mess)
else
commit.transaction()
message("Footer text created for purchase order " & tdpur400.orno)
endif
...
dal.get.error.message return value is 1.
I made a few tries with DAL scripts
ret = dal.change.object("tdpur400")
dal.set.field("tdpur400.txtb", text_nr)
ret = dal.save.object("tdpur400")
or even db update funtions
db.update(ttdpur400, db.retry)
but transaction cannot be completed with DAL error
Record ... cannot be saved in table Purchase Orders in company ...
If I commit just the text.write function, a text is correctly saved in the database, but it can't be linked in my entity (which is a purchase order). Can someone help me?
Thanks,
Alex