Patent ID: 9658845
Date: 2017-05-23
CPC Classifications: G06F

Claim:
1. A non-transitory computer-readable storage medium storing computer-readable instructions thereon, which when executed by a computer, cause the computer to: receive a new version of a provider's program, wherein a current version of the provider's program comprising used objects is used in a customized program, the customized program comprising the provider's program plus one or more additional features added to the provider's program or one or more modifications to existing features of provider's program for a customer that are not included in provider's program for all customers, and wherein contracts are assigned to the current version of the provider's program and to the used objects, and wherein the contracts comprise information to describe content of the current version of the provider's program with the used objects and relations of the used objects to other objects from the customized program, and wherein the new version of the provider's program comprises modified versions of one or more of the used objects in the current version of the provider's program; compare the new version of the provider's program with the contracts assigned to the current version of the provider's program and to the used objects; based on the comparison, detect one or more modifications in a set of used objects from the current version of the provider's program; identify a type of the one or more modifications, wherein the type of the one or more modifications is selected from the group consisting of compatible, incompatible, and irrelevant; generate a where-used objects list with a set of objects from the current version of the provider's program used in the customized program, wherein the set of objects from the current version of the provider's program used in the customized program includes set of used objects comprising the detected one or more modifications; generate the contracts during a first copy of the provider's program in the customized program and store the contracts in a where-used object unit; regenerate the contracts when at least one of a request to adopt, a request to adjust, and a request to ignore the detected one or more modifications is received; provide a navigational link in the where-used objects list to the set of objects in the customized program; receive a request to adopt a first modification from the detected one or more modifications in the customized program, when the identified type of the one or more modifications is compatible; receive a request to adopt and adjust a second modification from the detected one or more modifications in the customized program, when the identified type of the one or more modifications is incompatible; and receive a request to ignore a third modification from the detected one or more modifications in the customized program, when the identified type of the one or more modifications is irrelevant.