2

I am working on project which used Maximo Asset Management program. Our customer wants to know client IP when any person create new service request. I have searched on the internet but I can't find any topics about that. I 'm working with Java on businessobjects , I have took IP but this IP was Server's IP , as you know that Maximo run on server therefore it shows server ip , but I want to take which user/client create new service request.

davejal
  • 6,009
  • 10
  • 39
  • 82

2 Answers2

2

In Maximo

  1. Go to->Security->Users
  2. Select Action -> Manage Sessions
  3. Click on arrow to expand info on any logged in user

Here you can see Name and Client Host (ip address of user)

Click on the client host field and hold down alt+i to see the database table and field for this. The result MAXSESSION.CLIENTHOST is the table MAXSESSION and the field is CLIENTHOST.

davejal
  • 6,009
  • 10
  • 39
  • 82
0

If I can take @davejal's answer a step further, you could try the following:

  1. Create a relationship called MAXSESSION from PERSON to MAXSESSION where userid = :personid. Note that if MAXUSER.USERID != MAXUSER.PERSONID in your system then your relationship will have to be "upgraded" to userid = (select userid from maxuser where personid = :personid).
  2. Create an attribute on TICKET called REPORTEDBYIP same-as MAXSESSION.CLIENTHOST.
  3. Create a crossover domain called TKREPORTEDBY against PERSON.
    1. The Validation Where Clause should be personid = :reportedbyid.
    2. Have a row in your Crossover Fields table where Source Field is MAXSESSION.CLIENTHOST and Target Field is REPORTEDBYIP.
  4. Apply the TKREPORTEDBY domain to the TICKET.REPORTEDBYID attribute.

A known problem with the above is that if the user is logged in twice from different IPs, it is unknown which one will get crossed over onto the ticket / SR. You could upgrade the where clause in the relationship to always get the alphanumerically lower or higher one, using max() or min(). Or you could change the relationship to find the latest LOGINTRACKING record and use that. But again, there's no sure way, in such a situation, to guarantee that the IP you record will be the one they created the ticket from. But still, this solution is a step in the desired direction.

Preacher
  • 2,127
  • 1
  • 11
  • 25