Skip to Content

Illuminator Services of SAP MII

Recently I was working in some scenario where I need to fetch data from MII internal table. For that I can’t use the common action blocks provided in MII workbench for all the cases. So I had to think any other way around to fetch the data. After going through the SCN and discussing with the experts I got a great solution for that. I used MII illuminator services to fetch the data from the MII internal table. What I realize after using illuminator service,

  • Only way to fetch data from MII internal Table
  • Performance wise one of the best way to use that in the code
  • Easy to use directly from the IRPT or from JS

  While I have developed the solution for the scenario I have used various types of illuminator services which I have collected from the SCN and from SAP help Document but I fill that it will be very helpful to all if we get it in a consolidated form in a single doc. So that is the reason I am writing this blog to consolidate all of them. 

Background of MII services:

MII Services or illuminator services are basically a set of HTTP services that provide some core functionality of SAP MII. We can call these services externally by XML message exchange.

Each illuminator services have a service name and one or more modes which are kind of operations of the service. At the time of execution, we must have to specify both the service name and mode with the input parameter if any. The services can e called programmatically or from the web pages by using AJAX or from BLS.

The pattern of the URL is:

http://<server>:<port>/XMII/Illuminator?service=<service name>&mode=<mode name>&content-type=text/xml


Below is the list of services which are available in MII 12.0 and later.

  • Admin
  • Scheduler
  • SystemInfo

Below I mentioned few more services which are available in MII 12.1 and later

  • Indexing
  • Monitoring
  • BLSManager
  • Transport
  • DataServer

MII Services:

  • Admin Services: We can use the admin services to retrieve the administrative and security information of the SAP MII server. There are various modes available for the admin service. You can check them by the following URL.


