SAP Function Modules

SD_GET_ORDER_AMOUNT SAP Function module







SD_GET_ORDER_AMOUNT is a standard SAP function module available within R/3 SAP systems depending on your version and release level. Below is the pattern details for this FM showing its interface including any import and export parameters, exceptions etc as well as any documentation contributions (Comments) specific to the object.

See here to view full function module documentation and code listing, simply by entering the name SD_GET_ORDER_AMOUNT into the relevant SAP transaction such as SE37 or SE80.

Associated Function Group: V45L
Released Date: Not Released
Processing type: Normal fucntion module
Normal function module settings


Pattern for FM SD_GET_ORDER_AMOUNT - SD GET ORDER AMOUNT





CALL FUNCTION 'SD_GET_ORDER_AMOUNT' "
  EXPORTING
    i_vbeln =                   " vbuk-vbeln    Scheduling Agreement Number
    i_posnr =                   " vbup-posnr
*   i_year =                    " t009y-gjahr
  IMPORTING
    e_full_amount =             " rv45a-kwmeng
    e_open_amount =             " rv45a-kwmeng  Open orders quantity in base unit of measure
    e_processed_amount =        " rv45a-kwmeng
    e_unit =                    " vbap-meins    Base Unit of Measure for the Material
  EXCEPTIONS
    DOCUMENT_NOT_FOUND = 1      "               Document does not exist
    ITEM_NOT_FOUND = 2          "               Item does not exist
    NO_SCHEDULING_AGREEMENT = 3  "
    .  "  SD_GET_ORDER_AMOUNT

ABAP code example for Function Module SD_GET_ORDER_AMOUNT





The ABAP code below is a full code listing to execute function module SD_GET_ORDER_AMOUNT including all data declarations. The code uses 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 original method of declaring data variables up front. 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).

DATA:
ld_e_full_amount  TYPE RV45A-KWMENG ,
ld_e_open_amount  TYPE RV45A-KWMENG ,
ld_e_processed_amount  TYPE RV45A-KWMENG ,
ld_e_unit  TYPE VBAP-MEINS .


SELECT single VBELN
FROM VBUK
INTO @DATA(ld_i_vbeln).


SELECT single POSNR
FROM VBUP
INTO @DATA(ld_i_posnr).


SELECT single GJAHR
FROM T009Y
INTO @DATA(ld_i_year).
. CALL FUNCTION 'SD_GET_ORDER_AMOUNT' EXPORTING i_vbeln = ld_i_vbeln i_posnr = ld_i_posnr * i_year = ld_i_year IMPORTING e_full_amount = ld_e_full_amount e_open_amount = ld_e_open_amount e_processed_amount = ld_e_processed_amount e_unit = ld_e_unit EXCEPTIONS DOCUMENT_NOT_FOUND = 1 ITEM_NOT_FOUND = 2 NO_SCHEDULING_AGREEMENT = 3 . " SD_GET_ORDER_AMOUNT
IF SY-SUBRC EQ 0. "All OK ELSEIF SY-SUBRC EQ 1. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 2. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 3. "Exception "Add code for exception here ENDIF.







ABAP code to compare 7.40 inline data declaration with original syntax

The below ABAP code uses the older none in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. It may also be useful if you are using an older version of SAP as some of the newer syntax above, such as the @DATA is not available until 4.70 EHP 8.

DATA:
ld_e_full_amount  TYPE RV45A-KWMENG ,
ld_i_vbeln  TYPE VBUK-VBELN ,
ld_e_open_amount  TYPE RV45A-KWMENG ,
ld_i_posnr  TYPE VBUP-POSNR ,
ld_e_processed_amount  TYPE RV45A-KWMENG ,
ld_i_year  TYPE T009Y-GJAHR ,
ld_e_unit  TYPE VBAP-MEINS .


SELECT single VBELN
FROM VBUK
INTO ld_i_vbeln.


SELECT single POSNR
FROM VBUP
INTO ld_i_posnr.


SELECT single GJAHR
FROM T009Y
INTO ld_i_year.

Contribute (Add Comments)

Please help keep this info upto date and use the comments section below to add useful hints, tips and information specific to this SAP function. This will then be available for you and other users to easily find by simply searching on the object name SD_GET_ORDER_AMOUNT or its description.