patwanirav
2nd August 2011, 12:30
stpapi.put.field("tdilc4103m000","runnumber","shb")
stpapi.put.field("tdilc4103m000","k.o.order",str$(etol(tdilc.kooa.act.pur)))
stpapi.put.field("tdilc4103m000","ordernr",str$(tdpur045.orno))
stpapi.handle.subproc("tdilc4103m000","tdilc4104s000","add")
stpapi.continue.process("tdilc4103m000",error.msg)
if not isspace(error.msg) then
stpapi.end.session("tdilc4103m000")
return
endif
select tdilc402.*
from tdilc402
where tdilc402._index1 = {1,:tdpur045.orno,:tdpur045.pono,:tdpur045.srnb} and tdilc402.qstc > 0
selectdo
if tdilc402.recq = 0 then |if Maintain Inbound is not done.
stpapi.handle.subproc("tdilc4104s000","tdilc4515s000","add")
ret = stpapi.insert("tdilc4104s000",1,error.msg)
if ret = 1 then
stpapi.put.field("tdilc4515s000","tdilc402.koor",str$(etol(tdilc.kooa.act.pur)))
stpapi.put.field("tdilc4515s000","tdilc402.orno",str$(tdpur045.orno))
stpapi.put.field("tdilc4515s000","tdilc402.pono",str$(tdpur045.pono))
stpapi.put.field("tdilc4515s000","tdilc402.sera",str$(tdilc402.sera))
stpapi.put.field("tdilc4515s000","tdilc402.item",item.f)
rc = stpapi.change.view("tdilc4515s000",error.msg)
if not isspace(error.msg) or rc<>1 then
error.msg = "Production order not ready for delivery"
stpapi.end.session("tdilc4515s000")
stpapi.end.session("tdilc4104s000")
stpapi.end.session("tdilc4103m000")
return
endif
rc = stpapi.browse.set("tdilc4515s000","first.set", error.msg)
rc = stpapi.mark("tdilc4515s000",error.msg)
stpapi.continue.process("tdilc4515s000",error.msg)
stpapi.end.session("tdilc4515s000")
stpapi.put.field( "tdilc4104s000", "tdilc402.loca", "OPEN")
ret = stpapi.update("tdilc4104s000",1,error.msg)
endif
endif
endselect
stpapi.end.session("tdilc4104s000")
stpapi.end.session("tdilc4103m000")
The above afs code written for Inbound.
Problem : The above code works fine if there are only one item in PO.
But if we take two different item in PO then the above code not working.
For first item it does the Inbound, but for the second item it stops working at stpapi.change.view("tdilc4515s000",error.msg) statement without giving any error.
Please Help... Thanks in advance...
stpapi.put.field("tdilc4103m000","k.o.order",str$(etol(tdilc.kooa.act.pur)))
stpapi.put.field("tdilc4103m000","ordernr",str$(tdpur045.orno))
stpapi.handle.subproc("tdilc4103m000","tdilc4104s000","add")
stpapi.continue.process("tdilc4103m000",error.msg)
if not isspace(error.msg) then
stpapi.end.session("tdilc4103m000")
return
endif
select tdilc402.*
from tdilc402
where tdilc402._index1 = {1,:tdpur045.orno,:tdpur045.pono,:tdpur045.srnb} and tdilc402.qstc > 0
selectdo
if tdilc402.recq = 0 then |if Maintain Inbound is not done.
stpapi.handle.subproc("tdilc4104s000","tdilc4515s000","add")
ret = stpapi.insert("tdilc4104s000",1,error.msg)
if ret = 1 then
stpapi.put.field("tdilc4515s000","tdilc402.koor",str$(etol(tdilc.kooa.act.pur)))
stpapi.put.field("tdilc4515s000","tdilc402.orno",str$(tdpur045.orno))
stpapi.put.field("tdilc4515s000","tdilc402.pono",str$(tdpur045.pono))
stpapi.put.field("tdilc4515s000","tdilc402.sera",str$(tdilc402.sera))
stpapi.put.field("tdilc4515s000","tdilc402.item",item.f)
rc = stpapi.change.view("tdilc4515s000",error.msg)
if not isspace(error.msg) or rc<>1 then
error.msg = "Production order not ready for delivery"
stpapi.end.session("tdilc4515s000")
stpapi.end.session("tdilc4104s000")
stpapi.end.session("tdilc4103m000")
return
endif
rc = stpapi.browse.set("tdilc4515s000","first.set", error.msg)
rc = stpapi.mark("tdilc4515s000",error.msg)
stpapi.continue.process("tdilc4515s000",error.msg)
stpapi.end.session("tdilc4515s000")
stpapi.put.field( "tdilc4104s000", "tdilc402.loca", "OPEN")
ret = stpapi.update("tdilc4104s000",1,error.msg)
endif
endif
endselect
stpapi.end.session("tdilc4104s000")
stpapi.end.session("tdilc4103m000")
The above afs code written for Inbound.
Problem : The above code works fine if there are only one item in PO.
But if we take two different item in PO then the above code not working.
For first item it does the Inbound, but for the second item it stops working at stpapi.change.view("tdilc4515s000",error.msg) statement without giving any error.
Please Help... Thanks in advance...