<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ques. on bapi in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518764#M569972</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which SAP standard table you need to update. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP will not suggest any mode of direct update Standard tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;aRs&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 07 Jul 2007 06:27:40 GMT</pubDate>
    <dc:creator>former_member194669</dc:creator>
    <dc:date>2007-07-07T06:27:40Z</dc:date>
    <item>
      <title>ques. on bapi</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518763#M569971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz any one let me inform that  " HOW TO INSERT DATA INTO STANDARD SAP TABLES USING BAPI "&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID IS "ankueshyam@gmail.com" .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;points assured for a helpfull reply.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jul 2007 06:25:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518763#M569971</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-07T06:25:19Z</dc:date>
    </item>
    <item>
      <title>Re: ques. on bapi</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518764#M569972</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which SAP standard table you need to update. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP will not suggest any mode of direct update Standard tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;aRs&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jul 2007 06:27:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518764#M569972</guid>
      <dc:creator>former_member194669</dc:creator>
      <dc:date>2007-07-07T06:27:40Z</dc:date>
    </item>
    <item>
      <title>Re: ques. on bapi</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518765#M569973</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ankur,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Depends on what table you are inserting into, you have to choose the BAPI. I can give you a sample code to update T-Code MM01(This will update all the material tables.ex:MARA etc..)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample Code: &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZCN_MM_MATMASTER_BASICVIEW
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zcn_mm_matmaster_basicview MESSAGE-ID zmc_mm_messages.

TABLES: t001l, "Storage Locations
        mara,  "General Material Data
        makt,  "Material Descriptions
        mbew,  "Material Valuation
        marc.  "Plant Data for Material

DATA: bapi_head   LIKE bapimathead,
      bapi_makt   LIKE bapi_makt,    "Material Description
      bapi_mara1  LIKE bapi_mara,    "Client Data
      bapi_marax  LIKE bapi_marax,
      bapi_marc1  LIKE bapi_marc,    "Plant View
      bapi_marcx  LIKE bapi_marcx,
      bapi_mbew1  LIKE bapi_mbew,    "Accounting View
      bapi_mbewx  LIKE bapi_mbewx,
      bapi_mard1  LIKE bapi_mard,    "Storage View
      bapi_mardx  LIKE bapi_mardx,
      bapi_return LIKE bapiret2.

DATA: BEGIN OF int_makt OCCURS 100.
        INCLUDE STRUCTURE bapi_makt.
DATA: END OF int_makt.

DATA: BEGIN OF it_data OCCURS 0,
      mat_type(4),
      ind_sec(1),
      plant(4),
      stge_loc(4),
      mat_desc(40),
      base_uom(3),
      old_matno(18),
      matl_group(9),
      document(22),
      po_unit(3),
      pur_valkey(4),
      mfr_no(10),
      manu_mat(40),
      vendor_lookup(10),
      mrp_type(2),
      mrp_ctrler(3),
      sm_key(3),
      proc_type(1),
      sloc_exprc(4),
      stge_bin(10),
      issue_unit(3),
      cc_ph_inv(1),
      price_ctrl(1),
      val_class(4),
      moving_pr(11),
      price_unit(5),
      profit_ctr(10),
      matnr(18),
      END OF it_data,
      is_data LIKE it_data.
DATA: BEGIN OF it_error OCCURS 0,
      mat_type(4),
      ind_sec(1),
      plant(4),
      stge_loc(4),
      mat_desc(40),
      base_uom(3),
      old_matno(18),
      matl_group(9),
      document(22),
      po_unit(3),
      pur_valkey(4),
      mfr_no(10),
      manu_mat(40),
      vendor_lookup(10),
      mrp_type(2),
      mrp_ctrler(3),
      sm_key(3),
      proc_type(1),
      sloc_exprc(4),
      stge_bin(10),
      issue_unit(3),
      cc_ph_inv(1),
      price_ctrl(1),
      val_class(4),
      moving_pr(11),
      price_unit(5),
      profit_ctr(10),
      matnr(18),
      END OF it_error,
      is_error LIKE it_error.

