Project

General

Profile

2.1. FIX LỖI PB CON KHÔNG LƯU ĐƯỢC NGÂN SÁCH CHO CỦA PB CHA - LẦN 2.txt

Luc Tran Van, 04/27/2023 05:22 PM

 
1

    
2

    
3
ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_PROCESS_Upd]
4
@p_REQ_ID VARCHAR(15)=NULL,
5
@p_MAKER_ID	varchar(20)  = NULL,
6
@p_BRANCH_ID VARCHAR(15)=NULL,
7
@p_TC_NOTES NVARCHAR(4000),
8
@p_KT_NOTES NVARCHAR(4000),
9
@p_TK_TGD_NOTES NVARCHAR(4000),
10
@p_TK_HDQT_NOTES NVARCHAR(4000),
11
@p_ORTHER_NOTES NVARCHAR(4000),
12
@p_ListCostCenter XML,
13
@p_ListTransfer XML,
14
@p_IS_AUTHORITY bit
15
AS
16
	
17
	
18
	DECLARE @IS_AUTHORITY_HDQT VARCHAR(1)	
19
	DECLARE @DEP_ID VARCHAR(15),@BRANCH_ID VARCHAR(15),@ROLE_ID VARCHAR(20),
20
	@PROCESS_CURR VARCHAR(10),
21
	@STEP_CURR INT,
22
	@STEP_NEXT INT,
23
	@PROCESS_NEXT VARCHAR(10)
