SAP SD_DOCUMENT_ACCOUNT_ASSIGNMENT Function Module for









SD_DOCUMENT_ACCOUNT_ASSIGNMENT is a standard sd document account assignment SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used to perform a specific ABAP function and below is the pattern details, 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 sd document account assignment FM, simply by entering the name SD_DOCUMENT_ACCOUNT_ASSIGNMENT into the relevant SAP transaction such as SE37 or SE38.

Function Group: V45M
Program Name: SAPLV45M
Main Program: SAPLV45M
Appliation area: V
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function SD_DOCUMENT_ACCOUNT_ASSIGNMENT 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 'SD_DOCUMENT_ACCOUNT_ASSIGNMENT'"
EXPORTING
* I_CHANGE_STATUS = 'X' "Carry out status change, if possible
* I_VRGNG = ' ' "
* I_CHECK_MATERIAL = ' ' "Check material (= x)
* I_CHECK_PLANT = ' ' "Check plant (= x)
* I_STATUS_CHECK = 'X' "
* I_CHECK_CO_OBJ = "
* I_AUFNR = ' ' "Internal Order
* I_NO_WARNUNG_V1096 = ' ' "
* I_VORGN_GL = ' ' "Business Transaction
I_DOCUMENT_NUMBER = "SD document number
I_ITEM_NUMBER = "Item number
* I_KATYP = ' ' "
* I_MATERIAL = ' ' "Material number for checking the item
* I_PLANT = ' ' "
* I_PS_PSP_PNR = ' ' "WBS element account assignment for check
* I_SALES_DOCUMENT_TYPE = ' ' "SD document category for check
* I_SCHEDULE_LINE = ' ' "Schedule line number

IMPORTING
E_ABGRS = "
E_KZVBR = "
E_MATERIAL = "Material
E_OBJNR = "
E_PLANT = "Delivering plant VBAP-WERKS
E_PRCTR = "
E_PS_PSP_PNR = "WBS element account assignment
E_SOBKZ = "
E_WAERK = "
E_WARNING_OCCURRED = "Flag 'Warning message occurred'
E_VBAP = "Order Item
E_BUKRS = "
E_KZBWS = "
E_BUKRS_VF = "Billing company
E_TECHS = "
E_VBAK = "
E_AUFNR = "Internal Order
E_TPOP_CONS = "
E_CUOBJ = "Object Number of Variant
E_ERDAT = "
E_ERROR_OCCURRED = "Error occurred
E_GSBER = "
E_KNTTP = "
E_KOKRS = "
E_KTEXT = "

EXCEPTIONS
DIFFERENT_DOCUMENT_TYPE = 1 OBJECT_NOT_FOUND = 10 PROJECT_DEF_DIFF = 11 PROJECT_IN_ORDER = 12 PROJECT_NOT_ALLOWED = 13 SALES_ORGANISATION_NOT_FOUND = 14 SCHEDULE_LINE_NOT_FOUND = 15 DIFFERENT_NUMBER = 16 PLANT_NOT_FOUND = 17 DIFFERENT_MATERIAL = 2 DIFFERENT_PLANT = 3 DOCUMENT_BLOCKED = 4 DOCUMENT_NOT_FOUND = 5 DOCUMENT_TYPE_NOT_ALLOWED = 6 ITEM_NOT_FOUND = 7 ITEM_NUMBER_MISSING = 8 NOT_ALLOWED = 9
.



IMPORTING Parameters details for SD_DOCUMENT_ACCOUNT_ASSIGNMENT

I_CHANGE_STATUS - Carry out status change, if possible

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

I_VRGNG -

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

I_CHECK_MATERIAL - Check material (= x)

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

I_CHECK_PLANT - Check plant (= x)

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

I_STATUS_CHECK -

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

I_CHECK_CO_OBJ -

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

I_AUFNR - Internal Order

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

I_NO_WARNUNG_V1096 -

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

I_VORGN_GL - Business Transaction

Data type: TJ01-VRGNG
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_DOCUMENT_NUMBER - SD document number

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

I_ITEM_NUMBER - Item number

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

I_KATYP -

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

I_MATERIAL - Material number for checking the item

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

I_PLANT -

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

I_PS_PSP_PNR - WBS element account assignment for check

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

I_SALES_DOCUMENT_TYPE - SD document category for check

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

I_SCHEDULE_LINE - Schedule line number

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

EXPORTING Parameters details for SD_DOCUMENT_ACCOUNT_ASSIGNMENT

E_ABGRS -

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

E_KZVBR -

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

E_MATERIAL - Material

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

E_OBJNR -

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