DATA: bdc_tab LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA : g_file TYPE string.
DATA : BEGIN OF data_mat OCCURS 0,
       datastring TYPE string,
       END OF data_mat.
DATA: record(500).
DATA: gv_count TYPE i VALUE 0.
DATA  lv_string TYPE string.
TYPES: BEGIN OF ty_string_tab,
         line(255),
       END OF ty_string_tab.

DATA  i_string_tab TYPE STANDARD TABLE OF ty_string_tab.

********************------SELECTION SCREEN----**************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file TYPE ibipparms-path.
PARAMETERS: r_local RADIOBUTTON GROUP radi,
            r_apps  RADIOBUTTON GROUP radi.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.
PARAMETERS : p_downld LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b2.

*******************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
    IMPORTING
      file_name     = p_file.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_downld.
  PERFORM get_local_file USING p_downld.



*----------------------------------------------------------------------*
* S T A R T   O F   S E L E C T I O N
*----------------------------------------------------------------------*
START-OF-SELECTION.
  g_file = p_file.
  PERFORM upload USING g_file.    "Upload takes the file from the presentation
  PERFORM conversion_extendedview.
  PERFORM download_errors.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  upload
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM upload USING lv_file .

  IF r_apps = 'X'.
    OPEN DATASET lv_file
                 FOR INPUT IN TEXT MODE
                 ENCODING DEFAULT.
    IF sy-subrc &amp;lt;&amp;gt; 0.
      WRITE: / text-002, sy-subrc.
      STOP.
    ELSE.
      DO.
        READ DATASET lv_file INTO record.
        SPLIT record AT '~' INTO
                           it_data-mat_type
                           it_data-ind_sec
                           it_data-plant
                           it_data-stge_loc
                           it_data-mat_desc
                           it_data-base_uom
                           it_data-old_matno
                           it_data-matl_group
                           it_data-document
                           it_data-po_unit
                           it_data-pur_valkey
                           it_data-mfr_no
                           it_data-manu_mat
                           it_data-vendor_lookup
                           it_data-mrp_type
                           it_data-mrp_ctrler
                           it_data-sm_key
                           it_data-proc_type
                           it_data-sloc_exprc
                           it_data-stge_bin
                           it_data-issue_unit
                           it_data-cc_ph_inv
                           it_data-price_ctrl
                           it_data-val_class
                           it_data-moving_pr
                           it_data-price_unit
                           it_data-profit_ctr
                           it_data-matnr.

        APPEND it_data.
        CLEAR  it_data.
      ENDDO.
      CLOSE DATASET lv_file.

    ENDIF.
  ELSEIF r_local = 'X'.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = lv_file
        filetype                      = 'ASC'
        has_field_separator           = '~'
        header_length                 = 0
        read_by_line                  = 'X'
*    DAT_MODE                      = ' '
*    CODEPAGE                      = ' '
        ignore_cerr                   = 'X'
        replacement                   = '#'
*    CHECK_BOM                     = ' '
*    VIRUS_SCAN_PROFILE            =
*    NO_AUTH_CHECK                 = ' '
*  IMPORTING
*    FILELENGTH                    =
*    HEADER                        =
      TABLES
        data_tab                      = data_mat
*  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 &amp;lt;&amp;gt; 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ELSE.
      LOOP AT data_mat.
        SPLIT data_mat-datastring AT '~' INTO
                                      it_data-mat_type
                                      it_data-ind_sec
                                      it_data-plant
                                      it_data-stge_loc
                                      it_data-mat_desc
                                      it_data-base_uom
                                      it_data-old_matno
                                      it_data-matl_group
                                      it_data-document
                                      it_data-po_unit
                                      it_data-pur_valkey
                                      it_data-mfr_no
                                      it_data-manu_mat
                                      it_data-vendor_lookup
                                      it_data-mrp_type
                                      it_data-mrp_ctrler
                                      it_data-sm_key
                                      it_data-proc_type
                                      it_data-sloc_exprc
                                      it_data-stge_bin
                                      it_data-issue_unit
                                      it_data-cc_ph_inv
                                      it_data-price_ctrl
                                      it_data-val_class
                                      it_data-moving_pr
                                      it_data-price_unit
                                      it_data-profit_ctr
                                      it_data-matnr.

        APPEND it_data.
        CLEAR  it_data.
      ENDLOOP.
    ENDIF.


  ENDIF.

