Skip to Content

Internet Transaction Server (ITS) mobile – Developing ITS templates from scratch

ITSmobile is a SAP technology to connect mobile devices to a SAP system in order to run applications based on the widely used Dynpro programming model. In simple terms, it used to run a dynpro-based application on a browser-based mobile device such as a handheld mobile device or forklift.

            mobile devices.jpg

ITSmobile replaces the Web SAPConsole which will be phased out with SAP NW 7.10.

Ø  ITS templates:

ITSMobile features HTML generation of SAP Screens through its Template Generator. The generated HTML acts as a ‘Template’ for further customization as per the flexible user requirements.

Ø  Tools required:

The Application design tools required for developing a Mobile ITS application are:

1.    ABAP development workbench.

2.    Web application Builder (Internet Service creator & HTML template generator).

Ø  Scenarios when ITS templates need to be generated:

1.    In case, you have custom business requirement, you need to create custom programs for it. This is done by creating a module pool program with the required logic considering all the constraints of designing your screens (given below).

2.    A lot of standard transactions like LM00, LM01, LM02, LM27, LM71, etcetera are available for which ITS templates need to be generated, if not already present.

Ø  Custom Development Screen Guidelines for ITS Applications:

1.    Keep the UI simple by design.

2.    Limit the height and width of the screens such as that the mobile device can handle. It is usually around 20 characters by 16 rows.

3.    It is recommended to limit the UI elements to: “Text Box”, “I/O Fields”, “Checkboxes”, “Radio Buttons” and “Pushbuttons”. Frames, Tab strips, Table Controls are not supported.

4.    Do not include any Buttons in GUI Status. Instead, include them on the Screens.
Error/Warning/Status/Information messages should be handled on an output field such as a ‘Textbox’ for displaying only messages. That means, “Message” statement or calling a Function Module to show a popup message / confirmation prompt, should not be used.

Ø  Overview of steps involved in creating ITS templates from scratch:

1.    Create an Internet Service

2.    Create an ICF service for the above Internet Service

3.    Generate ITS templates for each screen.

Example hierarchy of ITS Applications:

Snap48.jpg

Ø  Create an Internet Service:

1.    In SE80, choose Internet service from the dropdown and give an internet service name. 

  Snap14.jpg

2.    Give an internet service name & name of the transaction to be called when running the ITS application. Save it.

Snap15.jpg

Here, ZUK_DEMO is a dialogue transaction for a module pool program.

3.    Give a short text for the internet service.

Snap16.jpg

4.    Give the parameters as follows:

Snap39.jpg

For parameter ‘Transaction’, give the transaction name of the program. Parameter ‘Service’ denotes the name of the ICF service created in Transaction SICF(given below).

  1. Save.

5.    Create template by right clicking on the internet service CREATE->TEMPLATE.

Snap17.jpg

6.    Give the theme as 99, enter the first screen number for which template needs to created and the generating style should be Mobile Devices (without HTML tables). Save.

Snap18.jpg

7.    HTML template gets generated as:

Snap19.jpg

Click on ‘Publish template’.

8.    Right click on the Internet service, select PULISH->COMPLETE SERVICE.

Snap21.jpg

You should get a success message like this:

Snap22.jpg

Ø  Create an ICF Service:

1.    Go to SICF transaction; execute the report to get into the second screen.

2.    Navigate to the path default_host/sap/bc/gui/sap/its and right click and select ‘New sub-element’.

Snap23.jpg

3.    You will get the following message:

Snap24.jpg

Click on the tick .

4.    Give the same Internet service name as given in SE80.

Snap25.jpg

5.    In the service tab for GUI LINK drop down, select YES. In the GUI configuration tab give the following parameters:

Snap53.jpg

6.    In the Logon Data tab choose Procedure as Alternative logon procedure. Delete other types of logon procedures retaining only Fields Authentication.

Snap27.jpg

7.    In the Handler list tab give the class name as CL_HTTP_EXT_ITS.

Snap28.jpg

8.    In the error pages tab, choose the last radio button system login. Click on the configuration button. Click the check boxes: System ID, client, Language. Change the  protocol to ‘Do Not Switch’ & click the checkboxes as per your requirement as shown below:

Give the user specific class as ‘CL_MOBILE_SYSTEM_LOGIN’. Click on the tick.

Snap30.jpg

9.    Save the service, right click and activate it.

Snap31.jpg

Ø  Generate ITS templates for each screen.

1.    In se80, to generate ITS template for each screen of your program (only if it’s not already generated), right click on the screen number -> Go to ‘Create template’. Usually, the HTML template for the first screen gets generated while creating the Internet Service itself.

  Snap50.jpg

