Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Cozyroc 837映射循环问题_Sql Server_Xml_Ssis_Edi_X12 - Fatal编程技术网

Sql server Cozyroc 837映射循环问题

Sql server Cozyroc 837映射循环问题,sql-server,xml,ssis,edi,x12,Sql Server,Xml,Ssis,Edi,X12,我已使用Cozyroc和SSIS成功地将x12 835格式的数据加载到sql server 2014中。我在为837创建映射时遇到问题,因为涉及到循环。如何处理映射文件中的循环?使用segments和fields标记为835创建映射文件没有问题,但我不确定处理837中循环的语法 示例解析的x12 XML- <Loop LoopId="1000A" Name="SUBMITTER NAME"> <NM1> <!--Entity

我已使用Cozyroc和SSIS成功地将x12 835格式的数据加载到sql server 2014中。我在为837创建映射时遇到问题,因为涉及到循环。如何处理映射文件中的循环?使用segments和fields标记为835创建映射文件没有问题,但我不确定处理837中循环的语法

示例解析的x12 XML-

  <Loop LoopId="1000A" Name="SUBMITTER NAME">
        <NM1>
          <!--Entity Identifier Code-->
         <NM101>
            <!--Submitter-->
         </NM101>
          <!--Entity Type Qualifier-->
          <NM102>
            <!--Non-Person Entity-->
          </NM102>
          <!--Name Last or Organization Name-->
          <NM103></NM103>
          <NM104 />
          <NM105 />
          <NM106 />
          <NM107 />
          <!--Identification Code Qualifier-->
          <NM108>
            <!--Electronic Transmitter Identification Number (ETIN)-->
          </NM108>
         <NM109 />
        </NM1>


        <PER>
          <!--Contact Function Code-->
          <PER01>
            <!--Information Contact-->
          </PER01>
           <!--Name-->
          <PER02></PER02>
          <!--Communication Number Qualifier-->
          <PER03>
            <!--Telephone-->
          </PER03>
          <!--Communication Number-->
          <PER04></PER04>
          <!--Communication Number Qualifier-->
          <PER05>
            <!--Facsimile-->
          </PER05>
          <!--Communication Number-->
          <PER06></PER06>
        </PER>

      </Loop>
    <medi:segment loopID ="1000A" segcode="NM1" xmltag="SUBMITTER NAME">

      <medi:field xmltag="NM101"/>
      <medi:field xmltag="NM102"/>
      <medi:field xmltag="NM103"/>
      <medi:field xmltag="NM104"/>
      <medi:field xmltag="NM105"/>
      <medi:field xmltag="NM106"/>
      <medi:field xmltag="NM107"/>
      <medi:field xmltag="NM108"/>
      <medi:field xmltag="NM109"/>


      <medi:segment segcode="PER" xmltag="PER">
        <medi:field xmltag="PER01"/>
        <medi:field xmltag="PER02"/>
        <medi:field xmltag="PER03"/>
        <medi:field xmltag="PER04"/>
        <medi:field xmltag="PER05"/>
        <medi:field xmltag="PER06"/>

      </medi:segment>
    </medi:segment>

837配置(不工作)

  <Loop LoopId="1000A" Name="SUBMITTER NAME">
        <NM1>
          <!--Entity Identifier Code-->
         <NM101>
            <!--Submitter-->
         </NM101>
          <!--Entity Type Qualifier-->
          <NM102>
            <!--Non-Person Entity-->
          </NM102>
          <!--Name Last or Organization Name-->
          <NM103></NM103>
          <NM104 />
          <NM105 />
          <NM106 />
          <NM107 />
          <!--Identification Code Qualifier-->
          <NM108>
            <!--Electronic Transmitter Identification Number (ETIN)-->
          </NM108>
         <NM109 />
        </NM1>


        <PER>
          <!--Contact Function Code-->
          <PER01>
            <!--Information Contact-->
          </PER01>
           <!--Name-->
          <PER02></PER02>
          <!--Communication Number Qualifier-->
          <PER03>
            <!--Telephone-->
          </PER03>
          <!--Communication Number-->
          <PER04></PER04>
          <!--Communication Number Qualifier-->
          <PER05>
            <!--Facsimile-->
          </PER05>
          <!--Communication Number-->
          <PER06></PER06>
        </PER>

      </Loop>
    <medi:segment loopID ="1000A" segcode="NM1" xmltag="SUBMITTER NAME">

      <medi:field xmltag="NM101"/>
      <medi:field xmltag="NM102"/>
      <medi:field xmltag="NM103"/>
      <medi:field xmltag="NM104"/>
      <medi:field xmltag="NM105"/>
      <medi:field xmltag="NM106"/>
      <medi:field xmltag="NM107"/>
      <medi:field xmltag="NM108"/>
      <medi:field xmltag="NM109"/>


      <medi:segment segcode="PER" xmltag="PER">
        <medi:field xmltag="PER01"/>
        <medi:field xmltag="PER02"/>
        <medi:field xmltag="PER03"/>
        <medi:field xmltag="PER04"/>
        <medi:field xmltag="PER05"/>
        <medi:field xmltag="PER06"/>

      </medi:segment>
    </medi:segment>


这就是为什么我总是建议使用数据转换器。你在这里用一个方形的钉子打一个圆孔。即使有一个像样的映射工具,在837中循环也会让人望而生畏。如果您不能使用映射工具,我建议您将数据作为中间步骤进行展平,然后进行集成。对使用好的转换器有何建议?我有xml循环和元数据的文档,我只是不确定处理循环的语法。对于X12,您不会发现太多的开放源代码。对于这种集成,我更喜欢联络处的工具。