Now I am discussing the various modes of admin service.

    • ContentList : Fetch the list of navigation links and their details.


    • CurrentProfile : Fetch the user profile of the current user which includes name, full name, roles, email ID, and navigation items and links.


    • DBInit : Re-initializes the delivered database content of the MII server. Anyone can use parameter type=All in the URL, which will reinitializes both the profile and the projects. Otherwise, it just updates the original projects delivered with the system. This is not recommended to use unless re-initialization is required.


    • FullProfile : Fetch the full profile of the role or user specified in the parameter.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=FullProfile&Group=< user or role>

    • GetResource : fetch string resources based on the resources file name and the language. These are required for translating the screen labels to different languages. Valid Resource file name are UserStringResources, Messages, ErrorMessages and Applet.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=GetResource&language=<Language code>&FileName=<ResourceFileName>

    • AddResource : Add a language resource file to the server specified in the parameter.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=AddResource&language=<Language code>&FileName=<ResourceFileName>

    • Inspector : Fetch the list of the methods supported by the applet class specified in the parameter.


    • PermissionList : Fetch the security services and their mapping to different role.


    • ProfileEditor : Used to modify the profile of the user or role specified in the URL.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=ProfileEditor&Group=<user or role>&Payload=<XML data> 

    • RoleAttribList : Fetch the attributes of the role or user specified in the parameter.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=RoleAttribList&Group=<user or role>

    • RoleList : Fetch the list of roles available for the user or group.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=RoleList&Group=<user or role> 

    • RoleProfile : Fetch the profile details

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=RoleProfile&Group=<Group Name>

    • SessionList : Fetch the current logged in user with session details.


    • UserAttribList : Fetch the attributes of the current logged in user. Mask name is an additional parameter.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=UserAttribList&Mask=<Mask Name>

    • UserList : Fetch the list of the user available in the system.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=UserList&Group=<Role or Group Name> 

    • UserProfile : Fetch the profile details of the specified user.

                 http://<server>:<port>/XMII/Illuminator?service=admin&mode=UserProfile&Group=<Group Name>

    • Who : Fetch the user name of the current logged in user.


  • Scheduler Services: We can use the scheduler to control it programmatically. There are various modes available for the Scheduler service. You can check them by the following URL.


   Now I am discussing the various modes of Scheduler service.

    • Start : Start the SAP MII scheduler.


    • Run : Run a job at the current instance.

                 http://<server>:<port>/XMII/Illuminator?service=scheduler&mode=Run&ID=<job ID>

    • Stop : Stop the MII scheduler.


    • List : Fetch the list of scheduled job


    • Import : Import schedule job details from an XML file that can be exported from another MII server.

                http://<server>:<port>/XMII/Illuminator?service=scheduler&mode=Import&Payload=<XML data> 

    • Export : Export the details of a scheduled job in the scheduler in the XML format.

                 http://<server>:<port>/XMII/Illuminator?service=scheduler&mode=Export&ID=<job ID>

    • History : Fetch the run history of the specific job.

                http://<server>:<port>/XMII/Illuminator?service=scheduler&mode=History&ID=<job ID> 

    • Enable : Enables a scheduled job.

                 http://<server>:<port>/XMII/Illuminator?service=scheduler&mode=Enable&ID=<job ID>

    • Disable : Disables a scheduled job.

                 http://<server>:<port>/XMII/Illuminator?service=scheduler&mode=Disable&ID=<job ID> 

    • Delete : Deletes a schedule job.

                 http://<server>:<port>/XMII/Illuminator?service=scheduler&mode=Delete&ID=<job ID>

  • SystemInfo Services: We can use the SystemInfo services to get the system related information of SAP MII. There are various modes available for the SystemInfo service. You can check them by the following URL.


         Now I am discussing the various modes of SystemInfo service.

    • Configuration: Fetch the system properties of the SAP MII server configuration.


    • CurrentProfile: Fetch the profile of the current logged-in user including role and navigation.


    • HostInfo: Fetch the hostname and IP address of the current system.


    • JavaRunFinalizer: You can run the finalization method of any object pending for finalization in the Java virtual machine of the server.


    • JavaRunGC: You can run the Java garbage collector in the server. It will help to recycle the JVM to reuse the memory occupied by the unused objects.


    • JavaRunTimeStatus: Fetch the current status of the JVM in the server. It includes memory status, number of processors etc.


    • JavaThreadStatus: Fetch the list of current runtime threads in the JVM of the server.


    • RoleList: Fetch the list of roles available in the server.


    • SAPServerInfo: Fetch the info about a specific SAP server details.


    • ScheduleList: Fetch the list of the time period schedules configured.


    • ScheduleAttribList: Fetch the list of time period schedules configured in the system along with the time period.


    • ScheduleDetailsList: Fetch the details of time period schedules specified in the group.


    • ServerList : Fetch the list of data server configured. You can fetch the server list based on the status by that service.


    • ServerAttribList: Fetch the list of data server details based on the group.


    • ServerInfo: Fetch the list of data servers and their configuration details available in the system.


    • ServiceList: Fetch the list of the service available in the system security.


    • Status: Fetch the status of the data server available in the system.


    • TimePeriodList: Fetch the list of the time period available in the system.


    • TimePeriodAttribList: Fetch the list of time period with the details.


    • UpTime: Fetch the info about the uptime of the server.


    • UserList: Fetch the list of user available in the system.


  • Indexing Service: The indexing service includes method for examine what is indexed and monitor an indexer. The indexer rebuilds the index information. It will run through all files in the database and re-index them. This should only be used if somehow the indexes get out of sync.

The index types are the list of different items which are indexed whenever a file is saved. When calling services the index type must be specified since object names are not guaranteed to be unique across index types.

Index Type



Credential aliases used in transactions


Connection aliases used in transactions


Data servers used in query templates


Transaction, template, and manufacturing data object uses

There are various modes available for the Indexing service. You can check them by the following URL.


          Now I am discussing the various modes of Indexing service.

    • Missing: We can use this service to retrieve an index object for which object doesn’t exist.

          http://<server>:<port>/XMII/Illuminator?service=Indexing&mode=missing&type=<index type>&content-type=text/xml

    • Reindex: We can use this to delete the existing indexing and reindex them. For this, user needs SAP_XMII_Super_Administrator and SAP_XMII_Administrator roles.


    • Start: We can use this service to start the indexing if it not started already.


    • Status: We can use this service to check the status of the indexer and to check the list of the files indexed since the last start.


    • Usage: We can use this service to display the files for specific indexing type.

                 http://<server>:<port>/XMII/Illuminator?service=Indexing&mode=usage&type=<index type>&content-type=text/xml

  • Monitoring Service: We can use this service to retrieve the information for logins, file usage, server usage etc. We can determine load of the system, running transaction or query etc from that service.

There are various modes available for the Monitoring service. You can check them by the following URL.


               Now I am discussing the various modes of Monitoring service.

    • Data Server: We can monitor the details stat as no of row returned, no of error etc for some duration.


    • File Usage: We can monitor the usage of Query Templates and BLS from this service.


