SAP Function Modules

SO_ATTACHMENT_INSERT SAP Function module







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

Associated Function Group: SOB2
Released Date: Not Released
Processing type: Remote-Enabled
remote enabled module settings


Pattern for FM SO_ATTACHMENT_INSERT - SO ATTACHMENT INSERT





CALL FUNCTION 'SO_ATTACHMENT_INSERT' "
  EXPORTING
    object_id =                 " soodk
*   object_hd_change = SPACE    " sood1         Modifiable object definition data
    attach_type =               " soodk-objtp   Object type
*   owner = SPACE               " soud-usrnam   Mailbox owner
  IMPORTING
    object_hd_display =         " sood2         Object definition data (can be displayed)
    attach_id =                 " soodk         ID of the object
  TABLES
    objcont =                   " soli          Object contents
    objhead =                   " soli          Specific header of object
  EXCEPTIONS
    ACTIVE_USER_NOT_EXIST = 1   "               Active user does not exist
    OBJECT_TYPE_NOT_EXIST = 2   "               Object type does not exist
    OPERATION_NO_AUTHORIZATION = 3  "           No authorization for the operation selected
    OWNER_NOT_EXIST = 4         "               The owner of the mailbox does not exist
    PARAMETER_ERROR = 5         "               Parameter error
    SUBSTITUTE_NOT_ACTIVE = 6   "               The substitute is not activated
    SUBSTITUTE_NOT_DEFINED = 7  "               The substitute is not defined
    X_ERROR = 8                 "               Internal error
    SYSTEM_FAILURE = 9          "
    COMMUNICATION_FAILURE = 10  "
    .  "  SO_ATTACHMENT_INSERT

ABAP code example for Function Module SO_ATTACHMENT_INSERT





The ABAP code below is a full code listing to execute function module SO_ATTACHMENT_INSERT 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_object_hd_display  TYPE SOOD2 ,
ld_attach_id  TYPE SOODK ,
it_objcont  TYPE STANDARD TABLE OF SOLI,"TABLES PARAM
wa_objcont  LIKE LINE OF it_objcont ,
it_objhead  TYPE STANDARD TABLE OF SOLI,"TABLES PARAM
wa_objhead  LIKE LINE OF it_objhead .

DATA(ld_object_id) = 'Check type of data required'.
DATA(ld_object_hd_change) = 'Check type of data required'.

DATA(ld_attach_type) = some text here

SELECT single USRNAM
FROM SOUD
INTO @DATA(ld_owner).


"populate fields of struture and append to itab
append wa_objcont to it_objcont.

"populate fields of struture and append to itab
append wa_objhead to it_objhead. . CALL FUNCTION 'SO_ATTACHMENT_INSERT' EXPORTING object_id = ld_object_id * object_hd_change = ld_object_hd_change attach_type = ld_attach_type * owner = ld_owner IMPORTING object_hd_display = ld_object_hd_display attach_id = ld_attach_id TABLES objcont = it_objcont objhead = it_objhead EXCEPTIONS ACTIVE_USER_NOT_EXIST = 1 OBJECT_TYPE_NOT_EXIST = 2 OPERATION_NO_AUTHORIZATION = 3 OWNER_NOT_EXIST = 4 PARAMETER_ERROR = 5 SUBSTITUTE_NOT_ACTIVE = 6 SUBSTITUTE_NOT_DEFINED = 7 X_ERROR = 8 SYSTEM_FAILURE = 9 COMMUNICATION_FAILURE = 10 . " SO_ATTACHMENT_INSERT
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 ELSEIF SY-SUBRC EQ 4. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 5. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 6. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 7. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 8. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 9. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 10. "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_object_hd_display  TYPE SOOD2 ,
ld_object_id  TYPE SOODK ,
it_objcont  TYPE STANDARD TABLE OF SOLI ,
wa_objcont  LIKE LINE OF it_objcont,
ld_attach_id  TYPE SOODK ,
ld_object_hd_change  TYPE SOOD1 ,
it_objhead  TYPE STANDARD TABLE OF SOLI ,
wa_objhead  LIKE LINE OF it_objhead,
ld_attach_type  TYPE SOODK-OBJTP ,
ld_owner  TYPE SOUD-USRNAM .

ld_object_id = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_objcont to it_objcont.
ld_object_hd_change = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_objhead to it_objhead.

ld_attach_type = some text here

SELECT single USRNAM
FROM SOUD
INTO ld_owner.

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