Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.44 KB | None | 0 0
  1. CURSOR c_prn(
  2.     p_request_id NUMBER) IS
  3.   SELECT
  4.     prn.*
  5.   FROM
  6.     xx_int_ant001_mok_dtl_v prn
  7.   WHERE
  8.     prn.request_id = p_request_id AND
  9.     -- Proceso metu nebuvo rasta klaidų
  10.     NOT EXISTS(
  11.       SELECT
  12.         NULL
  13.       FROM
  14.         xx_int_ant030_klaidos_temp kld
  15.       WHERE
  16.         kld.pranesimo_id = prn.pranesimo_id AND
  17.         kld.klaidos_tipas = 'E');
  18.  
  19.   ROUTINE CONSTANT VARCHAR2(65) := PACKAGE_NAME||'.REGISTER_DATA';
  20. BEGIN
  21.   xx_cdf_output_utl$.LOG('  - Registruojame MAIS operacijas');
  22.   FOR l_prn_rec IN c_prn(g_who.request_id)
  23.   LOOP
  24.    
  25.     DECLARE
  26.       CURSOR c_rcp(
  27.         p_pranesimo_id NUMBER) IS
  28.       SELECT
  29.         rec.*
  30.       FROM
  31.         xx_int_ant030_receipts_tmp rec
  32.       WHERE
  33.         rec.pranesimo_id = p_pranesimo_id
  34.       ORDER BY
  35.         -- Jei parinkta ne viena kriterijus atitinkanti įplauka, imsime anksčiausią
  36.         rec.cash_receipt_id;      
  37.      
  38.       /* Įplaukos nesugretinta suma */
  39.       l_amount_unapplied_rcp NUMBER;
  40.       l_rcp_rec c_rcp%ROWTYPE;
  41.       l_error_found BOOLEAN := FALSE;
  42.       l_busenos_kodas_new xx_int_prn010_busenos_hist.busenos_kodas%TYPE := xx_int_prn010$.busena_completed;
  43.     BEGIN
  44.       OPEN c_rcp(l_prn_rec.pranesimo_id);
  45.       FETCH c_rcp INTO l_rcp_rec;
  46.       CLOSE c_rcp;
  47.       IF l_rcp_rec.cash_receipt_id IS NOT NULL THEN
  48.         xx_cdf_output_utl$.LOG(
  49.           p_msg => '       Įplauka rasta, ID: '||l_rcp_rec.cash_receipt_id||', numeris '||l_rcp_rec.receipt_number||';',
  50.           p_detail_level => xx_cdf_output_utl$.LEVEL_HIGH,
  51.           p_max_line_length => xx_cdf_output_utl$.NO_LENGTH_RESTRICTIONS);        
  52.         IF l_prn_rec.busenos_kodas != xx_int_prn010$.busena_retry AND
  53.            l_rcp_rec.applied_amount > l_rcp_rec.write_off_amount THEN
  54. /*
  55.   Kontrolinis tikrinimas, ar nėra įplauka sugretinta su ne P/S
  56.   Įplaukos neturi būti sugretintos, turi būti priskirtos sisteminės
  57.   neįskaitymo taisyklės. Išimtis: įplauka buvo detalizuota ir dabar
  58.   turime sukelti skirtumus.
  59. */                    
  60.           l_error_found := TRUE;
  61.           l_busenos_kodas_new := xx_int_prn010$.busena_error_destination;
  62.           insert_error(
  63.             p_pranesimo_id => l_prn_rec.pranesimo_id,
  64.             p_klaidos_kodas => '902',
  65.             p_klaidos_aprasas => 'Įplauka '||l_rcp_rec.receipt_number||' sugretinta ne su permoka / skirtumu. Tokia situacija negalima.');    
  66.         ELSIF l_rcp_rec.unapplied_amount > 0 THEN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement