blanchap
5th January 2023, 23:52
Hi,
i have a script that inserts a line in the sales order line session.
but i need to press ok before doing the insert.
if i insert manually the line, i have a window that pops where i need to press ok to continue and then i save.
if i do it in the stpapi script, using stpapi.continue.process, it hangs (because i do it before the stp.insert i guess). how can i select 'ok' in the stpapi?
the message pops after an input on field tdsls041.prdt
here is my code
error.mess = ""
stpapi.put.field("tdslsc104m000","tdsls040.orno",str$(i.orno))
ret = stpapi.find("tdslsc104m000", error.mess)
if ret = 1 then
stpapi.handle.subproc("tdslsc104m000","tdslsc105s000","add")
stpapi.handle.subproc("tdslsc104m000","tdsls0130s000","kill")
stpapi.continue.process("tdslsc104m000",error.mess)
stpapi.put.field("tdslsc105s000","tdsls041.orno",str$(i.orno))
stpapi.put.field("tdslsc105s000","tdsls041.pono",str$(i.pono))
stpapi.put.field("tdslsc105s000","tdsls041.cuno",tdsls002.cuno)
stpapi.put.field("tdslsc105s000","tdsls041.citt",tdsls002.citt)
stpapi.put.field("tdslsc105s000","tdsls041.item",k.item)
stpapi.put.field("tdslsc105s000","tdsls041.cntr",tdsls002.cntr)
stpapi.put.field("tdslsc105s000","tdsls041.cprj",tdsls002.cprj)
stpapi.put.field("tdslsc105s000","tdsls041.opol",str$(tdsls002.opol))
stpapi.put.field("tdslsc105s000","tdsls041.drct",str$(tdsls002.drct))
stpapi.put.field("tdslsc105s000","tdsls041.cpva",tdsls002.cpva)
find.product.variant()
stpapi.put.field("tdslsc105s000","tdsls041.sdsc",str$(tdsls002.sdsc))
stpapi.put.field("tdslsc105s000","tdsls041.pric",str$(i.pric))
stpapi.put.field("tdslsc105s000","tdsls041.plev",str$(tdsls002.plev))
stpapi.put.field("tdslsc105s000","tdsls041.stpr",str$(tdsls002.stpr))
stpapi.put.field("tdslsc105s000","tdsls041.cups",tdsls002.cups)
stpapi.put.field("tdslsc105s000","tdsls041.cvps",str$(tdsls002.cvps))
stpapi.put.field("tdslsc105s000","tdsls041.citg",itm.citg)
stpapi.put.field("tdslsc105s000","tdsls041.csgs",itm.csgs)
stpapi.put.field("tdslsc105s000","tdsls041.odat",str$(date.num()))
if tdsls002.dtme <> 0 then
stpapi.put.field("tdslsc105s000","tdsls041.ddta",str$(tdsls002.dtme))
else
stpapi.put.field("tdslsc105s000","tdsls041.ddta",str$(tdsls002.ddta))
endif
stpapi.put.field("tdslsc105s000","tdsls041.oqua",str$(tdsls002.qtya * i.quantity))
stpapi.put.field("tdslsc105s000","tdsls041.cuqs",tdsls002.cuqs)
stpapi.put.field("tdslsc105s000","tdsls041.cvqs",str$(tdsls002.cvqs))
stpapi.put.field("tdslsc105s000","tdsls041.leng",str$(tdsls002.leng))
stpapi.put.field("tdslsc105s000","tdsls041.widt",str$(tdsls002.widt))
stpapi.put.field("tdslsc105s000","tdsls041.thic",str$(tdsls002.thic))
stpapi.put.field("tdslsc105s000","tdsls041.disc",str$(tdsls002.disc))
stpapi.put.field("tdslsc105s000","tdsls041.ldam",str$(tdsls002.ldam))
stpapi.put.field("tdslsc105s000","tdsls041.dmth",str$(tdsls002.dmth))
stpapi.put.field("tdslsc105s000","tdsls041.cdis",str$(tdsls002.cdis))
stpapi.put.field("tdslsc105s000","tdsls041.dlev",str$(tdsls002.dlev))
stpapi.put.field("tdslsc105s000","tdsls041.cdel",tdsls002.cdel)
stpapi.put.field("tdslsc105s000","tdsls041.amta",str$((tdsls041.oqua * tdsls041.pric) - (tdsls041.oqua * tdsls041.pric * (tdsls041.disc(1) / 100.00))))
stpapi.put.field("tdslsc105s000","tdsls041.ccty",tdsls002.ccty)
stpapi.put.field("tdslsc105s000","tdsls041.cvat",tdsls002.cvat)
stpapi.put.field("tdslsc105s000","tdsls041.scom",str$(tdsls002.scom))
stpapi.put.field("tdslsc105s000","tdsls041.ctrj",tdsls002.ctrj)
stpapi.put.field("tdslsc105s000","tdsls041.prdt",str$(sales.dates))
stpapi.continue.process("tdslsc105s000",error.mess)
stpapi.put.field("tdslsc105s000","tdsls041.cwar",tdsls002.cwar)
stpapi.put.field("tdslsc105s000","tdsls041.isss",str$(tdsls002.isss))
stpapi.put.field("tdslsc105s000","tdsls041.qono",str$(tdsls002.qono))
stpapi.put.field("tdslsc105s000","tdsls041.qpon",str$(tdsls002.pono))
ret = stpapi.insert("tdslsc105s000",true,error.mess)
if not isspace(error.mess) then
message(error.mess,0)
stpapi.recover("tdslsc105s000",add.mess)
endif
endif
stpapi.end.session("tdsls0130s000")
stpapi.end.session("tdslsc105s000")
stpapi.end.session("tdslsc104m000")
i have a script that inserts a line in the sales order line session.
but i need to press ok before doing the insert.
if i insert manually the line, i have a window that pops where i need to press ok to continue and then i save.
if i do it in the stpapi script, using stpapi.continue.process, it hangs (because i do it before the stp.insert i guess). how can i select 'ok' in the stpapi?
the message pops after an input on field tdsls041.prdt
here is my code
error.mess = ""
stpapi.put.field("tdslsc104m000","tdsls040.orno",str$(i.orno))
ret = stpapi.find("tdslsc104m000", error.mess)
if ret = 1 then
stpapi.handle.subproc("tdslsc104m000","tdslsc105s000","add")
stpapi.handle.subproc("tdslsc104m000","tdsls0130s000","kill")
stpapi.continue.process("tdslsc104m000",error.mess)
stpapi.put.field("tdslsc105s000","tdsls041.orno",str$(i.orno))
stpapi.put.field("tdslsc105s000","tdsls041.pono",str$(i.pono))
stpapi.put.field("tdslsc105s000","tdsls041.cuno",tdsls002.cuno)
stpapi.put.field("tdslsc105s000","tdsls041.citt",tdsls002.citt)
stpapi.put.field("tdslsc105s000","tdsls041.item",k.item)
stpapi.put.field("tdslsc105s000","tdsls041.cntr",tdsls002.cntr)
stpapi.put.field("tdslsc105s000","tdsls041.cprj",tdsls002.cprj)
stpapi.put.field("tdslsc105s000","tdsls041.opol",str$(tdsls002.opol))
stpapi.put.field("tdslsc105s000","tdsls041.drct",str$(tdsls002.drct))
stpapi.put.field("tdslsc105s000","tdsls041.cpva",tdsls002.cpva)
find.product.variant()
stpapi.put.field("tdslsc105s000","tdsls041.sdsc",str$(tdsls002.sdsc))
stpapi.put.field("tdslsc105s000","tdsls041.pric",str$(i.pric))
stpapi.put.field("tdslsc105s000","tdsls041.plev",str$(tdsls002.plev))
stpapi.put.field("tdslsc105s000","tdsls041.stpr",str$(tdsls002.stpr))
stpapi.put.field("tdslsc105s000","tdsls041.cups",tdsls002.cups)
stpapi.put.field("tdslsc105s000","tdsls041.cvps",str$(tdsls002.cvps))
stpapi.put.field("tdslsc105s000","tdsls041.citg",itm.citg)
stpapi.put.field("tdslsc105s000","tdsls041.csgs",itm.csgs)
stpapi.put.field("tdslsc105s000","tdsls041.odat",str$(date.num()))
if tdsls002.dtme <> 0 then
stpapi.put.field("tdslsc105s000","tdsls041.ddta",str$(tdsls002.dtme))
else
stpapi.put.field("tdslsc105s000","tdsls041.ddta",str$(tdsls002.ddta))
endif
stpapi.put.field("tdslsc105s000","tdsls041.oqua",str$(tdsls002.qtya * i.quantity))
stpapi.put.field("tdslsc105s000","tdsls041.cuqs",tdsls002.cuqs)
stpapi.put.field("tdslsc105s000","tdsls041.cvqs",str$(tdsls002.cvqs))
stpapi.put.field("tdslsc105s000","tdsls041.leng",str$(tdsls002.leng))
stpapi.put.field("tdslsc105s000","tdsls041.widt",str$(tdsls002.widt))
stpapi.put.field("tdslsc105s000","tdsls041.thic",str$(tdsls002.thic))
stpapi.put.field("tdslsc105s000","tdsls041.disc",str$(tdsls002.disc))
stpapi.put.field("tdslsc105s000","tdsls041.ldam",str$(tdsls002.ldam))
stpapi.put.field("tdslsc105s000","tdsls041.dmth",str$(tdsls002.dmth))
stpapi.put.field("tdslsc105s000","tdsls041.cdis",str$(tdsls002.cdis))
stpapi.put.field("tdslsc105s000","tdsls041.dlev",str$(tdsls002.dlev))
stpapi.put.field("tdslsc105s000","tdsls041.cdel",tdsls002.cdel)
stpapi.put.field("tdslsc105s000","tdsls041.amta",str$((tdsls041.oqua * tdsls041.pric) - (tdsls041.oqua * tdsls041.pric * (tdsls041.disc(1) / 100.00))))
stpapi.put.field("tdslsc105s000","tdsls041.ccty",tdsls002.ccty)
stpapi.put.field("tdslsc105s000","tdsls041.cvat",tdsls002.cvat)
stpapi.put.field("tdslsc105s000","tdsls041.scom",str$(tdsls002.scom))
stpapi.put.field("tdslsc105s000","tdsls041.ctrj",tdsls002.ctrj)
stpapi.put.field("tdslsc105s000","tdsls041.prdt",str$(sales.dates))
stpapi.continue.process("tdslsc105s000",error.mess)
stpapi.put.field("tdslsc105s000","tdsls041.cwar",tdsls002.cwar)
stpapi.put.field("tdslsc105s000","tdsls041.isss",str$(tdsls002.isss))
stpapi.put.field("tdslsc105s000","tdsls041.qono",str$(tdsls002.qono))
stpapi.put.field("tdslsc105s000","tdsls041.qpon",str$(tdsls002.pono))
ret = stpapi.insert("tdslsc105s000",true,error.mess)
if not isspace(error.mess) then
message(error.mess,0)
stpapi.recover("tdslsc105s000",add.mess)
endif
endif
stpapi.end.session("tdsls0130s000")
stpapi.end.session("tdslsc105s000")
stpapi.end.session("tdslsc104m000")