Advertisement
Guest User

Untitled

a guest
Nov 25th, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.29 KB | None | 0 0
  1. root@localhost [bctr]>select * from information_schema.triggers where trigger_schema='bctr'\G
  2. *************************** 1. row ***************************
  3. TRIGGER_CATALOG: def
  4. TRIGGER_SCHEMA: bctr
  5. TRIGGER_NAME: TGR_BOLSA_FACTURA_INS
  6. EVENT_MANIPULATION: INSERT
  7. EVENT_OBJECT_CATALOG: def
  8. EVENT_OBJECT_SCHEMA: bctr
  9. EVENT_OBJECT_TABLE: bolsa_factura
  10. ACTION_ORDER: 0
  11. ACTION_CONDITION: NULL
  12. ACTION_STATEMENT: BEGIN
  13. INSERT INTO HISTORICO_BOLSA_FACTURA(id_bolsa, id_factura, descripcion, fecha_telcel)
  14. VALUES(NEW.id_bolsa, NEW.id_factura, 'INSERCION', CURRENT_TIMESTAMP);
  15. END
  16. ACTION_ORIENTATION: ROW
  17. ACTION_TIMING: AFTER
  18. ACTION_REFERENCE_OLD_TABLE: NULL
  19. ACTION_REFERENCE_NEW_TABLE: NULL
  20. ACTION_REFERENCE_OLD_ROW: OLD
  21. ACTION_REFERENCE_NEW_ROW: NEW
  22. CREATED: NULL
  23. SQL_MODE: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
  24. DEFINER: root@%
  25. CHARACTER_SET_CLIENT: utf8
  26. COLLATION_CONNECTION: utf8_general_ci
  27. DATABASE_COLLATION: latin1_swedish_ci
  28. *************************** 2. row ***************************
  29. TRIGGER_CATALOG: def
  30. TRIGGER_SCHEMA: bctr
  31. TRIGGER_NAME: TGR_BOLSA_FACTURA_DEL
  32. EVENT_MANIPULATION: DELETE
  33. EVENT_OBJECT_CATALOG: def
  34. EVENT_OBJECT_SCHEMA: bctr
  35. EVENT_OBJECT_TABLE: bolsa_factura
  36. ACTION_ORDER: 0
  37. ACTION_CONDITION: NULL
  38. ACTION_STATEMENT: BEGIN
  39. INSERT INTO HISTORICO_BOLSA_FACTURA(id_bolsa, id_factura, descripcion, fecha_telcel)
  40. VALUES(OLD.id_bolsa, OLD.id_factura, 'ELIMINACION', CURRENT_TIMESTAMP);
  41. END
  42. ACTION_ORIENTATION: ROW
  43. ACTION_TIMING: AFTER
  44. ACTION_REFERENCE_OLD_TABLE: NULL
  45. ACTION_REFERENCE_NEW_TABLE: NULL
  46. ACTION_REFERENCE_OLD_ROW: OLD
  47. ACTION_REFERENCE_NEW_ROW: NEW
  48. CREATED: NULL
  49. SQL_MODE: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
  50. DEFINER: root@%
  51. CHARACTER_SET_CLIENT: utf8
  52. COLLATION_CONNECTION: utf8_general_ci
  53. DATABASE_COLLATION: latin1_swedish_ci
  54. *************************** 3. row ***************************
  55. TRIGGER_CATALOG: def
  56. TRIGGER_SCHEMA: bctr
  57. TRIGGER_NAME: TRG_FACTURA_DEL
  58. EVENT_MANIPULATION: UPDATE
  59. EVENT_OBJECT_CATALOG: def
  60. EVENT_OBJECT_SCHEMA: bctr
  61. EVENT_OBJECT_TABLE: factura
  62. ACTION_ORDER: 0
  63. ACTION_CONDITION: NULL
  64. ACTION_STATEMENT: BEGIN
  65. IF OLD.monto_resta <> 0 AND NEW.monto_resta = 0 THEN
  66. DELETE FROM BOLSA_FACTURA
  67. WHERE id_factura = OLD.id_factura;
  68. else
  69. IF OLD.monto_resta <= 0 AND NEW.monto_resta > 0 THEN
  70. INSERT INTO BOLSA_FACTURA(id_bolsa, id_factura, fecha_telcel)(SELECT id_bolsa, id_factura, CURRENT_TIMESTAMP
  71. FROM HISTORICO_BOLSA_FACTURA
  72. WHERE id_factura = OLD.id_factura
  73. LIMIT 1);
  74. END IF;
  75. END IF;
  76. END
  77. ACTION_ORIENTATION: ROW
  78. ACTION_TIMING: AFTER
  79. ACTION_REFERENCE_OLD_TABLE: NULL
  80. ACTION_REFERENCE_NEW_TABLE: NULL
  81. ACTION_REFERENCE_OLD_ROW: OLD
  82. ACTION_REFERENCE_NEW_ROW: NEW
  83. CREATED: NULL
  84. SQL_MODE: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
  85. DEFINER: root@%
  86. CHARACTER_SET_CLIENT: utf8
  87. COLLATION_CONNECTION: utf8_general_ci
  88. DATABASE_COLLATION: latin1_swedish_ci
  89. *************************** 4. row ***************************
  90. TRIGGER_CATALOG: def
  91. TRIGGER_SCHEMA: bctr
  92. TRIGGER_NAME: LIMITE_CREDITO_TRIGGER
  93. EVENT_MANIPULATION: INSERT
  94. EVENT_OBJECT_CATALOG: def
  95. EVENT_OBJECT_SCHEMA: bctr
  96. EVENT_OBJECT_TABLE: historico_limite_credito
  97. ACTION_ORDER: 0
  98. ACTION_CONDITION: NULL
  99. ACTION_STATEMENT: BEGIN
  100. DECLARE AUX_REGION TINYINT DEFAULT 0;
  101. DECLARE AUX_ID_CLIENTE INT DEFAULT 0;
  102. UPDATE LIMITE_CREDITO
  103. SET FECHA = NEW.FECHA_MOV
  104. WHERE CUENTA = NEW.CUENTA;
  105.  
  106. SELECT ID_CLIENTE, REGION
  107. INTO AUX_ID_CLIENTE,AUX_REGION
  108. FROM LIMITE_CREDITO
  109. WHERE CUENTA = NEW.CUENTA;
  110.  
  111. INSERT INTO LOG_LDC(ID_CLIENTE, REGION, MONTO, FECHA, BLOQUEO_MORA)
  112. VALUES(AUX_ID_CLIENTE, AUX_REGION, NEW.DISPONIBLE, NEW.FECHA_MOV, NEW.BLOQUEO_MORA);
  113.  
  114. END
  115. ACTION_ORIENTATION: ROW
  116. ACTION_TIMING: AFTER
  117. ACTION_REFERENCE_OLD_TABLE: NULL
  118. ACTION_REFERENCE_NEW_TABLE: NULL
  119. ACTION_REFERENCE_OLD_ROW: OLD
  120. ACTION_REFERENCE_NEW_ROW: NEW
  121. CREATED: NULL
  122. SQL_MODE: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
  123. DEFINER: root@%
  124. CHARACTER_SET_CLIENT: utf8
  125. COLLATION_CONNECTION: utf8_general_ci
  126. DATABASE_COLLATION: latin1_swedish_ci
  127. *************************** 5. row ***************************
  128. TRIGGER_CATALOG: def
  129. TRIGGER_SCHEMA: bctr
  130. TRIGGER_NAME: TGR_LOG_FAC_SAP
  131. EVENT_MANIPULATION: INSERT
  132. EVENT_OBJECT_CATALOG: def
  133. EVENT_OBJECT_SCHEMA: bctr
  134. EVENT_OBJECT_TABLE: log_fac_sap
  135. ACTION_ORDER: 0
  136. ACTION_CONDITION: NULL
  137. ACTION_STATEMENT: SWL_return:
  138. BEGIN
  139. DECLARE v_contador MEDIUMINT;
  140. DECLARE v_monto_parcial DECIMAL(15,2);
  141.  
  142. DECLARE v_tipo_bolsa TINYINT(4);
  143. DECLARE v_id_bolsa INT(11);
  144. DECLARE v_id_cliente INT(11);
  145. DECLARE v_reg INT;
  146. DECLARE v_monto_resta decimal(15,2);
  147. DECLARE NO_DATA INT DEFAULT 0;
  148.  
  149. DECLARE BOLSA_FAC_POS CURSOR FOR SELECT * FROM V_BOLSA_FACTURA
  150. WHERE id_bolsa = v_id_bolsa
  151. AND monto_resta > 0;
  152.  
  153. DECLARE BOLSA_FAC_NEG CURSOR FOR SELECT * FROM V_BOLSA_FACTURA
  154. WHERE id_bolsa = v_id_bolsa
  155. AND monto_resta < 0;
  156. DECLARE CONTINUE HANDLER FOR NOT FOUND SET NO_DATA = -1;
  157.  
  158. SELECT COUNT(rfc) INTO v_contador
  159. FROM CLIENTE WHERE rfc = NEW.rfc and tipo_bolsa = 1;
  160.  
  161. IF (v_contador = 0) THEN
  162. SET NEW.status = 'C';
  163. SET NEW.observaciones = 'NO EXISTE CLIENTE, VERIFIQUE SU INFORMACION';
  164. LEAVE SWL_return;
  165. END IF;
  166.  
  167. SELECT tipo_bolsa, id_cliente INTO v_tipo_bolsa,v_id_cliente
  168. FROM CLIENTE WHERE rfc = NEW.rfc and tipo_bolsa = 1;
  169.  
  170.  
  171. IF (v_tipo_bolsa = 2) THEN
  172. SET NEW.status = 'C';
  173. SET NEW.observaciones = 'EL CLIENTE ES CREDITO ABIERTO, VERIFIQUE SU INFORMACION';
  174. LEAVE SWL_return;
  175. END IF;
  176.  
  177. SELECT COUNT(id_cliente)
  178. INTO v_contador
  179. FROM REGION_BOLSA
  180. WHERE id_cliente = v_id_cliente
  181. AND region = NEW.region;
  182.  
  183. IF (v_contador = 0) THEN
  184. SET NEW.status = 'C';
  185. SET NEW.observaciones = 'NO EXISTE BOLSA PARA ESTE CLIENTE, VERIFIQUE SU INFORMACION';
  186. LEAVE SWL_return;
  187. END IF;
  188.  
  189. SELECT tipo_bolsa, id_bolsa
  190. INTO v_tipo_bolsa,v_id_bolsa
  191. FROM REGION_BOLSA
  192. WHERE id_cliente = v_id_cliente
  193. AND region = NEW.region;
  194.  
  195. IF (v_tipo_bolsa = 2) THEN
  196. SET NEW.status = 'C';
  197. SET NEW.observaciones = 'EL CLIENTE ES DE CREDITO ABIERTO, VERIFIQUE SU INFORMACION';
  198. LEAVE SWL_return;
  199. END IF;
  200.  
  201. IF (v_id_bolsa IS NULL) THEN
  202. SET NEW.status = 'C';
  203. SET NEW.observaciones = 'NO EXISTE BOLSA PARA ESTE CLIENTE, VERIFIQUE SU INFORMACION';
  204. LEAVE SWL_return;
  205. END IF;
  206.  
  207. SELECT COUNT(id_factura)
  208. INTO v_contador
  209. FROM FACTURA
  210. WHERE id_factura = NEW.factura;
  211.  
  212. IF(v_contador <> 0) THEN
  213. SET NEW.status = 'C';
  214. SET NEW.observaciones = 'FACTURA EXISTENTE, VERIFIQUE SU INFORMACION';
  215. LEAVE SWL_return;
  216. END IF;
  217.  
  218. SET v_monto_resta = NEW.monto_compra;
  219. SET v_monto_parcial = 0;
  220.  
  221. IF(NEW.monto_compra > 0) THEN
  222. SET v_id_bolsa = v_id_bolsa;
  223. OPEN BOLSA_FAC_NEG;
  224. SET NO_DATA = 0;
  225. FETCH BOLSA_FAC_NEG INTO v_id_bolsa;
  226. WHILE NO_DATA = 0 DO
  227. IF(v_monto_resta > 0) THEN
  228. IF (-SWV_bolsa_fac_neg_MONTO_RESTA > v_monto_resta) THEN
  229. UPDATE FACTURA
  230. SET monto_resta = monto_resta+v_monto_resta
  231. WHERE id_factura = SWV_bolsa_fac_neg_ID_FACTURA;
  232. SET v_monto_resta = 0;
  233. ELSE
  234. SET v_monto_resta = CONCAT(v_monto_resta,SWV_bolsa_fac_neg_MONTO_RESTA);
  235. UPDATE FACTURA
  236. SET monto_resta = 0
  237. WHERE id_factura = SWV_bolsa_fac_neg_ID_FACTURA;
  238. END IF;
  239. END IF;
  240. SET NO_DATA = 0;
  241. FETCH BOLSA_FAC_NEG INTO v_id_bolsa;
  242. END WHILE;
  243. SET NO_DATA = 0;
  244. CLOSE BOLSA_FAC_NEG;
  245. END IF;
  246.  
  247. IF (NEW.monto_compra < 0) THEN
  248. SET v_id_bolsa = v_id_bolsa;
  249. OPEN BOLSA_FAC_POS;
  250. SET NO_DATA = 0;
  251. FETCH BOLSA_FAC_POS INTO v_id_bolsa;
  252. WHILE NO_DATA = 0 DO
  253. IF (v_monto_resta < 0) THEN
  254. IF SWV_bolsa_fac_pos_MONTO_RESTA > -v_monto_resta THEN
  255. UPDATE FACTURA
  256. SET monto_resta = monto_resta+v_monto_resta
  257. WHERE id_factura = SWV_bolsa_fac_pos_ID_FACTURA;
  258. SET v_monto_resta = 0;
  259. ELSE
  260. SET v_monto_resta = CONCAT(v_monto_resta,SWV_bolsa_fac_pos_MONTO_RESTA);
  261. UPDATE FACTURA
  262. SET monto_resta = 0
  263. WHERE id_factura = SWV_bolsa_fac_pos_ID_FACTURA;
  264. END IF;
  265. END IF;
  266. SET NO_DATA = 0;
  267. FETCH BOLSA_FAC_POS INTO v_id_bolsa;
  268. END WHILE;
  269. SET NO_DATA = 0;
  270. CLOSE BOLSA_FAC_POS;
  271. END IF;
  272.  
  273. INSERT INTO FACTURA(id_factura, monto_compra, monto_resta, fecha_telcel)
  274. VALUES(NEW.factura, NEW.monto_compra, v_monto_resta, CURRENT_TIMESTAMP);
  275.  
  276.  
  277. IF (v_monto_resta <> 0) THEN
  278. INSERT INTO BOLSA_FACTURA(id_bolsa, id_factura, fecha_telcel)
  279. VALUES(v_id_bolsa, NEW.factura, CURRENT_TIMESTAMP);
  280. END IF;
  281.  
  282. SET NEW.status = 'Y';
  283.  
  284. SET NEW.observaciones = 'FACTURA CARGADA EXITOSAMENTE';
  285. END
  286. ACTION_ORIENTATION: ROW
  287. ACTION_TIMING: BEFORE
  288. ACTION_REFERENCE_OLD_TABLE: NULL
  289. ACTION_REFERENCE_NEW_TABLE: NULL
  290. ACTION_REFERENCE_OLD_ROW: OLD
  291. ACTION_REFERENCE_NEW_ROW: NEW
  292. CREATED: NULL
  293. SQL_MODE: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
  294. DEFINER: root@%
  295. CHARACTER_SET_CLIENT: utf8
  296. COLLATION_CONNECTION: utf8_general_ci
  297. DATABASE_COLLATION: latin1_swedish_ci
  298. *************************** 6. row ***************************
  299. TRIGGER_CATALOG: def
  300. TRIGGER_SCHEMA: bctr
  301. TRIGGER_NAME: TGR_LOG_LDC
  302. EVENT_MANIPULATION: INSERT
  303. EVENT_OBJECT_CATALOG: def
  304. EVENT_OBJECT_SCHEMA: bctr
  305. EVENT_OBJECT_TABLE: log_ldc
  306. ACTION_ORDER: 0
  307. ACTION_CONDITION: NULL
  308. ACTION_STATEMENT: SWL_return:
  309. BEGIN
  310. DECLARE v_contador MEDIUMINT;
  311. DECLARE v_monto_ini DECIMAL(20,2);
  312. DECLARE v_monto_resta DECIMAL(20,2);
  313. DECLARE v_monto DECIMAL(20,2);
  314. DECLARE v_tipo_bolsa VARCHAR(255);
  315. DECLARE v_id_bolsa VARCHAR(255);
  316. SET NEW.fecha_telcel = CURRENT_TIMESTAMP;
  317. SET NEW.mensaje = 1;
  318.  
  319. SELECT COUNT(id_cliente) INTO v_contador
  320. FROM CLIENTE WHERE id_cliente = NEW.id_cliente;
  321.  
  322. IF (v_contador = 0) THEN
  323. SET NEW.status = 2;
  324. SET NEW.observaciones = CONCAT('LDC NO SE CARGO CORRECTAMENTE DEBIDO A QUE NO EXISTE EL CLIENTE ',
  325. NEW.ID_CLIENTE,'FECHA DE CARGA ',NEW.FECHA,', MONTO ',NEW.MONTO);
  326. LEAVE SWL_return;
  327. END IF;
  328.  
  329. SELECT COUNT(id_cliente) INTO v_contador FROM REGION_BOLSA WHERE id_cliente = NEW.id_cliente AND region = NEW.region;
  330.  
  331. IF (v_contador = 0) THEN
  332. SET NEW.status = 2;
  333. SET NEW.observaciones = CONCAT('LDC NO SE CARGO CORRECTAMENTE DEBIDO A QUE EL CLIENTE ',NEW.ID_CLIENTE,
  334. 'SNO TIENE CONFIGURADA LA REGION ',NEW.REGION,'SQLWAYS_EVAL# ',NEW.FECHA,
  335. ', MONTO ',NEW.MONTO);
  336. LEAVE SWL_return;
  337. END IF;
  338.  
  339. SELECT tipo_bolsa, id_bolsa INTO v_tipo_bolsa,v_id_bolsa FROM REGION_BOLSA WHERE id_cliente = NEW.id_cliente AND region = NEW.region;
  340.  
  341. SELECT COUNT(id_bolsa) INTO v_contador FROM LDC WHERE ID_BOLSA = v_id_bolsa;
  342.  
  343. IF (v_contador = 0) THEN
  344. INSERT INTO HISTORICO_LDC(ID_BOLSA, FECHA, MONTO_INI, FECHA_TELCEL, MONTO_RESTA_ANTES,MONTO_RESTA_DESPUES, BLOQUEO_MORA)
  345. VALUES(v_id_bolsa, CURRENT_TIMESTAMP, NEW.monto, NEW.fecha,0,NEW.monto, NEW.bloqueo_mora);
  346.  
  347. INSERT INTO LDC(id_bolsa, fecha, monto_ini, monto_resta, BLOQUEO_MORA) VALUES(v_id_bolsa, CURRENT_TIMESTAMP, NEW.monto, NEW.monto, NEW.bloqueo_mora);
  348.  
  349. SET NEW.status = 0;
  350. SET NEW.observaciones = CONCAT('PRIMER LDC DEL CLIENTE ',NEW.ID_CLIENTE,'CARGADO EXITOSAMENTE, FECHA DE CARGA ',
  351. NEW.FECHA,', MONTO ',NEW.MONTO);
  352. LEAVE SWL_return;
  353. END IF;
  354.  
  355. SELECT COUNT(id_bolsa) INTO v_contador FROM LDC WHERE id_bolsa = v_id_bolsa
  356. AND STR_TO_DATE(CONCAT(DATE_FORMAT(fecha,'%d%m%Y'),'000000'),'%d%m%Y%H%i%s') = STR_TO_DATE(CONCAT(DATE_FORMAT(CURRENT_TIMESTAMP,'%d%m%Y'),'000000'),
  357. '%d%m%Y%H%i%s');
  358.  
  359. IF(v_contador = 0) THEN
  360. SELECT MONTO_RESTA INTO v_monto_resta FROM LDC WHERE ID_BOLSA = v_id_bolsa;
  361. INSERT INTO HISTORICO_LDC(ID_BOLSA, FECHA, MONTO_INI, FECHA_TELCEL, MONTO_RESTA_ANTES,MONTO_RESTA_DESPUES, BLOQUEO_MORA)
  362. VALUES(v_id_bolsa, CURRENT_TIMESTAMP, NEW.monto, NEW.fecha,v_monto_resta,NEW.monto, NEW.bloqueo_mora);
  363.  
  364. UPDATE LDC SET MONTO_INI = NEW.monto,MONTO_RESTA = NEW.monto,FECHA = CURRENT_TIMESTAMP,
  365. BLOQUEO_MORA = NEW.bloqueo_mora WHERE ID_BOLSA = v_id_bolsa;
  366. SET NEW.status = 0;
  367. SET NEW.observaciones = CONCAT('PRIMER LDC DEL DIA DEL CLIENTE ',NEW.ID_CLIENTE,'CARGADO EXITOSAMENTE, FECHA DE CARGA ',
  368. NEW.FECHA,', MONTO ',NEW.MONTO);
  369. LEAVE SWL_return;
  370. END IF;
  371.  
  372. SELECT MONTO_INI,MONTO_RESTA INTO v_monto_ini,v_monto_resta FROM LDC WHERE ID_BOLSA = v_id_bolsa;
  373.  
  374. IF (v_monto_resta = 0) THEN
  375. SELECT MONTO_RESTA_DESPUES INTO v_monto_resta FROM HISTORICO_LDC
  376. WHERE ID_BOLSA = v_id_bolsa and FECHA =(SELECT max(FECHA) FROM HISTORICO_LDC WHERE ID_BOLSA = v_id_bolsa);
  377. IF (v_monto_resta > 0) THEN
  378. SET v_monto_resta = 0;
  379. END IF;
  380. SET v_monto = NEW.monto -v_monto_ini+v_monto_resta;
  381. ELSE
  382. SET v_monto = NEW.monto -v_monto_ini+v_monto_resta;
  383. END IF;
  384.  
  385. INSERT INTO HISTORICO_LDC(ID_BOLSA, FECHA, MONTO_INI, FECHA_TELCEL, MONTO_RESTA_ANTES,MONTO_RESTA_DESPUES, BLOQUEO_MORA)
  386. VALUES(v_id_bolsa, CURRENT_TIMESTAMP, NEW.monto, NEW.fecha,v_monto_resta,v_monto, NEW.bloqueo_mora);
  387.  
  388.  
  389. IF (v_monto <= 0) THEN
  390. SET v_monto = 0;
  391. END IF;
  392.  
  393. UPDATE LDC SET MONTO_INI = NEW.monto,MONTO_RESTA = v_monto,FECHA = CURRENT_TIMESTAMP,
  394. bloqueo_mora = NEW.bloqueo_mora WHERE ID_BOLSA = v_id_bolsa;
  395.  
  396. SET NEW.status = 0;
  397. SET NEW.observaciones = CONCAT('ACTUALIZACION DEL LDC DEL CLIENTE ',NEW.ID_CLIENTE,'CARGADA EXITOSAMENTE, FECHA DE CARGA ',
  398. NEW.FECHA,', MONTO ',NEW.MONTO);
  399.  
  400. END;
  401. ACTION_ORIENTATION: ROW
  402. ACTION_TIMING: BEFORE
  403. ACTION_REFERENCE_OLD_TABLE: NULL
  404. ACTION_REFERENCE_NEW_TABLE: NULL
  405. ACTION_REFERENCE_OLD_ROW: OLD
  406. ACTION_REFERENCE_NEW_ROW: NEW
  407. CREATED: NULL
  408. SQL_MODE: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
  409. DEFINER: root@%
  410. CHARACTER_SET_CLIENT: utf8
  411. COLLATION_CONNECTION: utf8_general_ci
  412. DATABASE_COLLATION: latin1_swedish_ci
  413. 6 rows in set (0.11 sec)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement