ANNEX II

The following Annex XIa is inserted to Regulation (EC) No 2216/2004:

‘ANNEX XIaProcesses concerning automatic national allocation plan table changes

1.

In accordance with Articles 17(3) and 44(2), registries may propose to the Community independent transaction log to check and implement an automatic change to the national allocation plan through a process described in this Annex.

Requirements for each process

2.The following message sequence for processes concerning automatic national allocation plan table changes shall apply:

  1. (a)

    the registry administrator shall initiate the automatic national allocation plan table change process by assigning a unique correlation identification code comprising the elements set out in Annex VI to its request;

  2. (b)

    the registry administrator shall call the appropriate operation on the Community independent transaction log automatic national allocation plan table change Web service;

  3. (c)

    the Community Independent Transaction Log shall validate the request by calling the appropriate validation function within the Community Independent Transaction Log;

  4. (d)

    if the request is successfully validated and thereby accepted, the Community Independent Transaction Log shall amend the information it holds in accordance with that request;

  5. (e)

    the Community Independent Transaction Log shall call the “receiveNapManagementOutcome” operation on the automatic national allocation plan table change Web service of the registry which sent the request, notifying the registry as to whether the request was successfully validated and thereby accepted, or whether the request was found to contain a discrepancy and was thereby rejected;

  6. (f)

    if the request was successfully validated and thereby accepted, the registry administrator which sent the request shall amend the information held in the registry in accordance with that validated request; otherwise, if the request was found to contain a discrepancy and was thereby rejected, the registry administrator which sent the request shall not amend the information held in the registry in accordance with that rejected request.

3.

Provided that automatic national allocation plan table change processes are directed through the UNFCCC independent transaction log, a registry administrator sending a request should receive an acknowledgement of receipt from the UNFCCC independent transaction log within 60 seconds, and should receive a notification of validation from the Community independent transaction log within 24 hours. In all other cases, a registry administrator sending a request should receive an acknowledgement of receipt from the Community independent transaction log within 60 seconds, and should receive a notification of validation from the Community independent transaction log within 24 hours;

4.The components and functions which are utilised during the message sequence are shown in table XIa-1 to XIa-6. The inputs of all functions have been structured to match the format and informational requirements described using web services description language, set out in the functional and technical specifications for data exchange standards for registry systems under the Kyoto Protocol, elaborated pursuant to Decision 24/CP.8 of the Conference of the Parties to the UNFCCC. An asterisk “(*)” has been used to denote the fact that an element can appear multiple times as an input.

Table XIa-1:Components and Functions for Processes concerning automatic national allocation plan table changes

Component

Function

Scope

NAPTableManagementWS

AddNEInstallationtoNAP()

Public

IncreaseNAPallocationtoNEInstallation()

Public

RemoveNAPallocationofclosingInstallation()

Public

Table XIa-2:NAPTableManagementWS Component

Purpose

The purpose of this component is to handle web service requests for the management of automatic changes to the national allocation plan table

Functions exposed through Web Services

AddNEInstallationtoNAP()

Handles the requests for adding new entrant new installations to the national allocation plan table

IncreaseAllocationtoNEInstallationinNAP()

Handles the requests for increasing the allocation in the national allocation plan table of existing installations that are new entrants

RemoveNAPallocationofclosingInstallation()

Handles the requests for removing the allocation from the national allocation plan table of installations that are closing

Other functions

Not applicable.

Roles

Community independent transaction log (for all functions) and registry (for the receiveNapManagementOutcome function only)

Table XIa-3:NAPTableManagementWS.AddNEInstallationtoNAP() function

Purpose

This function receives a request for adding a new entrant new installation to the national allocation plan table. The allowances allocated for the years before the current year will have a value of zero. If the new entrant new installation does not receive an allocation, the amount of allowances will have a value of zero. If the new entrant new installation does receive an allocation, the reserve is reduced by an equivalent quantity.

The Community independent transaction log authenticates the initiating registry (Originating Registry) by calling the AuthenticateMessage() function and checks the version of the initiating registry by calling CheckVersion() function.

If authentication and version checks pass, a “1” result identifier is returned without any response codes, the contents of the request are written to a file by calling the WriteToFile() function and the request is put in a queue.

If authentication or version checks fail, a “0” result identifier is returned together with a single response code indicating the error cause.

The “PermitIdentifier” means the permit identification code comprising the elements set out in Annex VI.

Input parameters

From

Mandatory

To

Mandatory

CorrelationId

Mandatory

MajorVersion

Mandatory

MinorVersion

Mandatory

InitiatingRegistry

Mandatory

CommitmentPeriod

Mandatory

NewValueofReserve

Mandatory

Installation (*)

Mandatory

PermitIdentifier

Mandatory

InstallationIdentifier

Mandatory

Allocation (*)

Mandatory

YearinCommitmentPeriod

Mandatory

AmountofAllowances

Mandatory

Output parameters

Result Identifier

Mandatory

Response Code

