Skip to Content
Author's profile photo Former Member

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.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Konstantin Chernega
      Konstantin Chernega

      Hi Suman,

      Why cannot a standard SQL and Data Server that is pointed to NW database be used to select data from MII tables?



      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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.



      Author's profile photo Former Member
      Former Member

      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.



      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Sriram,

      You are right. it's a typo. Thanks a lot for pointing it. 🙂



      Author's profile photo Former Member
      Former Member

      Most of the technical details in this article is unreadable by me as all URLS etc are in GREEK letters as is the reply from

      sriram kukkadapu Feb 16, 2013 5:13 AM

      What is going on? Has the article been migrated wrong ?

      My browser is IE 8.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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.

      Author's profile photo Former Member
      Former Member

      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...

      Author's profile photo Former Member
      Former Member

      Hello,  I am on IE and cannot read the URLs.  Please correct your entry so that I might understand.  Thank you.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Bhagat,

      you can try to open it in mozilla or any other browser.

      Author's profile photo Former Member
      Former Member

      If you cut and paste the text into the address bar, or into notepad it becomes readable.

      Author's profile photo Partha Sarathi Roy Chowdhury
      Partha Sarathi Roy Chowdhury

      Hi Sumnan

      A great post.

      For others who want to get updated info on new services you may add the link to the help page for the same.

      Services - SAP Manufacturing Integration and Intelligence - SAP Library



      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thanks Partha. Yes, the latest and updated services also helps a lot. Thanks for adding the link.

      Author's profile photo Former Member
      Former Member

      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?

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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.



      Author's profile photo Former Member
      Former Member

      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.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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.



      Author's profile photo Former Member
      Former Member

      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)

      Author's profile photo Former Member
      Former Member

      Hello Suman,

      Thanks for the post!

      I have a question about

      http://<server>:<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!



      Author's profile photo Former Member
      Former Member

      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

      Author's profile photo Former Member
      Former Member

      Hello Morne,

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



      Author's profile photo Former Member
      Former Member

      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



      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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.



      Author's profile photo Former Member
      Former Member

      Thanks a lot Suman,

      That was an unexpected way, that seems to work if one give a high enough value for Duration

      Kind regards,


      Author's profile photo Former Member
      Former Member

      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,


      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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.



      Author's profile photo Former Member
      Former Member

      Services for the DataBuffer:  SAP MII 12.1 Data Buffering Changes for SP09

      Author's profile photo Former Member
      Former Member


      What roles must be given to a user in order to run these services?



      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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,



      Author's profile photo Bheki Maseko
      Bheki Maseko

      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?



      Author's profile photo Neha Dwivedi
      Neha Dwivedi

      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 ?

      Author's profile photo Wout Buelens
      Wout Buelens

      Is there a service call to delete the WEB folder of a project?

      Author's profile photo Matthias Hollstein
      Matthias Hollstein

      Hello Wout
      no, I do not think so.

      if you want to delete web content using URL, you may create a transaction with input parameter to folder paths for deleting WEB content and using XMII Runner for Transaction execution using URL calls.

      hopefully this is helpful




      Author's profile photo Vanessa Boni
      Vanessa Boni

      How can Jobs be monitored?

      Author's profile photo Matthias Hollstein
      Matthias Hollstein

      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)...



      Author's profile photo Matthias Hollstein
      Matthias Hollstein

      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>:<port>/XMII/Illuminator?Service=Admin&Mode=AddContentType&ResourceContentType=text/xsl&Content-Type=text/xml
      • http://<server>:<port>/XMII/Illuminator?Service=Admin&Mode=RemoveContentType&ResourceContentType=text/xsl&Content-Type=text/xml
      • http://<server>:<port>/XMII/Illuminator?Service=Admin&Mode=ResetContentTypeCache&Content-Type=text/xml
      • http://<server>:<port>/XMII/Illuminator?Service=Admin&Mode=ContentTypeList&Content-Type=text/xml

      example default list:



      Author's profile photo Venkata Ramana Reddy Maram
      Venkata Ramana Reddy Maram

      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,


      Author's profile photo Matthias Hollstein
      Matthias Hollstein

      Hello Venkat

      by default the MII System Property for Transaction Persistence is limited for 8 Hours.

      if you want to monitor Transaction runs for a longer period you may change that value

      but this will have impact into performance of MII

      my recommendation is to use Event Logger Action Block inside MII Transactions to Monitor specif Results using NetWeaver Event log




      Author's profile photo Matthias Hollstein
      Matthias Hollstein


      is it possible to update this list?

      I've recognized a Service not listed above: The MII Dependency Checker (Mode of Admin Service

      To call the service, you use the following URL format: http://<server:port>/XMII/Illuminator?Service=Admin&Mode=DependencyChecker




      Author's profile photo Matthias Hollstein
      Matthias Hollstein

      What's New in SAP MII 15.4:

      • The JCo Message Detail API has been added to the SAP MII monitoring services. This API filters the XML output from the XMII_JCOMESSAGES table, based on the <StartDate> and <EndDate> passed in the URL. (2990314)



      service=Monitoring mode=modelist content-type=text/xml Result

      Author's profile photo Ankit Gupta
      Ankit Gupta

      Hi All,

      We have a requirement to call a web page (developed in SAP MII) using the illuminator service.

      Is there any way we can call the web page using the illuminator service in SAP MII.


      Ankit Gupta

      Author's profile photo Matthias Hollstein
      Matthias Hollstein

      Hello Ankit
      yes, of course
      there are a bunch of possibilities to interact in MII with webpages of itself (for example SSCE)

      you can also use more technics then illuminator services for such actions

      the question is, what do you want to do


      Author's profile photo Maria Isabel Sanz Vicente
      Maria Isabel Sanz Vicente


      I have a doubt about the clean transaction cache option in AS Java (http://<server>:<port>/XMII/Illuminator?service=BLSManager&Mode=clearcache) and maybe you can help me. We have added the action XMII_BLSManagerService to one of our custom roles (which has only SAP_XMII_Developer permissions), but the action XMII_BLSManagerService returns an error that the user has not enough permissions.

      Is it not enough with the action XMII_BLSManagerService? If this action is only possible under the role SAP_XMII_Administrator, why can we assign it to a custom role? I mean, if you assign the role SAP_XMII_Administrator to any user you can call the clear cache without any other specific role which has the action XMII_BLSManagerService assigned. I'm a little bit lost and will appreciate your help.