Reading UTL_File, first record is missing

Hi,
I am reading text file using UTL_FILE to insert data in staging table.For some reason the first record in the text file in not inserting in table
(suppose there are 10 records in text.file, except very first record rest of the records will be inserted successfully).Please help me on this.
create or replace
PROCEDURE PRC_XYZ_FILE_LOAD(
    p_in_file_name IN VARCHAR2,
    p_out_message OUT VARCHAR2)
IS
v_membernumber     whr_stageftd.membernumber%TYPE ;
  v_memberfullname   whr_stageftd.memberfullname%TYPE ;
BEGIN
--open files
  v_file_handler := UTL_FILE.FOPEN(v_file_path, v_file_name, 'r');
   UTL_FILE.GET_LINE(v_file_handler, v_text);
   LOOP
    BEGIN
         BEGIN
        UTL_FILE.GET_LINE(v_file_handler, v_text);
      EXCEPTION
      WHEN no_data_found THEN
        EXIT; -- end of file
      END;
      -------------------- Insert data in to whr_stageftd table -------------------------------
      v_detail_record              :=FNC_PIPE_PARSE (V_TEXT,1,'~');
       v_membernumber               :=FNC_PIPE_PARSE (V_TEXT,2,'~');
       v_memberfullname             :=FNC_PIPE_PARSE (V_TEXT,3,'~');
       v_stage:='stage3';
       v_locationid                 :=FNC_PIPE_PARSE (V_TEXT,4,'~');
       v_regionid                   :=FNC_PIPE_PARSE (V_TEXT,5,'~');
       v_transstartdate             :=FNC_PIPE_PARSE (V_TEXT,6,'~');
       v_transenddate               :=FNC_PIPE_PARSE (V_TEXT,7,'~');
      IF v_detail_record            = '2' THEN
        INSERT
        INTO whr_stageftd
            fileid ,
            membernumber ,
            memberfullname ,
            locationid,
            regionid,
            earningstartdate,
            earningenddate  )
          VALUES
            v_fileid,
            v_membernumber,
            v_memberfullname,
            v_locationid,
            v_regionid,
            v_transstartdate ,
            v_transenddate);
        v_rec_counter := v_rec_counter + 1;
        IF mod(v_rec_counter,10000)= 0 THEN
          COMMIT;
        END IF;
      END IF;
    EXCEPTION
    WHEN OTHERS THEN
     dbms_output.put_line(Sqlerrm||v_stage);
      END;
  END LOOP;
   COMMIT;
  UTL_FILE.FCLOSE(v_file_handler);
END PRC_XYZ_FILE_LOAD;here is the code for FNC_PIPE_PARSE
create or replace
Function      FNC_PIPE_PARSE
(p_instring in varchar2,
  p_field_no in number,
  p_delimiter in varchar2 default '|')
  RETURN varchar2 IS
v_start number;
v_no_of_chars number;
v_instring varchar2(4000);
    v_delimiter_length NUMBER(10) := 0;
BEGIN
v_delimiter_length := length(p_delimiter);
v_instring:=p_instring||p_delimiter;
  IF p_field_no = 1 THEN
     return(substr(v_instring,1,instr(v_instring,p_delimiter)-1));
  ELSE
   v_start := instr(v_instring,p_delimiter,1,p_field_no-1)+v_delimiter_length;
   v_no_of_chars := instr(v_instring,p_delimiter,1,p_field_no) - v_start;
return(substr(v_instring,v_start,v_no_of_chars));
  END IF;