Optional

Uses

  • AuthenticateMessage

  • WriteToFile

  • CheckVersion

Used By

Not applicable (called as a web service).

Table XIa-4:NAPTableManagementWS.IncreaseAllocationtoNEInstallationinNAPIncreaseallocationtoNEInstallationinNAP() function

Purpose

This function receives a request for increasing the allocation of installations already existing in the national allocation plan table that are considered new entrants. The allowances allocated for the years before the current year won’t be modified. The reserve is reduced by a quantity that is equivalent to the quantity allocated in this process.

The Community independent transaction log authenticates the initiating registry (Originating Registry) by calling the AuthenticateMessage() function and checks the version of the initiating registry by calling CheckVersion() function.

If authentication and version checks pass, a “1” result identifier is returned without any response codes, the contents of the request are written to a file by calling the WriteToFile() function and the request is put in a queue.

If authentication or version checks fail, a “0” result identifier is returned together with a single response code indicating the error cause.

Input parameters

From

Mandatory

To

Mandatory

CorrelationId

Mandatory

MajorVersion

Mandatory

MinorVersion

Mandatory

InitiatingRegistry

Mandatory

CommitmentPeriod

Mandatory

NewValueofReserve

Mandatory

Installation (*)

Mandatory

InstallationIdentifier

Mandatory

Allocation (*)

Mandatory

Yearincommitmentperiod

Mandatory

AmountofAllowances

Mandatory

Output parameters

ResultIdentifier

Mandatory

ResponseCode

Optional

Uses

  • AuthenticateMessage

  • WriteToFile

  • CheckVersion

Used By

Not applicable (called as a web service).

Table XIa-5:NAPTableManagementWS RemoveNAPallocationofclosingInstallation() function

Purpose

This function receives a request for removing installations existing in the national allocation plan table. The allowances yet unallocated will be deleted and an equivalent quantity of allowances will be added to the reserve.

The Community independent transaction log authenticates the initiating registry (Originating Registry) by calling the AuthenticateMessage() function and checks the version of the initiating registry by calling CheckVersion() function.

If authentication and version checks pass, a “1” result identifier is returned without any response codes, the contents of the request are written to a file by calling the WriteToFile() function and the request is put in a queue.

If authentication or version checks fail, a “0” result identifier is returned together with a single response code indicating the error cause.

Input parameters

From

Mandatory

To

Mandatory

CorrelationId

Mandatory

MajorVersion

Mandatory

MinorVersion

Mandatory

InitiatingRegistry

Mandatory

CommitmentPeriod

Mandatory

NewValueofReserve

Mandatory

Installation (*)

Mandatory

InstallationIdentifier

Mandatory

Output parameters

Result Identifier

Mandatory

Response Code

Optional

Uses

  • AuthenticateMessage

  • WriteToFile

  • CheckVersion

Used By

Not applicable (called as a web service).

Table XIa-6:NAPTableManagementWS receiveNapManagementOutcome () function

Purpose

This function receives a NAP management operation outcome.

The initiating registry (Originating Registry) authenticates the UNFCCC independent transaction log (or Community independent transaction log if all processes referred to in Annex VIII are directed through Community independent transaction log and thereon to the UNFCCC independent transaction log) by calling the AuthenticateMessage() function and checks the version of the transaction log by calling CheckVersion() function.

If authentication and version checks pass, a “1” result identifier is returned without any response codes, the contents of the request are written to a file by calling the WriteToFile() function and the request is put in a queue.

If authentication or version checks fail, a “0” result identifier is returned together with a single response code indicating the error cause.

The response code list is populated with couples (a response code with possibly a list of installation identifiers) if the outcome is “0” for any other cause of error.

Input parameters

From

Mandatory

To

Mandatory

CorrelationId

Mandatory

MajorVersion

Mandatory

MinorVersion

Mandatory

Outcome

Mandatory

Response List

Optional

Output parameters

Result Identifier

Mandatory

Response Code

Optional

Uses

  • AuthenticateMessage

  • WriteToFile

  • CheckVersion

Used By

Not applicable (called as a web service).

Table XIa-7:Processes concerning NAP Table changes

Process description

Community independent transaction log response codes

NAPTableManagementWS.AddNEInstallationtoNAP

7005, 7122, 7125, 7153, 7154, 7155, 7156, 7159, 7215, 7451, 7452, 7700, 7701, 7702, 7703, 7704

NAPTableManagementWS.IncreaseallocationtoNEInstallationinNAP

7005, 7153, 7154, 7155, 7156, 7159, 7207, 7451, 7452, 7700, 7701, 7702, 7703, 7705

NAPTableManagementWS

RemoveNA PallocationofclosingInstallation

7005, 7153, 7154, 7155, 7156, 7159, 7207, 7451, 7700, 7706

5.

If all the checks have been passed successfully, the Community independent transaction log automatically implements the national allocation plan table change into its database and informs the registry administrator and the Central Administrator thereof.’.