24

    
25
	SET @PROCESS_CURR = (SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C')
26
	SET @PROCESS_NEXT = (SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND PARENT_PROCESS_ID=@PROCESS_CURR)
27

    
28
	SET @DEP_ID=(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID)
29
	SET @BRANCH_ID=(SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID)
30
	SET @ROLE_ID=(SELECT RoleName FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID)
31
		BEGIN TRANSACTION
32
		--LUCTV 13042021 - BO SUNG CAP NHAT Y KIEN TK TGD, TK HDQT
33
    IF(@PROCESS_CURR='TKTGD')
34
		BEGIN
35
			UPDATE dbo.PL_REQUEST_DOC SET TK_TGD_NOTES=@p_TK_TGD_NOTES WHERE REQ_ID=@p_REQ_ID
36
		END
37
		ELSE IF(@PROCESS_CURR='TKHDQT')
38
		BEGIN
39
			UPDATE dbo.PL_REQUEST_DOC SET TK_HDQT_NOTES=@p_TK_HDQT_NOTES, OTHER_NOTES = @p_ORTHER_NOTES, IS_AUTHORITY = @p_IS_AUTHORITY WHERE REQ_ID=@p_REQ_ID
40
		END
41
		-- END LUCTV
42
		ELSE
43
		BEGIN
44
		IF(@PROCESS_CURR='KT')
45
		BEGIN
46
			UPDATE dbo.PL_REQUEST_DOC SET KT_NOTES=@p_KT_NOTES WHERE REQ_ID=@p_REQ_ID
47
		END
48
		ELSE IF(@PROCESS_CURR='TC')
49
		BEGIN
50
			UPDATE dbo.PL_REQUEST_DOC SET TC_NOTES=@p_TC_NOTES WHERE REQ_ID=@p_REQ_ID
51
		END
52
		IF @@Error <> 0 GOTO ABORT
53
		Declare @hdoc INT
54
		
55
		Declare 
56
		@REQ_TRANSFER_ID	varchar(15),
57
		@FR_PLAN_ID	varchar(15),
58
			@FR_TRADE_ID	varchar(15),
59
			@FR_GOOD_ID	varchar(15),
60
			@FR_BRN_ID	varchar(15),
61
			@TO_BRN_ID	varchar(15),
62
			@TO_PLAN_ID	varchar(15),
63
			@TO_TRADE_ID	varchar(15),	
64
			@TO_GOOD_ID	varchar(15),	
65
			@QTY  DECIMAL(18,0),
66
			@FR_DEP_ID VARCHAR(20),
67
			@TO_DEP_ID VARCHAR(20),
68
			@FR_DVDM_ID VARCHAR(20),
69
			@TO_DVDM_ID VARCHAR(20),
70
			@FR_KHOI_ID VARCHAR(20),
71
			@TO_KHOI_ID VARCHAR(20),
72
			@FR_GD_TYPE VARCHAR(20),
73
			@TO_GD_TYPE VARCHAR(20),
74
	
75
		@TOTAL_AMT  DECIMAL(18,0),
76
		@NOTES NVARCHAR(500),
77
		@AUTH_STATUS VARCHAR(5),
78
		@COST_ID	varchar(15),
79
		@REQ_COST_ID	varchar(15),
80
		@DVDM_ID VARCHAR(20),
81
    @FR_AMT_APP decimal(18),
82
    @FR_AMT_TF DECIMAL(18),
83
    @FR_AMT_RECEIVE_TF DECIMAL(18),
84
    @FR_AMT_EXE DECIMAL(18),
85
    @FR_AMT_ETM DECIMAL(18),
86
    @FR_AMT_ETM_TMP decimal(18)
87
		IF(EXISTS(SELECT REQ_COST_ID FROM dbo.PL_REQUEST_COSTCENTER WHERE REQ_ID=@p_REQ_ID AND AUTH_STATUS <>'A'))
88
		BEGIN 
89
				--Insert into TABLE PL_REQUEST_DOC_DT
90
			Exec sp_xml_preparedocument @hdoc Output,@p_ListCostCenter
91
			DECLARE ListCostCenters  CURSOR FOR
92
			SELECT *
93
			FROM OPENXML(@hDoc,'/Root/ListCostCenter',2)
94
			WITH 
95
			(
96
				REQ_COST_ID VARCHAR(15),
97
				COST_ID	varchar(15),	
98
				AUTH_STATUS VARCHAR(5),
99
				NOTES	nvarchar(1000)
100
				
101
			)
102
			OPEN ListCostCenters
103

    
104
			FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID,@COST_ID,@AUTH_STATUS, @NOTES
105
			WHILE @@FETCH_STATUS = 0	
106
			BEGIN
107
				IF(EXISTS(SELECT REQ_COST_ID FROM dbo.PL_REQUEST_COSTCENTER WHERE COST_ID=@COST_ID AND REQ_ID=@p_REQ_ID AND AUTH_STATUS <> 'A'))
108
				BEGIN
109
						UPDATE dbo.PL_REQUEST_COSTCENTER SET NOTES=@NOTES WHERE REQ_COST_ID=@REQ_COST_ID AND COST_ID=@COST_ID 				
110
				END
111
			
112
				IF @@ERROR <> 0 GOTO ABORT1
113
			-- next Group_Id
114
				FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID,@COST_ID,@AUTH_STATUS, @NOTES
115
			END
116
			CLOSE ListCostCenters
117
			DEALLOCATE ListCostCenters
118
			
119
			--IF(NOT EXISTS( SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS='C'))
120
			--BEGIN
121
						
122
			--			UPDATE dbo.PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PROCESS_ID=@PROCESS_NEXT AND REQ_ID=@p_REQ_ID
123
			--			UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID=@PROCESS_NEXT WHERE REQ_ID=@p_REQ_ID
124
						
125
			--END
126
		
127
		END
128

    
129
		IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID AND AUTH_STATUS <>'A' AND (FR_BRN_ID=@BRANCH_ID AND (FR_DEP_ID IS NULL OR FR_DEP_ID='' OR FR_DEP_ID=@DEP_ID OR FR_DEP_ID IN (SELECT FATHER_ID FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_ID))))) --- LUCTV 26-04-2023 FIX BỔ  SUNG KIỂM TRA THÊM PHÒNG BAN CON VẪN CHỌN NS PHÒNG BAN CHA & GỬI DUYỆT ĐƯỢC 27042023_secretkey
130
		BEGIN
