RPLDORD ;DIRECT orders via toeleveringsbestand voor BRUYNZEEL en MEUBAR [ 11/07/2001 11:55 AM ] VERWERK New KLNr,Input,PrintMode Set KLNr=KC If VTB=U4!'$D(^HULP($J,"K"_KLNr,"DIRORDD")) Do SELLEVER If '$D(^BLBeri("IK",KC)) Set (U4,R)=$G(VTB),VTB="" S:R="" R=$G(SW2),SW2=0 Quit Do INIT If $D(^BLBeri("IK",KC)),'LevNr Set (U4,R)=$G(VTB),VTB="" S:R="" R=$G(SW2),SW2=0 Quit G COMMAND:VTB=U4&(KC=KCX)&$D(^HULP($J,"K"_KLNr,"DIRORDD")) D KIF^RPLKL1,SA^RPLKL1 D WRITE^vhLIST(.DIRORD) ; Command loop COMMAND For Set Input=$$SCROLL^vhLIST(.DIRORD) Quit:$L(Input) Set R=Input,VTB=U4 Set SW2=0 If R="COM" Do MENU^RPLKL4 If R="SPEC" Do SPEC^RPLKL4 If 'sScr("VTW"),R="PRINT" Do PRINT Set R="" Set DIRORD("Loc")=KLNr_D_BLKLNr_D_LevNr Merge ^HULP($J,"K"_KLNr,"DIRORDD")=DIRORD Quit SELLEVER Set FP=601 Write @F,@F1 If $D(^BLBeri("IK",KC)) Set LevNr=$$SELECT^LEVER() Kill ^HULP($J,"K"_KLNr,"DIRORDD") Kill ^HULP($J,"K"_KLNr,"DIRORD") Quit INIT Set %J=$J Kill DIRORD Merge DIRORD=^HULP($J,"K"_KLNr,"DIRORDD") If '$D(DIRORD) Do .Kill ^HULP($J,"K"_KLNr,"DIRORD") .Do INIT^vhLIST("RPLDORD","LIJST",.DIRORD) .Set DIRORD("Loc")=KLNr_D_$P($G(^BLBeri("IK",KLNr)),D)_D_$G(LevNr) Set DIRORD(5)=80,DL(1)="DIRORD" Set KLNr=$P(DIRORD("Loc"),D) Set BLKLNr=$P(DIRORD("Loc"),D,2) Set LevNr=$P(DIRORD("Loc"),D,3) Quit CBPRINT(Global) ; Callback bij afdruk door middel van OUTPUT New Rec,Select,Fmt Quit:$L(Global)=1 "" Set (sFL(1),Rec)=@Global,Select=+$P(Global,",",$L(Global,",")) Set Fmt=$$CBFMT(Select,Rec) Merge FL(3)=sFL Set FL(3)=sFL(1) Quit ";"_Fmt CBFMT(Select,Rec) ; Callback Format en Fetch data New LevNr,TLNr,TLLNr,PRNr Set LevNr=$P(Rec,D,1),TLNr=$P(Rec,D,2),TLLNr=$P(Rec,D,3) If $P(Rec,D,3)="" Do Quit "H" ;Hoofding .Set sFL(2)=$G(^KTO(LevNr,TLNr,1)) Else Do ;ProductLijn .Set sFL(2)=$G(^KTO(LevNr,TLNr,TLLNr)),($P(sFL(2),D,6),$P(sFL(2),D,21),$P(sFL(2),D,22))="" Quit "P" CBMORE(Max,Len,Rec) ; Om de DIRECT orders in stukjes op te halen New TLNr,TLLNr,TLLRec,PRNr Set TLNr=$P(Rec,D,2) Set Len=Len+Max For Set TLNr=$O(^KTO(LevNr,TLNr)) Quit:TLNr="" Do Quit:Max'