END; sample data
actual data
2~105266648J~C TEST~~~20050707~20050707
2~104133506D~K TEST~~~20050707~20050707
2~104929890I~A TEST~~~20050707~20050707
2~104700166K~D TEST~~~20050708~20050708data inserted in table is (which is missing first record
2~104133506D~K TEST~~~20050707~20050707
2~104929890I~A TEST~~~20050707~20050707
2~104700166K~D TEST~~~20050708~20050708Sqlerrm error is
ORA-06502: PL/SQL: numeric or value error: character string buffer too small stage3THANKS
Sandy

Apparently, you don't specify the len parameter to GET_LINE, and the doc says :
The GET_LINE len parameter must be a number in the range 1 and 32767. If unspecified, Oracle supplies the default value of max_linesize.The FOPEN max_linesize parameter must be a number in the range 1 and 32767. If unspecified, Oracle supplies a default value of 1024. Could that be the culprit ?You should try to put some debug in your code to see what line content raises the error.

Similar Messages

  • 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

  • File adapter SyncRead Operation adds "???" to first record of csv file

    Hi All,
    One interface is reading one CSV file (containing two fields only) using SyncRead Operation of File Adapter. But I found, when file adapter parsed the data it appends "???" to first field of the first record which cause further data validation in the process.
    Test.csv file
    123456,159357
    147258,987654
    Trace of the FileAdapter:
    <messages>
    <Invoke_FILE_Inbound_InputVariable>
    <part  name="Empty">
    <empty/>  
    </part>
    </Invoke_FILE_Inbound_InputVariable>
    <Invoke_FILE_Inbound_OutputVariable>
    <part  name="body">
    <Root-Element>
    <TestElements>
    <Emplid>���123456</Emplid>  
    <SupId>159357</SupId>
    </TestElements>
    <HRRespIDElements>
    <Emplid>147258</Emplid>  
    <SupId>987654</SupId>
    </TestElements>
    </Root-Element>
    </part>
    </Invoke_FILE_Inbound_OutputVariable>
    </messages>
    Can anyone help me to understand , what is reason? Or I missed anything.
    Thanks & Regards,
    Sharmistha

    Unfortunately, this is documented bahaviour (solution/workaround anyone?!):
    Elapsed Time Exceeds:
    Specify a time which, when exceeded, causes a new outgoing file to be created.
    Note:
    The Elapsed Time Exceeds batching criteria is evaluated and a new outgoing file is created, only when an invocation happens.
    For example, if you specify that elapsed time exceeds 15 seconds, then the first message that is received is not written out, even after 15 seconds, as batching conditions are not valid. If a second message is received, then batching conditions become valid for the first one, and an output file is created when the elapsed time exceeds 15 seconds.

  • Few records are missing while downloading to a Spreadsheet  from a Report

    Dear Gurus,
    few records are missing while downloading to a Spread sheet from a Z report.  There are around 300 records, out of which 11 records are not appearing in Spreadsheet file after saving.  But, the funny thing is when i try to save in other format like, HTML or to a clip board all records are coming. 
    When asked, the ABAPer said -
        your report is coming correctly.  if the report is wrong then we can try checking some code in the Z report.  Saving it into Spread sheet is the standard program provided by SAP.
    He is also facing this problem for the first time.
    Can anybody help.
    Thanks in advance and u will get points if useful.
    Regards

    Hi,
    Few days back we got this kind of error, when i tried to down load the asset balances in excel format.
    It was observed that, for one of the asset description ends with cama",".  Due to this reason all other details has been stored in single cell.  Once we changed the master data of that asset, then we able to get the report properly.
    2) Some other time, when we tried to download material master details, for one of the material ... description not maintained.  this is another issue. After maintain the description problem got resolved.
    Hope this information will be helpful to u.

  • How do i fix pairing record is missing

    I have the latest iTunes and the latest iPod Touch OS.  I connected my iPod to the computer for the first time and got the message "iTunes could not connect to the iPod "Larry's iPod" because the pairing record is missing.
    How to I fix that problem.
    Also, when I connect the iPod to the computer using the USB cable connection tothe computer, it does not sync the songs.
    How do Ialso fix that.
    My computer OS is Windows 7.

    NushNush18, did you notice that the post is over 1 1/2 years old. I do not think the poster is still waiting for a solution.

  • IPod won't connect to iTunes - pairing record is missing...

    I get this iTunes message when connecting my first iPod, a brand new iPod touch to my mac:
    "iTunes could not connect to iPod "iPod" because the pairing record is missing."
    What does that mean? (Can this have something to do with other iPods that have been connected to my iTunes earlier?)
    I followed the instructions Apple had to offer and reset the iPod etc.
    <http://docs.info.apple.com/article.html?artnum=60950>
    I reinstalled iTunes 7.6 from my admin user. Then the iPod was recognized on this account with empty iTunes. Registered the iPod und updated software to 1.1.3. Restarted back into my regular user. Still same message, except now iPod "ihPod"... Now, where is that pairing record?

    Yes, I restarted the machine after reinstalling iTunes 7.6, but that did not help.
    Today I reinstalled again, this time from my users acount and that did the trick. I still don't know what or where the pairing record is. But installing iTunes on the spesific users account fixes it, it seems.

  • Error:  "pairing record is missing"

    When i try to set up and sync with itunes i get "itunes cannot connect to ipod because pairing record is missing"
    Any help would be appreciated.
    Ted

    I got the same error tonight.
    Was having some odd problems with my iPod touch (16GB, v1.1.3 with January software upgrade) occasionally changing the date and time to Dec. 31, 1969, also getting stuck in caps lock mode, so I decided to restore.
    First attempt at a restore failed. Second attempt looked like it succeeded, with a message that came up after the firmware restore that said the iPod would reappear in iTunes after it finished restarting. After a long wait, the iPod restarted with the "connect to iTunes" image, then went black. A short time later, a window popped up with the message about the missing pairing record.
    Two, three or four attempts at disconnecting and reconnecting the cable all resulted in the same error message. I started writing this post, in fact, to report I was stuck with the same unusable iPod, when I reconnected the cable to make sure I had the wording of the error message correct.
    Wouldn't you know? It connected just fine, asked me if I wanted to restore my settings and at the moment is syncing back all my music and movies. I'll return here if I see any more problems, but I'm keeping my fingers crossed that all's well.

  • Pairing record is missing

    First time I connected my new IPhone 5 to my computer for the first time and it says the `Pairing record is missing`. What can I do to resolve this?

    I tried to update my iPhone software this morning and after experiencing many of the problems seen online today, I'm down to the original - "iTunes could not connect to the iPhone because the pairing record is missing." Any clues?

  • Report generating two rows for the very first record

    Hi ,
    I have designed a simple RTF template using Table Wizard in MS Words.When I am trying to view the report in excel , the report shows two entries for first record.The problem is with first record only and other entries displyed are fine.When I tried deleting the first record , the next record is showing two rows.
    Am I missing something here ?
    Please advice.
    Thanks!!

    Hi ,
    I got this sorted out.The pbm was with my XML as My Rowset and Row had the same name.I changeed the rowset name and it worksfine now.
    Thanks Vetsrini!!

  • HT201656 repairing record is missing

    im trying to restore my iphone 4 S but i keep getting itunes could not connect to the iphone because the pairing record is missing.

    I got the same error tonight.
    Was having some odd problems with my iPod touch (16GB, v1.1.3 with January software upgrade) occasionally changing the date and time to Dec. 31, 1969, also getting stuck in caps lock mode, so I decided to restore.
    First attempt at a restore failed. Second attempt looked like it succeeded, with a message that came up after the firmware restore that said the iPod would reappear in iTunes after it finished restarting. After a long wait, the iPod restarted with the "connect to iTunes" image, then went black. A short time later, a window popped up with the message about the missing pairing record.
    Two, three or four attempts at disconnecting and reconnecting the cable all resulted in the same error message. I started writing this post, in fact, to report I was stuck with the same unusable iPod, when I reconnected the cable to make sure I had the wording of the error message correct.
    Wouldn't you know? It connected just fine, asked me if I wanted to restore my settings and at the moment is syncing back all my music and movies. I'll return here if I see any more problems, but I'm keeping my fingers crossed that all's well.

  • PreviousValue(fld)  isn't working on first record - Why?

    I am writing a report that checks the value of the previous row before deciding on a sub-total
    i.e. I've created a function (LineTotal) looks like this....
    If Previous({Table\.RowItem)={Table\.RowItem}
    Then 0
    Else {Table\.AMOUNT}
    I then put this into the Detail line of my report as @LineTotal
    THE PROBLEM is that the first line doesn't seem to evaluate correctly and my report is missing the value of @LineTotal for the first line.
    If I print Previous({Table\.RowItem), {Table\.RowItem} & {Table\.AMOUNT} I getwhat I would expect. Previous RowItem is Blank, RowItem is the first rowitem and Amount is the first amount.
    Is there a problem with the way/timing that the function is evaluated?
    Any contributions gratefully received.

    Setting that option is frequently a bad idea because you lose the ability to detect true Null values.
    Instead, consider using the following logic in your formula:
    If OnFirstRecord Then ... Else...
    OnFirstRecord is a special expression provided by Crystal that returns TRUE when you are on the first record.

  • After installiing ios6 to ipad i no longer have my photos or apps and cannot connect to iTunes on my computer. Get message saying pairing record is missing.Can anyone help please?

    After installing ios6 to ipad2 I no longer it went back to factory settings.  I cannot sync iTunes on my computer with the iPad but get a message "pairing record is missing".  Can anyone help me.

    I need to uninstall my old version on itunes and install a new version, i cant uninstall from Programs and Features, a message keeps coming up saying 'The feature you are trying to use is on a network resource that is unavailable.'
    Unfortunately, this sort of trouble has gotten more complicated to deal with ever since Microsoft pulled the Windows Installer CleanUp utility from their Download Center on June 25. First we have to find a copy of the utility.
    Let's try Googling. (Best not to use Bing, I think.) Look for a working download site for at least version 3.0 of the Windows Installer CleanUp utility. After downloading the utility installer file (msicuu2.exe), scan the file for malware, just in case. (I use the free version of Malwarebytes AntiMalware to do single-file scans for that.)
    If the file is clean, to install the utility, doubleclick the msicuu2.exe file you've downloaded.
    Now run the utility ("Start > All Programs > Windows Install Clean Up"). In the list of programs that appears in CleanUp, select any iTunes entries and click "Remove".
    Quit out of CleanUp, restart the PC and try installing iTunes again. Does the install go through properly now?
    (If you do find a clean download site for the correct version of CleanUp, please don't tell me where it is. Without wishing to sound paranoid (although I grant it does sound paranoid), there is a non-zero chance that posting links to download locations for the utility here at Discussions leads to that download location being shut down.)

  • 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

  • Updating ipod touch to os5.1  got an error message "cannot connect the ipod touch because the pairing record is missing"   don't know what this means or how to fix but am stuck, only option is to answer ok and close the error box.  Any ideas?

    Updating ipod touch to os5.1  got an error message "cannot connect the ipod touch because the pairing record is missing"   don't know what this means or how to fix but am stuck, only option is to answer ok and close the error box.  Any ideas?

    #1
    - Try another cable. The cable for 5G iPod (lightning connector) seems to be more prone to failure than the older cable.
    - If a 5G iPod               
    Iphone 5 lightning port charging problem - SOLUTION!
    - Inspect the dock connector on the iPod for bent or missing contacts, foreign material, corroded contacts, broken, missing or cracked plastic.
    - Make an appointment at the Genius Bar of an Apple store.
      Apple Retail Store - Genius Bar
    #1.1 n/a because the errror message overrides it
    #2 see #1
    #3 iOS: Device not recognized in iTunes for Mac OS X
    But could be caused by #1
    #4 Covered by previous ones
    #5 Obvious jpegs are photos and thus will not sync as videos. Also see:
    iTunes: May be unable to transfer videos to iPhone, iPad, or iPod
    iTunes: Frequently asked questions about viewing and syncing videos
    #6 iOS: If you can't back up or restore from a backup in iTunes
    First #7 See #6
    Second #7 You have so many other problems resolve those first
    #8 Resolve other problems first

  • TS2776 I get a message that says"ITunes could not connect to IPhone becuase the pairing record is missing" I never saw this error message before. Anyone knpw what's up?

    I get a message that say: ITunes could not connect to IPhone *** because the pairing record is missing" I never saw this before anyone know about this??

    Do you still get that one if you restart the PC and try to connect again?

Maybe you are looking for

  • Adding a Subscriber

    We are currently running CallManager version 7.0.2 with one publisher and two subscribers.  Trying to add another subscriber.  The server and software has been installed, we can see it in CallManager System --> Server and System --> Cisco Unified CM.

  • Printing Japanese Characters on Zebra ZM400 from Smartform

    Hi Experts I am trying to configure a Zebra ZM400 printer to print a Japanese label from a smartform but get no Japanese characters on the output. The original language of the smartform is English, but I have maintained a translation in SE63 which us

  • How do I define a data type as an "IMG_ERR"?

    For instance imaq1394ConfigureAcquisitionCW (sessionId As SESSION_ID, continuous As Long, bufferCount As Long) As IMG_ERR

  • Tabular: set measure to blank() for certain dimensions

    Hi, I know there is no scope() equivalent in dax but i'm hoping there's some other combination of functions that will give me the same result I have a stock movement fact table and I have two running totals on it. One is is a 'stock to date' value wh

  • It says I can't open new window cause I have reached max allowed. How do I fix this?

    When I try to open a new window, I have a message pop up that says it could not open a new window cause I have already opened the maximim number. Don't understand how this is possible when I am sure I close out each one when I am done with it. How ca