User bio
404 bio not found
Member since Feb 14, 2020
Posts:
Replies:
Hi,
I replaced all QUIT with Return and add conditional check based on third parameter at the begening of the ClassMethod as you suggest.
When I tried to run, the output is excatly the same as with QUIT. Function still running even value has been found.
This is output from terminal where I added $G(mainArticle),"-",$G(article) from suggestion above.
9430954-9428572 BEGENING OF LOOP FOR: H2652.S
9430954-9428572 START RECURSIVE
9408921-9428572 BEGENING OF LOOP FOR: MQ0605.B
9408921-9428572 END OF LOOP
9430954-9428572 BEGENING OF LOOP FOR: H2641.B
9430954-9428572 BEGENING OF LOOP FOR: M1910.15.40
9430954-9428572 BEGENING OF LOOP FOR: GK6202
9430954-9428572 BEGENING OF LOOP FOR: GK6201.B
9430954-9428572 BEGENING OF LOOP FOR: IX08.0925
9430954-9428572 START RECURSIVE
9408925-9428572 END OF LOOP
9430954-9428572 BEGENING OF LOOP FOR: XQA1.AI12.1425.1020.C
9430954-9428572 START RECURSIVE
9413847-9428572 BEGENING OF LOOP FOR: XAL446.1250.1.AI12.L.A
9413847-9428572 START RECURSIVE
9408591-9428572 BEGENING OF LOOP FOR: AL446.1255
9408591-9428572 END OF LOOP
9413847-9428572 BEGENING OF LOOP FOR: XAL446.1250.1.AI12.R.A
9413847-9428572 START RECURSIVE
9408593-9428572 BEGENING OF LOOP FOR: AL446.1255
9408593-9428572 END OF LOOP
9413847-9428572 BEGENING OF LOOP FOR: AL448.1024
9413847-9428572 BEGENING OF LOOP FOR: XAL447.0970.A
9413847-9428572 START RECURSIVE
9408603-9428572 BEGENING OF LOOP FOR: AL447.0975
9408603-9428572 END OF LOOP
9413847-9428572 BEGENING OF LOOP FOR: H2640.A
9413847-9428572 BEGENING OF LOOP FOR: H2641.C
9413847-9428572 BEGENING OF LOOP FOR: H2650.A
9413847-9428572 BEGENING OF LOOP FOR: H2701.1020
9413847-9428572 BEGENING OF LOOP FOR: XAL465.1110.A0
9413847-9428572 START RECURSIVE
9421986-9428572 Has Value
9413847-9428572 BEGENING OF LOOP FOR: XAL465.1110.A1
9413847-9428572 START RECURSIVE
9421987-9428572 BEGENING OF LOOP FOR: XAL465.1110.A0
9421987-9428572 START RECURSIVE
9421986-9428572 Has Value
9421987-9428572 END OF LOOP
9413847-9428572 BEGENING OF LOOP FOR: XAL465.1110.A2
9413847-9428572 START RECURSIVE
9421990-9428572 BEGENING OF LOOP FOR: XAL465.1110.A0
9421990-9428572 START RECURSIVE
9421986-9428572 Has Value
9421990-9428572 END OF LOOP
9413847-9428572 BEGENING OF LOOP FOR: H2707.R.S
9413847-9428572 START RECURSIVE
9432315-9428572 BEGENING OF LOOP FOR: H2707
9432315-9428572 BEGENING OF LOOP FOR: H2698
9432315-9428572 BEGENING OF LOOP FOR: H2697
9432315-9428572 END OF LOOP
9413847-9428572 BEGENING OF LOOP FOR: H2707.L.S
9413847-9428572 START RECURSIVE
9432316-9428572 BEGENING OF LOOP FOR: H2707
9432316-9428572 BEGENING OF LOOP FOR: H2698
9432316-9428572 BEGENING OF LOOP FOR: H2697
9432316-9428572 END OF LOOP
9413847-9428572 END OF LOOP
9430954-9428572 END OF LOOP
// EDIT
I was able to QUIT only when I used global variable
ClassMethod workpieceUnit(mainArticle As %String, article As %String) As %String
{
&SQL(SELECT unit->unitCode INTO :unitCode FROM production_article.composition WHERE mainArticle = :mainArticle AND article = :article)
IF (SQLCODE = 0)
{
W !, $G(mainArticle),"-",$G(article)," Has Value"
SET ^pasp("unitCode") = unitCode
RETURN unitCode
}
ELSE
{
SET sql = "SELECT article, unit->unitCode, production_article.composition_sqlArticleCode(article, type) AS articleCode FROM production_article.composition WHERE mainArticle = "_mainArticle_" AND type = 1",
rs = ##class(%SQL.Statement).%ExecDirect(,sql)
WHILE rs.%Next()
{
RETURN:$GET(^pasp("unitCode"))'="" ^pasp("unitCode")
W !, $G(mainArticle),"-",$G(article)," BEGENING OF LOOP FOR: "_rs.articleCode
IF (rs.article = article)
{
RETURN rs.unitCode
}
// CHECK IF WORKPIECE HAS COMPOSITION
&SQL(SELECT COUNT(*) INTO :composition FROM production_article.composition WHERE mainArticle = :rs.article)
IF (composition > 0)
{
W !, $G(mainArticle),"-",$G(article)," START RECURSIVE"
DO ..workpieceUnit(rs.article, article)
}
}
W !, $G(mainArticle),"-",$G(article)," END OF LOOP"
RETURN $GET(^pasp("unitCode"),"")
KILL ^pasp("unitCode")
}
RETURN ""
}
I figure out with uggly code in html
#($ZCONVERT($$$Text("My Account","webshop","sk"), "O", "UTF8"))#
Certifications & Credly badges:
Patrik has no Certifications & Credly badges yet.
Global Masters badges:
Patrik has no Global Masters badges yet.
Followers:
Patrik has no followers yet.
Following:
Patrik has not followed anybody yet.
Even I tried to replace %var with hardcoded value, in my case ID I got same result. SQLCODE 100 but from management portal SQLCODE 0 and returned 6 IDs.
I created new Index to the table and rebuild indices and now its works. But its weird why I got different result in embedded SQL and management portal.