We need to add 2 new fields EFFECTIVE_START_DATE and EFFECTIVE_END_DATE to the table POS_BUS_CLASS_ATTR. I thought of doing VO Extension for BusClassVO1 for 2 additional columns. But I don’t see a create item in the personalize Business Classification Table from UI to add 2 new columns. What’s the best way to have 2 fields added here?
The VO path is – oracle.apps.pos.supplier.server.BusClassVO
Navigation is Payables Super User -> Supplier -> Entry -> Search for a Supplier – > Business Classification
|
There are two columns already that may fits your need.
START_DATE_ACTIVE
Date when the classification becomes active for the supplier
END_DATE_ACTIVE
Date when the classification becomes inactive for the supplier
However, if you need to capture more additional informations in any standard tables, Oracle recommended to capture those additional information through out a DFF attributes. In this table you have 5 addition attributes to use them. Therefore, Oracle not recommended to add any additional physical columns on any standard table.
Thank you. Our business wants user editable fields. So it has to be stored in new fields in DFF.
The view that is behind this business classification table is BusClassVO. But I don’t see an EO being associated with it to save the changes. How do I proceed there?
Also even if I extend the VO/EO, is it okay to save the dates in DFF which are varchar?
I see START_DATE_ACTIVE and END_DATE_ACTIVE are auto populated based on when the classifications are made active/inactive. That’s why I was seeing for the option of DFF.
Firstly, It’s ok to use dates in varchar attributes; that’s why Oracle makes it varchar to accept multiple data types in the form of character, and later on, we can deal with it by converting that to date or number.
The second point is the VO; try to look into this VO instead of the ones you were looking at
oracle.apps.pos.supplier.server.BCAttrVO oracle.apps.pos.supplier.server.BCAttrEO
This one is updateable VO.
Finally, you can add one of the general attributes that exist on the POS_BUS_CLASS_ATTR table
by extending above VO and making this field updatable.
BusClassVO is used to show the fields in the Business Classification Page. So I extended the BusClassVO to include Attribute1 and Attribute2 from POS_BUS_CLASS_ATTR. After personalization these fields do show up now in UI, but whatever I enter in these new fields isn’t saved.
When the Save button is clicked in that Business Classification page, it invokes a method saveBusClass from oracle.apps.pos.supplier.server.ByrSuppAMImpl.
Inside saveBusClass after some validation it’s calling modifyBusClass. It calls addBusClassAttr or updBusClassAttr depending upon new data or existing data.
These classes then call the package POS_SUPP_CLASSIFICATION_PKG.add_bus_class_attr/ POS_SUPP_CLASSIFICATION_PKG.update_bus_class_attr to make DML operation.
And these packages doesn’t have any of the Attribute columns as their inbound parameters. Also what I noticed is the package is simply updating those attribute column values to null. So how do I proceed here to update the attribute columns now?
You went in-depth, and to reach this point, I believe it’s better to log SR with Oracle to ask them if they have something else (I doubt) or to get a confirmation that these attributes are used as DFF attributes. They are updatable through the backend without any other impact.
If they verified to update these columns, you could do that by extending the controller to do the job on your own.