length libname name $ 8;
INIT:
libs=makelist();
liblist=makelist();
logical=instance(loadclass('sashelp.fsp.logical.class'));
call send(logical, '_get_members_', liblist,
"TYPE='LIBRARY'");
* call putlist(liblist, 'liblist=', 0);
do i=1 to listlen(liblist);
rc=insertc(libs, getnitemc(getiteml(liblist, i), 'NAME'), -1);
end;
call send(logical, '_TERM_');
rc=dellist(liblist, 'Y');
members=instance(loadclass('sashelp.fsp.library.class'));
memlist=makelist();
dsets=makelist();
varclass=instance(loadclass('sashelp.fsp.datafile.class'));
varlist=makelist();
vars=makelist();
return;
LIBRARY:
rc=clearlist(dsets);
rc=clearlist(vars);
call notify('library', '_get_last_sel_', row, issel, libname);
if issel then do;
call send(members, '_setup_', libname);
call send(members, '_get_members_', memlist,
"MEMTYPE='DATA VIEW'");
do i=1 to listlen(memlist);
rc=insertc(dsets, getnitemc(getiteml(memlist, i), 'MEMNAME'),
-1);
end;
call notify('datasets', '_update_');
call notify('variable', '_update_');
end;
return;
DATASETS:
rc=clearlist(vars);
call notify('datasets', '_get_last_sel_', row, issel, name);
if issel then do;
call send(varclass, '_setup_', libname||"."||name);
call send(varclass, '_get_members_', varlist);
do i=1 to listlen(varlist);
rc=insertc(vars, getnitemc(getiteml(varlist, i), 'NAME'), -1);
end;
call notify('variable', '_update_');
end;
return;
TERM:
call send(members, '_term_');
call send(varclass, '_term_');
rc=dellist(libs,'Y');
rc=dellist(memlist,'Y');
rc=dellist(dsets,'Y');
rc=dellist(varlist,'Y');
rc=dellist(vars,'Y');
return;