SAP Function

Discussion in 'Computer Science and IT Students' started by Guest, Mar 4, 2007.

  1. Guest

    Guest Guest

    SAP Function

    ABAP_DOCU_DOWNLOAD Download ABAP documentation in HTML format.

    APPL_LOG_DELETE With this function module you delete logs in the database according to specified selection conditions

    APPL_LOG_DISPLAY With this function module you can analyze logs in the database.

    APPL_LOG_DISPLAY_INTERN With this function module you can analyze logs in local memory, e.g. when you have only collected log records at runtime and do not want to write to the database.

    APPL_LOG_INIT This function module checks whether the specified object or sub-object exists and deletes all existing associated data in local memory.

    APPL_LOG_READ_DB With this function module you read the log data in the database for an object or sub-object according to specified selection conditions.

    APPL_LOG_READ_INTERN With this function module you read all log data whose log class has at least the specified value, from local memory, for the specified object or sub-object.

    APPL_LOG_SET_OBJECT With this function module, you create a new object or sub-object for writing in local memory. With a flag you can control whether the APPL_LOG_WRITE_... messages are written in local memory or are output on the screen.

    APPL_LOG_WRITE_DB With this function module you write all data for the specified object or sub-object in local memory to the database. If the log for the object or sub-object in question is new, the log number is returned to the calling program.

    APPL_LOG_WRITE_HEADER With this function module, you write the log header data in local memory.

    APPL_LOG_WRITE_LOG_PARAMETERS With this function module, you write the name of the log parameters and the associated values for the specified object or sub-object in local memory. If this function module is called repeatedly for the same object or sub-object, the existing parameters are updated accordingly. If you do not specify an object or sub-object with the call, the most recently used is assumed.

    APPL_LOG_WRITE_MESSAGE_PARAMS With this function module you write a single message, with parameters, in local memory. Otherwise the function module works like APPL_LOG_WRITE_SINGLE_MESSAGE.

    APPL_LOG_WRITE_MESSAGES With this function module you write one or more messages, without parameters, in local memory.

    APPL_LOG_WRITE_SINGLE_MESSAGE With this function module you write a single message, without parameters, in local memory. If no header entry has yet been written for the object or sub-object, it is created. If you do not specify an object or sub-object with the call, the most recently used is assumed.

    ARFC_GET_TID will return the IP address of the terminal in hex.

    BAL_CNTL_CREATE Create Control for log display

    BAL_CNTL_FREE Release Control

    BAL_CNTL_REFRESH Put new data in log display

    BAL_DB_DELETE Delete logs from the database

    BAL_DB_DEQUEUE Unlock log

    BAL_DB_ENQUEUE Lock log

    BAL_DB_LOAD Load logs from the database

    BAL_DB_LOAD Load log(s)

    BAL_DB_SAVE Save logs in the database

    BAL_DB_SAVE Save log(s)

    BAL_DB_SAVE_PREPARE Prepare save

    BAL_DB_SEARCH Find logs in the database

    BAL_DSP_LOG_DISPLAY Display messages in memory


    BAL_DSP_LOG_PARAMETERS Either output extended long text or call a callback routine (based on the data in BAL_S_LOG-PARAMS)

    BAL_DSP_LOG_TECHNICAL_DATA Output all log header data

    BAL_DSP_MSG_LONGTEXT Display message long text

    BAL_DSP_MSG_PARAMETERS Either output extended long text or call a callback routine (based on the data in BAL_S_MSG-PARAMS)

    BAL_DSP_MSG_TECHNICAL_DATA Output technical data of a message such as work area, error number, etc.

    BAL_DSP_OUTPUT_FREE End output

    BAL_DSP_OUTPUT_INIT Initialize output

    BAL_DSP_OUTPUT_SET_DATA Set dataset to be displayed


    BAL_DSP_PROFILE_NO_TREE_GET Display without tree (fullscreen)

    BAL_DSP_PROFILE_POPUP_GET Display without tree (popup)

    BAL_DSP_PROFILE_SINGLE_LOG_GET Standard profile (SLG1) for one log

    BAL_DSP_PROFILE_STANDARD_GET Standard profile (SLG1) for a lot of logs

    BAL_GLB_AUTHORIZATION_GET Assign authorization

    BAL_GLB_AUTHORIZATION_RESET Reset authorization

    BAL_GLB_CONFIG_GET Read configuration

    BAL_GLB_CONFIG_SET Set configuration

    BAL_GLB_MEMORY_EXPORT Put function group memory in ABAP-MEMORY

    BAL_GLB_MEMORY_IMPORT Get function group memory from ABAP-MEMORY

    BAL_GLB_MEMORY_REFRESH (Partially) reset global memory

    BAL_GLB_MEMORY_REFRESH (Partially) initialize memory

    BAL_GLB_MSG_CURRENT_HANDLE_GET Get current message handle

    BAL_GLB_MSG_DEFAULTS_GET Get message defaults

    BAL_GLB_SEARCH_LOG Find logs in memory

    BAL_GLB_SEARCH_MSG Find messages in memory

    BAL_LOG_CREATE Create log with header data

    BAL_LOG_CREATE Create log with header data

    BAL_LOG_DELETE Delete log (from database also at Save)

    BAL_LOG_EXIST Check existence of a log in memory

    BAL_LOG_HDR_CHANGE Change log header

    BAL_LOG_HDR_CHECK Check log header data for consistency

    BAL_LOG_HDR_READ Read log header and other data

    BAL_LOG_MSG_ADD Put message in log

    BAL_LOG_MSG_ADD Put message in log

    BAL_LOG_MSG_CHANGE Change message

    BAL_LOG_MSG_CHANGE Change message

    BAL_LOG_MSG_CHECK Check message data for consistency

    BAL_LOG_MSG_CUMULATE Add message cumulated

    BAL_LOG_MSG_DELETE Delete message

    BAL_LOG_MSG_DELETE Delete message

    BAL_LOG_MSG_EXIST Check existence of a message in memory

    BAL_LOG_MSG_READ Read message and other data

    BAL_LOG_MSG_REPLACE Replace last message

    BAL_LOG_REFRESH Delete log from memory

    BAL_LOG_REFRESH Delete log from memory


    BAL_OBJECT_SELECT Read Application Log objects table record

    BAL_OBJECT_SUBOBJECT Check whether object and subobject exist and the combination is allowed

    BAL_SUBOBJECT_SELECT Read subobject table record

    BP_EVENT_RAISE Trigger an event from ABAP/4 program

    BP_JOBLOG_READ Fetch job log executions

    CHANGEDOCUMENT_READ_HEADERS Get the change document header for a sales document, and put the results in an internal table.


    objectclass = 'EINKBELEG'
    objectid = l_objectid
    username = space
    i_cdhdr = lt_cdhdr.

    LOOP AT lt_cdhdr WHERE udate IN s_aedat.
    changenumber = lt_cdhdr-changenr
    editpos = lt_editpos.

    LOOP AT lt_editpos WHERE fname = 'LOEKZ'
    AND f_new = 'L'.
    p_desc = text-r01. " Cancel Contract

    CHANGEDOCUMENT_READ_POSITIONS Get the details of a change document, and store them in an internal table. This will tell you whether a field was changed, deleted, or updated.


    objectclass = 'EINKBELEG'
    objectid = l_objectid
    username = space
    i_cdhdr = lt_cdhdr.

    LOOP AT lt_cdhdr WHERE udate IN s_aedat.
    changenumber = lt_cdhdr-changenr
    editpos = lt_editpos.

    LOOP AT lt_editpos WHERE fname = 'LOEKZ'
    AND f_new = 'L'.
    p_desc = text-r01. " Cancel Contract

    CLAF_CLASSIFICATION_OF_OBJECTS Return all of the characteristics for a material

    CLOI_PUT_SIGN_IN_FRONT Move the negative sign from the left hand side of a number, to the right hand side of the number. Note that The result will be left justified (like all character fields), not right justifed as numbers normally are.

    CLPB_EXPORT Export a text table to the clipboard (on presentation server)

    CLPB_IMPORT Import a Text Table from the Clipboard (on presentation server)

    COMMIT_TEXT To load long text into SAP

    CONVERSION_EXIT_ALPHA_INPUT converts any number into a string fill with zeroes, with the number at the extreme right


    input = 123
    output = 0000000000000...000000000000123

    CONVERSION_EXIT_ALPHA_OUTPUT converts any number with zeroes right into a simple integer


    input = 00000000000123
    output = 123

    CONVERT_ABAPSPOOLJOB_2_PDF convert abap spool output to PDF

    CONVERT_OTF Convert SAP documents (SAPScript) to other types.


    ERR_FORMAT = 2
    OTHERS = 4.

    CONVERT_OTFSPOOLJOB_2_PDF converts a OTF spool to PDF (i.e. Sapscript document)

    CONVERT_TO_FOREIGN_CURRENCY Convert local currency to foreign currency.

    CONVERT_TO_LOCAL_CURRENCY Convert from foreign currency to local currency

    DATE_CHECK_PLAUSIBILITY Check to see if a date is in a valid format for SAP. Works well when validating dates being passed in from other systems.

    DATE_COMPUTE_DAY Returns a number indicating what day of the week the date falls on. Monday is returned as a 1, Tuesday as 2, etc.

    DATE_GET_WEEK will return the week that a date is in.

    DATE_IN_FUTURE Calculate a date N days in the future.

    DATE_TO_DAY Converts a date in internal format to a text description of a day. For example 20030529 returns Thursday

    DAY_ATTRIBUTES_GET Return useful information about a day. Will tell you the day of the week as a word (Tuesday), the day of the week (2 would be Tuedsay), whether the day is a holiday, and more.(provided by Francois Henrotte)

    DOWNLOAD download a file to the presentation server (PC)

    DYNP_VALUES_READ Read the values from a dynpro. This function can be used to read the values from a report's selection screen too (Another example).

    DYNP_VALUES_UPDATE Similar to DYNP_VALUES_READ, this function will allow the updating of fields on a dynpro. Very useful when you want to change a field based on the value entered for another field.

    ENQUE_SLEEP Wait a specified period of time before continuing processing.

    ENQUEUE_ESFUNCTION Lock an abap program so that it cannot be executed.


    Set the parameters as follows:
    RELID = 'ZZ'
    SRTF2 = 0
    SRTF = (your report name)

    Please note that you should not use SY-REPID to pass your report name to the function. The value of SY-REPID will change as it is being passed to the function module, and will no longer hold the value of the calling report.

    EPS_GET_DIRECTORY_LISTING return a list of filenames from a local or network drive

    EPS_GET_FILE_ATTRIBUTES Pass in a filename and a path, and will return attributes for the file

    F4_DATE displays a calendar in a popup window and allows user to choose a date, or it can be displayed read only.

    F4_IF_FIELD_VALUE_REQUEST Use values from a DDIC table to provide a list of possible values. TABNAME and FIELDNAME are required fields, and when MULTIPLE_CHOICE is selected, more than one value can be returned.

    F4IF_INT_TABLE_VALUE_REQUEST F4 help that returns the values selected in an internal table. Very handy when programming your very own F4 help for a field.


    begin of t_values occurs 2,
    value like kna1-begru,
    end of t_values,

    t_return like ddshretval occurs 0 with header line.

    t_values = 'PAR*'.
    append t_values.

    t_values = 'UGG'.
    append t_values.

    call function 'F4IF_INT_TABLE_VALUE_REQUEST'
    retfield = 'BEGRU'
    value_org = 'S'
    value_tab = t_values
    return_tab = t_return
    parameter_error = 1
    no_values_found = 2
    others = 3.

    if sy-subrc = 0.
    read table t_return index 1.

    o_begru-low = t_return-fieldval.

    if o_begru-low = 'PAR*'.
    o_begru-option = 'CP'.
    o_begru-option = 'EQ'.

    o_begru-sign = 'I'.

    append o_begru to s_begru.
    o_begru = i_begru.

    F4IF_SHLP_EXIT_EXAMPLE documents the different reasons to use a search help exit, and shows how it is done.

    F4IP_INT_TABLE_VALUE_REQUEST This function does not exist in 4.6 and above. Use F4IF_INT_TABLE_VALUE_REQUEST instead.

    FILENAME_GET popup to get a filename from a user, returns blank filename if user selects cancel

    FM_SELECTION_CRITERIA_PRINT Print out selection criteria. Nicley formatted.

    FORMAT_MESSAGE Takes a message id and number, and puts it into a variable. Works better than WRITE_MESSAGE, since some messages use $ as a place holder, and WRITE_MESSAGE does not accommadate that, it only replaces the ampersands (&) in the message.

    FTP_COMMAND Execute a command on the FTP server

    FTP_CONNECT Open a connection (and log in) to an FTP server

    FTP_DISCONNECT Close the connection (and log off) the FTP server

    FU CSAP_MAT_BOM_READ You can use this function module to display simple material BOMs. You cannot display BOM groups (for example, all variants of a variant BOM). as in transaction CS03. Current restrictions: You cannot display long texts. You cannot display sub-items. You cannot display classification data of BOM items for batches. You can only display one alternative or variant. You cannot enter an alternative for module CSAP_MAT_BOM_READ, so you always see alternative 01. The following example came from a posting on the SAP-R3-L mailing list.


    data: begin of tstk2 occurs 0.
    include structure stko_api02.
    data: end of tstk2.

    data: begin of tstp2 occurs 0.
    include structure stpo_api02.
    data: end of tstp2.

    data: begin of tdep_data occurs 0.
    include structure csdep_data.
    data: end of tdep_data.

    data: begin of tdep_descr occurs 0.
    include structure csdep_descr.
    data: end of tdep_descr.

    data: begin of tdep_source occurs 0.
    include structure csdep_source.
    data: end of tdep_source.

    data: begin of tdep_order occurs 0.
    include structure csdep_order.
    data: end of tdep_order.

    data: begin of tdep_doc occurs 0.
    include structure csdep_doc.
    data: end of tdep_doc.

    data: flg_warning like capiflag-flwarning.

    call function 'CSAP_MAT_BOM_READ'
    material = 'MAT100'
    plant = '0001'
    bom_usage = '1'
    valid_from = '20.12.1996'
    * valid_to
    fl_warning = flg_warning
    t_stko = tstk2
    t_stpo = tstp2
    t_dep_data = tdep_data
    t_dep_descr = tdep_descr
    t_dep_source = tdep_source
    t_dep_order = tdep_order
    t_dep_doc = tdep_doc
    error = 1.

    Function Group GRAP is now obsolete. SAP recommends using functions in function group SFES instead. Below is an overview of the changes.

    G_SET_GET_ALL_VALUES Fetch values from a set.

    GET_CURRENT_YEAR Get the current fiscal year.


    BUKRS = '1000' " Company Code
    DATE = SY-DATUM " Date to find fiscal year for
    CURRM = w_currm " Current Fiscal Month
    CURRY = w_curry " Current Fiscal Year
    PREVM = w_prevm " Previous Fiscal Month
    PREVY = w_prevy. " Previous Fiscal Year

    GET_GLOBAL_SYMBOLS Returns a list of all tables, select options, texts, etc for a program. Even includes the text definitions for the selection screen

    GET_INCLUDETAB Returns a list of all INCLUDES in a program

    GET_JOB_RUNTIME_INFO Get the current job number from a program. Also returns other useful info about the current job.

    GET_PAYSLIP Returns a fully formatted payslip, ready for displaying

    GUI_CREATE_DIRECTORY Create a directory on the presentation server

    GUI_DELETE_FILE Replaces WS_FILE_DELETE. Delete a file on the presentation server

    GUI_DOWNLOAD Replaces WS_DOWNLOAD. Download table from the app server to presentation server

    GUI_EXEC Replaces WS_EXECUTE. Start a File or Program Asynchronously with WinExec

    GUI_GET_DESKTOP_INFO Replaces WS_QUERY. Delivers Information About the Desktop (client)

    GUI_REMOVE_DIRECTORY Delete a directory on the presentation server

    GUI_RUN Start a File or Program Asynchronously with ShellExecute

    GUI_UPLOAD Replaces WS_UPLOAD. Upoad file from presentation server to the app server

    HELP_START Display help for a field. Useful for doing AT SELECTION SCREEN ON VALUE REQUEST for those fields that do not provide F4 help at the DDIC level.

    HELP_VALUES_GET_WITH_TABLE Show a list of possible values for F4 popup help on selection screens. This function module pops up a screen that is just like all the other F4 helps, so it looks like the rest of the SAP system. Very useful for providing dropdowns on fields that do not have them predefined.


    tables: t001w.

    DATA: lc_werks LIKE t001w-werks,
    ltab_fields LIKE help_value OCCURS 0 with header line,

    BEGIN OF ltab_values OCCURS 0,
    feld(40) TYPE c,
    END OF ltab_values.

    *-- Set up fields to retrieve data
    ltab_fields-tabname = 'T001W'.
    ltab_fields-fieldname = 'WERKS'.
    ltab_fields-selectflag = 'X'.
    APPEND ltab_fields.

    ltab_fields-tabname = 'T001W'.
    ltab_fields-fieldname = 'NAME1'.
    ltab_fields-selectflag = space.
    APPEND ltab_fields.

    *-- Fill values
    select * from t001w.
    ltab_values-feld = t001w-werks.
    append ltab_values.
    ltab_values-feld = t001w-name1.
    append ltab_values.

    fieldname = 'WERKS'
    tabname = 'T001W'
    title_in_values_list = 'Select a value'
    select_value = lc_werks
    fields = ltab_fields
    valuetab = ltab_values
    field_not_in_ddic = 01
    more_then_one_selectfield = 02
    no_selectfield = 03.

Share This Page