samuel025

Function Monthly Posting Erp

Jul 1st, 2021
1,362
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. 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.     --Adrian, Aug 31, 2017
  62.     UPDATE m_admin_process_ledger
  63.     SET flag_process ='N',
  64.         update_datetime = vDatetime,
  65.         update_user_id = vUserId,
  66.         version = version + 1
  67.     WHERE ledger_code = 'GL'
  68.         AND date_year_month = vYearMonth
  69.         AND ou_id = vOuId;
  70.    
  71. END;
  72. $BODY$
  73.   LANGUAGE plpgsql VOLATILE
  74.   COST 100;
  75.   /
Advertisement
Add Comment
Please, Sign In to add comment