SAP PROMOTION_UPDATE Function Module for Change Promotion









PROMOTION_UPDATE is a standard promotion update SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Change Promotion 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 promotion update FM, simply by entering the name PROMOTION_UPDATE into the relevant SAP transaction such as SE37 or SE38.

Function Group: WAK1
Program Name: SAPLWAK1
Main Program: SAPLWAK1
Appliation area: W
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update: 1



Function PROMOTION_UPDATE 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 'PROMOTION_UPDATE'"Change Promotion
EXPORTING
FXWAKHD = "
* F_DB_WAKH = "
FXWAFLGBEARB = "
* F_ITEMS_MAINTAIN = "

TABLES
* FDWAGUD = "
* FXWAZBD = "
* FXWAZTD = "
* FXWAZWD = "
* FDWSOHD = "
* FXWSOHD = "
* FDWSOPD = "
* FXWSOPD = "
* FDWSOTD = "
* FXWSOTD = "
* FDWALED = "
* FDWAKPD = "
* FXWALED = "
* FDWLBMD = "
* FXWLBMD = "
* FXWWMID = "Product Catalog
* FDWWMID = "Product Catalog
* FXWWMITD = "
* FDWWMITD = "
* FXWLMTD = "
* FDWLMTD = "
* FXWWMVD = "Prod. cat. variant
* FDWAKTD = "
* FDWWMVD = "Prod. cat. variant
* FXWWVTD = "
* FDWWVTD = "
* FXWAKCD = "
* FDWAKCD = "
* FXWAKRD = "
* FDWAKRD = "
* FXWAKRWD = "Promotion Discounts by Plant
* F_DB_WAKP = "
* F_DB_WAZT = "
* FDWAZBD = "
* F_DB_WAKT = "
* F_DB_WAGU = "
* F_DB_WAZW = "
* F_DB_WAZB = "
* F_DB_WAKC = "
* F_DB_WAKR = "Promotion Discounts
* FDWAZTD = "
* FDWAZWD = "
* FXWAGUD = "
* FXWAKPD = "
* FXWAKTD = "

EXCEPTIONS
PROMOTION_NOT_FOUND = 1 NEW_TIME_RANGE_POS_TOO_LONG = 10 NEW_TIME_RANGE_POS_TOO_SMALL = 11 WALE_INSERT_ERROR = 12 WALE_UPDATE_ERROR = 13 ALLOCATION_TABLE_ERROR = 14 ASSORTMENT_HEAD_ALREADY_EXISTS = 2 ASSORTMENT_HEAD_NOT_FOUND = 3 NEW_TIME_RANGE_TOO_LONG = 4 NEW_TIME_RANGE_TOO_SMALL = 5 WRONG_FUNCTION = 6 RANGEMODULE_NUMBER_CONFLICT = 7 ASSORTMENT_POS_ALREADY_EXISTS = 8 ASSORTMENT_POS_NOT_FOUND = 9
.



IMPORTING Parameters details for PROMOTION_UPDATE

FXWAKHD -

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

F_DB_WAKH -

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

FXWAFLGBEARB -

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

F_ITEMS_MAINTAIN -

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

TABLES Parameters details for PROMOTION_UPDATE

FDWAGUD -

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

FXWAZBD -

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

FXWAZTD -

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

FXWAZWD -

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

FDWSOHD -

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

FXWSOHD -

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

FDWSOPD -

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

FXWSOPD -

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

FDWSOTD -

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

FXWSOTD -

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

FDWALED -

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

FDWAKPD -

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

FXWALED -

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

FDWLBMD -

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

FXWLBMD -

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

FXWWMID - Product Catalog

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

FDWWMID - Product Catalog

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

FXWWMITD -

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

FDWWMITD -

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

FXWLMTD -

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

FDWLMTD -

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

FXWWMVD - Prod. cat. variant

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

FDWAKTD -

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

FDWWMVD - Prod. cat. variant

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

FXWWVTD -

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

FDWWVTD -

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

FXWAKCD -

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

FDWAKCD -

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

FXWAKRD -

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

FDWAKRD -

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

FXWAKRWD - Promotion Discounts by Plant

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

F_DB_WAKP -

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

F_DB_WAZT -

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

FDWAZBD -

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

F_DB_WAKT -

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

F_DB_WAGU -

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

F_DB_WAZW -

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

F_DB_WAZB -

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

F_DB_WAKC -

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

F_DB_WAKR - Promotion Discounts

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

FDWAZTD -

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

FDWAZWD -

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

FXWAGUD -

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

FXWAKPD -

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

FXWAKTD -

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

EXCEPTIONS details

PROMOTION_NOT_FOUND -

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

NEW_TIME_RANGE_POS_TOO_LONG -

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

