SAP PVSHI_PVCMP_MAINTAIN Function Module for iPPE: Maintain Variants of Product Structure









PVSHI_PVCMP_MAINTAIN is a standard pvshi pvcmp 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 iPPE: Maintain Variants of Product Structure 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 pvshi pvcmp maintain FM, simply by entering the name PVSHI_PVCMP_MAINTAIN into the relevant SAP transaction such as SE37 or SE38.

Function Group: PPEHI_CMP
Program Name: SAPLPPEHI_CMP
Main Program: SAPLPPEHI_CMP
Appliation area: C
Release date: 27-Oct-2003
Mode(Normal, Remote etc): Remote-Enabled
Update:



Function PVSHI_PVCMP_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 'PVSHI_PVCMP_MAINTAIN'"iPPE: Maintain Variants of Product Structure
EXPORTING
* I_MODE_ALL = 'X' "Ignore Errors
* I_CREATE_FLG = 'X' "Creation Allowed
* I_MSG_HANDLING = 'A' "Message Handling
* I_GENERATE_SAP_SYNTAX = ' ' "Generate SAP Syntax
* I_DELTA_FLG = ' ' "Delta Maintenance for iPPE API

TABLES
* COMPONENTVARIANTDATA = "iPPE/BAPI: Attributes of Product Structure Variant
* DEPENDENCYSOURCES = "iPPE/BAPI: Object Dependencies - Source Code Relationship
* CONFIGURATIONINSTANCE = "iPPE/BAPI: Instances of Several Configurations
* CONFIGURATIONVALUE = "iPPE/BAPI: Values of a Configuration
* CONFIGURATIONDEPENDENCYUPD = "iPPE / BAPI: Change to Object Dependencies or Configuration
* COMPONENTVARIANTCLASSDIFF = "iPPE/BAPI: Class Differentiation
* COMPONENTVARIANTCLASSDIFFX = "iPPE / BAPI: Class Differentiation (Change Parameter)
* COMPONENTVARIANTEXTENSION = "iPPE/BAPI: Customer Enhancements - CMP Variant
* COMPONENTVARIANTEXTENSIONX = "iPPE / BAPI: Customer Enhancements CMP Variant (Change Parameter)
* COMPONENTALTERNATIVEDATA = "iPPE/BAPI: Component Alternative
* COMPONENTALTERNATIVEDATAX = "iPPE/BAPI: Component Alternative (Change Parameter)
* COMPONENTVARIANTDATAX = "iPPE/BAPI: Attribues of Product Structure Variant (Change Parameter)
* COMPONENTALTERNATIVETEXT = "iPPE/BAPI: Alternative Text for Component
* COMPONENTALTERNATIVETEXTX = "iPPE/BAPI: Alternative Text for Component (Change Parameter)
* COMPONENTALTLONGTEXTHEADER = "iPPE/BAPI: Header Long Text for the Alternative
* COMPONENTALTLONGTEXTHEADERX = "iPPE/BAPI: Header Long Text for the Alternative (Change Parameter)
* COMPONENTALTLONGTEXT = "iPPE/BAPI: Long Text for the Alternative
* COMPONENTALTLONGTEXTX = "iPPE/BAPI: Long Text for the Alternative (Change Parameter)
* COMPONENTRELATION = "iPPE/BAPI: Component Relationship
* ACTIVITYRELATION = "iPPE/BAPI: Activities Relationship
* ACTIVITYRELATIONCONSTRAINT = "iPPE / BAPI: Additional Constraints
* RETURN = "Return Parameters
* COMPONENTVARIANTSHORTTEXT = "iPPE / BAPI: Short Text of the Variant
* COMPONENTVARIANTSHORTTEXTX = "iPPE / BAPI: Short Text of the Variant (Change Parameter)
* COMPONENTVARIANTTEXTHEADER = "iPPE/BAPI: Header Long Text for Variant
* COMPONENTVARIANTTEXTHEADERX = "iPPE / BAPI: Long Text Header for Variant (Change Parameter)
* COMPONENTVARIANTTEXT = "iPPE/BAPI: Long Text for Variant
* COMPONENTVARIANTTEXTX = "iPPE / BAPI: Long Text for Variant (Change Parameter)
* DEPENDENCYDATA = "iPPE/BAPI: Object Dependencies - Basic Data
.



IMPORTING Parameters details for PVSHI_PVCMP_MAINTAIN

I_MODE_ALL - Ignore Errors

