The post would share some enhancement solutions for authorization check of BOPF framework. I'm simply opening the subject for experience sharing.
Solution 1.Create the custom authorization check class
The table "/SCMTMS/I_OBM_BO" maintained the authorization check class.
Create a class inherited the super class "/SCMTMS/CL_AC_SUPER". Maintain the custom class in the table.
Extend the grobal varient "MT_AC_ADM" in method "CONSTRUCTOR" can achieve the enhancement.
Solution 2.Implement the method "EXTEND_AC_ADM"of BAdI "/SCMTMS/AC_BADI".
Solution 3.Assign the authorization object to the BOPF node.(The solution is available in SAP Business Suite Foundation 7.47 SP03)
Launch transaction BOBX and mark the check box "Business Object has Authorization checks".
Select the root node and mark the check box "Node has own checks". The system proposes the library class /BOBF/CL_LIB_AUTHORITY_CHECK.
Assing the authorization object for BO.
The solutions can control the node/subnode authorization base on the fields of node/subnode.
Eg: Manage the display/edit authorization of charge base on the forwarding order type.