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)