Index: Prod/GAData/Product/tmpKPRCreate.mac.rou =================================================================== diff -u -r1844 -r2005 --- Prod/GAData/Product/tmpKPRCreate.mac.rou (.../tmpKPRCreate.mac.rou) (revision 1844) +++ Prod/GAData/Product/tmpKPRCreate.mac.rou (.../tmpKPRCreate.mac.rou) (revision 2005) @@ -1,5 +1,6 @@ -#include %VHMacro +#include vhLib.Macro #include %Prod.Product +#include %occErrors #define DelimGroepSort ";" @@ -79,7 +80,7 @@ #define lbHFToModifyLabels $LB("PRBXKA","PRBXKARE") New Rec,PRNr,HFPRNr,Rec,Key,Rec2,ProgLabel,ClassName,Qty,MetaTag,KostPlaats,VersieNrPRBS - New DItem,Label,iG,iS,iI,Groep,KostVolgNr,MatVolgNr,arTree,SortNr,BSNode,InputWaarde + New DItem,Label,iG,iS,iI,Groep,KostVolgNr,MatVolgNr,arTree,SortNr,BSNode,InputWaarde,ErrorMsg New blnModifySomeHF,lbHFToModifyLabels Set PRNr=..ProductGetObjectId() Quit:(PRNr'?4.7N) @@ -100,15 +101,26 @@ . Merge ^HADPR("P",PRNr,"G")=Rec . // BasisParameters = invullen Prod.Kenmerken + + Set sc=$$$OK Set ProgLabel="" - For Set ProgLabel=$O(..LookUp($$$NodePL,ProgLabel)) Quit:(ProgLabel="") Do + For Set ProgLabel=$O(..LookUp($$$NodePL,ProgLabel)) Quit:(ProgLabel="") Do Quit:($$$ISERR(sc)) . Set InputWaarde=..LookUp($$$NodePL,ProgLabel) . Set:(blnHADPR) ^HADPR("P",PRNr,"BP",ProgLabel)=InputWaarde ; Basis Parameters . If InputWaarde="" Do - . . Set sc=##class(Prod.Kenmerk.DataDefinitie).DeleteKM(..MetaStruct.Code,PRNr,ProgLabel) + . . Set scDelete=##class(Prod.Kenmerk.DataDefinitie).DeleteKM(..MetaStruct.Code,PRNr,ProgLabel) + . . Set sc=$$$OK . Else Do - . . Set Status=##class(Prod.Kenmerk.DataDefinitie).Set(..MetaStruct.Code,PRNr,ProgLabel,InputWaarde) + . . Set scAdd=##class(Prod.Kenmerk.DataDefinitie).Set(..MetaStruct.Code,PRNr,ProgLabel,InputWaarde) + . . Set:(..MetaStruct.Code?1(1"TBX")) sc=$G(scAdd) ; modified by WimV on 06/09/2011 --> alleen voor TBX mag een error gethrowed worden. + If $$$ISERR(sc) { + // Aanmaken van de kenmerken is mislukt + Set ErrorMsg="KPRCreate: Kenmerk "_ProgLabel_" met waarde "_$G(InputWaarde)_" failed; "_$$ParseStatus^vhLib(sc) + Do ##class(vhLib.Logger).%New("Maatwerk").Error("KPRCreate",ErrorMsg) + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).SaveFailed(),ErrorMsg)) + } + ; Halffabrikaten en kosten Set (KostVolgNr,MatVolgNr)=0 Set SortNr=$S(blnModifySomeHF:200, 1:0) ; als blnModifySomeHF, dan moeten de gewijzigde BS in de ADMIN achteraan getoond worden.