USE `sakti`;
DROP FUNCTION IF EXISTS `getCOA`;
DELIMITER //
CREATE DEFINER=`root`@`localhost` FUNCTION `getCOA`(`PCOA` CHAR(100)) RETURNS char(200) CHARSET latin1
    DETERMINISTIC
BEGIN
	DECLARE VCOA CHAR(200);
	SELECT
	CONCAT('548886', #Kode Satker
			'.',
			'136', #Kode KPPN Makassar
			'.',			
			SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',-2),'.',1), #Kode Akun SKA
			'.',
			REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',4),'.',-3),'.',''), #Ada di Kendali Anggaran Menu COA (Level 2)
			'.'
			, REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',7),'.',-2),'.',''), #Ada di Kendali Anggaran Menu COA (Level 4)
			'.',
			'F000000001', #Mapping Sumber dana ke Akun di Kendali Anggaran
			'.',
			'00000', #Statis
			'.', 
			'2', #Statis
			'.',
			'1951', #Statis (Makassar Sulawesi selatan)
			'.',
			'2', #Statis
			'.',
			'000000', #Statis
			'.',
			'000000', #Statis
			'.',
			 LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',8),'.',-1),3,'0'), #Ada di kendali anggaran Menu COA (3 digit terakhir dari Level 5)
			'.',
			 LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',10),'.',-2),3,'0'), #Ada di kendali anggaran Menu COA (3 digit terakhir dari Level 6)
			'.',
			 LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',10),'.',-1),2,'0'), #Ada di kendali anggaran Menu COA (Digit terakhir dari Level 7)
			'.',
			 LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',13),'.',-1),6,'0') #Ada di kendali anggaran Menu COA (6 digit terakhir dari Level 9)
		) INTO VCOA;
		RETURN VCOA;
END//
DELIMITER ;