table attribute

Actualización Masiva de Metadatos de Productos vía XML

Scénario de test & Cas d'usage

Contexto empresarial

Una empresa de retail gestiona un catálogo de miles de productos. Diariamente, un sistema externo genera un archivo XML con metadatos actualizados (descripciones, estado de inventario, notas de marketing). Se necesita un proceso eficiente para aplicar estos metadatos a la tabla de productos en CAS.
Sobre el conjunto : table

Carga, guardado y gestión de tablas en memoria.

Descubrir todas las acciones de table
Preparación de datos

Creación de una tabla de productos. El escenario asume la existencia de un archivo XML en '/cas/data/shared/product_meta.xml' con atributos para los productos.

¡Copiado!
1DATA casuser.PRODUCT_CATALOG;
2 LENGTH ProductID $12;
3 INPUT ProductID $ Price StockLevel;
4 DATALINES;
5PROD-ELEC-001 499.99 150
6PROD-HOME-002 29.50 800
7PROD-ELEC-005 1200.00 40
8;
9RUN;
10 
11/* Nota: El siguiente archivo XML se asume que existe en el servidor CAS en la ruta /cas/data/shared/product_meta.xml
12 
13<Attributes Table='PRODUCT_CATALOG'>
14 <AttributeSet Name='ProductMeta'>
15 <Attribute Key='SourceSystem' Value='SAP-MM'/>
16 <Attribute Key='Analyst' Value='John.Doe'/>
17 <Attribute Key='Description' Column='Price' Value='Precio de venta al público sin IVA'/>
18 <Attribute Key='Validation' Column='StockLevel' Value='Validado contra inventario físico'/>
19 </AttributeSet>
20</Attributes>
21 
22*/

Étapes de réalisation

1
Utilizar la acción 'attribute' con task='ADD' y el parámetro 'xmlPath' para cargar los metadatos desde el archivo XML a un nuevo conjunto de atributos llamado 'ProductMeta'.
¡Copiado!
1PROC CAS;
2 TABLE.attribute /
3 task='ADD',
4 caslib='casuser',
5 name='PRODUCT_CATALOG',
6 SET='ProductMeta',
7 xmlPath='/cas/data/shared/product_meta.xml';
8RUN; QUIT;
2
Verificar la correcta aplicación exportando los atributos a una tabla CAS y visualizándola. Esto confirma que el XML fue parseado y aplicado correctamente.
¡Copiado!
1PROC CAS;
2 TABLE.attribute /
3 task='EXPORT',
4 caslib='casuser',
5 name='PRODUCT_CATALOG',
6 SET='ProductMeta',
7 casOut={name='PRODUCT_META_VERIFY', caslib='casuser', replace=true};
8RUN;
9 TABLE.fetch / TABLE={name='PRODUCT_META_VERIFY', caslib='casuser'};
10RUN; QUIT;

Resultado esperado


La acción debe ejecutarse sin errores. La tabla resultante 'PRODUCT_META_VERIFY' debe contener los 4 atributos definidos en el archivo XML (SourceSystem, Analyst, y los dos atributos de columna para Price y StockLevel). Esto valida la capacidad de la acción para ingerir metadatos de forma masiva desde una fuente externa XML.