SAP Function Modules

DOCUMENT_HANDLING SAP Function module







DOCUMENT_HANDLING 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 DOCUMENT_HANDLING into the relevant SAP transaction such as SE37 or SE80.

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


Pattern for FM DOCUMENT_HANDLING - DOCUMENT HANDLING





CALL FUNCTION 'DOCUMENT_HANDLING' "
  EXPORTING
*   api_mode_used = ' '         " mcdok-maraf
*   binpt_mode_used = ' '       " mcdok-maraf
    dar =                       " draw-dokar
    dnr =                       " draw-doknr
    dtl =                       " draw-doktl
    dvr =                       " draw-dokvr
*   suppress_flag = ' '         "
    transaction_code =          " sy-tcode
*   update_immediately = ' '    "
*   update_mode =               "
*   in_protf = ' '              " drap-protf
*   in_draw = ' '               " draw          Transferred values
*   in_tkttxt =                 " tkttxt
*   not_dequeue_all = ' '       "
*   no_change_transmitted_fields = ' '  "
*   refar = ' '                 " mcdok-refar
*   refnr = ' '                 " mcdok-refnr
*   reftl = ' '                 " mcdok-reftl
*   refvr = ' '                 " mcdok-refvr
*   ok_code = ' '               " rseu1-func
*   if_copy_copy_class_data = ' '  " mcdok-maraf
  IMPORTING
    doknr =                     " draw-doknr
    dokar =                     " draw-dokar
    dokvr =                     " draw-dokvr
    tldok =                     " draw-doktl
    msgid =                     " sy-msgid
    msgno =                     " sy-msgno
    msgty =                     " sy-msgty
    msgv1 =                     " sy-msgv1
    msgv2 =                     " sy-msgv2
    msgv3 =                     " sy-msgv3
    msgv4 =                     " sy-msgv4
    update =                    "
  EXCEPTIONS
    ERROR = 1                   "
    .  "  DOCUMENT_HANDLING

ABAP code example for Function Module DOCUMENT_HANDLING





The ABAP code below is a full code listing to execute function module DOCUMENT_HANDLING 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_doknr  TYPE DRAW-DOKNR ,
ld_dokar  TYPE DRAW-DOKAR ,
ld_dokvr  TYPE DRAW-DOKVR ,
ld_tldok  TYPE DRAW-DOKTL ,
ld_msgid  TYPE SY-MSGID ,
ld_msgno  TYPE SY-MSGNO ,
ld_msgty  TYPE SY-MSGTY ,
ld_msgv1  TYPE SY-MSGV1 ,
ld_msgv2  TYPE SY-MSGV2 ,
ld_msgv3  TYPE SY-MSGV3 ,
ld_msgv4  TYPE SY-MSGV4 ,
ld_update  TYPE STRING .


DATA(ld_api_mode_used) = some text here

DATA(ld_binpt_mode_used) = some text here

SELECT single DOKAR
FROM DRAW
INTO @DATA(ld_dar).


SELECT single DOKNR
FROM DRAW
INTO @DATA(ld_dnr).


SELECT single DOKTL
FROM DRAW
INTO @DATA(ld_dtl).


SELECT single DOKVR
FROM DRAW
INTO @DATA(ld_dvr).

DATA(ld_suppress_flag) = 'some text here'.
DATA(ld_transaction_code) = 'some text here'.
DATA(ld_update_immediately) = 'some text here'.
DATA(ld_update_mode) = 'some text here'.

SELECT single PROTF
FROM DRAP
INTO @DATA(ld_in_protf).

DATA(ld_in_draw) = 'some text here'.
DATA(ld_in_tkttxt) = 'some text here'.
DATA(ld_not_dequeue_all) = 'some text here'.
DATA(ld_no_change_transmitted_fields) = 'some text here'.

DATA(ld_refar) = some text here

DATA(ld_refnr) = some text here

DATA(ld_reftl) = some text here

DATA(ld_refvr) = some text here

DATA(ld_ok_code) = some text here

