Inclusión de atributos ampliados en la plantilla de API

Puede incluir atributos ampliados en la plantilla de API; no obstante, debe asegurarse de que se guarden en la ubicación correcta y en el formato correcto.

Los atributos ampliados aparecen como un elemento <Extn> independiente bajo el elemento principal.

Por ejemplo, en la plantilla XML de salida predeterminada de la API getItemDetails(), los atributos Item tienen la siguiente estructura:

<?xml version="1.0" encoding="UTF-8"?>
 <Item .. Item attributes >
    <PrimaryInformation .... PrimaryInformation attributes />
    <ItemServiceSkillList .. ItemServiceSkillList attributes/>
    <ItemAliasList ... ItemAliasList attributes />
   .
   .
 </Item>

Después de ampliar la cabecera Item, la API getItemDetails() puede generar el XML siguiente:

<?xml version="1.0" encoding="UTF-8"?>
 <Item .. Item attributes >
   <PrimaryInformation .... PrimaryInformation attributes />
   <Extn ExtnAltQty="200408201034469490" ..... extnded attributes />
   <YFSPersonInfo .... PersonInfoKey="200408201034469490" ...../>
   <ItemServiceSkillList .. ItemServiceSkillList attributes/>
   <ItemAliasList ... ItemAliasList attributes />
   .
   .
 </Item>
Nota: Las variables de clave externa para la columna extendida aparecen como un atributo PersonInfoKey del elemento YFSPersonInfo . La relación puede validarse si la columna extendida y la PersonInfoKey tienen el mismo valor.
Por ejemplo, en el archivo extensions.xml , el siguiente fragmento define una relación de clave externa.
<Entity TableName="YFS_ITEM">
    <Attributes>
        <Attribute ColumnName="EXTN_PERSON_INFO" DataType="Key" DefaultValue="' '" XMLGroup="Extn" XMLName="YFSPersonInfo"/>
    </Attributes>
    <ForeignKeys>
        <ForeignKey ParentTableName="YFS_PERSON_INFO" XMLName="YFSPersonInfo">
            <Attribute ColumnName="EXTN_PERSON_INFO" ParentColumnName="PERSON_INFO_KEY"/>
        </ForeignKey>
    </ForeignKeys>
</Entity>
Aquí, EXTN_PERSON_INFO en YFS_ITEM hace referencia al atributo PERSON_INFO_KEY en YFS_PERSON_INFO. Si los valores coinciden, la salida de la API getItemDetails incluye ambos.
<Item ItemID="Item1" ...> 
     ...
     ...
     ...
    <Extn YFSPersonInfo="2025070310105179532"/> 
    <YFSPersonInfo PersonInfoKey="2025070310105179532" .../>
</Item>

El atributo extendido se recupera del atributo XMLName del archivo your_custome_filename.xml que editó en las secciones anteriores, al extender una tabla estándar. Coloque sus plantillas extendidas en el directorio <runtime_sandbox>/extensions/global/template/api .

Nota: Los archivos de plantilla deben codificarse en formato UTF-8 .