ENDFORM.                    " upload
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  conversion_extendedview
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM conversion_extendedview .
  DATA: lv_matnr LIKE mara-matnr,
        lv_lifnr LIKE lfb1-lifnr.
  LOOP AT it_data INTO is_data.
    CLEAR: lv_matnr,
          lv_lifnr.

    SELECT SINGLE matnr FROM mara INTO lv_matnr
                   WHERE bismt = is_data-old_matno AND
                         meins = is_data-base_uom.
    IF sy-subrc NE 0.
      MOVE is_data TO is_error.
      APPEND is_error TO it_error.
      CLEAR is_error.
      CONTINUE.
    ENDIF.

    SELECT SINGLE lifnr INTO lv_lifnr FROM lfb1
                WHERE altkn = is_data-vendor_lookup.
    IF sy-subrc EQ 0.
      SELECT SINGLE lifnr INTO lv_lifnr FROM lfa1
                    WHERE lifnr = lv_lifnr AND
                          ktokk = 'ZMNF'.
      IF sy-subrc NE 0.
        lv_lifnr  = ' '.
      ENDIF.
    ELSE.
      lv_lifnr = ' '.
    ENDIF.


* Header
    bapi_head-material        = lv_matnr.
    bapi_head-ind_sector      = 'C'.
    bapi_head-matl_type       = is_data-mat_type.
    bapi_head-basic_view      = 'X'.
    bapi_head-purchase_view   = 'X'.
    bapi_head-account_view    = 'X'.
    bapi_head-storage_view    = 'X'.
    IF is_data-mat_type = 'ROH'.
      bapi_head-mrp_view = 'X'.
      bapi_head-cost_view = 'X'.
    ENDIF.
* Material Description
    REFRESH int_makt.
    int_makt-langu           = 'EN'.
    int_makt-matl_desc       = is_data-mat_desc.
    APPEND int_makt.
* Client Data - Basic
    bapi_mara1-matl_group     = is_data-matl_group.
    bapi_mara1-base_uom       = is_data-base_uom.
    bapi_mara1-old_mat_no     = is_data-old_matno.
    bapi_mara1-document       = is_data-document.
    bapi_mara1-po_unit        = is_data-po_unit.
    bapi_mara1-pur_valkey     = is_data-pur_valkey.
    bapi_mara1-mfr_no         = lv_lifnr.
    bapi_mara1-manu_mat       = is_data-manu_mat.


    bapi_marax-old_mat_no     = 'X'.
    bapi_marax-document       = 'X'.
    bapi_marax-po_unit        = 'X'.
    bapi_marax-pur_valkey     = 'X'.
    bapi_marax-mfr_no         = 'X'.
    bapi_marax-manu_mat       = 'X'.
    bapi_marax-matl_group     = 'X'.
    bapi_marax-base_uom       = 'X'.
* Plant - Purchasing
    bapi_marc1-plant      = is_data-plant.
    bapi_marc1-mrp_type   = 'ND'.
    bapi_marc1-mrp_ctrler = is_data-plant.
    bapi_marc1-sm_key     = '000'.
    bapi_marc1-proc_type  = 'F'.
    bapi_marc1-issue_unit = is_data-issue_unit.
    bapi_marc1-cc_ph_inv  = is_data-cc_ph_inv.
    bapi_marc1-profit_ctr = is_data-profit_ctr.
    IF is_data-mat_type = 'ROH'.
      bapi_marc1-availcheck = 'KP'.
      bapi_marcx-availcheck = 'X'.
    ENDIF.


    bapi_marcx-plant      = is_data-plant.
    bapi_marcx-mrp_type   = 'X'.
    bapi_marcx-mrp_ctrler = 'X'.
    bapi_marcx-sm_key     = 'X'.
    bapi_marcx-proc_type  = 'X'.
    bapi_marcx-issue_unit = 'X'.
    bapi_marcx-cc_ph_inv  = 'X'.
    bapi_marcx-profit_ctr = 'X'.

