niet meer gebruikt !!!!
Converteren van een Tekstbestanden en XML Files naar een offerte
Het converteren van een XML gebeurt in 4 faze :
1. Conversie van het externe XML formaat naar een interne XML structuur via XSLT (call to FOP)
2. Inlezen van het XML File in de proxy klasse pxHoofding
3. Conversie van pxHoofding naar Flow.Offerte.Hoofding
4. Opslaan van Flow.Offerte.Hoofding en email naar OV
persistent
BL.EC.Common,BL.Derde.KlantSpecifiek,%VHMacro,%occStatus
1
%Persistent
61864,37523.75698
60661,38352.740711
0
\EDICUST_IN\
ARCHIVE\
TEMP\
Welke XSLT er voor een Hafele Printjob moet gebruikt worden om te converteren naar een XML geschikt voor de proxyklasse
EDI-HAEFELE
Conversie specifieke elementen
HAFELE
Omzetting van de pxOfferte.Klant.Naam naar een klantnr
Mettertijd moet dit verplaatst worden naar het klantenbestand en werken via een lookup
Häfele BELGIE;4875\HAEFELE BELGIE;4875\Häfele BELGIUM;4875\HAEFELE BELGIUM;4875\Häfele NEDERLAND;2671\HAEFELE NEDERLAND;2671
Welke proxyklasse door de business logic ConvertProxy wordt verwerkt
BL.Flow.Offerte.pxHoofding
Conversie type : om de conversie klant en/of EDI-doc afhankelijk te maken
Het programma kan op dit veld testen om specifieke algoritmes uit te voeren
%String
%Boolean
1
%Boolean
0
%Integer
1
Debug
Do ##class(BL.Flow.Offerte.XML2Offerte).Scan()
Achtergrond job dat alle EDI-bestellingen van klantenverwerkt
1
0
XSLT translatie toepassen en daarna inlezen van het FilePath
Dir,FileName,TempDir
Dir,FileName
FileName
1)&&..DebugMode
. Set pxHoofding = ##class(BL.Flow.Offerte.pxHoofding).%New()
. Set pxHoofding.KlantID = ..KLNr
. Set pxHoofding.OrderRef = aOrders(idxRef)
. Set pxHoofding.OrderCommRef = $ZSTRIP(idxRef,"<>"," ")
. Set pxHoofding.OrderDatum = $TR($ZD($H,1),"/",".")
. Set pxHoofding.DocDate = $TR($ZD($H,1),"/",".")
. Set idxLine = ""
. For Set idxLine = $O(aOrders(idxRef,idxLine)) Quit:idxLine="" Do // Lijn gegevens opvullen
. . Set LnInfo = aOrders(idxRef,idxLine)
. . Set pxLijn = ##class(BL.Flow.Offerte.pxLijn).%New()
. . Set pxLijn.LijnType = "P"
. . Set pxLijn.Aantal = $LG(LnInfo,1)
. . Set pxLijn.KlantProdRef = $LG(LnInfo,2)
. . Set pxLijn.ProdRef = $LG(LnInfo,2)
. . Do pxHoofding.Lijnen.SetAt(pxLijn,idxLine)
. set ..pxOfferte = pxHoofding
. Set OrderCnt=OrderCnt+1
. Do ..ConvertProxy()
Do ..Mail2OrderVerwerking(OrderCnt)
Quit
]]>
Line,aResult:%String
%Boolean
", " ")
Set aResult("BestNr") = $ZSTRIP($P(Line,"|",4),"<>", " ")
Set aResult("Ref") = $ZSTRIP($P(Line,"|",5),"<>", " ")
Quit 1
]]>
Het verwerken van een offerte tot een order
Do ##class(BL.Flow.Offerte.XML2Offerte).%New().ReadXML("//Notes01/MSMGateWay/EDICUST_IN/temp/","Hafele.be.20060927.xml")
Dir,FileName
Conversie van de pxOfferte naar een Flow.Offerte
oOfferte:Flow.Offerte.Hoofding,pxLijn:BL.Flow.Offerte.pxLijn
Aantal
0
Strip LF en de bijhorende spaties
Copieren van het leveringadres
oOfferte:Flow.Offerte.Hoofding,pxAdres:BL.Flow.Offerte.pxAdres
String
Aanvullen van identnr met eerste cijfer
IDNr,StartList
Datum
Number
%Library.CacheStorage
^BL.Flow.Offerte.XML2OfferteD
XML2OfferteDefaultData
^BL.Flow.Offerte.XML2OfferteD
^BL.Flow.Offerte.XML2OfferteI
^BL.Flow.Offerte.XML2OfferteS
listnode
%%CLASSNAME
pxOfferte
Aantal
ConvType
GrootteOrde
KlantProdRef
LevDatum
LeverDatum
LijnPos
LijnRef
Prijs
ProdBeschrijving
ProdRef
Referentie
SearchKeys
SearchOmschrijving
TextAfter
TextBefore
TotaalPrijs
VerwachteEPrijs
MailEachOrder
DebugMode
KlNr
KLNr