<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="9" zv="Cache for UNIX (Linux Intel/32-bit) 5.0.20 (Build 6305)" ts="2006-09-24 12:02:17">
<Class name="BM.KundFiltPar">
<Description>
Kundenfilter Parameter</Description>
<ClassType>persistent</ClassType>
<StorageStrategy>Global</StorageStrategy>
<Super>SP.BaumatWWS</Super>
<TimeChanged>60490,35994.380738</TimeChanged>
<TimeCreated>59464,52111.628686</TimeCreated>
<ClassDefinitionError>0</ClassDefinitionError>

<Index name="ID">
<IdKey>1</IdKey>
<Properties>FIRMA,FILTER</Properties>
</Index>

<Property name="AENDDAT">
<Description>
Aenderungsdatum</Description>
<Type>DT.DateTxt7</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="AKTIV">
<Description>
Aktiv J oder N</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1"/>
</Property>

<Property name="BKBEZ">
<Description>
Kurzbezeichnung Bis</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="DATLAU">
<Description>
Letzter Auftrag Am</Description>
<Type>DT.DateTxt7</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="ERSTDAT">
<Description>
Erstellungsdatum</Description>
<Type>DT.DateTxt7</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="FBEZ">
<Description>
Filterbezeichnung</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="25"/>
</Property>

<Property name="FILTER">
<Description>
Filternummer</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="999999"/>
</Property>

<Property name="FIRMA">
<Description>
Firma</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="99"/>
</Property>

<Property name="KGRP">
<Description>
Kundengruppe</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="2"/>
</Property>

<Property name="KKART">
<Description>
Kundenkarte J oder N</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1"/>
</Property>

<Property name="MAHN">
<Description>
Mahnstufe</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="9"/>
</Property>

<Property name="PCODE">
<Description>
Personalcode</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="3"/>
</Property>

<Property name="PCODE1">
<Description>
Personalcode Eins</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="3"/>
</Property>

<Property name="SORT">
<Description>
Sortierung</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1"/>
</Property>

<Property name="SPERRE">
<Description>
Sperre Kredit</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1"/>
</Property>

<Property name="STATUS">
<Description>
Status</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="9"/>
</Property>

<Property name="UMSBIS">
<Description>
Umsatz bis</Description>
<Type>DT.Currency</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="99999999.990000"/>
<Parameter name="SCALE" value="2"/>
</Property>

<Property name="UMSVON">
<Description>
Umsatz von</Description>
<Type>DT.Currency</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="99999999.990000"/>
<Parameter name="SCALE" value="2"/>
</Property>

<Property name="VKBEZ">
<Description>
Kurzbezeichnung Von</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Query name="Liste">
<Type>%SQLQuery</Type>
<FormalSpec>Firma:%String</FormalSpec>
<SqlQuery>SELECT %ID,AENDDAT,BKBEZ,DATLAU,ERSTDAT,FBEZ,FILTER,AKTIV,FIRMA,KGRP,KKART,MAHN,PCODE,PCODE1,SORT,SPERRE,STATUS,UMSBIS,UMSVON,VKBEZ FROM KundFiltPar
 WHERE (FIRMA = :Firma)
 ORDER BY AENDDAT DESC</SqlQuery>
<Parameter name="CONTAINID" value="1"/>
</Query>

<Storage name="Global">
<Type>%CacheSQLStorage</Type>
<StreamLocation>^BM.KundFiltParS</StreamLocation>
<SQLMap name="Nadlinger">
<Type>data</Type>
<Global>^BZF</Global>
<Structure>delimited</Structure>
<Subscript name="1">
<Expression>{FIRMA}</Expression>
</Subscript>
<Subscript name="2">
<Expression>"K"</Expression>
</Subscript>
<Subscript name="3">
<Expression>{FILTER}</Expression>
</Subscript>
<Subscript name="4">
<Expression>0</Expression>
</Subscript>
<Data name="AENDDAT">
<Delimiter>"`"</Delimiter>
<Piece>11</Piece>
</Data>
<Data name="AKTIV">
<Delimiter>"`"</Delimiter>
<Piece>6</Piece>
</Data>
<Data name="BKBEZ">
<Delimiter>"`"</Delimiter>
<Piece>5</Piece>
</Data>
<Data name="DATLAU">
<Delimiter>"`"</Delimiter>
<Piece>14</Piece>
</Data>
<Data name="ERSTDAT">
<Delimiter>"`"</Delimiter>
<Piece>12</Piece>
</Data>
<Data name="FBEZ">
<Delimiter>"`"</Delimiter>
<Piece>2</Piece>
</Data>
<Data name="KGRP">
<Delimiter>"`"</Delimiter>
<Piece>7</Piece>
</Data>
<Data name="KKART">
<Delimiter>"`"</Delimiter>
<Piece>10</Piece>
</Data>
<Data name="MAHN">
<Delimiter>"`"</Delimiter>
<Piece>8</Piece>
</Data>
<Data name="PCODE">
<Delimiter>"`"</Delimiter>
<Piece>13</Piece>
</Data>
<Data name="PCODE1">
<Delimiter>"`"</Delimiter>
<Piece>15</Piece>
</Data>
<Data name="SORT">
<Delimiter>"`"</Delimiter>
<Piece>3</Piece>
</Data>
<Data name="SPERRE">
<Delimiter>"`"</Delimiter>
<Piece>9</Piece>
</Data>
<Data name="STATUS">
<Delimiter>"`"</Delimiter>
<Piece>1</Piece>
</Data>
<Data name="UMSBIS">
<Delimiter>"`"</Delimiter>
<Piece>17</Piece>
</Data>
<Data name="UMSVON">
<Delimiter>"`"</Delimiter>
<Piece>16</Piece>
</Data>
<Data name="VKBEZ">
<Delimiter>"`"</Delimiter>
<Piece>4</Piece>
</Data>
</SQLMap>
</Storage>
</Class>
<Class name="BM.LiefFiltPar">
<Description>
Lieferantenfilter Parameter</Description>
<ClassType>persistent</ClassType>
<StorageStrategy>Global</StorageStrategy>
<Super>SP.BaumatWWS</Super>
<TimeChanged>60490,36005.117474</TimeChanged>
<TimeCreated>59464,52111.988068</TimeCreated>
<ClassDefinitionError>0</ClassDefinitionError>

<Index name="ID">
<IdKey>1</IdKey>
<Properties>FIRMA,FILTER</Properties>
</Index>

<Property name="AENDDAT">
<Description>
Aenderungsdatum</Description>
<Type>DT.DateTxt7</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="BKBEZ">
<Description>
Kurzbezeichnung Bis</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="DATEST">
<Description>
Datum letzter Einkauf</Description>
<Type>DT.DateTxt7</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="ERSTDAT">
<Description>
Erstellungsdatum</Description>
<Type>DT.DateTxt7</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="FBEZ">
<Description>
Filterbezeichnung</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="25"/>
</Property>

<Property name="FILTER">
<Description>
Filternummer Lieferant</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="999999"/>
</Property>

<Property name="FIRMA">
<Description>
Firma</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="99"/>
</Property>

<Property name="LAKTIV">
<Description>
Lieferant Aktiv J oder N</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1"/>
</Property>

<Property name="LCODE">
<Description>
Liefercode</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1"/>
</Property>

<Property name="LGELJN">
<Description>
Lieferant gelistet J oder N</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1"/>
</Property>

<Property name="PCODE">
<Description>
Personalcode</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="3"/>
</Property>

<Property name="SKTO">
<Description>
Sammelkonto</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="99"/>
</Property>

<Property name="SORT">
<Description>
Sortierung</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1"/>
</Property>

<Property name="STATUS">
<Description>
Status</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXVAL" value="9"/>
</Property>

<Property name="VKBEZ">
<Description>
Kurzbezeichnung Von</Description>
<Type>DT.String</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Query name="Liste">
<Type>%SQLQuery</Type>
<FormalSpec>Firma:%String</FormalSpec>
<SqlQuery>	   
SELECT %ID,AENDDAT,BKBEZ,DATEST,ERSTDAT,FBEZ,FILTER,FIRMA,LAKTIV,LCODE,LGELJN,PCODE,SKTO,SORT,STATUS,VKBEZ FROM LiefFiltPar
 WHERE (FIRMA = :Firma)
 ORDER BY AENDDAT DESC</SqlQuery>
<Parameter name="CONTAINID" value="1"/>
</Query>

