SAP ARO_WRITE_ARO_TABLES Function Module for Insert, Update and Delete ARO database data
ARO_WRITE_ARO_TABLES is a standard aro write aro tables SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Insert, Update and Delete ARO database data processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for aro write aro tables FM, simply by entering the name ARO_WRITE_ARO_TABLES into the relevant SAP transaction such as SE37 or SE38.
Function Group: ARO_WRITE_DATA
Program Name: SAPLARO_WRITE_DATA
Main Program: SAPLARO_WRITE_DATA
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update: 1

Function ARO_WRITE_ARO_TABLES pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'ARO_WRITE_ARO_TABLES'"Insert, Update and Delete ARO database data.
EXPORTING
* IT_OBLIGATION_DEL = "Obbligations General
* IT_ARO_HDR_AP_DEL = "Header
* IT_ARO_HDR_AP_INS = "Header
* IT_ARO_HDR_AP_UPD = "Header
* IT_ARO_TA_AP_DEL = "Accounting principle specific amounts per process
* IT_ARO_TA_AP_INS = "Accounting principle specific amounts per process
* IT_ARO_TA_AP_UPD = "Accounting principle specific amounts per process
* IT_ARO_TA_CALC_DEL = "Calculation steps at cost estimation level
* IT_ARO_TA_CALC_INS = "Calculation steps at cost estimation level
* IT_ARO_TA_CALC_UPD = "Calculation steps at cost estimation level
* IT_ARO_TA_PLAN_DEL = "Cost estimation plan at ARO transaction level
* IT_OBLIGATION_INS = "Obbligations General
* IT_ARO_TA_PLAN_INS = "Cost estimation plan at ARO transaction level
* IT_ARO_TA_PLAN_UPD = "Cost estimation plan at ARO transaction level
* IT_ARO_TA_CF_DEL = "Accounting principle specific data at ARO transaction level
* IT_ARO_TA_CF_INS = "Accounting principle specific data at ARO transaction level
* IT_ARO_TA_CF_UPD = "Accounting principle specific data at ARO transaction level
* IT_ARO_TA_LAY_DEL = "Acc. principle specific data at cost estimation layer level
* IT_ARO_TA_LAY_INS = "Acc. principle specific data at cost estimation layer level
* IT_ARO_TA_LAY_UPD = "Acc. principle specific data at cost estimation layer level
* IT_ARO_TA_SCALC_DEL = "Simulated calculation steps at cost estimation level
* IT_ARO_TA_SCALC_INS = "Simulated calculation steps at cost estimation level
* IT_OBLIGATION_UPD = "Obbligations General
* IT_ARO_TA_SCALC_UPD = "Simulated calculation steps at cost estimation level
* IT_ARO_TA_SCF_DEL = "Simulated cash flow data for ARO transactions
* IT_ARO_TA_SCF_INS = "Simulated cash flow data for ARO transactions
* IT_ARO_TA_SCF_UPD = "Simulated cash flow data for ARO transactions
* IT_ARO_TA_SLAY_DEL = "Simulated data for cost estimation layers
* IT_ARO_TA_SLAY_INS = "Simulated data for cost estimation layers
* IT_ARO_TA_SLAY_UPD = "Simulated data for cost estimation layers
* IT_OBL_INDEX_DEL = "Obligation Index Table
* IT_OBL_INDEX_INS = "Obligation Index Table
* IT_OBL_INDEX_UPD = "Obligation Index Table
* IT_ARO_HDR_DEL = "Asset Retirement Obligation Header
* IT_ARO_HDR_INS = "Asset Retirement Obligation Header
* IT_ARO_HDR_UPD = "Asset Retirement Obligation Header
* IT_ARO_TA_DEL = "ARO transactions
* IT_ARO_TA_INS = "ARO transactions
* IT_ARO_TA_UPD = "ARO transactions
IMPORTING Parameters details for ARO_WRITE_ARO_TABLES
IT_OBLIGATION_DEL - Obbligations General
Data type: ARO_TT_OBLIGATIONOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_HDR_AP_DEL - Header
Data type: ARO_TT_ARO_HDR_APOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_HDR_AP_INS - Header
Data type: ARO_TT_ARO_HDR_APOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_HDR_AP_UPD - Header
Data type: ARO_TT_ARO_HDR_APOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_AP_DEL - Accounting principle specific amounts per process
Data type: ARO_TT_ARO_TA_APOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_AP_INS - Accounting principle specific amounts per process
Data type: ARO_TT_ARO_TA_APOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_AP_UPD - Accounting principle specific amounts per process
Data type: ARO_TT_ARO_TA_APOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_CALC_DEL - Calculation steps at cost estimation level
Data type: ARO_TT_ARO_TA_CALCOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_CALC_INS - Calculation steps at cost estimation level
Data type: ARO_TT_ARO_TA_CALCOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_CALC_UPD - Calculation steps at cost estimation level
Data type: ARO_TT_ARO_TA_CALCOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_PLAN_DEL - Cost estimation plan at ARO transaction level
Data type: ARO_TT_ARO_TA_PLANOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_OBLIGATION_INS - Obbligations General
Data type: ARO_TT_OBLIGATIONOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_PLAN_INS - Cost estimation plan at ARO transaction level
Data type: ARO_TT_ARO_TA_PLANOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_PLAN_UPD - Cost estimation plan at ARO transaction level
Data type: ARO_TT_ARO_TA_PLANOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_CF_DEL - Accounting principle specific data at ARO transaction level
Data type: ARO_TT_ARO_TA_CFOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_CF_INS - Accounting principle specific data at ARO transaction level
Data type: ARO_TT_ARO_TA_CFOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_CF_UPD - Accounting principle specific data at ARO transaction level
Data type: ARO_TT_ARO_TA_CFOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_LAY_DEL - Acc. principle specific data at cost estimation layer level
Data type: ARO_TT_ARO_TA_LAYOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_LAY_INS - Acc. principle specific data at cost estimation layer level
Data type: ARO_TT_ARO_TA_LAYOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_LAY_UPD - Acc. principle specific data at cost estimation layer level
Data type: ARO_TT_ARO_TA_LAYOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SCALC_DEL - Simulated calculation steps at cost estimation level
Data type: ARO_TT_ARO_TA_SCALOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SCALC_INS - Simulated calculation steps at cost estimation level
Data type: ARO_TT_ARO_TA_SCALOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_OBLIGATION_UPD - Obbligations General
Data type: ARO_TT_OBLIGATIONOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SCALC_UPD - Simulated calculation steps at cost estimation level
Data type: ARO_TT_ARO_TA_SCALOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SCF_DEL - Simulated cash flow data for ARO transactions
Data type: ARO_TT_ARO_TA_SCFOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SCF_INS - Simulated cash flow data for ARO transactions
Data type: ARO_TT_ARO_TA_SCFOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SCF_UPD - Simulated cash flow data for ARO transactions
Data type: ARO_TT_ARO_TA_SCFOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SLAY_DEL - Simulated data for cost estimation layers
Data type: ARO_TT_ARO_TA_SLAYOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SLAY_INS - Simulated data for cost estimation layers
Data type: ARO_TT_ARO_TA_SLAYOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_SLAY_UPD - Simulated data for cost estimation layers
Data type: ARO_TT_ARO_TA_SLAYOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_OBL_INDEX_DEL - Obligation Index Table
Data type: ARO_TT_OBL_INDEXOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_OBL_INDEX_INS - Obligation Index Table
Data type: ARO_TT_OBL_INDEXOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_OBL_INDEX_UPD - Obligation Index Table
Data type: ARO_TT_OBL_INDEXOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_HDR_DEL - Asset Retirement Obligation Header
Data type: ARO_TT_ARO_HDROptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_HDR_INS - Asset Retirement Obligation Header
Data type: ARO_TT_ARO_HDROptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_HDR_UPD - Asset Retirement Obligation Header
Data type: ARO_TT_ARO_HDROptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_DEL - ARO transactions
Data type: ARO_TT_ARO_TAOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_INS - ARO transactions
Data type: ARO_TT_ARO_TAOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ARO_TA_UPD - ARO transactions
Data type: ARO_TT_ARO_TAOptional: Yes
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for ARO_WRITE_ARO_TABLES Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_it_obligation_del | TYPE ARO_TT_OBLIGATION, " | |||
| lv_it_aro_hdr_ap_del | TYPE ARO_TT_ARO_HDR_AP, " | |||
| lv_it_aro_hdr_ap_ins | TYPE ARO_TT_ARO_HDR_AP, " | |||
| lv_it_aro_hdr_ap_upd | TYPE ARO_TT_ARO_HDR_AP, " | |||
| lv_it_aro_ta_ap_del | TYPE ARO_TT_ARO_TA_AP, " | |||
| lv_it_aro_ta_ap_ins | TYPE ARO_TT_ARO_TA_AP, " | |||
| lv_it_aro_ta_ap_upd | TYPE ARO_TT_ARO_TA_AP, " | |||
| lv_it_aro_ta_calc_del | TYPE ARO_TT_ARO_TA_CALC, " | |||
| lv_it_aro_ta_calc_ins | TYPE ARO_TT_ARO_TA_CALC, " | |||
| lv_it_aro_ta_calc_upd | TYPE ARO_TT_ARO_TA_CALC, " | |||
| lv_it_aro_ta_plan_del | TYPE ARO_TT_ARO_TA_PLAN, " | |||
| lv_it_obligation_ins | TYPE ARO_TT_OBLIGATION, " | |||
| lv_it_aro_ta_plan_ins | TYPE ARO_TT_ARO_TA_PLAN, " | |||
| lv_it_aro_ta_plan_upd | TYPE ARO_TT_ARO_TA_PLAN, " | |||
| lv_it_aro_ta_cf_del | TYPE ARO_TT_ARO_TA_CF, " | |||
| lv_it_aro_ta_cf_ins | TYPE ARO_TT_ARO_TA_CF, " | |||
| lv_it_aro_ta_cf_upd | TYPE ARO_TT_ARO_TA_CF, " | |||
| lv_it_aro_ta_lay_del | TYPE ARO_TT_ARO_TA_LAY, " | |||
| lv_it_aro_ta_lay_ins | TYPE ARO_TT_ARO_TA_LAY, " | |||
| lv_it_aro_ta_lay_upd | TYPE ARO_TT_ARO_TA_LAY, " | |||
| lv_it_aro_ta_scalc_del | TYPE ARO_TT_ARO_TA_SCAL, " | |||
| lv_it_aro_ta_scalc_ins | TYPE ARO_TT_ARO_TA_SCAL, " | |||
| lv_it_obligation_upd | TYPE ARO_TT_OBLIGATION, " | |||
| lv_it_aro_ta_scalc_upd | TYPE ARO_TT_ARO_TA_SCAL, " | |||
| lv_it_aro_ta_scf_del | TYPE ARO_TT_ARO_TA_SCF, " | |||
| lv_it_aro_ta_scf_ins | TYPE ARO_TT_ARO_TA_SCF, " | |||
| lv_it_aro_ta_scf_upd | TYPE ARO_TT_ARO_TA_SCF, " | |||
| lv_it_aro_ta_slay_del | TYPE ARO_TT_ARO_TA_SLAY, " | |||
| lv_it_aro_ta_slay_ins | TYPE ARO_TT_ARO_TA_SLAY, " | |||
| lv_it_aro_ta_slay_upd | TYPE ARO_TT_ARO_TA_SLAY, " | |||
| lv_it_obl_index_del | TYPE ARO_TT_OBL_INDEX, " | |||
| lv_it_obl_index_ins | TYPE ARO_TT_OBL_INDEX, " | |||
| lv_it_obl_index_upd | TYPE ARO_TT_OBL_INDEX, " | |||
| lv_it_aro_hdr_del | TYPE ARO_TT_ARO_HDR, " | |||
| lv_it_aro_hdr_ins | TYPE ARO_TT_ARO_HDR, " | |||
| lv_it_aro_hdr_upd | TYPE ARO_TT_ARO_HDR, " | |||
| lv_it_aro_ta_del | TYPE ARO_TT_ARO_TA, " | |||
| lv_it_aro_ta_ins | TYPE ARO_TT_ARO_TA, " | |||
| lv_it_aro_ta_upd | TYPE ARO_TT_ARO_TA. " |
|   CALL FUNCTION 'ARO_WRITE_ARO_TABLES' "Insert, Update and Delete ARO database data |
| EXPORTING | ||
| IT_OBLIGATION_DEL | = lv_it_obligation_del | |
| IT_ARO_HDR_AP_DEL | = lv_it_aro_hdr_ap_del | |
| IT_ARO_HDR_AP_INS | = lv_it_aro_hdr_ap_ins | |
| IT_ARO_HDR_AP_UPD | = lv_it_aro_hdr_ap_upd | |
| IT_ARO_TA_AP_DEL | = lv_it_aro_ta_ap_del | |
| IT_ARO_TA_AP_INS | = lv_it_aro_ta_ap_ins | |
| IT_ARO_TA_AP_UPD | = lv_it_aro_ta_ap_upd | |
| IT_ARO_TA_CALC_DEL | = lv_it_aro_ta_calc_del | |
| IT_ARO_TA_CALC_INS | = lv_it_aro_ta_calc_ins | |
| IT_ARO_TA_CALC_UPD | = lv_it_aro_ta_calc_upd | |
| IT_ARO_TA_PLAN_DEL | = lv_it_aro_ta_plan_del | |
| IT_OBLIGATION_INS | = lv_it_obligation_ins | |
| IT_ARO_TA_PLAN_INS | = lv_it_aro_ta_plan_ins | |
| IT_ARO_TA_PLAN_UPD | = lv_it_aro_ta_plan_upd | |
| IT_ARO_TA_CF_DEL | = lv_it_aro_ta_cf_del | |
| IT_ARO_TA_CF_INS | = lv_it_aro_ta_cf_ins | |
| IT_ARO_TA_CF_UPD | = lv_it_aro_ta_cf_upd | |
| IT_ARO_TA_LAY_DEL | = lv_it_aro_ta_lay_del | |
| IT_ARO_TA_LAY_INS | = lv_it_aro_ta_lay_ins | |
| IT_ARO_TA_LAY_UPD | = lv_it_aro_ta_lay_upd | |
| IT_ARO_TA_SCALC_DEL | = lv_it_aro_ta_scalc_del | |
| IT_ARO_TA_SCALC_INS | = lv_it_aro_ta_scalc_ins | |
| IT_OBLIGATION_UPD | = lv_it_obligation_upd | |
| IT_ARO_TA_SCALC_UPD | = lv_it_aro_ta_scalc_upd | |
| IT_ARO_TA_SCF_DEL | = lv_it_aro_ta_scf_del | |
| IT_ARO_TA_SCF_INS | = lv_it_aro_ta_scf_ins | |
| IT_ARO_TA_SCF_UPD | = lv_it_aro_ta_scf_upd | |
| IT_ARO_TA_SLAY_DEL | = lv_it_aro_ta_slay_del | |
| IT_ARO_TA_SLAY_INS | = lv_it_aro_ta_slay_ins | |
| IT_ARO_TA_SLAY_UPD | = lv_it_aro_ta_slay_upd | |
| IT_OBL_INDEX_DEL | = lv_it_obl_index_del | |
| IT_OBL_INDEX_INS | = lv_it_obl_index_ins | |
| IT_OBL_INDEX_UPD | = lv_it_obl_index_upd | |
| IT_ARO_HDR_DEL | = lv_it_aro_hdr_del | |
| IT_ARO_HDR_INS | = lv_it_aro_hdr_ins | |
| IT_ARO_HDR_UPD | = lv_it_aro_hdr_upd | |
| IT_ARO_TA_DEL | = lv_it_aro_ta_del | |
| IT_ARO_TA_INS | = lv_it_aro_ta_ins | |
| IT_ARO_TA_UPD | = lv_it_aro_ta_upd | |
| . " ARO_WRITE_ARO_TABLES | ||
ABAP code using 7.40 inline data declarations to call FM ARO_WRITE_ARO_TABLES
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.Search for further information about these or an SAP related objects