Library class to create material in standard material Table

Hey Hi,
I need to create a proxy class which will create material in standard Material Table.I cannot find a library class for the same in my tabel ........now want to create it a proxy  library class which would create material in standard R3 table like mara ......
Please help me out as i am new to ABAP.
Thanks in Advance,
Neethu Joy

Neethu,
SAP is an enterprise system with a RDBMS under it.  Records are not solely created in core tables (like MARA)... instead a transaction is executed that creates the material.  In the midst of this transaction, a MARA table entry is created as well as numerous other table entries.
You should look to BAPI_STANDARDMATERIAL_CREATE in t-code SE37.  You can create a proxy from this BAPI - you can even create a Web Service that can be implemented in an external app.

Similar Messages

  • Assigning valuation class when creating Material

    Hi
    I want assign "3100 -Trading Goods valuation class" to my material which i am creating. in Tr.code MMH1
    In the accounting1 view, under the current valuation section, there are no options at all to select valuation class.
    please help me figure out how to get the 3100 option into my valuation class.
    i will send u a screen shot of my problem,if u need..gimme u r email id.
    i will assign points
    thanks

    hi
    u need to assign val classes to act cat ref.That act cat ref assign to mat type .
    then syst automatically will give option of val class when ur creating mat of that mat type.
    Log gen->mat master-> basic settings-> def att of mat type
    here u assign act cat ref to mat type.
    MM-> val & act assign ment -> act detr wth wizard-> def val class
    here u assign val classes to act cat ref.
    ok
    if its ok
    assign points
    nani

  • Creating index for standard SAP tables

    Hi!
    What are the advantages and disadvantages of creating addtional indexes for tables with massive amount of data (BSEG, BKPF, COEP, etc...).
    If I create a new index it supposed to make the table access faster, for the cost of hard disk space.
    Am I right?
    Thank you
    Tamá

    Hi,
    Primary and secondary indexes
    Index: Technical key of a database table.
    Primary index: The primary index contains the key fields of the table and a pointer to the non-key fields of the table. The primary index is created automatically when the table is created in the database.
    Secondary index: Additional indexes could be created considering the most frequently accessed dimensions of the table.
    Structure of an Index
    An index can be used to speed up the selection of data records from a table.
    An index can be considered to be a copy of a database table reduced to certain fields. The data is stored in sorted form in this copy. This sorting permits fast access to the records of the table (for example using a binary search). Not all of the fields of the table are contained in the index. The index also contains a pointer from the index entry to the corresponding table entry to permit all the field contents to be read.
    When creating indexes, please note that:
    An index can only be used up to the last specified field in the selection! The fields which are specified in the WHERE clause for a large number of selections should be in the first position.
    Only those fields whose values significantly restrict the amount of data are meaningful in an index.
    When you change a data record of a table, you must adjust the index sorting. Tables whose contents are frequently changed therefore should not have too many indexes.
    Make sure that the indexes on a table are as disjunctive as possible.
    (That is they should contain as few fields in common as possible. If two indexes on a table have a large number of common fields, this could make it more difficult for the optimizer to choose the most selective index.)
    Accessing tables using Indexes
    The database optimizer decides which index on the table should be used by the database to access data records.
    You must distinguish between the primary index and secondary indexes of a table. The primary index contains the key fields of the table. The primary index is automatically created in the database when the table is activated. If a large table is frequently accessed such that it is not possible to apply primary index sorting, you should create secondary indexes for the table.
    The indexes on a table have a three-character index ID. '0' is reserved for the primary index. Customers can create their own indexes on SAP tables; their IDs must begin with Y or Z.
    If the index fields have key function, i.e. they already uniquely identify each record of the table, an index can be called a unique index. This ensures that there are no duplicate index fields in the database.
    When you define a secondary index in the ABAP Dictionary, you can specify whether it should be created on the database when it is activated. Some indexes only result in a gain in performance for certain database systems. You can therefore specify a list of database systems when you define an index. The index is then only created on the specified database systems when activated
    Thanks and Regards
    Arun Joseph

  • Create material serial number and update class type and class

    Hi ,
    do we have any function to create material serial number and update class type, class and Characteristic Description?
    for transcation IQ04 0-Create material Serial number and IQ02 for change mat. serial number
    cheers,
    RAAG

    hi
    u  can  go to  iqo2 and click  class overview and assign the class type ,class and description.but u need to maintain  class for this first.
    it would be helpful for u  to  read iut  221 for work management
    for creation  of class,service object  etc.and understand the concept .
    all the best
    kr
    raj
    RAJ on Oct 14, 2008 3:20 PM

  • 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

  • InterFace Programming : Create Material.

    Hi Gurus,
             I want to create one interface program for creating new material from External system like foxpro.
    I don't have any knowledge about writing interface programs.
    I anyone from u please tell me how to write this program.
    thanks in advance.
    Vinod.

    Hi ,
    See the sample code
    *TO CREATE MATERIAL USING BAPI.
                   STRUCTURE  DECLARATIONS                             *
    TABLES: BAPIMATHEAD,  "Headerdata
            BAPI_MARA,    "Clientdata
            BAPI_MARAX,   "Clientdatax
            BAPI_MARC,    "Plantdata
            BAPI_MARCX,   "Plantdatax
            BAPI_MAKT,    "Material description
            BAPI_MBEW,    "VALUATION DATA
            BAPI_MBEWX,
            BAPI_MARM,
            BAPI_MARMX,
            bapi_mean,
            BAPIRET2.     "Return messages
    DATA:V_FILE TYPE STRING.   "input data file
    DATA:
      BEGIN OF LSMW_MATERIAL_MASTER,
        MATNR(018) TYPE C,  "Material number
        MTART(004) TYPE C,  "Material type
        MBRSH(001) TYPE C,  "Industry sector
        WERKS(004) TYPE C,  "Plant
        MAKTX(040) TYPE C,  "Material description
        DISMM(002) TYPE C,  "Extra Field Added In the Program as itsrequired
        MEINS(003) TYPE C,  "Base unit of measure
        MATKL(009) TYPE C,  "Material group
        SPART(002) TYPE C,  "Division
        LABOR(003) TYPE C,  "Lab/office
        PRDHA(018) TYPE C,  "Product hierarchy
        MSTAE(002) TYPE C,  "X-plant matl status
        MTPOS_MARA(004) TYPE C,  "Gen item cat group
        <b>BRGEW(017) TYPE C,  "Gross weight
        GEWEI(003) TYPE C,  "Weight unit</b>    NTGEW(017) TYPE C,  "Net weight
        GROES(032) TYPE C,  "Size/Dimensions
        MAGRV(004) TYPE C,  "Matl grp pack matls
        BISMT(018) TYPE C,  "Old material number
        WRKST(048) TYPE C,  "Basic material
        PROFL(003) TYPE C,  "DG indicator profile
        KZUMW(001) TYPE C,  "Environmentally rlvt
        BSTME(003) TYPE C,  "Order unit
        VABME(001) TYPE C,
        EKGRP(003) TYPE C,  "Purchasing group
        XCHPF(001) TYPE C,  "Batch management
        EKWSL(004) TYPE C,  "Purchasing key value
        WEBAZ(003) TYPE C,  "GR processing time
        MFRPN(040) TYPE C,  "Manufacturer part number
        MFRNR(010) TYPE C,  "Manufacturer number
        VPRSV(001) TYPE C,  "Price control indicator
        STPRS(015) TYPE C,  "Standard price
        BWPRH(014) TYPE C,  "Commercial price1
        BKLAS(004) TYPE C,  "Valuation class
        bwkey(004) type c,
      END OF LSMW_MATERIAL_MASTER.
                   INTERNAL TABLE DECLARATIONS                         *
    *to store the input data
    DATA:
      BEGIN OF it_matmaster OCCURS 0.
            INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.
    DATA:
      END OF it_matmaster.
    *for material description
    DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
         INCLUDE STRUCTURE BAPI_MAKT .
    DATA:END OF IT_MATERIALDESC.
    *FOR gross wt
    data: begin of it_uom occurs 0.
          include structure BAPI_MARM.
    data:end of it_uom.
    DATA: BEGIN OF IT_UOMX OCCURS 0.
          INCLUDE STRUCTURE BAPI_MARMX.
    DATA:END OF IT_UOMX.
    data:begin of it_mean occurs 0.
         include structure bapi_mean.
    data:end of it_mean.
    DATA:BEGIN OF IT_MLTX OCCURS 0.
         INCLUDE STRUCTURE BAPI_MLTX.
    DATA:END OF IT_MLTX.
    *to return messages
    DATA:BEGIN OF IT_RETURN OCCURS 0.
         INCLUDE STRUCTURE BAPIRET2.
    DATA:END OF IT_RETURN.
    SELECTION SCREEN                                                    *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.
    PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1 .
    AT SELECTION SCREEN                                                  *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = 'P_FILE'
        IMPORTING
          FILE_NAME     = P_FILE.
                   TO UPLOAD THE DATA                                  *
    START-OF-SELECTION.
    V_FILE = P_FILE.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = V_FILE
       FILETYPE                      = 'ASC'
       HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      tables
        data_tab                      =  IT_MATMASTER
    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 ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ELSE.
    *DELETE IT_MATMASTER INDEX 1.
    ENDIF.
                   DATA POPULATIONS                                    *
    LOOP AT  IT_MATMASTER.
    *HEADER DATA
      BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.
      BAPIMATHEAD-IND_SECTOR = IT_MATMASTER-Mbrsh.
      BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.
      BAPIMATHEAD-BASIC_VIEW = 'X'.
      BAPIMATHEAD-PURCHASE_VIEW = 'X'.
      BAPIMATHEAD-ACCOUNT_VIEW = 'X'.
    *CLIENTDATA
      BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.
      BAPI_MARA-DIVISION = IT_MATMASTER-SPART.
      BAPI_MARA-DSN_OFFICE = IT_MATMASTER-LABOR.
      BAPI_MARA-PROD_HIER = IT_MATMASTER-PRDHA.
      BAPI_MARA-PUR_STATUS = IT_MATMASTER-MSTAE.
      BAPI_MARA-ITEM_CAT = IT_MATMASTER-MTPOS_MARA.
      BAPI_MARA-NET_WEIGHT = IT_MATMASTER-NTGEW.
    BAPI_MARA-PO_UNIT = 'KG'.
    BAPI_MARA-UNIT_OF_WT_ISO = 'KG'.
      BAPI_MARA-UNIT_OF_WT = 'KG'.
    BAPI_MARA-PACK_VO_UN = 'KG'.
    BAPI_MARA-BASE_UOM_ISO = 'KG'.
      bapi_mara-size_dim = it_matmaster-groes.
      BAPI_MARA-MAT_GRP_SM = IT_MATMASTER-MAGRV.
      BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.
      BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.
      BAPI_MARA-BASIC_MATL = IT_MATMASTER-WRKST.
      BAPI_MARA-HAZMATPROF = IT_MATMASTER-PROFL.
      BAPI_MARA-ENVT_RLVT = IT_MATMASTER-KZUMW.
      BAPI_MARA-PO_UNIT = IT_MATMASTER-BSTME.
      BAPI_MARA-VAR_ORD_UN = IT_MATMASTER-VABME.
      BAPI_MARA-PUR_VALKEY = IT_MATMASTER-EKWSL.
      BAPI_MARA-MANU_MAT = IT_MATMASTER-MFRPN.
      BAPI_MARA-MFR_NO = IT_MATMASTER-MFRNR.
      BAPI_MARAX-MATL_GROUP = 'X'.
      BAPI_MARAX-DIVISION = 'X'.
      BAPI_MARAX-DSN_OFFICE = 'X'.
      BAPI_MARAX-PROD_HIER = 'X'.
      BAPI_MARAX-PUR_STATUS = 'X'.
      BAPI_MARAX-ITEM_CAT = 'X'.
      BAPI_MARAX-NET_WEIGHT = 'X'.
      BAPI_MARAX-UNIT_OF_WT = 'X'.
    BAPI_MARAX-UNIT_OF_WT_ISO = 'X'.
      bapi_maraX-size_dim = 'X'.
      BAPI_MARAX-MAT_GRP_SM = 'X'.
      BAPI_MARAX-OLD_MAT_NO = 'X'.
      BAPI_MARAX-BASE_UOM = 'X'.
      BAPI_MARAX-BASE_UOM_ISO = 'X'.
      BAPI_MARAX-BASIC_MATL = 'X'.
      BAPI_MARAX-MFR_NO = 'X'.
      BAPI_MARAX-HAZMATPROF = 'X'.
      BAPI_MARAX-ENVT_RLVT = 'X'.
      BAPI_MARAX-PO_UNIT = 'X'.
    BAPI_MARAX-PACK_VO_UN = 'X'.
      BAPI_MARAX-VAR_ORD_UN = 'X'.
      BAPI_MARAX-PUR_VALKEY = 'X'.
      BAPI_MARAX-MANU_MAT = 'X'.
      BAPI_MARAX-MFR_NO = 'X'.
    *PLANT DATA
      BAPI_MARC-PLANT = IT_MATMASTER-WERKS.
      BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP.
      BAPI_MARC-BATCH_MGMT = IT_MATMASTER-XCHPF.
      BAPI_MARC-GR_PR_TIME = IT_MATMASTER-WEBAZ.
      BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.
      BAPI_MARCX-PUR_GROUP = 'X'.
      BAPI_MARCX-BATCH_MGMT = 'X'.
      BAPI_MARCX-GR_PR_TIME = 'X'.
    *VALUATION DATA
      BAPI_MBEW-PRICE_CTRL = IT_MATMASTER-VPRSV.
      BAPI_MBEW-STD_PRICE = IT_MATMASTER-STPRS.
      BAPI_MBEW-COMMPRICE1 = IT_MATMASTER-BWPRH.
      BAPI_MBEW-VAL_AREA = IT_MATMASTER-BWKEY.
      BAPI_MBEW-VAL_CLASS = IT_MATMASTER-BKLAS.
      BAPI_MBEWX-PRICE_CTRL = 'X'.
      BAPI_MBEWX-STD_PRICE = 'X'.
      BAPI_MBEWX-COMMPRICE1 = 'X'.
      BAPI_MBEWX-VAL_AREA = IT_MATMASTER-BWKEY.
      BAPI_MBEWX-VAL_CLASS = 'X'.
      IT_MATERIALDESC-LANGU = 'EN'.
      IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.
      append IT_materialdesc.
    <b>  IT_UOM-GROSS_WT = IT_MATMASTER-BRGEW.
      IT_UOM-ALT_UNIT = 'KG'.
      IT_UOM-ALT_UNIT_ISO = 'KG'.
        IT_UOM-UNIT_OF_WT = IT_MATMASTER-GEWEI.
        APPEND IT_UOM.
      IT_UOMX-GROSS_WT = 'X'.
      IT_UOMX-ALT_UNIT = 'KG'.
      IT_UOMX-ALT_UNIT_ISO = 'KG'.
      IT_UOMX-UNIT_OF_WT = 'X'.
      APPEND IT_UOMX.</b>
      it_mean-unit = 'KD3'.
      append it_mean.
      it_mltx-langu = 'E'.
      it_mltx-text_name = it_matmaster-matnr.
      APPEND IT_MLTX.
      CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
        EXPORTING
          headdata                   = BAPIMATHEAD
          CLIENTDATA                 = BAPI_MARA
          CLIENTDATAX                = BAPI_MARAx
         PLANTDATA                  =  BAPI_MARc
         PLANTDATAX                 =  BAPI_MARcx
        FORECASTPARAMETERS         =
        FORECASTPARAMETERSX        =
        PLANNINGDATA               =
        PLANNINGDATAX              =
        STORAGELOCATIONDATA        =
        STORAGELOCATIONDATAX       =
         VALUATIONDATA              = BAPI_MBEW
         VALUATIONDATAX             = BAPI_MBEWX
        WAREHOUSENUMBERDATA        =
        WAREHOUSENUMBERDATAX       =
        SALESDATA                  =
        SALESDATAX                 =
        STORAGETYPEDATA            =
        STORAGETYPEDATAX           =
        FLAG_ONLINE                = ' '
        FLAG_CAD_CALL              = ' '
       IMPORTING
         RETURN                     = IT_RETURN
       TABLES
         MATERIALDESCRIPTION        = IT_MATERIALDESC
         UNITSOFMEASURE             = IT_UOM
         UNITSOFMEASUREX            = IT_UOMX
         INTERNATIONALARTNOS        = it_mean
        MATERIALLONGTEXT           = IT_MLTX
        TAXCLASSIFICATIONS         =
        RETURNMESSAGES             =
        PRTDATA                    =
        PRTDATAX                   =
        EXTENSIONIN                =
        EXTENSIONINX               =
    read table it_return with key TYPE = 'S'.
    if sy-subrc = 0.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT          =
      IMPORTING
        RETURN        =
    *else.
    *CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
    IMPORTING
      RETURN        =
    endif.
    WRITE:/    IT_RETURN-TYPE,
            2   IT_RETURN-ID,
            22  IT_RETURN-NUMBER,
            25  IT_RETURN-MESSAGE.
               IT_RETURN-LOG_NO,
               IT_RETURN-LOG_MSG_NO,
               IT_RETURN-MESSAGE_V1,
               IT_RETURN-MESSAGE_V2,
               IT_RETURN-MESSAGE_V3,
               IT_RETURN-MESSAGE_V4,
               IT_RETURN-PARAMETER,
               IT_RETURN-ROW,
               IT_RETURN-FIELD,
               IT_RETURN-SYSTEM.
    Thanks
    Jagadeesh.G

  • Screen sequence error while creating material.

    Respected Gurus,
    While creating material, i am getting the following error:
    The data screen descriptions are missing for screen sequence EH
    (Message no. MM329)
    Looks like screen set up issue.
    How do I solve this??
    Please help.
    Jaideep

    Jaideep,
    Check in other logon language like EN or DE.
    You might want to check with basis consultant if all text's are migrated into your logon language.
    If the screens are not standard, texts might only exist in developer logon language.
    Close message if solved.
    regards,
    Edgar

  • Runtime error while creating material master data

    hello sir,
    i am facing one prolem while creating MATERIAL MASTER DATA.
    AFTER GIVING ALL REQUIRED INFORMATION WHEN I AM GOING TO SAVE THE DOCUMENT ITS SHOWING ABAP RUNTIME ERROR.
    MESSAGE TYPE: - MDS_KEYMAP.
    MESSAGE CLASS: 001.
    PLEASE TELL ME WHAT TO DO?
    REGARDS..

    SIR THANK YOU FOR YOUR REPLY.
    I ALREADY DONE THAT DUMP ANALYSIS.
    SO PLEASE KINDLY GIVE ME IN DETAILS ABOUT THAT SOLUTION...

  • Error in creating materialized view

    Hi all,
    I am trying to create the following materialized view, but throwing me the error message below
    CREATE MATERIALIZED VIEW "MVIW"."XXFA_R051_SHT2_AMV"
    (PARTITION BY LIST (PERIOD_YEAR)
    PARTITION YEAR2006 VALUES LESS ('2006'),
    PARTITION YEAR2007 VALUES LESS ('2007'),
    PARTITION YEAR2007 VALUES LESS ('2008'))
    TABLESPACE "MVIEW"
    BUILD IMMEDIATE
    USING INDEX
    REFRESH FORCE ON DEMAND
    USING DEFAULT LOCAL ROLLBACK SEGMENT
    DISABLE QUERY REWRITE
    AS (SELECT * FROM XXFA_R051_SHT2_MV);
    SQL Error: ORA-00907: missing right parenthesis
    00907. 00000 - "missing right parenthesis"
    *Cause:   
    *Action:
    Any pointers would be appreciated
    Thanks
    VR

    What is it your are actually trying to do?
    On one hand you say:
    PARTITION BY LIST (PERIOD_YEAR)
    Then you proceed to use the syntax for range partitioning:
    VALUES LESS ('2006'),
    Look up the correct syntax at http://tahiti.oracle.com or the demos in Morgan's Library at www.psoug.org.

  • 'BAPI_GOODSMVT_CREATE' takes more time for creating material document

    Hi Experts,
    I m using 'BAPI_GOODSMVT_CREATE' in my custom report, it takes more time for creating Material documents.
    Please let me know if there is any option to overcome this issue.
    Thanks in advance
    Regards,
    Leo

    Hi,
    please check if some of following OSS notes are not valid for your problem:
    [Note 838036 - AFS: Performance issues during GR with ref. to PO|https://service.sap.com/sap/support/notes/838036]
    [Note 391142 - Performance: Goods receipt for inbound delivery|https://service.sap.com/sap/support/notes/391142]
    [Note 1414418 - Goods receipt for customer returns: Various corrections|https://service.sap.com/sap/support/notes/1414418]
    The other idea is not to commit each call, but executing commit of packages e.g. after 1000 BAPI calls.
    But otherwise, I am afraid you can not do a lot about performance of standard BAPI. Maybe there is some customer enhancement which is taking too long inside the BAPI, but this has to be analysed by you. To analyse performance, just execute your program via tr. SE30.
    Regards
    Adrian

  • 'BAPI_GOODSMVT_CREATE' takes more time for creating material document for the 1st time

    Hi Experts,
    I am doing goods movement using BAPI_GOODSMVT_CREATE in my custom code.
    Then there is some functional configuration such that, material documents and TR and TO are getting created.
    Now I need to get TO and TR numbers from LTAK table passing material documnt number and year, which I got from above used BAPI.
    The problem I am facing is very strange.
    Only for the 1st time, I am not finding TR and TO values in LTAK table. And subsequent runs I get entries in LTAK in there is a wait time of 5 seconds after bapi call.
    I have found 'BAPI_GOODSMVT_CREATE' takes more time for creating material document with similar issue, but no solution or explanation.
    Note 838036 says something similar, but it seems obsolete.
    Kindly share your expertise and opinions.
    Thanks,
    Anil

    Hi,
    please check if some of following OSS notes are not valid for your problem:
    [Note 838036 - AFS: Performance issues during GR with ref. to PO|https://service.sap.com/sap/support/notes/838036]
    [Note 391142 - Performance: Goods receipt for inbound delivery|https://service.sap.com/sap/support/notes/391142]
    [Note 1414418 - Goods receipt for customer returns: Various corrections|https://service.sap.com/sap/support/notes/1414418]
    The other idea is not to commit each call, but executing commit of packages e.g. after 1000 BAPI calls.
    But otherwise, I am afraid you can not do a lot about performance of standard BAPI. Maybe there is some customer enhancement which is taking too long inside the BAPI, but this has to be analysed by you. To analyse performance, just execute your program via tr. SE30.
    Regards
    Adrian

  • Re: create material cost estimate with ck11n without

    hi gurus,
    i need to do create material cost estimate with ck11n without cost result but before i need to check the BOM with material component 11111, and also instruct me how to correct maintain BOM list to get the standard cost
    if anybody do the same scenoria giveme your golden inputs
    thanks in advance,
    kumar.b

    Hi,
    As note 351835 explains, calculation needs an inforecord to calculate prices from purchasing. Prices from outline agreements are generally not taken into account. According to note 499699, the system may consider entries in the source but it will ignore entered agreements (before this correction, any source list entries with agreement were ignored).
    Prices from agreements could only be considered either via a modification or by using the user exit for material valuation (COPCP005).
    This unfortuntely is a restriction resulting as a side-effect from note 499699. As soon as an agreement is entered in the source list, the fixed indicator will not be considered anymore.
    You therefore have two options to overcome this.
    1) You create a second source list entry without an agreement; then the fix indicator will be reflected; report Z_CREATE_EORD from note  409960 could be used to do this automatically
    2) You are using user-exit EXIT_SAPLMEQR_001 in order to 'overrule'   the standard search for source of supply (enhancement LMEQR001)
    regards
    Waman

  • Create Material Master Record with Text

    Hi, I am looking to create material Master Data via ABAP.  I currently have some code that creates the Master Data Characteristic value I want, but I need the text as well.  Can someone tell me what I need to do to add the text for the Master Data Characteristic value?
    Here's what I have using CL_RSDMD_UPDATE_MASTER_DATA=>UPDATE_ATTRIBUTES_STATIC
    TYPE-POOLS: RS, RSSM.
      DATA: T_ZFREETEXT   LIKE STANDARD TABLE OF ZFREETEXT.
      DATA: T_INFO        TYPE RSSM_S_MINFO.
      DATA: RETURN_STATUS TYPE RSARR_T_IDOCSTATE.
      DATA: RETURN_SUBRC  LIKE SY-SUBRC.
      DATA: MSG TYPE RS_T_MSG.
      DATA: L_R_ACTIVATE_MASTER_DATA TYPE REF TO CL_RSDMD_ACTIVATE_MASTER_DATA.
      INSERT ZFREETEXT INTO TABLE T_ZFREETEXT.
      CALL METHOD CL_RSDMD_UPDATE_MASTER_DATA=>UPDATE_ATTRIBUTES_STATIC
        EXPORTING
          I_IOBJNM        = '0MATERIAL'     " Technical name of InfoObject
          I_CHAVL_ENQUEUE = RS_C_FALSE
          I_T_DATA        = T_ZFREETEXT
          I_S_MINFO       = T_INFO
          I_MONITORING    = RS_C_FALSE
        CHANGING
          C_T_IDOCSTATE   = RETURN_STATUS.
      IF SY-SUBRC <> 0.
        RETURN_SUBRC = 'Error happened'.
      ELSE.
        RETURN_MSG = 'Process Completed Successfully'.
        CREATE OBJECT L_R_ACTIVATE_MASTER_DATA
          EXPORTING
            I_IOBJNM            = '0MATERIAL'
            I_P_Q_HAVE_TO_EXIST = RS_C_FALSE.
        IF SY-SUBRC = 0.
          L_R_ACTIVATE_MASTER_DATA->ACTIVATE(
          IMPORTING
          E_SUBRC = RETURN_SUBRC
          CHANGING
          C_T_MSG = MSG ).
        ENDIF.
      ENDIF.

    Dear Kenneth,
    do you need to add master data during load of transaction data in planning scenario? If yes, you can do this with a planning function of type exit in the INIT function module.
    I think you've to use the table ETO_CHAS (table for char. combinations) and all kind of char. combinations has to be transfered.
    data:
    l_s_chas type /1SEM/_YS_CHAS_"YOURCLIENT"YOURPLANNINGAREA",
    l_r_co_area type range of /bi0/oico_area,
    l_s_costcenter type /bi0/pcostcenter.
    field-symbols:
    <f_coar> type /bi0/oico_area,
    <f_cctr> type /bi0/oicostcenter.
    select * from /bi0/pcostcenter into l_s_costcenter
                 where co_area IN l_r_co_area
                 and objvers = 'A'.
    <f_coar> = l_s_costcenter-co_area.
    <f_cctr> = l_s_costcenter-costcenter.
    INSERT l_s_chas INTO TABLE eto_chas.
    endselect.
    Regards, Clemens

  • HOW TO CREATE MATERIAL CODE IN MATERIAL MASTER

    HI SAP GURU'S
      As i m fresher in SAP-mm , can somebody guide me how to create materials in MM01, because in my company they told me to create some materials . For this which r all modules help i need , because in mm01 select views somany r there. IN that views  it is asking cost center , G/L account, mrp 1, 2,3.. etc.
    In Realtime how the MM01 WORKFLOW.. PLEASE HELP ME basically and clearly...
    bY
    MM SAP

    Hi,
    to start with you have to know some basic things, like if the material is for procurement then you enter as follows :
    1. Material No' - Whether internal or external, give as set.
    2. Industry Sector :- what kind of industry sector for the material.
    3. Material type :- whether raw material or semi-finished, etc.
    4. Select views :- Basic views required are Basic Data, Purchasing, Plant and Storage, Accounting1 and if subjected to MRP, select MRP view 1,2.
    5. Specify your plant / storage loc'n in Organizational details.
    6. Basic data - give Desc and various basic parameters for the material.
    7. Accounting view - get the valuation class for your material type from FICO and enter the class. Also select valuation price either S or V depending on your requirement.
    8. MRP view give the type of MRP you are using usually it will be manual re-order Pt plgg, Ro-order Point, MRP Controller for your plant, Lot size details.
    Hope this will give you some idea for MM Rec creation.
    Reward if found useful.
    Anand

  • Error Creating Materialized View With a Job

    Oracle 9ir2
    I've created a job like this in a java class:
    ...Java Code ...
    cs = conn.prepareCall ("DECLARE v_job NUMBER; BEGIN DBMS_JOB.SUBMIT(v_job,'begin CTH_REGENERA_VM; end;', TRUNC(SYSDATE+1) + (3/24)); END;");
    ...Java Code ...
    The Procedure called in the Job:
    CREATE OR REPLACE PROCEDURE CTH_REGENERA_VM
         AUTHID CURRENT_USER IS
         existe NUMBER(1);
         cur BINARY_INTEGER := DBMS_SQL.OPEN_CURSOR;
         fdbk BINARY_INTEGER;
    BEGIN
         SELECT count(*) INTO existe FROM user_mviews WHERE mview_name = 'CTH_PRESENTA_A_VM';
         IF existe > 0 THEN
              DBMS_SQL.PARSE(cur, 'DROP MATERIALIZED VIEW CTH_PRESENTA_A_VM', DBMS_SQL.NATIVE);
         fdbk := DBMS_SQL.EXECUTE(cur);
              INSERT INTO CTH_HISTORIAL VALUES('ELIMINADA VM CTH_PRESENTA_A_VM', SYSDATE);
              COMMIT;
         END IF;
         DBMS_SQL.PARSE(cur, 'CREATE MATERIALIZED VIEW CTH_PRESENTA_A_VM
         TABLESPACE DAT1_CTH
         STORAGE(INITIAL 16M NEXT 8M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0)
                   XMLTYPE XML STORE AS CLOB (           TABLESPACE DAT1_CTH
                   STORAGE(INITIAL 16M NEXT 8M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0))
         AS select FICHA, XML,
         extractvalue(xml, ''/FICHE/Encab_de_nombre_geogr�fico_a'') as MUNICIPIO,
         extractvalue(xml, ''/FICHE/Encab_de_nombre_geogr�fico_c'') as CALIFICACION,
         extractvalue(xml, ''/FICHE/Encab_de_nombre_geogr�fico_b'') as PROVINCIA,
         extractvalue(xml, ''/FICHE/Encab_tem�tico_de_materia_a[1]'') as MATERIA,
         extractvalue(xml, ''/FICHE/Fecha_cronol�gica_b[1]'') as FECHA,
         extractvalue(xml, ''/FICHE/Datos_matem�ticos_a[1]'') as ESCALA
         from cth_xmltable', DBMS_SQL.NATIVE);
         INSERT INTO CTH_HISTORIAL VALUES('ASIGNO EL PARSE DE MATERIALIZED', SYSDATE);
         fdbk := DBMS_SQL.EXECUTE(cur);
         INSERT INTO CTH_HISTORIAL VALUES('EJECUTO EL PARSE DE MATERIALIZED', SYSDATE);
         INSERT INTO CTH_HISTORIAL VALUES('CREADA VM CTH_PRESENTA_A_VM', SYSDATE);
         DBMS_SQL.PARSE(cur, 'CREATE INDEX CTH_INDEX1
         ON CTH_PRESENTA_A_VM(XML)
         INDEXTYPE IS CTXSYS.CONTEXT
         PARAMETERS (''storage cth section group ctxsys.auto_section_group'')', DBMS_SQL.NATIVE);
         fdbk := DBMS_SQL.EXECUTE(cur);
         INSERT INTO CTH_HISTORIAL VALUES('CREADO INDICE ORACLE TEXT CTH_INDEX1', SYSDATE);
         DBMS_SQL.PARSE(cur, 'CREATE INDEX CTH_IDX_MUNICIPIO3
              ON CTH_PRESENTA_A_VM(UPPER(MUNICIPIO))
              TABLESPACE IDX1_CTH
              STORAGE (INITIAL 1M NEXT 512K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0)', DBMS_SQL.NATIVE);
         fdbk := DBMS_SQL.EXECUTE(cur);
         INSERT INTO CTH_HISTORIAL VALUES('CREADO INDICE CTH_IDX_MUNICIPIO2', SYSDATE);
         DBMS_SQL.PARSE(cur, 'CREATE INDEX CTH_IDX_FICHA2
         ON CTH_PRESENTA_A_VM
         (FICHA)
         TABLESPACE IDX1_CTH
         STORAGE(INITIAL 1M NEXT 512K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0)', DBMS_SQL.NATIVE);
         fdbk := DBMS_SQL.EXECUTE(cur);
         INSERT INTO CTH_HISTORIAL VALUES('CREADO INDICE CTH_IDX_FICHA2', SYSDATE);
         DBMS_SQL.CLOSE_CURSOR(cur);
    COMMIT;
    END;
    I got always an error in the created materialized view. If I call the procedure with SQL Plus, it run ok. The user
    has CTXAPP, DBA roles, so I supouse it is not a privileges problem. I also tried to create a simple materialized view or a table, and always got an error ora-12011
    Thanks in advance.

    If I call the procedure with SQL Plus, it run ok. Are you using the same user to run it in SQL*Plus as runs it from Java.
    The normal reason for procedures to fail like this is privileges. Particularly, we cannot run procedures using privileges we have been granted through roles.
    The user has CTXAPP, DBA roles, so I supouse it is not a privileges problem. Try granting the system privilege CREATE MATERIALIZED VIEW to the user and see what happens.
    I drop the materialized and create again, cause it's the fastest way I've found. With a DBMS_MVIEW.REFRESH is too slow.I find that surprising as drop & create has to do all the work that a refresh has to do plus some more - maybe it's something to do with XML. Did you try adding a snapshot log and going for FAST? I don't know whwther the XML procesing would render the view complex - have you explained it?
    Cheers, APC

Maybe you are looking for

  • Workflows | Defining sub-workflows and capturing wfActions

    Hi All, I am trying to define a sub-workflow post which I want to make a jump based on the action taken in the one step sub-workflow. I tried to use the wfActions to find the action taken at a step, but the applet shows the following error: Offset in

  • Mavericks  / Samsung ML-2250 printing failure,

    Hi all! Since I have installed Mavericks. My Samsung ML-2250 fails to print. The error in the job queue is : Stopped - "filter' failed. The error msg at this location is :  /var/log/cups/error_log. D [17/Nov/2013:21:32:40 +0000] D [17/Nov/2013:21:32:

  • Strange behaviour on preloading web page in WebView

    I have the following problem: In my Swing application i'd like to show a web page. In order to do so i use a JFXPanel that contains a WebView. The web page should be loaded in the background and just if the loading process is totally completed i want

  • Posting PP Documents through ALE

    Hi All, We have an ALE scenario set up that posts payroll accounting documents to FI through ALE. The problem is I do not see the payroll hours come across in the IDOC.  I would asume it would come in the quantity field. Is there something on the FI

  • Photosmart 7520 - How to view on screen the printer status report

    How do I view on the monitor or printer screen the 'Total pages printed' figure, which otherwise I need to frequently print out via "Maintain your computer>Device reports>Print Status report"?  I'm using HP Photosmart 7520e, wireless connected, Windo