12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- $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
|