now I want to share with you difference between RowInserting and RowInserted events.
The RowInserting event happens before the new data record is actually inserted into the cache but after all field events happen for this data record. The RowInserted event happens after the actual insertion. If you change the data fields of the data record that you insert in a RowInserting event handler, no field events will be raised for these data fields. You use the RowInserted event to do something after a data record is inserted into the cache. For example, you can use a RowInserted event handler of the master data record to add a default detail data record.
Sample of RowInserting:
protected virtual void APAdjust_RowInserting(PXCache sender, PXRowInsertingEventArgs e)
Sample of RowInserted
protected virtual void APAdjust_RowInserted(PXCache sender, PXRowInsertedEventArgs e)
The main purpose of RowInserted IMHO is to add default details to data record