2.    Select the service that was created, Theme as 99 & select the Generating style as Mobile devices (Without HTML tables).

Snap34.jpg

3.    An HTML template is generated as shown below:

Snap35.jpg

This is open to any modification to suit the user’s requirements.

4.    Save & publish the template by clicking on ‘Publish Template’ button.

5.    Repeat Steps 1-4 for all the screens of the program. A hierarchy of HTML templates is created as shown below:

Snap37.jpg

Ø  Generating ITS templates for existing transactions:

The HTML templates for the screens of standard transactions are not already available in the system. Here, HTML templates can be generated either by using the default template generator or by creating your own Generation Style.

1.    If you are using the default template generator, you do not have to generate the templates for all the RF screens of standard transactions. All you need to do is, add the parameter ~generateddynpro = 1 in the parameter list of the Internet Service.

generatedDynpro.jpg

This will enable automatic generation of HTML templates for the screens for which they’re not already generated. Also, these screens will have standard SAP look.

            For performance enhancement, it is better if the HTML templates are generated explicitly for each screen of standard TCodes in se80 as shown above.

2.    If you want to create your own template generation style, you need to derive your own class from the existing class CL_ITS_GENERATE_HTML_MOBILE & then while creating the template for each screen, under ‘Generation style’, select your newly-generated style.

Ø  To run the ITS application:

Option 1:

In Transaction SICF, Right click on the service that is created and Test Service.

Snap32.jpg

Option 2:

In se80, Right click on the Internet Service that is created & click on ‘Start Service’.

Snap40.jpg

After asking for the credentials, it will open a webpage and will display the application as seen in a handheld device: 

/wp-content/uploads/2013/01/final_172849.jpg

To report this post you need to login first.

45 Comments

