Businesslogic voor het verwerken van een product offertelijn Deze businesslogic is afhankelijk van %blFlowOfferte en deze moet reeds geinstantieerd zijn ! Prod.Product,BL.EC.Common,BL.Prod 1 %RegisteredObject 0 Voorbereiden van een offertelijn voor import in een order oLijn:Flow.Offerte.Lijn,NoSa:%String %Status Voorbereiden van een offertelijn voor prijsberekening en controle oLijn:Flow.Offerte.Lijn,Taal:%String,NoSa:%String %Status Invullen van product, prijs en andere gegevens in de lijn of sublijnen oLijn:Flow.Offerte.Lijn,Taal:%String,NoSa:%String 0 %Status Controle van een lijn op prijs, levertermijn, aantal What : P = Product, V = Verkoopprijs, L = Levertermijn, A = Aantal oLijn:Flow.Offerte.Lijn,What:%String,Taal:%String,NoSa:%String %Status Invullend van een lijn als het juist geCreate is oLijn:Flow.Offerte.Lijn,PRNr:%Integer,Aantal:%Integer %Status PakRef:%String,KLNr:%Integer 1 IdentNr:%String,KLNr:%Integer,oLijn:Flow.Offerte.Lijn 1 1 Do . . ; // opbouw mail naar PM --> voorlopig geen mail sturen .. . . ;Set BodyIsStream = 1 . . ;Set BodyIsHTML = 1 . . ;Set Body = ##class(%GlobalCharacterStream).%New() . . ;Do Body.WriteLn("Volgende producten hebben het zelfde IdentNr "_(IdentNr) ) . . ;Do Body.WriteLn("") . . ;For Counter = 1 : 1 : $LL(lbPRNRs) Do . . ;. Set PRNr=$LG(lbPRNRs,Counter) . . ;. Set arTable(Counter)="KortTekst "_$$$TAB_$$$PRGet($$$KortTekst)_$$$TAB_"InternNr"_$$$TAB_PRNr . . ;Do Body.Write($$ArrayToHTMLTable^vhLib(.arTable)) . . ;Do SendMiniMail^vhLib("system@vanhoecke.be",$LB("ICT_ProductMGR"),"Meerdere producten met zelfde IdentNr",Body,BodyIsStream,BodyIsHTML) . . Set PRNr="" ; geen koppeling indien meerdere identnrs gevonden worden . Else Set PRNr=$LG(lbPRNRs,1) Else Do . Set IdentNr=$$TRIMIDENT^vhRtn1(IdentNr) ;[IDENT] CW . If $L(IdentNr)=8,$D(^KPR2(IdentNr_" ")) Set PRNr=$P(^KPR2(IdentNr_" "),"\") ; exact match . If $L(IdentNr)=8 Set $E(IdentNr)="" . If PRNr="",$L(IdentNr)=7 Do . . For I=0,9,8,1:1:7 Do Quit:PRNr'="" . . . Set PRNr=$P($G(^KPR2(I_IdentNr_" ")),"\") . . . If PRNr,I>0,I<7 Set KortTekst=$$$PRGet($$$KortTekst) Set:KortTekst'[("*"_KLNr_"*") PRNr="" ; Kontrole op kundestam Quit:PRNr="" "" Quit $LB($LB(PRNr,1)) ]]> KortTekst:%String,KLNr:%Integer,oLijn:Flow.Offerte.Lijn 1 1 Set PRNr="" . Else Set PRNr=$LG(lbPRNRs,1) Else Do . Set KeepChar="" . Set KortTekst=$ZCvt($ZStrip(KortTekst,"*P",,KeepChar),"U") . ; De index KPR1 is speciaal opgebouwd het 3de en 12de karakter zijn er speciaal tussengevoegd voor de sortering . Set NextKT=$E(KortTekst,1,3) . For Set NextKT=$O(^KPR1(NextKT)) Quit:$E(NextKT,1,3)'=$E(KortTekst,1,3) Do ; Looping met de eerste drie karakters . . Set KT2=$ZCvt($ZStrip($P(^KPR1(NextKT),"\",2),"*P",,KeepChar),"U") . . Quit:$E(KT2,1,$L(KortTekst))'=KortTekst . . . . Set PRNr=PRNr_";"_$P(^KPR1(NextKT),"\") . Set $E(PRNr)="" ; verwijder eerste ";" . Set:PRNr[";" PRNr="" ; Meerdere niet toegelaten Quit:PRNr="" "" Quit $LB($LB(PRNr,1)) ]]>