aadddrr

gl_posting_monthly_journal LIVE SPOORING 20180222

Feb 22nd, 2018
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Function: gl_posting_monthly_journal(bigint, character varying, character varying)
  2.  
  3. -- DROP FUNCTION gl_posting_monthly_journal(bigint, character varying, character varying);
  4.  
  5. CREATE OR REPLACE FUNCTION gl_posting_monthly_journal(bigint, character varying, character varying)
  6.   RETURNS void AS
  7. $BODY$
  8. DECLARE
  9.  
  10.     pTenantId           ALIAS FOR $1;
  11.     pSessionId          ALIAS FOR $2;
  12.     pProcessNo          ALIAS FOR $3;
  13.  
  14.     vProcessId              bigint;
  15.     vOuId                   bigint;
  16.     vUserId                 bigint;
  17.     vYearMonth              character varying(6);
  18.     vDatetime               character varying(14);
  19.     vPeriode                character varying(10);
  20.  
  21. BEGIN
  22.    
  23.     vPeriode := 'MONTHLY';
  24.    
  25.     SELECT A.process_message_id INTO vProcessId
  26.     FROM t_process_message A
  27.     WHERE A.tenant_id = pTenantId AND
  28.         A.process_name = 'gl_posting_monthly_journal' AND
  29.         A.process_no = pProcessNo;
  30.        
  31.     SELECT CAST(A.process_parameter_value AS bigint) INTO vOuId
  32.     FROM t_process_parameter A
  33.     WHERE A.process_message_id = vProcessId AND
  34.         A.process_parameter_key = 'ouId';
  35.    
  36.     SELECT CAST(A.process_parameter_value AS bigint) INTO vUserId
  37.     FROM t_process_parameter A
  38.     WHERE A.process_message_id = vProcessId AND
  39.         A.process_parameter_key = 'userId';
  40.        
  41.     SELECT CAST(A.process_parameter_value AS character varying(14)) INTO vDatetime
  42.     FROM t_process_parameter A
  43.     WHERE A.process_message_id = vProcessId AND
  44.         A.process_parameter_key = 'datetime';
  45.        
  46.     SELECT CAST(A.process_parameter_value AS character varying(6)) INTO vYearMonth
  47.     FROM t_process_parameter A
  48.     WHERE A.process_message_id = vProcessId AND
  49.         A.process_parameter_key = 'yearmonth';
  50.  
  51.     PERFORM gl_reversed_sign_amount(pTenantId, vYearMonth);
  52.     /*
  53.      * Lakukan journal posting raw material, WIP, dan finish goods
  54.      */
  55.     PERFORM gl_posting_raw_materials_costing_journal(pTenantId, pSessionId, vOuId, vUserId, vYearMonth, vDatetime);
  56.     PERFORM gl_posting_finish_goods_costing_journal(pTenantId, pSessionId, vOuId, vUserId, vYearMonth, vDatetime);
  57.    
  58.     -- ahen 10 jun 2015
  59.     PERFORM gl_validate_journal(pTenantId, vOuId, pSessionId, pProcessNo, vUserId, vDatetime, vYearMonth, vPeriode);
  60.    
  61. END;
  62. $BODY$
  63.   LANGUAGE plpgsql VOLATILE
  64.   COST 100;
  65. ALTER FUNCTION gl_posting_monthly_journal(bigint, character varying, character varying)
  66.   OWNER TO sts;
Add Comment
Please, Sign In to add comment