$PBExportHeader$f_storage_array.srf global type f_storage_array from function_object end type forward prototypes global subroutine f_storage_array (ref string arg_storagestr) end prototypes global subroutine f_storage_array (ref string arg_storagestr);Long ll_cnt,cnt String ls_storagestr Long ll_storageid Long local_storageid[] ls_storagestr = arg_storagestr IF Trim(arg_storagestr) = '' OR Trim(arg_storagestr) = '-1' THEN local_storageid[1] = 0 ELSE IF sys_power_issuper OR arg_storagestr = '0' THEN SELECT count(*) INTO :cnt FROM u_storage; IF sqlca.SQLCode <> 0 OR cnt = 0 THEN ll_cnt++ local_storageid[ll_cnt] = 0 ELSE DECLARE cur_storage CURSOR FOR SELECT u_storage.storageID FROM u_storage WHERE u_storage.inuse = 1 Order By u_storage.storageID Desc; OPEN cur_storage; FETCH cur_storage INTO :ll_storageid; DO WHILE sqlca.SQLCode = 0 ll_cnt++ local_storageid[ll_cnt] = ll_storageid FETCH cur_storage INTO :ll_storageid; LOOP CLOSE cur_storage; END IF ELSE DO WHILE Len(ls_storagestr) <> 1 ls_storagestr = Replace( ls_storagestr, 1, 1, '' ) ll_storageid = Long(Left(ls_storagestr,Pos(ls_storagestr,',',1) - 1)) ll_cnt++ local_storageid[ll_cnt] = ll_storageid ls_storagestr = Replace ( ls_storagestr, 1, Pos(ls_storagestr,',',1) - 1, '' ) LOOP END IF END IF sys_user_storageid = local_storageid end subroutine