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 .