How to capture errors records in flat file in BDC

hi ,
    i would like to know how to capture error records while  uploading a flat file to screen through BDC .
appreciatable solutions are rewarded.
thanks,
shan

Hi shan,
write this code, it will solve your problem.
DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA : I_MSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF I_ERR OCCURS 0,
          MATNR(18),
          FLAG(1),
          MSG(100),
       END OF I_ERR.
DATA :V_LINES TYPE I.
LOOP AT ITAB.
REFRESH BDCTAB.
PERFORM SCREEN USING: 'SAPLMGMM' '0060'.
PERFORM FIELD USING: 'RMMG1-MATNR'  ITAB-MATNR,
                      'RMMG1-MBRSH' ITAB-MBRSH ,
                      'RMMG1-MTART' ITAB-MTART,
                      'BDC_OKCODE' '/00'.
PERFORM SCREEN USING: 'SAPLMGMM' '0070'.
PERFORM FIELD USING: 'MSICHTAUSW-KZSEL(01)' 'X' ,
                     'MSICHTAUSW-KZSEL(02)' 'X' ,
                     'MSICHTAUSW-KZSEL(09)' 'X' ,
                     'BDC_OKCODE' '=ENTR'.
PERFORM SCREEN USING: 'SAPLMGMM' '0080'.
PERFORM FIELD USING: 'RMMG1-WERKS' ITAB-WERKS,
                     'BDC_OKCODE' '=ENTR'.
PERFORM SCREEN USING: 'SAPLMGMM' '4004'.
PERFORM FIELD USING:  'MAKT-MAKTX' ITAB-MAKTX,
                      'MARA-MEINS' 'EA' ,
                      'MARA-MATKL' '001',
                      'BDC_OKCODE' '/00'.
PERFORM SCREEN USING: 'SAPLMGMM' '4004'.
PERFORM FIELD USING:  'BDC_OKCODE' '/00'.
PERFORM SCREEN USING: 'SAPLMGMM' '4000'.
PERFORM FIELD USING:  'MAKT-MAKTX' ITAB-MAKTX,
                      'MARA-MEINS' 'EA',
                      'MARC-EKGRP' '001',
                      'MARA-MATKL' '001',
                      'BDC_OKCODE' '=BU'.
CALL TRANSACTION 'MM01' USING BDCTAB
                        MODE 'A'
                        MESSAGES INTO I_MSG.
FINDING LAST MESSAGE IN THE I_MSG TABLE*****
DESCRIBE TABLE I_MSG LINES V_LINES.
ACCORDING TO THE V_LINES NUMBER TABLE WILL BE READ****
READ TABLE I_MSG INDEX V_LINES.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
   ID              = I_MSG-MSGID
   LANG            = '-D'
   NO              = I_MSG-MSGNR
   V1              = I_MSG-MSGV1
   V2              = I_MSG-MSGV2
   V3              = I_MSG-MSGV3
   V4              = I_MSG-MSGV4
IMPORTING
   MSG             = I_ERR-MSG
EXCEPTIONS
   NOT_FOUND       = 1
   OTHERS          = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF I_MSG-MSGID EQ 'M3' AND I_MSG-MSGNR EQ '800'.
I_ERR-FLAG = 'S'.
ELSE.
I_ERR-FLAG = 'E'.
ENDIF.
I_ERR-MATNR = ITAB-MATNR.
APPEND I_ERR.
CLEAR I_ERR.
ENDLOOP.
WRITE:/ 'SUCCESS RECORDS' COLOR COL_POSITIVE.
SKIP.
WRITE:/ 'MATERIAL' COLOR COL_HEADING, 20 'MESSAGE' COLOR COL_HEADING.
LOOP AT I_ERR WHERE FLAG EQ 'S'.
WRITE:/ I_ERR-MATNR, 20 I_ERR-MSG.
ENDLOOP.
SKIP 2.
WRITE:/ 'ERROR RECORDS' COLOR COL_NEGATIVE.
SKIP.
WRITE:/ 'MATERIAL' COLOR COL_HEADING, 20 'MESSAGE' COLOR COL_HEADING.
LOOP AT I_ERR WHERE FLAG EQ 'E'.
WRITE:/ I_ERR-MATNR, 20 I_ERR-MSG.
ENDLOOP.
*&      Form  SCREEN
     SCREEN