<Storage name="Global">
<Type>%CacheSQLStorage</Type>
<StreamLocation>^BM.LiefFiltParS</StreamLocation>
<SQLMap name="Nadlinger">
<Type>data</Type>
<Global>^BZF</Global>
<Structure>delimited</Structure>
<Subscript name="1">
<Expression>{FIRMA}</Expression>
</Subscript>
<Subscript name="2">
<Expression>"L"</Expression>
</Subscript>
<Subscript name="3">
<Expression>{FILTER}</Expression>
</Subscript>
<Subscript name="4">
<Expression>0</Expression>
</Subscript>
<Data name="AENDDAT">
<Delimiter>"`"</Delimiter>
<Piece>9</Piece>
</Data>
<Data name="BKBEZ">
<Delimiter>"`"</Delimiter>
<Piece>5</Piece>
</Data>
<Data name="DATEST">
<Delimiter>"`"</Delimiter>
<Piece>13</Piece>
</Data>
<Data name="ERSTDAT">
<Delimiter>"`"</Delimiter>
<Piece>10</Piece>
</Data>
<Data name="FBEZ">
<Delimiter>"`"</Delimiter>
<Piece>2</Piece>
</Data>
<Data name="LAKTIV">
<Delimiter>"`"</Delimiter>
<Piece>6</Piece>
</Data>
<Data name="LCODE">
<Delimiter>"`"</Delimiter>
<Piece>8</Piece>
</Data>
<Data name="LGELJN">
<Delimiter>"`"</Delimiter>
<Piece>7</Piece>
</Data>
<Data name="PCODE">
<Delimiter>"`"</Delimiter>
<Piece>11</Piece>
</Data>
<Data name="SKTO">
<Delimiter>"`"</Delimiter>
<Piece>12</Piece>
</Data>
<Data name="SORT">
<Delimiter>"`"</Delimiter>
<Piece>3</Piece>
</Data>
<Data name="STATUS">
<Delimiter>"`"</Delimiter>
<Piece>1</Piece>
</Data>
<Data name="VKBEZ">
<Delimiter>"`"</Delimiter>
<Piece>4</Piece>
</Data>
</SQLMap>
</Storage>
</Class>
<Routine name="BMKMU1" type="INT" languagemode="0" timestamp="60517,42625"><![CDATA[
BMKMU1	;KRA;KMessage Varaiblenauswertungen
 
 
GET1(x,def)
	S $ZT="ERR1^BMKMU1"
	x x
	s txt=$$ASCIANSI^%UML($TR(txt,"""",""))
	q 1
ERR1
	s txt=def
	q 0
 
FAXDW(FIRMA,PCODE)
 N DW,FAXDW,PNR,PR
 S PR=$P($G(^PA(FIRMA,340,"FAXSERVER","FaxPr")),"`",2)
 S (DW,FAXDW)=""
 S PNR="" I $D(^PA(FIRMA,100,PCODE))#2 S DW=$P(^(PCODE),%,6),PNR=$P(^(PCODE),"`",2)
 I $L(PNR),$D(^PERS(FIRMA,PNR,0))#2 S FAXDW=$P(^(0),"`",14)
 
 I $L(FAXDW) Q PR_FAXDW
 Q PR_DW
	
BAUMANG(FIRMA,OFFNR1)
 N (FIRMA,OFFNR1)
 
 d ^%XTT
 S ^FA($J)=^FA(0)
 S $P(^MENUE(0,$J),%,3)="NADLINGER"
 S FIL=0
 K ^XW($J)
 
 S WWSHW="EUR",FAKTEUR=1
 I $L(OFFNR1),$D(^OFF(FIRMA,FIL,1,OFFNR1,1))#2 S AD=^(1)
 E  q ""
 S (OFFSTAT,OFFSTATO)=$P(AD,%,1),KNR=$P(AD,%,2),BAU=$P(AD,%,3),OFFTYP=$P(AD,%,4),PERSAUF=$P(AD,%,5),PERSERF=$P(AD,%,6),PERSUEB=$P(AD,%,7),DATUMAUF=$P(AD,%,8),DATUMERF=$P(AD,%,9),DATUMUEB=$P(AD,%,10)
 S AUNR=$P(AD,%,11),VART=$P(AD,%,12),AUFNART=$P(AD,%,13),UEBGART=$P(AD,%,14),OKONTPER=$P(AD,%,15),OZK=$P(AD,%,16),LZEITR=$P(AD,%,17),GESRAB=$P(AD,%,18),UEBSOKO=$P(AD,%,19),AKPRJN=$P(AD,%,20),INTEXT=$P(AD,%,21)
 S:GESRAB="" GESRAB="N"
 S BEZOTYP="" I $D(^OFFP(FIRMA,3,OFFTYP))#2 S BEZOTYP=$P(^(OFFTYP),%,1)
 
 S %O=" "
 D KNR^NAOA
 D BAU^NAOA
 S OFFNR=OFFNR1
 d HOLVORD^NAOA
 
 S BERJN="B"
 S ANRJN="J"
 S NULLJN="J"
 S WHRG=WWSHW
 S WWSNW=$S(WWSHW="EUR":"ATS",1:"EUR")
 D POSIT^NAOAB
 
 S CNT=0
 K ^XW($J)
 S KAP=""
 S POS="" F  S POS=$O(^XWOFF($J,3,POS)) Q:POS=""  D
 . I $D(^(POS,1))#2 S AD1=^(1)
 . E  Q
 . I $D(^(2))#2 S AD2=^(2)
 . E  Q
 . I $P(AD1,%,1)'="A" Q
 . I $P(AD1,%,2)'= KAP D
 .. I KAP'="" D
 ... S KAPBEZ="" I $D(^OFFP(FIRMA,2,KAP))#2 S KAPBEZ=$$ASCIANSI^%UML($P(^(KAP),%,1))
 ... S CNT=CNT+1
 ... S ^XW($J,CNT)="KE"_"|"_KAPBEZ_"|"_$FN($P(KTAB(KAP,"EUR"),%,6),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,7),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,8),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,9),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,9)+$P(KTAB(KAP,"EUR"),%,6),".",2)
 .. S KAP=$P(AD1,%,2)
 .. S KAPBEZ="" I $D(^OFFP(FIRMA,2,KAP))#2 S KAPBEZ=$$ASCIANSI^%UML($P(^(KAP),%,1))
 .. S CNT=CNT+1
 .. S ^XW($J,CNT)="KA"_"|"_KAPBEZ
 . S VPI=$P(AD1,%,7),VRM=$P(AD1,%,8),VPM=$P(AD1,%,9)
 . S MEVKE=$J($P(AD2,%,7)*VPI+$P(AD2,%,9),0,4)
 . I $P(AD2,%,10)=$P(AD2,%,12) S ME=$FN(MEVKE,".",4)
 . E  S ME=$FN(MEVKE,".",4)_" "_$P(AD2,%,10)_" = "_$FN($P(AD2,%,11),".",4)
 . s VKEXCL=$P(AD2,%,19),RAB1=$P(AD2,%,20),RAB2=$P(AD2,%,21),VKEXCLRA=$P(AD2,%,22),RABJN=$P(AD2,%,23)
 . S RAB=""
 . I RABJN="%",GESRAB="N" D
 .. I +RAB2 S RAB="- "_$FN(RAB1,".",1)_" - "_$FN(RAB2,".",1)_" %"
 .. E  I +RAB1 S RAB="- "_$FN(RAB1,".",1)_" %"
 . S ANR=$P(AD2,%,2),BEZ1=$P(AD2,%,3),BEZ2=$P(AD2,%,4),BEZ3=$P(AD2,%,5),ATYP=$P(AD2,%,28)
 . S VKEX1=VKEXCLRA I GESRAB="J" S VKEX1=$J(100-RAB1/100*VKEXCL,0,4)
 . S:+VPM=0 VPM=1
 . s SUM=$J(MEVKE*VRM/VPM*VKEX1,0,2)
 . S BEZ=BEZ1_" "_BEZ2_" "_BEZ3
 . S ANRTXT=""
 . S:ANRJN="J" ANRTXT=ANRTXT_$E(1000000+ANR,2,7)
 . I $P($G(^PA(FIRMA,35,ATYP)),%,21)="J" S ANRTXT=ANRTXT_"  S E T"
 . E  S ANRTXT=ANRTXT_" "_ATYP
 . S I="" F  S I=$O(^XWOFF($J,3,POS,3,I)) Q:I=""  S BEZ=BEZ_$C(10)_" "_^(I)
 . S BEZ=$$ASCIANSI^%UML(BEZ)
 . S CNT=CNT+1
 . S ^XW($J,CNT)="P"_"|"_""_"|"_ANRTXT_"|"_BEZ_"|"_ME_"|"_$P(AD2,%,12)_"|"_$FN($P(AD2,%,22),".",4)_"|"_RAB_"|"_$FN(SUM,".",2)
 
 S KAPBEZ="" I $D(^OFFP(FIRMA,2,KAP))#2 S KAPBEZ=$$ASCIANSI^%UML($P(^(KAP),%,1))
 S CNT=CNT+1
 S ^XW($J,CNT)="KE"_"|"_KAPBEZ_"|"_$FN($P(KTAB(KAP,"EUR"),%,6),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,7),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,8),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,9),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,9)+$P(KTAB(KAP,"EUR"),%,6),".",2)
 
 s KANZ=0
 s KAP="" F  S KAP=$O(KTAB(KAP)) Q:KAP=""  D
 . Q:$P(KTAB(KAP),%,4)'="J"
 . S KANZ=KANZ+1
 s CNT=CNT+1
 S ^XW($J,CNT)="GA"_"|"_KANZ
 
 s KAP="" F  S KAP=$O(KTAB(KAP)) Q:KAP=""  D
 . Q:$P(KTAB(KAP),%,4)'="J"
 . S KAPBEZ="" I $D(^OFFP(FIRMA,2,KAP))#2 S KAPBEZ=$$ASCIANSI^%UML($P(^(KAP),%,1))
 . S CNT=CNT+1
 . S ^XW($J,CNT)="GP"_"|"_KAPBEZ_"|"_$FN($P(KTAB(KAP,"EUR"),%,6),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,7),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,8),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,9),".",2)_"|"_$FN($P(KTAB(KAP,"EUR"),%,9)+$P(KTAB(KAP,"EUR"),%,6),".",2)
 
 S SEXCL=$$GSUM^NAOAI(1,"JS","EUR")
 S SINCL=$$GSUM^NAOAI(2,"JS","EUR")
 S SMWST=$$GSUM^NAOAI(3,"JS","EUR")
 S CNT=CNT+1
 S ^XW($J,CNT)="GE"_"|"_""_"|"_$FN(SEXCL,".",2)_"|"_$FN(SINCL,".",2)_"|"_$FN(SMWST,".",2)
 
 Q $J
 
	
REKLHAGEBAU(FIRMA,RNR)
 N (FIRMA,RNR)
 
 S $ZT="ERR2^BMKMU1"
 d ^%XTT
 S $P(^MENUE(0,$J),%,3)="NADLINGER"
 S ^FA($J)=^FA(0)
 S FIL=0
 S DEV=51
 s ^%DRU(3,$J)="/dev/null"
 S VAR=FIRMA_%_FIL_%_"ER"_%_RNR_%_DEV_%_0_%_"N"
 S TEXT="Druck Rechnungskorrektur",PROG="DRUCK^BMBUK"
 D @PROG
 K ^%DRU(3,$J)
 K ^FA($J)
 K ^%MENUE($J)
 k obj
 Q $J
 
 
ERR2
 Q ""
]]></Routine>
<Routine name="BMKMU2" type="INT" languagemode="0" timestamp="60426,76346"><![CDATA[
BMKMU2	;KRA;Miniprogramme für KMesaage Text/Feldzugriffe
 
 
HGGESNR(FIRMA,LNR)
 
 N FIL
 S FIL=0
 I $D(^BZ(FIRMA,"L",+LNR,1))#2,$P(^(1),"`",18)'="B",$D(^PA(FIRMA,110,FIL))#2 S HGGN=$P(^(FIL),"`",21),ILN=$P(^(FIL),"`",23)
 I $D(^BZ(FIRMA,"L",+LNR,1))#2,$P(^(1),"`",18)="B",$D(^PA(FIRMA,110,FIL))#2 S HGGN=$P(^(FIL),"`",20),ILN=$P(^(FIL),"`",22)
 
 q HGGN
 
 
VKEXCL(FIRMA,ANR,KNR)
 
 N (FIRMA,ANR,KNR)
 d ^%XTT
 I $G(KNR)="" S KNR1=99999
 E  s KNR1=+KNR
 S VAR=FIRMA_%_ANR_%_%DR_%_KNR1_%_0_%_""_%_"LA"_%_1_%_"E"
 S $P(VAR,%,17)=4 ;Runden auf 4 Stellen
 D ^BMVKP
 Q $P(VAR,%,8)
 
VKINCL(FIRMA,ANR,KNR)
 
 N (FIRMA,ANR,KNR)
 d ^%XTT
 I $G(KNR)="" S KNR1=99999
 E  s KNR1=+KNR
 S VAR=FIRMA_%_ANR_%_%DR_%_KNR1_%_0_%_""_%_"LA"_%_1_%_"I"
 S $P(VAR,%,17)=4 ;Runden auf 4 Stellen
 D ^BMVKP
 Q $P(VAR,%,8)
]]></Routine>
<Routine name="BMPL" type="INT" languagemode="0" timestamp="60531,78823"><![CDATA[
BMPL ;CFS@TAYLORIX;17/09/92 18:17:56;PERSONALSTAMM;1.00;MSM-UNIX,<3.0.2>;  [ 03/14/98  9:17 AM ]
 ;D PW^NAPPA E  Q
ANF D ^BMINIT
 S SW=1
 S (PCODE,PNAME,PNR,OPNR,PASSWORT,KNR,ABTNR,ABTBEZ,DW,KOST,BERGRP)=""
 S (PROVJN,PROVFAKT,PRAE,PRAEBEZ,PROVBAS,F01)=""
 S (TITEL,NAME,BRANCH,STRASSE,LAND,PLZ,ORT,GDAT,SAMMVKJN)="",AKTIV="J",UEBSTJN="N",KASSAJN="N",WJJN="N",FAJN="N"
 I $D(^ANREG($J)) S PCODE=$P(^($J),%,1),SW=+$P(^($J),%,2) S %O="",X1="KNR" D PCODE
 D ^BMP24
 I SW=1,F01="A"!%E G ENDE
 I '%E,F01'="A" D SPEICH I F01="S" K ^ANREG($J) G ANF
 S PRG=$S(F01="B":"NAPPRB",1:"")
 S $P(^ANREG($J),%,1)=PCODE
 I F01="B" S ^ANREG($J)=PCODE_%_2 D ^%MENUEB I $T D START S ^ANREG($J)=PCODE_%_1 S PRG="BMPL" D ^%MENUEB G ANF
 I SW=2 Q
 K ^ANREG($J) ZD
 Q
ENDE ;
 K ^XW($J),^ANREG($J)
 K
 ZD
 Q
START N (PRG)
 D @("^"_PRG)
 Q
 ;
PCODE ;
 ZA ^PA(FIRMA,PCODE):3
 E  S %M="Mitarbeiterdaten werden gerade bearbeitet" Q
 I $D(%O),$L(PCODE),%O=PCODE Q
 I PCODE?.N S:$D(^PA(FIRMA,101,+PCODE)) PCODE=^(+PCODE)
 S AD="````````N`1`1" S:$D(^PA(FIRMA,100,PCODE)) AD=^(PCODE)
 S PNAME=$P(AD,%,1),(OPNR,PNR)=$P(AD,%,2),PASSWORT=$P(AD,%,3),KNR=$P(AD,%,4)
 S ABTNR=$P(AD,%,5),DW=$P(AD,%,6),KOST=$P(AD,%,7),BERGRP=$P(AD,%,8)
 S PROVJN=$P(AD,%,9),PROVFAKT=$P(AD,%,10),PRAE=$P(AD,%,11),PROVBAS=$P(AD,%,12)
 S GDAT=$P(AD,%,13),AKTIV=$P(AD,%,14),MGNR=$P(AD,%,15),UEBSTJN=$P(AD,%,16),KASSAJN=$P(AD,%,17),BANKPNR=$P(AD,%,18)
 S FAJN=$P(AD,%,19),WJJN=$P(AD,%,20),TUNEXIT=$P(AD,%,21),SAMMVKJN=$P(AD,%,22)
 S:UEBSTJN="" UEBSTJN="N"
 S:SAMMVKJN="" SAMMVKJN="N"
 D KNR,ABTNR,PRAE
 S APASS=PASSWORT,AD=""
 S EMAIL="" I $L(PNR),$D(^PERS(FIRMA,PNR,0))#2 S EMAIL=$P(^(0),%,13)
 Q
 ;
PASSWORT Q:%O=PASSWORT
 Q:PASSWORT=""
 S SWPW=0
 S USER="" F  S USER=$O(^PA(FIRMA,100,USER)) Q:USER=""  D  Q:+SWPW
 . I USER'=PCODE,$P(^(USER),%,3)=PASSWORT S SWPW=1 Q
 I +SWPW S %M="Passwort bereits f}r User   "_USER_"   vergeben" Q
 Q
MGNR ;
 Q:MGNR=""
 I '$D(^PA(FIRMA,3,MGNR)) S %M="Mitgliedernummer nicht vorhanden !" Q
 Q
ABTNR ;
 S ABTBEZ="" Q:ABTNR=""
 I '($D(^PA(FIRMA,2,ABTNR))#2) S:'$L(AD) %M="Abteilung nicht vorhanden !" Q
 S NE=^(ABTNR),ABTBEZ=$P(NE,%,1) S:'$L(KOST) KOST=$P(NE,%,2) S NE=""
 Q
KOST ;
 Q:KOST=""
 I '$D(^B(FIRMA,"X",KOST)) S %M="Kostenstelle nicht vorhanden !" Q
 Q
KNR ;
 S AD="" I $L(KNR),'$D(^B(FIRMA,"K",KNR,1)),'$D(^BZI(FIRMA,"K",KNR,1))
 E  S:$L(KNR) AD=^(1)
 I X1="KNR",AD="" S %M="Kundennummer nicht vorhanden !" Q
 S TITEL=$P(AD,%,1),NAME=$P(AD,%,2),BRANCH=$P(AD,%,3),STRASSE=$P(AD,%,4)
 S LAND=$P(AD,%,5),PLZ=$P(AD,%,6),ORT=$P(AD,%,7)
 Q
PRAE ;
 S PRAEBEZ="" Q:PRAE=""
 Q
 I '($D(^PA(FIRMA,105,PRAE))#2) S:'$L(AD) %M="Pr{mienschl}ssel nicht vorhanden !" Q
 S PRAEBEZ=$P(^(PRAE),%,1)
 Q
SPEICH ;
 I $L(APASS) K ^MENUE(0,"ACCESS1",FIRMA,APASS)
 S AD="" I $D(^PA(FIRMA,100,PCODE))#2 S AD=^(PCODE)
 I PROVJN="N" S (PROVFAKT,PROVBAS)=""
 K:$L(OPNR) ^PA(FIRMA,101,OPNR)
 S ^PA(FIRMA,101,PNR)=PCODE S:+FIRMA=1 ^PA(2,101,PNR)=PCODE
 S ^PA(FIRMA,100,PCODE)=PNAME_%_PNR_%_PASSWORT_%_KNR_%_ABTNR_%_DW_%_KOST_%_BERGRP_%_PROVJN_%_PROVFAKT_%_PRAE_%_PROVBAS_%_GDAT_%_AKTIV_%_MGNR_%_UEBSTJN_%_KASSAJN_%_BANKPNR_%_FAJN_%_WJJN_%_TUNEXIT_%_SAMMVKJN
 S:+FIRMA=1 ^PA(2,100,PCODE)=^PA(FIRMA,100,PCODE)
 I AKTIV'=$P(AD,%,14) S ^PA(FIRMA,103,PCODE,$H)=^%I($J)_%_PERSONAL_%_$P(AD,%,14)_%_AKTIV
 I $P(AD,%,14)'=AKTIV!($P(AD,%,17)'=KASSAJN)!($P(AD,%,1)'=PNAME)!($P(AD,%,3)'=PASSWORT)!($P(AD,%,8)'=BERGRP) D
 . I AKTIV="J",KASSAJN="J" S TR="P.07"_%_PCODE D ^BMVSEND Q
 . S TR="P.08"_%_PCODE d ^BMVSEND
 ;
 I $$GET^BMXOBJ("FAXSERVER","Output")="XML",$$GET^BMXOBJ("FAXSERVER","PclPfad")'="" d
 . ;XML-Schnittstelle für KMessage
 . S FAXDW=$P(^PERS(FIRMA,PNR,0),%,14)
 . I FAXDW="" S FAXDW=DW
 . S DOMAIN=$$GET^BMXOBJ("EMAIL","DOMAIN")
 . s faxdir=$$GET^BMXOBJ("FAXSERVER","PclPfad")
 . s faxpr=$$GET^BMXOBJ("FAXSERVER","FaxPr")
 . s faxprddijn=$$GET^BMXOBJ("FAXSERVER","FaxPrDDIJN")
 . I $E(faxdir,$L(faxdir))'="/" s faxdir=faxdir_"/"
 . s file=faxdir_"temp"_$J_$TR($H,",","")_".xml"
 . s file1=faxdir_"user"_$J_$TR($H,",","")_".xml"
 . o file:"WN"
 . u file
 . w "<?xml version=""1.0"" encoding=""ISO-8859-1"" ?>",!
 . w "<faxuser>",!
 . w "<user site=""D"_$$ASCIANSI^%UML($E(100+FIRMA,2,3)_$J(ABTNR,2)_$J(PCODE,3))_""">",!
 . w "<name>",$$ASCIANSI^%UML(PNAME),"</name>",!
 . w "<tel>","[2]-",+DW,"</tel>",!
 . w "<fax>","[2]-",faxpr,FAXDW,"</fax>",!
 . i AKTIV="J" D
 .. i faxprddijn="J" w "<msnddi>",faxpr,FAXDW,"</msnddi>",!
 .. e  w "<msnddi>",FAXDW,"</msnddi>",!
 . i AKTIV'="J" w "<msnddi></msnddi>",!
 . w "<email>",EMAIL_"@"_DOMAIN,"</email>",!
 . w "<password>",$$ASCIANSI^%UML(PASSWORT),"</password>",!
 . w "</user>",!
 . w "</faxuser>",!
 . c file
 . s x=$$JOBWAIT^%HOSTCMD("chmod 777 "_file)
 . s x=$$JOBWAIT^%HOSTCMD("mv "_file_" "_file1)
 Q
]]></Routine>
<Routine name="BMSMS" type="INT" languagemode="0" timestamp="60432,63850"><![CDATA[
BMSMS	;KRA;SMS-Senden
 
 
	d ^BMINIT
	S (AUNR,KTXT)="",KNR=" "
	d ^BMX13
	I F01="A"!%E Q
	D SEND(FIRMA,PCODE,RUFNR,TEXT)
	q
 
AUNR
	I $D(^AU(FIRMA,FIL,0,AUNR,0))#2 S KNR1=$P(^(0),%,2),DATUM=$P(^(0),%,4),PCODE=$P(^(0),%,5),RUFNR=$P(^(0),%,11)
	E  S %M="Auftrag nicht gespeichert" Q
	S NAME=$P($G(^B(FIRMA,"K",KNR1,1)),%,2)
	S ANR=$P($G(^B(FIRMA,"K",KNR1,1)),%,1)
	S KTXT=KNR1_" "_NAME_"  vom "_$$TXT8^%LN200(DATUM)
	D PCODE
	S TXTNR=$$GET^BMXOBJ("SMS","KommTxtnr")
	S TEXT=""
	S I="" F  S I=$O(^PA(FIRMA,30,TXTNR,1,I)) Q:I=""  S TEXT=TEXT_^(I)
	I $F(TEXT,"$AUNR$") S TEXT=$P(TEXT,"$AUNR$",1)_AUNR_$P(TEXT,"$AUNR$",2)
	I $F(TEXT,"$NAME$") S TEXT=$P(TEXT,"$NAME$",1)_ANR_" "_NAME_$P(TEXT,"$NAME$",2)
	I $F(TEXT,"$aunr$") S TEXT=$P(TEXT,"$aunr$",1)_AUNR_$P(TEXT,"$aunr$",2)
	I $F(TEXT,"$name$") S TEXT=$P(TEXT,"$name$",1)_ANR_" "_NAME_$P(TEXT,"$name$",2)
	I $L($$UML(TEXT))>160 D
	. S TEXT="",I="" F  S I=$O(^PA(FIRMA,30,TXTNR,1,I)) Q:I=""  S TEXT=TEXT_^(I)
	. I $F(TEXT,"$AUNR$") S TEXT=$P(TEXT,"$AUNR$",1)_AUNR_$P(TEXT,"$AUNR$",2)
	. I $F(TEXT,"$NAME$") S TEXT=$P(TEXT,"$NAME$",1)_"Kunde"_$P(TEXT,"$NAME$",2)
	. I $F(TEXT,"$aunr$") S TEXT=$P(TEXT,"$aunr$",1)_AUNR_$P(TEXT,"$aunr$",2)
	. I $F(TEXT,"$name$") S TEXT=$P(TEXT,"$name$",1)_"Kunde"_$P(TEXT,"$name$",2)
	S TEXT=$TR($TR($$UML(TEXT),"&","u"),"#<>/","")
	
	S TXT1=$E(TEXT,1,60)
	S TXT2=$E(TEXT,61,120)
	S TXT3=$E(TEXT,121,160)
	Q
 
UML(S)
	N C,I
	S S1=""
	F I=1:1:$L(S) D
	. S C=$E(S,I)
	. I C=$C(92) S S1=S1_"OE"
	. E  I C=$C(91) S S1=S1_"AE"
	. E  I C=$C(93) S S1=S1_"UE"
	. E  I C=$C(126) S S1=S1_"SS"
	. E  I C=$C(124) S S1=S1_"OE"
	. E  I C=$C(123) S S1=S1_"AE"
	. E  I C=$C(125) S S1=S1_"UE"
	. E  S S1=S1_C
	S S1=$ZCONVERT(S1,"U")
	Q S1
 
RUFNR
	S RUFNR=$$ENTF(RUFNR)
	Q
	
PCODE	I $D(^PA(FIRMA,100,PCODE))#2 
		E  S %M="Mitarbeiter nicht gespeichert" Q
		S PNR="" i $L(PCODE),$D(^PA(FIRMA,100,PCODE))#2 S PNR=$P(^(PCODE),%,2)
		S EMAIL="" I $L(PNR),$D(^PERS(FIRMA,PNR,0))#2 s EMAIL=$P(^(0),%,13)
		i $L(EMAIL) s EMAIL=EMAIL_"@"_$P(^PA(FIRMA,340,"EMAIL","DOMAIN"),%,2)
		Q
		
ENTF(NR)
	s NR1=""
	F I=1:1:$L(NR) I $F("0123456789+",$E(NR,I)) s NR1=NR1_$E(NR,I)
	q NR1
 
SEND(FIRMA,pcode,rufnr,text)
	;
	S %=^%SY(0,"%")
	s email=$G(email)
	
	S %ABTNR="  " I $D(^PA(FIRMA,100,pcode))#2 S %ABTNR=$P(^(pcode),"`",5)
 	s %site="D"_$$ASCIANSI^%UML($E(100+FIRMA,2,3)_$J(%ABTNR,2)_$J(pcode,3))
 	
 	I email="" d
 	. S PNR="" i $L(pcode),$D(^PA(FIRMA,100,pcode))#2 S PNR=$P(^(pcode),%,2)
	. S email="" I $L(PNR),$D(^PERS(FIRMA,PNR,0))#2 s email=$P(^(0),%,13)
	. i $L(email) s email=email_"@"_$P(^PA(FIRMA,340,"EMAIL","DOMAIN"),%,2)
 	
	s %faxfile=$P(^PA(FIRMA,340,"SMS","SmsPfad"),"`",2)
 	I $E(%faxfile,$L(%faxfile))'="/" s %faxfile=%faxfile_"/"
 	s hh=$H
 	s %faxfile=%faxfile_"temp"_$J_$TR(hh,",","")_".xml"
 	o %faxfile:"WN" u %faxfile
 	w "<?xml version=""1.0"" encoding=""ISO-8859-1""?>",!
 	w "<faxfile>",!
 	w "<site>"_%site_"</site>",!
 	w "<datum>"_$ZD(+$H,3)_"</datum>",!
 	w "<zeit>"_$ZT($P($H,",",2))_"</zeit>",!
 	w "<betreff>"_$$ASCIANSI^%UML(text)_"</betreff>",!
 	w "<faxnr>"_$$FAXNUM^%DRUFAXSV(rufnr)_"</faxnr>",!
 	w "<site>"_%site_"</site>",!
 	i $L(email) w "<bemail>"_email_"</bemail>",!
 	w "<typ>S</typ>",!
 	I $L(text) w "<text><![CDATA["_text_"]]]]><![CDATA[></text>",!
 	w "</faxfile>",!
 	c %faxfile
 	s %faxfile1=$P(^PA(FIRMA,340,"SMS","SmsPfad"),"`",2)
 	I $E(%faxfile1,$L(%faxfile1))'="/" s %faxfile1=%faxfile1_"/"
	s %faxfile1=%faxfile1_"fax"_$J_$TR(hh,",","")_".xml"
	s x="mv "_%faxfile_" "_%faxfile1 s x=$$JOBWAIT^%HOSTCMD(x)
	q
	
STATUS(id)
	q (##class(MiniFax.Doks).%OpenId(id).Status=5)
	
	
XMLISO(S)
 N I,S1,C
 S S1=""
 F I=1:1:$L(S) D
 . S C=$A(S,I)
 . I C<32 Q
 . I $F("#<>/&",$C(C)) S S1=S1_"&#"_C_";"
 . E  S S1=S1_$C(C)
 Q $$ASCIANSI^%UML($TR(S1,"""",""))
]]></Routine>
<Class name="MiniFax.Baumat">
<ClassType>persistent</ClassType>
<ProcedureBlock>1</ProcedureBlock>
<Super>%Persistent</Super>
<TimeChanged>60490,45615.483681</TimeChanged>
<TimeCreated>59658,45031.414821</TimeCreated>
<ClassDefinitionError>0</ClassDefinitionError>

<Method name="ReklHagebau">
<ClassMethod>1</ClassMethod>
<FormalSpec>firma:%String,rnr:%String</FormalSpec>
<ReturnType>%String</ReturnType>
<Implementation><![CDATA[	Q $$REKLHAGEBAU^BMKMU1(firma,rnr)
]]></Implementation>
</Method>

<Method name="BaumAng">
<ClassMethod>1</ClassMethod>
<FormalSpec>firma:%String,offnr:%String</FormalSpec>
<ReturnType>%String</ReturnType>
<Implementation><![CDATA[	Q $$BAUMANG^BMKMU1(firma,offnr)
]]></Implementation>
</Method>

<Method name="GenFilter">
<ClassMethod>1</ClassMethod>
<FormalSpec>firma,kkr,filter,typ</FormalSpec>
<ReturnType>%String</ReturnType>
<Implementation><![CDATA[
	s job=$O(^XW(""),-1)+1
	s cnt=0
	s sort="" f  s sort=$O(^BZF(firma,kkr,filter,1,sort)) q:sort=""  d
	. s nr="" f  s nr=$O(^BZF(firma,kkr,filter,1,sort,nr)) q:nr=""  d
	.. s cnt=cnt+1,^XW(job,cnt)=..GetKonto(firma,kkr,nr,typ)
	
	q job_"|"_cnt
]]></Implementation>
</Method>

<Method name="GetKonto">
<ClassMethod>1</ClassMethod>
<FormalSpec>firma,kkr,konto,typ</FormalSpec>
<ReturnType>%String</ReturnType>
<Implementation><![CDATA[
	
	i konto="" q ""
	i kkr="" q ""
	
	s kkr=$ZCONVERT(kkr,"U")
	i $L(kkr),+konto,$D(^B(firma,kkr,+konto,1))#2 s ad=$$ASCIANSI^%UML(^(1))
	e  q ""
	
	s addr=""
	i typ="F" d
	. i kkr="L",$D(^BZ(firma,"L",+konto,3,1,0))#2 s addr=$P(^(0),"`",11) ;Aus 1.Lager
	. i addr="",$D(^B(firma,kkr,+konto,1))#2 s addr=$P(^(1),"`",10)
	 
	i typ="M" d
	. i kkr="L",$D(^BZ(firma,"L",+konto,3,1,0))#2 s addr=$P(^(0),"`",10) ;Aus 1.Lager
	. i addr="",$D(^B(firma,kkr,+konto,1))#2 s addr=$P(^(1),"`",9)
	
	i kkr="L" s anrede="Sehr geehrte Damen und Herren"
	i kkr="K" s anrede=$P($$ANF^NAYKURZA("K","",$P(ad,"`",1),$P(ad,"`",2),$P(ad,"`",3)),"`",3)
	
	s erg=(+konto)_$C(10)_"1"_$C(10)_addr_$C(10)_$P(ad,"`",1)_$C(10)_anrede_$C(10)_$P(ad,"`",2)_$C(10)_$P(ad,"`",3)_$C(10)_$P(ad,"`",4)_$C(10)_$P(ad,"`",5)_"-"_$P(ad,"`",6)_" "_$P(ad,"`",7)
	q erg
]]></Implementation>
</Method>

<Method name="GetBMName">
<ClassMethod>1</ClassMethod>
<FormalSpec>faxnr:%String,csi:%String</FormalSpec>
<ReturnType>%String</ReturnType>
<Implementation><![CDATA[
	
	S FIRMA=$P(^FA(0),"`",1)
	s faxnr=$$FAXUM^BMKA(faxnr)	
	
	s kbez=""
	i $D(^BP(0,"FAX",1,faxnr))#2 s f=faxnr,kbez=^(faxnr)
	e  d
	. s f=$O(^BP(0,"FAX",1,faxnr))
	. s l=$L(faxnr) i $L(f)<l s l=$L(f)
	. i $E(f,1,l)=$E(faxnr,1,l),$D(^BP(0,"FAX",1,f))#2 s kbez=^(f)
	
	i kbez="" s faxnr=$E(faxnr,1,$L(faxnr)-1) d
	. i $D(^BP(0,"FAX",1,faxnr))#2 s f=faxnr,kbez=^(faxnr)
	. e  d
	.. s f=$O(^BP(0,"FAX",1,faxnr))
	.. s l=$L(faxnr) i $L(f)<l s l=$L(f)
	.. i $E(f,1,l)=$E(faxnr,1,l),$D(^BP(0,"FAX",1,f))#2 s kbez=^(f)

	i kbez="" s faxnr=$E(faxnr,1,$L(faxnr)-1) d
	. i $D(^BP(0,"FAX",1,faxnr))#2 s f=faxnr,kbez=^(faxnr)
	. e  d
	.. s f=$O(^BP(0,"FAX",1,faxnr))
	.. s l=$L(faxnr) i $L(f)<l s l=$L(f)
	.. i $E(f,1,l)=$E(faxnr,1,l),$D(^BP(0,"FAX",1,f))#2 s kbez=^(f)

	i kbez="" s faxnr=$E(faxnr,1,$L(faxnr)-1) d
	. i $D(^BP(0,"FAX",1,faxnr))#2 s f=faxnr,kbez=^(faxnr)
	. e  d
	.. s f=$O(^BP(0,"FAX",1,faxnr))
	.. s l=$L(faxnr) i $L(f)<l s l=$L(f)
	.. i $E(f,1,l)=$E(faxnr,1,l),$D(^BP(0,"FAX",1,f))#2 s kbez=^(f)
	
	
	i kbez="" q csi
	s ad="" i $D(^BP(0,"FAX",0,kbez,f))#2 s ad=^(f)
	i ad="" q csi
	s name="" i $D(^B($P(ad,"`",1),$P(ad,"`",2),$P(ad,"`",3),1))#2 s name=$P(^(1),"`",2)
	i name="" q csi
	
	q $P(ad,"`",2)_$P(ad,"`",3)_"  "_$$ASCIANSI^%UML(name)
]]></Implementation>
</Method>

<Method name="GetBMFaxnr">
<ClassMethod>1</ClassMethod>
<FormalSpec>firma:%String,name2:%String</FormalSpec>
<ReturnType>%Integer</ReturnType>
<Implementation><![CDATA[
	s name1=$ZCONVERT(name2,"U")
	s name=""
	F i=1:1:$L(name1) D
	. s c=$E(name1,i,i)
	. i c="Ö" s name=name_"OE"
	. e  i c="Ä" s name=name_"AE"
	. e  i c="Ü" s name=name_"UE"
	. e  s name=name_c
	s name=$$ANSIASCI^%UML(name),ll=$L(name)
	K ^XW($J)
	s n=0
	I $D(^BP(0,"FAX",0,name)) S IND=$O(^BP(0,"FAX",0,name),-1)
	e  s IND=name
	f  s IND=$O(^BP(0,"FAX",0,IND)) q:IND=""  Q:$E(IND,1,ll)'=name  d  q:n>100
	. s faxnr="" f  s faxnr=$O(^BP(0,"FAX",0,IND,faxnr)) q:faxnr=""  d
	.. I $D(^(faxnr))#2 s AD=^(faxnr)
	.. e  Q
	.. s firma1=$P(AD,"`",1),kkr=$P(AD,"`",2),konto=$P(AD,"`",3),zus=$P(AD,"`",4)
	.. I firma=firma1,$L(firma1),$L(kkr),$L(konto),zus="",$D(^B(firma1,kkr,konto,1))#2 s name1=$$ASCIANSI^%UML($P(^(1),"`",2)_" "_$P(^(1),"`",3)),ort=$$ASCIANSI^%UML($P(^(1),"`",7))
	.. e  i firma=firma1,$L(firma1),$L(kkr),$L(konto),$L(zus),$D(^BZ(firma1,kkr,konto,3,$E(zus,2,99),0))#2 s name1=$$ASCIANSI^%UML($P(^(0),"`",3)_" "_$P(^(0),"`",4)),ort=$$ASCIANSI^%UML($P(^(0),"`",8))
	.. e  q
	.. s n=n+1
	.. i zus="" S ^XW($J,n)=kkr_$E(1000000+konto,2,7)_$C(10)_name1_$C(10)_faxnr_$C(10)_ort
	.. e  S ^XW($J,n)=kkr_$E(1000000+konto,2,7)_"/"_zus_$C(10)_name1_$C(10)_faxnr_$C(10)_ort
	q $J
]]></Implementation>
</Method>

<Method name="GetBMEMail">
<ClassMethod>1</ClassMethod>
<FormalSpec>firma:%String,name2:%String</FormalSpec>
<ReturnType>%Integer</ReturnType>
<Implementation><![CDATA[
	s name1=$ZCONVERT(name2,"U")
	s name=""
	F i=1:1:$L(name1) D
	. s c=$E(name1,i,i)
	. i c="Ö" s name=name_"OE"
	. e  i c="Ä" s name=name_"AE"
	. e  i c="Ü" s name=name_"UE"
	. e  s name=name_c
	s name=$$ANSIASCI^%UML(name),ll=$L(name)
	K ^XW($J)
	s n=0
	I $D(^BP(0,"EMAIL",0,name)) S IND=$O(^BP(0,"EMAIL",0,name),-1)
	e  s IND=name
	f  s IND=$O(^BP(0,"EMAIL",0,IND)) q:IND=""  Q:$E(IND,1,ll)'=name  d  q:n>100
	. s email="" f  s email=$O(^BP(0,"EMAIL",0,IND,email)) q:email=""  d
	.. I $D(^(email))#2 s AD=^(email)
	.. e  Q
	.. s firma1=$P(AD,"`",1),kkr=$P(AD,"`",2),konto=$P(AD,"`",3),zus=$P(AD,"`",4)
	.. s kname="" I firma=firma1,$L(firma1),$L(kkr),$L(konto),$D(^B(firma1,kkr,konto,1))#2 s kname=$$ASCIANSI^%UML($P(^(1),"`",2)_" "_$P(^(1),"`",3))
	.. I firma=firma1,$L(firma1),$L(kkr),$L(konto),zus="",$D(^B(firma1,kkr,konto,1))#2 s name1=kname,ort=$$ASCIANSI^%UML($P(^(1),"`",7))
	.. e  i firma=firma1,$L(firma1),$L(kkr),$L(konto),$L(zus),$E(zus,1)="L",$D(^BZ(firma1,kkr,konto,3,+$E(zus,2,99),0))#2 s name1=$$ASCIANSI^%UML($P(^(0),"`",3)_" "_$P(^(0),"`",4)),ort=$$ASCIANSI^%UML($P(^(0),"`",8))
	.. e  i firma=firma1,$L(firma1),$L(kkr),$L(konto),$L(zus),$E(zus,1)="K",$D(^BZ(firma1,kkr,konto,40,+$E(zus,2,99)))#2 s name1=$$ASCIANSI^%UML($P(^(+$E(zus,2,99)),"`",1)_" "_$P(^(+$E(zus,2,99)),"`",2)),ort=""
	.. e  q
	.. s n=n+1
	.. i zus="" S ^XW($J,n)=kkr_$E(1000000+konto,2,7)_$C(10)_name1_$C(10)_email_$C(10)_ort
	.. e  S ^XW($J,n)=kkr_$E(1000000+konto,2,7)_"/"_zus_$C(10)_name1_$C(10)_email_$C(10)_ort_$C(10)_kname
	q $J
]]></Implementation>
</Method>

<Method name="DeleteXW">
<ClassMethod>1</ClassMethod>
<FormalSpec>job:%String</FormalSpec>
<ReturnType>%Integer</ReturnType>
<Implementation><![CDATA[
	K ^XW(job)
	
	q 1
]]></Implementation>
</Method>

<Storage name="Default">
<Type>%CacheSQLStorage</Type>
<DataLocation>^XW</DataLocation>
<DefaultData>BaumatDefaultData1</DefaultData>
<IdLocation>^XW</IdLocation>
<IndexLocation>^XW</IndexLocation>
<StreamLocation>^MiniFax.BaumatS</StreamLocation>
<Data name="BaumatDefaultData">
<Attribute>INHALT</Attribute>
<Structure>node</Structure>
<Subscript/>
<Value name="1">
<Value>%%CLASSNAME</Value>
</Value>
<Value name="2">
<Value>INHALT</Value>
</Value>
</Data>
<Data name="BaumatDefaultData1">
<Structure>listnode</Structure>
<Subscript>"1"</Subscript>
<Value name="1">
<Value>%%CLASSNAME</Value>
</Value>
</Data>
</Storage>
</Class>
<Class name="MiniFax.DbZug">
<ClassType>persistent</ClassType>
<Super>%Persistent</Super>
<TimeChanged>60509,74640.020086</TimeChanged>
<TimeCreated>60428,38108.460827</TimeCreated>
<ClassDefinitionError>0</ClassDefinitionError>

<Property name="gruppe">
<Type>%String</Type>
</Property>

<Property name="name">
<Type>%String</Type>
</Property>

<Property name="bez">
<Type>%String</Type>
<Parameter name="MAXLEN"/>
</Property>

<Property name="typ">
<Description>
Typ 0=Konstante, 1=Ausdruck, 2=Cache Script</Description>
<Type>%Integer</Type>
</Property>

<Property name="zug">
<Type>%String</Type>
<Parameter name="MAXLEN"/>
</Property>

<Property name="editsw">
<Type>%Integer</Type>
</Property>

<Property name="checksw">
<Type>%Integer</Type>
</Property>

<Property name="signatursw">
<Type>%Integer</Type>
</Property>

<Property name="feldtyp">
<Type>%String</Type>
</Property>

<Index name="index1">
<Properties>gruppe,name</Properties>
</Index>

<Method name="GetInhalte">
<ClassMethod>1</ClassMethod>
<FormalSpec>ad:%String,firma:%String,pcode:%String</FormalSpec>
<ReturnType>%String</ReturnType>
<Implementation><![CDATA[
	N (ad,firma,pcode)
	
	K ^XW($J)
	S FIRMA=firma,PCODE=pcode,FIL=0,%="`"
	for dl=1:1:5 d  q:fsw=0
	. s fsw=0
	. for i=1:1:$L(ad,$C(255)) d
	.. s ad1=$P(ad,$C(255),i) q:ad1=""
	.. s fid=$P(ad1,"`",1),fld=$P(ad1,"`",2)
	.. s id=$P($P(fld,"|",1),".",2),inh=$P(fld,"|",2),cargo=$P(fld,"|",3,99)
	.. s obj=##class(MiniFax.DbZug).%OpenId(id)
	.. q:obj=""
	.. i obj.typ=0 s x="s "_obj.name_"="""_obj.zug_"""" x x s inh=obj.zug,txt=inh
	.. i obj.typ=1 d
	... i obj.checksw s txt=$S(inh="0":"§",1:"T") q
	... i obj.editsw,inh'="" s txt=inh s x="s "_obj.name_"="""_$TR(txt,"""","")_"""" x x q
	... s inh="",x="s txt="_obj.zug
	... I +$$GET1^BMKMU1(x,"{"_obj.gruppe_"."_obj.name_"}")=0 s fsw=1
	... e  s x="s "_obj.name_"="""_$TR(txt,"""","")_"""" x x
	... i obj.signatursw s inh=txt,txt="" 
	.. i txt'="",obj.feldtyp="B2" s txt=$FN(txt,".",2)
	.. i txt'="",obj.feldtyp="B4" s txt=$FN(txt,".",4)
	.. i txt'="",obj.feldtyp="D" s txt=$$TXT10^%LN200(txt)
	.. s ^XW($J,fid)=fid_"`"_$P(fld,"|",1)_"|"_inh_"|"_cargo_"`"_txt q
	.. d obj.%Close()
	
	k obj
	q $J
]]></Implementation>
</Method>

<Method name="GetTexte">
<ClassMethod>1</ClassMethod>
<FormalSpec>ad:%String,firma:%String,pcode:%String</FormalSpec>
<ReturnType>%String</ReturnType>
<Implementation><![CDATA[
	N (ad,firma,pcode)
	
	K ^XW($J)
	S FIRMA=firma,PCODE=pcode,FIL=0,%="`"
	for dl=1:1:5 d  q:fsw=0
	. s fsw=0
	. for i=1:1:$L(ad,$C(255)) d
	.. s ad1=$P(ad,$C(255),i) q:ad1=""
	.. s fid=$P(ad1,"`",1),fld=$P(ad1,"`",2)
	.. s id=$P($P(fld,"|",1),".",2),inh=$P(fld,"|",2),cargo=$P(fld,"|",3,99)
	.. s obj=##class(MiniFax.DbZug).%OpenId(id)
	.. q:obj=""
	.. i obj.checksw s txt=$S(inh="0":"§",1:"T")
	.. e  s txt="{"_obj.gruppe_"."_obj.name_"}"
	.. s ^XW($J,fid)=fid_"`"_$P(fld,"|",1)_"|"_inh_"|"_cargo_"`"_txt q
	.. d obj.%Close()
	
	k obj
	q $J
]]></Implementation>
</Method>

<Query name="gruppe">
<Type>%SQLQuery</Type>
<SqlQuery>SELECT distinct gruppe FROM DbZug
 order by gruppe</SqlQuery>
</Query>

<Query name="listegruppe">
<Type>%SQLQuery</Type>
<FormalSpec>gr:%String</FormalSpec>
<SqlQuery>SELECT %ID,gruppe,name,bez,typ,zug FROM DbZug
 WHERE (gruppe = :gr) 
 ORDER BY bez</SqlQuery>
<Parameter name="CONTAINID" value="1"/>
</Query>

<Query name="liste">
<Type>%SQLQuery</Type>
<SqlQuery>SELECT %ID,gruppe,name,bez,typ,zug FROM DbZug
 ORDER BY gruppe,bez</SqlQuery>
<Parameter name="CONTAINID" value="1"/>
</Query>

<Storage name="Default">
<Type>%Library.CacheStorage</Type>
<DataLocation>^MiniFax.DbZugD</DataLocation>
<DefaultData>DbZugDefaultData</DefaultData>
<IdLocation>^MiniFax.DbZugD</IdLocation>
<IndexLocation>^MiniFax.DbZugI</IndexLocation>
<StreamLocation>^MiniFax.DbZugS</StreamLocation>
<Data name="DbZugDefaultData">
<Structure>listnode</Structure>
<Subscript/>
<Value name="1">
<Value>%%CLASSNAME</Value>
</Value>
<Value name="2">
<Value>bez</Value>
</Value>
<Value name="3">
<Value>gruppe</Value>
</Value>
<Value name="4">
<Value>name</Value>
</Value>
<Value name="5">
<Value>typ</Value>
</Value>
<Value name="6">
<Value>zug</Value>
</Value>
<Value name="7">
<Value>editsw</Value>
</Value>
<Value name="8">
<Value>checksw</Value>
</Value>
<Value name="9">
<Value>signatursw</Value>
</Value>
<Value name="10">
<Value>feldtyp</Value>
</Value>
</Data>
</Storage>
</Class>
<Class name="MiniFax.XW">
<ClassType>persistent</ClassType>
<ProcedureBlock>1</ProcedureBlock>
<Super>%Persistent</Super>
<TimeChanged>60490,44708.026677</TimeChanged>
<TimeCreated>60425,85218.351449</TimeCreated>
<ClassDefinitionError>0</ClassDefinitionError>

<Index name="ID">
<IdKey>1</IdKey>
<Properties>JOBNR,CNT</Properties>
</Index>

<Property name="CNT">
<Description>
Counter</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Property name="INHALT">
<Description>
Inhalt</Description>
<Type>%String</Type>
<Collection/>
<Relationship>0</Relationship>
<Parameter name="MAXLEN" value="1000"/>
</Property>

<Property name="JOBNR">
<Description>
Jobnummer</Description>
<Type>%Integer</Type>
<Collection/>
<Relationship>0</Relationship>
</Property>

<Query name="XWListe">
<Type>%Library.SQLQuery</Type>
<FormalSpec>PJobnr:%Library.String</FormalSpec>
<SqlQuery>SELECT INHALT
FROM MiniFax.XW
WHERE (JOBNR = :PJobnr)
ORDER BY INHALT</SqlQuery>
<Parameter name="CONTAINID" value="0"/>
<Parameter name="ROWSPEC" value="INHALT:%String"/>
</Query>

<Query name="XWListeNr">
<Type>%Library.SQLQuery</Type>
<FormalSpec>PJobnr:%Library.String</FormalSpec>
<SqlQuery>SELECT INHALT
FROM MiniFax.XW
WHERE (JOBNR = :PJobnr)
ORDER BY CNT</SqlQuery>
<Parameter name="CONTAINID" value="0"/>
<Parameter name="ROWSPEC" value="INHALT:%String"/>
</Query>

<Storage name="Default">
<Type>%CacheSQLStorage</Type>
<DataLocation>^XW</DataLocation>
<DefaultData>BaumatDefaultData1</DefaultData>
<IdLocation>^XW</IdLocation>
<IndexLocation>^XW</IndexLocation>
<StreamLocation>^MiniFax.BaumatS</StreamLocation>
<Data name="BaumatDefaultData">
<Attribute>INHALT</Attribute>
<Structure>node</Structure>
<Value name="1">
<Value>%%CLASSNAME</Value>
</Value>
<Value name="2">
<Value>INHALT</Value>
</Value>
</Data>
<Data name="BaumatDefaultData1">
<Structure>listnode</Structure>
<Subscript>"1"</Subscript>
<Value name="1">
<Value>%%CLASSNAME</Value>
</Value>
</Data>
<SQLMap name="Map1">
<Type>data</Type>
<Global>XW</Global>
<Subscript name="1">
<Expression>{JOBNR}</Expression>
</Subscript>
<Subscript name="2">
<Expression>{CNT}</Expression>
</Subscript>
<Data name="INHALT">
<Delimiter>"`"</Delimiter>
<Piece>1</Piece>
</Data>
</SQLMap>
</Storage>
</Class>
<Project name="Minifax_Baumat" LastModified="2006-09-24 12:02:17">
  <Items>
    <ProjectItem name="BM.KundFiltPar" type="CLS"/>
    <ProjectItem name="BM.LiefFiltPar" type="CLS"/>
    <ProjectItem name="BMKMU1.int" type="MAC"/>
    <ProjectItem name="BMKMU2.int" type="MAC"/>
    <ProjectItem name="BMPL.int" type="MAC"/>
    <ProjectItem name="BMSMS.int" type="MAC"/>
    <ProjectItem name="MiniFax.Baumat" type="CLS"/>
    <ProjectItem name="MiniFax.DbZug" type="CLS"/>
    <ProjectItem name="MiniFax.XW" type="CLS"/>
    <ProjectItem name="NAPPA.int" type="MAC"/>
    <ProjectItem name="XUTILKM1.INT" type="MAC"/>
  </Items>
</Project>
<Routine name="NAPPA" type="INT" languagemode="0" timestamp="60531,78739"><![CDATA[
NAPPA ;KRA;Personal algemeiner Teil [ 01/16/00  3:31 PM ]
 d ^BMINIT
 D PW E  Q
ANF S SW=1
 S (PNR,PKBEZ,PAKTIV,ZEITJN,AKTIV,KASSAJN,ZETRM)=""
 I $D(^ANREG($J))#2 S PNR=$P(^($J),%,1),SW=+$P(^($J),%,2) S %O="" D PNR
 D ^PER01
 I SW=1,F01="A"!%E G ENDE
 I '%E,F01'="A" D SPEICH G:F01="S" ANF
 S PRG=$S(F01="P":"NAPPB",F01="L":"NAPPC",F01="B":"BMPL",F01="Z":"NAPPJ",F01="K":"BMKA",1:"")
 S $P(^ANREG($J),%,1)=PNR
 I F01="B" S ^ANREG($J)=PCODE_%_2 D ^%MENUEB I $T D START S ^ANREG($J)=PNR_%_1 S PRG="NAPPA" D ^%MENUEB G ANF
 I F01="K" S ^ANREG($J)=KNR_%_2 D ^%MENUEB I $T D START S ^ANREG($J)=PNR_%_1 S PRG="NAPPA" D ^%MENUEB G ANF
 I $L(PRG) D ^%MENUEB I $T G @("^"_PRG)
 I SW=2 Q
 K ^ANREG($J) ZD
 Q
 ;
PW I $$GET^BMXOBJ("ALLG","NADLINGER")'="J" Q 
 N SW,II,ACC,N,O,PW 
 I '$D(^LOGG("P")) 
 E  W "Personalsperre wurde aktiviert,  Bitte bei EDV-Leitung Melden !!" H 3 Q
 S SW=0 
 N pom
 F II=1:1:3 D  Q:+SW!(PW="") 
 . S N=24,O=1 W @%TC,"Passwort :  "  S PW=$$^%KRAPASS(5)
 . Q:PW=""
 . S pom=$E(10000+(%DR#10000),2,5)
 . I +PW=+($E(pom,1)+$E(pom,2)+$E(pom,3)+$E(pom,4)) S SW=1 Q
 . E  I II<3 W *7,*13,"    Falsch, Sie haben noch ",3-II," Versuche ! " H 1
 I +SW S ^LOGG($I,%DR,$P($H,",",2))="P"_%_PERSONAL_%_PW
 E  S:$L(PW) ^LOGG("P")=PERSONAL_%_%DR_%_$P($H,",",2)
 Q
ENDE ;
 K ^XW($J),^ANREG($J)
 K
 ZD
 Q
START N (PRG)
 D @("^"_PRG)
 Q
 ;
PKBEZ ;PKBEZ
 Q:PKBEZ=%O
 S VAR=18_%_PKBEZ
 D ^BMCKURZ
 Q:$D(%M)
 S PKBEZ=VAR
 Q
 ;
PNR ; PNR
 Q:PNR=%O
 S AD0="" I $D(^PERS(FIRMA,PNR,0))#2 S AD0=^(0)
 S BASZEIT=38.5 I $L(AD0) D
 S JJMM=(%DR\100)+1
 F  S JJMM=$O(^PERS(FIRMA,PNR,2,JJMM),-1) Q:JJMM=""  I $D(^(JJMM))#2 Q
 I $L(JJMM),$L($P(^(JJMM),%,3)) S BASZEIT=$P(^(JJMM),%,3)
 
 I $L(%O) ZD ^PERS(FIRMA,%O)
 ZA ^PERS(FIRMA,PNR):3
 E  S %M="Mitarbeiterdaten werden momentan bearbeitet" Q
 S (OKNR,KNR)=$P(AD0,%,4),(OPKBEZ,PKBEZ)=$P(AD0,%,1),GDAT=$P(AD0,%,5)
 S PCODE=$G(^PA(FIRMA,101,+PNR)),%O=" " S:PCODE="" AKTIV="N" 
 S EINTRITT=$P(AD0,%,2),AUSTRITT=$P(AD0,%,3),ABTNR=$P(AD0,%,6),DW=$P(AD0,%,7),(OPAKTIV,PAKTIV)=$P(AD0,%,8),(OZEITJN,ZEITJN)=$P(AD0,%,9),BUCHBIS=$P(AD0,%,10),(OKARTNR,KARTNR)=$P(AD0,%,11),(OMTXTNR,MTXTNR)=$P(AD0,%,12),EMAIL=$P(AD0,%,13),FAXDW=$P(AD0,%,14),GESCHL=$P(AD0,%,15),SVNR=$P(AD0,%,16),ZETRM=$P(AD0,%,17)
 D GDAT,EINTRITT
 S (TAETIGK)="" S JJMM=(%DR\100)+1,JJMM=$O(^PERS(FIRMA,PNR,2,JJMM),-1) I $L(JJMM),$D(^(JJMM))#2 S TAETIGK=$P(^(JJMM),%,4)
 D PCODE
 ;
 K ^XW($J)
 S IND="" F  S IND=$O(^PERS(FIRMA,PNR,6,IND)) Q:IND=""  S ^XW($J,IND)=^(IND)
 Q
 ;
 ;
KNR I PKBEZ="",$L(KNR),$D(^B(FIRMA,"K",KNR,0))#2 S (OPKBEZ,PKBEZ)=$P(^(0),%,1) 
 S AD1="" S:$L(KNR) AD1=$G(^B(FIRMA,"K",KNR,1))
 S TITEL=$P(AD1,%,1),NAME=$P(AD1,%,2),BRANCHE=$P(AD1,%,3),STRASSE=$P(AD1,%,4),LAND=$P(AD1,%,5),PLZ=$P(AD1,%,6),ORT=$P(AD1,%,7)
 S (OKGRP,KGRP)="" S:$L(KNR) (OKGRP,KGRP)=$P($G(^BZ(FIRMA,"K",KNR,1)),%,6)
 Q
 ;
KGRP ;
 I +KNR=99999,KGRP'="P0" S %M="Bei Sammelkunden mu~ Kundengruppe P0 sein !"
 Q
PCODE ;PCODE
 ;Q:PCODE=%O
 ;
 S AD=%_PNR_%_PCODE_%_KNR_%_ABTNR_%_DW_%_%_3_%_"N"_%_%_0_%_%_GDAT_%_AKTIV_%_%_"N"_%_"N"_%_"N"_%_"N"_%_"N"_%_"N"
 I $L(PCODE),$D(^PA(FIRMA,100,PCODE))#2 S AD=^(PCODE)
 S (OPNAME,PNAME)=$P(AD,%,1),PNR=$P(AD,%,2),PASSWORT=$P(AD,%,3),KNR=$P(AD,%,4),ABTNR=$P(AD,%,5),DW=$P(AD,%,6),KOST=$P(AD,%,7),BERGRP=$P(AD,%,8),PROVJN=$P(AD,%,9)
 S PROVFAKT=$P(AD,%,10),PRAE=$P(AD,%,11),PROVBAS=$P(AD,%,12),GDAT=$P(AD,%,13),AKTIV=$P(AD,%,14),MGNR=$P(AD,%,15),UEBSTJN=$P(AD,%,16),KASSAJN=$P(AD,%,17),BANKPNR=$P(AD,%,18),FAJN=$P(AD,%,19),WJJN=$P(AD,%,20),TUNEXIT=$P(AD,%,21),SAMMVKJN=$P(AD,%,22)
 S OAKTIV=AKTIV,OKNR=KNR,OPNAME=PNAME,OKASSAJN=KASSAJN,OBANKPNR=BANKPNR
 D ABTNR
 S %O=" " D KNR
 Q
AKTIV ;AKTIV
 Q
KARTNR ; KARTBR
 Q:KARTNR=""
 I $D(^PERSP(FIRMA,9,KARTNR)),^(KARTNR)'=PNR S %M="Karte "_KARTNR_" wird bei Mitarbeiter "_^(KARTNR)_" verwendet !" Q
 Q
MTXTNR ; 
 Q:MTXTNR=""
 I '$D(^PERSP(FIRMA,14,+MTXTNR)) S %M="Mailtext nicht gespeichert !" 
 Q
 ;
ABTNR S ABTBEZ="" Q:ABTNR="" 
 I $D(^PA(FIRMA,2,ABTNR))#2 S ABTBEZ=$P(^(ABTNR),%,1)
 E  S %M="Abteilung nicht gespeichert"
 Q
SPEICH ;
 D SPEICH^NAPPAA
 I PAKTIV="N" S (AKTIV,KASSAJN,ZEITJN)="N"
 I AKTIV="J" D
 . S $P(AD,%,1)=PNAME,$P(AD,%,2)=PNR,$P(AD,%,3)=PASSWORT,$P(AD,%,4)=KNR,$P(AD,%,5)=ABTNR,$P(AD,%,6)=DW,$P(AD,%,7)=KOST,$P(AD,%,8)=BERGRP,$P(AD,%,9)=PROVJN
 . I KASSAJN="J",BANKPNR="" S BANKPNR=$G(^PERSP(FIRMA,16))+1,^PERSP(FIRMA,16)=BANKPNR
 . S $P(AD,%,10)=PROVFAKT,$P(AD,%,11)=PRAE,$P(AD,%,12)=PROVBAS,$P(AD,%,13)=GDAT,$P(AD,%,14)=AKTIV,$P(AD,%,15)=MGNR,$P(AD,%,16)=UEBSTJN,$P(AD,%,17)=KASSAJN,$P(AD,%,18)=BANKPNR,$P(AD,%,19)=FAJN,$P(AD,%,20)=WJJN,$P(AD,%,21)=TUNEXIT,$P(AD,%,22)=SAMMVKJN
 . S ^PA(FIRMA,101,PNR)=PCODE S:+FIRMA=1 ^PA(2,101,PNR)=PCODE
 . S ^PA(FIRMA,100,PCODE)=AD S:+FIRMA=1 ^PA(2,100,PCODE)=AD
 E  I $L(PCODE) D
 . S $P(^PA(FIRMA,100,PCODE),%,5,6)=ABTNR_%_DW
 . S $P(^PA(FIRMA,100,PCODE),%,14)=AKTIV
 . S $P(^PA(FIRMA,100,PCODE),%,17)=KASSAJN
 I $L(PCODE),AKTIV'=OAKTIV S ^PA(FIRMA,103,PCODE,$H)=^%I($J)_%_PERSONAL_%_OAKTIV_%_AKTIV
 ; 
 I AKTIV'=OAKTIV!(KASSAJN'=OKASSAJN)!(OBANKPNR'=BANKPNR)!(OPNAME'=PNAME) D
 . I AKTIV="J",KASSAJN="J" S TR="P.07"_%_PCODE D ^BMVSEND Q
 . S TR="P.08"_%_PCODE D ^BMVSEND
 ;
 S LOE=0
 I OKARTNR'=KARTNR,$L(OKARTNR) S LOE=1
 I ZEITJN="N" S LOE=1
 I +LOE,OZEITJN="J" D PERS^NAZTSEND(PNR),PERSLOE^NAZTSEND(PNR)
 ;
 I '$D(^PERS(FIRMA,PNR,0)) S ^PERS(FIRMA,PNR,2,(%DR\100))=%_%_BASZEIT
 ;
 S ^PERS(FIRMA,PNR,0)=PKBEZ_%_EINTRITT_%_AUSTRITT_%_KNR_%_GDAT_%_ABTNR_%_DW_%_PAKTIV_%_ZEITJN_%_BUCHBIS_%_KARTNR_%_MTXTNR_%_EMAIL_%_FAXDW_%_GESCHL_%_SVNR_%_ZETRM
 I KGRP'=OKGRP D
 . ZA ^BZ(FIRMA,"K",KNR)
 . S $P(^BZ(FIRMA,"K",KNR,1),%,6)=KGRP
 . S KKBEZ=$P($G(^B(FIRMA,"K",KNR,0)),%,1)
 . K:$L(OKNR)&$L(OKGRP)&$L(KKBEZ) ^BZM(FIRMA,"K",2,OKGRP,KKBEZ,OKNR)
 . S:$L(KNR)&$L(KGRP)&$L(KKBEZ) ^BZM(FIRMA,"K",2,KGRP,KKBEZ,KNR)="" 
 . ZD ^BZ(FIRMA,"K",KNR)
 K:$L(OPKBEZ) ^PERSP(FIRMA,3,OPKBEZ,PNR)
 K:$L(OKARTNR) ^PERSP(FIRMA,9,OKARTNR)
 S ^PERSP(FIRMA,3,PKBEZ,PNR)=""
 S:$L(KARTNR) ^PERSP(FIRMA,9,KARTNR)=PNR
 ;
 S SEND=0
 I OMTXTNR'=MTXTNR S SEND=1
 I OKARTNR'=KARTNR,$L(KARTNR) S SEND=1
 I OZEITJN="N" S SEND=1
 I +SEND,ZEITJN="J" D PERS^NAZTSEND(PNR)
 ;
 I $$GET^BMXOBJ("FAXSERVER","Output")="XML",$$GET^BMXOBJ("FAXSERVER","PclPfad")'="" D
 . ;XML-Schnittstelle für KMessage
 . S DOMAIN=$$GET^BMXOBJ("EMAIL","DOMAIN")
 . s faxdir=$$GET^BMXOBJ("FAXSERVER","PclPfad")
 . s faxpr=$$GET^BMXOBJ("FAXSERVER","FaxPr")
 . s faxprddijn=$$GET^BMXOBJ("FAXSERVER","FaxPrDDIJN")
 . I $E(faxdir,$L(faxdir))'="/" s faxdir=faxdir_"/"
 . s file=faxdir_"temp"_$J_$TR($H,",","")_".xml"
 . s file1=faxdir_"user"_$J_$TR($H,",","")_".xml"
 . o file:"WN"
 . u file
 . S:FAXDW="" FAXDW=DW
 . w "<?xml version=""1.0"" encoding=""ISO-8859-1"" ?>",!
 . w "<faxuser>",!
 . w "<user site=""D"_$$ASCIANSI^%UML($E(100+FIRMA,2,3)_$J(ABTNR,2)_$J(PCODE,3))_""">",!
 . w "<name>",$$ASCIANSI^%UML(PNAME),"</name>",!
 . w "<tel>","[2]-",+DW,"</tel>",!
 . w "<fax>","[2]-",faxpr,FAXDW,"</fax>",!
 . i AKTIV="J" D
 .. i faxprddijn="J" w "<msnddi>",faxpr,FAXDW,"</msnddi>",!
 .. e  w "<msnddi>",FAXDW,"</msnddi>",!
 . i AKTIV'="J" w "<msnddi></msnddi>",! 
 . . w "<email>",EMAIL_"@"_DOMAIN,"</email>",!
 . w "<password>",$$ASCIANSI^%UML(PASSWORT),"</password>",!
 . w "</user>",!
 . w "</faxuser>",!
 . c file
 . s x=$$JOBWAIT^%HOSTCMD("chmod 777 "_file)
 . s x=$$JOBWAIT^%HOSTCMD("mv "_file_" "_file1)
 Q
 ;
EINTRITT ;
 I EINTRITT="" S DIEJA="" Q
 S DIEJA=($S($L(AUSTRITT):AUSTRITT,1:%DR)\100\100)-(EINTRITT\100\100)
 Q
AUSTRITT ;
 I EINTRITT="" S DIEJA="" Q
 S DIEJA=($S($L(AUSTRITT):AUSTRITT,1:%DR)\100\100)-(EINTRITT\100\100)
 Q
GDAT ;
 I GDAT="" S LEALT="" Q
 S LEALT=$$J3^%LN207(%DR)-$$J3^%LN207(GDAT)
 S:LEALT<1 LEALT=LEALT+100,GDAT=GDAT-1000000
 Q
]]></Routine>
<Routine name="XUTILKM1" type="INT" languagemode="0" timestamp="60531,78750"><![CDATA[
XUTILKM1	;KRA;Alle Mitarbeiter zu Faxsserver senden
 
	d ^BMINIT
	W "Firma: " R FIRMA W !
	W "Nur User J/N: " R USSW W !
	Q:USSW=""
	Q:FIRMA=""
	
	;XML-Schnittstelle für KMessage
 	S DOMAIN=$$GET^BMXOBJ("EMAIL","DOMAIN")
 	s file="/home/faxftp/temp"_$J_$TR($H,",","")_".xml"
 	s file1="/home/faxftp/user"_$J_$TR($H,",","")_".xml"
 	o file:"WN"
 	u file
 	w "<?xml version=""1.0"" encoding=""ISO-8859-1"" ?>",!
 	w "<faxuser>",!
 
	I $ZCONVERT(USSW,"U")="N" D 
	. S FIRMNAME=$P(^BP(FIRMA,1),%,2)
 	. W "<user site=""D"_$E(100+FIRMA,2,3)_""">",!
 	. w "<name>",$$ASCIANSI^%UML(FIRMNAME),"</name>",!
 	. W "</user>",!	 
 
 	s faxpr=$$GET^BMXOBJ("FAXSERVER","FaxPr")
 	s faxprddijn=$$GET^BMXOBJ("FAXSERVER","FaxPrDDIJN")
	S PCODE="" F  S PCODE=$O(^PA(FIRMA,100,PCODE)) Q:PCODE=""  D
	. S AD=^(PCODE)
	. ;Q:$P(AD,%,14)'="J"
	. Q:$E(PCODE,1)="s"
	. S AKTIV=$P(AD,%,14),ABTNR=$P(AD,%,5),PNAME=$P(AD,%,1),DW=$P(AD,%,6),PASSW=$P(AD,%,3),PNR=$P(AD,%,2)
	. S ABTNR(ABTNR)=""
	. S (EMAIL,FAXDW)="" I $L(PNR),$D(^PERS(FIRMA,PNR,0))#2 s EMAIL=$P(^(0),%,13),FAXDW=$P(^(0),%,14)
	. I FAXDW="" S FAXDW=DW
	. u file 
	. w "<user site=""D"_$$ASCIANSI^%UML($E(100+FIRMA,2,3)_$J(ABTNR,2)_$J(PCODE,3))_""">",!
 	. w "<name>",$$ASCIANSI^%UML(PNAME),"</name>",!
 	. w "<tel>","[2]-",+DW,"</tel>",!
 	. w "<fax>","[2]-",faxpr,FAXDW,"</fax>",!
 	. i AKTIV="J" D
 	.. i faxprddijn="J" w "<msnddi>",faxpr,FAXDW,"</msnddi>",!
 	.. e  w "<msnddi>",FAXDW,"</msnddi>",!
 	. i AKTIV'="J" w "<msnddi></msnddi>",!
 	. I $L(EMAIL) w "<email>",EMAIL_"@"_DOMAIN,"</email>",!
 	. w "<password>",$$ASCIANSI^%UML(PASSW),"</password>",!
 	. w "</user>",!
 
	I $ZCONVERT(USSW,"U")="N" S ABTNR="" F  S ABTNR=$O(ABTNR(ABTNR)) Q:ABTNR=""  D
 	. I $D(^PA(FIRMA,2,ABTNR))#2 s ABTBEZ=$P(^(ABTNR),%,1)
 	. E  Q
 	. W "<user site=""D"_$E(100+FIRMA,2,3)_$J(ABTNR,2)_""">",!
 	. w "<name>",$$ASCIANSI^%UML($P(^PA(FIRMA,2,ABTNR),%,1)),"</name>",!
 	. W "</user>",!	 
 
 
	w "</faxuser>",!
 	c file
 	s x=$$JOBWAIT^%HOSTCMD("chmod 777 "_file)
 	s x=$$JOBWAIT^%HOSTCMD("mv "_file_" "_file1)
 	Q
 	
 	
TOV2
 
	s id="" f  s id=$O(^MiniFax.DoksD(id)) q:id=""  d
	. s obj=##class(MiniFax.Doks).%OpenId(id)
	. w id,!
	. i obj.Typ="FE"!(obj.Typ="FEU")!(obj.Typ="SE") D
	.. i obj.Typ="FEU" s obj.Typ="FE",obj.bstatus=5
	.. e  s obj.bstatus=10
	. d obj.%Save()
	. d obj.%Close()
	k obj
	
	q
	
 
upgrch
	s id="" f  s id=$O(^MiniFax.FaxdomainD(id)) q:id=""  d
	. w id,!
	. s obj=##class(MiniFax.Faxdomain).%OpenId(id)
	. s obj.EmailSms=2
	. s obj.EmailMail=2
	. d obj.%Save()
	. d obj.%Close()
	k obj
	q
	
	
upgrcover
	s id="" f  s id=$O(^MiniFax.FaxdomainD(id)) q:id=""  d
	. w id,!
	. s obj=##class(MiniFax.Faxdomain).%OpenId(id)
	. s obj.Coverpage=""
	. d obj.%Save()
	. d obj.%Close()
	k obj
	q
	
upgrvertraulich
	s id="" f  s id=$O(^MiniFax.FaxdomainD(id)) q:id=""  d
	. w id,!
	. s obj=##class(MiniFax.Faxdomain).%OpenId(id)
	. s obj.Vertraulich=2
	. d obj.%Save()
	. d obj.%Close()
	k obj
	q
 
]]></Routine>
<Checksum value="262028028"/>
</Export>
