$PBExportHeader$f_area_array.srf global type f_area_array from function_object end type forward prototypes global subroutine f_area_array (ref string arg_areastr) end prototypes global subroutine f_area_array (ref string arg_areastr);Long ll_cnt,cnt String ls_areastr Long ll_areaid Long local_areaid[] ls_areastr = arg_areastr IF Trim(arg_areastr) = '' THEN local_areaid[1] = 0 ELSE IF sys_power_issuper OR arg_areastr = '0' THEN sys_areastr = '0' SELECT count(*) INTO :cnt FROM u_Cusarea; IF sqlca.SQLCode <> 0 OR cnt = 0 THEN ll_cnt++ local_areaid[ll_cnt] = 0 ELSE DECLARE cur_area CURSOR FOR SELECT u_Cusarea.CusareaID FROM u_Cusarea ; OPEN cur_area; FETCH cur_area INTO :ll_areaid; DO WHILE sqlca.SQLCode = 0 ll_cnt++ local_areaid[ll_cnt] = ll_areaid FETCH cur_area INTO :ll_areaid; LOOP CLOSE cur_area; END IF ELSE sys_areastr = arg_areastr DO WHILE Len(ls_areastr) <> 1 ls_areastr = Replace( ls_areastr, 1, 1, '' ) ll_areaid = Long(Left(ls_areastr,Pos(ls_areastr,',',1) - 1)) ll_cnt++ local_areaid[ll_cnt] = ll_areaid ls_areastr = Replace ( ls_areastr, 1, Pos(ls_areastr,',',1) - 1, '' ) LOOP END IF END IF sys_areaid = local_areaid end subroutine