If you need project specific usage of QT or BLS then you have to add Project Name with the URL.


    • Message Server: We can monitor the usage of the message monitor from this service. We can check the no of messages received, processed, error etc.


    • Login Count: We can monitor the count of the user login.


If you need the login count for specific user, you can use the following url.


    • User Stat: We can monitor the no of request by the user and no of row returned.


  • BLS Manager: We can use this service to retrieve the details information for BLS like running time of BLS, Highest run time, log, output, stats etc, and we can perform few activities like terminate transaction, delete transaction, clear transaction cache etc.

There are various modes available for the BLS Manager. You can check them by the following URL.


            Now I am discussing the various modes of BLS Manager.

    • Transaction List: We can use this service to determine the transaction in running stat and to determine the highest running one etc.


    • Transaction Stat: We can get the details stat for each transaction from this service.


    • Transaction Log: We can get the transaction log for particular transaction ID.


    • Transaction Output: We can get the transaction output for particular transaction ID.


    • View Transaction Cache: We can get the details transaction cache.


    • Clear Transaction Cache: We can clear the transaction cache by this service.


    • Terminate Transaction: We can terminate any transaction in running state.


    • Delete Transaction: We can delete any transaction by this service.


  • Transport: We can use this service to transport the configuration or project from one system to another system.

There are various modes available for the transport. You can check them by the following URL


Now I am discussing the various modes of Transport service.

    • Export Configuration: We can fetch the configuration from one system. But we have to pass the encryption algorithm and the pass phrases.


    • Export Project: We can fetch the project from one system. But we have to pass the encryption algorithm and the pass phrases.


  • DataServer: Using this service you can do the basic functionalities of data server like enable., disable, delete, export and import of data server.

          Now I am discussing the various modes of Data Server service.

    • Import: By that service you can import data server from one system to other system. If the data server exists in the system then it will update the existing and if not present then it will add the new one.


    • Export: We can export the list of data server by this service.


    • Enable: Using this service you can enable any data server which is in disable state.


    • Disable: Using this service you can disable any data server which is in enable state.


    • Delete: Using this service you can delete any data server.


I have collected and used most of the services in my project work and development of SAP MII. I have collected and consolidated them for my development and project work from SAP Help Documents, SCN community and from the book Implementing and configuring SAP MII from SAP Press written by Dipankar Saha and Abesh Bhattacharjee. I am not sure but may be I missed few MII services still so I am requesting you all if you know any other MII services Please feel free to add them in the blog and I will do the same also So that in future it will become a good repository of MII services which help everyone.

