Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / <Maxstring>File+6^%qarmac / 25 сообщений из 34, страница 1 из 2
21.01.2013, 11:10
    #38117539
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Добрый день! У нас случилось обновление одной из программ которое использует СУБД Cashe... А также в нашем отделе есть програмка написанная до меня которая тянет информацию из этой СУБД... После недавнего обновления появилась ошибка (см скрин)... Я не очень хорошо разбираюсь в СУБД Cashe. Не могли бы вы мне подсказать что это может быть.
...
Рейтинг: 0 / 0
21.01.2013, 11:51
    #38117657
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13,

There has been an attempt to specify or create a data string longer than the implementation allows (32,767 characters).
<MAXSTRING>
...
Рейтинг: 0 / 0
21.01.2013, 12:18
    #38117739
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Т е получается что длина данного поля не должна быть более 32,767 символа?
...
Рейтинг: 0 / 0
21.01.2013, 12:23
    #38117754
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Самое интересное... Для выгрузки из базы написаны 2 запроса... Они объединены оператором "Union" Так вот если их выполнять по отдельности то каждый из них работает... А вместе не хотят
...
Рейтинг: 0 / 0
21.01.2013, 12:28
    #38117772
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Вот сам запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
654.
655.
656.
657.
658.
659.
660.
661.
662.
663.
664.
665.
666.
667.
668.
669.
670.
671.
672.
673.
674.
675.
676.
677.
678.
679.
680.
681.
682.
683.
684.
685.
686.
687.
688.
689.
690.
691.
692.
693.
694.
695.
696.
697.
698.
699.
700.
701.
702.
703.
704.
705.
706.
707.
708.
709.
710.
711.
712.
713.
714.
715.
716.
717.
718.
719.
720.
721.
722.
723.
724.
725.
726.
727.
728.
729.
730.
731.
732.
733.
734.
735.
736.
737.
738.
739.
740.
741.
742.
743.
744.
745.
746.
747.
748.
749.
/* 2010 - 2 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(1) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Period = 2 and
	Year = 2010 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
UNION
/* 2010 - 1 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(1) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R315_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R315_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R315_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Period = 1 and
	Year = 2010 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
	not exists
	(SELECT InsurerFK FROM ASV_Entities.CalcStatementTitle a2 WHERE (IsNull(+$piece(a2.Fields,'R110_C3:',2),0) + IsNull(+$piece(a2.Fields,'R110_C4:',2),0) > 0) AND (2 = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
UNION
/* 2010 - 4 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(2) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Period = 4 and
	Year = 2010 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
UNION
/* 2010 - 3 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(2) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Period = 3 and
	Year = 2010 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + STR_202_N3IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
	not exists
	(SELECT InsurerFK FROM ASV_Entities.CalcStatementTitle a2 WHERE (4 = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
UNION
/* 2011 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(Period) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(
	IsNull(+$piece(Fields,'R252_C4:',2),0) + IsNull(+$piece(Fields,'R252_C5:',2),0) + IsNull(+$piece(Fields,'R252_C6:',2),0) +
	IsNull(+$piece(Fields,'R252_C4:',3),0) + IsNull(+$piece(Fields,'R252_C5:',3),0) + IsNull(+$piece(Fields,'R252_C6:',3),0) +
	IsNull(+$piece(Fields,'R252_C4:',4),0) + IsNull(+$piece(Fields,'R252_C5:',4),0) + IsNull(+$piece(Fields,'R252_C6:',4),0) 
	as numeric(15,2)) as "STR_252",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_201_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_202_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_203_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_211_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_212_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_213_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_231_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_232_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_233_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_250_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_251_N3",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_201_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_202_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_203_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_211_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_212_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_213_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_231_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_232_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_233_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_250_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Year >= 2011 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))

...
Рейтинг: 0 / 0
21.01.2013, 12:28
    #38117773
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Если это поле строка - да. Но можно включить длинные строки и это ограничение будет уже 3641144 символов. Или используйте потоки.

Также в самом запросе может быть формирование результирующей строки, превышающей максимально допустимый размер, например:
Код: sql
1.
select поле1||поле2||'sdf' from table

dartveider13<...>А вместе не хотятЭто как раз тот самый случай.
...
Рейтинг: 0 / 0
21.01.2013, 13:41
    #38117969
doublefint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13Вот сам запрос
Какая утонченная форма садомазохизма
...
Рейтинг: 0 / 0
21.01.2013, 13:48
    #38117984
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Сломался-то запрос не на этапе выполнения, а на этапе подготовки. Т.е., возможно, оптимизатор получил на вход строку длиннее допустимой. Длинные строки точно разрешены? Какая версия Cache? Что выводит команда
Код: sql
1.
write $zu(69,69)
...
Рейтинг: 0 / 0
21.01.2013, 13:59
    #38118008
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Насчет самой СУБД... Я непосредственно с ней не работаю... Я только тяну выборки из БД, написанной на данном языке. Сама СУБД есть в др отделе. Данную команду опробовать нужно непосредственно в самой СУБД???

Насчет полей... Те кусочки поля которые тянутся в запросе селектом, это по сути одно поле в самой БД... Он там очень длинное
...
Рейтинг: 0 / 0
21.01.2013, 14:18
    #38118051
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
servitЕсли это поле строка - да. Но можно включить длинные строки и это ограничение будет уже 3641144 символов. Или используйте потоки.

Также в самом запросе может быть формирование результирующей строки, превышающей максимально допустимый размер, например:
Код: sql
1.
select поле1||поле2||'sdf' from table

dartveider13<...>А вместе не хотятЭто как раз тот самый случай.

Если не трудно, объясните как чукотскому человеку, как можно включить длинные строки и как использовать потоки.
...
Рейтинг: 0 / 0
21.01.2013, 14:30
    #38118068
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13Сама СУБД есть в др отделе. Данную команду опробовать нужно непосредственно в самой СУБД???Да, в Cache терминале. Включить длинные строки проще всего в Портале управления системой.
Подключите специалиста из другого отдела, он нас быстрее поймёт.
...
Рейтинг: 0 / 0
21.01.2013, 14:36
    #38118079
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13Если не трудно, объясните как чукотскому человеку, как можно включить длинные строки и как использовать потоки. Включение Длинных Строк
А потоки для Вашего случая бесполезны.
...
Рейтинг: 0 / 0
21.01.2013, 14:56
    #38118105
AlexKB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
doublefintdartveider13Вот сам запрос
Какая утонченная форма садомазохизма

Такой себе простой SQL запрос...
На форуме MSSQL видел и похлеще!
...
Рейтинг: 0 / 0
21.01.2013, 15:11
    #38118140
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Да если бы не включать 2010 год то он бы был поменьше гораздо... Примерно в 4 раза... Если посмотреть конструкцию между юнионами, то можно увидеть что селект один и тот же... Просто в БД, которая использует СУБД каше есть что то типа мемо поля в которое запихана текстом вся форма РСВ-1
...
Рейтинг: 0 / 0
21.01.2013, 15:14
    #38118148
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
К сожалению отдел у которого есть доступ к терминалу уже домой убежали.... Вот как раз завтра буду мучать их по поводу длинных строк т к перед уходом я им позвонил а они сказали что сам каше поменялся у них. Так что буду завтра их терроризировать
...
Рейтинг: 0 / 0
22.01.2013, 09:49
    #38119077
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Уважаемые форумчане! Ваше предположение не сработало. Длинные строки были включены изначально, но наш отдел информационных технологий заметил что в ошибке присутствует некий "FILE". Посмотрев план выполнения запроса, было замечено что он пытается записать данные в какой то временный файл "Temp-file". Предполагается что в новой версии где то в настройках задается размер файла. Если знаете, подскажите где искать настройки данного временного файла.
Версии СУБД:
Так на которой все работало была - Cache 2010.22
Новая - Cache 2011.04
...
Рейтинг: 0 / 0
22.01.2013, 10:29
    #38119113
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Да... Еще хотел кое что дописать. Мы сравнивали план выполнения запроса в старой и новой версии. В старой версии используются 3 индекса. В новой 4 индекса. Добавился индекс года! Может это из за этого?
...
Рейтинг: 0 / 0
22.01.2013, 11:38
    #38119266
doublefint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13, пинайте отдел разработки, ваш запрос должен возвращать список идентификаторов, подзапросы из Where спрячьте в хранимые процедуры, логику извлечения данных из длинного-длинного поля туда же. Потом добивайтесь от них индексируемых расчетных полей.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Select ID, 
  ASV_Entities.CalcStatementTitle_RAION(ID) as RAION,
  ASV_Entities.CalcStatementTitle_REGNUMB(ID) as REGNUMB,
  ....
FROM
 ASV_Entities.CalcStatementTitle
WHERE 
  ASV_Entities.CalcStatementTitle_LongWhereStatement(ID,:year,:period)=1

UNION
 ...
...
Рейтинг: 0 / 0
22.01.2013, 12:09
    #38119332
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
К сожалению отдел разработки находится в Красноярске, мы же находимся в Омске. Они не будут под конкретно мой запрос что то делать.. Это для них очень волокитно. Может у вас есть задумка как можно упростить мой запрос? Я уже даже незнаю. Пока что пытаюсь разбить его на части. Но тоже пока что результата не достиг
...
Рейтинг: 0 / 0
22.01.2013, 12:10
    #38119334
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Я впринципе также не имею прямого доступа к самой СУБД. Скажем так: человек который работал здесь до меня открыл доступ к таблицам базы и сделал в своей програмке встроеный SQL-редактор
...
Рейтинг: 0 / 0
22.01.2013, 12:16
    #38119351
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13Так на которой все работало была - Cache 2010.22
Новая - Cache 2011.04Почти готовый запрос в WRC (техподдержку InterSystems), только номера версий правильно указать (упомянутых вами версий не существует). InterSystems к таким вещам ("всё работало - а в новой версии перестало") обычно относится очень трепетно...
...
Рейтинг: 0 / 0
22.01.2013, 13:23
    #38119518
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
Думаете, что без WRC уже не обойдется?
...
Рейтинг: 0 / 0
22.01.2013, 13:28
    #38119539
doublefint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13, a DDL запросы вам разрешены? :)
...
Рейтинг: 0 / 0
22.01.2013, 13:35
    #38119563
doublefint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13 Может у вас есть задумка как можно упростить мой запрос?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 Select 
  --код извлечения данных один раз
 From  ASV_Entities.CalcStatementTitle
 Where ID In (
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2010 And period
   Union
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2011 And period
   Union
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2012 And period
)
...
Рейтинг: 0 / 0
22.01.2013, 15:12
    #38119800
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
<Maxstring>File+6^%qarmac
dartveider13 ,

Текст Вашего текущего запроса явно превышает размер в 32Кб, что тоже не есть хорошо. Видоизменённый код doublefint уже Вам подсказал.
dartveider13Посмотрев план выполнения запроса, было замечено что он пытается записать данные в какой то временный файл "Temp-file". Предполагается что в новой версии где то в настройках задается размер файла. Если знаете, подскажите где искать настройки данного временного файла. TempDirectory dartveider13Длинные строки были включены изначально, но наш отдел информационных технологий заметил что в ошибке присутствует некий "FILE". FILE в <MAXSTRING>FILE+6^%qarmac - это метка в %qarmac, в которой возникла ошибка <MAXSTRING> (см. полный формат <ERROR>label+offset^routine в примерах к ZTRAP).
Немного другой вид этой же ошибки ( <MAXSTRING>%C0o+4^%sqlcq.TEST.cls9.1 ) можно получить простым запросом: select REPEAT('0',3641144)||'1'dartveider13Думаете, что без WRC уже не обойдется?В WRC сто́ит обратиться, но будьте готовы предоставить воспроизводимый пример .
Хотя думаю, уже по <MAXSTRING>FILE+6^%qarmac разработчики смогут понять в чём дело.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / <Maxstring>File+6^%qarmac / 25 сообщений из 34, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]