· 6 years ago · Apr 17, 2019, 02:56 PM
1CREATE OR REPLACE PACKAGE BODY LsLmi_Accounting AS
2
3PROCEDURE lmi_fill_cambiali_conv(
4 p_CodCompany TCCOMPANY.CDCMPANY%TYPE
5)
6AS
7
8 PRAGMA AUTONOMOUS_TRANSACTION;
9
10 v_default_BCHCDCURR lmi_domain.destdefvalue%TYPE;
11 v_default_BCHCDBNK lmi_domain.destdefvalue%TYPE;
12 v_default_BCHCDBNKBNCH lmi_domain.destdefvalue%TYPE;
13-- v_default_BCHBANKRIF lmi_domain.destdefvalue%TYPE;
14 v_default_BCHCDTPINC lmi_domain.destdefvalue%TYPE;
15-- v_default_BCHESECTYPE lmi_domain.destdefvalue%TYPE;
16-- v_default_BCHESECCODE lmi_domain.destdefvalue%TYPE;
17 v_default_BCHSTATUS lmi_domain.destdefvalue%TYPE;
18 v_default_BCHCDPAYM_CONV lmi_domain.destdefvalue%TYPE;
19 v_schema varchar2 (30 char);
20BEGIN
21 EXECUTE IMMEDIATE 'ALTER TABLE TEMP_LMI_BNKCHECK_CONV NOLOGGING';
22 EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_LMI_BNKCHECK_CONV';
23 select sys_context('userenv','session_user') into v_schema from dual;
24
25 -- Caricamento valori di default:
26 v_default_BCHCDCURR := LsLmi.lmi_GetDefValueFromLmiDomain('TCCURRENCY');
27 v_default_BCHCDBNK := LsLmi.lmi_GetDefValueFromLmiDomain('TCBNK');
28 v_default_BCHCDBNKBNCH := LsLmi.lmi_GetDefValueFromLmiDomain('TCBNKBNCH');
29-- v_default_BCHBANKRIF := LsLmi.lmi_GetDefValueFromLmiDomain('SIBNKRIF');
30 v_default_BCHCDTPINC := LsLmi.lmi_GetDefValueFromLmiDomain('TABTPINC');
31-- v_default_BCHESECTYPE := LsLmi.lmi_GetDefValueFromLmiDomain('INTTIPESECTYPE');
32-- v_default_BCHESECCODE := LsLmi.lmi_GetDefValueFromLmiDomain('INTTIPESECSOGG');
33 v_default_BCHSTATUS := LsLmi.lmi_GetDefValueFromLmiDomain('INTSTSBCH');
34 v_default_BCHCDPAYM_CONV := LsLmi.lmi_GetDefValueFromLmiDomain('TCPAYMMTD');
35
36 INSERT INTO /*+ APPEND */ TEMP_LMI_BNKCHECK_CONV (
37 CDCMPANY ,
38 BCHDTDOC ,
39 BCHNRDOC ,
40 BCHCDPAYM ,
41 BCHCDCURR ,
42 BCHCDBNK ,
43 BCHCDBNKBNCH ,
44 BCHCDTPINC ,
45 BCHCDPAYM_CONV ,
46 BCHSTATUS)
47 SELECT LMI_BNKCHECK.CDCMPANY CDCMPANY
48 , LMI_BNKCHECK.BCHDTDOC BCHDTDOC
49 , LMI_BNKCHECK.BCHNRDOC BCHNRDOC
50 , LMI_BNKCHECK.BCHCDPAYM BCHCDPAYM
51 , COALESCE(cvBCHCDCURR .destvalue, LMI_BNKCHECK.BCHCDCURR , v_default_BCHCDCURR) BCHCDCURR
52 , COALESCE(cvBCHCDBNK .destvalue, LMI_BNKCHECK.BCHCDBNK , v_default_BCHCDBNK) BCHCDBNK
53 , COALESCE(cvBCHCDBNKBNCH .destvalue, LMI_BNKCHECK.BCHCDBNKBNCH , v_default_BCHCDBNKBNCH) BCHCDBNKBNCH
54 , COALESCE(cvBCHCDTPINC .destvalue, LMI_BNKCHECK.BCHCDTPINC , v_default_BCHCDTPINC) BCHCDTPINC
55 , COALESCE(cvBCHCDPAYM .destvalue, LMI_BNKCHECK.BCHCDPAYM , v_default_BCHCDPAYM_CONV) BCHCDPAYM_CONV
56 , COALESCE(cvBCHSTATUS .destvalue, LMI_BNKCHECK.BCHSTATUS , v_default_BCHSTATUS) BCHSTATUS
57 FROM LMI_BNKCHECK
58 LEFT OUTER JOIN lmi_convert cvBCHCDCURR ON cvBCHCDCURR .mpddomain = 'TCCURRENCY' AND cvBCHCDCURR .srcvalue = LMI_BNKCHECK.BCHCDCURR
59 LEFT OUTER JOIN lmi_convert cvBCHCDBNK ON cvBCHCDBNK .mpddomain = 'TCBNK' AND cvBCHCDBNK .srcvalue = LMI_BNKCHECK.BCHCDBNK
60 LEFT OUTER JOIN lmi_convert cvBCHCDBNKBNCH ON cvBCHCDBNKBNCH .mpddomain = 'TCBNKBNCH' AND cvBCHCDBNKBNCH .srcvalue = LMI_BNKCHECK.BCHCDBNKBNCH
61 LEFT OUTER JOIN lmi_convert cvBCHCDTPINC ON cvBCHCDTPINC .mpddomain = 'TABTPINC' AND cvBCHCDTPINC .srcvalue = LMI_BNKCHECK.BCHCDTPINC
62 LEFT OUTER JOIN lmi_convert cvBCHCDPAYM ON cvBCHCDPAYM .mpddomain = 'TCPAYMMTD' AND cvBCHCDPAYM .srcvalue = LMI_BNKCHECK.BCHCDPAYM
63 LEFT OUTER JOIN lmi_convert cvBCHSTATUS ON cvBCHSTATUS .mpddomain = 'INTSTSBCH' AND cvBCHSTATUS .srcvalue = LMI_BNKCHECK.BCHSTATUS
64 WHERE LMI_BNKCHECK.CDCMPANY = p_CodCompany;
65 COMMIT;
66 begin
67 dbms_stats.gather_table_stats(
68 ownname=> v_schema, -- NOME SCHEMA
69 tabname=> 'TEMP_LMI_BNKCHECK_CONV' , -- NOME TABELLA
70 estimate_percent=> 10,
71 cascade=> TRUE,
72 degree=> 8,
73 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
74 granularity=> 'ALL',
75 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
76 end;
77EXCEPTION
78 WHEN OTHERS THEN
79 ROLLBACK;
80 LsGlobal.LsErrorTrace(SQLERRM);
81
82END;
83
84PROCEDURE INSERTSIBNKCHECK(
85 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
86 p_nostro_riferimento NUMBER
87)
88AS
89 v_errormsg CLOB;
90 v_errorstack CLOB;
91BEGIN
92 BEGIN
93 INSERT /*+ APPEND */ INTO SIBNKCHECK
94 ( CDCMPANY,BCHDTDOC,BCHNRDOC,BCHCDPAYM,BCHCDCURR,
95 BCHCURAM,BCHEXCHRATE,BCHAMCTV,BCHCODANA,BCHCDPAYER,BCHCODCTR,BCHIDBNK,
96 BCHCDBNK,BCHCDBNKBNCH,BCHCDTPINC,BCHNOTE,BCHDTSCAD,BO_TOKEN,BCHSTATUS,BCHDTPRES,BCHNRPRES)
97 SELECT
98 LMI_BNKCHECK.CDCMPANY CDCMPANY,
99 LMI_BNKCHECK.BCHDTDOC BCHDTDOC,
100 LMI_BNKCHECK.BCHNRDOC BCHNRDOC,
101 TEMP_LMI_BNKCHECK_CONV.BCHCDPAYM_CONV BCHCDPAYM,
102 TEMP_LMI_BNKCHECK_CONV.BCHCDCURR BCHCDCURR,
103 LMI_BNKCHECK.BCHCURAM BCHCURAM,
104 LMI_BNKCHECK.BCHEXCHRATE BCHEXCHRATE,
105 LMI_BNKCHECK.BCHCURAM * LMI_BNKCHECK.BCHEXCHRATE BCHAMCTV,
106 CODANA.ANACODANA BCHCODANA,
107 PAYER.ANACODANA BCHCDPAYER,
108 LMI_CONTRATTI.CONTRACT BCHCODCTR,
109 TCBNK.IDBNK BCHIDBNK,
110 TEMP_LMI_BNKCHECK_CONV.BCHCDBNK BCHCDBNK,
111 TEMP_LMI_BNKCHECK_CONV.BCHCDBNKBNCH BCHCDBNKBNCH,
112 TEMP_LMI_BNKCHECK_CONV.BCHCDTPINC BCHCDTPINC,
113 LMI_BNKCHECK.BCHNOTE,
114 LMI_BNKCHECK.BCHDTSCAD,
115 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN,
116 TEMP_LMI_BNKCHECK_CONV.BCHSTATUS BCHSTATUS,--defect 10964
117 LMI_BNKCHECK.BCHDTPRES BCHDTPRES,
118 LMI_BNKCHECK.BCHNRPRES BCHNRPRES
119 FROM LMI_BNKCHECK
120 INNER JOIN TEMP_LMI_BNKCHECK_CONV
121 ON (TEMP_LMI_BNKCHECK_CONV.CDCMPANY = LMI_BNKCHECK.CDCMPANY AND
122 TEMP_LMI_BNKCHECK_CONV.BCHDTDOC = LMI_BNKCHECK.BCHDTDOC AND
123 TEMP_LMI_BNKCHECK_CONV.BCHNRDOC = LMI_BNKCHECK.BCHNRDOC AND
124 TEMP_LMI_BNKCHECK_CONV.BCHCDPAYM = LMI_BNKCHECK.BCHCDPAYM )
125 LEFT OUTER JOIN LMI_ANAGR CODANA
126 ON LMI_BNKCHECK.BCHCODANA = CODANA.ANACODDEF
127 AND CODANA.TO_INSERT = 1
128 LEFT OUTER JOIN LMI_ANAGR PAYER
129 ON LMI_BNKCHECK.BCHCODANA = PAYER.ANACODDEF
130 AND PAYER.TO_INSERT = 1
131 LEFT OUTER JOIN TCBNK
132 ON TCBNK.CDBNK = TEMP_LMI_BNKCHECK_CONV.BCHCDBNK
133 AND TCBNK.CDCOUNTRY = 'IT'
134 LEFT OUTER JOIN LMI_CONTRATTI ON
135 LMI_CONTRATTI.CDCMPANY = LMI_BNKCHECK.CDCMPANY AND
136 LMI_CONTRATTI.CONTRACT_ID = LMI_BNKCHECK.BCHCODCTR AND LMI_CONTRATTI.ISLAST = 1
137 WHERE LMI_BNKCHECK.CDCMPANY = p_CDCMPANY;
138 COMMIT;
139
140 EXCEPTION
141 WHEN OTHERS THEN
142
143 v_errormsg := COALESCE (SQLERRM, '');
144 v_errorstack := DBMS_UTILITY.format_error_backtrace;
145 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','INSERTSIBNKCHECK');
146 LsLmi.lmi_addloginfo (
147 '2000',
148 null,
149 'INSERT SIBNKCHECK',
150 NULL,
151 NULL,
152 v_errormsg
153 || ' - '
154 || v_errorstack,
155 LsLmi.c_INSERT_ERROR,
156 c_TYPE_ACCOUNTING
157 );
158 RETURN;
159 END;
160END;
161
162PROCEDURE INSERTSIEFFETTI(
163 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
164 p_nostro_riferimento NUMBER
165)
166AS
167 v_errormsg CLOB;
168 v_errorstack CLOB;
169BEGIN
170 BEGIN
171 INSERT /*+ APPEND */ INTO SIEFFETTI
172 (
173 CDCMPANY,
174 EFFTIPO,
175 EFFPROGR,
176 EFFDTESTR,
177 EFFIMPORTO,
178 EFFSEGNO,
179 EFFIDBNKORD,
180 EFFABIORD,
181 EFFCABORD,
182 EFFCONTORD,
183 EFFIDBNKDEST,
184 EFFABIDEST,
185 EFFCABDEST,
186 EFFCONTODE,
187 EFFCODAZ,
188 EFFTPCOD,
189 EFFCODIND,
190 EFFRSORD,
191 EFFRSDEST,
192 EFFINDDEST,
193 EFFCAPDEST,
194 EFFCITDEST,
195 EFFPRDEST,
196 EFFBANDEST,
197 EFFDESLIB,
198 EFFCODCTR,
199 EFFCODCLI,
200 EFFDTSCAD,
201 EFFCAUSAL,
202 EFFSTOPF,
203 EFFNUMERO,
204 EFFDTEMIS,
205 EFFTPRID,
206 EFFCONTO,
207 EFFCONTRID,
208 EFFCONTCLI,
209 EFFFLAGFAT,
210 EFFNUMPART,
211 EFFNUMEMIS,
212 EFFNUMDISK,
213 EFFPRINTED,
214 EFFCODFCE,
215 EFFCODFCR,
216 EFFCODSUB,
217 EFFCODDIV,
218 EFFCAMBIO,
219 EFFCONTROV,
220 EFFCODDNE,
221 EFFCDINDIR,
222 EFFCODNAZ,
223 EFFFLUSSO,
224 EFFCODFISC,
225 EFFDTREG,
226 EFFPROD,
227 EFFDTRGBL,
228 EFFSTATUS,
229 EFFDTSTS,
230 EFFNSERIE,
231 EFFPIAZZABTR,
232 EFFFLAGSP,
233 EFFCINBTR,
234 EFFDTRIC,
235 EFFNOTE,
236 EFFBNKRIF,
237 EFFIDBNKVER,
238 EFFABIVER,
239 EFFCABVER,
240 EFFPV,
241 EFFDTINC,
242 EFFCODINSOL,
243 EFFFLAGRIP,
244 EFFTRASBF,
245 EFFPAFDNE,
246 EFFTPFILE,
247 EFFIBANORD,
248 EFFIBANDEST,
249 CREDIDENTIFIER,
250 DENOMCRED,
251 SEPACDSCHE,
252 SEPACDTYPE,
253 SEPADTSIGN,
254 SEPATPINC,
255 EFFBICORD,
256 EFFBICDEST,
257 EFFSEPAPURP,
258 SEPATPSPE,
259 RIDSTCODE,
260 SEPACDMAND,
261 EFFTERIPR,
262 EFFTECHARGED
263 )
264 SELECT
265 LMI_EFFETTI.CDCMPANY CDCMPANY,
266 LMI_EFFETTI.EFFTIPO EFFTIPO, -- COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('TCPAYMMTD', LMI_EFFETTI.EFFTIPO),LMI_EFFETTI.EFFTIPO) EFFTIPO,
267 LMI_EFFETTI.EFFPROGR EFFPROGR, -- LsLmi.GetProgressivo(LMI_EFFETTI.CDCMPANY ,'SIEFFETTI') EFFPROGR,
268 LMI_EFFETTI.EFFDTESTR EFFDTESTR,
269 LMI_EFFETTI.EFFIMPORTO EFFIMPORTO,
270 LMI_EFFETTI.EFFSEGNO EFFSEGNO,
271 LMI_EFFETTI.EFFIDBNKORD EFFIDBNKORD,
272 LMI_EFFETTI.EFFABIORD EFFABIORD,
273 LMI_EFFETTI.EFFCABORD EFFCABORD,
274 LMI_EFFETTI.EFFCONTORD EFFCONTORD,
275 LMI_EFFETTI.EFFIDBNKDEST EFFIDBNKDEST,
276 LMI_EFFETTI.EFFABIDEST EFFABIDEST,
277 LMI_EFFETTI.EFFCABDEST EFFCABDEST,
278 LMI_EFFETTI.EFFCONTODE EFFCONTODE,
279 LMI_EFFETTI.EFFCODAZ EFFCODAZ,
280 LMI_EFFETTI.EFFTPCOD EFFTPCOD,
281 LMI_EFFETTI.EFFCODIND EFFCODIND,
282 LMI_EFFETTI.EFFRSORD EFFRSORD,
283 LMI_EFFETTI.EFFRSDEST EFFRSDEST,
284 LMI_EFFETTI.EFFINDDEST EFFINDDEST,
285 LMI_EFFETTI.EFFCAPDEST EFFCAPDEST,
286 LMI_EFFETTI.EFFCITDEST EFFCITDEST,
287 LMI_EFFETTI.EFFPRDEST EFFPRDEST,
288 LMI_EFFETTI.EFFBANDEST EFFBANDEST,
289 LMI_EFFETTI.EFFDESLIB EFFDESLIB,
290 LMI_CONTRATTI.CONTRACT EFFCODCTR,
291 LMI_ANAGR.ANACODANA EFFCODCLI,
292 LMI_EFFETTI.EFFDTSCAD EFFDTSCAD,
293 CONVCAUSAL.DESTVALUE EFFCAUSAL,
294 LMI_EFFETTI.EFFSTOPF EFFSTOPF,
295 LMI_EFFETTI.EFFNUMERO EFFNUMERO,
296 LMI_EFFETTI.EFFDTEMIS EFFDTEMIS,
297 LMI_EFFETTI.EFFTPRID EFFTPRID,
298 LMI_EFFETTI.EFFCONTO EFFCONTO, -- COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('TABCONTI', LMI_EFFETTI.EFFCONTO),LMI_EFFETTI.EFFCONTO) EFFCONTO,
299 LMI_EFFETTI.EFFCONTRID EFFCONTRID,
300 LMI_EFFETTI.EFFCONTCLI EFFCONTCLI,
301 LMI_EFFETTI.EFFFLAGFAT EFFFLAGFAT,
302 LMI_EFFETTI.EFFNUMPART EFFNUMPART,
303 LMI_EFFETTI.EFFNUMEMIS EFFNUMEMIS,
304 LMI_EFFETTI.EFFNUMDISK EFFNUMDISK,
305 LMI_EFFETTI.EFFPRINTED EFFPRINTED,
306 LMI_EFFETTI.EFFCODFCE EFFCODFCE,
307 LMI_EFFETTI.EFFCODFCR EFFCODFCR,
308 LMI_EFFETTI.EFFCODSUB EFFCODSUB,
309 LMI_EFFETTI.EFFCODDIV EFFCODDIV,
310 LMI_EFFETTI.EFFCAMBIO EFFCAMBIO,
311 LMI_EFFETTI.EFFCONTROV EFFCONTROV,
312 LMI_EFFETTI.EFFCODDNE EFFCODDNE,
313 LMI_EFFETTI.EFFCDINDIR EFFCDINDIR,
314 CONVNAZ.DESTVALUE EFFCODNAZ,
315 LMI_EFFETTI.EFFFLUSSO EFFFLUSSO,
316 LMI_EFFETTI.EFFCODFISC EFFCODFISC,
317 LMI_EFFETTI.EFFDTREG EFFDTREG,
318 LMI_EFFETTI.EFFPROD EFFPROD,
319 LMI_EFFETTI.EFFDTRGBL EFFDTRGBL,
320 LMI_EFFETTI.EFFSTATUS EFFSTATUS,
321 LMI_EFFETTI.EFFDTSTS EFFDTSTS,
322 LMI_EFFETTI.EFFNSERIE EFFNSERIE,
323 LMI_EFFETTI.EFFPIAZZABTR EFFPIAZZABTR,
324 LMI_EFFETTI.EFFFLAGSP EFFFLAGSP,
325 LMI_EFFETTI.EFFCINBTR EFFCINBTR,
326 LMI_EFFETTI.EFFDTRIC EFFDTRIC,
327 LMI_EFFETTI.EFFNOTE EFFNOTE,
328 LMI_EFFETTI.EFFBNKRIF EFFBNKRIF,
329 LMI_EFFETTI.EFFIDBNKVER EFFIDBNKVER,
330 LMI_EFFETTI.EFFABIVER EFFABIVER,
331 LMI_EFFETTI.EFFCABVER EFFCABVER,
332 LMI_EFFETTI.EFFPV EFFPV,
333 LMI_EFFETTI.EFFDTINC EFFDTINC,
334 LMI_EFFETTI.EFFCODINSOL EFFCODINSOL,
335 LMI_EFFETTI.EFFFLAGRIP EFFFLAGRIP,
336 LMI_EFFETTI.EFFTRASBF EFFTRASBF,
337 LMI_EFFETTI.EFFPAFDNE EFFPAFDNE,
338 LMI_EFFETTI.EFFTPFILE EFFTPFILE,
339 UPPER(LMI_EFFETTI.EFFIBANORD) EFFIBANORD,
340 UPPER(LMI_EFFETTI.EFFIBANDEST) EFFIBANDEST,
341 LMI_EFFETTI.CREDIDENTIFIER CREDIDENTIFIER,
342 LMI_EFFETTI.DENOMCRED DENOMCRED,
343 LMI_EFFETTI.SEPACDSCHE SEPACDSCHE,
344 LMI_EFFETTI.SEPACDTYPE SEPACDTYPE,
345 LMI_EFFETTI.SEPADTSIGN SEPADTSIGN,
346 LMI_EFFETTI.SEPATPINC SEPATPINC,
347 UPPER(LMI_EFFETTI.EFFBICORD) EFFBICORD,
348 UPPER(LMI_EFFETTI.EFFBICDEST) EFFBICDEST,
349 LMI_EFFETTI.EFFSEPAPURP EFFSEPAPURP,
350 LMI_EFFETTI.SEPATPSPE SEPATPSPE,
351 LMI_EFFETTI.RIDSTCODE RIDSTCODE,
352 LMI_EFFETTI.SEPACDMAND SEPACDMAND,
353 0 EFFTERIPR,
354 0 EFFTECHARGED
355 FROM LMI_EFFETTI
356 LEFT OUTER JOIN LMI_ANAGR
357 ON LMI_EFFETTI.EFFCODCLI = LMI_ANAGR.ANACODDEF
358 LEFT OUTER JOIN LMI_CONTRATTI
359 ON LMI_CONTRATTI.CDCMPANY = LMI_EFFETTI.CDCMPANY
360 AND LMI_CONTRATTI.CONTRACT_ID = LMI_EFFETTI.EFFCODCTR
361 AND LMI_CONTRATTI.ISLAST = 1
362 LEFT OUTER JOIN LMI_CONVERT CONVNAZ
363 ON CONVNAZ.MPDDOMAIN = 'TABCOUNTRY'
364 AND CONVNAZ.SRCVALUE = LMI_EFFETTI.EFFCODNAZ
365 LEFT OUTER JOIN LMI_CONVERT CONVCAUSAL
366 ON CONVCAUSAL.MPDDOMAIN = 'INTTPFLUSSI'
367 AND CONVCAUSAL.SRCVALUE = LMI_EFFETTI.EFFCAUSAL
368 WHERE LMI_EFFETTI.CDCMPANY = p_CDCMPANY
369 AND LMI_EFFETTI.TO_INSERT = 1
370 AND LMI_ANAGR.TO_INSERT = 1;
371
372 COMMIT;
373
374 EXCEPTION
375 WHEN OTHERS THEN
376 v_errormsg := COALESCE (SQLERRM, '');
377 v_errorstack := DBMS_UTILITY.format_error_backtrace;
378 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','INSERTSIEFFETTI');
379 LsLmi.lmi_addloginfo (
380 '2000',
381 null,
382 'INSERT SIEFFETTI',
383 NULL,
384 NULL,
385 v_errormsg
386 || ' - '
387 || v_errorstack,
388 LsLmi.c_INSERT_ERROR,
389 c_TYPE_ACCOUNTING
390 );
391 RETURN;
392 END;
393END;
394
395PROCEDURE Lmi_Upload_Righe (
396 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
397 p_errore IN OUT NOCOPY BOOLEAN,
398 p_id_code NUMBER,
399 p_prod NUMBER,
400 p_nostro_riferimento NUMBER
401 )
402AS
403 v_TempMoney NUMBER(14,4);
404 v_MOVESERC LMI_MOVIMENT.MOVESERC%type;
405 v_MOVNRMOV LMI_MOVIMENT.MOVNRMOV%type;
406 v_MOVNEWNRMOV LMI_MOVIMENT.MOVNEWNRMOV%type;
407 v_MOVNRIVA LMI_MOVIMENT.MOVNRIVA%type;
408 v_MOVNRDOC LMI_MOVIMENT.MOVNRDOC%type;
409 v_Error LMI_LOG.ERRGENERIC%type;
410 v_errormsg CLOB;
411 v_errorstack CLOB;
412 v_targetschema varchar2(30 char);
413BEGIN
414 v_targetschema:= lsLmi.GetSchemaTarget;
415 BEGIN
416 SELECT MOVESERC
417 INTO v_MOVESERC
418 FROM LMI_CONTROLLER_ESERC
419 WHERE LMI_CONTROLLER_ESERC.CDCMPANY = p_CDCMPANY
420 AND LMI_CONTROLLER_ESERC.ID_CODE = p_ID_CODE;
421 EXCEPTION
422 WHEN OTHERS THEN NULL;
423 END;
424
425 IF p_prod = 1 THEN
426 BEGIN
427 INSERT /*+ APPEND */ INTO RIGHE
428 ( CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER,
429 RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM, RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP,
430 RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD, RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA,
431 RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA,
432 RIGTAXMOR, RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP,RIGTEPRIT,
433 RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP, RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER,
434 RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO, CONTODEBITOCREDITO, TIPORIGA,
435 RIGIVAIMPOSTA
436 )
437
438 SELECT
439 LMI_RIGHE.CDCMPANY CDCMPANY,
440 TEMP_LMI_RIGHE_CONV.RIGESERC RIGESERC ,
441 TEMP_LMI_MOVIMENT_CONV.MOVNEWNRMOV RIGNRMOV,
442 LMI_RIGHE.RIGNRRIGA RIGNRRIGA,
443 TEMP_LMI_RIGHE_CONV.RIGCDDNE RIGCDDNE ,
444 LMI_RIGHE.RIGNRBOLL,
445 COALESCE(TEMP_LMI_MOVIMENT_CONV.CDUSER,'BATCHER') CDUSER,
446 TEMP_LMI_MOVIMENT_CONV.DTUSER DTUSER,
447 LMI_RIGHE.RIGDESC RIGDESC,
448 temp_lmi_righe_conv.rigcdconto rigcdconto,
449 LMI_ANAGR.ANACODANA RIGCDANA,
450 LMI_ANAGR.ANADENOM RIGDENOM,
451 (SELECT LMI_CONTRATTI.CONTRACT FROM LMI_CONTRATTI
452 WHERE LMI_CONTRATTI.CDCMPANY = LMI_RIGHE.CDCMPANY
453 AND LMI_CONTRATTI.CONTRACT_ID = LMI_RIGHE.RIGCDCTR
454 AND LMI_CONTRATTI.ISLAST = 1
455 ) RIGCDCTR,
456 TEMP_LMI_RIGHE_CONV.RIGTPCFL RIGTPCFL,
457 LMI_RIGHE.RIGNRCFL,
458 LMI_CESPIT.CESCODCES RIGCDCESP,
459 CASE
460 WHEN (SELECT CDSYS
461 FROM TABCONTI
462 WHERE TABCONTI.CDCMPANY = TEMP_LMI_RIGHE_CONV.CDCMPANY
463 AND TABCONTI.CDCONTO = TEMP_LMI_RIGHE_CONV.RIGCDCONTO) IN ('CLI','FOR') THEN
464 COALESCE(LMI_RIGHE.RIGDTSCAD,TEMP_LMI_MOVIMENT_CONV.DTUSER)
465 ELSE LMI_RIGHE.RIGDTSCAD
466 END RIGDTSCAD,
467 LMI_RIGHE.RIGPARTITA RIGPARTITA,
468 LMI_RIGHE.RIGSPDIV,
469 LMI_RIGHE.RIGSPDRIF,
470 LMI_RIGHE.RIGIMPDRIFD RIGIMPDRIFD,
471 LMI_RIGHE.RIGIMPDRIFA RIGIMPDRIFA,
472 LMI_RIGHE.RIGIMPDIVD RIGIMPDIVD,
473 LMI_RIGHE.RIGIMPDIVA RIGIMPDIVA,
474 TEMP_LMI_RIGHE_CONV.RIGSEGNO RIGSEGNO ,
475 TEMP_LMI_RIGHE_CONV.RIGCDDIV RIGCDDIV ,
476 LMI_RIGHE.RIGIMPDIVD + LMI_RIGHE.RIGIMPDIVA RIGIMPDIV,
477 LMI_RIGHE.RIGPRCCMB RIGPRCCMB,
478 LMI_RIGHE.RIGIMPDRIFD + LMI_RIGHE.RIGIMPDRIFA RIGIMPDRIF,
479 TEMP_LMI_RIGHE_CONV.RIGCDIVA RIGCDIVA ,
480 LMI_RIGHE.RIGPERCIVA RIGPERCIVA,
481 COALESCE(LMI_RIGHE.RIGTEMORA,1) RIGTEMORA,
482 LMI_RIGHE.RIGTAXMOR,
483 LMI_RIGHE.RIGIMPMOR,
484 LMI_RIGHE.RIGABBMOR,
485 LMI_RIGHE.RIGNRAUI,
486 LMI_RIGHE.RIGDTAUI,
487 LMI_RIGHE.RIGSTAUI,
488 COALESCE(LMI_RIGHE.RIGTEORIG,0) RIGTEORIG,
489 COALESCE(LMI_RIGHE.RIGTEPAP,0) RIGTEPAP,
490 COALESCE(LMI_RIGHE.RIGTEPRIT,0) RIGTEPRIT,
491 LMI_RIGHE.RIGCDCORP,
492 LMI_RIGHE.RIGDESCORP RIGDESCORP,
493 COALESCE(LMI_RIGHE.RIGSTBNFAVV,'F') RIGSTBNFAVV,
494 COALESCE(LMI_RIGHE.RIGSTBNFDISP,'F') RIGSTBNFDISP,
495 TEMP_LMI_RIGHE_CONV.RIGCENTRO RIGCENTRO ,
496 COALESCE(LMI_RIGHE.RIGCODSUB,'001') RIGCODSUB,
497 COALESCE(LMI_RIGHE.RIGSTPART,0) RIGSTPART,
498 COALESCE(LMI_RIGHE.RIGTEUSER,'0') RIGTEUSER,
499 LMI_RIGHE.RIGTELEDGER,
500 LMI_RIGHE.RIGNRRIGA RIGINDEX,
501 NULL CLCPRCDET,
502 NULL RIGAPARTITA,
503 NULL RIGADEBITOCREDITO,
504 NULL CONTODEBITOCREDITO,
505 NULL TIPORIGA,
506 NULL RIGIVAIMPOSTA
507 FROM LMI_RIGHE
508 INNER JOIN TEMP_LMI_MOVIMENT_CONV
509 ON LMI_RIGHE.CDCMPANY = TEMP_LMI_MOVIMENT_CONV.CDCMPANY
510 AND LMI_RIGHE.RIGNRMOV = TEMP_LMI_MOVIMENT_CONV.MOVNRMOV
511 AND LMI_RIGHE.RIGESERC = TEMP_LMI_MOVIMENT_CONV.MOVESERC
512 -- JOIN PER LE CONVERSIONI:
513 INNER JOIN TEMP_LMI_RIGHE_CONV
514 ON (TEMP_LMI_RIGHE_CONV.RIGNRMOV = LMI_RIGHE.RIGNRMOV AND
515 TEMP_LMI_RIGHE_CONV.RIGNRRIGA = LMI_RIGHE.RIGNRRIGA AND
516 TEMP_LMI_RIGHE_CONV.RIGESERC = LMI_RIGHE.RIGESERC AND
517 TEMP_LMI_RIGHE_CONV.CDCMPANY = LMI_RIGHE.CDCMPANY )
518 LEFT OUTER JOIN LMI_CESPIT ON
519 LMI_CESPIT.CDCMPANY = LMI_RIGHE.CDCMPANY AND
520 LMI_CESPIT.CESINSTCODE = LMI_RIGHE.RIGCDCESP
521 LEFT OUTER JOIN LMI_ANAGR
522 ON LMI_RIGHE.RIGCDANA = LMI_ANAGR.ANACODDEF
523 WHERE
524 LMI_RIGHE.CDCMPANY = p_CDCMPANY AND
525 LMI_RIGHE.RIGESERC = V_MOVESERC
526
527 ;
528
529 COMMIT;
530
531
532
533 EXCEPTION
534 WHEN OTHERS THEN
535 p_errore := TRUE;
536
537 v_errormsg := COALESCE (SQLERRM, '');
538 v_errorstack := DBMS_UTILITY.format_error_backtrace;
539 LsLmi.lmi_addloginfo (
540 '2000',
541 p_Id_Code,
542 'RIGHE',
543 NULL,
544 NULL,
545 v_errormsg
546 || ' - '
547 || v_errorstack,
548 LsLmi.c_INSERT_ERROR,
549 c_TYPE_ACCOUNTING
550 );
551
552 RETURN;
553 END;
554 ELSE
555 BEGIN
556 INSERT /*+ APPEND */ INTO RIGHE
557 ( CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER,
558 RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM, RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP,
559 RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD, RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA,
560 RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA,
561 RIGTAXMOR, RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP,RIGTEPRIT,
562 RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP, RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER,
563 RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO, CONTODEBITOCREDITO, TIPORIGA,
564 RIGIVAIMPOSTA
565 )
566
567 SELECT /*+ INDEX (LMI_MOVIMENT LMI_MOVIMENT1) INDEX (TEMP_LMI_RIGHE_CONV TEMP_LMI_RIGHE_CONV1) */
568 LMI_RIGHE.CDCMPANY CDCMPANY,
569 TEMP_LMI_RIGHE_CONV.RIGESERC RIGESERC ,
570 TEMP_LMI_MOVIMENT_CONV.MOVNEWNRMOV RIGNRMOV,
571 LMI_RIGHE.RIGNRRIGA RIGNRRIGA,
572 TEMP_LMI_RIGHE_CONV.RIGCDDNE RIGCDDNE ,
573 LMI_RIGHE.RIGNRBOLL,
574 COALESCE(TEMP_LMI_MOVIMENT_CONV.CDUSER,'BATCHER') CDUSER,
575 TEMP_LMI_MOVIMENT_CONV.DTUSER DTUSER,
576 LMI_RIGHE.RIGDESC RIGDESC,
577 TEMP_LMI_RIGHE_CONV.RIGCDCONTO RIGCDCONTO,
578 LMI_ANAGR.ANACODANA RIGCDANA,
579 LMI_ANAGR.ANADENOM RIGDENOM,
580 (SELECT LMI_CONTRATTI.CONTRACT FROM LMI_CONTRATTI
581 WHERE LMI_CONTRATTI.CDCMPANY = LMI_RIGHE.CDCMPANY
582 AND LMI_CONTRATTI.CONTRACT_ID = LMI_RIGHE.RIGCDCTR
583 AND LMI_CONTRATTI.ISLAST = 1
584 ) RIGCDCTR,
585 TEMP_LMI_RIGHE_CONV.RIGTPCFL RIGTPCFL,
586 LMI_RIGHE.RIGNRCFL,
587 LMI_CESPIT.CESCODCES RIGCDCESP,
588 CASE
589 WHEN (SELECT CDSYS
590 FROM TABCONTI
591 WHERE TABCONTI.CDCMPANY = TEMP_LMI_RIGHE_CONV.CDCMPANY
592 AND TABCONTI.CDCONTO = TEMP_LMI_RIGHE_CONV.RIGCDCONTO) IN ('CLI','FOR') THEN
593 COALESCE(LMI_RIGHE.RIGDTSCAD,TEMP_LMI_MOVIMENT_CONV.DTUSER)
594 ELSE LMI_RIGHE.RIGDTSCAD
595 END RIGDTSCAD,
596 LMI_RIGHE.RIGPARTITA RIGPARTITA,
597 LMI_RIGHE.RIGSPDIV,
598 LMI_RIGHE.RIGSPDRIF,
599 LMI_RIGHE.RIGIMPDRIFD RIGIMPDRIFD,
600 LMI_RIGHE.RIGIMPDRIFA RIGIMPDRIFA,
601 LMI_RIGHE.RIGIMPDIVD RIGIMPDIVD,
602 LMI_RIGHE.RIGIMPDIVA RIGIMPDIVA,
603 TEMP_LMI_RIGHE_CONV.RIGSEGNO RIGSEGNO ,
604 TEMP_LMI_RIGHE_CONV.RIGCDDIV RIGCDDIV ,
605 LMI_RIGHE.RIGIMPDIVD + LMI_RIGHE.RIGIMPDIVA RIGIMPDIV,
606 LMI_RIGHE.RIGPRCCMB RIGPRCCMB,
607 LMI_RIGHE.RIGIMPDRIFD + LMI_RIGHE.RIGIMPDRIFA RIGIMPDRIF,
608 TEMP_LMI_RIGHE_CONV.RIGCDIVA RIGCDIVA ,
609 LMI_RIGHE.RIGPERCIVA RIGPERCIVA,
610 COALESCE(LMI_RIGHE.RIGTEMORA,1) RIGTEMORA,
611 LMI_RIGHE.RIGTAXMOR,
612 LMI_RIGHE.RIGIMPMOR,
613 LMI_RIGHE.RIGABBMOR,
614 LMI_RIGHE.RIGNRAUI,
615 LMI_RIGHE.RIGDTAUI,
616 LMI_RIGHE.RIGSTAUI,
617 COALESCE(LMI_RIGHE.RIGTEORIG,0) RIGTEORIG,
618 COALESCE(LMI_RIGHE.RIGTEPAP,0) RIGTEPAP,
619 COALESCE(LMI_RIGHE.RIGTEPRIT,0) RIGTEPRIT,
620 LMI_RIGHE.RIGCDCORP,
621 LMI_RIGHE.RIGDESCORP RIGDESCORP,
622 COALESCE(LMI_RIGHE.RIGSTBNFAVV,'F') RIGSTBNFAVV,
623 COALESCE(LMI_RIGHE.RIGSTBNFDISP,'F') RIGSTBNFDISP,
624 TEMP_LMI_RIGHE_CONV.RIGCENTRO RIGCENTRO ,
625 COALESCE(LMI_RIGHE.RIGCODSUB,'001') RIGCODSUB,
626 COALESCE(LMI_RIGHE.RIGSTPART,0) RIGSTPART,
627 COALESCE(LMI_RIGHE.RIGTEUSER,'0') RIGTEUSER,
628 LMI_RIGHE.RIGTELEDGER,
629 LMI_RIGHE.RIGNRRIGA RIGINDEX,
630 NULL CLCPRCDET,
631 NULL RIGAPARTITA,
632 NULL RIGADEBITOCREDITO,
633 NULL CONTODEBITOCREDITO,
634 NULL TIPORIGA,
635 NULL RIGIVAIMPOSTA
636 FROM LMI_RIGHE
637 INNER JOIN TEMP_LMI_MOVIMENT_CONV
638 ON LMI_RIGHE.CDCMPANY = TEMP_LMI_MOVIMENT_CONV.CDCMPANY
639 AND LMI_RIGHE.RIGNRMOV = TEMP_LMI_MOVIMENT_CONV.MOVNRMOV
640 AND LMI_RIGHE.RIGESERC = TEMP_LMI_MOVIMENT_CONV.MOVESERC
641 -- JOIN PER LE CONVERSIONI:
642 INNER JOIN TEMP_LMI_RIGHE_CONV
643 ON (TEMP_LMI_RIGHE_CONV.RIGNRMOV = LMI_RIGHE.RIGNRMOV AND
644 TEMP_LMI_RIGHE_CONV.RIGNRRIGA = LMI_RIGHE.RIGNRRIGA AND
645 TEMP_LMI_RIGHE_CONV.RIGESERC = LMI_RIGHE.RIGESERC AND
646 TEMP_LMI_RIGHE_CONV.CDCMPANY = LMI_RIGHE.CDCMPANY )
647 --
648 LEFT OUTER JOIN LMI_CESPIT ON
649 LMI_CESPIT.CDCMPANY = LMI_RIGHE.CDCMPANY AND
650 LMI_CESPIT.CESINSTCODE = LMI_RIGHE.RIGCDCESP
651 LEFT OUTER JOIN (SELECT * FROM LMI_ANAGR WHERE TO_INSERT =1) LMI_ANAGR
652 ON LMI_RIGHE.RIGCDANA = LMI_ANAGR.ANACODDEF
653 WHERE
654 LMI_RIGHE.CDCMPANY = p_CDCMPANY AND
655 LMI_RIGHE.RIGESERC = V_MOVESERC
656
657 ;
658
659 COMMIT;
660
661
662
663 EXCEPTION
664 WHEN OTHERS THEN
665 p_errore := TRUE;
666
667 v_errormsg := COALESCE (SQLERRM, '');
668 v_errorstack := DBMS_UTILITY.format_error_backtrace;
669 LsLmi.lmi_addloginfo (
670 '2000',
671 p_Id_Code,
672 'RIGHE',
673 NULL,
674 NULL,
675 v_errormsg
676 || ' - '
677 || v_errorstack,
678 LsLmi.c_INSERT_ERROR,
679 c_TYPE_ACCOUNTING
680 );
681
682 RETURN;
683 END;
684 END IF;
685
686END Lmi_Upload_Righe;
687
688PROCEDURE Lmi_Upload_Moviment (
689 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
690 p_errore IN OUT NOCOPY BOOLEAN,
691 p_id_code NUMBER,
692 p_movbnkrif MOVIMENT.MOVBNKRIF%TYPE,
693 p_nostro_riferimento NUMBER
694 )
695AS
696
697 v_TempMoney NUMBER(14,4);
698 v_MOVESERC LMI_MOVIMENT.MOVESERC%type;
699 v_MOVNRMOV LMI_MOVIMENT.MOVNRMOV%type;
700 v_MOVNEWNRMOV LMI_MOVIMENT.MOVNEWNRMOV%type;
701 v_MOVNRIVA LMI_MOVIMENT.MOVNRIVA%type;
702 v_MOVNRDOC LMI_MOVIMENT.MOVNRDOC%type;
703 v_Error LMI_LOG.ERRGENERIC%type;
704 v_errormsg CLOB;
705 v_errorstack CLOB;
706 v_targetschema varchar2(30 char);
707
708BEGIN
709 v_targetschema:= lsLmi.GetSchemaTarget;
710 BEGIN
711 SELECT moveserc
712 INTO v_moveserc
713 FROM lmi_controller_eserc
714 WHERE LMI_CONTROLLER_ESERC.CDCMPANY = p_CDCMPANY
715 AND LMI_CONTROLLER_ESERC.ID_CODE = p_ID_CODE;
716EXCEPTION
717 WHEN OTHERS THEN NULL;
718 END;
719 BEGIN
720
721 INSERT /*+ APPEND */ INTO MOVIMENT
722 ( CDCMPANY, MOVESERC, MOVNRMOV, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL,
723 MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC, MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL,
724 MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA, MOVCDCAUS, MOVIMPBASE,
725 MOVDIVISA, MOVCAMBIO, MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
726 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR,
727 MOVSTESERC, MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK,
728 MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN, MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER,
729 MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP, MOVINDEX, CLCTETPPAR,
730 MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA,
731 MOVPAGPAESE, MOVPAGABIBNK
732 )
733 SELECT lmi_moviment.cdcmpany cdcmpany,
734 temp_lmi_moviment_conv.moveserc_conv moveserc ,
735 temp_lmi_moviment_conv.MOVNEWNRMOV MOVNRMOV,
736 temp_lmi_moviment_conv.movcddne movcddne ,
737 temp_lmi_moviment_conv.cduser cduser ,
738 LMI_MOVIMENT.MOVDTREG DTUSER,
739 LMI_MOVIMENT.MOVDTREG MOVDTREG,
740 LMI_MOVIMENT.MOVDTRGBL MOVDTRGBL,
741 LMI_MOVIMENT.MOVESERCBL MOVESERCBL,
742 LMI_MOVIMENT.MOVCDTPMV,
743 LMI_MOVIMENT.MOVDESC MOVDESC,
744 LMI_MOVIMENT.MOVDTDOC MOVDTDOC,
745 LMI_MOVIMENT.MOVNRDOC MOVNRDOC,
746 TEMP_LMI_MOVIMENT_CONV.MOVCDPAG MOVCDPAG ,
747 LMI_MOVIMENT.MOVDTSTBL,
748 LMI_MOVIMENT.MOVPROGRBL,
749 TEMP_LMI_MOVIMENT_CONV.MOVCDRGIVA MOVCDRGIVA ,
750 LMI_MOVIMENT.MOVNRIVA MOVNRIVA,
751 TABCAUS.CDRGIVACEE MOVCDRGCEE,
752 LMI_MOVIMENT.MOVNRCEE,
753 LMI_MOVIMENT.MOVDTSTIVA,
754 TEMP_LMI_MOVIMENT_CONV.MOVCDCAUS MOVCDCAUS,
755 LMI_MOVIMENT.MOVIMPBASE MOVIMPBASE,
756 TEMP_LMI_MOVIMENT_CONV.MOVDIVISA MOVDIVISA ,
757 LMI_MOVIMENT.MOVCAMBIO MOVCAMBIO,
758 LMI_MOVIMENT.MOVCONTROV MOVCONTROV,
759 LMI_MOVIMENT.MOVDTSCAD MOVDTSCAD,
760 CLIFAT.ANACODANA MOVCLIFAT,
761 CLIFAT.ANADENOM MOVDENOM,
762 LMI_MOVIMENT.MOVCLIIND MOVCLIIND,
763 LMI_MOVIMENT.MOVRAGSIND,
764 LMI_MOVIMENT.MOVLOC,
765 LMI_MOVIMENT.MOVINDIR,
766 LMI_MOVIMENT.MOVCAP,
767 LMI_MOVIMENT.MOVPROV,
768 LMI_MOVIMENT.MOVPERSRIF,
769 COALESCE(LMI_MOVIMENT.MOVBNKRIF,p_movbnkrif) MOVBNKRIF, --1 /*MOVBNKRIF*/ MOVBNKRIF,
770 (SELECT LMI_CONTRATTI.CONTRACT FROM LMI_CONTRATTI
771 WHERE LMI_CONTRATTI.CDCMPANY = LMI_MOVIMENT.CDCMPANY
772 AND LMI_CONTRATTI.CONTRACT_ID = LMI_MOVIMENT.MOVCTR
773 AND LMI_CONTRATTI.islast = 1
774 ) MOVCTR,
775 LMI_MOVIMENT.MOVSTESERC,
776 LMI_MOVIMENT.MOVSTNRMOV,
777 LMI_MOVIMENT.MOVFLAGST,
778 LMI_MOVIMENT.MOVNOTE MOVNOTE,
779 LMI_MOVIMENT.MOVSTDTIVA,
780 LMI_MOVIMENT.MOVSTNRDOC,
781 LMI_MOVIMENT.MOVPAGBNK,
782 LMI_MOVIMENT.MOVPAGBNKBNCH,
783 LMI_MOVIMENT.MOVPAGCC,
784 LMI_MOVIMENT.MOVPAGCIN,
785 LMI_MOVIMENT.MOVFILIALE,
786 LMI_MOVIMENT.MOVCDSCHEMA,
787 COALESCE(LMI_MOVIMENT.MOVCODSUB,'001') MOVCODSUB,
788 LMI_MOVIMENT.MOVTELEDGER,
789 LMI_MOVIMENT.MOVPAGIBAN,
790 'S' MOVSTATUS,
791 NULL MOVREVESERC,
792 NULL MOVREVNRMOV,
793 1 MOVGROUP,
794 NULL MOVINDEX,
795 NULL CLCTETPPAR,
796 NULL MOVRIGADET,
797 NULL MOVRIGAIND,
798 NULL MOVRIGACEE,
799 NULL MOVCAUSSTD,
800 TEMP_LMI_MOVIMENT_CONV.MOVESECTYPE MOVESECTYPE,
801 TEMP_LMI_MOVIMENT_CONV.MOVESECCODE MOVESECCODE,
802 ESECCODANA.ANACODANA MOVESECCODANA,
803 LMI_MOVIMENT.MOVPAGPAESE,
804 LMI_MOVIMENT.MOVPAGABIBNK
805 FROM LMI_MOVIMENT
806 -- Join per le conversioni:
807 INNER JOIN temp_lmi_moviment_conv
808 ON (temp_lmi_moviment_conv.movnrmov = lmi_moviment.movnrmov AND
809 temp_lmi_moviment_conv.moveserc = lmi_moviment.moveserc AND
810
811 temp_lmi_moviment_conv.cdcmpany = lmi_moviment.cdcmpany )
812 --
813 LEFT OUTER JOIN TABCAUS
814 ON (temp_lmi_moviment_conv.movcdcaus = TABCAUS.CDCAUS AND
815 LMI_MOVIMENT.CDCMPANY = TABCAUS.CDCMPANY )
816 LEFT OUTER JOIN LMI_ANAGR CLIFAT
817 ON LMI_MOVIMENT.MOVCLIFAT = CLIFAT.ANACODDEF
818 AND CLIFAT.TO_INSERT = 1
819 LEFT OUTER JOIN LMI_ANAGR ESECCODANA
820 ON LMI_MOVIMENT.MOVESECCODANA = ESECCODANA.ANACODDEF
821 AND ESECCODANA.TO_INSERT = 1
822 WHERE LMI_MOVIMENT.CDCMPANY = p_CDCMPANY
823 AND LMI_MOVIMENT.MOVESERC = v_MOVESERC
824 AND LMI_MOVIMENT.to_insert = 1
825
826 ;
827
828 COMMIT;
829
830
831 EXCEPTION
832 WHEN OTHERS THEN
833 p_errore := TRUE;
834
835 v_errormsg := COALESCE (SQLERRM, '');
836 v_errorstack := DBMS_UTILITY.format_error_backtrace;
837 LsLmi.lmi_addloginfo (
838 '2000',
839 p_Id_Code,
840 'MOVIMENT',
841 NULL,
842 NULL,
843 v_errormsg
844 || ' - '
845 || v_errorstack,
846 LsLmi.c_INSERT_ERROR,
847 c_TYPE_ACCOUNTING
848 );
849 RETURN;
850 END;
851
852END Lmi_Upload_Moviment;
853
854$IF LsCC_Control_Target.BO_SECURITIZATION $THEN
855PROCEDURE INSERTCARTLIQ(
856 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
857 p_nostro_riferimento NUMBER,
858 p_SourceName LMI_ANAEXCODE.CDSOURCE%TYPE
859)
860AS
861 v_errormsg CLOB;
862 v_errorstack CLOB;
863 v_targetschema varchar2(30 char);
864BEGIN
865 v_targetschema:= lsLmi.GetSchemaTarget;
866 BEGIN
867
868 if LsLmi.IsSourceF2K(p_SourceName) then
869
870 -- TICKET 92967 - INIZIO PRIMA PARTE
871 INSERT INTO SICARTLIQ (
872 CDCMPANY, LIQNUMELAB, LIQCDDNE,
873 LIQCDCONTO, LIQESERC, LIQNRMOV,
874 LIQNRRIG, LIQTPCASH, LIQASSIGNMENT,
875 LIQCDANA, LIQDTREG, LIQDUEDATE,
876 LIQCDCAUS, LIQCURRENCY, LIQCDCTR,
877 LIQAMOUNT, LIQDTUSER, LIQTEBUYOUT,
878 LIQESERCLIQ, LIQNRMOVLIQ, LIQDTREGLIQ)
879 SELECT
880 p_CDCMPANY CDCMPANY, LIQNUMELAB, LIQCDDNE,
881 LIQCDCONTO, LIQESERC, LIQNRMOV,
882 LIQNRRIG, LIQTPCASH, LIQASSIGNMENT,
883 LIQCDANA, LIQDTREG, LIQDUEDATE,
884 LIQCDCAUS, LIQCURRENCY, LIQCDCTR,
885 LIQAMOUNT, LIQDTUSER,
886 CASE
887 WHEN LIQTEBUYOUT = 'T' THEN 1
888 ELSE 0
889 END LIQTEBUYOUT,
890 NULL LIQESERCLIQ, NULL LIQNRMOVLIQ, NULL LIQDTREGLIQ
891 FROM SICARTLIQ_F2K
892 WHERE LIQNRMOV <> 0;
893 COMMIT;
894
895 INSERT INTO SICARTLIQ (
896 CDCMPANY, LIQNUMELAB, LIQCDDNE,
897 LIQCDCONTO, LIQESERC, LIQNRMOV,
898 LIQNRRIG, LIQTPCASH, LIQASSIGNMENT,
899 LIQCDANA, LIQDTREG, LIQDUEDATE,
900 LIQCDCAUS, LIQCURRENCY, LIQCDCTR,
901 LIQAMOUNT, LIQDTUSER, LIQTEBUYOUT,
902 LIQESERCLIQ, LIQNRMOVLIQ, LIQDTREGLIQ)
903 SELECT
904 p_CDCMPANY CDCMPANY, LIQNUMELAB, LIQCDDNE,
905 LIQCDCONTO, LIQESERC, LIQNRMOV,
906 ROW_NUMBER() OVER (PARTITION BY LIQESERC, LIQNRMOV ORDER BY LIQESERC, LIQNRMOV) LIQNRRIG, LIQTPCASH, LIQASSIGNMENT,
907 LIQCDANA, LIQDTREG, LIQDUEDATE,
908 LIQCDCAUS, LIQCURRENCY, LIQCDCTR,
909 LIQAMOUNT, LIQDTUSER,
910 CASE
911 WHEN LIQTEBUYOUT = 'T' THEN 1
912 ELSE 0
913 END LIQTEBUYOUT,
914 NULL LIQESERCLIQ, NULL LIQNRMOVLIQ, NULL LIQDTREGLIQ
915 FROM SICARTLIQ_F2K
916 WHERE LIQNRMOV = 0;
917 COMMIT;
918 -- TICKET 92967 - FINE PRIMA PARTE
919
920 ELSE
921
922 INSERT /*+ APPEND */ INTO SICARTLIQ(CDCMPANY, LIQNUMELAB, LIQCDDNE, LIQCDCONTO, LIQESERC, LIQNRMOV, LIQNRRIG, LIQTPCASH,
923 LIQASSIGNMENT, LIQCDANA, LIQDTREG, LIQDUEDATE, LIQCDCAUS, LIQCURRENCY, LIQCDCTR, LIQAMOUNT)
924 SELECT LMI_CARTLIQ.CDCMPANY CDCMPANY,
925 1 LIQNUMELAB,
926 TEMP_LMI_CARTLIQ_CONV.LIQCDDNE_CONV LIQCDDNE ,
927 TEMP_LMI_CARTLIQ_CONV.LIQCDCONTO_CONV LIQCDCONTO ,
928 TEMP_LMI_CARTLIQ_CONV.LIQESERC_CONV LIQESERC ,
929 TEMP_LMI_MOVIMENT_CONV.MOVNEWNRMOV LIQNRMOV ,
930 LMI_CARTLIQ.LIQNRRIG LIQNRRIG ,
931 TEMP_LMI_CARTLIQ_CONV.LIQTPCASH_CONV LIQTPCASH ,
932 LMI_CARTLIQ.LIQASSIGNMENT LIQASSIGNMENT,
933 LMI_ANAGR.ANACODANA LIQCDANA ,
934 LMI_CARTLIQ.LIQDTREG LIQDTREG ,
935 LMI_CARTLIQ.LIQDUEDATE LIQDUEDATE ,
936 TEMP_LMI_CARTLIQ_CONV.LIQCDCAUS LIQCDCAUS ,
937 TEMP_LMI_CARTLIQ_CONV.LIQCURRENCY LIQCURRENCY ,
938 LMI_CONTRATTI.CONTRACT LIQCDCTR ,
939 LMI_CARTLIQ.LIQAMOUNT LIQAMOUNT
940 FROM LMI_CARTLIQ
941 -- Join per le conversioni:
942 INNER JOIN TEMP_LMI_CARTLIQ_CONV
943 ON (TEMP_LMI_CARTLIQ_CONV.LIQCDDNE = LMI_CARTLIQ.LIQCDDNE AND
944 TEMP_LMI_CARTLIQ_CONV.LIQCDCONTO = LMI_CARTLIQ.LIQCDCONTO AND
945 TEMP_LMI_CARTLIQ_CONV.LIQESERC = LMI_CARTLIQ.LIQESERC AND
946 TEMP_LMI_CARTLIQ_CONV.LIQNRMOV = LMI_CARTLIQ.LIQNRMOV AND
947 TEMP_LMI_CARTLIQ_CONV.LIQNRRIG = LMI_CARTLIQ.LIQNRRIG AND
948 TEMP_LMI_CARTLIQ_CONV.LIQTPCASH = LMI_CARTLIQ.LIQTPCASH AND
949 TEMP_LMI_CARTLIQ_CONV.CDCMPANY = LMI_CARTLIQ.CDCMPANY )
950 LEFT OUTER JOIN LMI_ANAGR
951 ON LMI_CARTLIQ.LIQCDANA = LMI_ANAGR.ANACODDEF
952 LEFT OUTER JOIN TEMP_LMI_MOVIMENT_CONV ON
953 LMI_CARTLIQ.CDCMPANY = TEMP_LMI_MOVIMENT_CONV.CDCMPANY
954 AND LMI_CARTLIQ.LIQNRMOV = TEMP_LMI_MOVIMENT_CONV.MOVNRMOV
955 AND LMI_CARTLIQ.LIQESERC = TEMP_LMI_MOVIMENT_CONV.MOVESERC
956 INNER JOIN LMI_CONTRATTI ON
957 LMI_CONTRATTI.CDCMPANY = LMI_CARTLIQ.CDCMPANY AND
958 LMI_CONTRATTI.CONTRACT_ID = LMI_CARTLIQ.LIQCDCTR AND LMI_CONTRATTI.ISLAST = 1
959 WHERE LMI_CARTLIQ.CDCMPANY = p_CDCMPANY
960 AND LMI_ANAGR.TO_INSERT = 1;
961 COMMIT;
962
963 END IF;
964
965 EXCEPTION
966 WHEN OTHERS THEN
967
968 v_errormsg := COALESCE (SQLERRM, '');
969 v_errorstack := DBMS_UTILITY.format_error_backtrace;
970 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','INSERTCARTLIQ');
971 LsLmi.lmi_addloginfo (
972 '2000',
973 null,
974 'INSERT SICARTLIQ',
975 NULL,
976 NULL,
977 v_errormsg
978 || ' - '
979 || v_errorstack,
980 LsLmi.c_INSERT_ERROR,
981 c_TYPE_ACCOUNTING
982 );
983 RETURN;
984 END;
985
986 begin
987 dbms_stats.gather_table_stats(
988 ownname=> v_targetschema, -- NOME SCHEMA
989 tabname=> 'SICARTLIQ' , -- NOME TABELLA
990 estimate_percent=> 10,
991 cascade=> TRUE,
992 degree=> 8,
993 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
994 granularity=> 'ALL',
995 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
996 exception
997 when others then
998 v_errormsg := COALESCE (SQLERRM, '');
999 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1000 LsLmi.lmi_addloginfo (
1001 '2000',
1002 null,
1003 'STATISTICHE SICARTLIQ',
1004 NULL,
1005 NULL,
1006 v_errormsg
1007 || ' - '
1008 || v_errorstack,
1009 LsLmi.c_INSERT_ERROR,
1010 LsLmi.c_GENERIC_ERROR
1011 );
1012 end;
1013
1014 -- TICKET 92967 - INIZIO SECONDA PARTE
1015 BEGIN
1016 INSERT INTO SICTRCART(CDCMPANY, CARTDNE, CARTSUBDNE, CARTCTRCOD, CARTCODSUB, CARTCODSUBDEC, CARTSTATUS,
1017 CARTDTSTS, CARTVALFINA, CARTCAPITALE, CARTCAPITALEDEC, CARTRESIDUO, CARTINTERESSI,
1018 CARTINTRES, CARTNRATE, CARTFIRST, CARTLAST, CARTDTLOAD, CARTDTOUT, CARTFLMANSEL,
1019 CARTFLMANESC, CARTCDESC, CARTOTHREV, CARTSTRACCRUAL, CARTENDACCRUAL, CARTCAPEST,
1020 CARTTOTVAL, CARTVALFINACTV, CARTCAPITALECTV, CARTCAPITALEDECCTV, CARTRESIDUOCTV,
1021 CARTINTERESSICTV, CARTINTRESCTV, CARTOTHREVCTV, CARTSTRACCRUALCTV, CARTENDACCRUALCTV,
1022 CARTCAPESTCTV,BO_TOKEN,
1023 CARTINTDFLTCTV,CARTCRESDFLT,CARTCAPDFLT,CARTCAPDFLTCTV,CARTTOTVALCTV,CARTOTHDFLT,
1024 CARTINTDFLT,CARTDTDFLT,CARTOTHDFLTCTV,CARTCRESDFLTCTV,CARTTPDFLT)
1025 SELECT /*+ INDEX (LMI_CTRCART LMI_CTRCART1) */
1026 LMI_CTRCART.CDCMPANY CDCMPANY,
1027 LMI_CTRCART.CARTDNE CARTDNE,
1028 LMI_CTRCART.CARTSUBDNE CARTSUBDNE,
1029 LMI_CONTRATTI.CONTRACT CARTCTRCOD,
1030 LMI_CTRCART.CARTCODSUBDEC CARTCODSUB,
1031 LMI_CTRCART.CARTCODSUBDEC CARTCODSUBDEC,
1032 LMI_CTRCART.CARTSTATUS CARTSTATUS,
1033 LMI_CTRCART.CARTDTSTS CARTDTSTS,
1034 COALESCE(LMI_CONTRATTI.CURRTOTAM,0) - COALESCE(LMI_CONTRATTI.DWNPAYCURRAM,0) CARTVALFINA, -- defect 13314
1035 NULL CARTCAPITALE,
1036 LMI_CTRCART.CARTCAPITALEDEC CARTCAPITALEDEC,
1037 LMI_CTRCART.CARTRESIDUO CARTRESIDUO,
1038 LMI_CTRCART.CARTINTERESSI CARTINTERESSI,
1039 LMI_CTRCART.CARTINTRES CARTINTRES,
1040 LMI_CTRCART.CARTNRATE CARTNRATE,
1041 LMI_CTRCART.CARTFIRST CARTFIRST,
1042 LMI_CTRCART.CARTLAST CARTLAST,
1043 LMI_CTRCART.CARTDTLOAD CARTDTLOAD,
1044 LMI_CTRCART.CARTDTOUT CARTDTOUT,
1045 0 CARTFLMANSEL,
1046 0 CARTFLMANESC,
1047 NULL CARTCDESC,
1048 LMI_CTRCART.CARTOTHREV CARTOTHREV,
1049 NULL CARTSTRACCRUAL,
1050 NULL CARTENDACCRUAL,
1051 LMI_CTRCART.CARTCAPEST CARTCAPEST,
1052 LMI_CTRCART.CARTTOTVAL CARTTOTVAL,
1053 COALESCE(LMI_CONTRATTI.CURRTOTAM,0) - COALESCE(LMI_CONTRATTI.DWNPAYCURRAM,0) CARTVALFINACTV,
1054 NULL CARTCAPITALECTV,
1055 LMI_CTRCART.CARTCAPITALEDEC * COALESCE(LMI_CONTRATTI.CURREXRT, 1) CARTCAPITALEDECCTV,
1056 LMI_CTRCART.CARTRESIDUO * COALESCE(LMI_CONTRATTI.CURREXRT, 1) CARTRESIDUOCTV,
1057 LMI_CTRCART.CARTINTERESSI * COALESCE(LMI_CONTRATTI.CURREXRT, 1) CARTINTERESSICTV,
1058 LMI_CTRCART.CARTINTRES * COALESCE(LMI_CONTRATTI.CURREXRT, 1) CARTINTRESCTV,
1059 NULL CARTOTHREVCTV,
1060 NULL CARTSTRACCRUALCTV,
1061 NULL CARTENDACCRUALCTV,
1062 NULL CARTCAPESTCTV,
1063 LsDbConst_Lmi.c_LMI_TOKEN_POST BO_TOKEN,
1064 NULL CARTINTDFLTCTV,
1065 NULL CARTCRESDFLT,
1066 NULL CARTCAPDFLT,
1067 NULL CARTCAPDFLTCTV,
1068 NULL CARTTOTVALCTV,
1069 NULL CARTOTHDFLT,
1070 NULL CARTINTDFLT,
1071 NULL CARTDTDFLT,
1072 NULL CARTOTHDFLTCTV,
1073 NULL CARTCRESDFLTCTV,
1074 NULL CARTTPDFLT
1075 FROM LMI_CTRCART
1076 LEFT OUTER JOIN LMI_CONTRATTI
1077 ON LMI_CTRCART.CDCMPANY = LMI_CONTRATTI.CDCMPANY
1078 AND LMI_CTRCART.CARTCTRCOD = LMI_CONTRATTI.CONTRACT_ID
1079 AND LMI_CONTRATTI.ISLAST = 1
1080 WHERE LMI_CTRCART.to_insert = 1;
1081 COMMIT;
1082 EXCEPTION
1083 WHEN OTHERS THEN
1084 v_errormsg := COALESCE (SQLERRM, '');
1085 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1086 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','INSERTCARTLIQ');
1087 LsLmi.lmi_addloginfo (
1088 '2000',
1089 null,
1090 'INSERT SICTRCART',
1091 NULL,
1092 NULL,
1093 v_errormsg
1094 || ' - '
1095 || v_errorstack,
1096 LsLmi.c_INSERT_ERROR,
1097 c_TYPE_ACCOUNTING
1098 );
1099 RETURN;
1100 END;
1101
1102 BEGIN
1103 FOR X IN (
1104 SELECT
1105 p_CDCMPANY CDCMPANY,
1106 CARTCTRCOD,
1107 CARTDNE,
1108 CARTDTDFLT,
1109 CARTCRESDFLT,
1110 CARTCAPDFLT,
1111 CARTINTDFLT,
1112 CARTOTHDFLT
1113 FROM SICTRCART_F2K
1114 )
1115 LOOP
1116 UPDATE SICTRCART SET
1117 CARTDTDFLT = X.CARTDTDFLT,
1118 CARTCRESDFLT = X.CARTCRESDFLT,
1119 CARTCAPDFLT = X.CARTCAPDFLT,
1120 CARTINTDFLT = X.CARTINTDFLT,
1121 CARTOTHDFLT = X.CARTOTHDFLT
1122 WHERE CDCMPANY = X.CDCMPANY
1123 AND CARTCTRCOD = X.CARTCTRCOD
1124 AND CARTDNE = X.CARTDNE;
1125 END LOOP;
1126 COMMIT;
1127
1128 EXCEPTION
1129 WHEN OTHERS THEN
1130 v_errormsg := COALESCE (SQLERRM, '');
1131 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1132 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','INSERTCARTLIQ');
1133 LsLmi.lmi_addloginfo (
1134 '2000',
1135 null,
1136 'UPDATE SICTRCART',
1137 NULL,
1138 NULL,
1139 v_errormsg
1140 || ' - '
1141 || v_errorstack,
1142 LsLmi.c_INSERT_ERROR,
1143 c_TYPE_ACCOUNTING
1144 );
1145 RETURN;
1146 END;
1147
1148 begin
1149 dbms_stats.gather_table_stats(
1150 ownname=> v_targetschema, -- NOME SCHEMA
1151 tabname=> 'SICTRCART' , -- NOME TABELLA
1152 estimate_percent=> 10,
1153 cascade=> TRUE,
1154 degree=> 8,
1155 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
1156 granularity=> 'ALL',
1157 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
1158 exception
1159 when others then
1160 v_errormsg := COALESCE (SQLERRM, '');
1161 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1162 LsLmi.lmi_addloginfo (
1163 '2000',
1164 null,
1165 'STATISTICHE SICTRCART',
1166 NULL,
1167 NULL,
1168 v_errormsg
1169 || ' - '
1170 || v_errorstack,
1171 LsLmi.c_INSERT_ERROR,
1172 LsLmi.c_GENERIC_ERROR
1173 );
1174 end;
1175
1176 BEGIN
1177
1178 INSERT INTO SICARTLIQTOT (
1179 CDCMPANY, TLIQNUMELAB, TLIQCDDNE,
1180 TLIQCURRENCY, TLIQAMOUNT, TLIQDTLIQ,
1181 TLIQDTRIF)
1182 SELECT
1183 p_CDCMPANY CDCMPANY, TLIQNUMELAB, TLIQCDDNE,
1184 TLIQCURRENCY, TLIQAMOUNT, TLIQDTLIQ,
1185 TLIQDTRIF
1186 FROM SICARTLIQTOT_F2K;
1187 COMMIT;
1188
1189 EXCEPTION
1190 WHEN OTHERS THEN
1191 v_errormsg := COALESCE (SQLERRM, '');
1192 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1193 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','INSERTCARTLIQ');
1194 LsLmi.lmi_addloginfo (
1195 '2000',
1196 null,
1197 'UPDATE SICARTLIQTOT',
1198 NULL,
1199 NULL,
1200 v_errormsg
1201 || ' - '
1202 || v_errorstack,
1203 LsLmi.c_INSERT_ERROR,
1204 c_TYPE_ACCOUNTING
1205 );
1206 RETURN;
1207 END;
1208
1209 begin
1210 dbms_stats.gather_table_stats(
1211 ownname=> v_targetschema, -- NOME SCHEMA
1212 tabname=> 'SICARTLIQTOT' , -- NOME TABELLA
1213 estimate_percent=> 10,
1214 cascade=> TRUE,
1215 degree=> 8,
1216 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
1217 granularity=> 'ALL',
1218 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
1219 exception
1220 when others then
1221 v_errormsg := COALESCE (SQLERRM, '');
1222 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1223 LsLmi.lmi_addloginfo (
1224 '2000',
1225 null,
1226 'STATISTICHE SICARTLIQTOT',
1227 NULL,
1228 NULL,
1229 v_errormsg
1230 || ' - '
1231 || v_errorstack,
1232 LsLmi.c_INSERT_ERROR,
1233 LsLmi.c_GENERIC_ERROR
1234 );
1235 end;
1236 -- TICKET 92967 - FINE SECONDA PARTE
1237
1238
1239END;
1240$END
1241
1242PROCEDURE lmi_fill_moviment_conv(
1243 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
1244 p_fusione NUMBER DEFAULT 0
1245)
1246AS
1247
1248 PRAGMA AUTONOMOUS_TRANSACTION;
1249
1250 v_default_moveserc lmi_domain.destdefvalue%TYPE;
1251 v_default_movcddne lmi_domain.destdefvalue%TYPE;
1252 v_default_cduser lmi_domain.destdefvalue%TYPE;
1253 v_default_movcdpag lmi_domain.destdefvalue%TYPE;
1254 v_default_movcdrgiva lmi_domain.destdefvalue%TYPE;
1255 v_default_movdivisa lmi_domain.destdefvalue%TYPE;
1256 v_default_movesectype lmi_domain.destdefvalue%TYPE;
1257 v_default_moveseccode lmi_domain.destdefvalue%TYPE;
1258 v_default_movcdcaus lmi_domain.destdefvalue%TYPE;
1259 v_shema varchar2 (30 char);
1260 v_lastnrmov number(9);
1261BEGIN
1262 LsGeneric.CheckParam(p_CDCMPANY, 'CDCMPANY');
1263
1264 EXECUTE IMMEDIATE 'ALTER TABLE TEMP_LMI_MOVIMENT_CONV NOLOGGING';
1265 EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_LMI_MOVIMENT_CONV';
1266 select sys_context('userenv','session_user') into v_shema from dual;
1267 -- Caricamento valori di default:
1268 v_default_moveserc := LsLmi.lmi_GetDefValueFromLmiDomain('TABESERC' ) ;
1269 v_default_movcddne := LsLmi.lmi_GetDefValueFromLmiDomain('TABDNE' ) ;
1270 v_default_cduser := COALESCE(LsLmi.lmi_GetDefValueFromLmiDomain('TABOPER' ), 'BATCHER');
1271 v_default_movcdpag := LsLmi.lmi_GetDefValueFromLmiDomain('TCPAYMMTD' ) ;
1272 v_default_movcdrgiva := LsLmi.lmi_GetDefValueFromLmiDomain('TABRGIVA' ) ;
1273 v_default_movdivisa := LsLmi.lmi_GetDefValueFromLmiDomain('TCCURRENCY' ) ;
1274 v_default_movesectype := LsLmi.lmi_GetDefValueFromLmiDomain('INTTIPESECTYPE') ;
1275 v_default_moveseccode := LsLmi.lmi_GetDefValueFromLmiDomain('INTTIPESECSOGG') ;
1276 v_default_movcdcaus := LsLmi.lmi_GetDefValueFromLmiDomain('TABCAUS' ) ;
1277
1278 IF p_fusione = 0 THEN
1279
1280 INSERT /*+ APPEND */ INTO temp_lmi_moviment_conv (
1281 cdcmpany -- UK
1282 , moveserc -- UK, viene convertito, usato solo come chiave
1283 , movnrmov -- UK
1284 , id_code
1285 , movdtreg
1286 , dtuser
1287 , moveserc_conv -- versione convertita di moveserc
1288 , movcddne
1289 , cduser
1290 , movcdpag
1291 , movdivisa
1292 , movcdcaus
1293 , movesectype
1294 , moveseccode
1295 , movcdrgiva
1296 , movnewnrmov
1297 )
1298 SELECT lmi_moviment.cdcmpany cdcmpany
1299 , lmi_moviment.moveserc moveserc -- viene convertito, usato solo come chiave
1300 , lmi_moviment.movnrmov movnrmov
1301 , lmi_moviment.id_code id_code
1302 , lmi_moviment.movdtreg movdtreg
1303 , lmi_moviment.dtuser dtuser
1304 , COALESCE(cvmoveserc .destvalue, lmi_moviment.moveserc , v_default_moveserc ) moveserc_conv -- versione convertita di moveserc
1305 , COALESCE(cvmovcddne .destvalue, lmi_moviment.movcddne , v_default_movcddne ) movcddne
1306 , COALESCE(cvcduser .destvalue, lmi_moviment.cduser , v_default_cduser ) cduser
1307 , COALESCE(cvmovcdpag .destvalue, lmi_moviment.movcdpag , v_default_movcdpag ) movcdpag
1308 , COALESCE(cvmovdivisa .destvalue, lmi_moviment.movdivisa , v_default_movdivisa ) movdivisa
1309 , COALESCE(cvmovcdcaus .destvalue, lmi_moviment.movcdcaus , v_default_movcdcaus ) movcdcaus
1310 , COALESCE(cvmovesectype.destvalue, lmi_moviment.movesectype, v_default_movesectype) movesectype
1311 , COALESCE(cvmoveseccode.destvalue, lmi_moviment.moveseccode, v_default_moveseccode) moveseccode
1312 , COALESCE(cvmovcdrgiva .destvalue, lmi_moviment.movcdrgiva , v_default_movcdrgiva ) movcdrgiva
1313 , COALESCE(LMI_MOVIMENT.MOVNEWNRMOV, row_number() over (partition by moveserc order by moveserc)) movnewnrmov
1314 FROM lmi_moviment
1315 LEFT OUTER JOIN lmi_convert cvmoveserc ON cvmoveserc .mpddomain = 'TABESERC' AND cvmoveserc .srcvalue = lmi_moviment.moveserc
1316 LEFT OUTER JOIN lmi_convert cvmovcddne ON cvmovcddne .mpddomain = 'TABDNE' AND cvmovcddne .srcvalue = lmi_moviment.movcddne
1317 LEFT OUTER JOIN lmi_convert cvcduser ON cvcduser .mpddomain = 'TABOPER' AND cvcduser .srcvalue = lmi_moviment.cduser
1318 LEFT OUTER JOIN lmi_convert cvmovcdpag ON cvmovcdpag .mpddomain = 'TCPAYMMTD' AND cvmovcdpag .srcvalue = lmi_moviment.movcdpag
1319 LEFT OUTER JOIN lmi_convert cvmovcdrgiva ON cvmovcdrgiva .mpddomain = 'TABRGIVA' AND cvmovcdrgiva .srcvalue = lmi_moviment.movcdrgiva
1320 LEFT OUTER JOIN lmi_convert cvmovdivisa ON cvmovdivisa .mpddomain = 'TCCURRENCY' AND cvmovdivisa .srcvalue = lmi_moviment.movdivisa
1321 LEFT OUTER JOIN lmi_convert cvmovesectype ON cvmovesectype.mpddomain = 'INTTIPESECTYPE' AND cvmovesectype.srcvalue = lmi_moviment.movesectype
1322 LEFT OUTER JOIN lmi_convert cvmoveseccode ON cvmoveseccode.mpddomain = 'INTTIPESECSOGG' AND cvmoveseccode.srcvalue = lmi_moviment.moveseccode
1323 LEFT OUTER JOIN lmi_convert cvmovcdcaus ON cvmovcdcaus .mpddomain = 'TABCAUS' AND cvmovcdcaus .srcvalue = lmi_moviment.movcdcaus
1324 WHERE LMI_MOVIMENT.CDCMPANY = p_CDCMPANY
1325 ;
1326
1327 COMMIT;
1328 begin
1329 dbms_stats.gather_table_stats(
1330 ownname=> v_shema, -- NOME SCHEMA
1331 tabname=> 'TEMP_LMI_MOVIMENT_CONV' , -- NOME TABELLA
1332 estimate_percent=> 10,
1333 cascade=> TRUE,
1334 degree=> 8,
1335 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
1336 granularity=> 'ALL',
1337 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
1338 end;
1339
1340 END IF;
1341
1342 IF p_fusione = 1 THEN
1343
1344 begin
1345 select nrmov
1346 into v_lastnrmov
1347 from
1348 tabeserc
1349 where cdcmpany = p_CDCMPANY and eser = to_char(lstime.getyear(trunc(sysdate)));
1350
1351 exception
1352 when others then v_lastnrmov := 0;
1353 end;
1354
1355
1356 INSERT /*+ APPEND */ INTO temp_lmi_moviment_conv (
1357 cdcmpany -- UK
1358 , moveserc -- UK, viene convertito, usato solo come chiave
1359 , movnrmov -- UK
1360 , id_code
1361 , movdtreg
1362 , dtuser
1363 , moveserc_conv -- versione convertita di moveserc
1364 , movcddne
1365 , cduser
1366 , movcdpag
1367 , movdivisa
1368 , movcdcaus
1369 , movesectype
1370 , moveseccode
1371 , movcdrgiva
1372 , movnewnrmov
1373 )
1374 SELECT lmi_moviment.cdcmpany cdcmpany
1375 , lmi_moviment.moveserc moveserc -- viene convertito, usato solo come chiave
1376 , lmi_moviment.movnrmov movnrmov
1377 , lmi_moviment.id_code id_code
1378 , lmi_moviment.movdtreg movdtreg
1379 , lmi_moviment.dtuser dtuser
1380 , to_char(lstime.getyear(trunc(sysdate))) moveserc_conv -- versione convertita di moveserc
1381 , COALESCE(cvmovcddne .destvalue, lmi_moviment.movcddne , v_default_movcddne ) movcddne
1382 , COALESCE(cvcduser .destvalue, lmi_moviment.cduser , v_default_cduser ) cduser
1383 , COALESCE(cvmovcdpag .destvalue, lmi_moviment.movcdpag , v_default_movcdpag ) movcdpag
1384 , COALESCE(cvmovdivisa .destvalue, lmi_moviment.movdivisa , v_default_movdivisa ) movdivisa
1385 , COALESCE(cvmovcdcaus .destvalue, lmi_moviment.movcdcaus , v_default_movcdcaus ) movcdcaus
1386 , COALESCE(cvmovesectype.destvalue, lmi_moviment.movesectype, v_default_movesectype) movesectype
1387 , COALESCE(cvmoveseccode.destvalue, lmi_moviment.moveseccode, v_default_moveseccode) moveseccode
1388 , COALESCE(cvmovcdrgiva .destvalue, lmi_moviment.movcdrgiva , v_default_movcdrgiva ) movcdrgiva
1389 , COALESCE(LMI_MOVIMENT.MOVNEWNRMOV, row_number() over (partition by cdcmpany order by moveserc, movnrmov)+v_lastnrmov) movnewnrmov
1390 FROM lmi_moviment
1391 LEFT OUTER JOIN lmi_convert cvmoveserc ON cvmoveserc .mpddomain = 'TABESERC' AND cvmoveserc .srcvalue = lmi_moviment.moveserc
1392 LEFT OUTER JOIN lmi_convert cvmovcddne ON cvmovcddne .mpddomain = 'TABDNE' AND cvmovcddne .srcvalue = lmi_moviment.movcddne
1393 LEFT OUTER JOIN lmi_convert cvcduser ON cvcduser .mpddomain = 'TABOPER' AND cvcduser .srcvalue = lmi_moviment.cduser
1394 LEFT OUTER JOIN lmi_convert cvmovcdpag ON cvmovcdpag .mpddomain = 'TCPAYMMTD' AND cvmovcdpag .srcvalue = lmi_moviment.movcdpag
1395 LEFT OUTER JOIN lmi_convert cvmovcdrgiva ON cvmovcdrgiva .mpddomain = 'TABRGIVA' AND cvmovcdrgiva .srcvalue = lmi_moviment.movcdrgiva
1396 LEFT OUTER JOIN lmi_convert cvmovdivisa ON cvmovdivisa .mpddomain = 'TCCURRENCY' AND cvmovdivisa .srcvalue = lmi_moviment.movdivisa
1397 LEFT OUTER JOIN lmi_convert cvmovesectype ON cvmovesectype.mpddomain = 'INTTIPESECTYPE' AND cvmovesectype.srcvalue = lmi_moviment.movesectype
1398 LEFT OUTER JOIN lmi_convert cvmoveseccode ON cvmoveseccode.mpddomain = 'INTTIPESECSOGG' AND cvmoveseccode.srcvalue = lmi_moviment.moveseccode
1399 LEFT OUTER JOIN lmi_convert cvmovcdcaus ON cvmovcdcaus .mpddomain = 'TABCAUS' AND cvmovcdcaus .srcvalue = lmi_moviment.movcdcaus
1400 WHERE LMI_MOVIMENT.CDCMPANY = p_CDCMPANY
1401 ;
1402
1403 COMMIT;
1404 begin
1405 dbms_stats.gather_table_stats(
1406 ownname=> v_shema, -- NOME SCHEMA
1407 tabname=> 'TEMP_LMI_MOVIMENT_CONV' , -- NOME TABELLA
1408 estimate_percent=> 10,
1409 cascade=> TRUE,
1410 degree=> 8,
1411 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
1412 granularity=> 'ALL',
1413 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
1414 end;
1415
1416 END IF;
1417
1418EXCEPTION
1419 WHEN OTHERS THEN
1420 ROLLBACK;
1421 LsGlobal.LsErrorTrace(SQLERRM);
1422
1423END lmi_fill_moviment_conv;
1424PROCEDURE lmi_fill_righe_conv(
1425 p_CodCompany TCCOMPANY.CDCMPANY%TYPE
1426)
1427AS
1428
1429 PRAGMA AUTONOMOUS_TRANSACTION;
1430
1431 v_default_rigeserc lmi_domain.destdefvalue%TYPE;
1432 v_default_rigcddne lmi_domain.destdefvalue%TYPE;
1433 v_default_rigcdconto lmi_domain.destdefvalue%TYPE;
1434 v_default_rigsegno lmi_domain.destdefvalue%TYPE;
1435 v_default_rigcddiv lmi_domain.destdefvalue%TYPE;
1436 v_default_rigcdiva lmi_domain.destdefvalue%TYPE;
1437 v_default_rigcentro lmi_domain.destdefvalue%TYPE;
1438 v_Default_RIGTPCFL LMI_DOMAIN.DESTDEFVALUE%TYPE;
1439 v_shema varchar2 (30 char);
1440BEGIN
1441 EXECUTE IMMEDIATE 'ALTER TABLE TEMP_LMI_RIGHE_CONV NOLOGGING';
1442 EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_LMI_RIGHE_CONV';
1443 select sys_context('userenv','session_user') into v_shema from dual;
1444 -- Caricamento valori di default:
1445 v_default_rigeserc := LsLmi.lmi_GetDefValueFromLmiDomain('TABESERC' );
1446 v_default_rigcddne := LsLmi.lmi_GetDefValueFromLmiDomain('TABDNE' );
1447 v_default_rigcdconto := LsLmi.lmi_GetDefValueFromLmiDomain('TABCONTI' );
1448 v_default_rigsegno := LsLmi.lmi_GetDefValueFromLmiDomain('INTCREDITDEBIT');
1449 v_default_rigcddiv := LsLmi.lmi_GetDefValueFromLmiDomain('TCCURRENCY' );
1450 v_default_rigcdiva := LsLmi.lmi_GetDefValueFromLmiDomain('TCVATAX' );
1451 v_default_rigcentro := LsLmi.lmi_GetDefValueFromLmiDomain('TABCENTRI' );
1452 v_Default_RIGTPCFL := LsLmi.lmi_GetDefValueFromLmiDomain('INTTPFLUSSI');
1453
1454 INSERT /*+ APPEND */ INTO temp_lmi_righe_conv (
1455 rignrmov -- UK
1456 , rignrriga -- UK
1457 , rigeserc -- UK
1458 , cdcmpany -- UK
1459 , rigeserc_conv
1460 , rigcddne
1461 , rigcdconto
1462 , rigsegno
1463 , rigcddiv
1464 , rigcdiva
1465 , rigcentro
1466 , RIGTPCFL
1467 )
1468 SELECT lmi_righe.rignrmov rignrmov
1469 , lmi_righe.rignrriga rignrriga
1470 , lmi_righe.rigeserc rigeserc -- viene convertito, usato solo come chiave
1471 , lmi_righe.cdcmpany cdcmpany
1472 , COALESCE(cvrigeserc .destvalue, lmi_righe.rigeserc , v_default_rigeserc ) rigeserc_conv -- versione convertita di moveserc
1473 , COALESCE(cvrigcddne .destvalue, lmi_righe.rigcddne , v_default_rigcddne ) rigcddne
1474 , COALESCE(cvrigcdconto.destvalue, lmi_righe.rigcdconto, v_default_rigcdconto) rigcdconto
1475 , COALESCE(cvrigsegno .destvalue, lmi_righe.rigsegno , v_default_rigsegno ) rigsegno
1476 , COALESCE(cvrigcddiv .destvalue, lmi_righe.rigcddiv , v_default_rigcddiv ) rigcddiv
1477 , COALESCE(cvrigcdiva .destvalue, lmi_righe.rigcdiva , v_default_rigcdiva ) rigcdiva
1478 , COALESCE(cvrigcentro .destvalue, lmi_righe.rigcentro , v_default_rigcentro ) rigcentro
1479 , COALESCE(CVRIGTPCFL.DESTVALUE, LMI_RIGHE.RIGTPCFL , v_Default_RIGTPCFL ) RIGTPCFL
1480 FROM lmi_righe
1481 LEFT OUTER JOIN lmi_convert cvrigeserc ON cvrigeserc .mpddomain = 'TABESERC' AND cvrigeserc .srcvalue = lmi_righe.rigeserc
1482 LEFT OUTER JOIN lmi_convert cvrigcddne ON cvrigcddne .mpddomain = 'TABDNE' AND cvrigcddne .srcvalue = lmi_righe.rigcddne
1483 LEFT OUTER JOIN lmi_convert cvrigcdconto ON cvrigcdconto.mpddomain = 'TABCONTI' AND cvrigcdconto.srcvalue = lmi_righe.rigcdconto
1484 LEFT OUTER JOIN lmi_convert cvrigsegno ON cvrigsegno .mpddomain = 'INTCREDITDEBIT' AND cvrigsegno .srcvalue = lmi_righe.rigsegno
1485 LEFT OUTER JOIN lmi_convert cvrigcddiv ON cvrigcddiv .mpddomain = 'TCCURRENCY' AND cvrigcddiv .srcvalue = lmi_righe.rigcddiv
1486 LEFT OUTER JOIN lmi_convert cvrigcdiva ON cvrigcdiva .mpddomain = 'TCVATAX' AND cvrigcdiva .srcvalue = lmi_righe.rigcdiva
1487 LEFT OUTER JOIN lmi_convert cvrigcentro ON cvrigcentro .mpddomain = 'TABCENTRI' AND cvrigcentro .srcvalue = lmi_righe.rigcentro
1488 LEFT OUTER JOIN LMI_CONVERT CVRIGTPCFL ON CVRIGTPCFL.MPDDOMAIN = 'INTTPFLUSSI' AND CVRIGTPCFL.SRCVALUE = LMI_RIGHE.RIGTPCFL
1489 WHERE LMI_RIGHE.CDCMPANY = p_CodCompany
1490 ;
1491
1492 COMMIT;
1493 begin
1494 dbms_stats.gather_table_stats(
1495 ownname=> v_shema, -- NOME SCHEMA
1496 tabname=> 'TEMP_LMI_RIGHE_CONV' , -- NOME TABELLA
1497 estimate_percent=> 10,
1498 cascade=> TRUE,
1499 degree=> 8,
1500 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
1501 granularity=> 'ALL',
1502 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
1503 end;
1504EXCEPTION
1505 WHEN OTHERS THEN
1506 ROLLBACK;
1507 LsGlobal.LsErrorTrace(SQLERRM);
1508
1509END lmi_fill_righe_conv;
1510
1511PROCEDURE lmi_fill_cartliq_conv(
1512 p_CodCompany TCCOMPANY.CDCMPANY%TYPE
1513)
1514AS
1515
1516 PRAGMA AUTONOMOUS_TRANSACTION;
1517
1518 v_default_liqcddne lmi_domain.destdefvalue%TYPE;
1519 v_default_liqcdconto lmi_domain.destdefvalue%TYPE;
1520 v_default_liqeserc lmi_domain.destdefvalue%TYPE;
1521 v_default_liqtpcash lmi_domain.destdefvalue%TYPE;
1522 v_default_liqcdcaus lmi_domain.destdefvalue%TYPE;
1523 v_default_liqcurrency lmi_domain.destdefvalue%TYPE;
1524 v_default_liqcdctr lmi_domain.destdefvalue%TYPE;
1525 v_shema varchar2 (30 char);
1526BEGIN
1527 EXECUTE IMMEDIATE 'ALTER TABLE TEMP_LMI_CARTLIQ_CONV NOLOGGING';
1528 EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_LMI_CARTLIQ_CONV';
1529 select sys_context('userenv','session_user') into v_shema from dual;
1530 -- Caricamento valori di default:
1531 v_default_liqcddne := LsLmi.lmi_GetDefValueFromLmiDomain('TABDNE' );
1532 v_default_liqcdconto := LsLmi.lmi_GetDefValueFromLmiDomain('TABCONTI' );
1533 v_default_liqeserc := LsLmi.lmi_GetDefValueFromLmiDomain('TABESERC' );
1534 v_default_liqtpcash := LsLmi.lmi_GetDefValueFromLmiDomain('INTTPCASH' );
1535 v_default_liqcdcaus := LsLmi.lmi_GetDefValueFromLmiDomain('TABCAUS' );
1536 v_default_liqcurrency := LsLmi.lmi_GetDefValueFromLmiDomain('TCCURRENCY');
1537 v_default_liqcdctr := LsLmi.lmi_GetDefValueFromLmiDomain('SICTRHEAD' );
1538
1539 INSERT INTO temp_lmi_cartliq_conv (
1540 liqcddne -- UK
1541 , liqcdconto -- UK
1542 , liqeserc -- UK
1543 , liqnrmov -- UK
1544 , liqnrrig -- UK
1545 , liqtpcash -- UK
1546 , cdcmpany -- UK
1547 , liqcddne_conv
1548 , liqcdconto_conv
1549 , liqeserc_conv
1550 , liqtpcash_conv
1551 , liqcdcaus
1552 , liqcurrency
1553 , liqcdctr
1554 )
1555 SELECT lmi_cartliq.liqcddne liqcddne -- viene convertito, usato solo come chiave
1556 , lmi_cartliq.liqcdconto liqcdconto -- viene convertito, usato solo come chiave
1557 , lmi_cartliq.liqeserc liqeserc -- viene convertito, usato solo come chiave
1558 , lmi_cartliq.liqnrmov liqnrmov
1559 , lmi_cartliq.liqnrrig liqnrrig
1560 , lmi_cartliq.liqtpcash liqtpcash -- viene convertito, usato solo come chiave
1561 , lmi_cartliq.cdcmpany cdcmpany
1562 , COALESCE(cvliqcddne .destvalue, lmi_cartliq.liqcddne , v_default_liqcddne ) liqcddne_conv -- versione convertita
1563 , COALESCE(cvliqcdconto .destvalue, lmi_cartliq.liqcdconto , v_default_liqcdconto ) liqcdconto_conv -- versione convertita
1564 , COALESCE(cvliqeserc .destvalue, lmi_cartliq.liqeserc , v_default_liqeserc ) liqeserc_conv -- versione convertita
1565 , COALESCE(cvliqtpcash .destvalue, lmi_cartliq.liqtpcash , v_default_liqtpcash ) liqtpcash_conv -- versione convertita
1566 , COALESCE(cvliqcdcaus .destvalue, lmi_cartliq.liqcdcaus , v_default_liqcdcaus ) liqcdcaus
1567 , COALESCE(cvliqcurrency.destvalue, lmi_cartliq.liqcurrency, v_default_liqcurrency) liqcurrency
1568 , COALESCE(cvliqcdctr .destvalue, lmi_cartliq.liqcdctr , v_default_liqcdctr ) liqcdctr
1569 FROM lmi_cartliq
1570 LEFT OUTER JOIN lmi_convert cvliqcddne ON cvliqcddne .mpddomain = 'TABDNE' AND cvliqcddne .srcvalue = lmi_cartliq.liqcddne
1571 LEFT OUTER JOIN lmi_convert cvliqcdconto ON cvliqcdconto .mpddomain = 'TABCONTI' AND cvliqcdconto .srcvalue = lmi_cartliq.liqcdconto
1572 LEFT OUTER JOIN lmi_convert cvliqeserc ON cvliqeserc .mpddomain = 'TABESERC' AND cvliqeserc .srcvalue = lmi_cartliq.liqeserc
1573 LEFT OUTER JOIN lmi_convert cvliqtpcash ON cvliqtpcash .mpddomain = 'INTTPCASH' AND cvliqtpcash .srcvalue = lmi_cartliq.liqtpcash
1574 LEFT OUTER JOIN lmi_convert cvliqcdcaus ON cvliqcdcaus .mpddomain = 'TABCAUS' AND cvliqcdcaus .srcvalue = lmi_cartliq.liqcdcaus
1575 LEFT OUTER JOIN lmi_convert cvliqcurrency ON cvliqcurrency.mpddomain = 'TCCURRENCY' AND cvliqcurrency.srcvalue = lmi_cartliq.liqcurrency
1576 LEFT OUTER JOIN lmi_convert cvliqcdctr ON cvliqcdctr .mpddomain = 'SICTRHEAD' AND cvliqcdctr .srcvalue = lmi_cartliq.liqcdctr
1577 WHERE lmi_cartliq.CDCMPANY = p_CodCompany
1578 ;
1579
1580 COMMIT;
1581 begin
1582 dbms_stats.gather_table_stats(
1583 ownname=> v_shema, -- NOME SCHEMA
1584 tabname=> 'TEMP_LMI_CARTLIQ_CONV' , -- NOME TABELLA
1585 estimate_percent=> 10,
1586 cascade=> TRUE,
1587 degree=> 8,
1588 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
1589 granularity=> 'ALL',
1590 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
1591 end;
1592EXCEPTION
1593 WHEN OTHERS THEN
1594 ROLLBACK;
1595 LsGlobal.LsErrorTrace(SQLERRM);
1596
1597END lmi_fill_cartliq_conv;
1598
1599PROCEDURE lmi_fillController_accounting(
1600 p_fusione NUMBER DEFAULT 0,
1601 p_SourceName LMI_ANAEXCODE.CDSOURCE%TYPE := NULL,
1602 p_CodCompany TCCOMPANY.CDCMPANY%TYPE
1603)
1604AS
1605
1606 PRAGMA AUTONOMOUS_TRANSACTION;
1607 v_ID_CODE LMI_CONTROLLER.ID_CODE%TYPE;
1608 v_CDCMPANY TEMP_LMI_MOVIMENT_CONV.CDCMPANY%TYPE;
1609 v_MAXNRMOV TEMP_LMI_MOVIMENT_CONV.MOVNEWNRMOV%TYPE;
1610 v_MOVESERC TEMP_LMI_MOVIMENT_CONV.MOVESERC%TYPE;
1611 v_Result NUMBER;
1612 v_sqltext VARCHAR2(32767 CHAR);
1613 v_lmi_moviment_cursor SYS_REFCURSOR;
1614 v_lmi_ID_CODE_cursor SYS_REFCURSOR;
1615 v_Count NUMBER(9);
1616
1617
1618
1619BEGIN
1620
1621 lsLmi.ResetProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_FILLCONTROLLER_ACCOUNTING');
1622 lsLmi.StartProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_FILLCONTROLLER_ACCOUNTING');
1623 BEGIN
1624 SELECT COUNT(MOVESERC) INTO v_Count
1625 FROM LMI_MOVIMENT
1626 WHERE LMI_MOVIMENT.CDCMPANY = p_CodCompany AND ID_CODE IS NULL;
1627 EXCEPTION
1628 WHEN OTHERS THEN NULL;
1629 END;
1630
1631 BEGIN
1632 DELETE LMI_CONTEGGI WHERE TIPO= lsLmi.c_LSLMI_ACCOUNTING;
1633 INSERT INTO LMI_CONTEGGI (TIPO,TOTALE) VALUES (LsLmi.c_LSLMI_ACCOUNTING,v_Count);
1634 COMMIT;
1635 EXCEPTION
1636 WHEN OTHERS THEN NULL;
1637 END;
1638 --------------------------------------
1639 -- Caricamento dati per la decodifica:
1640 --------------------------------------
1641 LsLmi_Accounting.lmi_fill_moviment_conv(p_CodCompany, p_fusione);
1642 LsLmi_Accounting.lmi_fill_righe_conv(p_CodCompany);
1643 LsLmi_Accounting.lmi_fill_cartliq_conv(p_CodCompany);
1644 LsLmi_Accounting.lmi_fill_cambiali_conv(p_CodCompany);
1645 UPDATE TABESERC SET NRMOV = NULL
1646 WHERE TABESERC.CDCMPANY = p_CodCompany;
1647
1648 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_CONTROLLER_ESERC';
1649 COMMIT;
1650
1651
1652 OPEN v_lmi_ID_CODE_cursor FOR --CURSORE CHE VA A CICLARE PER OGNI ESERCIZIO
1653 SELECT DISTINCT
1654 TEMP_LMI_MOVIMENT_CONV.CDCMPANY,
1655 TEMP_LMI_MOVIMENT_CONV.MOVESERC,
1656 MAX(TEMP_LMI_MOVIMENT_CONV.MOVNEWNRMOV) MAXNRMOV
1657 FROM TEMP_LMI_MOVIMENT_CONV
1658 LEFT JOIN LMI_CONTROLLER_ESERC ON
1659 TEMP_LMI_MOVIMENT_CONV.CDCMPANY = LMI_CONTROLLER_ESERC.CDCMPANY AND
1660 TEMP_LMI_MOVIMENT_CONV.MOVESERC = LMI_CONTROLLER_ESERC.MOVESERC
1661 WHERE
1662 TEMP_LMI_MOVIMENT_CONV.CDCMPANY = p_CodCompany AND
1663 LMI_CONTROLLER_ESERC.CDCMPANY IS NULL
1664 GROUP BY
1665 TEMP_LMI_MOVIMENT_CONV.CDCMPANY,
1666 TEMP_LMI_MOVIMENT_CONV.MOVESERC
1667 ORDER BY TEMP_LMI_MOVIMENT_CONV.CDCMPANY,
1668 TEMP_LMI_MOVIMENT_CONV.MOVESERC;
1669
1670 LOOP
1671 FETCH v_lmi_ID_CODE_cursor INTO v_CDCMPANY, v_MOVESERC, v_MAXNRMOV;
1672 EXIT WHEN v_lmi_ID_CODE_cursor%NOTFOUND;
1673
1674 v_Id_Code := LsLmi.lmi_insertcontroller(c_TYPE_ACCOUNTING,LsLmi.c_RECORD_DA_TRASFERIRE);
1675 BEGIN
1676 INSERT INTO LMI_CONTROLLER_ESERC(CDCMPANY,MOVESERC,ID_CODE) VALUES (v_CDCMPANY, v_MOVESERC, v_id_code);
1677
1678 UPDATE TABESERC --AGGIORNO LA TABESERC
1679 SET NRMOV = v_MAXNRMOV
1680 WHERE TABESERC.CDCMPANY = v_CDCMPANY
1681 AND TABESERC.ESER = v_MOVESERC;
1682
1683 COMMIT;
1684 EXCEPTION
1685 WHEN OTHERS THEN
1686 ROLLBACK;
1687 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_FILLCONTROLLER_ACCOUNTING',NULL);
1688 LsGlobal.LsErrorTrace(SQLERRM);
1689 END;
1690 END LOOP;
1691
1692 CLOSE v_lmi_ID_CODE_cursor;
1693 lsLmi.StopProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_FILLCONTROLLER_ACCOUNTING');
1694END;
1695
1696$IF LsCC_Control_Target.BO_CORE_IT $THEN
1697PROCEDURE InsertEnasarco(
1698 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
1699 p_nostro_riferimento NUMBER
1700)
1701AS
1702 v_errormsg CLOB;
1703 v_errorstack CLOB;
1704BEGIN
1705
1706 BEGIN
1707 INSERT INTO SIENASARCO(CDCMPANY,ENACDPROGR,ENADTCOMP,ENACODANA,ENANUMENA,ENAPRINTED,ENANUMGD,ENACODCTR,
1708 ENATPFIRM,ENAIMPONIB,ENAPERCTOT,ENAPERCAGE,ENAPERCPREP,ENAIMPTOT,ENAIMPAGE,ENAIMPPREP,
1709 ENAESERC,ENANRMOV,EXTRACTID,BO_TOKEN)
1710 SELECT DISTINCT LMI_ENASARCO.CDCMPANY CDCMPANY,
1711 LMI_ENASARCO.ENACDPROGR ENACDPROGR,
1712 LMI_ENASARCO.ENADTCOMP ENADTCOMP,
1713 LMI_ANAGR.ANACODANA ENACODANA,
1714 LMI_ENASARCO.ENANUMENA ENANUMENA,
1715 LMI_ENASARCO.ENAPRINTED ENAPRINTED,
1716 LMI_ENASARCO.ENANUMGD ENANUMGD,
1717 LMI_CONTRATTI.CONTRACT ENACODCTR,
1718 COALESCE(CVENATPFIRM.DESTVALUE,LMI_ENASARCO.ENATPFIRM) ENATPFIRM,
1719 LMI_ENASARCO.ENAIMPONIB ENAIMPONIB,
1720 LMI_ENASARCO.ENAPERCTOT ENAPERCTOT,
1721 LMI_ENASARCO.ENAPERCAGE ENAPERCAGE,
1722 LMI_ENASARCO.ENAPERCPREP ENAPERCPREP,
1723 LMI_ENASARCO.ENAIMPTOT ENAIMPTOT,
1724 LMI_ENASARCO.ENAIMPAGE ENAIMPAGE,
1725 LMI_ENASARCO.ENAIMPPREP ENAIMPPREP,
1726 LMI_ENASARCO.ENAESERC ENAESERC,
1727 TEMP_LMI_MOVIMENT_CONV.MOVNEWNRMOV ENANRMOV,
1728 LMI_ENASARCO.EXTRACTID EXTRACTID,
1729 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN
1730 FROM LMI_ENASARCO
1731 LEFT OUTER JOIN LMI_ANAGR ON
1732 LMI_ENASARCO.ENACODANA = LMI_ANAGR.ANACODDEF
1733 LEFT OUTER JOIN LMI_CONTRATTI ON
1734 LMI_CONTRATTI.CDCMPANY = LMI_ENASARCO.CDCMPANY AND
1735 LMI_CONTRATTI.CONTRACT_ID = LMI_ENASARCO.ENACODCTR
1736 LEFT OUTER JOIN TEMP_LMI_MOVIMENT_CONV ON
1737 TEMP_LMI_MOVIMENT_CONV.CDCMPANY = LMI_ENASARCO.CDCMPANY AND
1738 TEMP_LMI_MOVIMENT_CONV.MOVESERC = LMI_ENASARCO.ENAESERC AND
1739 TEMP_LMI_MOVIMENT_CONV.MOVNRMOV = LMI_ENASARCO.ENANRMOV
1740 LEFT OUTER JOIN LMI_CONVERT CVENATPFIRM ON
1741 CVENATPFIRM .MPDDOMAIN = 'INTTPFIRM' AND
1742 CVENATPFIRM .SRCVALUE = LMI_ENASARCO.ENATPFIRM
1743 WHERE LMI_ENASARCO.CDCMPANY = p_CDCMPANY
1744 AND LMI_ENASARCO.TO_INSERT = 1
1745 AND LMI_ANAGR.TO_INSERT = 1;
1746
1747 EXCEPTION
1748 WHEN OTHERS THEN
1749 v_errormsg := COALESCE (SQLERRM, '');
1750 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1751 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','INSERTENASARCO');
1752 LsLmi.lmi_addloginfo (
1753 '2000',
1754 null,
1755 'INSERT SIENASARCO',
1756 NULL,
1757 NULL,
1758 v_errormsg
1759 || ' - '
1760 || v_errorstack,
1761 LsLmi.c_INSERT_ERROR,
1762 c_TYPE_ACCOUNTING
1763 );
1764 RETURN;
1765 END;
1766
1767END;
1768
1769PROCEDURE InsertFirr(
1770 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
1771 p_nostro_riferimento NUMBER
1772)
1773AS
1774 v_errormsg CLOB;
1775 v_errorstack CLOB;
1776BEGIN
1777
1778 BEGIN
1779 INSERT INTO SIFIRR(CDCMPANY,FIRCDPROGR,FIRDTCOMP,FIRCODANA,FIRNUMENA,FIRPRINTED,FIRNUMGD,FIRCODCTR,FIRTPFIRM,
1780 FIRIMPONIB,FIRPERCTOT,FIRIMPTOT,EXTRACTID,BO_TOKEN)
1781 SELECT LMI_FIRR.CDCMPANY CDCMPANY,
1782 LMI_FIRR.FIRCDPROGR FIRCDPROGR,
1783 LMI_FIRR.FIRDTCOMP FIRDTCOMP,
1784 LMI_ANAGR.ANACODANA FIRCODANA,
1785 LMI_FIRR.FIRNUMENA FIRNUMENA,
1786 LMI_FIRR.FIRPRINTED FIRPRINTED,
1787 LMI_FIRR.FIRNUMGD FIRNUMGD,
1788 LMI_CONTRATTI.CONTRACT FIRCODCTR,
1789 CVFIRTPFIRM.DESTVALUE FIRTPFIRM,
1790 LMI_FIRR.FIRIMPONIB FIRIMPONIB,
1791 LMI_FIRR.FIRPERCTOT FIRPERCTOT,
1792 LMI_FIRR.FIRIMPTOT FIRIMPTOT,
1793 LMI_FIRR.EXTRACTID EXTRACTID,
1794 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN
1795 FROM LMI_FIRR
1796 LEFT OUTER JOIN LMI_ANAGR ON
1797 LMI_FIRR.FIRCODANA = LMI_ANAGR.ANACODDEF
1798 LEFT OUTER JOIN LMI_CONTRATTI ON
1799 LMI_CONTRATTI.CDCMPANY = LMI_FIRR.CDCMPANY AND
1800 LMI_CONTRATTI.CONTRACT_ID = LMI_FIRR.FIRCODCTR
1801 LEFT OUTER JOIN LMI_CONVERT CVFIRTPFIRM ON
1802 CVFIRTPFIRM .MPDDOMAIN = 'INTTPFIRM' AND
1803 CVFIRTPFIRM .SRCVALUE = LMI_FIRR.FIRTPFIRM
1804 WHERE LMI_FIRR.CDCMPANY = p_CDCMPANY
1805 AND LMI_FIRR.TO_INSERT = 1
1806 AND LMI_ANAGR.TO_INSERT = 1;
1807
1808 EXCEPTION
1809 WHEN OTHERS THEN
1810 v_errormsg := COALESCE (SQLERRM, '');
1811 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1812 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','INSERTFIRR');
1813 LsLmi.lmi_addloginfo (
1814 '2000',
1815 null,
1816 'INSERT SIFIRR',
1817 NULL,
1818 NULL,
1819 v_errormsg
1820 || ' - '
1821 || v_errorstack,
1822 LsLmi.c_INSERT_ERROR,
1823 c_TYPE_ACCOUNTING
1824 );
1825 RETURN;
1826 END;
1827
1828END;
1829$END
1830
1831$IF LsCC_Control_Target.UCL $THEN
1832PROCEDURE AGGRIGHE (
1833 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
1834 )
1835AS
1836 v_errormsg CLOB;
1837 v_errorstack CLOB;
1838BEGIN
1839
1840 BEGIN
1841 UPDATE RIGHE SET RIGSTBNFAVV = 'F', RIGSTBNFDISP = 'N'
1842 WHERE RIGHE.CDCMPANY = p_CDCMPANY AND EXISTS
1843 (SELECT 1 FROM
1844 (
1845 SELECT /*+ FULL(RIGHE)= */ RIGHE.CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA
1846 FROM RIGHE
1847 INNER JOIN MOVIMENT ON
1848 RIGHE.CDCMPANY = MOVIMENT.CDCMPANY AND
1849 RIGHE.RIGESERC = MOVIMENT.MOVESERC AND
1850 RIGHE.RIGNRMOV = MOVIMENT.MOVNRMOV
1851 LEFT OUTER JOIN TABCAUS ON
1852 MOVIMENT.CDCMPANY = TABCAUS.CDCMPANY AND
1853 MOVIMENT.MOVCDCAUS = TABCAUS.CDCAUS
1854 WHERE TABCAUS.TETPCAU = 'PAG' AND RIGSEGNO = 'A'
1855 ) T
1856 WHERE
1857 RIGHE.CDCMPANY = T.CDCMPANY AND
1858 RIGHE.RIGESERC = T.RIGESERC AND
1859 RIGHE.RIGNRMOV = T.RIGNRMOV AND
1860 RIGHE.RIGNRRIGA = T.RIGNRRIGA AND
1861 RIGHE.CDCMPANY = p_CDCMPANY
1862 );
1863 COMMIT;
1864 EXCEPTION
1865 when others then
1866 v_errormsg := COALESCE (SQLERRM, '');
1867 v_errorstack := DBMS_UTILITY.format_error_backtrace;
1868 LsLmi.lmi_addloginfo (
1869 '2000',
1870 null,
1871 'RIGHE_UPDATE',
1872 NULL,
1873 NULL,
1874 v_errormsg
1875 || ' - '
1876 || v_errorstack,
1877 LsLmi.c_INSERT_ERROR,
1878 c_TYPE_ACCOUNTING
1879 );
1880 ROLLBACK;
1881
1882 END;
1883END;
1884$END--
1885
1886PROCEDURE InsertBONIFICI(
1887 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
1888 p_nostro_riferimento NUMBER
1889)
1890AS
1891 v_ErrorMsg VARCHAR2(4000 CHAR);
1892 v_ErrorStack VARCHAR2(4000 CHAR);
1893BEGIN
1894
1895 BEGIN
1896 INSERT INTO SIBONIFICI(
1897 CDCMPANY,
1898 BNFPROGR,
1899 BNFMOVESERC,
1900 BNFNRMOV,
1901 BNFNUMEMIS,
1902 BNFDTEMIS,
1903 BNFCODDIV,
1904 BNFSEGNO,
1905 BNFIMPORTO,
1906 BNFDTSCAD,
1907 BNFABIORD,
1908 BNFCABORD,
1909 BNFCCORD,
1910 BNFCINORD,
1911 BNFABIDEST,
1912 BNFCABDEST,
1913 BNFCCDEST,
1914 BNFCINDEST,
1915 BNFCODAZ,
1916 BNFTPCOD,
1917 BNFCODIND,
1918 BNFRSDEST,
1919 BNFINDDEST,
1920 BNFCAPDEST,
1921 BNFCITDEST,
1922 BNFPRDEST,
1923 BNFBANDEST,
1924 BNFBANORD,
1925 BNFCODFISC,
1926 BNFCAUSAL,
1927 BNFRECORD,
1928 BNFSTRINGA1,
1929 BNFSTRINGA2,
1930 BNFSTRINGA3,
1931 BNFSTRINGA4,
1932 BNFSTRINGA5,
1933 BNFSTRINGA6,
1934 BNFSTRINGA7,
1935 BNFSTRINGA8,
1936 BNFSTRINGA9,
1937 BNFSTRINGA10,
1938 BNFSTRINGA11,
1939 BNFSTRINGA12,
1940 BNFSTRINGA13,
1941 BNFSTRINGA14,
1942 BNFSTRINGA15,
1943 BNFCODANA,
1944 BNFCODCTR,
1945 BNFCODICE,
1946 BNFSTATO,
1947 BNFCODDNE,
1948 BNFIBANORD,
1949 BNFIBANDEST,
1950 BNFMEMO,
1951 BNFTPFILE,
1952 BNFBICORD,
1953 BNFBICDEST,
1954 BNFSEPAPURP,
1955 BNFPRIORITY
1956 )
1957 SELECT
1958 LMI_BONIFICI.CDCMPANY,
1959 BNFPROGR,
1960 BNFMOVESERC,
1961 BNFNRMOV,
1962 BNFNUMEMIS,
1963 BNFDTEMIS,
1964 BNFCODDIV,
1965 BNFSEGNO,
1966 BNFIMPORTO,
1967 BNFDTSCAD,
1968 BNFABIORD,
1969 BNFCABORD,
1970 BNFCCORD,
1971 BNFCINORD,
1972 BNFABIDEST,
1973 BNFCABDEST,
1974 BNFCCDEST,
1975 BNFCINDEST,
1976 BNFCODAZ,
1977 BNFTPCOD,
1978 BNFCODIND,
1979 BNFRSDEST,
1980 BNFINDDEST,
1981 BNFCAPDEST,
1982 BNFCITDEST,
1983 BNFPRDEST,
1984 BNFBANDEST,
1985 BNFBANORD,
1986 BNFCODFISC,
1987 BNFCAUSAL,
1988 BNFRECORD,
1989 BNFSTRINGA1,
1990 BNFSTRINGA2,
1991 BNFSTRINGA3,
1992 BNFSTRINGA4,
1993 BNFSTRINGA5,
1994 BNFSTRINGA6,
1995 BNFSTRINGA7,
1996 BNFSTRINGA8,
1997 BNFSTRINGA9,
1998 BNFSTRINGA10,
1999 BNFSTRINGA11,
2000 BNFSTRINGA12,
2001 BNFSTRINGA13,
2002 BNFSTRINGA14,
2003 BNFSTRINGA15,
2004 COALESCE(LMI_ANAGR.ANACODANA,LsDbConst_Lmi.c_ANAG_NON_TROVATA) BNFCODANA,
2005 BNFCODCTR,
2006 BNFCODICE,
2007 BNFSTATO,
2008 BNFCODDNE,
2009 UPPER(BNFIBANORD) BNFIBANORD,
2010 UPPER(BNFIBANDEST) BNFIBANDEST,
2011 BNFMEMO,
2012 BNFTPFILE,
2013 UPPER(BNFBICORD) BNFBICORD,
2014 UPPER(BNFBICDEST) BNFBICDEST,
2015 NULL BNFSEPAPURP,
2016 NULL BNFPRIORITY
2017 FROM LMI_BONIFICI
2018 LEFT OUTER JOIN LMI_ANAGR
2019 ON LMI_BONIFICI.BNFCODANA = LMI_ANAGR.ANACODDEF
2020 WHERE LMI_BONIFICI.TO_INSERT = 1
2021 AND LMI_BONIFICI.CDCMPANY = p_CDCMPANY;
2022
2023 EXCEPTION
2024 WHEN OTHERS THEN
2025 v_ErrorMsg := COALESCE (SQLERRM, '');
2026 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2027 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertBONIFICI');
2028 LsLmi.lmi_addloginfo (
2029 '2000',
2030 NULL,
2031 'SIBONIFICI',
2032 NULL,
2033 NULL,
2034 v_ErrorMsg||' - '||v_ErrorStack,
2035 LsLmi.c_INSERT_ERROR,
2036 c_TYPE_ACCOUNTING
2037 );
2038 RETURN;
2039 END;
2040
2041END;
2042
2043PROCEDURE InsertSILIQIVA(
2044 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
2045)
2046AS
2047 v_ErrorMsg VARCHAR2(4000 CHAR);
2048 v_ErrorStack VARCHAR2(4000 CHAR);
2049BEGIN
2050
2051 BEGIN
2052 INSERT INTO SILIQIVA(
2053 CDCMPANY,
2054 LIQINIZIO,
2055 LIQFINE,
2056 LIQCRESPET,
2057 LIQCREPREC,
2058 LIQIMPACQ,
2059 LIQIMPACQCEE,
2060 LIQIMPVEN,
2061 LIQIMPVENCEE,
2062 LIQIMP,
2063 LIQDEFIN,
2064 LIQIVAVER,
2065 LIQALTRIDEBIVA,
2066 LIQCREIVACOMP,
2067 LIQIMPACQARR,
2068 LIQIMPVENARR,
2069 LIQIMPACQ_AP,
2070 LIQIMPACQCEE_AP
2071 )
2072 SELECT
2073 CDCMPANY,
2074 LIQINIZIO,
2075 LIQFINE,
2076 LIQCRESPET,
2077 LIQCREPREC,
2078 LIQIMPACQ,
2079 LIQIMPACQCEE,
2080 LIQIMPVEN,
2081 LIQIMPVENCEE,
2082 LIQIMP,
2083 LIQDEFIN,
2084 LIQIVAVER,
2085 LIQALTRIDEBIVA,
2086 LIQCREIVACOMP,
2087 LIQIMPACQARR,
2088 LIQIMPVENARR,
2089 LIQIMPACQ_AP,
2090 LIQIMPACQCEE_AP
2091 FROM LMI_SILIQIVA
2092 WHERE LMI_SILIQIVA.TO_INSERT = 1
2093 AND LMI_SILIQIVA.CDCMPANY = p_CDCMPANY;
2094
2095 EXCEPTION
2096 WHEN OTHERS THEN
2097 v_ErrorMsg := COALESCE (SQLERRM, '');
2098 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2099 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSILIQIVA');
2100 LsLmi.lmi_addloginfo (
2101 '2000',
2102 NULL,
2103 'INSERT SILIQIVA',
2104 NULL,
2105 NULL,
2106 v_ErrorMsg||' - '||v_ErrorStack,
2107 LsLmi.c_INSERT_ERROR,
2108 c_TYPE_ACCOUNTING
2109 );
2110 RETURN;
2111 END;
2112
2113END;
2114
2115PROCEDURE InsertSTLIQIVA(
2116 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
2117)
2118AS
2119 v_ErrorMsg VARCHAR2(4000 CHAR);
2120 v_ErrorStack VARCHAR2(4000 CHAR);
2121BEGIN
2122
2123 BEGIN
2124 INSERT INTO STLIQIVA(
2125 CDCMPANY,
2126 INIZIOPERIODO,
2127 FINEPERIODO,
2128 IVACDRGIVA,
2129 DESCRGIVA,
2130 TETPRG,
2131 IVACDIVA,
2132 DESCCDIVA,
2133 IVAPERC,
2134 TEASS,
2135 TECEE,
2136 IVAESERC,
2137 IVANRMOV,
2138 MOVCDTPMV,
2139 IVANRIVA,
2140 MOVDTREG,
2141 MOVNRDOC,
2142 MOVDTDOC,
2143 MOVDENOM,
2144 MOVDTSTIVA,
2145 MOVCDDNE,
2146 DESCCDDNE,
2147 SUMIVAIMPONIB,
2148 SUMIVAIMPOSTA,
2149 SUMIVADETR,
2150 SUMIVAINDETR,
2151 SUMMOVCONTROV,
2152 PRORATA,
2153 SUMIVADETR_AP,
2154 SUMIVAINDETR_AP
2155 )
2156 SELECT
2157 CDCMPANY,
2158 INIZIOPERIODO,
2159 FINEPERIODO,
2160 IVACDRGIVA,
2161 DESCRGIVA,
2162 TETPRG,
2163 IVACDIVA,
2164 DESCCDIVA,
2165 IVAPERC,
2166 TEASS,
2167 TECEE,
2168 IVAESERC,
2169 IVANRMOV,
2170 MOVCDTPMV,
2171 IVANRIVA,
2172 MOVDTREG,
2173 MOVNRDOC,
2174 MOVDTDOC,
2175 MOVDENOM,
2176 MOVDTSTIVA,
2177 MOVCDDNE,
2178 DESCCDDNE,
2179 SUMIVAIMPONIB,
2180 SUMIVAIMPOSTA,
2181 SUMIVADETR,
2182 SUMIVAINDETR,
2183 SUMMOVCONTROV,
2184 PRORATA,
2185 SUMIVADETR_AP,
2186 SUMIVAINDETR_AP
2187 FROM LMI_STLIQIVA
2188 WHERE LMI_STLIQIVA.TO_INSERT = 1
2189 AND LMI_STLIQIVA.CDCMPANY = p_CDCMPANY;
2190
2191 EXCEPTION
2192 WHEN OTHERS THEN
2193 v_ErrorMsg := COALESCE (SQLERRM, '');
2194 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2195 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSTLIQIVA');
2196 LsLmi.lmi_addloginfo (
2197 '2000',
2198 NULL,
2199 'STLIQIVA',
2200 NULL,
2201 NULL,
2202 v_ErrorMsg||' - '||v_ErrorStack,
2203 LsLmi.c_INSERT_ERROR,
2204 c_TYPE_ACCOUNTING
2205 );
2206 RETURN;
2207 END;
2208
2209END;
2210
2211PROCEDURE InsertSILIQRA(
2212 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
2213)
2214AS
2215 v_ErrorMsg VARCHAR2(4000 CHAR);
2216 v_ErrorStack VARCHAR2(4000 CHAR);
2217BEGIN
2218
2219 BEGIN
2220 INSERT INTO SILIQRA(
2221 CDCMPANY,
2222 LIQDTVER,
2223 LIQTIPRA,
2224 LIQDTSCAD,
2225 LIQDTREG,
2226 LIQRADEB,
2227 LIQRANVER
2228 )
2229 SELECT
2230 CDCMPANY,
2231 LIQDTVER,
2232 LIQTIPRA,
2233 LIQDTSCAD,
2234 LIQDTREG,
2235 LIQRADEB,
2236 LIQRANVER
2237 FROM LMI_SILIQRA
2238 WHERE LMI_SILIQRA.TO_INSERT = 1
2239 AND LMI_SILIQRA.CDCMPANY = p_CDCMPANY;
2240
2241 EXCEPTION
2242 WHEN OTHERS THEN
2243 v_ErrorMsg := COALESCE (SQLERRM, '');
2244 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2245 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSILIQRA');
2246 LsLmi.lmi_addloginfo (
2247 '2000',
2248 NULL,
2249 'INSERT SILIQRA',
2250 NULL,
2251 NULL,
2252 v_ErrorMsg||' - '||v_ErrorStack,
2253 LsLmi.c_INSERT_ERROR,
2254 c_TYPE_ACCOUNTING
2255 );
2256 RETURN;
2257 END;
2258
2259END;
2260
2261PROCEDURE InsertSTLIQRA(
2262 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
2263 p_nostro_riferimento NUMBER
2264)
2265AS
2266 v_ErrorMsg VARCHAR2(4000 CHAR);
2267 v_ErrorStack VARCHAR2(4000 CHAR);
2268BEGIN
2269
2270 BEGIN
2271 INSERT INTO STLIQRA(
2272 CDCMPANY,
2273 STCODRA,
2274 STESER,
2275 STCDDNE,
2276 STTIPORA,
2277 STNUMMOV,
2278 STCODANA,
2279 STDTREG,
2280 STCODTRB,
2281 STDESAGG,
2282 STIMPRA,
2283 STDTSCAD,
2284 STDTVER,
2285 STBNKRIF,
2286 STMODLIQ,
2287 STIMPONIB,
2288 STIMPCMP,
2289 STNSOGRA,
2290 STDTCOMP,
2291 STDTSTARCO,
2292 STDTENDCO,
2293 STCDATINPS,
2294 STSTATUS,
2295 STIMPSOC
2296 )
2297 SELECT
2298 LMI_STLIQRA.CDCMPANY,
2299 STCODRA,
2300 STESER,
2301 STCDDNE,
2302 STTIPORA,
2303 STNUMMOV,
2304 LMI_ANAGR.ANACODANA STCODANA,
2305 STDTREG,
2306 STCODTRB,
2307 STDESAGG,
2308 STIMPRA,
2309 STDTSCAD,
2310 STDTVER,
2311 STBNKRIF,
2312 STMODLIQ,
2313 STIMPONIB,
2314 STIMPCMP,
2315 STNSOGRA,
2316 STDTCOMP,
2317 STDTSTARCO,
2318 STDTENDCO,
2319 STCDATINPS,
2320 STSTATUS,
2321 NULL STIMPSOC
2322 FROM LMI_STLIQRA
2323 LEFT OUTER JOIN LMI_ANAGR
2324 ON LMI_STLIQRA.STCODANA = LMI_ANAGR.ANACODDEF
2325 WHERE LMI_STLIQRA.TO_INSERT = 1
2326 AND LMI_ANAGR.TO_INSERT = 1
2327 AND LMI_STLIQRA.CDCMPANY = p_CDCMPANY;
2328
2329 EXCEPTION
2330 WHEN OTHERS THEN
2331 v_ErrorMsg := COALESCE (SQLERRM, '');
2332 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2333 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSTLIQRA');
2334 LsLmi.lmi_addloginfo (
2335 '2000',
2336 NULL,
2337 'INSERT STLIQRA',
2338 NULL,
2339 NULL,
2340 v_ErrorMsg||' - '||v_ErrorStack,
2341 LsLmi.c_INSERT_ERROR,
2342 c_TYPE_ACCOUNTING
2343 );
2344 RETURN;
2345 END;
2346
2347END;
2348$IF LsCC_Control.LMI_F2K $THEN
2349PROCEDURE InsertSIDICVAT(
2350 p_CodCompany VARCHAR2
2351)
2352AS
2353 v_FlagError BOOLEAN := FALSE;
2354 v_ErrorMsg VARCHAR2(4000 CHAR);
2355 v_ErrorStack VARCHAR2(4000 CHAR);
2356BEGIN
2357 LsGeneric.CheckCodCompanyParam(p_CodCompany);
2358
2359 BEGIN
2360
2361 INSERT INTO SIDICVAT(
2362 CDCMPANY,
2363 DICANNO,
2364 DICDATE,
2365 BO_TOKEN
2366 )
2367 SELECT
2368 p_CodCompany CDCMPANY,
2369 DICANNO,
2370 DICDATE,
2371 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN
2372 FROM SIDICVAT_F2K;
2373
2374 COMMIT;
2375
2376 EXCEPTION
2377 WHEN OTHERS THEN
2378 v_FlagError := TRUE;
2379 v_ErrorMsg := COALESCE(SQLERRM, '');
2380 v_ErrorStack := DBMS_UTILITY.FORMAT_ERROR_BACKTRACE;
2381 LsLmi.Lmi_AddLogInfo ('2000',
2382 NULL,
2383 'Errore procedura LsLmi_Accounting.InsertSIDICVAT',
2384 NULL,
2385 NULL,
2386 v_ErrorMsg||' - '||v_ErrorStack,
2387 LsLmi.c_INSERT_ERROR,
2388 LsLmi.c_TYPE_F2KIMPORT);
2389 END;
2390
2391 if v_FlagError then
2392 LsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSIDICVAT');
2393 end if;
2394END;
2395
2396PROCEDURE InsertSISUPPLIERPMT(
2397 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
2398)
2399AS
2400 v_ErrorMsg VARCHAR2(4000 CHAR);
2401 v_ErrorStack VARCHAR2(4000 CHAR);
2402BEGIN
2403 BEGIN
2404 FOR X IN (SELECT * FROM SISUPPLIERPMT_F2K)
2405 LOOP
2406 INSERT INTO SISUPPLIERPMT (
2407 CDCMPANY, CDAUTHORIZATION, NRAUTO,
2408 CDANAGR, CDASSIGN, PMTAMOUNT,
2409 DUEDATE, CDAUTHORITY, CDAUTHORITY2,
2410 FLGCAPOFILAPOOL, FLGCLIERIGENDUM, DTINSERT,
2411 CDUSER, STATUS, ID,
2412 BO_SESSIONID, STSAUTHOR, PAGIDBNK,
2413 DTHIST, HISTCODE, NOTE,MOVNRMOV,MOVESERC)
2414 SELECT
2415 '01' CDCMPANY, X.CDAUTHORIZATION, X.NRAUTO,
2416 X.CDANAGR, X.CDASSIGN, X.PMTAMOUNT,
2417 X.DUEDATE, X.CDAUTHORITY, X.CDAUTHORITY2,
2418 CASE WHEN X.FLGCAPOFILAPOOL = 'T' THEN 1 ELSE 0 END, CASE WHEN X.FLGCLIERIGENDUM = 'T' THEN 1 ELSE 0 END, X.DTINSERT,
2419 X.CDUSER, X.STATUS, X.ID,
2420 'MIGRAZIONE' BO_SESSIONID, X.STSAUTHOR, X.PAGIDBNK,
2421 X.DTHIST, X.HISTCODE, X.NOTE,
2422 NULL MOVNRMOV,NULL MOVESERC
2423 FROM DUAL;
2424 END LOOP;
2425
2426 EXCEPTION
2427 WHEN OTHERS THEN
2428 v_ErrorMsg := COALESCE (SQLERRM, '');
2429 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2430 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSISUPPLIERPMT');
2431 LsLmi.lmi_addloginfo (
2432 '2000',
2433 NULL,
2434 'INSERT SISUPPLIERPMT',
2435 NULL,
2436 NULL,
2437 v_ErrorMsg||' - '||v_ErrorStack,
2438 LsLmi.c_INSERT_ERROR,
2439 c_TYPE_ACCOUNTING
2440 );
2441 RETURN;
2442 END;
2443END;
2444$END
2445PROCEDURE InsertSIANATRIBU(
2446 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
2447 p_nostro_riferimento NUMBER
2448)
2449AS
2450 v_ErrorMsg VARCHAR2(4000 CHAR);
2451 v_ErrorStack VARCHAR2(4000 CHAR);
2452BEGIN
2453 BEGIN
2454
2455 if p_CDCMPANY = '01' then
2456
2457 INSERT INTO SIANATRIBU(
2458 CDCMPANY,
2459 TRIBCODANA,
2460 TRIBCODTRIBU,
2461 VALIDITA_DAL,
2462 VALIDITA_AL,
2463 BO_TOKEN
2464 )
2465 SELECT
2466 p_CDCMPANY,
2467 ANACODANA,
2468 ANACODRA,
2469 LsGlobal.c_DATE_MIN,
2470 NULL,
2471 LsDbConst_Lmi.c_LMI_TOKEN
2472 FROM LMI_ANAGR
2473 WHERE LMI_ANAGR.ANACODDEF IS NOT NULL
2474 AND LMI_ANAGR.ANACODRA IS NOT NULL
2475 AND REGEXP_COUNT(ANACODDEF, '_' ) = 0;
2476
2477 else
2478 INSERT INTO SIANATRIBU(
2479 CDCMPANY,
2480 TRIBCODANA,
2481 TRIBCODTRIBU,
2482 VALIDITA_DAL,
2483 VALIDITA_AL,
2484 BO_TOKEN
2485 )
2486 SELECT
2487 p_CDCMPANY,
2488 ANACODANA,
2489 ANACODRA,
2490 LsGlobal.c_DATE_MIN,
2491 NULL,
2492 LsDbConst_Lmi.c_LMI_TOKEN
2493 FROM LMI_ANAGR
2494 WHERE LMI_ANAGR.ANACODDEF IS NOT NULL
2495 AND LMI_ANAGR.ANACODRA IS NOT NULL
2496 AND SUBSTR(LMI_ANAGR.ANACODDEF,-3,3) = '_'||p_CDCMPANY;
2497
2498 end if;
2499
2500 EXCEPTION
2501 WHEN OTHERS THEN
2502 v_ErrorMsg := COALESCE (SQLERRM, '');
2503 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2504 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSIANATRIBU');
2505 LsLmi.lmi_addloginfo (
2506 '2000',
2507 NULL,
2508 'INSERT SIANATRIBU',
2509 NULL,
2510 NULL,
2511 v_ErrorMsg||' - '||v_ErrorStack,
2512 LsLmi.c_INSERT_ERROR,
2513 c_TYPE_ACCOUNTING
2514 );
2515 RETURN;
2516 END;
2517END;
2518PROCEDURE AggSieffetti(
2519 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
2520 p_nostro_riferimento NUMBER
2521)
2522AS
2523 v_errormsg CLOB;
2524 v_errorstack CLOB;
2525BEGIN
2526
2527 FOR X IN (SELECT SIEFFETTI.CDCMPANY, EFFTIPO, EFFCODAZ, EFFPROGR, EFFCODDNE, TABDNE.CREDIDENTIFIER, TABDNE.DENOMCRED, TCBNK.IDBNK,
2528 LSBANKS.GETIBAN(EFFABIDEST, EFFCABDEST, EFFCONTODE, LSBANKS.LSFUNCCALCOLOCIN(EFFABIDEST, EFFCABDEST, EFFCONTODE), 'IT') IBANDEST,
2529 SISEPA.SEPACDSCHE,
2530 SISEPA.SEPACDTYPE,
2531 SISEPA.SEPADTSTART,
2532 SISEPA.SEPATPINC,
2533 SICTRITIVPY.RIDSTCODE,
2534 TCBNKBNCH.BIC
2535 FROM SIEFFETTI
2536 LEFT OUTER JOIN TABDNE ON
2537 SIEFFETTI.CDCMPANY = TABDNE.CDCMPANY AND
2538 SIEFFETTI.EFFCODDNE = TABDNE.CDDNE
2539 LEFT OUTER JOIN TCBNK ON
2540 EFFABIDEST = TCBNK.CDBNK
2541 LEFT OUTER JOIN (SELECT * FROM SICTRSEPA WHERE SEPADTSTOP IS NULL) SISEPA ON
2542 SIEFFETTI.CDCMPANY = SISEPA.CDCMPANY AND SIEFFETTI.EFFCODCTR = SISEPA.CONTRACT
2543 LEFT OUTER JOIN TCBNKBNCH ON
2544 EFFABIDEST = TCBNKBNCH.CDBNK AND EFFCABDEST =TCBNKBNCH.CDBNKBNCH
2545 LEFT OUTER JOIN SICTRITIVPY ON
2546 SIEFFETTI.CDCMPANY = SICTRITIVPY.CDCMPANY AND SIEFFETTI.EFFCODCTR = SICTRITIVPY.CONTRACT
2547 WHERE EFFTIPO = LsDbConst.c_PAGAMENTO_TE_RID AND EFFTPFILE = LsDbConst_ControlPanel.c_SEPA_XML AND SIEFFETTI.CREDIDENTIFIER IS NULL AND TCBNK.CDCOUNTRY <> LsGlobal.c_ISOCODSMR)
2548 LOOP
2549 BEGIN
2550 UPDATE SIEFFETTI SET CREDIDENTIFIER = X.CREDIDENTIFIER, DENOMCRED = X.DENOMCRED, EFFIDBNKDEST = X.IDBNK, EFFIBANDEST = UPPER(X.IBANDEST),
2551 SEPACDSCHE = X.SEPACDSCHE, SEPACDTYPE = X.SEPACDTYPE, SEPADTSIGN = X.SEPADTSTART, SEPATPINC = X.SEPATPINC, RIDSTCODE = X.RIDSTCODE, EFFBICDEST = UPPER(X.BIC)
2552 WHERE CDCMPANY = X.CDCMPANY AND EFFTIPO = X.EFFTIPO AND EFFCODAZ = X.EFFCODAZ AND EFFPROGR = X.EFFPROGR;
2553 COMMIT;
2554 EXCEPTION
2555 WHEN OTHERS THEN
2556
2557 v_errormsg := COALESCE (SQLERRM, '');
2558 v_errorstack := DBMS_UTILITY.format_error_backtrace;
2559 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','UPDATE SIEFFETTI');
2560 LsLmi.lmi_addloginfo (
2561 '2000',
2562 null,
2563 'UPDATE SIEFFETTI',
2564 NULL,
2565 NULL,
2566 v_errormsg
2567 || ' - '
2568 || v_errorstack,
2569 LsLmi.c_INSERT_ERROR,
2570 c_TYPE_ACCOUNTING
2571 );
2572 ROLLBACK;
2573 END;
2574 END LOOP;
2575END;
2576
2577PROCEDURE AggSIANABNK(
2578 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
2579 p_nostro_riferimento NUMBER
2580)
2581AS
2582 v_errormsg CLOB;
2583 v_errorstack CLOB;
2584BEGIN
2585
2586 FOR X IN (SELECT SIANABNK.*, BIC FROM SIANABNK
2587 LEFT OUTER JOIN TCBNKBNCH ON
2588 SIANABNK.BNACDBNK = TCBNKBNCH.CDBNK AND
2589 SIANABNK.BNACDBNKBNCH = TCBNKBNCH.CDBNKBNCH AND
2590 SIANABNK.BNACOUNTRY = TCBNKBNCH.CDCOUNTRY
2591 )
2592 LOOP
2593 BEGIN
2594 UPDATE SIANABNK SET BNASWIFT = X.BIC WHERE BNACODANA = X.BNACODANA AND BNACODBNA = X.BNACODBNA;
2595 COMMIT;
2596 EXCEPTION
2597 WHEN OTHERS THEN
2598 v_errormsg := COALESCE (SQLERRM, '');
2599 v_errorstack := DBMS_UTILITY.format_error_backtrace;
2600 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','UPDATE SIANABNK');
2601 LsLmi.lmi_addloginfo (
2602 '2000',
2603 null,
2604 'SIANABNK_UPDATE',
2605 NULL,
2606 NULL,
2607 v_errormsg
2608 || ' - '
2609 || v_errorstack,
2610 LsLmi.c_INSERT_ERROR,
2611 c_TYPE_ACCOUNTING
2612 );
2613 ROLLBACK;
2614 END;
2615 END LOOP;
2616END;
2617
2618PROCEDURE AggSICTRITIVPY(
2619 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
2620 p_nostro_riferimento NUMBER
2621)
2622AS
2623 v_errormsg CLOB;
2624 v_errorstack CLOB;
2625BEGIN
2626
2627
2628-- Aggiorna il campo SICTRITIVPY.CTRSWIFTCAN se è NULL
2629 BEGIN
2630 UPDATE SICTRITIVPY SET
2631 SICTRITIVPY.CTRSWIFTCAN = (SELECT DISTINCT SIANABNK.BNASWIFT
2632 FROM SIANABNK
2633 WHERE SIANABNK.BNACODANA = (SELECT SICTRHEAD.CDCUSTOMER
2634 FROM SICTRHEAD
2635 WHERE SICTRHEAD.CDCMPANY = SICTRITIVPY.CDCMPANY
2636 AND SICTRHEAD.CONTRACT = SICTRITIVPY.CONTRACT)
2637 AND SIANABNK.BNACODBNA = SICTRITIVPY.RFCUSTBANK
2638 AND EXISTS ( SELECT 1
2639 FROM TCBNK
2640 WHERE SIANABNK.BNACOUNTRY = TCBNK.CDCOUNTRY
2641 AND SIANABNK.BNACDBNK = TCBNK.CDBNK )
2642 AND SIANABNK.BNACDBNK = SICTRITIVPY.CTRABICAN )
2643 WHERE SICTRITIVPY.CTRSWIFTCAN IS NULL;
2644 COMMIT;
2645 EXCEPTION
2646 WHEN OTHERS THEN
2647 v_errormsg := COALESCE (SQLERRM, '');
2648 v_errorstack := DBMS_UTILITY.format_error_backtrace;
2649 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','UPDATE SICTRITIVPY.CTRSWIFTCAN');
2650 LsLmi.lmi_addloginfo (
2651 '2000',
2652 null,
2653 'SICTRITIVPY_UPDATE',
2654 NULL,
2655 NULL,
2656 v_errormsg
2657 || ' - '
2658 || v_errorstack,
2659 LsLmi.c_INSERT_ERROR,
2660 c_TYPE_ACCOUNTING
2661 );
2662 ROLLBACK;
2663
2664 END;
2665-- Aggiorna il campo STCTRITIVPY.CTRSWIFTCAN se è NULL
2666 BEGIN
2667 UPDATE STCTRITIVPY SET
2668 STCTRITIVPY.CTRSWIFTCAN = ( SELECT DISTINCT SIANABNK.BNASWIFT
2669 FROM SIANABNK
2670 WHERE SIANABNK.BNACODANA = (SELECT STCTRHEAD.CDCUSTOMER
2671 FROM STCTRHEAD
2672 WHERE STCTRHEAD.CDCMPANY = STCTRITIVPY.CDCMPANY
2673 AND STCTRHEAD.CONTRACT = STCTRITIVPY.CONTRACT
2674 AND STCTRHEAD.HISTCODE = STCTRITIVPY.HISTCODE)
2675 AND SIANABNK.BNACODBNA = STCTRITIVPY.RFCUSTBANK
2676 AND EXISTS ( SELECT 1
2677 FROM TCBNK
2678 WHERE SIANABNK.BNACOUNTRY = TCBNK.CDCOUNTRY
2679 AND SIANABNK.BNACDBNK = TCBNK.CDBNK )
2680 AND SIANABNK.BNACDBNK = STCTRITIVPY.CTRABICAN
2681 )
2682 WHERE STCTRITIVPY.CTRSWIFTCAN IS NULL;
2683 COMMIT;
2684 EXCEPTION
2685 WHEN OTHERS THEN
2686 v_errormsg := COALESCE (SQLERRM, '');
2687 v_errorstack := DBMS_UTILITY.format_error_backtrace;
2688 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','UPDATE STCTRITIVPY.CTRSWIFTCAN');
2689 LsLmi.lmi_addloginfo (
2690 '2000',
2691 null,
2692 'STCTRITIVPY_UPDATE',
2693 NULL,
2694 NULL,
2695 v_errormsg
2696 || ' - '
2697 || v_errorstack,
2698 LsLmi.c_INSERT_ERROR,
2699 c_TYPE_ACCOUNTING
2700 );
2701 ROLLBACK;
2702 END;
2703END;
2704$IF LsCC_Control.LMI_F2K $THEN
2705PROCEDURE InsertSTMOVIMENT(
2706 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
2707)
2708AS
2709 v_ErrorMsg VARCHAR2(4000 CHAR);
2710 v_ErrorStack VARCHAR2(4000 CHAR);
2711BEGIN
2712 BEGIN
2713 DELETE STMOVIMENT WHERE CDCMPANY = p_CDCMPANY;
2714 INSERT INTO STMOVIMENT
2715 (
2716 CDCMPANY, MOVESERC, MOVNRMOV,
2717 MOVCODSUB, MOVCDDNE, CDUSER,
2718 DTUSER, MOVDTREG, MOVDTRGBL,
2719 MOVESERCBL, MOVCDTPMV, MOVDESC,
2720 MOVDTDOC, MOVNRDOC, MOVCDPAG,
2721 MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA,
2722 MOVNRIVA, MOVCDRGCEE, MOVNRCEE,
2723 MOVDTSTIVA, MOVCDCAUS, MOVIMPBASE,
2724 MOVDIVISA, MOVCAMBIO, MOVCONTROV,
2725 MOVDTSCAD, MOVCLIFAT, MOVDENOM,
2726 MOVCLIIND, MOVRAGSIND, MOVLOC,
2727 MOVINDIR, MOVCAP, MOVPROV,
2728 MOVPERSRIF, MOVBNKRIF, MOVCTR,
2729 MOVSTESERC, MOVSTNRMOV, MOVFLAGST,
2730 MOVNOTE, MOVSTDTIVA, MOVSTNRDOC,
2731 MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC,
2732 MOVPAGCIN, MOVFILIALE, MOVCDSCHEMA,
2733 MOVTELEDGER, MOVPAGIBAN, MOVSTATUS,
2734 MOVREVESERC, MOVREVNRMOV, MOVGROUP,
2735 MOVINDEX, CLCTETPPAR, MOVRIGADET,
2736 MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD,
2737 MOVESECTYPE, MOVESECCODE, MOVESECCODANA,
2738 MOVTEDEF,MOVPAGPAESE,MOVPAGABIBNK
2739 )
2740 SELECT
2741 p_CDCMPANY CDCMPANY, MOVESERC, MOVNRMOV,
2742 MOVCODSUB, MOVCDDNE, CDUSER,
2743 DTUSER, MOVDTREG, MOVDTRGBL,
2744 MOVESERCBL, MOVCDTPMV, MOVDESC,
2745 MOVDTDOC, MOVNRDOC, MOVCDPAG,
2746 MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA,
2747 MOVNRIVA, MOVCDRGCEE, MOVNRCEE,
2748 MOVDTSTIVA, MOVCDCAUS, MOVIMPBASE,
2749 MOVDIVISA, MOVCAMBIO, MOVCONTROV,
2750 MOVDTSCAD, MOVCLIFAT, MOVDENOM,
2751 MOVCLIIND, MOVRAGSIND, MOVLOC,
2752 MOVINDIR, MOVCAP, MOVPROV,
2753 MOVPERSRIF,
2754 CASE
2755 WHEN MOVBNKRIF > 999999999 THEN NULL
2756 ELSE NULLIF(MOVBNKRIF,0)
2757 END MOVBNKRIF, MOVCTR,
2758 MOVSTESERC, MOVSTNRMOV, MOVFLAGST,
2759 NULL MOVNOTE, MOVSTDTIVA, MOVSTNRDOC,
2760 (SELECT TCBNK.IDBNK FROM TCBNK WHERE CDBNK = MOVPAGABI) MOVPAGABI, MOVPAGCAB, MOVPAGCC,
2761 MOVPAGCIN, MOVFILIALE, MOVCDSCHEMA,
2762 MOVTELEDGER, MOVPAGIBAN, 'S' MOVSTATUS,
2763 NULL MOVREVESERC, NULL MOVREVNRMOV, NULL MOVGROUP,
2764 NULL MOVINDEX, NULL CLCTETPPAR, NULL MOVRIGADET,
2765 NULL MOVRIGAIND, NULL MOVRIGACEE, NULL MOVCAUSSTD,
2766 MOVESECTYPE, MOVESECCODE, MOVESECCODANA,
2767 0 MOVTEDEF, NULL MOVPAGPAESE,NULL MOVPAGABIBNK
2768 FROM STMOVIMENT_F2K;
2769
2770 EXCEPTION
2771 WHEN OTHERS THEN
2772 v_ErrorMsg := COALESCE (SQLERRM, '');
2773 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2774 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSTMOVIMENT');
2775 LsLmi.lmi_addloginfo (
2776 '2000',
2777 NULL,
2778 'INSERT STMOVIMENT',
2779 NULL,
2780 NULL,
2781 v_ErrorMsg||' - '||v_ErrorStack,
2782 LsLmi.c_INSERT_ERROR,
2783 c_TYPE_ACCOUNTING
2784 );
2785 RETURN;
2786 END;
2787END;
2788PROCEDURE InsertSTRIGHE(
2789 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
2790)
2791AS
2792 v_ErrorMsg VARCHAR2(4000 CHAR);
2793 v_ErrorStack VARCHAR2(4000 CHAR);
2794BEGIN
2795 BEGIN
2796 DELETE STRIGHE WHERE CDCMPANY = p_CDCMPANY;
2797 INSERT INTO STRIGHE
2798 (
2799 CDCMPANY, RIGESERC, RIGNRMOV,
2800 RIGNRRIGA, RIGCODSUB, RIGCDDNE,
2801 RIGNRBOLL, CDUSER, DTUSER,
2802 RIGDESC, RIGCDCONTO, RIGCDANA,
2803 RIGDENOM, RIGCDCTR, RIGTPCFL,
2804 RIGNRCFL, RIGCDCESP, RIGDTSCAD,
2805 RIGPARTITA, RIGSPDIV, RIGSPDRIF,
2806 RIGIMPRIFD, RIGIMPRIFA, RIGIMPDIVD,
2807 RIGIMPDIVA, RIGSEGNO, RIGCDDIV,
2808 RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF,
2809 RIGCDIVA, RIGPERCIVA, RIGTEMORA,
2810 RIGTAXMOR, RIGIMPMOR, RIGABBMOR,
2811 RIGNRAUI, RIGDTAUI, RIGSTAUI,
2812 RIGTEORIG, RIGTEPAP, RIGTEPRIT,
2813 RIGCDCORP, RIGDESCORP, RIGSTBNFAVV,
2814 RIGSTBNFDISP, RIGCENTRO, RIGSTPART,
2815 RIGTEUSER, RIGTELEDGER, RIGINDEX,
2816 CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
2817 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
2818 )
2819 SELECT
2820 p_CDCMPANY CDCMPANY, RIGESERC, RIGNRMOV,
2821 RIGNRRIGA, RIGCODSUB, RIGCDDNE,
2822 RIGNRBOLL, CDUSER, DTUSER,
2823 RIGDESC, RIGCDCONTO, RIGCDANA,
2824 RIGDENOM, RIGCDCTR, RIGTPCFL,
2825 RIGNRCFL, RIGCDCESP, RIGDTSCAD,
2826 RIGPARTITA, RIGSPDIV, RIGSPDRIF,
2827 RIGIMPRIFD, RIGIMPRIFA, RIGIMPDIVD,
2828 RIGIMPDIVA, RIGSEGNO, RIGCDDIV,
2829 RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF,
2830 RIGCDIVA, RIGPERCIVA, CASE WHEN RIGTEMORA = 'T' THEN 1 ELSE 0 END RIGTEMORA,
2831 RIGTAXMOR, RIGIMPMOR, RIGABBMOR,
2832 RIGNRAUI, RIGDTAUI, RIGSTAUI,
2833 CASE WHEN RIGTEORIG = 'T' THEN 1 ELSE 0 END RIGTEORIG, CASE WHEN RIGTEPAP = 'T' THEN 1 ELSE 0 END RIGTEPAP, 0 RIGTEPRIT,
2834 RIGCDCORP, SUBSTR(RIGDESCORP,1,200) RIGDESCORP, RIGSTBNFAVV,
2835 RIGSTBNFDISP, RIGCENTRO, CASE WHEN RIGSTPART = 'T' THEN 1 ELSE 0 END RIGSTPART,
2836 RIGTEUSER, RIGTELEDGER, NULL RIGINDEX,
2837 NULL CLCPRCDET, NULL RIGAPARTITA, NULL RIGADEBITOCREDITO,
2838 NULL CONTODEBITOCREDITO, NULL TIPORIGA, NULL RIGIVAIMPOSTA
2839 FROM STRIGHE_F2K;
2840
2841 EXCEPTION
2842 WHEN OTHERS THEN
2843 v_ErrorMsg := COALESCE (SQLERRM, '');
2844 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2845 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSTRIGHE');
2846 LsLmi.lmi_addloginfo (
2847 '2000',
2848 NULL,
2849 'INSERT STRIGHE',
2850 NULL,
2851 NULL,
2852 v_ErrorMsg||' - '||v_ErrorStack,
2853 LsLmi.c_INSERT_ERROR,
2854 c_TYPE_ACCOUNTING
2855 );
2856 RETURN;
2857 END;
2858END;
2859PROCEDURE InsertSTDETTIVA(
2860 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
2861)
2862AS
2863 v_ErrorMsg VARCHAR2(4000 CHAR);
2864 v_ErrorStack VARCHAR2(4000 CHAR);
2865BEGIN
2866 BEGIN
2867 DELETE STDETTIVA WHERE CDCMPANY = p_CDCMPANY;
2868 INSERT INTO STDETTIVA
2869 (
2870 CDCMPANY, IVAESERC, IVANRMOV,
2871 IVACDRGIVA, IVANRIVA, IVACDIVA,
2872 IVAPERC, IVACODSUB, IVAIMPONIB,
2873 IVAIMPOSTA, IVADETR, IVAINDETR,
2874 IVAINDEX
2875 )
2876 SELECT
2877 p_CDCMPANY CDCMPANY, IVAESERC, IVANRMOV,
2878 IVACDRGIVA, IVANRIVA, IVACDIVA,
2879 IVAPERC, IVACODSUB, IVAIMPONIB,
2880 IVAIMPOSTA, IVADETR, IVAINDETR,
2881 NULL IVAINDEX
2882 FROM STDETTIVA_F2K;
2883
2884 EXCEPTION
2885 WHEN OTHERS THEN
2886 v_ErrorMsg := COALESCE (SQLERRM, '');
2887 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2888 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSTDETTIVA');
2889 LsLmi.lmi_addloginfo (
2890 '2000',
2891 NULL,
2892 'INSERT STDETTIVA',
2893 NULL,
2894 NULL,
2895 v_ErrorMsg||' - '||v_ErrorStack,
2896 LsLmi.c_INSERT_ERROR,
2897 c_TYPE_ACCOUNTING
2898 );
2899 RETURN;
2900 END;
2901END;
2902$END
2903
2904PROCEDURE InsertSTSTOREXTPROV(
2905 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE
2906)
2907AS
2908 v_ErrorMsg VARCHAR2(4000 CHAR);
2909 v_ErrorStack VARCHAR2(4000 CHAR);
2910BEGIN
2911
2912 BEGIN
2913 INSERT INTO STSTOREXTPROV
2914 (
2915 CDCMPANY,
2916 IPENUMELAB,
2917 IPECODCTR,
2918 IPECODANA,
2919 IPEPROGR,
2920 IPETIPOSVAL,
2921 IPECAUSREC,
2922 IPEDATAREC,
2923 IPEIMPREC,
2924 IPEESITO,
2925 IPEERRMSG,
2926 BO_TOKEN,
2927 IPESTAGE,
2928 IPEERRCTR,
2929 IPEGGSCAD,
2930 IPETEFORB,
2931 IPECCF,
2932 IPEWTCHLST,
2933 IPEEAD,
2934 IPETIPOESPOS,
2935 IPETESCAD30,
2936 IPETELOWCR,
2937 IPEPDLT,
2938 IPEPD1Y,
2939 IPEEADLT,
2940 IPELGD1Y,
2941 IPELGDLKFWD,
2942 IPEECL1Y,
2943 IPEECLLT,
2944 IPEIMPECL,
2945 IPEESPOSIZ,
2946 IPEDIFFVAL,
2947 IPEIMPECLIMP,
2948 IPETOTESPOSIZ,
2949 IPESALDOIMP
2950 )
2951 SELECT
2952 CDCMPANY,
2953 IPENUMELAB,
2954 IPECODCTR,
2955 IPECODANA,
2956 IPEPROGR,
2957 IPETIPOSVAL,
2958 IPECAUSREC,
2959 IPEDATAREC,
2960 IPEIMPREC,
2961 IPEESITO,
2962 IPEERRMSG,
2963 BO_TOKEN,
2964 IPESTAGE,
2965 IPEERRCTR,
2966 IPEGGSCAD,
2967 IPETEFORB,
2968 IPECCF,
2969 IPEWTCHLST,
2970 IPEEAD,
2971 IPETIPOESPOS,
2972 IPETESCAD30,
2973 IPETELOWCR,
2974 IPEPDLT,
2975 IPEPD1Y,
2976 IPEEADLT,
2977 IPELGD1Y,
2978 IPELGDLKFWD,
2979 IPEECL1Y,
2980 IPEECLLT,
2981 IPEIMPECL,
2982 IPEESPOSIZ,
2983 IPEDIFFVAL,
2984 IPEIMPECLIMP,
2985 IPETOTESPOSIZ,
2986 IPESALDOIMP
2987 FROM LMI_STSTOREXTPROV
2988 WHERE LMI_STSTOREXTPROV.CDCMPANY = p_CDCMPANY;
2989
2990 EXCEPTION
2991 WHEN OTHERS THEN
2992 v_ErrorMsg := COALESCE (SQLERRM, '');
2993 v_ErrorStack := DBMS_UTILITY.format_error_backtrace;
2994 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','InsertSTSTOREXTPROV');
2995 LsLmi.lmi_addloginfo (
2996 '2000',
2997 NULL,
2998 'INSERT STSTOREXTPROV',
2999 NULL,
3000 NULL,
3001 v_ErrorMsg||' - '||v_ErrorStack,
3002 LsLmi.c_INSERT_ERROR,
3003 c_TYPE_ACCOUNTING
3004 );
3005 RETURN;
3006 END;
3007
3008END;
3009
3010PROCEDURE Lmi_Upload_accounting_Hat(
3011 p_prod NUMBER,
3012 p_id_code LMI_CONTROLLER.ID_CODE%TYPE := 0,
3013 p_SourceName LMI_ANAEXCODE.CDSOURCE%TYPE := NULL,
3014 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
3015 p_nostro_riferimento NUMBER
3016)
3017AS
3018 v_id_code NUMBER(9);
3019 v_lcndtelab DATE ;
3020 v_errore BOOLEAN := FALSE;
3021 v_lmi_controller_cursor SYS_REFCURSOR;
3022 v_targetschema VARCHAR2(30 CHAR);
3023 v_sql VARCHAR2(32767 CHAR);
3024 v_sqltext VARCHAR2(32767 CHAR);
3025 v_movbnkrif MOVIMENT.MOVBNKRIF%TYPE;
3026 v_errormsg CLOB;
3027 v_errorstack CLOB;
3028
3029 PRAGMA AUTONOMOUS_TRANSACTION;
3030BEGIN
3031
3032 lsLmi.ResetProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT');
3033 lsLmi.StartProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT');
3034
3035
3036 v_targetschema:= LsLmi.GetSchemaTarget;
3037-- imposto le tabelle in nologging mode
3038 execute immediate 'alter table '||v_targetschema||'.moviment nologging';
3039 execute immediate 'alter table '||v_targetschema||'.righe nologging';
3040 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIRITENUTE NOLOGGING';
3041 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.DETTIVA NOLOGGING';
3042 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIMORADETT NOLOGGING';
3043 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIEFFETTI NOLOGGING';
3044 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIBONIFICI NOLOGGING';
3045 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SILIQIVA NOLOGGING';
3046 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STLIQIVA NOLOGGING';
3047 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SILIQRA NOLOGGING';
3048 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STLIQRA NOLOGGING';
3049 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIDICVAT NOLOGGING';
3050 if LsLmi.IsSourceF2K(p_SourceName) then
3051 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SISUPPLIERPMT NOLOGGING';
3052 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STMOVIMENT NOLOGGING';
3053 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STRIGHE NOLOGGING';
3054 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STDETTIVA NOLOGGING';
3055 end if;
3056 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STSTOREXTPROV NOLOGGING';
3057
3058 execute immediate 'alter table lmi_controller nologging';
3059 -- imposto la sessione per lo skip degli indici invalidi
3060 execute immediate 'alter session set skip_unusable_indexes = true';
3061
3062 -- MOVIMENT - disabilita le relazioni sulle tabelle relazionate
3063 BEGIN
3064 FOR c IN
3065 (SELECT c.owner, c.table_name, c.constraint_name
3066 FROM all_constraints c
3067 WHERE c.status = 'ENABLED' and c.constraint_name not like 'SYS%' AND C.OWNER = v_targetschema
3068 AND c.constraint_type='R' and c.r_constraint_name in (select constraint_name from all_constraints
3069 where constraint_type in ('P','U') and table_name='MOVIMENT' AND OWNER = v_targetschema)
3070 ORDER BY c.constraint_type DESC
3071 )
3072 LOOP
3073 dbms_utility.exec_ddl_statement('alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name);
3074 -- execute immediate 'alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name;
3075 END LOOP;
3076 END;
3077
3078 -- MOVIMENT - disabilita le relazioni
3079 BEGIN
3080 FOR c IN
3081 (SELECT c.owner, c.table_name, c.constraint_name
3082 FROM all_constraints c
3083 WHERE c.table_name = 'MOVIMENT' AND c.status = 'ENABLED' and c.constraint_name not like 'SYS%'
3084 and c.constraint_name not like 'PK%'
3085 AND C.OWNER = v_targetschema
3086 ORDER BY c.constraint_type DESC
3087 )
3088 LOOP
3089 dbms_utility.exec_ddl_statement('alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name);
3090 --execute immediate 'alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name;
3091 END LOOP;
3092 END;
3093
3094 --MOVIMENT - disabilita gli indici
3095 begin
3096 for x in (select * from all_indexes where table_name = 'MOVIMENT' and owner = v_targetschema and index_name not like 'PK%' AND UNIQUENESS <> 'UNIQUE' )
3097 loop
3098 v_sql:= 'ALTER INDEX ' ||v_targetschema||'.'||x.index_name || ' UNUSABLE';
3099 EXECUTE IMMEDIATE v_sql;
3100 end loop;
3101 end;
3102
3103
3104 -- RIGHE - disabilita le relazioni sulle tabelle relazionate
3105 BEGIN
3106 FOR c IN
3107 (SELECT c.owner, c.table_name, c.constraint_name
3108 FROM all_constraints c
3109 WHERE c.status = 'ENABLED' and c.constraint_name not like 'SYS%' AND C.OWNER = v_targetschema
3110 AND c.constraint_type='R' and c.r_constraint_name in (select constraint_name from all_constraints
3111 where constraint_type in ('P','U') and table_name='RIGHE' AND OWNER = v_targetschema)
3112 ORDER BY c.constraint_type DESC
3113 )
3114 LOOP
3115 dbms_utility.exec_ddl_statement('alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name);
3116 --execute immediate 'alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name;
3117 END LOOP;
3118 END;
3119
3120 --RIGHE - disabilita le relazioni
3121 BEGIN
3122 FOR c IN
3123 (SELECT c.owner, c.table_name, c.constraint_name
3124 FROM all_constraints c
3125 WHERE c.table_name = 'RIGHE' AND c.status = 'ENABLED' and c.constraint_name not like 'SYS%'
3126 and c.constraint_name not like 'PK%'
3127 AND C.OWNER = v_targetschema
3128 ORDER BY c.constraint_type DESC
3129 )
3130 LOOP
3131 dbms_utility.exec_ddl_statement('alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name);
3132 --execute immediate 'alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name;
3133 END LOOP;
3134 END;
3135
3136 -- RIGHE - disabilita gli indici
3137 begin
3138 for x in (select * from all_indexes where table_name = 'RIGHE' and owner = v_targetschema and index_name not like 'PK%' AND UNIQUENESS <> 'UNIQUE' )
3139 loop
3140 v_sql:= 'ALTER INDEX ' ||v_targetschema||'.'||x.index_name || ' UNUSABLE';
3141 EXECUTE IMMEDIATE v_sql;
3142 end loop;
3143 end;
3144
3145 begin
3146 select bancaccdef into v_movbnkrif from tabdne where tabdne.dne_std = 1 and tabdne.CDCMPANY = p_CDCMPANY;
3147 exception
3148 when others then
3149 v_errormsg := COALESCE (SQLERRM, '');
3150 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3151 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT','LMI_UPLOAD_ACCOUNTING_HAT/ v_movbnkrif');
3152 LsLmi.lmi_addloginfo (
3153 '2000',
3154 null,
3155 'v_movbnkrif',
3156 NULL,
3157 NULL,
3158 v_errormsg
3159 || ' - '
3160 || v_errorstack,
3161 LsLmi.c_GENERIC_ERROR,
3162 c_TYPE_ACCOUNTING
3163
3164 );
3165 end;
3166 v_sqltext := 'SELECT
3167 LMI_CONTROLLER.ID_CODE, LMI_CONTROLLER.LCNDTELAB
3168 FROM LMI_CONTROLLER
3169 WHERE
3170 LMI_CONTROLLER.LCNTYPE = ''' ||
3171 c_TYPE_ACCOUNTING ||
3172 ''' AND LMI_CONTROLLER.LCNSTATUS = ''' ||
3173 LsLmi.c_RECORD_DA_TRASFERIRE;
3174 IF p_id_code <> '0' THEN
3175 v_sqltext := v_sqltext ||''' and LMI_CONTROLLER.ID_CODE = '||p_id_code ;
3176 ELSE
3177 v_sqltext := v_sqltext ||''' ORDER BY LMI_CONTROLLER.ID_CODE';
3178 END IF;
3179
3180 OPEN v_lmi_controller_cursor FOR v_sqltext;
3181
3182 LOOP
3183 v_errore := FALSE;
3184
3185 FETCH v_lmi_controller_cursor INTO v_id_code,v_lcndtelab;
3186 EXIT WHEN v_lmi_controller_cursor%NOTFOUND;
3187
3188 Lmi_Upload_Accounting(p_CDCMPANY,
3189 v_errore,
3190 v_id_code,
3191 p_prod,
3192 v_movbnkrif,
3193 p_nostro_riferimento
3194 );
3195 IF NOT v_errore THEN
3196 /* AGGIORNA STATUS A '102' UPLOAD RECORD IN BACKOFFICE TERMINATO CON SUCCESSO */
3197 lslmi.lmi_updatecontroller(
3198 v_id_code,
3199 c_TYPE_ACCOUNTING,
3200 lslmi.c_RECORD_OK_TRAS_BO
3201 );
3202 ELSE
3203 /* AGGIORNA STATUS A '105' RECORD CON ANOMALIE IN BACKOFFICE */
3204 lslmi.lmi_updatecontroller(
3205 v_id_code,
3206 c_TYPE_ACCOUNTING,
3207 lslmi.c_RECORD_ERRORE_BO
3208 );
3209 END IF;
3210
3211
3212 END LOOP;
3213
3214 $IF LsCC_Control_Target.BO_SECURITIZATION $THEN
3215 INSERTCARTLIQ(p_CDCMPANY,p_nostro_riferimento,p_SourceName);
3216 $END
3217
3218 INSERTSIBNKCHECK(p_CDCMPANY,p_nostro_riferimento);
3219 INSERTSIEFFETTI(p_CDCMPANY,p_nostro_riferimento);
3220 InsertSIANATRIBU(p_CDCMPANY,p_nostro_riferimento);
3221 $IF LsCC_Control_Target.BO_CORE_IT $THEN
3222 InsertEnasarco(p_CDCMPANY,p_nostro_riferimento);
3223 InsertFirr(p_CDCMPANY,p_nostro_riferimento);
3224 $END
3225
3226 $IF LsCC_Control_Target.UCL $THEN
3227 AGGRIGHE(p_CDCMPANY);
3228 $END
3229
3230 InsertBONIFICI(p_CDCMPANY,p_nostro_riferimento);
3231 InsertSILIQIVA(p_CDCMPANY);
3232 InsertSTLIQIVA(p_CDCMPANY);
3233 InsertSILIQRA(p_CDCMPANY);
3234 InsertSTLIQRA(p_CDCMPANY,p_nostro_riferimento);
3235 $IF Lscc_control.LMI_F2K $THEN
3236 InsertSIDICVAT(p_CDCMPANY);
3237 InsertSISUPPLIERPMT(p_CDCMPANY);
3238 InsertSTMOVIMENT(p_CDCMPANY);
3239 InsertSTRIGHE(p_CDCMPANY);
3240 InsertSTDETTIVA(p_CDCMPANY);
3241 $END
3242 InsertSTSTOREXTPROV(p_CDCMPANY);
3243 begin
3244 dbms_stats.gather_table_stats(
3245 ownname=> v_targetschema, -- NOME SCHEMA
3246 tabname=> 'SIEFFETTI' , -- NOME TABELLA
3247 estimate_percent=> 10,
3248 cascade=> TRUE,
3249 degree=> 8,
3250 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3251 granularity=> 'ALL',
3252 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3253 exception
3254 when others then
3255 v_errormsg := COALESCE (SQLERRM, '');
3256 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3257 LsLmi.lmi_addloginfo (
3258 '2000',
3259 null,
3260 'STATISTICHE SIEFFETTI',
3261 NULL,
3262 NULL,
3263 v_errormsg
3264 || ' - '
3265 || v_errorstack,
3266 LsLmi.c_INSERT_ERROR,
3267 c_TYPE_ACCOUNTING
3268 );
3269 end;
3270 AggSieffetti(p_CDCMPANY,p_nostro_riferimento);
3271 AggSIANABNK(p_CDCMPANY,p_nostro_riferimento);
3272 AggSICTRITIVPY(p_CDCMPANY,p_nostro_riferimento);
3273
3274 begin
3275 dbms_stats.gather_table_stats(
3276 ownname=> v_targetschema, -- NOME SCHEMA
3277 tabname=> 'RIGHE' , -- NOME TABELLA
3278 estimate_percent=> 10,
3279 cascade=> TRUE,
3280 degree=> 8,
3281 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3282 granularity=> 'ALL',
3283 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3284 exception
3285 when others then
3286 v_errormsg := COALESCE (SQLERRM, '');
3287 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3288 LsLmi.lmi_addloginfo (
3289 '2000',
3290 null,
3291 'STATISTICHE RIGHE',
3292 NULL,
3293 NULL,
3294 v_errormsg
3295 || ' - '
3296 || v_errorstack,
3297 LsLmi.c_INSERT_ERROR,
3298 c_TYPE_ACCOUNTING
3299 );
3300 end;
3301
3302 begin
3303 dbms_stats.gather_table_stats(
3304 ownname=> v_targetschema, -- NOME SCHEMA
3305 tabname=> 'MOVIMENT' , -- NOME TABELLA
3306 estimate_percent=> 10,
3307 cascade=> TRUE,
3308 degree=> 8,
3309 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3310 granularity=> 'ALL',
3311 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3312 exception
3313 when others then
3314 v_errormsg := COALESCE (SQLERRM, '');
3315 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3316 LsLmi.lmi_addloginfo (
3317 '2000',
3318 null,
3319 'STATISTICHE MOVIMENT',
3320 NULL,
3321 NULL,
3322 v_errormsg
3323 || ' - '
3324 || v_errorstack,
3325 LsLmi.c_INSERT_ERROR,
3326 c_TYPE_ACCOUNTING
3327 );
3328 end;
3329
3330 begin
3331 dbms_stats.gather_table_stats(
3332 ownname=> v_targetschema, -- NOME SCHEMA
3333 tabname=> 'SIBONIFICI' , -- NOME TABELLA
3334 estimate_percent=> 10,
3335 cascade=> TRUE,
3336 degree=> 8,
3337 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3338 granularity=> 'ALL',
3339 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3340 exception
3341 when others then
3342 v_errormsg := COALESCE (SQLERRM, '');
3343 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3344 LsLmi.lmi_addloginfo (
3345 '2000',
3346 null,
3347 'STATISTICHE SIBONIFICI',
3348 NULL,
3349 NULL,
3350 v_errormsg
3351 || ' - '
3352 || v_errorstack,
3353 LsLmi.c_INSERT_ERROR,
3354 c_TYPE_ACCOUNTING
3355 );
3356 end;
3357
3358 begin
3359 dbms_stats.gather_table_stats(
3360 ownname=> v_targetschema, -- NOME SCHEMA
3361 tabname=> 'DETTIVA' , -- NOME TABELLA
3362 estimate_percent=> 10,
3363 cascade=> TRUE,
3364 degree=> 8,
3365 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3366 granularity=> 'ALL',
3367 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3368 exception
3369 when others then
3370 v_errormsg := COALESCE (SQLERRM, '');
3371 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3372 LsLmi.lmi_addloginfo (
3373 '2000',
3374 null,
3375 'STATISTICHE DETTIVA',
3376 NULL,
3377 NULL,
3378 v_errormsg
3379 || ' - '
3380 || v_errorstack,
3381 LsLmi.c_INSERT_ERROR,
3382 c_TYPE_ACCOUNTING
3383 );
3384 end;
3385
3386 begin
3387 dbms_stats.gather_table_stats(
3388 ownname=> v_targetschema, -- NOME SCHEMA
3389 tabname=> 'SIRITENUTE' , -- NOME TABELLA
3390 estimate_percent=> 10,
3391 cascade=> TRUE,
3392 degree=> 8,
3393 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3394 granularity=> 'ALL',
3395 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3396 exception
3397 when others then
3398 v_errormsg := COALESCE (SQLERRM, '');
3399 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3400 LsLmi.lmi_addloginfo (
3401 '2000',
3402 null,
3403 'STATISTICHE SIRITENUTE',
3404 NULL,
3405 NULL,
3406 v_errormsg
3407 || ' - '
3408 || v_errorstack,
3409 LsLmi.c_INSERT_ERROR,
3410 c_TYPE_ACCOUNTING
3411 );
3412 end;
3413
3414 if LsLmi.IsSourceF2K(p_SourceName) then
3415 begin
3416 dbms_stats.gather_table_stats(
3417 ownname=> v_targetschema, -- NOME SCHEMA
3418 tabname=> 'STMOVIMENT' , -- NOME TABELLA
3419 estimate_percent=> 10,
3420 cascade=> TRUE,
3421 degree=> 8,
3422 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3423 granularity=> 'ALL',
3424 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3425 exception
3426 when others then
3427 v_errormsg := COALESCE (SQLERRM, '');
3428 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3429 LsLmi.lmi_addloginfo (
3430 '2000',
3431 null,
3432 'STATISTICHE STMOVIMENT',
3433 NULL,
3434 NULL,
3435 v_errormsg
3436 || ' - '
3437 || v_errorstack,
3438 LsLmi.c_INSERT_ERROR,
3439 c_TYPE_ACCOUNTING
3440 );
3441 end;
3442
3443 begin
3444 dbms_stats.gather_table_stats(
3445 ownname=> v_targetschema, -- NOME SCHEMA
3446 tabname=> 'STRIGHE' , -- NOME TABELLA
3447 estimate_percent=> 10,
3448 cascade=> TRUE,
3449 degree=> 8,
3450 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3451 granularity=> 'ALL',
3452 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3453 exception
3454 when others then
3455 v_errormsg := COALESCE (SQLERRM, '');
3456 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3457 LsLmi.lmi_addloginfo (
3458 '2000',
3459 null,
3460 'STATISTICHE STRIGHE',
3461 NULL,
3462 NULL,
3463 v_errormsg
3464 || ' - '
3465 || v_errorstack,
3466 LsLmi.c_INSERT_ERROR,
3467 c_TYPE_ACCOUNTING
3468 );
3469 end;
3470
3471 begin
3472 dbms_stats.gather_table_stats(
3473 ownname=> v_targetschema, -- NOME SCHEMA
3474 tabname=> 'STDETTIVA' , -- NOME TABELLA
3475 estimate_percent=> 10,
3476 cascade=> TRUE,
3477 degree=> 8,
3478 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3479 granularity=> 'ALL',
3480 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3481 exception
3482 when others then
3483 v_errormsg := COALESCE (SQLERRM, '');
3484 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3485 LsLmi.lmi_addloginfo (
3486 '2000',
3487 null,
3488 'STATISTICHE STDETTIVA',
3489 NULL,
3490 NULL,
3491 v_errormsg
3492 || ' - '
3493 || v_errorstack,
3494 LsLmi.c_INSERT_ERROR,
3495 c_TYPE_ACCOUNTING
3496 );
3497 end;
3498 end if;
3499
3500 begin
3501 dbms_stats.gather_table_stats(
3502 ownname=> v_targetschema, -- NOME SCHEMA
3503 tabname=> 'STSTOREXTPROV' , -- NOME TABELLA
3504 estimate_percent=> 10,
3505 cascade=> TRUE,
3506 degree=> 8,
3507 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
3508 granularity=> 'ALL',
3509 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
3510 exception
3511 when others then
3512 v_errormsg := COALESCE (SQLERRM, '');
3513 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3514 LsLmi.lmi_addloginfo (
3515 '2000',
3516 null,
3517 'STATISTICHE STSTOREXTPROV',
3518 NULL,
3519 NULL,
3520 v_errormsg
3521 || ' - '
3522 || v_errorstack,
3523 LsLmi.c_INSERT_ERROR,
3524 c_TYPE_ACCOUNTING
3525 );
3526 end;
3527 -- imposto il logging sulle tabelle migrate
3528 execute immediate 'alter table '||v_targetschema||'.moviment logging';
3529 execute immediate 'alter table '||v_targetschema||'.righe logging';
3530 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIRITENUTE LOGGING';
3531 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.DETTIVA LOGGING';
3532 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIMORADETT LOGGING';
3533 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIEFFETTI LOGGING';
3534 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIBONIFICI LOGGING';
3535 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SILIQIVA LOGGING';
3536 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STLIQIVA LOGGING';
3537 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SILIQRA LOGGING';
3538 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STLIQRA LOGGING';
3539 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SIDICVAT LOGGING';
3540 if LsLmi.IsSourceF2K(p_SourceName) then
3541 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.SISUPPLIERPMT LOGGING';
3542 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STMOVIMENT LOGGING';
3543 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STRIGHE LOGGING';
3544 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STDETTIVA LOGGING';
3545 end if;
3546 EXECUTE IMMEDIATE 'ALTER TABLE '||v_targetschema||'.STSTOREXTPROV LOGGING';
3547
3548 lsLmi.StopProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_ACCOUNTING_HAT');
3549
3550END;
3551
3552PROCEDURE Lmi_Upload_DETTIVA(
3553 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
3554 p_Errore IN OUT NOCOPY BOOLEAN,
3555 p_ID_CODE NUMBER
3556)
3557AS
3558 v_ErrorMsg VARCHAR2(4000 CHAR);
3559 v_ErrorStack VARCHAR2(4000 CHAR);
3560 v_MOVESERC LMI_CONTROLLER_ESERC.MOVESERC%TYPE;
3561BEGIN
3562 BEGIN
3563 SELECT MOVESERC
3564 INTO v_MOVESERC
3565 FROM LMI_CONTROLLER_ESERC
3566 WHERE LMI_CONTROLLER_ESERC.CDCMPANY = p_CDCMPANY
3567 AND LMI_CONTROLLER_ESERC.ID_CODE = p_ID_CODE;
3568 EXCEPTION
3569 WHEN OTHERS THEN NULL;
3570 END;
3571
3572 BEGIN
3573
3574 INSERT INTO DETTIVA(
3575 CDCMPANY,
3576 IVAESERC,
3577 IVANRMOV,
3578 IVACDRGIVA,
3579 IVANRIVA,
3580 IVACDIVA,
3581 IVAPERC,
3582 IVAIMPONIB,
3583 IVAIMPOSTA,
3584 IVADETR,
3585 IVAINDETR,
3586 IVACODSUB,
3587 IVAINDEX
3588 )
3589 SELECT
3590 LMI_DETTIVA.CDCMPANY,
3591 IVAESERC,
3592 TEMP_LMI_MOVIMENT_CONV.MOVNEWNRMOV IVANRMOV,
3593 IVACDRGIVA,
3594 IVANRIVA,
3595 IVACDIVA,
3596 IVAPERC,
3597 IVAIMPONIB,
3598 IVAIMPOSTA,
3599 IVADETR,
3600 IVAINDETR,
3601 IVACODSUB,
3602 IVAINDEX
3603 FROM LMI_DETTIVA
3604 INNER JOIN TEMP_LMI_MOVIMENT_CONV
3605 ON LMI_DETTIVA.CDCMPANY = TEMP_LMI_MOVIMENT_CONV.CDCMPANY
3606 AND LMI_DETTIVA.IVANRMOV = TEMP_LMI_MOVIMENT_CONV.MOVNRMOV
3607 AND LMI_DETTIVA.IVAESERC = TEMP_LMI_MOVIMENT_CONV.MOVESERC
3608 WHERE LMI_DETTIVA.CDCMPANY = p_CDCMPANY
3609 AND LMI_DETTIVA.IVAESERC = v_MOVESERC
3610 AND LMI_DETTIVA.TO_INSERT = 1;
3611
3612 EXCEPTION
3613 WHEN OTHERS THEN
3614 p_Errore := TRUE;
3615 v_errormsg := COALESCE (SQLERRM, '');
3616 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3617 LsLmi.lmi_addloginfo (
3618 '2000',
3619 p_ID_CODE,
3620 'DETTIVA',
3621 NULL,
3622 NULL,
3623 v_ErrorMsg||' - '|| v_ErrorStack,
3624 LsLmi.c_INSERT_ERROR,
3625 c_TYPE_ACCOUNTING
3626 );
3627 RETURN;
3628 END;
3629
3630END;
3631
3632PROCEDURE Lmi_Upload_RITENUTE(
3633 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
3634 p_Errore IN OUT NOCOPY BOOLEAN,
3635 p_ID_CODE NUMBER,
3636 p_nostro_riferimento NUMBER
3637)
3638AS
3639 v_ErrorMsg VARCHAR2(4000 CHAR);
3640 v_ErrorStack VARCHAR2(4000 CHAR);
3641 v_MOVESERC LMI_CONTROLLER_ESERC.MOVESERC%TYPE;
3642BEGIN
3643 BEGIN
3644 SELECT MOVESERC
3645 INTO v_MOVESERC
3646 FROM LMI_CONTROLLER_ESERC
3647 WHERE LMI_CONTROLLER_ESERC.CDCMPANY = p_CDCMPANY
3648 AND LMI_CONTROLLER_ESERC.ID_CODE = p_ID_CODE;
3649 EXCEPTION
3650 WHEN OTHERS THEN NULL;
3651 END;
3652
3653 BEGIN
3654
3655 INSERT INTO SIRITENUTE(
3656 CDCMPANY,
3657 RACODRA,
3658 RAESER,
3659 RACDDNE,
3660 RANUMMOV,
3661 RACODANA,
3662 RADTREG,
3663 RADTCOMP,
3664 RACODTRB,
3665 RADESAGG,
3666 RAIMPCMP,
3667 RAIMPONIB,
3668 RANSOGRA,
3669 RAIMPRA,
3670 RADTSCAD,
3671 RADTVER,
3672 RABNKRIF,
3673 RADTSTARCO,
3674 RADTENDCO,
3675 RACDATINPS,
3676 RATIPORA,
3677 RAFLGCERT,
3678 RAMODLIQ,
3679 RASTATUS,
3680 RACODRAFAT,
3681 RAIMPCMPDIV,
3682 RANSOGRADIV,
3683 RACAMBIO,
3684 RACDDIV,
3685 RAINDEX,
3686 RAIMPSOC
3687 )
3688 SELECT
3689 LMI_RITENUTE.CDCMPANY,
3690 RACODRA,
3691 RAESER,
3692 RACDDNE,
3693 TEMP_LMI_MOVIMENT_CONV.MOVNEWNRMOV RANUMMOV,
3694 LMI_ANAGR.ANACODANA RACODANA,
3695 RADTREG,
3696 RADTCOMP,
3697 RACODTRB,
3698 RADESAGG,
3699 RAIMPCMP,
3700 RAIMPONIB,
3701 RANSOGRA,
3702 RAIMPRA,
3703 RADTSCAD,
3704 RADTVER,
3705 RABNKRIF,
3706 RADTSTARCO,
3707 RADTENDCO,
3708 RACDATINPS,
3709 RATIPORA,
3710 RAFLGCERT,
3711 RAMODLIQ,
3712 RASTATUS,
3713 RACODRAFAT,
3714 RAIMPCMPDIV,
3715 RANSOGRADIV,
3716 RACAMBIO,
3717 RACDDIV,
3718 RAINDEX,
3719 NULL RAIMPSOC
3720 FROM LMI_RITENUTE
3721 INNER JOIN TEMP_LMI_MOVIMENT_CONV
3722 ON LMI_RITENUTE.CDCMPANY = TEMP_LMI_MOVIMENT_CONV.CDCMPANY
3723 AND LMI_RITENUTE.RANUMMOV = TEMP_LMI_MOVIMENT_CONV.MOVNRMOV
3724 AND LMI_RITENUTE.RAESER = TEMP_LMI_MOVIMENT_CONV.MOVESERC
3725 LEFT OUTER JOIN LMI_ANAGR
3726 ON LMI_RITENUTE.RACODANA = LMI_ANAGR.ANACODDEF
3727 WHERE LMI_RITENUTE.CDCMPANY = p_CDCMPANY
3728 AND LMI_RITENUTE.RAESER = v_MOVESERC
3729 AND LMI_RITENUTE.TO_INSERT = 1;
3730
3731 EXCEPTION
3732 WHEN OTHERS THEN
3733 p_Errore := TRUE;
3734 v_errormsg := COALESCE (SQLERRM, '');
3735 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3736 LsLmi.lmi_addloginfo (
3737 '2000',
3738 p_ID_CODE,
3739 'SIRITENUTE',
3740 NULL,
3741 NULL,
3742 v_ErrorMsg||' - '|| v_ErrorStack,
3743 LsLmi.c_INSERT_ERROR,
3744 c_TYPE_ACCOUNTING
3745 );
3746 RETURN;
3747 END;
3748
3749END;
3750
3751PROCEDURE Lmi_Upload_Accounting (
3752 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
3753 p_errore IN OUT NOCOPY BOOLEAN,
3754 p_id_code NUMBER,
3755 p_prod NUMBER,
3756 p_movbnkrif MOVIMENT.MOVBNKRIF%TYPE,
3757 p_nostro_riferimento NUMBER
3758 )
3759AS
3760
3761BEGIN
3762 p_errore := false;
3763
3764 Lmi_Upload_Moviment(p_CDCMPANY,
3765 p_errore,
3766 p_id_code,
3767 p_movbnkrif,
3768 p_nostro_riferimento
3769 );
3770
3771 IF NOT p_errore THEN
3772 Lmi_Upload_Righe(p_CDCMPANY,
3773 p_errore,
3774 p_id_code,
3775 p_prod,
3776 p_nostro_riferimento);
3777
3778 FOR X IN (
3779 SELECT CDCMPANY, RIGESERC, RIGNRMOV FROM RIGHE WHERE (CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA) IN
3780 (
3781 SELECT CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA FROM
3782 (
3783 SELECT CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA, RIGCDDIV FROM RIGHE WHERE CDCMPANY = p_CDCMPANY AND RIGCDDIV <> 'EUR' AND RIGPARTITA IS NOT NULL
3784 GROUP BY CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA, RIGCDDIV
3785 ) T GROUP BY CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA HAVING COUNT(1) > 1
3786 )
3787 GROUP BY CDCMPANY, RIGESERC, RIGNRMOV
3788 )
3789 LOOP
3790 UPDATE MOVIMENT SET MOVDIVISA = 'EUR', MOVCAMBIO = 1 WHERE CDCMPANY = X.CDCMPANY AND MOVESERC = X.RIGESERC AND MOVNRMOV = X.RIGNRMOV;
3791 UPDATE RIGHE SET RIGCDDIV = 'EUR', RIGPRCCMB = 1, RIGSPDIV = RIGSPDRIF, RIGIMPDIVD = RIGIMPRIFD, RIGIMPDIVA = RIGIMPRIFA, RIGIMPDIV = RIGIMPDRIF
3792 WHERE CDCMPANY = X.CDCMPANY AND RIGESERC = X.RIGESERC AND RIGNRMOV = X.RIGNRMOV;
3793 END LOOP;
3794 COMMIT;
3795 END IF;
3796
3797 if not p_errore then
3798 Lmi_Upload_DETTIVA( p_CDCMPANY,
3799 p_errore,
3800 p_id_code );
3801 end if;
3802
3803 if not p_errore then
3804 Lmi_Upload_RITENUTE(p_CDCMPANY,
3805 p_errore,
3806 p_id_code,
3807 p_nostro_riferimento);
3808 end if;
3809
3810END;
3811
3812PROCEDURE AggRighMov(
3813 p_nostro_riferimento NUMBER
3814)
3815AS
3816 v_errormsg CLOB;
3817 v_errorstack CLOB;
3818BEGIN
3819 LSDEBUG.DEBUGTABLEINSERT('AGGRIGHMOV','INIZIO INSERT INTO LMI_TEMP_RIGHEANA');
3820 BEGIN
3821 INSERT INTO LMI_TEMP_RIGHEANA (CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, MOVCLIFAT, ANACODANA)
3822 SELECT RIGHE.CDCMPANY CDCMPANY,
3823 RIGESERC RIGESERC,
3824 RIGNRMOV RIGNRMOV,
3825 RIGNRRIGA RIGNRRIGA,
3826 MOVCLIFAT MOVCLIFAT,
3827 (SELECT ANACODANA
3828 FROM LMI_ANAGR
3829 WHERE MOVCLIFAT = LMI_ANAGR.ANACODDEF
3830 AND LMI_ANAGR.TO_INSERT = 1
3831 ) ANACODANA
3832 FROM RIGHE
3833 LEFT OUTER JOIN LMI_MOVIMENT ON
3834 RIGHE.CDCMPANY = LMI_MOVIMENT.CDCMPANY AND
3835 RIGHE.RIGESERC = LMI_MOVIMENT.MOVESERC AND
3836 RIGHE.RIGNRMOV = LMI_MOVIMENT.MOVNEWNRMOV
3837 WHERE EXISTS
3838 (SELECT 1 FROM LMI_TEMP_CONTI WHERE LMI_TEMP_CONTI.RIGCDCONTO = RIGHE.RIGCDCONTO AND CDSYS IN ('CLI','FOR'))
3839 AND RIGCDANA IS NULL;
3840 EXCEPTION
3841 WHEN OTHERS THEN
3842 v_errormsg := COALESCE (SQLERRM, '');
3843 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3844 LsLmi.lmi_addloginfo (
3845 '2000',
3846 NULL,
3847 'INSERT INTO LMI_TEMP_RIGHEANA',
3848 NULL,
3849 NULL,
3850 v_errormsg
3851 || ' - '
3852 || v_errorstack,
3853 LsLmi.c_GENERIC_ERROR,
3854 c_TYPE_ACCOUNTING);
3855
3856 END;
3857 LSDEBUG.DEBUGTABLEINSERT('AGGRIGHMOV','FINE INSERT INTO LMI_TEMP_RIGHEANA');
3858
3859 LSDEBUG.DEBUGTABLEINSERT('AGGRIGHMOV','INIZIO UPDATE RIGHE/MOVIMENT');
3860 FOR X IN (SELECT * FROM LMI_TEMP_RIGHEANA)
3861 LOOP
3862 BEGIN
3863 UPDATE RIGHE SET RIGCDANA = X.ANACODANA WHERE
3864 RIGHE.CDCMPANY = X.CDCMPANY AND
3865 RIGHE.RIGESERC = X.RIGESERC AND
3866 RIGHE.RIGNRMOV = X.RIGNRMOV AND
3867 RIGHE.RIGNRRIGA = X.RIGNRRIGA;
3868 COMMIT;
3869 EXCEPTION
3870 WHEN OTHERS THEN
3871 v_errormsg := COALESCE (SQLERRM, '');
3872 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3873 LsLmi.lmi_addloginfo (
3874 '2000',
3875 NULL,
3876 'RIGHE_UPDATE',
3877 NULL,
3878 NULL,
3879 v_errormsg
3880 || ' - '
3881 || v_errorstack,
3882 LsLmi.c_GENERIC_ERROR,
3883 c_TYPE_ACCOUNTING);
3884
3885 END;
3886
3887
3888 BEGIN
3889 UPDATE MOVIMENT SET MOVCLIFAT = X.ANACODANA WHERE
3890 MOVIMENT.CDCMPANY = X.CDCMPANY AND
3891 MOVIMENT.MOVESERC = X.RIGESERC AND
3892 MOVIMENT.MOVNRMOV = X.RIGNRMOV;
3893 COMMIT;
3894
3895 EXCEPTION
3896 WHEN OTHERS THEN
3897 v_errormsg := COALESCE (SQLERRM, '');
3898 v_errorstack := DBMS_UTILITY.format_error_backtrace;
3899 LsLmi.lmi_addloginfo (
3900 '2000',
3901 NULL,
3902 'MOVIMENT_UPDATE',
3903 NULL,
3904 NULL,
3905 v_errormsg
3906 || ' - '
3907 || v_errorstack,
3908 LsLmi.c_GENERIC_ERROR,
3909 c_TYPE_ACCOUNTING);
3910
3911 END;
3912 END LOOP;
3913 LSDEBUG.DEBUGTABLEINSERT('AGGRIGHMOV','FINE UPDATE RIGHE/MOVIMENT');
3914END;
3915
3916$IF LsCC_Control_Target.UCL $THEN
3917PROCEDURE Split_CreditiImpliciti(
3918 p_SourceName LMI_ANAEXCODE.CDSOURCE%TYPE := NULL
3919)
3920AS
3921 PRAGMA AUTONOMOUS_TRANSACTION;
3922 v_errormsg CLOB;
3923 v_errorstack CLOB;
3924 v_cdcontoAttLoc TABCONTI.CDCONTO%TYPE;
3925 v_cdcontoCredimp TABCONTI.CDCONTO%TYPE;
3926 v_cdcontoImpMat TABCONTI.CDCONTO%TYPE;
3927 v_cdcontoTrans TABCONTI.CDCONTO%TYPE;
3928 v_NumMov MOVIMENT.MOVNRMOV%TYPE;
3929
3930BEGIN
3931 lsLmi.ResetProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI');
3932 lsLmi.StartProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI');
3933 BEGIN
3934
3935 SELECT DISTINCT CDCONTO, CDCONTO2, CDCONTO3, CDCONTOTRANS
3936 INTO v_cdcontoAttLoc, v_cdcontoCredimp, v_cdcontoImpMat, v_cdcontoTrans
3937 FROM LMI_CREDIMPL;
3938
3939 EXCEPTION
3940
3941 WHEN OTHERS THEN
3942 v_cdcontoAttLoc := NULL;
3943 v_cdcontoCredimp := NULL;
3944 v_cdcontoImpMat := NULL;
3945 v_cdcontoTrans := NULL;
3946
3947 END;
3948
3949 LSSQL.TruncateTable('TEMP_MOVIMENT');
3950 LSSQL.TruncateTable('TEMP_RIGHE');
3951
3952 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_MOVIMENT');
3953 --CREAZIONE DEL GIROCONTO PER ATTESA LOCAZIONE
3954 FOR X IN (SELECT DATARIF, CDCONTO, CDCONTOTRANS, SUM(ABS(IMPATTLOC)) IMPORTO_TOTALE,
3955 SUM(
3956 CASE WHEN IMPATTLOC > 0 THEN IMPATTLOC
3957 ELSE 0
3958 END
3959 ) IMPORTO_TOTALE_DARE,
3960 SUM(
3961 CASE WHEN IMPATTLOC < 0 THEN IMPATTLOC
3962 ELSE 0
3963 END
3964 ) IMPORTO_TOTALE_AVERE, RIGHE.CDCMPANY, RIGHE.RIGESERC, RIGHE.RIGNRMOV
3965 FROM LMI_CREDIMPL
3966 INNER JOIN
3967 (SELECT CDCMPANY, RIGESERC, DTUSER, RIGCDCONTO, MAX(RIGNRMOV) RIGNRMOV FROM RIGHE WHERE RIGCDCONTO = v_cdcontoAttLoc
3968 GROUP BY CDCMPANY, RIGESERC, DTUSER, RIGCDCONTO
3969 ) RIGHE ON
3970 LMI_CREDIMPL.CDCONTO = RIGHE.RIGCDCONTO AND
3971 LMI_CREDIMPL.DATARIF = RIGHE.DTUSER
3972 WHERE IMPATTLOC <> 0
3973 GROUP BY DATARIF, CDCONTO, CDCONTOTRANS, RIGHE.CDCMPANY, RIGHE.RIGESERC, RIGHE.RIGNRMOV
3974 ORDER BY DATARIF
3975 )
3976 LOOP
3977
3978 v_NumMov := LSLOOKUP.GETNEWNUMMOV(X.CDCMPANY, X.RIGESERC);
3979 BEGIN
3980 -- TESTATA DEL MOVIMENTO
3981 INSERT INTO TEMP_MOVIMENT (
3982 CDCMPANY, MOVNRMOV, MOVESERC, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL, MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC,
3983 MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA,
3984 MOVCDCAUS, MOVIMPBASE, MOVDIVISA, MOVCAMBIO, MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
3985 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR, MOVSTESERC,
3986 MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN,
3987 MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER, MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP,
3988 MOVINDEX, CLCTETPPAR, MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA, MOVTEDEF
3989 )
3990 SELECT
3991 CDCMPANY, v_NumMov MOVNRMOV, MOVESERC, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL, MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC,
3992 MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA,
3993 MOVCDCAUS, ABS(X.IMPORTO_TOTALE) MOVIMPBASE, MOVDIVISA, MOVCAMBIO, ABS(X.IMPORTO_TOTALE) MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
3994 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR, MOVSTESERC,
3995 MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN,
3996 MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER, MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP,
3997 MOVINDEX, CLCTETPPAR, MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA, MOVTEDEF
3998 FROM MOVIMENT
3999 WHERE MOVIMENT.CDCMPANY = X.CDCMPANY AND MOVIMENT.MOVESERC = X.RIGESERC AND MOVIMENT.MOVNRMOV = X.RIGNRMOV;
4000 EXCEPTION
4001 WHEN OTHERS THEN
4002 v_errormsg := COALESCE (SQLERRM, '');
4003 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4004 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_MOVIMENT');
4005 LsLmi.lmi_addloginfo(
4006 '2000',
4007 NULL,
4008 'INSERT TEMP_MOVIMENT',
4009 NULL,
4010 NULL,
4011 v_errormsg
4012 || ' - '
4013 || v_errorstack,
4014 LsLmi.c_INSERT_ERROR,
4015 c_TYPE_ACCOUNTING
4016 );
4017
4018 END;
4019 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_MOVIMENT');
4020 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4021 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE - AVERE
4022 BEGIN
4023 INSERT INTO TEMP_RIGHE (
4024 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4025 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4026 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4027 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4028 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4029 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4030 SELECT
4031 CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 1 RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4032 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4033 -X.IMPORTO_TOTALE_DARE RIGSPDIV,
4034 -X.IMPORTO_TOTALE_DARE RIGSPDRIF,
4035 0 RIGIMPRIFD,
4036 X.IMPORTO_TOTALE_DARE RIGIMPRIFA,
4037 0 RIGIMPDIVD,
4038 X.IMPORTO_TOTALE_DARE RIGIMPDIVA,
4039 'A' RIGSEGNO,
4040 RIGCDDIV,
4041 ABS(X.IMPORTO_TOTALE_DARE) RIGIMPDIV,
4042 RIGPRCCMB,
4043 ABS(X.IMPORTO_TOTALE_DARE) RIGIMPDRIF,
4044 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4045 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4046 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 1 RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4047 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4048 FROM RIGHE
4049 WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoAttLoc;
4050 EXCEPTION
4051 WHEN OTHERS THEN
4052 v_errormsg := COALESCE (SQLERRM, '');
4053 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4054 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4055 LsLmi.lmi_addloginfo(
4056 '2000',
4057 NULL,
4058 'INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE',
4059 NULL,
4060 NULL,
4061 v_errormsg
4062 || ' - '
4063 || v_errorstack,
4064 LsLmi.c_INSERT_ERROR,
4065 c_TYPE_ACCOUNTING
4066 );
4067 END;
4068 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE - AVERE
4069 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4070 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4071 BEGIN
4072 INSERT INTO TEMP_RIGHE (
4073 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4074 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4075 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4076 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4077 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4078 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4079 SELECT
4080 CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 2 RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4081 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4082 -X.IMPORTO_TOTALE_AVERE RIGSPDIV,
4083 -X.IMPORTO_TOTALE_AVERE RIGSPDRIF,
4084 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPRIFD,
4085 0 RIGIMPRIFA,
4086 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDIVD,
4087 0 RIGIMPDIVA,
4088 'D' RIGSEGNO,
4089 RIGCDDIV,
4090 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDIV,
4091 RIGPRCCMB,
4092 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDRIF,
4093 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4094 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4095 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 2 RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4096 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4097 FROM RIGHE
4098 WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoAttLoc;
4099 EXCEPTION
4100 WHEN OTHERS THEN
4101 v_errormsg := COALESCE (SQLERRM, '');
4102 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4103 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4104 LsLmi.lmi_addloginfo(
4105 '2000',
4106 NULL,
4107 'INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE',
4108 NULL,
4109 NULL,
4110 v_errormsg
4111 || ' - '
4112 || v_errorstack,
4113 LsLmi.c_INSERT_ERROR,
4114 c_TYPE_ACCOUNTING
4115 );
4116 END;
4117 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4118 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4119 -- ALIMENTAZIONE DELLE RIGHE DI CARICO DETTAGLIATE
4120 BEGIN
4121 INSERT INTO TEMP_RIGHE (
4122 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4123 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4124 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4125 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4126 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4127 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4128 SELECT
4129 LMI_CREDIMPL.CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 2+ROWNUM RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4130 LMI_CTROLDNEW.CONTRACT RIGCDCTR,
4131 RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4132 LMI_CREDIMPL.IMPATTLOC RIGSPDIV,
4133 LMI_CREDIMPL.IMPATTLOC RIGSPDRIF,
4134 CASE
4135 WHEN LMI_CREDIMPL.IMPATTLOC > 0 THEN ABS(LMI_CREDIMPL.IMPATTLOC)
4136 ELSE 0
4137 END RIGIMPRIFD,
4138 CASE
4139 WHEN LMI_CREDIMPL.IMPATTLOC < 0 THEN ABS(LMI_CREDIMPL.IMPATTLOC)
4140 ELSE 0
4141 END RIGIMPRIFA,
4142 CASE
4143 WHEN LMI_CREDIMPL.IMPATTLOC > 0 THEN ABS(LMI_CREDIMPL.IMPATTLOC)
4144 ELSE 0
4145 END RIGIMPDIVD,
4146 CASE
4147 WHEN LMI_CREDIMPL.IMPATTLOC < 0 THEN ABS(LMI_CREDIMPL.IMPATTLOC)
4148 ELSE 0
4149 END RIGIMPDIVA,
4150 CASE
4151 WHEN LMI_CREDIMPL.IMPATTLOC > 0 THEN 'D'
4152 ELSE 'A'
4153 END RIGSEGNO,
4154 RIGCDDIV,
4155 ABS(LMI_CREDIMPL.IMPATTLOC) RIGIMPDIV,
4156 RIGPRCCMB,
4157 ABS(LMI_CREDIMPL.IMPATTLOC) RIGIMPDRIF,
4158 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4159 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4160 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 2+ROWNUM RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4161 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4162 FROM
4163 LMI_CREDIMPL
4164 LEFT OUTER JOIN LMI_CTROLDNEW ON (
4165 LMI_CTROLDNEW.CDCMPANY = LMI_CREDIMPL.CDCMPANY AND
4166 LMI_CTROLDNEW.CONTRACT_ID = LMI_CREDIMPL.CONTRACT_ID AND
4167 LMI_CTROLDNEW.CDSOURCE = 'UCL'
4168 )
4169 LEFT OUTER JOIN
4170 (SELECT * FROM RIGHE WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoAttLoc) RIGHE ON
4171 LMI_CREDIMPL.CDCONTO = RIGHE.RIGCDCONTO AND
4172 LMI_CREDIMPL.DATARIF = RIGHE.DTUSER
4173 WHERE LMI_CREDIMPL.IMPATTLOC <> 0 AND LMI_CREDIMPL.DATARIF = X.DATARIF;
4174 EXCEPTION
4175 WHEN OTHERS THEN
4176 v_errormsg := COALESCE (SQLERRM, '');
4177 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4178 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4179 LsLmi.lmi_addloginfo(
4180 '2000',
4181 NULL,
4182 'INSERT TEMP_RIGHE DI CARICO DETTAGLIATE',
4183 NULL,
4184 NULL,
4185 v_errormsg
4186 || ' - '
4187 || v_errorstack,
4188 LsLmi.c_INSERT_ERROR,
4189 c_TYPE_ACCOUNTING
4190 );
4191 END;
4192
4193 END LOOP;
4194
4195 COMMIT;
4196 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4197 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_MOVIMENT');
4198 --CREAZIONE DEL GIROCONTO PER CREDITI IMPLICITI
4199 FOR X IN (SELECT DATARIF, CDCONTO2, CDCONTOTRANS, SUM(ABS(IMPCREDIMPL)) IMPORTO_TOTALE,
4200 SUM(
4201 CASE WHEN IMPCREDIMPL > 0 THEN IMPCREDIMPL
4202 ELSE 0
4203 END
4204 ) IMPORTO_TOTALE_DARE,
4205 SUM(
4206 CASE WHEN IMPCREDIMPL < 0 THEN IMPCREDIMPL
4207 ELSE 0
4208 END
4209 ) IMPORTO_TOTALE_AVERE, RIGHE.CDCMPANY, RIGHE.RIGESERC, RIGHE.RIGNRMOV
4210 FROM LMI_CREDIMPL
4211 INNER JOIN
4212 (SELECT CDCMPANY, RIGESERC, DTUSER, RIGCDCONTO, MAX(RIGNRMOV) RIGNRMOV FROM RIGHE WHERE RIGCDCONTO = v_cdcontoCredimp
4213 GROUP BY CDCMPANY, RIGESERC, DTUSER, RIGCDCONTO
4214 ) RIGHE ON
4215 LMI_CREDIMPL.CDCONTO2 = RIGHE.RIGCDCONTO AND
4216 LMI_CREDIMPL.DATARIF = RIGHE.DTUSER
4217 WHERE IMPCREDIMPL <> 0
4218 GROUP BY DATARIF, CDCONTO2, CDCONTOTRANS, RIGHE.CDCMPANY, RIGHE.RIGESERC, RIGHE.RIGNRMOV
4219 ORDER BY DATARIF
4220 )
4221 LOOP
4222
4223 v_NumMov := LSLOOKUP.GETNEWNUMMOV(X.CDCMPANY, X.RIGESERC);
4224
4225 BEGIN
4226 -- TESTATA DEL MOVIMENTO
4227 INSERT INTO TEMP_MOVIMENT (
4228 CDCMPANY, MOVNRMOV, MOVESERC, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL, MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC,
4229 MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA,
4230 MOVCDCAUS, MOVIMPBASE, MOVDIVISA, MOVCAMBIO, MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
4231 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR, MOVSTESERC,
4232 MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN,
4233 MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER, MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP,
4234 MOVINDEX, CLCTETPPAR, MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA, MOVTEDEF
4235 )
4236 SELECT
4237 CDCMPANY, v_NumMov MOVNRMOV, MOVESERC, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL, MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC,
4238 MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA,
4239 MOVCDCAUS, ABS(X.IMPORTO_TOTALE) MOVIMPBASE, MOVDIVISA, MOVCAMBIO, ABS(X.IMPORTO_TOTALE) MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
4240 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR, MOVSTESERC,
4241 MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN,
4242 MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER, MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP,
4243 MOVINDEX, CLCTETPPAR, MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA, MOVTEDEF
4244 FROM MOVIMENT
4245 WHERE MOVIMENT.CDCMPANY = X.CDCMPANY AND MOVIMENT.MOVESERC = X.RIGESERC AND MOVIMENT.MOVNRMOV = X.RIGNRMOV;
4246 EXCEPTION
4247 WHEN OTHERS THEN
4248 v_errormsg := COALESCE (SQLERRM, '');
4249 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4250 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_MOVIMENT');
4251 LsLmi.lmi_addloginfo(
4252 '2000',
4253 NULL,
4254 'INSERT TEMP_MOVIMENT',
4255 NULL,
4256 NULL,
4257 v_errormsg
4258 || ' - '
4259 || v_errorstack,
4260 LsLmi.c_INSERT_ERROR,
4261 c_TYPE_ACCOUNTING
4262 );
4263 END;
4264 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_MOVIMENT');
4265 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4266 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE - AVERE
4267 BEGIN
4268 INSERT INTO TEMP_RIGHE (
4269 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4270 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4271 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4272 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4273 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4274 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4275 SELECT
4276 CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 1 RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4277 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4278 -X.IMPORTO_TOTALE_DARE RIGSPDIV,
4279 -X.IMPORTO_TOTALE_DARE RIGSPDRIF,
4280 0 RIGIMPRIFD,
4281 X.IMPORTO_TOTALE_DARE RIGIMPRIFA,
4282 0 RIGIMPDIVD,
4283 X.IMPORTO_TOTALE_DARE RIGIMPDIVA,
4284 'A' RIGSEGNO,
4285 RIGCDDIV,
4286 ABS(X.IMPORTO_TOTALE_DARE) RIGIMPDIV,
4287 RIGPRCCMB,
4288 ABS(X.IMPORTO_TOTALE_DARE) RIGIMPDRIF,
4289 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4290 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4291 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 1 RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4292 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4293 FROM RIGHE
4294 WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoCredimp;
4295 EXCEPTION
4296 WHEN OTHERS THEN
4297 v_errormsg := COALESCE (SQLERRM, '');
4298 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4299 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4300 LsLmi.lmi_addloginfo(
4301 '2000',
4302 NULL,
4303 'INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE',
4304 NULL,
4305 NULL,
4306 v_errormsg
4307 || ' - '
4308 || v_errorstack,
4309 LsLmi.c_INSERT_ERROR,
4310 c_TYPE_ACCOUNTING
4311 );
4312 END;
4313 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE - AVERE
4314 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4315 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4316 BEGIN
4317 INSERT INTO TEMP_RIGHE (
4318 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4319 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4320 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4321 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4322 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4323 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4324 SELECT
4325 CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 2 RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4326 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4327 -X.IMPORTO_TOTALE_AVERE RIGSPDIV,
4328 -X.IMPORTO_TOTALE_AVERE RIGSPDRIF,
4329 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPRIFD,
4330 0 RIGIMPRIFA,
4331 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDIVD,
4332 0 RIGIMPDIVA,
4333 'D' RIGSEGNO,
4334 RIGCDDIV,
4335 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDIV,
4336 RIGPRCCMB,
4337 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDRIF,
4338 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4339 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4340 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 2 RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4341 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4342 FROM RIGHE
4343 WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoCredimp;
4344 EXCEPTION
4345 WHEN OTHERS THEN
4346 v_errormsg := COALESCE (SQLERRM, '');
4347 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4348 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4349 LsLmi.lmi_addloginfo(
4350 '2000',
4351 NULL,
4352 'INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE',
4353 NULL,
4354 NULL,
4355 v_errormsg
4356 || ' - '
4357 || v_errorstack,
4358 LsLmi.c_INSERT_ERROR,
4359 c_TYPE_ACCOUNTING
4360 );
4361
4362 END;
4363 -- ALIMENTAZIONE DELLE RIGHE DI CARICO DETTAGLIATE
4364 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4365 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4366 BEGIN
4367 INSERT INTO TEMP_RIGHE (
4368 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4369 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4370 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4371 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4372 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4373 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4374 SELECT
4375 LMI_CREDIMPL.CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 2+ROWNUM RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4376 LMI_CTROLDNEW.CONTRACT RIGCDCTR,
4377 RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4378 LMI_CREDIMPL.IMPCREDIMPL RIGSPDIV,
4379 LMI_CREDIMPL.IMPCREDIMPL RIGSPDRIF,
4380 CASE
4381 WHEN LMI_CREDIMPL.IMPCREDIMPL > 0 THEN ABS(LMI_CREDIMPL.IMPCREDIMPL)
4382 ELSE 0
4383 END RIGIMPRIFD,
4384 CASE
4385 WHEN LMI_CREDIMPL.IMPCREDIMPL < 0 THEN ABS(LMI_CREDIMPL.IMPCREDIMPL)
4386 ELSE 0
4387 END RIGIMPRIFA,
4388 CASE
4389 WHEN LMI_CREDIMPL.IMPCREDIMPL > 0 THEN ABS(LMI_CREDIMPL.IMPCREDIMPL)
4390 ELSE 0
4391 END RIGIMPDIVD,
4392 CASE
4393 WHEN LMI_CREDIMPL.IMPCREDIMPL < 0 THEN ABS(LMI_CREDIMPL.IMPCREDIMPL)
4394 ELSE 0
4395 END RIGIMPDIVA,
4396 CASE
4397 WHEN LMI_CREDIMPL.IMPCREDIMPL > 0 THEN 'D'
4398 ELSE 'A'
4399 END RIGSEGNO,
4400 RIGCDDIV,
4401 ABS(LMI_CREDIMPL.IMPCREDIMPL) RIGIMPDIV,
4402 RIGPRCCMB,
4403 ABS(LMI_CREDIMPL.IMPCREDIMPL) RIGIMPDRIF,
4404 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4405 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4406 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 2+ROWNUM RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4407 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4408 FROM
4409 LMI_CREDIMPL
4410 LEFT OUTER JOIN LMI_CTROLDNEW ON (
4411 LMI_CTROLDNEW.CDCMPANY = LMI_CREDIMPL.CDCMPANY AND
4412 LMI_CTROLDNEW.CONTRACT_ID = LMI_CREDIMPL.CONTRACT_ID AND
4413 LMI_CTROLDNEW.CDSOURCE = 'UCL'
4414 )
4415 LEFT OUTER JOIN
4416 (SELECT * FROM RIGHE WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoCredimp) RIGHE ON
4417 LMI_CREDIMPL.CDCONTO2 = RIGHE.RIGCDCONTO AND
4418 LMI_CREDIMPL.DATARIF = RIGHE.DTUSER
4419 WHERE LMI_CREDIMPL.IMPCREDIMPL <> 0 AND LMI_CREDIMPL.DATARIF = X.DATARIF;
4420 EXCEPTION
4421 WHEN OTHERS THEN
4422 v_errormsg := COALESCE (SQLERRM, '');
4423 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4424 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4425 LsLmi.lmi_addloginfo(
4426 '2000',
4427 NULL,
4428 'INSERT TEMP_RIGHE DI CARICO DETTAGLIATE',
4429 NULL,
4430 NULL,
4431 v_errormsg
4432 || ' - '
4433 || v_errorstack,
4434 LsLmi.c_INSERT_ERROR,
4435 c_TYPE_ACCOUNTING
4436 );
4437 END;
4438 END LOOP;
4439
4440 COMMIT;
4441 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4442 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_MOVIMENT');
4443 --CREAZIONE DEL GIROCONTO PER CREDITI MATURATI
4444
4445 FOR X IN (SELECT DATARIF, CDCONTO3, CDCONTOTRANS, SUM(ABS(IMPMAT)) IMPORTO_TOTALE,
4446 SUM(
4447 CASE WHEN IMPMAT > 0 THEN IMPMAT
4448 ELSE 0
4449 END
4450 ) IMPORTO_TOTALE_DARE,
4451 SUM(
4452 CASE WHEN IMPMAT < 0 THEN IMPMAT
4453 ELSE 0
4454 END
4455 ) IMPORTO_TOTALE_AVERE, RIGHE.CDCMPANY, RIGHE.RIGESERC, RIGHE.RIGNRMOV
4456 FROM LMI_CREDIMPL
4457 INNER JOIN
4458 (SELECT CDCMPANY, RIGESERC, DTUSER, RIGCDCONTO, MAX(RIGNRMOV) RIGNRMOV FROM RIGHE WHERE RIGCDCONTO = v_cdcontoImpMat
4459 GROUP BY CDCMPANY, RIGESERC, DTUSER, RIGCDCONTO
4460 ) RIGHE ON
4461 LMI_CREDIMPL.CDCONTO3 = RIGHE.RIGCDCONTO AND
4462 LMI_CREDIMPL.DATARIF = RIGHE.DTUSER
4463 WHERE IMPMAT <> 0
4464 GROUP BY DATARIF, CDCONTO3, CDCONTOTRANS, RIGHE.CDCMPANY, RIGHE.RIGESERC, RIGHE.RIGNRMOV
4465 ORDER BY DATARIF
4466 )
4467 LOOP
4468
4469 v_NumMov := LSLOOKUP.GETNEWNUMMOV(X.CDCMPANY, X.RIGESERC);
4470
4471 -- TESTATA DEL MOVIMENTO
4472 BEGIN
4473 INSERT INTO TEMP_MOVIMENT (
4474 CDCMPANY, MOVNRMOV, MOVESERC, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL, MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC,
4475 MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA,
4476 MOVCDCAUS, MOVIMPBASE, MOVDIVISA, MOVCAMBIO, MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
4477 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR, MOVSTESERC,
4478 MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN,
4479 MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER, MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP,
4480 MOVINDEX, CLCTETPPAR, MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA, MOVTEDEF
4481 )
4482 SELECT
4483 CDCMPANY, v_NumMov MOVNRMOV, MOVESERC, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL, MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC,
4484 MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA,
4485 MOVCDCAUS, ABS(X.IMPORTO_TOTALE) MOVIMPBASE, MOVDIVISA, MOVCAMBIO, ABS(X.IMPORTO_TOTALE) MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
4486 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR, MOVSTESERC,
4487 MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN,
4488 MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER, MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP,
4489 MOVINDEX, CLCTETPPAR, MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA, MOVTEDEF
4490 FROM MOVIMENT
4491 WHERE MOVIMENT.CDCMPANY = X.CDCMPANY AND MOVIMENT.MOVESERC = X.RIGESERC AND MOVIMENT.MOVNRMOV = X.RIGNRMOV;
4492 EXCEPTION
4493 WHEN OTHERS THEN
4494 v_errormsg := COALESCE (SQLERRM, '');
4495 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4496 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_MOVIMENT');
4497 LsLmi.lmi_addloginfo(
4498 '2000',
4499 NULL,
4500 'INSERT TEMP_MOVIMENT ',
4501 NULL,
4502 NULL,
4503 v_errormsg
4504 || ' - '
4505 || v_errorstack,
4506 LsLmi.c_INSERT_ERROR,
4507 c_TYPE_ACCOUNTING
4508 );
4509 END;
4510 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE
4511 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_MOVIMENT');
4512 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4513 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE - AVERE
4514 BEGIN
4515 INSERT INTO TEMP_RIGHE (
4516 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4517 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4518 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4519 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4520 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4521 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4522 SELECT
4523 CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 1 RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4524 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4525 -X.IMPORTO_TOTALE_DARE RIGSPDIV,
4526 -X.IMPORTO_TOTALE_DARE RIGSPDRIF,
4527 0 RIGIMPRIFD,
4528 X.IMPORTO_TOTALE_DARE RIGIMPRIFA,
4529 0 RIGIMPDIVD,
4530 X.IMPORTO_TOTALE_DARE RIGIMPDIVA,
4531 'A' RIGSEGNO,
4532 RIGCDDIV,
4533 ABS(X.IMPORTO_TOTALE_DARE) RIGIMPDIV,
4534 RIGPRCCMB,
4535 ABS(X.IMPORTO_TOTALE_DARE) RIGIMPDRIF,
4536 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4537 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4538 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 1 RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4539 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4540 FROM RIGHE
4541 WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoImpMat;
4542 EXCEPTION
4543 WHEN OTHERS THEN
4544 v_errormsg := COALESCE (SQLERRM, '');
4545 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4546 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4547 LsLmi.lmi_addloginfo(
4548 '2000',
4549 NULL,
4550 'INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE ',
4551 NULL,
4552 NULL,
4553 v_errormsg
4554 || ' - '
4555 || v_errorstack,
4556 LsLmi.c_INSERT_ERROR,
4557 c_TYPE_ACCOUNTING
4558 );
4559 END;
4560 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
4561 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4562 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE - AVERE
4563 BEGIN
4564 INSERT INTO TEMP_RIGHE (
4565 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4566 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4567 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4568 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4569 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4570 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4571 SELECT
4572 CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 2 RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4573 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4574 -X.IMPORTO_TOTALE_AVERE RIGSPDIV,
4575 -X.IMPORTO_TOTALE_AVERE RIGSPDRIF,
4576 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPRIFD,
4577 0 RIGIMPRIFA,
4578 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDIVD,
4579 0 RIGIMPDIVA,
4580 'D' RIGSEGNO,
4581 RIGCDDIV,
4582 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDIV,
4583 RIGPRCCMB,
4584 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDRIF,
4585 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4586 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4587 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 2 RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4588 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4589 FROM RIGHE
4590 WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoImpMat;
4591 EXCEPTION
4592 WHEN OTHERS THEN
4593 v_errormsg := COALESCE (SQLERRM, '');
4594 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4595 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4596 LsLmi.lmi_addloginfo(
4597 '2000',
4598 NULL,
4599 'INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE ',
4600 NULL,
4601 NULL,
4602 v_errormsg
4603 || ' - '
4604 || v_errorstack,
4605 LsLmi.c_INSERT_ERROR,
4606 c_TYPE_ACCOUNTING
4607 );
4608 END;
4609 -- ALIMENTAZIONE DELLE RIGHE DI CARICO DETTAGLIATE
4610 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
4611 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4612 BEGIN
4613 INSERT INTO TEMP_RIGHE (
4614 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4615 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
4616 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4617 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4618 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4619 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
4620 SELECT
4621 LMI_CREDIMPL.CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 2+ROWNUM RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
4622 LMI_CTROLDNEW.CONTRACT RIGCDCTR,
4623 RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
4624 LMI_CREDIMPL.IMPMAT RIGSPDIV,
4625 LMI_CREDIMPL.IMPMAT RIGSPDRIF,
4626 CASE
4627 WHEN LMI_CREDIMPL.IMPMAT > 0 THEN ABS(LMI_CREDIMPL.IMPMAT)
4628 ELSE 0
4629 END RIGIMPRIFD,
4630 CASE
4631 WHEN LMI_CREDIMPL.IMPMAT < 0 THEN ABS(LMI_CREDIMPL.IMPMAT)
4632 ELSE 0
4633 END RIGIMPRIFA,
4634 CASE
4635 WHEN LMI_CREDIMPL.IMPMAT > 0 THEN ABS(LMI_CREDIMPL.IMPMAT)
4636 ELSE 0
4637 END RIGIMPDIVD,
4638 CASE
4639 WHEN LMI_CREDIMPL.IMPMAT < 0 THEN ABS(LMI_CREDIMPL.IMPMAT)
4640 ELSE 0
4641 END RIGIMPDIVA,
4642 CASE
4643 WHEN LMI_CREDIMPL.IMPMAT > 0 THEN 'D'
4644 ELSE 'A'
4645 END RIGSEGNO,
4646 RIGCDDIV,
4647 ABS(LMI_CREDIMPL.IMPMAT) RIGIMPDIV,
4648 RIGPRCCMB,
4649 ABS(LMI_CREDIMPL.IMPMAT) RIGIMPDRIF,
4650 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
4651 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
4652 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 2+ROWNUM RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
4653 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
4654 FROM
4655 LMI_CREDIMPL
4656 LEFT OUTER JOIN LMI_CTROLDNEW ON (
4657 LMI_CTROLDNEW.CDCMPANY = LMI_CREDIMPL.CDCMPANY AND
4658 LMI_CTROLDNEW.CONTRACT_ID = LMI_CREDIMPL.CONTRACT_ID AND
4659 LMI_CTROLDNEW.CDSOURCE = 'UCL'
4660 )
4661 LEFT OUTER JOIN
4662 (SELECT * FROM RIGHE WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = v_cdcontoImpMat) RIGHE ON
4663 LMI_CREDIMPL.CDCONTO3 = RIGHE.RIGCDCONTO AND
4664 LMI_CREDIMPL.DATARIF = RIGHE.DTUSER
4665 WHERE LMI_CREDIMPL.IMPMAT <> 0 AND LMI_CREDIMPL.DATARIF = X.DATARIF;
4666 EXCEPTION
4667 WHEN OTHERS THEN
4668 v_errormsg := COALESCE (SQLERRM, '');
4669 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4670 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4671 LsLmi.lmi_addloginfo(
4672 '2000',
4673 NULL,
4674 'INSERT TEMP_RIGHE DI CARICO DETTAGLIATE',
4675 NULL,
4676 NULL,
4677 v_errormsg
4678 || ' - '
4679 || v_errorstack,
4680 LsLmi.c_INSERT_ERROR,
4681 c_TYPE_ACCOUNTING
4682 );
4683 END;
4684 COMMIT;
4685 END LOOP;
4686 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
4687 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT MOVIMENT');
4688
4689
4690 BEGIN
4691 FOR X IN (SELECT * FROM RIGHE WHERE RIGCDCONTO IN (SELECT DISTINCT CDCONTO FROM LMI_CREDIMPL) AND RIGCDCTR IS NOT NULL)
4692 LOOP
4693 UPDATE RIGHE SET RIGCDANA = (SELECT CDCUSTOMER FROM SICTRHEAD WHERE CDCMPANY = X.CDCMPANY AND CONTRACT = X.RIGCDCTR)
4694 WHERE CDCMPANY = X.CDCMPANY AND RIGESERC = X.RIGESERC AND RIGNRMOV = X.RIGNRMOV AND RIGNRRIGA = X.RIGNRRIGA AND RIGCDCTR IS NOT NULL;
4695 COMMIT;
4696 END LOOP;
4697 EXCEPTION
4698 WHEN OTHERS THEN
4699 v_errormsg := COALESCE (SQLERRM, '');
4700 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4701 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ UPDATE RIGCDANA');
4702 LsLmi.lmi_addloginfo(
4703 '2000',
4704 NULL,
4705 'RIGHE_UPDATE',
4706 NULL,
4707 NULL,
4708 v_errormsg
4709 || ' - '
4710 || v_errorstack,
4711 LsLmi.c_INSERT_ERROR,
4712 c_TYPE_ACCOUNTING);
4713 END;
4714 BEGIN
4715 INSERT INTO MOVIMENT SELECT * FROM TEMP_MOVIMENT;
4716 COMMIT;
4717 EXCEPTION
4718 WHEN OTHERS THEN
4719 v_errormsg := COALESCE (SQLERRM, '');
4720 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4721 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT MOVIMENT');
4722 LsLmi.lmi_addloginfo(
4723 '2000',
4724 NULL,
4725 'MOVIMENT',
4726 NULL,
4727 NULL,
4728 v_errormsg
4729 || ' - '
4730 || v_errorstack,
4731 LsLmi.c_INSERT_ERROR,
4732 c_TYPE_ACCOUNTING
4733 );
4734 END;
4735 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT MOVIMENT');
4736 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','INIZIO INSERT RIGHE');
4737 BEGIN
4738 INSERT INTO RIGHE SELECT * FROM TEMP_RIGHE;
4739 COMMIT;
4740 EXCEPTION
4741 WHEN OTHERS THEN
4742 v_errormsg := COALESCE (SQLERRM, '');
4743 v_errorstack := DBMS_UTILITY.format_error_backtrace;
4744 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI','SPLIT_CREDITIIMPLICITI/ INSERT RIGHE');
4745 LsLmi.lmi_addloginfo(
4746 '2000',
4747 NULL,
4748 'RIGHE',
4749 NULL,
4750 NULL,
4751 v_errormsg
4752 || ' - '
4753 || v_errorstack,
4754 LsLmi.c_INSERT_ERROR,
4755 c_TYPE_ACCOUNTING
4756 );
4757 END;
4758 LsDebug.debugtableinsert('SPLIT_CREDITIIMPLICITI','FINE INSERT RIGHE');
4759 lsLmi.StopProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CREDITIIMPLICITI');
4760
4761END;
4762$END
4763--
4764$IF LsCC_Control_Target.UCL $THEN
4765PROCEDURE Calcola_Nomenclatura_GEMO(
4766 p_CodCompany TCCOMPANY.CDCMPANY%TYPE
4767)
4768AS
4769 v_Bo_SessionID VARCHAR2(200 CHAR) := 'BATCH_SESSION_LMI';
4770 v_Context NUMBER(9) := 1;
4771 v_SISOFFCTR SISOFFCTR%ROWTYPE;
4772 v_SOFFEXTCTR SISOFFCTR.SOFFEXTCTR%TYPE;
4773 v_SOFFEXTANA SISOFFCTR.SOFFEXTANA%TYPE;
4774 v_IsSubentrato NUMBER(1) := 1;
4775
4776 CURSOR v_SISOFFCTR_Cur IS
4777 SELECT
4778 SISOFFCTR.*
4779 FROM
4780 SISOFFCTR
4781 WHERE SISOFFCTR.SOFFCDSMIST = LSDbConst_Workout.c_GEMO;
4782
4783begin
4784 LsGeneric.CheckCodCompanyParam(p_CodCompany);
4785
4786 LSDEBUG.DEBUGTABLEINSERT('LMI_UPLOAD_WORKOUT_HAT','INIZIO CALCOLA_NOMENCLATURA_GEMO');
4787 OPEN v_SISOFFCTR_Cur;
4788 LOOP
4789
4790 FETCH v_SISOFFCTR_Cur INTO v_SISOFFCTR;
4791 EXIT WHEN v_SISOFFCTR_Cur%NOTFOUND;
4792
4793 BEGIN
4794 SELECT 0
4795 INTO v_IsSubentrato
4796 FROM SICTRHEAD
4797 WHERE SICTRHEAD.CDCMPANY = v_SISOFFCTR.CDCMPANY
4798 AND SICTRHEAD.CONTRACT = v_SISOFFCTR.SOFFCODCTR
4799 AND SICTRHEAD.CDCUSTOMER = v_SISOFFCTR.SOFFCDCUSTOMER;
4800 EXCEPTION
4801 WHEN NO_DATA_FOUND OR TOO_MANY_ROWS THEN
4802 v_IsSubentrato := 1;
4803 END;
4804
4805 v_SOFFEXTCTR := LsWorkoutUCL.BuildGemoContractCode(
4806 p_CodCompany ,
4807 v_Bo_SessionID ,
4808 v_Context ,
4809 v_SISOFFCTR.SOFFCODCTR ,
4810 LsSql.NumberToBoolean(v_IsSubentrato) );
4811
4812 v_SOFFEXTANA := LsWorkoutUCL.BuildGemoThirdPartyCode(
4813 p_CodCompany ,
4814 v_Bo_SessionID ,
4815 v_Context ,
4816 v_SISOFFCTR.SOFFCDCUSTOMER );
4817
4818 UPDATE SISOFFCTR
4819 SET SISOFFCTR.SOFFEXTCTR = v_SOFFEXTCTR,
4820 SISOFFCTR.SOFFEXTANA = v_SOFFEXTANA
4821 WHERE SISOFFCTR.CDCMPANY = v_SISOFFCTR.CDCMPANY
4822 AND SISOFFCTR.SOFFCDDNE = v_SISOFFCTR.SOFFCDDNE
4823 AND SISOFFCTR.SOFFCDCUSTOMER = v_SISOFFCTR.SOFFCDCUSTOMER
4824 AND SISOFFCTR.SOFFCODCTR = v_SISOFFCTR.SOFFCODCTR;
4825
4826 END LOOP;
4827 CLOSE v_SISOFFCTR_Cur;
4828
4829 COMMIT;
4830 LSDEBUG.DEBUGTABLEINSERT('LMI_UPLOAD_WORKOUT_HAT','FINE CALCOLA_NOMENCLATURA_GEMO');
4831end;
4832$END
4833--
4834$IF LsCC_Control_Target.BO_WORKOUT $THEN
4835PROCEDURE Ricrea_SISTSAFFIDI(
4836 p_CodCompany TCCOMPANY.CDCMPANY%TYPE
4837)
4838AS
4839 v_Bo_SessionID VARCHAR2(200 CHAR) := 'BATCH_SESSION_LMI';
4840 v_Context NUMBER(9) := 1;
4841
4842 CURSOR v_SISOFFANA_Cur IS
4843 SELECT SISOFFANA.*
4844 FROM SISOFFANA
4845 WHERE SISOFFANA.SOFFCDSMIST = lsDbConst_Workout.c_EPC;
4846
4847 v_SISTSAFFIDI SISTSAFFIDI%ROWTYPE;
4848 V_SISOFFANA_ROW SISOFFANA%ROWTYPE;
4849 v_WarningList VARCHAR(32000 CHAR);
4850 v_SOFFNUMAFF_Max LMI_SOFFCTR.SOFFNUMAFF%TYPE;
4851begin
4852 LSDEBUG.DEBUGTABLEINSERT('LMI_UPLOAD_WORKOUT_HAT','INIZIO RICREA_SISTSAFFIDI');
4853
4854 SELECT MAX(LMI_SOFFCTR.SOFFNUMAFF) INTO v_SOFFNUMAFF_Max from lmi_soffctr;
4855
4856 UPDATE LMI_CODICI
4857 SET LMI_CODICI.LASTCODICE = v_SOFFNUMAFF_Max + 1
4858 WHERE LMI_CODICI.CDCMPANY = p_CodCompany
4859 AND LMI_CODICI.TABELLA = 'SISOFFANA';
4860
4861 OPEN v_SISOFFANA_Cur;
4862 LOOP
4863
4864 FETCH v_SISOFFANA_Cur INTO v_SISOFFANA_Row;
4865 EXIT WHEN v_SISOFFANA_Cur%NOTFOUND;
4866
4867 /* Creazione affido */
4868 v_SISTSAFFIDI.CDCMPANY := v_SISOFFANA_Row.CDCMPANY;
4869 v_SISTSAFFIDI.ANACODANA := v_SISOFFANA_Row.SOFFCODANA;
4870
4871 if v_SISOFFANA_Row.SOFFNUMAFF is not null then
4872 v_SISTSAFFIDI.CODAFFIDO := v_SISOFFANA_Row.SOFFNUMAFF;
4873 else
4874 v_SISTSAFFIDI.CODAFFIDO := LsLmi.GetProgressivo(v_SISOFFANA_Row.CDCMPANY ,'SISOFFANA');
4875 end if;
4876
4877 UPDATE SISOFFANA
4878 SET SISOFFANA.SOFFNUMAFF = v_SISTSAFFIDI.CODAFFIDO
4879 WHERE SISOFFANA.CDCMPANY = v_SISOFFANA_Row.CDCMPANY
4880 AND SISOFFANA.SOFFCODANA = v_SISOFFANA_Row.SOFFCODANA;
4881
4882 v_SISTSAFFIDI.STARTAFFAMOUNT := LsWorkout.getAffAmountByCustomer(v_SISOFFANA_Row.CDCMPANY,v_SISOFFANA_Row.SOFFCODANA);
4883
4884 v_SISTSAFFIDI.DTOPENAFFEXT := LsTime.GetDate();
4885
4886 INSERT INTO SISTSAFFIDI
4887 (CDCMPANY,ANACODANA,CODAFFIDO,STARTAFFAMOUNT,DTOPENAFFEXT,BO_TOKEN)
4888 VALUES (v_SISTSAFFIDI.CDCMPANY,v_SISTSAFFIDI.ANACODANA,v_SISTSAFFIDI.CODAFFIDO,
4889 v_SISTSAFFIDI.STARTAFFAMOUNT,v_SISTSAFFIDI.DTOPENAFFEXT,LsDbConst_Lmi.c_LMI_TOKEN);
4890
4891 END LOOP;
4892 CLOSE v_SISOFFANA_Cur;
4893
4894 COMMIT;
4895
4896 LSDEBUG.DEBUGTABLEINSERT('LMI_UPLOAD_WORKOUT_HAT','FINE RICREA_SISTSAFFIDI');
4897END;
4898$END
4899--
4900$IF LsCC_Control_Target.BO_WORKOUT $THEN
4901PROCEDURE Aggiorna_SISOFFANA(
4902 p_CodCompany TCCOMPANY.CDCMPANY%TYPE
4903)
4904AS
4905 v_Bo_SessionID VARCHAR2(200 CHAR) := 'BATCH_SESSION_LMI';
4906 v_Context NUMBER(9) := 1;
4907 v_SISOFFCTR SISOFFCTR%ROWTYPE;
4908 v_SISOFFANA SISOFFANA%ROWTYPE;
4909 v_dummy BOOLEAN;
4910 v_GRPCODGRPSOC TABGRPANA.GRPCODGRP%TYPE;
4911 v_IsPartOfPrimaryCompanyGroup BOOLEAN;
4912 v_GRPCODGRP TABGRPANA.GRPCODGRP%TYPE;
4913 v_IsPartOfGroup BOOLEAN;
4914 V_WARNINGLIST VARCHAR2(32000 CHAR);
4915 v_NUMPTF_CTR NUMBER(9);
4916 v_NUMPTF_ANA NUMBER(9);
4917 v_NUMGIUDI_CTR NUMBER(9);
4918 v_NUMGIUDI_ANA NUMBER(9);
4919 v_NUMATTQ_CTR NUMBER(9);
4920 v_NUMATTQ_ANA NUMBER(9);
4921
4922 CURSOR v_SISOFFCTR_Cur IS
4923 SELECT
4924 SISOFFCTR.*
4925 FROM
4926 SISOFFCTR;
4927
4928begin
4929 LsGeneric.CheckCodCompanyParam(p_CodCompany);
4930
4931 LSDEBUG.DEBUGTABLEINSERT('LMI_UPLOAD_WORKOUT_HAT','INIZIO RICREA_SISOFFANA');
4932 OPEN v_SISOFFCTR_Cur;
4933 LOOP
4934 v_dummy := TRUE;
4935 FETCH v_SISOFFCTR_Cur INTO v_SISOFFCTR;
4936 EXIT WHEN v_SISOFFCTR_Cur%NOTFOUND;
4937
4938 LsWorkout.IsPartOfPrimaryCompanyGroup(
4939 p_CodCompany ,
4940 v_Bo_SessionID ,
4941 v_Context ,
4942 v_SISOFFCTR.SOFFCDCUSTOMER ,
4943 v_GRPCODGRPSOC ,
4944 v_IsPartOfPrimaryCompanyGroup );
4945
4946 LsWorkout.IsPartOfGroup(
4947 p_CodCompany ,
4948 v_Bo_SessionID ,
4949 v_Context ,
4950 v_SISOFFCTR.SOFFCDCUSTOMER ,
4951 v_GRPCODGRP ,
4952 v_IsPartOfGroup );
4953
4954 /* Inserimento SISOFFANA*/
4955 BEGIN
4956 SELECT * INTO v_SISOFFANA FROM SISOFFANA
4957 WHERE SISOFFANA.CDCMPANY = v_SISOFFCTR.CDCMPANY
4958 AND SISOFFANA.SOFFCODANA = v_SISOFFCTR.SOFFCDCUSTOMER;
4959 EXCEPTION
4960 WHEN OTHERS THEN
4961 v_SISOFFANA := NULL;
4962 v_dummy := FALSE;
4963 END;
4964
4965 BEGIN
4966 SELECT NUMPTF INTO v_NUMPTF_CTR FROM INTCDPTF
4967 WHERE INTCDPTF.CODE = v_SISOFFCTR.SOFFCDPTF;
4968 EXCEPTION
4969 WHEN OTHERS THEN
4970 v_NUMPTF_CTR := NULL;
4971 END;
4972
4973 BEGIN
4974 SELECT NUMPTF INTO v_NUMPTF_ANA FROM INTCDPTF
4975 WHERE INTCDPTF.CODE = v_SISOFFANA.SOFFCDPTF;
4976 EXCEPTION
4977 WHEN OTHERS THEN
4978 v_NUMPTF_ANA := NULL;
4979 END;
4980
4981 BEGIN
4982 SELECT NUMGIUDI INTO v_NUMGIUDI_CTR FROM INTSOFFGIUDI
4983 WHERE INTSOFFGIUDI.CODE = v_SISOFFCTR.SOFFCDMACROCTR;
4984 EXCEPTION
4985 WHEN OTHERS THEN
4986 v_NUMGIUDI_CTR := NULL;
4987 END;
4988
4989 BEGIN
4990 SELECT NUMGIUDI INTO v_NUMGIUDI_ANA FROM INTSOFFGIUDI
4991 WHERE INTSOFFGIUDI.CODE = v_SISOFFANA.SOFFMACROANA;
4992 EXCEPTION
4993 WHEN OTHERS THEN
4994 v_NUMGIUDI_ANA := NULL;
4995 END;
4996
4997 BEGIN
4998 SELECT NUMATTQ INTO v_NUMATTQ_CTR FROM TABATQ
4999 WHERE TABATQ.CODATTQ = v_SISOFFCTR.SOFFCDATTQ;
5000 EXCEPTION
5001 WHEN OTHERS THEN
5002 v_NUMATTQ_CTR := NULL;
5003 END;
5004
5005 BEGIN
5006 SELECT NUMATTQ INTO v_NUMATTQ_ANA FROM TABATQ
5007 WHERE TABATQ.CODATTQ = v_SISOFFANA.SOFFCDATTQ;
5008 EXCEPTION
5009 WHEN OTHERS THEN
5010 v_NUMATTQ_ANA := NULL;
5011 END;
5012 if not v_dummy then
5013 /* Primo inserimento, SISOFFANA non esiste */
5014
5015 INSERT INTO SISOFFANA
5016 (CDCMPANY,SOFFCODANA,SOFFMACROANA,SOFFCDSMIST,SOFFCDCHAN,SOFFCDATTQ,SOFFCDSCWO,
5017 SOFFCDPTF,SOFFDTMACROANA,SOFFDTATQ,SOFFCODGRP,BO_TOKEN)
5018 VALUES (v_SISOFFCTR.CDCMPANY,v_SISOFFCTR.SOFFCDCUSTOMER,v_SISOFFCTR.SOFFCDMACROCTR,
5019 v_SISOFFCTR.SOFFCDSMIST,v_SISOFFCTR.SOFFCDCHAN,v_SISOFFCTR.SOFFCDATTQ,
5020 v_SISOFFCTR.SOFFCDSCWO,v_SISOFFCTR.SOFFCDPTF,v_SISOFFCTR.SOFFDTMACROCTR,
5021 v_SISOFFCTR.SOFFDTATQ,COALESCE(v_GRPCODGRPSOC,v_GRPCODGRP),LsDbConst_Lmi.c_LMI_TOKEN);
5022 COMMIT;
5023 else
5024 UPDATE SISOFFANA
5025 SET SOFFMACROANA =
5026 CASE
5027 WHEN v_NUMGIUDI_CTR > v_NUMGIUDI_ANA THEN
5028 v_SISOFFCTR.SOFFCDMACROCTR
5029 ELSE
5030 COALESCE(v_SISOFFANA.SOFFMACROANA,v_SISOFFCTR.SOFFCDMACROCTR)
5031 END,
5032 SOFFCDSMIST = v_SISOFFCTR.SOFFCDSMIST,
5033 SOFFCDCHAN = v_SISOFFCTR.SOFFCDCHAN,
5034 SOFFCDATTQ =
5035 CASE
5036 WHEN v_NUMATTQ_CTR > v_NUMATTQ_ANA THEN
5037 v_SISOFFCTR.SOFFCDATTQ
5038 ELSE
5039 COALESCE(v_SISOFFANA.SOFFCDATTQ,v_SISOFFCTR.SOFFCDATTQ)
5040 END,
5041 SOFFCDSCWO = v_SISOFFCTR.SOFFCDSCWO,
5042 SOFFCDPTF =
5043 CASE
5044 WHEN v_NUMPTF_CTR > v_NUMPTF_ANA THEN
5045 v_SISOFFCTR.SOFFCDPTF
5046 ELSE
5047 COALESCE(v_SISOFFANA.SOFFCDPTF,v_SISOFFCTR.SOFFCDPTF)
5048 END,
5049 SOFFDTMACROANA = v_SISOFFCTR.SOFFDTMACROCTR,
5050 SOFFDTATQ = v_SISOFFCTR.SOFFDTATQ,
5051 SOFFCODGRP = COALESCE(v_GRPCODGRPSOC,v_GRPCODGRP),
5052 BO_TOKEN = LsDbConst_Lmi.c_LMI_TOKEN
5053 WHERE SISOFFANA.CDCMPANY = v_SISOFFCTR.CDCMPANY
5054 AND SISOFFANA.SOFFCODANA = v_SISOFFCTR.SOFFCDCUSTOMER;
5055
5056 COMMIT;
5057 end if;
5058
5059 END LOOP;
5060 CLOSE v_SISOFFCTR_Cur;
5061
5062 LSDEBUG.DEBUGTABLEINSERT('LMI_UPLOAD_WORKOUT_HAT','FINE RICREA_SISOFFANA');
5063end;
5064$END
5065--
5066$IF LsCC_Control_Target.BO_WORKOUT $THEN
5067PROCEDURE Lmi_Upload_Workout_UCL
5068AS
5069 v_errormsg CLOB;
5070 v_errorstack CLOB;
5071
5072BEGIN
5073
5074 LSDEBUG.DEBUGTABLEINSERT('LMI_UPLOAD_WORKOUT_HAT','INIZIO LMI_UPLOAD_WORKOUT');
5075
5076 FOR X IN (SELECT LMI_SOFFCTR.CDCMPANY, LMI_SOFFCTR.SOFFCDDNE,LMI_SOFFCTR.SOFFCDCUSTOMER, LMI_SOFFCTR.SOFFCODCTR FROM LMI_SOFFCTR
5077 )
5078 LOOP
5079 BEGIN
5080 INSERT INTO SISOFFCTR
5081 (CDCMPANY,SOFFCODCTR,SOFFCDCUSTOMER,SOFFCDSMIST,SOFFDTSTMAN,SOFFDTPREMAN,SOFFDTEND,SOFFTEINVIO,
5082 SOFFCDCHAN,SOFFCDAZIEXT,SOFFCDATTQ,SOFFCDMACROCTR,SOFFCDSCWO,SOFFTEGRP,SOFFCODAGE,SOFFTEPA,SOFFTEINTERN,
5083 SOFFTEGRPSOC,SOFFTEDIP,SOFFPERCREC,SOFFDTVARIA,SOFFCDPTF,SOFFCDDNE,SOFFCDACTEXTSTS,SOFFCDTASKRES,SOFFDTENDEXT,SOFFDESMNG,SOFFDTPREMANPRO,
5084 SOFFDESRETE, SOFFDTPREMANSTD,SOFFDTTASKRES,SOFFDTRIF,
5085 SOFFDTATQ, SOFFDTFASESAL, SOFFDTMACROCTR, SOFFCDFASESAL,SOFFDTFIRST,BO_TOKEN)
5086 SELECT LMI_SOFFCTR.CDCMPANY CDCMPANY,
5087 CASE
5088 WHEN LMI_SOFFCTR.SOFFCODCTR = '*' THEN '0'
5089 ELSE COALESCE(LMI_CONTRATTI.CONTRACT,LMI_SOFFCTR.SOFFCODCTR)
5090 END SOFFCODCTR,
5091 COALESCE(CDCUSTOMER.ANACODANA,LSLMI.ConvertAnaexcod(LMI_SOFFCTR.SOFFCDCUSTOMER),LSLMI.C_TAPPO_ANAGRAFICA) SOFFCDCUSTOMER,
5092 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSMIST',LMI_SOFFCTR.SOFFCDSMIST),LMI_SOFFCTR.SOFFCDSMIST) SOFFCDSMIST,
5093 LMI_SOFFCTR.SOFFDTSTMAN SOFFDTSTMAN,
5094 CASE
5095 WHEN
5096 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSMIST',LMI_SOFFCTR.SOFFCDSMIST),LMI_SOFFCTR.SOFFCDSMIST) = 'GEMO' THEN
5097 CASE
5098 WHEN LMI_SOFFCTR.SOFFDTSTMAN IS NOT NULL THEN
5099 LsTime.IncDay(LMI_SOFFCTR.SOFFDTSTMAN,LsDbConst_Workout.c_GEMO_TASKDAY)
5100 ELSE
5101 NULL
5102 END
5103 ELSE
5104 NULL
5105 END SOFFDTPREMAN,
5106 LMI_SOFFCTR.SOFFDTEND SOFFDTEND,
5107 LMI_SOFFCTR.SOFFTEINVIO SOFFTEINVIO,
5108 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSOFFCHAN',LMI_SOFFCTR.SOFFCDCHAN),LMI_SOFFCTR.SOFFCDCHAN) SOFFCDCHAN,
5109 LMI_SOFFCTR.SOFFCDAZIEXT SOFFCDAZIEXT,
5110 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('TABATQ',LMI_SOFFCTR.SOFFCDATTQ),LMI_SOFFCTR.SOFFCDATTQ) SOFFCDATTQ,
5111 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSOFFGIUDI',LMI_SOFFCTR.SOFFCDMACROCTR),LMI_SOFFCTR.SOFFCDMACROCTR) SOFFCDMACROCTR,
5112 CASE
5113 WHEN LMI_SOFFCTR.SOFFCDSMIST = 'GEMO' THEN 'SO'
5114 WHEN LMI_SOFFCTR.SOFFCDSMIST = 'EPC' AND LMI_SOFFCTR.SOFFCDMACROCTR <= 30 THEN 'SC'
5115 WHEN LMI_SOFFCTR.SOFFCDSMIST = 'EPC' AND LMI_SOFFCTR.SOFFCDMACROCTR > 30 THEN 'WO'
5116 END SOFFCDSCWO,
5117 LMI_SOFFCTR.SOFFTEGRP SOFFTEGRP,
5118 CASE
5119 WHEN
5120 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSMIST',LMI_SOFFCTR.SOFFCDSMIST),LMI_SOFFCTR.SOFFCDSMIST) = 'GEMO' AND
5121 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSOFFCHAN',LMI_SOFFCTR.SOFFCDCHAN),LMI_SOFFCTR.SOFFCDCHAN) = 'AGENTE'
5122 THEN TEMP_LMI_CONTRATTI_CONV.CTRCDPOSSTAT
5123 ELSE NULL
5124 END SOFFCODAGE,
5125 LMI_SOFFCTR.SOFFTEPA SOFFTEPA,
5126 LMI_SOFFCTR.SOFFTEINTERN SOFFTEINTERN,
5127 LMI_SOFFCTR.SOFFTEGRPSOC SOFFTEGRPSOC,
5128 LMI_SOFFCTR.SOFFTEDIP SOFFTEDIP,
5129 LMI_SOFFCTR.SOFFPERCREC SOFFPERCREC,
5130 LsTime.GETDATE() SOFFDTVARIA,
5131 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTCDPTF',LMI_SOFFCTR.SOFFCDPTF),LMI_SOFFCTR.SOFFCDPTF,'X') SOFFCDPTF,
5132 COALESCE(TEMP_LMI_CONTRATTI_CONV.CDDEPART, '00000') SOFFCDDNE,
5133 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSTSACTEXT',LMI_SOFFCTR.SOFFCDACTEXTSTS),LMI_SOFFCTR.SOFFCDACTEXTSTS) SOFFCDACTEXTSTS,
5134 CASE
5135 WHEN
5136 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSMIST',LMI_SOFFCTR.SOFFCDSMIST),LMI_SOFFCTR.SOFFCDSMIST) = 'GEMO' THEN '000040'
5137 ELSE NULL
5138 END SOFFCDTASKRES,
5139 CASE
5140 WHEN
5141 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSMIST',LMI_SOFFCTR.SOFFCDSMIST),LMI_SOFFCTR.SOFFCDSMIST) = 'GEMO' THEN
5142 LsTime.GETDATE()
5143 ELSE
5144 NULL
5145 END SOFFDTENDEXT,
5146 LMI_SOFFCTR.SOFFDESMNG SOFFDESMNG,
5147 NULL SOFFDTPREMANPRO, --10580
5148 LMI_SOFFCTR.SOFFDESRETE SOFFDESRETE,
5149 CASE
5150 WHEN
5151 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSMIST',LMI_SOFFCTR.SOFFCDSMIST),LMI_SOFFCTR.SOFFCDSMIST) = 'GEMO' THEN
5152 CASE
5153 WHEN LMI_SOFFCTR.SOFFDTSTMAN IS NOT NULL THEN
5154 LsTime.IncDay(LMI_SOFFCTR.SOFFDTSTMAN,LsDbConst_Workout.c_GEMO_TASKDAY)
5155 ELSE
5156 NULL
5157 END
5158 ELSE
5159 NULL
5160 END SOFFDTPREMANSTD, --10580
5161 CASE
5162 WHEN
5163 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSMIST',LMI_SOFFCTR.SOFFCDSMIST),LMI_SOFFCTR.SOFFCDSMIST) = 'GEMO' THEN
5164 LsTime.GETDATE()
5165 ELSE
5166 NULL
5167 END SOFFDTTASKRES,
5168 LMI_SOFFCTR.SOFFDTRIF SOFFDTRIF,
5169 LMI_SOFFCTR.soffdtatq SOFFDTATQ ,
5170 LMI_SOFFCTR.soffdtfasesal SOFFDTFASESAL ,
5171 LMI_SOFFCTR.soffdtmacroctr SOFFDTMACROCTR,
5172 COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('TABFASISALIENTI',LMI_SOFFCTR.sofffasesal),LMI_SOFFCTR.sofffasesal)SOFFCDFASESAL,
5173 LMI_SOFFCTR.SOFFDTFIRST SOFFDTFIRST,
5174 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN
5175 FROM LMI_SOFFCTR
5176 LEFT OUTER JOIN LMI_CONTRATTI ON
5177 LMI_SOFFCTR.CDCMPANY = LMI_CONTRATTI.CDCMPANY
5178 AND LMI_SOFFCTR.SOFFCODCTR = LMI_CONTRATTI.CONTRACT_ID
5179 AND LMI_CONTRATTI.ISLAST = 1
5180 LEFT OUTER JOIN TEMP_LMI_CONTRATTI_CONV
5181 ON (
5182 TEMP_LMI_CONTRATTI_CONV.CONTRACT_ID = LMI_CONTRATTI.CONTRACT_ID AND
5183 TEMP_LMI_CONTRATTI_CONV.HISTCODE = LMI_CONTRATTI.HISTCODE AND
5184 TEMP_LMI_CONTRATTI_CONV.CDCMPANY = LMI_CONTRATTI.CDCMPANY
5185 )
5186 LEFT OUTER JOIN LMI_ANAGR CDCUSTOMER ON
5187 LMI_SOFFCTR.SOFFCDCUSTOMER = CDCUSTOMER.ANACODDEF
5188 AND CDCUSTOMER.TO_INSERT = 1
5189 WHERE LMI_SOFFCTR.TO_INSERT = 1
5190 AND LMI_SOFFCTR.CDCMPANY = X.CDCMPANY
5191 AND LMI_SOFFCTR.SOFFCDDNE = X.SOFFCDDNE
5192 AND LMI_SOFFCTR.SOFFCDCUSTOMER = X.SOFFCDCUSTOMER
5193 AND LMI_SOFFCTR.SOFFCODCTR = X.SOFFCODCTR;
5194 EXCEPTION
5195 WHEN OTHERS THEN
5196 v_errormsg := COALESCE (SQLERRM, '');
5197 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5198 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT','INSERT SISOFFCTR');
5199 LsLmi.lmi_addloginfo (
5200 '2000',
5201 null,
5202 'INSERT SISOFFCTR',
5203 NULL,
5204 NULL,
5205 v_errormsg
5206 || ' - '
5207 || v_errorstack,
5208 LsLmi.c_INSERT_ERROR,
5209 c_TYPE_WORKOUT
5210 );
5211 END;
5212
5213 END LOOP
5214 COMMIT;
5215 BEGIN
5216 INSERT INTO SISOFFANA (CDCMPANY,SOFFCODANA,SOFFMACROANA,SOFFNUMAFF,BO_TOKEN) --defect 9757
5217 SELECT
5218 LMI_SOFFCTR.CDCMPANY CDCMPANY,
5219 COALESCE(CODANA.ANACODANA,TO_NUMBER(LMI_SOFFCTR.SOFFCDCUSTOMER)) SOFFCODANA,
5220 MAX(COALESCE(LSLMI.LMI_GETVALUEFROMLMICONVERT('INTSOFFGIUDI',LMI_SOFFCTR.SOFFCDMACROCTR),LMI_SOFFCTR.SOFFCDMACROCTR)) SOFFMACROANA,
5221 MAX(LMI_SOFFCTR.SOFFNUMAFF) SOFFNUMAFF,
5222 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN
5223 FROM LMI_SOFFCTR
5224 LEFT OUTER JOIN LMI_ANAGR CODANA ON
5225 LMI_SOFFCTR.SOFFCDCUSTOMER = CODANA.ANACODDEF
5226 AND CODANA.TO_INSERT = 1
5227 WHERE LMI_SOFFCTR.TO_INSERT = 1
5228 AND LMI_SOFFCTR.SOFFNUMAFF IS NOT NULL
5229 GROUP BY LMI_SOFFCTR.CDCMPANY,
5230 COALESCE(CODANA.ANACODANA,TO_NUMBER(LMI_SOFFCTR.SOFFCDCUSTOMER));
5231 COMMIT;
5232 EXCEPTION
5233 WHEN OTHERS THEN
5234 v_errormsg := COALESCE (SQLERRM, '');
5235 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5236 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT','INSERT SISOFFANA');
5237 LsLmi.lmi_addloginfo (
5238 '2000',
5239 null,
5240 'INSERT SISOFFANA',
5241 NULL,
5242 NULL,
5243 v_errormsg
5244 || ' - '
5245 || v_errorstack,
5246 LsLmi.c_INSERT_ERROR,
5247 c_TYPE_WORKOUT
5248 );
5249 RETURN;
5250 END;
5251 LSDEBUG.DEBUGTABLEINSERT('LMI_UPLOAD_WORKOUT_HAT','FINE LMI_UPLOAD_WORKOUT');
5252END;
5253$END --
5254
5255$IF LsCC_Control_Target.BO_COLLECTION $THEN
5256PROCEDURE Lmi_Upload_Workout(
5257 p_CodCompany TCCOMPANY.CDCMPANY%TYPE,
5258 p_errore IN OUT NOCOPY BOOLEAN
5259)
5260AS
5261 v_errormsg CLOB;
5262 v_errorstack CLOB;
5263
5264BEGIN
5265
5266 BEGIN
5267 INSERT INTO SIAZIONI (CDCMPANY, AZICODCTR, AZICODTERZO,
5268 AZICODAZI, AZIDTESEC, AZIESITO,
5269 AZIDTSCAD, AZIDTESITO, AZIGESTORE,
5270 AZIDTRILEV, AZINOMEFILE,
5271 AZIFLAG_ESEGUITA, AZIAREA, AZIBUCKET,
5272 NUMPRIMOCANFAT, BO_TOKEN, AZICODDNE,AZIUSER,AZINOTE)
5273 SELECT
5274 LMI_SIAZIONI.CDCMPANY CDCMPANY,
5275 COALESCE(LMI_CONTRATTI.CONTRACT,LMI_SIAZIONI.AZICODCTR) AZICODCTR,
5276 ANAG.ANACODANA AZICODTERZO,
5277 COALESCE(CVAZICODAZI.DESTVALUE,LMI_SIAZIONI.AZICODAZI) AZICODAZI,
5278 LMI_SIAZIONI.AZIDTESEC AZIDTESEC,
5279 COALESCE(CVAZIESITO.DESTVALUE, LMI_SIAZIONI.AZIESITO) AZIESITO,
5280 LMI_SIAZIONI.AZIDTSCAD AZIDTSCAD,
5281 LMI_SIAZIONI.AZIDTESITO AZIDTESITO,
5282 COALESCE(CVAZIGESTORE.DESTVALUE, LMI_SIAZIONI.AZIGESTORE, LsDbConst.c_CODICE_UTENTE_DEFAULT) AZIGESTORE,
5283 LMI_SIAZIONI.AZIDTRILEV AZIDTRILEV,
5284 LMI_SIAZIONI.AZINOMEFILE AZINOMEFILE,
5285 LMI_SIAZIONI.AZIFLAG_ESEGUITA AZIFLAG_ESEGUITA,
5286 COALESCE(CVAZIAREA.DESTVALUE, LMI_SIAZIONI.AZIAREA) AZIAREA,
5287 LMI_SIAZIONI.AZIBUCKET AZIBUCKET,
5288 LMI_SIAZIONI.NUMPRIMOCANFAT NUMPRIMOCANFAT,
5289 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN,
5290 COALESCE(CVAZICODDNE.DESTVALUE, LMI_CONTRATTI.CDDEPART, LMI_SIAZIONI.AZICODDNE) AZICODDNE,
5291 LMI_SIAZIONI.AZIUSER AZIUSER,
5292 NULL AZINOTE
5293 FROM LMI_SIAZIONI
5294 LEFT OUTER JOIN (SELECT ANACODANA, ANACODDEF FROM LMI_ANAGR) ANAG ON
5295 LMI_SIAZIONI.AZICODTERZO = ANAG.ANACODDEF
5296 LEFT OUTER JOIN LMI_CONTRATTI ON
5297 LMI_SIAZIONI.CDCMPANY = LMI_CONTRATTI.CDCMPANY
5298 AND TO_CHAR(LMI_SIAZIONI.AZICODCTR) = LMI_CONTRATTI.CONTRACT_ID
5299 LEFT OUTER JOIN LMI_CONVERT CVAZIGESTORE ON
5300 CVAZIGESTORE.MPDDOMAIN = 'TABOPER'
5301 AND CVAZIGESTORE.SRCVALUE = LMI_SIAZIONI.AZIGESTORE
5302 LEFT OUTER JOIN LMI_CONVERT CVAZIESITO ON
5303 CVAZIESITO.MPDDOMAIN = 'TABESITCONTENZ'
5304 AND CVAZIESITO.SRCVALUE = LMI_SIAZIONI.AZIESITO
5305 LEFT OUTER JOIN LMI_CONVERT CVAZIAREA ON
5306 CVAZIAREA.MPDDOMAIN = 'TABAZIONI'
5307 AND CVAZIAREA.SRCVALUE = LMI_SIAZIONI.AZIAREA
5308 LEFT OUTER JOIN LMI_CONVERT CVAZICODAZI ON
5309 CVAZICODAZI.MPDDOMAIN = 'TABAZIONI'
5310 AND CVAZICODAZI.SRCVALUE = LMI_SIAZIONI.AZICODAZI
5311 LEFT OUTER JOIN LMI_CONVERT CVAZICODDNE ON
5312 CVAZICODDNE.MPDDOMAIN = 'TABAZIONI'
5313 AND CVAZICODDNE.SRCVALUE = LMI_CONTRATTI.CDDEPART
5314 WHERE LMI_SIAZIONI.CDCMPANY = p_CodCompany
5315 AND LMI_SIAZIONI.TO_INSERT = 1
5316 AND (LMI_CONTRATTI.ISLAST = 1 OR LMI_CONTRATTI.ISLAST IS NULL);
5317 EXCEPTION
5318 WHEN OTHERS THEN
5319 p_errore := TRUE;
5320 v_errormsg := COALESCE (SQLERRM, '');
5321 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5322 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT','INSERT SIAZIONI');
5323 LsLmi.lmi_addloginfo (
5324 '2000',
5325 null,
5326 'SIAZIONI',
5327 NULL,
5328 NULL,
5329 v_errormsg
5330 || ' - '
5331 || v_errorstack,
5332 LsLmi.c_INSERT_ERROR,
5333 c_TYPE_WORKOUT
5334 );
5335 RETURN;
5336 END;
5337
5338
5339
5340 BEGIN
5341 INSERT INTO SISOFFER ( CDCMPANY, SOFCODCTR, SOFCODTERZO, SOFCODDNE, SOFDTRILEV, SOFCODFIL, SOFFASCIA, SOFAREASOFF, SOFSUBSTS,
5342 SOFNRATEIMPAG, SOFIMPRATEIMPAG, SOFCTVRATEIMPAG, SOFNUMPARTITE, SOFIMPPARTITE, SOFCTVPARTITE, SOFIMPRISCIMPAG,
5343 SOFCTVRISCIMPAG, SOFIMPEXTRACONT, SOFCTVEXTRACONT, SOFIMPMORA, SOFCTVMORA, SOFIMPIMPLIC, SOFCTVIMPLIC, SOFIMPIMPLICPR,
5344 SOFCTVIMPLICPR, SOFIMPESPLI, SOFCTVESPLI, SOFIMPESPLPR, SOFCTVESPLPR, SOFDTSTORICA, SOFCODGEST, SOFDTGEST, SOFCODRECUP,
5345 SOFDTRECUP, SOFTIPOASSEGN, SOFCODLEG, SOFDTLEG, SOFPIANORIEN, SOFGARANZ, SOFCODTPTERZO, SOFDTCOMP, SOFDIVCTR,
5346 SOFNUMULTIMA, SOFDTULTIMA, SOFNUMPRIMA, SOFDTPRIMA, SOFCAMBIO, SOFPERDITA, SOFCTVPERDITA, SOFINDFATT, SOFCTRSTATUS,
5347 SOFCTRSUBSTS, SOFEXCTR, SOFANTICIPO, SOFCTRNUMPROD, SOFCODCEDENTE, SOFNUMPMTCART, SOFSTSDTSTAT, SOFIMPLPERC, SOFESPLPERC,
5348 SOFCODFOR, SOFFLAGPERD, SOFNUMEXTRACTR, SOFIMPEXTRACTR, SOFCTVEXTRACTR, SOFSALDOCTR, BO_TOKEN, SOFIMPDIEMORA,
5349 SOFDELBENE, SOFDEPBENE, SOFSPLEGALI, SOFSPLEGALICTV, SOFSPLEGAD, SOFSPLEGADCTV, SOFBNKRIF, SOFPRIORITA, SOFSALDOCLI,
5350 SOFSALDOCLICTV, SOFMORAFATT, SOFMORAFATTCTV, SOFIMPSCADERE, SOFIMPSCADERECTV, SOFIMPEFFETTI, SOFIMPEFFETTICTV,
5351 SOFINTDIL, SOFCTVDIL,SOFIMPMORAESPL,SOFLASTDTRILEV,SOFCREDRECOVER,SOFCTVMORAESPL,SOFIMPMATCTV,SOFIMPMAT,SOFCTVMORAIMPL,
5352 SOFIMPMORAIMPL,TENEWENTRY,SOFNRIMPLIC,SOFIMPCANRESSCAVAT)
5353 SELECT
5354 LMI_SISOFFER.CDCMPANY CDCMPANY,
5355 COALESCE(LMI_CONTRATTI.CONTRACT, LMI_SISOFFER.SOFCODCTR) SOFCODCTR,
5356 LMI_ANAGR.ANACODANA SOFCODTERZO,
5357 COALESCE(CVSOFCODDNE.DESTVALUE,LMI_CONTRATTI.CDDEPART,LMI_SISOFFER.SOFCODDNE) SOFCODDNE,
5358 LMI_SISOFFER.SOFDTRILEV SOFDTRILEV,
5359 LMI_SISOFFER.SOFCODFIL SOFCODFIL,
5360 LMI_SISOFFER.SOFFASCIA SOFFASCIA,
5361 COALESCE(CVSOFAREASOFF.DESTVALUE,LMI_SISOFFER.SOFAREASOFF) SOFAREASOFF,
5362 COALESCE(CVSOFSUBSTS.DESTVALUE,LMI_SISOFFER.SOFSUBSTS) SOFSUBSTS,
5363 LMI_SISOFFER.SOFNRATEIMPAG SOFNRATEIMPAG,
5364 LMI_SISOFFER.SOFIMPRATEIMPAG SOFIMPRATEIMPAG,
5365 LMI_SISOFFER.SOFCTVRATEIMPAG SOFCTVRATEIMPAG,
5366 LMI_SISOFFER.SOFNUMPARTITE SOFNUMPARTITE,
5367 LMI_SISOFFER.SOFIMPPARTITE SOFIMPPARTITE,
5368 LMI_SISOFFER.SOFCTVPARTITE SOFCTVPARTITE,
5369 LMI_SISOFFER.SOFIMPRISCIMPAG SOFIMPRISCIMPAG,
5370 LMI_SISOFFER.SOFCTVRISCIMPAG SOFCTVRISCIMPAG,
5371 LMI_SISOFFER.SOFIMPEXTRACONT SOFIMPEXTRACONT,
5372 LMI_SISOFFER.SOFCTVEXTRACONT SOFCTVEXTRACONT,
5373 LMI_SISOFFER.SOFIMPMORA SOFIMPMORA,
5374 LMI_SISOFFER.SOFCTVMORA SOFCTVMORA,
5375 LMI_SISOFFER.SOFIMPIMPLIC SOFIMPIMPLIC,
5376 LMI_SISOFFER.SOFCTVIMPLIC SOFCTVIMPLIC,
5377 LMI_SISOFFER.SOFIMPIMPLICPR SOFIMPIMPLICPR,
5378 LMI_SISOFFER.SOFCTVIMPLICPR SOFCTVIMPLICPR,
5379 LMI_SISOFFER.SOFIMPESPLI SOFIMPESPLI,
5380 LMI_SISOFFER.SOFCTVESPLI SOFCTVESPLI,
5381 LMI_SISOFFER.SOFIMPESPLPR SOFIMPESPLPR,
5382 LMI_SISOFFER.SOFCTVESPLPR SOFCTVESPLPR,
5383 LMI_SISOFFER.SOFDTSTORICA SOFDTSTORICA,
5384 COALESCE(CVSOFCODGEST.DESTVALUE,LMI_SISOFFER.SOFCODGEST,LsDbConst.c_CODICE_UTENTE_DEFAULT) SOFCODGEST,
5385 LMI_SISOFFER.SOFDTGEST SOFDTGEST,
5386 LMI_SISOFFER.SOFCODRECUP SOFCODRECUP,
5387 LMI_SISOFFER.SOFDTRECUP SOFDTRECUP,
5388 LMI_SISOFFER.SOFTIPOASSEGN SOFTIPOASSEGN,
5389 LMI_SISOFFER.SOFCODLEG SOFCODLEG,
5390 LMI_SISOFFER.SOFDTLEG SOFDTLEG,
5391 LMI_SISOFFER.SOFPIANORIEN SOFPIANORIEN,
5392 LMI_SISOFFER.SOFGARANZ SOFGARANZ,
5393 LMI_SISOFFER.SOFCODTPTERZO SOFCODTPTERZO,
5394 LMI_SISOFFER.SOFDTCOMP SOFDTCOMP,
5395 LMI_SISOFFER.SOFDIVCTR SOFDIVCTR,
5396 LMI_SISOFFER.SOFNUMULTIMA SOFNUMULTIMA,
5397 LMI_SISOFFER.SOFDTULTIMA SOFDTULTIMA,
5398 LMI_SISOFFER.SOFNUMPRIMA SOFNUMPRIMA,
5399 LMI_SISOFFER.SOFDTPRIMA SOFDTPRIMA,
5400 LMI_SISOFFER.SOFCAMBIO SOFCAMBIO,
5401 LMI_SISOFFER.SOFPERDITA SOFPERDITA,
5402 LMI_SISOFFER.SOFCTVPERDITA SOFCTVPERDITA,
5403 LMI_SISOFFER.SOFINDFATT SOFINDFATT,
5404 COALESCE(CVSOFCTRSTATUS.DESTVALUE, LMI_SISOFFER.SOFCTRSTATUS) SOFCTRSTATUS,
5405 COALESCE(CVSOFCTRSUBSTS.DESTVALUE, LMI_SISOFFER.SOFCTRSUBSTS) SOFCTRSUBSTS,
5406 LMI_SISOFFER.SOFEXCTR SOFEXCTR,
5407 LMI_SISOFFER.SOFANTICIPO SOFANTICIPO,
5408 LMI_SISOFFER.SOFCTRNUMPROD SOFCTRNUMPROD,
5409 LMI_SISOFFER.SOFCODCEDENTE SOFCODCEDENTE,
5410 LMI_SISOFFER.SOFNUMPMTCART SOFNUMPMTCART,
5411 LMI_SISOFFER.SOFSTSDTSTAT SOFSTSDTSTAT,
5412 LMI_SISOFFER.SOFIMPLPERC SOFIMPLPERC,
5413 LMI_SISOFFER.SOFESPLPERC SOFESPLPERC,
5414 ANAGFOR.ANACODANA SOFCODFOR,
5415 LMI_SISOFFER.SOFFLAGPERD SOFFLAGPERD,
5416 LMI_SISOFFER.SOFNUMEXTRACTR SOFNUMEXTRACTR,
5417 LMI_SISOFFER.SOFIMPEXTRACTR SOFIMPEXTRACTR,
5418 LMI_SISOFFER.SOFCTVEXTRACTR SOFCTVEXTRACTR,
5419 LMI_SISOFFER.SOFSALDOCTR SOFSALDOCTR,
5420 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN,
5421 LMI_SISOFFER.SOFIMPDIEMORA SOFIMPDIEMORA,
5422 LMI_SISOFFER.SOFDELBENE SOFDELBENE,
5423 LMI_SISOFFER.SOFDEPBENE SOFDEPBENE,
5424 LMI_SISOFFER.SOFSPLEGALI SOFSPLEGALI,
5425 LMI_SISOFFER.SOFSPLEGALI SOFSPLEGALICTV,
5426 LMI_SISOFFER.SOFSPLEGAD SOFSPLEGAD,
5427 LMI_SISOFFER.SOFSPLEGAD SOFSPLEGADCTV,
5428 LMI_SISOFFER.SOFBNKRIF SOFBNKRIF,
5429 LMI_SISOFFER.SOFPRIORITA SOFPRIORITA,
5430 LMI_SISOFFER.SOFSALDOCLI SOFSALDOCLI,
5431 LMI_SISOFFER.SOFSALDOCLI SOFSALDOCLICTV,
5432 LMI_SISOFFER.SOFMORAFATT SOFMORAFATT,
5433 LMI_SISOFFER.SOFMORAFATT SOFMORAFATTCTV,
5434 LMI_SISOFFER.SOFIMPSCADERE SOFIMPSCADERE,
5435 LMI_SISOFFER.SOFIMPSCADERE SOFIMPSCADERECTV,
5436 LMI_SISOFFER.SOFIMPEFFETTI SOFIMPEFFETTI,
5437 LMI_SISOFFER.SOFIMPEFFETTI SOFIMPEFFETTICTV,
5438 LMI_SISOFFER.SOFINTDIL SOFINTDIL,
5439 LMI_SISOFFER.SOFCTVDIL SOFCTVDIL,
5440 LMI_SISOFFER.SOFIMPMORAESPL,
5441 LMI_SISOFFER.SOFLASTDTRILEV,
5442 LMI_SISOFFER.SOFCREDRECOVER,
5443 LMI_SISOFFER.SOFCTVMORAESPL,
5444 LMI_SISOFFER.SOFIMPMATCTV,
5445 LMI_SISOFFER.SOFIMPMAT,
5446 LMI_SISOFFER.SOFCTVMORAIMPL,
5447 LMI_SISOFFER.SOFIMPMORAIMPL,
5448 LMI_SISOFFER.TENEWENTRY,
5449 LMI_SISOFFER.SOFNRIMPLIC,
5450 NULL SOFIMPCANRESSCAVAT
5451 FROM LMI_SISOFFER
5452 LEFT OUTER JOIN LMI_ANAGR ON
5453 LMI_SISOFFER.SOFCODTERZO = LMI_ANAGR.ANACODDEF
5454 LEFT OUTER JOIN LMI_ANAGR ANAGFOR ON
5455 LMI_SISOFFER.SOFCODFOR = ANAGFOR.ANACODDEF
5456 LEFT OUTER JOIN LMI_CONTRATTI ON
5457 LMI_CONTRATTI.CDCMPANY = LMI_SISOFFER.CDCMPANY
5458 AND LMI_CONTRATTI.CONTRACT_ID = LMI_SISOFFER.SOFCODCTR
5459 AND LMI_CONTRATTI.CDDEPART = LMI_SISOFFER.SOFCODDNE
5460 LEFT OUTER JOIN LMI_CONVERT CVSOFAREASOFF ON
5461 CVSOFAREASOFF.MPDDOMAIN = 'TABSTACONTEN'
5462 AND CVSOFAREASOFF.SRCVALUE = LMI_SISOFFER.SOFAREASOFF
5463 LEFT OUTER JOIN LMI_CONVERT CVSOFSUBSTS ON
5464 CVSOFSUBSTS.MPDDOMAIN = 'TABSTACONTEN'
5465 AND CVSOFSUBSTS.SRCVALUE = LMI_SISOFFER.SOFSUBSTS
5466 LEFT OUTER JOIN LMI_CONVERT CVSOFCODGEST ON
5467 CVSOFCODGEST.MPDDOMAIN = 'TABOPER'
5468 AND CVSOFCODGEST.SRCVALUE = LMI_SISOFFER.SOFCODGEST
5469 LEFT OUTER JOIN LMI_CONVERT CVSOFCODDNE ON
5470 CVSOFCODDNE.MPDDOMAIN = 'TABDNE'
5471 AND CVSOFCODDNE.SRCVALUE = LMI_SISOFFER.SOFCODDNE
5472 LEFT OUTER JOIN LMI_CONVERT CVSOFCTRSTATUS ON
5473 CVSOFCTRSTATUS.MPDDOMAIN = 'TABSTATU'
5474 AND CVSOFCTRSTATUS.SRCVALUE = LMI_SISOFFER.SOFCTRSTATUS||LMI_SISOFFER.SOFCTRSUBSTS
5475 LEFT OUTER JOIN LMI_CONVERT CVSOFCTRSUBSTS ON
5476 CVSOFCTRSUBSTS.MPDDOMAIN = 'TABSUBSTATU'
5477 AND CVSOFCTRSUBSTS.SRCVALUE = LMI_SISOFFER.SOFCTRSTATUS||LMI_SISOFFER.SOFCTRSUBSTS
5478 WHERE LMI_SISOFFER.CDCMPANY = p_CodCompany
5479 AND LMI_SISOFFER.TO_INSERT = 1
5480 AND (LMI_CONTRATTI.ISLAST = 1 OR LMI_CONTRATTI.ISLAST IS NULL);
5481
5482
5483 EXCEPTION
5484 WHEN OTHERS THEN
5485 p_errore := TRUE;
5486 v_errormsg := COALESCE (SQLERRM, '');
5487 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5488 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT','INSERT SISOFFER');
5489 LsLmi.lmi_addloginfo (
5490 '2000',
5491 null,
5492 'SISOFFER',
5493 NULL,
5494 NULL,
5495 v_errormsg
5496 || ' - '
5497 || v_errorstack,
5498 LsLmi.c_INSERT_ERROR,
5499 c_TYPE_WORKOUT
5500 );
5501 RETURN;
5502
5503 END;
5504
5505 BEGIN
5506 INSERT INTO SISOFFGARANTI(CDCMPANY,CDGUARANTUR,CONTRACT,CDCUSTOMER,DTSIGN,NUMRELGUAR,
5507 DTSTART,NUMGUAR,PRIORITY,CARAMOUNT,RESAMOUNT,TOTSPDRIFXCTR,
5508 TOTIMPIMPLXCTR,TOTIMPESPLXCTR,CDGUARANTE,BO_TOKEN,SFGCODDNE)
5509 SELECT
5510 SICTRGUAR.CDCMPANY,
5511 CDGUARANTUR,
5512 SICTRGUAR.CONTRACT,
5513 CDCUSTOMER,
5514 DTSIGN,
5515 NULL NUMRELGUAR,
5516 SICTRGUAR.DTSTART,
5517 NUMGUAR,
5518 PRIORITY,
5519 AMOUNT CARAMOUNT,
5520 AMOUNT RESAMOUNT,
5521 0 SALDO,
5522 0,
5523 0 SALDOTOT,
5524 CDGUARANTE,
5525 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN,
5526 CDDEPART
5527 FROM SICTRGUAR
5528 INNER JOIN SICTRHEAD ON
5529 SICTRGUAR.CDCMPANY = SICTRHEAD.CDCMPANY AND
5530 SICTRGUAR.CONTRACT = SICTRHEAD.CONTRACT
5531 INNER JOIN
5532 (SELECT DISTINCT CDCMPANY, SOFCODCTR FROM SISOFFER) SISOFFER ON
5533 SICTRGUAR.CDCMPANY = SISOFFER.CDCMPANY AND
5534 SICTRGUAR.CONTRACT = SISOFFER.SOFCODCTR
5535 WHERE SICTRGUAR.CDCMPANY = p_CodCompany;
5536
5537
5538 EXCEPTION
5539 WHEN OTHERS THEN
5540 p_errore := TRUE;
5541 v_errormsg := COALESCE (SQLERRM, '');
5542 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5543 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT','INSERT SISOFFGARANTI');
5544 LsLmi.lmi_addloginfo (
5545 '2000',
5546 null,
5547 'INSERT SISOFFGARANTI',
5548 NULL,
5549 NULL,
5550 v_errormsg
5551 || ' - '
5552 || v_errorstack,
5553 LsLmi.c_INSERT_ERROR,
5554 c_TYPE_WORKOUT
5555 );
5556 RETURN;
5557
5558 END;
5559
5560 BEGIN
5561
5562 INSERT INTO SISOFFSPESE(CDCMPANY,SOFSPCTR,SOFSPCDTERZO,SOFSPDNE,SOFSPCODSPESA,SOFSPCDCURR,SOFSPEXCHANGE,
5563 SOSPFIMPORTO,SOFSPVALIDA,BO_TOKEN)
5564 SELECT
5565 LMI_SISOFFSPESE.CDCMPANY CDCMPANY,
5566 LMI_CONTRATTI.CONTRACT SOFSPCTR,
5567 LMI_ANAGR.ANACODANA SOFSPANA,
5568 COALESCE(CVSOFSPDNE.DESTVALUE, LMI_SISOFFSPESE.SOFSPDNE) SOFSPDNE,
5569 COALESCE(CVSOFSPCODSPESA.DESTVALUE, LMI_SISOFFSPESE.SOFSPCODSPESA) SOFCODSPESA,
5570 TABSPESESTD.CDCURR SOFSPCDCURR,
5571 LMI_SISOFFSPESE.SOFSPEXCHANGE SOFSPEXCHANGE,
5572 LMI_SISOFFSPESE.SOSPFIMPORTO SOFSPIMPORTO,
5573 LMI_SISOFFSPESE.SOFSPVALIDA SOFSPVALIDA,
5574 LsDbConst_Lmi.c_LMI_TOKEN BO_TOKEN
5575 FROM LMI_SISOFFSPESE
5576 LEFT OUTER JOIN LMI_CONTRATTI ON
5577 LMI_CONTRATTI.CDCMPANY = LMI_SISOFFSPESE.CDCMPANY
5578 AND LMI_CONTRATTI.CONTRACT_ID = LMI_SISOFFSPESE.SOFSPCTR
5579 LEFT OUTER JOIN LMI_ANAGR ON
5580 LMI_ANAGR.ANACODDEF = LMI_SISOFFSPESE.SOFSPCDTERZO
5581 LEFT OUTER JOIN LMI_CONVERT CVSOFSPDNE ON
5582 CVSOFSPDNE.MPDDOMAIN = 'TABDNE'
5583 AND CVSOFSPDNE.SRCVALUE = LMI_SISOFFSPESE.SOFSPDNE
5584 LEFT OUTER JOIN LMI_CONVERT CVSOFSPCODSPESA ON
5585 CVSOFSPCODSPESA.MPDDOMAIN = 'TABDNE'
5586 AND CVSOFSPCODSPESA.SRCVALUE = LMI_SISOFFSPESE.SOFSPCODSPESA
5587 LEFT OUTER JOIN LMI_CONVERT CVSOFSPCDCURR ON
5588 CVSOFSPCDCURR.MPDDOMAIN = 'TCCURRENCY'
5589 AND CVSOFSPCDCURR.SRCVALUE = LMI_CONTRATTI.CDCURR
5590 INNER JOIN TABSPESESTD
5591 ON LMI_SISOFFSPESE.CDCMPANY = TABSPESESTD.CDCMPANY
5592 AND LMI_SISOFFSPESE.SOFSPCODSPESA = TABSPESESTD.CODE
5593 AND LMI_SISOFFSPESE.SOFSPCDCURR = TABSPESESTD.CDCURR
5594 WHERE LMI_SISOFFSPESE.CDCMPANY = p_CodCompany
5595 AND LMI_SISOFFSPESE.TO_INSERT = 1
5596 AND LMI_CONTRATTI.ISLAST = 1;
5597
5598 EXCEPTION
5599 WHEN OTHERS THEN
5600 p_errore := TRUE;
5601 v_errormsg := COALESCE (SQLERRM, '');
5602 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5603 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT','INSERT SISOFFSPESE');
5604 LsLmi.lmi_addloginfo (
5605 '2000',
5606 null,
5607 'INSERT SISOFFSPESE',
5608 NULL,
5609 NULL,
5610 v_errormsg
5611 || ' - '
5612 || v_errorstack,
5613 LsLmi.c_INSERT_ERROR,
5614 c_TYPE_WORKOUT
5615 );
5616 RETURN;
5617
5618 END;
5619
5620 BEGIN
5621 UPDATE SISOFFER
5622 SET SISOFFER.SOFCAMBIO = 1
5623 WHERE SISOFFER.CDCMPANY = p_CodCompany
5624 AND SISOFFER.SOFCAMBIO IS NULL
5625 AND SISOFFER.SOFDIVCTR = (SELECT TCCOMPANY.MAINCURRENCY FROM TCCOMPANY WHERE TCCOMPANY.CDCMPANY = SISOFFER.CDCMPANY);
5626 EXCEPTION
5627 WHEN OTHERS THEN
5628 p_errore := TRUE;
5629 v_errormsg := COALESCE (SQLERRM, '');
5630 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5631 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT','UPDATE SISOFFER SET SOFCAMBIO');
5632 LsLmi.lmi_addloginfo (
5633 '2000',
5634 null,
5635 'SISOFFER_UPDATE',
5636 NULL,
5637 NULL,
5638 v_errormsg
5639 || ' - '
5640 || v_errorstack,
5641 LsLmi.c_INSERT_ERROR,
5642 c_TYPE_WORKOUT
5643 );
5644 RETURN;
5645 END;
5646END;
5647$END --
5648
5649$IF LsCC_Control_Target.BO_COLLECTION $THEN
5650PROCEDURE Lmi_Upload_WORKOUT_Hat(
5651 p_CodCompany TCCOMPANY.CDCMPANY%TYPE,
5652 p_SourceName LMI_ANAEXCODE.CDSOURCE%TYPE := NULL
5653)
5654AS
5655 v_id_code NUMBER(9);
5656 v_lcndtelab DATE ;
5657 v_errore BOOLEAN;
5658 v_lmi_controller_cursor SYS_REFCURSOR;
5659 v_sqltext VARCHAR2(32767 CHAR);
5660 v_errormsg CLOB;
5661 v_errorstack CLOB;
5662 PRAGMA AUTONOMOUS_TRANSACTION;
5663BEGIN
5664 LsGeneric.CheckCodCompanyParam(p_CodCompany);
5665
5666 lsLmi.ResetProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT');
5667 lsLmi.StartProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT');
5668 execute immediate 'alter session set skip_unusable_indexes = true';
5669 v_errore := FALSE;
5670 $IF LsCC_Control_Target.UCL $THEN
5671 BEGIN
5672
5673 Lmi_Upload_Workout_UCL;
5674 Aggiorna_SISOFFANA(p_CodCompany);
5675 Ricrea_SISTSAFFIDI(p_CodCompany);
5676 Calcola_Nomenclatura_GEMO(p_CodCompany);
5677
5678 EXCEPTION
5679 WHEN OTHERS THEN
5680 ROLLBACK;
5681 v_errormsg := COALESCE (SQLERRM, '');
5682 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5683 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT','ALTER LMI_UPLOAD_WORKOUT_HAT');
5684 LsLmi.lmi_addloginfo (
5685 '2000',
5686 null,
5687 'LMI_UPLOAD_WORKOUT_HAT',
5688 NULL,
5689 NULL,
5690 v_errormsg
5691 || ' - '
5692 || v_errorstack,
5693 LsLmi.c_GENERIC_ERROR,
5694 c_TYPE_WORKOUT
5695 );
5696 END;
5697 $ELSE
5698
5699 Lmi_Upload_Workout(p_CodCompany, v_errore);
5700
5701 IF v_errore THEN
5702 ROLLBACK;
5703 ELSE
5704 COMMIT;
5705 END IF;
5706
5707 $END
5708
5709 lsLmi.StopProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'LMI_UPLOAD_WORKOUT_HAT');
5710
5711END;
5712$END
5713
5714$IF LsCC_Control_Target.UCL $THEN
5715PROCEDURE SPLITCART_HAT(
5716 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
5717 p_SourceName LMI_ANAEXCODE.CDSOURCE%TYPE := NULL)
5718AS
5719 v_targetschema VARCHAR2(30 CHAR);
5720 v_errormsg CLOB;
5721 v_errorstack CLOB;
5722 v_COUNT NUMBER;
5723 v_shema VARCHAR2(30 CHAR);
5724 v_sql VARCHAR2 (32767 CHAR);
5725 v_partition VARCHAR2(30 CHAR);
5726 PRAGMA AUTONOMOUS_TRANSACTION;
5727BEGIN
5728 lsLmi.ResetProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT');
5729 lsLmi.StartProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT');
5730 v_targetschema:= LSLMI.GetSchemaTarget;
5731 select sys_context('userenv','session_user') into v_shema from dual;
5732
5733 IF p_CDCMPANY = '01' THEN
5734 v_partition := LSLMI.c_PARTITION_CDCMPANY_UCL;
5735 ELSIF p_CDCMPANY = '02' THEN
5736 v_partition := LSLMI.c_PARTITION_CDCMPANY_FIN;
5737 END IF;
5738
5739 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_PART_RIGHECART';
5740 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_RIGHE';
5741 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_TEMP_RIGHE';
5742 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_RIGHE_CARTLIQ';
5743 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_RIGHE_ORIG';
5744 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_FAT';
5745 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_RIGHE_ALTRI';
5746 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_RIGHE_CARTO';
5747 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_RIGHEFT_CARTO';
5748 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_RIGHEFT_ALTRI';
5749 EXECUTE IMMEDIATE 'TRUNCATE TABLE LMI_SPLIT_RIGHE_CARTO2';
5750
5751
5752
5753 EXECUTE IMMEDIATE 'ALTER INDEX '||v_targetschema ||'.RIGHE3 REBUILD NOLOGGING PARALLEL 6';
5754 EXECUTE IMMEDIATE 'ALTER INDEX '||v_targetschema ||'.RIGHE8 REBUILD NOLOGGING PARALLEL 6';
5755 EXECUTE IMMEDIATE 'ALTER INDEX '||v_targetschema ||'.RIGHE3 NOPARALLEL';
5756 EXECUTE IMMEDIATE 'ALTER INDEX '||v_targetschema ||'.RIGHE8 NOPARALLEL';
5757
5758
5759 begin
5760 for x in (select * from all_indexes where table_name in('LMI_PART_RIGHECART','LMI_SPLIT_RIGHE','LMI_TEMP_RIGHE','LMI_SPLIT_RIGHE_CARTLIQ','LMI_SPLIT_RIGHE_ORIG',
5761 'LMI_SPLIT_FAT','LMI_SPLIT_RIGHE_ALTRI','LMI_SPLIT_RIGHE_CARTO','LMI_SPLIT_RIGHEFT_CARTO','LMI_SPLIT_RIGHEFT_ALTRI','LMI_SPLIT_RIGHE_CARTO2')
5762 and owner = v_shema and index_name not like 'PK%' AND UNIQUENESS <> 'UNIQUE' )
5763 loop
5764 v_sql:= 'ALTER INDEX ' ||v_shema||'.'||x.index_name || ' UNUSABLE';
5765 EXECUTE IMMEDIATE v_sql;
5766 end loop;
5767 end;
5768
5769
5770 BEGIN
5771 EXECUTE IMMEDIATE 'CREATE INDEX '||v_targetschema||'.SICARTLIQMIG ON '||v_targetschema||'.SICARTLIQ (CDCMPANY, LIQASSIGNMENT) PARALLEL 6';
5772 EXECUTE IMMEDIATE 'ALTER INDEX '||v_targetschema ||'.SICARTLIQMIG NOPARALLEL';
5773 EXCEPTION
5774 WHEN OTHERS THEN NULL;
5775 END;
5776
5777 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_PART_RIGHECART');
5778 BEGIN
5779 INSERT /*+ APPEND */ INTO LMI_PART_RIGHECART(CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA, SALDO, TOTFC, TOTNC, TOTOTH,
5780 SALDOFC, SALDONC, SALDOOTH)
5781 SELECT
5782 CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA, SUM(RIGSPDRIF) SALDO, SUM(FC) TOTFC, SUM(NC) TOTNC, SUM(OTHER) TOTOTH,
5783 SUM(S_FC) SALDOFC, SUM(S_NC) SALDONC, SUM(S_OTHER) SALDOOTH
5784 FROM
5785 (
5786 SELECT
5787 MOV.CDCMPANY, MOV.MOVESERC, MOV.MOVNRMOV, MOV.RIGCDANA, MOV.RIGCDCTR, MOV.RIGPARTITA, MOV.RIGSPDRIF,
5788 CASE
5789 WHEN MOV.MOVCDTPMV= 'FC' THEN 1
5790 ELSE 0
5791 END FC,
5792 CASE
5793 WHEN MOV.MOVCDTPMV= 'NC' THEN 1
5794 ELSE 0
5795 END NC,
5796 CASE
5797 WHEN (MOV.MOVCDTPMV<> 'FC' AND MOV.MOVCDTPMV<> 'NC') THEN 1
5798 ELSE 0
5799 END OTHER,
5800 CASE
5801 WHEN MOV.MOVCDTPMV= 'FC' THEN RIGSPDRIF
5802 ELSE 0
5803 END S_FC,
5804 CASE
5805 WHEN MOV.MOVCDTPMV= 'NC' THEN RIGSPDRIF
5806 ELSE 0
5807 END S_NC,
5808 CASE
5809 WHEN (MOV.MOVCDTPMV<> 'FC' AND MOV.MOVCDTPMV<> 'NC') THEN RIGSPDRIF
5810 ELSE 0
5811 END S_OTHER
5812 FROM
5813 (
5814 SELECT
5815 MOVIMENT.CDCMPANY,
5816 MOVIMENT.MOVESERC,
5817 MOVIMENT.MOVNRMOV,
5818 MOVIMENT.MOVCDTPMV,
5819 RIGHE.RIGCDANA,
5820 RIGHE.RIGCDCTR,
5821 RIGHE.RIGPARTITA,
5822 RIGHE.RIGSPDRIF
5823 FROM RIGHE
5824 INNER JOIN MOVIMENT ON
5825 (RIGHE.CDCMPANY = MOVIMENT.CDCMPANY) AND
5826 (RIGHE.RIGNRMOV = MOVIMENT.MOVNRMOV) AND
5827 (RIGHE.RIGESERC = MOVIMENT.MOVESERC)
5828 WHERE
5829 RIGHE.CDCMPANY = p_CDCMPANY AND RIGHE.RIGCDCONTO IN ('5070000004','5070000008','5070000011','5070000015')
5830 AND RIGHE.RIGPARTITA IS NOT NULL AND RIGHE.RIGCDCTR IS NOT NULL AND RIGCDANA IS NOT NULL
5831 GROUP BY
5832 MOVIMENT.CDCMPANY,
5833 MOVIMENT.MOVESERC,
5834 MOVIMENT.MOVNRMOV,
5835 MOVIMENT.MOVCDTPMV,
5836 RIGHE.RIGCDANA,
5837 RIGHE.RIGCDCTR,
5838 RIGHE.RIGPARTITA,
5839 RIGHE.RIGSPDRIF
5840 ) MOV
5841 ) T
5842 GROUP BY CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA;
5843 COMMIT;
5844 EXCEPTION
5845 WHEN OTHERS THEN
5846 v_errormsg := COALESCE (SQLERRM, '');
5847 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5848 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_PART_RIGHECART');
5849 LsLMI.lmi_addloginfo (
5850 '2000',
5851 NULL,
5852 'INSERT LMI_PART_RIGHECART',
5853 NULL,
5854 NULL,
5855 v_errormsg
5856 || ' - '
5857 || v_errorstack,
5858 LsLmi.c_GENERIC_ERROR,
5859 c_TYPE_ACCOUNTING
5860 );
5861 rollback;
5862 RETURN;
5863 END;
5864
5865
5866 BEGIN
5867 EXECUTE IMMEDIATE 'ALTER INDEX LMI_PART_RIGHECART1 REBUILD';
5868 EXCEPTION
5869 WHEN OTHERS THEN
5870 v_errormsg := COALESCE (SQLERRM, '');
5871 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5872 LsLmi.lmi_addloginfo (
5873 '2000',
5874 null,
5875 'ALTER INDEX LMI_PART_RIGHECART1',
5876 NULL,
5877 NULL,
5878 v_errormsg
5879 || ' - '
5880 || v_errorstack,
5881 LsLmi.c_GENERIC_ERROR,
5882 c_TYPE_ACCOUNTING
5883 );
5884 END;
5885
5886
5887 BEGIN
5888 dbms_stats.gather_table_stats(
5889 ownname=> v_shema, -- NOME SCHEMA
5890 tabname=> 'LMI_PART_RIGHECART' , -- NOME TABELLA
5891 estimate_percent=> 10,
5892 cascade=> TRUE,
5893 degree=> 8,
5894 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
5895 granularity=> 'ALL',
5896 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
5897 EXCEPTION
5898 WHEN OTHERS THEN
5899 v_errormsg := COALESCE (SQLERRM, '');
5900 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5901 LsLmi.lmi_addloginfo (
5902 '2000',
5903 null,
5904 'STATISTICHE LMI_PART_RIGHECART',
5905 NULL,
5906 NULL,
5907 v_errormsg
5908 || ' - '
5909 || v_errorstack,
5910 LsLmi.c_GENERIC_ERROR,
5911 c_TYPE_ACCOUNTING
5912 );
5913 END;
5914
5915 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_PART_RIGHECART');
5916 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHE');
5917
5918
5919 BEGIN
5920 INSERT /*+ APPEND */ INTO LMI_SPLIT_RIGHE
5921 SELECT RIGHE.* FROM RIGHE
5922 INNER JOIN MOVIMENT ON
5923 RIGHE.CDCMPANY = MOVIMENT.CDCMPANY
5924 AND RIGHE.RIGNRMOV = MOVIMENT.MOVNRMOV
5925 AND RIGHE.RIGESERC = MOVIMENT.MOVESERC
5926 WHERE
5927 (RIGHE.CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA) IN
5928 (SELECT CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA
5929 FROM LMI_PART_RIGHECART )
5930 AND MOVIMENT.MOVCDTPMV NOT IN ('FC','NC')
5931 AND RIGHE.RIGCDCONTO = '5070000001';
5932 COMMIT;
5933 EXCEPTION
5934 WHEN OTHERS THEN
5935 v_errormsg := COALESCE (SQLERRM, '');
5936 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5937 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHE');
5938 LsLMI.lmi_addloginfo (
5939 '2000',
5940 NULL,
5941 'INSERT LMI_SPLIT_RIGHE',
5942 NULL,
5943 NULL,
5944 v_errormsg
5945 || ' - '
5946 || v_errorstack,
5947 LsLmi.c_GENERIC_ERROR,
5948 c_TYPE_ACCOUNTING
5949 );
5950 rollback;
5951 RETURN;
5952 END;
5953
5954 BEGIN
5955 EXECUTE IMMEDIATE 'ALTER INDEX LMI_SPLIT_RIGHE1 REBUILD';
5956 EXCEPTION
5957 WHEN OTHERS THEN
5958 v_errormsg := COALESCE (SQLERRM, '');
5959 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5960 LsLmi.lmi_addloginfo (
5961 '2000',
5962 null,
5963 'ALTER INDEX LMI_SPLIT_RIGHE1',
5964 NULL,
5965 NULL,
5966 v_errormsg
5967 || ' - '
5968 || v_errorstack,
5969 LsLmi.c_GENERIC_ERROR,
5970 c_TYPE_ACCOUNTING
5971 );
5972 END;
5973
5974 BEGIN
5975 dbms_stats.gather_table_stats(
5976 ownname=> v_shema, -- NOME SCHEMA
5977 tabname=> 'LMI_SPLIT_RIGHE' , -- NOME TABELLA
5978 estimate_percent=> 10,
5979 cascade=> TRUE,
5980 degree=> 8,
5981 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
5982 granularity=> 'ALL',
5983 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
5984 EXCEPTION
5985 WHEN OTHERS THEN
5986 v_errormsg := COALESCE (SQLERRM, '');
5987 v_errorstack := DBMS_UTILITY.format_error_backtrace;
5988 LsLmi.lmi_addloginfo (
5989 '2000',
5990 null,
5991 'STATISTICHE LMI_SPLIT_RIGHE',
5992 NULL,
5993 NULL,
5994 v_errormsg
5995 || ' - '
5996 || v_errorstack,
5997 LsLmi.c_GENERIC_ERROR,
5998 c_TYPE_ACCOUNTING
5999 );
6000 END;
6001 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHE');
6002-- LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHE_CARTLIQ');
6003-- BEGIN
6004-- INSERT INTO LMI_SPLIT_RIGHE_CARTLIQ
6005-- SELECT LMI_SPLIT_RIGHE.* FROM LMI_SPLIT_RIGHE
6006-- INNER JOIN (
6007-- SELECT CDCMPANY,
6008-- LIQESERC,
6009-- LIQNRMOV,
6010-- LIQNRRIG,
6011-- SUM(LIQAMOUNT) LIQAMOUNT
6012-- FROM SICARTLIQ
6013-- GROUP BY CDCMPANY,
6014-- LIQESERC,
6015-- LIQNRMOV,
6016-- LIQNRRIG ) T ON
6017-- LMI_SPLIT_RIGHE.CDCMPANY = T.CDCMPANY AND
6018-- LMI_SPLIT_RIGHE.RIGESERC = T.LIQESERC AND
6019-- LMI_SPLIT_RIGHE.RIGNRMOV = T.LIQNRMOV AND
6020-- LMI_SPLIT_RIGHE.RIGNRRIGA = T.LIQNRRIG AND
6021-- LMI_SPLIT_RIGHE.RIGSPDRIF = - T.LIQAMOUNT;
6022-- EXCEPTION
6023-- WHEN OTHERS THEN
6024-- v_errormsg := COALESCE (SQLERRM, '');
6025-- v_errorstack := DBMS_UTILITY.format_error_backtrace;
6026-- lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHE_CARTLIQ');
6027-- LsLMI.lmi_addloginfo (
6028-- '2000',
6029-- NULL,
6030-- 'INSERT LMI_SPLIT_RIGHE_CARTLIQ',
6031-- NULL,
6032-- NULL,
6033-- v_errormsg
6034-- || ' - '
6035-- || v_errorstack,
6036-- LsLmi.c_GENERIC_ERROR,
6037-- c_TYPE_ACCOUNTING
6038-- );
6039-- ROLLBACK;
6040-- RETURN;
6041-- END;
6042--
6043-- BEGIN
6044-- EXECUTE IMMEDIATE 'ALTER INDEX LMI_SPLIT_RIGHE_CARTLIQ1 REBUILD';
6045-- EXCEPTION
6046-- WHEN OTHERS THEN
6047-- v_errormsg := COALESCE (SQLERRM, '');
6048-- v_errorstack := DBMS_UTILITY.format_error_backtrace;
6049-- LsLmi.lmi_addloginfo (
6050-- '2000',
6051-- null,
6052-- 'ALTER INDEX LMI_SPLIT_RIGHE_CARTLIQ1',
6053-- NULL,
6054-- NULL,
6055-- v_errormsg
6056-- || ' - '
6057-- || v_errorstack,
6058-- LsLmi.c_GENERIC_ERROR,
6059-- c_TYPE_ACCOUNTING
6060-- );
6061-- END;
6062--
6063-- BEGIN
6064-- dbms_stats.gather_table_stats(
6065-- ownname=> v_shema, -- NOME SCHEMA
6066-- tabname=> 'LMI_SPLIT_RIGHE_CARTLIQ' , -- NOME TABELLA
6067-- estimate_percent=> 10,
6068-- cascade=> TRUE,
6069-- degree=> 8,
6070-- no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
6071-- granularity=> 'ALL',
6072-- method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
6073-- EXCEPTION
6074-- WHEN OTHERS THEN
6075-- v_errormsg := COALESCE (SQLERRM, '');
6076-- v_errorstack := DBMS_UTILITY.format_error_backtrace;
6077-- LsLmi.lmi_addloginfo (
6078-- '2000',
6079-- null,
6080-- 'STATISTICHE LMI_SPLIT_RIGHE_CARTLIQ',
6081-- NULL,
6082-- NULL,
6083-- v_errormsg
6084-- || ' - '
6085-- || v_errorstack,
6086-- LsLmi.c_GENERIC_ERROR,
6087-- c_TYPE_ACCOUNTING
6088-- );
6089-- END;
6090-- LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHE_CARTLIQ');
6091 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHE_ORIG');
6092 BEGIN
6093 INSERT INTO LMI_SPLIT_RIGHE_ORIG
6094 SELECT LMI_SPLIT_RIGHE.*
6095 FROM LMI_SPLIT_RIGHE;
6096 EXCEPTION
6097 WHEN OTHERS THEN
6098 v_errormsg := COALESCE (SQLERRM, '');
6099 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6100 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHE_ORIG');
6101 LsLMI.lmi_addloginfo (
6102 '2000',
6103 NULL,
6104 'INSERT LMI_SPLIT_RIGHE_ORIG',
6105 NULL,
6106 NULL,
6107 v_errormsg
6108 || ' - '
6109 || v_errorstack,
6110 LsLmi.c_GENERIC_ERROR,
6111 c_TYPE_ACCOUNTING
6112 );
6113 ROLLBACK;
6114 RETURN;
6115 END;
6116
6117 BEGIN
6118 EXECUTE IMMEDIATE 'ALTER INDEX LMI_SPLIT_RIGHE_ORIG1 REBUILD';
6119 EXCEPTION
6120 WHEN OTHERS THEN
6121 v_errormsg := COALESCE (SQLERRM, '');
6122 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6123 LsLmi.lmi_addloginfo (
6124 '2000',
6125 null,
6126 'ALTER INDEX LMI_SPLIT_RIGHE_ORIG1',
6127 NULL,
6128 NULL,
6129 v_errormsg
6130 || ' - '
6131 || v_errorstack,
6132 LsLmi.c_GENERIC_ERROR,
6133 c_TYPE_ACCOUNTING
6134 );
6135 END;
6136
6137 BEGIN
6138 dbms_stats.gather_table_stats(
6139 ownname=> v_shema, -- NOME SCHEMA
6140 tabname=> 'LMI_SPLIT_RIGHE_ORIG' , -- NOME TABELLA
6141 estimate_percent=> 10,
6142 cascade=> TRUE,
6143 degree=> 8,
6144 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
6145 granularity=> 'ALL',
6146 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
6147 EXCEPTION
6148 WHEN OTHERS THEN
6149 v_errormsg := COALESCE (SQLERRM, '');
6150 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6151 LsLmi.lmi_addloginfo (
6152 '2000',
6153 null,
6154 'STATISTICHE LMI_SPLIT_RIGHE_ORIG',
6155 NULL,
6156 NULL,
6157 v_errormsg
6158 || ' - '
6159 || v_errorstack,
6160 LsLmi.c_GENERIC_ERROR,
6161 c_TYPE_ACCOUNTING
6162 );
6163 END;
6164 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHE_ORIG');
6165 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO DELETE LMI_SPLIT_RIGHE');
6166 BEGIN
6167 DELETE LMI_SPLIT_RIGHE WHERE (CDCMPANY,RIGESERC,RIGNRMOV,RIGNRRIGA) IN
6168 (SELECT CDCMPANY,RIGESERC,RIGNRMOV,RIGNRRIGA FROM LMI_SPLIT_RIGHE_CARTLIQ);
6169 COMMIT;
6170 EXCEPTION
6171 WHEN OTHERS THEN
6172 v_errormsg := COALESCE (SQLERRM, '');
6173 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6174 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/DELETE LMI_SPLIT_RIGHE');
6175 LsLMI.lmi_addloginfo (
6176 '2000',
6177 NULL,
6178 'DELETE LMI_SPLIT_RIGHE',
6179 NULL,
6180 NULL,
6181 v_errormsg
6182 || ' - '
6183 || v_errorstack,
6184 LsLmi.c_GENERIC_ERROR,
6185 c_TYPE_ACCOUNTING
6186 );
6187 ROLLBACK;
6188 RETURN;
6189 END;
6190 LsDebug.debugtableinsert('SPLITCART_HAT','FINE DELETE LMI_SPLIT_RIGHE');
6191 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_FAT');
6192 BEGIN
6193 INSERT INTO LMI_SPLIT_FAT(CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA, SALDO, FATTCART, FATTNOCART)
6194 SELECT CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA, SUM(RIGSPDRIF) SALDO, SUM(RIGSPDRIF - FATTNOCART) FATTCART, SUM(FATTNOCART) FATTNOCART
6195 FROM (SELECT
6196 MOVIMENT.CDCMPANY,
6197 MOVIMENT.MOVESERC,
6198 MOVIMENT.MOVNRMOV,
6199 MOVIMENT.MOVCDTPMV,
6200 RIGHE.RIGCDANA,
6201 RIGHE.RIGCDCTR,
6202 RIGHE.RIGPARTITA,
6203 RIGHE.RIGSPDRIF,
6204 CASE
6205 WHEN RIGCDCONTO = '5070000001' THEN RIGSPDRIF
6206 ELSE 0
6207 END FATTNOCART
6208
6209 FROM RIGHE
6210 INNER JOIN MOVIMENT ON
6211 RIGHE.CDCMPANY = MOVIMENT.CDCMPANY AND
6212 RIGHE.RIGNRMOV = MOVIMENT.MOVNRMOV AND
6213 RIGHE.RIGESERC = MOVIMENT.MOVESERC
6214 WHERE
6215 (RIGHE.CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA) IN
6216 (SELECT DISTINCT CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA
6217 FROM LMI_SPLIT_RIGHE ) AND
6218 RIGHE.CDCMPANY = p_CDCMPANY AND RIGHE.RIGCDCONTO IN ('5070000001','5070000004','5070000008','5070000011','5070000015')
6219 AND MOVCDTPMV IN ('FC','NC'))
6220 GROUP BY
6221 CDCMPANY, RIGCDANA, RIGCDCTR, RIGPARTITA;
6222 EXCEPTION
6223 WHEN OTHERS THEN
6224 v_errormsg := COALESCE (SQLERRM, '');
6225 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6226 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_FAT');
6227 LsLMI.lmi_addloginfo (
6228 '2000',
6229 NULL,
6230 'INSERT LMI_SPLIT_FAT',
6231 NULL,
6232 NULL,
6233 v_errormsg
6234 || ' - '
6235 || v_errorstack,
6236 LsLmi.c_GENERIC_ERROR,
6237 c_TYPE_ACCOUNTING
6238 );
6239 ROLLBACK;
6240 RETURN;
6241 END;
6242
6243 BEGIN
6244 EXECUTE IMMEDIATE 'ALTER INDEX LMI_SPLIT_FAT1 REBUILD';
6245 EXCEPTION
6246 WHEN OTHERS THEN
6247 v_errormsg := COALESCE (SQLERRM, '');
6248 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6249 LsLmi.lmi_addloginfo (
6250 '2000',
6251 null,
6252 'ALTER INDEX LMI_SPLIT_FAT1',
6253 NULL,
6254 NULL,
6255 v_errormsg
6256 || ' - '
6257 || v_errorstack,
6258 LsLmi.c_GENERIC_ERROR,
6259 c_TYPE_ACCOUNTING
6260 );
6261 END;
6262
6263 BEGIN
6264 dbms_stats.gather_table_stats(
6265 ownname=> v_shema, -- NOME SCHEMA
6266 tabname=> 'LMI_SPLIT_FAT' , -- NOME TABELLA
6267 estimate_percent=> 10,
6268 cascade=> TRUE,
6269 degree=> 8,
6270 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
6271 granularity=> 'ALL',
6272 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
6273 EXCEPTION
6274 WHEN OTHERS THEN
6275 v_errormsg := COALESCE (SQLERRM, '');
6276 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6277 LsLmi.lmi_addloginfo (
6278 '2000',
6279 null,
6280 'STATISTICHE LMI_SPLIT_FAT',
6281 NULL,
6282 NULL,
6283 v_errormsg
6284 || ' - '
6285 || v_errorstack,
6286 LsLmi.c_GENERIC_ERROR,
6287 c_TYPE_ACCOUNTING
6288 );
6289 END;
6290 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_FAT');
6291 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHE_ALTRI');
6292 BEGIN
6293 INSERT /*+ APPEND */ INTO LMI_SPLIT_RIGHE_ALTRI
6294 SELECT
6295 LMI_SPLIT_RIGHE_CARTLIQ.CDCMPANY, LMI_SPLIT_RIGHE_CARTLIQ.RIGESERC,
6296 LMI_SPLIT_RIGHE_CARTLIQ.RIGNRMOV, LMI_SPLIT_RIGHE_CARTLIQ.RIGNRRIGA,
6297 RIGCDDNE, RIGNRBOLL,
6298 CDUSER, DTUSER, RIGDESC,
6299 RIGCDCONTO, RIGCDANA, RIGDENOM,
6300 RIGCDCTR, RIGTPCFL, RIGNRCFL,
6301 RIGCDCESP, RIGDTSCAD, RIGPARTITA,
6302 RIGSPDIV, COALESCE(T.IMPORTO,0) RIGSPDRIF, RIGIMPRIFD,
6303 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA,
6304 RIGSEGNO, RIGCDDIV, RIGIMPDIV,
6305 RIGPRCCMB, RIGIMPDRIF, RIGCDIVA,
6306 RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
6307 RIGIMPMOR, RIGABBMOR, RIGNRAUI,
6308 RIGDTAUI, RIGSTAUI, RIGTEORIG,
6309 RIGTEPAP, RIGTEPRIT, RIGCDCORP,
6310 RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
6311 RIGCENTRO, RIGCODSUB, RIGSTPART,
6312 RIGTEUSER, RIGTELEDGER, RIGINDEX,
6313 CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
6314 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
6315 FROM LMI_SPLIT_RIGHE_CARTLIQ
6316 LEFT OUTER JOIN
6317 (
6318 SELECT CDCMPANY, LIQESERC, LIQNRMOV, LIQNRRIG, SUM(-LIQAMOUNT) IMPORTO
6319 FROM SICARTLIQ
6320 WHERE LIQTPCASH = 'O'
6321 GROUP BY CDCMPANY, LIQESERC, LIQNRMOV, LIQNRRIG
6322 ) T ON
6323 LMI_SPLIT_RIGHE_CARTLIQ.CDCMPANY = T.CDCMPANY AND
6324 LMI_SPLIT_RIGHE_CARTLIQ.RIGESERC = T.LIQESERC AND
6325 LMI_SPLIT_RIGHE_CARTLIQ.RIGNRMOV = T.LIQNRMOV AND
6326 LMI_SPLIT_RIGHE_CARTLIQ.RIGNRRIGA = T.LIQNRRIG;
6327 COMMIT;
6328 EXCEPTION
6329 WHEN OTHERS THEN
6330 v_errormsg := COALESCE (SQLERRM, '');
6331 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6332 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHE_ALTRI');
6333 LsLMI.lmi_addloginfo (
6334 '2000',
6335 NULL,
6336 'INSERT LMI_SPLIT_RIGHE_ALTRI',
6337 NULL,
6338 NULL,
6339 v_errormsg
6340 || ' - '
6341 || v_errorstack,
6342 LsLmi.c_GENERIC_ERROR,
6343 c_TYPE_ACCOUNTING
6344 );
6345 ROLLBACK;
6346 RETURN;
6347 END;
6348
6349 BEGIN
6350 EXECUTE IMMEDIATE 'ALTER INDEX LMI_SPLIT_RIGHE_ALTRI4 REBUILD';
6351 EXCEPTION
6352 WHEN OTHERS THEN
6353 v_errormsg := COALESCE (SQLERRM, '');
6354 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6355 LsLmi.lmi_addloginfo (
6356 '2000',
6357 null,
6358 'ALTER INDEX LMI_SPLIT_RIGHE_ALTRI4',
6359 NULL,
6360 NULL,
6361 v_errormsg
6362 || ' - '
6363 || v_errorstack,
6364 LsLmi.c_GENERIC_ERROR,
6365 c_TYPE_ACCOUNTING
6366 );
6367 END;
6368
6369 BEGIN
6370 dbms_stats.gather_table_stats(
6371 ownname=> v_shema, -- NOME SCHEMA
6372 tabname=> 'LMI_SPLIT_RIGHE_ALTRI' , -- NOME TABELLA
6373 estimate_percent=> 10,
6374 cascade=> TRUE,
6375 degree=> 8,
6376 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
6377 granularity=> 'ALL',
6378 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
6379 EXCEPTION
6380 WHEN OTHERS THEN
6381 v_errormsg := COALESCE (SQLERRM, '');
6382 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6383 LsLmi.lmi_addloginfo (
6384 '2000',
6385 null,
6386 'STATISTICHE LMI_SPLIT_RIGHE_ALTRI',
6387 NULL,
6388 NULL,
6389 v_errormsg
6390 || ' - '
6391 || v_errorstack,
6392 LsLmi.c_GENERIC_ERROR,
6393 c_TYPE_ACCOUNTING
6394 );
6395 END;
6396 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHE_ALTRI');
6397 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHE_CARTO');
6398 BEGIN
6399 INSERT /*+ APPEND */ INTO LMI_SPLIT_RIGHE_CARTO
6400 SELECT
6401 LMI_SPLIT_RIGHE_CARTLIQ.CDCMPANY, LMI_SPLIT_RIGHE_CARTLIQ.RIGESERC,
6402 LMI_SPLIT_RIGHE_CARTLIQ.RIGNRMOV, LMI_SPLIT_RIGHE_CARTLIQ.RIGNRRIGA,
6403 RIGCDDNE, RIGNRBOLL,
6404 CDUSER, DTUSER, RIGDESC,
6405 RIGCDCONTO, RIGCDANA, RIGDENOM,
6406 RIGCDCTR, RIGTPCFL, RIGNRCFL,
6407 RIGCDCESP, RIGDTSCAD, RIGPARTITA,
6408 RIGSPDIV, (COALESCE(RIGSPDIV,0) - COALESCE(T.IMPORTO,0)) RIGSPDRIF, RIGIMPRIFD,
6409 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA,
6410 RIGSEGNO, RIGCDDIV, RIGIMPDIV,
6411 RIGPRCCMB, RIGIMPDRIF, RIGCDIVA,
6412 RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
6413 RIGIMPMOR, RIGABBMOR, RIGNRAUI,
6414 RIGDTAUI, RIGSTAUI, RIGTEORIG,
6415 RIGTEPAP, RIGTEPRIT, RIGCDCORP,
6416 RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
6417 RIGCENTRO, RIGCODSUB, RIGSTPART,
6418 RIGTEUSER, RIGTELEDGER, RIGINDEX,
6419 CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
6420 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
6421 FROM LMI_SPLIT_RIGHE_CARTLIQ
6422 LEFT OUTER JOIN
6423 (
6424 SELECT CDCMPANY, LIQESERC, LIQNRMOV, LIQNRRIG, SUM(-LIQAMOUNT) IMPORTO
6425 FROM SICARTLIQ
6426 WHERE LIQTPCASH = 'O'
6427 GROUP BY CDCMPANY, LIQESERC, LIQNRMOV, LIQNRRIG
6428 ) T ON
6429 LMI_SPLIT_RIGHE_CARTLIQ.CDCMPANY = T.CDCMPANY AND
6430 LMI_SPLIT_RIGHE_CARTLIQ.RIGESERC = T.LIQESERC AND
6431 LMI_SPLIT_RIGHE_CARTLIQ.RIGNRMOV = T.LIQNRMOV AND
6432 LMI_SPLIT_RIGHE_CARTLIQ.RIGNRRIGA = T.LIQNRRIG;
6433 COMMIT;
6434 EXCEPTION
6435 WHEN OTHERS THEN
6436 v_errormsg := COALESCE (SQLERRM, '');
6437 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6438 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHE_CARTO');
6439 LsLMI.lmi_addloginfo (
6440 '2000',
6441 NULL,
6442 'INSERT LMI_SPLIT_RIGHE_CARTO',
6443 NULL,
6444 NULL,
6445 v_errormsg
6446 || ' - '
6447 || v_errorstack,
6448 LsLmi.c_GENERIC_ERROR,
6449 c_TYPE_ACCOUNTING
6450 );
6451 ROLLBACK;
6452 RETURN;
6453 END;
6454
6455 BEGIN
6456 EXECUTE IMMEDIATE 'ALTER INDEX LMI_SPLIT_RIGHE_CARTO1 REBUILD';
6457 EXCEPTION
6458 WHEN OTHERS THEN
6459 v_errormsg := COALESCE (SQLERRM, '');
6460 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6461 LsLmi.lmi_addloginfo (
6462 '2000',
6463 null,
6464 'ALTER INDEX LMI_SPLIT_RIGHE_CARTO1',
6465 NULL,
6466 NULL,
6467 v_errormsg
6468 || ' - '
6469 || v_errorstack,
6470 LsLmi.c_GENERIC_ERROR,
6471 c_TYPE_ACCOUNTING
6472 );
6473 END;
6474
6475 BEGIN
6476 dbms_stats.gather_table_stats(
6477 ownname=> v_shema, -- NOME SCHEMA
6478 tabname=> 'LMI_SPLIT_RIGHE_CARTO' , -- NOME TABELLA
6479 estimate_percent=> 10,
6480 cascade=> TRUE,
6481 degree=> 8,
6482 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
6483 granularity=> 'ALL',
6484 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
6485 EXCEPTION
6486 WHEN OTHERS THEN
6487 v_errormsg := COALESCE (SQLERRM, '');
6488 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6489 LsLmi.lmi_addloginfo (
6490 '2000',
6491 null,
6492 'STATISTICHE LMI_SPLIT_RIGHE_CARTO',
6493 NULL,
6494 NULL,
6495 v_errormsg
6496 || ' - '
6497 || v_errorstack,
6498 LsLmi.c_GENERIC_ERROR,
6499 c_TYPE_ACCOUNTING
6500 );
6501 END;
6502
6503 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHE_CARTO');
6504 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHEFT_CARTO');
6505 BEGIN
6506 INSERT INTO LMI_SPLIT_RIGHEFT_CARTO(CDCMPANY,RIGESERC,RIGNRMOV,RIGNRRIGA,RIGCDDNE,RIGNRBOLL,CDUSER,DTUSER,RIGDESC,RIGCDCONTO,RIGCDANA,RIGDENOM,RIGCDCTR,RIGTPCFL,RIGNRCFL,RIGCDCESP,RIGDTSCAD,RIGPARTITA,
6507 RIGSPDIV,RIGSPDRIF,RIGIMPRIFD,RIGIMPRIFA,RIGIMPDIVD,RIGIMPDIVA,RIGSEGNO,RIGCDDIV,RIGIMPDIV,RIGPRCCMB,RIGIMPDRIF,RIGCDIVA,RIGPERCIVA,RIGTEMORA,RIGTAXMOR,RIGIMPMOR,RIGABBMOR,
6508 RIGNRAUI,RIGDTAUI,RIGSTAUI,RIGTEORIG,RIGTEPAP,RIGTEPRIT,RIGCDCORP,RIGDESCORP,RIGSTBNFAVV,RIGSTBNFDISP,RIGCENTRO,RIGCODSUB,RIGSTPART,RIGTEUSER,RIGTELEDGER,RIGINDEX,CLCPRCDET,
6509 RIGAPARTITA,RIGADEBITOCREDITO,CONTODEBITOCREDITO,TIPORIGA,RIGIVAIMPOSTA)
6510 SELECT
6511 LMI_SPLIT_RIGHE.CDCMPANY,
6512 LMI_SPLIT_RIGHE.RIGESERC,
6513 LMI_SPLIT_RIGHE.RIGNRMOV,
6514 LMI_SPLIT_RIGHE.RIGNRRIGA,
6515 LMI_SPLIT_RIGHE.RIGCDDNE,
6516 LMI_SPLIT_RIGHE.RIGNRBOLL,
6517 LMI_SPLIT_RIGHE.CDUSER,
6518 LMI_SPLIT_RIGHE.DTUSER,
6519 LMI_SPLIT_RIGHE.RIGDESC,
6520 LMI_SPLIT_RIGHE.RIGCDCONTO,
6521 LMI_SPLIT_RIGHE.RIGCDANA,
6522 LMI_SPLIT_RIGHE.RIGDENOM,
6523 LMI_SPLIT_RIGHE.RIGCDCTR,
6524 LMI_SPLIT_RIGHE.RIGTPCFL,
6525 LMI_SPLIT_RIGHE.RIGNRCFL,
6526 LMI_SPLIT_RIGHE.RIGCDCESP,
6527 LMI_SPLIT_RIGHE.RIGDTSCAD,
6528 LMI_SPLIT_RIGHE.RIGPARTITA,
6529 LMI_SPLIT_RIGHE.RIGSPDIV,
6530 round(LMI_SPLIT_RIGHE.RIGSPDRIF *(LMI_SPLIT_FAT.FATTCART/LMI_SPLIT_FAT.SALDO),2) RIGSPDRIF,
6531 LMI_SPLIT_RIGHE.RIGIMPRIFD,
6532 LMI_SPLIT_RIGHE.RIGIMPRIFA,
6533 LMI_SPLIT_RIGHE.RIGIMPDIVD,
6534 LMI_SPLIT_RIGHE.RIGIMPDIVA,
6535 LMI_SPLIT_RIGHE.RIGSEGNO,
6536 LMI_SPLIT_RIGHE.RIGCDDIV,
6537 LMI_SPLIT_RIGHE.RIGIMPDIV,
6538 LMI_SPLIT_RIGHE.RIGPRCCMB,
6539 LMI_SPLIT_RIGHE.RIGIMPDRIF,
6540 LMI_SPLIT_RIGHE.RIGCDIVA,
6541 LMI_SPLIT_RIGHE.RIGPERCIVA,
6542 LMI_SPLIT_RIGHE.RIGTEMORA,
6543 LMI_SPLIT_RIGHE.RIGTAXMOR,
6544 LMI_SPLIT_RIGHE.RIGIMPMOR,
6545 LMI_SPLIT_RIGHE.RIGABBMOR,
6546 LMI_SPLIT_RIGHE.RIGNRAUI,
6547 LMI_SPLIT_RIGHE. RIGDTAUI,
6548 LMI_SPLIT_RIGHE.RIGSTAUI,
6549 LMI_SPLIT_RIGHE.RIGTEORIG,
6550 LMI_SPLIT_RIGHE.RIGTEPAP,
6551 LMI_SPLIT_RIGHE.RIGTEPRIT,
6552 LMI_SPLIT_RIGHE.RIGCDCORP,
6553 LMI_SPLIT_RIGHE.RIGDESCORP,
6554 LMI_SPLIT_RIGHE.RIGSTBNFAVV,
6555 LMI_SPLIT_RIGHE.RIGSTBNFDISP,
6556 LMI_SPLIT_RIGHE.RIGCENTRO,
6557 LMI_SPLIT_RIGHE.RIGCODSUB,
6558 LMI_SPLIT_RIGHE.RIGSTPART,
6559 LMI_SPLIT_RIGHE.RIGTEUSER,
6560 LMI_SPLIT_RIGHE.RIGTELEDGER,
6561 LMI_SPLIT_RIGHE.RIGINDEX,
6562 LMI_SPLIT_RIGHE.CLCPRCDET,
6563 LMI_SPLIT_RIGHE.RIGAPARTITA,
6564 LMI_SPLIT_RIGHE.RIGADEBITOCREDITO,
6565 LMI_SPLIT_RIGHE.CONTODEBITOCREDITO,
6566 LMI_SPLIT_RIGHE.TIPORIGA,
6567 LMI_SPLIT_RIGHE.RIGIVAIMPOSTA
6568 FROM LMI_SPLIT_RIGHE
6569 INNER JOIN LMI_SPLIT_FAT ON
6570 LMI_SPLIT_RIGHE.CDCMPANY = LMI_SPLIT_FAT.CDCMPANY AND
6571 LMI_SPLIT_RIGHE.RIGCDANA = LMI_SPLIT_FAT.RIGCDANA AND
6572 LMI_SPLIT_RIGHE.RIGCDCTR = LMI_SPLIT_FAT.RIGCDCTR AND
6573 LMI_SPLIT_RIGHE.RIGPARTITA = LMI_SPLIT_FAT.RIGPARTITA
6574 WHERE LMI_SPLIT_FAT.SALDO <> 0;
6575 COMMIT;
6576 EXCEPTION
6577 WHEN OTHERS THEN
6578 v_errormsg := COALESCE (SQLERRM, '');
6579 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6580 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHEFT_CARTO');
6581 LsLMI.lmi_addloginfo (
6582 '2000',
6583 NULL,
6584 'INSERT LMI_SPLIT_RIGHEFT_CARTO',
6585 NULL,
6586 NULL,
6587 v_errormsg
6588 || ' - '
6589 || v_errorstack,
6590 LsLmi.c_GENERIC_ERROR,
6591 c_TYPE_ACCOUNTING
6592 );
6593 ROLLBACK;
6594 RETURN;
6595
6596 END;
6597
6598 BEGIN
6599 dbms_stats.gather_table_stats(
6600 ownname=> v_shema, -- NOME SCHEMA
6601 tabname=> 'LMI_SPLIT_RIGHEFT_CARTO' , -- NOME TABELLA
6602 estimate_percent=> 10,
6603 cascade=> TRUE,
6604 degree=> 8,
6605 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
6606 granularity=> 'ALL',
6607 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
6608 EXCEPTION
6609 WHEN OTHERS THEN
6610 v_errormsg := COALESCE (SQLERRM, '');
6611 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6612 LsLmi.lmi_addloginfo (
6613 '2000',
6614 null,
6615 'STATISTICHE LMI_SPLIT_RIGHEFT_CARTO',
6616 NULL,
6617 NULL,
6618 v_errormsg
6619 || ' - '
6620 || v_errorstack,
6621 LsLmi.c_GENERIC_ERROR,
6622 c_TYPE_ACCOUNTING
6623 );
6624 END;
6625 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHEFT_CARTO');
6626 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHEFT_ALTRI');
6627 BEGIN
6628 INSERT INTO LMI_SPLIT_RIGHEFT_ALTRI
6629 SELECT
6630 LMI_SPLIT_RIGHE.CDCMPANY,
6631 LMI_SPLIT_RIGHE.RIGESERC,
6632 LMI_SPLIT_RIGHE.RIGNRMOV,
6633 LMI_SPLIT_RIGHE.RIGNRRIGA,
6634 LMI_SPLIT_RIGHE.RIGCDDNE,
6635 LMI_SPLIT_RIGHE.RIGNRBOLL,
6636 LMI_SPLIT_RIGHE.CDUSER,
6637 LMI_SPLIT_RIGHE.DTUSER,
6638 LMI_SPLIT_RIGHE.RIGDESC,
6639 LMI_SPLIT_RIGHE.RIGCDCONTO,
6640 LMI_SPLIT_RIGHE.RIGCDANA,
6641 LMI_SPLIT_RIGHE.RIGDENOM,
6642 LMI_SPLIT_RIGHE.RIGCDCTR,
6643 LMI_SPLIT_RIGHE.RIGTPCFL,
6644 LMI_SPLIT_RIGHE.RIGNRCFL,
6645 LMI_SPLIT_RIGHE.RIGCDCESP,
6646 LMI_SPLIT_RIGHE.RIGDTSCAD,
6647 LMI_SPLIT_RIGHE.RIGPARTITA,
6648 LMI_SPLIT_RIGHE.RIGSPDIV,
6649 CASE
6650 WHEN LMI_SPLIT_FAT.SALDO <> 0 THEN
6651 LMI_SPLIT_RIGHE.RIGSPDRIF - round(LMI_SPLIT_RIGHE.RIGSPDRIF *(LMI_SPLIT_FAT.FATTCART/LMI_SPLIT_FAT.SALDO),2)
6652 ELSE LMI_SPLIT_RIGHE.RIGSPDRIF
6653 END RIGSPDRIF,
6654 LMI_SPLIT_RIGHE.RIGIMPRIFD,
6655 LMI_SPLIT_RIGHE.RIGIMPRIFA,
6656 LMI_SPLIT_RIGHE.RIGIMPDIVD,
6657 LMI_SPLIT_RIGHE.RIGIMPDIVA,
6658 LMI_SPLIT_RIGHE.RIGSEGNO,
6659 LMI_SPLIT_RIGHE.RIGCDDIV,
6660 LMI_SPLIT_RIGHE.RIGIMPDIV,
6661 LMI_SPLIT_RIGHE.RIGPRCCMB,
6662 LMI_SPLIT_RIGHE.RIGIMPDRIF,
6663 LMI_SPLIT_RIGHE.RIGCDIVA,
6664 LMI_SPLIT_RIGHE.RIGPERCIVA,
6665 LMI_SPLIT_RIGHE.RIGTEMORA,
6666 LMI_SPLIT_RIGHE.RIGTAXMOR,
6667 LMI_SPLIT_RIGHE.RIGIMPMOR,
6668 LMI_SPLIT_RIGHE.RIGABBMOR,
6669 LMI_SPLIT_RIGHE.RIGNRAUI,
6670 LMI_SPLIT_RIGHE. RIGDTAUI,
6671 LMI_SPLIT_RIGHE.RIGSTAUI,
6672 LMI_SPLIT_RIGHE.RIGTEORIG,
6673 LMI_SPLIT_RIGHE.RIGTEPAP,
6674 LMI_SPLIT_RIGHE.RIGTEPRIT,
6675 LMI_SPLIT_RIGHE.RIGCDCORP,
6676 LMI_SPLIT_RIGHE.RIGDESCORP,
6677 LMI_SPLIT_RIGHE.RIGSTBNFAVV,
6678 LMI_SPLIT_RIGHE.RIGSTBNFDISP,
6679 LMI_SPLIT_RIGHE.RIGCENTRO,
6680 LMI_SPLIT_RIGHE.RIGCODSUB,
6681 LMI_SPLIT_RIGHE.RIGSTPART,
6682 LMI_SPLIT_RIGHE.RIGTEUSER,
6683 LMI_SPLIT_RIGHE.RIGTELEDGER,
6684 LMI_SPLIT_RIGHE.RIGINDEX,
6685 LMI_SPLIT_RIGHE.CLCPRCDET,
6686 LMI_SPLIT_RIGHE.RIGAPARTITA,
6687 LMI_SPLIT_RIGHE.RIGADEBITOCREDITO,
6688 LMI_SPLIT_RIGHE.CONTODEBITOCREDITO,
6689 LMI_SPLIT_RIGHE.TIPORIGA,
6690 LMI_SPLIT_RIGHE.RIGIVAIMPOSTA
6691 FROM LMI_SPLIT_RIGHE
6692 INNER JOIN LMI_SPLIT_FAT ON
6693 LMI_SPLIT_RIGHE.CDCMPANY = LMI_SPLIT_FAT.CDCMPANY AND
6694 LMI_SPLIT_RIGHE.RIGCDANA = LMI_SPLIT_FAT.RIGCDANA AND
6695 LMI_SPLIT_RIGHE.RIGCDCTR = LMI_SPLIT_FAT.RIGCDCTR AND
6696 LMI_SPLIT_RIGHE.RIGPARTITA = LMI_SPLIT_FAT.RIGPARTITA;
6697 COMMIT;
6698 EXCEPTION
6699 WHEN OTHERS THEN
6700 v_errormsg := COALESCE (SQLERRM, '');
6701 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6702 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHEFT_ALTRI');
6703 LsLMI.lmi_addloginfo (
6704 '2000',
6705 NULL,
6706 'INSERT LMI_SPLIT_RIGHEFT_ALTRI',
6707 NULL,
6708 NULL,
6709 v_errormsg
6710 || ' - '
6711 || v_errorstack,
6712 LsLmi.c_GENERIC_ERROR,
6713 c_TYPE_ACCOUNTING
6714 );
6715 ROLLBACK;
6716 RETURN;
6717
6718 END;
6719
6720 BEGIN
6721 dbms_stats.gather_table_stats(
6722 ownname=> v_shema, -- NOME SCHEMA
6723 tabname=> 'LMI_SPLIT_RIGHEFT_ALTRI' , -- NOME TABELLA
6724 estimate_percent=> 10,
6725 cascade=> TRUE,
6726 degree=> 8,
6727 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
6728 granularity=> 'ALL',
6729 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
6730 EXCEPTION
6731 WHEN OTHERS THEN
6732 v_errormsg := COALESCE (SQLERRM, '');
6733 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6734 LsLmi.lmi_addloginfo (
6735 '2000',
6736 null,
6737 'STATISTICHE LMI_SPLIT_RIGHEFT_ALTRI',
6738 NULL,
6739 NULL,
6740 v_errormsg
6741 || ' - '
6742 || v_errorstack,
6743 LsLmi.c_GENERIC_ERROR,
6744 c_TYPE_ACCOUNTING
6745 );
6746 END;
6747 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHEFT_ALTRI');
6748 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHE_CARTO');
6749
6750 BEGIN
6751 INSERT INTO LMI_SPLIT_RIGHE_CARTO
6752 SELECT * FROM LMI_SPLIT_RIGHEFT_CARTO;
6753 COMMIT;
6754 EXCEPTION
6755 WHEN OTHERS THEN
6756 v_errormsg := COALESCE (SQLERRM, '');
6757 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6758 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHE_CARTO');
6759 LsLMI.lmi_addloginfo (
6760 '2000',
6761 NULL,
6762 'INSERT LMI_SPLIT_RIGHE_CARTO',
6763 NULL,
6764 NULL,
6765 v_errormsg
6766 || ' - '
6767 || v_errorstack,
6768 LsLmi.c_GENERIC_ERROR,
6769 c_TYPE_ACCOUNTING
6770 );
6771 ROLLBACK;
6772 RETURN;
6773 END;
6774 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHE_CARTO');
6775
6776 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHE_ALTRI');
6777 BEGIN
6778 INSERT INTO LMI_SPLIT_RIGHE_ALTRI
6779 SELECT * FROM LMI_SPLIT_RIGHEFT_ALTRI;
6780 EXCEPTION
6781 WHEN OTHERS THEN
6782 v_errormsg := COALESCE (SQLERRM, '');
6783 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6784 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHE_ALTRI');
6785 LsLMI.lmi_addloginfo (
6786 '2000',
6787 NULL,
6788 'INSERT LMI_SPLIT_RIGHE_ALTRI',
6789 NULL,
6790 NULL,
6791 v_errormsg
6792 || ' - '
6793 || v_errorstack,
6794 LsLmi.c_GENERIC_ERROR,
6795 c_TYPE_ACCOUNTING
6796 );
6797 ROLLBACK;
6798 RETURN;
6799 END;
6800
6801 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHE_ALTRI');
6802
6803 $IF LsCC_Control_Target.BO_SECURITIZATION $THEN
6804 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO INSERT INTO LMI_SPLIT_RIGHE_CARTO2');
6805
6806 BEGIN
6807 INSERT /*+ APPEND */ INTO LMI_SPLIT_RIGHE_CARTO2
6808 SELECT
6809 LMI_SPLIT_RIGHE_CARTO.CDCMPANY, LMI_SPLIT_RIGHE_CARTO.RIGESERC,
6810 LMI_SPLIT_RIGHE_CARTO.RIGNRMOV, LMI_SPLIT_RIGHE_CARTO.RIGNRRIGA,
6811 RIGCDDNE, RIGNRBOLL,
6812 CDUSER, DTUSER, RIGDESC,
6813 T.CDCONTO RIGCDCONTO, RIGCDANA, RIGDENOM,
6814 RIGCDCTR, RIGTPCFL, RIGNRCFL,
6815 RIGCDCESP, RIGDTSCAD, RIGPARTITA,
6816 RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
6817 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA,
6818 RIGSEGNO, RIGCDDIV, RIGIMPDIV,
6819 RIGPRCCMB, RIGIMPDRIF, RIGCDIVA,
6820 RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
6821 RIGIMPMOR, RIGABBMOR, RIGNRAUI,
6822 RIGDTAUI, RIGSTAUI, RIGTEORIG,
6823 RIGTEPAP, RIGTEPRIT, RIGCDCORP,
6824 RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
6825 RIGCENTRO, RIGCODSUB, RIGSTPART,
6826 RIGTEUSER, RIGTELEDGER, RIGINDEX,
6827 CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
6828 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
6829 FROM LMI_SPLIT_RIGHE_CARTO
6830 LEFT OUTER JOIN
6831 (
6832 SELECT T.*, CDCONTO FROM
6833 (
6834 SELECT CDCMPANY, CARTCTRCOD, MAX(CARTDNE) CARTDNE FROM SICTRCART
6835 GROUP BY CDCMPANY, CARTCTRCOD
6836 ) T
6837 INNER JOIN TABCONTICART ON
6838 CARTDNE = CDDNE AND ACCTYPE = 'RECFIN' AND PRODTYPE = 'L'
6839 ) T ON
6840 LMI_SPLIT_RIGHE_CARTO.CDCMPANY = T.CDCMPANY AND
6841 LMI_SPLIT_RIGHE_CARTO.RIGCDCTR = T.CARTCTRCOD;
6842 COMMIT;
6843 EXCEPTION
6844 WHEN OTHERS THEN
6845 v_errormsg := COALESCE (SQLERRM, '');
6846 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6847 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_SPLIT_RIGHE_CARTO2');
6848 LsLMI.lmi_addloginfo (
6849 '2000',
6850 NULL,
6851 'INSERT LMI_SPLIT_RIGHE_CARTO2',
6852 NULL,
6853 NULL,
6854 v_errormsg
6855 || ' - '
6856 || v_errorstack,
6857 LsLmi.c_GENERIC_ERROR,
6858 c_TYPE_ACCOUNTING
6859 );
6860 ROLLBACK;
6861 RETURN;
6862
6863 END;
6864 $END
6865
6866 BEGIN
6867 EXECUTE IMMEDIATE 'ALTER INDEX LMI_SPLIT_RIGHE_CARTO21 REBUILD';
6868 EXCEPTION
6869 WHEN OTHERS THEN
6870 v_errormsg := COALESCE (SQLERRM, '');
6871 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6872 LsLmi.lmi_addloginfo (
6873 '2000',
6874 null,
6875 'ALTER INDEX LMI_SPLIT_RIGHE_CARTO21',
6876 NULL,
6877 NULL,
6878 v_errormsg
6879 || ' - '
6880 || v_errorstack,
6881 LsLmi.c_GENERIC_ERROR,
6882 c_TYPE_ACCOUNTING
6883 );
6884 END;
6885
6886 BEGIN
6887 dbms_stats.gather_table_stats(
6888 ownname=> v_shema, -- NOME SCHEMA
6889 tabname=> 'LMI_SPLIT_RIGHE_CARTO2' , -- NOME TABELLA
6890 estimate_percent=> 10,
6891 cascade=> TRUE,
6892 degree=> 8,
6893 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
6894 granularity=> 'ALL',
6895 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
6896 EXCEPTION
6897 WHEN OTHERS THEN
6898 v_errormsg := COALESCE (SQLERRM, '');
6899 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6900 LsLmi.lmi_addloginfo (
6901 '2000',
6902 null,
6903 'STATISTICHE LMI_SPLIT_RIGHE_CARTO2',
6904 NULL,
6905 NULL,
6906 v_errormsg
6907 || ' - '
6908 || v_errorstack,
6909 LsLmi.c_GENERIC_ERROR,
6910 c_TYPE_ACCOUNTING
6911 );
6912 END;
6913 LsDebug.debugtableinsert('SPLITCART_HAT','FINE INSERT INTO LMI_SPLIT_RIGHE_CARTO2');
6914 LsDebug.debugtableinsert('SPLITCART_HAT','INIZIO PRIMA VERIFICA');
6915
6916 BEGIN
6917 SELECT COUNT(*) INTO v_COUNT
6918 FROM (
6919 SELECT LMI_SPLIT_RIGHE_ORIG.CDCMPANY, LMI_SPLIT_RIGHE_ORIG.RIGESERC, LMI_SPLIT_RIGHE_ORIG.RIGNRMOV, LMI_SPLIT_RIGHE_ORIG.RIGNRRIGA, LMI_SPLIT_RIGHE_ORIG.RIGSPDRIF,TOTSPLIT
6920 FROM LMI_SPLIT_RIGHE_ORIG INNER JOIN
6921 (SELECT CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, SUM(RIGSPDRIF) TOTSPLIT FROM (
6922 SELECT * FROM LMI_SPLIT_RIGHE_ALTRI WHERE LMI_SPLIT_RIGHE_ALTRI.RIGSPDRIF <> 0
6923 UNION ALL
6924 SELECT * FROM LMI_SPLIT_RIGHE_CARTO2 WHERE LMI_SPLIT_RIGHE_CARTO2.RIGSPDRIF <> 0)
6925 GROUP BY CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA) T2
6926 ON
6927 LMI_SPLIT_RIGHE_ORIG.CDCMPANY = T2.CDCMPANY AND
6928 LMI_SPLIT_RIGHE_ORIG.RIGESERC = T2.RIGESERC AND
6929 LMI_SPLIT_RIGHE_ORIG.RIGNRMOV = T2.RIGNRMOV AND
6930 LMI_SPLIT_RIGHE_ORIG.RIGNRRIGA = T2.RIGNRRIGA WHERE LMI_SPLIT_RIGHE_ORIG.RIGSPDRIF - TOTSPLIT <> 0
6931 );
6932 EXCEPTION
6933 WHEN OTHERS THEN
6934 v_errormsg := COALESCE (SQLERRM, '');
6935 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6936 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/VERIFICA');
6937 LsLMI.lmi_addloginfo (
6938 '2000',
6939 NULL,
6940 'VERIFICA',
6941 NULL,
6942 NULL,
6943 v_errormsg
6944 || ' - '
6945 || v_errorstack,
6946 LsLmi.c_GENERIC_ERROR,
6947 c_TYPE_ACCOUNTING
6948 );
6949 ROLLBACK;
6950 RETURN;
6951 END;
6952
6953 LsDebug.debugtableinsert('SPLITCART_HAT','FINE PRIMA VERIFICA');
6954
6955 IF v_COUNT = 0 THEN
6956 BEGIN
6957 UPDATE LMI_SPLIT_RIGHE_ALTRI SET RIGNRRIGA = RIGNRRIGA + 9000, RIGINDEX = RIGNRRIGA + 9000;
6958 COMMIT;
6959 EXCEPTION
6960 WHEN OTHERS THEN
6961 v_errormsg := COALESCE (SQLERRM, '');
6962 v_errorstack := DBMS_UTILITY.format_error_backtrace;
6963 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/UPDATE LMI_SPLIT_RIGHE_ALTRI');
6964 LsLMI.lmi_addloginfo (
6965 '2000',
6966 NULL,
6967 'UPDATE LMI_SPLIT_RIGHE_ALTRI',
6968 NULL,
6969 NULL,
6970 v_errormsg
6971 || ' - '
6972 || v_errorstack,
6973 LsLmi.c_GENERIC_ERROR,
6974 c_TYPE_ACCOUNTING
6975 );
6976 ROLLBACK;
6977 RETURN;
6978
6979 END;
6980
6981
6982 BEGIN -- sistemo gli altri importi (oltre all'SPDRIF)
6983 UPDATE LMI_SPLIT_RIGHE_ALTRI SET
6984 RIGSPDIV = RIGSPDRIF,
6985 RIGIMPDIV = RIGSPDRIF,
6986 RIGIMPDRIF = RIGSPDRIF,
6987 RIGIMPRIFD = RIGSPDRIF,
6988 RIGIMPDIVD = RIGSPDRIF
6989 WHERE RIGSEGNO = 'D';
6990
6991 UPDATE LMI_SPLIT_RIGHE_ALTRI SET
6992 RIGSPDIV = RIGSPDRIF,
6993 RIGIMPDIV = -RIGSPDRIF,
6994 RIGIMPDRIF = -RIGSPDRIF,
6995 RIGIMPRIFA = -RIGSPDRIF,
6996 RIGIMPDIVA = -RIGSPDRIF
6997 WHERE RIGSEGNO = 'A';
6998 COMMIT;
6999
7000 UPDATE LMI_SPLIT_RIGHE_CARTO2 SET
7001 RIGSPDIV = RIGSPDRIF,
7002 RIGIMPDIV = RIGSPDRIF,
7003 RIGIMPDRIF = RIGSPDRIF,
7004 RIGIMPRIFD = RIGSPDRIF,
7005 RIGIMPDIVD = RIGSPDRIF
7006 WHERE RIGSEGNO = 'D';
7007
7008 UPDATE LMI_SPLIT_RIGHE_CARTO2 SET
7009 RIGSPDIV = RIGSPDRIF,
7010 RIGIMPDIV = -RIGSPDRIF,
7011 RIGIMPDRIF = -RIGSPDRIF,
7012 RIGIMPRIFA = -RIGSPDRIF,
7013 RIGIMPDIVA = -RIGSPDRIF
7014 WHERE RIGSEGNO = 'A';
7015 COMMIT;
7016
7017 EXCEPTION
7018 WHEN OTHERS THEN
7019 v_errormsg := COALESCE (SQLERRM, '');
7020 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7021 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/UPDATE LMI_SPLIT_RIGHE_ALTRI - LMI_SPLIT_RIGHE_CARTO2');
7022 LsLMI.lmi_addloginfo (
7023 '2000',
7024 NULL,
7025 'UPDATE LMI_SPLIT_RIGHE_ALTRI - LMI_SPLIT_RIGHE_CARTO2',
7026 NULL,
7027 NULL,
7028 v_errormsg
7029 || ' - '
7030 || v_errorstack,
7031 LsLmi.c_GENERIC_ERROR,
7032 c_TYPE_ACCOUNTING
7033 );
7034 ROLLBACK;
7035 RETURN;
7036 END;
7037
7038
7039 BEGIN
7040 INSERT /*+ APPEND */ INTO LMI_TEMP_RIGHE
7041 SELECT RIGHE.*
7042 FROM RIGHE
7043 WHERE NOT EXISTS
7044 (SELECT 1 FROM LMI_SPLIT_RIGHE_orig
7045 WHERE LMI_SPLIT_RIGHE_orig.CDCMPANY = RIGHE.CDCMPANY AND
7046 LMI_SPLIT_RIGHE_orig.RIGESERC = RIGHE.RIGESERC AND
7047 LMI_SPLIT_RIGHE_orig.RIGNRMOV = RIGHE.RIGNRMOV AND
7048 LMI_SPLIT_RIGHE_orig.RIGNRRIGA = RIGHE.RIGNRRIGA);
7049 commit;
7050 EXCEPTION
7051 WHEN OTHERS THEN
7052 v_errormsg := COALESCE (SQLERRM, '');
7053 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7054 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_TEMP_RIGHE');
7055 LsLMI.lmi_addloginfo (
7056 '2000',
7057 NULL,
7058 'INSERT LMI_TEMP_RIGHE',
7059 NULL,
7060 NULL,
7061 v_errormsg
7062 || ' - '
7063 || v_errorstack,
7064 LsLmi.c_GENERIC_ERROR,
7065 c_TYPE_ACCOUNTING
7066 );
7067 ROLLBACK;
7068 RETURN;
7069
7070 END;
7071
7072
7073 BEGIN
7074 INSERT /*+ APPEND */ INTO LMI_TEMP_RIGHE (SELECT * FROM LMI_SPLIT_RIGHE_CARTO2 WHERE RIGSPDRIF <> 0);
7075 COMMIT;
7076 EXCEPTION
7077 WHEN OTHERS THEN
7078 v_errormsg := COALESCE (SQLERRM, '');
7079 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7080 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_TEMP_RIGHE');
7081 LsLMI.lmi_addloginfo (
7082 '2000',
7083 NULL,
7084 'INSERT LMI_TEMP_RIGHE',
7085 NULL,
7086 NULL,
7087 v_errormsg
7088 || ' - '
7089 || v_errorstack,
7090 LsLmi.c_GENERIC_ERROR,
7091 c_TYPE_ACCOUNTING
7092 );
7093 ROLLBACK;
7094 RETURN;
7095 END;
7096
7097 BEGIN
7098 INSERT /*+ APPEND */ INTO LMI_TEMP_RIGHE (SELECT * FROM LMI_SPLIT_RIGHE_ALTRI WHERE RIGSPDRIF <> 0);
7099 COMMIT;
7100 EXCEPTION
7101 WHEN OTHERS THEN
7102 v_errormsg := COALESCE (SQLERRM, '');
7103 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7104 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT LMI_TEMP_RIGHE2');
7105 LsLMI.lmi_addloginfo (
7106 '2000',
7107 NULL,
7108 'INSERT LMI_TEMP_RIGHE2',
7109 NULL,
7110 NULL,
7111 v_errormsg
7112 || ' - '
7113 || v_errorstack,
7114 LsLmi.c_GENERIC_ERROR,
7115 c_TYPE_ACCOUNTING
7116 );
7117 ROLLBACK;
7118 RETURN;
7119 END;
7120
7121--MM
7122
7123 BEGIN
7124 dbms_stats.gather_table_stats(
7125 ownname=> v_shema, -- NOME SCHEMA
7126 tabname=> 'LMI_TEMP_RIGHE' , -- NOME TABELLA
7127 estimate_percent=> 10,
7128 cascade=> TRUE,
7129 degree=> 8,
7130 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
7131 granularity=> 'ALL',
7132 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
7133 EXCEPTION
7134 WHEN OTHERS THEN
7135 v_errormsg := COALESCE (SQLERRM, '');
7136 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7137 LsLmi.lmi_addloginfo (
7138 '2000',
7139 null,
7140 'STATISTICHE LMI_TEMP_RIGHE',
7141 NULL,
7142 NULL,
7143 v_errormsg
7144 || ' - '
7145 || v_errorstack,
7146 LsLmi.c_GENERIC_ERROR,
7147 c_TYPE_ACCOUNTING
7148 );
7149 END;
7150
7151
7152 BEGIN
7153 SELECT COUNT(*) INTO v_COUNT
7154 FROM (
7155 SELECT cdcmpany, rigeserc, rignrmov, rignrriga
7156 FROM LMI_TEMP_RIGHE
7157 GROUP BY cdcmpany, rigeserc, rignrmov, rignrriga
7158 HAVING COUNT(1) >1);
7159 EXCEPTION
7160 WHEN OTHERS THEN
7161 v_errormsg := COALESCE (SQLERRM, '');
7162 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7163 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/VERIFICA2');
7164 LsLMI.lmi_addloginfo (
7165 '2000',
7166 NULL,
7167 'VERIFICA2',
7168 NULL,
7169 NULL,
7170 v_errormsg
7171 || ' - '
7172 || v_errorstack,
7173 LsLmi.c_GENERIC_ERROR,
7174 c_TYPE_ACCOUNTING
7175 );
7176 ROLLBACK;
7177 RETURN;
7178 END;
7179
7180
7181 IF v_COUNT = 0 THEN
7182 -- SE NON CI SONO DOPPIONI E ERRORI
7183 lssql.TruncatePartition('RIGHE',v_partition);
7184
7185 for x in (select * from all_indexes where table_name in('RIGHE') and owner = v_targetschema and (index_name like 'PK%' or UNIQUENESS in 'UNIQUE') )
7186 loop
7187 v_sql:= 'ALTER INDEX ' ||v_targetschema||'.'||x.index_name || ' REBUILD';
7188 EXECUTE IMMEDIATE v_sql;
7189 end loop;
7190
7191 BEGIN
7192 INSERT /*+ APPEND */ INTO RIGHE
7193 SELECT * FROM LMI_TEMP_RIGHE;
7194 COMMIT;
7195 EXCEPTION
7196 WHEN OTHERS THEN
7197 v_errormsg := COALESCE (SQLERRM, '');
7198 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7199 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SPLITCART_HAT/INSERT RIGHE');
7200 LsLMI.lmi_addloginfo (
7201 '2000',
7202 NULL,
7203 'RIGHE',
7204 NULL,
7205 NULL,
7206 v_errormsg
7207 || ' - '
7208 || v_errorstack,
7209 LsLmi.c_GENERIC_ERROR,
7210 c_TYPE_ACCOUNTING
7211 );
7212 ROLLBACK;
7213 RETURN;
7214 END;
7215 ELSE
7216 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','SECONDO CONTROLLO');
7217 END IF;
7218 ELSE
7219 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT','PRIMO CONTROLLO');
7220
7221 END IF;
7222
7223 lsLmi.StopProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLITCART_HAT');
7224END;
7225$END
7226--
7227$IF LsCC_Control_Target.UCL $THEN
7228PROCEDURE SPLIT_CONTICOGE_HAT(
7229 p_CDCMPANY TCCOMPANY.CDCMPANY%TYPE,
7230 p_SourceName LMI_ANAEXCODE.CDSOURCE%TYPE := NULL
7231)
7232AS
7233 PRAGMA AUTONOMOUS_TRANSACTION;
7234 v_errormsg CLOB;
7235 v_errorstack CLOB;
7236 v_cdconto TABCONTI.CDCONTO%TYPE;
7237 v_NumMov MOVIMENT.MOVNRMOV%TYPE;
7238 v_Prefix VARCHAR2(1 CHAR);
7239 v_targetschema VARCHAR2 (30 CHAR);
7240
7241BEGIN
7242 lsLmi.ResetProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT');
7243 lsLmi.StartProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT');
7244 v_targetschema:= LsLmi.GetSchemaTarget;
7245 LSSQL.TruncateTable('TEMP_MOVIMENT');
7246 LSSQL.TruncateTable('TEMP_RIGHE');
7247
7248 if p_SourceName = 'UCL' then
7249 v_Prefix := 'U';
7250 else
7251 v_Prefix := 'F';
7252 end if;
7253
7254 FOR Y IN (SELECT DISTINCT CDCONTO FROM
7255 (
7256 SELECT T.*, TETPCON FROM
7257 (
7258 SELECT DESTVALUE CDCONTO, v_Prefix||TRIM(MC4_NUMERO) CONTRACT, MC4_IMPORTO IMPORTO FROM
7259 (SELECT COALESCE(TRIM(MC4_PADRE), TRIM(MC4_CONTO)) MC4_CONTO,
7260 CASE
7261 WHEN TRIM(MC4_PADRE) IS NOT NULL THEN TRIM(MC4_CONTO)
7262 ELSE NULL
7263 END NDG,
7264 MC4_NUMERO, MC4_IMPORTO
7265 FROM LMI_MIGR_ESTRCNTCON
7266 ) LMI_MIGR_ESTRCNTCON
7267 LEFT OUTER JOIN LMI_CONVERT ON
7268 TRIM(LMI_MIGR_ESTRCNTCON.MC4_CONTO) = LMI_CONVERT.SRCVALUE AND LMI_CONVERT.MPDDOMAIN = 'TABCONTI'
7269 WHERE LMI_CONVERT.DESTVALUE IS NOT NULL AND TRIM(MC4_NUMERO) <> '0'
7270 ) T
7271 LEFT OUTER JOIN TABCONTI ON
7272 T.CDCONTO = TABCONTI.CDCONTO
7273 WHERE CONTRACT IN
7274 (SELECT CONTRACT FROM SICTRHEAD WHERE CDCMPANY = p_CDCMPANY)
7275 )
7276 )
7277
7278 LOOP
7279
7280
7281 FOR X IN (SELECT CDCONTO, SUM(ABS(IMPORTO)) IMPORTO_TOTALE,
7282 SUM(
7283 CASE WHEN IMPORTO > 0 THEN IMPORTO
7284 ELSE 0
7285 END
7286 ) IMPORTO_TOTALE_DARE,
7287 SUM(
7288 CASE WHEN IMPORTO < 0 THEN IMPORTO
7289 ELSE 0
7290 END
7291 ) IMPORTO_TOTALE_AVERE, RIGHE.CDCMPANY, RIGHE.RIGESERC, RIGHE.RIGNRMOV
7292 FROM
7293 (SELECT * FROM
7294 (
7295 SELECT TABCONTI.CDCMPANY, T.*, TETPCON FROM
7296 (SELECT DESTVALUE CDCONTO, v_Prefix||TRIM(MC4_NUMERO) CONTRACT, MC4_IMPORTO IMPORTO FROM
7297 (SELECT COALESCE(TRIM(MC4_PADRE), TRIM(MC4_CONTO)) MC4_CONTO,
7298 CASE
7299 WHEN TRIM(MC4_PADRE) IS NOT NULL THEN TRIM(MC4_CONTO)
7300 ELSE NULL
7301 END NDG,
7302 MC4_NUMERO, MC4_IMPORTO
7303 FROM LMI_MIGR_ESTRCNTCON
7304 ) LMI_MIGR_ESTRCNTCON
7305 LEFT OUTER JOIN LMI_CONVERT ON
7306 TRIM(LMI_MIGR_ESTRCNTCON.MC4_CONTO) = LMI_CONVERT.SRCVALUE AND LMI_CONVERT.MPDDOMAIN = 'TABCONTI'
7307 WHERE LMI_CONVERT.DESTVALUE IS NOT NULL AND TRIM(MC4_NUMERO) <> '0'
7308 ) T
7309 LEFT OUTER JOIN TABCONTI ON
7310 TABCONTI.CDCMPANY = p_CDCMPANY AND
7311 TABCONTI.CDCONTO = T.CDCONTO
7312 WHERE CONTRACT IN
7313 (SELECT CONTRACT FROM SICTRHEAD WHERE CDCMPANY = p_CDCMPANY)
7314 ) CONTI WHERE CDCONTO = Y.CDCONTO
7315 ) CONTICOGE
7316 INNER JOIN
7317 (SELECT /*+ FULL(RIGHE) */ CDCMPANY, RIGESERC, DTUSER, RIGCDCONTO, MAX(RIGNRMOV) RIGNRMOV FROM RIGHE WHERE RIGCDCONTO = Y.CDCONTO
7318 GROUP BY CDCMPANY, RIGESERC, DTUSER, RIGCDCONTO
7319 ) RIGHE ON
7320 CONTICOGE.CDCMPANY = RIGHE.CDCMPANY AND
7321 CONTICOGE.CDCONTO = RIGHE.RIGCDCONTO
7322 WHERE IMPORTO <> 0
7323 GROUP BY CDCONTO, RIGHE.CDCMPANY, RIGHE.RIGESERC, RIGHE.RIGNRMOV
7324 )
7325 LOOP
7326
7327 LsDebug.debugtableinsert('SPLIT_CONTICOGE','INIZIO INSERT TEMP_MOVIMENT');
7328 v_NumMov := LSLOOKUP.GETNEWNUMMOV(X.CDCMPANY, X.RIGESERC);
7329 BEGIN
7330 -- TESTATA DEL MOVIMENTO
7331 INSERT INTO TEMP_MOVIMENT (
7332 CDCMPANY, MOVNRMOV, MOVESERC, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL, MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC,
7333 MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA,
7334 MOVCDCAUS, MOVIMPBASE, MOVDIVISA, MOVCAMBIO, MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
7335 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR, MOVSTESERC,
7336 MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN,
7337 MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER, MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP,
7338 MOVINDEX, CLCTETPPAR, MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA, MOVTEDEF
7339 )
7340 SELECT
7341 CDCMPANY, v_NumMov MOVNRMOV, MOVESERC, MOVCDDNE, CDUSER, DTUSER, MOVDTREG, MOVDTRGBL, MOVESERCBL, MOVCDTPMV, MOVDESC, MOVDTDOC,
7342 MOVNRDOC, MOVCDPAG, MOVDTSTBL, MOVPROGRBL, MOVCDRGIVA, MOVNRIVA, MOVCDRGCEE, MOVNRCEE, MOVDTSTIVA,
7343 MOVCDCAUS, ABS(X.IMPORTO_TOTALE) MOVIMPBASE, MOVDIVISA, MOVCAMBIO, ABS(X.IMPORTO_TOTALE) MOVCONTROV, MOVDTSCAD, MOVCLIFAT, MOVDENOM, MOVCLIIND,
7344 MOVRAGSIND, MOVLOC, MOVINDIR, MOVCAP, MOVPROV, MOVPERSRIF, MOVBNKRIF, MOVCTR, MOVSTESERC,
7345 MOVSTNRMOV, MOVFLAGST, MOVNOTE, MOVSTDTIVA, MOVSTNRDOC, MOVPAGBNK, MOVPAGBNKBNCH, MOVPAGCC, MOVPAGCIN,
7346 MOVFILIALE, MOVCDSCHEMA, MOVCODSUB, MOVTELEDGER, MOVPAGIBAN, MOVSTATUS, MOVREVESERC, MOVREVNRMOV, MOVGROUP,
7347 MOVINDEX, CLCTETPPAR, MOVRIGADET, MOVRIGAIND, MOVRIGACEE, MOVCAUSSTD, MOVESECTYPE, MOVESECCODE, MOVESECCODANA, MOVTEDEF
7348 FROM MOVIMENT
7349 WHERE MOVIMENT.CDCMPANY = X.CDCMPANY AND MOVIMENT.MOVESERC = X.RIGESERC AND MOVIMENT.MOVNRMOV = X.RIGNRMOV;
7350 commit;
7351 EXCEPTION
7352 WHEN OTHERS THEN
7353 LsDebug.debugtableinsert('SPLIT_CONTICOGE_CONTO',Y.CDCONTO);
7354 v_errormsg := COALESCE (SQLERRM, '');
7355 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7356 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT','SPLIT_CONTICOGE/ INSERT TEMP_MOVIMENT');
7357 LsLmi.lmi_addloginfo(
7358 '2000',
7359 NULL,
7360 'INSERT TEMP_MOVIMENT',
7361 NULL,
7362 NULL,
7363 v_errormsg
7364 || ' - '
7365 || v_errorstack,
7366 LsLmi.c_INSERT_ERROR,
7367 c_TYPE_ACCOUNTING
7368 );
7369 ROLLBACK;
7370 RETURN;
7371
7372 END;
7373 LsDebug.debugtableinsert('SPLIT_CONTICOGE','FINE INSERT TEMP_MOVIMENT');
7374 LsDebug.debugtableinsert('SPLIT_CONTICOGE','INIZIO INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
7375 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE - DARE
7376 BEGIN
7377 INSERT INTO TEMP_RIGHE (
7378 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
7379 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
7380 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
7381 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
7382 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
7383 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
7384 SELECT
7385 CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 1 RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
7386 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
7387 -X.IMPORTO_TOTALE_DARE RIGSPDIV,
7388 -X.IMPORTO_TOTALE_DARE RIGSPDRIF,
7389 0 RIGIMPRIFD,
7390 X.IMPORTO_TOTALE_DARE RIGIMPRIFA,
7391 0 RIGIMPDIVD,
7392 X.IMPORTO_TOTALE_DARE RIGIMPDIVA,
7393 'A' RIGSEGNO,
7394 RIGCDDIV,
7395 ABS(X.IMPORTO_TOTALE_DARE) RIGIMPDIV,
7396 RIGPRCCMB,
7397 ABS(X.IMPORTO_TOTALE_DARE) RIGIMPDRIF,
7398 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
7399 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
7400 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 1 RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
7401 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
7402 FROM RIGHE
7403 WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = Y.CDCONTO;
7404 commit;
7405 EXCEPTION
7406 WHEN OTHERS THEN
7407 v_errormsg := COALESCE (SQLERRM, '');
7408 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7409 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT','SPLIT_CONTICOGE/ INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
7410 LsLmi.lmi_addloginfo(
7411 '2000',
7412 NULL,
7413 'INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE',
7414 NULL,
7415 NULL,
7416 v_errormsg
7417 || ' - '
7418 || v_errorstack,
7419 LsLmi.c_INSERT_ERROR,
7420 c_TYPE_ACCOUNTING
7421 );
7422 ROLLBACK;
7423 END;
7424 -- ALIMENTAZIONE DELLA RIGA DI SCARICO PER TOTALE - AVERE
7425 LsDebug.debugtableinsert('SPLIT_CONTICOGE','FINE INSERT TEMP_RIGHE DI SCARICO PER TOTALE - DARE');
7426 LsDebug.debugtableinsert('SPLIT_CONTICOGE','INIZIO INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
7427 BEGIN
7428 INSERT INTO TEMP_RIGHE (
7429 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
7430 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
7431 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
7432 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
7433 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
7434 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
7435 SELECT
7436 CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 2 RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
7437 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA,
7438 -X.IMPORTO_TOTALE_AVERE RIGSPDIV,
7439 -X.IMPORTO_TOTALE_AVERE RIGSPDRIF,
7440 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPRIFD,
7441 0 RIGIMPRIFA,
7442 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDIVD,
7443 0 RIGIMPDIVA,
7444 'D' RIGSEGNO,
7445 RIGCDDIV,
7446 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDIV,
7447 RIGPRCCMB,
7448 ABS(X.IMPORTO_TOTALE_AVERE) RIGIMPDRIF,
7449 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
7450 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
7451 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 2 RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
7452 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
7453 FROM RIGHE
7454 WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = Y.CDCONTO;
7455 commit;
7456 EXCEPTION
7457 WHEN OTHERS THEN
7458 v_errormsg := COALESCE (SQLERRM, '');
7459 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7460 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT','SPLIT_CONTICOGE/ INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
7461 LsLmi.lmi_addloginfo(
7462 '2000',
7463 NULL,
7464 'INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE',
7465 NULL,
7466 NULL,
7467 v_errormsg
7468 || ' - '
7469 || v_errorstack,
7470 LsLmi.c_INSERT_ERROR,
7471 c_TYPE_ACCOUNTING
7472 );
7473 ROLLBACK;
7474 END;
7475 LsDebug.debugtableinsert('SPLIT_CONTICOGE','FINE INSERT TEMP_RIGHE DI SCARICO PER TOTALE - AVERE');
7476 LsDebug.debugtableinsert('SPLIT_CONTICOGE','INIZIO INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
7477 -- ALIMENTAZIONE DELLE RIGHE DI CARICO DETTAGLIATE
7478 BEGIN
7479 INSERT INTO TEMP_RIGHE (
7480 CDCMPANY, RIGESERC, RIGNRMOV, RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, RIGCDANA, RIGDENOM,
7481 RIGCDCTR, RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD, RIGPARTITA, RIGSPDIV, RIGSPDRIF, RIGIMPRIFD,
7482 RIGIMPRIFA, RIGIMPDIVD, RIGIMPDIVA, RIGSEGNO, RIGCDDIV, RIGIMPDIV, RIGPRCCMB, RIGIMPDRIF, RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
7483 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
7484 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
7485 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA)
7486 SELECT
7487 CONTICOGE.CDCMPANY, RIGESERC, v_NumMov RIGNRMOV, 2+ROWNUM RIGNRRIGA, RIGCDDNE, RIGNRBOLL, CDUSER, DTUSER, RIGDESC, RIGCDCONTO, COALESCE(LMI_ANAGR.ANACODANA,LSLMI.ConvertAnaexcod(CONTICOGE.NDG)) RIGCDANA,
7488 (SELECT ANADENOM FROM SIANAGR WHERE ANACODANA = LMI_ANAGR.ANACODANA ) RIGDENOM,
7489 CONTICOGE.CONTRACT RIGCDCTR,
7490 RIGTPCFL, RIGNRCFL, RIGCDCESP, RIGDTSCAD,
7491 CASE
7492 WHEN (SELECT TABCONTI.TEPART FROM TABCONTI WHERE TABCONTI.CDCMPANY = CONTICOGE.CDCMPANY AND TABCONTI.CDCONTO = RIGCDCONTO) = 1 THEN CONTICOGE.CONTRACT||'-001-'||LSTIME.DateTimeToAAAAMMGG(RIGDTSCAD)
7493 ELSE NULL
7494 END RIGPARTITA,
7495 CONTICOGE.IMPORTO RIGSPDIV,
7496 CONTICOGE.IMPORTO RIGSPDRIF,
7497 CASE
7498 WHEN CONTICOGE.IMPORTO > 0 THEN ABS(CONTICOGE.IMPORTO)
7499 ELSE 0
7500 END RIGIMPRIFD,
7501 CASE
7502 WHEN CONTICOGE.IMPORTO < 0 THEN ABS(CONTICOGE.IMPORTO)
7503 ELSE 0
7504 END RIGIMPRIFA,
7505 CASE
7506 WHEN CONTICOGE.IMPORTO > 0 THEN ABS(CONTICOGE.IMPORTO)
7507 ELSE 0
7508 END RIGIMPDIVD,
7509 CASE
7510 WHEN CONTICOGE.IMPORTO < 0 THEN ABS(CONTICOGE.IMPORTO)
7511 ELSE 0
7512 END RIGIMPDIVA,
7513 CASE
7514 WHEN CONTICOGE.IMPORTO > 0 THEN 'D'
7515 ELSE 'A'
7516 END RIGSEGNO,
7517 RIGCDDIV,
7518 ABS(CONTICOGE.IMPORTO) RIGIMPDIV,
7519 RIGPRCCMB,
7520 ABS(CONTICOGE.IMPORTO) RIGIMPDRIF,
7521 RIGCDIVA, RIGPERCIVA, RIGTEMORA, RIGTAXMOR,
7522 RIGIMPMOR, RIGABBMOR, RIGNRAUI, RIGDTAUI, RIGSTAUI, RIGTEORIG, RIGTEPAP, RIGTEPRIT, RIGCDCORP, RIGDESCORP, RIGSTBNFAVV, RIGSTBNFDISP,
7523 RIGCENTRO, RIGCODSUB, RIGSTPART, RIGTEUSER, RIGTELEDGER, 2+ROWNUM RIGINDEX, CLCPRCDET, RIGAPARTITA, RIGADEBITOCREDITO,
7524 CONTODEBITOCREDITO, TIPORIGA, RIGIVAIMPOSTA
7525 FROM
7526 (SELECT * FROM
7527 (
7528 SELECT TABCONTI.CDCMPANY, T.*, TETPCON FROM
7529 (
7530 SELECT DESTVALUE CDCONTO, v_Prefix||TRIM(MC4_NUMERO) CONTRACT, NDG, MC4_IMPORTO IMPORTO FROM
7531 (SELECT COALESCE(TRIM(MC4_PADRE), TRIM(MC4_CONTO)) MC4_CONTO,
7532 CASE
7533 WHEN TRIM(MC4_PADRE) IS NOT NULL THEN TRIM(MC4_CONTO)
7534 ELSE NULL
7535 END NDG,
7536 MC4_NUMERO, MC4_IMPORTO
7537 FROM LMI_MIGR_ESTRCNTCON
7538 ) LMI_MIGR_ESTRCNTCON
7539 LEFT OUTER JOIN LMI_CONVERT ON
7540 TRIM(LMI_MIGR_ESTRCNTCON.MC4_CONTO) = LMI_CONVERT.SRCVALUE AND LMI_CONVERT.MPDDOMAIN = 'TABCONTI'
7541 WHERE LMI_CONVERT.DESTVALUE IS NOT NULL AND TRIM(MC4_NUMERO) <> '0'
7542 ) T
7543 LEFT OUTER JOIN TABCONTI ON
7544 T.CDCONTO = TABCONTI.CDCONTO
7545 WHERE CONTRACT IN
7546 (SELECT CONTRACT FROM SICTRHEAD)
7547 ) CONTI WHERE CDCONTO = Y.CDCONTO
7548 ) CONTICOGE
7549 LEFT OUTER JOIN
7550 (SELECT * FROM RIGHE WHERE RIGHE.CDCMPANY = X.CDCMPANY AND RIGHE.RIGESERC = X.RIGESERC AND RIGHE.RIGNRMOV = X.RIGNRMOV AND RIGCDCONTO = Y.CDCONTO) RIGHE ON
7551 CONTICOGE.CDCMPANY = RIGHE.CDCMPANY AND
7552 CONTICOGE.CDCONTO = RIGHE.RIGCDCONTO
7553 LEFT OUTER JOIN LMI_ANAGR ON --DEFECT 13510
7554 LMI_ANAGR .ANAEXCOD = CONTICOGE.NDG
7555 WHERE CONTICOGE.IMPORTO <> 0 AND CONTICOGE.CDCMPANY = p_CDCMPANY ;
7556 commit;
7557 EXCEPTION
7558 WHEN OTHERS THEN
7559 v_errormsg := COALESCE (SQLERRM, '');
7560 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7561 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT','SPLIT_CONTICOGE/ INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
7562 LsLmi.lmi_addloginfo(
7563 '2000',
7564 NULL,
7565 'INSERT TEMP_RIGHE DI CARICO DETTAGLIATE',
7566 NULL,
7567 NULL,
7568 v_errormsg
7569 || ' - '
7570 || v_errorstack,
7571 LsLmi.c_INSERT_ERROR,
7572 c_TYPE_ACCOUNTING
7573 );
7574 ROLLBACK;
7575 END;
7576
7577 END LOOP;
7578
7579 END LOOP;
7580 COMMIT;
7581 BEGIN
7582 FOR X IN (SELECT /*+ FULL(TEMP_RIGHE) */ * FROM TEMP_RIGHE WHERE RIGCDCTR IS NOT NULL)
7583 LOOP
7584 UPDATE TEMP_RIGHE SET RIGCDANA = (SELECT CDCUSTOMER FROM SICTRHEAD WHERE CDCMPANY = X.CDCMPANY AND CONTRACT = X.RIGCDCTR)
7585 WHERE CDCMPANY = X.CDCMPANY AND RIGESERC = X.RIGESERC AND RIGNRMOV = X.RIGNRMOV AND RIGNRRIGA = X.RIGNRRIGA AND RIGCDANA IS NULL;
7586 COMMIT;
7587 END LOOP;
7588 END;
7589 COMMIT;
7590 LsDebug.debugtableinsert('SPLIT_CONTICOGE','FINE INSERT TEMP_RIGHE DI CARICO DETTAGLIATE');
7591
7592 LsDebug.debugtableinsert('SPLIT_CONTICOGE','INIZIO INSERT MOVIMENT');
7593 BEGIN
7594 INSERT /*+ APPEND */ INTO MOVIMENT SELECT * FROM TEMP_MOVIMENT;
7595 COMMIT;
7596 EXCEPTION
7597 WHEN OTHERS THEN
7598 v_errormsg := COALESCE (SQLERRM, '');
7599 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7600 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT','SPLIT_CONTICOGE/ INSERT MOVIMENT');
7601 LsLmi.lmi_addloginfo(
7602 '2000',
7603 NULL,
7604 'MOVIMENT',
7605 NULL,
7606 NULL,
7607 v_errormsg
7608 || ' - '
7609 || v_errorstack,
7610 LsLmi.c_INSERT_ERROR,
7611 c_TYPE_ACCOUNTING
7612 );
7613 ROLLBACK;
7614 RETURN;
7615 END;
7616
7617
7618 LsDebug.debugtableinsert('SPLIT_CONTICOGE','FINE INSERT MOVIMENT');
7619 LsDebug.debugtableinsert('SPLIT_CONTICOGE','INIZIO INSERT RIGHE');
7620 BEGIN
7621 INSERT /*+ APPEND */ INTO RIGHE SELECT * FROM TEMP_RIGHE;
7622 COMMIT;
7623 EXCEPTION
7624 WHEN OTHERS THEN
7625 v_errormsg := COALESCE (SQLERRM, '');
7626 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7627 lsLmi.ErrorProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT','SPLIT_CONTICOGE/ INSERT RIGHE');
7628 LsLmi.lmi_addloginfo(
7629 '2000',
7630 NULL,
7631 'RIGHE',
7632 NULL,
7633 NULL,
7634 v_errormsg
7635 || ' - '
7636 || v_errorstack,
7637 LsLmi.c_INSERT_ERROR,
7638 c_TYPE_ACCOUNTING
7639 );
7640 ROLLBACK;
7641 RETURN;
7642 END;
7643 begin
7644 dbms_stats.gather_table_stats(
7645 ownname=> v_targetschema, -- NOME SCHEMA
7646 tabname=> 'RIGHE' , -- NOME TABELLA
7647 estimate_percent=> 10,
7648 cascade=> TRUE,
7649 degree=> 8,
7650 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
7651 granularity=> 'ALL',
7652 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
7653 exception
7654 WHEN OTHERS THEN
7655 v_errormsg := COALESCE (SQLERRM, '');
7656 v_errorstack := DBMS_UTILITY.format_error_backtrace;
7657 lsLmi.lmi_addloginfo (
7658 '2000',
7659 null,
7660 'STATISTICHE RIGHE',
7661 NULL,
7662 NULL,
7663 v_errormsg
7664 || ' - '
7665 || v_errorstack,
7666 lsLmi.c_GENERIC_ERROR,
7667 c_TYPE_ACCOUNTING
7668 );
7669 end;
7670
7671
7672 LsDebug.debugtableinsert('SPLIT_CONTICOGE_HAT','FINE INSERT RIGHE');
7673 lsLmi.StopProcedureMonitor(LsLmi.c_LSLMI_ACCOUNTING,'SPLIT_CONTICOGE_HAT');
7674
7675END;
7676$END--
7677
7678PROCEDURE ResetID_CODE
7679AS
7680BEGIN
7681
7682 BEGIN
7683
7684 UPDATE LMI_MOVIMENT
7685 SET LMI_MOVIMENT.ID_CODE = NULL;
7686
7687 UPDATE LMI_RIGHE
7688 SET LMI_RIGHE.ID_CODE = NULL;
7689
7690 UPDATE LMI_RITENUTE
7691 SET LMI_RITENUTE.ID_CODE = NULL;
7692
7693 UPDATE LMI_MORADETT
7694 SET LMI_MORADETT.ID_CODE = NULL;
7695
7696 UPDATE LMI_EFFETTI
7697 SET LMI_EFFETTI.ID_CODE = NULL;
7698
7699 UPDATE LMI_DETTIVA
7700 SET LMI_DETTIVA.ID_CODE = NULL;
7701
7702 UPDATE LMI_BONIFICI
7703 SET LMI_BONIFICI.ID_CODE = NULL;
7704
7705 UPDATE LMI_SILIQIVA
7706 SET LMI_SILIQIVA.ID_CODE = NULL;
7707
7708 UPDATE LMI_STLIQIVA
7709 SET LMI_STLIQIVA.ID_CODE = NULL;
7710
7711 UPDATE LMI_SILIQRA
7712 SET LMI_SILIQRA.ID_CODE = NULL;
7713
7714 UPDATE LMI_STLIQRA
7715 SET LMI_STLIQRA.ID_CODE = NULL;
7716
7717 UPDATE LMI_SIDICVAT
7718 SET LMI_SIDICVAT.ID_CODE = NULL;
7719
7720 EXCEPTION
7721 WHEN OTHERS THEN
7722 LsGlobal.LsErrorTrace(SQLERRM);
7723 END;
7724
7725END;
7726
7727
7728END LsLmi_Accounting;