CSP page for viewing the FOP Queue items via SQL User vhLib.Macro cache 0 %CSP.Page c:\cache\cache2005v021\csp\admin1\FOPQueue.csp /csp/admin1/FOPQueue.csp 62308,62343 1 code query cache %String 1 code PrioCode cache %String 1 code %Status 1 code %Boolean " Write !,(..HyperEventBody()) Write !,$c(9)_"

"_($$$UCase($G(CspPageTitle, ..%ClassName(0)))_$G(OnServer))_"

",! Write $c(9) Write "
" Write !,$c(9,9)_"

Links to:

",! Write $c(9,9) If '(('$G(blnFOPNOW))) Goto %csp00001 ;{ Write " - " Write "" Write "FOP QUEUE" Write "" Write "
" %csp00001 ;} Write !,$c(9,9) If '(('$G(blnFOPCNT))) Goto %csp00002 ;{ Write " - " Write "" Write "FOP QUEUE Counts" Write "" Write "
" %csp00002 ;} Write !,$c(9,9) If '(('$G(blnFOPLevBon))) Goto %csp00003 ;{ Write " - " Write "" Write "FOP QUEUE LevBons" Write "" Write "
" %csp00003 ;} Write !,$c(9,9) If '(('$G(blnFOPARCHIVE))) Goto %csp00004 ;{ Write " - " Write "" Write "FOP QUEUE ARCHIVE" Write "" Write " (" Write "" Write "new win" Write "" Write ")
" %csp00004 ;} Write !,$c(9) Write "
" Write !,! If '((blnSQED)) Goto %csp00005 ;{ Write !,$c(9)_"
",! Write $c(9)_"
"_(sqlAll)_"
",! Write $c(9) Write "
" Write !,..InsertHiddenFields(""),! Write !,$c(9,9) Write "" Write !,$c(9,9) Write "" Write !,$c(9,9)_"",! Write $c(9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9)_"",! Write $c(9,9)_"
",! Write $c(9,9,9,9,9)_"

SQL Query:

",! Write $c(9,9,9,9,9) Write "" Write !,$c(9,9,9,9)_"
",! Write $c(9,9,9,9,9)_"

 

",! Write $c(9,9,9,9,9)_"

",! Write $c(9,9,9,9,9) Write "" Write "Query Editor visible",! Write $c(9,9,9,9,9)_"
",! Write $c(9,9,9,9,9) Write "" Write !,$c(9,9,9,9)_"
",! Write $c(9,9)_" ",! Write $c(9,9) Write "" Write " ",! Write $c(9,9) Write "" Write !,$c(9) Write "
" Write ! Goto %csp00006 ;} %csp00005 ;{ Write !,$c(9)_"
",! Write $c(9) Write "" Write "Show Query Editor" Write "" Write ! %csp00006 ;} Write !,$c(9)_"
",! Write $c(9)_"
",! Write $c(9)_"",! Write $c(9,9)_"",! Write $c(9,9,9)_"",! Write $c(9,9,9)_"",! Write $c(9,9)_"",! Write $c(9)_"
",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9,9)_"",! Write $c(9,9,9,9,9,9)_"",! Write $c(9,9,9,9,9,9)_"",! Write $c(9,9,9,9,9)_"",! Write $c(9,9,9,9,9)_"",! Write $c(9,9,9,9,9,9)_"",! Write $c(9,9,9,9,9,9)_"",! Write $c(9,9,9,9,9)_"",! Write $c(9,9,9,9,9)_"",! Write $c(9,9,9,9,9,9)_"",! Write $c(9,9,9,9,9,9)_"",! Write $c(9,9,9,9,9)_"",! Write $c(9,9,9,9)_"
Total items inCount
Queue"_($G(QItemsCnt))_"
Queue Archive"_($G(QArchCnt))_"
",! Write $c(9,9,9)_"
",! Write $c(9,9,9,9) If '((blnSqlArchive=0)) Goto %csp00007 ;{ Write !,$c(9) #define StatusFmtHtml(%v,%c) ""_%v_"" Write !,$c(9,9,9,9,9)_"