131
			DECLARE @TABLE TABLE(
132
				REQ_TRANSFER_ID VARCHAR(15),
133
				FR_PLAN_ID	varchar(15),
134
				FR_TRADE_ID	varchar(15),
135
				FR_GOOD_ID	varchar(15),
136
				FR_BRN_ID	varchar(15),
137
				TO_BRN_ID	varchar(15),
138
				TO_PLAN_ID	varchar(15),
139
				TO_TRADE_ID	varchar(15),	
140
				TO_GOOD_ID	varchar(15),	
141
				QTY  DECIMAL(18,0),
142
				TOTAL_AMT	decimal(18),	
143
				AUTH_STATUS VARCHAR(10),
144
				NOTES	nvarchar(1000),
145
				FR_DEP_ID VARCHAR(20),
146
				TO_DEP_ID VARCHAR(20),
147
				FR_DVDM_ID VARCHAR(20),
148
				TO_DVDM_ID VARCHAR(20),
149
				FR_KHOI_ID VARCHAR(20),
150
				TO_KHOI_ID VARCHAR(20),
151
				FR_GD_TYPE_ID VARCHAR(20),
152
				TO_GD_TYPE_ID VARCHAR(20),
153
        FR_AMT_APP decimal(18),
154
        FR_AMT_TF DECIMAL(18),
155
        FR_AMT_RECEIVE_TF DECIMAL(18),
156
        FR_AMT_EXE DECIMAL(18),
157
        FR_AMT_ETM DECIMAL(18),
158
        FR_AMT_ETM_TMP decimal(18)
159
			)
160
			Exec sp_xml_preparedocument @hdoc Output,@p_ListTransfer
161
			INSERT INTO @TABLE		
162
			SELECT *
163
			FROM OPENXML(@hDoc,'/Root/ListTransfer',2)
164
			WITH 
165
			(
166
				REQ_TRANSFER_ID VARCHAR(15),
167
				FR_PLAN_ID	varchar(15),
168
				FR_TRADE_ID	varchar(15),
169
				FR_GOOD_ID	varchar(15),
170
				FR_BRN_ID	varchar(15),
171
				TO_BRN_ID	varchar(15),
172
				TO_PLAN_ID	varchar(15),
173
				TO_TRADE_ID	varchar(15),	
174
				TO_GOOD_ID	varchar(15),	
175
				QTY  DECIMAL(18,0),
176
				TOTAL_AMT	decimal(18),	
177
				AUTH_STATUS VARCHAR(10),
178
				NOTES	nvarchar(1000),
179
				FR_DEP_ID VARCHAR(20),
180
				TO_DEP_ID VARCHAR(20),
181
				FR_DVDM_ID VARCHAR(20),
182
				TO_DVDM_ID VARCHAR(20),
183
				FR_KHOI_ID VARCHAR(20),
184
				TO_KHOI_ID VARCHAR(20),
185
				FR_GD_TYPE_ID VARCHAR(20),
186
				TO_GD_TYPE_ID VARCHAR(20),
187
        FR_AMT_APP decimal(18),
188
        FR_AMT_TF DECIMAL(18),
189
        FR_AMT_RECEIVE_TF DECIMAL(18),
190
        FR_AMT_EXE DECIMAL(18),
191
        FR_AMT_ETM DECIMAL(18),
192
        FR_AMT_ETM_TMP decimal(18)
193
		
194
			)
195
			
196
			--IF(EXISTS(SELECT * FROM(
197
			--SELECT TB.FR_TRADE_ID, SUM(TB.TOTAL_AMT) AS TOTAL_TRANSFER,SUM (ISNULL(PT.AMT_APP,0) + ISNULL(PT.AMT_RECEIVE_TF,0)- ISNULL(PT.AMT_TF,0)- ISNULL(PT.AMT_ETM,0)   ) AS TOTAL_AMT FROM @TABLE TB 
198
			--LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
199
			--GROUP BY TB.FR_TRADE_ID
200
			--) TEMP		
201
			--WHERE TEMP.TOTAL_TRANSFER > TEMP.TOTAL_AMT
202
			--))
203
			--BEGIN
204
			--		SELECT '-1' Result, '' REQ_ID, N'Số tiền điều chuyển lớn hơn số tiền dự kiến còn lại của hạng mục ngân sách' ErrorDesc 
205
			--		ROLLBACK TRANSACTION