* Storage View
    bapi_mard1-plant        = is_data-plant.
    bapi_mard1-stge_loc     = is_data-stge_loc.
    bapi_mard1-stge_bin     = is_data-stge_bin.

    bapi_mardx-plant        = is_data-plant.
    bapi_mardx-stge_loc     = is_data-stge_loc.
    bapi_mardx-stge_bin     = 'X'.



* Accounting
    bapi_mbew1-val_area   = is_data-plant.
    IF is_data-mat_type = 'ROH'.
      bapi_mbew1-val_class  = '1000'.
    ELSEIF is_data-mat_type = 'ERSA'.
      bapi_mbew1-val_class  = '1001'.
    ENDIF.
    bapi_mbew1-price_ctrl = 'V'.
    bapi_mbew1-moving_pr  = is_data-moving_pr.
    bapi_mbew1-price_unit = '1'.

    bapi_mbewx-val_area   = is_data-plant.
    bapi_mbewx-val_class  = 'X'.
    bapi_mbewx-moving_pr  = 'X'.
    bapi_mbewx-price_ctrl = 'X'.
    bapi_mbewx-price_unit = 'X'.

*    WRITE:/ bapi_head, bapi_marc1.

    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        headdata                   = bapi_head
        clientdata                 = bapi_mara1
        clientdatax                = bapi_marax
        plantdata                  = bapi_marc1
        plantdatax                 = bapi_marcx
*       FORECASTPARAMETERS         =
*       FORECASTPARAMETERSX        =
*       PLANNINGDATA               =
*       PLANNINGDATAX              =
        storagelocationdata        = bapi_mard1
        storagelocationdatax       = bapi_mardx
        valuationdata              = bapi_mbew1
        valuationdatax             = bapi_mbewx
*       WAREHOUSENUMBERDATA        =
*       WAREHOUSENUMBERDATAX       =
*       SALESDATA                  = BAPI_MVKE1
*       SALESDATAX                 = BAPI_MVKEX
*       STORAGETYPEDATA            =
*       STORAGETYPEDATAX           =
      IMPORTING
        return                     = bapi_return
      TABLES
        materialdescription        = int_makt
*       UNITSOFMEASURE             =
*       UNITSOFMEASUREX            =
*       INTERNATIONALARTNOS        =
*       MATERIALLONGTEXT           =
*       TAXCLASSIFICATIONS         =
*       RETURNMESSAGES             =
*       PRTDATA                    =
*       PRTDATAX                   =
*       EXTENSIONIN                =
*       EXTENSIONINX               =
          .
*    IF sy-subrc EQ 0.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
*    ENDIF.
*    IF bapi_return-type = 'E'.
*      gv_count = gv_count + 1.
*      is_error-old_matno = is_data-old_matno.
*      is_error-plant = is_data-plant.
*      is_error-stge_loc = is_data-stge_loc.
*      APPEND is_error TO it_error.
*      CLEAR is_error.
*     WRITE:/'For Old Material Number',is_data-old_matno,bapi_return-message.
*    ENDIF.

  ENDLOOP.
*  WRITE: 'Total Records in Error', gv_count.
  PERFORM concatenate_into_string.
  PERFORM download_data.


