Jython Example

Hello;

Here is an example of Jython script. You can see the basic usage of jython scripts in Maximo…

from psdi.security import UserInfo
from psdi.mbo import MboServerInterface
 
mboServer = scriptHome.getMboServer();
user = scriptHome.getUserInfo();
PO=scriptHome
if(PO.getMboSet("POLINEAST").count()>0):
	#Create Workorder
	woSet= mboServer.getMboSet("WORKORDER", user)
	wo=woSet.addAtEnd()
	wo.setValue("APPNAME", "PO");
	wo.setValue("DESCRIPTION", PO.getString("DESCRIPTION")+" Teslim Alma Istegi")
	wo.setValue("DESCRIPTION_LONGDESCRIPTION",PO.getString("PONUM")+" numarali satinalma emri ile alinan malzemeler icin teslim alma is istegi")
	wo.setValue("GENERATEDFORPO",PO.getString("PONUM"))
	wo.setValue("SCHEDSTART", PO.getDate("VENDELIVERYDATE"))
 
	#Custom Set 
	iswocustomSet=mboServer.getMboSet("ISWOCUSTOM", user)
	iswocustom =iswocustomSet.addAtEnd()
	iswocustom.setValue("WORKORDERID", wo.getInt("WORKORDERID"))
 
	#Create Activity for each POLINE
 
	activitySet= wo.getMboSet("WOACTIVITY")
	num=PO.getMboSet("POLINEAST").count()
	for i in range(num) :
 
		activity = activitySet.addAtEnd()
		poLine=PO.getMboSet("POLINE").getMbo(i)
		kisi=""
		if(poLine.getMboSet("RL2").count()==1) :
			kisi=poLine.getMboSet("RL2").getMbo(0).getString("DISPLAYNAME") +" teslim alacaktir."
		activity.setValue("DESCRIPTION", PO.getString("DESCRIPTION")+" satinalma emri " + poLine.getMboSet("ITEM").getMbo(0).getString("DESCRIPTION") +" icin Teslim Alma Aktivitesi")
		activity.setValue("SCHEDSTART", poLine.getDate("VENDELIVERYDATE"))
		wo.setValue("SCHEDSTART", poLine.getDate("VENDELIVERYDATE"))
		activity.setValue("APPNAME", "ASSETSTD")
		iswocustom2 =iswocustomSet.addAtEnd()
		iswocustom2.setValue("WORKORDERID", activity.getInt("WORKORDERID"))
		iswocustom2.setValue("ITEMNUM", poLine.getString("ITEMNUM"))
		iswocustom2.setValue("POLINEID", poLine.getString("POLINEID"))
 
	wo.getThisMboSet().save()
	iswocustomSet.save()
	iswocustomSet.cleanup()

Tags:

Leave a Reply


Switch to our mobile site