E_PLANT - Delivering plant VBAP-WERKS

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

E_PRCTR -

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

E_PS_PSP_PNR - WBS element account assignment

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

E_SOBKZ -

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

E_WAERK -

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

E_WARNING_OCCURRED - Flag 'Warning message occurred'

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

E_VBAP - Order Item

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

E_BUKRS -

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

E_KZBWS -

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

E_BUKRS_VF - Billing company

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

E_TECHS -

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

E_VBAK -

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

E_AUFNR - Internal Order

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

E_TPOP_CONS -

Data type: XFELD
Optional: No
Call by Reference: Yes

E_CUOBJ - Object Number of Variant

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

E_ERDAT -

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

E_ERROR_OCCURRED - Error occurred

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

E_GSBER -

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

E_KNTTP -

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

E_KOKRS -

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

E_KTEXT -

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

EXCEPTIONS details

DIFFERENT_DOCUMENT_TYPE - S&D document category deviates from that of document

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

OBJECT_NOT_FOUND - Could not find object

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

PROJECT_DEF_DIFF - Project definition deviates

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

PROJECT_IN_ORDER - Sales order is assigned to project

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

PROJECT_NOT_ALLOWED - No project allowed

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

SALES_ORGANISATION_NOT_FOUND - Sales organization not in TVKO

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

SCHEDULE_LINE_NOT_FOUND - Schedule line does not exist

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

DIFFERENT_NUMBER - Order is assigned to another order

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

PLANT_NOT_FOUND - Item plant not available

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

DIFFERENT_MATERIAL - Input material deviates from that of the item

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

DIFFERENT_PLANT - Input plant deviates from item plant

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

DOCUMENT_BLOCKED - Document Locked

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

DOCUMENT_NOT_FOUND - SD document not available

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

DOCUMENT_TYPE_NOT_ALLOWED - SD document category not allowed (e.g. invoice)

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

ITEM_NOT_FOUND - Item does not exist

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

ITEM_NUMBER_MISSING - Item number is missing for check

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

NOT_ALLOWED - Transaction not allowed

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

