SELALG ;Algemeen selektieprogramma [ 05/15/2001 1:04 PM ] ; ; Algemene select ; Global = het bestand (KL=klanten, ...) ; Check = ; Titel 1 = titel links ; Titel 2 = titel rechts ; SelVia = Selekt van ... tot ("") of ook bepaalde (1) ; SelSel = Mogelijkheid tot selektiekriteria (0=neen) ; SelVolg = Selektie alabetisch of numeriek indien bepaalde ; SELECT(Global,Check,Titel1,Titel2,SelVia,SelSel,SelVolg) If $L($G(Titel1)) Write @F11,@F1,@FMTI,Titel1," - ",QN,@FMTi Do ADD^vhScherm(1,24) If $L($G(Titel2)) Set FP=181-$L(Titel2) Write @F,@FMTB,Titel2,@FMTb If Global="KL" Goto KLSELECT Quit "" ; ; Select voor klanten KLSELECT New NVG,KSEL,SELK,KL,KLX,Q0,Q1 Set:$L($G(SelVia)) KSEL=SelVia Set:$L($G(SelSel)) SELK=SelSel Set:$L($G(SelVolg)) NVG=SelVolg Do KP^KSEL Quit:K="-" K Do MODCHECK If $E(Q0,2,5)="KSEL",$G(NVG) Set KLX=NVG Set:KL="" KL=0 If KL=0!'$D(@Q0) Set KL=$O(@Q0) Set R=KL,KL=KLX If $L(KL),'$D(@Q0) Set KL=$O(@Q0) If KL="" Set KL=$O(@Q0,-1) Set KLX=KL,KL=R Set:KLX?.N KLX=99999 Quit KL_D_KLX_D_Q0 ; ; Geeft het klant-, leverancrie-, produkt-, ... nummer terug FETCHNR(GloRef) New Nr Set Nr="" If $E(GloRef,2,4)="KKL" Set Nr=$P(@$Q(@GloRef),D) If $E(GloRef,2,5)="KSEL" Set R=@GloRef,Nr=$P(^KKL(R,0),D) If $E(GloRef,2,5)="KLIH" Set R=@GloRef,Nr=$P(^KKL(R,0),D) If $E(GloRef,2,6)="UTILI" Set R=@GloRef,Nr=$P(^KKL(R,0),D) Quit Nr ; ; Geeft volgende klant-, leverancrie-, produkt-, ... terug NEXT(GloRef) Quit $O(@GloRef) ; ; Aanpassen check (B) uit ^KSEL, ^KPSEL naar Check voor ^UTILI MODCHECK New Next,Piece,R Set Next=0,Piece=100,Check="" For Set Piece=$O(B(Piece)) Quit:Piece="" Do .Set R=B(Piece) .Set R=$P(R,D,2)_U_$P(R,D)_U_$P(R,D,5)_U_U_Piece_";0;;" .Set Next=Next+1,Check(Next)=R .Set:$L(Check) Check=Check_"&" Set Check=Check_"T("_Next_")" Kill B Quit ;