Try Catch Exception Key as Message untuk Automation Script

Saat mengerjakan project di kantor lama saya pernah membuat Automation Script untuk upload data person dari custom table ke table person di Maximo. Nah kebetulan ada error yang kerap terjadi, yaitu adalah error duplicate data. Nah khusus untuk error ini (special case hehe), setiap terjadi duplikasi data saya harus update existing datanya (override). Bagaimana caranya agar saya tau bahwa error yang terjadi adalah error duplikasi dan data yang udah ada tersebut harus dioverride bukan buat baru?

Dewasa ini bahasa pemrograman memiliki block try..catch untuk menangkap error yang kira-kira akan terjadi dan diprediksi bahwa proses yang dilakukan akan terjadi error karena faktor xxx dan yyy. Nah saya memanfaatkan try..catch di Python Automation Script. How to do that?

try :
	personObj = personSet.add();
	...... next statement as your wish
except MXException, e :
	errorkey = str(e.getErrorKey()); #cast key error as string
	if errorkey == 'duplicatekey' : #jika ternyata key messagenya adalah 'duplicate'
		print "Updating.......... : " + rs.getString("PERSONID");

Yang dapat dimanfaatkan adalah class MXException karena merupakan base class Exception di Platform Maximo atau root class untuk semua exception. Untuk mendapatkan keynya dapat menggunakan function getErrorKey(). Btw, this is A BAD SYNTAX after all! Masih banyak cara lain yang JAUH lebih AMAN dan BAIK, hanya untuk emergency case 😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.