Advertisement
Kwards

Untitled

Jan 29th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. CREATE OR REPLACE FUNCTION f_check_post_processing_stock_ds_not_working(character varying,bigint)
  2. RETURNS SETOF refcursor AS
  3. $BODY$
  4. DECLARE
  5. pResult REFCURSOR := 'result';
  6.  
  7. pDocDate ALIAS FOR $1;
  8. pTenantId ALIAS FOR $2;
  9.  
  10. vDbName character varying;
  11. vDbUser character varying;
  12. vDbPassword character varying;
  13. vDbPort character varying;
  14. vDbHostAddr character varying;
  15.  
  16. BEGIN
  17.  
  18. SELECT f_get_value_system_config_by_param_code(pTenantId, 'PALOMAWEB.DB.HOSTADDR')::text INTO vDbHostAddr;
  19. SELECT f_get_value_system_config_by_param_code(pTenantId, 'PALOMAWEB.DB.PORT')::text INTO vDbPort;
  20. SELECT f_get_value_system_config_by_param_code(pTenantId, 'PALOMAWEB.DB.NAME')::text INTO vDbName;
  21. SELECT f_get_value_system_config_by_param_code(pTenantId, 'PALOMAWEB.DB.USER')::text INTO vDbUser;
  22. SELECT f_get_value_system_config_by_param_code(pTenantId, 'PALOMAWEB.DB.PASSWORD')::text INTO vDbPassword;
  23.  
  24. DELETE FROM tt_for_check_post_processing_stock_ds_not_working WHERE doc_date =pDocDate;
  25.  
  26. -- tarik data dari web ds
  27. INSERT INTO tt_for_check_post_processing_stock_ds_not_working(
  28. doc_date,doc_no,doc_type_id)
  29. SELECT doc_date,doc_no,doc_type_id
  30. FROM dblink(
  31. 'dbname='||vDbName||' port='||vDbPort||' hostaddr='||vDbHostAddr||' user='||vDbUser||' password='||vDbPassword||''::text,
  32. 'SELECT doc_date,doc_no,doc_type_id
  33. FROM ds_log_product_balance A
  34. WHERE A.doc_date = '''||pDocDate||'''
  35. GROUP BY doc_date,doc_no,ref_id,doc_type_id'::text
  36.  
  37. ) AS A
  38. (
  39. doc_date character varying,
  40. doc_no character varying,
  41. doc_type_id bigint
  42. );
  43.  
  44. Open pResult FOR
  45. SELECT *
  46. FROM sl_do_mlm A
  47. WHERE not exists(
  48. SELECT 1
  49. FROM tt_for_check_post_processing_stock_ds_not_working B
  50. WHERE B.doc_type_id = A.doc_type_id
  51. AND B.doc_no = A.doc_no
  52. AND B.doc_date = A.doc_date
  53. )
  54. AND A.doc_date =pDocDate;
  55. RETURN NEXT pResult;
  56.  
  57. END;
  58. $BODY$
  59. LANGUAGE plpgsql VOLATILE
  60. COST 100
  61. ROWS 1000;
  62. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement