Skip a record at Infopackage level

Hi all
I need to skip a record at infopackage level due to a problem in processchains and we dont wont this to be repeated again, could someone help me with the code for this
Will  definetely assign points
Chris

Hi,
you can actually select the record that u want to filter in the <u>transfer rules maintainance screen</u>. once u have selected these records , those records will be displayed in infopackage screen.
hope this helps!
Ravi

Similar Messages

  • Change the packet size at infopackage level

    Hi, Experts:
    All loads (full or delta) in the system can split data into small packets expect for one full load, which has almost 2 million records into 1 packet. It overflows the memory and fails.
    I found the following settings for this datasource when click from menu "Scheduler"->"DataS. Default Data Target":
    "Maximum size of a data packet in kByte" = 20000
    "Number of Data Packets per info-IDoc" = 10
    "Number of Data Packages per Delta Request" = 0
    "Update Method" - full Upload
    It seems to me that the load should split data into small packets.
    Can someone please tell me why only this load still puts all 2 million records in one big packet?
    Thanks,
    Jenny

    Some update on more information:
    The datasource is 0FI_GL_8, a standard SAP datasource for transaction data. I think it is an old datasource because I can not find any on-line document for its details from SAP help website. I was told that this datasource is not Delta capable. That is why full load is used.
    I also tried to reduce the package size settings for this datasource from "Scheduler"->"DataS. Default Data Target". But whatever I changed did not affect the way that this load is putting all records in one big data package.
    I assume the set up in Transaction RSCUSTV6 is for every infopackage across the whole system unless setup differently at infopackage level? I checked in RSCUSTV6, it is set up as the following:
    FrequencyStatus-IDOC = 10
    Package size = 30000
    Partition size = 1.000.000
    I also checked in ECC system with transaction SBIW for the control parameters for data transfer from the source system. It has the following set up for the source system:
    Max. (kB) = 20000
    Max. lines = 0
    Frequency = 10
    Max. Proc. = 3
    Max. DPs = 0
    From all the checked results, I still don't get why every other datasource loading can split data into small data packages, but only this one datasource can not. And why whatever I changed from the infopackage to reduce the size did not affect how it is splitting the data package.
    Any more inputs?
    Thanks,
    Jenny

  • How to skip first record while inserting data from a flat file to BW system

    Hi Experts,
    In my project we have to upload flat file into a BW system. I have written a program and it is working fine.
    Now we have got another requirement. The flat file will have a header record (first row). While uploading the flat file we have to skip this record. How I can do so?
    The code is as below:
    FORM upload1.
      DATA : wf_title    TYPE string,
              lt_filetab  TYPE filetable,
              l_separator TYPE char01,
              l_action    TYPE i,
              l_count     TYPE i,
              ls_filetab  TYPE file_table,
              wf_delemt TYPE rollname,
              wa_fieldcat TYPE lvc_s_fcat,
              tb_fieldcat TYPE lvc_t_fcat,
              rows_read TYPE i,
              p_error   TYPE char01,
              l_file      TYPE string.
      DATA: wf_object(30)  TYPE c,
              wf_tablnm TYPE rsdchkview.
      wf_object = 'myprogram'.
      DATA i TYPE i.
      DATA:
           lr_mdmt                TYPE REF TO cl_rsdmd_mdmt,
           lr_mdmtr               TYPE REF TO cl_rsdmd_mdmtr,
           lt_idocstate           TYPE rsarr_t_idocstate,
           lv_subrc               TYPE sysubrc.
      TYPES : BEGIN OF test_struc,
               /bic/myprogram TYPE  /bic/oimyprogram,
               txtmd   TYPE rstxtmd,
               END OF test_struc.
      DATA :    tb_assum TYPE TABLE OF /bic/pmyprogram.
      DATA: wa_ztext TYPE  /bic/tmyprogram,
            myprogram_temp TYPE ziott_assum,
            wa_myprogram TYPE /bic/pmyprogram.
      DATA : test_upload TYPE STANDARD TABLE OF test_struc,
             wa2 TYPE  test_struc.
      DATA : wa_test_upload TYPE test_struc,
             ztable_data TYPE TABLE OF /bic/pmyprogram,
             ztable_text TYPE TABLE OF /bic/tmyprogram,
             wa_upld_text TYPE /bic/tmyprogram,
             wa_upld_data TYPE /bic/pmyprogram,
              t_assum TYPE ziott_assum.
      DATA : wa1 LIKE  test_upload.
      wf_title = text-026.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          window_title            = wf_title
          default_extension       = 'txt'
          file_filter             = 'Tab delimited Text Files (*.txt)'
        CHANGING
          file_table              = lt_filetab
          rc                      = l_count
          user_action             = l_action
        EXCEPTIONS
          file_open_dialog_failed = 1
          cntl_error              = 2
          OTHERS                  = 3.                          "#EC NOTEXT
      IF sy-subrc <> 0.
        EXIT.
      ENDIF.
      LOOP AT lt_filetab INTO ls_filetab.
        l_file = ls_filetab.
      ENDLOOP.
      CHECK l_action = 0.
      IF l_file IS INITIAL.
        EXIT.
      ENDIF.
      l_separator = 'X'.
      wa_fieldcat-fieldname = 'test'.
      wa_fieldcat-dd_roll = wf_delemt.
      APPEND wa_fieldcat TO tb_fieldcat.
      CALL FUNCTION 'MESSAGES_INITIALIZE'.
      CLEAR wa_test_upload.
    Upload file from front-end (PC)
    File format is tab-delimited ASCII
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = l_file
          has_field_separator     = l_separator
        TABLES
         data_tab                = i_mara
        data_tab                   = test_upload
        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.
        EXIT.
      ELSE.
       CALL FUNCTION 'MESSAGES_INITIALIZE'.
        IF test_upload IS NOT INITIAL.
          DESCRIBE TABLE test_upload LINES rows_read.
          CLEAR : wa_test_upload,wa_upld_data.
          LOOP AT test_upload INTO wa_test_upload.
            CLEAR :  p_error.
            rows_read = sy-tabix.
            IF wa_test_upload-/bic/myprogram IS INITIAL.
              p_error = 'X'.
              MESSAGE s153 WITH wa_test_upload-/bic/myprogram sy-tabix.
              CONTINUE.
            ELSE.
              TRANSLATE wa_test_upload-/bic/myprogram TO UPPER CASE.
              wa_upld_text-txtmd  = wa_test_upload-txtmd.
              wa_upld_text-txtsh  = wa_test_upload-txtmd.
              wa_upld_text-langu =  sy-langu.
              wa_upld_data-chrt_accts = 'xyz1'.
              wa_upld_data-co_area = '12'.
              wa_upld_data-/bic/zxyzbcsg = 'Iy'.
              wa_upld_data-objvers = 'A'.
              wa_upld_data-changed = 'I'.
              wa_upld_data-/bic/zass_mdl = 'rrr'.
              wa_upld_data-/bic/zass_typ = 'I'.
              wa_upld_data-/bic/zdriver = 'yyy'.
              wa_upld_text-langu = sy-langu.
              MOVE-CORRESPONDING wa_test_upload TO wa_upld_data.
              MOVE-CORRESPONDING wa_test_upload TO wa_upld_text.
              APPEND wa_upld_data TO ztable_data.
              APPEND wa_upld_text TO ztable_text.
            ENDIF.
          ENDLOOP.
          DELETE ADJACENT DUPLICATES FROM ztable_data.
          DELETE ADJACENT DUPLICATES FROM ztable_text.
          IF ztable_data IS NOT INITIAL.
            CALL METHOD cl_rsdmd_mdmt=>factory
              EXPORTING
                i_chabasnm     = 'myprogram'
              IMPORTING
                e_r_mdmt       = lr_mdmt
              EXCEPTIONS
                invalid_iobjnm = 1
                OTHERS         = 2.
       CALL FUNCTION 'MESSAGES_INITIALIZE'.
       **Lock the Infoobject to update
            CALL FUNCTION 'RSDG_IOBJ_ENQUEUE'
              EXPORTING
                i_objnm      = wf_object
                i_scope      = '1'
                i_msgty      = rs_c_error
              EXCEPTIONS
                foreign_lock = 1
                sys_failure  = 2.
            IF sy-subrc = 1.
              MESSAGE i107(zddd_rr) WITH wf_object sy-msgv2.
              EXIT.
            ELSEIF sy-subrc = 2.
              MESSAGE i108(zddd_rr) WITH wf_object.
              EXIT.
            ENDIF.
    *****Update Master Table
            IF ztable_data IS NOT INITIAL.
              CALL FUNCTION 'RSDMD_WRITE_ATTRIBUTES_TEXTS'
                    EXPORTING
                      i_iobjnm                     = 'myprogram'
                      i_tabclass                   = 'M'
           I_T_ATTR                     = lt_attr
                    TABLES
                      i_t_table                    = ztable_data
                      EXCEPTIONS
                     attribute_name_error         = 1
                     iobj_not_found               = 2
                     generate_program_error       = 3
                     OTHERS                       = 4.
              IF sy-subrc <> 0.
                CALL FUNCTION 'MESSAGE_STORE'
                  EXPORTING
                    arbgb  = 'zddd_rr'
                    msgty  = 'E'
                    txtnr  = '054'
                    msgv1  = text-033
                  EXCEPTIONS
                    OTHERS = 3.
                MESSAGE e054(zddd_rr) WITH 'myprogram'.
              ELSE.
                CALL FUNCTION 'MESSAGE_STORE'
                  EXPORTING
                    arbgb  = 'zddd_rr'
                    msgty  = 'S'
                    txtnr  = '053'
                    msgv1  = text-033
                  EXCEPTIONS
                    OTHERS = 3.
              ENDIF.
    *endif.
    *****update Text Table
              IF ztable_text IS NOT INITIAL.
                CALL FUNCTION 'RSDMD_WRITE_ATTRIBUTES_TEXTS'
                  EXPORTING
                    i_iobjnm               = 'myprogram'
                    i_tabclass             = 'T'
                  TABLES
                    i_t_table              = ztable_text
                  EXCEPTIONS
                    attribute_name_error   = 1
                    iobj_not_found         = 2
                    generate_program_error = 3
                    OTHERS                 = 4.
                IF sy-subrc <> 0.
                  CALL FUNCTION 'MESSAGE_STORE'
                    EXPORTING
                      arbgb  = 'zddd_rr'
                      msgty  = 'E'
                      txtnr  = '055'
                      msgv1  = text-033
                    EXCEPTIONS
                      OTHERS = 3.
                ENDIF.
              ENDIF.
            ELSE.
              MESSAGE s178(zddd_rr).
            ENDIF.
          ENDIF.
          COMMIT WORK.
          CALL FUNCTION 'RSD_CHKTAB_GET_FOR_CHA_BAS'
            EXPORTING
              i_chabasnm = 'myprogram'
            IMPORTING
              e_chktab   = wf_tablnm
            EXCEPTIONS
              name_error = 1.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.
    ****Release locks on Infoobject
          CALL FUNCTION 'RSDG_IOBJ_DEQUEUE'
            EXPORTING
              i_objnm = 'myprogram'
              i_scope = '1'.
        ENDIF.
      ENDIF.
      PERFORM data_selection .
      PERFORM update_alv_grid_display.
      CALL FUNCTION 'MESSAGES_SHOW'.
    ENDFORM.
    Please let me know how I can skip first record of the flat file?
    Regards,
    S

    go through this hope u can get some idea
    REPORT  ztest no standard page heading line-size 255.
                          Declaration                            *
    TYPES t_itab1 TYPE alsmex_tabline.
    types: begin of t_csks,
           kostl like csks-kostl,
          end of t_csks.
    types: begin of t_cska,
           kstar like cska-kstar,
          end of t_cska.
    data: begin of t_flatfile,
          docdate like COHEADER-BLDAT,
          postdate like COHEADER-BUDAT,
          doctext like COHEADER-BLTXT,
           costele like RK23F-KSTAR,
           amount like RK23F-WTGBTR,
           scostctr like RK23F-SKOSTL,
           rcostctr like RK23F-EKOSTL,
           rintorder like RK23F-EAUFNR,
         end of t_flatfile.
    data: begin of t_flatfile1,
          docdate like COHEADER-BLDAT,
          postdate like COHEADER-BUDAT,
          doctext like COHEADER-BLTXT,
           costele like RK23F-KSTAR,
           amount like RK23F-WTGBTR,
           scostctr like RK23F-SKOSTL,
           rcostctr like RK23F-EKOSTL,
           rintorder like RK23F-EAUFNR,
           NUM LIKE SY-INDEX,
         end of t_flatfile1.
    data: itab like table of t_flatfile with header line.
    data: itab2 like table of t_flatfile1 with header line.
    DATA: it_itab1 TYPE STANDARD TABLE OF t_itab1 WITH HEADER LINE,
          MESSTAB1 LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,
          MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    data: begin of bdcdata occurs 0.
            include structure bdcdata.
    data: end of bdcdata.
    data:t_lin type i VALUE '0',
         u_rec type i VALUE '0',
         s_rec type i VALUE '0'.
    data: it_csks type standard table of t_csks,
          wa_csks type t_csks.
    data: it_cska type standard table of t_cska,
          wa_cska type t_cska.
    *Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME  TITLE text-010.
    parameters: p_docdat  LIKE  COHEADER-BLDAT obligatory,
                p_postda LIKE  COHEADER-BUDAT obligatory,
                p_doctxt  LIKE  COHEADER-BLTXT.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME  TITLE text-011.
    parameters: p_file LIKE RLGRAP-FILENAME obligatory,
                DIS_MODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.
    SELECTION-SCREEN END OF BLOCK b2.
                  A T  S E L E C T I O N   S C R E E N                  *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      PERFORM get_local_file_name USING p_file.
    *Start of Selection
    START-OF-SELECTION.
      Perform get_Excel_data.
      perform validate_data.
      Perform Process_Data.
                    end-of-selection
    end-of-selection.
      perform display_data.
    *&      Form  get_local_file_name
          text
         -->P_P_FILE  text
    FORM get_local_file_name  USING    P_P_FILE.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        CHANGING
          file_name = p_file.
    ENDFORM.                    " get_local_file_name
    *&      Form  get_Excel_data
          text
    -->  p1        text
    <--  p2        text
    FORM get_Excel_data .
      FIELD-SYMBOLS : <FS>.
      DATA : V_INDEX TYPE I.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_file
          i_begin_col             = 1
        i_begin_row             = 2
          i_begin_row             = 1
          i_end_col               = 256
          i_end_row               = 9999                        "65536
        TABLES
          intern                  = it_itab1
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        Message text-013 type 'E'.
      ENDIF.
      IF IT_ITAB1[] IS INITIAL.
        Message text-001 type 'E'.
      else.                                    "IF IT_ITAB1[] IS INITIAL.
        data: itab2 like itab occurs 0 with header line.
        SORT IT_ITAB1 BY ROW COL.
        LOOP AT IT_ITAB1.
          MOVE :IT_ITAB1-COL TO V_INDEX.
          ASSIGN COMPONENT V_INDEX OF STRUCTURE itab2 TO  <FS>.
          MOVE : IT_ITAB1-VALUE TO <FS>.
          AT END OF ROW.
            MOVE-CORRESPONDING itab2 TO itab.
            APPEND itab.
            CLEAR:itab,itab2.
          ENDAT.
        endloop.
        describe table itab lines t_lin.
      endif.               "IF IT_ITAB1[] IS INITIAL.
    ENDFORM.                    " get_Excel_data
    *&      Form  Process_Data
          text
    -->  p1        text
    <--  p2        text
    FORM Process_Data .
      data:l_tabix type sy-tabix.
      data:l_periv like t001-periv,
           l_monat like bkpf-monat,
           l_gjahr like bkpf-gjahr,
           l_amt(21) type c.
      data: l_ddate(10),
            l_pdate(10).
      WRITE p_docdat TO l_ddate.
      WRITE p_postda TO l_pdate.
      clear: l_periv,l_monat,l_gjahr.
      select single periv from t001 into l_periv where bukrs = '5000'. "P_bukrs
      if sy-subrc eq 0.
        l_gjahr = p_postda+0(4).
        call function 'FI_PERIOD_DETERMINE'
          EXPORTING
            i_budat = p_postda
            i_bukrs = '5000'     "p_bukrs
            i_periv = l_periv
            i_gjahr = l_gjahr
          IMPORTING
            e_monat = l_monat.
        clear:l_periv.
      endif.
      loop at itab2.
        refresh:bdcdata.
        clear:bdcdata.
        l_tabix = sy-tabix.
        perform bdc_dynpro      using 'SAPLK23F1' '1200'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'COHEADER-SEND_REC_REL'
                                      '10SAP'.
        perform bdc_field       using 'RK23F-STATUS'
                                      'S'.
        perform bdc_field       using 'COHEADER-BLDAT'
                                 itab-docdate.
                                      l_ddate.
        perform bdc_field       using 'COHEADER-BUDAT'
                                 itab-postdate.
                                      l_pdate.
        perform bdc_field       using 'COHEADER-PERIO'
                                       l_monat.                 "'9'.
        perform bdc_field       using 'COHEADER-BLTXT'
                                 itab-doctext.
                                      p_doctxt.
        perform bdc_field       using 'RK23F-KSTAR'
                                      itab2-costele.
        WRITE itab2-amount TO l_amt.
    l_amt = itab-amount.
        condense l_amt no-gaps.
        perform bdc_field       using 'RK23F-WTGBTR'
                                       l_amt.
                                 itab-amount.
        perform bdc_field       using 'RK23F-WAERS'
                                      'USD'.
    *perform bdc_field       using 'RK23F-SGTXT'
                                 itab-doctext.
        perform bdc_field       using 'RK23F-SKOSTL'
                                      itab2-scostctr.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RK23F-EAUFNR'.
        perform bdc_field       using 'RK23F-EKOSTL'
                                      itab2-rcostctr.
        perform bdc_field       using 'RK23F-EAUFNR'
                                      itab2-rintorder.
        perform bdc_dynpro      using 'SAPLK23F1' '1200'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=POST'.
        perform bdc_field       using 'COHEADER-SEND_REC_REL'
                                      '10SAP'.
        perform bdc_field       using 'RK23F-STATUS'
                                      'S'.
        perform bdc_field       using 'COHEADER-BLDAT'
                                 itab-docdate.
                                      l_ddate.
        perform bdc_field       using 'COHEADER-BUDAT'
                                  itab-postdate.
                                      l_pdate.
        perform bdc_field       using 'COHEADER-PERIO'
                                 '9'.
                                        l_monat.
        perform bdc_field       using 'COHEADER-BLTXT'
                                  itab-doctext.
                                      p_doctxt.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RK23F-KSTAR'.
        perform bdc_field       using 'RK23F-WAERS'
                                      'USD'.
        CALL TRANSACTION 'KB15N' USING BDCDATA MODE DIS_MODE MESSAGES INTO MESSTAB.
        If sy-subrc = 0.
          s_rec = s_rec + 1.
        ELSE.
          u_rec = u_rec + 1.
          move ITAB2-NUM to messtab1-msgv1.
          concatenate itab2-costele ' | ' itab2-scostctr  ' | '  itab2-rcostctr ' | ' itab2-rintorder  into  messtab1-msgv2.
          condense messtab1-msgv2.
          condense messtab1-msgv1.
          append messtab1.
        endif.
        clear:itab2.
      endloop.
    ENDFORM.                    " Process_Data
          BDC_DYNPRO                                                     *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCDATA.
      BDCDATA-PROGRAM  = PROGRAM.
      BDCDATA-DYNPRO   = DYNPRO.
      BDCDATA-DYNBEGIN = 'X'.
      APPEND BDCDATA.
    ENDFORM.                    "BDC_DYNPRO
           BDC_FIELD                                                     *
    FORM BDC_FIELD USING FNAM FVAL.
      IF FVAL <> ''. "NODATA.
        CLEAR BDCDATA.
        BDCDATA-FNAM = FNAM.
        BDCDATA-FVAL = FVAL.
        APPEND BDCDATA.
      ENDIF.
    ENDFORM.                    "BDC_FIELD
    *&      Form  display_data
          text
    -->  p1        text
    <--  p2        text
    FORM display_data .
      skip 2.
      write:/15 text-002.
      skip 2.
      write:/8 text-003.
      SKIP.
      write:/12 text-008,
             25 P_DOCDAT.
      SKIP.
      write:/12 text-009,
             25 P_POSTDA.
      SKIP.
      write:/12 text-012,
              25 P_DOCTXT.
      SKIP.
      write:/12 text-004,
             25 p_file.
      skip 2.
      write:/8 text-005,
            60 t_lin.
      skip.
      write:/8 text-006,
            60 s_rec.
      skip.
      write:/8 text-007,
            60 u_rec.
      skip.
      write:/10 'row no',
             20 'Information'.
      skip.
      loop at messtab1.
        write:/10 messtab1-msgv1,
               20 messtab1-msgv2.
        clear:messtab1.
      endloop.
    ENDFORM.                    " display_data
    *&      Form  validate_data
          text
    -->  p1        text
    <--  p2        text
    FORM validate_data .
      data: l_tabix1 type sy-tabix.
    data: l_tabix2 type sy-tabix.
      if not itab[] is initial.
        select kostl from CSKS into table it_csks.
        if sy-subrc eq 0.
          sort it_csks by kostl.
        endif.
        select kstar from CSKA into table it_cska.
        if sy-subrc eq 0.
          sort it_cska by kstar.
        endif.
        loop at itab.
          l_tabix1 = sy-tabix.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        INPUT         = itab-scostctr
    IMPORTING
       OUTPUT        = itab-scostctr .
          read table it_csks into wa_csks with key kostl = itab-scostctr.
          if sy-subrc ne 0.
            u_rec = u_rec + 1.
           L_TABIX2 = l_tabix1 + 1.
           move l_tabix2 to messtab1-msgv1.
            move l_tabix1 to messtab1-msgv1.
            move itab-rintorder to messtab1-msgv2.
            concatenate itab-costele  ' | ' itab-scostctr  ' | '  itab-rcostctr  ' | ' itab-rintorder  into  messtab1-msgv2.
            condense messtab1-msgv2.
            condense messtab1-msgv1.
            append messtab1.
            clear:wa_csks.
           CLEAR:L_TABIX2.
            continue.
          endif.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        INPUT         = itab-rcostctr
    IMPORTING
       OUTPUT        = itab-rcostctr .
          read table it_csks into wa_csks with key kostl = itab-rcostctr.
          if sy-subrc ne 0.
            u_rec = u_rec + 1.
           L_TABIX2 = l_tabix1 + 1.
           move l_tabix2 to messtab1-msgv1.
            move l_tabix1 to messtab1-msgv1.
              concatenate itab-costele ' | ' itab-scostctr  ' | '  itab-rcostctr ' | ' itab-rintorder  into  messtab1-msgv2.
            condense messtab1-msgv2.
            condense messtab1-msgv1.
            append messtab1.
            clear:wa_csks.
           CLEAR:L_TABIX2.
            continue.
          endif.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        INPUT         = itab-costele
    IMPORTING
       OUTPUT        = itab-costele .
          read table it_cska into wa_cska with key kstar = itab-costele.
          if sy-subrc ne 0.
            u_rec = u_rec + 1.
           L_TABIX2 = l_tabix1 + 1.
           move l_tabix2 to messtab1-msgv1.
            move l_tabix1 to messtab1-msgv1.
            concatenate itab-costele ' | ' itab-scostctr  ' | '  itab-rcostctr ' | ' itab-rintorder  into  messtab1-msgv2.
            condense messtab1-msgv2.
            condense messtab1-msgv1.
            append messtab1.
            clear:wa_csks.
           CLEAR:L_TABIX2.
            continue.
          endif.
    move-corresponding itab to itab2.
    MOVE l_tabix1  TO ITAB2-NUM.
    append itab2.
    clear: itab2.
          clear:itab.
        endloop.
      else.
        message 'No records in File'  type 'S'.
      endif.
    ENDFORM.                    " validate_data

  • How to populate the Error stack during error records in field level routine

    hi,
    I am capturing the error records in Field level routine in transformation. now i want these records to reflect in error stack.
    i am using 'Append monitor-rec to MONITOR' at the moment but i cant see any records in error stack.
    but when i am using the same statement in start routine i am getting records in error stack.
    can anyone please help as to how can i populate error stack through field level routine?

    Hi,
    Try to do it in the end routine instead of the field routine.
    It should work.
    Regards,
    Joe

  • Error in infopackage level routine

    hi guys
    I am trying to write a infopackage level routine for dynamic flatfile selection.Im getiing error:Error 1 while loading external data.
    I did like this:
    I am accessing one external harddisk having BW-R3 software installed in it through VM Ware from my laptop.here I saved one flatfile with name DFF_10.10.2009.csv  in D drive.so path becomes  -- D:\DFF_10.10.2009.csv
    then in my infopackage...i wrote code ..here it is
    DATA: XFILE LIKE P_FILENAME .
      CONCATENATE 'D:\DFF_' SY-DATUM '.csv' INTO XFILE .
    P_FILENAME = XFILE .
    now tried to schedule infopackage....to see if it worksand loads data from flatfile.....but it throws error....Error1 while loading external data....
    how can I fix this?
    Thanks in adv,
    Rgds,
    S

    DATA:
      ch1(32) TYPE x VALUE
      '00200120022003200420052006200720082009200A200B200C200D200E200F20',
      ch2(32) TYPE x VALUE
      '10201120122013201420152016201720182019201A201B201C201D201E201F20',
      ch3(60) TYPE c VALUE
      '¿ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¡ ¯ ® ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ '.
    DATA:
      ch4(90) TYPE c VALUE
      'ø ÷ æ ß  ? ? ? ? ? ? ? ? ? ? ? ! ~ `  #'.
    FIELD-SYMBOLS:  TYPE c.
    DATA: l_ZPWRKCTY TYPE /BIC/OIZPWRKCTY,
          l_ZPSTNAMe TYPE /BIC/OIZPSTNAME.
    l_ZPWRKCTY = SOURCE_FIELDS-FIPS_NAME.
      translate l_ZPWRKCTY to upper case.
         RESULT = l_ZPWRKCTY.
      CONDENSE RESULT.
    Exclamation mark is not permitted as a first symbol of the field
    content
      IF RESULT(1) = '!'.
        RESULT(1) = ' '.
      ENDIF.
      CONDENSE RESULT.
    The only # sign is not permitted
      IF STRLEN( RESULT ) = 1.
        IF RESULT(1) = '#'.
          RESULT(1) = ' '.
        ENDIF.
      ENDIF.
    Replace Invalid Characters by SPACE
      ASSIGN ch1 TO .
      TRANSLATE RESULT using ch3.
      TRANSLATE RESULT using ch4.
      CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS'
        EXPORTING
          INTEXT                  = RESULT
       IMPORTING
         OUTTEXT                = RESULT.
    Remove leading and trailing blanks if any
      CONDENSE RESULT.

  • How to exclude records from infopackage

    Hi All,
    I am trying to exclude records based on characteristic(ZSCSF) value.I have written ABAP routine in infopackage.
        l_t_range-sign      = 'E'.
        l_t_range-option    = 'EQ'.
        l_t_range-low       = '0-3 CASE CARB MV TRB CUP'.
    During scheduling of infopackage i am getting below error message.
    For sel. field '/BIC/ZSCSF', no selection with SIGN = 'E'; OPTION 'EQ' allowed
    i am getting error message for below code too.
        l_t_range-sign      = 'I'.
        l_t_range-option    = 'NE'.
        l_t_range-low       = '0-3 CASE CARB MV TRB CUP'.
    I am only able to execute below selection.
        l_t_range-sign      = 'I'.
        l_t_range-option    = 'EQ'.
        l_t_range-low       = '0-3 CASE CARB MV TRB CUP'.
    Please suugest me can we exclude records in infopackage using type 6(ABAP routine).If yes,coule you please provide code.it will be great for me..
    Thanks in advance,
    Bandana.

    One suggestion is, you select all the options for characteristic(ZSCSF) values(if they are not many) from the source DSO.
    Remove the one which you want from internal table.
    And append the rest in the l_t_range table.
    But the best way is, to delete the records in the start routine.
    Thanks.

  • Routine at the Infopackage level-Urgent

    Hi,
    My requirement is I need to write an routine at the infopackage level for the fiscal period which should have the low value as the current period and the high value as current period +12 months.
    For example.
    As per the system date the
    low value should be 2007.09
    and the high value shoudl be 2008.09.
    Could anyone help me with the ABAP code.Points would be assigned.
    Regards,
    vamsi

    data: l_idx like sy-tabix.
              read table l_t_range with key
                   fieldname = 'FISCPER'.
              l_idx = sy-tabix.
    data: l_year                like T009B-BDATJ,
          l_period              like T009B-POPER,
          today                 like SY-DATUM.
    data: l_fiscperlow like l_t_range-low.
    data: l_fiscperhigh like l_t_range-high.
          today = SY-DATUM.
            CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
              EXPORTING
                I_DATE               = today
              I_MONMIT             = 00
                I_PERIV              = 'Z1'
              IMPORTING
                E_BUPER              = l_period
                E_GJAHR              = l_year
            EXCEPTIONS
              INPUT_FALSE          = 1
              T009_NOTFOUND        = 2
              T009B_NOTFOUND       = 3
              OTHERS               = 4
            IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.
            concatenate l_year l_period+1(2) into l_fiscperlow.
          l_t_range-low = l_fiscperlow.
          l_t_range-high = l_fiscperlow+12.
          l_t_range-option = 'BT'.
          l_t_range-sign = 'I'.
          modify l_t_range index l_idx.
          p_subrc = 0.
              modify l_t_range index l_idx.
              p_subrc = 0.
    This is the code which i had written but when i execute the infopackage i am aboe to see only the low value 200709 in the infopackage selections and unable to see the high value,Could any one suggest me if i missed something in the code.
    regards,
    Vamsi

  • 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.

  • Restrcitions at Infopackage level

    Dear All,
    There is an Info package where we have an Infoobject Posting level. We need to restrict some of the postings levels data when coming from the Source cube to the target cube.
    For eg: we have posting level 00,01,02,10,12,20,22. We need to restrict 02,12 and 22 from coming to the Target cube. Can I restrict these at the infopackage level?
    Please suggest.
    Thanks Rama.

    If u use infoapck selections, then enter values other that restriction 02, 12, 22...
    U have to write a routine to restrict at infopackage level....  Check following sample code
    data L_S_MC11VA0ITM like MC11VA0ITM,
    L_tabix like sy-tabix.
    case i_datasource.
    when '2LIS_11_VAITM'.
    loop at c_t_data into L_S_MC11VA0ITM.
    l_tabix = sy-tabix.
    if L_S_MC11VA0ITM-SPART ne '10'.
    Else.
    delete c_t_data index l_tabix.
    continue.
    endif.
    modify c_t_data from L_S_MC11VA0ITM index l_tabix.
    endloop.
    Endcase.

  • SKIP blank record

    Hi,
    Is there a way we can skip records with blank values while loading data into BPC. I have a data extract in which some dimension values are blank and it's a requirement to skip these records.
    In the conversion file I tried this formula, basically if the length is zero then SKIP the record. Doesn't work
    EXTERNAL          INTERNAL
                             If(vb:len("%external%")=0 then *SKIP;%external%)
    thanks in advance

    You have Skip into conversion file and also into transformation file.
    Your mistake is coming from fact that len is string length.
    That's means a string with format from 2 blanks the len is 2 not 0.
    So you can find other conditions. to skip the records with blanks.
    Regards
    Sorin Radulescu

  • Selection at infopackage level

    HI Everybody,
    Is it possible to have selection at infopackage level.
    Regards,
    BPNR.

    Hi ,
    yes .it is possible to have selection at infopackage level.
    at infopackage level you can have three options for selection criteria.
    type-5--- free temporal selection (for as many fields as you like)
    type-6 ---ABAP routine
    type-7---OLAP Variables.
    Regards
    upen

  • Skip error record within loop

    Hi all,
       How to skip error records within loop.
    Regards,
    bala

    Hi krithika,
    1. we can use this logic
    2. Loop at itab.
      check field1 = 'wrong value'
      check field3 = 'wrong value'
      *--- OTHER GOOD CODE
      ENDLOOP.
    regards,
    amit m.

  • How to skip first records while reading a csv file

    Hi,
    How to skip the first 5 records while reading csv file.
    I have a file which contains first 5 records as dummy records, I want to skip those records and load the rest into RDBMS.
    How to achieve this?
    Thanks,
    Naveen Suram

    Hi Guru,
    Actually I have converted an excel to CSV format, which is generating first 4 rows as some dummy records. 5th row is my header record. But in hearder record, two column names are same. Thats why while reversing it is giving an error.
    With zero in number of columns in header, I am getting the column names as C1, C2...
    If not in reversing, can we reject the first records while loading into RDMBS table using an interface?
    Thanks,
    Naveen Suram

  • Selected period data extraction at infopackage level

    Hi All,
    I am trying  to Extract data from APO Demand Planning Cube to BW.
    In BW how to extract data for Specified Date.
    To extract specified current month plus -4 months and +4 months of data per extraction.
    Do I have to write routine at infopackage level for calculating specified period.
    Please help to solve this.
    Thanks in advance

    hi Brinda,
    take a look sample code if you use routine
    routine as selection in infopackage
    Dynamic selection
    abap routine
    hope this helps.

  • I found the voice record, now no levels/no recording

    I found the voice record, now no levels/no recording

    You're going to have to post a WHOLE lot more information than that for anyone to even know what you're saying.

Maybe you are looking for

  • How to set up my mac mini server to use two drives seamlessly?

    I have a mid 2010 mac mini server, with OSX Lion installed. It has dual 500gb hard drives. I've been moving all my important files to it, and I've always assumed that once I filled one disc, it would seamlessly transfer over to the other and continue

  • Problems with a java bean in Weblogic 5.1

    Hello,           I am having a problem deploying a java bean in Weblogic 5.1:           I have been given a .class and a .jar file for a java bean (not an EJB). I           placed the .class file into e:\temp\WEB-INF\classes and added the following  

  • Reading attachments within attachments

    Hi, I tested this code that I found and I was wondering if it's possible to read attachments within attachments. We are receiving forwarded messages that have an attachment of type message. The attachment then has its own attachment of type doc. We c

  • Error in Travel n Expenses for EHP2 (Abap webdynpro application)

    Hi, We have implemented ESS 1.2 in Portal (NW 7.0) alongwith Enhancement Package 2. Due to EHP2 our Travel Application is now ABAP Based WEBDynpro,so when we access any Travel related link in Portal we will be directed to the R3 system. Now we have a

  • Migrating forms 2000 to forms 6i

    Hi, does anyone of you tried to migrate forms 2000 to 6i. everytime I try that, I am getting an error - "ifbld60.exe has generated errors and will be closed by Windows. You will need to restart the program." (rigt after I open the file and connect to