form SCREEN  using P_PROG P_SCREEN.
BDCTAB-PROGRAM = P_PROG.
BDCTAB-DYNPRO = P_SCREEN.
BDCTAB-DYNBEGIN = 'X'.
APPEND BDCTAB.
CLEAR  BDCTAB.
endform.                    " SCREEN
*&      Form  FIELD
   FIELD
form FIELD  using  FNAME FVAL .
BDCTAB-FNAM = FNAME.
BDCTAB-FVAL = FVAL.
APPEND BDCTAB.
CLEAR BDCTAB.
endform.                    " FIELD
Thanks,
Murali

Similar Messages

  • How to skip a record in flat file to idoc scenario?

    Hi,
    Anybody have good suggestions on how to skip a record(xi not process the record) based on certain conditions?  I don't want to use bpm, anybody has experience with file to idoc can advise how to deal with this situation?
    Thanks,
    Meg

    Meg,
    Its very clear. It can be easily done. I hope u might be knowing about Michal's changing the IDOC occurence blog. Based on that blog change the IDOC occurence to 0...Unbounded.
    Now map all the necessary fields to the target IDOC. On the IDOC root node set condition from source if the source field is not Delete then create IDOC else don't create.
    Source --- If without else[Check condition if  the source is delete] -
    IDOC(root node).
    /people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
    Hope its clear, if not kindly revert back.
    Best regards,
    raj.

  • Creating BOM using BDC :How to display no of records from flat file under

    Hi,
          How to display no of records from flat file under one (Alternative BOM) vertically.
        When i execute, the records are replacing one by one.
    Here my coding:
    report ZBOM1
           no standard page heading line-size 255.
    *include bdcrecx1.
    DATA: BEGIN OF bdc OCCURS 0,
           matnr(18),
           werks(4),
           stlan(1),
          END OF BDC.
    DATA: BEGIN OF BDC1 OCCURS 0,
           idnrk(18),
           MENGE(18),
           MEINS(3),
           postp(1),
          END OF bdc1.
    DATA: BEGIN OF BDCDATA OCCURS 0,
             matnr(18),
             werks(4),
             stlan(1),
             idnrk(18),
             MENGE(18),
             MEINS(3),
             postp(1),
             posnr(4),
          END OF BDCDATA.
    data: ibdcdata type  standard table of bdcdata WITH HEADER LINE.
    *start-of-selection.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'C:\Documents and Settings\dilipkumar.b\Desktop\soft.txt'
       FILETYPE                       = 'ASC'
       HAS_FIELD_SEPARATOR            = ','
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
      VIRUS_SCAN_PROFILE            =
      NO_AUTH_CHECK                 = ' '
    IMPORTING
      FILELENGTH                     =
      HEADER                         =
      TABLES
        DATA_TAB                      = BDCDATA
    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.
    ENDIF.
    *perform open_group.
    loop at bdcdata.
    perform bdc_dynpro      using 'SAPLCSDI' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29N-STLAN'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RC29N-MATNR'
                                  'SOFTDRINKS'.
    perform bdc_field       using 'RC29N-WERKS'
                                  'WIND'.
    perform bdc_field       using 'RC29N-STLAN'
                                  '1'.
    perform bdc_field       using 'RC29N-DATUV'
                                  '16.09.2008'.
    perform bdc_dynpro      using 'SAPLCSDI' '0110'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RC29K-BMENG'
                                  '1'.
    perform bdc_field       using 'RC29K-STLST'
                                  '1'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29K-EXSTL'.
    perform bdc_dynpro      using 'SAPLCSDI' '0111'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29K-LABOR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLCSDI' '0140'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POSTP(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=FCBU'.
    perform bdc_field       using 'RC29P-IDNRK(01)'
                                  BDCDATA-IDNRK.
    perform bdc_field       using 'RC29P-MENGE(01)'
                                  BDCDATA-MENGE.
    perform bdc_field       using 'RC29P-MEINS(01)'
                                  BDCDATA-MEINS.
    perform bdc_field       using 'RC29P-POSTP(01)'
                                  BDCDATA-POSTP.
    perform bdc_dynpro      using 'SAPLCSDI' '0130'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POSNR'.
    perform bdc_field       using 'RC29P-POSNR'
                                   BDCDATA-POSNR.            "'0010'.
    perform bdc_field       using 'RC29P-IDNRK'
                                  BDCDATA-IDNRK.             "'15'.
    perform bdc_field       using 'RC29P-MENGE'
                                  BDCDATA-MENGE.             "'1'.
    perform bdc_field       using 'RC29P-MEINS'
                                  BDCDATA-MEINS.             "'ml'.
    perform bdc_dynpro      using 'SAPLCSDI' '0131'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POTX1'.
    perform bdc_field       using 'RC29P-SANKA'
                                  'X'.
    *perform bdc_transaction using 'CS01'.
    *perform close_group.
    CALL TRANSACTION 'CS01' USING IBDCDATA MODE 'A' UPDATE 'S'.
    REFRESH IBDCDATA.
    endloop.
           Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR iBDCDATA.
      iBDCDATA-PROGRAM  = PROGRAM.
      iBDCDATA-DYNPRO   = DYNPRO.
      iBDCDATA-DYNBEGIN = 'X'.
      APPEND ibDCDATA .
    ENDFORM.
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
    IF FVAL <> NODATA.
        CLEAR iBDCDATA.
        iBDCDATA-FNAM = FNAM.
        iBDCDATA-FVAL = FVAL.
        APPEND iBDCDATA .
    ENDIF.
    ENDFORM.

    Hi,
    the BDCDATA structure must be fnam, fval,dynbegin,dynpro,program.
    You have to declare like this and pass this in your CALL TRANSACTION statement.
    Please give some other table name for BDCDATA you declared for and also for IBDCDATA.

  • Getting error while loading Flat File

    Hello All,
    I am getting error while loading flat file. Flat file is a CSV file.
    Value ',,,,,,,,' of characteristic 0DATE is not a number with 000008 spaces
    Data seprator  |
    Escape sign    ;
    It has 23708 entries , it s loading successfully till 23 665 entries
    Besides when checked in PSA
    for record having entries >23667 has calender day as ,,,,,, where as rest entries are  having date
    Besides when i checked in Flat file ,the total number of rows is 23,667 is there but i wonder why it has got 23,708 in
    RSMO
    Could you please let me know how to correct.
    regards
    path

    Hi,
    For date column you should maintain YYYYMMDD formate Eg: 20090601, kepp cursor on date column and right click and Formate >Custome>make it 00000000 then save teh file as .CSV . First type values on column and do like this formate and save it and without opening it load it. Once you open it you losw 00000000 formate you need to give again the same formate.
    Settings in Infopackage:
    Data Format  = CSV
    Data Separator = ,
    Escape Sign = ;
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/01ed2fe3811a77e10000000a422035/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/80/1a6567e07211d2acb80000e829fbfe/content.htm
    Thanks
    Reddy

  • How to test the RFC to Flat File scenario

    Hi,
    How to test the RFC to Flat File scenario
    regards,
    kiran

    Hi,
    After running the RFC it's going Dump.
    this is the error message i got.
    "Error analysis                                                                     
    An error occurred when executing a Remote Function Call.                     
    "CPI-C error CM_RESOURCE_FAILURE_NO_RETRY"                                                
    Status of connection.... "CODE=CM_RESOURCE_FAILURE_NO_RETRY -1 -1 SAPCODE=666
    CONV="                                                                      
    Internal error code.... "RFC_IO5"                                                           
    There is an error in the communication system. To clarify                    
    and resolve the error, contact your system administrator.                     "

  • Error in InfoPackage: Error when uploading Flat Files

    Hello Experts,
    I encoutered this error in Info Package when uploading a flat file.
    When i try to click on the "Preview" button, this errors appear:
    "Error 8 when compiling the upload program: Row
      237, message: Data Type / BIC/ CCCBMA1_COCTR2 was found in a newer"
    Please help to advise what is this error about and how to resolve this?

    hi Annie,
    run RSA1 and try again
    Error when compiling the upload program (Message no. RSAR233)
    other similar problem solved by run program(SE38)RS_TRANSTRU_ACTIVATE_ALL and relogon
    A newer version of the data type error when loading
    Flat File Preview error message
    Error when loading from Flat File
    Error message when previewing data in InfoPackage
    hope this helps.

  • How to handle Error Records in BDC

    Dear All,
         I have 100 records in flat file but 10 records have error record.
         Use on the BDC method, error records should be move to session  and remaining process through  call Transaction .
         Any one help to me.
    With Regards,
    Baskaran

    Hi,
    Do it like this:
    Loop at itab into wa.
    gv_flag = 'N'.
    If gv_flag = 'N'.
    Perform...
    wa_opts-dismode = 'N'. "for background
          wa_opts-updmode ='S'.
          wa_opts-defsize = 'X'.
          wa_opts-nobinpt = 'X'.
    Where  wa_opts  TYPE ctu_params.
    *Call transaction
          CALL TRANSACTION 'PA30' USING gi_bdcdata
                             OPTIONS FROM wa_opts
                             MESSAGES INTO gi_messtab.
    IF sy-subrc EQ 0.
            COMMIT WORK.
          ELSE.
            IF NOT gi_messtab[] IS INITIAL.
              LOOP AT gi_messtab INTO wa_messtab.
                IF wa_messtab-msgtyp EQ 'E' OR
                   wa_messtab-msgtyp EQ 'A' OR
                   wa_messtab-msgtyp EQ 'X' OR
                   wa_messtab-msgid  EQ 'PBAS_SERVICE'.
                  CLEAR gv_msg.
                  CALL FUNCTION 'FORMAT_MESSAGE'
                    EXPORTING
                      id        = wa_messtab-msgid
                      lang      = sy-langu
                      no        = wa_messtab-msgnr
                      v1        = wa_messtab-msgv1
                      v2        = wa_messtab-msgv2
                      v3        = wa_messtab-msgv3
                      v4        = wa_messtab-msgv4
                    IMPORTING
                      msg       = gv_msg
                    EXCEPTIONS
                      not_found = 1
                      OTHERS    = 2.
    *In case of no error message returned by BDC
                  IF sy-subrc = 0.
    Sending errors stating which infotypes are not updated.
                    gv_error_flag = 'Y'.
                   do th required proccesing here.
                  ELSE.
                    gv_error_flag = 'Y'.
                   statements.
                  ENDIF.
                ENDIF.
                CLEAR wa_messtab.
              ENDLOOP.
    endloop.
    Regards,
    Rajesh Kumar
    Edited by: Rajesh Kumar on Sep 17, 2009 7:58 AM

  • How to load data from a  flat file which is there in the application server

    HI All,
              how to load data from a  flat file which is there in the application server..

    Hi,
    Firstly you will need to place the file(s) in the AL11 path. Then in your infopackage in "Extraction" tab you need to select "Application Server" option. Then you need to specify the path as well as the exact file you want to load by using the browsing button.
    If your file name keeps changing on a daily basis i.e. name_ddmmyyyy.csv, then in the Extraction tab you have the option to write an ABAP routine that generates the file name. Here you will need to append sy-datum to "name" and then append ".csv" to generate complete filename.
    Please let me know if this is helpful or if you need any more inputs.
    Thanks & Regards,
    Nishant Tatkar.

  • How to get field separator in flat file using GUI_DOWNLOAD function

    hi,
    how to get field separator in flat file using GUI_DOWNLOAD function.
                                    thanking you.

    Hi,
      Use WRITE_FIELD_SEPARATOR = 'X'.
      Check this sample code
    REPORT  z_file_download.
    DATA: w_name(90) TYPE c.
    DATA:
      BEGIN OF fs_flight,
        carrid   LIKE sflight-carrid,
        connid   LIKE sflight-connid,
        fldate   LIKE sflight-fldate,
        price    LIKE sflight-price,
        currency LIKE sflight-currency,
      END OF fs_flight.
    DATA:
      BEGIN OF fs_head,
        carrid(10) TYPE c,
        connid(10) TYPE c,
        fldate(10) TYPE c,
        price(10) TYPE c,
        curr(10) TYPE c,
      END OF fs_head.
    DATA:
      t_head LIKE
       TABLE OF
             fs_head.
    DATA:
      t_flight LIKE
         TABLE OF
               fs_flight.
    fs_head-carrid = 'CARRID'.
    fs_head-connid = 'CONNID'.
    fs_head-fldate = 'FLDATE'.
    fs_head-price  = 'PRICE'.
    fs_head-curr   = 'CURRENCY'.
    APPEND fs_head TO t_head.
    SELECT-OPTIONS:
      s_carrid FOR fs_flight-carrid.
    START-OF-SELECTION.
      SELECT carrid
             connid
             fldate
             price
             currency
        FROM sflight
        INTO TABLE t_flight
       WHERE carrid IN s_carrid.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
    *   BIN_FILESIZE                  =
        filename                      = 'D:\flight.xls'
       FILETYPE                      = 'ASC'
    *   APPEND                        = ' '
        WRITE_FIELD_SEPARATOR         = 'X'
    *   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                     = ' '
    * IMPORTING
    *   FILELENGTH                    =
      tables
        data_tab                      = t_head
    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 <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = 'D:\flight.xls'
          filetype                = 'ASC'
          append                  = 'X'
          write_field_separator   = 'X'
        TABLES
          data_tab                = t_flight
        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 'Download successful' TYPE 'I'.
      ENDIF.
      IF sy-subrc <> 0.
    *  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

  • How to insert sysdate in a flat file

    Hi All,
    i have a interafce i extract data from oracle database and generate a flat file.
    In one of the columns i have to insert sysdate in the file.
    could someone help me how to add the sysdate in flat file.
    Thanks in advance
    Naveen

    Hi Naveen,
    Trying to contribute a little,
    Yes you can use sunopsis CURRENT_DATE function to get the sysdate.
    @ your interface
    1. In the definition, make sure your staging area different from target is checked and SUNOPSIS MEMEORY ENGINE is selected.
    2. In the diagram, for the column which you want date to be inserted just say CURRENT_DATE and make it to execute on STAGING.
    3. In the Flow, you have to see 3 boxes, in the first box select LKM SQL to SQL, in the second box make it as UNDEFINED, in the third box select IKM SQL To FIle Append and select the options accordingly.
    Makes sens?
    Thanks,
    G

  • Step by Step details on how to load data from a flat file

    hi can anyone explain how to load data from a flat file. Pls giv me step by step details. thnx

    hi sonam.
    it is very easy to load data from flat file. whn compared with other extrations methods...
    here r the step to load transation data from a flat file.......
    step:1 create a Flat File.
    step:2 log on to sap bw (t.code : rsa1 or rsa13).
    and observe the flat file source system icon. i.e pc icon.
    step:3 create required info objects.
    3.1: create infoarea
         (infoObjects Under Modeling > infoObjects (root node)-> context menu -
    > create infoarea).
    3.2:  create char /keyfig infoObject Catalog.(select infoArea ---.context menu --->create infoObject catalog).
    3.3:   create char.. infoObj and keyFig infoObjects accourding to ur requirement and activate them.
    step:4 create infoSource for transaction data and create transfer structure and maintain communication structure...
        4.1: first create a application component.(select InfoSources Under modeling-->infosources<root node>>context menu-->create  applic...component)
       4.2: create infoSource  for transation data(select appl..comp--.context menu-->create infosource)
    >select O flexible update and give info source name..
    >continue..
    4.4: *IMp* ASSIGN DATASOURCE..
      (EXPAND APPLIC ..COMP..>EXPAND YOUR INFOSOURCE>CONTEXT MENU>ASSIGN DATASOURCE.)
    >* DATASOURCE *
    >O SOURCE SYSTEM: <BROWSE AND CHOOSE YOUR FLAT FILE SOURCE SYSTEM>.(EX:PC ICON).
    >CONTINUE.
    4.5: DEFINE DATASOURCE/TRANSFER STRUCTURE  FOR IN FOSOURCE..
    > SELECT TRANSFER STRUCTURE TAB.
    >FILL THE INFOOBJECT FILLED WITH THE NECESSARY  INFOOBJ IN THE ORDER OR SEQUENCE OF FLAT FILE STRUCTURE.
    4.6: ASSIGN TRANSFER RULES.
    ---> NOW SELECT TRANSFER RULES TAB. AND SELECT PROPOSE TRANSFER RULES SPINDLE LIKE ICON.
    (IF DATA TARGET IS ODS -
    INCLUDE 0RECORDMODE IN COMMUNICATION STRUCTURE.)
    --->ACTIVATE...
    STEP:5  CREATE DATATARGET.(INFOCUBE/ODS OBJECT).
    5.1: CREATE INFO CUBE.
    -->SELECT YOUR INFOAREA>CONTEXT MENU>CREATE INFOCUBE.
    5.2: CREATE INFOCUBE STRUCTURE.
    ---> FILL THE STRUCTURE PANE WILL REQUIRE INFOOBJECTS...(SELECT INFOSOURCE ICON>FIND UR INFOSOURCE >DOUBLE CLICK > SELECT "YES" FOR INFOOBJECT ASSIGNMENT ).
    >MAINTAIN ATLEAST  ON TIME CHAR.......(EX; 0CALDAY).
    5.3:DEFINE AND ASSIGN DIMENSIONS FOR YOUR CHARACTERISTICS..
    >ACTIVATE..
    STEP:6 CREATE UPDATE RULES FOR INFOCUDE USING INFOSOURCE .
    >SELECT UR INFOCUBE >CONTEXT MENU> CREATE UPDATE RULES.
    > DATASOURCE
    > O INFOSOURCE : _________(U R INFOSOURCE). AND PRESS ENTER KEY.......
    >ACTIVATE.....UR UPDATE RULES....
    >>>>SEE THE DATA FLOW <<<<<<<<----
    STEP:7  SCHEDULE / LOAD DATA..
    7.1 CREATE INFOPACKAGE.
    --->SELECT INFOSOURCE UNDER MODELING> EXPAND UR APPLIC.. COMP..> EXPAND UR INFOSOURCE..> SELECT UR DATASOURCE ASSIGN MENT ICON....>CONTEXT MENU> CREAE INFOPACKAGE..
    >GIVE INFOPACKAGE DISCREPTION............_________
    >SELECT YOUR DATA SOURCE.-------> AND PRESS CONTINUE .....
    >SELECT EXTERNAL DATA TAB...
    > SELECT *CLIENT WORKSTATION oR APPLI SERVER  >GIVE FILE NAME > FILE TYPE> DATA SAPARATER>
    >SELECT PROCESSING TAB
    > PSA AND THEN INTO DATATARGETS....
    >DATATARGET TAB.
    >O SELECT DATA TARGETS
    [ ] UPDATE DATATARGET CHECK BOX.....
    --->UPDATE TAB.
    O FULL UPDATE...
    >SCHEDULE TAB..
    >SELECT O START DATA LOAD IMMEDIATELY...
    AND SELECT  "START" BUTTON........
    >>>>>>>>>>
    STEP:8 MONITOR DATA
    > CHECK DATA IN PSA
    CHECK DATA IN DATA TARGETS.....
    >>>>>>>>>>> <<<<<<<<<----
    I HOPE THIS LL HELP YOU.....

  • How we can restrict record in CTL file on the basis of other table ?

    Hello all,
    How we can restrict record in CTL file on the basis of other table ?
    Eg.
    I have following control file to load the records in the table through the sql loader.
    LOAD DATA
    INTO TABLE THIST APPEND
    FIELDS TERMINATED BY "|" TRAILING NULLCOLS
    LNUM POSITION(1) Char "substr(:LOAN_NUM, 4, 13)",
    TSRNUM Char "rtrim:TRAN_SR_NUM)" ,
    TPROCDT Char "to_char(to_date rtrim:TRAN_PROC_DT), 'MMDDYYYY'), 'YYYYMMDD')"      
    I have another table c all TFILE in which I have LNUM. I want to import only those records from input text file using the control file and sql loader in which LNUM is exist in the TFILE.
    So how i can restrict it in the Control File.
    Thanks
    Kamlesh Gujarathi
    [email protected]

    Hello Satyaki De.
    Thank you very much for your suggestion but my Private information is totally apart from this question & I already I have changed each and every information from the question.
    Thanks
    Kamlesh Gujarathi
    [email protected]

  • How to import a logo from flat file to SAP in SMARTFORM.

    how to import a logo from flat file to SAP in SMARTFORM. i need to know whether TIFF format is used and also the full steps.
    Thanks,

    Hi,
    You can not directly use a logo from a file into a Smart form. First you will have to upload it to SAP. This has to be done only once. Once it is imported into SAP then you can use it in smart form. To import a logo to SAP, goto SE78. Open the tree under GRAPHICS. Select the file type and click on the Import (first button on the toolbar, just before delete button). Select the logo file and give it some appropriate name along with description. Select appropriate type of the image and click Continue. Your logo will be uploaded into SAP from a file. Now in your smartform, Create a Graphic Node, give the name of the logo along with other properties. In this way you can import a logo from a flat file into SAP and consequently in a smart form.
    Reward points if the answer is helpful.
    Regards,
    Mukul

  • How to capture errors when a Function module is called as BACKGROUND TASK

    How to capture errors when a Function module is called as BACKGROUND TASK?.Please advise.
    FUNCTION ZRPM_DELETE_PROJECT_DATA_API.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(IV_EXTERNAL_ID) TYPE  RPM_TV_EXTID OPTIONAL
    *"     VALUE(IV_PROJECT_GUID) TYPE  RPM_TV_GUID OPTIONAL
    *"     VALUE(FLAG) TYPE  BOOLEAN OPTIONAL
    *"  EXPORTING
    *"     VALUE(EV_RC) TYPE  I
    *"     VALUE(EV_MSG) TYPE  STRING
    *"     VALUE(ET_MSG) TYPE  RPM_TT_MESSAGES
      IF flag = cl_rpm_co=>sc_true.
        Call function 'RPM_DELETE_PROJECT_DATA' IN BACKGROUND TASK
          EXPORTING
            IV_EXTERNAL_ID  = IV_EXTERNAL_ID
            IV_PROJECT_GUID = IV_PROJECT_GUID
          IMPORTING
            EV_RC           = EV_RC
            EV_MSG          = EV_RC
            ET_MSG          = ET_MSG.
        COMMIT WORK.
      ELSE.
        CALL FUNCTION 'RPM_DELETE_PROJECT_DATA'
          EXPORTING
            IV_EXTERNAL_ID  = IV_EXTERNAL_ID
            IV_PROJECT_GUID = IV_PROJECT_GUID
          IMPORTING
            EV_RC           = EV_RC
            EV_MSG          = EV_MSG
            ET_MSG          = ET_MSG.
      ENDIF.
    ENDFUNCTION.
    In above code how to capture 'EV_RC' when FM is called as background task.

    Prakash,
    CALL FUNCTION IN BACKGROUND TASK allows no IMPORTING parameters, so that your code will produce a syntax error.
    The calling program can only handle errors of remote function calls (RFC) if these are either
    - synchronous RFC  (that is CALL FUNCTION ... DESTINATION ...) or
    - asynchronous RFC (that is CALL FUNCTION STARTING NEW TASK ... DESTINATION ...).
    Both synchronous and asynchronous RFC allow the capturing of errors by means of exceptions. But that is a different topic.

  • HOW TO DOWNLOAD ERROR RECORDS IN LSMW

    hi abap gurus ,
    i have 2 queries .
    1) first of all how  to identify error records while running in background while using predefined progrmmes .
    2) if there are any error records how to download those error records , can any one give the logic to download the error records while handling LSMW with predefined programmes or
    bapis .
    regards ,
    dinesh .

    1) first of all how to identify error records while running in background while using predefined progrmmes .
    If there is a session for that u can moniter the session in SM35 for the error records.....
    2) if there are any error records how to download those error records , can any one give the logic to download the error records while handling LSMW with predefined programmes or
    bapis .
    Hi,
    In the field mappings and conversion rules,
    in the global section,define an internal table.
    data : begin of it_errors occurs 0,
    desc type string,
    end of it_errors.
    and where ever you have wrong or empty values for the fields,populate error there to the internal table.
    for example, if Material no is blank,i have to give err msg
    IF NOT MATMAS_MRPVIEW-MATNR IS INITIAL.
    BMM00-MATNR = MATMAS_MRPVIEW-MATNR.
    else.
    IT_ERROR-DESC = 'Material no is empty'.
    append it_error.
    SKIP_RECORD. "to skip further processing of this error record.
    ENDIF.
    like this you populate all the error records to that IT_ERRORS internal table.
    and finally download it using GUI_DOWNLOAD in the event
    '__END_OF_PROCESSING__'
    there is another way also, you can create a Session in the LSMW, and record the error records in the session then process the error records in the session
    Hope you got it
    ~~Guduri

