Unlike settype, relationship does not have a dedicated read function module maintained in its metadata table. Instead, the generic read function module COM_IL_DB_READ is used.
Below is a simple explanation about each parameter of FM COM_IL_DB_READ, using read on relationship PRDCPN for example.
# IV_RELTYPE
PRDCPN - relationship name
# IV_ATTR_TYPE
COMT_IL_PRDCPN_ATTR_TYPE - contains relationship specific business data, in this example, the customer product id is stored in field PRID_VENDOR
# IT_LINK_IDENTS
sourceguid or destiguid contains product guid. This will be used by the generic read API to select against DB table using OPEN SQL.
The exporting parameter:
# ET_INTERLINKAGE - relationship header data - generic data
# ET_IL_ATTR
Relationship specific data, in this example, PRID_VENDOR, stores the detail value.
# Approach1
If we can enhance COM_IL_DB_READ, we then redirect the read from CRM relationship storage table to S4 relationship storage table.
Since it is not allowed to enhance SAP_ABA function module, we have to consider CDS view redirect.
Further research is needed here: compare the structure of both storage table in CRM and S4 and evaluate whether view direct is feasible or not.
# Approach2
Since we can only make changes on BBPCRM, we have to copy the whole implementation which are in SAP_ABAP listed below into new function & subroutine, make needed changes ( table redirect ) and let FORM UI_GETDETAIL call those new implementations. This approach takes huge effort.