View Raw SPL
#include 

/* get a list of datasets */
_guidssel(title, deflist, pickonly, multi, hlp)
{
        extern _menucleared, _dsseltitle, _dsname, _dsselhlp, _dsselchk;
        local list;

        if (argc < 5)
        {
                if (argc < 4)
                {
                        if (argc < 3)
                        {
                                if (argc < 2)
                                {
                                        if (argc < 1) title = _serstr_selds;
                                        deflist = "";
                                }
                                pickonly = 1;
                        }
                        multi = 1;
                }
                hlp = "";
        }

        _menucleared = 1;
        _dsseltitle  = title;
        _dsname      = strrep(deflist, " ", "");
        _dsselhlp    = hlp;
        _dsselchk    = multi ? "k" : "";

        if (_hasds(pickonly))
        {
                _mf("dssel.pan");
        }
        else
        {
                message(_serstr_nods, 8);
        }
        list = (not(_menucleared)) ? _dsname : "";
        return(list);
}