0

We have a legacy system that outputs flat files in fixed format on Unix. The target OS for the data is Windows and Unix end of line characters are problematic as you expect from that file format. The data format is not changed between source and target systems (i.e. they both currently accept fixed format).

My question is;

Does BizTalk come with a filter that converts LF to CRLF, this seems like a common problem when interfacing legacy heterogeneous systems?

We are using BizTalk 2009, though an upgrade to 2011 is in progress.

Dijkgraaf
  • 11,049
  • 17
  • 42
  • 54
crsedgar
  • 23
  • 2

3 Answers3

0

BizTalk works with XML. You can use the flat file wizard to import your UNIX source file and from the BizTalk XML message create any output you desire again using the flat file wizard against an example destination file to create the correct schema.

Nigel B
  • 3,577
  • 3
  • 34
  • 52
0

I wouldn't write two identical schemas with different line endings just to satisfy two different architectures.

Instead, I would write a single flat file schema with one of the two line endings. Then, write an encode send pipeline component and change the line endings to the 'other' system as you are transmitting the message. This will be the closest you will come to a LF to CRLF filter in BizTalk.

If your end systems require different message structures, I would then consider creating two schemas.

Nick Heppleston
  • 1,973
  • 11
  • 18
  • Be very careful writing this encoder though. Make sure it is uses streaming (ideally Virtual Streaming) so it does't load the whole message into memory. I've seen it done without that, and it causes it to fail if the message is very large. – Dijkgraaf Oct 02 '17 at 02:40
0

No, it does not come with one.

The flat file schema wizard will design a schema for either but you must pick one and not mix them.

There are a couple of options:

  1. remove CRs in whatever process/automation that receives the input file. Then design your schema to expect only LF. Then either format can be received and will be processed correctly. This is usually trivial
  2. Create a custom pipeline component to do step 1.
Jay
  • 13,803
  • 4
  • 42
  • 69