NetTalk Central
NetTalk Web Server => Web Server - Ask For Help => Topic started by: osquiabro on October 11, 2019, 12:02:25 PM
-
is Possible to skip SELECT COUNT(*) FROM IMSV7.WSPAYMENTDETAIL from NetWebServiceMethod, the driver generate this sentence, this is a view in Oracle and have millions of records and the select count is very slow this is a code generate by clarion Oracle driver:
01728H(3) 15:44:26.656 Closing Statement 01638F10H Time Taken:0.00 secs
01728H(3) 15:44:26.656 OPEN(IMSV7.WSPAYMENTDETAIL:025E258CH) Time Taken:2.21 secs
01728H(3) 15:44:26.656 GET_PROPERTY(IMSV7.WSPAYMENTDETAIL:025E258CH) Time Taken:0.00 secs
01728H(3) 15:44:26.657 OPEN(VIEW:49B3ED4:IMSV7.WSPAYMENTDETAIL:049B258CH) Time Taken:0.00 secs
01728H(3) 15:44:26.657 SET_PROPERTY(VIEW:49B3ED4:IMSV7.WSPAYMENTDETAIL:049B258CH) Time Taken:0.00 secs
01728H(3) 15:44:26.657 GET_PROPERTY(VIEW:49B3ED4:IMSV7.WSPAYMENTDETAIL:049B258CH) Time Taken:0.00 secs
01728H(3) 15:44:26.657 Setting Concurrency to Read Only for Statement 01638F10H Time Taken:0.00 secs
01728H(3) 15:44:26.657 Setting Cursor Type to Forward Only for Statement 01638F10H Time Taken:0.00 secs
01728H(3) 15:44:26.657 Resetting Parameters Statement 01638F10H Time Taken:0.00 secs
01728H(3) 15:44:26.657 Preparing Statement 01638F10H : SELECT COUNT(*) FROM IMSV7.WSPAYMENTDETAIL Time Taken:0.00 secs
01728H(3) 15:44:26.658 Setting number of rows to fetch to 1 for Statement 01638F10H Time Taken:0.00 secs
01728H(3) 15:44:26.658 Binding Column 1 to C type LONG for Statement 01638F10H Time Taken:0.00 secs
01728H(3) 15:44:26.658 Executing prepared Statement
NT 11.22
-
i don't how NetWebServiceMethod open a table or view but if i founded another solution for my problem, i create a queue and open a table manually and then assign a values to a queue, with this code the select count(*) is not generated, but when return type is set to view then the select count(*) is generate
With queue and open manually work, but generated more code.. and i think that filter need embedded for conditional filter when Return Type is View
CLEAR(ThisQueue)
FREE(ThisQueue)
p_web.OpenFile(WSPAYMENTDETAIL)
SET(WSPAYMENTDETAIL)
WSPAYMENTDETAIL{PROP:Order}=WSP:BATCHNO
IF CLIP(BlType)=''
WSPAYMENTDETAIL{prop:where}='acctno=<39>'&clip(AcctNo)&'<39>'
ELSE
WSPAYMENTDETAIL{prop:where} = 'acctno=<39>'&clip(Acctno)&'<39> and bltype= <39>'& clip(BlType)&'<39>'
END
LOOP
NEXT(WSPAYMENTDETAIL)
IF ERROR() THEN BREAK.
LOC:BATCHNO = WSP:BATCHNO
LOC:TRAN_ = WSP:TRAN_
LOC:TYPE = WSP:TYPE
LOC:DES = WSP:DES
LOC:EMPID = WSP:EMPID
LOC:LINEITEM = WSP:LINEITEM
LOC:TRANDATE_DATE = format(WSP:TRANDATE_DATE,@d02)
LOC:TRANDATE_TIME = format(WSP:TRANDATE_TIME,@t3)
LOC:AMOUNT = WSP:AMOUNT
LOC:TRACENO = WSP:TRACENO
LOC:ACCTKEY = WSP:ACCTKEY
LOC:BLTYPE = WSP:BLTYPE
LOC:ACCTNO = WSP:ACCTNO
ADD(ThisQueue)
END
p_web.CloseFile(WSPAYMENTDETAIL)