FILENAME_GET

Hi all,
there is a function called FILENAME_GET and it gives a pop-up where the user can give a filename.
I do not want the user to write the complete path to the file,
so I would like to know if there is a function which let's the user select a file on his/her System
through browsing (like windows open file dialog) and returns the full path to the file?
greetings Fred.

*---------------Popup for file name---------------------*
  CONSTANTS :
         lc_dft_ext    TYPE string VALUE 'XLS',
         lc_file_flt   TYPE string VALUE '*.xls',
         lc_int_drc    TYPE string VALUE 'C:'.
  DATA : lv_win_title  TYPE string,
         lv_file_name  TYPE string,
         lv_dft_fname  TYPE string,
         lv_fname      TYPE string,
         lv_path       TYPE string.
  CLEAR: lv_fname,
         lv_path,
         lv_file_name,
         lv_win_title,
         lv_dft_fname.
*---------------Set File Details F4 Based on Report Type--------------*
  IF xv_indicator = lc_s.
    lv_win_title = text-045.
    lv_dft_fname = text-038.
  ELSE.
    lv_win_title = text-044.
    lv_dft_fname = text-033.
  ENDIF.
  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
      window_title         = lv_win_title
      default_extension    = lc_dft_ext
      default_file_name    = lv_dft_fname
      file_filter          = lc_file_flt
      initial_directory    = lc_int_drc
      prompt_on_overwrite  = lc_true
    CHANGING
      filename             = lv_fname
      path                 = lv_path
      fullpath             = lv_file_name
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      OTHERS               = 4.
  IF sy-subrc <> 0 OR lv_fname     IS INITIAL
                   OR lv_path      IS INITIAL
                   OR lv_file_name IS INITIAL.
    CLEAR xyv_filepath.
  ELSE.
*---FilePath
    xyv_filepath = lv_file_name.
  ENDIF.