Copy and paste ABAP code example for SD_DOCUMENT_ACCOUNT_ASSIGNMENT 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_e_abgrs  TYPE T459K-ABGRS, "   
lv_i_change_status  TYPE RV45A-VBAP_SELKZ, "   'X'
lv_different_document_type  TYPE RV45A, "   
lv_e_kzvbr  TYPE VBAP-KZVBR, "   
lv_i_vrgng  TYPE TJ01-VRGNG, "   SPACE
lv_object_not_found  TYPE TJ01, "   
lv_e_material  TYPE VBAP-MATNR, "   
lv_i_check_material  TYPE VBAP, "   ' '
lv_project_def_diff  TYPE VBAP, "   
lv_e_objnr  TYPE VBAP-OBJNR, "   
lv_i_check_plant  TYPE VBAP, "   ' '
lv_project_in_order  TYPE VBAP, "   
lv_e_plant  TYPE VBAP-WERKS, "   
lv_i_status_check  TYPE C, "   'X'
lv_project_not_allowed  TYPE C, "   
lv_e_prctr  TYPE VBAP-PRCTR, "   
lv_i_check_co_obj  TYPE C, "   
lv_sales_organisation_not_found  TYPE C, "   
lv_i_aufnr  TYPE VBAP-AUFNR, "   SPACE
lv_e_ps_psp_pnr  TYPE VBAP-PS_PSP_PNR, "   
lv_schedule_line_not_found  TYPE VBAP, "   
lv_e_sobkz  TYPE VBAP-SOBKZ, "   
lv_different_number  TYPE VBAP, "   
lv_i_no_warnung_v1096  TYPE C, "   SPACE
lv_e_waerk  TYPE VBAP-WAERK, "   
lv_i_vorgn_gl  TYPE TJ01-VRGNG, "   SPACE
lv_plant_not_found  TYPE TJ01, "   
lv_e_warning_occurred  TYPE RV45A-VBAP_SELKZ, "   
lv_e_vbap  TYPE VBAP, "   
lv_e_bukrs  TYPE T001-BUKRS, "   
lv_i_document_number  TYPE VBUK-VBELN, "   
lv_different_material  TYPE VBUK, "   
lv_e_kzbws  TYPE VBAP-KZBWS, "   
lv_e_bukrs_vf  TYPE VBAK-BUKRS_VF, "   
lv_e_techs  TYPE VBAP-TECHS, "   
lv_e_vbak  TYPE VBAK, "   
lv_e_aufnr  TYPE VBAP-AUFNR, "   
lv_e_tpop_cons  TYPE XFELD, "   
lv_e_cuobj  TYPE VBAP-CUOBJ, "   
lv_i_item_number  TYPE VBUP-POSNR, "   
lv_different_plant  TYPE VBUP, "   
lv_e_erdat  TYPE VBAP-ERDAT, "   
lv_i_katyp  TYPE CSKB-KATYP, "   SPACE
lv_document_blocked  TYPE CSKB, "   
lv_i_material  TYPE VBAP-MATNR, "   SPACE
lv_e_error_occurred  TYPE RV45A-VBAP_SELKZ, "   
lv_document_not_found  TYPE RV45A, "   
lv_e_gsber  TYPE VBAP-GSBER, "   
lv_i_plant  TYPE VBAP-WERKS, "   SPACE
lv_document_type_not_allowed  TYPE VBAP, "   
lv_e_knttp  TYPE VBAP-KNTTP, "   
lv_i_ps_psp_pnr  TYPE VBAP-PS_PSP_PNR, "   SPACE
lv_item_not_found  TYPE VBAP, "   
lv_e_kokrs  TYPE VBAK-KOKRS, "   
lv_item_number_missing  TYPE VBAK, "   
lv_i_sales_document_type  TYPE VBAK-VBTYP, "   SPACE
lv_e_ktext  TYPE VBAP-ARKTX, "   
lv_not_allowed  TYPE VBAP, "   
lv_i_schedule_line  TYPE VBEP-ETENR. "   SPACE

  CALL FUNCTION 'SD_DOCUMENT_ACCOUNT_ASSIGNMENT'  "
    EXPORTING
         I_CHANGE_STATUS = lv_i_change_status
         I_VRGNG = lv_i_vrgng
         I_CHECK_MATERIAL = lv_i_check_material
         I_CHECK_PLANT = lv_i_check_plant
         I_STATUS_CHECK = lv_i_status_check
         I_CHECK_CO_OBJ = lv_i_check_co_obj
         I_AUFNR = lv_i_aufnr
         I_NO_WARNUNG_V1096 = lv_i_no_warnung_v1096
         I_VORGN_GL = lv_i_vorgn_gl
         I_DOCUMENT_NUMBER = lv_i_document_number
         I_ITEM_NUMBER = lv_i_item_number
         I_KATYP = lv_i_katyp
         I_MATERIAL = lv_i_material
         I_PLANT = lv_i_plant
         I_PS_PSP_PNR = lv_i_ps_psp_pnr
         I_SALES_DOCUMENT_TYPE = lv_i_sales_document_type
         I_SCHEDULE_LINE = lv_i_schedule_line
    IMPORTING
         E_ABGRS = lv_e_abgrs
         E_KZVBR = lv_e_kzvbr
         E_MATERIAL = lv_e_material
         E_OBJNR = lv_e_objnr
         E_PLANT = lv_e_plant
         E_PRCTR = lv_e_prctr
         E_PS_PSP_PNR = lv_e_ps_psp_pnr
         E_SOBKZ = lv_e_sobkz
         E_WAERK = lv_e_waerk
         E_WARNING_OCCURRED = lv_e_warning_occurred
         E_VBAP = lv_e_vbap
         E_BUKRS = lv_e_bukrs
         E_KZBWS = lv_e_kzbws
         E_BUKRS_VF = lv_e_bukrs_vf
         E_TECHS = lv_e_techs
         E_VBAK = lv_e_vbak
         E_AUFNR = lv_e_aufnr
         E_TPOP_CONS = lv_e_tpop_cons
         E_CUOBJ = lv_e_cuobj
         E_ERDAT = lv_e_erdat
         E_ERROR_OCCURRED = lv_e_error_occurred
         E_GSBER = lv_e_gsber
         E_KNTTP = lv_e_knttp
         E_KOKRS = lv_e_kokrs
         E_KTEXT = lv_e_ktext
    EXCEPTIONS
        DIFFERENT_DOCUMENT_TYPE = 1
        OBJECT_NOT_FOUND = 10
        PROJECT_DEF_DIFF = 11
        PROJECT_IN_ORDER = 12
        PROJECT_NOT_ALLOWED = 13
        SALES_ORGANISATION_NOT_FOUND = 14
        SCHEDULE_LINE_NOT_FOUND = 15
        DIFFERENT_NUMBER = 16
        PLANT_NOT_FOUND = 17
        DIFFERENT_MATERIAL = 2
        DIFFERENT_PLANT = 3
        DOCUMENT_BLOCKED = 4
        DOCUMENT_NOT_FOUND = 5
        DOCUMENT_TYPE_NOT_ALLOWED = 6
        ITEM_NOT_FOUND = 7
        ITEM_NUMBER_MISSING = 8
        NOT_ALLOWED = 9
