Example: Enhancement that Includes New Fields and Associated Processing

This section provides an example of the process for creating a version of a JD Edwards EnterpriseOne internal business service and then creating a version of the published business service that calls the internal business service version.

This example change involves modifications made at all levels of the business service Java code. This example is approached from the published interface through the internal business service to the JD Edwards EnterpriseOne business function calls. The published business service is JP010020 and the internal business service is J0100021.

Use these steps to create a version of the internal business service and the published business service that calls it:

  1. Determine where the new fields belong in the value object.

    In this example, the top-level published value object is called ProcessCustomer. The fields are related to invoicing information, so the new fields will be updated to the Invoice object.

  2. In JDeveloper, do the following in the value object folder of the business service:

    1. Create a copy of ProcessCustomer and name it ProcessCustomerV2.

    2. Create a copy of Invoice and name it InvoiceV2.

    3. Inside ProcessCustomerV2, change the current member reference from Invoice to InvoiceV2.

    4. Inside ProcessCustomerV2, change all references in mapFromPublishedMethod to InvoiceV2.

  3. Create a new published method.

    1. Copy the existing processCustomer method and paste it at the end of the class.

    2. Change the name of the copy to processCustomerV2.

    3. Within processCustomerV2, change all references to the value object ProcessCustomer to the new value object Process CustomerV2.

  4. Evaluate and change the internal business service.

    1. The new fields must be added to the internal business service, too. You can add the new fields to the internal value object, InternalProcessCustomer, by just adding them as additional members in the class.

    2. Modify CustomerProcessor to pass the new value object fields to CustomerMBF, which is already called. Because these are new non-required fields, it does not matter if they are blank, as they would be called from the existing business service. The processing functions as it always has when fields are blank, and when these new fields are passed in, they will be processed as expected.

  5. Return to the value object ProcessCustomerV2 and add new code to mapFromPublishedMethod that maps the new published value object fields to the new internal value object fields.

  6. Test both the new processCustomerV2 and the original processCustomer methods.