SAP IM_SM_CREATE_ORDER Function Module for NOTRANSL: Anlegen PM/SM-Auftrag









IM_SM_CREATE_ORDER is a standard im sm create order 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: Anlegen PM/SM-Auftrag 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 im sm create order FM, simply by entering the name IM_SM_CREATE_ORDER into the relevant SAP transaction such as SE37 or SE38.

Function Group: IMSM
Program Name: SAPLIMSM
Main Program: SAPLIMSM
Appliation area: I
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function IM_SM_CREATE_ORDER 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 'IM_SM_CREATE_ORDER'"NOTRANSL: Anlegen PM/SM-Auftrag
EXPORTING
OBJNR = "Object Number
* BZGSOBJTYP = "Reference Object Type
* BZGSOBJ = "Reference Object
* BZGSERNR = "
* DARK_CONFIGURATION = ' ' "
* PM_IHPA = "
* PM_ADR = "
* PM_OBJLIST = "
* PM_TEXT = "
* PM_PERMITS = "
* SDSM_COM_IMP = "
IWERK = "Maintenance Planning Plant
* SDSM_INTERFACE = "
* ORDPAR_IMP = "
SVOBJ_ID = "Service object ID
SVOBJ = "Service Object
* AUART = "Order Type
* CUOBJ = "Configuration Data
* GSTRP = "Basic Start Date
* GLTRP = "Basic Finish Date
* KTEXT = "Short Text

EXCEPTIONS
NO_T399A_ENTRY = 1 SERIALNUMBER_MISSING = 10 OBJECT_NOT_FOUND = 11 UNNECESSARY_CONFIGURATION_DATA = 12 ERROR_COPY_CONFIGURATION = 13 ORDER_ALREADY_EXISTS = 14 OBJECT_NOT_ALLOWED = 15 INTERNAL_UPDATE_ERROR = 16 WRONG_OBJECT_TYPE = 17 REFURBISHMENT_NOT_ALLOWED = 18 NO_TECHNICAL_OBJECT = 19 MISSING_T399A_DATA = 2 TEMPORARY_OBJECT_NOT_FOUND = 20 ILART_AUART_WRONG = 21 REF_OBJECT_CREATE_ERROR = 22 INCORRECT_RMA_CUSTOMIZING = 23 NO_T003O_ENTRY = 3 TASK_LIST_NOT_FOUND = 4 CREATE_ERROR = 5 CONFIGURATION_ERROR = 6 NO_CONFIGURATION_NUMBER = 7 ORDER_NOT_CHANGEABLE = 8 ORDER_NOT_FOUND = 9
.



IMPORTING Parameters details for IM_SM_CREATE_ORDER

OBJNR - Object Number

Data type: CAUFVD-OBJNR
Optional: No
Call by Reference: No ( called with pass by value option)

BZGSOBJTYP - Reference Object Type

Data type: T399A-BZGSOBJTYP
Optional: Yes
Call by Reference: No ( called with pass by value option)

BZGSOBJ - Reference Object

Data type: T399A-BZGSOBJ
Optional: Yes
Call by Reference: No ( called with pass by value option)

BZGSERNR -

Data type: T399A-BZGSERNR
Optional: Yes
Call by Reference: No ( called with pass by value option)

DARK_CONFIGURATION -

Data type: SY-BATCH
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

PM_IHPA -

Data type: IMSMT_PA
Optional: Yes
Call by Reference: No ( called with pass by value option)

PM_ADR -

Data type: IMSMT_ADR
Optional: Yes
Call by Reference: No ( called with pass by value option)

PM_OBJLIST -

Data type: IMTOL_TO
Optional: Yes
Call by Reference: No ( called with pass by value option)

PM_TEXT -

Data type: IMTXT_TEXT
Optional: Yes
Call by Reference: No ( called with pass by value option)

PM_PERMITS -

Data type: IMPRM_PE
Optional: Yes
Call by Reference: No ( called with pass by value option)

SDSM_COM_IMP -

Data type: SDSM_COM
Optional: Yes
Call by Reference: No ( called with pass by value option)

IWERK - Maintenance Planning Plant

Data type: CAUFVD-IWERK
Optional: No
Call by Reference: No ( called with pass by value option)

SDSM_INTERFACE -

Data type: TSDSM_INTERFACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

ORDPAR_IMP -

Data type: ORDPAR
Optional: Yes
Call by Reference: No ( called with pass by value option)

SVOBJ_ID - Service object ID

Data type: T399A-SVOBJ_ID
Optional: No
Call by Reference: No ( called with pass by value option)

