TECH.Error 1 %RegisteredObject 0 1 LadeVariant:DOM.PM.enu.LadeVariant,IsBinnenlade:%Boolean,LadeDiepte:%Integer,LadeHoogte:%String,LadeZijkantHoogte:%String %Float 550) { // Binnenlades van 270mm tot 550mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "M" : 0.13 , "K" : 0.17 , "B" : 0.20 , "C" : 0.25 , "D" : 0.33 , : "") } Else { // Binnenlades groter dan 550, dus 600mm en 650mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "M" : 0.20 , "K" : 0.25 , "B" : 0.33 , "C" : 0.33 , "D" : 0.50 , : "") } } Else { If (LadeDiepte '> 550) { // Lades van 270mm tot 550mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "N" : 0.10 , "M" : 0.13 , "K" : 0.17 , "B" : 0.13 , "C" : 0.17 , "D" : 0.13 , : "") } Else { // Lades groter dan, dus 600mm en 650mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "N" : 0.14 , "M" : 0.17 , "K" : 0.25 , "B" : 0.17 , "C" : 0.25 , "D" : 0.17 , : "") } } } ElseIf (LadeVariant = ##class(DOM.PM.enu.LadeVariant).TBXIntivo()) { If IsBinnenlade { If (LadeDiepte '> 550) { // Binnenlades van 270mm tot 550mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "M" : 0.13 , "C" : 0.25 , "D" : 0.33 , : "") } Else { // Binnenlades groter dan, dus 600mm en 650mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "M" : 0.20 , "C" : 0.33 , "D" : 0.50 , : "") } } Else { If (LadeDiepte '> 550) { // Lades van 270mm tot 550mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "N" : 0.10 , "M" : 0.13 , "C" : 0.14 , "D" : 0.14 , : "") } Else { // Lades groter dan 550, dus 600mm en 650mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "N" : 0.14 , "M" : 0.17 , "C" : 0.20 , "D" : 0.20 , : "") } } } ElseIf (LadeVariant = ##class(DOM.PM.enu.LadeVariant).TBXAntaro()) { If IsBinnenlade { If (LadeDiepte '> 550) { // Binnenlades van 270mm tot 550mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "M" : 0.13 , "K" : 0.17 , "B" : 0.20 , "C" : 0.25 , "D" : 0.33 , : "") ; hierboven geen onderscheid nodig tussen DK/Z en DM/Z-lades } Else { // Binnenlades groter dan, dus 600mm en 650mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "M" : 0.20 , "K" : 0.25 , "B" : 0.33 , "C" : 0.33 , "D" : 0.50 , : "") ; hierboven geen onderscheid nodig tussen DK/Z en DM/Z-lades } } Else { If (LadeDiepte '> 550) { // Lades van 270mm tot 550mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "N" : 0.10 , "M" : 0.13 , "K" : 0.17 , "B" : 0.13 , "C" : 0.13 , "D" : $S(LadeZijkantHoogte="K":0.17, 1: 0.13) , : "") } Else { // Lades groter dan 550, dus 600mm en 650mm diep Set OppervlakteAandeel=$Case(LadeHoogte, "N" : 0.14 , "M" : 0.17 , "K" : 0.17 , "B" : 0.17 , "C" : 0.17 , "D" : $S(LadeZijkantHoogte="K":0.25, 1: 0.17) , : "") } } } Else { Set OppervlakteAandeel="" } If OppervlakteAandeel="" { Set Message = "Ongeldige waarde voor berekening van OppervlakteAandeel; input params "_$$$LCVT($LB("LadeVariant : "_LadeVariant,"IsBinnenlade : "_IsBinnenlade,"LadeDiepte : "_LadeDiepte,"LadeHoogte :"_LadeHoogte))_"." Set Exception = ##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).InvalidInput(),Message) Do ##class(TECH.ExceptionHandler).Throw(Exception) } Quit OppervlakteAandeel ]]> 1 LadeBreedte:%Float %Float 600 { Set HoogteAandeel = $$$MinHoogteAandeel } Else { Set HoogteAandeel = ((LadeBreedte-600)*(1/3000)) + $$$MinHoogteAandeel } Set:(HoogteAandeel>1) HoogteAandeel=1 Quit HoogteAandeel ]]> 1 LadeVariant:DOM.PM.enu.LadeVariant,IsBinnenlade:%Boolean,LadeDiepte:%Integer,LadeHoogte:%String,LadeZijkantHoogte:%String,LadeBreedte:%Float %Float 1 Lade:DOM.PM.TBXProduct.TBXLade %Float 1 LadeVariant:DOM.PM.enu.LadeVariant,IsBinnenlade:%Boolean,LadeHoogte:%String,LadeZijkantHoogte:%String %Float 1 LadeVariant:DOM.PM.enu.LadeVariant,IsBinnenlade:%Boolean,LadeHoogte:%String,LadeZijkantHoogte:%String,LadeBreedte:%Float APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo 900 { Set WikkelInfo=##class(APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo).%New(900,1) } ElseIf WikkelLengte '> 1250 { Set WikkelInfo=##class(APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo).%New(1250,1) } Else { Set WikkelInfo=##class(APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo).%New(900,2) } Quit WikkelInfo ]]> 1 Lade:DOM.PM.TBXProduct.TBXLade APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo 1 LadeDiepte:%Integer %Float 550 { Set WikkelDiepte = 520 } Else { Set WikkelDiepte = 650 } Quit WikkelDiepte ]]>