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))