You must be Logged on to comment or reply to a post.

  1. Ahmet Buğra Okyay

    Hi Utkarsha,

    First thanks for this article.I followed all steps but i’ve a any problem.. 😐 An error occurs like this: “ERROR: Template interpretation failed. Template does not exist. (termination: RABAX_STATE)”

    I when use “~GENERATEDYNPRO = 1” code, problem is solved. But, at this time display the toolbar..

    This is screen shot of problem ;

    its_ss.PNG

    Regards, Buğra..

    (0) 
    1. Utkarsha Khadke Post author

      Hi Ahmet Buğra Okyay,

      Are you calling a standard SAP screen?

      Because the HTML template for this screen gets automatically generated(if not already generated) when you specify the parameter “~GENERATEDYNPRO = 1”.

      If it is a standard screen, you will have to manually generate the HTML template for it & remove the code that displays the part you want removed.

      Let me know.


      Thanks,

      Utkarsha

      (0) 
  2. Raja Sekhar

    Hi Utkarsha,

       Thanks for this beautiful document. However, I have one requriement where we need to display a table as well in the output. So I created screen with all fields as requried and table control. Everything working fine except for the Table which is not being displayed and instead some error message is coming at that place saying “Unknown type TABLE for element TC_1”.

        Please advice is there a way to display table controls as well in the output?

    Thanks & Regards,

    Raja Sekhar K

    (0) 
    1. Utkarsha Khadke Post author

      Hi Raja Sekhar,

      Yes. We can display table controls as well. You may check to execute (if you have authorization) the test internet service IAC_TABLE at path /default_host/sap/bc/gui/sap/its/sample/ in transaction SICF. Its a sample for table controls.

      Regards,

      Utkarsha

      (0) 
  3. Manu kumar

    Hi,

    We have used some standard LM series and some custom transactions in RF screen.

    We we access custom transations from RF, it works fine.However when we try to execute LMtransaction from RF, web page gets disabled.

    Do you know why this an happen?

    Thanks

    Manoj

    (0) 
      1. Manu kumar

        Hi Utkarsha,

        Some background.

        We have created Single servie for Custom aand Standard ‘LM’ transactions used in RF menu.

        Now, when I try to test service using SICF, i get  web page which  asks me User name and password.

        After login, RF menu is availale and I can call Custom transactions via Manu. But when I click on a RF menu which is linked to LM tcode, ‘The website cannot display the page’ message is shown.

        Regards,

        Manoj

        (0) 
        1. Utkarsha Khadke Post author

          Hi Manoj,

          Please be sure that you have created templates for ALL the standard LM transaction screens.

          You may access the same RF menu and transaction via SAP console to debug and find out which all screens it navigates through, and then create a template for them respectively.

          For more details, please go through this thread: Getting Error developing ITS mobile for WM RF

          Let me know.

          (0) 
  4. amlan das

    Hi Utkarsha,

    i am also trying to create a service for ITSMOBILE standard application (/AIN/MOBILE2) , i have generated all templates . But i am not finding all the internet service parameter as mentioned by you in above blog(all are not present in F4 help). so i have only maintained 3 parameters , transaction , ~GENERATEDYNPRO, parameters.I have now published the service , it is going for Login page , after that page can not be displayed.

    Regards ,

    Amlan.

    (0) 
    1. Utkarsha Khadke Post author

      Hi amlan das ,

      All the internet service are not available in the F4 help. However, they work as per my experience. You may add them explicitly and try it out.

      Also, please make sure to add the ~Source parameter to specify the service and remove parameter ~generateddynpro since you have already created the templates.

      For more parameter details, you may refer the wiki :Service Parameter and Settings – Wiki – SCN Wiki

      Regards,

      Utkarsha

      (0) 
  5. amlan das

    Thanks Utkarsha Khadke ,

    For this prompt response. But even if i am adding all service parameter i am getting “HTTP page not found error”. I even tested the standard itsmobile01 applications. Only first page is displaying . It is giving error when i try to go to second page. Any idea ?

    Regards ,

    Amlan.

    (0) 
    1. Utkarsha Khadke Post author

      Hi amlan das,

      By first page, do you mean the login page? If not, it is mostly certain that a template for a particular screen is missing.

      If that does not solve your problem, could you please open a new discussion thread and attach a snapshot of your service parameters so that i can understand it better?

      Thanks.

      (0) 
  6. Ruchi Agarwal

    Hi Utkarsha,

    Thanks for such a informative document.

    Could you please help me with this. Customer has made use of this ITSMobile tech and created the web login UI.Now the user access the above url on mobile device, enters his ECC logon credentials. Once authenticated, User sees multiple buttons present on the first screen. One of those is ‘Test’ button. On click on this ‘Test’ button, they are calling one url.Till here it was working fine

    But now, on click of ‘Test’ button, we want to pass the user’s logon credentials appended to this url, e.g, <url>&username=<id>&password<pw>

    Please suggest if there is a way to achieve this.


    Thanks,

    Ruchi

    (0) 
    1. Utkarsha Khadke Post author

      Hello Ruchi,

      Please see this thread: http://scn.sap.com/thread/3676845

      Also, I request you to kindly open a new discussion thread so that we would be able to respond better with images/graphics, just in case. In addition, others would be able to find the apt thread in order to find a solution to their queries as well. Hope that’s okay.

      Let me know.

      Regards,

      Utkarsha

      (0) 
  7. Saravanan Selvaraj

    Hi,

    For the Log Off in the RF Device, it is not completely logging off. After log off and when the user tries to login through the URL, it does not ask the credentials. This happens in the desktop browsers also unless we close all the open browser sessions. how to log off completely?

    Regards

    Saravanan

    (0) 
    1. Utkarsha Khadke Post author

      Hello Saravanan Selvaraj,

      For your internet service, under the tab ‘Logoff page’ (under Error pages), choose to redirect to the standard logoff service and then append a call to your internet service as:  /sap/public/bc/icf/logoff?redirecturl=<your URL>

      If you still dont get it, I request you kindly open a new thread to help others having the same problem.

      Regards,

      Uk

      (0) 
  8. srinivas gs

    Hello Utkarsha,

    Thank you for the detailed presentation. Pretty awesome.

    There is an issue I’m facing currently with the screen size, responsiveness to the resolution, We implemented ITS and when we logon in to the service on a mobile device using IE, the content displayed is too small and the users have to zoom in all the time, when they navigate from one screen to another again it gets tiny they have to zoom in. Have you ever encountered this scenario, is there a way to fix it to make the content fit the screen size which is around 3.7.

    Thank you,

    Srini

    (0) 
      1. Venubabu Divvi

        Hi Utkarsha,

        I developed ITS service it is working in development and quality.But in production menu bar is not coming and buttons also not working.

        I attached Both production and quality screens shots

        First screen shot from production and second screen shot is Form quality

        I checked all config , republised many time and cleared buffer many times it is not working

        Can you please help me on this issue

         

        (0) 
  9. ABAPER P
    Hello   I have developed the Module pool screen and deployed in ITS service.   But when i look  in Its mobile Screen looks disturbed UI is not good   Is there any option or parameters need to be maintained  go get user interface ?
    (0) 
  10. ABAPER P

    Hello   I have developed the Module pool screen and deployed in ITS service.   But when i look  in Its mobile Screen looks disturbed UI is not good

    Please see the below screen shot

    Materiel, Plant input fields are  very small.

    warehouse number  only single digits is visible.

    But When I see SAP screens its looks beautiful.

    (0) 

Leave a Reply