SVOBJ - Service Object

Data type: T399A-SVOBJ
Optional: No
Call by Reference: No ( called with pass by value option)

AUART - Order Type

Data type: CAUFVD-AUART
Optional: Yes
Call by Reference: No ( called with pass by value option)

CUOBJ - Configuration Data

Data type: CAUFVD-CUOBJ
Optional: Yes
Call by Reference: No ( called with pass by value option)

GSTRP - Basic Start Date

Data type: CAUFVD-GSTRP
Optional: Yes
Call by Reference: No ( called with pass by value option)

GLTRP - Basic Finish Date

Data type: CAUFVD-GLTRP
Optional: Yes
Call by Reference: No ( called with pass by value option)

KTEXT - Short Text

Data type: CAUFVD-KTEXT
Optional: Yes
Call by Reference: No ( called with pass by value option)

EXCEPTIONS details

NO_T399A_ENTRY -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SERIALNUMBER_MISSING - Serial number missing

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

OBJECT_NOT_FOUND - Object Not Found

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

UNNECESSARY_CONFIGURATION_DATA -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_COPY_CONFIGURATION -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ORDER_ALREADY_EXISTS - Request already exists

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

OBJECT_NOT_ALLOWED -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

INTERNAL_UPDATE_ERROR - Internal Error

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

WRONG_OBJECT_TYPE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

REFURBISHMENT_NOT_ALLOWED -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NO_TECHNICAL_OBJECT -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

MISSING_T399A_DATA -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

TEMPORARY_OBJECT_NOT_FOUND -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ILART_AUART_WRONG -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

REF_OBJECT_CREATE_ERROR -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

INCORRECT_RMA_CUSTOMIZING -

Data type:
Optional: No
Call by Reference: Yes

NO_T003O_ENTRY -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

TASK_LIST_NOT_FOUND -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

CREATE_ERROR -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

CONFIGURATION_ERROR - Error in configuration

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NO_CONFIGURATION_NUMBER -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ORDER_NOT_CHANGEABLE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ORDER_NOT_FOUND - Order not found

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

