cABVBD1 ;Functies DataDictionary ; cABVBD1 ; Compiled December 8, 2011 12:06:16 ; T1 ;Ext.naam;Kolomtitel;Label;Prompt DMA; T2 ;Sleutel bij de talen is niet ingevuld, opslaan onmogelijk.; T3 ;Fout bij openen taal ;Fout bij wijzigen taal ; T4 ;Neen;Ja;Enkel taalafh. prop.;Skip taalafh. prop.;Taal;Skip taal; T5 ;Logging enkel beschikbaar voor tabpagina Def. per taal; T6 ;Item;Trefwoord; T7 ;Kopie van een afwijking is niet toegestaan; T8 ;Taal; T9 ;Er zijn nog properties gelinkt aan dit item.;Item kan niet verwijderd worden. T10 ;Er zijn nog afwijkingen voor dit item.; T11 ;Naam mag geen spaties bevatten.; ; T1E ;Ext.name;Columntitle;Label;Prompt DMA; T2E ;Key in languages is empty, save impossible.; T3E ;Error creating language ;Error changing language ; T4E ;No;Yes;Only language prop.;Skip language prop.;Lang.;Skip Lang.; T5E ;Logging only available for tabpage Lang.def.; T6E ;Item;Keyword; T7E ;Copy of a deviation is not allowed; T8E ;Language; T9E ;There are properties linked on this item.;Item cannot be deleted. T10E ;There are deviations for this item.; T11E ;Name may not contain spaces.; ; YZ Q ; ;Berekende property C209GET(B209,QT,ALL,SQL) S $ZT="^dmERROR" N R,U,D S U=";",D="\" D QT^cAFVBO01 I $G(ALL) S R=$TR($P($T(@("T4"_QT)),U,2,5),U,D) G C209GETZ S R=$P($T(@("T4"_QT)),U,B209+2) I $G(SQL),B209>1 S R=$P($T(@("T4"_QT)),U,B209+4) C209GETZ Q R ; CHKDEL(Q,UI1) ; test of er nog properties zijn voor DD met UI1 S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("UI1") S OK=1 I $L($$UI1^cAFA1("DD",133,UI1)) S OK="0\"_$P($T(@("T10"_QT)),U,2) G CHKDELY I $L($$UI1^cAFA1("DC.PROP",105,UI1)) S OK="0\"_$P($T(@("T9"_QT)),U,2) G CHKDELY CHKDELY I 'OK S OK=OK_$c(13,10)_$P($T(@("T9"_QT)),U,3) CHHDELZ Q OK ; DMAO ; xecute bij openen in DMA ; indien op centrale computer : orig steeds uitblanken S $P(B(1),D,33)=$$BLORG($P(B(1),D,33)) DMAOZ Q ; BLORG(ORG) ; uitblanken origineel ; indien op centrale computer : orig steeds uitblanken I $$PAR(201) S ORG="" G BLORGZ ; indien op computer klant : orig uitblanken indien >499999 I '$$PAR(201),+ORG>499999!($P(ORG," ",2)>499999) S ORG="" G BLORGZ BLORGZ Q ORG ; ; ;DDIC-DefPerTaalGrid mtemp opbouwen BTEMP(GRIDID,DDID,COPY) ; GRIDID: volgnr van de grid : indien '' : volgnummer ophalen ; DDID : intern nr van ^DDD(0,"DD" waaruit data moet opgehaald worden ; COPY : Het gaat om het kopiëren van een DataDictionary-record S $ZT="ERR^cAFVBF01" N @$$INITVAR^cAFVBA01("GRIDID,DDID,COPY") ; F i="GRIDID","DDID","COPY" S @i=$G(@i) I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"COMMON") S OK=GRIDID ; D DMS^cAN000("UQC","USC","DD.TAAL",1) I '$L(UQC)!'$L(USC) G BTEMPZ S UREF=^DMC(UQC,USC,"DATA","REF") S TKI1="" F S TKI1=$O(^DTEXT(0,"TEXT.9000",TKI1)) Q:TKI1="" D ; aflopen taalcodes . S TKB=^(TKI1,0) . I $P(TKB,D,30) Q ; BG of verwijderd . S TK=TKI1 ;$P(TKB,D) . S UI1=DDID_" "_TK . S B(1)=$G(@UREF@(0)),B(2)=$G(^(1)) . ; SRT = 1 : Property . ; SRT = 2 : Grid . ; SRT = 3 : Form . ; SRT = 4 : DMA . S VOLG="4213" ; Volgorde van de lijnen in de grid . F SRT=1:1:4 D .. S B=$S(COPY=1:"",1:$S($L(B(1)):UI1,1:""))_D_TK_D_SRT ; key (ingevuld als rec. bestaat)_D_taalcode_D_srt .. S $P(B,D,4)=$P($T(@("T1"_QT)),U,1+SRT) ; omschrijving soort .. S $P(B,D,5)=$P(B(2),D,SRT-1*10+1) ; Naam, Titel, Label, Prompt .. S $P(B,D,6)=$P(B(2),D,SRT-1*10+2) ; Commentaar, Tooltip .. I SRT=1 S $P(B,D,7)=$P(B(2),D,3) ; Property : SLQ-kolom .. I SRT=2 S $P(B,D,7)=$P(B(2),D,13) ; Grid : titel indien foreing key .. S UI1T=$P(B,D) I '$L(UI1T) S UI1T=" "_TK .. S ^mtemp99(GRIDID,"COMMON",UI1T_" "_$E(VOLG,SRT,SRT),0)=B BTEMPZ Q OK ; ; gewijzigde rij in VB.NET opslaan in de mtemp (DDIC-DefPerTaalGrid) SAVEROW(SELECTEDID,NAAM,COMMENT,EXTRA) N (SELECTEDID,NAAM,COMMENT,EXTRA) S $ZT="^dmERROR",OUT=1,D="\",U=";" I SELECTEDID="" G SAVEROWZ S GRIDID=$P(SELECTEDID,"||") S SELECTEDID=$P(SELECTEDID,"||",2) S $P(^mtemp99(GRIDID,"COMMON",SELECTEDID,0),D,5)=$G(NAAM) S $P(^mtemp99(GRIDID,"COMMON",SELECTEDID,0),D,6)=$G(COMMENT) S $P(^mtemp99(GRIDID,"COMMON",SELECTEDID,0),D,7)=$G(EXTRA) ; ;Indien het label is ingevuld, andere lijnen defaulten I $P(SELECTEDID," ",3)'="1" G SAVEROWZ S i=$P(SELECTEDID," ",1,2)_" ",IDS="" F S i=$O(^mtemp99(GRIDID,"COMMON",i)) Q:$P(i," ",1,2)'=$P(SELECTEDID," ",1,2) D . S N=^(i,0) . I $L($TR($P(N,D,5,7),D,"")) Q . S TXT=NAAM I $P(i," ",3)=4 S TXT=$$DP(TXT) ;-> Functie oproepen om spaties,accenten... weg te werken . S $P(^mtemp99(GRIDID,"COMMON",i,0),D,5,6)=TXT_D_$G(COMMENT) . S IDS=IDS_GRIDID_"||"_i_D S OUT=OUT_D_IDS ; SAVEROWZ Q OUT ; DP(K,INTNMKL) ; depunctueer : leestekens eruit en 1ste letter na het leesteken hoofdletter N R,i S R="" I $L($G(INTNMKL)),$E(K,1,$L(INTNMKL)+1)=(INTNMKL_" ") S K=$E(K,$L(INTNMKL)+2,$L(K)) F i=1:1:$L(K) D . I $E(K,i)?1P S $E(K,i+1)=$$UC^cAFA1($E(K,i+1)) Q . S R=R_$E(K,i) S R=$$EC^cAFA1(R) S R=$$UC^cAFA1($E(R))_$E(R,2,$L(R)) DPZ Q R ; NR(Q,DMS,AFW) ; ophalen eerst volgend vrij nummer S $ZT="^dmERROR" I '$L($G(Q)) G NRZ N @$$INITVAR^cAFVBA01("DMS,AFW") D DMS^cAN000("UQC","USC",DMS,1) I '$L(UQC)!'$L(USC) G NRZ S DIN=^DMC(UQC,USC,"DIN"),UREF=^("DATA","REF") I '$G(@DIN),'$$PAR(201) S @DIN=$$PAR(202) I '@DIN S @DIN=500000 S UI1=$$NR^cAN000 G NRZ ; KU 25.10.05 : AFW verdwijnt ; I '$L($G(AFW)) S UI1=$$NR^cAN000 G NRZ ; L +@DIN@(AFW) ; F S R=$G(@DIN@(AFW),"500000"),^(AFW)=R+1 S UI1=AFW_" "_R Q:'$D(@UREF@(UI1)) ; L -@DIN@(AFW) NRZ Q $G(UI1) ; PAR(BIN) ; ophalen parameters van DD* S $ZT="^dmERROR" N R S D="\",R=$P($G(^DPAR(0,"PAR","DD",BIN\100-1)),D,BIN#100) PARZ Q R ; ; Check op geldige externe naam CHKNAME(NAAM) N OK S $ZT="^dmERROR" D QT^cAFVBO01 ; I '$L($G(NAAM))="" G SAVEROWZ S OK=1,D="\",U=";" ; I $L(NAAM," ")>1 S OK="0"_D_$P($T(@("T11"_QT)),";",2) ; CHKNAMEZ Q OK ; STEMP(GRIDID,DDID) ; Drukken op OK-button (DDIC-DefPerTaalGrid), opslaan van de mtemp in de ^DDD ; GRIDID: volgnr van de grid : indien '' : volgnummer ophalen ; DDID : intern nr van ^DDD(0,"DD" ; ; Q, QT en QU komen vanuit Methode via de methodgenerator ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("GRIDID,DDID") S OK=1 I '$L($G(GRIDID)) G STEMPZ I '$L($G(DDID)) S OK="0\"_$P($T(@("T2"_QT)),U,2) G STEMPZ S I1="" STEMPA S I1=$O(^mtemp99(GRIDID,"COMMON",I1)) I I1="" G STEMPZ S B=^(I1,0) S UI1=$P(B,D) ; key S TK=$P(B,D,2) ; taalkode S SRT=$P(B,D,3) ; SRT S B(101)=DDID,B(102)=TK S B(SRT-1*10+201)=$P(B,D,5) ; Naam, Titel, Label, Prompt S B(SRT-1*10+202)=$P(B,D,6) ; Commentaar, Tooltip I SRT=1 S B(203)=$P(B,D,7) ; Property : SLQ-kolom I SRT=2 S B(213)=$P(B,D,7) ; Grid : titel indien foreing key I $P(I1," ",3)'=4 G STEMPA K TAB I $L($P(B,D)) G STEMPC STEMPB ; openen ; B(101), B(102) omvormen naar TAB(1), TAB(2) ... S UI1=B(101)_" "_B(102) S I="" F S I=$O(B(I)) Q:I="" S $P(TAB(I\100),D,I#100)=B(I) D P^cAN220("DD.TAAL","",UI1,"TAB","") I K="-" S OK="0\"_$P($T(@("T3"_QT)),U,2)_TK G STEMPZ G STEMPA STEMPC ; wijzigen S UI1=$P(B,D) M TAB=B D B^cAN220("DD.TAAL","",UI1,"TAB") I K="-" S OK="0\"_$P($T(@("T3"_QT)),U,3)_TK G STEMPZ G STEMPA STEMPZ Q OK ; HDRDD(NR,TREFW) ; header Datadictionary N HNR,HTREFW S $ZT="^dmERROR" S U=";" D QT^cAFVBO01 I '$L(NR),('$L(TREFW)) S HNR=..DDId,HTREFW=..B101 G HDRDDA S HNR=NR,HTREFW=TREFW HDRDDA S OUT="\\\"_$P($T(@("T6"_QT)),U,2)_";"_HNR_" "_HTREFW_"; \\\" HDRDDZ Q OUT ; HDRDDL() ; header Datadictionary-DefPerTaal-logging N OUT S $ZT="^dmERROR" S OUT=$$HDRDD(..B101.DDId,..B101.B101) S OUT=OUT_"\"_$P($T(@("T8"_QT)),";",2)_";" ;X "S R=..B102."_$P("OmschrijvingNederlands#OmschrijvingFrans#OmschrijvingEngels#OmschrijvingDuits","#",QTU) S R=$$DATA^cAFVBO01("DTEXT","0","TEXT.9000",..B102,(102+((QTU-1)*10))) S OUT=OUT_R_";" HDRDDLZ Q OUT ; LOGMSG() ;Msg:Logging enkel beschikbaar voor tabpagina Def. per taal S $ZT="^dmERROR" D QT^cAFVBO01 LOGMSGZ Q $P($T(@("T5"_QT)),";",2) ; CPAFWMSG() ;Msg:Kopie van een afwijking is niet toegestaan; S $ZT="^dmERROR" D QT^cAFVBO01 CPAFWMSGZ Q $P($T(@("T7"_QT)),";",2) ; FWHERE(DDID) ; Fixed wherestatement opbouwen voor gelinkte properties ; Input: DDID : intern nr van ^DDD(0,"DD" ; Output: Fixed wherestatement S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("DDID") ; ; Variabelen opzetten S FWHERE="%ALPHAUP(T1.B105) = 'XXX'" I '$L($G(DDID)) G FWHEREZ D DMS^cAN000("UQC","USC","DD",1) I '$L(UQC)!'$L(USC) G FWHEREZ S IREF=^DMC(UQC,USC,"DATA","INDEX") ; ; Zowiezo doorgegeven item in filter FWHEREA S ITEMS(DDID)=1 ; ; Indien copy, origineel item ook in filter FWHEREB S ORI=$$SIG^cAFA1("DD",DDID,133) I $L(ORI) S ITEMS(ORI)=1 ; ; Alle items met doorgegeven item als origineel ook in filter FWHEREC S I1=DDID_" " F S I1=$O(@IREF@(133,I1)) Q:$P(I1," ")'=DDID S ITEMS(^(I1))=1 ; ; Alle items met dezelfde referentieklasse ook in filter FWHERED S CL=$$SIG^cAFA1("DD",DDID,212) I '$L(CL) G FWHEREE I '$$ISORI(CL,$S($L(ORI):ORI,1:DDID)) G FWHEREE S I1=CL_" " F S I1=$O(@IREF@(212,I1)) Q:$P(I1," ")'=CL S ITEMS(^(I1))=1 ; ; Fixed wherestatment samenstellen FWHEREE S (ITM,ITEMS)="" F S ITM=$O(ITEMS(ITM)) Q:'$L(ITM) S ITEMS=$S('$L(ITEMS):ITM,1:ITEMS_","_ITM) S FWHERE="%ALPHAUP(T1.B105) IN ("_ITEMS_")" ; FWHEREZ Q FWHERE ; ISORI(KLID,DDID) ; Is het doorgegeven ID het originele klasseid ; Input: KLID: intern nummer klasse ; DDID: intern nummer data dict. ; Output: 0: niet origineel ; 1: orineel N @$$INITVAR^cAFVBA01("KLID,DDID") S $ZT="^dmERROR",D="\",ORI=0 ; ; Data bepalen D DMS^cAN000("UQC","USC","DC.PROP",1) I '$L(UQC)!'$L(USC) G ISORIZ S UREF=^DMC(UQC,USC,"DATA","REF") ; ; Checken of de definitie bij het ID van de klasse gelijk is aan het doorgegeven ID S UI1=KLID_" " F S UI1=$O(@UREF) Q:$P(UI1," ")'=KLID S N=^(UI1,0) I $P(N,D,7)=3,$P(N,D,30)'=2 S:$P(N,D,5)=DDID ORI=1 Q ; ISORIZ Q ORI ; UPDI F I1="DD","DD.TAAL" D S1^cAN002(0,I1,24) UPDIZ Q ; ; ***************************** ; * Taalafhankelijke functies * ; ***************************** ; TAAL(SRT,UI1,TAAL,DEF) ; ophalen taalafhankelijke eigenschappen ; Input: ; SRT : 0=DD, 1=klasse, 2=prop, 3=einddef, 4=prop einddef ; UI1 : intern nummer DD, klasse of prop ; TAAL : N,D,E of F ; DEF : soort def. per taal (wordt voorlopig niet gebruikt) ; Output: ; => SRT=0,2,4 : Ext. naam\Kolom titel\Label\Prompt DMA\Commentaar kolomtitel ; => SRT=1,3 : Groep\Ext. naam ; S $ZT="^dmERROR" N (SRT,UI1,TAAL,DEF) S U=";",D="\",OUT="" F i="SRT","UI1","TAAL","DEF" S @i=$G(@i) I '$L(TAAL) G TAALZ I '$L(UI1) G TAALZ S TAALUI1=UI1_" "_TAAL ; ; data dictionary TAALA I SRT=0 S USC="DD.TAAL",REF="DDD" G TAAL10 ; ; klassedefinitie TAALB I SRT=1 S USC="KLASSE.TAAL",REF="DDC" G TAAL20 ; ; einddefinitie TAALC I SRT=3 S USC="KLASSE.TAAL",REF="DDP" G TAAL20 ; ; property einddefinitie TAALD I SRT=4 S USC="KLASSE.PROP.TAAL",REF="DDP" G TAAL10 ; ; property klassedefinitie TAALE I SRT=2 S USC="KLASSE.PROP.TAAL",REF="DDC" S DDID=$$DATA^cAFVBO01("DDC",0,"KLASSE.PROP",UI1,105),OVERWR=$P($G(^(0)),D,11) ; niet overschrijven en een link met Datadic I 'OVERWR,$L(DDID) S USC="DD.TAAL",REF="DDD",TAALUI1=DDID_" "_TAAL ; ; ophalen def. per taal voor DD of properties (DDC of DDP) TAAL10 S x=$$DATA^cAFVBO01(REF,"0",USC,TAALUI1,101),NODE1=$G(^(1)) F TEL=1:1:4 S OUT=OUT_$P(NODE1,D,(1+((TEL-1)*10)))_D ; commentaar kolomtitel toevoegen S OUT=OUT_$P(NODE1,D,12) G TAALZ ; ; ophalen def. per taal voor klassen (DDC of DDP) TAAL20 S GROEP=$$DATA^cAFVBO01(REF,0,USC,TAALUI1,103),EXTNAAM=$P($G(^(0)),D,4) S OUT=GROEP_D_EXTNAAM ; TAALZ Q OUT ; ZZ ; 29.08.07 - 10 u 22 * V8.09