$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_cust) end prototypes global function integer f_find_cust (string arg_cuscode, ref s_custom arg_s_cust);Int rslt String ls_like_custcode Long ll_cusid,ll_memberid,ll_lsflag String ls_cuscode,ls_cusname Decimal ld_score long ll_pricelistid Boolean if_find = FALSE Long ll_count ll_count = 0 rslt = 1 IF Pos(Trim(arg_cuscode),'%') = 0 THEN ls_like_custcode = '%'+ Trim(arg_cuscode) + '%' ELSE ls_like_custcode = Trim(arg_cuscode) END IF SELECT u_cust.cusid, u_cust.cuscode, u_cust.name, u_cust.score, u_cust.memberid, u_cust.lsflag, u_cust.pricelistid INTO :ll_cusid, :ls_cuscode, :ls_cusname, :ld_score, :ll_memberid, :ll_lsflag, :ll_pricelistid FROM u_cust Where ( u_cust.cuscode = :arg_cuscode OR u_cust.Name = :arg_cuscode); IF sqlca.SQLCode <> 0 THEN SELECT count(*) INTO :ll_count FROM u_cust Where ( u_cust.cuscode Like :ls_like_custcode OR u_cust.Name Like :ls_like_custcode); IF ll_count = 1 THEN SELECT u_cust.cusid, u_cust.cuscode, u_cust.name, u_cust.score, u_cust.memberid, u_cust.lsflag, u_cust.pricelistid INTO :ll_cusid, :ls_cuscode, :ls_cusname, :ld_score, :ll_memberid, :ll_lsflag, :ll_pricelistid FROM u_cust Where ( u_cust.cuscode Like :ls_like_custcode OR u_cust.Name Like :ls_like_custcode); if_find = TRUE GOTO ext ELSE if_find = FALSE rslt = 0 GOTO ext END IF ELSE if_find = TRUE END IF ext: IF if_find THEN arg_s_cust.cusid = ll_cusid arg_s_cust.cuscode = ls_cuscode arg_s_cust.Name = ls_cusname arg_s_cust.score = ld_score arg_s_cust.memberid = ll_memberid arg_s_cust.lsflag = ll_lsflag arg_s_cust.pricelistid = ll_pricelistid ELSE arg_s_cust.cusid = 0 END IF RETURN rslt end function