Xsd 跳过BizTalk平面文件程序集中的元素?

Xsd 跳过BizTalk平面文件程序集中的元素?,xsd,biztalk,flatfiledestination,Xsd,Biztalk,Flatfiledestination,我的任务是映射输入xml(实际上是SAP idoc xml),并生成许多平面文件。每个输入xml可能会产生多个输出文件(每个批号一个输出文件),因此我将根据批号在映射中使用xsl:key和key()函数 问题是,批号本身不在文件中,但输出文件名需要包含该批号值 所以问题是:我可以将批号映射到xml,并让平面文件汇编程序在生成文件时跳过它吗?或者有没有其他方法可以让部件将批号作为文件名应用,而不必将其放在文件本身中 如果消息内容中不需要该值,请不要映射它。就这样 要在文件名、批号中插入at值(在本

我的任务是映射输入xml(实际上是SAP idoc xml),并生成许多平面文件。每个输入xml可能会产生多个输出文件(每个批号一个输出文件),因此我将根据批号在映射中使用xsl:key和key()函数

问题是,批号本身不在文件中,但输出文件名需要包含该批号值

所以问题是:我可以将批号映射到xml,并让平面文件汇编程序在生成文件时跳过它吗?或者有没有其他方法可以让部件将批号作为文件名应用,而不必将其放在文件本身中

  • 如果消息内容中不需要该值,请不要映射它。就这样
  • 要在文件名、批号中插入at值(在本例中),需要将该值提升到file.ReceivedFileName上下文属性。然后,您可以使用%SourceFileName%宏作为发送端口中名称设置的一部分。您可以通过业务流程中的属性提升或xpath()设置FILE.ReceivedFileName
  • 好处:xslt中的排序和分组相当笨拙,这就是我不再这么做的原因。相反,您可以使用SQL:

  • 如果消息内容中不需要该值,请不要映射它。就这样
  • 要在文件名、批号中插入at值(在本例中),需要将该值提升到file.ReceivedFileName上下文属性。然后,您可以使用%SourceFileName%宏作为发送端口中名称设置的一部分。您可以通过业务流程中的属性提升或xpath()设置FILE.ReceivedFileName

  • 好处:xslt中的排序和分组相当笨拙,这就是我不再这么做的原因。相反,您可以在业务流程中使用SQL:

    ,您可以为每个输出消息设置上下文属性:

    msgOutput(FILE.ReceivedFileName) = "DynamicStuff";
    
    msgOutput然后转到send形状。 在发送端口中,您可以如下设置输出文件:

    FixedStuff_%SourceFileName%.xml
    
    结果是:

    FixedStuff_DynamicStuff.xml
    

    在业务流程中,可以为每个输出消息设置上下文属性:

    msgOutput(FILE.ReceivedFileName) = "DynamicStuff";
    
    msgOutput然后转到send形状。 在发送端口中,您可以如下设置输出文件:

    FixedStuff_%SourceFileName%.xml
    
    结果是:

    FixedStuff_DynamicStuff.xml
    

    对不起,不清楚你想做什么。是否需要批号?两种说法相互矛盾。如果输出中不需要它,就不要映射它。@Johns-305我在文件内容中不需要它,但在文件名中需要它。哪个适配器?文件,FTP…其他?现在是文件,但在稍后阶段,抱歉,不清楚您要做什么。是否需要批号?两种说法相互矛盾。如果输出中不需要它,就不要映射它。@Johns-305我在文件内容中不需要它,但在文件名中需要它。哪个适配器?文件,FTP…其他?目前为文件,但在稍后阶段smtp