Index: BL/Flow/Offerte/Parser/AbstractParser.cls.xml
===================================================================
diff -u -r1074 -r1476
--- BL/Flow/Offerte/Parser/AbstractParser.cls.xml (.../AbstractParser.cls.xml) (revision 1074)
+++ BL/Flow/Offerte/Parser/AbstractParser.cls.xml (.../AbstractParser.cls.xml) (revision 1476)
@@ -36,11 +36,18 @@
]]>
-
-1
-offertes
-ParseStatus
-
+1
+DirRead,FileName,DirTemp
+AbstractParser
+
@@ -55,18 +62,23 @@
]]>
-
-1
-DirRead,FileName,DirTemp
-AbstractParser
+
+1
+offertes
+ParseStatus
+
+
+
+
+
+Deze method overschrijven in klantspecifieke parser, indien er specifieke searchkeys nodig zijn.
+zie method ConvertProductLijn() in klasse BL.Flow.Offerte.ScanEDIMail
+pxLijn:BL.Flow.Offerte.pxLijn
+%List
Index: BL/Flow/Offerte/ScanEDIMail.cls.xml
===================================================================
diff -u -r1456 -r1476
--- BL/Flow/Offerte/ScanEDIMail.cls.xml (.../ScanEDIMail.cls.xml) (revision 1456)
+++ BL/Flow/Offerte/ScanEDIMail.cls.xml (.../ScanEDIMail.cls.xml) (revision 1476)
@@ -36,6 +36,10 @@
1
+
+BL.Flow.Offerte.Parser.AbstractParser
+
+
Scans the incoming EDI mail watchfolder and processes every found file
@@ -89,14 +93,15 @@
// Create a parser
Set ..MailEachOrder = 0
Set parser = ##class(BL.Flow.Offerte.Parser.AbstractParser).createParser(DirRead,FileName,DirTemp)
- if parser="" Do
+ if $$$Not($IsObject(parser)) Do
. Do AddErrorToLog^BL.EC.Common("EDI", "ScanEdiMail","","Er is geen parser voorzien voor het bestand "_FileName)
. Set From=$ZU(110)_"@VanHoecke.be"
. Set To=$LB("ICT_ImportEDIerrors@vanhoecke.be")
. Set Subject=FileName_": EDI-verwerking mislukt"
. Set Body="Er is geen parser voorzien voor het bestand """_FileName_"""."
. Set sc=$$SendMiniMail^vhLib(From,To,Subject,Body,0)
Else Do ; Call parser
+ . Set ..Parser=parser
. Set result = parser.parse(.arOffertes)
. if result.HasError() Do
. . Set From=$ZU(110)_"@VanHoecke.be"
@@ -182,21 +187,25 @@
. Set oLijn.SearchKeys=$LB($LB(pxLijn.KlantProdRef,"PAKKET"))_pxLijn.SearchKeys
// Searchkeys
- //specifiek voor Haefele al oplossen in de parser
- /*
+ If $IsObject(..Parser) {
+ Set lbSearchKeys=..Parser.GeefSearchKeys(pxLijn)
+ Set:($LL(lbSearchKeys)) oLijn.SearchKeys=oLijn.SearchKeys_lbSearchKeys
+ }
+ /*
+ // Search keys (voor SFS zijn deze niet nodig) - Added by WimV on 15/06/2011
+ ;If $L(pxLijn.ProdRef) Set oLijn.SearchKeys=oLijn.SearchKeys_$LB($LB(pxLijn.ProdRef,"I"))
+ ;If $L(pxLijn.ProdBeschrijving) Set oLijn.SearchKeys=oLijn.SearchKeys_$LB($LB(..StripLF(pxLijn.ProdBeschrijving),"K"))
+
+ //specifiek voor Haefele oplossen in de parser
;If ..ConvType=..#ConvTypeHAFELE Do ; Haefele drukt de identnummers uit zonder het eerste cijfers
. ;IdentNr
. Set IDNr=..ConvertIdentNr(pxLijn.ProdRef,"")
. Set:IDNr="" IDNr=..ConvertIdentNr(pxLijn.ProdBeschrijving,"08123456") ; beperkt tot Blum (Haefele gebruikt lichtjes andere identnrs dan Van Hoecke. Zij hebben dezelfde producten maar met een andere verpakking vandaar een ander identnr
. Set:$L(IDNr) oLijn.SearchKeys=oLijn.SearchKeys_$LB($LB(IDNr,"I"))
. ;KorTtekst
. Set:$L(pxLijn.ProdRef) oLijn.SearchKeys=oLijn.SearchKeys_$LB($LB(pxLijn.ProdRef,"K"))
- */
+ */
- // Search keys - Added by WimV on 15/06/2011
- If $L(pxLijn.ProdRef) Set oLijn.SearchKeys=oLijn.SearchKeys_$LB($LB(pxLijn.ProdRef,"I"))
- If $L(pxLijn.ProdBeschrijving) Set oLijn.SearchKeys=oLijn.SearchKeys_$LB($LB(..StripLF(pxLijn.ProdBeschrijving),"K"))
-
// Search description
If $L(pxLijn.ProdRef) Set oLijn.SearchOmschrijving=oLijn.SearchOmschrijving_$LB(pxLijn.ProdRef)
If $L(pxLijn.ProdBeschrijving) Set oLijn.SearchOmschrijving=oLijn.SearchOmschrijving_$LB(..StripLF(pxLijn.ProdBeschrijving))