Multilevel insert allows a single synchronization to execute a chain of related insert operations.
Consider creating a Customer and a new Customer order at the same time on the client side, where the SalesOrder has a reference to the new Customer identifier. The following example demonstrates a multilevel insert:
Customer customer = new Customer(); customer.setFname(“firstName”); customer.setLname(“lastName”); customer.setPhone(“777-8888”); customer.save(); SalesOrder order = new SalesOrder(); order.setCustomer(customer); order.setOrder_date(new java.util.Date()); order.setRegion("Eastern"); order.setSales_rep(102); customer.getOrders().add(order); //Both the child and parent MBO must call save() order.save(); //Must submit parent ...
To insert an order for an existing customer, first find the customer, then create a sales order with the customer ID retrieved:
Customer customer = Customer.findById(101); SalesOrder order = new SalesOrder(); order.setCustomer(customer); order.setOrder_date(new java.util.Date()); order.setRegion("Eastern"); order.setSales_rep(102); customer.getSalesOrders().add(order); order.save(); customer.submitPending();
See the Sybase Unwired Platform online documentation for specific multilevel insert requirements.