The problem

You are writing a façade method which needs to insert a new row onto a database table.

Under classic Cúram, you would have created a call to the generated "entity" method as follows:

Figure 1. Façade calling classic Cúram entity to create a database row
// ...
  public SomeEntityKey createSomeEntityDetails(
    final SomeEntityDetails details)
      throws AppException, InformationalException {

    // create an instance of the return struct
    final SomeEntityKey key = new SomeEntityKey();

    // objects for writing to the database
    final SomeEntity someEntityObj =
      SomeEntityFactory.newInstance();
    final SomeEntityDtls someEntityDtls;

    // map the details
    someEntityDtls = details.details;

    // do the insert
    someEntityObj.insert(someEntityDtls);

    // check for informational exceptions
    TransactionInfo.getInformationalManager().failOperation();

    // map the key assigned
    key.someEntityID = someEntityDtls.someEntityID;

    // return to the client
    return key;
  }

  // ...

How do you insert a new row onto a database table using a service-layer API (developed using the Persistence Infrastructure)?