SAP BAPI_ALM_ORDER_MAINTAIN Function Module for Process Maintenance/Service Order
BAPI_ALM_ORDER_MAINTAIN is a standard bapi alm order maintain SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Process Maintenance/Service Order 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 bapi alm order maintain FM, simply by entering the name BAPI_ALM_ORDER_MAINTAIN into the relevant SAP transaction such as SE37 or SE38.
Function Group: IBAPI_ALM_ORDER
Program Name: SAPLIBAPI_ALM_ORDER
Main Program: SAPLIBAPI_ALM_ORDER
Appliation area:
Release date: 24-Apr-2002
Mode(Normal, Remote etc): Remote-Enabled
Update:
Function BAPI_ALM_ORDER_MAINTAIN 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 'BAPI_ALM_ORDER_MAINTAIN'"Process Maintenance/Service Order.
EXPORTING
* IV_MMSRV_EXTERNAL_MAINTENACE = "MMSRV Data for Order Item Is Maintained Externally
TABLES
IT_METHODS = "BAPI structure: Processing methods
* IT_OPERATION_UP = "Update Structure for PM/CS BAPI Operations
* IT_RELATION = "BAPI Structure for ALM Order Relationships
* IT_RELATION_UP = "BAPI Structure for ALM Order Relationships
* IT_COMPONENT = "PM/CS BAPI Order Components
* IT_COMPONENT_UP = "PM/CS BAPI Order Components (Update Structure)
* IT_OBJECTLIST = "Object List - BAPI Structure
* IT_OBJECTLIST_UP = "Update Structure for Object List PM/CS
* IT_OLIST_RELATION = "OPROL - Relation Operation Object List - BAPI Structure
* IT_TEXT = "Text Header for ALM Order BAPIs
* IT_TEXT_LINES = "SAPscript: Text Lines
* IT_HEADER = "Import Structure for ALM Order Headers
* IT_SRULE = "PM/CS BAPI Settlement Rule
* IT_SRULE_UP = "PM/CS BAPI Settlement Rule (Update Structure)
* IT_TASKLISTS = "Parameter for Integrating Task Lists
* EXTENSION_IN = "Reference Structure for BAPI Parameters EXTENSIONIN/EXTENSIONOUT
* RETURN = "Return Parameter(s)
* ET_NUMBERS = "Return Structure with Transferred and Issued Order Numbers
* IT_REFORDER_ITEM = "BAPI: Header Component for Refurbishment Order (Import)
* IT_REFORDER_ITEM_UP = "BAPI: Update Structure for Refurbishment Order Item
* IT_REFORDER_SERNO_OLIST_INS = "BAPI: Import Structure for Serial Number Object List
* IT_REFORDER_SERNO_OLIST_DEL = "BAPI: Import Structure for Serial Number Object List
* IT_HEADER_UP = "Update Structure for ALM Order Headers
* IT_PRT = "ALM Order BAPIs: Input Structure for Production Resources/Tools
* IT_PRT_UP = "ALM Order BAPIs: Changes for Production Resources/Tools
* IT_REFORDER_OPERATION = "BAPI Input Structure for Refurbishment Order First Operation
* IT_SERVICEOUTLINE = "
* IT_SERVICEOUTLINE_UP = "
* IT_SERVICELINES = "
* IT_SERVICELINES_UP = "
* IT_SERVICELIMIT = "
* IT_SERVICELIMIT_UP = "
* IT_SERVICECONTRACTLIMITS = "
* IT_HEADER_SRV = "ALM Order BAPIs: Service-Specific Data, External Structure
* IT_SERVICECONTRACTLIMITS_UP = "
* ET_NOTIFICATION_NUMBERS = "
* IT_PERMIT = "Permits
* IT_PERMIT_UP = "Update Table for Permits
* IT_PERMIT_ISSUE = "Issue Permits
* IT_ESTIMATED_COSTS = "ALM Order BAPIs: Estimated Costs per Value Category
* IT_HEADER_SRV_UP = "ALM Order BAPIs: Service-Specific Data, External Structure
* IT_USERSTATUS = "Structure for ALM Order, User Status Change
* IT_PARTNER = "ALM Order BAPIs: Partner Data for Several Orders
* IT_PARTNER_UP = "ALM Order BAPIs: Partner Data for Several Orders, Update
* IT_OPERATION = "Input Structure for PM/CS BAPIs Operations
IMPORTING Parameters details for BAPI_ALM_ORDER_MAINTAIN
IV_MMSRV_EXTERNAL_MAINTENACE - MMSRV Data for Order Item Is Maintained Externally
Data type: BAPI_FLAGOptional: Yes
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for BAPI_ALM_ORDER_MAINTAIN
IT_METHODS - BAPI structure: Processing methods
Data type: BAPI_ALM_ORDER_METHODOptional: No
Call by Reference: Yes
IT_OPERATION_UP - Update Structure for PM/CS BAPI Operations
Data type: BAPI_ALM_ORDER_OPERATION_UPOptional: Yes
Call by Reference: Yes
IT_RELATION - BAPI Structure for ALM Order Relationships
Data type: BAPI_ALM_ORDER_RELATIONOptional: Yes
Call by Reference: Yes
IT_RELATION_UP - BAPI Structure for ALM Order Relationships
Data type: BAPI_ALM_ORDER_RELATION_UPOptional: Yes
Call by Reference: Yes
IT_COMPONENT - PM/CS BAPI Order Components
Data type: BAPI_ALM_ORDER_COMPONENTOptional: Yes
Call by Reference: Yes
IT_COMPONENT_UP - PM/CS BAPI Order Components (Update Structure)
Data type: BAPI_ALM_ORDER_COMPONENT_UPOptional: Yes
Call by Reference: Yes
IT_OBJECTLIST - Object List - BAPI Structure
Data type: BAPI_ALM_ORDER_OBJECTLISTOptional: Yes
Call by Reference: Yes
IT_OBJECTLIST_UP - Update Structure for Object List PM/CS
Data type: BAPI_ALM_ORDER_OLIST_UPOptional: Yes
Call by Reference: Yes
IT_OLIST_RELATION - OPROL - Relation Operation Object List - BAPI Structure
Data type: BAPI_ALM_OLIST_RELATIONOptional: Yes
Call by Reference: Yes
IT_TEXT - Text Header for ALM Order BAPIs
Data type: BAPI_ALM_TEXTOptional: Yes
Call by Reference: Yes
IT_TEXT_LINES - SAPscript: Text Lines
Data type: BAPI_ALM_TEXT_LINESOptional: Yes
Call by Reference: Yes
IT_HEADER - Import Structure for ALM Order Headers
Data type: BAPI_ALM_ORDER_HEADERS_IOptional: Yes
Call by Reference: Yes
IT_SRULE - PM/CS BAPI Settlement Rule
Data type: BAPI_ALM_ORDER_SRULEOptional: Yes
Call by Reference: Yes
IT_SRULE_UP - PM/CS BAPI Settlement Rule (Update Structure)
Data type: BAPI_ALM_ORDER_SRULE_UPOptional: Yes
Call by Reference: Yes
IT_TASKLISTS - Parameter for Integrating Task Lists
Data type: BAPI_ALM_ORDER_TASKLISTS_IOptional: Yes
Call by Reference: Yes
EXTENSION_IN - Reference Structure for BAPI Parameters EXTENSIONIN/EXTENSIONOUT
Data type: BAPIPAREXOptional: Yes
Call by Reference: Yes
RETURN - Return Parameter(s)
Data type: BAPIRET2Optional: Yes
Call by Reference: Yes
ET_NUMBERS - Return Structure with Transferred and Issued Order Numbers
Data type: BAPI_ALM_NUMBERSOptional: Yes
Call by Reference: Yes
IT_REFORDER_ITEM - BAPI: Header Component for Refurbishment Order (Import)
Data type: BAPI_REFORDER_ITEM_IOptional: Yes
Call by Reference: Yes
IT_REFORDER_ITEM_UP - BAPI: Update Structure for Refurbishment Order Item
Data type: BAPI_REFORDER_ITEM_UPOptional: Yes
Call by Reference: Yes
IT_REFORDER_SERNO_OLIST_INS - BAPI: Import Structure for Serial Number Object List
Data type: BAPI_REFORDER_SERNO_OLIST_IOptional: Yes
Call by Reference: Yes
IT_REFORDER_SERNO_OLIST_DEL - BAPI: Import Structure for Serial Number Object List
Data type: BAPI_REFORDER_SERNO_OLIST_IOptional: Yes
Call by Reference: Yes
IT_HEADER_UP - Update Structure for ALM Order Headers
Data type: BAPI_ALM_ORDER_HEADERS_UPOptional: Yes
Call by Reference: Yes
IT_PRT - ALM Order BAPIs: Input Structure for Production Resources/Tools
Data type: BAPI_ALM_ORDER_PRT_IOptional: Yes
Call by Reference: Yes
IT_PRT_UP - ALM Order BAPIs: Changes for Production Resources/Tools
Data type: BAPI_ALM_ORDER_PRT_UPOptional: Yes
Call by Reference: Yes
IT_REFORDER_OPERATION - BAPI Input Structure for Refurbishment Order First Operation
Data type: BAPI_REFORDER_OPERATIONOptional: Yes
Call by Reference: Yes
IT_SERVICEOUTLINE -
Data type: BAPI_ALM_SRV_OUTLINEOptional: Yes
Call by Reference: Yes
IT_SERVICEOUTLINE_UP -
Data type: BAPI_ALM_SRV_OUTLINE_UPOptional: Yes
Call by Reference: Yes
IT_SERVICELINES -
Data type: BAPI_ALM_SRV_SERVICE_LINEOptional: Yes
Call by Reference: Yes
IT_SERVICELINES_UP -
Data type: BAPI_ALM_SRV_SERVICE_LINE_UPOptional: Yes
Call by Reference: Yes
IT_SERVICELIMIT -
Data type: BAPI_ALM_SRV_LIMIT_DATAOptional: Yes
Call by Reference: Yes
IT_SERVICELIMIT_UP -
Data type: BAPI_ALM_SRV_LIMIT_DATA_UPOptional: Yes
Call by Reference: Yes
IT_SERVICECONTRACTLIMITS -
Data type: BAPI_ALM_SRV_CONTRACT_LIMITSOptional: Yes
Call by Reference: Yes
IT_HEADER_SRV - ALM Order BAPIs: Service-Specific Data, External Structure
Data type: BAPI_ALM_ORDER_SRVDAT_EOptional: Yes
Call by Reference: Yes
IT_SERVICECONTRACTLIMITS_UP -
Data type: BAPI_ALM_SRV_CONTRACT_LIMITS_UOptional: Yes
Call by Reference: Yes
ET_NOTIFICATION_NUMBERS -
Data type: BAPI_ALM_NOTIF_NUMBERSOptional: Yes
Call by Reference: Yes
IT_PERMIT - Permits
Data type: BAPI_ALM_ORDER_PERMITOptional: Yes
Call by Reference: Yes
IT_PERMIT_UP - Update Table for Permits
Data type: BAPI_ALM_ORDER_PERMIT_UPOptional: Yes
Call by Reference: Yes
IT_PERMIT_ISSUE - Issue Permits
Data type: BAPI_ALM_ORDER_PERMITISSUEOptional: Yes
Call by Reference: Yes
IT_ESTIMATED_COSTS - ALM Order BAPIs: Estimated Costs per Value Category
Data type: BAPI_ALM_ORDER_COSTS_EST_IOptional: Yes
Call by Reference: Yes
IT_HEADER_SRV_UP - ALM Order BAPIs: Service-Specific Data, External Structure
Data type: BAPI_ALM_ORDER_SRVDAT_UPOptional: Yes
Call by Reference: Yes
IT_USERSTATUS - Structure for ALM Order, User Status Change
Data type: BAPI_ALM_ORDER_USRSTATOptional: Yes
Call by Reference: Yes
IT_PARTNER - ALM Order BAPIs: Partner Data for Several Orders
Data type: BAPI_ALM_ORDER_PARTN_MULOptional: Yes
Call by Reference: Yes
IT_PARTNER_UP - ALM Order BAPIs: Partner Data for Several Orders, Update
Data type: BAPI_ALM_ORDER_PARTN_MUL_UPOptional: Yes
Call by Reference: Yes
IT_OPERATION - Input Structure for PM/CS BAPIs Operations
Data type: BAPI_ALM_ORDER_OPERATIONOptional: Yes
Call by Reference: Yes
Copy and paste ABAP code example for BAPI_ALM_ORDER_MAINTAIN 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_it_methods | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_METHOD, " | |||
lv_iv_mmsrv_external_maintenace | TYPE BAPI_FLAG, " | |||
lt_it_operation_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_OPERATION_UP, " | |||
lt_it_relation | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_RELATION, " | |||
lt_it_relation_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_RELATION_UP, " | |||
lt_it_component | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_COMPONENT, " | |||
lt_it_component_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_COMPONENT_UP, " | |||
lt_it_objectlist | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_OBJECTLIST, " | |||
lt_it_objectlist_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_OLIST_UP, " | |||
lt_it_olist_relation | TYPE STANDARD TABLE OF BAPI_ALM_OLIST_RELATION, " | |||
lt_it_text | TYPE STANDARD TABLE OF BAPI_ALM_TEXT, " | |||
lt_it_text_lines | TYPE STANDARD TABLE OF BAPI_ALM_TEXT_LINES, " | |||
lt_it_header | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_HEADERS_I, " | |||
lt_it_srule | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_SRULE, " | |||
lt_it_srule_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_SRULE_UP, " | |||
lt_it_tasklists | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_TASKLISTS_I, " | |||
lt_extension_in | TYPE STANDARD TABLE OF BAPIPAREX, " | |||
lt_return | TYPE STANDARD TABLE OF BAPIRET2, " | |||
lt_et_numbers | TYPE STANDARD TABLE OF BAPI_ALM_NUMBERS, " | |||
lt_it_reforder_item | TYPE STANDARD TABLE OF BAPI_REFORDER_ITEM_I, " | |||
lt_it_reforder_item_up | TYPE STANDARD TABLE OF BAPI_REFORDER_ITEM_UP, " | |||
lt_it_reforder_serno_olist_ins | TYPE STANDARD TABLE OF BAPI_REFORDER_SERNO_OLIST_I, " | |||
lt_it_reforder_serno_olist_del | TYPE STANDARD TABLE OF BAPI_REFORDER_SERNO_OLIST_I, " | |||
lt_it_header_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_HEADERS_UP, " | |||
lt_it_prt | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_PRT_I, " | |||
lt_it_prt_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_PRT_UP, " | |||
lt_it_reforder_operation | TYPE STANDARD TABLE OF BAPI_REFORDER_OPERATION, " | |||
lt_it_serviceoutline | TYPE STANDARD TABLE OF BAPI_ALM_SRV_OUTLINE, " | |||
lt_it_serviceoutline_up | TYPE STANDARD TABLE OF BAPI_ALM_SRV_OUTLINE_UP, " | |||
lt_it_servicelines | TYPE STANDARD TABLE OF BAPI_ALM_SRV_SERVICE_LINE, " | |||
lt_it_servicelines_up | TYPE STANDARD TABLE OF BAPI_ALM_SRV_SERVICE_LINE_UP, " | |||
lt_it_servicelimit | TYPE STANDARD TABLE OF BAPI_ALM_SRV_LIMIT_DATA, " | |||
lt_it_servicelimit_up | TYPE STANDARD TABLE OF BAPI_ALM_SRV_LIMIT_DATA_UP, " | |||
lt_it_servicecontractlimits | TYPE STANDARD TABLE OF BAPI_ALM_SRV_CONTRACT_LIMITS, " | |||
lt_it_header_srv | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_SRVDAT_E, " | |||
lt_it_servicecontractlimits_up | TYPE STANDARD TABLE OF BAPI_ALM_SRV_CONTRACT_LIMITS_U, " | |||
lt_et_notification_numbers | TYPE STANDARD TABLE OF BAPI_ALM_NOTIF_NUMBERS, " | |||
lt_it_permit | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_PERMIT, " | |||
lt_it_permit_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_PERMIT_UP, " | |||
lt_it_permit_issue | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_PERMITISSUE, " | |||
lt_it_estimated_costs | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_COSTS_EST_I, " | |||
lt_it_header_srv_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_SRVDAT_UP, " | |||
lt_it_userstatus | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_USRSTAT, " | |||
lt_it_partner | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_PARTN_MUL, " | |||
lt_it_partner_up | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_PARTN_MUL_UP, " | |||
lt_it_operation | TYPE STANDARD TABLE OF BAPI_ALM_ORDER_OPERATION. " |
  CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN' "Process Maintenance/Service Order |