Copy and paste ABAP code example for IM_SM_CREATE_ORDER 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_objnr  TYPE CAUFVD-OBJNR, "   
lv_no_t399a_entry  TYPE CAUFVD, "   
lv_bzgsobjtyp  TYPE T399A-BZGSOBJTYP, "   
lv_serialnumber_missing  TYPE T399A, "   
lv_bzgsobj  TYPE T399A-BZGSOBJ, "   
lv_object_not_found  TYPE T399A, "   
lv_bzgsernr  TYPE T399A-BZGSERNR, "   
lv_unnecessary_configuration_data  TYPE T399A, "   
lv_dark_configuration  TYPE SY-BATCH, "   SPACE
lv_error_copy_configuration  TYPE SY, "   
lv_pm_ihpa  TYPE IMSMT_PA, "   
lv_order_already_exists  TYPE IMSMT_PA, "   
lv_pm_adr  TYPE IMSMT_ADR, "   
lv_object_not_allowed  TYPE IMSMT_ADR, "   
lv_pm_objlist  TYPE IMTOL_TO, "   
lv_internal_update_error  TYPE IMTOL_TO, "   
lv_pm_text  TYPE IMTXT_TEXT, "   
lv_wrong_object_type  TYPE IMTXT_TEXT, "   
lv_pm_permits  TYPE IMPRM_PE, "   
lv_refurbishment_not_allowed  TYPE IMPRM_PE, "   
lv_sdsm_com_imp  TYPE SDSM_COM, "   
lv_no_technical_object  TYPE SDSM_COM, "   
lv_iwerk  TYPE CAUFVD-IWERK, "   
lv_missing_t399a_data  TYPE CAUFVD, "   
lv_sdsm_interface  TYPE TSDSM_INTERFACE, "   
lv_temporary_object_not_found  TYPE TSDSM_INTERFACE, "   
lv_ordpar_imp  TYPE ORDPAR, "   
lv_ilart_auart_wrong  TYPE ORDPAR, "   
lv_ref_object_create_error  TYPE ORDPAR, "   
lv_incorrect_rma_customizing  TYPE ORDPAR, "   
lv_svobj_id  TYPE T399A-SVOBJ_ID, "   
lv_no_t003o_entry  TYPE T399A, "   
lv_svobj  TYPE T399A-SVOBJ, "   
lv_task_list_not_found  TYPE T399A, "   
lv_auart  TYPE CAUFVD-AUART, "   
lv_create_error  TYPE CAUFVD, "   
lv_cuobj  TYPE CAUFVD-CUOBJ, "   
lv_configuration_error  TYPE CAUFVD, "   
lv_gstrp  TYPE CAUFVD-GSTRP, "   
lv_no_configuration_number  TYPE CAUFVD, "   
lv_gltrp  TYPE CAUFVD-GLTRP, "   
lv_order_not_changeable  TYPE CAUFVD, "   
lv_ktext  TYPE CAUFVD-KTEXT, "   
lv_order_not_found  TYPE CAUFVD. "   

  CALL FUNCTION 'IM_SM_CREATE_ORDER'  "NOTRANSL: Anlegen PM/SM-Auftrag
    EXPORTING
         OBJNR = lv_objnr
         BZGSOBJTYP = lv_bzgsobjtyp
         BZGSOBJ = lv_bzgsobj
         BZGSERNR = lv_bzgsernr
         DARK_CONFIGURATION = lv_dark_configuration
         PM_IHPA = lv_pm_ihpa
         PM_ADR = lv_pm_adr
         PM_OBJLIST = lv_pm_objlist
         PM_TEXT = lv_pm_text
         PM_PERMITS = lv_pm_permits
         SDSM_COM_IMP = lv_sdsm_com_imp
         IWERK = lv_iwerk
         SDSM_INTERFACE = lv_sdsm_interface
         ORDPAR_IMP = lv_ordpar_imp
         SVOBJ_ID = lv_svobj_id
         SVOBJ = lv_svobj
         AUART = lv_auart
         CUOBJ = lv_cuobj
         GSTRP = lv_gstrp
         GLTRP = lv_gltrp
         KTEXT = lv_ktext
    EXCEPTIONS
        NO_T399A_ENTRY = 1
        SERIALNUMBER_MISSING = 10
        OBJECT_NOT_FOUND = 11
        UNNECESSARY_CONFIGURATION_DATA = 12
        ERROR_COPY_CONFIGURATION = 13
        ORDER_ALREADY_EXISTS = 14
        OBJECT_NOT_ALLOWED = 15
        INTERNAL_UPDATE_ERROR = 16
        WRONG_OBJECT_TYPE = 17
        REFURBISHMENT_NOT_ALLOWED = 18
        NO_TECHNICAL_OBJECT = 19
        MISSING_T399A_DATA = 2
        TEMPORARY_OBJECT_NOT_FOUND = 20
        ILART_AUART_WRONG = 21
        REF_OBJECT_CREATE_ERROR = 22
        INCORRECT_RMA_CUSTOMIZING = 23
        NO_T003O_ENTRY = 3
        TASK_LIST_NOT_FOUND = 4
        CREATE_ERROR = 5
        CONFIGURATION_ERROR = 6
        NO_CONFIGURATION_NUMBER = 7
        ORDER_NOT_CHANGEABLE = 8
        ORDER_NOT_FOUND = 9
. " IM_SM_CREATE_ORDER




ABAP code using 7.40 inline data declarations to call FM IM_SM_CREATE_ORDER

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 OBJNR FROM CAUFVD INTO @DATA(ld_objnr).
 
 
"SELECT single BZGSOBJTYP FROM T399A INTO @DATA(ld_bzgsobjtyp).
 
 
"SELECT single BZGSOBJ FROM T399A INTO @DATA(ld_bzgsobj).
 
 
"SELECT single BZGSERNR FROM T399A INTO @DATA(ld_bzgsernr).
 
 
"SELECT single BATCH FROM SY INTO @DATA(ld_dark_configuration).
DATA(ld_dark_configuration) = ' '.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
"SELECT single IWERK FROM CAUFVD INTO @DATA(ld_iwerk).
 
 
 
 
 
 
 
 
"SELECT single SVOBJ_ID FROM T399A INTO @DATA(ld_svobj_id).
 
 
"SELECT single SVOBJ FROM T399A INTO @DATA(ld_svobj).
 
 
"SELECT single AUART FROM CAUFVD INTO @DATA(ld_auart).
 
 
"SELECT single CUOBJ FROM CAUFVD INTO @DATA(ld_cuobj).
 
 
"SELECT single GSTRP FROM CAUFVD INTO @DATA(ld_gstrp).
 
 
"SELECT single GLTRP FROM CAUFVD INTO @DATA(ld_gltrp).
 
 
"SELECT single KTEXT FROM CAUFVD INTO @DATA(ld_ktext).
 
 


Search for further information about these or an SAP related objects



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!