You must be Logged on to comment or reply to a post.
    • Hi Konstantin,

      There are two points behind this,

      1) Usually it is not recommended to connect to NW database.

      2) As it is an MII internal table, so table design can be changed by SAP at any point of time and at any release.

      But yes from technical stand point, it is possible but not recommended.



  • Hi Suman,

    In Admin Services , Current Profile this is the URL mentioned .


    If i am not wrong , In place of ContentList it should be CurrentProfile.



    • Hi Mogens,

      you can check your browser encoding, it may be the cause for that and you can try to open it in mozilla or any other browser.

      • Thanks, it looks fine in a decent browser (Firefox)! (i thought my IE only SAP-login-certificate was needed but i can view the article fine without).

        But no matter what encoding i choose in IE8 or set auto, the URLs are still in greek. Hmm i havent noticed these encoding problems anywhere on the web before with my IE8…

  • Hi Suman,

    I tried to use the following service to get the status info for the data servers on a server.


    But the service output contains

    Server_Name Connector_Type Connections_Used Available_Connections Max_Connections_Used Max_Wait_Time

    There is no status info like Running or Stopped.

    How can I get the status of the Data server?

    • Hi Guru,

      If you use the mentioned service you will get the column “Available_Connections”. in Available_Connections if the value is greater than 0 then your connection is available for that server and if the Available_Connections is 0 then your connection is not available for that server.

      Hope this will help you.



      • Hi Suman,

        Thanks. I think this service will get only Enable connectors.For disabled connectors , Available_Connections is still 1 when the status is stopped.

        • Hi Guru,

          I have checked in my system, by using this service I always get the enabled server. To get the disabled server you need to use below service.


          By changing the mask value you can get All and enabled connectors also from the ServerList mode.



          • Hi Suman,

            Thank you for the confirmation. Is there a service to get the logs in  logviewer?

            I want to develope some kind of monitoring on logs ( like dashboard,scheduled job)

  • Hello Suman,

    Thanks for the post!

    I have a question about

    http://<server&gt;:<port>/XMII/Illuminator?service=admin&mode=ProfileEditor&Group=<user or role>&Type=[USER]&Payload=<xml>

    Could you please tell me how to use the Payload parameter? It says it takes xml as input. But I pass xml it throws me an error. My requirement is to change the “orgunit” value of the “Additional Information” tab in the Security Services.

    I am using MII 14.0

    Please help!



    • Hi Venkata,

      Did you manage to figure out how to use the payload parameter, I’m trying to use the httppost action block in a BLS to call the DataServer creation method


      But I cant seem to get it right

      • Hello Morne,

        I couldnt get the payload parameter working. I was trying this to change user profile at the runtime. But no luck



  • Hi, is there a way to list the content of a project?

    I’m especially after a list of available queries of different types?

    I see here that I can list transactions and folders – but I don’t get how to list folder content

    Thanks for any hint



    • Hi Sonny,

      Using the below service you can get the list of BLS and queries.


      then you have to filter your output xml based on the file type like,

      BLS : .tr

      query : .tq

      now for SQL Qry : tqsq

      XML Qry : tqxm

      MDO Qry : tqmd

      Like that, you will get the details queries and if required project specific also.

      Hope it will help you.



      • Hi again,

        I see that I don’t get all available queries even though I give a very high duration value

        Is this since latest system start up or are there other limitations?

        A call that listed a project structure would ofcourse be a more direct way than this based on recently used files…

        Anyhow in practise you tend to be interested in recently used/developed things, so the proposed way is helpful although not perfect

        Kind regards,


        • Hi Sonny,

          Couple of points, regarding the duration, I have tested with 2 mins duration and it worked fine and return proper data.

          regarding the high duration, basically it fetches the data from MII cache and that have a limitation but its configurable. by default I guess its 24 hrs, but if you want you can change it from system properties.

          and regarding showing all the queries, by name its indicating that its for used file only. So it will show you only the queries and BLS are in use means which have executed.

          Now if you need the complete list of queries, for a project which may or may not be in use, then getting the complete content of project is the only way I guess.



    • Hi Siddharth,

      generally if someone has admin role can access all the illuminator. but for some illuminators you can give action specific role like if someone need scheduler readonly then you can do that by providing that permission action to that user.

      hope it will help you,



  • Hi Suman,

    I am trying to display schedule details(with parameters) on my .irpt page.

    How can I get same details I get when exporting the schedule job to my .irpt page?



  • we have one monitoring job to track count of error on connectors, which has used http://<server>:<port>/XMII/Illuminator?service=Monitoring&Mode=dataservers&content-type=text/xml&Duration=<hrs> serive to get the detail, its working fine when we were on 12.2 server but after upgrading to 15.1 this service i snot returning any data, what can be the issue ?

    • Hello Vanessa

      you can use Scheduler Service to check Status of Scheduler itself

      for hanging jobs it is more helpful to observe job history.

      for example: http://<server&gt;:<port>/XMII/Illuminator?Service=Scheduler&mode=History&ID=<ID>&content-type=text/xml

      if last run is to old or still open you can react with additional implemantation logic (stop and start job by id, or send email to reqeust check)…



  • according the admin service is also able to add, list, reset and remove resource content types to XMII_WHITELIST

    this function of illuminator service is availabe since MII 15.1. SP03.


    • http://<server&gt;:<port>/XMII/Illuminator?Service=Admin&Mode=AddContentType&ResourceContentType=text/xsl&Content-Type=text/xml
    • http://<server&gt;:<port>/XMII/Illuminator?Service=Admin&Mode=RemoveContentType&ResourceContentType=text/xsl&Content-Type=text/xml
    • http://<server&gt;:<port>/XMII/Illuminator?Service=Admin&Mode=ResetContentTypeCache&Content-Type=text/xml
    • http://<server&gt;:<port>/XMII/Illuminator?Service=Admin&Mode=ContentTypeList&Content-Type=text/xml

    example default list:



  • Dear All,

    I have an issue with BLS Illuminator service.

    Following Illuminator service is only fetching list of Transactions for today’s date only.

    But my requirement is for get the list pf past dates also. Mainly which are still Running status.



    Please suggest.

    Thank you.


    Best regards,