EXPORTING | ||
IV_MMSRV_EXTERNAL_MAINTENACE | = lv_iv_mmsrv_external_maintenace | |
TABLES | ||
IT_METHODS | = lt_it_methods | |
IT_OPERATION_UP | = lt_it_operation_up | |
IT_RELATION | = lt_it_relation | |
IT_RELATION_UP | = lt_it_relation_up | |
IT_COMPONENT | = lt_it_component | |
IT_COMPONENT_UP | = lt_it_component_up | |
IT_OBJECTLIST | = lt_it_objectlist | |
IT_OBJECTLIST_UP | = lt_it_objectlist_up | |
IT_OLIST_RELATION | = lt_it_olist_relation | |
IT_TEXT | = lt_it_text | |
IT_TEXT_LINES | = lt_it_text_lines | |
IT_HEADER | = lt_it_header | |
IT_SRULE | = lt_it_srule | |
IT_SRULE_UP | = lt_it_srule_up | |
IT_TASKLISTS | = lt_it_tasklists | |
EXTENSION_IN | = lt_extension_in | |
RETURN | = lt_return | |
ET_NUMBERS | = lt_et_numbers | |
IT_REFORDER_ITEM | = lt_it_reforder_item | |
IT_REFORDER_ITEM_UP | = lt_it_reforder_item_up | |
IT_REFORDER_SERNO_OLIST_INS | = lt_it_reforder_serno_olist_ins | |
IT_REFORDER_SERNO_OLIST_DEL | = lt_it_reforder_serno_olist_del | |
IT_HEADER_UP | = lt_it_header_up | |
IT_PRT | = lt_it_prt | |
IT_PRT_UP | = lt_it_prt_up | |
IT_REFORDER_OPERATION | = lt_it_reforder_operation | |
IT_SERVICEOUTLINE | = lt_it_serviceoutline | |
IT_SERVICEOUTLINE_UP | = lt_it_serviceoutline_up | |
IT_SERVICELINES | = lt_it_servicelines | |
IT_SERVICELINES_UP | = lt_it_servicelines_up | |
IT_SERVICELIMIT | = lt_it_servicelimit | |
IT_SERVICELIMIT_UP | = lt_it_servicelimit_up | |
IT_SERVICECONTRACTLIMITS | = lt_it_servicecontractlimits | |
IT_HEADER_SRV | = lt_it_header_srv | |
IT_SERVICECONTRACTLIMITS_UP | = lt_it_servicecontractlimits_up | |
ET_NOTIFICATION_NUMBERS | = lt_et_notification_numbers | |
IT_PERMIT | = lt_it_permit | |
IT_PERMIT_UP | = lt_it_permit_up | |
IT_PERMIT_ISSUE | = lt_it_permit_issue | |
IT_ESTIMATED_COSTS | = lt_it_estimated_costs | |
IT_HEADER_SRV_UP | = lt_it_header_srv_up | |
IT_USERSTATUS | = lt_it_userstatus | |
IT_PARTNER | = lt_it_partner | |
IT_PARTNER_UP | = lt_it_partner_up | |
IT_OPERATION | = lt_it_operation | |
. " BAPI_ALM_ORDER_MAINTAIN |
ABAP code using 7.40 inline data declarations to call FM BAPI_ALM_ORDER_MAINTAIN
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