SAP PM_OBJECT_SCREEN Function Module for NOTRANSL: Allgemeinebearbeitung Objektbildbaustein
PM_OBJECT_SCREEN is a standard pm object screen 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: Allgemeinebearbeitung Objektbildbaustein 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 pm object screen FM, simply by entering the name PM_OBJECT_SCREEN into the relevant SAP transaction such as SE37 or SE38.
Function Group: IWO1
Program Name: SAPLIWO1
Main Program: SAPLIWO1
Appliation area: I
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function PM_OBJECT_SCREEN 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 'PM_OBJECT_SCREEN'"NOTRANSL: Allgemeinebearbeitung Objektbildbaustein.
EXPORTING
* BAUTL = ' ' "
* I_CREATE_OBJ = ' ' "
* DATUM = SY-DATUM "
* EQUNR = ' ' "
* MSGTY = ' ' "
* TIME = SY-UZEIT "
* TPLNR = ' ' "
* SERIALNR = "
* MATNR = "
* I_ILOA_INDIVIDUAL = "
IMPORTING
BAUTL = "
TPLNR = "
SERIALNR = "
MATNR = "
MATKTX = "
FLGSER = "
BAUTX = "
EEQUI = "
EEQUZ = "
EIFLO = "
EILOA = "
EQKTX = "
EQUNR = "
PLTXT = "
CHANGING
* CV_UII = ' ' "Unique Item Identifier (CHAR72)
EXCEPTIONS
NO_AUTHORITY = 1 INVALID_EQUIPMENT = 2 INVALID_LOCATION = 3 NO_MATERIAL = 4 INVALID_MATERIAL = 5 INVALID_SERIAL_NUMBER = 6
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_SAPLIWO1_001 Create PM/CS Notification: Determination of Ref. Object for Customer Exit
EXIT_SAPLIWO1_003 Check PM Object and Display Object Information
EXIT_SAPLIWO1_004 PM/SM - Authorization Check for Reference Object
EXIT_SAPLIWO1_005 PM/SM - Authorization Check when Changing Planner Group
IMPORTING Parameters details for PM_OBJECT_SCREEN
BAUTL -
Data type: MARA-MATNRDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CREATE_OBJ -
Data type: RIWO1-SMODEDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
DATUM -
Data type: SY-DATUMDefault: SY-DATUM
Optional: Yes
Call by Reference: No ( called with pass by value option)
EQUNR -
Data type: EQUI-EQUNRDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
MSGTY -
Data type: SY-MSGTYDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
TIME -
Data type: RIWO1-SZEITDefault: SY-UZEIT
Optional: Yes
Call by Reference: No ( called with pass by value option)
TPLNR -
Data type: IFLO-TPLNRDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
SERIALNR -
Data type: RIWO1-SERIALNROptional: Yes
Call by Reference: No ( called with pass by value option)
MATNR -
Data type: RIWO1-MATNROptional: Yes
Call by Reference: No ( called with pass by value option)
I_ILOA_INDIVIDUAL -
Data type: RIWO1-SMODEOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for PM_OBJECT_SCREEN
BAUTL -
Data type: MARA-MATNROptional: No
Call by Reference: No ( called with pass by value option)
TPLNR -
Data type: IFLO-TPLNROptional: No
Call by Reference: No ( called with pass by value option)
SERIALNR -
Data type: RIWO1-SERIALNROptional: No
Call by Reference: No ( called with pass by value option)
MATNR -
Data type: RIWO1-MATNROptional: No
Call by Reference: No ( called with pass by value option)
MATKTX -
Data type: RIWO1-MATKTXOptional: No
Call by Reference: No ( called with pass by value option)
FLGSER -
Data type: RIWO1-FLGSEROptional: No
Call by Reference: No ( called with pass by value option)
BAUTX -
Data type: RIHSTPX-MAKTXOptional: No
Call by Reference: No ( called with pass by value option)
EEQUI -
Data type: EQUIOptional: No
Call by Reference: No ( called with pass by value option)
EEQUZ -
Data type: EQUZOptional: No
Call by Reference: No ( called with pass by value option)
EIFLO -
Data type: IFLOOptional: No
Call by Reference: No ( called with pass by value option)
EILOA -
Data type: ILOAOptional: No
Call by Reference: No ( called with pass by value option)
EQKTX -
Data type: EQKT-EQKTXOptional: No
Call by Reference: No ( called with pass by value option)
EQUNR -
Data type: EQUI-EQUNROptional: No
Call by Reference: No ( called with pass by value option)
PLTXT -
Data type: IFLO-PLTXTOptional: No
Call by Reference: No ( called with pass by value option)
CHANGING Parameters details for PM_OBJECT_SCREEN
CV_UII - Unique Item Identifier (CHAR72)
Data type: RIWO1-UIIDefault: SPACE
Optional: Yes
Call by Reference: Yes
EXCEPTIONS details
NO_AUTHORITY -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INVALID_EQUIPMENT -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INVALID_LOCATION -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_MATERIAL -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INVALID_MATERIAL -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INVALID_SERIAL_NUMBER -
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for PM_OBJECT_SCREEN 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_bautl | TYPE MARA-MATNR, " | |||
| lv_bautl | TYPE MARA-MATNR, " SPACE | |||
| lv_cv_uii | TYPE RIWO1-UII, " SPACE | |||
| lv_no_authority | TYPE RIWO1, " | |||
| lv_tplnr | TYPE IFLO-TPLNR, " | |||
| lv_i_create_obj | TYPE RIWO1-SMODE, " SPACE | |||
| lv_serialnr | TYPE RIWO1-SERIALNR, " | |||
| lv_matnr | TYPE RIWO1-MATNR, " | |||
| lv_matktx | TYPE RIWO1-MATKTX, " | |||
| lv_flgser | TYPE RIWO1-FLGSER, " | |||
| lv_bautx | TYPE RIHSTPX-MAKTX, " | |||
| lv_datum | TYPE SY-DATUM, " SY-DATUM | |||
| lv_invalid_equipment | TYPE SY, " | |||
| lv_eequi | TYPE EQUI, " | |||
| lv_equnr | TYPE EQUI-EQUNR, " SPACE | |||
| lv_invalid_location | TYPE EQUI, " | |||
| lv_eequz | TYPE EQUZ, " | |||
| lv_msgty | TYPE SY-MSGTY, " SPACE | |||
| lv_no_material | TYPE SY, " | |||
| lv_time | TYPE RIWO1-SZEIT, " SY-UZEIT | |||
| lv_eiflo | TYPE IFLO, " | |||
| lv_invalid_material | TYPE IFLO, " | |||
| lv_eiloa | TYPE ILOA, " | |||
| lv_tplnr | TYPE IFLO-TPLNR, " SPACE | |||
| lv_invalid_serial_number | TYPE IFLO, " | |||
| lv_eqktx | TYPE EQKT-EQKTX, " | |||
| lv_serialnr | TYPE RIWO1-SERIALNR, " | |||
| lv_equnr | TYPE EQUI-EQUNR, " | |||
| lv_matnr | TYPE RIWO1-MATNR, " | |||
| lv_pltxt | TYPE IFLO-PLTXT, " | |||
| lv_i_iloa_individual | TYPE RIWO1-SMODE. " |
|   CALL FUNCTION 'PM_OBJECT_SCREEN' "NOTRANSL: Allgemeinebearbeitung Objektbildbaustein |
| EXPORTING | ||
| BAUTL | = lv_bautl | |
| I_CREATE_OBJ | = lv_i_create_obj | |
| DATUM | = lv_datum | |
| EQUNR | = lv_equnr | |
| MSGTY | = lv_msgty | |
| TIME | = lv_time | |
| TPLNR | = lv_tplnr | |
| SERIALNR | = lv_serialnr | |
| MATNR | = lv_matnr | |
| I_ILOA_INDIVIDUAL | = lv_i_iloa_individual | |
| IMPORTING | ||
| BAUTL | = lv_bautl | |
| TPLNR | = lv_tplnr | |
| SERIALNR | = lv_serialnr | |
| MATNR | = lv_matnr | |
| MATKTX | = lv_matktx | |
| FLGSER | = lv_flgser | |
| BAUTX | = lv_bautx | |
| EEQUI | = lv_eequi | |
| EEQUZ | = lv_eequz | |
| EIFLO | = lv_eiflo | |
| EILOA | = lv_eiloa | |
| EQKTX | = lv_eqktx | |
| EQUNR | = lv_equnr | |
| PLTXT | = lv_pltxt | |
| CHANGING | ||
| CV_UII | = lv_cv_uii | |
| EXCEPTIONS | ||
| NO_AUTHORITY = 1 | ||
| INVALID_EQUIPMENT = 2 | ||
| INVALID_LOCATION = 3 | ||
| NO_MATERIAL = 4 | ||
| INVALID_MATERIAL = 5 | ||
| INVALID_SERIAL_NUMBER = 6 | ||
| . " PM_OBJECT_SCREEN | ||
ABAP code using 7.40 inline data declarations to call FM PM_OBJECT_SCREEN
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 MATNR FROM MARA INTO @DATA(ld_bautl). | ||||
| "SELECT single MATNR FROM MARA INTO @DATA(ld_bautl). | ||||
| DATA(ld_bautl) | = ' '. | |||
| "SELECT single UII FROM RIWO1 INTO @DATA(ld_cv_uii). | ||||
| DATA(ld_cv_uii) | = ' '. | |||
| "SELECT single TPLNR FROM IFLO INTO @DATA(ld_tplnr). | ||||
| "SELECT single SMODE FROM RIWO1 INTO @DATA(ld_i_create_obj). | ||||
| DATA(ld_i_create_obj) | = ' '. | |||
| "SELECT single SERIALNR FROM RIWO1 INTO @DATA(ld_serialnr). | ||||
| "SELECT single MATNR FROM RIWO1 INTO @DATA(ld_matnr). | ||||
| "SELECT single MATKTX FROM RIWO1 INTO @DATA(ld_matktx). | ||||
| "SELECT single FLGSER FROM RIWO1 INTO @DATA(ld_flgser). | ||||
| "SELECT single MAKTX FROM RIHSTPX INTO @DATA(ld_bautx). | ||||
| "SELECT single DATUM FROM SY INTO @DATA(ld_datum). | ||||
| DATA(ld_datum) | = SY-DATUM. | |||
| "SELECT single EQUNR FROM EQUI INTO @DATA(ld_equnr). | ||||
| DATA(ld_equnr) | = ' '. | |||
| "SELECT single MSGTY FROM SY INTO @DATA(ld_msgty). | ||||
| DATA(ld_msgty) | = ' '. | |||
| "SELECT single SZEIT FROM RIWO1 INTO @DATA(ld_time). | ||||
| DATA(ld_time) | = SY-UZEIT. | |||
| "SELECT single TPLNR FROM IFLO INTO @DATA(ld_tplnr). | ||||
| DATA(ld_tplnr) | = ' '. | |||
| "SELECT single EQKTX FROM EQKT INTO @DATA(ld_eqktx). | ||||
| "SELECT single SERIALNR FROM RIWO1 INTO @DATA(ld_serialnr). | ||||
| "SELECT single EQUNR FROM EQUI INTO @DATA(ld_equnr). | ||||
| "SELECT single MATNR FROM RIWO1 INTO @DATA(ld_matnr). | ||||
| "SELECT single PLTXT FROM IFLO INTO @DATA(ld_pltxt). | ||||
| "SELECT single SMODE FROM RIWO1 INTO @DATA(ld_i_iloa_individual). | ||||
Search for further information about these or an SAP related objects