",! Write $c(9,9,9,9,9,9)_"Scheduler    Status : "_($S(CurMaxBT>0:$$$StatusFmtHtml("ON","clsQStatusON"), 1:$$$StatusFmtHtml("OFF","clsQStatusOFF")))_" ",! Write $c(9,9,9,9,9,9)_"   " Write "" Write " ",! Write $c(9,9,9,9,9,9)_"   (MaxBusyTask="_(CurMaxBT)_") ",! Write $c(9,9,9,9,9,9)_"       " Write "" Write " ",! Write $c(9,9,9,9,9,9)_"    " Write "" Write " ",! Write $c(9,9,9,9,9)_"

",! Write $c(9,9,9,9) %csp00007 ;} Write !,$c(9,9,9)_"
",! Write $c(9)_"
",! Write "
",! If '(($L(sqlActive))) Goto %csp00008 ;{ Write !,$c(9)_"

",! Write $c(9,9)_"RunMode: Batch, Threaded, InLine (via Scheduler) - Synchronous (immediately)
",! Write $c(9,9)_"Status : [W]ait -- [S]tarted -- [B]usy -- [P]rocessed -- [F]inished -- " Write "" Write "[E]rror" Write "" Write " -- [Y]:Synchronous
",! Write $c(9)_"

",! Write $c(9) // Open instance of ResultSet for runtime mode of DISPLAY. Set queryA = ##class(%ResultSet).%New() Set queryA.RuntimeMode=2 Set sqlStatement=$zstrip($tr((sqlActive),$C(9,13,10)," "),"<>W") If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,177)) Quit } // translate tab/cr/nl to spaces Set %sc = queryA.Prepare(sqlStatement,0,"RUNTIME") If (+%sc=0) { Do ..ShowError(%sc) QUIT } Set %sc = queryA.Execute(($G(%request.Data("P1",1),"A"))) If (+%sc=0) { Do ..ShowError(%sc) QUIT } Write !,$c(9) Set qryAColCount=queryA.GetColumnCount() Write !,$c(9) Write "
" Write !,..InsertHiddenFields("FOPQueueMgr.csp"),! Write !,$c(9)_"",! Write $c(9,9)_""_$c(9,9),! Write $c(9,9,9)_""_$c(9,9,9),! Write $c(9,9,9) Set col=0 %csp00010 If '((col"_$c(9,9,9),! Write $c(9,9,9) Goto %csp00010 %csp00009 ;} Write !,$c(9,9)_""_$c(9,9),! Write $c(9,9) Kill arColSpecial Set blnAddLink=0 Set blnAddChk=(blnSHOWCHK)&&(blnSqlArchive=0) Set QSqueue=$S(blnSqlArchive:"QARCH", 1:"QITEM") Write !,$c(9,9)_"",! Write $c(9,9,9)_"",! Write $c(9,9,9) Set col=0 %csp00012 If '((col"_(ColumnName)_"",! Write $c(9,9,9) Goto %csp00012 %csp00011 ;} Write !,$c(9,9)_"",! Write $c(9,9) Set row=0 %csp00014 If '(queryA.Next()) Goto %csp00013 ;{ Set row=row+1 Write " " Write !,$c(9,9)_"",! Write $c(9,9,9) ;Set blnAddLink=(queryA.GetDataByName("ID")?1(1"MAINPAGE",1"WIZARD_CALC")) Write !,$c(9,9,9)_"",! Write $c(9,9,9) Set col=0 %csp00016 If '((col"_tmpVal_"" Write !,$c(9,9,9)_"",! Write $c(9,9,9) Goto %csp00016 %csp00015 ;} Write !,$c(9,9)_"",! Write $c(9,9) Goto %csp00014 %csp00013 ;} Write !,$c(9)_"
 
"_($S(blnAddChk:"", blnAddLink:">", 1:" "))_""_($S($L(tmpVal):tmpVal,1:" "))_"
",! Write !,$c(9)_"

",! Write $c(9) If '(blnSHOWCHK) Goto %csp00017 ;{ Write !,$c(9,9) Write "" Write !,$c(9,9) Write "" Write "  ",! Write $c(9) %csp00017 ;} Write !,$c(9,9) Write "" Write !,!,$c(9)_"

",! Write $c(9) Write "
" Write !,$c(9)_"
",! %csp00008 ;} Write !,!,"" ]]>
1 code %Boolean 1 code %Boolean " Write ! Set BodyBgColor=##class(TECH.Config.ConfigMgr).Instance().GetString("WebpaginaAchtergrondKleur") Set OnServer = "  ["_$$$NSpace_"]" Write !,$c(9)_""_($G(CspPageTitle, ..%ClassName(0))_$G(OnServer))_"",! Write $c(9) Write "" Write $c(9),! Write $c(9) Write "" Write ! Do ..Include("incMsgBoxCustomVB.csp") Write !,!,$c(9) Write "" Write !,!,$c(9) Write "" Write !,(..HyperEventHead()) Write !,!,"" ]]> 1 code %Boolean " Write !,! Do ..OnPageHEAD() Write !,! Do ..OnPageBODY() Write !,"" ]]> 1 code %Boolean 1 code %Boolean 1 code cache %Boolean '||"_%v_"||'') "_%v #define CvtNOBRhtml(%v) "('<NOBR>'||"_%v_"||'</NOBR>') "_%v /*** INPUT PARAMETERS ***/ /*** ================ ***/ ; Request Parameters Kill:($G(%request.Data("QUERY",1))="") %request.Data("QUERY") Set name="" For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) Set blnFOPNOW=($G(%request.Data("FOPNOW",1))=1) Set blnFOPARCHIVE=($G(%request.Data("FOPARCHIVE",1))=1) Set blnFOPLevBon=($G(%request.Data("FOPLEVBON",1))=1) Set blnFOPCNT=($G(%request.Data("FOPCNT",1))=1) Set blnSQED=$G(%request.Data("SQED",1),0) Set blnSHOWCHK=($G(%request.Data("SHOWCHK",1),0)=1) /*** SQL STATEMENTS ***/ /*** ============== ***/ ; SQL-statement for FOP Queue Set sqlFOP="SELECT Top 100 ID,Status,Priority,RunMode,Task,Task->KeyWords As Task_KeyWords,Task->ActionToString As Action,Task->DocInfo, Created,Started,Finished,(InternePersoonInits || ' - ' || InternePersoon) As InternePersoon " Set sqlFOP=sqlFOP_$C(13,10)_" FROM Sys_FOP.TaskQueue WHERE (ID > 1) " Set sqlFOP=sqlFOP_$C(13,10)_" ORDER BY StatusNum DESC, ID, Priority DESC " ; SQL-statement for FOP QueueArchive Set sqlArchive="SELECT ID,Status,Priority,RunMode,Task,Task->KeyWords As Task_KeyWords,Task->ActionToString, Task->DocInfo ,Created,Started,Finished,(InternePersoonInits || ' - ' || InternePersoon) As InternePersoon " Set sqlArchive=sqlArchive_$C(13,10)_" FROM Sys_FOP.QueueArchive " Set sqlArchive=sqlArchive_$C(13,10)_" WHERE Created BETWEEN '"_##class(Sys.cTimeStamp).LogicalToDisplay(+$H)_"' and '"_##class(Sys.cTimeStamp).LogicalToDisplay(+$H+1)_"'" Set sqlArchive=sqlArchive_$C(13,10)_" ORDER BY ID DESC" ; SQL-statement for FOP Queue Counting Set sqlFOPCNT="SELECT Status, Count(Status) As Status_Cnt, Task->KeyWords As Task_KeyWords " Set sqlFOPCNT=sqlFOPCNT_$C(13,10)_" FROM Sys_FOP.TaskQueue " Set sqlFOPCNT=sqlFOPCNT_$C(13,10)_" GROUP BY Status,Task->KeyWords ORDER BY StatusNum DESC " ; SQL-statement for Processed LEVBONs Set sqlFOPLevBons="SELECT Q.ID, Q.Status, Q.Task, Q.Task->KeyWords, Q.Task->ActionPrint_Printer, Q.Created, Q.Finished, D.element_key As DocKey, D.Docs_Taal, D.Docs_DataFetchType AS FetchType, $LISTGET($LISTGET(D.Docs_DataDefsLB,4),1) AS DocNr, $LISTGET($LISTGET(D.Docs_DataDefsLB,4),3) AS LBewijs, (Q.InternePersoonInits || ' - ' || Q.InternePersoon) As InternePersoon " Set sqlFOPLevBons=sqlFOPLevBons_$C(13,10)_" FROM Sys_FOP.QueueArchive Q JOIN Sys_FOP.Task_Docs D ON Q.Task=D.Task " Set sqlFOPLevBons=sqlFOPLevBons_$C(13,10)_" WHERE (Created BETWEEN '"_##class(Sys.cTimeStamp).LogicalToDisplay(+$H)_"' and '"_##class(Sys.cTimeStamp).LogicalToDisplay(+$H+1)_"') AND (Q.Task->KeyWords LIKE '%LEVBON%') " Set sqlFOPLevBons=sqlFOPLevBons_$C(13,10)_" ORDER BY Q.Task->KeyWords DESC, Q.Created DESC " ; SQL-statement for FOP Logging (standard) Set sqlLog01="SELECT top "_$G(LogLines,500)_" ID, Niveau, Datum, Tijd, Groep, Actie, "_$$$CvtNOBRhtml("Detail")_$C(13,10)_" FROM Sys_FOP.Logging WHERE (IDNum >= "_(($P($H,",",1)*1000000))_")" ; SQL-statement for FOP Logging (Locks applied) Set sqlLog02="SELECT ID, SubID, Niveau, Datum, Tijd, Groep, Actie, Detail, ProgLabel" Set sqlLog02=sqlLog02_$C(13,10)_" FROM Sys_FOP.Logging WHERE (Datum='"_##class(%Date).LogicalToDisplay($H-30681)_"') " Set sqlLog02=sqlLog02_$C(13,10)_" ORDER BY ProgLabel, SubID " ; SQL-statement last three IDs Set sqlTOP3="SELECT top 3 ID FROM Sys_FOP.TaskQueue ORDER BY ID Desc" ; SQLs to be displayed Set sqlDFL=$S(blnFOPNOW:sqlFOP, blnFOPARCHIVE:sqlArchive, blnFOPCNT:sqlFOPCNT, blnFOPLevBon:sqlFOPLevBons, 1:sqlTOP3) Set sqlActive=$G(%request.Data("QUERY",1),sqlDFL) Set blnSqlArchive=($$$CvtSqlMatch(sqlActive)[$$$CvtSqlMatch("FROM Sys_FOP.QueueArchive")) Set ShowTask=0 Set sqlAll=sqlFOP_$C(13,10)_sqlArchive_$C(13,10)_sqlFOPCNT_$C(13,10)_sqlLog01_$C(13,10)_sqlLog02_$C(13,10)_sqlFOPLevBons ; URL for ToggleQueryEditor Merge tmpAr=tmpRq Kill tmpAr("SQED") Set tmpAr("SQED")=('blnSQED) Set arUrl("ToggleQED")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) ; Check if SQL-statement does not alter the tables data !!! Set lbAvoidSQL=$LB("CREATE TABLE","ALTER TABLE","DROP TABLE","CREATE QUERY","DROP QUERY","INSERT","UPDATE","DELETE") Set (QItemsCnt,QArchCnt)="" &SQL(SELECT Count(ID) INTO :QItemsCnt FROM Sys_FOP.TaskQueue) If blnSqlArchive Do . &SQL(SELECT Count(ID) INTO :QArchCnt FROM Sys_FOP.QueueArchive) Set CspPageTitle="FOP Queue"_$S($G(blnFOPNOW):"", $G(blnFOPCNT):" Count", $G(blnFOPARCHIVE):" Archive", $G(blnFOPLevBon):" LevBons", 1:"") Set CurMaxBT=..GetMaxBusyTask("") Quit 1 ]]> 1 code NewMaxBT,blnTrigger cache %String 1 code cache %String 1 code cache %String