mostrightfuture
26th November 2004, 19:11
Hi friends
I have created a function in library to block a sales order, but its not blocking SOR. The code is as follows
domain tcyesno order.blocked
domain tcdate dtbl
order.blocked = tcyesno.no
dtbl = utc.num()
db.retry.point()
select *
from tdsls400 for update
where tdsls400.orno between (:orno.f) and (:orno.t)
selectdo
|Insert record in table Order (Lines) Blocking
select *
from tdsls420
where tdsls420.orno = (:tdsls400.orno)
selectdo
selectempty
tdsls420.orno = tdsls400.orno
tdsls420.pono = 0
tdsls420.sqnb = 0
tdsls420.hrea = "001"
tdsls420.opon = 0
if credit.check.hrea(tdsls420.hrea) then
tdsls420.bpid = tdsls400.itbp
tdsls420.bprt = tccom.bprt.invoice.to
else
tdsls420.bpid = tdsls400.ofbp
tdsls420.bprt = tccom.bprt.sold.to
endif
dal.start.business.method("tdsls420",
"calculate.expected.release.date", ret,
tdsls420.bpid, tdsls420.bprt, tdsls420.hrea,
tdsls420.erdt)
if ret then
tdsls420.erdt = dtbl
endif
tdsls420.lobl = logname$
|tdsls420.cran not defined
|tdsls420.cbtp not defined
|tdsls420.pstc not defined
order.blocked = tcyesno.yes
endselect
if(order.blocked = tcyesno.yes) then
|Insert in table Order (Line) block history
select *
from tdsls421
where tdsls421.orno = ""
selectdo
selectempty
tdsls421.orno = tdsls400.orno
tdsls421.pono = 0
tdsls421.sqnb = 0
tdsls421.hrea = "001"
tdsls421.opon = 0
tdsls421.dtbl = dtbl
tdsls421.lobl = logname$
|tdsls421.dtrl
|tdsls421.lorl
tdsls421.bpid = tdsls420.bpid
tdsls421.bprt = tdsls420.bprt
|tdsls421.rlty
|tdsls421.rlam
tdsls421.erdt = tdsls420.erdt
|tdsls420.pstc
endselect
|Block sales order line
select *
from tdsls401 for update
where tdsls401.orno = (:tdsls400.orno)
selectdo
tdsls401.bkyn = tcyesno.yes
selectempty
endselect
|Block sales order
tdsls400.bkyn = tcyesno.yes
endif
selectempty
endselect
if(order.blocked = tcyesno.yes)then
commit.transaction()
Endif
what I have missing.
thanks in advance
Mahmood
I have created a function in library to block a sales order, but its not blocking SOR. The code is as follows
domain tcyesno order.blocked
domain tcdate dtbl
order.blocked = tcyesno.no
dtbl = utc.num()
db.retry.point()
select *
from tdsls400 for update
where tdsls400.orno between (:orno.f) and (:orno.t)
selectdo
|Insert record in table Order (Lines) Blocking
select *
from tdsls420
where tdsls420.orno = (:tdsls400.orno)
selectdo
selectempty
tdsls420.orno = tdsls400.orno
tdsls420.pono = 0
tdsls420.sqnb = 0
tdsls420.hrea = "001"
tdsls420.opon = 0
if credit.check.hrea(tdsls420.hrea) then
tdsls420.bpid = tdsls400.itbp
tdsls420.bprt = tccom.bprt.invoice.to
else
tdsls420.bpid = tdsls400.ofbp
tdsls420.bprt = tccom.bprt.sold.to
endif
dal.start.business.method("tdsls420",
"calculate.expected.release.date", ret,
tdsls420.bpid, tdsls420.bprt, tdsls420.hrea,
tdsls420.erdt)
if ret then
tdsls420.erdt = dtbl
endif
tdsls420.lobl = logname$
|tdsls420.cran not defined
|tdsls420.cbtp not defined
|tdsls420.pstc not defined
order.blocked = tcyesno.yes
endselect
if(order.blocked = tcyesno.yes) then
|Insert in table Order (Line) block history
select *
from tdsls421
where tdsls421.orno = ""
selectdo
selectempty
tdsls421.orno = tdsls400.orno
tdsls421.pono = 0
tdsls421.sqnb = 0
tdsls421.hrea = "001"
tdsls421.opon = 0
tdsls421.dtbl = dtbl
tdsls421.lobl = logname$
|tdsls421.dtrl
|tdsls421.lorl
tdsls421.bpid = tdsls420.bpid
tdsls421.bprt = tdsls420.bprt
|tdsls421.rlty
|tdsls421.rlam
tdsls421.erdt = tdsls420.erdt
|tdsls420.pstc
endselect
|Block sales order line
select *
from tdsls401 for update
where tdsls401.orno = (:tdsls400.orno)
selectdo
tdsls401.bkyn = tcyesno.yes
selectempty
endselect
|Block sales order
tdsls400.bkyn = tcyesno.yes
endif
selectempty
endselect
if(order.blocked = tcyesno.yes)then
commit.transaction()
Endif
what I have missing.
thanks in advance
Mahmood