SAP PRC_PD_ITEM_CHANGE_MULTI Function Module for Ändern mehrerer Positions-Kommunikationsstrukturen eines Beleges
PRC_PD_ITEM_CHANGE_MULTI is a standard prc pd item change multi SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Ändern mehrerer Positions-Kommunikationsstrukturen eines Beleges 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 prc pd item change multi FM, simply by entering the name PRC_PD_ITEM_CHANGE_MULTI into the relevant SAP transaction such as SE37 or SE38.
Function Group: PRC_PRICING_API
Program Name: SAPLPRC_PRICING_API
Main Program: SAPLPRC_PRICING_API
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function PRC_PD_ITEM_CHANGE_MULTI 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 'PRC_PD_ITEM_CHANGE_MULTI'"Ändern mehrerer Positions-Kommunikationsstrukturen eines Beleges.
EXPORTING
IV_PD_HANDLE = "Handle eines Preisfindungslaufes
* IV_BAL_LOG = "Anwendungs-Log: Handle eines Protokolls
IT_ITEM_COM = "Technische Felder der Preisfindungsposition
* IT_ITEM_COM_ACS = "Interne Tabelle über Positions-Zugriffsfelder
* IT_COPY_DATA = "Daten zum Kopieren von Positionskonditionen
* IV_SUPPRESS_PRICING = "keine Preisfindung durchführen
IMPORTING
ET_ITEMS_FAULT = "Liste von Positionsnummern
EXCEPTIONS
NON_EXISTING_HANDLE = 1 NON_EXISTING_ITEM = 2 NOT_ALLOWED = 3 WRONG_CALL = 4 IPC_ERROR = 5
IMPORTING Parameters details for PRC_PD_ITEM_CHANGE_MULTI
IV_PD_HANDLE - Handle eines Preisfindungslaufes
Data type: PRCT_HANDLEOptional: No
Call by Reference: Yes
IV_BAL_LOG - Anwendungs-Log: Handle eines Protokolls
Data type: BALLOGHNDLOptional: Yes
Call by Reference: Yes
IT_ITEM_COM - Technische Felder der Preisfindungsposition
Data type: PRCT_ITEM_COM_TOptional: No
Call by Reference: Yes
IT_ITEM_COM_ACS - Interne Tabelle über Positions-Zugriffsfelder
Data type: INDEX TABLEOptional: Yes
Call by Reference: Yes
IT_COPY_DATA - Daten zum Kopieren von Positionskonditionen
Data type: PRCT_COPY_DATA_TOptional: Yes
Call by Reference: Yes
IV_SUPPRESS_PRICING - keine Preisfindung durchführen
Data type: PRCT_SUPPRESS_PRICINGOptional: Yes
Call by Reference: Yes
EXPORTING Parameters details for PRC_PD_ITEM_CHANGE_MULTI
ET_ITEMS_FAULT - Liste von Positionsnummern
Data type: PRCT_ITEM_NO_TOptional: No
Call by Reference: Yes
EXCEPTIONS details
NON_EXISTING_HANDLE - Handle existiert nicht
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NON_EXISTING_ITEM - Position existiert nicht
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NOT_ALLOWED - Gewünschte Funktion nicht erlaubt
Data type:Optional: No
Call by Reference: Yes
WRONG_CALL - Falscher Aufruf
Data type:Optional: No
Call by Reference: Yes
IPC_ERROR - Fehler beim Aufruf des IPC
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for PRC_PD_ITEM_CHANGE_MULTI 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_iv_pd_handle | TYPE PRCT_HANDLE, " | |||
| lv_et_items_fault | TYPE PRCT_ITEM_NO_T, " | |||
| lv_non_existing_handle | TYPE PRCT_ITEM_NO_T, " | |||
| lv_iv_bal_log | TYPE BALLOGHNDL, " | |||
| lv_non_existing_item | TYPE BALLOGHNDL, " | |||
| lv_it_item_com | TYPE PRCT_ITEM_COM_T, " | |||
| lv_not_allowed | TYPE PRCT_ITEM_COM_T, " | |||
| lv_wrong_call | TYPE PRCT_ITEM_COM_T, " | |||
| lv_it_item_com_acs | TYPE INDEX TABLE, " | |||
| lv_ipc_error | TYPE INDEX TABLE, " | |||
| lv_it_copy_data | TYPE PRCT_COPY_DATA_T, " | |||
| lv_iv_suppress_pricing | TYPE PRCT_SUPPRESS_PRICING. " |
|   CALL FUNCTION 'PRC_PD_ITEM_CHANGE_MULTI' "Ändern mehrerer Positions-Kommunikationsstrukturen eines Beleges |
| EXPORTING | ||
| IV_PD_HANDLE | = lv_iv_pd_handle | |
| IV_BAL_LOG | = lv_iv_bal_log | |
| IT_ITEM_COM | = lv_it_item_com | |
| IT_ITEM_COM_ACS | = lv_it_item_com_acs | |
| IT_COPY_DATA | = lv_it_copy_data | |
| IV_SUPPRESS_PRICING | = lv_iv_suppress_pricing | |
| IMPORTING | ||
| ET_ITEMS_FAULT | = lv_et_items_fault | |
| EXCEPTIONS | ||
| NON_EXISTING_HANDLE = 1 | ||
| NON_EXISTING_ITEM = 2 | ||
| NOT_ALLOWED = 3 | ||
| WRONG_CALL = 4 | ||
| IPC_ERROR = 5 | ||
| . " PRC_PD_ITEM_CHANGE_MULTI | ||
ABAP code using 7.40 inline data declarations to call FM PRC_PD_ITEM_CHANGE_MULTI
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