. " SD_DOCUMENT_ACCOUNT_ASSIGNMENT




ABAP code using 7.40 inline data declarations to call FM SD_DOCUMENT_ACCOUNT_ASSIGNMENT

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 ABGRS FROM T459K INTO @DATA(ld_e_abgrs).
 
"SELECT single VBAP_SELKZ FROM RV45A INTO @DATA(ld_i_change_status).
DATA(ld_i_change_status) = 'X'.
 
 
"SELECT single KZVBR FROM VBAP INTO @DATA(ld_e_kzvbr).
 
"SELECT single VRGNG FROM TJ01 INTO @DATA(ld_i_vrgng).
DATA(ld_i_vrgng) = ' '.
 
 
"SELECT single MATNR FROM VBAP INTO @DATA(ld_e_material).
 
DATA(ld_i_check_material) = ' '.
 
 
"SELECT single OBJNR FROM VBAP INTO @DATA(ld_e_objnr).
 
DATA(ld_i_check_plant) = ' '.
 
 
"SELECT single WERKS FROM VBAP INTO @DATA(ld_e_plant).
 
DATA(ld_i_status_check) = 'X'.
 
 
"SELECT single PRCTR FROM VBAP INTO @DATA(ld_e_prctr).
 
 
 
"SELECT single AUFNR FROM VBAP INTO @DATA(ld_i_aufnr).
DATA(ld_i_aufnr) = ' '.
 
"SELECT single PS_PSP_PNR FROM VBAP INTO @DATA(ld_e_ps_psp_pnr).
 
 
"SELECT single SOBKZ FROM VBAP INTO @DATA(ld_e_sobkz).
 
 
DATA(ld_i_no_warnung_v1096) = ' '.
 
"SELECT single WAERK FROM VBAP INTO @DATA(ld_e_waerk).
 
"SELECT single VRGNG FROM TJ01 INTO @DATA(ld_i_vorgn_gl).
DATA(ld_i_vorgn_gl) = ' '.
 
 
"SELECT single VBAP_SELKZ FROM RV45A INTO @DATA(ld_e_warning_occurred).
 
 
"SELECT single BUKRS FROM T001 INTO @DATA(ld_e_bukrs).
 
"SELECT single VBELN FROM VBUK INTO @DATA(ld_i_document_number).
 
 
"SELECT single KZBWS FROM VBAP INTO @DATA(ld_e_kzbws).
 
"SELECT single BUKRS_VF FROM VBAK INTO @DATA(ld_e_bukrs_vf).
 
"SELECT single TECHS FROM VBAP INTO @DATA(ld_e_techs).
 
 
"SELECT single AUFNR FROM VBAP INTO @DATA(ld_e_aufnr).
 
 
"SELECT single CUOBJ FROM VBAP INTO @DATA(ld_e_cuobj).
 
"SELECT single POSNR FROM VBUP INTO @DATA(ld_i_item_number).
 
 
"SELECT single ERDAT FROM VBAP INTO @DATA(ld_e_erdat).
 
"SELECT single KATYP FROM CSKB INTO @DATA(ld_i_katyp).
DATA(ld_i_katyp) = ' '.
 
 
"SELECT single MATNR FROM VBAP INTO @DATA(ld_i_material).
DATA(ld_i_material) = ' '.
 
"SELECT single VBAP_SELKZ FROM RV45A INTO @DATA(ld_e_error_occurred).
 
 
"SELECT single GSBER FROM VBAP INTO @DATA(ld_e_gsber).
 
"SELECT single WERKS FROM VBAP INTO @DATA(ld_i_plant).
DATA(ld_i_plant) = ' '.
 
 
"SELECT single KNTTP FROM VBAP INTO @DATA(ld_e_knttp).
 
"SELECT single PS_PSP_PNR FROM VBAP INTO @DATA(ld_i_ps_psp_pnr).
DATA(ld_i_ps_psp_pnr) = ' '.
 
 
"SELECT single KOKRS FROM VBAK INTO @DATA(ld_e_kokrs).
 
 
"SELECT single VBTYP FROM VBAK INTO @DATA(ld_i_sales_document_type).
DATA(ld_i_sales_document_type) = ' '.
 
"SELECT single ARKTX FROM VBAP INTO @DATA(ld_e_ktext).
 
 
"SELECT single ETENR FROM VBEP INTO @DATA(ld_i_schedule_line).
DATA(ld_i_schedule_line) = ' '.
 


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!