KFSOA G 33 ; MODULE SLUITEN ORDERS; Quit naar %F10 [ 12/12/2002 1:29 PM ] ; 33 S X=$P(X,D,1,21)_D_UAF_D_$P(X,D,23,99) S @("^"_Q_UGL_"(KC,US,UR,1)")=X,UOR=$P("R\O",D,$P(X,D,17)+1) D:UAF=2 LeveringASAP(UR) 35 S ULV=$P(X,D,21),KL=$P(@("^"_Q_"KL(@(""^""_Q_""K1(KC)""),0)"),D,8) S:$L($P(@("^"_Q_UGL_"(KC,US,UR,3)"),D,1)) KL=$P(^(3),D,8) 37 F I="B","L","M","P" S @("P"_I)=@("^"_Q_"BA(153,ULV_"" "",I,0)") 39 S UPT="" G 47:PP="" I PP=1 S UPT=1 G 47 41 I PP=2 D S1 S:UN<$P(PB,";",$L(PB,";")) UPT=1 G 47 43 I PP=3 S:$$LAND^vhRtn1(KL)=$$LAND^vhRtn1(PL) UPT=1 G 47 45 I $$LAND^vhRtn1(KL)=$$LAND^vhRtn1(PL) D S1 I UN<$P(PB,";",$L(PB,";")) S UPT=1 47 D S0 S UVM=$P(X,D,18) G 71:UVM'="MTL" S UZ=100 ; Opsplitsen volgens munt indien MTL 49 S UZ=$N(@("^"_Q_UGL_"(KC,US,UR,UZ)")) G 53:UZ=-1 S U2=^(UZ) G 49:'$L($P(U2,D,22)) I UVM="MTL" S UVM=$P(U2,D,22) G 49 51 G 49:$P(U2,D,22)=UVM S PR=$P(U2,D,2) D:PR KWNODE^FLOWORD(KC,UR,UZ) K @("^"_Q_UGL_"(KC,US,UR,UZ)") S @("^"_Q_"HULP($J,$P(U2,D,22),UZ)")=U2 G 49 53 I UVM="MTL" S UVM=$$LANDMUNT^KLANT(KL) S X=$P(X,D,1,17)_D_UVM_D_$P(X,D,19,99),@("^"_Q_UGL_"(KC,US,UR,1)")=X,X1=^(2),X2=^(3) G 71:'$D(@("^"_Q_"HULP($J)")) S UVM="" 55 S UVM=$N(@("^"_Q_"HULP($J,UVM)")) I UVM=-1 K @("^"_Q_"HULP($J)") G 71 S URR=$$GETNUM^FLOW(Q_UGL,Q_UG1) 63 S X=$P(X,D,1,17)_D_UVM_D_$P(X,D,19,99),@("^"_Q_UGL_"(KC,US,URR,1)")=X,^(2)=X1,^(3)=X2,UUZ=0,UZ=100 65 S UUZ=$N(@("^"_Q_"HULP($J,UVM,UUZ)")),UZ=UZ+1 67 G 68:UUZ'=-1 S @("^"_Q_UGL_"(KC,US,URR,0)")=UZ,(@("^"_Q_UG1_"(URR,US)"),@("^"_Q_UGB_"(URR,US)"))=KC_D,@("^"_Q_UG2_"(US,KC,URR)")="" I $D(@("^"_Q_UGL_"(0,US,2)")) S URLC=URR D @^(2) D:UTYP'="T" SPLORGAL(URR) D:UTYP="T" SPLTORD(URR) L @("^"_Q_UGL_"(KC,US,UR)") G 55 68 S (Z,ZZ)=^(UUZ),@("^"_Q_UGL_"(KC,US,URR,UZ)")=Z,TR=$P(Z,D,27),TZ=$P($P(Z,D,28),";"),PKOM="" G 70:'TR!('TZ) S PKOM=1 69 S LEV=$P(@("^"_Q_"TO1(TR)"),D,1),Z=@("^"_Q_"TO(LEV,TR,TZ)"),Z=$P(Z,D,1,26)_D_URR_D_UZ_D_$P(Z,D,29,99),^(TZ)=Z,$P(^(1),D,7)=URR 70 S Z=ZZ,PR=$P(Z,D,2) D:PR SWNODE^FLOWORD(KC,URR,UZ) G 65 71 D:UTYP'="T" SPLORGAL(UR) D:UTYP="T" SPLTORD(UR) S K="," ; YZ K UJ,KL,LEV,PGV,PC,PR,PID,PLQ,PST,PY,PRE,PB,PL,PLL,PM,PP,PPAR,PSN,PKOM,TR,TZ,Q15,U2,UOD,UOR,UAF,ULV,UMC,UN,UEP,UBE K ULT,UMC,USPPK1,PK2,UPAR,UPT,URR,UUZ,X,X1,X2,Y,Z,ZZ,UTYP,VTA Q ; S0 S UZ=@("^"_Q_UGL_"(KC,US,UR,0)"),UZ=100 S0A S UZ=$N(^(UZ)) I UZ'=-1 S U2=^(UZ) G S0A:'$L($P(U2,D,2)) S ^(UZ)=$P(U2,D,1,23)_D_UPT_D_$P(U2,D,25,99) G S0A S0Z Q ; S1 S PPAR=$$MUNT^vhRtn1(PM,,12),UN=0,UZ=100 S1A S UZ=$N(@("^"_Q_UGL_"(KC,US,UR,UZ)")) G S1C:UZ=-1 S U2=^(UZ) G S1A:'$L($P(U2,D,2)) S UMC=$P(U2,D,22) S1B S UPAR=$$MUNT^vhRtn1(UMC,,12),UN=UN+($P(U2,D,9)*UPAR/PPAR) G S1A S1C I UN<0 S UN=$E(UN,2,99) S1Z Q ; SPLORGAL(FORDNr) New %SC,sFL,R,KLNr,ORDNr,OLNr,PRNr,IsOrgal,Orgalux,OrgalRef,TORDNr,TOENr,TLNr,LEVNr,ComTegKom Set KLNr=$P(^KO1(FORDNr,"F"),D),OLNr=100,ComTegKom="" For Set OLNr=$O(^KOD(KLNr,"F",FORDNr,OLNr)) Quit:OLNr="" Do .Set R=^KOD(KLNr,"F",FORDNr,OLNr),PRNr=$P(R,D,2) .If $P(R,D,17)["KF1925#CK#",$P($P(R,D,17),"#",3) Set ComTegKom=R .Quit:'PRNr .Set IsOrgal=$E($$SORTKEY^PRODUKT(PRNr,1),3,4)="OL",Orgalux(IsOrgal,OLNr)="" Set IsOrgal=''$D(Orgalux(1)) If $D(Orgalux(1)),$P(^KOD(KLNr,"F",FORDNr,1),D,19)="" Do .Set sFL(1)=^KOD(KLNr,"F",FORDNr,1) .For Do FIELD^vhScherm("FLOWOREF","ORGALUX") Quit:%SC .Set ^KOD(KLNr,"F",FORDNr,1)=sFL(1) If $D(Orgalux(0)),$D(Orgalux(1)) Do .Set TORDNr=$$GETNUM^FLOW("KOD","KO1") .For I=0:1:4 Set ^KOD(KLNr,"F",TORDNr,I)=^KOD(KLNr,"F",FORDNr,I) .Set OLNr=100 .For Set OLNr=$O(Orgalux(1,OLNr)) Quit:OLNr="" Do ..Set R=^KOD(KLNr,"F",FORDNr,OLNr),^KOD(KLNr,"F",TORDNr,OLNr)=R,TOENr=$P(R,D,27),TLNr=$P(R,D,28) ..Do KWNODE^FLOWORD(KLNr,FORDNr,OLNr),SWNODE^FLOWORD(KLNr,TORDNr,OLNr) ..Kill ^KOD(KLNr,"F",FORDNr,OLNr) ..Set:TOENr LEVNr=$P(^KTO1(TOENr),D),R=^KTO(LEVNr,TOENr,TLNr),$P(R,D,27)=TORDNr,^KTO(LEVNr,TOENr,TLNr)=R .Set (^KO1(TORDNr,"F"),^KOB(TORDNr,"F"))=KLNr_D,^KO2("F",KLNr,TORDNr)="" .Do SORT^FLOWORD(KLNr,TORDNr) .Set:$L(ComTegKom) OLNr=^KOD(KLNr,"F",TORDNr,0),^KOD(KLNr,"F",TORDNr,0)=OLNr+1,^KOD(KLNr,"F",TORDNr,OLNr)=ComTegKom .For ORDNr=FORDNr,TORDNr Do ..Set R=^KOD(KLNr,"F",ORDNr,1) ..Quit:'$P(R,D,22) ..Set OLNr=100,TOENr="" ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do Quit:TOENr ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2) ...Quit:'PRNr ...Set TOENr=$P(R,D,27) ..Set R=^KOD(KLNr,"F",ORDNr,1),$P(R,D,22)=$S(TOENr:2,1:1) ..Set:ORDNr=FORDNr $P(R,D,19)="" Set ^KOD(KLNr,"F",ORDNr,1)=R ..Do:$L(ComTegKom) RecalcCommKort^FLOWMANL("KOD",KLNr,ORDNr) .Do SetOrderLink^KFO(FORDNr,TORDNr) Quit ; SPLTORD(FORDNr) New R,KLNr,ORDNr,OLNr,PRNr,WVSubMag,TORDNr,TOENr,TLNr,LEVNr Set KLNr=$P(^KO1(FORDNr,"F"),D),OLNr=100 For Set OLNr=$O(^KOD(KLNr,"F",FORDNr,OLNr)) Quit:OLNr="" Do .Set R=^KOD(KLNr,"F",FORDNr,OLNr),PRNr=$P(R,D,2) .Quit:'PRNr .If $L($G(FBRef)),$L($G(@FBRef)) Set WVSubMag=@FBRef .Else Set WVSubMag=$$GetSubMag^MRPRES(PRNr) Set:WVSubMag="" WVSubMag="~" .Set WVSubMag(WVSubMag,OLNr)="" Set WVSubMag=$O(WVSubMag("")) If $O(WVSubMag(WVSubMag))'="" Do .For Set WVSubMag=$O(WVSubMag(WVSubMag)) Quit:WVSubMag="" Do ..Set TORDNr=$$GETNUM^FLOW("KOD","KO1") ..For I=0:1:4 Do ...Set R=^KOD(KLNr,"F",FORDNr,I) Set:I=1 $P(R,D,7)=$$GetVerzWFromSubMag^FLOWORD7(WVSubMag) ...Set ^KOD(KLNr,"F",TORDNr,I)=R ..Set OLNr=100 ..For Set OLNr=$O(WVSubMag(WVSubMag,OLNr)) Quit:OLNr="" Do ...Set R=^KOD(KLNr,"F",FORDNr,OLNr),^KOD(KLNr,"F",TORDNr,OLNr)=R,TOENr=$P(R,D,27),TLNr=$P(R,D,28) ...Do KWNODE^FLOWORD(KLNr,FORDNr,OLNr),SWNODE^FLOWORD(KLNr,TORDNr,OLNr) ...Kill ^KOD(KLNr,"F",FORDNr,OLNr) ...Set:TOENr LEVNr=$P(^KTO1(TOENr),D),R=^KTO(LEVNr,TOENr,TLNr),$P(R,D,27)=TORDNr,^KTO(LEVNr,TOENr,TLNr)=R ..Set (^KO1(TORDNr,"F"),^KOB(TORDNr,"F"))=KLNr_D,^KO2("F",KLNr,TORDNr)="" ..Do SORT^FLOWORD(KLNr,TORDNr) ..For ORDNr=FORDNr,TORDNr Do ...Set R=^KOD(KLNr,"F",ORDNr,1) ...Quit:'$P(R,D,22) ...Set OLNr=100,TOENr="" ...For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do Quit:TOENr ....Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2) ....Quit:'PRNr ....Set TOENr=$P(R,D,27) ...Set R=^KOD(KLNr,"F",ORDNr,1),$P(R,D,22)=$S(TOENr:2,1:1) ...Set:ORDNr=FORDNr $P(R,D,19)="" Set ^KOD(KLNr,"F",ORDNr,1)=R ..Do SetOrderLink^KFO(FORDNr,TORDNr) Set R=^KOD(KLNr,"F",FORDNr,1),WVSubMag=$O(WVSubMag("")) Set $P(R,D,7)=$$GetVerzWFromSubMag^FLOWORD7(WVSubMag),^KOD(KLNr,"F",FORDNr,1)=R Quit ; ; Mag een KOM-order vroeger geleverd worden? LeveringASAP(ORDNr) New R,ASAP,KLNr,Closed,OrdTyp,OLNr,PRNr ; Closed = "" -> niet gesloten ; 1 -> gesloten niet Kom ; 2 -> gesloten Kom Set KLNr=$P(^KO1(ORDNr,"F"),D),R=^KOD(KLNr,"F",ORDNr,1),Closed=$P(R,D,22),OrdTyp=$P(R,D,25) If Closed=2,OrdTyp'="C" Do ; Indien Kom en geen contract . Set ASAP=$$^vhTXTPOP("FLOWORD","ASAP","",ORDNr,$P(^KKL(^KK1(KLNr),0),D,2)) . Quit:'ASAP . Set $P(^KOD(KLNr,"F",ORDNr,1),D,28)=1,OLNr=100 . For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:'OLNr Do . . Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2) . . Set:PRNr $P(^KOD(KLNr,"F",ORDNr,OLNr),D,47)="A" Quit ;