Data type: PPE_MODE_ALL
Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_CREATE_FLG - Creation Allowed

Data type: PPE_CREATE_FLG
Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_MSG_HANDLING - Message Handling

Data type: PPE_MESSAGE_OPTION
Default: 'A'
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_GENERATE_SAP_SYNTAX - Generate SAP Syntax

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

I_DELTA_FLG - Delta Maintenance for iPPE API

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

TABLES Parameters details for PVSHI_PVCMP_MAINTAIN

COMPONENTVARIANTDATA - iPPE/BAPI: Attributes of Product Structure Variant

Data type: BAPI1176_CMP_VARIANTDATA
Optional: Yes
Call by Reference: Yes

DEPENDENCYSOURCES - iPPE/BAPI: Object Dependencies - Source Code Relationship

Data type: BAPI1176_CMP_DEPSOURCE
Optional: Yes
Call by Reference: Yes

CONFIGURATIONINSTANCE - iPPE/BAPI: Instances of Several Configurations

Data type: BAPI1176_CMP_CUINS
Optional: Yes
Call by Reference: Yes

CONFIGURATIONVALUE - iPPE/BAPI: Values of a Configuration

Data type: BAPI1176_CMP_CUVAL
Optional: Yes
Call by Reference: Yes

CONFIGURATIONDEPENDENCYUPD - iPPE / BAPI: Change to Object Dependencies or Configuration

Data type: BAPI1176_CMP_CONF_DEP_UPD
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTCLASSDIFF - iPPE/BAPI: Class Differentiation

Data type: BAPI1176_CMP_CLASSDIFF
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTCLASSDIFFX - iPPE / BAPI: Class Differentiation (Change Parameter)

Data type: BAPI1176_CMP_CLASSDIFFX
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTEXTENSION - iPPE/BAPI: Customer Enhancements - CMP Variant

Data type: BAPI_TE_PVCMPD
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTEXTENSIONX - iPPE / BAPI: Customer Enhancements CMP Variant (Change Parameter)

Data type: BAPI_TE_PVCMPDX
Optional: Yes
Call by Reference: Yes

COMPONENTALTERNATIVEDATA - iPPE/BAPI: Component Alternative

Data type: BAPI1176_CMP_ALTDATA
Optional: Yes
Call by Reference: Yes

COMPONENTALTERNATIVEDATAX - iPPE/BAPI: Component Alternative (Change Parameter)

Data type: BAPI1176_CMP_ALTDATAX
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTDATAX - iPPE/BAPI: Attribues of Product Structure Variant (Change Parameter)

Data type: BAPI1176_CMP_VARIANTDATAX
Optional: Yes
Call by Reference: Yes

COMPONENTALTERNATIVETEXT - iPPE/BAPI: Alternative Text for Component

Data type: BAPI1176_CMP_ALTTEXT
Optional: Yes
Call by Reference: Yes

COMPONENTALTERNATIVETEXTX - iPPE/BAPI: Alternative Text for Component (Change Parameter)

Data type: BAPI1176_CMP_ALTTEXTX
Optional: Yes
Call by Reference: Yes

COMPONENTALTLONGTEXTHEADER - iPPE/BAPI: Header Long Text for the Alternative

Data type: BAPI_PPE_ALT_LONGTEXT_HD
Optional: Yes
Call by Reference: Yes

COMPONENTALTLONGTEXTHEADERX - iPPE/BAPI: Header Long Text for the Alternative (Change Parameter)

Data type: BAPI_PPE_ALT_LONGTEXT_HDX
Optional: Yes
Call by Reference: Yes

COMPONENTALTLONGTEXT - iPPE/BAPI: Long Text for the Alternative

Data type: BAPI_PPE_ALT_LONGTEXT
Optional: Yes
Call by Reference: Yes

COMPONENTALTLONGTEXTX - iPPE/BAPI: Long Text for the Alternative (Change Parameter)

Data type: BAPI_PPE_ALT_LONGTEXTX
Optional: Yes
Call by Reference: Yes

COMPONENTRELATION - iPPE/BAPI: Component Relationship

Data type: BAPI1176_CMP_RELATION
Optional: Yes
Call by Reference: Yes

ACTIVITYRELATION - iPPE/BAPI: Activities Relationship

Data type: BAPI1179_ACT_RELATION
Optional: Yes
Call by Reference: Yes

ACTIVITYRELATIONCONSTRAINT - iPPE / BAPI: Additional Constraints

