CacheSql76 ; Cache Dynamic SQL Query Time: 2008-02-22 13:29:55 #INCLUDE %occExtent #INCLUDE %occInclude #INCLUDE %systemInclude #INCLUDE UglyPickingCNTs #SQLCOMPILE SELECT=RUNTIME #EXECUTE s %msqlvar="%qsc(%qref" &sql(DECLARE C CURSOR FOR SELECT i . loc_id AS PalletNr , sectie AS Sectie , i . loc_m AS Magazijn , product AS Product , batch AS Batch , qty_pcs AS Aantal , qty_res , qty_block , qty_in_box , is_full , ( SUBSTRING ( last_cycle_count , ? , ? ) ) AS CycleCount , ( SUBSTRING ( i . insert_time , ? , ? ) ) AS InsertTime , L . Loc_m M , L . loc_g G , L . loc_x X , L . loc_y Y , ( SUBSTRING ( exp_day , ? , ? ) ) AS ExpireDate , quality , owner INTO :%d(%qref,1), :%d(%qref,2), :%d(%qref,3), :%d(%qref,4), :%d(%qref,5), :%d(%qref,6), :%d(%qref,7), :%d(%qref,8), :%d(%qref,9), :%d(%qref,10), :%d(%qref,11), :%d(%qref,12), :%d(%qref,13), :%d(%qref,14), :%d(%qref,15), :%d(%qref,16), :%d(%qref,17), :%d(%qref,18), :%d(%qref,19) FROM EWMS . Inventory AS i LEFT OUTER JOIN EWMS . Locations L ON I . Loc_Id = ( L . Loc_ID || ? ) WHERE i . product IN ( ? ) ORDER BY i . product , i . Loc_Id) Execute() n %parm,lsParameters,ptr,pVal,pValType,pQMC s lsParameters=$lg(qHandle,3) Quit:($ll(lsParameters)/2)'=8 $$$ERROR($$$InvalidNumberParmValues) s pQMC=0 For ptr=1:1:8 Set pValType=$li(lsParameters,ptr*2-1),pVal=$li(lsParameters,ptr*2),%parm(ptr)=$s(pValType="c":pVal,pValType="v":@pVal,1:pVal) &sql(OPEN C) If 'SQLCODE { Set sc=$$$OK } Else { Set:$isobject($g(%sqlcontext)) %sqlcontext.SQLCode=SQLCODE,%sqlcontext.Message=$g(%msg) Set sc=$$$ERROR($$$QueryCannotInstantiate,"SQLCODE = "_SQLCODE) } Quit sc Close() &sql(CLOSE C) q:SQLCODE $$$ERROR($$$SQLCode,SQLCODE,$g(%msg)) k %d(%qref),%qscc(%qref),%qscd(%qref),%qscp(%qref),%qscs(%qref),%qsct(%qref),%qscl(%qref),%qscR(%qref),%qscZ(%qref) QUIT $$$OK Fetch() s AtEnd=$g(AtEnd,0) n SQLCODE,sc s Row="",AtEnd=0 &sql(FETCH C) i 'SQLCODE s Row=$lb(%d(%qref,1))_$lb(%d(%qref,2))_$lb(%d(%qref,3))_$lb(%d(%qref,4))_$lb(%d(%qref,5))_$lb(%d(%qref,6))_$lb(%d(%qref,7))_$lb(%d(%qref,8))_$lb(%d(%qref,9))_$lb(%d(%qref,10))_$lb(%d(%qref,11))_$lb(%d(%qref,12))_$lb(%d(%qref,13))_$lb(%d(%qref,14))_$lb(%d(%qref,15))_$lb(%d(%qref,16))_$lb(%d(%qref,17))_$lb(%d(%qref,18))_$lb(%d(%qref,19)) i 1 e s AtEnd=1 QUIT $s('SQLCODE:$$$OK,SQLCODE=100:$$$OK,1:$$$ERROR($$$SQLCode,SQLCODE,$g(%msg))) FetchRows() s FetchCount=$g(FetchCount,0) n done,i,SQLCODE s done=0,RowSet="",ReturnCount=0,AtEnd=0 f i=1:1 DO q:done . &sql(FETCH C) . i 'SQLCODE s RowSet=RowSet_$lb(%d(%qref,1))_$lb(%d(%qref,2))_$lb(%d(%qref,3))_$lb(%d(%qref,4))_$lb(%d(%qref,5))_$lb(%d(%qref,6))_$lb(%d(%qref,7))_$lb(%d(%qref,8))_$lb(%d(%qref,9))_$lb(%d(%qref,10))_$lb(%d(%qref,11))_$lb(%d(%qref,12))_$lb(%d(%qref,13))_$lb(%d(%qref,14))_$lb(%d(%qref,15))_$lb(%d(%qref,16))_$lb(%d(%qref,17))_$lb(%d(%qref,18))_$lb(%d(%qref,19)),ReturnCount=ReturnCount+1 s:ReturnCount=FetchCount done=1 s:($l(RowSet)+($l(RowSet)\ReturnCount))>24000 done=1 i 1 . e s done=1,AtEnd=1 QUIT $s('SQLCODE:$$$OK,SQLCODE=100:$$$OK,1:$$$ERROR($$$SQLCode,SQLCODE,$g(%msg))) GetInfo() n info,qhparms s info=$g(^mcq("Query",7,999500425,"CacheSql76",0)) s colinfo=$lg(info,1),parminfo=$lg(info,2),idinfo=$lg(info,3) s:$g(extoption) extinfo=$g(^mcq("Query",7,999500425,"CacheSql76",1)) Quit $$$OK GetODBCInfo() Set colinfo=$g(^mcq("Query",7,999500425,"CacheSql76",2)),parminfo="" Quit $$$OK