Skip to Content
0
Former Member
Apr 30, 2010 at 04:03 PM

Optional elements in XML transformation

1623 Views

Hi,

I call a transformation ( defined in STRANS ) that has as source a XML document and as destination several Abap variables.

I have a dump when transforming the XML, because some elements sometime do not exist in XML to transform.

For example, if the element <fax tt:value-ref="$REF.C250"/> of the bellow example does not exist in a XML, how can i preview it ? How do I don't have problem if tag <fax> does not exist

I know there's a property minOccurs="0", I've seen in several forums but I don't know how to adapt it to the bellow example. Can anyone help me solve this problem.

Thanks,

Paulo Sousa

EXAMPLE ( part of my transformation ):

<?sap.transform simple?>

http://www.sap.com/transformation-templates" xmlns:ddic=" http://www.sap.com/abapxml/types/dictionary" xmlns:def=" http://www.sap.com/abapxml/types/defined">

<tt:root name="ZSHSTXML_EMPRESA" type="ddic:ZSHSTXML_EMPRESA"/>

<tt:root name="ZSHSTXML_SST_C140" type="ddic:CHAR1000SF"/>

<tt:root line-type="ddic:ZSHSTXML_ESTABL" name="ZSHSTXML_ESTABL"/>

<tt:root line-type="ddic:ZSHSTXML_ACTVHST" name="ZSHSTXML_ACTVHST"/>

<tt:root line-type="ddic:ZSHSTXML_SRV_SST" name="ZSHSTXML_SRV_SST"/>

<tt:root line-type="ddic:ZSHSTXML_MEDICOS" name="ZSHSTXML_MEDICOS"/>

<tt:root line-type="ddic:ZSHSTXML_TEC_SHT" name="ZSHSTXML_TEC_SHT"/>

<tt:root line-type="ddic:ZSHSTXML_ACTIVID" name="ZSHSTXML_ACTIVID"/>

<tt:root line-type="ddic:ZSHSTXML_CONSULT" name="ZSHSTXML_CONSULT"/>

<tt:root line-type="ddic:ZSHSTXML_INFO" name="ZSHSTXML_INFO"/>

<tt:root line-type="ddic:ZSHSTXML_FORMAC" name="ZSHSTXML_FORMAC"/>

<tt:root line-type="ddic:ZSHSTXML_RFISICO" name="ZSHSTXML_RFISICO"/>

<tt:root line-type="ddic:ZSHSTXML_RQUIMIC" name="ZSHSTXML_RQUIMIC"/>

<tt:root line-type="ddic:ZSHSTXML_RBIOLOG" name="ZSHSTXML_RBIOLOG"/>

<tt:root line-type="ddic:ZSHSTXML_RMUSCUL" name="ZSHSTXML_RMUSCUL"/>

<tt:root line-type="ddic:ZSHSTXML_RPSICOS" name="ZSHSTXML_RPSICOS"/>

<tt:root line-type="ddic:ZSHSTXML_ROUTROS" name="ZSHSTXML_ROUTROS"/>

<tt:root line-type="ddic:ZSHSTXML_EXAMES" name="ZSHSTXML_EXAMES"/>

<tt:root line-type="ddic:ZSHSTXML_EXCOMPL" name="ZSHSTXML_EXCOMPL"/>

<tt:root line-type="ddic:ZSHSTXML_IMUNIZA" name="ZSHSTXML_IMUNIZA"/>

<tt:root line-type="ddic:ZSHSTXML_PROMOST" name="ZSHSTXML_PROMOST"/>

<tt:root line-type="ddic:ZSHSTXML_ACIDTRA" name="ZSHSTXML_ACIDTRA"/>

<tt:root line-type="ddic:ZSHSTXML_DOENCAP" name="ZSHSTXML_DOENCAP"/>

<tt:root line-type="ddic:ZSHSTXML_DOENCAC" name="ZSHSTXML_DOENCAC"/>

<tt:root line-type="ddic:ZSHSTXML_RFMEDID" name="ZSHSTXML_RFMEDID"/>

<tt:root line-type="ddic:ZSHSTXML_RQMEDID" name="ZSHSTXML_RQMEDID"/>

<tt:root line-type="ddic:ZSHSTXML_RBMEDID" name="ZSHSTXML_RBMEDID"/>

<tt:root line-type="ddic:ZSHSTXML_RMMEDID" name="ZSHSTXML_RMMEDID"/>

<tt:root line-type="ddic:ZSHSTXML_RPMEDID" name="ZSHSTXML_RPMEDID"/>

<tt:root line-type="ddic:ZSHSTXML_ROMEDID" name="ZSHSTXML_ROMEDID"/>

<tt:root line-type="ddic:ZSHSTXML_EXCMEDI" name="ZSHSTXML_EXCMEDI"/>

<tt:template>

http://www.gep.mtss.gov.pt/sguri/ru" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">

<active_estabs>

<tt:attribute name="year_ref" value-ref=".ZSHSTXML_EMPRESA.ANO"/>

... SOME LINES I'VE REMOVED. I BELIEVE NOT RELEVANT

<estabs>

<tt:loop ref="ZSHSTXML_ESTABL">

<estab>

<estab_id>

<tt:value ref="$REF.ID"/>

</estab_id>

<dcf tbl="RU_DCF">

<tt:value ref="$REF.C230"/>

</dcf>

<dcf_description>

<tt:value ref="$REF.C231"/>

</dcf_description>

<country tbl="RU_CODPAIS">

<tt:value ref=".ZSHSTXML_SST_C140"/>

</country>

<country_description>

<tt:value ref=".ZSHSTXML_SST_C140"/>

</country_description>

<phone tt:value-ref="$REF.C240" />

<fax tt:value-ref="$REF.C250"/>

<email tt:value-ref="$REF.C260"/>

<cae tbl="RU_CAE_5DIG">

<tt:value ref="$REF.C300"/>

</cae>

<cae_description>

<tt:value ref="$REF.C301"/>

</cae_description>

</estab>

</tt:loop>

</estabs>

</entity>

</entity_data>

</tt:template>

</tt:transform>