Show TOC

Changing HTML TemplatesLocate this document in the navigation structure

Use

When communicating using the ICF, all incoming HTTP requests are initially handled by the ICF handler. Only after the logon to the SAP system by the ICF, the HTTP request is passed to the ITS handler. Thus the syntax of an ICF-based URL differs from the present form.

This means that all locations in the HTML templates, in which URL generation is used, if required, must be adapted to the new syntax.

Process

Adapting the URL Generation in the HTML Templates

HTML Business Construction for Standalone ITS

HTML Business Construction for Integrated ITS

Note

`urlwgate`?~service=bbpstart

`urlwgate`/bbpstart/!

ICF does not know a specification of the service name with parameter ~service. You must replace it according to the syntax.

`urlwgate`/bbpstart/!?~client=300 &~login=otto&~language=DE

`urlwgate`/bbpstart/!?sap-client=300&sap-user=otto&sap-language=DE

The logon parameters must be replaced by the ICF-conform variants. These are sap-language, sap-client, sap-user, sap-alias, and sap-password. Specific parameters of the standalone ITS for load balancing, for example, ~messageserver or ~logingroup, are ignored by the ICF because load balancing is executed at a different location.

`urlwgate`/bbpstart/!?

`urlwgate`/bbpstart/!?

If no logon parameters are specified, the call for starting a new service is identical. However, note that for the integrated ITS the service parameters for all called services must be maintained (see also Maintaining ITS Service Parameters), since they cannot be read from the *.srvc file.

ICF Alias Concept

The generic ITS handler of the integrated ITS also supports the alias concept of the ICF (see also External Aliases or Internal Aliases). If an ITS service is started using an alias, the alias name is set in the ITS parameters ~urlwgate and ~servicealias and in the function wgateURL(). The ~service parameter as usual contains the service name.

Note

Do not set the alias name directly on the service name but on the parent node, because otherwise, when calling another service, this service must know the alias.

Example

Services:

/sap/bc/gui/sap/its/bbpstart

/sap/bc/gui/sap/its/bbpgo

/sap/bc/gui/sap/its/bbpend

ICF Alias:

/sap/bbp -> /sap/bc/gui/its

/sap/bbp is an external alias on the path /sap/bc/gui/sap/its. The alias does not point directly to a service but to the parent node. The ITS handler has set ~urlwgate=/sap/bbp. If you want to start the service bbpgo, you can address it with `~urlwgate`/bbpgo in HTMLBusiness. Because all services have set the same alias, the alias itself is not visible for the application.

Caution

ICF supports alias names while the standalone ITS does not support this function. If you want to keep your templates compatible to the standalone ITS, do not convert to alias names or use the parameter ~servicealias to distinguish between coding for integrated and standalone ITS. The parameter ~servicealias is not set in the standalone ITS.

ICF Session ID Handling

The ICF session ID is included in the ICF URL. URLs, in which no session ID is specified, always start a new session.

Example
  • sap(icf-sessionid)/bc/gui/sap/its/webgui

    ICF checks the validity of the session ID and sends the request to the existing session.

  • /sap/bc/gui/sap/its/webgui

    Starts a new session for service webgui.

For ITS services applies: function wgateURL() generates a URL with ICF session ID, while the ~urlwgate parameter contains a URL without ICF session ID. This behavior is the same as in the standalone ITS.

Example
  • If you want to start a new service in its own session, use parameter ~urlwgate to construct the URL in HTMLBusiness.

  • If you want to build URLs called within a session, use function wgateURL().

Result

The ITS templates are now adapted to the use as ICF service, as far the URL generation is concerned.

In the next step, you must Publish ITS Services.