728x90
반응형

function GET_AMT_BOND_CMT
/* 
 i00의 채권(detail_i00)들에 대한 간략한 설명을 리턴하는 함수
 예) 국민카드 100만원, 조흥은행 50만원
 호출자) SPC 채권계산서 신고 프로시져(SP_CRSS_LN_COMPLETE)
 작성자) 이성훈(2004/02/23)
*/
(
 p_id in CRSS_LN_MAIN.resident_no%TYPE
)
return varchar
is
/* 설명을 담는 변수 */
v_cmt varchar(2000);
v_return varchar(2000);
/* 설명을 추출하는 커서 */
cursor amt_cmt(v_id CRSS_LN_MAIN.resident_no%TYPE) is
 select replace(b.creditor_name,'(AMC)','') || ' ' ||
 trim(trunc(
   (sum(nvl(rest_prn_amt-deduct_prn_amt,0))+sum(nvl(rest_fee_amt-deduct_fee_amt,0))+
   sum(nvl(rest_int_amt-deduct_int_amt,0))+sum(col_user.get_interest_i00(chae_no, creditor_g, chae_num, to_char(sysdate+7,'yyyymmdd'))-deduct_dint_amt)+
   sum(nvl(rest_pre_amt-deduct_pre_amt,0))+col_user.get_userpre_i00(p_id))
   / 10000))
 ||' 만원' as "cmt"
 from creditor_info b, detail_i00 a
 where a.chae_no=p_id
 and a.creditor_g=b.creditor_code
 group by b.creditor_name;
begin
 v_return:='(';
 open amt_cmt(p_id);
 loop
  fetch amt_cmt into v_cmt;
  exit when amt_cmt%notfound; 
  v_return := v_return || v_cmt || ', ';
 end loop;
 /* 마지막 콤마를 제거한다. */
 v_return := v_return || '*';
 v_return := replace(v_return, ', *', ')');
 return v_return; 
exception when others then
  return '상록수 채권';
end;

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,