cAB1021(UQAO,USAO,SW2O,CU1O,SW) ; Beheer ^DMA : mapping naar Caché ;%AB102 [ 03/29/01 9:19 AM ] ; ; SW = 1 : DMA tonen ; SW = 0 : geen DMA, gewoon default gegevens ophalen en wegschrijven ; SW2O : pagina van de rubriek ; CU1O = C(U1) : rubriek U1 werd gekozen, en die heeft in de DMA index CU1O ; G 1 ; T0 ; Mapping naar Caché ; T1 ;Prompt N; T2 ;Naam; T3 ;Omschrijving; T4 ;Type; T5 ;%String;cInteger;%Numeric;cDate;%Date; T6 ;Mapping naar Caché werd voorbereid; T7 ;Mapping naar Cache werd verwijderd; T8 ;Mapping verwijderen?\"V[] = definitief verwijderen ,[] = hernemen" T9 ;SQL-methode zal gewist worden\"0[] = annuleren 1[] = ok"; ; 1 N BEREKEND,DMS,IND,MAXLEN,METHOD,MINLEN,NAAM,PROMPT,SQLALT,TYPE,UNIEK,UREFA,VERPL 11 S $ZT="TRAP^cAN000" ; ophalen default gegevens 13 ; we zijn aan het wijzigen in ^DMA(USAO,UQAO,SW2O,CU1O,xx - xx : volgnr boven de 30 S DMS=$G(^DMA(UQAO,USAO,0,"DMS")) 15 S UREFA="^DMA(UQAO,USAO,SW2O,CU1O)" 17 S PROMPT=$P($G(@UREFA@(1)),D) S NAAM=$G(@UREFA@(31)) 19 I '$L(NAAM) S NAAM=$$FORMAT^cABCDL(PROMPT) ; 2 S OMS=$G(@UREFA@(32)) I '$L(OMS) I $L($G(@UREFA@(16))) S OMS=""_$G(@UREFA@(16))_"" ; default : B-index in omschrijving ; type 21 S TYPE=$G(@UREFA@(33)) I '$L(TYPE) D 22 . S TYPE=+$G(@UREFA@(4)) I TYPE=2 S TYPE=3 23 . I TYPE=1,($G(@UREFA@(11))["1."".""")!($G(@UREFA@(11))["1"".""") S TYPE=2 ; num, met decimalen 25 . I $L($G(@UREFA@(18))) D .. N DMS2,UREFS .. S DMS2=@UREFA@(18) .. S UREFS="^DMS(Q,DMS2)" I '$D(@UREFS)!'$D(@UREFS@(0)) S UREFS="^DMS(0,DMS2)" .. Q:'$L($P($G(@UREFS@(0)),D,12)) .. S TYPE=$P(@UREFS@(0),D,12) ; type = andere klasse .. I $L(TYPE) S TYPE=5 ; karakteristieken ; verplicht (1 = ja) 27 S VERPL=$G(@UREFA@(34)) 29 I '$L(VERPL) S VERPL=0 D . I ($G(@UREFA@(11))["$L(K)")!($G(@UREFA@(11))["$l(K)")!($G(@UREFA@(11))["K'=""""") S VERPL=1 ; ; geïndexeerd: via DMC, niet wijzigbaar 3 S IND=$G(@UREFA@(16)),IND=$$IND(IND,DMS) ; uniek 31 S UNIEK=$G(@UREFA@(35)) I '$L(UNIEK) S UNIEK=$S(($G(@UREFA@(11))["$$UNIEK^cAFA1"):1,1:0) ; ; parameters: minimum en maximumlengte 33 S MINLEN="" I "01"[$G(TYPE) D . S MINLEN=$G(@UREFA@(36)) I '$L(MINLEN) S MINLEN=$S($G(VERPL):1,1:"") S MAXLEN="" I "01"[$G(TYPE) D 35 . S MAXLEN=$G(@UREFA@(37)) I '$L(MAXLEN) S MAXLEN=$G(@UREFA@(9)) 37 S SQLALT=$G(@UREFA@(38)) 38 S METHOD=$G(@UREFA@(39)) 381 S BEREKEND=$G(@UREFA@(40)) I '$L(BEREKEND) S BEREKEND=$S($G(@UREFA@(16))?3N:0,1:1) 382 S OBMETHOD=$G(@UREFA@(41)) ; 39 I $G(SW) D P^cAN230("DMA.MAP","DAM","DAM") I K="-" S K="" ; ; wegschrijven waarden 4 S (@UREFA@(31),U2(31))=$G(NAAM) 41 S (@UREFA@(32),U2(32))=$G(OMS) 43 S (@UREFA@(33),U2(33))=$G(TYPE) 45 S (@UREFA@(34),U2(34))=$G(VERPL) 47 S (@UREFA@(35),U2(35))=$G(UNIEK) 49 S (@UREFA@(36),U2(36))=$G(MINLEN) ; 5 S (@UREFA@(37),U2(37))=$G(MAXLEN) 51 S (@UREFA@(38),U2(38))=$G(SQLALT) 53 S (@UREFA@(39),U2(39))=$G(METHOD) 54 S (@UREFA@(40),U2(40))=$G(BEREKEND) 55 S (@UREFA@(41),U2(41))=$G(OBMETHOD) ; YZ Q ; ; rubrieken in B-indexen invullen FILL S B(1)=$G(PROMPT)_D_$G(NAAM)_D_$G(OMS)_D_$G(TYPE)_D_$G(VERPL)_D_$G(IND)_D_$G(UNIEK)_D_$G(MINLEN)_D S B(1)=B(1)_$G(MAXLEN)_D_$G(SQLALT)_D_$G(METHOD)_D_$G(BEREKEND)_D_$G(OBMETHOD) S U1=999,REFRESH=1 FILLZ Q ; input : B-index ; output = 1 indien er in de IND(B,DMS) N I1,OUT,UQC,USC S OUT=0 I B="" G INDZ D DMS^cAN000("UQC","USC",DMS) G INDZ:UQC=""!(USC="") S I1="" F S I1=$O(^DMC(UQC,USC,"INDEX",I1)) Q:I1=""!OUT D . I $P($G(^(I1)),D)=B S OUT=1 ; geïndexeerd I $G(@UREFA@(35)) S OUT=1 ; indien uniek: geïndexeerd INDZ Q OUT ; ; inputcontrole type ITYPE(IN,UQAO,USAO,SW2O,CU1O) N OUT S $ZT="TRAP^cAN000" S OUT=0 I "01234"[IN&$L(IN) S OUT=1 G ITYPEZ I IN=5 D . N UREFS,DMS . S DMS=$G(^DMA(UQAO,USAO,SW2O,CU1O,18)) . Q:DMS="" . S UREFS=$$UREFS^cABCDL(DMS) . S OUT=$S($L($$KLNAAM^cABCDL(UREFS,1)):$L($$KLNAAM^cABCDL(UREFS,1)),1:0) ITYPEZ Q OUT ; ; outputformaat type OTYPE(IN,UQAO,USAO,SW2O,CU1O) N OUT S $ZT="TRAP^cAN000" S OUT="" I "0\1\2\3\4"[IN S OUT=$P($T(@("T5"_QT)),U,2+IN) G OTYPEZ I IN=5 D ; klasse via utili . N UREFS,DMS . S DMS=$G(^DMA(UQAO,USAO,SW2O,CU1O,18)) . Q:DMS="" . S UREFS=$$UREFS^cABCDL(DMS) . S OUT=$$KLNAAM^cABCDL(UREFS,1) OTYPEZ Q OUT ; ; voor alle rubrieken van een DMA de mappingsvelden voor Caché gaan opzetten ALL(UQA,USA) N TDMS,PAG,RUBR,TUQC,TUSC S $ZT="TRAP^cAN000" ; ; eerst testen op licentie voor DMS (anders wordt de weigering voor elke rubriek op scherm getoond) S TDMS=$G(^DMA(UQA,USA,0,"DMS")) D DMS^cAN000("TUQC","TUSC",TDMS) G ALLZ:TUQC=""!(TUSC="") ; S PAG="0" F S PAG=$O(^DMA(UQA,USA,PAG)) Q:PAG="" D . S RUBR="" F S RUBR=$O(^DMA(UQA,USA,PAG,RUBR)) Q:RUBR="" D .. D ^cAB1021(UQA,USA,PAG,RUBR,0) S K=$P($T(@("T6"_QT)),U,2) D TXT^cAFA1(250) ALLZ Q ; ; mapping naar Caché voor DMA "wissen" CLEAR(UQA,USA) N PAG,RUBR,VNR S $ZT="TRAP^cAN000" S R="K\22\3\"_$P($T(@("T8"_QT)),U,2)_"\1\\"",-V""[K&$L(K)\\\1\\" D R0 G CLEARZ:",-"[K S PAG="0" F S PAG=$O(^DMA(UQA,USA,PAG)) Q:PAG="" D . S RUBR="" F S RUBR=$O(^DMA(UQA,USA,PAG,RUBR)) Q:RUBR="" D .. F VNR=31:1:50 K ^DMA(UQA,USA,PAG,RUBR,VNR) S K=$P($T(@("T7"_QT)),U,2) D TXT^cAFA1(250) CLEARZ Q ; ; indien in ^DMA veld op "berekend = ja" wordt gezet : andere velden op "neen" en blanco zetten BEREK(IN) ; I IN S UNIEK=0,IND=0 BEREKZ D FILL^cAB1021 S REFRESH=1 Q ; R0 S $P(R,D,12)=$T(+0) D ^cAN1000 Q ; v12 23.01.95 ; ZZ ; 18.05.01 - 11 u 18 * V7.86