Data type: BAPI1179_ACT_CONSTRAINT
Optional: Yes
Call by Reference: Yes

RETURN - Return Parameters

Data type: BAPIRET2
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTSHORTTEXT - iPPE / BAPI: Short Text of the Variant

Data type: BAPI_PPE_VAR_SHORTTEXT
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTSHORTTEXTX - iPPE / BAPI: Short Text of the Variant (Change Parameter)

Data type: BAPI_PPE_VAR_SHORTTEXTX
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTTEXTHEADER - iPPE/BAPI: Header Long Text for Variant

Data type: BAPI_PPE_VAR_LONGTEXT_HD
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTTEXTHEADERX - iPPE / BAPI: Long Text Header for Variant (Change Parameter)

Data type: BAPI_PPE_VAR_LONGTEXT_HDX
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTTEXT - iPPE/BAPI: Long Text for Variant

Data type: BAPI_PPE_VAR_LONGTEXT
Optional: Yes
Call by Reference: Yes

COMPONENTVARIANTTEXTX - iPPE / BAPI: Long Text for Variant (Change Parameter)

Data type: BAPI_PPE_VAR_LONGTEXTX
Optional: Yes
Call by Reference: Yes

DEPENDENCYDATA - iPPE/BAPI: Object Dependencies - Basic Data

Data type: BAPI1176_CMP_DEPDATA
Optional: Yes
Call by Reference: Yes