DATA(ld_if_copy_copy_class_data) = some text here . CALL FUNCTION 'DOCUMENT_HANDLING' EXPORTING * api_mode_used = ld_api_mode_used * binpt_mode_used = ld_binpt_mode_used dar = ld_dar dnr = ld_dnr dtl = ld_dtl dvr = ld_dvr * suppress_flag = ld_suppress_flag transaction_code = ld_transaction_code * update_immediately = ld_update_immediately * update_mode = ld_update_mode * in_protf = ld_in_protf * in_draw = ld_in_draw * in_tkttxt = ld_in_tkttxt * not_dequeue_all = ld_not_dequeue_all * no_change_transmitted_fields = ld_no_change_transmitted_fields * refar = ld_refar * refnr = ld_refnr * reftl = ld_reftl * refvr = ld_refvr * ok_code = ld_ok_code * if_copy_copy_class_data = ld_if_copy_copy_class_data IMPORTING doknr = ld_doknr dokar = ld_dokar dokvr = ld_dokvr tldok = ld_tldok msgid = ld_msgid msgno = ld_msgno msgty = ld_msgty msgv1 = ld_msgv1 msgv2 = ld_msgv2 msgv3 = ld_msgv3 msgv4 = ld_msgv4 update = ld_update EXCEPTIONS ERROR = 1 . " DOCUMENT_HANDLING
IF SY-SUBRC EQ 0. "All OK ELSEIF SY-SUBRC EQ 1. "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_doknr  TYPE DRAW-DOKNR ,
ld_api_mode_used  TYPE MCDOK-MARAF ,
ld_dokar  TYPE DRAW-DOKAR ,
ld_binpt_mode_used  TYPE MCDOK-MARAF ,
ld_dokvr  TYPE DRAW-DOKVR ,
ld_dar  TYPE DRAW-DOKAR ,
ld_tldok  TYPE DRAW-DOKTL ,
ld_dnr  TYPE DRAW-DOKNR ,
ld_dtl  TYPE DRAW-DOKTL ,
ld_msgid  TYPE SY-MSGID ,
ld_msgno  TYPE SY-MSGNO ,
ld_dvr  TYPE DRAW-DOKVR ,
ld_msgty  TYPE SY-MSGTY ,
ld_suppress_flag  TYPE STRING ,
ld_msgv1  TYPE SY-MSGV1 ,
ld_transaction_code  TYPE SY-TCODE ,
ld_update_immediately  TYPE STRING ,
ld_msgv2  TYPE SY-MSGV2 ,
ld_update_mode  TYPE STRING ,
ld_msgv3  TYPE SY-MSGV3 ,
ld_in_protf  TYPE DRAP-PROTF ,
ld_msgv4  TYPE SY-MSGV4 ,
ld_update  TYPE STRING ,
ld_in_draw  TYPE DRAW ,
ld_in_tkttxt  TYPE TKTTXT ,
ld_not_dequeue_all  TYPE STRING ,
ld_no_change_transmitted_fields  TYPE STRING ,
ld_refar  TYPE MCDOK-REFAR ,
ld_refnr  TYPE MCDOK-REFNR ,
ld_reftl  TYPE MCDOK-REFTL ,
ld_refvr  TYPE MCDOK-REFVR ,
ld_ok_code  TYPE RSEU1-FUNC ,
ld_if_copy_copy_class_data  TYPE MCDOK-MARAF .


ld_api_mode_used = some text here

ld_binpt_mode_used = some text here

SELECT single DOKAR
FROM DRAW
INTO ld_dar.


SELECT single DOKNR
FROM DRAW
INTO ld_dnr.


SELECT single DOKTL
FROM DRAW
INTO ld_dtl.


SELECT single DOKVR
FROM DRAW
INTO ld_dvr.

ld_suppress_flag = 'some text here'.
ld_transaction_code = 'some text here'.
ld_update_immediately = 'some text here'.
ld_update_mode = 'some text here'.

SELECT single PROTF
FROM DRAP
INTO ld_in_protf.

ld_in_draw = 'some text here'.
ld_in_tkttxt = 'some text here'.
ld_not_dequeue_all = 'some text here'.
ld_no_change_transmitted_fields = 'some text here'.

ld_refar = some text here

ld_refnr = some text here

ld_reftl = some text here

ld_refvr = some text here

ld_ok_code = some text here

ld_if_copy_copy_class_data = some text here

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 DOCUMENT_HANDLING or its description.