Maybe you are looking for

  • How to suppress vendor bank account for vendor types

    Hi I'll bet this has been asked a few times before but I'm struggling to find anything relevant in theforums. This really isn't a security issue as there is the option to suppress the bank account field in SPRO but I just wondered if anybody had foun

  • How to restart an entire J2EE Cluster - With multiple hosts and instances

    I am looking for a definitive answer on the right way of Restarting an SAP Enterprise Portal CLUSTER without an ABAP stack. Currently the process is to use ssh into each box and either jcmon pf=<profile> then restart instance, or ssh into each host a

  • Formula if/then/else

    Hello, I am a basic Crystal Report designer and need help with a formula.  I need to check 5 different fields and return a specific test if the field data does not equal zero. So here it goes below. I used "totext" because the value in the fields are

  • OS-X 10.5.8 Shutdown Cause -4?

    My old white MacBook has started to shutdown unexpectedly.  The system log is showing a shutdown cause of -4.  I suspect that it's overheating.  Can anyone confirm that -4 is a thermal panic, and if not, what does it mean?  I've done some digging but

  • Time to pass data to half buffer in a double buffer acquisition

    Hello all: I'm building a DAQ system with CVI 6.0 and an old Lab-pc+. I don't have access to the hardware at the moment and I was thinking how much time it will take to DaqDBTransfer function to pass 75750 points to the halfbuffer. Someone who know t