Ao criar uma SendPort que utiliza um adaptador do tipo file, o Biztalk por defeito atribui ao ficheiro o nome relativo ao MessageID, porem há situações em que convém distinguir o ficheiro pelo nome, por exemplo identificar as encomendas dos clientes em que o nome do ficheiro corresponde ao seguinte: "[CodCliente]_[CodEncomenda].xml"
Para se conseguir isto é necessário fazer o override ao campo FILE.ReceivedFileName da mensagem que está a ser criada. Vamos supor que existe uma mensagem do tipo Order, na orquestração cria-se uma nova mensagem e atribui-se o nome do ficheiro, supondo que no schema Order o campo Customer corresponde ao Numero de Cliente e Number ao numero da encomenda: Order(FILE.ReceivedFileName) = System.String.Format("{0}_{1}.xml", Order.Customer, Order.Number); Isto define o nome do ficheiro na orquestração é necessário depois alterar a SendPort de nome que grave o ficheiro com este nome, por defeito ao criar uma SendPort do tipo File, o nome atribuido é definido pela macro "%MessageID%.xml", o que vamos fazer é utilizar uma outra macro chamada "%SourceFileName%", esta macro dispensa a extensão do ficheiro no final do nome, uma vez que vai pegar no nome atribuido anteriormente, além disso vai eliminar todos os caracteres que não dizem respeito ao ficheiro, ou seja, o nome completo do ficheiro é composto pela Path, nome do ficheiro e extensão, esta macro filtra o nome do ficheiro, sendo que a um ficheiro com o nome "C:\Inbound\Order_001.xml", é atribuido o nome "Order_001.xml".
Outra forma de conseguir o mesmo efeito é utilizando um pipeline alterado para esse efeito, já existe um e pode ser obtido no seguinte link http://blog.u2u.info/DottextWeb/peter/archive/2004/11/09/319.aspx