ENDFORM.                    "conversion_extendedview
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_local_file
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_P_DOWNLOAD  text
*----------------------------------------------------------------------*
FORM get_local_file  USING    p_p_download.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      mask             = ',*.*,*.*.'
      mode             = 'S'
      title            = 'Lookup for Upload file'(013)
    IMPORTING
      filename         = p_p_download
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.

  IF sy-subrc &amp;lt;&amp;gt; 0.
  ENDIF.
ENDFORM.                    " get_local_file
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  concatenate_into_string
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM concatenate_into_string .
  DATA: lw_error LIKE LINE OF it_error.
  DATA: lw_tab_string LIKE LINE OF i_string_tab,
        lw_matnr(10),
        lw_plant(3),
        lw_stloc(4).
  LOOP AT it_error INTO is_error.
    MOVE is_error-old_matno TO lw_matnr.
    MOVE is_error-plant TO lw_plant.
    MOVE is_error-stge_loc TO lw_stloc.
    CONCATENATE lw_matnr lw_plant lw_stloc INTO lv_string SEPARATED BY '~'.
    MOVE lv_string TO lw_tab_string.
    APPEND  lw_tab_string TO i_string_tab.

    CLEAR: lv_string, lw_tab_string.

  ENDLOOP.


ENDFORM.                    " concatenate_into_string
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  download_data
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM download_data .
  DATA: lv_file TYPE string.

* Move file name to filename of type string acceptable by GUI_DOWNLOAD
  lv_file = p_downld.

  CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
*   BIN_FILESIZE                  =
    filename                      = lv_file
    filetype                      = 'ASC'
*   APPEND                        = ' '
*   WRITE_FIELD_SEPARATOR         = ' '
*   HEADER                        = '00'
*   TRUNC_TRAILING_BLANKS         = ' '
*   WRITE_LF                      = 'X'
*   COL_SELECT                    = ' '
*   COL_SELECT_MASK               = ' '
*   DAT_MODE                      = ' '
* IMPORTING
*   FILELENGTH                    =
  TABLES
*    data_tab                      = i_empdata
    data_tab                      = i_string_tab
EXCEPTIONS
 file_write_error              = 1
 no_batch                      = 2
 gui_refuse_filetransfer       = 3
 invalid_type                  = 4
 no_authority                  = 5
 unknown_error                 = 6
 header_not_allowed            = 7
 separator_not_allowed         = 8
 filesize_not_allowed          = 9
 header_too_long               = 10
 dp_error_create               = 11
 dp_error_send                 = 12
 dp_error_write                = 13
 unknown_dp_error              = 14
 access_denied                 = 15
 dp_out_of_memory              = 16
 disk_full                     = 17
 dp_timeout                    = 18
 file_not_found                = 19
 dataprovider_exception        = 20
 control_flush_error           = 21
 OTHERS                        = 22.
  IF sy-subrc EQ 0.
    MESSAGE s999 WITH 'File saved successfully'(001) 'to' p_file.
  ELSE.
    MESSAGE s999 WITH 'Error in creating File'(002).
  ENDIF.



ENDFORM.                    " download_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  download_errors
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM download_errors .
  DATA: gv_file TYPE string.
  gv_file = p_downld.
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
*   BIN_FILESIZE                    =
      filename                        = gv_file
      filetype                        = 'ASC'
*   APPEND                          = ' '
      write_field_separator           = '~'
*   HEADER                          = '00'
*   TRUNC_TRAILING_BLANKS           = ' '
*   WRITE_LF                        = 'X'
*   COL_SELECT                      = ' '
*   COL_SELECT_MASK                 = ' '
*   DAT_MODE                        = ' '
*   CONFIRM_OVERWRITE               = ' '
*   NO_AUTH_CHECK                   = ' '
*   CODEPAGE                        = ' '
*   IGNORE_CERR                     = ABAP_TRUE
*   REPLACEMENT                     = '#'
*   WRITE_BOM                       = ' '
*   TRUNC_TRAILING_BLANKS_EOL       = 'X'
*   WK1_N_FORMAT                    = ' '
*   WK1_N_SIZE                      = ' '
*   WK1_T_FORMAT                    = ' '
*   WK1_T_SIZE                      = ' '
*   WRITE_EOL                       = ABAP_TRUE
* IMPORTING
*   FILELENGTH                      =
    TABLES
      data_tab                        = it_error
