SAP SERIALNUMBER_ARRAY Function Module for NOTRANSL: Array Fetch für Serialnummern
SERIALNUMBER_ARRAY is a standard serialnumber array SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for NOTRANSL: Array Fetch für Serialnummern 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 serialnumber array FM, simply by entering the name SERIALNUMBER_ARRAY into the relevant SAP transaction such as SE37 or SE38.
Function Group: IE01
Program Name: SAPLIE01
Main Program: SAPLIE01
Appliation area: I
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function SERIALNUMBER_ARRAY 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 'SERIALNUMBER_ARRAY'"NOTRANSL: Array Fetch für Serialnummern.
EXPORTING
* ID_HANDLE = "DE-EN-LANG-SWITCH-NO-TRANSLATION
* ID_LOCK = ITOB_BOOL-FALSE "DE-EN-LANG-SWITCH-NO-TRANSLATION
* ID_LOCK_ONLY = ITOB_LOCK_ONLY-NONE "DE-EN-LANG-SWITCH-NO-TRANSLATION
* KEY_MATSER = 'X' "Yes/No (X/ )
* OUT_MODE = '0' "Generic Type
* READ_EQBS = ' ' "Yes/No (X/ )
IMPORTING
IS_DUP = "Yes/No (X/ )
TABLES
I_EQUI = "Interal Table Serial Number Management (With Equi-Number)
* A_EQUI = "Equipment master data
* D_EQUI = "Equipment master data
* A_EQBS = "Serial Number Stock Segment
* ET_EQUI_ERR = "PM: Table Structure with Information for ITOB Read Access
EXCEPTIONS
NO_EQUIS_FOUND = 1 ERR_HANDLE = 2
Customer Function user exits
Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.EXIT_SAPLIE01_005 Serial Numbers, User Exit in the Update
EXIT_SAPLIE01_007 Serial Numbers, User Exit in Goods Movement
IMPORTING Parameters details for SERIALNUMBER_ARRAY
ID_HANDLE - DE-EN-LANG-SWITCH-NO-TRANSLATION
Data type: ITOB_HANDLEOptional: Yes
Call by Reference: No ( called with pass by value option)
ID_LOCK - DE-EN-LANG-SWITCH-NO-TRANSLATION
Data type: ITOB_TYPES-BOOLDefault: ITOB_BOOL-FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
ID_LOCK_ONLY - DE-EN-LANG-SWITCH-NO-TRANSLATION
Data type: ITOB_TYPES-INDDefault: ITOB_LOCK_ONLY-NONE
Optional: Yes
Call by Reference: No ( called with pass by value option)
KEY_MATSER - Yes/No (X/ )
Data type: IREF-IINDDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
OUT_MODE - Generic Type
Data type: CDefault: '0'
Optional: Yes
Call by Reference: No ( called with pass by value option)
READ_EQBS - Yes/No (X/ )
Data type: IREF-IINDDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for SERIALNUMBER_ARRAY
IS_DUP - Yes/No (X/ )
Data type: IREF-IINDOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for SERIALNUMBER_ARRAY
I_EQUI - Interal Table Serial Number Management (With Equi-Number)
Data type: RISEREQOptional: No
Call by Reference: No ( called with pass by value option)
A_EQUI - Equipment master data
Data type: EQUIOptional: Yes
Call by Reference: Yes
D_EQUI - Equipment master data
Data type: EQUIOptional: Yes
Call by Reference: No ( called with pass by value option)
A_EQBS - Serial Number Stock Segment
Data type: EQBSOptional: Yes
Call by Reference: No ( called with pass by value option)
ET_EQUI_ERR - PM: Table Structure with Information for ITOB Read Access
Data type: ITOBREAD_INFOOptional: Yes
Call by Reference: Yes
EXCEPTIONS details
NO_EQUIS_FOUND - DE-EN-LANG-SWITCH-NO-TRANSLATION
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ERR_HANDLE - DE-EN-LANG-SWITCH-NO-TRANSLATION
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for SERIALNUMBER_ARRAY 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_is_dup | TYPE IREF-IIND, " | |||
| lt_i_equi | TYPE STANDARD TABLE OF RISEREQ, " | |||
| lv_id_handle | TYPE ITOB_HANDLE, " | |||
| lv_no_equis_found | TYPE ITOB_HANDLE, " | |||
| lt_a_equi | TYPE STANDARD TABLE OF EQUI, " | |||
| lv_id_lock | TYPE ITOB_TYPES-BOOL, " ITOB_BOOL-FALSE | |||
| lv_err_handle | TYPE ITOB_TYPES, " | |||
| lt_d_equi | TYPE STANDARD TABLE OF EQUI, " | |||
| lv_id_lock_only | TYPE ITOB_TYPES-IND, " ITOB_LOCK_ONLY-NONE | |||
| lt_a_eqbs | TYPE STANDARD TABLE OF EQBS, " | |||
| lv_key_matser | TYPE IREF-IIND, " 'X' | |||
| lv_out_mode | TYPE C, " '0' | |||
| lt_et_equi_err | TYPE STANDARD TABLE OF ITOBREAD_INFO, " | |||
| lv_read_eqbs | TYPE IREF-IIND. " ' ' |
|   CALL FUNCTION 'SERIALNUMBER_ARRAY' "NOTRANSL: Array Fetch für Serialnummern |
| EXPORTING | ||
| ID_HANDLE | = lv_id_handle | |
| ID_LOCK | = lv_id_lock | |
| ID_LOCK_ONLY | = lv_id_lock_only | |
| KEY_MATSER | = lv_key_matser | |
| OUT_MODE | = lv_out_mode | |
| READ_EQBS | = lv_read_eqbs | |
| IMPORTING | ||
| IS_DUP | = lv_is_dup | |
| TABLES | ||
| I_EQUI | = lt_i_equi | |
| A_EQUI | = lt_a_equi | |
| D_EQUI | = lt_d_equi | |
| A_EQBS | = lt_a_eqbs | |
| ET_EQUI_ERR | = lt_et_equi_err | |
| EXCEPTIONS | ||
| NO_EQUIS_FOUND = 1 | ||
| ERR_HANDLE = 2 | ||
| . " SERIALNUMBER_ARRAY | ||
ABAP code using 7.40 inline data declarations to call FM SERIALNUMBER_ARRAY
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 IIND FROM IREF INTO @DATA(ld_is_dup). | ||||
| "SELECT single BOOL FROM ITOB_TYPES INTO @DATA(ld_id_lock). | ||||
| DATA(ld_id_lock) | = ITOB_BOOL-FALSE. | |||
| "SELECT single IND FROM ITOB_TYPES INTO @DATA(ld_id_lock_only). | ||||
| DATA(ld_id_lock_only) | = ITOB_LOCK_ONLY-NONE. | |||
| "SELECT single IIND FROM IREF INTO @DATA(ld_key_matser). | ||||
| DATA(ld_key_matser) | = 'X'. | |||
| DATA(ld_out_mode) | = '0'. | |||
| "SELECT single IIND FROM IREF INTO @DATA(ld_read_eqbs). | ||||
| DATA(ld_read_eqbs) | = ' '. | |||
Search for further information about these or an SAP related objects