aadddrr

gl_posting_monthly_journal

Feb 22nd, 2018
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Modified by Adrian, Aug 31, 2017,
  2.  * menambahkan update flag_process pada m_admin_process_ledger
  3.  */
  4. /**
  5.  * Modified by Adrian, Feb 22, 2018
  6.  * Menambahkan process costing Service
  7.  */
  8.  
  9. CREATE OR REPLACE FUNCTION gl_posting_monthly_journal(bigint, character varying, character varying)
  10.   RETURNS void AS
  11. $BODY$
  12. DECLARE
  13.  
  14.     pTenantId           ALIAS FOR $1;
  15.     pSessionId          ALIAS FOR $2;
  16.     pProcessNo          ALIAS FOR $3;
  17.  
  18.     vProcessId              bigint;
  19.     vOuId                   bigint;
  20.     vUserId                 bigint;
  21.     vYearMonth              character varying(6);
  22.     vDatetime               character varying(14);
  23.     vPeriode                character varying(10);
  24.  
  25. BEGIN
  26.    
  27.     vPeriode := 'MONTHLY';
  28.    
  29.     SELECT A.process_message_id INTO vProcessId
  30.     FROM t_process_message A
  31.     WHERE A.tenant_id = pTenantId AND
  32.         A.process_name = 'gl_posting_monthly_journal' AND
  33.         A.process_no = pProcessNo;
  34.        
  35.     SELECT CAST(A.process_parameter_value AS bigint) INTO vOuId
  36.     FROM t_process_parameter A
  37.     WHERE A.process_message_id = vProcessId AND
  38.         A.process_parameter_key = 'ouId';
  39.    
  40.     SELECT CAST(A.process_parameter_value AS bigint) INTO vUserId
  41.     FROM t_process_parameter A
  42.     WHERE A.process_message_id = vProcessId AND
  43.         A.process_parameter_key = 'userId';
  44.        
  45.     SELECT CAST(A.process_parameter_value AS character varying(14)) INTO vDatetime
  46.     FROM t_process_parameter A
  47.     WHERE A.process_message_id = vProcessId AND
  48.         A.process_parameter_key = 'datetime';
  49.        
  50.     SELECT CAST(A.process_parameter_value AS character varying(6)) INTO vYearMonth
  51.     FROM t_process_parameter A
  52.     WHERE A.process_message_id = vProcessId AND
  53.         A.process_parameter_key = 'yearmonth';
  54.  
  55.     PERFORM gl_reversed_sign_amount(pTenantId, vYearMonth);
  56.     /*
  57.      * Lakukan journal posting raw material, WIP, dan finish goods
  58.      */
  59.     PERFORM gl_posting_service_sales_pos_costing_journal(pTenantId, pSessionId, vOuId, vUserId, vYearMonth, vDatetime);
  60.     PERFORM gl_posting_raw_materials_costing_journal(pTenantId, pSessionId, vOuId, vUserId, vYearMonth, vDatetime);
  61.     PERFORM gl_posting_finish_goods_costing_journal(pTenantId, pSessionId, vOuId, vUserId, vYearMonth, vDatetime);
  62.    
  63.     -- ahen 10 jun 2015
  64.     PERFORM gl_validate_journal(pTenantId, vOuId, pSessionId, pProcessNo, vUserId, vDatetime, vYearMonth, vPeriode);
  65.    
  66.     --Adrian, Aug 31, 2017
  67.     UPDATE m_admin_process_ledger
  68.     SET flag_process ='N',
  69.         update_datetime = vDatetime,
  70.         update_user_id = vUserId,
  71.         version = version + 1
  72.     WHERE ledger_code = 'GL'
  73.         AND date_year_month = vYearMonth
  74.         AND ou_id = vOuId;
  75.    
  76. END;
  77. $BODY$
  78.   LANGUAGE plpgsql VOLATILE
  79.   COST 100;
  80.   /
Add Comment
Please, Sign In to add comment