Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

 View Only
Expand all | Collapse all

Duplicating journal to return receipt journal

  • 1.  Duplicating journal to return receipt journal

    Posted Thu January 28, 2021 04:20 AM

    Dear all,

    I am trying to make automation script that will return the receipt journal before I cancel the PO. But instead create a RETURN journal, the script is delete existing journal. Is there someone who can tell me which part is wrong in my script?

    def cancelPO(mypo): try: myLogger.debug("ESCPO Create PO:"+GFS_PONUM+ " ponum mbo:"+mbo.getString("PONUM")) matSet = mypo.getMboSet("MATRECTRANS") gfsmatSet = mbo.getMboSet("MATRECTRANS"); gfsmatSet.setWhere(" PONUM = '"+mbo.getString("PONUM")+"' AND ISSUETYPE IN ('RECEIPT','TRANSFER')"); gfsmat = gfsmatSet.moveFirst(); while gfsmat: NP1IntegrationLog.WriteLog("GFSNP1PO", "IN", "Add PO :"+GFS_PONUM+" line 70 ", mbo.getString("FILENAME")) mat = matSet.add(); linetype = 'RETURN'; mat.setValue("ITEMNUM",gfsmat.getString("ITEMNUM"),2L);# ITEMNUM mat.setValue("TOSTORELOC",gfsmat.getString("TOSTORELOC"),2L);# ITEMNUM mat.setValue("TRANSDATE",Date(),2L);# ITEMNUM mat.setValue("ACTUALDATE",Date(),2L);# ITEMNUM newtotalqty = -1*gfsmat.getDouble("QUANTITY"); mat.setValue("QUANTITY",newtotalqty,2L);# ITEMNUM mat.setValue("RECEIVEDUNIT",gfsmat.getString("RECEIVEDUNIT"),2L);# ITEMNUM mat.setValue("ISSUETYPE",linetype,2L);# ITEMNUM mat.setValue("UNITCOST",gfsmat.getDouble("UNITCOST"),2L);# ITEMNUM mat.setValue("ACTUALCOST",gfsmat.getDouble("ACTUALCOST"),2L);# ITEMNUM mat.setValue("PONUM",gfsmat.getString("PONUM"),2L);# ITEMNUM mat.setValue("CONVERSION",gfsmat.getInt("CONVERSION"),2L); # CONVERSION mat.setValue("ENTERBY",gfsmat.getString("ENTERBY"),2L);# ITEMNUM mat.setValue("POLINENUM",gfsmat.getInt("POLINENUM"),2L); # CONVERSION mat.setValue("REQUESTEDBY",gfsmat.getString("REQUESTEDBY"),2L);# ITEMNUM mat.setValue("TOTALCURBAL",gfsmat.getDouble("QUANTITY"),2L);# ITEMNUM mat.setValue("OLDAVGCOST",gfsmat.getDouble("OLDAVGCOST"),2L);# ITEMNUM mat.setValue("GLDEBITACCT",gfsmat.getString("GLDEBITACCT"),2L); mat.setValue("GLCREDITACCT",gfsmat.getString("GLCREDITACCT"),2L); newlinecost = -1*gfsmat.getDouble("LINECOST"); mat.setValue("LINECOST",newlinecost,2L);# ITEMNUM mat.setValue("FINANCIALPERIOD",gfsmat.getString("FINANCIALPERIOD"),2L); mat.setValue("CURRENCYCODE",gfsmat.getString("CURRENCYCODE"),2L); mat.setValue("EXCHANGERATE",gfsmat.getDouble("EXCHANGERATE"),2L);# ITEMNUM mat.setValue("CURRENCYUNITCOST",gfsmat.getDouble("CURRENCYUNITCOST"),2L);# ITEMNUM newcurlinecost = -1*gfsmat.getDouble("CURRENCYLINECOST"); mat.setValue("CURRENCYLINECOST",newcurlinecost,2L);# ITEMNUM mat.setValue("DESCRIPTION",gfsmat.getString("DESCRIPTION"),2L); newloadcost = -1*gfsmat.getDouble("LOADEDCOST"); mat.setValue("LOADEDCOST",newloadcost,2L);# ITEMNUM mat.setValue("STATUS",gfsmat.getString("STATUS"),2L); mat.setValue("CURBAL",gfsmat.getDouble("CURBAL"),2L);# ITEMNUM mat.setValue("ORGID",gfsmat.getString("ORGID"),2L); mat.setValue("SITEID",gfsmat.getString("SITEID"),2L); mat.setValue("COSTINFO",gfsmat.getInt("COSTINFO"),2L); # CONVERSION mat.setValue("FROMSITEID",gfsmat.getString("FROMSITEID"),2L); mat.setValue("RECEIPTREF",gfsmat.getLong("RECEIPTREF"),2L); mat.setValue("LINETYPE",gfsmat.getString("LINETYPE"),2L); mat.setValue("ITEMSETID",gfsmat.getString("ITEMSETID"),2L); mat.setValue("COMMODITYGROUP",gfsmat.getString("COMMODITYGROUP"),2L); mat.setValue("LANGCODE",gfsmat.getString(LANGCODE),2L); mat.setValue("POSITEID",gfsmat.getString(POSITEID),2L); gfsmat = gfsmatSet.moveNext(); except (RemoteException, MXException), e: myLogger.debug(str(e)) NP1IntegrationLog.WriteLog("GFSNP1PO", "IN", "Cancel PO :"+mbo.getString('PONUM')+" Failed",e, mbo.getString("FILENAME")) mbo.setValue("IFACESTATUS","FAILED")






    #SupportMigration
    #Maximo
    #AssetandFacilitiesManagement
    #Support


  • 2.  RE: Duplicating journal to return receipt journal

    Posted Thu January 28, 2021 06:38 PM

    Hi

    This is the default nature when inserting a MATRECTRANS record it will default the ISSUETYPE as RETURN. When invoking the Automation Script I assume it creates a new record in MATRECTRANS with issue type as RETURN which in turn removes the line from interface table






    #Maximo
    #SupportMigration
    #Support
    #AssetandFacilitiesManagement


  • 3.  RE: Duplicating journal to return receipt journal

    Posted Fri January 29, 2021 01:04 AM

    But if I manually return it using "Select Item for Return" button, it create new line instead deleting it.






    #Maximo
    #SupportMigration
    #AssetandFacilitiesManagement
    #Support