206
			--		RETURN '-1'
207
			--END
208

    
209
			DECLARE ListTransfers  CURSOR FOR
210
			SELECT REQ_TRANSFER_ID,
211
              FR_PLAN_ID,
212
              FR_TRADE_ID,
213
              FR_GOOD_ID,
214
              FR_BRN_ID,
215
              TO_BRN_ID,
216
              TO_PLAN_ID,
217
              TO_TRADE_ID,
218
              TO_GOOD_ID,
219
              QTY,
220
              TOTAL_AMT,
221
              AUTH_STATUS,
222
              NOTES,
223
              FR_DEP_ID,
224
              TO_DEP_ID,
225
              FR_DVDM_ID,
226
              TO_DVDM_ID,
227
              FR_KHOI_ID,
228
              TO_KHOI_ID,
229
              FR_GD_TYPE_ID,
230
              TO_GD_TYPE_ID,
231
              FR_AMT_APP,
232
              FR_AMT_TF,
233
              FR_AMT_RECEIVE_TF,
234
              FR_AMT_EXE,
235
              FR_AMT_ETM,
236
              FR_AMT_ETM_TMP
237
          FROM @TABLE
238
			OPEN ListTransfers
239

    
240

    
241
			FETCH NEXT FROM ListTransfers INTO @REQ_TRANSFER_ID,@FR_PLAN_ID,@FR_TRADE_ID,@FR_GOOD_ID,@FR_BRN_ID,@TO_BRN_ID,@TO_PLAN_ID,
242
			@TO_TRADE_ID,@TO_GOOD_ID,@QTY,@TOTAL_AMT,@AUTH_STATUS, @NOTES,@FR_DEP_ID,@TO_DEP_ID,@FR_DVDM_ID,@TO_DVDM_ID,@FR_KHOI_ID,@TO_KHOI_ID,@FR_GD_TYPE,@TO_GD_TYPE,@FR_AMT_APP,@FR_AMT_TF,@FR_AMT_RECEIVE_TF,@FR_AMT_EXE,@FR_AMT_ETM,@FR_AMT_ETM_TMP
243
			WHILE @@FETCH_STATUS = 0	
244
			BEGIN
245
				--- KIEM TRA NGAN SACH DIEU CHUYEN TAI DVDC PHAI BAT BUOC NHAP
246
				IF(@FR_GOOD_ID IS NULL OR @FR_GOOD_ID ='')
247
				BEGIN
248
            ROLLBACK TRANSACTION
249
						SELECT '-1' Result, '' REQ_ID, N'Lưới điều chuyển ngân sách: Bạn là đơn vị điều chuyển ngân sách. Vui lòng chọn hạng mục ngân sách chuyển!' ErrorDesc 
250
						RETURN '-1'
251
				END
252
				----
253
				DECLARE @FR_GD_TYPE_NAME NVARCHAR(100),@TO_GD_TYPE_NAME NVARCHAR(100)
254
				IF(@FR_GOOD_ID IS NOT NULL AND @FR_GOOD_ID<>'')
255
				IF(NOT EXISTS(SELECT * FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID= @FR_GD_TYPE AND @TO_GD_TYPE IN (SELECT value FROM dbo.wsiSplit(NOTES,';')) )  )
256
				BEGIN
257
				
258
				SET @FR_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@FR_GD_TYPE)
259
				SET @TO_GD_TYPE_NAME=(SELECT GD_TYPE_NAME FROM dbo.CM_GOODSTYPE WHERE GD_TYPE_ID=@TO_GD_TYPE)
260
					
261
					ROLLBACK TRANSACTION
262
					SELECT '-1' AS Result , ''  REQ_ID, N'Không được điều chuyển từ ' + ISNULL(@FR_GD_TYPE_NAME,'') +N' sang ' + ISNULL(@TO_GD_TYPE_NAME,'') ErrorDesc
263
					RETURN '-1'
264
					CLOSE ListTransfers
265
					DEALLOCATE ListTransfers
266
				END
267
				---  KIEM TRA HAN MUC CO HOP LE HAY KHONG
