SAP AIP1_GET_PRPOS_SINGLE Function Module for Determine position/measure for index or object number
AIP1_GET_PRPOS_SINGLE is a standard aip1 get prpos single SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Determine position/measure for index or object number 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 aip1 get prpos single FM, simply by entering the name AIP1_GET_PRPOS_SINGLE into the relevant SAP transaction such as SE37 or SE38.
Function Group: AIP1
Program Name: SAPLAIP1
Main Program: SAPLAIP1
Appliation area: A
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function AIP1_GET_PRPOS_SINGLE 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 'AIP1_GET_PRPOS_SINGLE'"Determine position/measure for index or object number.
EXPORTING
* I_INDEX = "Index
* I_OBJNR = "CO object number
IMPORTING
E_STREENODE = "
E_IMAK = "
E_IMAKT = "
E_STUFE = "Hierarchy level
E_IDENT = "Text (with indentation according to level)
E_INDEX = "Index
E_OBJNR = "CO object number
E_OBART = "CO object type
E_POSIT = "
E_IGNORE = "Ind: Element to be ignored
E_FLG_LEAF = "
E_RAIPATTR = "
E_FLG_MEASURES = "Ind: Measures exist for the position
E_FLG_REALMEAS = "
E_IMPR = "Inv. prog. position
E_IMPU = "Text for inv. program position
E_INDEX_POS = "
E_STUFE_POS = "
E_AUFKV = "Order
E_PRPS = "WBS element
E_PROJ = "Project
TABLES
* ET_IMZO = "
* ET_IMZO_ALL = "
* ET_IMAKPGES = "
* ET_ROPA = "
EXCEPTIONS
NOT_FOUND = 1
IMPORTING Parameters details for AIP1_GET_PRPOS_SINGLE
I_INDEX - Index
Data type: SY-TABIXOptional: Yes
Call by Reference: No ( called with pass by value option)
I_OBJNR - CO object number
Data type: IMZO-OBJNROptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for AIP1_GET_PRPOS_SINGLE
E_STREENODE -
Data type: STREENODEOptional: No
Call by Reference: No ( called with pass by value option)
E_IMAK -
Data type: IMAKOptional: No
Call by Reference: No ( called with pass by value option)
E_IMAKT -
Data type: IMAKTOptional: No
Call by Reference: No ( called with pass by value option)
E_STUFE - Hierarchy level
Data type: IOptional: No
Call by Reference: No ( called with pass by value option)
E_IDENT - Text (with indentation according to level)
Data type: IMPU-POST1Optional: No
Call by Reference: No ( called with pass by value option)
E_INDEX - Index
Data type: SY-TABIXOptional: No
Call by Reference: No ( called with pass by value option)
E_OBJNR - CO object number
Data type: IMZO-OBJNROptional: No
Call by Reference: No ( called with pass by value option)
E_OBART - CO object type
Data type: IMPS-OBARTOptional: No
Call by Reference: No ( called with pass by value option)
E_POSIT -
Data type: BPGE-POSITOptional: No
Call by Reference: No ( called with pass by value option)
E_IGNORE - Ind: Element to be ignored
Data type: COptional: No
Call by Reference: No ( called with pass by value option)
E_FLG_LEAF -
Data type: COptional: No
Call by Reference: No ( called with pass by value option)
E_RAIPATTR -
Data type: RAIPATTROptional: No
Call by Reference: No ( called with pass by value option)
E_FLG_MEASURES - Ind: Measures exist for the position
Data type: COptional: No
Call by Reference: No ( called with pass by value option)
E_FLG_REALMEAS -
Data type: COptional: No
Call by Reference: No ( called with pass by value option)
E_IMPR - Inv. prog. position
Data type: IMPROptional: No
Call by Reference: No ( called with pass by value option)
E_IMPU - Text for inv. program position
Data type: IMPUOptional: No
Call by Reference: No ( called with pass by value option)
E_INDEX_POS -
Data type: SY-TABIXOptional: No
Call by Reference: No ( called with pass by value option)
E_STUFE_POS -
Data type: IOptional: No
Call by Reference: No ( called with pass by value option)
E_AUFKV - Order
Data type: AUFKVOptional: No
Call by Reference: No ( called with pass by value option)
E_PRPS - WBS element
Data type: PRPSOptional: No
Call by Reference: No ( called with pass by value option)
E_PROJ - Project
Data type: PROJOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for AIP1_GET_PRPOS_SINGLE
ET_IMZO -
Data type: IMZOOptional: Yes
Call by Reference: No ( called with pass by value option)
ET_IMZO_ALL -
Data type: IMZOOptional: Yes
Call by Reference: No ( called with pass by value option)
ET_IMAKPGES -
Data type: RIMAKPGESOptional: Yes
Call by Reference: No ( called with pass by value option)
ET_ROPA -
Data type: IMIS_TYPE_TX_ROPAOptional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
NOT_FOUND - I_INDEX does not indicate a position/measure
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for AIP1_GET_PRPOS_SINGLE 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: | ||||
| lt_et_imzo | TYPE STANDARD TABLE OF IMZO, " | |||
| lv_i_index | TYPE SY-TABIX, " | |||
| lv_not_found | TYPE SY, " | |||
| lv_e_streenode | TYPE STREENODE, " | |||
| lv_e_imak | TYPE IMAK, " | |||
| lv_e_imakt | TYPE IMAKT, " | |||
| lv_e_stufe | TYPE I, " | |||
| lv_e_ident | TYPE IMPU-POST1, " | |||
| lv_e_index | TYPE SY-TABIX, " | |||
| lv_e_objnr | TYPE IMZO-OBJNR, " | |||
| lv_e_obart | TYPE IMPS-OBART, " | |||
| lv_e_posit | TYPE BPGE-POSIT, " | |||
| lv_e_ignore | TYPE C, " | |||
| lv_e_flg_leaf | TYPE C, " | |||
| lv_i_objnr | TYPE IMZO-OBJNR, " | |||
| lv_e_raipattr | TYPE RAIPATTR, " | |||
| lt_et_imzo_all | TYPE STANDARD TABLE OF IMZO, " | |||
| lv_e_flg_measures | TYPE C, " | |||
| lv_e_flg_realmeas | TYPE C, " | |||
| lv_e_impr | TYPE IMPR, " | |||
| lt_et_imakpges | TYPE STANDARD TABLE OF RIMAKPGES, " | |||
| lv_e_impu | TYPE IMPU, " | |||
| lt_et_ropa | TYPE STANDARD TABLE OF IMIS_TYPE_TX_ROPA, " | |||
| lv_e_index_pos | TYPE SY-TABIX, " | |||
| lv_e_stufe_pos | TYPE I, " | |||
| lv_e_aufkv | TYPE AUFKV, " | |||
| lv_e_prps | TYPE PRPS, " | |||
| lv_e_proj | TYPE PROJ. " |
|   CALL FUNCTION 'AIP1_GET_PRPOS_SINGLE' "Determine position/measure for index or object number |
| EXPORTING | ||
| I_INDEX | = lv_i_index | |
| I_OBJNR | = lv_i_objnr | |
| IMPORTING | ||
| E_STREENODE | = lv_e_streenode | |
| E_IMAK | = lv_e_imak | |
| E_IMAKT | = lv_e_imakt | |
| E_STUFE | = lv_e_stufe | |
| E_IDENT | = lv_e_ident | |
| E_INDEX | = lv_e_index | |
| E_OBJNR | = lv_e_objnr | |
| E_OBART | = lv_e_obart | |
| E_POSIT | = lv_e_posit | |
| E_IGNORE | = lv_e_ignore | |
| E_FLG_LEAF | = lv_e_flg_leaf | |
| E_RAIPATTR | = lv_e_raipattr | |
| E_FLG_MEASURES | = lv_e_flg_measures | |
| E_FLG_REALMEAS | = lv_e_flg_realmeas | |
| E_IMPR | = lv_e_impr | |
| E_IMPU | = lv_e_impu | |
| E_INDEX_POS | = lv_e_index_pos | |
| E_STUFE_POS | = lv_e_stufe_pos | |
| E_AUFKV | = lv_e_aufkv | |
| E_PRPS | = lv_e_prps | |
| E_PROJ | = lv_e_proj | |
| TABLES | ||
| ET_IMZO | = lt_et_imzo | |
| ET_IMZO_ALL | = lt_et_imzo_all | |
| ET_IMAKPGES | = lt_et_imakpges | |
| ET_ROPA | = lt_et_ropa | |
| EXCEPTIONS | ||
| NOT_FOUND = 1 | ||
| . " AIP1_GET_PRPOS_SINGLE | ||
ABAP code using 7.40 inline data declarations to call FM AIP1_GET_PRPOS_SINGLE
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 TABIX FROM SY INTO @DATA(ld_i_index). | ||||
| "SELECT single POST1 FROM IMPU INTO @DATA(ld_e_ident). | ||||
| "SELECT single TABIX FROM SY INTO @DATA(ld_e_index). | ||||
| "SELECT single OBJNR FROM IMZO INTO @DATA(ld_e_objnr). | ||||
| "SELECT single OBART FROM IMPS INTO @DATA(ld_e_obart). | ||||
| "SELECT single POSIT FROM BPGE INTO @DATA(ld_e_posit). | ||||
| "SELECT single OBJNR FROM IMZO INTO @DATA(ld_i_objnr). | ||||
| "SELECT single TABIX FROM SY INTO @DATA(ld_e_index_pos). | ||||
Search for further information about these or an SAP related objects