TEXT id mapping requirement. idoc to edi and edi 2 idoc using template

 https://xsltfiddle.liberty-development.net/



IDOC 2 EDI

<?xml version="1.0" encoding="utf-8" ?>

<ZORDERS0502>

<IDOC BEGIN="1">

<E1EDKT1 SEGMENT="1">

<TDID>TX01</TDID>

<TSSPRAS>E</TSSPRAS>

<TSSPRAS_ISO>EN</TSSPRAS_ISO>

<E1EDKT2 SEGMENT="1">

<TDLINE>NAD+SU+7983279846276487264</TDLINE>

<TDFORMAT>*</TDFORMAT>

</E1EDKT2>

<!-- <E1EDKT2 SEGMENT="1">

<TDLINE>NAD+ST+983279846276487264-ABC</TDLINE>

<TDFORMAT>*</TDFORMAT>

</E1EDKT2>-->

<E1EDKT2 SEGMENT="1">

<TDLINE>NAD+BY+79846276487264-123</TDLINE>

<TDFORMAT>*</TDFORMAT>

</E1EDKT2>

<E1EDKT2 SEGMENT="1">

<TDLINE>NAD+BT+79846276487264-123</TDLINE>

<TDFORMAT>*</TDFORMAT>

</E1EDKT2>

</E1EDKT1>

</IDOC>

</ZORDERS0502>

-----------------------

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">


  <xsl:output method="xml" indent="yes"/>


  <!-- Match the root element and transform its child elements -->

  <xsl:template match="/">

    <xsl:apply-templates select="ZORDERS0502"/>

  </xsl:template>


  <!-- Transform ZORDERS0502 element -->

  <xsl:template match="ZORDERS0502">

    <EDIFACT>

      <ORDERS>

        <xsl:apply-templates select="IDOC/E1EDKT1/E1EDKT2[starts-with(TDLINE, 'NAD+')]"/>

      </ORDERS>

    </EDIFACT>

  </xsl:template>


  <!-- Transform E1EDKT2 element -->

  <xsl:template match="E1EDKT2">

    <GROUP_2>

      <NAD>

        <NAD01>

          <xsl:value-of select="substring(TDLINE, 5, 2)"/>

        </NAD01>

        <NAD02>

          <NAD0201>

            <xsl:value-of select="substring(TDLINE, 8)"/>

          </NAD0201>

          <NAD0203>9</NAD0203>

        </NAD02>

      </NAD>

    </GROUP_2>

  </xsl:template>


</xsl:stylesheet>

------------

<?xml version="1.0" encoding="UTF-8"?>

<EDIFACT>

   <ORDERS>

      <GROUP_2>

         <NAD>

            <NAD01>SU</NAD01>

            <NAD02>

               <NAD0201>7983279846276487264</NAD0201>

               <NAD0203>9</NAD0203>

            </NAD02>

         </NAD>

      </GROUP_2>

      <GROUP_2>

         <NAD>

            <NAD01>BY</NAD01>

            <NAD02>

               <NAD0201>79846276487264-123</NAD0201>

               <NAD0203>9</NAD0203>

            </NAD02>

         </NAD>

      </GROUP_2>

      <GROUP_2>

         <NAD>

            <NAD01>BT</NAD01>

            <NAD02>

               <NAD0201>79846276487264-123</NAD0201>

               <NAD0203>9</NAD0203>

            </NAD02>

         </NAD>

      </GROUP_2>

   </ORDERS>

</EDIFACT>

------------------
EDI 2 IDOC

<?xml version="1.0" encoding="utf-8" ?>
<EDIFACT>
  <ORDERS>
    <GROUP_2>
      <NAD>
        <NAD01>SU</NAD01>
        <NAD02>
          <NAD0201>7983279846276487264</NAD0201>
          <NAD0203>9</NAD0203>
        </NAD02>
      </NAD>
    </GROUP_2>
    <GROUP_2>
      <NAD>
        <NAD01>BY</NAD01>
        <NAD02>
          <NAD0201>79846276487264-123</NAD0201>
          <NAD0203>9</NAD0203>
        </NAD02>
      </NAD>
    </GROUP_2>
     <GROUP_2>
      <NAD>
        <NAD01>SU1</NAD01>
        <NAD02>
          <NAD0201>7983279846276487264</NAD0201>
          <NAD0203>9</NAD0203>
        </NAD02>
      </NAD>
    </GROUP_2>
  </ORDERS>
</EDIFACT>


--------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output method="xml" indent="yes"/>

  <!-- Match the root element and transform its child elements -->
  <xsl:template match="/">
    <xsl:apply-templates select="EDIFACT/ORDERS"/>
  </xsl:template>

  <!-- Transform ORDERS element -->
  <xsl:template match="ORDERS">
    <ZORDERS0502>
      <IDOC BEGIN="1">
        <E1EDKT1>
          <xsl:apply-templates select="GROUP_2/NAD"/>
        </E1EDKT1>
      </IDOC>
    </ZORDERS0502>
  </xsl:template>

  <!-- Transform NAD element -->
  <xsl:template match="NAD">
    <E1EDKT2 SEGMENT="1">
      <TDLINE>
        <xsl:value-of select="concat('NAD+', NAD01, '+', NAD02/NAD0201)"/>
      </TDLINE>
      <TDFORMAT>*</TDFORMAT>
    </E1EDKT2>
  </xsl:template>

</xsl:stylesheet>
------------
<?xml version="1.0" encoding="UTF-8"?>
<ZORDERS0502>
   <IDOC BEGIN="1">
      <E1EDKT1>
         <E1EDKT2 SEGMENT="1">
            <TDLINE>NAD+SU+7983279846276487264</TDLINE>
            <TDFORMAT>*</TDFORMAT>
         </E1EDKT2>
         <E1EDKT2 SEGMENT="1">
            <TDLINE>NAD+BY+79846276487264-123</TDLINE>
            <TDFORMAT>*</TDFORMAT>
         </E1EDKT2>
         <E1EDKT2 SEGMENT="1">
            <TDLINE>NAD+SU1+7983279846276487264</TDLINE>
            <TDFORMAT>*</TDFORMAT>
         </E1EDKT2>
      </E1EDKT1>
   </IDOC>
</ZORDERS0502>

Popular posts from this blog

pss book : శ్రీకృష్ణుడు దేవుడా, భగవంతుడా completed , second review needed. 26th April 2024

pss book: గురు ప్రార్థనామంజరి . completed 21st july 2024

pss book: కధల జ్ఞానము read review pending. 25th june 2024