Multi lines read in ALV using FM

Hi,
I have an ALV report, in that one fld is in edit mode the value can change for multi lines , when I click on a button the  changed values need to store some where.
if it is '0' delete that record other wise refresh ALV. I have used FM in my report .can you help me?
and is it possible to do validations like retain the value if it is wrong entry.
Please help me

HI,
Check similar thread.Especially first 2 answers.
Re: How to Refresh an ALV-grid created with FM REUSE_ALV_LIST_DISPLAY

Similar Messages

  • Multi-line reading from applet?

    I just began using a technique to get a single value
    from the web server to my applet via CGI-BIN.
    Please see relevant code below.
    With this technique -I was given a chunk of code, I don't
    even understand its behavior completely- I can retrieve
    one value from the server. Now I would like to retrieve
    multi-line data, such as that coming from a SQL statement which
    will be used to populate my applet's menus.
    So, how should I retrieve this cursor-like, or stream data?
    I suppose I need to put the "s = d.readLine()" statement inside
    a loop, but what loop variable shoould I use??
    TIA,
    -Ramon F. Herrera
    URL url;
    URLConnection urlConn = null;
    DataOutputStream dos;
    DataInputStream dis;
    InputStream is;
    url = prepareServerCommand(Id, true);
    try {
    urlConn = url.openConnection();
    } catch (IOException ex) {
    urlConn.setDoInput(true);
    urlConn.setDoOutput(true);
    urlConn.setUseCaches(false);
    urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    String s = null;
    try {
    dos = new DataOutputStream(urlConn.getOutputStream());
    String message = "NEW_ITEM=1";
    dos.writeBytes(message);
    dos.flush();
    dos.close();
    is = url.openStream();
    BufferedReader d = new BufferedReader(new InputStreamReader(is));
    s = d.readLine(); // <-- THIS NEEDS TO BE INSIDE A LOOP!!
    d.close();
    } catch (IOException ex1) {
    jButton1.setText("Number of Items:");
    jTextField1.setText(s);
    done = 1;
    return (done);

    Here's a way:
    String $URL = "http://server.com/cgi-bin/a.cgi?whatever=1";
    try{
    URL url = new URL($URL);
    BufferedReader in =
    new BufferedReader(new InputStreamReader(url.openStream()));
    String $nextline, $returned = "";
    while(($nextline = in.readLine()) != null){
    $returned += $nextline + '\n';
    if($returned.indexOf("END OF DATA") > -1) break;
    in.close();
    }catch(Exception e){System.out.println("ERROR: " + e);}
    System.out.println($returned);
    Note the line containing "END OF DATA". The reason I did that was that the connection was just getting stuck in that loop for too long. By using something to mark the end of the data, I was able to break out of the loop sooner. Maybe there's a better way but I don't know it.

  • Multi Line Selection with ALV Grid

    Dear all
    what do I have to do to make multiple line selection available in an ALV Grid (Version 4.7)?
    Herbert

    Hi Herbert again,
    Once you displayed your alv output display, then select rows in the alv display.
    then when you click for interactive buttion (ie. like Refresh functionality), In debug mode you can see internal table with Sell field active (i.e. marked "X") which you have selected.
    e.g.
    FORM user_command USING lv_ucomm TYPE sy-ucomm ls_selfield TYPE slis_selfield.
      DATA:
            lv_ref_grid   TYPE REF TO cl_gui_alv_grid.
      CLEAR : gv_tcode.
    *-- to ensure that only new processed data is displayed
      IF lv_ref_grid IS INITIAL.
        CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
          IMPORTING
            e_grid = lv_ref_grid.
      ENDIF.
      IF NOT lv_ref_grid IS INITIAL.
        CALL METHOD lv_ref_grid->check_changed_data.
      ENDIF.
      CASE lv_ucomm.
        WHEN '&IC1'.
          IF ls_selfield-fieldname = 'MATNR'.
            READ TABLE gt_gi INTO gs_gi INDEX ls_selfield-tabindex.
            IF sy-subrc = 0.
              gv_tcode = 'MMBE'.
              SET PARAMETER ID 'MAT' FIELD gs_gi-matnr.
              CALL TRANSACTION gv_tcode AND SKIP FIRST SCREEN. "#EC CI_CALLTA "MMBE
            ENDIF.
          ENDIF.
        WHEN 'COPY'.
          LOOP AT gt_gi INTO gs_gi WHERE sel = 'X'.
            gs_gi-sel = ' '.
            APPEND gs_gi TO gt_gi.
            CLEAR gs_gi.
          ENDLOOP.
        WHEN 'POST'.
          REFRESH : gt_error[].
        WHEN OTHERS.
      ENDCASE.
    ENDFORM.                    " USER_COMMAND
    I hope you clear now.
    Feel free to ask any doubts.
    Thanks and regards,
    Vijay

  • How to display multi line headings in procedural alv report

    Hi experts,
    How to display multi line heading in alv( procedural alv report) report.
    some columns single line and some columns multi line in the same report.
    ex: 
                  solvent consumed          solvent recovered
                   fresh |   recovery             recovery | spent                            batch no                         storage
    I am using procedural alv .pls give me idea.

    Hi Ram,
    Check the sample report [how to display multi line headings in procedural alv report|http://sample-code-abap.blogspot.com/2008/01/printing-multiple-line-header-and.html]
    Thanks,
    Duy

  • How to read complete line displayed thru ALV report on double click? urgent

    Hi guys,
    An ALV report is displayed using 'REUSE_ALV_LIST_DISPLAY' and i have a requirement such that i have to read the line item on which double click is done.
    I have to fetch the line item, field by field and not by characters. I have attached the function code and all using PF status.
    Please tell me an approach as how to fetch the line item on which double click is done.
    Points will be rewarded.
    Regards
    Rahul

    Hi  ..
    i did  report  with  belnr  , bukrs  ,  Gjahr  . which will  call the  transcation code  FB03 displaing thedocument  ...
    please  cut and  paste the report  it will work ..
    REPORT  zdemo_alvgrid                 .
    TABLES:   bkpf . "  ekko.
    type-pools: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_ekko,
    BUKRS   like  bkpf-BUKRS,
    BELNR like  bkpf-BELNR,
    GJAHR like  bkpf-GJAHR,
    BLART like  bkpf-BLART,
    BLDAT like  bkpf-BLDAT,
    BUDAT like  bkpf-BUDAT,
    MONAT like  bkpf-MONAT,
    XBLNR like  bkpf-XBLNR ,
    *  ebeln TYPE ekpo-ebeln,
    *  ebelp TYPE ekpo-ebelp,
    *  statu TYPE ekpo-statu,
    *  aedat TYPE ekpo-aedat,
    *  matnr TYPE ekpo-matnr,
    *  menge TYPE ekpo-menge,
    *  meins TYPE ekpo-meins,
    *  netpr TYPE ekpo-netpr,
    *  peinh TYPE ekpo-peinh,
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid,
          gt_events     type slis_t_event,
          gd_prntparams type slis_print_alv.
    *Start-of-selection.
    START-OF-SELECTION.
    perform data_retrieval.
    perform build_fieldcatalog.
    perform build_layout.
    perform build_events.
    perform build_print_params.
    perform display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
    *       Build Fieldcatalog for ALV Report
    form build_fieldcatalog.
    * There are a number of ways to create a fieldcat.
    * For the purpose of this example i will build the fieldcatalog manualy
    * by populating the internal table fields individually and then
    * appending the rows. This method can be the most time consuming but can
    * also allow you  more control of the final product.
    * Beware though, you need to ensure that all fields required are
    * populated. When using some of functionality available via ALV, such as
    * total. You may need to provide more information than if you were
    * simply displaying the result
    *               I.e. Field type may be required in-order for
    *                    the 'TOTAL' function to work.
      fieldcatalog-fieldname   = 'BUKRS'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    *  fieldcatalog-do_sum      = 'X'.
    *  fieldcatalog-no_zero     = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'BELNR'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      fieldcatalog-outputlen   = 10.
       fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
        append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'GJAHR'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
        append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'BLART'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'BLDAT'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'BUDAT'.
      fieldcatalog-seltext_m   = 'PO quantity'.
      fieldcatalog-col_pos     = 5.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MONAT'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'XBLNR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
    *  fieldcatalog-do_sum      = 'X'.
    *  fieldcatalog-datatype     = 'CURR'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    **  fieldcatalog-fieldname   = 'PEINH'.
    **  fieldcatalog-seltext_m   = 'Price Unit'.
    **  fieldcatalog-col_pos     = 8.
    **  append fieldcatalog to fieldcatalog.
    *  clear  fieldcatalog.
    endform.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
    *       Build layout for ALV grid report
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
    *  gd_layout-totals_only        = 'X'.
    *  gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
    *                                         "click(press f2)
    *  gd_layout-zebra             = 'X'.
    *  gd_layout-group_change_edit = 'X'.
    *  gd_layout-header_text       = 'helllllo'.
    endform.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
    *       Display report using ALV grid
    form display_alv_report.
      gd_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
                i_callback_user_command = 'USER_COMMAND'
    *            i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
    *            it_special_groups       = gd_tabgroup
                it_events               = gt_events
                is_print                = gd_prntparams
                i_save                  = 'X'
    *            is_variant              = z_template
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 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.
    endform.                    " DISPLAY_ALV_REPORT
    *&      Form  DATA_RETRIEVAL
    *       Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select BUKRS
    BELNR
    GJAHR
    BLART
    BLDAT
    BUDAT
    MONAT
    XBLNR  up to 10 rows
      from bkpf
      into table it_ekko.
    *select ebeln ebelp statu aedat matnr menge meins netpr peinh
    * up to 10 rows
    *  from ekpo
    *  into table it_ekko.
    endform.                    " DATA_RETRIEVAL
    * Form  TOP-OF-PAGE                                                 *
    * ALV Report Header                                                 *
    Form top-of-page.
    *ALV Header declarations
    data: t_header type slis_t_listheader,
          wa_header type slis_listheader,
          t_line like wa_header-info,
          ld_lines type i,
          ld_linesc(10) type c.
    * Title
      wa_header-typ  = 'H'.
      wa_header-info = 'EKKO Table Report'.
      append wa_header to t_header.
      clear wa_header.
    * Date
      wa_header-typ  = 'S'.
      wa_header-key = 'Date: '.
      CONCATENATE  sy-datum+6(2) '.'
                   sy-datum+4(2) '.'
                   sy-datum(4) INTO wa_header-info.   "todays date
      append wa_header to t_header.
      clear: wa_header.
    * Total No. of Records Selected
      describe table it_ekko lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'Total No. of Records Selected: ' ld_linesc
                        into t_line separated by space.
      wa_header-typ  = 'A'.
      wa_header-info = t_line.
      append wa_header to t_header.
      clear: wa_header, t_line.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
           exporting
                it_list_commentary = t_header.
    *            i_logo             = 'Z_LOGO'.
    endform.
    *       FORM USER_COMMAND                                          *
    *       --> R_UCOMM                                                *
    *       --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    * Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
    *   Check field clicked on within ALVgrid report
        IF rs_selfield-fieldname = 'BELNR'.
    *     Read data table, using index of row user clicked on
          READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
    *     Set parameter ID for transaction screen field
          SET PARAMETER ID 'BES' FIELD   wa_ekko-bELNR  .
          SET PARAMETER ID 'MES' FIELD   wa_ekko-bUKRS  .
          SET PARAMETER ID 'DES' FIELD    wa_ekko-GJAHR .
    *     Sxecute transaction ME23N, and skip initial data entry screen
    *      CALL TRANSACTION 'FB03' AND SKIP first screen.
    SUBMIT RFBUEB00
    *        WITH ALCUR ...
    *        WITH ARCHOBJ ...
    *        WITH ARCH_SEL ...
    *        WITH ARUSETYP ...
    *        WITH AUTBEXNO ...
    *        WITH AUTH_BUK ...
    *        WITH AUTH_LDR ...
    *        WITH BR_AWKEY ...
    *        WITH BR_AWSYS ...
    *        WITH BR_AWTYP ...
            WITH BR_BELNR =  wa_ekko-bELNR
    *        WITH BR_BLART ...
    *        WITH BR_BLDAT ...
    *        WITH BR_BUDAT ...
            WITH BR_BUKRS =    wa_ekko-bUKRS
    *        WITH BR_CPUDT ...
            WITH BR_GJAHR  =  wa_ekko-GJAHR
    *        WITH BR_RLDNR ...
    *        WITH BR_SEQ ...
    *        WITH BR_USNAM ...
    *        WITH BR_XBLNR ...
    *        WITH EXCDT ...
    *        WITH P_STATS ...
    *        WITH STATISTK ...
    *        WITH STATUSD ...
    *        WITH STATUSL ...
    *        WITH STATUSM ...
    *        WITH STATUSS ...
    *        WITH STATUSV ...
    *        WITH TCODE ...
    *        WITH UNAME ...
    *        WITH XEMUCNV ...
    *        WITH XUSEAR ...
    *        WITH XUSEAS ...
    *        WITH XUSEDB
            AND RETURN  .
        ENDIF.
      ENDCASE.
    ENDFORM.
    *&      Form  BUILD_EVENTS
    *       Build events table
    form build_events.
      data: ls_event type slis_alv_event.
      call function 'REUSE_ALV_EVENTS_GET'
           exporting
                i_list_type = 0
           importing
                et_events   = gt_events[].
      read table gt_events with key name =  slis_ev_end_of_page
                               into ls_event.
      if sy-subrc = 0.
        move 'END_OF_PAGE' to ls_event-form.
        append ls_event to gt_events.
      endif.
        read table gt_events with key name =  slis_ev_end_of_list
                               into ls_event.
      if sy-subrc = 0.
        move 'END_OF_LIST' to ls_event-form.
        append ls_event to gt_events.
      endif.
    endform.                    " BUILD_EVENTS
    *&      Form  BUILD_PRINT_PARAMS
    *       Setup print parameters
    form build_print_params.
      gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer
      gd_prntparams-no_coverpage = 'X'.
    endform.                    " BUILD_PRINT_PARAMS
    *&      Form  END_OF_PAGE
    form END_OF_PAGE.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      write: sy-uline(50).
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    *&      Form  END_OF_LIST
    form END_OF_LIST.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    reward points if it is  usefull ...
    Girish

  • Reading a semi column delimited multi line Flat file on KM repository

    Hi,
    I have a requirement in our project to read a multi line, semi column delimited flat from kept on the Knowledge Management repository and display the contents in the Portal.
    I had tried couple of options and was unable to read the file. I am not sure which are the correct APIs I should be using.
    Can any one of the experts could guide me with the sample code, that will be great!
    Your early response is highly appreciated.
    Regards
    Venkat

    here you go.
    //******* Read file from KM
    String repository_km;
    String FileURL;
    repository_km="/documents/data/data.txt";     
      try
    //Getting the user......
      IWDClientUser wdClientUser = WDClientUser.getCurrentUser();
      IUser sapUser = wdClientUser.getSAPUser();
      com.sapportals.portal.security.usermanagement.IUser ep5User =
      WPUMFactory.getUserFactory().getEP5User(sapUser);
    //Getting the Resource.........
      IResourceContext resourseContext = new ResourceContext(ep5User);
      IResourceFactory resourseFactory = ResourceFactory.getInstance();
    //path to the KM Folder ("/documents/data/data.txt")
      RID rid= RID.getRID(repository_km);
      com.sapportals.wcm.repository.IResource resource =
      resourseFactory.getResource(rid, resourseContext);
    if (resource != null)
         String text = "";
         BufferedReader in = new BufferedReader(new InputStreamReader(resource.getContent().getInputStream()));
         int count=0;
         while ((text = in.readLine()) != null)
         strText[count] =text;
         count++;
    catch (RuntimeException e2) {
    wdComponentAPI.getMessageManager().reportException("Error in reading file from KM : "+e2.getMessage(),true);
    //                  TODO Auto-generated catch block

  • Saving an array of multi-line text cells in a format that can be read in later

    I can create an array of multi-line text entries that my program can then pick cells and compile them into a list of text.
    I would like to be able to Save the array as a file, then change my program to read in the file.
    If I use the Save Spreadsheet file vi, the data is corrupted by the carriage returns within the cells and the data read in is messed up.
    Can someone recommend a way to save the array that preserves the carriage returns?

    As far as I know, this cannot be done automatically with the basic VIs from the palletes.  I would convert the [LF] into another group of characters (likely "\n") and then save the text array to a CSV file.  Don't forget to escape any good "\" string with an extra "\.  Regular expressions would work really well:
    Just make sure you parse your entire array of strings with this.
    Olivier
    Attachments:
    SaveToCSV_WithMultiLine.vi ‏9 KB

  • Displaying a multi-line text block in an ALV grid cell

    Can I display a multi-line text block (i.e. a paragraph of text) in an ALV grid cell?
    If yes, what properties do I set in the Field Catalaog (I tried the style and that didnt seem to work)
    Thanks

    By default ALV Grid merges fields with same values vertically.
    Isn't that only when the column is part of the sort key? You also have to consider the user changing the sort sequence, which can make the text jumbled up. In one of my reports I have made the cell a hotspot and displayed the text in a popup. Of course you cannot print it.
    Cheers,
    Ramki.

  • How many lines we can print using Non-alv report list ?

    Hi Experts,
    How many lines we can print using Non-alv report list ?
    regards
    vishnu

    Hi,
    It depends on the page size according to the page size we can set the no. of lines as follows,
    REPORT  program_name   NO STANDARD PAGE HEADING
    LINE-SIZE 290
    LINE-COUNT 65.
    Hope it helps you,
    Regards,
    Abhijit G. Borkar

  • Reading Multiple lines in a file Using File Adapter

    Hi All,
    Iam new to this technology.How to read multiple lines in a file using file adapter.Brief me with the methodology.

    I didn't look at anything else but if you want to write more than one line ever to your file you should change this
    out = new FileOutputStream("Calculation.log");to this...
    out = new FileOutputStream("Calculation.log",true);A quick look at the API reveals the follow constructor FileOutputStream(File file, boolean append) append means should I add on the end of the file or over-write what is there.
    By default you over-write. So in our case we say true instead which says add on to what is there.
    At the end of that little snippet you shoudl be closing that stream as well.
    So where you have
    p.close();You should have
    p.close();
    out.close();

  • Panic when using USB 2 multi card reader

    On 2 different intel iMacs, I've got the following error using a USB2 Multi Card Reader (Shows up as a Mass Storage Device under Sys Pref):
    IOUSBMassStorageClass has corrupted the registry
    Registry - am I running windoz or something??!?!?!
    I've used this multi card reader on my G4 for a long time and never had any problems with it. On these 2 different intel iMac's it often stops importing my photos, and sometimes won't mount my memory stick cards. One one occasion I got the black/gray screen telling me to restart my computer, and that's when I got the message above. Yes, I've tried other memory cards, and a different USB cable... and at times I still loose communication with the card reader.
    Any suggestions would be great.
    Thanks!
    24" iMac 2.16 GHz Intel Core 2 Duo at Home!   Mac OS X (10.4.9)   17" iMac 1.83 GHz Intel Core 2 Duo at work!

    Hi, is your card reader Mac Intel compatible? which manufacturer?
    I would Repair Permissions then Turn Off. Disconnect everything except KB/M
    restart - I would run OnyX..then Turn Off, connect all your usb & firewire - including card reader if mac compatible! Restart..L

  • Multi Line output using Mail Adatper?

    I'm sending email using the Mail Package Format and the Mail adapter.  Is it possible to create a multi line body to produce a readable email message?
    The <Content> tag is used for the email body and adding multiple content tags does not work.  Here is the Mail Format for reference.
    <ns:Mail xmlns:ns="http://sap.com/xi/XI/Mail/30">
      <Subject></Subject>
      <From></From>
      <To>[email protected]</To>
      <Content>This is the body.</Content>
    </ns:Mail>
    Thanks for the help.
    Brian

    Brian,
       I had a similar problem. I had a rfc return that could contain multiple rows. Like this...
    <return>
      <message>Line 1</message>
      <message>Line 2</message>
      <message>Line 3</message>
    <return>
    I wanted all the messages to display in the content on their own line so in the mapping I added a advanced function called AddText so my mapping looked like this...
    message>AddText>Context
    Here's the function I used.
    String b = "";
    for (int i=0;i<a.length;i++)
    b = b + a[ i ] + "\n";
    result.addValue(b);
    Hope that helps out.
               - Emmett

  • Findind out the number of lines within a string - using buffered reader

    Hi All,
    Want to know the number of lines within a string..Sample code is there for reference..could u help me out how to have the number of lines in a string without java comments (i.e string within /**------*/ and // should be eliminated)
    public class ReadLines {
         public static void main(String[] args) throws Exception{
              ReadLines rl = new ReadLines();
              rl.readLines();
         void readLines() throws Exception{
              String str = "/** This is a test message\n"+
                   "* for testing\n"+
                   "*/\n"+
                   "import java.io.*\n"+
                   "// this is again comment\n"+
                   "public class ReadLines {\n"+
              BufferedReader reader = new BufferedReader(new StringReader(str));
              String line = "";
              int count = 0;
              while ((line = reader.readLine())!= null )
                   //line = reader.readLine();
                   count++;
              System.out.println(count);
    }Thanks
    MK

    Hi
    What you need to do is parse the file in such a way that you read /*, */ and // as tokens. By that I mean rather than read a line at a time (although I'm sure you could), read it character by character. So every time you reach a new line character then increment the counter. But there are two casaes when you don increment the counter they are:
    If you encounter a / followed by * then keep reading but if you encounter a newline character then DONT increment the counter ONLY continue counting when you read a * followed by a / (as this is the end of the comment)
    If you encounter / followed by another / then do not count that particular line and go to the next line and continue counting from there.
    Where I've written 'continue counting' this is subject to the lines that follow not conforming to the above two cases.
    I hope this helps.

  • Permanently save line spacing in a multi-line text field

    Me: Adobe Acrobat 8 Pro, Windows Vista
    (I think the people who will be using the form have Reader 7 on Windows)
    I work in a doctors' clinic, and we use phone message sheets to document conversations between the patients/us/nurses/doctors, and I scanned the form and made it into a fillable PDF for our secretaries to fill out more quickly. The "message" area has pre-printed lines on it, and the multi-line text field I placed there needs to match up to the lines. I used the Rich Text Formatting options to set it to "Exactly 24 Points," but I can't get it to KEEP the formatting permanently. The only way I could get it to save the formatting in that field was to put a space in it and then save it, and then give that to the 2 phone secretaries. It works perfectly the first time, but instead of just closing/re-opening the file to start a new message, one of the secretaries highlights everything in the "message" field and deletes it... which deletes the line spacing formatting. I've told her
    b numerous
    times to leave that starting space in the field, but she "forgets" so all of her messages look messed up. So is there a way to force that line spacing
    b PERMANENTLY
    ???? Here's a shrunken screenshot of the field -- I wish I could just erase the lines altogether so the spacing wouldn't matter, but the secretaries type/print the message out, then the nurses/docs write on the page with pen so the lines have to stay. http://img187.imageshack.us/my.php?image=notepreviewph8.jpg
    Thanks!

    You can set the font size of the text. Then play with the underlines in the original document to match the needs of the font that is used. Print to a new PDF and then use replace pages to put the new page into the form without changing the form fields. I was able to do this with a word processing document by adding underlining in the document with 12 pt and setting the font to 12 pt in the text field. You can play with the font, the border of the field, and the underlining in the original document to get the desired result. Is this optimal, probably not. However it does the job.

  • At line selection in alv report

    hi,
    i had developed a code in which at 1st execution the normal output is displayed and if i click on a purticular Itemid it displays the whole of items  and i want to display only that item's data which i had clicked on.
    following is the code which i am using for the at line-selection.
    **BEGIN - TEST CODE FOR LINE SELECTION**
    data: fld LIKE ITAB-ITEMID,
          val LIKE ITAB-ITEMID.
    at line-selection.
      get cursor field fld value val.
      IF fld = 'ITAB-ITEMID'.
            SET PARAMETER ID 'ANR' FIELD val.
            CLEAR ITAB-ITEMID.
      ENDIF.
        PERFORM PRN_SMSTOCK_ALV USING VAL.
        IF SY-SUBRC <> 0.
          MESSAGE 'NO RECORD FOUND' TYPE 'W'.
        ENDIF.
      FORM PRN_SMSTOCK_ALV USING VAL.
    *****END OF TEST CODE FOR LINE SELECTION******
    plzz help me out by providing the solution for this problem.

    Hi,
    You need to add extra piece of code as below:
    call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'
                I_callback_user_command = 'USER_COMMAND'   "see FORM
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
                i_save                  = 'X'
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
    *       FORM USER_COMMAND                                          *
    *       --> R_UCOMM                                                *
    *       --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    * Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
    *   Check field clicked on within ALVgrid report
        IF rs_selfield-fieldname = 'EBELN'.
    *     Read data table, using index of row user clicked on
          READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
    *     Set parameter ID for transaction screen field
          SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
    *     Sxecute transaction ME23N, and skip initial data entry screen
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDCASE.
    ENDFORM.
    "For further information please refer the link below :
    http://www.sapdev.co.uk/reporting/alv/alvgrid_ucomm.htm
    Thanks,
    Sriram Ponna.

Maybe you are looking for

  • HT1212 after ipod is restored how do i put the music back on the ipod?

    After you restore your ipod how do you download the music back on the ipod from icloud or your computer where its backed up?

  • Imac not connecting to ibook

    My home network is set up so that my iMac is wired to the router and the iBook is connected via WiFi to the router. When I try to connect to the iBook from the iMac, I get a notice that the server cannot connect. However, when I connect to the iMac f

  • Canoscan 8600f

    Updated to Leopard now scanner CANONSCAN 8600F (which worked fine before) won't copy, and will only scan one page before message recieved cannot communicate with scanner! Any ideas plse? I haven't found the CANON website much help!

  • [solved] makepkg puts parentheses around .install filename

    Hello, I am trying to install brscan2 from AUR. When I run makepkg -i, I get the following: ==> ERROR: install file ((brscan2.install)) does not exist. When I echo the $install variable from inside the PKGBUILD, it shows correctly as brscan2.install.

  • Reminders (Mac) Search not working!

    Hi, If I search for reminders on my Mac, nothing can be found. Even reminders that are obviously there, cannot be found. It desplays 0 results. Searching for reminders on my iPhone or directly in iCloud are fine--reminders are found and displayed. Bu