Need more than 255 character to show data in print program

Hi All,
  I am using read_text FM. We have 8 lines in itab almost 2000 character.
Now I want to show it in my smartforms. I used concatenate lines of itab into result separated by space.
But here I am getting only 255 character in our result. Can any body help me out to resolve this problem.
Thanks,
Rakesh

Hi,
No need to use the FM Read_text. use include text instead of text element and pass the required field value combination, then SAP will automatically display it.
Pass the details to
Text Name
Text Object
Text ID
Language
Regards
Shiva

Similar Messages

  • Need help in EMAIL Sending -  more than 255 character length

    Hi Guys,
    Please help me in sending the Email attachment which has more than 255 character lengh using 'TXT format.
    if i create an internal table having a field of type char225.
    then break ur each record into many parts having len <= 255.
    how can i mingle both lines to single line in the output list.
    Please help me ..
    thanks in advance..
    Prabhu

    Hi,
    Check the following link:
    http://www.sap-img.com/abap/sending-email-with-attachment.htm
    Regards,
    Bhaskar

  • I need more than 255 charater value return from the table control screen.

    Hi guys,
    I used this function module to get the dynamic table control value changes, but it export me back only 255 character value.
    because the 'DYNPFIELDS' internal table structure hold only 255 character. kindly help me in this reg to get more than 255 character length.
    or any other solution.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          DYNAME     = '/A1SSPC/USR_RALG_FILL'
          DYNUMB     = '1000'
        TABLES
          DYNPFIELDS = TBDYNPFIELDS.
    kindly provide me if you have any solution.
    reg,
    hari

    Hi,
    Try using the Text Editor for more info go throught the Control Examples
    Utilities--> Examples -->  Control Examples in SE38
    Regards
    Ramchander Rao.K

  • Sending mail with excel  more than 255 character in a line

    Dears,
    In my program , I use SO_NEW_DOCUMENT_ATT_SEND_API1  to send email with EXCEL attacment.
    But when i want output a line more than 255 characters  in the excel I met the problem, it only appeared 255 characters
    describe table mailbin lines tab_lines.
        mailpack-transf_bin = c_checked.
        mailpack-head_start = 1.
        mailpack-head_num = 1.
        mailpack-body_start = 1.
        mailpack-body_num = tab_lines.
        mailpack-doc_type = c_xls.
        mailpack-obj_name = space.
        mailpack-obj_descr = lv_mail_title. "the excel file name
        mailpack-doc_size = tab_lines * 255.
        append mailpack.
    * Sending the document
          call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
            exporting
              document_data              = maildata
              put_in_outbox              = space
              commit_work                = c_checked
            tables
              packing_list               = mailpack
              object_header              = mailhead
              contents_bin               = mailbin
              contents_txt               = mailtxt
              receivers                  = mailrec
            exceptions
              too_many_receivers         = 1
              document_not_sent          = 2
              operation_no_authorization = 4
              others                     = 99.
    But i have to output those characters in one line.
    Anyone could help me?
    Thanks a lot.
    Sincerely,
    Julie

    data: objpack    like sopcklsti1 occurs 2 with header line.
    data: objhead    like solisti1 occurs 1 with header line.
    data: objbin     like solisti1 occurs 10 with header line,
            is_objbin  type  solisti1 .
    data: objtxt     like solisti1 occurs 10 with header line,
            is_objtxt  type solisti1 .
      data: l_tab(1)   type c value cl_abap_char_utilities=>horizontal_tab,
           con_cret   type c value cl_abap_char_utilities=>cr_lf.
    data: tab_lines  like sy-tabix,
            : tab_lines1 like sy-tabix.
      data : lenth_string type string,
            s_string     type string.
    data : L type i, i type i,cplen type i, balance type i,
    before describe table mailbin lines tab_lines ... Use below logic.
    Loop at your_internaltable.
    concatenate field_1
                field_2
                field_3
           into lenth_string separated by l_tab.
    concatenate  lenth_string con_cret into lenth_string.  
    concatenate s_string lenth_string into s_string.
    endloop.
           L = strlen( s_string ).
           i = 0.
           cplen = 255.
           balance = l.
        do.
          if balance <= 0.
            exit.
          endif.
          if balance < 255.
            cplen = balance.
          else.
            cplen = 255.
          endif.
          objbin = s_string+i(cplen).
          i = i + cplen.
          balance = balance - cplen.
          append objbin.
        enddo. 
    ...... after this use ur exesting code....describe table mailbin lines tab_lines and so
        describe table objbin lines tab_lines1.
        clear objpack-transf_bin.
        objpack-transf_bin = ' '.
        objpack-head_start = 1.
        objpack-head_num = 1.
        objpack-body_start = 1.
        objpack-body_num = tab_lines1.
        objpack-obj_langu = 'E'.
        objpack-doc_type = 'XLS'.
    call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        exporting
    -tables
          packing_list               = objpack
          object_header              = objhead
          contents_bin               = objbin
          receivers                  = reclist
    Regards,
    Sri.
    Edited by: sridhar arjunan on Jul 28, 2009 4:22 PM
    Edited by: sridhar arjunan on Jul 28, 2009 4:23 PM

  • How to accomodate more than 255 characters in character field

    HI All
    i need to accomodate more than 255 characters in character field. How can i do that ?
    thanks in advance!!!

    Hi,
    You can try the following things:
    1. Use a datatype STRING and check it will work.
    2. In se11 transaction goto datatype and search for char* in data elements.
    You will find predefined data types ,you can make use of it.
    For eg. char2000,char3000,char4000 etc.
    Hope this will help.
    Regards,
    Nitin.

  • Inserting data with more than 255 characters in to MSACCESS through JDBC

    Hi All,
    I have developed a product using servlets,JDBC,HTML.The backend is MS access database.
    I have to provide an option for the user to key in more than 255 characters of data in the textarea & then store it in the access database.But i read that access ODBC driver has a limit of 255 characters.Is this correct.
    I tried changing the Datatype of the field from text to Memo field in MS ACCESS.But when i insert the data using setString method of the PreparedStatement ,it's giving the following SQL exception:SQLException caught:[Microsoft][ODBC Microsoft Access Driver]String data, right truncated (null)
    How do i let an user key in more than 255 characters.Can somebody help me on this please ASAP as this is a very crucial issue which i need to solve by tomorrow.
    Thanks in Advance
    GCR

    hi rashmi,
    HOw bout using CLOB facility to store such large strings?? try it.
    Cheers,
    -Jer

  • Unable to read more than 255 characters in a string data type.

    Hello,
    I am using Crystal Reports version 11.5.8.826 to generate reports from databases such as MS-Excel & BaaN.
    In Excel, there are records which carry string lengths of more than 255 characters. All though the fields are getting displayed in the report, the data being displayed gets truncated once it reaches a length of 255 characters.
    Kindly provide me with a solution this problem.
    Regards

    Hello Manish,
    I know that older versions of Crystal (Crystal 10 and older ) had a limitation of only 256 Characters for a string value.  You should be able to use this code to get what  you need. 
    We were successfully able to print out the Declaration of Independence through a Crystal report using something very similiar to this.
    u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2013
    Shared StringVar Array strings;
    Shared NumberVar arrayMax := 1;
    Shared NumberVar maxLength := 250;
    Shared BooleanVar firstTime := true;
    Redim strings[arrayMax];
    strings[1] := u201Cu201D;
    u2018done!u2019
    u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2013
    Here is my main loop that I used in the group header:
    u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2013
    WhilePrintingRecords;
    Shared StringVar Array strings;
    Shared NumberVar arrayMax;
    Shared NumberVar maxLength;
    Shared BooleanVar firstTime;
    Local StringVar enteredString;
    Local NumberVar lenStr;
    Local NumberVar lenArr;
    Local NumberVar lenLeft;
    enteredString := [Field Name];
    enteredString := IIF(firstTime,enteredString, u201C, u201D & enteredString);
    firstTime := false;
    lenStr := Length(enteredString);
    lenArr := Length(strings[arrayMax]);
    lenLeft := maxLength u2013 lenArr;
    if (lenLeft >= lenStr) then
    strings[arrayMax] := strings[arrayMax] & enteredString;
    u201D
    else
    strings[arrayMax] := strings[arrayMax] & left(enteredString, lenLeft);
    arrayMax := arrayMax + 1;
    redim preserve strings[arrayMax];
    strings[arrayMax] := u201Cu201D;
    strings[arrayMax] := strings[arrayMax] & right(enteredString, lenStr u2013 lenLeft);
    u201D
    u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2013
    and then to display the different sets in the text area. I would have one of these for every element I need displayed and change the display number variable.
    u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2013
    Shared StringVar Array strings;
    Shared NumberVar arrayMax;
    Local NumberVar displayNumber := [element in array];
    if(arrayMax >= displayNumber) then
    strings[displayNumber];
    else
    u201D;
    u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2013
    I like this version better because the array is completely dynamic. It can be as big or as small as it needs to be.  There is always room for optimizations.  But hopefully this will get you started on the right path.
    Jenny

  • How to transfer data more than 255 char from excel sheet to internal table.

    Hello Experts,
    I have a requirement where i have a text field in the excel sheet of more than 255 char and need to be updated in the text element. To do that i need to transfer the excel sheet data to an internal table where one of the field is more than 255 char.
    in the standard function module it works only upto 255 char. Can you help me if we have some other way to get more than 255 char in the internal table from excel sheet.
    Thanks in Advance.
    BR,
    RaJ.

    Using .xls, it is not possible transfer data more than 255 characters from excel sheet. However if the excel sheet is saved as Comma Delimited format or Tab Delimited format, then using GUI_DOWNLOAD function module data more than 255 characters can be transferred.
    File name should be : .csv (Comma Delimited format)  or .txt (Tab Delimited format)
    File Type would still remain 'ASC' while calling function module GUI_DOWNLOAD
    Also In the internal table declare the field type as String or LCHAR.
    Eg:
    TYPES: begin of ty_file,
            col_a TYPE string,
          end of ty_file.
    DATA: i_file type standard table
                   of ty_file
                 with header line
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      =  'C:\test.csv'
      TABLES
        DATA_TAB                      = i_file

  • More than 255 characters need to be populated in text file of destination.

    Dear experts,
    i am having following scenario in which i am sending the file to a destination system through RFC connection which is having more than 255 characters, But it is not allowing me to enter more than 255
    The code i have written is mentioned below,
    lv_string = '///++++#####$$&&^%$%@$$@@(&@&@#%@&%#464(@)))(@&@&&@*&@)@(&@@%&%&@&@*@&@&&*@&*****^&&*&%$%$$#$##@#$@%%&&*******(((((((((((((((&!@#$$%%%&&(()))_(**&&&&&^^^^%%%%$$$$###'.
    itab-l_string = lv_string.
    CONCATENATE itab-l_string itab-l_string itab-l_string into itab-l_string.
    CONDENSE itab-l_string.
    Append Itab.
    call function 'RFC_REMOTE_FILE'
        DESTINATION 'BJRFC'
        EXPORTING
        FILE = 'D:\tmp\test_ster3.txt'
        WRITE = 'X'
    *FILETYPE = ''
        TABLES
        FILEDATA = itab
        exceptions
        system_failure = 1 message dg_ermsg
        communication_failure = 2 message dg_ermsg.
    Can anybody suggest me how to fetch the requireoutput.

    Dear alex,
    With this output the the following cases appearing in system,
    1) rfc connection is getting failed due to excess length, no file generated
    2)Some times o/p file getting generated with 0KB, i mean there is no data in the output.
    Once agian i am putting the code here
    Kindl suggest
    *& Report  Z_ZIC_ZI001
    REPORT  Z_ZIC_ZI001 line-SIZE 250.
    Data : lv_string type string,
           dg_ermsg TYPE char120.
    Types : begin of ty_itab,
          l_string(2050) type c,
           l_string type string,
          end of ty_itab.
    data : itab type ty_itab occurs 0 with HEADER LINE.
    lv_string = 'I am having following scenario in which i am sending the file to a destination system through RFC connection which is having more than 255 characters, But it is not allowing to enter more than 255 XXXXXXXXXXXXXXFFAFFAGAGAGAGAGG'.
    CONCATENATE  lv_string lv_string lv_string into lv_string.
    CONDENSE lv_string.
    *while strlen( lv_string ) > 255.
        itab-l_string = lv_string+0(255).
        append itab.
        lv_string = lv_string+255.
    *endwhile.
    itab-l_string = lv_string.
    append itab.
    call function 'RFC_REMOTE_FILE'
        DESTINATION 'BJRFC'
        EXPORTING
        FILE = 'D:\tmp\test_ster5.txt'
        WRITE = 'X'
    *FILETYPE = ''
        TABLES
        FILEDATA = itab
        exceptions
        system_failure = 1 message dg_ermsg
        communication_failure = 2 message dg_ermsg.
    if sy-subrc = 0.
    write : 'success'.
    else .
       write : dg_ermsg.
    endif.

  • The CSV file on the application server not showing more than 255 characters

    Hi All,
    We are using SAP 4.6C & the CSV file getting created on the application server has more than 255 characters, all the characters beyond 255 are getting truncated, even while downloading the file the same no. of characters are coming in the file.
    Can any one please let me know how can we overcome the problem in SAP 4.6C?

    Hi Buddy,
       You can't display morethan 255 Char. If you see the fun mod you will see the  the limit,I also faced the same problem. Probably you start checking by adding fields one by one or you have to reduce the length of some fields in order to display the full data in CSV.
    Thanks,
    Krishna...

  • More than 255 characters in background

    HI,
    My report width is 275 which is displaying when run in front ground. but when run in background it truncates after the 255 characters.
    We have created a format using 'SPAD' of width 300, area is showing but the data is not showing after 255.
    I have mention line-size 275 in report, i tried this without mentioning line-size but the result is same. it gets truncates after 255, empty area is showing after 255 if we use width 300 format...
    Thanks

    Hi,
    After creation of the new format, run the job with the new format ie. attach the new format to your printer, and run the job.
    Now take the spool number and put it as a parameters to the following program .
    Hope it work fine.
    Rewards points if useful.
    Here is the code: 
    Display spool list > 255 columns 
    This is a SAP utility report to allow display of 
    spool request lists with more than 255 columns in 
    releases 4.6B and 4.6C (4.6D kernel must be used) 
    REPORT ZRSPOSHOWLIST LINE-SIZE 80. 
    PARAMETERS: RQIDENT LIKE TSP01-RQIDENT, 
    FIRSTL TYPE I DEFAULT 0, 
    LASTL TYPE I DEFAULT 0. 
    global data from LSPOXTOP 
    DATA: RC(10) TYPE C, 
    ERRMSG(100) TYPE C, 
    STATUS LIKE SY-SUBRC, 
    DSN_TYPE(8) TYPE C. 
    DATA: BEGIN OF DATA_SET_LINE, 
    DATA_LENGTH(5), 
    PRECOL(1), 
    DATA_LINE(1000), 
    DATA_LINE(5000), "MODAB 
    END OF DATA_SET_LINE, 
    DATA_SET_LENGTH(5) TYPE C. 
    TABLES: TSP01, TST05, TSPOPTIONS. 
    DATA: TEMSE_NAME LIKE TST01-DNAME, 
    TEMSE_CLIENT LIKE TST01-DCLIENT, 
    TEMSE_HANDLE LIKE RSTSTYPE-HANDLE, 
    TEMSE_PART LIKE TST01-DPART, 
    TEMSE_OBJTYP LIKE TST01-DTYPE, 
    TEMSE_RECTYP LIKE RSTSTYPE-RECTYP, 
    TEMSE_CHARCO LIKE TST01-DCHARCOD. 
    DATA: IS_OTF. 
    global data from LSPOCTOP 
    DATA: BEGIN OF SPOC 
    , escape 
    , prtctrl 
    , FIRST_BYTES(4) " collection of the first bytes of the 
    " escape sequences, which I am searching for. 
    , PRTCTRL_START_LENGTH TYPE I 
    , PRTCTRL_TOTAL_LENGTH TYPE I 
    , PRTCTRL_START(10) 
    , SYMBOL_LOW_START(10) 
    , SYMBOL_HGH_START(10) 
    , SYMBOL_START_LENGTH TYPE I 
    , ICON_START(10) 
    , ICON_START_LENGTH TYPE I 
    , ICON_SEL TYPE I VALUE 1 
    , FRAME_START(10) 
    , FRAME_START_LENGTH TYPE I 
    , END OF SPOC. 
    FIELD-SYMBOLS:  TYPE C 
    copied from RSPO_DISPLAY_ABAP_SPOOLJOB 
    DATA: BUFFER LIKE DATA_SET_LINE OCCURS 1000. 
    TABLES: TSP02L. 
    SELECT SINGLE * FROM TSP01 WHERE RQIDENT = RQIDENT. 
    IF SY-SUBRC <> 0. 
    WRITE: / 'Spool request does not exist:'(001), RQIDENT. 
    EXIT. 
    ENDIF. 
    CALL FUNCTION 'RSPO_CHECK_JOB_PERMISSION' 
    EXPORTING 
    ACCESS = 'DISP' 
    SPOOLREQ = TSP01 
    EXCEPTIONS 
    NO_PERMISSION = 1 
    OTHERS = 2. 
    IF SY-SUBRC <> 0. 
    WRITE: / 'No authorization to display'(002). 
    EXIT. 
    ENDIF. 
    PERFORM READ_DATA TABLES BUFFER 
    USING TSP01 FIRSTL LASTL. 
    IF SY-SUBRC <> 0. 
    WRITE: / 'Error reading spoolo request'(003). 
    EXIT. 
    ENDIF. 
    IF IS_OTF = 'X'. 
    WRITE: / 'This spool request is not an ABAP list'(004). 
    EXIT. 
    ENDIF. 
    PERFORM DISPLAY_DATA TABLES BUFFER USING TSP01-RQPAPER TSP01-RQIDENT. 
    FORM GET_SPOOL_LINE. 
    DO. 
    IF TEMSE_RECTYP+1(1) = 'Y'. 
    CALL 'C_RSTS_READ' 
    ID 'HANDLE' FIELD TEMSE_HANDLE 
    ID 'BUFF' FIELD DATA_SET_LINE 
    ID 'BUFFLG' FIELD 1006 
    ID 'BUFFLG' FIELD 5006 "MODAB 
    ID 'ALLINE' FIELD 'X' 
    ID 'BINARY' FIELD ' ' 
    ID 'SHOWLG' FIELD 'X' 
    ID 'RC' FIELD RC 
    ID 'ERRMSG' FIELD ERRMSG. 
    STATUS = SY-SUBRC. 
    ELSE. 
    CALL 'C_RSTS_READ' 
    ID 'HANDLE' FIELD TEMSE_HANDLE 
    ID 'BUFF' FIELD DATA_SET_LINE+1 
    ID 'BUFFLG' FIELD 1005 
    ID 'BUFFLG' FIELD 5005 "MODAB 
    ID 'ALLINE' FIELD 'X' 
    ID 'BINARY' FIELD ' ' 
    ID 'SHOWLG' FIELD 'X' 
    ID 'RC' FIELD RC 
    ID 'ERRMSG' FIELD ERRMSG. 
    STATUS = SY-SUBRC. 
    DATA_SET_LINE(5) = DATA_SET_LINE+1(5). 
    DATA_SET_LINE-PRECOL = ' '. 
    ADD 1 TO DATA_SET_LINE-DATA_LENGTH. 
    ENDIF. 
    STATUS = SY-SUBRC. 
    IF STATUS <> 6. " EOF, error condition, or got data 
    EXIT. 
    ENDIF. 
    end of this part, try to open next part 
    ADD 1 TO TEMSE_PART. 
    CALL 'C_RSTS_CLOSE' 
    ID 'HANDLE' FIELD TEMSE_HANDLE 
    ID 'RC' FIELD RC 
    ID 'ERRMSG' FIELD ERRMSG. 
    STATUS = SY-SUBRC. 
    IF STATUS = 0. 
    CALL FUNCTION 'RSTS_GET_ATTRIBUTES' 
    EXPORTING 
    AUTHORITY = 'SP01' 
    CLIENT = TEMSE_CLIENT "hjl 
    NAME = TEMSE_NAME 
    PART = TEMSE_PART 
    IMPORTING 
    CHARCO = TEMSE_CHARCO 
    CREATER = 
    CREDATE = 
    DELDATE = 
    MAX_CREDATE = 
    MAX_DELDATE = 
    NON_UNIQ = 
    NOOF_PARTS = 
    RECTYP = TEMSE_RECTYP 
    SIZE = 
    STOTYP = 
    type = 
    OBJTYPE = TEMSE_OBJTYP 
    EXCEPTIONS 
    FB_ERROR = 1 
    FB_RSTS_OTHER = 2 
    NO_OBJECT = 3 
    NO_PERMISSION = 4 
    OTHERS = 5. 
    STATUS = SY-SUBRC. 
    ENDIF. 
    IF STATUS = 0. 
    CALL 'C_RSTS_OPEN_READ' 
    ID 'HANDLE' FIELD TEMSE_HANDLE 
    ID 'CLIENT' FIELD TEMSE_CLIENT "hjl 
    ID 'NAME' FIELD TEMSE_NAME 
    ID 'PART' FIELD TEMSE_PART 
    ID 'TYPE' FIELD TEMSE_OBJTYP 
    ID 'CONV' FIELD ' ' 
    ID 'ALLINE' FIELD 'X' 
    ID 'BINARY' FIELD ' ' 
    ID 'RECTYP' FIELD TEMSE_RECTYP 
    ID 'CHARCO' FIELD TEMSE_CHARCO 
    ID 'PROM' FIELD 'I' 
    ID 'RC' FIELD RC 
    ID 'ERRMSG' FIELD ERRMSG. 
    STATUS = SY-SUBRC. 
    ENDIF. 
    ENDDO. 
    IF STATUS = 4. 
    STATUS = 12. "EOF 
    ENDIF. 
    IF STATUS = 8. 
    STATUS = 40. "Line too long 
    ENDIF. 
    DATA_SET_LENGTH = DATA_SET_LINE-DATA_LENGTH. 
    ENDFORM. 
    FORM READ_DATA TABLES BUFFER 
    USING TSP01 LIKE TSP01 VALUE(FIRST) TYPE I 
    VALUE(LAST) TYPE I. 
    DATA: LINES TYPE I. 
    REFRESH BUFFER. 
    CLEAR IS_OTF. 
    TEMSE_CLIENT = TSP01-RQCLIENT. 
    TEMSE_NAME = TSP01-RQO1NAME. 
    TEMSE_PART = 1. 
    CALL FUNCTION 'RSTS_GET_ATTRIBUTES' 
    EXPORTING 
    AUTHORITY = 'SP01' 
    CLIENT = TEMSE_CLIENT 
    NAME = TEMSE_NAME 
    PART = TEMSE_PART 
    IMPORTING 
    CHARCO = TEMSE_CHARCO 
    CREATER = 
    CREDATE = 
    DELDATE = 
    MAX_CREDATE = 
    MAX_DELDATE = 
    NON_UNIQ = 
    NOOF_PARTS = 
    RECTYP = TEMSE_RECTYP 
    SIZE = 
    STOTYP = 
    type = 
    OBJTYPE = TEMSE_OBJTYP 
    EXCEPTIONS 
    FB_ERROR = 1 
    FB_RSTS_OTHER = 2 
    NO_OBJECT = 3 
    NO_PERMISSION = 4 
    OTHERS = 5. 
    IF SY-SUBRC = 0. 
    IF TEMSE_OBJTYP(3) = 'OTF'. 
    IS_OTF = 'X'. 
    ENDIF. 
    ELSE. 
    EXIT. 
    ENDIF. 
    CLEAR TEMSE_HANDLE. 
    CALL 'C_RSTS_OPEN_READ' 
    ID 'HANDLE' FIELD TEMSE_HANDLE 
    ID 'CLIENT' FIELD TEMSE_CLIENT "hjl 
    ID 'NAME' FIELD TEMSE_NAME 
    ID 'PART' FIELD TEMSE_PART 
    ID 'TYPE' FIELD TEMSE_OBJTYP 
    ID 'CONV' FIELD ' ' 
    ID 'ALLINE' FIELD 'X' 
    ID 'BINARY' FIELD ' ' 
    ID 'RECTYP' FIELD TEMSE_RECTYP 
    ID 'CHARCO' FIELD TEMSE_CHARCO 
    ID 'PROM' FIELD 'I' 
    ID 'RC' FIELD RC 
    ID 'ERRMSG' FIELD ERRMSG. 
    STATUS = SY-SUBRC. 
    IF STATUS = 0. 
    DO. 
    PERFORM GET_SPOOL_LINE. 
    IF STATUS <> 0 AND STATUS <> 40 AND STATUS <> 12. 
    PERFORM CLOSE_JOB. 
    EXIT. 
    ENDIF. 
    IF STATUS <> 12. " 12 = End 
    IF NOT ( DATA_SET_LENGTH IS INITIAL ). 
    DATA_SET_LINE-DATA_LENGTH = DATA_SET_LENGTH - 1. 
    ENDIF. 
    ADD 1 TO LINES. 
    IF LINES >= FIRST. 
    APPEND DATA_SET_LINE TO BUFFER. 
    ENDIF. 
    IF ( NOT LAST IS INITIAL ) AND ( LINES >= LAST ). 
    EXIT. 
    ENDIF. 
    ELSE. 
    IF LINES = 0. 
    PERFORM CLOSE_JOB. 
    EXIT. 
    ENDIF. 
    IF LINES < FIRST . 
    PERFORM CLOSE_JOB. 
    EXIT. 
    ENDIF. 
    EXIT. 
    ENDIF. 
    ENDDO. 
    PERFORM CLOSE_JOB. 
    ENDIF. 
    ENDFORM. 
    FORM CLOSE_JOB * 
    FORM CLOSE_JOB. 
    IF STATUS <> 0 AND STATUS <> 12. 
    CALL 'C_RSTS_CLOSE' 
    ID 'HANDLE' FIELD TEMSE_HANDLE 
    ID 'RC' FIELD RC 
    ID 'ERRMSG' FIELD ERRMSG. 
    MESSAGE E112(PO) WITH STATUS RC ERRMSG RAISING READ_ERROR. 
    ENDIF. 
    CALL 'C_RSTS_CLOSE' 
    ID 'HANDLE' FIELD TEMSE_HANDLE 
    ID 'RC' FIELD RC 
    ID 'ERRMSG' FIELD ERRMSG. 
    STATUS = SY-SUBRC. 
    IF STATUS <> 0. 
    MESSAGE E112(PO) WITH STATUS RC ERRMSG RAISING READ_ERROR. 
    ENDIF. 
    ENDFORM. 
    FORM DISPLAY_DATA TABLES BUFFER USING RQPAPER LIKE TSP01-RQPAPER
    RQID LIKE TSP01-RQIDENT. 
    DATA: LINE_LENGTH TYPE I, GCOL TYPE I, GLINES TYPE I, 
    LINE_LENGTH2 LIKE RSTSTYPE-LINELENGTH, 
    V, V2. 
    CALL FUNCTION 'RSPO_SPOOLDATA_WRITE_INIT'. 
    PERFORM SPOOLDATA_WRITE_INIT. "MODAB 
    select single * from tspoptions where spoption = 'REALWIDTH'. 
    if sy-subrc = 0. 
    V = 'X'. 
    endif. 
    select single * from tspoptions where spoption = 'REALHEIGHT'. 
    if sy-subrc = 0. 
    V2 = 'X'. 
    endif. 
    IF NOT V IS INITIAL OR NOT V2 IS INITIAL. 
    GCOL = 0. 
    GLINES = 0. 
    SELECT SINGLE * FROM TSP02L WHERE PJIDENT = RQID 
    AND PJNUMMER = 0. 
    IF SY-SUBRC = 0. 
    GCOL = TSP02L-COLUMNS. 
    GLINES = TSP02L-LINES. 
    ELSE. 
    CALL FUNCTION 'RSPO_GET_SIZE_OF_LAYOUT' 
    EXPORTING 
    LAYOUT = RQPAPER 
    IMPORTING 
    ANSWER = 
    COLUMNS = GCOL 
    LINES = GLINES 
    PFORMAT = 
    ENDIF. 
    ENDIF. 
    IF GCOL < 80 OR V IS INITIAL. 
    GCOL = 255. 
    ENDIF. 
    IF GLINES < 5 OR V2 IS INITIAL. 
    GLINES = 0. 
    ENDIF. 
    IF GCOL >= 1024. "MODAB 
    GCOL = 1023. 
    ENDIF. 
    NEW-PAGE NO-HEADING NO-TITLE LINE-SIZE GCOL 
    LINE-COUNT GLINES. " make a wide list 
    SET BLANK LINES ON. 
    LOOP AT BUFFER. 
    DATA_SET_LINE = BUFFER. 
    IF DATA_SET_LINE-PRECOL = 'P'. 
    IF DATA_SET_LINE(1) = ' '. " Echter Vorschub ?" 
    NEW-PAGE. 
    ENDIF. 
    CONTINUE. 
    ENDIF. 
    Zeilenlänge berechnen, falls unbekannt. 
    IF DATA_SET_LINE-DATA_LENGTH IS INITIAL. 
    LINE_LENGTH = STRLEN( DATA_SET_LINE-DATA_LINE ). 
    ELSE. 
    LINE_LENGTH = DATA_SET_LINE-DATA_LENGTH. 
    ENDIF. 
    IF LINE_LENGTH > 0. 
    LINE_LENGTH2 = LINE_LENGTH. 
    PERFORM SPOOLDATA_WRITE USING DATA_SET_LINE-DATA_LINE "MODAB 
    LINE_LENGTH2 
    1. 
    ELSE. 
    " Leerzeile 
    SKIP. 
    ENDIF. 
    ENDLOOP. 
    ENDFORM. 
    copied from RSPO_SPOOLDATA_WRITE 
    FORM SPOOLDATA_WRITE USING VALUE(SPOOL_DATA) 
    VALUE(DATA_LENGTH) LIKE RSTSTYPE-LINELENGTH 
    VALUE(START_POS) LIKE SY-COLNO. 
    function globals 
    DATA: LPOS LIKE SY-COLNO 
    , REST_LEN TYPE I 
    , AREA_LEN TYPE I 
    , NEXT_HOT TYPE I " offset of next special character 
    , COLS TYPE I " columns used by special character 
    , BYTES TYPE I " bytes used by special character 
    , HOT2 
    , HOT3 
    , HOT4 
    , HOT5 
    , HOT6 
    , HOT7 
    , BEGIN OF ESCAPE_TRICK 
    , X1(1) TYPE X 
    , END OF ESCAPE_TRICK 
    , THE_PRTCTRL(5) TYPE C 
    Because of a problem within the ABAP listprocessing, I shall 
    never output the same icon side by side with the same color 
    and without a gap. 
    As I don't know the data, I will use two different variables 
    alternatively. 
    , ICON_ID1 LIKE ICONS-L4 
    , ICON_ID2 LIKE ICONS-L4. 
    FIELD-SYMBOLS:  
    IF START_POS < 2. 
    write at / ' ' no-gap. 
    NEW-LINE. 
    LPOS = 1. 
    ELSE. 
    LPOS = START_POS. 
    ENDIF. 
    REST_LEN = STRLEN( SPOOL_DATA ). 
    DESCRIBE FIELD SPOOL_DATA LENGTH AREA_LEN. 
    IF DATA_LENGTH = 0. 
    " fine. 
    ELSEIF DATA_LENGTH . 
    MODAB
    PERFORM WRITE_BIGFIELD USING  
    NEXT_HOT 
    LPOS. 
    WRITE AT LPOS <PLAIN_TEXT> NO-GAP. 
    ADD NEXT_HOT TO LPOS. 
    SUBTRACT NEXT_HOT FROM REST_LEN. 
    ASSIGN +6(1). 
    ELSE. 
    HOT7 = '?'. 
    ENDIF. 
    ELSE. 
    HOT6 = '?'. 
    ENDIF. 
    ELSE. 
    HOT5 = '?'. 
    ENDIF. 
    IF HOT5 = SPACE. 
    IF HOT6 = SPACE. 
    IF HOT7 = SPACE. 
    IF SPOC-ICON_SEL = 1. 
    WRITE AT LPOS(4) ICON_ID1 AS ICON. 
    write at lpos icon_id1 as icon no-gap. 
    ELSE. 
    WRITE AT LPOS(4) ICON_ID2 AS ICON. 
    write at lpos icon_id2 as icon no-gap. 
    ENDIF. 
    COLS = 4. 
    BYTES = 7. 
    ELSE. 
    IF SPOC-ICON_SEL = 1. 
    WRITE AT LPOS(3) ICON_ID1 AS ICON. 
    write at lpos icon_id1 as icon no-gap. 
    ELSE. 
    WRITE AT LPOS(3) ICON_ID2 AS ICON. 
    write at lpos icon_id2 as icon no-gap. 
    ENDIF. 
    COLS = 3. 
    BYTES = 6. 
    ENDIF. 
    ELSE. 
    IF SPOC-ICON_SEL = 1. 
    WRITE AT LPOS(2) ICON_ID1 AS ICON. 
    write at lpos icon_id1 as icon no-gap. 
    ELSE. 
    WRITE AT LPOS(2) ICON_ID2 AS ICON. 
    write at lpos icon_id2 as icon no-gap. 
    ENDIF. 
    COLS = 2. 
    BYTES = 5. 
    ENDIF. 
    ELSE. 
    "rite at lpos(1) icon_id as icon. 
    WRITE AT LPOS(1) '#' NO-GAP. " Not enough space for any icon. 
    COLS = 1. 
    BYTES = 4. 
    ENDIF. 
    ENDIF. 
    IF . 
    ELSE. 
    EXIT. 
    ENDIF. 
    ENDWHILE. 
    MODAB 
    IF REST_LEN > 0. 
    ASSIGN . 
    SPOC-FIRST_BYTES+0(1) = SPOC-PRTCTRL_START(1). 
    SPOC-FIRST_BYTES+1(1) = SPOC-FRAME_START(1). 
    SPOC-FIRST_BYTES+2(1) = SPOC-ICON_START(1). 
    SPOC-FIRST_BYTES+3(1) = SPOC-SYMBOL_LOW_START(1). 
    ENDFORM.

  • Row chaining in table with more than 255 columns

    Hi,
    I have a table with 1000 columns.
    I saw the following citation: "Any table with more then 255 columns will have chained
    rows (we break really wide tables up)."
    If I insert a row populated with only the first 3 columns (the others are null), is a row chaining occurred?
    I tried to insert a row described above and no row chaining occurred.
    As I understand, a row chaining occurs in a table with 1000 columns only when the populated data increases
    the block size OR when more than 255 columns are populated. Am I right?
    Thanks
    dyahav

    user10952094 wrote:
    Hi,
    I have a table with 1000 columns.
    I saw the following citation: "Any table with more then 255 columns will have chained
    rows (we break really wide tables up)."
    If I insert a row populated with only the first 3 columns (the others are null), is a row chaining occurred?
    I tried to insert a row described above and no row chaining occurred.
    As I understand, a row chaining occurs in a table with 1000 columns only when the populated data increases
    the block size OR when more than 255 columns are populated. Am I right?
    Thanks
    dyahavYesterday, I stated this on the forum "Tables with more than 255 columns will always have chained rows." My statement needs clarification. It was based on the following:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/schema.htm#i4383
    "Oracle Database can only store 255 columns in a row piece. Thus, if you insert a row into a table that has 1000 columns, then the database creates 4 row pieces, typically chained over multiple blocks."
    And this paraphrase from "Practical Oracle 8i":
    V$SYSSTAT will show increasing values for CONTINUED ROW FETCH as table rows are read for tables containing more than 255 columns.
    Related information may also be found here:
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96524/c11schem.htm
    "When a table has more than 255 columns, rows that have data after the 255th column are likely to be chained within the same block. This is called intra-block chaining. A chained row's pieces are chained together using the rowids of the pieces. With intra-block chaining, users receive all the data in the same block. If the row fits in the block, users do not see an effect in I/O performance, because no extra I/O operation is required to retrieve the rest of the row."
    http://download.oracle.com/docs/html/B14340_01/data.htm
    "For a table with several columns, the key question to consider is the (average) row length, not the number of columns. Having more than 255 columns in a table built with a smaller block size typically results in intrablock chaining.
    Oracle stores multiple row pieces in the same block, but the overhead to maintain the column information is minimal as long as all row pieces fit in a single data block. If the rows don't fit in a single data block, you may consider using a larger database block size (or use multiple block sizes in the same database). "
    Why not a test case?
    Create a test table named T4 with 1000 columns.
    With the table created, insert 1,000 rows into the table, populating the first 257 columns each with a random 3 byte string which should result in an average row length of about 771 bytes.
    SPOOL C:\TESTME.TXT
    SELECT
      SN.NAME,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    INSERT INTO T4 (
    COL1,
    COL2,
    COL3,
    COL255,
    COL256,
    COL257)
    SELECT
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3)
    FROM
      DUAL
    CONNECT BY
      LEVEL<=1000;
    SELECT
      SN.NAME,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    SET AUTOTRACE TRACEONLY STATISTICS
    SELECT
    FROM
      T4;
    SET AUTOTRACE OFF
    SELECT
      SN.NAME,
      SN.STATISTIC#,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    SPOOL OFFWhat are the results of the above?
    Before the insert:
    NAME                      VALUE                                                
    table fetch continue        166
    After the insert:
    NAME                      VALUE                                                
    table fetch continue        166                                                
    After the select:
    NAME                 STATISTIC#      VALUE                                     
    table fetch continue        252        332  Another test, this time with an average row length of about 12 bytes:
    DELETE FROM T4;
    COMMIT;
    SPOOL C:\TESTME2.TXT
    SELECT
      SN.NAME,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    INSERT INTO T4 (
      COL1,
      COL256,
      COL257,
      COL999)
    SELECT
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3)
    FROM
      DUAL
    CONNECT BY
      LEVEL<=100000;
    SELECT
      SN.NAME,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    SET AUTOTRACE TRACEONLY STATISTICS
    SELECT
    FROM
      T4;
    SET AUTOTRACE OFF
    SELECT
      SN.NAME,
      SN.STATISTIC#,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    SPOOL OFFWith 100,000 rows each containing about 12 bytes, what should the 'table fetch continued row' statistic show?
    Before the insert:
    NAME                      VALUE                                                
    table fetch continue        332 
    After the insert:
    NAME                      VALUE                                                
    table fetch continue        332
    After the select:
    NAME                 STATISTIC#      VALUE                                     
    table fetch continue        252      33695The final test only inserts data into the first 4 columns:
    DELETE FROM T4;
    COMMIT;
    SPOOL C:\TESTME3.TXT
    SELECT
      SN.NAME,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    INSERT INTO T4 (
      COL1,
      COL2,
      COL3,
      COL4)
    SELECT
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3),
    DBMS_RANDOM.STRING('A',3)
    FROM
      DUAL
    CONNECT BY
      LEVEL<=100000;
    SELECT
      SN.NAME,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    SET AUTOTRACE TRACEONLY STATISTICS
    SELECT
    FROM
      T4;
    SET AUTOTRACE OFF
    SELECT
      SN.NAME,
      SN.STATISTIC#,
      MS.VALUE
    FROM
      V$MYSTAT MS,
      V$STATNAME SN
    WHERE
      SN.NAME = 'table fetch continued row'
      AND SN.STATISTIC#=MS.STATISTIC#;
    SPOOL OFFWhat should the 'table fetch continued row' show?
    Before the insert:
    NAME                      VALUE                                                
    table fetch continue      33695
    After the insert:
    NAME                      VALUE                                                
    table fetch continue      33695
    After the select:
    NAME                 STATISTIC#      VALUE                                     
    table fetch continue        252      33695 My statement "Tables with more than 255 columns will always have chained rows." needs to be clarified:
    "Tables with more than 255 columns will always have chained rows +(row pieces)+ if a column beyond column 255 is used, but the 'table fetch continued row' statistic +may+ only increase in value if the remaining row pieces are found in a different block."
    Charles Hooper
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.
    Edited by: Charles Hooper on Aug 5, 2009 9:52 AM
    Paraphrase misspelled the view name "V$SYSSTAT", corrected a couple minor typos, and changed "will" to "may" in the closing paragraph as this appears to be the behavior based on the test case.

  • SQ01 Output fields having more than 255 characters

    Hello,
    I need to show query output more than 255 charaters but system is not allowing
    Here is the Error message:
    List is wider than 255 characters (generation not possible)
    I used SQ01 as t-code to create query.
    How can i show my output more than 255 characters
    Thanks

    Refer SAP Note 857823, ALV grid cannot display more than 128 characters per field and will truncate all the characters beyond if it's an ABAP program
    From my experience it will not display the field at all in SQ01.
    You need to write an abap program and split the field into two fields of length 128 and display side by side.
    Work around:  If you cannot write abap program uncheck (no display in query) that field in SQ02 and generate it. Execute your query and copy the key field use se16n to input in the key fields and use import to excel sheet function to get the required data.

  • How can i see the URL which has  length more than 255 chars in fucnction

    Hello Every body....
      I am facing one problem....I have a function module which returns URL in one table
      but in the function module display i am able to see only 255 characters,but the URL is more than 255 Characters..How can i see the URL which has the length more than 255 characters..
    In the Table the fields url length is 4000 chars.....
    but display it is showing only 255 chars.....
    Please Help me...??????????

    Hello,
    Have you tried breaking your structure into 255 chunks? I don't know what the structure you are moving from looks like, but you should be able break it back up into the SOLI structure. The end of a line in SOLI doesn't create a Carriage Return/Line Break. You have to insert these yourself like in the following:
    * Create document
          clear mail_line.
          move 'This is a test E-Mail'(d01) to mail_line.
          concatenate mail_line
                      cl_abap_char_utilities=>newline
                      into mail_line.
          append mail_line to l_mailtext.
    What kind of attachment are you wanting to create - a text tab delimited file for reading in a spreadsheet application such as excel? You might try reassembling your data table into a single string with newlines where you need them. Then use function module SCMS_STRING_TO_FTEXT to turn it back into SOLI. This is what I have done in the past. I'm afraid without knowing more about your source structure and attachment type, this is about all I can tell you.
    Vasanth

  • Spool output more than 255 characters

    Hi ,
    i am running a ALV report in background whose output is more than 255 characters . but spool is showing only 255 charcters.
    Do we have any setting to change to display all characters.
    Or any OSS notes that can be applied.
    Thanks & regards,
    Sonika Ahuja

    Hi,
    You need to change the Format Type through SPAD transaction. The Format Type decides the number of rows and columns per page. By creating a new format type as per your requirement would solve the probelm.
    Also, in the Report declaration, change the Line-Size to 300 or as per the width of your output.
    For further details pls. refer this thread :
    Re: Spool List output display > 255 char when the rpt is run in Background
    Best regards,
    Prashant

Maybe you are looking for

  • Print Module - Page Panel: Page options & Photo Info lost

    In the print module there are only 4 features left now in my final release version of LR3: 1. Page Background colour 2. Identity Plate 3. Watermarking 4. Cut Guides. Victoria Bampton described also the features with a screenshot of LR3b2 in her "Miss

  • Lost 'Abadi Condensed Light' font from Mail

    how do I get it back? Anyone know of free font download sites where I can get this font? Then I assume you have to drop the font into some library folder somewhere? Think I did this years ago but since forgotten. The font disappeared after a recent f

  • The HTC One, It's Coming To Verizon!...

    According to VZW @VZWnews on Twitter. The HTC One will be out later this summer.

  • Object Rotate Axis Point

    Re InDesign CS5, is there any way to fix a general preference to make objects rotate on their central point rather than, say for example, the top left box node in the case of a text box? I sometimes rotate an object and it disappears off the artwork.

  • Codec Problem when switching computers

    I am having a problem, where I copy my .fcp and all the videos that are with it, to another computer. I have a macbook with leopard. the other computer is a 2ghz core duo imac (the white ones)which has tiger It says it cant find the codec. Also, some