SAP IUID_GET_OBJK Function Module for Read OBJK and SER00 ... 09 for Equi or UII or Mat/Ser
IUID_GET_OBJK is a standard iuid get objk SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Read OBJK and SER00 ... 09 for Equi or UII or Mat/Ser 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 iuid get objk FM, simply by entering the name IUID_GET_OBJK into the relevant SAP transaction such as SE37 or SE38.
Function Group: IUID
Program Name: SAPLIUID
Main Program: SAPLIUID
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function IUID_GET_OBJK 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 'IUID_GET_OBJK'"Read OBJK and SER00 ... 09 for Equi or UII or Mat/Ser.
EXPORTING
* IV_EQUNR = "Equipment Number
* IV_MATNR = "Material Number
* IV_SERNR = "Serial Number
* IV_UII = "Unique Item Identifier
* IV_CHECK_UII = "Unique Item Identifier - to check against OBJK-UII on DB
IMPORTING
ET_OBJK = "Table Type of OBJK
ET_SER08 = "Table Type of SER08
ET_SER09 = "Table Type of SER09
EV_OBJK_DIFFERENT = "'X' if different OBJK-Sets have different NOT INITIAL UIIs
EV_OBJK_INITIAL = "'X' if at least one OBJK-set has an initial UII
EV_OBJK_NOT_EQUAL = "'X' if at least one OBJK UII isn't initial and not equal IV_CHECK_UII
EV_EXISTING_UII = "OBJK-UII if it is unique (other INITIAL UIIs could exist)
ET_SER00 = "Table Type of SER00
ET_SER01 = "Table Type of SER01
ET_SER02 = "Table Type of SER02
ET_SER03 = "Table Type of SER03
ET_SER04 = "Table Type of SER04
ET_SER05 = "Table Type of SER05
ET_SER06 = "Table Type of SER06
ET_SER07 = "Table Type of SER07
CHANGING
* CT_OBJK = "Plant Maintenance Object List
* CT_SER08 = "Table Type of SER08
* CT_SER09 = "Table Type of SER09
* CT_SER00 = "Table Type of SER00
* CT_SER01 = "Table Type of SER01
* CT_SER02 = "Table Type of SER02
* CT_SER03 = "Table Type of SER03
* CT_SER04 = "Table Type of SER04
* CT_SER05 = "Table Type of SER05
* CT_SER06 = "Table Type of SER06
* CT_SER07 = "Table Type of SER07
EXCEPTIONS
MISSING_PARAMETER = 1 NO_OBJK_ENTRY_FOUND = 2
IMPORTING Parameters details for IUID_GET_OBJK
IV_EQUNR - Equipment Number
Data type: EQUNROptional: Yes
Call by Reference: No ( called with pass by value option)
IV_MATNR - Material Number
Data type: MATNROptional: Yes
Call by Reference: No ( called with pass by value option)
IV_SERNR - Serial Number
Data type: GERNROptional: Yes
Call by Reference: No ( called with pass by value option)
IV_UII - Unique Item Identifier
Data type: UII_CHAR72Optional: Yes
Call by Reference: No ( called with pass by value option)
IV_CHECK_UII - Unique Item Identifier - to check against OBJK-UII on DB
Data type: UII_CHAR72Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for IUID_GET_OBJK
ET_OBJK - Table Type of OBJK
Data type: IUID_OBJK_TTOptional: No
Call by Reference: Yes
ET_SER08 - Table Type of SER08
Data type: IUID_SER08_TTOptional: No
Call by Reference: Yes
ET_SER09 - Table Type of SER09
Data type: IUID_SER09_TTOptional: No
Call by Reference: Yes
EV_OBJK_DIFFERENT - 'X' if different OBJK-Sets have different NOT INITIAL UIIs
Data type: FLAGOptional: No
Call by Reference: Yes
EV_OBJK_INITIAL - 'X' if at least one OBJK-set has an initial UII
Data type: FLAGOptional: No
Call by Reference: Yes
EV_OBJK_NOT_EQUAL - 'X' if at least one OBJK UII isn't initial and not equal IV_CHECK_UII
Data type: FLAGOptional: No
Call by Reference: Yes
EV_EXISTING_UII - OBJK-UII if it is unique (other INITIAL UIIs could exist)
Data type: UII_CHAR72Optional: No
Call by Reference: Yes
ET_SER00 - Table Type of SER00
Data type: IUID_SER00_TTOptional: No
Call by Reference: Yes
ET_SER01 - Table Type of SER01
Data type: IUID_SER01_TTOptional: No
Call by Reference: Yes
ET_SER02 - Table Type of SER02
Data type: IUID_SER02_TTOptional: No
Call by Reference: Yes
ET_SER03 - Table Type of SER03
Data type: IUID_SER03_TTOptional: No
Call by Reference: Yes
ET_SER04 - Table Type of SER04
Data type: IUID_SER04_TTOptional: No
Call by Reference: Yes
ET_SER05 - Table Type of SER05
Data type: IUID_SER05_TTOptional: No
Call by Reference: Yes
ET_SER06 - Table Type of SER06
Data type: IUID_SER06_TTOptional: No
Call by Reference: Yes
ET_SER07 - Table Type of SER07
Data type: IUID_SER07_TTOptional: No
Call by Reference: Yes
CHANGING Parameters details for IUID_GET_OBJK
CT_OBJK - Plant Maintenance Object List
Data type: IUID_OBJK_TTOptional: Yes
Call by Reference: Yes
CT_SER08 - Table Type of SER08
Data type: IUID_SER08_TTOptional: Yes
Call by Reference: Yes
CT_SER09 - Table Type of SER09
Data type: IUID_SER09_TTOptional: Yes
Call by Reference: Yes
CT_SER00 - Table Type of SER00
Data type: IUID_SER00_TTOptional: Yes
Call by Reference: Yes
CT_SER01 - Table Type of SER01
Data type: IUID_SER01_TTOptional: Yes
Call by Reference: Yes
CT_SER02 - Table Type of SER02
Data type: IUID_SER02_TTOptional: Yes
Call by Reference: Yes
CT_SER03 - Table Type of SER03
Data type: IUID_SER03_TTOptional: Yes
Call by Reference: Yes
CT_SER04 - Table Type of SER04
Data type: IUID_SER04_TTOptional: Yes
Call by Reference: Yes
CT_SER05 - Table Type of SER05
Data type: IUID_SER05_TTOptional: Yes
Call by Reference: Yes
CT_SER06 - Table Type of SER06
Data type: IUID_SER06_TTOptional: Yes
Call by Reference: Yes
CT_SER07 - Table Type of SER07
Data type: IUID_SER07_TTOptional: Yes
Call by Reference: Yes
EXCEPTIONS details
MISSING_PARAMETER - at least EQUNR or MATNR-SERNR or UII has to be supplied
Data type:Optional: No
Call by Reference: Yes
NO_OBJK_ENTRY_FOUND - no OBJK entry for given values found
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for IUID_GET_OBJK 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_ct_objk | TYPE IUID_OBJK_TT, " | |||
| lv_et_objk | TYPE IUID_OBJK_TT, " | |||
| lv_iv_equnr | TYPE EQUNR, " | |||
| lv_missing_parameter | TYPE EQUNR, " | |||
| lv_ct_ser08 | TYPE IUID_SER08_TT, " | |||
| lv_et_ser08 | TYPE IUID_SER08_TT, " | |||
| lv_ct_ser09 | TYPE IUID_SER09_TT, " | |||
| lv_et_ser09 | TYPE IUID_SER09_TT, " | |||
| lv_ev_objk_different | TYPE FLAG, " | |||
| lv_ev_objk_initial | TYPE FLAG, " | |||
| lv_ev_objk_not_equal | TYPE FLAG, " | |||
| lv_ev_existing_uii | TYPE UII_CHAR72, " | |||
| lv_ct_ser00 | TYPE IUID_SER00_TT, " | |||
| lv_et_ser00 | TYPE IUID_SER00_TT, " | |||
| lv_iv_matnr | TYPE MATNR, " | |||
| lv_no_objk_entry_found | TYPE MATNR, " | |||
| lv_ct_ser01 | TYPE IUID_SER01_TT, " | |||
| lv_et_ser01 | TYPE IUID_SER01_TT, " | |||
| lv_iv_sernr | TYPE GERNR, " | |||
| lv_iv_uii | TYPE UII_CHAR72, " | |||
| lv_ct_ser02 | TYPE IUID_SER02_TT, " | |||
| lv_et_ser02 | TYPE IUID_SER02_TT, " | |||
| lv_ct_ser03 | TYPE IUID_SER03_TT, " | |||
| lv_et_ser03 | TYPE IUID_SER03_TT, " | |||
| lv_iv_check_uii | TYPE UII_CHAR72, " | |||
| lv_ct_ser04 | TYPE IUID_SER04_TT, " | |||
| lv_et_ser04 | TYPE IUID_SER04_TT, " | |||
| lv_ct_ser05 | TYPE IUID_SER05_TT, " | |||
| lv_et_ser05 | TYPE IUID_SER05_TT, " | |||
| lv_ct_ser06 | TYPE IUID_SER06_TT, " | |||
| lv_et_ser06 | TYPE IUID_SER06_TT, " | |||
| lv_ct_ser07 | TYPE IUID_SER07_TT, " | |||
| lv_et_ser07 | TYPE IUID_SER07_TT. " |
|   CALL FUNCTION 'IUID_GET_OBJK' "Read OBJK and SER00 ... 09 for Equi or UII or Mat/Ser |
| EXPORTING | ||
| IV_EQUNR | = lv_iv_equnr | |
| IV_MATNR | = lv_iv_matnr | |
| IV_SERNR | = lv_iv_sernr | |
| IV_UII | = lv_iv_uii | |
| IV_CHECK_UII | = lv_iv_check_uii | |
| IMPORTING | ||
| ET_OBJK | = lv_et_objk | |
| ET_SER08 | = lv_et_ser08 | |
| ET_SER09 | = lv_et_ser09 | |
| EV_OBJK_DIFFERENT | = lv_ev_objk_different | |
| EV_OBJK_INITIAL | = lv_ev_objk_initial | |
| EV_OBJK_NOT_EQUAL | = lv_ev_objk_not_equal | |
| EV_EXISTING_UII | = lv_ev_existing_uii | |
| ET_SER00 | = lv_et_ser00 | |
| ET_SER01 | = lv_et_ser01 | |
| ET_SER02 | = lv_et_ser02 | |
| ET_SER03 | = lv_et_ser03 | |
| ET_SER04 | = lv_et_ser04 | |
| ET_SER05 | = lv_et_ser05 | |
| ET_SER06 | = lv_et_ser06 | |
| ET_SER07 | = lv_et_ser07 | |
| CHANGING | ||
| CT_OBJK | = lv_ct_objk | |
| CT_SER08 | = lv_ct_ser08 | |
| CT_SER09 | = lv_ct_ser09 | |
| CT_SER00 | = lv_ct_ser00 | |
| CT_SER01 | = lv_ct_ser01 | |
| CT_SER02 | = lv_ct_ser02 | |
| CT_SER03 | = lv_ct_ser03 | |
| CT_SER04 | = lv_ct_ser04 | |
| CT_SER05 | = lv_ct_ser05 | |
| CT_SER06 | = lv_ct_ser06 | |
| CT_SER07 | = lv_ct_ser07 | |
| EXCEPTIONS | ||
| MISSING_PARAMETER = 1 | ||
| NO_OBJK_ENTRY_FOUND = 2 | ||
| . " IUID_GET_OBJK | ||
ABAP code using 7.40 inline data declarations to call FM IUID_GET_OBJK
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