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