268
        IF(EXISTS(SELECT Temp.FR_TRADE_ID FROM (
269
						SELECT TB.FR_TRADE_ID ,SUM(TB.TOTAL_AMT) AS TOTAL_AMT_EXE,
270
						SUM(ROUND(ISNULL(PT.AMT_APP,0),0) +  ROUND(ISNULL(PT.AMT_RECEIVE_TF,0),0) -  ROUND(ISNULL(PT.AMT_TF,0),0) - ROUND(ISNULL(PT.AMT_ETM,0),0))/COUNT(TB.FR_TRADE_ID)
271
            -
272
            (SELECT ISNULL(SUM(DDT.TOTAL_AMT),0)
273
            FROM dbo.PL_REQUEST_DOC_DT DDT
274
            LEFT JOIN dbo.PL_REQUEST_DOC DOC ON DDT.REQ_ID = DOC.REQ_ID
275
            WHERE DOC.PROCESS_ID NOT IN ('','SIGN','APPNEW','REJECT','APPROVE','SETTLMENT')
276
            AND doc.REQ_ID <> @p_REQ_ID
277
            AND DDT.TRADE_ID = TB.FR_TRADE_ID)
278
            -
279
            (SELECT ISNULL(SUM(DDT.TOTAL_AMT),0)
280
            FROM dbo.PL_REQUEST_TRANSFER DDT
281
            LEFT JOIN dbo.PL_REQUEST_DOC DOC ON DDT.REQ_DOC_ID = DOC.REQ_ID
282
            WHERE DOC.PROCESS_ID NOT IN ('','SIGN','APPNEW','REJECT','APPROVE','SETTLMENT')
283
            AND doc.REQ_ID <> @p_REQ_ID
284
            AND DDT.FR_TRADE_ID = TB.FR_TRADE_ID) AS TOTAL_AMT_REMAIN 
285
						FROM @TABLE TB
286
						LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.TRADE_ID=TB.FR_TRADE_ID
287
						GROUP BY TB.FR_TRADE_ID
288
						)Temp
289
						WHERE (Temp.TOTAL_AMT_EXE) > Temp.TOTAL_AMT_REMAIN))
290
				BEGIN
291
            ROLLBACK TRANSACTION
292
						SELECT '-1' Result, '' REQ_ID, N'Số tiền điều chuyển lớn hơn số tiền dự kiến còn lại của hạng mục ngân sách' ErrorDesc 
293
						RETURN '-1'
294
				END
295
				----
296
				IF(EXISTS(SELECT REQ_TRANSFER_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_TRANSFER_ID=@REQ_TRANSFER_ID AND AUTH_STATUS <> 'A' AND (FR_BRN_ID=@BRANCH_ID AND (FR_DEP_ID IS NULL OR FR_DEP_ID='' 
297
				OR (FR_DEP_ID=@DEP_ID OR FR_DEP_ID IN (SELECT FATHER_ID FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_ID)))))) --- LUCTV 26-04-2023 FIX BỔ  SUNG KIỂM TRA THÊM PHÒNG BAN CON VẪN CHỌN NS PHÒNG BAN CHA & GỬI DUYỆT ĐƯỢC 26042023_secretkey
298
				BEGIN
299
					UPDATE dbo.PL_REQUEST_TRANSFER SET FR_GOOD_ID=@FR_GOOD_ID,FR_PLAN_ID=@FR_PLAN_ID,FR_TRADE_ID=@FR_TRADE_ID, NOTES=@NOTES,TOTAL_AMT=@TOTAL_AMT
300
					,FR_DVDM_ID=@FR_DVDM_ID,FR_KHOI_ID=@FR_KHOI_ID, FR_AMT_APP = @FR_AMT_APP, FR_AMT_TF = @FR_AMT_TF, FR_AMT_RECEIVE_TF = @FR_AMT_RECEIVE_TF, FR_AMT_EXE = @FR_AMT_EXE, FR_AMT_ETM = @FR_AMT_ETM, FR_AMT_ETM_TMP = @FR_AMT_ETM_TMP
301
					 WHERE REQ_TRANSFER_ID=@REQ_TRANSFER_ID