NEW_TIME_RANGE_POS_TOO_SMALL -

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

WALE_INSERT_ERROR -

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

WALE_UPDATE_ERROR -

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

ALLOCATION_TABLE_ERROR -

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

ASSORTMENT_HEAD_ALREADY_EXISTS -

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

ASSORTMENT_HEAD_NOT_FOUND -

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

NEW_TIME_RANGE_TOO_LONG -

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

NEW_TIME_RANGE_TOO_SMALL -

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

WRONG_FUNCTION -

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

RANGEMODULE_NUMBER_CONFLICT -

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

ASSORTMENT_POS_ALREADY_EXISTS -

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

ASSORTMENT_POS_NOT_FOUND -

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

Copy and paste ABAP code example for PROMOTION_UPDATE 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_fdwagud  TYPE STANDARD TABLE OF WAGUD, "   
lv_fxwakhd  TYPE WAKHD, "   
lv_promotion_not_found  TYPE WAKHD, "   
lt_fxwazbd  TYPE STANDARD TABLE OF WAZBD, "   
lv_new_time_range_pos_too_long  TYPE WAZBD, "   
lt_fxwaztd  TYPE STANDARD TABLE OF WAZTD, "   
lv_new_time_range_pos_too_small  TYPE WAZTD, "   
lt_fxwazwd  TYPE STANDARD TABLE OF WAZWD, "   
lv_wale_insert_error  TYPE WAZWD, "   
lt_fdwsohd  TYPE STANDARD TABLE OF WSOHD, "   
lv_wale_update_error  TYPE WSOHD, "   
lt_fxwsohd  TYPE STANDARD TABLE OF WSOHD, "   
lv_allocation_table_error  TYPE WSOHD, "   
lt_fdwsopd  TYPE STANDARD TABLE OF WSOPD, "   
lt_fxwsopd  TYPE STANDARD TABLE OF WSOPD, "   
lt_fdwsotd  TYPE STANDARD TABLE OF WSOTD, "   
lt_fxwsotd  TYPE STANDARD TABLE OF WSOTD, "   
lt_fdwaled  TYPE STANDARD TABLE OF WALED, "   
lt_fdwakpd  TYPE STANDARD TABLE OF WAKPD, "   
lv_f_db_wakh  TYPE WAKH, "   
lv_assortment_head_already_exists  TYPE WAKH, "   
lt_fxwaled  TYPE STANDARD TABLE OF WALED, "   
lt_fdwlbmd  TYPE STANDARD TABLE OF WLBMD, "   
lt_fxwlbmd  TYPE STANDARD TABLE OF WLBMD, "   
lt_fxwwmid  TYPE STANDARD TABLE OF WWMID, "   
lt_fdwwmid  TYPE STANDARD TABLE OF WWMID, "   
lt_fxwwmitd  TYPE STANDARD TABLE OF WWMITD, "   
lt_fdwwmitd  TYPE STANDARD TABLE OF WWMITD, "   
lt_fxwlmtd  TYPE STANDARD TABLE OF WLMTD, "   
lt_fdwlmtd  TYPE STANDARD TABLE OF WLMTD, "   
lt_fxwwmvd  TYPE STANDARD TABLE OF WWMVD, "   
lt_fdwaktd  TYPE STANDARD TABLE OF WAKTD, "   
lv_fxwaflgbearb  TYPE WAFLGBEARB, "   
lv_assortment_head_not_found  TYPE WAFLGBEARB, "   
lt_fdwwmvd  TYPE STANDARD TABLE OF WWMVD, "   
lt_fxwwvtd  TYPE STANDARD TABLE OF WWVTD, "   
lt_fdwwvtd  TYPE STANDARD TABLE OF WWVTD, "   
lt_fxwakcd  TYPE STANDARD TABLE OF WAKCD, "   
lt_fdwakcd  TYPE STANDARD TABLE OF WAKCD, "   
lt_fxwakrd  TYPE STANDARD TABLE OF WAKRD, "   
lt_fdwakrd  TYPE STANDARD TABLE OF WAKRD, "   
lt_fxwakrwd  TYPE STANDARD TABLE OF WAKRWD, "   
lt_f_db_wakp  TYPE STANDARD TABLE OF WAKP, "   
lt_f_db_wazt  TYPE STANDARD TABLE OF WAZT, "   
lt_fdwazbd  TYPE STANDARD TABLE OF WAZBD, "   
lv_f_items_maintain  TYPE SY-MARKY, "   
lv_new_time_range_too_long  TYPE SY, "   
lt_f_db_wakt  TYPE STANDARD TABLE OF WAKT, "   
lt_f_db_wagu  TYPE STANDARD TABLE OF WAGU, "   
lt_f_db_wazw  TYPE STANDARD TABLE OF WAZW, "   
lt_f_db_wazb  TYPE STANDARD TABLE OF WAZB, "   
lt_f_db_wakc  TYPE STANDARD TABLE OF WAKC, "   
lt_f_db_wakr  TYPE STANDARD TABLE OF WAKR, "   
lt_fdwaztd  TYPE STANDARD TABLE OF WAZTD, "   
lv_new_time_range_too_small  TYPE WAZTD, "   
lt_fdwazwd  TYPE STANDARD TABLE OF WAZWD, "   
lv_wrong_function  TYPE WAZWD, "   
lt_fxwagud  TYPE STANDARD TABLE OF WAGUD, "   
lv_rangemodule_number_conflict  TYPE WAGUD, "   
lt_fxwakpd  TYPE STANDARD TABLE OF WAKPD, "   
lv_assortment_pos_already_exists  TYPE WAKPD, "   
lt_fxwaktd  TYPE STANDARD TABLE OF WAKTD, "   
lv_assortment_pos_not_found  TYPE WAKTD. "   

  CALL FUNCTION 'PROMOTION_UPDATE'  "Change Promotion
    EXPORTING
         FXWAKHD = lv_fxwakhd
         F_DB_WAKH = lv_f_db_wakh
         FXWAFLGBEARB = lv_fxwaflgbearb
         F_ITEMS_MAINTAIN = lv_f_items_maintain
    TABLES
         FDWAGUD = lt_fdwagud
         FXWAZBD = lt_fxwazbd
         FXWAZTD = lt_fxwaztd
         FXWAZWD = lt_fxwazwd
         FDWSOHD = lt_fdwsohd
         FXWSOHD = lt_fxwsohd
         FDWSOPD = lt_fdwsopd
         FXWSOPD = lt_fxwsopd
         FDWSOTD = lt_fdwsotd
         FXWSOTD = lt_fxwsotd
         FDWALED = lt_fdwaled
         FDWAKPD = lt_fdwakpd
         FXWALED = lt_fxwaled
         FDWLBMD = lt_fdwlbmd
         FXWLBMD = lt_fxwlbmd
         FXWWMID = lt_fxwwmid
         FDWWMID = lt_fdwwmid
         FXWWMITD = lt_fxwwmitd
         FDWWMITD = lt_fdwwmitd
         FXWLMTD = lt_fxwlmtd
         FDWLMTD = lt_fdwlmtd
         FXWWMVD = lt_fxwwmvd
         FDWAKTD = lt_fdwaktd
         FDWWMVD = lt_fdwwmvd
         FXWWVTD = lt_fxwwvtd
         FDWWVTD = lt_fdwwvtd
         FXWAKCD = lt_fxwakcd
         FDWAKCD = lt_fdwakcd
         FXWAKRD = lt_fxwakrd
         FDWAKRD = lt_fdwakrd
         FXWAKRWD = lt_fxwakrwd
         F_DB_WAKP = lt_f_db_wakp
         F_DB_WAZT = lt_f_db_wazt
         FDWAZBD = lt_fdwazbd
         F_DB_WAKT = lt_f_db_wakt
         F_DB_WAGU = lt_f_db_wagu
         F_DB_WAZW = lt_f_db_wazw
         F_DB_WAZB = lt_f_db_wazb
         F_DB_WAKC = lt_f_db_wakc
         F_DB_WAKR = lt_f_db_wakr
         FDWAZTD = lt_fdwaztd
         FDWAZWD = lt_fdwazwd
         FXWAGUD = lt_fxwagud
         FXWAKPD = lt_fxwakpd
         FXWAKTD = lt_fxwaktd
    EXCEPTIONS
        PROMOTION_NOT_FOUND = 1
        NEW_TIME_RANGE_POS_TOO_LONG = 10
        NEW_TIME_RANGE_POS_TOO_SMALL = 11
        WALE_INSERT_ERROR = 12
        WALE_UPDATE_ERROR = 13
        ALLOCATION_TABLE_ERROR = 14
        ASSORTMENT_HEAD_ALREADY_EXISTS = 2
        ASSORTMENT_HEAD_NOT_FOUND = 3
        NEW_TIME_RANGE_TOO_LONG = 4
        NEW_TIME_RANGE_TOO_SMALL = 5
        WRONG_FUNCTION = 6
        RANGEMODULE_NUMBER_CONFLICT = 7
        ASSORTMENT_POS_ALREADY_EXISTS = 8
        ASSORTMENT_POS_NOT_FOUND = 9
. " PROMOTION_UPDATE




ABAP code using 7.40 inline data declarations to call FM PROMOTION_UPDATE

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 MARKY FROM SY INTO @DATA(ld_f_items_maintain).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


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!