Removing Old Versions Of Product, Class, and Attribute

Siebel customers who are using Customer Order Management module for long time end up with lot of versions of Product, class, and attribute entities in the product catalog. Existing CleanupSingleObject method on ISS Authoring Import Export Service removes all versions except workspace Version. Customers want to retain recent versions rather than removing all versions.

Method RemoveOldReleasedVersions of Business Service SWI Cfg Object Broker removes (deletes or purges) versions of Product, class, and attribute while retaining specified number of versions.

Purging starts from the smallest version number. Purging stops at current active version or when future dated version is found.

Business service returns how many versions were removed, how many versions are remaining and what is the current active version.

Note: When the optional NoCommitFlag field is set to Yes, data is not committed to the database.

Input Arguments

Name Value Comments
ObjType

ISS_PROD_DEF / ISS_CLASS_DEF/

ISS_ATTR_DEF

Required. Object to delete. Product, class, or attribute
ObjNum String

The VOD Id of the object to purge

Either ObjNum or ObjName are required. If both are provided, ObjNum is used.

ObjName String Optional. See above. The VOD Name of the object to purge
NumVersToRetain Integer Required. Number of versions to retain after deletion
NoCommitFlag Yes/No

Optional. Default is Yes.

Yes: Changes are not committed to database. Returns what’s the impact

Output Arguments

Name Comments
VersRemained Versions remaining
VersRemoved Versions removed.
Committed Flag (Y or N) denoting if the data is committed or not.
CurrentActiveVer Current active version number
Comments Returns "Success" if the number of versions deleted is the same as that specified in the input argument, otherwise, it will be "Purging stopped at version {n}, which is the current active version or a future version.”
Versions Versions: A property set that holds the version information, the versions are separated into two sections: Remains and Removed. Information includes: Start Date", "End Date", "Released Flag", "Version", "Active Flag", and "Comments"

Response details for a successful request:

  • HTTP Code: 200
  • Content-Type: application/json
  • Response body:
    {
        "VersRemained": "3",
        "VersRemoved": "0",
        "Committed": "N",
        "CurrentActiveVer": "3",
        "Comments": "Purging stopped at version 3, which is the current active version or a future version.",
        "Versions": [
            {
                "Remains": [
                    {
                        "": [
                            {
                                "Start Date": "09/11/2024 12:15:35",
                                "End Date": "09/17/2024 00:00:00",
                                "Released Flag": "Y",
                                "Version": "3",
                                "Active Flag": "Y",
                                "Comments": ""
                            },
                            {
                                "Start Date": "09/30/2024 00:00:00",
                                "End Date": "",
                                "Released Flag": "Y",
                                "Version": "4",
                                "Active Flag": "Y",
                                "Comments": ""
                            },
                            {
                                "Start Date": "09/17/2024 00:00:00",
                                "End Date": "09/30/2024 00:00:00",
                                "Released Flag": "Y",
                                "Version": "5",
                                "Active Flag": "Y",
                                "Comments": ""
                            }
                        ]
                    }
                ],
                "Deleted": []
            }
        ]
    }