SAP Function Modules

SO_SCRIPT_INSERT SAP Function module







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

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


Pattern for FM SO_SCRIPT_INSERT - SO SCRIPT INSERT





CALL FUNCTION 'SO_SCRIPT_INSERT' "
  EXPORTING
    folder_id =                 " soodk         ID of the folder in which the object should be stored
    object_fl_change =          " sofm1         Folder-related definition data
    object_hd_change =          " sood1         Object definition data
    object_header =             " thead         SAPscrip header
    owner =                     " soud-usrnam   Owner of object
  IMPORTING
    object_fl_display =         " sofm2         Folder-related definition data
    object_hd_display =         " sood2         Object definition data; part that can be displayed
    object_id =                 " soodk         ID of object
  TABLES
    objpara =                   " selc          Parameters for transaction/report
    objparb =                   " soop1         Parameters for dialog/function module
    scrtxt =                    " tline         SAPscript text contents
  EXCEPTIONS
    ACTIVE_USER_NOT_EXIST = 1   "               The active user does not exist
    COMPONENT_NOT_AVAILABLE = 2  "              Component not available
    FOLDER_NO_AUTHORIZATION = 3  "              No authorization for selected folder
    FOLDER_NOT_EXIST = 4        "               Folder does not exist
    OBJECT_TYPE_NOT_EXIST = 5   "               Object type does not exist
    OPERATION_NO_AUTHORIZATION = 6  "           No authorization for the operation selected
    OWNER_NOT_EXIST = 7         "               The owner does not exist
    PARAMETER_ERROR = 8         "               The parameter combination is not allowed
    SUBSTITUTE_NOT_ACTIVE = 9   "               Substitute is inactive
    SUBSTITUTE_NOT_DEFINED = 10  "              Substitute is not defined
    X_ERROR = 11                "               Internal error
    .  "  SO_SCRIPT_INSERT

ABAP code example for Function Module SO_SCRIPT_INSERT





The ABAP code below is a full code listing to execute function module SO_SCRIPT_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_fl_display  TYPE SOFM2 ,
ld_object_hd_display  TYPE SOOD2 ,
ld_object_id  TYPE SOODK ,
it_objpara  TYPE STANDARD TABLE OF SELC,"TABLES PARAM
wa_objpara  LIKE LINE OF it_objpara ,
it_objparb  TYPE STANDARD TABLE OF SOOP1,"TABLES PARAM
wa_objparb  LIKE LINE OF it_objparb ,
it_scrtxt  TYPE STANDARD TABLE OF TLINE,"TABLES PARAM
wa_scrtxt  LIKE LINE OF it_scrtxt .

DATA(ld_folder_id) = 'Check type of data required'.
DATA(ld_object_fl_change) = 'Check type of data required'.
DATA(ld_object_hd_change) = 'Check type of data required'.
DATA(ld_object_header) = 'Check type of data required'.

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


"populate fields of struture and append to itab
append wa_objpara to it_objpara.

"populate fields of struture and append to itab
append wa_objparb to it_objparb.

"populate fields of struture and append to itab
append wa_scrtxt to it_scrtxt. . CALL FUNCTION 'SO_SCRIPT_INSERT' EXPORTING folder_id = ld_folder_id object_fl_change = ld_object_fl_change object_hd_change = ld_object_hd_change object_header = ld_object_header owner = ld_owner IMPORTING object_fl_display = ld_object_fl_display object_hd_display = ld_object_hd_display object_id = ld_object_id TABLES objpara = it_objpara objparb = it_objparb scrtxt = it_scrtxt EXCEPTIONS ACTIVE_USER_NOT_EXIST = 1 COMPONENT_NOT_AVAILABLE = 2 FOLDER_NO_AUTHORIZATION = 3 FOLDER_NOT_EXIST = 4 OBJECT_TYPE_NOT_EXIST = 5 OPERATION_NO_AUTHORIZATION = 6 OWNER_NOT_EXIST = 7 PARAMETER_ERROR = 8 SUBSTITUTE_NOT_ACTIVE = 9 SUBSTITUTE_NOT_DEFINED = 10 X_ERROR = 11 . " SO_SCRIPT_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 ELSEIF SY-SUBRC EQ 11. "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_fl_display  TYPE SOFM2 ,
ld_folder_id  TYPE SOODK ,
it_objpara  TYPE STANDARD TABLE OF SELC ,
wa_objpara  LIKE LINE OF it_objpara,
ld_object_hd_display  TYPE SOOD2 ,
ld_object_fl_change  TYPE SOFM1 ,
it_objparb  TYPE STANDARD TABLE OF SOOP1 ,
wa_objparb  LIKE LINE OF it_objparb,
it_scrtxt  TYPE STANDARD TABLE OF TLINE ,
wa_scrtxt  LIKE LINE OF it_scrtxt,
ld_object_hd_change  TYPE SOOD1 ,
ld_object_id  TYPE SOODK ,
ld_object_header  TYPE THEAD ,
ld_owner  TYPE SOUD-USRNAM .

ld_folder_id = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_objpara to it_objpara.
ld_object_fl_change = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_objparb to it_objparb.

"populate fields of struture and append to itab
append wa_scrtxt to it_scrtxt.
ld_object_hd_change = 'Check type of data required'.
ld_object_header = 'Check type of data required'.

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