Copy and paste ABAP code example for PVSHI_PVCMP_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:
lv_i_mode_all  TYPE PPE_MODE_ALL, "   'X'
lt_componentvariantdata  TYPE STANDARD TABLE OF BAPI1176_CMP_VARIANTDATA, "   
lt_dependencysources  TYPE STANDARD TABLE OF BAPI1176_CMP_DEPSOURCE, "   
lt_configurationinstance  TYPE STANDARD TABLE OF BAPI1176_CMP_CUINS, "   
lt_configurationvalue  TYPE STANDARD TABLE OF BAPI1176_CMP_CUVAL, "   
lt_configurationdependencyupd  TYPE STANDARD TABLE OF BAPI1176_CMP_CONF_DEP_UPD, "   
lt_componentvariantclassdiff  TYPE STANDARD TABLE OF BAPI1176_CMP_CLASSDIFF, "   
lt_componentvariantclassdiffx  TYPE STANDARD TABLE OF BAPI1176_CMP_CLASSDIFFX, "   
lt_componentvariantextension  TYPE STANDARD TABLE OF BAPI_TE_PVCMPD, "   
lt_componentvariantextensionx  TYPE STANDARD TABLE OF BAPI_TE_PVCMPDX, "   
lt_componentalternativedata  TYPE STANDARD TABLE OF BAPI1176_CMP_ALTDATA, "   
lt_componentalternativedatax  TYPE STANDARD TABLE OF BAPI1176_CMP_ALTDATAX, "   
lv_i_create_flg  TYPE PPE_CREATE_FLG, "   'X'
lt_componentvariantdatax  TYPE STANDARD TABLE OF BAPI1176_CMP_VARIANTDATAX, "   
lt_componentalternativetext  TYPE STANDARD TABLE OF BAPI1176_CMP_ALTTEXT, "   
lt_componentalternativetextx  TYPE STANDARD TABLE OF BAPI1176_CMP_ALTTEXTX, "   
lt_componentaltlongtextheader  TYPE STANDARD TABLE OF BAPI_PPE_ALT_LONGTEXT_HD, "   
lt_componentaltlongtextheaderx  TYPE STANDARD TABLE OF BAPI_PPE_ALT_LONGTEXT_HDX, "   
lt_componentaltlongtext  TYPE STANDARD TABLE OF BAPI_PPE_ALT_LONGTEXT, "   
lt_componentaltlongtextx  TYPE STANDARD TABLE OF BAPI_PPE_ALT_LONGTEXTX, "   
lt_componentrelation  TYPE STANDARD TABLE OF BAPI1176_CMP_RELATION, "   
lt_activityrelation  TYPE STANDARD TABLE OF BAPI1179_ACT_RELATION, "   
lt_activityrelationconstraint  TYPE STANDARD TABLE OF BAPI1179_ACT_CONSTRAINT, "   
lt_return  TYPE STANDARD TABLE OF BAPIRET2, "   
lv_i_msg_handling  TYPE PPE_MESSAGE_OPTION, "   'A'
lt_componentvariantshorttext  TYPE STANDARD TABLE OF BAPI_PPE_VAR_SHORTTEXT, "   
lv_i_generate_sap_syntax  TYPE XFELD, "   SPACE
lt_componentvariantshorttextx  TYPE STANDARD TABLE OF BAPI_PPE_VAR_SHORTTEXTX, "   
lv_i_delta_flg  TYPE PPE_API_DELTA_FLG, "   SPACE
lt_componentvarianttextheader  TYPE STANDARD TABLE OF BAPI_PPE_VAR_LONGTEXT_HD, "   
lt_componentvarianttextheaderx  TYPE STANDARD TABLE OF BAPI_PPE_VAR_LONGTEXT_HDX, "   
lt_componentvarianttext  TYPE STANDARD TABLE OF BAPI_PPE_VAR_LONGTEXT, "   
lt_componentvarianttextx  TYPE STANDARD TABLE OF BAPI_PPE_VAR_LONGTEXTX, "   
lt_dependencydata  TYPE STANDARD TABLE OF BAPI1176_CMP_DEPDATA. "   

  CALL FUNCTION 'PVSHI_PVCMP_MAINTAIN'  "iPPE: Maintain Variants of Product Structure
    EXPORTING
         I_MODE_ALL = lv_i_mode_all
         I_CREATE_FLG = lv_i_create_flg
         I_MSG_HANDLING = lv_i_msg_handling
         I_GENERATE_SAP_SYNTAX = lv_i_generate_sap_syntax
         I_DELTA_FLG = lv_i_delta_flg
    TABLES
         COMPONENTVARIANTDATA = lt_componentvariantdata
         DEPENDENCYSOURCES = lt_dependencysources
         CONFIGURATIONINSTANCE = lt_configurationinstance
         CONFIGURATIONVALUE = lt_configurationvalue
         CONFIGURATIONDEPENDENCYUPD = lt_configurationdependencyupd
         COMPONENTVARIANTCLASSDIFF = lt_componentvariantclassdiff
         COMPONENTVARIANTCLASSDIFFX = lt_componentvariantclassdiffx
         COMPONENTVARIANTEXTENSION = lt_componentvariantextension
         COMPONENTVARIANTEXTENSIONX = lt_componentvariantextensionx
         COMPONENTALTERNATIVEDATA = lt_componentalternativedata
         COMPONENTALTERNATIVEDATAX = lt_componentalternativedatax
         COMPONENTVARIANTDATAX = lt_componentvariantdatax
         COMPONENTALTERNATIVETEXT = lt_componentalternativetext
         COMPONENTALTERNATIVETEXTX = lt_componentalternativetextx
         COMPONENTALTLONGTEXTHEADER = lt_componentaltlongtextheader
         COMPONENTALTLONGTEXTHEADERX = lt_componentaltlongtextheaderx
         COMPONENTALTLONGTEXT = lt_componentaltlongtext
         COMPONENTALTLONGTEXTX = lt_componentaltlongtextx
         COMPONENTRELATION = lt_componentrelation
         ACTIVITYRELATION = lt_activityrelation
         ACTIVITYRELATIONCONSTRAINT = lt_activityrelationconstraint
         RETURN = lt_return
         COMPONENTVARIANTSHORTTEXT = lt_componentvariantshorttext
         COMPONENTVARIANTSHORTTEXTX = lt_componentvariantshorttextx
         COMPONENTVARIANTTEXTHEADER = lt_componentvarianttextheader
         COMPONENTVARIANTTEXTHEADERX = lt_componentvarianttextheaderx
         COMPONENTVARIANTTEXT = lt_componentvarianttext
         COMPONENTVARIANTTEXTX = lt_componentvarianttextx
         DEPENDENCYDATA = lt_dependencydata
. " PVSHI_PVCMP_MAINTAIN




ABAP code using 7.40 inline data declarations to call FM PVSHI_PVCMP_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.

DATA(ld_i_mode_all) = 'X'.
 
 
 
 
 
 
 
 
 
 
 
 
DATA(ld_i_create_flg) = 'X'.
 
 
 
 
 
 
 
 
 
 
 
 
DATA(ld_i_msg_handling) = 'A'.
 
 
DATA(ld_i_generate_sap_syntax) = ' '.
 
 
DATA(ld_i_delta_flg) = ' '.
 
 
 
 
 
 


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!