SAP OIU_3D_GET_NEXT_NODE Function Module for Get next node up/down stream
OIU_3D_GET_NEXT_NODE is a standard oiu 3d get next node SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Get next node up/down stream 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 oiu 3d get next node FM, simply by entering the name OIU_3D_GET_NEXT_NODE into the relevant SAP transaction such as SE37 or SE38.
Function Group: OIU_DN_COMMON
Program Name: SAPLOIU_DN_COMMON
Main Program: SAPLOIU_DN_COMMON
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function OIU_3D_GET_NEXT_NODE 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 'OIU_3D_GET_NEXT_NODE'"Get next node up/down stream.
EXPORTING
I_REF_NO = "From OIU_DN_EXPAND
* I_UP_DOWN = 1 "1 = Up, 2=Down (stream)
* I_LVL_OPT = "Up's Level, Down's Option
* I_MAJPD = "Volume Allocation Network WC Profile
* I_PD_CD = "Minor Product Code
* I_VT_CD = "Volume type code
IMPORTING
E_LVL = "Level in hierarchy
E_FUN = "Furtherest Upstream Node (1=yes, 0=no
E_DSS = "Down stream split (1=yes, 0=no
E_TYPE = "Measurement Point, Well Completion
E_DATA_REF = "Return value, return value after ABAP statements
E_S_NTWKMP = "Volume Allocation Network Measurement Point
E_S_NTWKMP_A1 = "Network MP Quantity Append Structure 1
E_S_NTWKWC = "Volume Allocation Network WC
E_S_NTWKWC_A1 = "Network WC Quantity Append Structure 1
TABLES
* T_MPAP = "Volume Allocation Network Measurement Point Profile
* T_WCAP = "Volume Allocation Network WC Profile
* T_TMPVL = "Meqasurement Point Volumes
* T_TWCTV = "Volume Allocation Temporary WC Theorectical Volumes
EXCEPTIONS
REF_NOT_FOUND = 1 END_OF_NETWORK = 2 END_OF_THE_LEG = 3 NODE_NOT_FOUND = 4 DATA_NOT_FOUND = 5 SEL_NOT_VALID = 6
IMPORTING Parameters details for OIU_3D_GET_NEXT_NODE
I_REF_NO - From OIU_DN_EXPAND
Data type: SY-SUBRCOptional: No
Call by Reference: Yes
I_UP_DOWN - 1 = Up, 2=Down (stream)
Data type: IDefault: 1
Optional: No
Call by Reference: Yes
I_LVL_OPT - Up's Level, Down's Option
Data type: IOptional: Yes
Call by Reference: Yes
I_MAJPD - Volume Allocation Network WC Profile
Data type: ROIU_PR_WCAP-MAJPD_CDOptional: Yes
Call by Reference: Yes
I_PD_CD - Minor Product Code
Data type: ROIU_PR_WCAP-PD_CDOptional: Yes
Call by Reference: Yes
I_VT_CD - Volume type code
Data type: ROIU_PR_WCAP-VT_CDOptional: Yes
Call by Reference: Yes
EXPORTING Parameters details for OIU_3D_GET_NEXT_NODE
E_LVL - Level in hierarchy
Data type: IOptional: No
Call by Reference: Yes
E_FUN - Furtherest Upstream Node (1=yes, 0=no
Data type: IOptional: No
Call by Reference: Yes
E_DSS - Down stream split (1=yes, 0=no
Data type: IOptional: No
Call by Reference: Yes
E_TYPE - Measurement Point, Well Completion
Data type: ROIU_DN_NODES-TYPEOptional: No
Call by Reference: Yes
E_DATA_REF - Return value, return value after ABAP statements
Data type: SY-SUBRCOptional: No
Call by Reference: Yes
E_S_NTWKMP - Volume Allocation Network Measurement Point
Data type: ROIU_PR_NTWKMPOptional: No
Call by Reference: Yes
E_S_NTWKMP_A1 - Network MP Quantity Append Structure 1
Data type: ROIU_PR_NTWKMP_A1Optional: No
Call by Reference: Yes
E_S_NTWKWC - Volume Allocation Network WC
Data type: ROIU_PR_NTWKWCOptional: No
Call by Reference: Yes
E_S_NTWKWC_A1 - Network WC Quantity Append Structure 1
Data type: ROIU_PR_NTWKWC_A1Optional: No
Call by Reference: Yes
TABLES Parameters details for OIU_3D_GET_NEXT_NODE
T_MPAP - Volume Allocation Network Measurement Point Profile
Data type: ROIU_PR_MPAPOptional: Yes
Call by Reference: Yes
T_WCAP - Volume Allocation Network WC Profile
Data type: ROIU_PR_WCAPOptional: Yes
Call by Reference: Yes
T_TMPVL - Meqasurement Point Volumes
Data type: ROIU_PR_TMPVLOptional: Yes
Call by Reference: Yes
T_TWCTV - Volume Allocation Temporary WC Theorectical Volumes
Data type: ROIU_PR_TWCTVOptional: Yes
Call by Reference: Yes
EXCEPTIONS details
REF_NOT_FOUND - Object not found
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
END_OF_NETWORK - No more nodes
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
END_OF_THE_LEG - No more nodes for this leg
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NODE_NOT_FOUND - Starting point not found
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DATA_NOT_FOUND - Node date not found
Data type:Optional: No
Call by Reference: Yes
SEL_NOT_VALID - Selection not valid - prd & vt or prd only
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for OIU_3D_GET_NEXT_NODE 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_e_lvl | TYPE I, " | |||
| lt_t_mpap | TYPE STANDARD TABLE OF ROIU_PR_MPAP, " | |||
| lv_i_ref_no | TYPE SY-SUBRC, " | |||
| lv_ref_not_found | TYPE SY, " | |||
| lv_e_fun | TYPE I, " | |||
| lt_t_wcap | TYPE STANDARD TABLE OF ROIU_PR_WCAP, " | |||
| lv_i_up_down | TYPE I, " 1 | |||
| lv_end_of_network | TYPE I, " | |||
| lv_e_dss | TYPE I, " | |||
| lt_t_tmpvl | TYPE STANDARD TABLE OF ROIU_PR_TMPVL, " | |||
| lv_i_lvl_opt | TYPE I, " | |||
| lv_end_of_the_leg | TYPE I, " | |||
| lv_e_type | TYPE ROIU_DN_NODES-TYPE, " | |||
| lv_i_majpd | TYPE ROIU_PR_WCAP-MAJPD_CD, " | |||
| lt_t_twctv | TYPE STANDARD TABLE OF ROIU_PR_TWCTV, " | |||
| lv_node_not_found | TYPE ROIU_PR_TWCTV, " | |||
| lv_i_pd_cd | TYPE ROIU_PR_WCAP-PD_CD, " | |||
| lv_e_data_ref | TYPE SY-SUBRC, " | |||
| lv_data_not_found | TYPE SY, " | |||
| lv_i_vt_cd | TYPE ROIU_PR_WCAP-VT_CD, " | |||
| lv_e_s_ntwkmp | TYPE ROIU_PR_NTWKMP, " | |||
| lv_sel_not_valid | TYPE ROIU_PR_NTWKMP, " | |||
| lv_e_s_ntwkmp_a1 | TYPE ROIU_PR_NTWKMP_A1, " | |||
| lv_e_s_ntwkwc | TYPE ROIU_PR_NTWKWC, " | |||
| lv_e_s_ntwkwc_a1 | TYPE ROIU_PR_NTWKWC_A1. " |
|   CALL FUNCTION 'OIU_3D_GET_NEXT_NODE' "Get next node up/down stream |
| EXPORTING | ||
| I_REF_NO | = lv_i_ref_no | |
| I_UP_DOWN | = lv_i_up_down | |
| I_LVL_OPT | = lv_i_lvl_opt | |
| I_MAJPD | = lv_i_majpd | |
| I_PD_CD | = lv_i_pd_cd | |
| I_VT_CD | = lv_i_vt_cd | |
| IMPORTING | ||
| E_LVL | = lv_e_lvl | |
| E_FUN | = lv_e_fun | |
| E_DSS | = lv_e_dss | |
| E_TYPE | = lv_e_type | |
| E_DATA_REF | = lv_e_data_ref | |
| E_S_NTWKMP | = lv_e_s_ntwkmp | |
| E_S_NTWKMP_A1 | = lv_e_s_ntwkmp_a1 | |
| E_S_NTWKWC | = lv_e_s_ntwkwc | |
| E_S_NTWKWC_A1 | = lv_e_s_ntwkwc_a1 | |
| TABLES | ||
| T_MPAP | = lt_t_mpap | |
| T_WCAP | = lt_t_wcap | |
| T_TMPVL | = lt_t_tmpvl | |
| T_TWCTV | = lt_t_twctv | |
| EXCEPTIONS | ||
| REF_NOT_FOUND = 1 | ||
| END_OF_NETWORK = 2 | ||
| END_OF_THE_LEG = 3 | ||
| NODE_NOT_FOUND = 4 | ||
| DATA_NOT_FOUND = 5 | ||
| SEL_NOT_VALID = 6 | ||
| . " OIU_3D_GET_NEXT_NODE | ||
ABAP code using 7.40 inline data declarations to call FM OIU_3D_GET_NEXT_NODE
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.| "SELECT single SUBRC FROM SY INTO @DATA(ld_i_ref_no). | ||||
| DATA(ld_i_up_down) | = 1. | |||
| "SELECT single TYPE FROM ROIU_DN_NODES INTO @DATA(ld_e_type). | ||||
| "SELECT single MAJPD_CD FROM ROIU_PR_WCAP INTO @DATA(ld_i_majpd). | ||||
| "SELECT single PD_CD FROM ROIU_PR_WCAP INTO @DATA(ld_i_pd_cd). | ||||
| "SELECT single SUBRC FROM SY INTO @DATA(ld_e_data_ref). | ||||
| "SELECT single VT_CD FROM ROIU_PR_WCAP INTO @DATA(ld_i_vt_cd). | ||||
Search for further information about these or an SAP related objects