*   FIELDNAMES                      =
* EXCEPTIONS
*   FILE_WRITE_ERROR                = 1
*   NO_BATCH                        = 2
*   GUI_REFUSE_FILETRANSFER         = 3
*   INVALID_TYPE                    = 4
*   NO_AUTHORITY                    = 5
*   UNKNOWN_ERROR                   = 6
*   HEADER_NOT_ALLOWED              = 7
*   SEPARATOR_NOT_ALLOWED           = 8
*   FILESIZE_NOT_ALLOWED            = 9
*   HEADER_TOO_LONG                 = 10
*   DP_ERROR_CREATE                 = 11
*   DP_ERROR_SEND                   = 12
*   DP_ERROR_WRITE                  = 13
*   UNKNOWN_DP_ERROR                = 14
*   ACCESS_DENIED                   = 15
*   DP_OUT_OF_MEMORY                = 16
*   DISK_FULL                       = 17
*   DP_TIMEOUT                      = 18
*   FILE_NOT_FOUND                  = 19
*   DATAPROVIDER_EXCEPTION          = 20
*   CONTROL_FLUSH_ERROR             = 21
*   OTHERS                          = 22
            .
  IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " download_errors&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Aneesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jul 2007 06:28:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518765#M569973</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-07T06:28:38Z</dc:date>
    </item>
    <item>
      <title>Re: ques. on bapi</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518766#M569974</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;1)&lt;/P&gt;&lt;P&gt;APPEND [&amp;lt;wa&amp;gt; TO / INITIAL LINE TO] &amp;lt;itab&amp;gt;.&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;Data: Begin of itab occurs 10,&lt;/P&gt;&lt;P&gt;col1 type C,&lt;/P&gt;&lt;P&gt;col2 type I,&lt;/P&gt;&lt;P&gt;end of itab.&lt;/P&gt;&lt;P&gt;Do 3 times.&lt;/P&gt;&lt;P&gt;Append initial line to itab.&lt;/P&gt;&lt;P&gt;itab-col1 = sy-index.&lt;/P&gt;&lt;P&gt;itab-col2 = sy-index ** 2.&lt;/P&gt;&lt;P&gt;Append itab.&lt;/P&gt;&lt;P&gt;Enddo.&lt;/P&gt;&lt;P&gt;Loop at itab.&lt;/P&gt;&lt;P&gt;write :/itab-col1, itab-col2.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)&lt;/P&gt;&lt;P&gt;Using COLLECT statement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax&lt;/P&gt;&lt;P&gt;COLLECT [&amp;lt;wa&amp;gt; INTO] &amp;lt;itab&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;Data: Begin of itab occurs 3,&lt;/P&gt;&lt;P&gt;column1(3) type C,&lt;/P&gt;&lt;P&gt;column2(2) type N,&lt;/P&gt;&lt;P&gt;column3 type I,&lt;/P&gt;&lt;P&gt;End of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;itab-column1 = &amp;#145;abc&amp;#146;.&lt;/P&gt;&lt;P&gt;itab-column2 = &amp;#146;12&amp;#146;.&lt;/P&gt;&lt;P&gt;itab-column3 = 3.&lt;/P&gt;&lt;P&gt;collect itab. &lt;/P&gt;&lt;P&gt;write /sy-tabix. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;itab-column1 = &amp;#145;def&amp;#146;.&lt;/P&gt;&lt;P&gt;itab-column2 = &amp;#146;34&amp;#146;.&lt;/P&gt;&lt;P&gt;itab-column3 = 5.&lt;/P&gt;&lt;P&gt;collect itab. &lt;/P&gt;&lt;P&gt;write/sy-tabix.&lt;/P&gt;&lt;P&gt;itab-column1 = &amp;#145;abc&amp;#146;.&lt;/P&gt;&lt;P&gt;itab-column2 = &amp;#146;12&amp;#146;.&lt;/P&gt;&lt;P&gt;itab-column3 = 7.&lt;/P&gt;&lt;P&gt;collect itab.&lt;/P&gt;&lt;P&gt;write /sy-tabix. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Loop at itab.&lt;/P&gt;&lt;P&gt;write :/itab-column1,&lt;/P&gt;&lt;P&gt;itab-column2,&lt;/P&gt;&lt;P&gt;itab-column3.&lt;/P&gt;&lt;P&gt;Endloop.&lt;/P&gt;&lt;P&gt;3)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using INSERT statement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax&lt;/P&gt;&lt;P&gt;INSERT [&amp;lt;wa&amp;gt; INTO / INITIAL LINE INTO] &amp;lt;itab&amp;gt; [index &amp;lt;idx&amp;gt;].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;New entry has index &amp;lt;idx&amp;gt; and following line has index &amp;lt;idx&amp;gt;+1.&lt;/P&gt;&lt;P&gt;If less than &amp;lt;idx&amp;gt;-1 entries then cannot insert line and sy-subrc = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;Data: Begin of line,&lt;/P&gt;&lt;P&gt;col1 type I,&lt;/P&gt;&lt;P&gt;col2 type I,&lt;/P&gt;&lt;P&gt;End of line.&lt;/P&gt;&lt;P&gt;Data itab like line occurs 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do 2 times.&lt;/P&gt;&lt;P&gt;Line-col1 = sy-index.&lt;/P&gt;&lt;P&gt;Line-col2 = sy-index ** 2.&lt;/P&gt;&lt;P&gt;Append line to itab.&lt;/P&gt;&lt;P&gt;Enddo&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;Line-col1 = 11.&lt;/P&gt;&lt;P&gt;Line-col2 = 22.&lt;/P&gt;&lt;P&gt;Insert line into itab index 2.&lt;/P&gt;&lt;P&gt;Insert initial line into itab index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Loop at itab into line.&lt;/P&gt;&lt;P&gt;Write: / sy-tabix, Line-col1, Line-col2.&lt;/P&gt;&lt;P&gt;Endloop.&lt;/P&gt;&lt;P&gt;4)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To append part or all of an internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax&lt;/P&gt;&lt;P&gt;APPEND LINES OF &amp;lt;itab1&amp;gt; [FROM &amp;lt;n1&amp;gt;] [TO &amp;lt;n2&amp;gt;] TO &amp;lt;itab2&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;Without the FROM and TO options, this statement appends the entire table &amp;lt;itab1&amp;gt; to &amp;lt;itab2&amp;gt;.&lt;/P&gt;&lt;P&gt;5)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To copy entire contents of one table into another in one execution&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax&lt;/P&gt;&lt;P&gt;MOVE &amp;lt;itab1&amp;gt; To &amp;lt;itab2&amp;gt;.&lt;/P&gt;&lt;P&gt;OR&lt;/P&gt;&lt;P&gt;&amp;lt;itab1&amp;gt; = &amp;lt;itab2&amp;gt;.&lt;/P&gt;&lt;P&gt;6)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING &amp;lt;itab1&amp;gt; TO &amp;lt;itab2&amp;gt;.. - Executes the statement for their header lines. Searches for the sub-fields which occur both in itab1 and itab2 and&lt;/P&gt;&lt;P&gt;then generates, for all relevant field pairs which correspond to the&lt;/P&gt;&lt;P&gt;sub-fields ni , statements of the form MOVE itab1-ni TO itab2-ni. The other fields remain unchanged. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this link&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapbapi.com/bapi-list/" target="test_blank"&gt;http://www.sapbapi.com/bapi-list/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfull answers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jul 2007 06:34:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ques-on-bapi/m-p/2518766#M569974</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-07T06:34:16Z</dc:date>
    </item>
  </channel>
</rss>

