cT00B ;Hulpprogramma cumuls & historieken ;%T00B ; [ 08/07/01 4:20 PM ] G YZ ; T0 ;Hulpprogramma cumuls & historieken ; ; T0F ;Auxiliaire cumulation & historiques ; ; T0E ;Auxiliary cumulation & history ; ; ; ; ==================================================================== ; EXTERNE INGANGEN: AA, VE, FI, FIE, CUM, NAKED ; ; ==================================================================== ; registratie detailhistoriek aankoopfactuur ; output: 0=fout <> 1=ok AA(Q,GL,I1,LCK,BP,FNR) ; input: Q = Q-waarde ; GL = global (KL, LE, AR of ARA) ; I1 = index1 in die global ; LCK= lock (0=reeds gelockt <> 1=lock+boodschap <> 2=lock bg) ; BP = boekingsmaand ; FNR= factuurnummer S $ZT="TRAP^cAN000" N RZR D S1 AAZ D S2 Q R ; ; ==================================================================== ; registratie detailhistoriek verkoopfactuur ; output: 0=fout <> 1=ok VE(Q,GL,I1,LCK,BP,FNR) ; input: Q = Q-waarde ; GL = global (KL, LE, AR of ARA) ; I1 = index1 in die global ; LCK= lock (0=reeds gelockt <> 1=lock+boodschap <> 2=lock bg) ; BP = boekingsmaand ; FNR= factuurnummer S $ZT="TRAP^cAN000" N RZR D S1 VEZ D S2 Q R ; ; ==================================================================== ; registratie detailhistoriek financieel/diversen ; output: 0=fout <> 1=ok FI(Q,GL,I1,LCK,BP,FI2,FI3) ; input: Q = Q-waarde ; GL = global (KL, LE, AR of ARA) ; I1 = index1 in die global ; LCK= lock (0=reeds gelockt <> 1=lock+boodschap <> 2=lock bg) ; BP = boekingsmaand ; FI2= index2 in ^_Q_FI ; FI3= index3 in ^_Q_FI S $ZT="TRAP^cAN000" N RZR D S1 FIZ D S2 Q R ; ; ==================================================================== ; registratie detailhistoriek analytische verrichting ; output: 0=fout <> 1=ok FIE(Q,GL,I1,LCK,BP,FI2,FI3) ; input: Q = Q-waarde ; GL = global (AR of ARA) ; I1 = index1 in die global ; LCK= lock (0=reeds gelockt <> 1=lock+boodschap <> 2=lock bg) ; BP = boekingsmaand ; FI2= index2 in ^_Q_FIE ; FI3= index3 in ^_Q_FIE S $ZT="TRAP^cAN000" N RZR D S1 FIEZ D S2 Q R ; ; ==================================================================== ; registratie debet/credit in cumulnode CUM(Q,GL,I1,LCK,BP,DEB,CRE) ; input: Q = Q-waarde ; GL = global (AR of ARA) ; I1 = index1 in die global ; LCK= lock (0=reeds gelockt <> 1=lock+boodschap <> 2=lock bg) ; BP = boekingsmaand ; DEB= debet-bedrag ; CRE= credit-bedrag S $ZT="TRAP^cAN000" N RZR D S1 CUMZ D S2 Q R ; ; ==================================================================== ; ingang die kan worden gebruikt vanuit bestaande programma's ; => zowel cumuls als historieken worden bijgewerkt ; => global moet reeds gelockt zijn ; output: 0=fout <> 1=ok NAKED(BJ,BX,DEB,CRE,HIS,BP,AVF,SRT,DAT,FNR) ; input: BJ = boekjaar ; BX = veld (offset) in cumulnode ; DEB= debet-bedrag ; CRE= credit-bedrag ; HIS= maandhistoriek (0) <> detailhistoriek (1) ; BP = boekingsmaand (jjjj.mm) ; AVF= aankoop (A) <> verkoop (V) <> financieel (F#I2#I3) ; SRT= journaal ; DAT= factuurdatum (A/V) of boekingsdatum ; FNR= factuurnummer (A/V) of nummer uittreksel S $ZT="TRAP^cAN000" N BS,R S R=0 I '$G(BJ)!'$G(BX)!'$G(BP)!($G(AVF)="")!'$G(DAT)!'$G(FNR) G NAKEDZ I AVF="A"!(AVF="V") D S R=1 . D NCUM I HIS S BS=AVF_FNR D NDET Q . S I2=1_BP*100_AVF_$S(SRT:+SRT,1:"") D NMND I $P(AVF,"#")="F",$L($P(AVF,"#",2)),$L($P(AVF,"#",3)) D S R=1 . D NCUM I HIS S BS="B"_$P(AVF,"#",2,3) D NDET Q . S I2=1_BP*100_"B"_$P(AVF,"#",2) D NMND NAKEDZ Q R ; YZ Q ; ; ==================================================================== ; INTERNE SUBROUTINES ; ; ==================================================================== S1 S RZR=$ZR ; onthouden last reference S1Z Q ; S2 I $O(@RZR) ; terugzetten last reference S2Z Q ; ; ==================================================================== ; naked cumuls ; input: BJ = boekjaar ; BX = veld (offset) in cumulnode ; DEB= debet-bedrag ; CRE= credit-bedrag NCUM S $ZT="TRAP^cAN000" N I,J S J=D,$P(J,D,24)=D F I=BJ:.01:BJ+.02 I '$D(^(I)) S ^(I)=J S I=BJ,J=DEB I CRE S I=BJ+.02,J=CRE S $P(^(I),D,BX)=$P(^(I),D,BX)+J NCUMZ Q ; ; ==================================================================== ; naked detailhistoriek ; input: BP = jjjj.mm ; BS = nieuwe historiekstring NDET S $ZT="TRAP^cAN000" N I,J,K NDETA S BH=1_BP*100,I=BH,J=BH+.01,K=J#1 I BS'[D S BS=BS_D NDETB S I=$O(^(I)) I I="" G NDETX I $E(I,1,7)'=BH G NDETX S J=I I ^(I)[BS G NDETZ I J#1,J#1