$PBExportHeader$f_getcusrepamt_info.srf global type f_getcusrepamt_info from function_object end type forward prototypes global function integer f_getcusrepamt_info (long arg_cusid, long arg_scid, long arg_moneyid, ref decimal arg_cusbalcamt, ref decimal arg_cusmaxamt, ref decimal arg_outrep_balcamt, ref decimal arg_outrep_maxamt) end prototypes global function integer f_getcusrepamt_info (long arg_cusid, long arg_scid, long arg_moneyid, ref decimal arg_cusbalcamt, ref decimal arg_cusmaxamt, ref decimal arg_outrep_balcamt, ref decimal arg_outrep_maxamt);//f_getcusrepamt_info(arg_cusid,arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt) // Long rslt = 1 Decimal cusamt,cusmaxamt,outrep_amt,outrep_maxamt,rep_cus_count String custype IF sys_option_scid_msttake_mstpay = 1 THEN SELECT u_cust.custype, u_cust.maxmtnum, v_cus_balcamt.cus_balcamt INTO :custype, :cusmaxamt, :cusamt FROM u_cust, v_cus_balcamt WHERE ( u_cust.cusid = v_cus_balcamt.cusid ) AND ( u_cust.cusid = :arg_cusid ) AND ( v_cus_balcamt.scid = :arg_scid) AND ( v_cus_balcamt.moneyid = :arg_moneyid); IF sqlca.SQLCode <> 0 THEN rslt = 0 GOTO ext END IF SELECT u_outrepdef.maxamt, count(v_cus_balcamt.cus_balcamt) as rep_cus_count, sum(v_cus_balcamt.cus_balcamt) as outrep_balcamt INTO :outrep_maxamt, :rep_cus_count, :outrep_amt FROM u_cust, v_cus_balcamt, u_outrepdef WHERE ( u_cust.cusid = v_cus_balcamt.cusid ) AND ( u_cust.custype = u_outrepdef.outrepname) AND ( u_cust.custype = :custype ) AND ( v_cus_balcamt.scid = :arg_scid) AND ( v_cus_balcamt.moneyid = :arg_moneyid) Group By u_cust.custype ,u_outrepdef.maxamt; IF sqlca.SQLCode <> 0 THEN rslt = 0 GOTO ext END IF ELSE SELECT u_cust.custype,u_cust.maxmtnum, sum(v_cus_balcamt.cus_balcamt) INTO :custype,:cusmaxamt,:cusamt FROM u_cust, v_cus_balcamt WHERE ( u_cust.cusid = v_cus_balcamt.cusid ) AND ( u_cust.cusid = :arg_cusid ) AND ( v_cus_balcamt.moneyid = :arg_moneyid) Group By u_cust.custype,u_cust.maxmtnum; IF sqlca.SQLCode <> 0 THEN rslt = 0 GOTO ext END IF SELECT u_outrepdef.maxamt,count(v_cus_balcamt.cus_balcamt) as rep_cus_count, sum(v_cus_balcamt.cus_balcamt) as outrep_balcamt INTO :outrep_maxamt, :rep_cus_count, :outrep_amt FROM u_cust, v_cus_balcamt,u_outrepdef WHERE ( u_cust.cusid = v_cus_balcamt.cusid ) AND ( u_cust.custype = u_outrepdef.outrepname) AND ( u_cust.custype = :custype ) AND ( v_cus_balcamt.moneyid = :arg_moneyid) Group By u_cust.custype ,u_outrepdef.maxamt; IF sqlca.SQLCode <> 0 THEN rslt = 0 GOTO ext END IF END IF arg_cusbalcamt = cusamt arg_cusmaxamt = cusmaxamt arg_outrep_balcamt = outrep_amt arg_outrep_maxamt = outrep_maxamt rslt = rep_cus_count ext: RETURN rslt end function