302

    
303
          UPDATE prdd
304
          SET prdd.FR_AMT_APP = ISNULL(PL.AMT_APP,0),
305
          prdd.FR_AMT_EXE = ISNULL(PL.AMT_EXE,0),
306
          prdd.FR_AMT_ETM = ISNULL(PL.AMT_ETM,0),
307
          prdd.FR_AMT_TF = ISNULL(PL.AMT_TF,0),
308
          prdd.FR_AMT_RECEIVE_TF = ISNULL(PL.AMT_RECEIVE_TF,0),
309
          prdd.FR_AMT_ETM_TMP = (SELECT ISNULL(SUM(DDT.TOTAL_AMT),0)
310
            FROM dbo.PL_REQUEST_DOC_DT DDT
311
            LEFT JOIN dbo.PL_REQUEST_DOC DOC ON DDT.REQ_ID = DOC.REQ_ID
312
            WHERE DOC.PROCESS_ID NOT IN ('','SIGN','APPNEW','REJECT','APPROVE','SETTLMENT')
313
            AND DDT.TRADE_ID = PL.TRADE_ID
314
            AND DOC.REQ_ID <> prdd.REQ_DOC_ID)
315
            +
316
            (SELECT ISNULL(SUM(DDT.TOTAL_AMT),0)
317
            FROM dbo.PL_REQUEST_TRANSFER DDT
318
            LEFT JOIN dbo.PL_REQUEST_DOC DOC ON DDT.REQ_DOC_ID = DOC.REQ_ID
319
            WHERE DOC.PROCESS_ID NOT IN ('','SIGN','APPNEW','REJECT','APPROVE','SETTLMENT')
320
            AND DDT.FR_TRADE_ID = PL.TRADE_ID
321
            AND DOC.REQ_ID <> prdd.REQ_DOC_ID)
322
          FROM PL_REQUEST_TRANSFER prdd 
323
          LEFT JOIN PL_TRADEDETAIL PL ON PL.TRADE_ID = prdd.FR_TRADE_ID
324
          WHERE prdd.REQ_TRANSFER_ID=@REQ_TRANSFER_ID
325
				END
326
				
327
				IF @@ERROR <> 0 GOTO ABORT1
328
			-- next Group_Id
329
				FETCH NEXT FROM ListTransfers INTO @REQ_TRANSFER_ID,@FR_PLAN_ID,@FR_TRADE_ID,@FR_GOOD_ID,@FR_BRN_ID,@TO_BRN_ID,@TO_PLAN_ID,
330
			@TO_TRADE_ID,@TO_GOOD_ID,@QTY,@TOTAL_AMT,@AUTH_STATUS, @NOTES,@FR_DEP_ID,@TO_DEP_ID,@FR_DVDM_ID,@TO_DVDM_ID,@FR_KHOI_ID,@TO_KHOI_ID,@FR_GD_TYPE,@TO_GD_TYPE,@FR_AMT_APP,@FR_AMT_TF,@FR_AMT_RECEIVE_TF,@FR_AMT_EXE,@FR_AMT_ETM,@FR_AMT_ETM_TMP
331
			END
332
			CLOSE ListTransfers
333
			DEALLOCATE ListTransfers
334

    
335
			IF @@Error <> 0 GOTO ABORT
336
		END
337
		END
338
		
339
COMMIT TRANSACTION
340
SELECT '0' as Result, @p_REQ_ID  REQ_ID, '' ErrorDesc
341
RETURN '0'
342
ABORT:
343
BEGIN
344
		ROLLBACK TRANSACTION
345
		SELECT '-1' AS Result ,'' REQ_ID, '' ErrorDesc
346
		RETURN '-1'
347
End
348
ABORT1:
349
BEGIN
350
		
351
		CLOSE ListCostCenters
352
		DEALLOCATE ListCostCenters
353
		CLOSE ListTransfers
354
		DEALLOCATE ListTransfers
355
		ROLLBACK TRANSACTION
356
		SELECT '-1' AS Result ,'' REQ_ID, '' ErrorDesc
357
		RETURN '-1'
358
End
359

    
360

    
361

    
362