
USE `sakti`;

DROP FUNCTION IF EXISTS `sakti`.`getCOA`;
DELIMITER //
CREATE DEFINER=`root`@`localhost` FUNCTION `sakti`.`getCOA`(`PCOA` CHAR(200), `PKODESATKER` CHAR(50)) RETURNS char(200) CHARSET latin1
    DETERMINISTIC
BEGIN
	DECLARE VCOA CHAR(200);
	SELECT
	CONCAT(PKODESATKER, 
			'.',
			'136', 
			'.',			
			SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',-2),'.',1), 
			'.',
			REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',4),'.',-3),'.',''), 
			'.'
			, REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',7),'.',-2),'.',''), 
			'.',
			'F000000001', 
			'.',
			'00000', 
			'.', 
			'2', 
			'.',
			'1951', 
			'.',
			'2', 
			'.',
			'000000', 
			'.',
			'000000', 
			'.',
			LPAD(RIGHT(SUBSTRING_INDEX(PCOA,'.',10),3),3,'0'),
			# LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',8),'.',-1),3,'0'), 
			'.',
			LPAD(RIGHT(SUBSTRING_INDEX(PCOA,'.',11),3),3,'0'),
			# LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',10),'.',-2),3,'0'), 
			'.',
			LPAD(RIGHT(SUBSTRING_INDEX(PCOA,'.',12),1),2,'0'),
			# LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',10),'.',-1),2,'0'), 
			'.',
			LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',14),'.',-1),6,'0')
			# LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(PCOA,'.',13),'.',-1),6,'0') 
		) INTO VCOA;
		RETURN VCOA;
END//
DELIMITER ;