|
|
|
Как создать процедуру кредит
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Мне нужна помощь при создание процедуры кредит на основе процедуры дебит все таблицы и значение таблицы остается прежним. Просто я не понимаю как создать процедуру кредит как оно должно работать. Вот код процедуры дебит Помогите пожалуйста Procedure Debit(d_target_number varchar2, -- номер кары doc.target_number d_transcurr varchar2, -- валюта doc.trans_curr d_transamount varchar2, -- сумма doc.trans_amount d_transdetails varchar2, -- назначение платежа doc.trans_details d_transtype number, --тип транзакции doc.trans_type d_id_afina varchar2, --id номера документа в Афине d_posting_status out varchar2, -- статус документа doc.posting_status d_doc_id out nocopy number, d_return_code out nocopy varchar2) Is vn_tt_id ows.dtype.recordid%TYPE; mes_code ows.message_type.code%TYPE; --переменная для source_code для создания фин дока---Данияр vr_cdoc ows.doc%ROWTYPE; vn_docid ows.dtype.recordid%TYPE; nvn_transamount ows.doc.trans_amount%type; did varchar2(256); -- doc.id n number(2); --номер документа в doc.id begin select count(id) into N from ows.doc d where d.amnd_state = 'A' and d.target_number = d_target_number and d.trans_curr = d_transcurr and d.trans_amount = d_transamount and d.trans_details = d_transdetails and d.trans_type = d_transtype and d.reason_details = trim(d_id_afina); if n <> 0 then select max(d.id), ows.xwdoc('RETURN_CODE', d.return_code), /*ows.xwdoc('POSTING_STATUS',*/ d.posting_status into d_doc_id, d_return_code, d_posting_status from ows.doc d where d.amnd_state = 'A' and d.target_number = d_target_number and d.trans_curr = d_transcurr and d.trans_amount = d_transamount and d.trans_details = d_transdetails and d.trans_type = d_transtype and d.reason_details = trim(d_id_afina) group by d.return_code, d.posting_status; return; end if; begin nvn_transamount := to_number(replace(d_transamount, ',', '.')); exception when others then nvn_transamount := to_number(replace(d_transamount, '.', ',')); end; begin select tt.id into vn_tt_id from ows.trans_type tt where tt.amnd_state = 'A' and tt.id = d_transtype; end; ---------------------- добавлен для того чтобы код был в переменной begin select mest.code into mes_code from ows.message_type mest where mest.trans_type__oid = d_transtype and mest.amnd_state = 'A' and mest.s_cat = 'A' ----and mest.t_cat='A' and mest.request_category = 'P'; exception when others then NULL; end; BEGIN begin ---- create fin doc ows.soft.start_simple('V20Z-3', 'DB Manager', Null); ows.incd.cre_fin_doc(vn_tt_id, d_target_number, d_transcurr, nvn_transamount, d_transdetails, vr_cdoc); ---vr_cdoc.T_CAT := 'A'; vr_cdoc.source_channel := 'B'; vr_cdoc.reason_details := d_id_afina; vr_cdoc.source_code := mes_code; VR_CDOC.REQUEST_CATEGORY := 'P'; vr_cdoc.source_reg_num := 'PAY00019000000000003'; vr_cdoc.rec_member_id := '0001'; vr_cdoc.source_member_id := 'PAY'; end; insert into ows.doc values vr_cdoc; vn_docid := ows.ORACLE_TRGSUPP.get_last_id; UPDATE ows.doc set TARGET_CHANNEL = 'v', S_CAT = 'A', T_CAT = 'C' where id = vn_docid; did := ows.incd.accept_doc(vn_docid); commit; select d.id, ows.xwdoc('RETURN_CODE', d.return_code), /*ows.xwdoc('POSTING_STATUS',*/ d.posting_status into d_doc_id, d_return_code, d_posting_status from ows.doc d where d.amnd_state = 'A' and id = vn_docid; commit; ows.soft.finish_simple; END; exception when others then rollback; ows.soft.finish_simple; d_return_code := sqlerrm; end Debit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 16:34 |
|
||
|
Как создать процедуру кредит
|
|||
|---|---|---|---|
|
#18+
Maksi1998Просто я не понимаю как создать процедуруТут всё просто: ты не ту профессию выбрал. Maksi1998 Код: plsql 1. 2. 3. 4. Говнокод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 17:33 |
|
||
|
Как создать процедуру кредит
|
|||
|---|---|---|---|
|
#18+
Elic, Не понял можешь объяснить нормально я знаю . Я в этом деле новичок просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 19:35 |
|
||
|
Как создать процедуру кредит
|
|||
|---|---|---|---|
|
#18+
Maksi1998Не понял можешь объяснить нормально я знаю .Перед точкой пробел не нужен. Maksi1998Я в этом деле новичок простоЧитай литературу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 20:47 |
|
||
|
Как создать процедуру кредит
|
|||
|---|---|---|---|
|
#18+
Maksi1998Не понял можешь объяснить нормально я знаю ."Казнить нельзя помиловать". Незнание языка программирования отягощено катастрофическим невладение языком общения. Ещё раз: с таким уровнем подготовки тебе лучше работать старшим помощником менеджера по клинингу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 08:42 |
|
||
|
Как создать процедуру кредит
|
|||
|---|---|---|---|
|
#18+
Maksi1998, так а объясни, что именно не получается у тебя? код совсем не несложный, в чем загвозка? Если не получается все , то действительно , вопрос не по адресу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 17:52 |
|
||
|
Как создать процедуру кредит
|
|||
|---|---|---|---|
|
#18+
Вроде тебе все объяснили - код у тебя все экцепшены проглатывает. Это означает что что-то у тебя идет не так - что угодно вообще это может быть - но ты этого не знаешь, не понимаешь в чем дело и видишь только авторвсе процедуры дебит все таблицы и значение таблицы остается прежним Сделай нормальную обработку экцепшенов - и тебе станет понятно на чем у тебя падает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 18:08 |
|
||
|
Как создать процедуру кредит
|
|||
|---|---|---|---|
|
#18+
Maksi1998, вообщем, разбей процедуру на кусочки и посмотри где конкретно проблема, после чего пиши на форум. допустим не отрабатывает условие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2018, 18:21 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39727629&tid=1883248]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
212ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 561ms |

| 0 / 0 |
