Plsql _记录NGAWARD_金额, p_accept_date=>sysdate, p_offer_amt=>ng_rec.NGAWARD_amt, p_data_origin=>NextGen'); --
_记录NGAWARD_金额, p_accept_date=>sysdate, p_offer_amt=>ng_rec.NGAWARD_amt, p_data_origin=>NextGen'); -- gb_common.p_commit; --年度奖取消 ELSIF ng_rec.NGAWARD_PERIOD='A'和ng_rec.NGAWARD_STATUS='C' 然后 rp_award.p_update(p_aidy_代码=>ng_rec.NGAWARD_aidy, p_pidm=>ng_rec.NGAWARD_pidm, p_fund_code=>ng_rec.NGAWARD_fund, p_awst_代码=>'C', p_awst_date=>sysdate, p_data_origin=>NextGen'); -- gb_common.p_commit; --任期奖插页 ELSIF ng_rec.NGAWARD_期间('F','S')和ng_rec.NGAWARD_状态='I' 然后 rp_award_schedule.p_create(p_aidy_code=>ng_rec.NGAWARD_aidy, p_term_code=>ng_rec.NGAWARD_term, p_pidm=>ng_rec.NGAWARD_pidm, p_fund_code=>ng_rec.NGAWARD_fund, p_awst_code=>A, p_awst_date=>sysdate, p_accept_amt=>ng_rec.NGAWARD_amt, p_accept_date=>sysdate, p_offer_amt=>ng_rec.NGAWARD_amt, p_offer_date=>sysdate, p_data_origin=>NextGen'); -- gb_common.p_commit; --定期奖励更新 ELSIF ng_rec.NGAWARD_期间('F','S')和ng_rec.NGAWARD_状态='U' 然后 rp_奖励计划。p_更新(p_aidy_代码=>ng_rec.NGAWARD_aidy, p_term_code=>ng_rec.NGAWARD_term, p_pidm=>ng_rec.NGAWARD_pidm, p_fund_code=>ng_rec.NGAWARD_fund, p_accept_amt=>ng_rec.NGAWARD_amt, p_offer_amt=>ng_rec.NGAWARD_amt, p_data_origin=>NextGen'); -- gb_common.p_commit; 例外情况 当其他人 gb_common.p_回滚; 如果SQLCODE=gb\u event.APP\u错误,则 该文件是一个文件的文件。放线(fhw)、放线(fhw)、放线(fhw)、放线(fhw、‘回退重新编号’||||;文件、放线(fhw、‘回退重新编号’||;;;;SQL124;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,沃德金额,“|ng|u rec.NGAWARD|u STATUS,”| ng|u rec.NGAWARD|ADATE); -- 端环; -- 如果结束; -- --关闭ng_rec; UTL_FILE.FCLOSE(fhw); 结束;Plsql _记录NGAWARD_金额, p_accept_date=>sysdate, p_offer_amt=>ng_rec.NGAWARD_amt, p_data_origin=>NextGen'); -- ,plsql,Plsql,_记录NGAWARD_金额, p_accept_date=>sysdate, p_offer_amt=>ng_rec.NGAWARD_amt, p_data_origin=>NextGen'); -- gb_common.p_commit; --年度奖取消 ELSIF ng_rec.NGAWARD_PERIOD='A'和ng_rec.NGAWARD_STATUS='C' 然后 rp_award.p_update(p_aidy_代码=>n
对于ng\U rec循环中的奖励记录。。。。ng_rec游标声明在哪里?请提及您在ng_rec循环中获得奖励的例外情况。。。。ng_rec游标声明在哪里?请提及你得到的例外情况
declare
fhw UTL_FILE.FILE_TYPE;
wdir varchar2(100);
wfilename varchar2(100);
cnt number;
aidy number;
--
TYPE NextGen_rec IS RECORD(
r_pidm rprawrd.rprawrd_pidm%TYPE,
r_aidy_code rprawrd.rprawrd_aidy_code%TYPE,
r_term_code rpratrm.rpratrm_term_code%TYPE,
r_fund_code rprawrd.rprawrd_fund_code%TYPE,
r_awst_code rprawrd.rprawrd_awst_code%TYPE,
r_awst_date rprawrd.rprawrd_awst_date%TYPE,
r_accept_amt rprawrd.rprawrd_accept_amt%TYPE,
r_accept_date rprawrd.rprawrd_accept_date%TYPE,
r_offer_amt rprawrd.rprawrd_offer_amt%TYPE,
r_offer_date rprawrd.rprawrd_offer_date%TYPE,
r_data_origin rprawrd.rprawrd_data_origin%TYPE
);
--
--
TYPE cur1 IS REF CURSOR;
ng cur1;
--
Begin
--
Wdir := 'UTL_TTU_ST';
wfilename := 'ng_errors.csv';
fhw := UTL_FILE.FOPEN(wdir,wfilename,'w');
select count (*) into cnt
from ttubanr.NGAWARDLD, ttubantemp.NGAWARD
where NGAWARD_AIDY = NGAWARDLD_AIDY;
--
if cnt = 0 then
select NGAWARD_AIDY into aidy from ttubantemp.NGAWARD
where ROWNUM < 2;
--insert aid year if it doesn't exist with date from 01-01-2000 as place holder.
insert into ttubanr.NGAWARDLD
(NGAWARDLD_AIDY, NGAWARDLD_LD)
SELECT replace(replace (REPLACE (NGAWARD_AIDY, 'Academic Year ',null),'20',null),'-',null), '01-JAN-2017' FROM ttubantemp.NGAWARD;
end if;
-- Last date for aid year found
--
for award_rec in ng_rec loop
If cnt = 1 then
open ng FOR
SELECT NGAWARD_NGID,
replace(replace (REPLACE (NGAWARD_AIDY, 'Academic Year ',null),'20',null),'-',null)NGAWARD_AIDY,
CASE
WHEN NGAWARD_PERIOD = 'FALL'
THEN SUBSTR(NGAWARD_AIDY,15,4)||80
WHEN NGAWARD_PERIOD = 'SPRING'
THEN SUBSTR(NGAWARD_AIDY,20,4)||10
END NGAWARD_TERM,
(SELECT SPRIDEN_PIDM FROM SPRIDEN WHERE SPRIDEN_ID = NGAWARD_ID AND SPRIDEN_CHANGE_IND IS NULL) NGAWARD_PIDM,
NGAWARD_ID,
NGAWARD_FUND,
NGAWARD_AMT,
CASE WHEN NGAWARD_PERIOD = 'ANNUAL'
THEN 'A'
WHEN NGAWARD_PERIOD = 'FALL'
THEN 'F'
WHEN NGAWARD_PERIOD = 'SPRING'
THEN 'S'
END NGAWARD_PERIOD,
CASE WHEN NGAWARD_STATUS = 'GrantAward'
THEN 'I'
WHEN NGAWARD_STATUS = 'ModifyAward'
THEN 'U'
WHEN NGAWARD_STATUS = 'RemoveSingleSeasonAward'
THEN 'C'
WHEN NGAWARD_STATUS = 'RevokeRenewableAward'
THEN 'C'
WHEN NGAWARD_STATUS = 'DeleteAward'
THEN 'C'
END NGAWARD_STATUS,
NGAWARD_ADATE
FROM ttubantemp.NGAWARD, ttubanr.NGAWARDLD, SPRIDEN
WHERE
SPRIDEN_ID = NGAWARD_ID
AND NGAWARD_AIDY = NGAWARDLD_AIDY
and NGAWARD_ADATE > NGAWARDLD_LDATE
AND SPRIDEN_CHANGE_IND IS NULL
order by NGAWARD_ID, NGAWARD_FUND, NGAWARD_ADATE;
fetch ng into ng_rec;
End If;
--
IF ng_rec.NGAWARD_PERIOD = 'A' AND ng_rec.NGAWARD_STATUS = 'I'
THEN
rp_award.p_create(p_aidy_code => ng_rec.NGAWARD_AIDY,
p_pidm => ng_rec.NGAWARD_PIDM,
p_fund_code => ng_rec.NGAWARD_FUND,
p_awst_code => 'A',
p_awst_date => sysdate,
p_accept_amt => ng_rec.NGAWARD_AMT,
p_accept_date => sysdate,
p_offer_amt => ng_rec.NGAWARD_AMT,
p_offer_date => sysdate,
p_data_origin => 'NextGen');
--
gb_common.p_commit;
--Year award Update
ELSIF ng_rec.NGAWARD_PERIOD = 'A' AND ng_rec.NGAWARD_STATUS = 'U'
THEN
rp_award.p_update(p_aidy_code => ng_rec.NGAWARD_AIDY,
p_pidm => ng_rec.NGAWARD_PIDM,
p_fund_code => ng_rec.NGAWARD_FUND,
p_awst_code => 'A',
p_awst_date => sysdate,
p_accept_amt => ng_rec.NGAWARD_AMT,
p_accept_date => sysdate,
p_offer_amt => ng_rec.NGAWARD_AMT,
p_data_origin => 'NextGen');
--
gb_common.p_commit;
--Year award cancel
ELSIF ng_rec.NGAWARD_PERIOD = 'A' AND ng_rec.NGAWARD_STATUS = 'C'
THEN
rp_award.p_update(p_aidy_code => ng_rec.NGAWARD_AIDY,
p_pidm => ng_rec.NGAWARD_PIDM,
p_fund_code => ng_rec.NGAWARD_FUND,
p_awst_code => 'C',
p_awst_date => sysdate,
p_data_origin => 'NextGen');
--
gb_common.p_commit;
--Term award insert
ELSIF ng_rec.NGAWARD_PERIOD in ('F','S') AND ng_rec.NGAWARD_STATUS = 'I'
THEN
rp_award_schedule.p_create(p_aidy_code => ng_rec.NGAWARD_AIDY,
p_term_code => ng_rec.NGAWARD_TERM,
p_pidm => ng_rec.NGAWARD_PIDM,
p_fund_code => ng_rec.NGAWARD_FUND,
p_awst_code => 'A',
p_awst_date => sysdate,
p_accept_amt => ng_rec.NGAWARD_AMT,
p_accept_date => sysdate,
p_offer_amt => ng_rec.NGAWARD_AMT,
p_offer_date => sysdate,
p_data_origin => 'NextGen');
--
gb_common.p_commit;
--Term award update
ELSIF ng_rec.NGAWARD_PERIOD in ('F','S') AND ng_rec.NGAWARD_STATUS = 'U'
THEN
rp_award_schedule.p_update(p_aidy_code => ng_rec.NGAWARD_AIDY,
p_term_code => ng_rec.NGAWARD_TERM,
p_pidm => ng_rec.NGAWARD_PIDM,
p_fund_code => ng_rec.NGAWARD_FUND,
p_accept_amt => ng_rec.NGAWARD_AMT,
p_offer_amt => ng_rec.NGAWARD_AMT,
p_data_origin => 'NextGen');
--
gb_common.p_commit;
EXCEPTION
WHEN OTHERS THEN
gb_common.p_rollback;
IF SQLCODE = gb_event.APP_ERROR THEN
utl_file.put_line(fhw,'Rollback renumbering '||sqlerrm||','||ng_rec.NGAWARD_NGID||','||ng_rec.NGAWARD_ID||','||ng_rec.NGAWARD_AIDY||','||ng_rec.NGAWARD_TERM||','||ng_rec.NGAWARD_FUND||','||ng_rec.NGAWARD_AMT||','||ng_rec.NGAWARD_STATUS||','||ng_rec.NGAWARD_ADATE);
--
end loop;
--
end if;
--
--CLOSE ng_rec;
UTL_FILE.FCLOSE(fhw);
end;