Scénario de test & Cas d'usage
Carga, guardado y gestión de tablas en memoria.
Descubrir todas las acciones de tableCreació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.
| 1 | DATA casuser.PRODUCT_CATALOG; |
| 2 | LENGTH ProductID $12; |
| 3 | INPUT ProductID $ Price StockLevel; |
| 4 | DATALINES; |
| 5 | PROD-ELEC-001 499.99 150 |
| 6 | PROD-HOME-002 29.50 800 |
| 7 | PROD-ELEC-005 1200.00 40 |
| 8 | ; |
| 9 | RUN; |
| 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 | */ |
| 1 | PROC 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'; |
| 8 | RUN; QUIT; |
| 1 | PROC 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}; |
| 8 | RUN; |
| 9 | TABLE.fetch / TABLE={name='PRODUCT_META_VERIFY', caslib='casuser'}; |
| 10 | RUN; QUIT; |
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.