CSP page for managing the Ugly Picking data via SQL User vhLib.Macro,%AppsArrayCnts cache %CSP.Page 1 code query cache %String 1 code arUserInfo cache 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)_"

Pallet Reservaties: " Write "" Write "Openstaande reservaties" Write "" Write "

",! Write $c(9,9) // Open instance of ResultSet for runtime mode of DISPLAY. Set qryPalRes = ##class(%ResultSet).%New() Set qryPalRes.RuntimeMode=2 Set sqlStatement=$zstrip($tr((sqlPalRes),$C(9,13,10)," "),"<>W") If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,103)) Quit } // translate tab/cr/nl to spaces Set %sc = qryPalRes.Prepare(sqlStatement,0,"RUNTIME") If (+%sc=0) { Do ..ShowError(%sc) QUIT } Set %sc = qryPalRes.Execute() If (+%sc=0) { Do ..ShowError(%sc) QUIT } Write !,$c(9,9) Set qryPalResColCount=qryPalRes.GetColumnCount() Write !,$c(9,9)_"",! Write $c(9,9,9)_""_$c(9,9),! Write $c(9,9,9,9)_""_$c(9,9,9),! Write $c(9,9,9,9) Set col=0 %csp00002 If '((col"_$c(9,9,9),! Write $c(9,9,9,9) Goto %csp00002 %csp00001 ;} Write !,$c(9,9,9)_""_$c(9,9),! Write $c(9,9,9) Kill arColSpecial Write !,$c(9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00004 If '((col"_(ColumnName)_"",! Write $c(9,9,9,9) Goto %csp00004 %csp00003 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Set row=0 %csp00006 If '(qryPalRes.Next()) Goto %csp00005 ;{ Set row=row+1 Write " " Write !,$c(9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00008 If '((col"_tmpVal_"" ; ""_tmpVal_"" Write !,$c(9,9,9,9)_"",! Write $c(9,9,9,9) Goto %csp00008 %csp00007 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Goto %csp00006 %csp00005 ;} Write !,$c(9,9)_"
 
"_($S(0:"", 1:" "))_""_($S($L(tmpVal):tmpVal,1:" "))_"
",! Write $c(9,9)_"

" Write "" Write " Rollback inactive jobs

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

Actieve gebruikers:

",! Write $c(9,9) Set UserInfoColCount=$G(arUserInfo("OUT","I","Cols")) Set UserInfoRowCount=$G(arUserInfo("OUT","D")) Kill tmpArUsers Merge tmpArUsers=arUserInfo("OUT","D") Write !,$c(9,9)_"",! Write $c(9,9,9)_""_$c(9,9),! Write $c(9,9,9,9) Set col=0 %csp00010 If '((col"_$c(9,9,9),! Write $c(9,9,9,9) Goto %csp00010 %csp00009 ;} Write !,$c(9,9,9)_""_$c(9,9),! Write $c(9,9,9) Kill arColSpecial Write !,$c(9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00012 If '((col"_(ColumnName)_"",! Write $c(9,9,9,9) Goto %csp00012 %csp00011 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Set row=0 %csp00014 If '((row",! Write $c(9,9,9,9) Set col=0 %csp00016 If '((col"_tmpVal_"" ; ""_tmpVal_"" Write !,$c(9,9,9,9)_"",! Write $c(9,9,9,9) Goto %csp00016 %csp00015 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Goto %csp00014 %csp00013 ;} Write !,$c(9,9)_"
"_($S($L(tmpVal):tmpVal,1:" "))_"
",! Write $c(9) Write "
" Write !,$c(9)_"
",! Write $c(9),! Write $c(9) Write "
" Write !,$c(9,9)_"

Product Locaties:

",! Write $c(9,9) Write "
" Write !,..InsertHiddenFields("UglyPickMgr.csp"),! Write !,$c(9,9,9) Write "" Write !,$c(9,9,9)_"

",! Write $c(9,9,9,9)_"Product Nr(s): " Write "" Write "    ",! Write $c(9,9,9,9) Write "" Write "Hide location info    ",! Write $c(9,9,9,9) Write "" Write "   use "","" (comma) as list delimiter",! Write $c(9,9,9)_"

",! Write $c(9,9) Write "
" Write !,$c(9,9) ; d WL^vhDBG("QryProd: "_sqlInvt01) Write !,! If '((blnPROD)) Goto %csp00017 ;{ Write !,$c(9,9)_"
",! Write $c(9,9) // Open instance of ResultSet for runtime mode of DISPLAY. Set qryProd = ##class(%ResultSet).%New() Set qryProd.RuntimeMode=2 Set sqlStatement=$zstrip($tr(($S(blnShowLocInfo:sqlInvt02, 1:sqlInvt01)),$C(9,13,10)," "),"<>W") If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,201)) Quit } // translate tab/cr/nl to spaces Set %sc = qryProd.Prepare(sqlStatement,0,"RUNTIME") If (+%sc=0) { Do ..ShowError(%sc) QUIT } Set %sc = qryProd.Execute() If (+%sc=0) { Do ..ShowError(%sc) QUIT } Write !,$c(9,9) Set qryProdColCount=qryProd.GetColumnCount() Write !,$c(9,9)_"",! Write $c(9,9,9)_""_$c(9,9),! Write $c(9,9,9,9)_""_$c(9,9,9),! Write $c(9,9,9,9) Set col=0 %csp00019 If '((col"_$c(9,9,9),! Write $c(9,9,9,9) Goto %csp00019 %csp00018 ;} Write !,$c(9,9,9)_""_$c(9,9),! Write $c(9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00021 If '((col"_(qryProd.GetColumnName(col))_"",! Write $c(9,9,9,9) Goto %csp00021 %csp00020 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Set row=0 %csp00023 If '(qryProd.Next()) Goto %csp00022 ;{ Set row=row+1 Write " " Write !,$c(9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00025 If '((col"_($S($L(qryProd.GetData(col)):qryProd.GetData(col), 1:" "))_"",! Write $c(9,9,9,9) Goto %csp00025 %csp00024 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Goto %csp00023 %csp00022 ;} Write !,$c(9,9,9) Set qryProdRowCount=row Write !,$c(9,9)_"
 
"_($S(0:"", 1:" "))_"
",! Write $c(9) If '(((blnShowLocInfo)&&(qryProdRowCount=0))) Goto %csp00026 ;{ Write !,$c(9,9)_"
",! Write $c(9,9)_"

Hierboven: geen resultaat voor SQL ""Inventory - Locations"" (LEFT OUTER JOIN).
Hieronder: zoek product(en) in tabel ""Inventory""
 

",! Write $c(9,9) // Open instance of ResultSet for runtime mode of DISPLAY. Set qryProd = ##class(%ResultSet).%New() Set qryProd.RuntimeMode=2 Set sqlStatement=$zstrip($tr((sqlInvt01),$C(9,13,10)," "),"<>W") If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,229)) Quit } // translate tab/cr/nl to spaces Set %sc = qryProd.Prepare(sqlStatement,0,"RUNTIME") If (+%sc=0) { Do ..ShowError(%sc) QUIT } Set %sc = qryProd.Execute() If (+%sc=0) { Do ..ShowError(%sc) QUIT } Write !,$c(9,9) Set qryProdColCount=qryProd.GetColumnCount() Write !,$c(9,9)_"",! Write $c(9,9,9)_""_$c(9,9),! Write $c(9,9,9,9)_""_$c(9,9,9),! Write $c(9,9,9,9) Set col=0 %csp00028 If '((col"_$c(9,9,9),! Write $c(9,9,9,9) Goto %csp00028 %csp00027 ;} Write !,$c(9,9,9)_""_$c(9,9),! Write $c(9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00030 If '((col"_(qryProd.GetColumnName(col))_"",! Write $c(9,9,9,9) Goto %csp00030 %csp00029 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Set row=0 %csp00032 If '(qryProd.Next()) Goto %csp00031 ;{ Set row=row+1 Write " " Write !,$c(9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00034 If '((col"_($S($L(qryProd.GetData(col)):qryProd.GetData(col), 1:" "))_"",! Write $c(9,9,9,9) Goto %csp00034 %csp00033 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Goto %csp00032 %csp00031 ;} Write !,$c(9,9)_"
 
"_($S(0:"", 1:" "))_"
",! Write $c(9) %csp00026 ;} Write ! %csp00017 ;} Write !,$c(9) Write "
" Write !,$c(9)_"
",! Write !,$c(9) Write "
" Write !,$c(9,9)_"

SQL Query:

",! If '((blnSQED)) Goto %csp00035 ;{ Write !,$c(9,9) Write "
" Write !,..InsertHiddenFields(""),! Write !,$c(9,9,9) Write "" Write !,$c(9,9,9) Write !,$c(9,9,9)_"",! 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)_"",! Write $c(9,9,9)_"
",! Write $c(9,9,9,9,9,9) Write "" 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,9) Write "" Write "Query Editor visible",! Write $c(9,9,9,9,9,9)_"
",! Write $c(9,9,9,9,9,9) Write "" Write !,$c(9,9,9,9,9)_"
",! Write $c(9,9,9)_" " Write "" Write !,$c(9,9,9)_" " Write "" Write !,$c(9,9) Write "
" Write !,$c(9,9) Write "
" Write !,$c(9,9,9)_"

" Write "" Write "SQL-statement examples:" Write "" Write " " Write "" Write ("click here to expand/collapse") Write "" Write "

",! Write $c(9,9,9) If '((1)) Goto %csp00036 ;{ Write "
"_(sqlAll)_"
" %csp00036 ;} Write !,$c(9,9) Write "
" Write ! Goto %csp00037 ;} %csp00035 ;{ Write !,$c(9,9) Write "" Write "Show Query Editor" Write "" Write ! %csp00037 ;} Write !,$c(9) Write "
" Write ! If '(($L(sqlActive))) Goto %csp00038 ;{ Write !,$c(9) Write "
" Write !,$c(9,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,294)) 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() If (+%sc=0) { Do ..ShowError(%sc) QUIT } Write !,$c(9,9) Set qryAColCount=queryA.GetColumnCount() Write !,$c(9,9)_"",! Write $c(9,9,9)_""_$c(9,9),! Write $c(9,9,9,9)_""_$c(9,9,9),! Write $c(9,9,9,9) Set col=0 %csp00040 If '((col"_$c(9,9,9),! Write $c(9,9,9,9) Goto %csp00040 %csp00039 ;} Write !,$c(9,9,9)_""_$c(9,9),! Write $c(9,9,9) Kill arColSpecial Set blnAddLink=0 Write !,$c(9,9,9)_"",! Write $c(9,9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00042 If '((col"_(ColumnName)_"",! Write $c(9,9,9,9) Goto %csp00042 %csp00041 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Set row=0 %csp00044 If '(queryA.Next()) Goto %csp00043 ;{ Set row=row+1 Write " " Write !,$c(9,9,9)_"",! Write $c(9,9,9,9) ;Set blnAddLink=(queryA.GetDataByName("ID")?1(1"MAINPAGE",1"WIZARD_CALC")) Write !,$c(9,9,9,9)_"",! Write $c(9,9,9,9) Set col=0 %csp00046 If '((col"_tmpVal_"" Write !,$c(9,9,9,9)_"",! Write $c(9,9,9,9) Goto %csp00046 %csp00045 ;} Write !,$c(9,9,9)_"",! Write $c(9,9,9) Goto %csp00044 %csp00043 ;} Write !,$c(9,9)_"
 
"_($S(blnAddLink:">", 1:" "))_""_($S($L(tmpVal):tmpVal,1:" "))_"
",! Write $c(9,9)_"
",! Write $c(9) Write "
" Write ! %csp00038 ;} Write !,!,$c(9)_"
",! Write $c(9) Write "
" Write !,$c(9,9)_"

Links to:

",! Write $c(9,9) If '((1)) Goto %csp00047 ;{ Write " - " Write "" Write "Ugly Pick Logging" Write "" Write "
" %csp00047 ;} Write !,$c(9) Write "
" Write !,!,!,$c(9) Write "
" Write !,$c(9,9)_" ",! Write $c(9) Write "
" 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 "" Write ! Do ..Include("incMsgBoxCustomVB.csp") Write !,!,$c(9) Write "" 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 #define CvtNOBRhtmlX(%v) "('<NOBR>'||"_%v_"||'</NOBR>') " #define CvtDateTime(%v) "(SUBSTRING("_%v_",1,19))" d WLIP^vhDBG(97,"") Set CspPageTitle="Ugly Pick Manager" /*** 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) ; Some common variables Set blnSQED=$G(%request.Data("SQED",1),0) Set pdlPRNrs=$G(%request.Data("PRNR",1),"") Set ActPRNr=pdlPRNrs Set blnPROD=(pdlPRNrs'="") Set blnShowLocInfo=($G(%request.Data("LOC_INFO",1),1)'=0) /*** SQL STATEMENTS ***/ /*** ============== ***/ ; SQL-statement for PalletReservatie Set sqlPalRes="SELECT ConsolidatieNr, UserID, AantalTePicken AS Qty2Pick, AantalPicked, AantalInReservatie AS AantInRes, NeedAll, IsFull, Locatie, LocM, Magazijn, PalletID, Sectie, Product, (''||Product->KortTekst||'') AS KortTekst, ReservationIsDone AS ResIsDone, Job, (''||FailedReservation||'') AS FailedRes " Set sqlPalRes=sqlPalRes_$C(13,10)_" FROM Flow_OrderWMS.PalletReservatie " Set sqlPalRes=sqlPalRes_$C(13,10)_" ORDER BY ConsolidatieNr, Product, PalletID " ; SQL-statement for PalletReservatie (Full) Set sqlPalRes02="SELECT ConsolidatieNr, UserID, AantalTePicken AS Qty2Pick, AantalPicked, AantalInReservatie AS AantInRes, NeedAll, IsFull, Locatie, LocM, Magazijn, PalletID, Sectie, Product, "_$$$CvtNOBRhtmlX("Product->KortTekst")_" AS KortTekst, ReservationIsDone AS ResIsDone, Job, Status, "_$$$CvtNOBRhtmlX("FailedReservation")_" AS FailedRes, "_$$$CvtNOBRhtml("Inventory")_", AssociatedZeroPallet, ID " Set sqlPalRes02=sqlPalRes02_$C(13,10)_" FROM Flow_OrderWMS.PalletReservatie " Set sqlPalRes02=sqlPalRes02_$C(13,10)_" ORDER BY ConsolidatieNr, Product, PalletID " ; SQL-statement for inventory (kan product gereserveerd worden?) Set sqlInvt01="SELECT loc_id, sectie, loc_m, product, batch, qty_pcs, qty_res, qty_block, qty_in_box, is_full, "_$$$CvtDateTime("last_cycle_count")_" AS CycleCount, "_$$$CvtDateTime("i.insert_time")_" AS InsertTime, "_$$$CvtDateTime("exp_day")_" AS ExpireDate, quality, owner " Set sqlInvt01=sqlInvt01_$C(13,10)_" FROM EWMS.inventory AS i " Set sqlInvt01=sqlInvt01_$C(13,10)_" WHERE product in ("_$S($L(pdlPRNrs):pdlPRNrs, 1:"89990, 83687")_") " ; SQL-statement for inventory (toon locaties waar product voorkomt?) Set sqlInvt02="SELECT L.Loc_m M, L.loc_g G, L.loc_x X, L.loc_y Y, i.loc_id AS PalletNr, i.Sectie AS Sectie, i.product AS Product, qty_res AS Gereserveerd, i.qty_pcs AS Aantal, i.Insert_time AS InsertTime " Set sqlInvt02="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, "_$$$CvtDateTime("last_cycle_count")_" AS CycleCount, "_$$$CvtDateTime("i.insert_time")_" AS InsertTime, L.Loc_m M, L.loc_g G, L.loc_x X, L.loc_y Y, "_$$$CvtDateTime("exp_day")_" AS ExpireDate, quality, owner " Set sqlInvt02=sqlInvt02_$C(13,10)_" FROM EWMS.Inventory AS i " Set sqlInvt02=sqlInvt02_$C(13,10)_" LEFT OUTER JOIN EWMS.Locations L on I.Loc_Id=L.Loc_ID " Set sqlInvt02=sqlInvt02_$C(13,10)_" WHERE i.product in ("_$S($L(pdlPRNrs):pdlPRNrs, 1:"89990, 83687")_") " Set sqlInvt02=sqlInvt02_$C(13,10)_" ORDER BY i.product, i.Loc_Id " ; SQL-statement last three IDs Set sqlTOP3="SELECT top 3 ID FROM Flow_OrderWMS.PalletReservatie ORDER BY ID Desc" ; SQLs to be displayed Set sqlDFL="" ; $S(1:sqlPalRes, 1:sqlTOP3) Set sqlActive=$G(%request.Data("QUERY",1),sqlDFL) ; SQL All together Set sqlAll=sqlPalRes02_$C(13,10)_$C(13,10)_sqlInvt01_$C(13,10)_$C(13,10)_sqlInvt02_$C(13,10) ; URL for ToggleQueryEditor Merge tmpAr=tmpRq Kill tmpAr("SQED") Kill tmpAr("btnSubmit") Set tmpAr("SQED")=('blnSQED) Set arUrl("ToggleQED")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) Kill tmpAr ; Build local with User Information (UserID,Session,Job,...) Do ..BuildUserInfoRaw(.arUserInfo) Do ..OrganiseUserInfo(.arUserInfo,0,0) ;d WL^vhDBG($$$ArrayTT("arUserInfo")) ; 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") Quit 1 ]]> 1 code arUserInfo,blnShowAllApps,blnShowOrders cache 1 code JobList cache %String 1 code NewMaxBT,blnTrigger cache %String c:\cachesys\csp\admin1\UglyPickMgr.csp /csp/admin1/UglyPickMgr.csp 62105,37045