Software Delivery Error: Item has already been ordered to be installed, or item is being installed, using this Procedure. [SDM223608]
search cancel

Software Delivery Error: Item has already been ordered to be installed, or item is being installed, using this Procedure. [SDM223608]

book

Article ID: 116592

calendar_today

Updated On:

Products

CA Client Automation - IT Client Manager CA Client Automation CA Client Automation - Software Delivery

Issue/Introduction

When attempting to deliver a software package, the following error message is observed:

Item has already been ordered to be installed, or item is being installed, using this Procedure. [SDM223608]

Environment

Client Automation (ITCM) -- any version.

Cause

This error occurs when another job container exists, that contains the application of the same software package, to the same agent.  It is also possible, that if no such job container exists, that the condition exists in the database, and requires manual cleanup.

Resolution

Start with the assumption that there exists an existing job container, that is attempting to apply the same software package, to the same agent.  If one is found, you can choose to terminate it, in favor of creating a new container, or let the job container continue to be executed.  Software delivery will not allow you to create more than one job container, to apply the same package, to the same agent.

However, if after reviewing each job container on the domain manager, there is truly no container that contains the application of this software package, to the same agent (or group of agents), then you can use the following steps to clear this condition from the database:

1- Query the objectid of the software package:
select objectid, itemname, itemversion from usd_rsw where itemname='Package Name'

2- Using the objectid from above, query all procedures associated with the package, and locate the objectid of the procedure you pushed, to cause the error:
select * from usd_actproc where rsw=<objectid from above query #1>

Note: The result will have multiple records.  Be sure to choose the objectid that matches the procedure you are attempting to push to the target agent.

3- Using the objectid from above (#2), check if this query returns any records:
select * from usd_applic where activity=0x0 and actproc=<objectid from above #2> and status not in (4,5,6,9,10,13,14,15)

The above query shows existing applications (usd_applic), that are not associated with any activity (activity=0x0, a reference to the usd_activity table), and has a status code that indicates the job is in-progress.

4- Change the SELECT query, to a DELETE query, to remove these records:
delete from usd_applic where activity=0x0 and actproc=<objectid from above #2> and status not in (4,5,6,9,10,13,14,15)

5- Recreate the job container, and now the job should build, as expected.

Additional Information

For more information on the ITCM database schema, refer to this link:
https://support.ca.com/phpdocs/0/common/impcd/r11/MDBMain/schema/viewer/index.htm

Additionally, here is the list of status codes, for the column in usd_applic:
0    UNDEFINED
1    WAITING
2    DELIVERY_ORDERED
3    DELIVERING
4    DELIVERY_OK
5    DELIVERY_ERROR
6    ALREADY_DELIVERED
7    EXECUTION_ORDERED
8    EXECUTING
9    EXECUTION_OK
10    EXECUTION_ERROR
11    UNDELIVERY_ORDERED
12    UNDELIVERING
13    UNDELIVERY_OK
14    UNDELIVERY_ERROR
15    ALREADY_INSTALLED
16    MANIPULATION_NOT_ALLOWED
17    DELIVERY_SUSPEND_ORDERED
18    DELIVERY_SUSPEND_INPROGRESS
19    DELIVERY_SUSPENDED
20    DELIVERY_RESUME_ORDERED
21    DELIVERY_RESUME_INPROGRESS
22    UNDELIVERY_SUSPEND_ORDERED
23    UNDELIVERY_SUSPEND_INPROGRESS
24    UNDELIVERY_SUSPENDED
25    UNDELIVERY_RESUME_ORDERED,
26    UNDELIVERY_RESUME_INPROGRESS
27    EXECUTION_ORDER_STAGED