Junior,
FYI these are NOT Transaction tables. They are a mix of master tables and master child tables.
F4101 - Item Master
F4102 - Item Branch Master
F3002 - Standard Bill of Material
F3003 - Standard Routings
F4801 - Work Order Master
F3111 - Work Order Parts List
F3112 - Work Order Routing
If by "Auditing" you mean recording every Add, Change, Delete to each of these tables them yes, we do that.
We have a database triggers set up to record changes into separate audit tables for each of the above (and other tables). We looked at the CFR method JDE provides and found it to be over complicated.
We just created F55xxxxL tables (such as F554101L) that the data base triggers write after images into. Then we created very simple JDE apps that can query these tables and linked the appropriate standard JDE apps to the Audit apps. So for example in Item Master Maintenance I can row exit on a Item to see the history of changes to that item.
Performance has not been an issue. However space can be. Certain UBE's that may run frequently and update a table you may want to filter out. Example: Lead Time Rollup that runs every night here updates every F4102 record whether there's a change or not, so we have the database trigger filter out changes such as those.
Here's a example trigger on changes to the F4102 table:
CREATE OR REPLACE TRIGGER F4102_WAGAUD_T2 BEFORE
UPDATE ON "F4102" REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
WHEN ( new.IBITM > 0 AND NOT TRIM(new.IBPID) IN ('P30201','R3482','R30822A','ER43990','R42995','EP3111','ER31410','P5541005','EP41413','EP4112','EP31113','EP4113','EP4312','EP4114','EP4205','EP4210','EP3002','EP48013','EP31225','EP3411') )
BEGIN
INSERT INTO F554102L VALUES
('CHG',
:new.IBLITM,:new.IBSRP1,:new.IBSRP2,:new.IBSRP3,
:new.IBSRP4,:new.IBSRP5,:new.IBSRP6,:new.IBSRP7,:new.IBSRP8,
:new.IBSRP9,:new.IBSRP0,:new.IBPRP1,:new.IBPRP2,:new.IBPRP3,
:new.IBPRP4,:new.IBPRP5,:new.IBPRP6,:new.IBPRP7,:new.IBPRP8,
:new.IBPRP9,:new.IBPRP0,:new.IBVEND,:new.IBANPL,:new.IBBUYR,
:new.IBGLPT,:new.IBROPI,:new.IBROQI,:new.IBRQMX,:new.IBRQMN,
:new.IBWOMO,:new.IBSAFE,:new.IBCKAV,:new.IBIFLA,:new.IBSTKT,
:new.IBLNTY,:new.IBCYCL,:new.IBINMG,:new.IBTX,:new.IBTAX1,
:new.IBMPST,:new.IBMERL,:new.IBLTLV,:new.IBLTMF,:new.IBLTCM,
:new.IBOPC,:new.IBOPV,:new.IBACQ,:new.IBMLQ,:new.IBLTPU,
:new.IBMPSP,:new.IBMRPP,:new.IBITC,:new.IBMTF1,:new.IBMTF2,
:new.IBMTF3,:new.IBTIMB,:new.IBMULT,:new.IBUSER,:new.IBPID,
:new.IBJOBN,:new.IBUPMJ,:new.IBTDAY,
TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS'),:new.IBMCU,
:new.IBITM,:new.IBORIG,:new.IBSRCE,:new.IBBACK,:new.IBSHCM,
:new.IBCARS,:new.IBCARP,:new.IBSHCN,:new.IBSRNR,:new.IBECO,
:new.IBECTY,:new.IBECOD,:new.IBMOVD,:new.IBQUED,:new.IBSETL,
:new.IBURCD,:new.IBURDT,:new.IBURAT,:new.IBURAB,:new.IBURRF,
:new.IBPEFD,:new.IBSCPSELL);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;