$PBExportHeader$f_find_cust.srf global type f_find_cust from function_object end type forward prototypes global function integer f_find_cust (string arg_cuscode, ref s_custom arg_s_cus) end prototypes global function integer f_find_cust (string arg_cuscode, ref s_custom arg_s_cus);Int rslt = 1 Long cnt = 0 String ls_code,ls_name,ls_custype,ls_find_code String ls_freight,ls_freight_tele String ls_rel_rep, ls_cus_address, ls_cus_tele, ls_cus_tele1, ls_cus_fax Int li_banktypeid Long ll_cusid Boolean if_find Long li_option_outrep string ls_freight_address IF sys_power_issuper THEN li_option_outrep = 0 ELSE li_option_outrep = sys_option_outrep END IF SELECT u_cust.cusid INTO :ll_cusid FROM u_cust WHERE (cuscode = :arg_cuscode OR Name = :arg_cuscode) AND (inuse = 1) AND ( :li_option_outrep = 0 Or (u_cust.custype In (:sys_user_outrepstr) Or :sys_user_outrepstr = '0')) and ( :sys_option_cusarea = 0 or ( :sys_areastr like '%,' + rtrim(cast(u_cust.cusareaid as varchar(10))) + ',%' OR u_cust.cusareaid = 0 OR :sys_areastr='0' )) ; IF sqlca.SQLCode <> 0 THEN IF Pos(Trim(ls_code),'%') = 0 THEN ls_find_code = '%'+ Trim(arg_cuscode) + '%' ELSE ls_find_code = Trim(arg_cuscode) END IF SELECT count(*) INTO :cnt FROM u_cust WHERE ( cuscode LIKE :ls_find_code OR Name LIKE :ls_find_code ) AND (inuse = 1) AND ( :li_option_outrep = 0 Or (u_cust.custype In (:sys_user_outrepstr) Or :sys_user_outrepstr = '0')) and ( :sys_option_cusarea = 0 or ( :sys_areastr like '%,' + rtrim(cast(u_cust.cusareaid as varchar(10))) + ',%' OR u_cust.cusareaid = 0 OR :sys_areastr='0' )) ; IF sqlca.SQLCode <> 0 THEN rslt = 0 GOTO ext END IF IF cnt <> 1 THEN rslt = 0 GOTO ext END IF SELECT u_cust.cusid INTO :ll_cusid FROM u_cust WHERE ( cuscode LIKE :ls_find_code OR Name LIKE :ls_find_code ) AND (inuse = 1) AND ( :li_option_outrep = 0 Or (u_cust.custype In (:sys_user_outrepstr) Or :sys_user_outrepstr = '0')) and ( :sys_option_cusarea = 0 or ( :sys_areastr like '%,' + rtrim(cast(u_cust.cusareaid as varchar(10))) + ',%' OR u_cust.cusareaid = 0 OR :sys_areastr='0' )) ; IF sqlca.SQLCode <> 0 THEN rslt = 0 GOTO ext END IF if_find = True ELSE if_find = True END IF IF if_find = True THEN SELECT u_cust.cusid, u_cust.name, u_cust.custype, u_cust.cuscode, u_cust.freight, u_cust.freight_tele, u_cust.address, u_cust.tele, u_cust.tele1, u_cust.faxno, u_cust.banktypeid, u_cust.rep, u_cust.freight_address INTO :ll_cusid,:ls_name,:ls_custype,:ls_code, :ls_freight,:ls_freight_tele, :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:li_banktypeid,:ls_rel_rep,:ls_freight_address FROM u_cust Where (cusid = :ll_cusid) ; arg_s_cus.cusid = ll_cusid arg_s_cus.Name = ls_name arg_s_cus.custype = ls_custype arg_s_cus.cuscode = ls_code arg_s_cus.freight = ls_freight arg_s_cus.freight_tele = ls_freight_tele arg_s_cus.Address = ls_cus_address arg_s_cus.tele = ls_cus_tele arg_s_cus.tele1 = ls_cus_tele1 arg_s_cus.faxno = ls_cus_fax arg_s_cus.banktypeid = li_banktypeid arg_s_cus.rep = ls_rel_rep arg_s_cus.freight_address = ls_freight_address END IF ext: RETURN rslt end function