?>Array ( [lang] => es [id] => 198 )
Scénario de test & Cas d'usage
Crear dos caslibs distintas ('FinanceLib', 'MarketingLib') y dos conjuntos de acciones ('financeTools', 'marketingTools'). Cada conjunto de acciones se guarda en su respectiva caslib.
| 1 | PROC CAS; |
| 2 | /* Recursos para el equipo de Finanzas */ |
| 3 | caslib FinanceLib path='/cas/data/finance' dataSource={srcType='PATH'}; |
| 4 | source financeCode; |
| 5 | ACTION financeTools.quarterlyReport / description='Genera reporte financiero trimestral'; |
| 6 | RESULT = '{"report":"Q4 Finance Report - CONFIDENTIAL"}'; send_response(RESULT); |
| 7 | endaction; |
| 8 | endsource; |
| 9 | BUILTINS.actionSetToTable / actionSet='financeTools' TABLE={caslib='FinanceLib', name='finToolsDef', replace=true}; |
| 10 | |
| 11 | /* Recursos para el equipo de Marketing */ |
| 12 | caslib MarketingLib path='/cas/data/marketing' dataSource={srcType='PATH'}; |
| 13 | source marketingCode; |
| 14 | ACTION marketingTools.campaignAnalysis / description='Analiza el rendimiento de la campaña'; |
| 15 | RESULT = '{"campaign":"Holiday 2025", "performance":"+15%"}'; send_response(RESULT); |
| 16 | endaction; |
| 17 | endsource; |
| 18 | BUILTINS.actionSetToTable / actionSet='marketingTools' TABLE={caslib='MarketingLib', name='mktToolsDef', replace=true}; |
| 19 | RUN; |
| 1 | PROC CAS; |
| 2 | BUILTINS.addUserActionSetPath / caslib='FinanceLib'; |
| 3 | BUILTINS.addUserActionSetPath / caslib='MarketingLib'; |
| 4 | RUN; |
| 1 | PROC CAS; |
| 2 | BUILTINS.userActionSetPathInfo; |
| 3 | RUN; |
| 1 | PROC CAS; |
| 2 | BUILTINS.loadActionSet 'financeTools'; |
| 3 | financeTools.quarterlyReport; |
| 4 | |
| 5 | BUILTINS.loadActionSet 'marketingTools'; |
| 6 | marketingTools.campaignAnalysis; |
| 7 | RUN; |
La tabla de 'userActionSetPathInfo' del paso 2 debe contener dos nuevas filas, una para 'FinanceLib' y otra para 'MarketingLib'. Las llamadas a las acciones en el paso 3 deben ejecutarse correctamente, con 'quarterlyReport' devolviendo el reporte financiero y 'campaignAnalysis' devolviendo el análisis de campaña. Esto demuestra que la acción 'addUserActionSetPath' puede ser llamada múltiples veces para construir una ruta de búsqueda compleja.