persistent PRGACNTs %Library.Persistent,%XML.Adaptor %String 0 Derde.Klant.Klant 0 0 0 0 0 0 0 0 Prod.GAMeta.Struct 0 0 0 0 0 0 0 0 %String 0 Prod.GAData.Product 0 0 0 0 0 0 0 0 Indien leeg is er geen schaduwprijs mogelijk en bijgevolg worden de schaduwbouwstenen niet ingevuld Prod.GAData.Product VersieNr van het geassocieerde Product (vb: 1.5.3) %String %String %Boolean 1 Geeft de oref van de Template terug.
!!! DIT IS DE BASISMETHOD VOOR DE VOLLEDIGE OPBOUW VAN EEN TEMPLATE !!!]]>
0 1 code MetaStructCode:%Library.String,MetaStructVersion:%Library.String,NewTemplCode:%Library.String 0 Prod.GAData.Template 0
Creeert nieuw Template object gebaseerd op MetaStruct. Geeft de oref van de Template terug 0 1 code MetaStructCode:%Library.String,MetaStructVersion:%Library.String 0 Prod.GAData.Template 0 Creeert het Product dat de data van de template bevat. Dit is in feite een normaal Product. Product is niet gekoppeld (geen RELATIE) met Template en moet aldus afzonderlijk geSAVEd worden!!! 0 0 code 0 1 Prod.GAData.Product 0 0 0 code 0 %Library.Status 0 (Bvb. Code voor de basis TandemBox template is "TBXBasis")]]> 0 1 code Code:%Library.String 0 %Library.List 0 Maakt een kopie van het Product van de template en geeft het nieuwe ID terug. Bij kopie via object: het product moet bewaard worden, anders geen ObjID %Library.String DItemVia:%String,MetaFormat:%String="T",lbMetaClass:%String,lbFlags:%String 0 %Status 0:sc,1:$$ParseStatus^vhLib(sc))) Quit $S(sc>0:$$$OK,1:sc) ]]> 1 ProdID:%String %Status 1 ProdID:%String %String NewVal:%String %Status NewVal:%String %Status incMajor:%Integer,incMeta:%Integer,incRevision:%Integer,blnAbsolute:%Boolean=0,blnReset:%Boolean=1 Vergelijkt het Product van de huidige template met het vorige product (PrevProdID). Verhoogt het VersieNr: Meta of Revision, naargelang de resultaten van SyncProd Immediate Save van de Template kan door blnSave=1. Geeft het nieuwe VersieNr terug PrevProdID:%Library.String,blnSave:%Boolean=0 %Library.String Vergelijkt het Product van de huidige template met het vorige product (PrevProdID). Verhoogt het VersieNr: Meta of Revision, naargelang de resultaten van SyncProd Immediate Save van de Template kan door blnSave=1. Geeft het nieuwe VersieNr terug PrevProdID:%Library.String,blnSave:%Boolean=0 %Library.String Verwijderen van het Template SchaduwProduct. blnSave:%Boolean=1 1 %String Verwijderen van het Template SchaduwProduct. blnSave:%Boolean=1 1 %String 1 ProdID:%Library.String %String Met deze method kunnen de DataItems van een Product (ProdID) gesynchroniseerd worden met de DataItems van zijn Template-product. Als "NewProdID" gelijk is aan ProdID, dan wordt het product overschreven; anders wordt een nieuw product aangemaakt. SyncStat als .local doorgeven lbFlags=$LB(DoNotSave DFL=1, RemoveLostDItems DFL=0, ForceSyncAll DFL=0) %Integer Gaat na of de versie van de template overeenkomt met de versie van het gegeven product "Prod". lbFlags: default=$LB(CheckMajor=1,CheckMeta=1,CheckRevision=1) Prod:Prod.GAData.Product,lbFlags:%List %String Gaat na of de versie van het gegeven product (via ProdID) overeenkomt met de versie van de bijhorende template. lbFlags: zie method CheckVersion() 1 ProdID:%Library.String,lbFlags:%List %String Geeft het Template-object terug dat hoort bij het Product met ID=ProdID. Om ReturnProd terug te krijgen: de parameter als .local doorgeven 1 Prod.GAData.Template 0 1 code TCode:%Library.String 0 %String 0 0 1 code TCode:%Library.String 0 Prod.GAData.Template 0 0 0 code 0 %Library.String 0 %Library.SQLQuery KlantID:%Library.Integer 0 SELECT ID, Code, Omschrijving, (Code || ' - ' || Omschrijving) FROM Prod_GAData.Template WHERE (Klant = :KlantID) OR (Klant IS NULL) OR (Klant = "") ORDER BY Code 0 %Library.CacheStorage ^Prod.GAData.TemplateD TemplateDefaultData ^Prod.GAData.TemplateD ^Prod.GAData.TemplateI ^Prod.GAD.TemplateS %%CLASSNAME node 0 listnode Code Klant MetaStruct Omschrijving Product VersionProd Version SchaduwProduct SchaduwVersion