<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ALV grid in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995685#M1163509</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;please check in the fieldcatalog , there only it is causing you some issue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 02 Jan 2009 07:21:55 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-01-02T07:21:55Z</dc:date>
    <item>
      <title>ALV grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995683#M1163507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've written a report for displaying alv grid which can also be run in background.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but the output is in zig zag manner when run in background.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please answer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Jan 2009 07:02:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995683#M1163507</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-02T07:02:18Z</dc:date>
    </item>
    <item>
      <title>Re: ALV grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995684#M1163508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kiran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not very much clear the term 'Output is in zigzag manner'. Try Sorting the table before displaying.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Amol&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Jan 2009 07:21:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995684#M1163508</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-02T07:21:42Z</dc:date>
    </item>
    <item>
      <title>Re: ALV grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995685#M1163509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;please check in the fieldcatalog , there only it is causing you some issue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Jan 2009 07:21:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995685#M1163509</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-02T07:21:55Z</dc:date>
    </item>
    <item>
      <title>Re: ALV grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995686#M1163510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try to increase the LINE-SIZE in report statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  zhdxrh63 NO STANDARD PAGE HEADING
                 LINE-SIZE 1050
                 MESSAGE-ID pn&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: avinash kodarapu on Jan 2, 2009 12:57 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Jan 2009 07:24:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995686#M1163510</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-02T07:24:50Z</dc:date>
    </item>
    <item>
      <title>Re: ALV grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995687#M1163511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try below code &lt;/P&gt;&lt;P&gt;wf_fieldcat-col_pos   = '1'.&lt;/P&gt;&lt;P&gt;  wf_fieldcat-fieldname = '.&lt;/P&gt;&lt;P&gt;  wf_fieldcat-seltext_l = text-009.&lt;/P&gt;&lt;P&gt;  wf_fieldcat-tabname   = 'I_FINAL1'."here pass internal table not the database table&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Jan 2009 14:23:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995687#M1163511</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-02T14:23:41Z</dc:date>
    </item>
    <item>
      <title>Re: ALV grid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995688#M1163512</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Output in Background displays in ZIG ZAG manner (as you said) if the internal table length is more than 256 characters. I think there are reports in SDN forums to get it nice. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All you have to pass the spool number and from line and to line. If you cannot find one. try the following&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well, the following code is from SDN forum but i dont know where is this post now. Thanks to the person who posted this code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  zrca_readspool line-size 80.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;global data from LSPOXTOP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables: tsp01, tst05, tspoptions,tsp02l.&lt;/P&gt;&lt;P&gt;data: rc(10) type c,&lt;/P&gt;&lt;P&gt;      errmsg(100) type c,&lt;/P&gt;&lt;P&gt;      status like sy-subrc,&lt;/P&gt;&lt;P&gt;      dsn_type(8) type c.&lt;/P&gt;&lt;P&gt;data: begin of data_set_line,&lt;/P&gt;&lt;P&gt;      data_length(5),&lt;/P&gt;&lt;P&gt;      precol(1),&lt;/P&gt;&lt;P&gt;      data_line(5000),&lt;/P&gt;&lt;P&gt;      end of data_set_line,&lt;/P&gt;&lt;P&gt;      data_set_length(5) type c.&lt;/P&gt;&lt;P&gt;data: temse_name like tst01-dname,&lt;/P&gt;&lt;P&gt;      temse_client like tst01-dclient,&lt;/P&gt;&lt;P&gt;      temse_handle like rststype-handle,&lt;/P&gt;&lt;P&gt;      temse_part like tst01-dpart,&lt;/P&gt;&lt;P&gt;      temse_objtyp like tst01-dtype,&lt;/P&gt;&lt;P&gt;      temse_rectyp like rststype-rectyp,&lt;/P&gt;&lt;P&gt;      temse_charco like tst01-dcharcod.&lt;/P&gt;&lt;P&gt;data: is_otf.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;global data from LSPOCTOP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of spoc,&lt;/P&gt;&lt;P&gt;      first_bytes(4),   " collection of the first bytes of the&lt;/P&gt;&lt;P&gt;                         " escape sequences.&lt;/P&gt;&lt;P&gt;      prtctrl_start_length type i,&lt;/P&gt;&lt;P&gt;      prtctrl_total_length type i,&lt;/P&gt;&lt;P&gt;      prtctrl_start(10),&lt;/P&gt;&lt;P&gt;      symbol_low_start(10),&lt;/P&gt;&lt;P&gt;      symbol_hgh_start(10),&lt;/P&gt;&lt;P&gt;      symbol_start_length type i,&lt;/P&gt;&lt;P&gt;      icon_start(10),&lt;/P&gt;&lt;P&gt;      icon_start_length    type i,&lt;/P&gt;&lt;P&gt;      icon_sel             type i value 1,&lt;/P&gt;&lt;P&gt;      frame_start(10),&lt;/P&gt;&lt;P&gt;      frame_start_length   type i,&lt;/P&gt;&lt;P&gt;      end  of  spoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;field-symbols: &amp;lt;spoc_prtctrl&amp;gt; type c ,&lt;/P&gt;&lt;P&gt;               &amp;lt;spoc_frame&amp;gt; type c ,&lt;/P&gt;&lt;P&gt;               &amp;lt;spoc_icon&amp;gt; type c ,&lt;/P&gt;&lt;P&gt;               &amp;lt;spoc_symbol_low&amp;gt; type c ,&lt;/P&gt;&lt;P&gt;               &amp;lt;spoc_symbol_hgh&amp;gt; type c .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;copied from RSPO_DISPLAY_ABAP_SPOOLJOB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: buffer like data_set_line occurs 1000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk1 with frame title text-t01.&lt;/P&gt;&lt;P&gt;parameters: p_rqid like tsp01-rqident obligatory,&lt;/P&gt;&lt;P&gt;            p_firstl type i default 0,&lt;/P&gt;&lt;P&gt;            p_lastl type i default 2000 obligatory.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single * from tsp01 where rqident = p_rqid.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    write: / 'Spool request does not exist:'(001), p_rqid.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'RSPO_CHECK_JOB_PERMISSION'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      access        = 'DISP'&lt;/P&gt;&lt;P&gt;      spoolreq      = tsp01&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      no_permission = 1&lt;/P&gt;&lt;P&gt;      others        = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    write: / 'No authorization to display'(002).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform read_data tables buffer using tsp01 p_firstl p_lastl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    write: / 'Error reading spoolo request'(003).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if is_otf = 'X'.&lt;/P&gt;&lt;P&gt;    write: / 'This spool request is not an ABAP list'(004).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform display_data tables buffer using tsp01-rqpaper tsp01-rqident.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form Routimes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;******************************************************************************&lt;/P&gt;&lt;P&gt;******************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form GET_SPOOL_LINE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;******************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_spool_line.&lt;/P&gt;&lt;P&gt;  do.&lt;/P&gt;&lt;P&gt;    if temse_rectyp+1(1) = 'Y'.&lt;/P&gt;&lt;P&gt;      call 'C_RSTS_READ'&lt;/P&gt;&lt;P&gt;      id 'HANDLE' field temse_handle&lt;/P&gt;&lt;P&gt;      id 'BUFF' field data_set_line&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ID 'BUFFLG' FIELD 1006&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      id 'BUFFLG' field 5006 "MODAB&lt;/P&gt;&lt;P&gt;      id 'ALLINE' field 'X'&lt;/P&gt;&lt;P&gt;      id 'BINARY' field ' '&lt;/P&gt;&lt;P&gt;      id 'SHOWLG' field 'X'&lt;/P&gt;&lt;P&gt;      id 'RC' field rc&lt;/P&gt;&lt;P&gt;      id 'ERRMSG' field errmsg.&lt;/P&gt;&lt;P&gt;      status = sy-subrc.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      call 'C_RSTS_READ'&lt;/P&gt;&lt;P&gt;      id 'HANDLE' field temse_handle&lt;/P&gt;&lt;P&gt;      id 'BUFF' field data_set_line+1&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      id 'BUFFLG' field 1005&lt;/P&gt;&lt;P&gt;      id 'BUFFLG' field 5005 "MODAB&lt;/P&gt;&lt;P&gt;      id 'ALLINE' field 'X'&lt;/P&gt;&lt;P&gt;      id 'BINARY' field ' '&lt;/P&gt;&lt;P&gt;      id 'SHOWLG' field 'X'&lt;/P&gt;&lt;P&gt;      id 'RC' field rc&lt;/P&gt;&lt;P&gt;      id 'ERRMSG' field errmsg.&lt;/P&gt;&lt;P&gt;      status = sy-subrc.&lt;/P&gt;&lt;P&gt;      data_set_line(5) = data_set_line+1(5).&lt;/P&gt;&lt;P&gt;      data_set_line-precol = ' '.&lt;/P&gt;&lt;P&gt;      add 1 to data_set_line-data_length.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    status = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if status &amp;lt;&amp;gt; 6. " EOF, error condition, or got data&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;end of this part, try to open next part&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    add 1 to temse_part.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call 'C_RSTS_CLOSE'&lt;/P&gt;&lt;P&gt;    id 'HANDLE' field temse_handle&lt;/P&gt;&lt;P&gt;    id 'RC' field rc&lt;/P&gt;&lt;P&gt;    id 'ERRMSG' field errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    status = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if status = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      call function 'RSTS_GET_ATTRIBUTES'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          authority     = 'SP01'&lt;/P&gt;&lt;P&gt;          client        = temse_client "hjl&lt;/P&gt;&lt;P&gt;          name          = temse_name&lt;/P&gt;&lt;P&gt;          part          = temse_part&lt;/P&gt;&lt;P&gt;        importing&lt;/P&gt;&lt;P&gt;          charco        = temse_charco&lt;/P&gt;&lt;P&gt;          rectyp        = temse_rectyp&lt;/P&gt;&lt;P&gt;          objtype       = temse_objtyp&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          fb_error      = 1&lt;/P&gt;&lt;P&gt;          fb_rsts_other = 2&lt;/P&gt;&lt;P&gt;          no_object     = 3&lt;/P&gt;&lt;P&gt;          no_permission = 4&lt;/P&gt;&lt;P&gt;          others        = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      status = sy-subrc.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if status = 0.&lt;/P&gt;&lt;P&gt;      call 'C_RSTS_OPEN_READ'&lt;/P&gt;&lt;P&gt;      id 'HANDLE' field temse_handle&lt;/P&gt;&lt;P&gt;      id 'CLIENT' field temse_client "hjl&lt;/P&gt;&lt;P&gt;      id 'NAME' field temse_name&lt;/P&gt;&lt;P&gt;      id 'PART' field temse_part&lt;/P&gt;&lt;P&gt;      id 'TYPE' field temse_objtyp&lt;/P&gt;&lt;P&gt;      id 'CONV' field ' '&lt;/P&gt;&lt;P&gt;      id 'ALLINE' field 'X'&lt;/P&gt;&lt;P&gt;      id 'BINARY' field ' '&lt;/P&gt;&lt;P&gt;      id 'RECTYP' field temse_rectyp&lt;/P&gt;&lt;P&gt;      id 'CHARCO' field temse_charco&lt;/P&gt;&lt;P&gt;      id 'PROM' field 'I'&lt;/P&gt;&lt;P&gt;      id 'RC' field rc&lt;/P&gt;&lt;P&gt;      id 'ERRMSG' field errmsg.&lt;/P&gt;&lt;P&gt;      status = sy-subrc.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if status = 4.&lt;/P&gt;&lt;P&gt;    status = 12. "EOF&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if status = 8.&lt;/P&gt;&lt;P&gt;    status = 40. "Line too long&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data_set_length = data_set_line-data_length.&lt;/P&gt;&lt;P&gt;endform.                    "GET_SPOOL_LINE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  READ_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form read_data tables buffer&lt;/P&gt;&lt;P&gt;  using tsp01 like tsp01&lt;/P&gt;&lt;P&gt;        value(first) type i&lt;/P&gt;&lt;P&gt;        value(last) type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: lines type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  refresh buffer.&lt;/P&gt;&lt;P&gt;  clear is_otf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  temse_client = tsp01-rqclient.&lt;/P&gt;&lt;P&gt;  temse_name = tsp01-rqo1name.&lt;/P&gt;&lt;P&gt;  temse_part = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'RSTS_GET_ATTRIBUTES'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      authority     = 'SP01'&lt;/P&gt;&lt;P&gt;      client        = temse_client&lt;/P&gt;&lt;P&gt;      name          = temse_name&lt;/P&gt;&lt;P&gt;      part          = temse_part&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      charco        = temse_charco&lt;/P&gt;&lt;P&gt;      rectyp        = temse_rectyp&lt;/P&gt;&lt;P&gt;      objtype       = temse_objtyp&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      fb_error      = 1&lt;/P&gt;&lt;P&gt;      fb_rsts_other = 2&lt;/P&gt;&lt;P&gt;      no_object     = 3&lt;/P&gt;&lt;P&gt;      no_permission = 4&lt;/P&gt;&lt;P&gt;      others        = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    if temse_objtyp(3) = 'OTF'.&lt;/P&gt;&lt;P&gt;      is_otf = 'X'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear temse_handle.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call 'C_RSTS_OPEN_READ'&lt;/P&gt;&lt;P&gt;  id 'HANDLE' field temse_handle&lt;/P&gt;&lt;P&gt;  id 'CLIENT' field temse_client "hjl&lt;/P&gt;&lt;P&gt;  id 'NAME' field temse_name&lt;/P&gt;&lt;P&gt;  id 'PART' field temse_part&lt;/P&gt;&lt;P&gt;  id 'TYPE' field temse_objtyp&lt;/P&gt;&lt;P&gt;  id 'CONV' field ' '&lt;/P&gt;&lt;P&gt;  id 'ALLINE' field 'X'&lt;/P&gt;&lt;P&gt;  id 'BINARY' field ' '&lt;/P&gt;&lt;P&gt;  id 'RECTYP' field temse_rectyp&lt;/P&gt;&lt;P&gt;  id 'CHARCO' field temse_charco&lt;/P&gt;&lt;P&gt;  id 'PROM' field 'I'&lt;/P&gt;&lt;P&gt;  id 'RC' field rc&lt;/P&gt;&lt;P&gt;  id 'ERRMSG' field errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  status = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if status = 0.&lt;/P&gt;&lt;P&gt;    do.&lt;/P&gt;&lt;P&gt;      perform get_spool_line.&lt;/P&gt;&lt;P&gt;      if status &amp;lt;&amp;gt; 0 and status &amp;lt;&amp;gt; 40 and status &amp;lt;&amp;gt; 12.&lt;/P&gt;&lt;P&gt;        perform close_job.&lt;/P&gt;&lt;P&gt;        exit.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if status &amp;lt;&amp;gt; 12.                                      " 12 = End&lt;/P&gt;&lt;P&gt;        if not ( data_set_length is initial ).&lt;/P&gt;&lt;P&gt;          data_set_line-data_length = data_set_length - 1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        add 1 to lines.&lt;/P&gt;&lt;P&gt;        if lines &amp;gt;= first.&lt;/P&gt;&lt;P&gt;          append data_set_line to buffer.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        if ( not last is initial ) and ( lines &amp;gt;= last ).&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        if lines = 0.&lt;/P&gt;&lt;P&gt;          perform close_job.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        if lines &amp;lt; first .&lt;/P&gt;&lt;P&gt;          perform close_job.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        exit.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform close_job.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    "READ_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM CLOSE_JOB *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form close_job.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if status &amp;lt;&amp;gt; 0 and status &amp;lt;&amp;gt; 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call 'C_RSTS_CLOSE'&lt;/P&gt;&lt;P&gt;    id 'HANDLE' field temse_handle&lt;/P&gt;&lt;P&gt;    id 'RC' field rc&lt;/P&gt;&lt;P&gt;    id 'ERRMSG' field errmsg.&lt;/P&gt;&lt;P&gt;    message e112(po) with status rc errmsg raising read_error.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call 'C_RSTS_CLOSE'&lt;/P&gt;&lt;P&gt;  id 'HANDLE' field temse_handle&lt;/P&gt;&lt;P&gt;  id 'RC' field rc&lt;/P&gt;&lt;P&gt;  id 'ERRMSG' field errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  status = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if status &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message e112(po) with status rc errmsg raising read_error.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    "CLOSE_JOB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form display_data tables buffer using rqpaper like tsp01-rqpaper&lt;/P&gt;&lt;P&gt;                                      rqid like tsp01-rqident.&lt;/P&gt;&lt;P&gt;  data: line_length type i,&lt;/P&gt;&lt;P&gt;        gcol type i,&lt;/P&gt;&lt;P&gt;        glines type i,&lt;/P&gt;&lt;P&gt;        line_length2 like rststype-linelength,&lt;/P&gt;&lt;P&gt;        v,&lt;/P&gt;&lt;P&gt;        v2.&lt;/P&gt;&lt;P&gt;  call function 'RSPO_SPOOLDATA_WRITE_INIT'.&lt;/P&gt;&lt;P&gt;  perform spooldata_write_init. "MODAB&lt;/P&gt;&lt;P&gt;  select single * from tspoptions where spoption = 'REALWIDTH'.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    v = 'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  select single *&lt;/P&gt;&lt;P&gt;  from tspoptions where spoption = 'REALHEIGHT'.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    v2 = 'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not v is initial or not v2 is initial.&lt;/P&gt;&lt;P&gt;    gcol = 0.&lt;/P&gt;&lt;P&gt;    glines = 0.&lt;/P&gt;&lt;P&gt;    select single * from tsp02l where pjident = rqid and pjnummer = 0.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      gcol = tsp02l-columns.&lt;/P&gt;&lt;P&gt;      glines = tsp02l-lines.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      call function 'RSPO_GET_SIZE_OF_LAYOUT'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          layout  = rqpaper&lt;/P&gt;&lt;P&gt;        importing&lt;/P&gt;&lt;P&gt;          columns = gcol&lt;/P&gt;&lt;P&gt;          lines   = glines.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if gcol &amp;lt; 80 or v is initial.&lt;/P&gt;&lt;P&gt;    gcol = 1023.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if glines &amp;lt; 5 or v2 is initial.&lt;/P&gt;&lt;P&gt;    glines = 0.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if gcol &amp;gt;= 1024. "MODAB&lt;/P&gt;&lt;P&gt;    gcol = 1023.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  new-page no-heading no-title line-size gcol line-count glines. " make a wide list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  set blank lines on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at buffer.&lt;/P&gt;&lt;P&gt;    data_set_line = buffer.&lt;/P&gt;&lt;P&gt;    if data_set_line-precol = 'P'.&lt;/P&gt;&lt;P&gt;      if data_set_line(1) = ' '. " Echter Vorschub ?"&lt;/P&gt;&lt;P&gt;        new-page.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      continue.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Zeilenlange berechnen, falls unbekannt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if data_set_line-data_length is initial.&lt;/P&gt;&lt;P&gt;      line_length = strlen( data_set_line-data_line ).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      line_length = data_set_line-data_length.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if line_length &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      line_length2 = line_length.&lt;/P&gt;&lt;P&gt;      perform spooldata_write using data_set_line-data_line "MODAB&lt;/P&gt;&lt;P&gt;      line_length2 1.&lt;/P&gt;&lt;P&gt;    else. " Leerzeile&lt;/P&gt;&lt;P&gt;      skip.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                    "DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SPOOLDATA_WRITE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;copied from RSPO_SPOOLDATA_WRITE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form spooldata_write&lt;/P&gt;&lt;P&gt;     using value(spool_data)&lt;/P&gt;&lt;P&gt;           value(data_length) like rststype-linelength&lt;/P&gt;&lt;P&gt;           value(start_pos) like sy-colno.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;function globals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: lpos like sy-colno,&lt;/P&gt;&lt;P&gt;        rest_len type i,&lt;/P&gt;&lt;P&gt;        area_len type i,&lt;/P&gt;&lt;P&gt;        next_hot type i, " offset of next special character&lt;/P&gt;&lt;P&gt;        cols     type i, " columns used by special character&lt;/P&gt;&lt;P&gt;        bytes    type i, " bytes   used by special character&lt;/P&gt;&lt;P&gt;        hot2,&lt;/P&gt;&lt;P&gt;        hot3,&lt;/P&gt;&lt;P&gt;        hot4,&lt;/P&gt;&lt;P&gt;        hot5,&lt;/P&gt;&lt;P&gt;        hot6,&lt;/P&gt;&lt;P&gt;        hot7,&lt;/P&gt;&lt;P&gt;        begin of escape_trick,&lt;/P&gt;&lt;P&gt;          x1(1) type x,&lt;/P&gt;&lt;P&gt;        end  of  escape_trick,&lt;/P&gt;&lt;P&gt;        the_prtctrl(5) type c,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Because of a problem within the ABAP listprocessing, I shall&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      never output the same icon side by side with the same color&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      and without a gap.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      As I don't know the data, I will use two different variables&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      alternatively.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        icon_id1       like icons-l4,&lt;/P&gt;&lt;P&gt;        icon_id2       like icons-l4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  field-symbols: &amp;lt;ldata&amp;gt; ,&lt;/P&gt;&lt;P&gt;                 &amp;lt;plain_text&amp;gt; ,&lt;/P&gt;&lt;P&gt;                 &amp;lt;prtctrl&amp;gt; ,&lt;/P&gt;&lt;P&gt;                 &amp;lt;hot_prtctrl&amp;gt; ,&lt;/P&gt;&lt;P&gt;                 &amp;lt;hot_frame&amp;gt; ,&lt;/P&gt;&lt;P&gt;                 &amp;lt;hot_icon&amp;gt; ,&lt;/P&gt;&lt;P&gt;                 &amp;lt;hot_symbol&amp;gt; ,&lt;/P&gt;&lt;P&gt;                 &amp;lt;p&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if start_pos &amp;lt; 2.&lt;/P&gt;&lt;P&gt;    write at / ' ' no-gap.&lt;/P&gt;&lt;P&gt;    new-line.&lt;/P&gt;&lt;P&gt;    lpos = 1.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    lpos = start_pos.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  rest_len = strlen( spool_data ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  describe field spool_data length area_len in byte mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if data_length = 0. " fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif data_length &amp;lt;= area_len.&lt;/P&gt;&lt;P&gt;    rest_len = data_length.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write: / 'Fehler beim Decodieren der Listendaten'(005).&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  check rest_len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  assign spool_data(rest_len) to &amp;lt;ldata&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  while &amp;lt;ldata&amp;gt; ca spoc-first_bytes.&lt;/P&gt;&lt;P&gt;    next_hot = sy-fdpos.&lt;/P&gt;&lt;P&gt;    if next_hot &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      assign &amp;lt;ldata&amp;gt;(next_hot) to &amp;lt;plain_text&amp;gt;.&lt;/P&gt;&lt;P&gt;      perform write_bigfield using &amp;lt;plain_text&amp;gt; next_hot lpos.&lt;/P&gt;&lt;P&gt;      write at lpos &amp;lt;plain_text&amp;gt; no-gap.&lt;/P&gt;&lt;P&gt;      add next_hot to lpos.&lt;/P&gt;&lt;P&gt;      subtract next_hot from rest_len.&lt;/P&gt;&lt;P&gt;      assign &amp;lt;ldata&amp;gt;+next_hot(rest_len) to &amp;lt;ldata&amp;gt;.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if rest_len &amp;gt;= spoc-prtctrl_start_length.&lt;/P&gt;&lt;P&gt;      assign &amp;lt;ldata&amp;gt;(spoc-prtctrl_start_length) to &amp;lt;hot_prtctrl&amp;gt;.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      assign 'too_short' to &amp;lt;hot_prtctrl&amp;gt;.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if rest_len &amp;gt;= spoc-frame_start_length.&lt;/P&gt;&lt;P&gt;      assign &amp;lt;ldata&amp;gt;(spoc-frame_start_length) to &amp;lt;hot_frame&amp;gt;.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      assign 'too_short' to &amp;lt;hot_frame&amp;gt;.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if rest_len &amp;gt;= spoc-icon_start_length.&lt;/P&gt;&lt;P&gt;      assign &amp;lt;ldata&amp;gt;(spoc-icon_start_length) to &amp;lt;hot_icon&amp;gt;.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      assign 'too_short' to &amp;lt;hot_icon&amp;gt;.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if rest_len &amp;gt;= spoc-symbol_start_length.&lt;/P&gt;&lt;P&gt;      assign &amp;lt;ldata&amp;gt;(spoc-symbol_start_length) to &amp;lt;hot_symbol&amp;gt;.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      assign 'too_short' to &amp;lt;hot_symbol&amp;gt;.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if rest_len &amp;gt; 1.&lt;/P&gt;&lt;P&gt;      hot2 = &amp;lt;ldata&amp;gt;+1(1).&lt;/P&gt;&lt;P&gt;      if rest_len &amp;gt; 2.&lt;/P&gt;&lt;P&gt;        hot3 = &amp;lt;ldata&amp;gt;+2(1).&lt;/P&gt;&lt;P&gt;        if rest_len &amp;gt; 3.&lt;/P&gt;&lt;P&gt;          hot4 = &amp;lt;ldata&amp;gt;+3(1).&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          hot4 = '?'.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        hot3 = '?'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      hot2 = '?'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if &amp;lt;hot_frame&amp;gt; = &amp;lt;spoc_frame&amp;gt;.&lt;/P&gt;&lt;P&gt;      cols = 1. " in most cases.&lt;/P&gt;&lt;P&gt;      bytes = 2. " in most cases.&lt;/P&gt;&lt;P&gt;      case hot2.&lt;/P&gt;&lt;P&gt;        when '0'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '1'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '2'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '3'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '4'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '5'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '6'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '7'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '8'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when '9'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when ':'.&lt;/P&gt;&lt;P&gt;          write at lpos hot2 as line no-gap.&lt;/P&gt;&lt;P&gt;        when ';'. " box_drawings_light_left&lt;/P&gt;&lt;P&gt;          write at lpos '4' as line no-gap.&lt;/P&gt;&lt;P&gt;        when '&amp;lt;'. " box_drawings_light_up&lt;/P&gt;&lt;P&gt;          write at lpos '5' as line no-gap.&lt;/P&gt;&lt;P&gt;        when '='. " box_drawings_light_right&lt;/P&gt;&lt;P&gt;          write at lpos '4' as line no-gap.&lt;/P&gt;&lt;P&gt;        when '&amp;gt;'. " box_drawings_light_down&lt;/P&gt;&lt;P&gt;          write at lpos '5' as line no-gap.&lt;/P&gt;&lt;P&gt;        when '?'. " drawings_checkbox_off&lt;/P&gt;&lt;P&gt;          write at lpos ' ' as checkbox input off no-gap.&lt;/P&gt;&lt;P&gt;        when '@'. " drawings_checkbox_on&lt;/P&gt;&lt;P&gt;          write at lpos 'X' as checkbox input off no-gap.&lt;/P&gt;&lt;P&gt;        when others.&lt;/P&gt;&lt;P&gt;          bytes = 0.&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if &amp;lt;hot_symbol&amp;gt; = &amp;lt;spoc_symbol_low&amp;gt;.&lt;/P&gt;&lt;P&gt;      escape_trick-x1 = hot3.&lt;/P&gt;&lt;P&gt;      subtract 32 from escape_trick-x1.&lt;/P&gt;&lt;P&gt;      if hot4 = space.&lt;/P&gt;&lt;P&gt;        write at lpos(2) escape_trick as symbol no-gap.&lt;/P&gt;&lt;P&gt;        cols = 2.&lt;/P&gt;&lt;P&gt;        bytes = 4.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write at lpos(1) escape_trick as symbol no-gap.&lt;/P&gt;&lt;P&gt;        bytes = 3.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if &amp;lt;hot_symbol&amp;gt; = &amp;lt;spoc_symbol_hgh&amp;gt;.&lt;/P&gt;&lt;P&gt;      escape_trick-x1 = hot3.&lt;/P&gt;&lt;P&gt;      add 32 to escape_trick-x1.&lt;/P&gt;&lt;P&gt;      if hot4 = space.&lt;/P&gt;&lt;P&gt;        write at lpos(2) escape_trick as symbol no-gap.&lt;/P&gt;&lt;P&gt;        cols = 2.&lt;/P&gt;&lt;P&gt;        bytes = 4.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write at lpos(1) escape_trick as symbol no-gap.&lt;/P&gt;&lt;P&gt;        bytes = 3.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if &amp;lt;hot_icon&amp;gt; = &amp;lt;spoc_icon&amp;gt;.&lt;/P&gt;&lt;P&gt;      if spoc-icon_sel &amp;gt;&amp;lt; 1.&lt;/P&gt;&lt;P&gt;        spoc-icon_sel = 1.&lt;/P&gt;&lt;P&gt;        icon_id1 = '@00@'.&lt;/P&gt;&lt;P&gt;        icon_id1+1(1) = hot3.&lt;/P&gt;&lt;P&gt;        icon_id1+2(1) = hot4.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        spoc-icon_sel = 2.&lt;/P&gt;&lt;P&gt;        icon_id2 = '@00@'.&lt;/P&gt;&lt;P&gt;        icon_id2+1(1) = hot3.&lt;/P&gt;&lt;P&gt;        icon_id2+2(1) = hot4.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if rest_len &amp;gt; 4.&lt;/P&gt;&lt;P&gt;        hot5 = &amp;lt;ldata&amp;gt;+4(1).&lt;/P&gt;&lt;P&gt;        if rest_len &amp;gt; 5.&lt;/P&gt;&lt;P&gt;          hot6 = &amp;lt;ldata&amp;gt;+5(1).&lt;/P&gt;&lt;P&gt;          if rest_len &amp;gt; 6.&lt;/P&gt;&lt;P&gt;            hot7 = &amp;lt;ldata&amp;gt;+6(1).&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            hot7 = '?'.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          hot6 = '?'.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        hot5 = '?'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if hot5 = space.&lt;/P&gt;&lt;P&gt;        if hot6 = space.&lt;/P&gt;&lt;P&gt;          if hot7 = space.&lt;/P&gt;&lt;P&gt;            if spoc-icon_sel = 1.&lt;/P&gt;&lt;P&gt;              write at lpos(4) icon_id1 as icon.&lt;/P&gt;&lt;P&gt;              write at lpos icon_id1 as icon no-gap.&lt;/P&gt;&lt;P&gt;            else.&lt;/P&gt;&lt;P&gt;              write at lpos(4) icon_id2 as icon.&lt;/P&gt;&lt;P&gt;              write at lpos icon_id2 as icon no-gap.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;            cols = 4.&lt;/P&gt;&lt;P&gt;            bytes = 7.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            if spoc-icon_sel = 1.&lt;/P&gt;&lt;P&gt;              write at lpos(3) icon_id1 as icon.&lt;/P&gt;&lt;P&gt;              write at lpos icon_id1 as icon no-gap.&lt;/P&gt;&lt;P&gt;            else.&lt;/P&gt;&lt;P&gt;              write at lpos(3) icon_id2 as icon.&lt;/P&gt;&lt;P&gt;              write at lpos icon_id2 as icon no-gap.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;            cols = 3.&lt;/P&gt;&lt;P&gt;            bytes = 6.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          if spoc-icon_sel = 1.&lt;/P&gt;&lt;P&gt;            write at lpos(2) icon_id1 as icon.&lt;/P&gt;&lt;P&gt;            write at lpos icon_id1 as icon no-gap.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            write at lpos(2) icon_id2 as icon.&lt;/P&gt;&lt;P&gt;            write at lpos icon_id2 as icon no-gap.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;          cols = 2.&lt;/P&gt;&lt;P&gt;          bytes = 5.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      else. "rite at lpos(1) icon_id as icon.&lt;/P&gt;&lt;P&gt;        write at lpos(1) '#' no-gap. " Not enough space for any icon.'#'&lt;/P&gt;&lt;P&gt;        cols = 1.&lt;/P&gt;&lt;P&gt;        bytes = 4.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if &amp;lt;hot_prtctrl&amp;gt; = &amp;lt;spoc_prtctrl&amp;gt;.&lt;/P&gt;&lt;P&gt;      cols = 0. " in most cases.&lt;/P&gt;&lt;P&gt;      bytes = 6. " in most cases.&lt;/P&gt;&lt;P&gt;      if rest_len &amp;gt;= spoc-prtctrl_total_length.&lt;/P&gt;&lt;P&gt;        the_prtctrl = &amp;lt;ldata&amp;gt;+spoc-prtctrl_start_length(5).&lt;/P&gt;&lt;P&gt;        if the_prtctrl = 'SABLD'.&lt;/P&gt;&lt;P&gt;          format intensified on. "no 3.0 'SAULN'. "no 3.0 FORMAT UNDERSCORED ON.&lt;/P&gt;&lt;P&gt;        elseif the_prtctrl = 'SAOFF'.&lt;/P&gt;&lt;P&gt;          format intensified off. "no 3.0 FORMAT UNDERSCORED OFF.&lt;/P&gt;&lt;P&gt;        elseif the_prtctrl(3) = 'COL'.&lt;/P&gt;&lt;P&gt;          case the_prtctrl+3(1).&lt;/P&gt;&lt;P&gt;            when '0'.&lt;/P&gt;&lt;P&gt;              format color off.&lt;/P&gt;&lt;P&gt;            when '1'.&lt;/P&gt;&lt;P&gt;              format color 1.&lt;/P&gt;&lt;P&gt;            when '2'.&lt;/P&gt;&lt;P&gt;              format color 2.&lt;/P&gt;&lt;P&gt;            when '3'.&lt;/P&gt;&lt;P&gt;              format color 3.&lt;/P&gt;&lt;P&gt;            when '4'.&lt;/P&gt;&lt;P&gt;              format color 4.&lt;/P&gt;&lt;P&gt;            when '5'.&lt;/P&gt;&lt;P&gt;              format color 5.&lt;/P&gt;&lt;P&gt;            when '6'.&lt;/P&gt;&lt;P&gt;              format color 6.&lt;/P&gt;&lt;P&gt;            when '7'.&lt;/P&gt;&lt;P&gt;              format color 7.&lt;/P&gt;&lt;P&gt;          endcase.&lt;/P&gt;&lt;P&gt;          case the_prtctrl+4(1).&lt;/P&gt;&lt;P&gt;            when 'N'.&lt;/P&gt;&lt;P&gt;              format intensified off inverse off.&lt;/P&gt;&lt;P&gt;            when 'H'.&lt;/P&gt;&lt;P&gt;              format intensified on inverse off.&lt;/P&gt;&lt;P&gt;            when 'V'.&lt;/P&gt;&lt;P&gt;              format intensified on inverse on.&lt;/P&gt;&lt;P&gt;          endcase.&lt;/P&gt;&lt;P&gt;        endif. "printcontrol&lt;/P&gt;&lt;P&gt;      else. "??&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if bytes = 0.&lt;/P&gt;&lt;P&gt;      bytes = 1.&lt;/P&gt;&lt;P&gt;      write at lpos(1) '#'. "#.&lt;/P&gt;&lt;P&gt;      cols = 1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    add cols to lpos.&lt;/P&gt;&lt;P&gt;    subtract bytes from rest_len.&lt;/P&gt;&lt;P&gt;    if rest_len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      assign &amp;lt;ldata&amp;gt;+bytes(rest_len) to &amp;lt;ldata&amp;gt;.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endwhile.&lt;/P&gt;&lt;P&gt;  if rest_len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    assign &amp;lt;ldata&amp;gt;(rest_len) to &amp;lt;plain_text&amp;gt;.&lt;/P&gt;&lt;P&gt;    perform write_bigfield using &amp;lt;plain_text&amp;gt; rest_len lpos.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    "SPOOLDATA_WRITE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_BIGFIELD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form write_bigfield using value(field) type c value(len) value(pos).&lt;/P&gt;&lt;P&gt;  data: l_chunk type i.&lt;/P&gt;&lt;P&gt;  while len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    if len &amp;gt; 255.&lt;/P&gt;&lt;P&gt;      l_chunk = 255.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      l_chunk = len.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    write at pos field(l_chunk) no-gap.&lt;/P&gt;&lt;P&gt;    add l_chunk to pos.&lt;/P&gt;&lt;P&gt;    len = len - l_chunk.&lt;/P&gt;&lt;P&gt;    if len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      field = field+l_chunk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endwhile.&lt;/P&gt;&lt;P&gt;endform.                    "WRITE_BIGFIELD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SPOOLDATA_WRITE_INIT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form spooldata_write_init.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Copy from RSPO_SPOOLDATA_WRITE_INIT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of escape_trick ,&lt;/P&gt;&lt;P&gt;  x1(1) type x ,&lt;/P&gt;&lt;P&gt;  end of escape_trick .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  field-symbols: &amp;lt;ldata&amp;gt; ,&lt;/P&gt;&lt;P&gt;  &amp;lt;plain_text&amp;gt; ,&lt;/P&gt;&lt;P&gt;  &amp;lt;prtctrl&amp;gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform set_char using '1C' changing spoc-prtctrl_start.&lt;/P&gt;&lt;P&gt;  spoc-prtctrl_start_length = 1.&lt;/P&gt;&lt;P&gt;  spoc-prtctrl_total_length = spoc-prtctrl_start_length + 5.&lt;/P&gt;&lt;P&gt;  assign spoc-prtctrl_start(spoc-prtctrl_start_length) to &amp;lt;spoc_prtctrl&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform set_char using '1B' changing spoc-frame_start.&lt;/P&gt;&lt;P&gt;  spoc-frame_start_length = 1.&lt;/P&gt;&lt;P&gt;  assign spoc-frame_start(spoc-frame_start_length) to &amp;lt;spoc_frame&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform set_char using '1B' changing spoc-icon_start.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  spoc-icon_start+1 = ','.&lt;/P&gt;&lt;P&gt;  spoc-icon_start_length = 2.&lt;/P&gt;&lt;P&gt;  assign spoc-icon_start(spoc-icon_start_length) to &amp;lt;spoc_icon&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform set_char using '1B' changing spoc-symbol_low_start.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  spoc-symbol_low_start+1 = '('.&lt;/P&gt;&lt;P&gt;  perform set_char using '1B' changing spoc-symbol_hgh_start.&lt;/P&gt;&lt;P&gt;  spoc-symbol_hgh_start+1 = ')'.&lt;/P&gt;&lt;P&gt;  spoc-symbol_start_length = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  assign spoc-symbol_low_start(spoc-symbol_start_length) to &amp;lt;spoc_symbol_low&amp;gt;.&lt;/P&gt;&lt;P&gt;  assign spoc-symbol_hgh_start(spoc-symbol_start_length) to &amp;lt;spoc_symbol_hgh&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  spoc-first_bytes+0(1) = spoc-prtctrl_start(1).&lt;/P&gt;&lt;P&gt;  spoc-first_bytes+1(1) = spoc-frame_start(1).&lt;/P&gt;&lt;P&gt;  spoc-first_bytes+2(1) = spoc-icon_start(1).&lt;/P&gt;&lt;P&gt;  spoc-first_bytes+3(1) = spoc-symbol_low_start(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "SPOOLDATA_WRITE_INIT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  set_char&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form set_char using code changing c.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Copy from RSPO_SPOOLDATA_WRITE_INIT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_buf(1) type c.&lt;/P&gt;&lt;P&gt;  data: l_len type i.&lt;/P&gt;&lt;P&gt;  field-symbols: &amp;lt;fs&amp;gt; type x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  assign l_buf to &amp;lt;fs&amp;gt; type 'X'.&lt;/P&gt;&lt;P&gt;  l_buf = 'A'.&lt;/P&gt;&lt;P&gt;  describe field l_buf length l_len in byte mode.&lt;/P&gt;&lt;P&gt;  if l_len = 2.&lt;/P&gt;&lt;P&gt;    if &amp;lt;fs&amp;gt;(1) = 0.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs&amp;gt;+0(1) = 0.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs&amp;gt;+1(1) = code.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs&amp;gt;+1(1) = 0.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs&amp;gt;+0(1) = code.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    &amp;lt;fs&amp;gt;+0(1) = code.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  c = l_buf.&lt;/P&gt;&lt;P&gt;endform.                    "set_char&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Jan 2009 16:10:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid/m-p/4995688#M1163512</guid>
      <dc:creator>former_member191735</dc:creator>
      <dc:date>2009-01-02T16:10:03Z</dc:date>
    </item>
  </channel>
</rss>

