Advertisement
wromero

Untitled

May 30th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. DROP FUNCTION actualizar_pago(character varying, character varying, character varying, character varying, integer, character varying, double precision, integer, date, integer, double precision, double precision);
  2.  
  3. CREATE OR REPLACE FUNCTION actualizar_pago(id_solicitud character varying, nit_empresa character varying, usuario_reg character varying, num_doc_usr character varying, id_tipo_doc_fac integer, num_fac character varying, ttl double precision, id_tipo_doc_usr integer, fecha_pag date, id_trans integer, ivapago double precision, subttl double precision)
  4. RETURNS SETOF record AS
  5. $BODY$
  6. DECLARE
  7. id_ctl_estado_proc INTEGER = 4;
  8. respuestavalidacion CHARACTER VARYING;
  9. numerosolicitud CHARACTER VARYING;
  10. respuestasolicitud CHARACTER VARYING = '0';
  11. parametro_pago_no_valido CHARACTER VARYING = '17';
  12. nitempresa CHARACTER VARYING;
  13. solid INTEGER;
  14. solpagoid INTEGER = 0;
  15. detpagoid INTEGER;
  16. preciounitario REAL;
  17. idpagocreado INTEGER;
  18. iva REAL;
  19. totalprecio REAL;
  20.  
  21. BEGIN
  22. SELECT detpago.id, sol.id, solpago.id INTO detpagoid, solid, solpagoid
  23. FROM alim_solicitud sol left join alim_detalle_solicitud_pago detpago on detpago.id_alim_solicitud = sol.id left join alim_pago_solicitud solpago on solpago.id = detpago.id_alim_solicitud_pago
  24. WHERE sol.codigo_solicitud = id_solicitud ;
  25. IF (solpagoid = 0)
  26. THEN respuestasolicitud := parametro_pago_no_valido;
  27. ELSE
  28. UPDATE alim_pago_solicitud SET(usuario_registro, num_documento_usuario, id_tipo_documento_factura, num_factura, total, id_ctl_estado_proceso, id_tipo_documento_usuario, fecha_pago, id_transaccion_bcr, iva, sub_total) = (usuario_reg, num_doc_usr, id_tipo_doc_fac, num_fac, ttl, id_ctl_estado_proc, id_tipo_doc_usr, fecha_pag, id_trans, ivapago, subttl)
  29. WHERE id = solpagoid;
  30.  
  31. END IF;
  32. RETURN query SELECT id_solicitud, respuestasolicitud;
  33. END ;
  34. $BODY$
  35. LANGUAGE plpgsql VOLATILE
  36. COST 100
  37. ROWS 1000;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement