BLVWIMP ;BLUM VERWERK/LIJST IMPORT ;BLVWIMP; Do naar PROC [ 09/24/2002 9:22 AM ] G BEGIN ; T1 ;COA\SO\KAL LVH;COA\DO\KAL DIR.Klant;CSB\SO\Vervoer LVH;CSB\DO\Vervoer DIR.Klant;DMS\PR\Product Gegevens;DMS\EP\Product omschrijving;DMS\OC\Product Update;MSG\ \Bevestiging bericht;DMS\ES\Externe specificatie;STS\PI\Statistiek;DMS\PC\Product Klassificatie T2 ;1;C;L;13;;|\3;C;L;3;;-\4;C;L;2;;|\14;C;L;22;;|\6;C;L;8;;|\8;N+;R;7;0;| \5;C;L;1;;|\2;C;L;11;;|;;$P($G(^KLE($G(^KL1(X),"*"),0)),D,2)\12;C;R;3 T3 ; Ident | Type | Omschrijving | Datum |#Rec| | Leverancier |Verw T4 ;1;C;L;80 T5 ;00000000011111111112222222222333333333344444444445555555555666666666677777777778 T6 ;12345678901234567890123456789012345678901234567890123456789012345678901234567890 T7 ;BLUM IMPORT;OVERZICHT T10 ; Er zijn geen berichten te verwerken T11 ;1;C;R;2;;|;1\2;C;R;2;;|\3;C;R;2;;|\4;C;R;2;;|\5;C;R;2;;|\6;C;L;7;;|\7;C;L;1;;|\9;C;L;6;;|\10;C;L;25;;|;1\11;C;L;22;; T13 ;AFDRUK OVERZICHT;AFDRUK BERICHT;VERWERK BERICHT;VERWERK ALLE BERICHTEN;DETAIL;RECORD BESCHRIJVING;VERWIJDEREN BERICHT T14 ;*** I'm thinking *** T15 ;Dit bericht is reeds verwerkt : . T16 ;J om het bericht nogmaals te verwerken en [] om de verwerking te stoppen T17 ;V om definitief te verwijderen [] om te stoppen : . ; XX w *7 Q ; O1 S K=$P($T(T10),U,2) G OY OY S FP=2403 W @F,@F1,@FMTI,K,@FMTi,@F0 OZ Q ; ; Schermaanduiding SA S FP=255 W @F,@FMTB,$J($P($T(T13),U,$F("PLIADRV",U4)),25),@FMTb Q ; SA1 S FP=255 W @F,$J("",5),@FMTK,$P($T(T14),U,2),@FMTk Q ; ; Initialisatie IN ;S K=$P($T(+1),U,2)_QN_" ",FP=203+$L(K) W @F61,@F11,@F1,@F,@F5 S FP=202 W @F,@F4,K,@F5 S Lijst(1)="^HULP($J,",Lijst(2)=$P($T(T2),U,2,999),Lijst(3)=4,Lijst(6)=1,Lijst(8)=$P($T(T3),U,2) S Detail(1)="^BLImp(MsgId,",Detail(2)=$P($T(T4),U,2,999),Detail(3)=5,Detail(4)=18 S RecDef(1)="^HULP($J,TYPE,",RecDef(2)=$P($T(T11),U,2,999),RecDef(3)=5 Q ; ; Help HLP D SA S HLP(1)=$P($T(T7),U,2),HLP(2)=$P($T(T7),U,3),HLP(3)=4,HLP(6)="" D HLP^HELP S VTB="" Q REFRESH S K=$P($T(+1),U,2)_QN_" ",FP=203+$L(K) W @F61,@F11,@F1,@F,@F5 S FP=202 W @F,@F4,K,@F5 Do WL^PROC Quit ; ; Verwerk message IMP I U4="I" D SA G IMP3:'$D(^HULP($J,Lijst(6))) S MsgId=$P(^(Lijst(6)),D,15),LevNr=$P(^(Lijst(6)),D,2) G IMP1:'$L($P(^BLImp(MsgId),D,12)),IMP3:U4="A" S FP=2301 W @F,@F1,$C(13),?2,$P($T(T15),U,2),!?2,$P($T(T16),U,2) K IK D IK^PROC1 S Temp=R,DL(2)=23,DL(3)=24 D WL^PROC G IMP3:Temp'="J" IMP1 S R=^HULP($J,Lijst(6)) I ";COA\SO;COA\DO;CSB\SO;CSB\DO;DMS\EP;DMS\OC;DMS\PR;DMS\ES;DMS\PC;DMS\IC;MSG\;STS\PI;"'[(U_$P(R,D,3,4)_U) W @F0 G IMP3 L ^BLImp(Lijst(6)):2 E X ^cTXT(0,"N",14) R *K S (DL(2),DL(3))=24 D WL^PROC G IMP3 S LVW=Lijst(6),$P(^HULP($J,LVW),D,12)="*",$P(^BLImp(MsgId),D,12)=1 ;Do STORE^vhTERMINA() If LevNr=5005 Do ; BLUM .I (($P(R,D,3)="COA") && ##class(TECH.Config.ConfigMgr).Instance().GetString("BLUMInterfacesActief")) D ^BLKALC1($P(R,D,4)) .I (($P(R,D,3)="CSB") && ##class(TECH.Config.ConfigMgr).Instance().GetString("BLUMInterfacesActief")) D ^BLCSBC1($P(R,D,4)) .I $P(R,D,3,4)="DMS\PR" D ^BLIMPPR ; Product .I $P(R,D,3,4)="DMS\OC" D ^BLIMPOC ; Product wijzigingen .I $P(R,D,3,4)="DMS\EP" D ^BLIMPEP ; Extended product (omschrijving) .I $P(R,D,3,4)="DMS\ES" D ^BLIMPES .I $P(R,D,3,4)="DMS\PC" D ^BLIMPPC .I $P(R,D,3,4)="DMS\IC" D ^BLIMPIC .I $P(R,D,3,4)="STS\PI" D ^BLIMPSTS ; Statistiek .I $P(R,D,3,4)="MSG\" D ^BLMSG DO REFRESH ;Do REFRESH^vhTERMINA() D PRIO^vhINITML() IMP2 D:U4="I" EL^PROC L IMP3 Q ; ; Verwerk alle niet verwerkte messages VAM S LVW=0 D SA I Lijst(7)'=1 S (Lijst(7),Lijst(6))=1 D WL^PROC I Lijst(6)'=1 D DL^PROC S Lijst(6)=1 D EL^PROC VAM1 D IMP I '$D(^HULP($J,Lijst(6)+1)) G VAM2:'$D(^(Lijst(6))) D:LVW=Lijst(6) EL^PROC G VAM2 I Lijst(6)+1>Lijst(4) S DL(2)="DO" D ML^PROC K DL(2) G VAM1 D DL^PROC S Lijst(6)=Lijst(6)+1 D EL^PROC G VAM1 VAM2 Q ; ; Lijst van de geselekteerde message LST D SA I '$D(^HULP($J,Lijst(6))) S U4=VTB G LST3 S R=^(Lijst(6)),MsgId=$P(R,D,15),LevNr=$P(R,D,2) I "\COA\CSB\"'[(D_$P(R,D,3)_D) W @F0 G LST3 I LevNr'="5005" W @F0 G LST3 ; Alleen BLUM I $P(R,D,3)="COA" D ^BLKALL3 G LST2 I $P(R,D,3)="CSB" D ^BLCSBL3 LST2 S DL(1)="Lijst",DL(2)=23,DL(3)=24 D WL^PROC LST3 Q ; ; Afdruk ganse lijst PRT G PRT5:'$D(^HULP($J)) D SA D INIT^vhPRINTER(80) G PRT4:'$D(Print) K FL S FL(1)=$P($T(T2),U,2,999),FL(2)=0,NM2=^KBA(99,2),NM3=^(3),LN=99,BLZ=0,VlgNr=0 PRT1 S VlgNr=$N(^HULP($J,VlgNr)) G PRT3:VlgNr=-1 S FL(3)=^(VlgNr) PRT2 S LN=LN+1 I LN>50 W:BLZ # D HD G PRT2 W ! D FL^PROC G PRT1 PRT3 W # D CLOSE^vhPRINTER K FL PRT4 S DL(2)=23,DL(3)=24 D WL^PROC PRT5 Q ; ; Detail DET G DET1:U4=VTB I '$D(^HULP($J,Lijst(6))) S U4=VTB G DET2 S VTB=U4,MsgId=$P(^(Lijst(6)),D,15),R=^BLImp(MsgId) D SA S FP=301 W @F,@FMTI,$E(R,1,80),$J("",80-$L(R)) S FP=401 W @F,$J("",80) S FP=2301 W @F,$P($T(T5),U,2) S FP=2401 W @F,$P($T(T6),U,2) W @FMTi S DL(1)="Detail" D WL^PROC DET1 D SL^PROC DET2 Q ; ; Record definitie RDF G RDF4:U4=VTB I '$D(^HULP($J,Lijst(6))) S U4=VTB G RDF5 D SA S VTB=U4,R=^(Lijst(6)),MsgId=$P(R,D,15),LevNr=$P(R,D,2),(TYPE,TYP)=$P(R,D,3),DL(1)="RecDef" G RDF3:$D(^HULP($J,TYPE)) D SA1 S VNR=0 RDF1 S TYP=$N(^BLRecDef(LevNr,TYP)) G RDF3:$E(TYP,1,3)'=TYPE S NXT=0,VNR=VNR+1,^HULP($J,TYPE,VNR)=$E(TYP,$L(TYP)-1,$L(TYP))_"\\\\\\\\\"_TYP RDF2 S NXT=$N(^BLRecDef(LevNr,TYP,NXT)) G RDF1:NXT=-1 S VNR=VNR+1,^HULP($J,TYPE,VNR)=D_^(NXT) G RDF2 RDF3 S FP=301 W @F,@FMTI,$J(TYPE,4),$J("",79-$L(TYPE)) K FL S FL(1)=$P($T(T11),U,2,999),FL(2)=401,FL(3)="Nr\"_^BLRecDef(0) D FL^PROC W @FMTi D WL^PROC,SA RDF4 D SL^PROC S VTB=U4 RDF5 Q ; ; Renumber REN Set (MsgNr,VlgNr)=0 Kill ^HULP($J),^($J+100) REN1 Set MsgNr=$N(^BLImp(MsgNr)) GoTo REN2:MsgNr=-1 Set R=^BLImp(MsgNr) If $P(R,D,2)="" S $P(R,D,2)=5005,^BLImp(MsgNr)=R ; Tijdelijk omzetting naar Burbidge If $P(R,D,12)'="" Set $P(R,D,12)="*" Else Set $P(R,D,12)="" S $P(R,D,7)=$E($P(R,D,7),1,2)_":"_$E($P(R,D,7),3,4) Set $P(R,D,13)=$P($P($P($T(T1),U,2,999),$P(R,D,3,4),2),U,1) Set VlgNr=VlgNr+1,$P(R,"\",15)=MsgNr,^HULP($J,VlgNr)=R Goto REN1 REN2 Q ; ; Verwijderen VRW I '$D(^HULP($J,Lijst(6))) S U4=VTB G VRW1 D SA S R=^(Lijst(6)),MsgId=$P(R,D,15),FP=2301 W @F,@F1,$C(13),?2,$P($T(T17),U,2) K IK D IK^PROC1 I R'="V" S U4=R S DL(2)=23,DL(3)=24 D WL^PROC G VRW1 K ^BLImp(MsgId) D REN I Lijst(6)>1,'$d(^HULP($J,Lijst(6))) S Lijst(6)=Lijst(6)-1 VRW1 Q ; ; ; BEGIN N NewProd,ModProd Do ##class(APPS.EDIExport.AankoopOrderResponse.BLUM.impl.Ontvanger).%New().Ontvang() Do ##class(APPS.EDIExport.AankoopOrderResponse.BLUM.impl.BLOrdRspService).%New().KopieerNaarBLimp() Do ##class(APPS.AKP.AankoopControle.BLUM.impl.DespatchBerichtOntvanger).%New().Ontvang() Do ##class(APPS.AKP.AankoopControle.BLUM.impl.DespatchBerichtOntvangerV2).%New().Ontvang() D IN,SA1,REN ; DISPL S DL(1)="Lijst" Do REFRESH I '$D(^HULP($J)) D O1,IK^PROC1 G END ; 1 S U4="?" D SA,SL^PROC S U4=R,VTB="" 11 I U4="-" G END I U4="A" D VAM G 1 I U4="D" D DET G 13 I U4="P" D LST G 1 I U4="L" D PRT G 1 I U4="F" D SCANONLINE^BLIMP G BEGIN I U4="R" D RDF G 13 I U4="I" D IMP G 1 I U4="V" D VRW G 1:U4'="V",DISPL I U4'="?",U4'="HELP" G 1 D HLP 13 S U4=R G 11:"\-\?\HELP\D\R\"[(D_R_D) S DL(1)="Lijst",U4="?" D SA S U4=R D WL^PROC G 11:"ALPV"[U4,1 ; END K ^HULP($J),^($J+100) Do MAIL(.NewProd,.ModProd) Q ; ; Hoofding drukken HD S LN=0,BLZ=BLZ+1 W !,QN,?72,"BLZ:",$J(BLZ,4) W !,NM2,?33,"BLUM berichten",?72,DT W !,NM3,?73,TD W !!,$P($T(T3),U,2),! Q ; MAILOLD(NewProd,ModProd) New Form,To,Subject,Body,Status,PRIDNO,KortTekst,MsgRec Set Body="" Do:$D(NewProd) . Set Body="Volgende producten zijn nieuw:"_$C(13),PRIDNO="" . For Set PRIDNO=$O(NewProd(PRIDNO)) Quit:PRIDNO="" Do . . Set MsgRec=NewProd(PRIDNO),KortTekst=$P(^BLProd("D",PRIDNO),D) . . Set Body=Body_$C(13)_PRIDNO_$J("",15-$L(PRIDNO))_KortTekst_$J("",32-$L(KortTekst))_"("_$P(MsgRec,D)_" - "_$P(MsgRec,D,6)_")" . . If $D(^KPR2(PRIDNO_" ")) Set Body=Body_" bestaat reeds bij VH" If $D(NewProd),$D(ModProd) Set Body=Body_$C(13)_$C(13)_$C(13) Do:$D(ModProd) . Set Body=Body_"Volgende producten werden gewijzigd:"_$C(13),PRIDNO="" . For Set PRIDNO=$O(ModProd(PRIDNO)) Quit:PRIDNO="" Do . . Set MsgRec=ModProd(PRIDNO),KortTekst=$P(^BLProd("D",PRIDNO),D) . . Set Body=Body_$C(13)_PRIDNO_$J("",15-$L(PRIDNO))_KortTekst_$J("",32-$L(KortTekst))_"("_$P(MsgRec,D)_" - "_$P(MsgRec,D,6)_")" . . If '$D(^KPR2(PRIDNO_" ")) Set Body=Body_" onbekend bij VH" Do:$L(Body) . Set From=##class(TECH.Context.RuntimeContext).Instance().GeefServerNaam()_"@VANHOECKE.BE" . Set To=$$USERNAME^vhUSER("JB;PVH","@",1) . Set Subject=$S($D(NewProd):"nieuwe",1:"") . If $D(NewProd),$D(ModProd) Set Subject=Subject_"- en " . Set Subject=Subject_$S($D(ModProd):"gewijzigde",1:"") . Set Subject="Import van "_Subject_" Blum-producten." . Set Status=$$SendMiniMail^vhLib(From,To,Subject,Body) ; new ; MAIL(NewProd,ModProd) new bl s bl=##class(BL.Blum.Prod.MailEDI).Instantiate() Do bl.Init(.NewProd,.ModProd) Do bl.Mail() Quit ;