Similar Messages

  • Reading long text from excel file to an internal table

    Hi
    Can any body tell me how to read long text from excel file to an internal table.
    When i am using this FM KCD_EXCEL_OLE_TO_INT_CONVERT then it is reading only 32 characters from each cell.
    But in my excel sheet in one of the cell has very long text which i need to upload into a internal table.
    may i know which FM or what logic i need to use for this problem.
    Regards

    Hi,
    Here is an example program.  It will upload an Excel file with two columns.  You could also assign the Excel structure dynamically, but I wanted to keep the example simple.  The main point is that the internal table (it_excel in this example) must match the Excel structure that you want to convert.
    Remember, this is just an example to help you figure out how to properly use the technique.  It will certainly need to be modified to fit your requirements, and as always there may be a better way to get the Excel converted... this is just one possibility that has worked for me in the past.
    *& Report  zexcel_upload_test                            *
    REPORT  zexcel_upload_test.
    TYPE-POOLS: truxs.
    TYPES: BEGIN OF ty_excel,
             col_a(10) TYPE n,
             col_b(35) TYPE c,
           END OF ty_excel.
    DATA: l_data_tab         TYPE TABLE OF string,
          l_text_data        TYPE truxs_t_text_data,
          l_gui_filename     TYPE string,
          it_excel           TYPE TABLE OF ty_excel.
    FIELD-SYMBOLS: <wa_excel>  TYPE ty_excel.
    PARAMETERS: p_file TYPE rlgrap-filename.
    * Pass the file name in the correct format
    l_gui_filename = p_file.
    * Upload data from PC
    CALL METHOD cl_gui_frontend_services=>gui_upload
      EXPORTING
        filename                = l_gui_filename
        filetype                = 'ASC'
        has_field_separator     = 'X'
      CHANGING
        data_tab                = l_data_tab
      EXCEPTIONS
        file_open_error         = 1
        file_read_error         = 2
        no_batch                = 3
        gui_refuse_filetransfer = 4
        invalid_type            = 5
        no_authority            = 6
        unknown_error           = 7
        bad_data_format         = 8
        header_not_allowed      = 9
        separator_not_allowed   = 10
        header_too_long         = 11
        unknown_dp_error        = 12
        access_denied           = 13
        dp_out_of_memory        = 14
        disk_full               = 15
        dp_timeout              = 16
        OTHERS                  = 17.
    IF sy-subrc <> 0.
    *   MESSAGE ...
      EXIT.
    ENDIF.
    * Convert from Excel into the appropriate itab
    l_text_data[] = l_data_tab[].
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
      EXPORTING
        i_field_seperator    = 'X'
        i_tab_raw_data       = l_text_data
        i_filename           = p_file
      TABLES
        i_tab_converted_data = it_excel
      EXCEPTIONS
        conversion_failed    = 1
        OTHERS               = 2.
    IF sy-subrc <> 0.
    *   MESSAGE ...
      EXIT.
    ENDIF.
    LOOP AT it_excel ASSIGNING <wa_excel>.
    *  Do something here...
    ENDLOOP.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      PERFORM filename_get CHANGING p_file.
    *       FORM filename_get                                             *
    FORM filename_get CHANGING p_in_file TYPE rlgrap-filename.
      DATA: l_in_file  TYPE string,
            l_filetab  TYPE filetable,
            wa_filetab TYPE LINE OF filetable,
            l_rc       TYPE i,
            l_action   TYPE i,
            l_init_dir TYPE string.
    * Set the initial directory to whatever you want it to be
      l_init_dir = 'C:\'.
    * Call the file open dialog without multiselect
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          window_title            = 'Load file'
          default_extension       = '.XLS'
          default_filename        = l_in_file
          initial_directory       = l_init_dir
          multiselection          = 'X'
        CHANGING
          file_table              = l_filetab
          rc                      = l_rc
          user_action             = l_action
        EXCEPTIONS
          file_open_dialog_failed = 1
          cntl_error              = 2
          error_no_gui            = 3
          OTHERS                  = 4.
      IF sy-subrc <> 0.
        REFRESH l_filetab.
      ENDIF.
    * Read the selected filename
      READ TABLE l_filetab INTO wa_filetab INDEX 1.
      IF sy-subrc = 0.
        p_in_file = wa_filetab-filename.
      ENDIF.
    ENDFORM.                    " filename_get
    Regards,
    Jamie

  • FM to find directory of a file

    Hi,
    Are there any function modules that get a file name and find its directory? Thanks..

    hi,
    You can use FILENAME_GET to get the filename.
    Check the link for more details:
    Re: Reading file names in App server
    Re: Read Directory & file from appilcation server

  • Function module for calculating sigma balance

    Is there  any function module available in SAP for calculating sigma balance.
    Thanks
    Gaurav

    hi
    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_DISPLAY     Display Log
    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_DETLEVEL_GET     Message hierarchy in DETLEVEL
    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_MSG_DISPLAY_ABAP     Output message as ABAP-MESSAGE
    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.
    Example:
          CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
               EXPORTING
                    objectclass = 'EINKBELEG'
                    objectid    = l_objectid
                    username    = space
               TABLES
                    i_cdhdr     = lt_cdhdr.
          LOOP AT lt_cdhdr WHERE udate IN s_aedat.
            CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
                 EXPORTING
                      changenumber = lt_cdhdr-changenr
                 TABLES
                      editpos      = lt_editpos.
            LOOP AT lt_editpos WHERE fname = 'LOEKZ'
                               AND   f_new = 'L'.
              p_desc = text-r01. " Cancel Contract
            ENDLOOP.
          ENDLOOP.
    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.
    Example:
          CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
               EXPORTING
                    objectclass = 'EINKBELEG'
                    objectid    = l_objectid
                    username    = space
               TABLES
                    i_cdhdr     = lt_cdhdr.
          LOOP AT lt_cdhdr WHERE udate IN s_aedat.
            CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
                 EXPORTING
                      changenumber = lt_cdhdr-changenr
                 TABLES
                      editpos      = lt_editpos.
            LOOP AT lt_editpos WHERE fname = 'LOEKZ'
                               AND   f_new = 'L'.
              p_desc = text-r01. " Cancel Contract
            ENDLOOP.
          ENDLOOP.
    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
    Example:
    input  = 123
    output = 0000000000000...000000000000123
    CONVERSION_EXIT_ALPHA_OUTPUT     converts any number with zeroes right into a simple integer
    Example:
    input   = 00000000000123
    output  = 123
    CONVERT_ABAPSPOOLJOB_2_PDF     convert abap spool output to PDF
    CONVERT_OTF     Convert SAP documents (SAPScript) to other types.
    Example:
    CALL FUNCTION "CONVERT_OTF"
           EXPORTING    FORMAT                = "PDF"
           IMPORTING    BIN_FILESIZE          = FILE_LEN
           TABLES       OTF                   = OTFDATA
                        LINES                 = PDFDATA
           EXCEPTIONS   ERR_MAX_LINEWIDTH     = 1                  
                        ERR_FORMAT            = 2
                        ERR_CONV_NOT_POSSIBLE = 3
                        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.
    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.
    Example:
    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.
    Example:
    data:
        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'
           exporting
                retfield        = 'BEGRU'
                value_org       = 'S'
           tables
                value_tab       = t_values
                return_tab      = t_return
           exceptions
                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'.
        else.
          o_begru-option = 'EQ'.
        endif.
        o_begru-sign = 'I'.
        append o_begru to s_begru.
      else.
        o_begru = i_begru.
      endif.
    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
    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.
    Example:
    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'
            exporting
                 material   = 'MAT100'
                 plant      = '0001'
                 bom_usage  = '1'
                 valid_from = '20.12.1996'
               valid_to
            importing
                 fl_warning = flg_warning
            tables
                 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
            exceptions
                 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.
    Example:
    CALL FUNCTION 'GET_CURRENT_YEAR'
      EXPORTING
        BUKRS         = '1000'     " Company Code
        DATE          = SY-DATUM   " Date to find fiscal year for
      IMPORTING
        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.
    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.
    Example:
    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.
      endselect.
    CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
         EXPORTING
              fieldname                 = 'WERKS'
              tabname                   = 'T001W'
              title_in_values_list      = 'Select a value'
         IMPORTING
              select_value              = lc_werks
         TABLES
              fields                    = ltab_fields
              valuetab                  = ltab_values
         EXCEPTIONS
              field_not_in_ddic         = 01
              more_then_one_selectfield = 02
              no_selectfield            = 03.
    HOLIDAY_CHECK_AND_GET_INFO     Useful for determining whether or not a date is a holiday. Give the function a date, and a holiday calendar, and you can determine if the date is a holiday by checking the parameter HOLIDAY_FOUND.
    Example:
    data: ld_date                 like scal-datum  default sy-datum,
          lc_holiday_cal_id       like scal-hcalid default 'CA',
          ltab_holiday_attributes like thol occurs 0 with header line,
          lc_holiday_found        like scal-indicator.
    CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
      EXPORTING
        date                               = ld_date
        holiday_calendar_id                = lc_holiday_cal_id
        WITH_HOLIDAY_ATTRIBUTES            = 'X'
      IMPORTING
        HOLIDAY_FOUND                      = lc_holiday_found
      tables
        holiday_attributes                 = ltab_holiday_attributes
      EXCEPTIONS
        CALENDAR_BUFFER_NOT_LOADABLE       = 1
        DATE_AFTER_RANGE                   = 2
        DATE_BEFORE_RANGE                  = 3
        DATE_INVALID                       = 4
        HOLIDAY_CALENDAR_ID_MISSING        = 5
        HOLIDAY_CALENDAR_NOT_FOUND         = 6
        OTHERS                             = 7.
    if sy-subrc = 0 and
       lc_holiday_found = 'X'.
      write: / ld_date, 'is a holiday'.
    else.
      write: / ld_date, 'is not a holiday, or there was an error calling the function'.
    endif.
    HOLIDAY_GET     Provides a table of all the holidays based upon a Factory Calendar &/ Holiday Calendar.
    HR_DISPLAY_BASIC_LIST     is an HR function, but can be used for any data. You pass it data, and column headers, and it provides a table control with the ability to manipulate the data, and send it to Word or Excel. Also see the additional documentation here.
    HR_GET_LEAVE_DATA     Get all leave information (includes leave entitlement, used holidays/paid out holidays)
    HR_IE_NUM_PRSI_WEEKS     Return the number of weeks between two dates.
    HR_PAYROLL_PERIODS_GET
    Get the payroll period for a particular date. (provided by Francois Henrotte)
    Example:
      DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
            IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
      W_BEGDA = '20010101'.
      W_PERNR = '00000001'.
      CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
           EXPORTING
                get_begda       = w_begda
           TABLES
                get_periods     = it_t549q
           EXCEPTIONS
                no_period_found = 1
                no_valid_permo  = 2.
      CHECK sy-subrc = 0.
      CALL FUNCTION 'HR_TIME_RESULTS_GET'
           EXPORTING
                get_pernr             = w_pernr
                get_pabrj             = it_t549q-pabrj
                get_pabrp             = it_t549q-pabrp
           TABLES
                get_zl                = it_zl
           EXCEPTIONS
                no_period_specified   = 1
                wrong_cluster_version = 2
                no_read_authority     = 3
                cluster_archived      = 4
                technical_error       = 5.
    NOTE: it_zl-iftyp = 'A'   absence
          it_zl-iftyp = 'S'   at work
    HR_TIME_RESULTS_GET
    Get the time results for a payroll period. (provided by Francois Henrotte)
    Example:
      DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
            IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
      W_BEGDA = '20010101'.
      W_PERNR = '00000001'.
      CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
           EXPORTING
                get_begda       = w_begda
           TABLES
                get_periods     = it_t549q
           EXCEPTIONS
                no_period_found = 1
                no_valid_permo  = 2.
      CHECK sy-subrc = 0.
      CALL FUNCTION 'HR_TIME_RESULTS_GET'
           EXPORTING
                get_pernr             = w_pernr
                get_pabrj             = it_t549q-pabrj
                get_pabrp             = it_t549q-pabrp
           TABLES
                get_zl                = it_zl
           EXCEPTIONS
                no_period_specified   = 1
                wrong_cluster_version = 2
                no_read_authority     = 3
                cluster_archived      = 4
                technical_error       = 5.
    NOTE: it_zl-iftyp = 'A'   absence
          it_zl-iftyp = 'S'   at work
    INIT_TEXT     To load long text into SAP
    K_WERKS_OF_BUKRS_FIND     Return a list of all plants for a given company code.
    LIST_FROM_MEMORY     Retrieves the output of a report from memory when the report was executed using SUBMIT... EXPORTING LIST TO MEMORY. See also WRITE_LIST.
    LIST_TO_ASCII     convert an ABAP report (displayed on screen) from OTF to ASCII format
    MBEW_EXTEND
    Get the stock position for the previous month. This displays the same info that you see in MM03.
    MONTH_NAMES_GET     It returns all the month and names in repective language.
    MONTH_PLUS_DETERMINE     Add or subtract months from a date. To subtract a month, enter a negative value for the 'months' parameter.
    Example:
    data: new_date type d.
    CALL FUNCTION 'MONTH_PLUS_DETERMINE'
      EXPORTING
        months        = -5       " Negative to subtract from old date, positive to add
        olddate       = sy-datum
    IMPORTING
       NEWDATE       = new_date.
    write: / new_date.
    MS_EXCEL_OLE_STANDARD_OLE     will build a file, and automatically start Excel
    OTF_CONVERT     wraps several other function modules. Will convert OTF to ASCII or PDF
    POPUP_TO_CONFIRM_LOSS_OF_DATA     Create a dialog box in which you make a question whether the user wishes to perform a processing step with loss of data.
    POPUP_TO_CONFIRM_STEP     Create a dialog box in which you make a question whether the user wishes to perform the step.
    POPUP_TO_CONFIRM_WITH_MESSAGE     Create a dialog box in which you inform the user about a specific decision point during an action.
    POPUP_TO_CONFIRM_WITH_VALUE     Create a dialog box in which you make a question whether the user wishes to perform a processing step with a particular object.
    POPUP_TO_DECIDE     Provide user with several choices as radio buttons
    POPUP_TO_DECIDE_WITH_MESSAGE     Create a dialog box in which you inform the user about a specific decision point via a diagnosis text.
    POPUP_TO_DISPLAY_TEXT     Create a dialog box in which you display a two line message
    POPUP_TO_SELECT_MONTH     Popup to choose a month
    POPUP_WITH_TABLE_DISPLAY     Provide a display of a table for user to select one, with the value of the table line returned when selected.
    PRICING     Return pricing conditions in an internal table. Use structure TCOMK for parameter COMM_HEAD_1, and structure TCOMP for parameter COMM_ITEM_1, and set CALCULATION_TYPE to B. The pricing conditions will be returned in XOMV. You must fill TCOMP, and TCOMK with the appropriate values before callling the function in order for it to work.
    PROFILE_GET     Read an Entry in an INI File on the frontend
    PROFILE_SET     Write an Entry in an INI File on the frontend
    READ_TEXT     To load long text into SAP
    REGISTRY_GET     Read an Entry from the Registry
    REGISTRY_SET     Set an entry in the Registry
    RFC_ABAP_INSTALL_AND_RUN     Runs an ABAP program that is stored in the table PROGRAM when the MODE = 'F'. Table WRITES contains the ouput of the program. Allows you to run a program without having the source code in the target system.
    RH_GET_ACTIVE_WF_PLVAR     Return the active HR Plan
    RH_GET_DATE_DAYNAME     return the day based on the date provied
    RH_START_EXCEL_WITH_DATA     starts Excel with the contents of an internal table. This function finds Excel in the desktop registry. It also uses a local PC working directory to save the file (that's what the 'W' value for data path flag does). Very transparent to user!
    RH_STRUC_GET     Returns all related org info
    RHP0_POPUP_F4_SEARK
    is a matchcode for any type of HR Planning object, including the possibility to fill the field that you want
    Example:
    Examples: search for any organizational structure
               F4 = 'X'
               PLVAR = '01'
               OTYPE = 'O '
              search for any persons
               F4 = 'X'
               PLVAR = '01'
               OTYPE = 'P '
               MULTI_SELECT = 'X' to allow multiple selection
               EASY = 'X' for user-dependent matchcode
    Unfortunately, the use of table BASE_OBJIDS is disabled, so you can't specify
    a root for the hierarchy you display
    RKD_WORD_WRAP     Convert a long string or phrase into several lines.
    RP_CALC_DATE_IN_INTERVAL     Add/subtract years/months/days from a date
    RP_LAST_DAY_OF_MONTHS     Determine last day of month
    RPY_DYNPRO_READ     Read dynpro, including screen flow
    RPY_TRANSACTION_READ     Given a transaction, return the program and screen or given a program and screen, return the transactions that use the program and screen.
    RS_COVERPAGE_SELECTIONS     Returns an internal table that contains a formatted list of all the selection parameters entered for a report. Table is ready to print out.
    RS_REFRESH_FROM_SELECTOPTIONS     Get the current contents of selection screen
    RS_SEND_MAIL_FOR_SPOOLLIST     Send message from ABAP/4 program to SAPoffice.
    RS_VARIANT_CONTENTS     Returns the contents of the specified variant in a table.
    RSPO_DOWNLOAD_SPOOLJOB     Download the spool from a program to a file. Requires spool number.
    RSPO_RETURN_ABAP_SPOOLJOB     Fetch printer spool according to the spool number informed.
    RZL_READ_DIR     If the server name is left blank, it reads a directory from local presentation server, otherwise it reads the directory of the remote server
    RZL_READ_DIR_LOCAL     Read a directory on the Application Server
    RZL_READ_FILE     Read a file from the presentation server if no server name is given, or read file from remote server. Very useful to avoid authority checks that occur doing an OPEN DATASET. This function using a SAP C program to read the data.
    RZL_SLEEP     Hang the current application from 1 to 5 seconds.
    RZL_SUBMIT     Submit a remote report.
    RZL_WRITE_FILE_LOCAL     Saves table to the presentation server (not PC). Does not use OPEN DATASET, so it does not suffer from authority checks!
    SAP_CONVERT_TO_XLS_FORMAT     Convert data to Microsoft Excel format.
    SAPGUI_PROGRESS_INDICATOR     Display a progress bar on the SAP GUI, and give the user some idea of what is happening
    SAVE_TEXT     To load long text into SAP
    SCROLLING_IN_TABLE     If you are coding a module pool and using a table control, you can use this function SCROLLING_IN_TABLE to handle any scrolling. (provided by Paul Kjaer)
    SD_DATETIME_DIFFERENCE     Give the difference in Days and Time for 2 dates
    SO_NEW_DOCUMENT_ATT_SEND_API1     Send a document as part of an email. The documentation is better than normal for this function, so please read it.
    SO_SPLIT_FILE_AND_PATH     Split a fully pathed filename into a filename and a path.
    SO_SPOOL_READ     Fetch printer spool according to the spool number informed. See also RSPO_RETURN_ABAP_SPOOLJOB
    SO_WIND_SPOOL_LIST     Browse printer spool numbers according to user informed.
    SWD_HELP_F4_ORG_OBJECTS
    HR Matchcode tailored for organizational units. Includes a button so that you can browse the hierarchy too.
    SX_OBJECT_CONVERT_OTF_PDF     Conversion From OTF to PDF (SAPScript conversion)
    SX_OBJECT_CONVERT_OTF_PRT     Conversion From OTF to Printer Format (SAPScript conversion)
    SX_OBJECT_CONVERT_OTF_RAW     Conversion From OTF to ASCII (SAPScript conversion)
    SXPG_CALL_SYSTEM     you can check the user's authorization for the specified command and run the command. The command runs on the host system on which the function module is executed. The function module is RFC capable. It can therefore be run on the host system at which a user happens to be active or on another designated host system at which an R/3 server is active.
    SXPG_COMMAND_CHECK     Check whether the user is authorized to execute the specified command on the target host system with the specified arguments.
    SXPG_COMMAND_DEFINITION_GET     Read the definition of a single external OS command from the R/3 System's database.
    SXPG_COMMAND_EXECUTE     Check a user's authorization to use a command, as in SXPG_COMMAND_CHECK. If the authorization check is successful, then execute the command on the target host system.
    SXPG_COMMAND_LIST_GET     Select a list of external OS command definitions.
    TERMINAL_ID_GET     Return the terminal id
    TH_DELETE_USER     Logoff a user. Similar results to using SM04.
    TH_ENVIRONMENT     Get the UNIX environment
    TH_POPUP     Display a popup system message on a specific users screen.
    TH_REMOTE_TRANSACTION     Run a transaction on a remote server. Optionally provide BDC data to be used in the transaction
    TH_USER_INFO     Give information about the current user (sessions, workstation logged in from, etc)
    TH_USER_LIST     Show which users are logged into an app server
    TMP_GUI_DIRECTORY_LIST_FILES     Retrieve all of the files and subdirectories on the Presentation Server (PC) for a given directory.
    When a value other than * or . is used for the filter, you will not get any directories, unless they match your wildcard filter. For example, if you entered *.png, then only files and directories that end in png will be returned by the function.
    Example:
    data:  lc_directory         like bdschko16-target_dir value 'C:\TEMP\',
           lc_filter(20)        type c default '.'.
           li_file_count        type i,
           li_dir_count         type i,
           ltab_dir_table       like sdokpath occurs 0 with header line,
           ltab_file_file_table like sdokpath occurs 0 with header line.
    call function 'TMP_GUI_DIRECTORY_LIST_FILES'
      exporting
        directory        = lc_directory
        filter           = lc_filter  importing
        file_count       = li_file_count
        dir_count        = li_dir_count
      tables
        file_table       = ltab_file_table
        dir_table        = ltab_dir_table
      exceptions
        cntl_error       = 1
        others           = 2.
    UNIT_CONVERSION_SIMPLE     convert weights from one UOM to another.
    UPLOAD     upload a file to the presentation server (PC)
    UPLOAD_FILES     Will load one or more files from app or presentation server
    WEEK_GET_FIRST_DAY     For a given week (YYYYMM format), this function returns the date of the Monday of that week.
    WRITE_LIST     Useful for writing out the list contents that result from the function LIST_FROM_MEMORY.
    WS_DOWNLOAD     Save Internal Table as File on the Presentation Server
    WS_EXCEL     Start EXCEL on the PC
    WS_EXECUTE     execute a program on a windows PC
    WS_FILE_DELETE     Delete File at the Frontend
    WS_FILENAME_GET     Call File Selector
    WS_MSG     Create a dialog box in which you display an one line message
    WS_UPLOAD     Load Files from the Presentation Server to Internal ABAP Tables
    WS_VOLUME_GET     Get the label from a frontend device.
    WWW_LIST_TO_HTML     After running a report, call this function to convert the list output to HTML.
    hope it will help you.
    Regards,
    Sreelatha gullapalli

  • Coding for maintain the multip[le sessions

    i have 1,00,000 records in a flat file how to maintain  the multiple sessions
    each session having 10000 records i want coding for how these multiple sessions

    see the example program and the selection screen you can maintain how many records per session.
    Report     : ZMPPC015
    Type       : Data upload
    Author     : Seshu Maramreddy
    Date       : 05/26/2005
    Transport  : DV3K920025
    Transaction: ??
    Description: This ABAP/4 Program to Create Planned Independent
                 Requirement for SMI plants using MD61 Transaction.
                 It accepts tab-delimited spreadsheet input and
                 creates BDC sessions.
    report zmppc015 no standard page heading
                    line-size 120
                    line-count 55
                    message-id zz.
    Constants
    constants : c_x type c value 'X'," Dynbegin
                c_tcode type tstc-tcode value 'MD61'." Transaction Code
    Variables
    data : v_lines_in_xcel like sy-tabix,
           l_tabix like sy-tabix,
           v_trans_in_ssn type i,
           v_ssnnr(4) type n," Counter
           v_ssnname like apqi-groupid,
           v_matnr(18) type c. " Material Number
    Internal Tables
    Internal table for file
    data : begin of t_file occurs 0,
           matnr(18) type c,   " Material Number
           berid(10) type c,    " MRP Area
           PLNMG01(17) type n, " Forecast Month -01
           PLNMG02(17) type n, " Forecast Month -02
           PLNMG03(17) type n, " Forecast Month -03
           PLNMG04(17) type n, " Forecast Month -04
           PLNMG05(17) type n, " Forecast Month -05
           PLNMG06(17) type n, " Forecast Month -06
           PLNMG07(17) type n, " Forecast Month -07
           PLNMG08(17) type n, " Forecast Month -08
           PLNMG09(17) type n, " Forecast Month -09
           PLNMG10(17) type n, " Forecast Month -10
           PLNMG11(17) type n, " Forecast Month -11
           PLNMG12(17) type n, " Forecast Month -12
           WERKS(4) TYPE C,    " Plant
           end of t_file.
    Internal table for BDCDATA Structure
    data : begin of itab_bdc_tab occurs 0.
            include structure bdcdata.
    data : end of itab_bdc_tab.
    Selection-screen
    selection-screen: skip 3.
    selection-screen: begin of block id1 with frame.
    parameters: p_name        like rlgrap-filename
                              default 'C:\My Documents\InputFile.txt'
                              obligatory,
    bdc session name prefix
                p_bdcpfx(6)   default 'ZPIRCT'
                              obligatory,
    number for transction per BDC session
                p_trnssn      type i
                              default 2000 obligatory,
    retain the BDC session after successfull execution
                p_keep        like apqi-qerase
                              default c_x,
    user who will be executing BDC session
                p_uname       like apqi-userid
                              default sy-uname
                              obligatory.
    selection-screen : skip 1.
    Requirement type
    parameters : p_bedae like t459u-bedae,
    From Date
                 p_date like sy-datum default sy-datum obligatory.
    selection-screen: end of block id1.
    at selection-screen on value-request for p_name.
    F4 value for Input file
      perform filename_get.
    main processing
    start-of-selection.
    To get the data from file to Internal table
      perform getdata_fromfile.
      loop at t_file.
      hang on to xcel line num
        l_tabix = sy-tabix.
      if num-of-trnas-in-session = 0, create new BDC session
        if v_trans_in_ssn is initial.
          perform bdc_session_open.
        endif.
      begin new bdc script for rtg create trans
      fill in bdc-data for prod.version maintenance screens
        perform bdc_build_script.
      insert the bdc script as a BDC transaction
        perform bdc_submit_transaction.
      keep track of how many BDC transactions were inserted in the BDC
      session
        add 1 to v_trans_in_ssn.
      if the user-specified num of trans in BDC session is reached OR
      if end of input file is reached, close the BDC session
        if v_trans_in_ssn = p_trnssn or
           l_tabix = v_lines_in_xcel.
          perform bdc_session_close.
          clear v_trans_in_ssn.
        endif.
    clear t_file.
      endloop.
    top-of-page.
      call function 'Z_HEADER'
    EXPORTING
      FLEX_TEXT1       =
      FLEX_TEXT2       =
      FLEX_TEXT3       =
    *&      Form  filename_get
          F4 Value for input file
    FORM filename_get.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                DEF_PATH         = 'C:\Temp\ '
                MASK             = ',.,..'
                MODE             = 'O'
                TITLE            = 'Select File '(007)
           IMPORTING
                FILENAME         = p_name
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " filename_get
    *&      Form  getdata_fromfile
          Upload the data from file to Internal table
    FORM getdata_fromfile.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                FILENAME                = p_name
                FILETYPE                = 'DAT'
           TABLES
                DATA_TAB                = t_file
           EXCEPTIONS
                CONVERSION_ERROR        = 1
                FILE_OPEN_ERROR         = 2
                FILE_READ_ERROR         = 3
                INVALID_TYPE            = 4
                NO_BATCH                = 5
                UNKNOWN_ERROR           = 6
                INVALID_TABLE_WIDTH     = 7
                GUI_REFUSE_FILETRANSFER = 8
                CUSTOMER_ERROR          = 9
                OTHERS                  = 10.
      if sy-subrc eq 0.
        sort t_file by matnr .
        delete t_file where matnr = ''.
        clear v_lines_in_xcel.
        describe table t_file lines v_lines_in_xcel.
        if v_lines_in_xcel is initial.
          write: / 'No data in input file'.
          stop.
        endif.
      else.
        write:/ 'Error reading input file'.
        stop.
      endif.
    ENDFORM.                    " getdata_fromfile
    *&      Form  bdc_session_open
          BDC_OPEN_GROUP
    FORM bdc_session_open.
    create bdc session name = prefix-from-selectn-screen + nnnn
      add 1 to v_ssnnr.
      concatenate p_bdcpfx v_ssnnr into v_ssnname.
      CALL FUNCTION 'BDC_OPEN_GROUP'
           EXPORTING
                CLIENT              = SY-MANDT
                GROUP               = v_ssnname
                KEEP                = p_keep
                USER                = p_uname
           EXCEPTIONS
                CLIENT_INVALID      = 1
                DESTINATION_INVALID = 2
                GROUP_INVALID       = 3
                GROUP_IS_LOCKED     = 4
                HOLDDATE_INVALID    = 5
                INTERNAL_ERROR      = 6
                QUEUE_ERROR         = 7
                RUNNING             = 8
                SYSTEM_LOCK_ERROR   = 9
                USER_INVALID        = 10
                OTHERS              = 11.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " bdc_session_open
    *&      Form  bdc_build_script
          BDC Script
    FORM bdc_build_script.
    Local Variables
      DATA : l_frdat(8) type c,  " From Date
             l_todat(8) type c,  " To Date
             l_frdat1(4) type c, " Year
             l_frdat2(2) type c, " Month
             l_frdat3(2) type c, " Day
             l_tdate like sy-datum, " Subtract date(1)
             l_todat1(4) type c,    " Year
             l_todat2(2) type c,    " Month
             l_todat3(3) type c.    " Day
       Get the material number from tables ZMSMI_FERR_RAW,
       ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
      perform get_matnr.
    Screen 0100.
      perform bdc_screen using  'SAPMM60X'     '0100'.
      perform bdc_field  using  'BDC_OKCODE'   '/EBDPT'.
      perform bdc_field  using  'AM60X-MATAW'  'X'.
      perform bdc_field  using  'AM60X-MATNR'  T_FILE-MATNR.
      perform bdc_field  using  'AM60X-PRGRP'  SPACE.
      perform bdc_field  using  'AM60X-PBDNR'  SPACE.
      perform bdc_field  using  'RM60X-BERID'  T_FILE-BERID.
      perform bdc_field  using  'AM60X-WERKS'  SPACE.
      perform bdc_field  using  'RM60X-VERSB'  '00'.
    Converted the date as per MD61 Transaction.
    From date
      l_frdat1 =  p_date+0(4).
      l_frdat2 =  p_date+4(2).
      l_frdat3 =  p_date+6(2).
      concatenate l_frdat2 l_frdat3 l_frdat1 into l_frdat.
    To Date
      l_tdate = p_date - 1.
      l_todat1 =  l_tdate+0(4) + 1.
      l_todat2 =  l_tdate+4(2).
      l_todat3 =  l_tdate+6(2).
      concatenate l_todat2 l_todat3 l_todat1 into l_todat.
      perform bdc_field  using  'RM60X-DATVE'  l_frdat.
      perform bdc_field  using  'RM60X-DATBE'  l_todat.
      perform bdc_field  using  'RM60X-ENTLU'  'M'.
    Screen 0127
      perform bdc_screen using  'SAPMM60X'     '0127'.
      perform bdc_field  using  'BDC_OKCODE'   '=WEIT'.
      if p_bedae is initial.
        perform bdc_field  using  'T459U-BEDAE'  space.
      else.
        perform bdc_field  using  'T459U-BEDAE'  P_BEDAE.
      endif.
    Screen 0100.
      perform bdc_screen using  'SAPMM60X'     '0100'.
      perform bdc_field  using  'BDC_OKCODE'   '/00'.
      perform bdc_field  using  'AM60X-MATAW'  'X'.
      perform bdc_field  using  'AM60X-MATNR'  T_FILE-MATNR.
      perform bdc_field  using  'AM60X-PRGRP'  SPACE.
      perform bdc_field  using  'AM60X-PBDNR'  SPACE.
      perform bdc_field  using  'RM60X-BERID'  T_FILE-BERID.
      perform bdc_field  using  'AM60X-WERKS'  SPACE.
      perform bdc_field  using  'RM60X-VERSB'  '00'.
      perform bdc_field  using  'RM60X-DATVE'  l_frdat.
      perform bdc_field  using  'RM60X-DATBE'  l_todat.
      perform bdc_field  using  'RM60X-ENTLU'  'M'.
    Screen 0200
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG01.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG02.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG03.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG04.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG05.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG06.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG07.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG08.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG09.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG10.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG11.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=SICH'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG12.
    ENDFORM.                    " bdc_build_script
    *&      Form  get_matnr
          Get the material number from tables ZMSMI_FERR_RAW,
          ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
    FORM get_matnr.
      clear v_matnr.
      case t_file-werks.
        when '0101'.
          select single cmatnr from zmsmi_simp_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0103'.
          select single cmatnr from zmsmi_ferr_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0102' or '0110' or '0111' or '0112' or '0113'
             or '0114' or '0115' or '0116' or '0117'.
          select single cmatnr from zmsmi_snap_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
      endcase.
    ENDFORM.                    " get_matnr
    *&      Form  bdc_screen
          BDC Script for Screen fields
         -->P_PROG   Program name
         -->P_SCRN   Screen Number
    FORM bdc_screen USING    p_prog
                             p_scrn.
      clear itab_bdc_tab.
      itab_bdc_tab-program = p_prog.
      itab_bdc_tab-dynpro = p_scrn.
      itab_bdc_tab-dynbegin = c_x.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_field
          BDC Script for Screen fileds
         -->P_NAM   Field name
         -->P_VAL   Field value
    FORM bdc_field USING    p_nam
                            p_val.
      clear itab_bdc_tab.
      itab_bdc_tab-fnam = p_nam.
      itab_bdc_tab-fval = p_val.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_submit_transaction
          BDC_INSERT Function Module
    FORM bdc_submit_transaction.
    Load BDC script as a trqansction in BDC session
      call function 'BDC_INSERT'
           EXPORTING
                tcode          = c_tcode
           TABLES
                dynprotab      = itab_bdc_tab
           EXCEPTIONS
                internal_error = 01
                not_open       = 02
                queue_error    = 03
                tcode_invalid  = 04.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      refresh itab_bdc_tab.
    ENDFORM.                    " bdc_submit_transaction
    *&      Form  bdc_session_close
          text
    FORM bdc_session_close.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
      NOT_OPEN          = 1
      QUEUE_ERROR       = 2
      OTHERS            = 3
      skip 2.
      if sy-subrc ne 0.
        write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
      else.
        write : /  'Session created:', v_ssnname,
                50 '# of transactions:', v_trans_in_ssn.
      endif.
    ENDFORM.                    " bdc_session_close
    Reward Points if it is helpful
    Thanks
    Seshu

  • Can we run batch input session in foreground as well as in background

    Hi SAP Gurus,
    I have 23000 records to transfer from one gl account to other gl.
    I want to run the session in foreground for 5 transactions and the rest will be processed in background. Is there any setting through which I can do it.
    I mean to say the first 5 transactions will be processed in foreground as soon as the process starts and after that it will automatically goto background processing for the remaing records. This i desire for a check.
    Regards,
    Anirban

    Hello Anirban,
    Check the below program to split the number of session based number of records in file .
    suppose if you enter 10,000 in selection-screen,if you have 30,000 records in file,then it creates 3 session each session will have 10,000 records.
    I had requirement like i get 2,00,000 records at a time ,if i process all records using session method ,after 20,000 records i get short dump due to performance.
    i created logic into number of session ,i guess it helps you.
    Report     : ZMPPC015
    Type       : Data upload
    Author     : Seshu Maramreddy
    Date       : 05/26/2005
    Transport  : DV3K920025
    Transaction: ??
    Description: This ABAP/4 Program to Create Planned Independent
                 Requirement for SMI plants using MD61 Transaction.
                 It accepts tab-delimited spreadsheet input and
                 creates BDC sessions.
    report zmppc015 no standard page heading
                    line-size 120
                    line-count 55
                    message-id zz.
    Constants
    constants : c_x type c value 'X'," Dynbegin
                c_tcode type tstc-tcode value 'MD61'." Transaction Code
    Variables
    data : v_lines_in_xcel like sy-tabix,
           l_tabix like sy-tabix,
           v_trans_in_ssn type i,
           v_ssnnr(4) type n," Counter
           v_ssnname like apqi-groupid,
           v_matnr(18) type c. " Material Number
    Internal Tables
    Internal table for file
    data : begin of t_file occurs 0,
           matnr(18) type c,   " Material Number
           berid(10) type c,    " MRP Area
           PLNMG01(17) type n, " Forecast Month -01
           PLNMG02(17) type n, " Forecast Month -02
           PLNMG03(17) type n, " Forecast Month -03
           PLNMG04(17) type n, " Forecast Month -04
           PLNMG05(17) type n, " Forecast Month -05
           PLNMG06(17) type n, " Forecast Month -06
           PLNMG07(17) type n, " Forecast Month -07
           PLNMG08(17) type n, " Forecast Month -08
           PLNMG09(17) type n, " Forecast Month -09
           PLNMG10(17) type n, " Forecast Month -10
           PLNMG11(17) type n, " Forecast Month -11
           PLNMG12(17) type n, " Forecast Month -12
           WERKS(4) TYPE C,    " Plant
           end of t_file.
    Internal table for BDCDATA Structure
    data : begin of itab_bdc_tab occurs 0.
            include structure bdcdata.
    data : end of itab_bdc_tab.
    Selection-screen
    selection-screen: skip 3.
    selection-screen: begin of block id1 with frame.
    parameters: p_name        like rlgrap-filename
                              default 'C:\My Documents\InputFile.txt'
                              obligatory,
    bdc session name prefix
                p_bdcpfx(6)   default 'ZPIRCT'
                              obligatory,
    number for transction per BDC session
                p_trnssn      type i
                              default 2000 obligatory,
    retain the BDC session after successfull execution
                p_keep        like apqi-qerase
                              default c_x,
    user who will be executing BDC session
                p_uname       like apqi-userid
                              default sy-uname
                              obligatory.
    selection-screen : skip 1.
    Requirement type
    parameters : p_bedae like t459u-bedae,
    From Date
                 p_date like sy-datum default sy-datum obligatory.
    selection-screen: end of block id1.
    at selection-screen on value-request for p_name.
    F4 value for Input file
      perform filename_get.
    main processing
    start-of-selection.
    To get the data from file to Internal table
      perform getdata_fromfile.
      loop at t_file.
      hang on to xcel line num
        l_tabix = sy-tabix.
      if num-of-trnas-in-session = 0, create new BDC session
        if v_trans_in_ssn is initial.
          perform bdc_session_open.
        endif.
      begin new bdc script for rtg create trans
      fill in bdc-data for prod.version maintenance screens
        perform bdc_build_script.
      insert the bdc script as a BDC transaction
        perform bdc_submit_transaction.
      keep track of how many BDC transactions were inserted in the BDC
      session
        add 1 to v_trans_in_ssn.
      if the user-specified num of trans in BDC session is reached OR
      if end of input file is reached, close the BDC session
        if v_trans_in_ssn = p_trnssn or
           l_tabix = v_lines_in_xcel.
          perform bdc_session_close.
          clear v_trans_in_ssn.
        endif.
    clear t_file.
      endloop.
    top-of-page.
      call function 'Z_HEADER'
    EXPORTING
      FLEX_TEXT1       =
      FLEX_TEXT2       =
      FLEX_TEXT3       =
    *&      Form  filename_get
          F4 Value for input file
    FORM filename_get.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                DEF_PATH         = 'C:\Temp\ '
                MASK             = ',.,..'
                MODE             = 'O'
                TITLE            = 'Select File '(007)
           IMPORTING
                FILENAME         = p_name
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " filename_get
    *&      Form  getdata_fromfile
          Upload the data from file to Internal table
    FORM getdata_fromfile.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                FILENAME                = p_name
                FILETYPE                = 'DAT'
           TABLES
                DATA_TAB                = t_file
           EXCEPTIONS
                CONVERSION_ERROR        = 1
                FILE_OPEN_ERROR         = 2
                FILE_READ_ERROR         = 3
                INVALID_TYPE            = 4
                NO_BATCH                = 5
                UNKNOWN_ERROR           = 6
                INVALID_TABLE_WIDTH     = 7
                GUI_REFUSE_FILETRANSFER = 8
                CUSTOMER_ERROR          = 9
                OTHERS                  = 10.
      if sy-subrc eq 0.
        sort t_file by matnr .
        delete t_file where matnr = ''.
        clear v_lines_in_xcel.
        describe table t_file lines v_lines_in_xcel.
        if v_lines_in_xcel is initial.
          write: / 'No data in input file'.
          stop.
        endif.
      else.
        write:/ 'Error reading input file'.
        stop.
      endif.
    ENDFORM.                    " getdata_fromfile
    *&      Form  bdc_session_open
          BDC_OPEN_GROUP
    FORM bdc_session_open.
    create bdc session name = prefix-from-selectn-screen + nnnn
      add 1 to v_ssnnr.
      concatenate p_bdcpfx v_ssnnr into v_ssnname.
      CALL FUNCTION 'BDC_OPEN_GROUP'
           EXPORTING
                CLIENT              = SY-MANDT
                GROUP               = v_ssnname
                KEEP                = p_keep
                USER                = p_uname
           EXCEPTIONS
                CLIENT_INVALID      = 1
                DESTINATION_INVALID = 2
                GROUP_INVALID       = 3
                GROUP_IS_LOCKED     = 4
                HOLDDATE_INVALID    = 5
                INTERNAL_ERROR      = 6
                QUEUE_ERROR         = 7
                RUNNING             = 8
                SYSTEM_LOCK_ERROR   = 9
                USER_INVALID        = 10
                OTHERS              = 11.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " bdc_session_open
    *&      Form  bdc_build_script
          BDC Script
    FORM bdc_build_script.
    Local Variables
      DATA : l_frdat(8) type c,  " From Date
             l_todat(8) type c,  " To Date
             l_frdat1(4) type c, " Year
             l_frdat2(2) type c, " Month
             l_frdat3(2) type c, " Day
             l_tdate like sy-datum, " Subtract date(1)
             l_todat1(4) type c,    " Year
             l_todat2(2) type c,    " Month
             l_todat3(3) type c.    " Day
       Get the material number from tables ZMSMI_FERR_RAW,
       ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
      perform get_matnr.
    Screen 0100.
      perform bdc_screen using  'SAPMM60X'     '0100'.
      perform bdc_field  using  'BDC_OKCODE'   '/EBDPT'.
      perform bdc_field  using  'AM60X-MATAW'  'X'.
      perform bdc_field  using  'AM60X-MATNR'  T_FILE-MATNR.
      perform bdc_field  using  'AM60X-PRGRP'  SPACE.
      perform bdc_field  using  'AM60X-PBDNR'  SPACE.
      perform bdc_field  using  'RM60X-BERID'  T_FILE-BERID.
      perform bdc_field  using  'AM60X-WERKS'  SPACE.
      perform bdc_field  using  'RM60X-VERSB'  '00'.
    Converted the date as per MD61 Transaction.
    From date
      l_frdat1 =  p_date+0(4).
      l_frdat2 =  p_date+4(2).
      l_frdat3 =  p_date+6(2).
      concatenate l_frdat2 l_frdat3 l_frdat1 into l_frdat.
    To Date
      l_tdate = p_date - 1.
      l_todat1 =  l_tdate+0(4) + 1.
      l_todat2 =  l_tdate+4(2).
      l_todat3 =  l_tdate+6(2).
      concatenate l_todat2 l_todat3 l_todat1 into l_todat.
      perform bdc_field  using  'RM60X-DATVE'  l_frdat.
      perform bdc_field  using  'RM60X-DATBE'  l_todat.
      perform bdc_field  using  'RM60X-ENTLU'  'M'.
    Screen 0127
      perform bdc_screen using  'SAPMM60X'     '0127'.
      perform bdc_field  using  'BDC_OKCODE'   '=WEIT'.
      if p_bedae is initial.
        perform bdc_field  using  'T459U-BEDAE'  space.
      else.
        perform bdc_field  using  'T459U-BEDAE'  P_BEDAE.
      endif.
    Screen 0100.
      perform bdc_screen using  'SAPMM60X'     '0100'.
      perform bdc_field  using  'BDC_OKCODE'   '/00'.
      perform bdc_field  using  'AM60X-MATAW'  'X'.
      perform bdc_field  using  'AM60X-MATNR'  T_FILE-MATNR.
      perform bdc_field  using  'AM60X-PRGRP'  SPACE.
      perform bdc_field  using  'AM60X-PBDNR'  SPACE.
      perform bdc_field  using  'RM60X-BERID'  T_FILE-BERID.
      perform bdc_field  using  'AM60X-WERKS'  SPACE.
      perform bdc_field  using  'RM60X-VERSB'  '00'.
      perform bdc_field  using  'RM60X-DATVE'  l_frdat.
      perform bdc_field  using  'RM60X-DATBE'  l_todat.
      perform bdc_field  using  'RM60X-ENTLU'  'M'.
    Screen 0200
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG01.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG02.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG03.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG04.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG05.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG06.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG07.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG08.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG09.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG10.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG11.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=SICH'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG12.
    ENDFORM.                    " bdc_build_script
    *&      Form  get_matnr
          Get the material number from tables ZMSMI_FERR_RAW,
          ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
    FORM get_matnr.
      clear v_matnr.
      case t_file-werks.
        when '0101'.
          select single cmatnr from zmsmi_simp_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0103'.
          select single cmatnr from zmsmi_ferr_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0102' or '0110' or '0111' or '0112' or '0113'
             or '0114' or '0115' or '0116' or '0117'.
          select single cmatnr from zmsmi_snap_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
      endcase.
    ENDFORM.                    " get_matnr
    *&      Form  bdc_screen
          BDC Script for Screen fields
         -->P_PROG   Program name
         -->P_SCRN   Screen Number
    FORM bdc_screen USING    p_prog
                             p_scrn.
      clear itab_bdc_tab.
      itab_bdc_tab-program = p_prog.
      itab_bdc_tab-dynpro = p_scrn.
      itab_bdc_tab-dynbegin = c_x.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_field
          BDC Script for Screen fileds
         -->P_NAM   Field name
         -->P_VAL   Field value
    FORM bdc_field USING    p_nam
                            p_val.
      clear itab_bdc_tab.
      itab_bdc_tab-fnam = p_nam.
      itab_bdc_tab-fval = p_val.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_submit_transaction
          BDC_INSERT Function Module
    FORM bdc_submit_transaction.
    Load BDC script as a trqansction in BDC session
      call function 'BDC_INSERT'
           EXPORTING
                tcode          = c_tcode
           TABLES
                dynprotab      = itab_bdc_tab
           EXCEPTIONS
                internal_error = 01
                not_open       = 02
                queue_error    = 03
                tcode_invalid  = 04.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      refresh itab_bdc_tab.
    ENDFORM.                    " bdc_submit_transaction
    *&      Form  bdc_session_close
          text
    FORM bdc_session_close.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
      NOT_OPEN          = 1
      QUEUE_ERROR       = 2
      OTHERS            = 3
      skip 2.
      if sy-subrc ne 0.
        write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
      else.
        write : /  'Session created:', v_ssnname,
                50 '# of transactions:', v_trans_in_ssn.
      endif.
    ENDFORM.                    " bdc_session_close
    Thanks
    Seshu

  • Alv's using function modules

    hi,
    in alv's using fuction modules how to add pushbuttons in application tool bar?

    Hi Ganapathi,
    Check out the list of Function Modules
    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_DISPLAY     Display Log
    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_DETLEVEL_GET     Message hierarchy in DETLEVEL
    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_MSG_DISPLAY_ABAP     Output message as ABAP-MESSAGE
    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.
    Example:
          CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
               EXPORTING
                    objectclass = 'EINKBELEG'
                    objectid    = l_objectid
                    username    = space
               TABLES
                    i_cdhdr     = lt_cdhdr.
          LOOP AT lt_cdhdr WHERE udate IN s_aedat.
            CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
                 EXPORTING
                      changenumber = lt_cdhdr-changenr
                 TABLES
                      editpos      = lt_editpos.
            LOOP AT lt_editpos WHERE fname = 'LOEKZ'
                               AND   f_new = 'L'.
              p_desc = text-r01. " Cancel Contract
            ENDLOOP.
          ENDLOOP.
    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.
    Example:
          CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
               EXPORTING
                    objectclass = 'EINKBELEG'
                    objectid    = l_objectid
                    username    = space
               TABLES
                    i_cdhdr     = lt_cdhdr.
          LOOP AT lt_cdhdr WHERE udate IN s_aedat.
            CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
                 EXPORTING
                      changenumber = lt_cdhdr-changenr
                 TABLES
                      editpos      = lt_editpos.
            LOOP AT lt_editpos WHERE fname = 'LOEKZ'
                               AND   f_new = 'L'.
              p_desc = text-r01. " Cancel Contract
            ENDLOOP.
          ENDLOOP.
    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 justified 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
    Example:
    input  = 123
    output = 0000000000000...000000000000123
    CONVERSION_EXIT_ALPHA_OUTPUT     converts any number with zeroes right into a simple integer
    Example:
    input   = 00000000000123
    output  = 123
    CONVERT_ABAPSPOOLJOB_2_PDF     convert abap spool output to PDF
    CONVERT_OTF     Convert SAP documents (SAPScript) to other types.
    Example:
    CALL FUNCTION "CONVERT_OTF"
           EXPORTING    FORMAT                = "PDF"
           IMPORTING    BIN_FILESIZE          = FILE_LEN
           TABLES       OTF                   = OTFDATA
                        LINES                 = PDFDATA
           EXCEPTIONS   ERR_MAX_LINEWIDTH     = 1                  
                        ERR_FORMAT            = 2
                        ERR_CONV_NOT_POSSIBLE = 3
                        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.
    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 Tuesday), 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.
    Example:
    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.
    Example:
    data:
        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'
           exporting
                retfield        = 'BEGRU'
                value_org       = 'S'
           tables
                value_tab       = t_values
                return_tab      = t_return
           exceptions
                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'.
        else.
          o_begru-option = 'EQ'.
        endif.
        o_begru-sign = 'I'.
        append o_begru to s_begru.
      else.
        o_begru = i_begru.
      endif.
    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
    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 accommodate 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.
    Example:
    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'
            exporting
                 material   = 'MAT100'
                 plant      = '0001'
                 bom_usage  = '1'
                 valid_from = '20.12.1996'
               valid_to
            importing
                 fl_warning = flg_warning
            tables
                 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
            exceptions
                 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.
    Example:
    CALL FUNCTION 'GET_CURRENT_YEAR'
      EXPORTING
        BUKRS         = '1000'     " Company Code
        DATE          = SY-DATUM   " Date to find fiscal year for
      IMPORTING
        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.
    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 Shell Execute
    GUI_UPLOAD     Replaces WS_UPLOAD. Upload 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.
    Example:
    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.
      endselect.
    CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
         EXPORTING
              fieldname                 = 'WERKS'
              tabname                   = 'T001W'
              title_in_values_list      = 'Select a value'
         IMPORTING
              select_value              = lc_werks
         TABLES
              fields                    = ltab_fields
              valuetab                  = ltab_values
         EXCEPTIONS
              field_not_in_ddic         = 01
              more_then_one_selectfield = 02
              no_selectfield            = 03.
    HOLIDAY_CHECK_AND_GET_INFO     Useful for determining whether or not a date is a holiday. Give the function a date, and a holiday calendar, and you can determine if the date is a holiday by checking the parameter HOLIDAY_FOUND.
    Example:
    data: ld_date                 like scal-datum  default sy-datum,
          lc_holiday_cal_id       like scal-hcalid default 'CA',
          ltab_holiday_attributes like thol occurs 0 with header line,
          lc_holiday_found        like scal-indicator.
    CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
      EXPORTING
        date                               = ld_date
        holiday_calendar_id                = lc_holiday_cal_id
        WITH_HOLIDAY_ATTRIBUTES            = 'X'
      IMPORTING
        HOLIDAY_FOUND                      = lc_holiday_found
      tables
        holiday_attributes                 = ltab_holiday_attributes
      EXCEPTIONS
        CALENDAR_BUFFER_NOT_LOADABLE       = 1
        DATE_AFTER_RANGE                   = 2
        DATE_BEFORE_RANGE                  = 3
        DATE_INVALID                       = 4
        HOLIDAY_CALENDAR_ID_MISSING        = 5
        HOLIDAY_CALENDAR_NOT_FOUND         = 6
        OTHERS                             = 7.
    if sy-subrc = 0 and
       lc_holiday_found = 'X'.
      write: / ld_date, 'is a holiday'.
    else.
      write: / ld_date, 'is not a holiday, or there was an error calling the function'.
    endif.
    HOLIDAY_GET     Provides a table of all the holidays based upon a Factory Calendar &/ Holiday Calendar.
    HR_DISPLAY_BASIC_LIST     is an HR function, but can be used for any data. You pass it data, and column headers, and it provides a table control with the ability to manipulate the data, and send it to Word or Excel. Also see the additional documentation here.
    HR_GET_LEAVE_DATA     Get all leave information (includes leave entitlement, used holidays/paid out holidays)
    HR_IE_NUM_PRSI_WEEKS     Return the number of weeks between two dates.
    HR_PAYROLL_PERIODS_GET     Get the payroll period for a particular date. (provided by Francois Henrotte)
    Example:
      DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
            IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
      W_BEGDA = '20010101'.
      W_PERNR = '00000001'.
      CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
           EXPORTING
                get_begda       = w_begda
           TABLES
                get_periods     = it_t549q
           EXCEPTIONS
                no_period_found = 1
                no_valid_permo  = 2.
      CHECK sy-subrc = 0.
      CALL FUNCTION 'HR_TIME_RESULTS_GET'
           EXPORTING
                get_pernr             = w_pernr
                get_pabrj             = it_t549q-pabrj
                get_pabrp             = it_t549q-pabrp
           TABLES
                get_zl                = it_zl
           EXCEPTIONS
                no_period_specified   = 1
                wrong_cluster_version = 2
                no_read_authority     = 3
                cluster_archived      = 4
                technical_error       = 5.
    NOTE: it_zl-iftyp = 'A'   absence
          it_zl-iftyp = 'S'   at work
    HR_TIME_RESULTS_GET     Get the time results for a payroll period. (provided by Francois Henrotte)
    Example:
      DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
            IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
      W_BEGDA = '20010101'.
      W_PERNR = '00000001'.
      CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
           EXPORTING
                get_begda       = w_begda
           TABLES
                get_periods     = it_t549q
           EXCEPTIONS
                no_period_found = 1
                no_valid_permo  = 2.
      CHECK sy-subrc = 0.
      CALL FUNCTION 'HR_TIME_RESULTS_GET'
           EXPORTING
                get_pernr             = w_pernr
                get_pabrj             = it_t549q-pabrj
                get_pabrp             = it_t549q-pabrp
           TABLES
                get_zl                = it_zl
           EXCEPTIONS
                no_period_specified   = 1
                wrong_cluster_version = 2
                no_read_authority     = 3
                cluster_archived      = 4
                technical_error       = 5.
    NOTE: it_zl-iftyp = 'A'   absence
          it_zl-iftyp = 'S'   at work
    INIT_TEXT     To load long text into SAP
    K_WERKS_OF_BUKRS_FIND     Return a list of all plants for a given company code.
    LIST_FROM_MEMORY     Retrieves the output of a report from memory when the report was executed using SUBMIT... EXPORTING LIST TO MEMORY. See also WRITE_LIST.
    LIST_TO_ASCII     convert an ABAP report (displayed on screen) from OTF to ASCII format
    MBEW_EXTEND     Get the stock position for the previous month. This displays the same info that you see in MM03.
    MONTH_NAMES_GET     It returns all the month and names in respective language.
    MONTH_PLUS_DETERMINE     Add or subtract months from a date. To subtract a month, enter a negative value for the 'months' parameter.
    Example:
    data: new_date type d.
    CALL FUNCTION 'MONTH_PLUS_DETERMINE'
      EXPORTING
        months        = -5       " Negative to subtract from old date, positive to add
        olddate       = sy-datum
    IMPORTING
       NEWDATE       = new_date.
    write: / new_date.
    MS_EXCEL_OLE_STANDARD_OLE     will build a file, and automatically start Excel
    OTF_CONVERT     wraps several other function modules. Will convert OTF to ASCII or PDF
    POPUP_TO_CONFIRM_LOSS_OF_DATA     Create a dialog box in which you make a question whether the user wishes to perform a processing step with loss of data.
    POPUP_TO_CONFIRM_STEP     Create a dialog box in which you make a question whether the user wishes to perform the step.
    POPUP_TO_CONFIRM_WITH_MESSAGE     Create a dialog box in which you inform the user about a specific decision point during an action.
    POPUP_TO_CONFIRM_WITH_VALUE     Create a dialog box in which you make a question whether the user wishes to perform a processing step with a particular object.
    POPUP_TO_DECIDE     Provide user with several choices as radio buttons
    POPUP_TO_DECIDE_WITH_MESSAGE     Create a dialog box in which you inform the user about a specific decision point via a diagnosis text.
    POPUP_TO_DISPLAY_TEXT     Create a dialog box in which you display a two line message
    POPUP_TO_SELECT_MONTH     Popup to choose a month
    POPUP_WITH_TABLE_DISPLAY     Provide a display of a table for user to select one, with the value of the table line returned when selected.
    PRICING     Return pricing conditions in an internal table. Use structure TCOMK for parameter COMM_HEAD_1, and structure TCOMP for parameter COMM_ITEM_1, and set CALCULATION_TYPE to B. The pricing conditions will be returned in XOMV. You must fill TCOMP, and TCOMK with the appropriate values before callling the function in order for it to work.
    PROFILE_GET     Read an Entry in an INI File on the frontend
    PROFILE_SET     Write an Entry in an INI File on the frontend
    READ_TEXT     To load long text into SAP
    REGISTRY_GET     Read an Entry from the Registry
    REGISTRY_SET     Set an entry in the Registry
    RFC_ABAP_INSTALL_AND_RUN     Runs an ABAP program that is stored in the table PROGRAM when the MODE = 'F'. Table WRITES contains the ouput of the program. Allows you to run a program without having the source code in the target system.
    RH_GET_ACTIVE_WF_PLVAR     Return the active HR Plan
    RH_GET_DATE_DAYNAME     return the day based on the date provied
    RH_START_EXCEL_WITH_DATA     starts Excel with the contents of an internal table. This function finds Excel in the desktop registry. It also uses a local PC working directory to save the file (that's what the 'W' value for data path flag does). Very transparent to user!
    RH_STRUC_GET     Returns all related org info
    RHP0_POPUP_F4_SEARK     is a matchcode for any type of HR Planning object, including the possibility to fill the field that you want
    Example:
    Examples: search for any organizational structure
               F4 = 'X'
               PLVAR = '01'
               OTYPE = 'O '
              search for any persons
               F4 = 'X'
               PLVAR = '01'
               OTYPE = 'P '
               MULTI_SELECT = 'X' to allow multiple selection
               EASY = 'X' for user-dependent matchcode
    Unfortunately, the use of table BASE_OBJIDS is disabled, so you can't specify
    a root for the hierarchy you display
    RKD_WORD_WRAP     Convert a long string or phrase into several lines.
    RP_CALC_DATE_IN_INTERVAL     Add/subtract years/months/days from a date
    RP_LAST_DAY_OF_MONTHS     Determine last day of month
    RPY_DYNPRO_READ     Read dynpro, including screen flow
    RPY_TRANSACTION_READ     Given a transaction, return the program and screen or given a program and screen, return the transactions that use the program and screen.
    RS_COVERPAGE_SELECTIONS     Returns an internal table that contains a formatted list of all the selection parameters entered for a report. Table is ready to print out.
    RS_REFRESH_FROM_SELECTOPTIONS     Get the current contents of selection screen
    RS_SEND_MAIL_FOR_SPOOLLIST     Send message from ABAP/4 program to SAPoffice.
    RS_VARIANT_CONTENTS     Returns the contents of the specified variant in a table.
    RSPO_DOWNLOAD_SPOOLJOB     Download the spool from a program to a file. Requires spool number.
    RSPO_RETURN_ABAP_SPOOLJOB     Fetch printer spool according to the spool number informed.
    RZL_READ_DIR     If the server name is left blank, it reads a directory from local presentation server, otherwise it reads the directory of the remote server
    RZL_READ_DIR_LOCAL     Read a directory on the Application Server
    RZL_READ_FILE     Read a file from the presentation server if no server name is given, or read file from remote server. Very useful to avoid authority checks that occur doing an OPEN DATASET. This function using a SAP C program to read the data.
    RZL_SLEEP     Hang the current application from 1 to 5 seconds.
    RZL_SUBMIT     Submit a remote report.
    RZL_WRITE_FILE_LOCAL     Saves table to the presentation server (not PC). Does not use OPEN DATASET, so it does not suffer from authority checks!
    SAP_CONVERT_TO_XLS_FORMAT     Convert data to Microsoft Excel format.
    SAPGUI_PROGRESS_INDICATOR     Display a progress bar on the SAP GUI, and give the user some idea of what is happening
    SAVE_TEXT     To load long text into SAP
    SCROLLING_IN_TABLE     If you are coding a module pool and using a table control, you can use this function SCROLLING_IN_TABLE to handle any scrolling. (provided by Paul Kjaer)
    SD_DATETIME_DIFFERENCE     Give the difference in Days and Time for 2 dates
    SO_NEW_DOCUMENT_ATT_SEND_API1     Send a document as part of an email. The documentation is better than normal for this function, so please read it.
    SO_SPLIT_FILE_AND_PATH     Split a fully pathed filename into a filename and a path.
    SO_SPOOL_READ     Fetch printer spool according to the spool number informed. See also RSPO_RETURN_ABAP_SPOOLJOB
    SO_WIND_SPOOL_LIST     Browse printer spool numbers according to user informed.
    SWD_HELP_F4_ORG_OBJECTS     HR Matchcode tailored for organizational units. Includes a button so that you can browse the hierarchy too.
    SX_OBJECT_CONVERT_OTF_PDF     Conversion From OTF to PDF (SAPScript conversion)
    SX_OBJECT_CONVERT_OTF_PRT     Conversion From OTF to Printer Format (SAPScript conversion)
    SX_OBJECT_CONVERT_OTF_RAW     Conversion From OTF to ASCII (SAPScript conversion)
    SXPG_CALL_SYSTEM     you can check the user's authorization for the specified command and run the command. The command runs on the host system on which the function module is executed. The function module is RFC capable. It can therefore be run on the host system at which a user happens to be active or on another designated host system at which an R/3 server is active.
    SXPG_COMMAND_CHECK     Check whether the user is authorized to execute the specified command on the target host system with the specified arguments.
    SXPG_COMMAND_DEFINITION_GET     Read the definition of a single external OS command from the R/3 System's database.
    SXPG_COMMAND_EXECUTE     Check a user's authorization to use a command, as in SXPG_COMMAND_CHECK. If the authorization check is successful, then execute the command on the target host system.
    SXPG_COMMAND_LIST_GET     Select a list of external OS command definitions.
    TERMINAL_ID_GET     Return the terminal id
    TH_DELETE_USER     Logoff a user. Similar results to using SM04.
    TH_ENVIRONMENT     Get the UNIX environment
    TH_POPUP     Display a popup system message on a specific users screen.
    TH_REMOTE_TRANSACTION     Run a transaction on a remote server. Optionally provide BDC data to be used in the transaction
    TH_USER_INFO     Give information about the current user (sessions, workstation logged in from, etc)
    TH_USER_LIST     Show which users are logged into an app server
    TMP_GUI_DIRECTORY_LIST_FILES     Retrieve all of the files and subdirectories on the Presentation Server (PC) for a given directory.
    When a value other than * or . is used for the filter, you will not get any directories, unless they match your wildcard filter. For example, if you entered *.png, then only files and directories that end in png will be returned by the function.
    Example:
    data:  lc_directory         like bdschko16-target_dir value 'C:\TEMP\',
           lc_filter(20)        type c default '.'.
           li_file_count        type i,
           li_dir_count         type i,
           ltab_dir_table       like sdokpath occurs 0 with header line,
           ltab_file_file_table like sdokpath occurs 0 with header line.
    call function 'TMP_GUI_DIRECTORY_LIST_FILES'
      exporting
        directory        = lc_directory
        filter           = lc_filter  importing
        file_count       = li_file_count
        dir_count        = li_dir_count
      tables
        file_table       = ltab_file_table
        dir_table        = ltab_dir_table
      exceptions
        cntl_error       = 1
        others           = 2.
    UNIT_CONVERSION_SIMPLE     convert weights from one UOM to another.
    UPLOAD     upload a file to the presentation server (PC)
    UPLOAD_FILES     Will load one or more files from app or presentation server
    WEEK_GET_FIRST_DAY     For a given week (YYYYMM format), this function returns the date of the Monday of that week.
    WRITE_LIST     Useful for writing out the list contents that result from the function LIST_FROM_MEMORY.
    WS_DOWNLOAD     Save Internal Table as File on the Presentation Server
    WS_EXCEL     Start EXCEL on the PC
    WS_EXECUTE     execute a program on a windows PC
    WS_FILE_DELETE     Delete File at the Frontend
    WS_FILENAME_GET     Call File Selector
    WS_MSG     Create a dialog box in which you display an one line message
    WS_UPLOAD     Load Files from the Presentation Server to Internal ABAP Tables
    WS_VOLUME_GET     Get the label from a frontend device.
    WWW_LIST_TO_HTML     After running a report, call this function to convert the list output to HTML.
    I don't think there is any function module for ALV.
    Even for more info Checkout the links
    http://www.erpgenie.com/abap/functions.htm
    http://www.sapdevelopment.co.uk/fmodules/fmssap.htm
    http://www.erpgenie.com/abap/index.htm
    http://www.geocities.com/victorav15/sapr3/abapfun.html
    Regards,
    Chandru

  • Function modules to create material master

    hi guys! i know there are function modules to create material master but is there any standard program to process mass uploading of data to create material master? thanks.

    HI
    these are all the different function modules that are availale in abap
    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_DISPLAY     Display Log
    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_DETLEVEL_GET     Message hierarchy in DETLEVEL
    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_MSG_DISPLAY_ABAP     Output message as ABAP-MESSAGE
    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.
    Example:
          CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
               EXPORTING
                    objectclass = 'EINKBELEG'
                    objectid    = l_objectid
                    username    = space
               TABLES
                    i_cdhdr     = lt_cdhdr.
          LOOP AT lt_cdhdr WHERE udate IN s_aedat.
            CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
                 EXPORTING
                      changenumber = lt_cdhdr-changenr
                 TABLES
                      editpos      = lt_editpos.
            LOOP AT lt_editpos WHERE fname = 'LOEKZ'
                               AND   f_new = 'L'.
              p_desc = text-r01. " Cancel Contract
            ENDLOOP.
          ENDLOOP.
    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.
    Example:
          CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
               EXPORTING
                    objectclass = 'EINKBELEG'
                    objectid    = l_objectid
                    username    = space
               TABLES
                    i_cdhdr     = lt_cdhdr.
          LOOP AT lt_cdhdr WHERE udate IN s_aedat.
            CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
                 EXPORTING
                      changenumber = lt_cdhdr-changenr
                 TABLES
                      editpos      = lt_editpos.
            LOOP AT lt_editpos WHERE fname = 'LOEKZ'
                               AND   f_new = 'L'.
              p_desc = text-r01. " Cancel Contract
            ENDLOOP.
          ENDLOOP.
    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
    Example:
    input  = 123
    output = 0000000000000...000000000000123
    CONVERSION_EXIT_ALPHA_OUTPUT     converts any number with zeroes right into a simple integer
    Example:
    input   = 00000000000123
    output  = 123
    CONVERT_ABAPSPOOLJOB_2_PDF     convert abap spool output to PDF
    CONVERT_OTF     Convert SAP documents (SAPScript) to other types.
    Example:
    CALL FUNCTION "CONVERT_OTF"
           EXPORTING    FORMAT                = "PDF"
           IMPORTING    BIN_FILESIZE          = FILE_LEN
           TABLES       OTF                   = OTFDATA
                        LINES                 = PDFDATA
           EXCEPTIONS   ERR_MAX_LINEWIDTH     = 1                  
                        ERR_FORMAT            = 2
                        ERR_CONV_NOT_POSSIBLE = 3
                        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.
    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.
    Example:
    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.
    Example:
    data:
        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'
           exporting
                retfield        = 'BEGRU'
                value_org       = 'S'
           tables
                value_tab       = t_values
                return_tab      = t_return
           exceptions
                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'.
        else.
          o_begru-option = 'EQ'.
        endif.
        o_begru-sign = 'I'.
        append o_begru to s_begru.
      else.
        o_begru = i_begru.
      endif.
    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
    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.
    Example:
    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'
            exporting
                 material   = 'MAT100'
                 plant      = '0001'
                 bom_usage  = '1'
                 valid_from = '20.12.1996'
               valid_to
            importing
                 fl_warning = flg_warning
            tables
                 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
            exceptions
                 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.
    Example:
    CALL FUNCTION 'GET_CURRENT_YEAR'
      EXPORTING
        BUKRS         = '1000'     " Company Code
        DATE          = SY-DATUM   " Date to find fiscal year for
      IMPORTING
        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.
    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.
    Example:
    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.
      endselect.
    CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
         EXPORTING
              fieldname                 = 'WERKS'
              tabname                   = 'T001W'
              title_in_values_list      = 'Select a value'
         IMPORTING
              select_value              = lc_werks
         TABLES
              fields                    = ltab_fields
              valuetab                  = ltab_values
         EXCEPTIONS
              field_not_in_ddic         = 01
              more_then_one_selectfield = 02
              no_selectfield            = 03.
    HOLIDAY_CHECK_AND_GET_INFO     Useful for determining whether or not a date is a holiday. Give the function a date, and a holiday calendar, and you can determine if the date is a holiday by checking the parameter HOLIDAY_FOUND.
    Example:
    data: ld_date                 like scal-datum  default sy-datum,
          lc_holiday_cal_id       like scal-hcalid default 'CA',
          ltab_holiday_attributes like thol occurs 0 with header line,
          lc_holiday_found        like scal-indicator.
    CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
      EXPORTING
        date                               = ld_date
        holiday_calendar_id                = lc_holiday_cal_id
        WITH_HOLIDAY_ATTRIBUTES            = 'X'
      IMPORTING
        HOLIDAY_FOUND                      = lc_holiday_found
      tables
        holiday_attributes                 = ltab_holiday_attributes
      EXCEPTIONS
        CALENDAR_BUFFER_NOT_LOADABLE       = 1
        DATE_AFTER_RANGE                   = 2
        DATE_BEFORE_RANGE                  = 3
        DATE_INVALID                       = 4
        HOLIDAY_CALENDAR_ID_MISSING        = 5
        HOLIDAY_CALENDAR_NOT_FOUND         = 6
        OTHERS                             = 7.
    if sy-subrc = 0 and
       lc_holiday_found = 'X'.
      write: / ld_date, 'is a holiday'.
    else.
      write: / ld_date, 'is not a holiday, or there was an error calling the function'.
    endif.
    HOLIDAY_GET     Provides a table of all the holidays based upon a Factory Calendar &/ Holiday Calendar.
    HR_DISPLAY_BASIC_LIST     is an HR function, but can be used for any data. You pass it data, and column headers, and it provides a table control with the ability to manipulate the data, and send it to Word or Excel. Also see the additional documentation here.
    HR_GET_LEAVE_DATA     Get all leave information (includes leave entitlement, used holidays/paid out holidays)
    HR_IE_NUM_PRSI_WEEKS     Return the number of weeks between two dates.
    HR_PAYROLL_PERIODS_GET
    Get the payroll period for a particular date. (provided by Francois Henrotte)
    Example:
      DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
            IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
      W_BEGDA = '20010101'.
      W_PERNR = '00000001'.
      CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
           EXPORTING
                get_begda       = w_begda
           TABLES
                get_periods     = it_t549q
           EXCEPTIONS
                no_period_found = 1
                no_valid_permo  = 2.
      CHECK sy-subrc = 0.
      CALL FUNCTION 'HR_TIME_RESULTS_GET'
           EXPORTING
                get_pernr             = w_pernr
                get_pabrj             = it_t549q-pabrj
                get_pabrp             = it_t549q-pabrp
           TABLES
                get_zl                = it_zl
           EXCEPTIONS
                no_period_specified   = 1
                wrong_cluster_version = 2
                no_read_authority     = 3
                cluster_archived      = 4
                technical_error       = 5.
    NOTE: it_zl-iftyp = 'A'   absence
          it_zl-iftyp = 'S'   at work
    HR_TIME_RESULTS_GET
    Get the time results for a payroll period. (provided by Francois Henrotte)
    Example:
      DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
            IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
      W_BEGDA = '20010101'.
      W_PERNR = '00000001'.
      CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
           EXPORTING
                get_begda       = w_begda
           TABLES
                get_periods     = it_t549q
           EXCEPTIONS
                no_period_found = 1
                no_valid_permo  = 2.
      CHECK sy-subrc = 0.
      CALL FUNCTION 'HR_TIME_RESULTS_GET'
           EXPORTING
                get_pernr             = w_pernr
                get_pabrj             = it_t549q-pabrj
                get_pabrp             = it_t549q-pabrp
           TABLES
                get_zl                = it_zl
           EXCEPTIONS
                no_period_specified   = 1
                wrong_cluster_version = 2
                no_read_authority     = 3
                cluster_archived      = 4
                technical_error       = 5.
    NOTE: it_zl-iftyp = 'A'   absence
          it_zl-iftyp = 'S'   at work
    INIT_TEXT     To load long text into SAP
    K_WERKS_OF_BUKRS_FIND     Return a list of all plants for a given company code.
    LIST_FROM_MEMORY     Retrieves the output of a report from memory when the report was executed using SUBMIT... EXPORTING LIST TO MEMORY. See also WRITE_LIST.
    LIST_TO_ASCII     convert an ABAP report (displayed on screen) from OTF to ASCII format
    MBEW_EXTEND
    Get the stock position for the previous month. This displays the same info that you see in MM03.
    MONTH_NAMES_GET     It returns all the month and names in repective language.
    MONTH_PLUS_DETERMINE     Add or subtract months from a date. To subtract a month, enter a negative value for the 'months' parameter.
    Example:
    data: new_date type d.
    CALL FUNCTION 'MONTH_PLUS_DETERMINE'
      EXPORTING
        months        = -5       " Negative to subtract from old date, positive to add
        olddate       = sy-datum
    IMPORTING
       NEWDATE       = new_date.
    write: / new_date.
    MS_EXCEL_OLE_STANDARD_OLE     will build a file, and automatically start Excel
    OTF_CONVERT     wraps several other function modules. Will convert OTF to ASCII or PDF
    POPUP_TO_CONFIRM_LOSS_OF_DATA     Create a dialog box in which you make a question whether the user wishes to perform a processing step with loss of data.
    POPUP_TO_CONFIRM_STEP     Create a dialog box in which you make a question whether the user wishes to perform the step.
    POPUP_TO_CONFIRM_WITH_MESSAGE     Create a dialog box in which you inform the user about a specific decision point during an action.
    POPUP_TO_CONFIRM_WITH_VALUE     Create a dialog box in which you make a question whether the user wishes to perform a processing step with a particular object.
    POPUP_TO_DECIDE     Provide user with several choices as radio buttons
    POPUP_TO_DECIDE_WITH_MESSAGE     Create a dialog box in which you inform the user about a specific decision point via a diagnosis text.
    POPUP_TO_DISPLAY_TEXT     Create a dialog box in which you display a two line message
    POPUP_TO_SELECT_MONTH     Popup to choose a month
    POPUP_WITH_TABLE_DISPLAY     Provide a display of a table for user to select one, with the value of the table line returned when selected.
    PRICING     Return pricing conditions in an internal table. Use structure TCOMK for parameter COMM_HEAD_1, and structure TCOMP for parameter COMM_ITEM_1, and set CALCULATION_TYPE to B. The pricing conditions will be returned in XOMV. You must fill TCOMP, and TCOMK with the appropriate values before callling the function in order for it to work.
    PROFILE_GET     Read an Entry in an INI File on the frontend
    PROFILE_SET     Write an Entry in an INI File on the frontend
    READ_TEXT     To load long text into SAP
    REGISTRY_GET     Read an Entry from the Registry
    REGISTRY_SET     Set an entry in the Registry
    RFC_ABAP_INSTALL_AND_RUN     Runs an ABAP program that is stored in the table PROGRAM when the MODE = 'F'. Table WRITES contains the ouput of the program. Allows you to run a program without having the source code in the target system.
    RH_GET_ACTIVE_WF_PLVAR     Return the active HR Plan
    RH_GET_DATE_DAYNAME     return the day based on the date provied
    RH_START_EXCEL_WITH_DATA     starts Excel with the contents of an internal table. This function finds Excel in the desktop registry. It also uses a local PC working directory to save the file (that's what the 'W' value for data path flag does). Very transparent to user!
    RH_STRUC_GET     Returns all related org info
    RHP0_POPUP_F4_SEARK
    is a matchcode for any type of HR Planning object, including the possibility to fill the field that you want
    Example:
    Examples: search for any organizational structure
               F4 = 'X'
               PLVAR = '01'
               OTYPE = 'O '
              search for any persons
               F4 = 'X'
               PLVAR = '01'
               OTYPE = 'P '
               MULTI_SELECT = 'X' to allow multiple selection
               EASY = 'X' for user-dependent matchcode
    Unfortunately, the use of table BASE_OBJIDS is disabled, so you can't specify
    a root for the hierarchy you display
    RKD_WORD_WRAP     Convert a long string or phrase into several lines.
    RP_CALC_DATE_IN_INTERVAL     Add/subtract years/months/days from a date
    RP_LAST_DAY_OF_MONTHS     Determine last day of month
    RPY_DYNPRO_READ     Read dynpro, including screen flow
    RPY_TRANSACTION_READ     Given a transaction, return the program and screen or given a program and screen, return the transactions that use the program and screen.
    RS_COVERPAGE_SELECTIONS     Returns an internal table that contains a formatted list of all the selection parameters entered for a report. Table is ready to print out.
    RS_REFRESH_FROM_SELECTOPTIONS     Get the current contents of selection screen
    RS_SEND_MAIL_FOR_SPOOLLIST     Send message from ABAP/4 program to SAPoffice.
    RS_VARIANT_CONTENTS     Returns the contents of the specified variant in a table.
    RSPO_DOWNLOAD_SPOOLJOB     Download the spool from a program to a file. Requires spool number.
    RSPO_RETURN_ABAP_SPOOLJOB     Fetch printer spool according to the spool number informed.
    RZL_READ_DIR     If the server name is left blank, it reads a directory from local presentation server, otherwise it reads the directory of the remote server
    RZL_READ_DIR_LOCAL     Read a directory on the Application Server
    RZL_READ_FILE     Read a file from the presentation server if no server name is given, or read file from remote server. Very useful to avoid authority checks that occur doing an OPEN DATASET. This function using a SAP C program to read the data.
    RZL_SLEEP     Hang the current application from 1 to 5 seconds.
    RZL_SUBMIT     Submit a remote report.
    RZL_WRITE_FILE_LOCAL     Saves table to the presentation server (not PC). Does not use OPEN DATASET, so it does not suffer from authority checks!
    SAP_CONVERT_TO_XLS_FORMAT     Convert data to Microsoft Excel format.
    SAPGUI_PROGRESS_INDICATOR     Display a progress bar on the SAP GUI, and give the user some idea of what is happening
    SAVE_TEXT     To load long text into SAP
    SCROLLING_IN_TABLE     If you are coding a module pool and using a table control, you can use this function SCROLLING_IN_TABLE to handle any scrolling. (provided by Paul Kjaer)
    SD_DATETIME_DIFFERENCE     Give the difference in Days and Time for 2 dates
    SO_NEW_DOCUMENT_ATT_SEND_API1     Send a document as part of an email. The documentation is better than normal for this function, so please read it.
    SO_SPLIT_FILE_AND_PATH     Split a fully pathed filename into a filename and a path.
    SO_SPOOL_READ     Fetch printer spool according to the spool number informed. See also RSPO_RETURN_ABAP_SPOOLJOB
    SO_WIND_SPOOL_LIST     Browse printer spool numbers according to user informed.
    SWD_HELP_F4_ORG_OBJECTS
    HR Matchcode tailored for organizational units. Includes a button so that you can browse the hierarchy too.
    SX_OBJECT_CONVERT_OTF_PDF     Conversion From OTF to PDF (SAPScript conversion)
    SX_OBJECT_CONVERT_OTF_PRT     Conversion From OTF to Printer Format (SAPScript conversion)
    SX_OBJECT_CONVERT_OTF_RAW     Conversion From OTF to ASCII (SAPScript conversion)
    SXPG_CALL_SYSTEM     you can check the user's authorization for the specified command and run the command. The command runs on the host system on which the function module is executed. The function module is RFC capable. It can therefore be run on the host system at which a user happens to be active or on another designated host system at which an R/3 server is active.
    SXPG_COMMAND_CHECK     Check whether the user is authorized to execute the specified command on the target host system with the specified arguments.
    SXPG_COMMAND_DEFINITION_GET     Read the definition of a single external OS command from the R/3 System's database.
    SXPG_COMMAND_EXECUTE     Check a user's authorization to use a command, as in SXPG_COMMAND_CHECK. If the authorization check is successful, then execute the command on the target host system.
    SXPG_COMMAND_LIST_GET     Select a list of external OS command definitions.
    TERMINAL_ID_GET     Return the terminal id
    TH_DELETE_USER     Logoff a user. Similar results to using SM04.
    TH_ENVIRONMENT     Get the UNIX environment
    TH_POPUP     Display a popup system message on a specific users screen.
    TH_REMOTE_TRANSACTION     Run a transaction on a remote server. Optionally provide BDC data to be used in the transaction
    TH_USER_INFO     Give information about the current user (sessions, workstation logged in from, etc)
    TH_USER_LIST     Show which users are logged into an app server
    TMP_GUI_DIRECTORY_LIST_FILES     Retrieve all of the files and subdirectories on the Presentation Server (PC) for a given directory.
    When a value other than * or . is used for the filter, you will not get any directories, unless they match your wildcard filter. For example, if you entered *.png, then only files and directories that end in png will be returned by the function.
    Example:
    data:  lc_directory         like bdschko16-target_dir value 'C:\TEMP\',
           lc_filter(20)        type c default '.'.
           li_file_count        type i,
           li_dir_count         type i,
           ltab_dir_table       like sdokpath occurs 0 with header line,
           ltab_file_file_table like sdokpath occurs 0 with header line.
    call function 'TMP_GUI_DIRECTORY_LIST_FILES'
      exporting
        directory        = lc_directory
        filter           = lc_filter  importing
        file_count       = li_file_count
        dir_count        = li_dir_count
      tables
        file_table       = ltab_file_table
        dir_table        = ltab_dir_table
      exceptions
        cntl_error       = 1
        others           = 2.
    UNIT_CONVERSION_SIMPLE     convert weights from one UOM to another.
    UPLOAD     upload a file to the presentation server (PC)
    UPLOAD_FILES     Will load one or more files from app or presentation server
    WEEK_GET_FIRST_DAY     For a given week (YYYYMM format), this function returns the date of the Monday of that week.
    WRITE_LIST     Useful for writing out the list contents that result from the function LIST_FROM_MEMORY.
    WS_DOWNLOAD     Save Internal Table as File on the Presentation Server
    WS_EXCEL     Start EXCEL on the PC
    WS_EXECUTE     execute a program on a windows PC
    WS_FILE_DELETE     Delete File at the Frontend
    WS_FILENAME_GET     Call File Selector
    WS_MSG     Create a dialog box in which you display an one line message
    WS_UPLOAD     Load Files from the Presentation Server to Internal ABAP Tables
    WS_VOLUME_GET     Get the label from a frontend device.
    WWW_LIST_TO_HTML     After running a report, call this function to convert the list output to HTML.
    hope it will help you
    regards
    sreelatha gullapalli

  • FM in SAP

    Where can I fine the name of all FM used in SAP, can anyone help me please?

    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_DISPLAY
    Display Log
    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_DETLEVEL_GET
    Message hierarchy in DETLEVEL
    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_MSG_DISPLAY_ABAP
    Output message as ABAP-MESSAGE
    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.
    Example:
          CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
               EXPORTING
                    objectclass = 'EINKBELEG'
                    objectid    = l_objectid
                    username    = space
               TABLES
                    i_cdhdr     = lt_cdhdr.
          LOOP AT lt_cdhdr WHERE udate IN s_aedat.
            CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
                 EXPORTING
                      changenumber = lt_cdhdr-changenr
                 TABLES
                      editpos      = lt_editpos.
            LOOP AT lt_editpos WHERE fname = 'LOEKZ'
                               AND   f_new = 'L'.
              p_desc = text-r01. " Cancel Contract
            ENDLOOP.
          ENDLOOP.
    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.
    Example:
          CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
               EXPORTING
                    objectclass = 'EINKBELEG'
                    objectid    = l_objectid
                    username    = space
               TABLES
                    i_cdhdr     = lt_cdhdr.
          LOOP AT lt_cdhdr WHERE udate IN s_aedat.
            CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
                 EXPORTING
                      changenumber = lt_cdhdr-changenr
                 TABLES
                      editpos      = lt_editpos.
            LOOP AT lt_editpos WHERE fname = 'LOEKZ'
                               AND   f_new = 'L'.
              p_desc = text-r01. " Cancel Contract
            ENDLOOP.
          ENDLOOP.
    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
    Example:
    input  = 123
    output = 0000000000000...000000000000123
    CONVERSION_EXIT_ALPHA_OUTPUT
    converts any number with zeroes right into a simple integer
    Example:
    input   = 00000000000123
    output  = 123
    CONVERT_ABAPSPOOLJOB_2_PDF
    convert abap spool output to PDF
    CONVERT_OTF
    Convert SAP documents (SAPScript) to other types.
    Example:
    CALL FUNCTION "CONVERT_OTF"
           EXPORTING    FORMAT                = "PDF"
           IMPORTING    BIN_FILESIZE          = FILE_LEN
           TABLES       OTF                   = OTFDATA
                        LINES                 = PDFDATA
           EXCEPTIONS   ERR_MAX_LINEWIDTH     = 1                  
                        ERR_FORMAT            = 2
                        ERR_CONV_NOT_POSSIBLE = 3
                        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.
    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.
    Example:
    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.
    Example:
      data:
        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'
           exporting
                retfield        = 'BEGRU'
                value_org       = 'S'
           tables
                value_tab       = t_values
                return_tab      = t_return
           exceptions
                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'.
        else.
          o_begru-option = 'EQ'.
        endif.
        o_begru-sign = 'I'.
        append o_begru to s_begru.
      else.
        o_begru = i_begru.
      endif.
    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
    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.
    Example:
    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.

  • BAPI to update Forecast values? (important, asap)

    Hi,
    Is a BAPI available to update forecast values?
    This is very important and needed asap.
    Points will be rewarded and answers will be highly appreciated.
    Thanks,
    John

    I think there is no BAPI or FM to update forecase values,i did bdc for this ,
    See the below program ,i used MD61 transaction.
    Report     : ZMPPC015
    Type       : Data upload
    Author     : Seshu Maramreddy
    Date       : 05/26/2005
    Transport  : DV3K920025
    Transaction: ??
    Description: This ABAP/4 Program to Create Planned Independent
                 Requirement for SMI plants using MD61 Transaction.
                 It accepts tab-delimited spreadsheet input and
                 creates BDC sessions.
    report zmppc015 no standard page heading
                    line-size 120
                    line-count 55
                    message-id zz.
    Constants
    constants : c_x type c value 'X'," Dynbegin
                c_tcode type tstc-tcode value 'MD61'." Transaction Code
    Variables
    data : v_lines_in_xcel like sy-tabix,
           l_tabix like sy-tabix,
           v_trans_in_ssn type i,
           v_ssnnr(4) type n," Counter
           v_ssnname like apqi-groupid,
           v_matnr(18) type c. " Material Number
    Internal Tables
    Internal table for file
    data : begin of t_file occurs 0,
           matnr(18) type c,   " Material Number
           berid(10) type c,    " MRP Area
           PLNMG01(17) type n, " Forecast Month -01
           PLNMG02(17) type n, " Forecast Month -02
           PLNMG03(17) type n, " Forecast Month -03
           PLNMG04(17) type n, " Forecast Month -04
           PLNMG05(17) type n, " Forecast Month -05
           PLNMG06(17) type n, " Forecast Month -06
           PLNMG07(17) type n, " Forecast Month -07
           PLNMG08(17) type n, " Forecast Month -08
           PLNMG09(17) type n, " Forecast Month -09
           PLNMG10(17) type n, " Forecast Month -10
           PLNMG11(17) type n, " Forecast Month -11
           PLNMG12(17) type n, " Forecast Month -12
           WERKS(4) TYPE C,    " Plant
           end of t_file.
    Internal table for BDCDATA Structure
    data : begin of itab_bdc_tab occurs 0.
            include structure bdcdata.
    data : end of itab_bdc_tab.
    Selection-screen
    selection-screen: skip 3.
    selection-screen: begin of block id1 with frame.
    parameters: p_name        like rlgrap-filename
                              default 'C:\My Documents\InputFile.txt'
                              obligatory,
    bdc session name prefix
                p_bdcpfx(6)   default 'ZPIRCT'
                              obligatory,
    number for transction per BDC session
                p_trnssn      type i
                              default 2000 obligatory,
    retain the BDC session after successfull execution
                p_keep        like apqi-qerase
                              default c_x,
    user who will be executing BDC session
                p_uname       like apqi-userid
                              default sy-uname
                              obligatory.
    selection-screen : skip 1.
    Requirement type
    parameters : p_bedae like t459u-bedae,
    From Date
                 p_date like sy-datum default sy-datum obligatory.
    selection-screen: end of block id1.
    at selection-screen on value-request for p_name.
    F4 value for Input file
      perform filename_get.
    main processing
    start-of-selection.
    To get the data from file to Internal table
      perform getdata_fromfile.
      loop at t_file.
      hang on to xcel line num
        l_tabix = sy-tabix.
      if num-of-trnas-in-session = 0, create new BDC session
        if v_trans_in_ssn is initial.
          perform bdc_session_open.
        endif.
      begin new bdc script for rtg create trans
      fill in bdc-data for prod.version maintenance screens
        perform bdc_build_script.
      insert the bdc script as a BDC transaction
        perform bdc_submit_transaction.
      keep track of how many BDC transactions were inserted in the BDC
      session
        add 1 to v_trans_in_ssn.
      if the user-specified num of trans in BDC session is reached OR
      if end of input file is reached, close the BDC session
        if v_trans_in_ssn = p_trnssn or
           l_tabix = v_lines_in_xcel.
          perform bdc_session_close.
          clear v_trans_in_ssn.
        endif.
    clear t_file.
      endloop.
    top-of-page.
      call function 'Z_HEADER'
    EXPORTING
      FLEX_TEXT1       =
      FLEX_TEXT2       =
      FLEX_TEXT3       =
    *&      Form  filename_get
          F4 Value for input file
    FORM filename_get.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                DEF_PATH         = 'C:\Temp\ '
                MASK             = ',.,..'
                MODE             = 'O'
                TITLE            = 'Select File '(007)
           IMPORTING
                FILENAME         = p_name
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " filename_get
    *&      Form  getdata_fromfile
          Upload the data from file to Internal table
    FORM getdata_fromfile.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                FILENAME                = p_name
                FILETYPE                = 'DAT'
           TABLES
                DATA_TAB                = t_file
           EXCEPTIONS
                CONVERSION_ERROR        = 1
                FILE_OPEN_ERROR         = 2
                FILE_READ_ERROR         = 3
                INVALID_TYPE            = 4
                NO_BATCH                = 5
                UNKNOWN_ERROR           = 6
                INVALID_TABLE_WIDTH     = 7
                GUI_REFUSE_FILETRANSFER = 8
                CUSTOMER_ERROR          = 9
                OTHERS                  = 10.
      if sy-subrc eq 0.
        sort t_file by matnr .
        delete t_file where matnr = ''.
        clear v_lines_in_xcel.
        describe table t_file lines v_lines_in_xcel.
        if v_lines_in_xcel is initial.
          write: / 'No data in input file'.
          stop.
        endif.
      else.
        write:/ 'Error reading input file'.
        stop.
      endif.
    ENDFORM.                    " getdata_fromfile
    *&      Form  bdc_session_open
          BDC_OPEN_GROUP
    FORM bdc_session_open.
    create bdc session name = prefix-from-selectn-screen + nnnn
      add 1 to v_ssnnr.
      concatenate p_bdcpfx v_ssnnr into v_ssnname.
      CALL FUNCTION 'BDC_OPEN_GROUP'
           EXPORTING
                CLIENT              = SY-MANDT
                GROUP               = v_ssnname
                KEEP                = p_keep
                USER                = p_uname
           EXCEPTIONS
                CLIENT_INVALID      = 1
                DESTINATION_INVALID = 2
                GROUP_INVALID       = 3
                GROUP_IS_LOCKED     = 4
                HOLDDATE_INVALID    = 5
                INTERNAL_ERROR      = 6
                QUEUE_ERROR         = 7
                RUNNING             = 8
                SYSTEM_LOCK_ERROR   = 9
                USER_INVALID        = 10
                OTHERS              = 11.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " bdc_session_open
    *&      Form  bdc_build_script
          BDC Script
    FORM bdc_build_script.
    Local Variables
      DATA : l_frdat(8) type c,  " From Date
             l_todat(8) type c,  " To Date
             l_frdat1(4) type c, " Year
             l_frdat2(2) type c, " Month
             l_frdat3(2) type c, " Day
             l_tdate like sy-datum, " Subtract date(1)
             l_todat1(4) type c,    " Year
             l_todat2(2) type c,    " Month
             l_todat3(3) type c.    " Day
       Get the material number from tables ZMSMI_FERR_RAW,
       ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
      perform get_matnr.
    Screen 0100.
      perform bdc_screen using  'SAPMM60X'     '0100'.
      perform bdc_field  using  'BDC_OKCODE'   '/EBDPT'.
      perform bdc_field  using  'AM60X-MATAW'  'X'.
      perform bdc_field  using  'AM60X-MATNR'  T_FILE-MATNR.
      perform bdc_field  using  'AM60X-PRGRP'  SPACE.
      perform bdc_field  using  'AM60X-PBDNR'  SPACE.
      perform bdc_field  using  'RM60X-BERID'  T_FILE-BERID.
      perform bdc_field  using  'AM60X-WERKS'  SPACE.
      perform bdc_field  using  'RM60X-VERSB'  '00'.
    Converted the date as per MD61 Transaction.
    From date
      l_frdat1 =  p_date+0(4).
      l_frdat2 =  p_date+4(2).
      l_frdat3 =  p_date+6(2).
      concatenate l_frdat2 l_frdat3 l_frdat1 into l_frdat.
    To Date
      l_tdate = p_date - 1.
      l_todat1 =  l_tdate+0(4) + 1.
      l_todat2 =  l_tdate+4(2).
      l_todat3 =  l_tdate+6(2).
      concatenate l_todat2 l_todat3 l_todat1 into l_todat.
      perform bdc_field  using  'RM60X-DATVE'  l_frdat.
      perform bdc_field  using  'RM60X-DATBE'  l_todat.
      perform bdc_field  using  'RM60X-ENTLU'  'M'.
    Screen 0127
      perform bdc_screen using  'SAPMM60X'     '0127'.
      perform bdc_field  using  'BDC_OKCODE'   '=WEIT'.
      if p_bedae is initial.
        perform bdc_field  using  'T459U-BEDAE'  space.
      else.
        perform bdc_field  using  'T459U-BEDAE'  P_BEDAE.
      endif.
    Screen 0100.
      perform bdc_screen using  'SAPMM60X'     '0100'.
      perform bdc_field  using  'BDC_OKCODE'   '/00'.
      perform bdc_field  using  'AM60X-MATAW'  'X'.
      perform bdc_field  using  'AM60X-MATNR'  T_FILE-MATNR.
      perform bdc_field  using  'AM60X-PRGRP'  SPACE.
      perform bdc_field  using  'AM60X-PBDNR'  SPACE.
      perform bdc_field  using  'RM60X-BERID'  T_FILE-BERID.
      perform bdc_field  using  'AM60X-WERKS'  SPACE.
      perform bdc_field  using  'RM60X-VERSB'  '00'.
      perform bdc_field  using  'RM60X-DATVE'  l_frdat.
      perform bdc_field  using  'RM60X-DATBE'  l_todat.
      perform bdc_field  using  'RM60X-ENTLU'  'M'.
    Screen 0200
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG01.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG02.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG03.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG04.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG05.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG06.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG07.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG08.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG09.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG10.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG11.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=SICH'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG12.
    ENDFORM.                    " bdc_build_script
    *&      Form  get_matnr
          Get the material number from tables ZMSMI_FERR_RAW,
          ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
    FORM get_matnr.
      clear v_matnr.
      case t_file-werks.
        when '0101'.
          select single cmatnr from zmsmi_simp_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0103'.
          select single cmatnr from zmsmi_ferr_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0102' or '0110' or '0111' or '0112' or '0113'
             or '0114' or '0115' or '0116' or '0117'.
          select single cmatnr from zmsmi_snap_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
      endcase.
    ENDFORM.                    " get_matnr
    *&      Form  bdc_screen
          BDC Script for Screen fields
         -->P_PROG   Program name
         -->P_SCRN   Screen Number
    FORM bdc_screen USING    p_prog
                             p_scrn.
      clear itab_bdc_tab.
      itab_bdc_tab-program = p_prog.
      itab_bdc_tab-dynpro = p_scrn.
      itab_bdc_tab-dynbegin = c_x.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_field
          BDC Script for Screen fileds
         -->P_NAM   Field name
         -->P_VAL   Field value
    FORM bdc_field USING    p_nam
                            p_val.
      clear itab_bdc_tab.
      itab_bdc_tab-fnam = p_nam.
      itab_bdc_tab-fval = p_val.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_submit_transaction
          BDC_INSERT Function Module
    FORM bdc_submit_transaction.
    Load BDC script as a trqansction in BDC session
      call function 'BDC_INSERT'
           EXPORTING
                tcode          = c_tcode
           TABLES
                dynprotab      = itab_bdc_tab
           EXCEPTIONS
                internal_error = 01
                not_open       = 02
                queue_error    = 03
                tcode_invalid  = 04.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      refresh itab_bdc_tab.
    ENDFORM.                    " bdc_submit_transaction
    *&      Form  bdc_session_close
          text
    FORM bdc_session_close.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
      NOT_OPEN          = 1
      QUEUE_ERROR       = 2
      OTHERS            = 3
      skip 2.
      if sy-subrc ne 0.
        write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
      else.
        write : /  'Session created:', v_ssnname,
                50 '# of transactions:', v_trans_in_ssn.
      endif.
    ENDFORM.                    " bdc_session_close
    Reward Points if it is helpful
    Thanks
    Seshu

  • Call transaction tcode OPTIONS FROM opt ?

    hi,
    i use BDC for a enhanced t/code, so i think i should use no batch input mode to call the transaction,
    could someone give a code example about this ?
    thanks!

    see the simple example code :
    Report     : ZMPPC018
    Type       : Data upload
    Author     : Seshu Maramreddy
    Date       : 07/05/2005
    Transport  : DV3K921247
    Transaction: ??
    Description: This ABAP/4 Program to Update Rate Routing Material PRT's
                 for SMI plants using CA22 Transaction.It accepts
                 tab-delimited spreadsheet input and Run the Call
                 Transaction Method.
    report zmppc018 no standard page heading
                    line-size 120
                    line-count 55
                    message-id zz.
    Constants
    constants : c_x type c value 'X'," Dynbegin
                c_tcode type tstc-tcode value 'CA22'," Transaction Code
                c_r(1) type c value 'R'," Task List type
                c_O(1) type c value 'O',
                c_fh(2) type c value 'FH'.
    Variables
    data : v_lines_in_xcel like sy-tabix,
           v_matnr(18) type c, " Material Number
           v_PLNNR like mapl-plnnr," Group
           V_DATE(8) type c," System date
           v_date1(4) type c,
           v_date2(2) type c,
           v_date3(2) type c,
           V_COUNT TYPE I." Count
    Internal table for BDCDATA Structure
    data : begin of itab_bdc_tab occurs 0.
            include structure bdcdata.
    data : end of itab_bdc_tab.
    Internal table for File
    data : begin of t_file occurs 0,
           matnr(18) type c, " Material #
           werks(4) type c,  " Plant
           plnal(2) type n,  " Group Counter
           vornr(4) type n,  " Op #
           equnr(18) type c, " PRT Material #
           steuf(4) type c,  " Control Key
           mgvgw(6) type n,  " Qty
           mgeinh(3) type c, " Qty Unit
           end of t_file.
    Internal table for Error Log
    data : begin of i_error occurs 0,
           matnr like mara-matnr,
           werks like marc-werks,
           vornr like plpo-vornr,
           plnnr like plpo-plnnr,
           text(90) type c,
           end of i_error.
    Selection-screen
    selection-screen : begin of block blk with frame.
    selection-screen: skip 1.
    parameters : p_file like rlgrap-filename obligatory,
                 P_mode type c obligatory Default 'N'.
    selection-screen : skip 1.
    selection-screen : end of block blk.
    at selection-screen on value-request for p_file.
    F4 value for Input file
      perform filename_get.
    main processing
    start-of-selection.
    To get the data from file to Internal table
      perform getdata_fromfile.
      loop at t_file.
      fill in bdc-data for Routing maintenance screens
        perform bdc_build_script.
      insert the bdc script as a BDC transaction
        perform bdc_submit_transaction.
      endloop.
    top-of-page.
      call function 'Z_HEADER'
    EXPORTING
      FLEX_TEXT1       =
      FLEX_TEXT2       =
      FLEX_TEXT3       =
    skip 1.
    write:/2 'Material #',24 'Plant',32 'Group',44 'Op #',
              53 'Status Message'.
    skip 1.
    *&      Form  filename_get
          F4 Value for Input File parameter
    FORM filename_get.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                DEF_PATH         = 'C:\Temp\ '
                MASK             = ',.,..'
                MODE             = 'O'
                TITLE            = 'Select File '(007)
           IMPORTING
                FILENAME         = p_file
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
    ENDFORM.                    " filename_get
    *&      Form  getdata_fromfile
          text
    FORM getdata_fromfile.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                FILENAME                = p_file
                FILETYPE                = 'DAT'
           TABLES
                DATA_TAB                = t_file
           EXCEPTIONS
                CONVERSION_ERROR        = 1
                FILE_OPEN_ERROR         = 2
                FILE_READ_ERROR         = 3
                INVALID_TYPE            = 4
                NO_BATCH                = 5
                UNKNOWN_ERROR           = 6
                INVALID_TABLE_WIDTH     = 7
                GUI_REFUSE_FILETRANSFER = 8
                CUSTOMER_ERROR          = 9
                OTHERS                  = 10.
      if sy-subrc eq 0.
        sort t_file by matnr werks plnal vornr .
        clear v_lines_in_xcel.
        describe table t_file lines v_lines_in_xcel.
        if v_lines_in_xcel is initial.
          write: / 'No data in input file'.
          stop.
        endif.
      else.
        write:/ 'Error reading input file'.
        stop.
      endif.
    ENDFORM.                    " getdata_fromfile
    *&      Form  bdc_build_script
          BDC Script
    FORM bdc_build_script.
       Get the material number from tables ZMSMI_FERR_RAW,
       ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
      perform get_matnr.
    Screen 1010.
      perform bdc_screen using  'SAPLCPDI'    '1010'.
      perform bdc_field  using  'BDC_OKCODE'  '=VOUE'.
      perform bdc_field  using  'RC27M-MATNR'  SPACE .
      perform bdc_field  using  'RC27M-WERKS'  SPACE.
      perform bdc_field  using  'RC271-VBELN'  SPACE.
      perform bdc_field  using  'RC271-POSNR'  SPACE.
      perform bdc_field  using  'RC271-PSPNR'  SPACE.
      Clear v_plnnr.
    Get the Group from MAPL Table
      select single plnnr from mapl
                          into v_plnnr
                          where matnr = t_file-matnr
                          and   werks = t_file-werks
                          and   loekz = space
                          and   plnty = c_r
                          and   plnal = t_file-plnal.
      perform bdc_field  using  'RC271-PLNNR'   v_plnnr.
    Current date
    MOVE SY-DATUM TO V_DATE.
      perform get_date.
      perform bdc_field  using  'RC271-STTAG'   V_DATE.
      perform bdc_field  using  'RC271-PLNAL'   t_file-plnal.
    Screen 5400
      perform bdc_screen using  'SAPLCPDI'    '5400'.
      perform bdc_field  using  'BDC_OKCODE'  '=OSEA'.
    Screen 1010
      perform bdc_screen using  'SAPLCP02'  '1010'.
      perform bdc_field  using  'BDC_OKCODE'  '=ENT1'.
      perform bdc_field  using  'RC27H-VORNR'  T_FILE-VORNR.
    Screen 5400
      perform bdc_screen using  'SAPLCPDI'    '5400'.
      perform bdc_field  using  'BDC_OKCODE'  '=FHUE'.
      perform bdc_field  using  'RC27X-FLG_SEL(01)'  C_X.
    Get the no of records from PLAS,PLPO and PLFH Tables
      perform get_count.
    Screen 0200
      IF V_COUNT = 0.
        perform bdc_screen using  'SAPLCFDI'    '0200'.
        perform bdc_field  using  'BDC_OKCODE'  '/EFIM'.
      ELSEif v_count > 0.
    Screen 0100
        perform bdc_screen using  'SAPLCFDI'    '0100'.
        perform bdc_field  using  'BDC_OKCODE'  '/EFIM'.
      ENDIF.
    Screen 0230
      perform bdc_screen using  'SAPLCFDI'    '0200'.
      perform bdc_field  using  'BDC_OKCODE'  '=BACK'.
      perform bdc_field  using  'PLFHD-MATNR'  T_FILE-EQUNR.
      perform bdc_field  using  'PLFHD-STEUF'  T_FILE-STEUF.
      perform bdc_field  using  'PLFHD-MGVGW'  T_FILE-mgvgw.
      perform bdc_field  using  'PLFHD-MGEINH'  T_FILE-MGEINH.
    Screen 0100
      perform bdc_screen using  'SAPLCFDI'    '0100'.
      perform bdc_field  using  'BDC_OKCODE'  '=BU'.
    ENDFORM.                    " bdc_build_script
    *&      Form  get_matnr
          Get the material number from tables ZMSMI_FERR_RAW,
          ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
    FORM get_matnr.
      clear v_matnr.
      case t_file-werks.
        when '0101'.
          select single cmatnr from zmsmi_simp_raw
                 into v_matnr  where matnr = t_file-matnr.
          if not v_matnr is initial.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0103'.
          select single cmatnr from zmsmi_ferr_raw
                 into v_matnr  where matnr = t_file-matnr.
          if not v_matnr is initial.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0102' or '0110' or '0111' or '0112' or '0113'
             or '0114' or '0115' or '0116' or '0117'.
          select single cmatnr from zmsmi_snap_raw
                 into v_matnr  where matnr = t_file-matnr.
          if not v_matnr is initial.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
      endcase.
    ENDFORM.                    " get_matnr
    *&      Form  bdc_screen
          BDC Script for Screen fields
         -->P_PROG   Program name
         -->P_SCRN   Screen Number
    FORM bdc_screen USING    p_prog
                             p_scrn.
      clear itab_bdc_tab.
      itab_bdc_tab-program = p_prog.
      itab_bdc_tab-dynpro = p_scrn.
      itab_bdc_tab-dynbegin = c_x.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_field
          BDC Script for Screen fileds
         -->P_NAM   Field name
         -->P_VAL   Field value
    FORM bdc_field USING    p_nam
                            p_val.
      clear itab_bdc_tab.
      itab_bdc_tab-fnam = p_nam.
      itab_bdc_tab-fval = p_val.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_field
    *&      Form  bdc_submit_transaction
          BDC_INSERT Function Module
    FORM bdc_submit_transaction.
      call transaction c_tcode using itab_bdc_tab
                       mode p_mode update 'S'.
      refresh itab_bdc_tab.
      CALL FUNCTION 'FORMAT_MESSAGE'
           EXPORTING
                ID        = SY-MSGID
                LANG      = '-E'
                NO        = SY-MSGNO
                V1        = SY-MSGV1
                V2        = SY-MSGV2
                V3        = SY-MSGV3
                V4        = SY-MSGV4
           IMPORTING
                MSG       = i_error-text
           EXCEPTIONS
                NOT_FOUND = 1
                OTHERS    = 2.
      i_error-matnr = t_file-matnr.
      i_error-werks = t_file-werks.
      i_error-plnnr = v_plnnr.
      i_error-vornr = t_file-vornr.
      append i_error.
      clear i_error.
      clear t_file.
    ENDFORM.                    " bdc_submit_transaction
    *&      Form  get_date
          Converted date as per CA22 Transaction
    FORM get_date.
      clear :  v_date,
               v_date1,
               v_date2,
               v_date3.
      v_date1 = sy-datum+0(4).
      v_date2 = sy-datum+4(2).
      v_date3 = sy-datum+6(2).
      concatenate v_date2 v_date3 v_date1 into v_date.
    ENDFORM.                    " get_date
    *&      Form  get_count
          text
    FORM get_count.
      clear v_count.
      select count(*) into v_count
               from  plas as a inner join plpo as b on aplnty = bplnty
                                                  and  aplnnr = bplnnr
                                                  and  aplnkn = bplnkn
                        inner join plfh as c  on  cplnty = aplnty
                                            and   cplnnr = aplnnr
                                            and   cplnal = aplnal
                                            and   cplnfl = aplnfl
                                            and   cplnkn = bplnkn
                         where a~plnty = c_r
                         and   a~plnnr = v_plnnr
                         and   a~plnal = t_file-plnal
                         and   c~objct = c_O
                         and   a~loekz = space
                         and   b~vornr = t_file-vornr
                         and   c~objty = c_fh
                         and   c~loekz = space.
    ENDFORM.                    " get_count
    end-of-selection.
    Displaying Error Log
    loop at i_error.
    write:/2 i_error-matnr,24 i_error-werks,32 i_error-plnnr,
           44  i_error-vornr,50 '-', 53 i_error-text.
    endloop.

  • Regd: funcion module.

    hi,
    could u please tell me what is function module for uploading data into database server in BDC.Please send sample code.

    Use Gui_upload FM to get the data from file to internal table ,then use bdcdata processing for further.
    See the below example Code :
    Report     : ZMPPC015
    Type       : Data upload
    Author     : Seshu Maramreddy
    Date       : 05/26/2005
    Transport  : DV3K920025
    Transaction: ??
    Description: This ABAP/4 Program to Create Planned Independent
                 Requirement for SMI plants using MD61 Transaction.
                 It accepts tab-delimited spreadsheet input and
                 creates BDC sessions.
    report zmppc015 no standard page heading
                    line-size 120
                    line-count 55
                    message-id zz.
    Constants
    constants : c_x type c value 'X'," Dynbegin
                c_tcode type tstc-tcode value 'MD61'." Transaction Code
    Variables
    data : v_lines_in_xcel like sy-tabix,
           l_tabix like sy-tabix,
           v_trans_in_ssn type i,
           v_ssnnr(4) type n," Counter
           v_ssnname like apqi-groupid,
           v_matnr(18) type c. " Material Number
    Internal Tables
    Internal table for file
    data : begin of t_file occurs 0,
           matnr(18) type c,   " Material Number
           berid(10) type c,    " MRP Area
           PLNMG01(17) type n, " Forecast Month -01
           PLNMG02(17) type n, " Forecast Month -02
           PLNMG03(17) type n, " Forecast Month -03
           PLNMG04(17) type n, " Forecast Month -04
           PLNMG05(17) type n, " Forecast Month -05
           PLNMG06(17) type n, " Forecast Month -06
           PLNMG07(17) type n, " Forecast Month -07
           PLNMG08(17) type n, " Forecast Month -08
           PLNMG09(17) type n, " Forecast Month -09
           PLNMG10(17) type n, " Forecast Month -10
           PLNMG11(17) type n, " Forecast Month -11
           PLNMG12(17) type n, " Forecast Month -12
           WERKS(4) TYPE C,    " Plant
           end of t_file.
    Internal table for BDCDATA Structure
    data : begin of itab_bdc_tab occurs 0.
            include structure bdcdata.
    data : end of itab_bdc_tab.
    Selection-screen
    selection-screen: skip 3.
    selection-screen: begin of block id1 with frame.
    parameters: p_name        like rlgrap-filename
                              default 'C:\My Documents\InputFile.txt'
                              obligatory,
    bdc session name prefix
                p_bdcpfx(6)   default 'ZPIRCT'
                              obligatory,
    number for transction per BDC session
                p_trnssn      type i
                              default 2000 obligatory,
    retain the BDC session after successfull execution
                p_keep        like apqi-qerase
                              default c_x,
    user who will be executing BDC session
                p_uname       like apqi-userid
                              default sy-uname
                              obligatory.
    selection-screen : skip 1.
    Requirement type
    parameters : p_bedae like t459u-bedae,
    From Date
                 p_date like sy-datum default sy-datum obligatory.
    selection-screen: end of block id1.
    at selection-screen on value-request for p_name.
    F4 value for Input file
      perform filename_get.
    main processing
    start-of-selection.
    To get the data from file to Internal table
      perform getdata_fromfile.
      loop at t_file.
      hang on to xcel line num
        l_tabix = sy-tabix.
      if num-of-trnas-in-session = 0, create new BDC session
        if v_trans_in_ssn is initial.
          perform bdc_session_open.
        endif.
      begin new bdc script for rtg create trans
      fill in bdc-data for prod.version maintenance screens
        perform bdc_build_script.
      insert the bdc script as a BDC transaction
        perform bdc_submit_transaction.
      keep track of how many BDC transactions were inserted in the BDC
      session
        add 1 to v_trans_in_ssn.
      if the user-specified num of trans in BDC session is reached OR
      if end of input file is reached, close the BDC session
        if v_trans_in_ssn = p_trnssn or
           l_tabix = v_lines_in_xcel.
          perform bdc_session_close.
          clear v_trans_in_ssn.
        endif.
    clear t_file.
      endloop.
    top-of-page.
      call function 'Z_HEADER'
    EXPORTING
      FLEX_TEXT1       =
      FLEX_TEXT2       =
      FLEX_TEXT3       =
    *&      Form  filename_get
          F4 Value for input file
    FORM filename_get.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                DEF_PATH         = 'C:\Temp\ '
                MASK             = ',.,..'
                MODE             = 'O'
                TITLE            = 'Select File '(007)
           IMPORTING
                FILENAME         = p_name
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " filename_get
    *&      Form  getdata_fromfile
          Upload the data from file to Internal table
    FORM getdata_fromfile.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                FILENAME                = p_name
                FILETYPE                = 'DAT'
           TABLES
                DATA_TAB                = t_file
           EXCEPTIONS
                CONVERSION_ERROR        = 1
                FILE_OPEN_ERROR         = 2
                FILE_READ_ERROR         = 3
                INVALID_TYPE            = 4
                NO_BATCH                = 5
                UNKNOWN_ERROR           = 6
                INVALID_TABLE_WIDTH     = 7
                GUI_REFUSE_FILETRANSFER = 8
                CUSTOMER_ERROR          = 9
                OTHERS                  = 10.
      if sy-subrc eq 0.
        sort t_file by matnr .
        delete t_file where matnr = ''.
        clear v_lines_in_xcel.
        describe table t_file lines v_lines_in_xcel.
        if v_lines_in_xcel is initial.
          write: / 'No data in input file'.
          stop.
        endif.
      else.
        write:/ 'Error reading input file'.
        stop.
      endif.
    ENDFORM.                    " getdata_fromfile
    *&      Form  bdc_session_open
          BDC_OPEN_GROUP
    FORM bdc_session_open.
    create bdc session name = prefix-from-selectn-screen + nnnn
      add 1 to v_ssnnr.
      concatenate p_bdcpfx v_ssnnr into v_ssnname.
      CALL FUNCTION 'BDC_OPEN_GROUP'
           EXPORTING
                CLIENT              = SY-MANDT
                GROUP               = v_ssnname
                KEEP                = p_keep
                USER                = p_uname
           EXCEPTIONS
                CLIENT_INVALID      = 1
                DESTINATION_INVALID = 2
                GROUP_INVALID       = 3
                GROUP_IS_LOCKED     = 4
                HOLDDATE_INVALID    = 5
                INTERNAL_ERROR      = 6
                QUEUE_ERROR         = 7
                RUNNING             = 8
                SYSTEM_LOCK_ERROR   = 9
                USER_INVALID        = 10
                OTHERS              = 11.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " bdc_session_open
    *&      Form  bdc_build_script
          BDC Script
    FORM bdc_build_script.
    Local Variables
      DATA : l_frdat(8) type c,  " From Date
             l_todat(8) type c,  " To Date
             l_frdat1(4) type c, " Year
             l_frdat2(2) type c, " Month
             l_frdat3(2) type c, " Day
             l_tdate like sy-datum, " Subtract date(1)
             l_todat1(4) type c,    " Year
             l_todat2(2) type c,    " Month
             l_todat3(3) type c.    " Day
       Get the material number from tables ZMSMI_FERR_RAW,
       ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
      perform get_matnr.
    Screen 0100.
      perform bdc_screen using  'SAPMM60X'     '0100'.
      perform bdc_field  using  'BDC_OKCODE'   '/EBDPT'.
      perform bdc_field  using  'AM60X-MATAW'  'X'.
      perform bdc_field  using  'AM60X-MATNR'  T_FILE-MATNR.
      perform bdc_field  using  'AM60X-PRGRP'  SPACE.
      perform bdc_field  using  'AM60X-PBDNR'  SPACE.
      perform bdc_field  using  'RM60X-BERID'  T_FILE-BERID.
      perform bdc_field  using  'AM60X-WERKS'  SPACE.
      perform bdc_field  using  'RM60X-VERSB'  '00'.
    Converted the date as per MD61 Transaction.
    From date
      l_frdat1 =  p_date+0(4).
      l_frdat2 =  p_date+4(2).
      l_frdat3 =  p_date+6(2).
      concatenate l_frdat2 l_frdat3 l_frdat1 into l_frdat.
    To Date
      l_tdate = p_date - 1.
      l_todat1 =  l_tdate+0(4) + 1.
      l_todat2 =  l_tdate+4(2).
      l_todat3 =  l_tdate+6(2).
      concatenate l_todat2 l_todat3 l_todat1 into l_todat.
      perform bdc_field  using  'RM60X-DATVE'  l_frdat.
      perform bdc_field  using  'RM60X-DATBE'  l_todat.
      perform bdc_field  using  'RM60X-ENTLU'  'M'.
    Screen 0127
      perform bdc_screen using  'SAPMM60X'     '0127'.
      perform bdc_field  using  'BDC_OKCODE'   '=WEIT'.
      if p_bedae is initial.
        perform bdc_field  using  'T459U-BEDAE'  space.
      else.
        perform bdc_field  using  'T459U-BEDAE'  P_BEDAE.
      endif.
    Screen 0100.
      perform bdc_screen using  'SAPMM60X'     '0100'.
      perform bdc_field  using  'BDC_OKCODE'   '/00'.
      perform bdc_field  using  'AM60X-MATAW'  'X'.
      perform bdc_field  using  'AM60X-MATNR'  T_FILE-MATNR.
      perform bdc_field  using  'AM60X-PRGRP'  SPACE.
      perform bdc_field  using  'AM60X-PBDNR'  SPACE.
      perform bdc_field  using  'RM60X-BERID'  T_FILE-BERID.
      perform bdc_field  using  'AM60X-WERKS'  SPACE.
      perform bdc_field  using  'RM60X-VERSB'  '00'.
      perform bdc_field  using  'RM60X-DATVE'  l_frdat.
      perform bdc_field  using  'RM60X-DATBE'  l_todat.
      perform bdc_field  using  'RM60X-ENTLU'  'M'.
    Screen 0200
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG01.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG02.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG03.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG04.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG05.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG06.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG07.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG08.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG09.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG10.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=S+'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG11.
      perform bdc_screen using  'SAPLM60E'     '0200'.
      perform bdc_field  using  'BDC_OKCODE'   '=SICH'.
      perform bdc_field  using  'RM60X-PLN01(01)'  T_FILE-PLNMG12.
    ENDFORM.                    " bdc_build_script
    *&      Form  get_matnr
          Get the material number from tables ZMSMI_FERR_RAW,
          ZMSMI_SNAP_RAW and ZMSMI_SIMP_RAW
    FORM get_matnr.
      clear v_matnr.
      case t_file-werks.
        when '0101'.
          select single cmatnr from zmsmi_simp_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0103'.
          select single cmatnr from zmsmi_ferr_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
        when '0102' or '0110' or '0111' or '0112' or '0113'
             or '0114' or '0115' or '0116' or '0117'.
          select single cmatnr from zmsmi_snap_raw
                 into v_matnr  where matnr = t_file-matnr.
          if sy-subrc eq 0.
            clear t_file-matnr.
            t_file-matnr = v_matnr.
          endif.
      endcase.
    ENDFORM.                    " get_matnr
    *&      Form  bdc_screen
          BDC Script for Screen fields
         -->P_PROG   Program name
         -->P_SCRN   Screen Number
    FORM bdc_screen USING    p_prog
                             p_scrn.
      clear itab_bdc_tab.
      itab_bdc_tab-program = p_prog.
      itab_bdc_tab-dynpro = p_scrn.
      itab_bdc_tab-dynbegin = c_x.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_field
          BDC Script for Screen fileds
         -->P_NAM   Field name
         -->P_VAL   Field value
    FORM bdc_field USING    p_nam
                            p_val.
      clear itab_bdc_tab.
      itab_bdc_tab-fnam = p_nam.
      itab_bdc_tab-fval = p_val.
      append itab_bdc_tab.
    ENDFORM.                    " bdc_screen
    *&      Form  bdc_submit_transaction
          BDC_INSERT Function Module
    FORM bdc_submit_transaction.
    Load BDC script as a trqansction in BDC session
      call function 'BDC_INSERT'
           EXPORTING
                tcode          = c_tcode
           TABLES
                dynprotab      = itab_bdc_tab
           EXCEPTIONS
                internal_error = 01
                not_open       = 02
                queue_error    = 03
                tcode_invalid  = 04.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      refresh itab_bdc_tab.
    ENDFORM.                    " bdc_submit_transaction
    *&      Form  bdc_session_close
          text
    FORM bdc_session_close.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
      NOT_OPEN          = 1
      QUEUE_ERROR       = 2
      OTHERS            = 3
      skip 2.
      if sy-subrc ne 0.
        write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
      else.
        write : /  'Session created:', v_ssnname,
                50 '# of transactions:', v_trans_in_ssn.
      endif.
    ENDFORM.                    " bdc_session_close
    Reward Points if it is helpful
    Thanks
    Seshu

  • List of fm

    Hi all,
    I want list of function modules and their functionality .also list of obsolete fm and their replacements.
    Please share related documents.

    Hi,
    Please go through the fillowing links [http://www.sapbrainsonline.com/REFERENCES/FunctionModules/SAP_function_modules_list.html]
    Some of the FMS frequently used are as follows:
    Function Modules for creating programs (Useful when you are generating programs)
    RS_PROGRAM_CHECK_NAME : To check program names if you are generating them.
    RS_CORR_INSERT : To insert the correction request in the repository.
    REPS_OBJECT_ACTIVATE : To activate repository objects, for example - to activate a newly generated program.
    RS_DELETE_PROGRAM : To delete the program.
    RS_ACCESS_PERMISSION : To lock or unlock a program.
    Function Modules related to Date and Time Calculations
    CALCULATE_DATE : Calculates the future date based on the input .
    DATE_TO_DAY : Returns the Day for the entered date.
    DATE_COMPUTE_DAY : Returns weekday for a date
    DATE_GET_WEEK : Returns week for a date
    RP_CALC_DATE_IN_INTERVAL : Add days / months to a date
    Function Modules related to (ALV) ADVANCED LIST VIEWER
    REUSE_ALV_LIST_DISPLAY : ABAP List viewer (LIST DISPLAY)
    REUSE_ALV_GRID_DISPLAY : ALV GridControl full screen
    REUSE_ALV_FIELDCATALOG_MERGE : Create field catalog from dictionary structure or internal table
    Function Module related to Change Tracking
    CHANGEDOCUMENT_READ_HEADERS : Read and format change documents
    DAY_ATTRIBUTES_GET : Returns attributes for a range of dates specified
    MONTHS_BETWEEN_TWO_DATES : To get the number of months between the two dates.
    END_OF_MONTH_DETERMINE_2 : Determines the End of a Month.
    HR_HK_DIFF_BT_2_DATES : Find the difference between two dates in years, months and days.
    FIMA_DAYS_AND_MONTHS_AND_YEARS : Find the difference between two dates in years, months and days.
    MONTH_NAMES_GET : Get the names of the month
    WEEK_GET_FIRST_DAY : Get the first day of the week
    HRGPBS_HESA_DATE_FORMAT : Format the date in dd/mm/yyyy format
    SD_CALC_DURATION_FROM_DATETIME : Find the difference between two date/time and report the difference in hours
    L_MC_TIME_DIFFERENCE : Find the time difference between two date/time
    HR_99S_INTERVAL_BETWEEN_DATES : Difference between two dates in days, weeks, months
    LAST_DAY_OF_MONTHS : Returns the last day of the month
    DATE_CHECK_PLAUSIBILITY :Check for the invalid date.
    DATE_2D_TO_4D_CONVERSION :Year entry: 2-character to 4-character.
    DAY_IN_WEEK :Input date and will give the name of the day 1-monday,2-Tuesday....
    SD_DATETIME_DIFFERENCE : Give the difference in Days and Time for 2 dates
    Function Modules Related To Formatting
    CLOI_PUT_SIGN_IN_FRONT : Displays the negative sign in front of the numeral
    RKD_WORD_WRAP : Wrap text into several lines
    CONVERSION_EXIT_ALPHA_INPUT : Pad zeros to the number at the left
    CONVERSION_EXIT_ALPHA_OUTPUT : Eliminate zeros to the number at the left
    READ_EXCHANGE_RATE : Exchange Convertion
    SPELL_AMOUNT: Transforms numeric values into text
    Function Modules Related To Dialog Prompts
    POPUP_TO_CONFIRM : Displays a popup dialog with a user defined message for confirmation
    POPUP_TO_GET_VALUE : Displays a popup dialog requesting a value for a particular table-fieldname
    SAPGUI_PROGRESS_INDICATOR : Displays a progress bar with text to denote the percentage of completion and status
    FILENAME_GET : Displays a popup dialog to get the presentation server filename
    F4_DATE : Displays a popup dialog to choose date
    GUI_UPLOAD : Upload a file from the presentation server
    GUI_DOWNLOAD : Download an Internal Table to the PC
    POPUP_TO_SELECT_MONTH : Display a pop-up to select a month
    GET_PRINT_PARAMETERS : Printer parameters
    Function Modules related to F4 Help
    F4IF_INT_TABLE_VALUE_REQUEST - F4 help also returning the value to be displayed in internal table
    F4IF_FIELD_VALUE_REQUEST F4 help for fields that are only known at runtime
    Function Modules related to data maintenance
    VIEW_MAINTENANCE_CALL - To maintain data from a table
    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_DISPLAY
    Display Log
    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_DETLEVEL_GET
    Message hierarchy in DETLEVEL
    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_MSG_DISPLAY_ABAP
    Output message as ABAP-MESSAGE
    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.
    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.
    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
    CONVERSION_EXIT_ALPHA_OUTPUT
    converts any number with zeroes right into a simple integer
    CONVERT_ABAPSPOOLJOB_2_PDF
    convert abap spool output to PDF
    CONVERT_OTF
    Convert SAP documents (SAPScript) to other types.
    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.
    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.
    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.
    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
    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.
    G_SET_GET_ALL_VALUES
    Fetch values from a set.
    GET_CURRENT_YEAR
    Get the current 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.
    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.
    HOLIDAY_CHECK_AND_GET_INFO
    Useful for determining whether or not a date is a holiday. Give the function a date, and a holiday calendar, and you can determine if the date is a holiday by checking the parameter HOLIDAY_FOUND
    HOLIDAY_GET
    Provides a table of all the holidays based upon a Factory Calendar &/ Holiday Calendar.
    HR_DISPLAY_BASIC_LIST
    is an HR function, but can be used for any data. You pass it data, and column headers, and it provides a table control with the ability to manipulate the data, and send it to Word or Excel. Also see the additional documentation here.
    HR_GET_LEAVE_DATA
    Get all leave information (includes leave entitlement, used holidays/paid out holidays)
    HR_IE_NUM_PRSI_WEEKS
    Return the number of weeks between two dates.
    HR_PAYROLL_PERIODS_GET
    Get the payroll period for a particular date.
    HR_TIME_RESULTS_GET
    Get the time results for a payroll period.
    INIT_TEXT
    To load long text into SAP
    K_WERKS_OF_BUKRS_FIND
    Return a list of all plants for a given company code.
    LIST_FROM_MEMORY
    Retrieves the output of a report from memory when the report was executed using SUBMIT... EXPORTING LIST TO MEMORY. See also WRITE_LIST.
    LIST_TO_ASCII
    convert an ABAP report (displayed on screen) from OTF to ASCII format
    <!if !vml><!endif>MBEW_EXTEND
    Get the stock position for the previous month. This displays the same info that you see in MM03.
    MONTH_NAMES_GET
    It returns all the month and names in repective language.
    MONTH_PLUS_DETERMINE
    Add or subtract months from a date. To subtract a month, enter a negative value for the 'months' parameter.
    MS_EXCEL_OLE_STANDARD_OLE
    will build a file, and automatically start Excel
    OTF_CONVERT
    wraps several other function modules. Will convert OTF to ASCII or PDF
    POPUP_TO_CONFIRM_LOSS_OF_DATA
    Create a dialog box in which you make a question whether the user wishes to perform a processing step with loss of data.
    POPUP_TO_CONFIRM_STEP
    Create a dialog box in which you make a question whether the user wishes to perform the step.
    POPUP_TO_CONFIRM_WITH_MESSAGE
    Create a dialog box in which you inform the user about a specific decision point during an action.
    POPUP_TO_CONFIRM_WITH_VALUE
    Create a dialog box in which you make a question whether the user wishes to perform a processing step with a particular object.
    POPUP_TO_DECIDE
    provide user with several choices as radio buttons
    POPUP_TO_DECIDE_WITH_MESSAGE
    Create a dialog box in which you inform the user about a specific decision point via a diagnosis text.
    POPUP_TO_DISPLAY_TEXT
    Create a dialog box in which you display a two line message
    POPUP_TO_SELECT_MONTH
    Popup to choose a month
    POPUP_WITH_TABLE_DISPLAY
    Provide a display of a table for user to select one, with the value of the table line returned when selected.
    PRICING
    Return pricing conditions in an internal table. Use structure TCOMK for parameter COMM_HEAD_1, and structure TCOMP for parameter COMM_ITEM_1, and set CALCULATION_TYPE to B. The pricing conditions will be returned in XOMV. You must fill TCOMP, and TCOMK with the appropriate values before callling the function in order for it to work.
    PROFILE_GET
    Read an Entry in an INI File on the frontend
    PROFILE_SET
    Write an Entry in an INI File on the frontend
    READ_TEXT
    To load long text into SAP
    REGISTRY_GET
    Read an Entry from the Registry
    REGISTRY_SET
    Set an entry in the Registry
    RFC_ABAP_INSTALL_AND_RUN
    Runs an ABAP program that is stored in the table PROGRAM when the MODE = 'F'. Table WRITES contains the ouput of the program. Allows you to run a program without having the source code in the target system.
    RH_GET_ACTIVE_WF_PLVAR
    Return the active HR Plan
    RH_GET_DATE_DAYNAME
    return the day based on the date provied
    RH_START_EXCEL_WITH_DATA
    starts Excel with the contents of an internal table. This function finds Excel in the desktop registry. It also uses a local PC working directory to save the file (that's what the 'W' value for data path flag does). Very transparent to user!
    RH_STRUC_GET
    Returns all related org info
    UNIT_CONVERSION_SIMPLE
    convert weights from one UOM to another.
    UPLOAD
    upload a file to the presentation server (PC)
    UPLOAD_FILES
    Will load one or more files from app or presentation server
    WEEK_GET_FIRST_DAY
    For a given week (YYYYMM format), this function returns the date of the Monday of that week.
    WRITE_LIST
    Useful for writing out the list contents that result from the function LIST_FROM_MEMORY.
    WS_DOWNLOAD
    Save Internal Table as File on the Presentation Server
    WS_EXCEL
    Start EXCEL on the PC
    WS_EXECUTE
    execute a program on a windows PC
    WS_FILE_DELETE
    Delete File at the Frontend
    WS_FILENAME_GET
    Call File Selector
    WS_MSG
    Create a dialog box in which you display an one line message
    WS_UPLOAD
    Load Files from the Presentation Server to Internal ABAP Tables
    WS_VOLUME_GET
    Get the label from a frontend device.
    WWW_LIST_TO_HTML
    After running a report, call this function to convert the list output to HTML
    <REMOVED BY MODERATOR>
    Thanks and Regards
    Edited by: Alvaro Tejada Galindo on Apr 22, 2008 4:16 PM

Maybe you are looking for

  • First OAF page deployment - many questions

    I am trying deploy my first OAF Page (HelloWorldPG). However, I am getting lost trying to understand the directory structure. I tried to read through older posts from other users....but parts of their directory structure is different from mine. Devel

  • Itunes quit working during itunes match

    I recently signed up for itunes match. However, my iTunes (11.1.3.8) stops working when it iTunes Match is matching the songs in my library. I have tried several times and always get the iTunes ha stopped working. Any ideas?

  • Dvdsp what is the source location under format

    HELP. I did something dumb.  I got an external dvd burner and was having trouble getting dvd studio pro to choose it.  I went to file - advance burn- format. Then I was able to choose the burner, but I stupidly also changed the sourse location and no

  • Jsps under WEB-INF

    Hello, i've moved my jsps from outside WEB-INF to WEB-INF directory /web-inf/jsp/private/home.jspBut now i can't receive the home.jsp page. what do i have to do to see the home.jsp in the browser? Do i have to change my faces-config.xml ? thanks

  • SAML assertion Identity provider - SSO for ALL users

    Hi , If we have  a  Corp AD configured on Windows 7/ Windows 8 but  SAP-EP-UME is hooked up to the Corp AD ( read only ). Can we consider the  Active directory system(Windows ) to be the  IDENTITY PROVIDER and configure the SAP-EP ( portal to be the