You can get every possible data using just one function module called
ISU_STRUCTURE_READ. The trick is, you have to place the table connections into tables parameter
XT_PATH and fill the corresponding "kick-off" table parameter. Let's have an example. We want to have contract account, contract (billable service), and installation data to a specified BP.
data: xt_path type EFKKPATH occurs 0 with header line,
iekun TYPE line of ISU01_EKUN_TAB occurs 0 with header line,
ifkkvkp like FKKVKP1 occurs 0 with header line,
iever like ever occurs 0 with header line,
ieanl like v_eanl occurs 0 with header line.
refresh xt_path.
xt_path-tabfrom = 'EKUN'. xt_path-tabto = 'FKKVKP'.
append xt_path.
xt_path-tabfrom = 'FKKVKP'. xt_path-tabto = 'EVER'.
append xt_path.
xt_path-tabfrom = 'EVER'. xt_path-tabto = 'EANL'.
append xt_path.
iekun-partner = your business partner.
append iekun.
CALL FUNCTION 'ISU_STRUCTURE_READ'
EXPORTING
X_AB = sy-datum
X_BIS = sy-datum
TABLES
XT_PATH = xt_path
T_EANL = ieanl
T_EKUN = iekun
T_EVER = iever
T_FKKVKP = ifkkvkp
EXCEPTIONS
PATH_INVALID = 1
DATE_INVALID = 2
SELECTION_FAILED = 3
OTHERS = 4.
Table connections also work the other way (e.g. from installation to BP). Check the possible connections in the source code of the FM. Form
INIT_ALL, lines starting with
MAC_LINK_APP.