<?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: Hi, in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404710#M195450</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Cindy,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is another example of function module in real time scenario(Enqueue and dequeue).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When a user(A, for instance) wants to change the sales order (VA02), he will enter into sales order in change mode. At this point of time, a lock is placed on the object with user A. When user B or user A in another session wants to edit the same sales order, then he will get a message saying that the object is currently locked on user A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All this scenario is based on lock object and uses the FM "ENQUEUE_E&amp;lt;objectname&amp;gt;" and "DEQUEUE_E&amp;lt;objectname".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This way, we use FM in the program point of use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will give you some idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vicky&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: Award points if helpful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Jun 2006 20:42:54 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-06-29T20:42:54Z</dc:date>
    <item>
      <title>Hi,</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404707#M195447</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;CAN ANY ONE POST ME THE  REAL TIME SCENARIOS FOR USING FUNCTION MODULES. PLEASE POST BE THE SCENARIO AND THE FOLLOWING STEPS, IT WOULD BE OF GREAT HELP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BYE &lt;/P&gt;&lt;P&gt;CINDY&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jun 2006 20:10:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404707#M195447</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-29T20:10:58Z</dc:date>
    </item>
    <item>
      <title>Re: Hi,</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404708#M195448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Cindy,&lt;/P&gt;&lt;P&gt; In the below link you can find the usage of GUI_DOWNLOAD FM this is how FM Usage is done ... is this for what you are looking for ????&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*.......................................................................
*: Report:  ZDOWNEMPDATA                                               :
*:                                                                     :
*: Author:  www.SAPDev.co.uk                                           :
*:                                                                     :
*: Date  :  2004                                                       :
*:                                                                     :
*: Description: Downloads employee data to TAB delimited flat files    :
*:                                                                     :
*:.....................................................................:
*.......................................................................
*: Report:  ZDOWNEMPDATA                                               :
*:                                                                     :
*: Author:  www.SAPDev.co.uk                                           :
*:                                                                     :
*: Date  :  2004                                                       :
*:                                                                     :
*: Description: Downloads employee data to TAB delimited flat files    :
*:                                                                     :
*:.....................................................................:
REPORT  zdownempdata                                         .

INFOTYPES: 0000, 0001, 0007, 0008, 0121, 0615.
NODES: pernr.
TABLES: t001p.

TYPES: BEGIN OF t_employee,
*        INCLUDE STRUCTURE hrms_biw_io_occupancy.
  begda	TYPE begda,
  endda	TYPE endda,
  pernr	TYPE pernr_d,
  rfpnr	TYPE rfpnr,
  bukrs	TYPE bukrs,
  werks	TYPE persa,
  btrtl	TYPE btrtl,
  persg	TYPE persg,
  persk	TYPE persk,
  orgeh	TYPE orgeh,
  stell	TYPE stell,
  plans	TYPE plans,
  kokrs	TYPE mast_coar,
  kostl	TYPE mast_cctr,
  abkrs	TYPE abkrs,
  molga	TYPE molga,
  trfar	TYPE trfar,
  trfgb	TYPE trfgb,
  trfkz	TYPE trfkz,
  trfgr	TYPE trfgr,
  trfst	TYPE trfst,
  bsgrd	TYPE bsgrd,
  ansal	TYPE ansal_15,
  ancur	TYPE ancur,
  empct	TYPE empct,
  stat2	TYPE stat2,
  ncsdate     TYPE hiredate,
  sltyp	TYPE p_sltyp,
  slreg	TYPE p_slreg,
  slgrp	TYPE p_slgrp,
  sllev	TYPE p_sllvl,
  ansvh	TYPE ansvh,
  vdsk1	TYPE vdsk1,
  sname	TYPE smnam,
 END OF t_employee.
DATA: it_employee TYPE STANDARD TABLE OF t_employee INITIAL SIZE 0,
      wa_employee TYPE t_employee.

TYPES: BEGIN OF t_emptexts,
*        INCLUDE STRUCTURE hrms_bw_txt_employee.
  DATEFROM	TYPE RSDATEFROM,
  DATETO	TYPE RSDATETO,
  PERNR	TYPE PERSNO,
  TXTMD	TYPE EMNAM,
 END OF t_emptexts.
DATA: it_emptexts TYPE STANDARD TABLE OF t_emptexts INITIAL SIZE 0,
      wa_emptexts TYPE t_emptexts.

TYPES: BEGIN OF t_contract,
*        INCLUDE STRUCTURE pa0615.
  pernr TYPE p0615-pernr,
  begda TYPE p0615-begda,
  endda TYPE p0615-endda,
  aedtm TYPE p0615-aedtm,
  ctype TYPE p0615-ctype,
  cbeg  TYPE p0615-cbeg,
  cend  TYPE p0615-cend,
 END OF t_contract.
DATA: it_contract TYPE STANDARD TABLE OF t_contract INITIAL SIZE 0,
      wa_contract TYPE t_contract.

DATA: it_tabemp TYPE filetable,
      gd_subrcemp TYPE i,
      it_tabempt TYPE filetable,
      gd_subrcempt TYPE i,
      it_tabcont TYPE filetable,
      gd_subrccont TYPE i.

DATA: gd_downfile TYPE string.


SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
PARAMETERS: p_emp   LIKE rlgrap-filename,
            p_empt  LIKE rlgrap-filename,
            p_cont LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK block1.


***********************************************************************
*at selection-screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_emp.

  REFRESH: it_tabemp.
  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog
    EXPORTING
      window_title      = 'Select File'
      default_filename  = '*.xls'
      initial_directory = 'C:'
      multiselection    = ' '  "No multiple selection
    CHANGING
      file_table        = it_tabemp
      rc                = gd_subrcemp.

  LOOP AT it_tabemp INTO p_emp.
  ENDLOOP.


***********************************************************************
*at selection-screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_empt.

  REFRESH: it_tabemp.
  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog
    EXPORTING
      window_title      = 'Select File'
      default_filename  = '*.xls'
      initial_directory = 'C:'
      multiselection    = ' '  "No multiple selection
    CHANGING
      file_table        = it_tabempt
      rc                = gd_subrcempt.

  LOOP AT it_tabempt INTO p_empt.
  ENDLOOP.


***********************************************************************
*at selection-screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_cont.

  REFRESH: it_tabcont.
  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog
    EXPORTING
      window_title      = 'Select File'
      default_filename  = '*.xls'
      initial_directory = 'C:'
      multiselection    = ' '  "No multiple selection
    CHANGING
      file_table        = it_tabcont
      rc                = gd_subrccont.

  LOOP AT it_tabcont INTO p_cont.
  ENDLOOP.


************************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.

GET pernr.
* Selecting the latest infotype record
  rp_provide_from_last p0000 space pn-begda pn-endda.
  rp_provide_from_last p0001 space pn-begda pn-endda.
  rp_provide_from_last p0007 space pn-begda pn-endda.
  rp_provide_from_last p0008 space pn-begda pn-endda.
  rp_provide_from_last p0121 space pn-begda pn-endda.
  rp_provide_from_last p0615 space pn-begda pn-endda.

  MOVE-CORRESPONDING p0001 TO wa_employee.
  wa_employee-rfpnr = p0121-rfp01. "?????

  MOVE-CORRESPONDING p0007 TO wa_employee.
  MOVE-CORRESPONDING p0008 TO wa_employee.
  MOVE-CORRESPONDING p0000 TO wa_employee.


  SELECT SINGLE molga
    FROM t001p
    INTO wa_employee-molga
   WHERE werks EQ p0001-werks AND
         btrtl EQ p0001-btrtl.

  SELECT SINGLE trfkz
    FROM t503
    INTO wa_employee-trfkz
   WHERE persg EQ p0001-persg AND
         persk EQ p0001-persk.

  CALL FUNCTION 'HR_ENTRY_DATE'
    EXPORTING
      persnr                     = pernr-pernr
*   RCLAS                      =
*   BEGDA                      = '18000101'
*   ENDDA                      = '99991231'
*   VARKY                      =
   IMPORTING
      entrydate                  = wa_employee-ncsdate
* TABLES
*   ENTRY_DATES                =
 EXCEPTIONS
   ENTRY_DATE_NOT_FOUND       = 1
   PERNR_NOT_ASSIGNED         = 2
   OTHERS                     = 3
            .
  IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

* append employee data
  APPEND wa_employee TO it_employee.
  CLEAR: wa_employee.

  wa_emptexts-datefrom = p0001-begda.
  wa_emptexts-dateto   = p0001-endda.
  wa_emptexts-pernr    = p0001-pernr.
  wa_emptexts-txtmd    = p0001-ename.

* append employee texts data
  APPEND wa_emptexts TO it_emptexts.
  CLEAR: wa_emptexts.

  MOVE-CORRESPONDING p0615 TO wa_contract.
* append employee contract data
  APPEND wa_contract TO it_contract.
  CLEAR: wa_contract.


************************************************************************
*END-OF-SELECTION.
END-OF-SELECTION.

* download employee data
  IF NOT p_emp IS INITIAL.
    gd_downfile = p_emp.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename              = gd_downfile
        filetype              = 'ASC'
        write_field_separator = 'X'
      TABLES
        data_tab              = it_employee.
    IF sy-subrc EQ 0.
      WRITE:/ 'Employee file downloaded to',
              gd_downfile.
    ELSE.
      WRITE:/ 'There was an error downloading Employee file to',
              gd_downfile.
    ENDIF.
  ENDIF.

* download employee texts data
  IF NOT p_empt IS INITIAL.
    gd_downfile = p_empt.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename              = gd_downfile
        filetype              = 'ASC'
        write_field_separator = 'X'
      TABLES
        data_tab              = it_emptexts.
    IF sy-subrc EQ 0.
      WRITE:/ 'Employee text file downloaded to',
              gd_downfile.
    ELSE.
      WRITE:/ 'There was an error downloading Employee text file to',
              gd_downfile.
    ENDIF.
  ENDIF.

* download contract data
  IF NOT p_cont IS INITIAL.
    gd_downfile = p_cont.
    &amp;lt;b&amp;gt;CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename              = gd_downfile
        filetype              = 'ASC'
        write_field_separator = 'X'
      TABLES
        data_tab              = it_contract.
    IF sy-subrc EQ 0.
      WRITE:/ 'Employee contract file downloaded to',
              gd_downfile.
    ELSE.&amp;lt;/b&amp;gt;      WRITE:/ 'There was an error downloading Employee contract file to',
              gd_downfile.
    ENDIF.
  ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this out&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/programs/custom/zdownempdata.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/programs/custom/zdownempdata.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Santosh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jun 2006 20:13:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404708#M195448</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-29T20:13:04Z</dc:date>
    </item>
    <item>
      <title>Re: Hi,</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404709#M195449</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here you refer for sample programs on function modules&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap-function.htm" target="test_blank"&gt;http://www.sap-img.com/abap-function.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regds&lt;/P&gt;&lt;P&gt;Manohar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jun 2006 20:32:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404709#M195449</guid>
      <dc:creator>Manohar2u</dc:creator>
      <dc:date>2006-06-29T20:32:25Z</dc:date>
    </item>
    <item>
      <title>Re: Hi,</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404710#M195450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Cindy,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is another example of function module in real time scenario(Enqueue and dequeue).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When a user(A, for instance) wants to change the sales order (VA02), he will enter into sales order in change mode. At this point of time, a lock is placed on the object with user A. When user B or user A in another session wants to edit the same sales order, then he will get a message saying that the object is currently locked on user A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All this scenario is based on lock object and uses the FM "ENQUEUE_E&amp;lt;objectname&amp;gt;" and "DEQUEUE_E&amp;lt;objectname".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This way, we use FM in the program point of use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will give you some idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vicky&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: Award points if helpful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jun 2006 20:42:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404710#M195450</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-29T20:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: Hi,</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404711#M195451</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also refer to this BAPI link&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sappoint.com/abap/bapiintro.pdf" target="test_blank"&gt;http://www.sappoint.com/abap/bapiintro.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And function exit example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc" target="test_blank"&gt;http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regds&lt;/P&gt;&lt;P&gt;Manohar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Manohar Reddy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jun 2006 20:45:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404711#M195451</guid>
      <dc:creator>Manohar2u</dc:creator>
      <dc:date>2006-06-29T20:45:16Z</dc:date>
    </item>
    <item>
      <title>Re: Hi,</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404712#M195452</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;Please see the example below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zfr_aging_of_deposits&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-SIZE 0&lt;/P&gt;&lt;P&gt;       LINE-COUNT 0&lt;/P&gt;&lt;P&gt;       MESSAGE-ID zz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&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;Data dictionary tables                      *&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;TABLES: bsis,&lt;/P&gt;&lt;P&gt;        bkpf,&lt;/P&gt;&lt;P&gt;        bseg,&lt;/P&gt;&lt;P&gt;        lfa1,&lt;/P&gt;&lt;P&gt;        t001.&lt;/P&gt;&lt;P&gt;&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;Structures                                  *&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;TYPES: BEGIN OF t_bsis,&lt;/P&gt;&lt;P&gt;        bukrs LIKE bsis-bukrs,&lt;/P&gt;&lt;P&gt;        hkont LIKE bsis-hkont,&lt;/P&gt;&lt;P&gt;        zuonr LIKE bsis-zuonr,&lt;/P&gt;&lt;P&gt;        belnr LIKE bsis-belnr,&lt;/P&gt;&lt;P&gt;        gjahr LIKE bsis-gjahr,&lt;/P&gt;&lt;P&gt;        budat LIKE bsis-budat,&lt;/P&gt;&lt;P&gt;        shkzg LIKE bsis-shkzg,&lt;/P&gt;&lt;P&gt;        dmbtr LIKE bsis-dmbtr,&lt;/P&gt;&lt;P&gt;        sgtxt LIKE bsis-sgtxt,&lt;/P&gt;&lt;P&gt;       END OF t_bsis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_bseg,&lt;/P&gt;&lt;P&gt;        lifnr    LIKE bseg-lifnr,&lt;/P&gt;&lt;P&gt;        bldat    LIKE bkpf-bldat,&lt;/P&gt;&lt;P&gt;        budat    LIKE bkpf-budat,&lt;/P&gt;&lt;P&gt;        xblnr    LIKE bkpf-xblnr,&lt;/P&gt;&lt;P&gt;        bktxt    LIKE bkpf-bktxt,&lt;/P&gt;&lt;P&gt;        sgtxt    LIKE bseg-sgtxt,&lt;/P&gt;&lt;P&gt;        s_dat    TYPE string,&lt;/P&gt;&lt;P&gt;        e_dat    TYPE string,&lt;/P&gt;&lt;P&gt;        bukrs    LIKE bseg-bukrs,&lt;/P&gt;&lt;P&gt;        belnr    LIKE bseg-belnr,&lt;/P&gt;&lt;P&gt;        buzei    LIKE bseg-buzei,&lt;/P&gt;&lt;P&gt;        gjahr    LIKE bseg-gjahr,&lt;/P&gt;&lt;P&gt;        shkzg    LIKE bseg-shkzg,&lt;/P&gt;&lt;P&gt;        dmbtr    LIKE bseg-dmbtr,&lt;/P&gt;&lt;P&gt;        name1    LIKE lfa1-name1,&lt;/P&gt;&lt;P&gt;        amount1  LIKE bseg-dmbtr,   "if 30 days and below&lt;/P&gt;&lt;P&gt;        amount2  LIKE bseg-dmbtr,   "if &amp;gt; 30 and &amp;lt; 60 days&lt;/P&gt;&lt;P&gt;        amount3  LIKE bseg-dmbtr,   "if &amp;gt; 60 and &amp;lt; 90 days&lt;/P&gt;&lt;P&gt;        amount4  LIKE bseg-dmbtr,   "if &amp;gt; 90 and &amp;lt; 120 days&lt;/P&gt;&lt;P&gt;        amount5  LIKE bseg-dmbtr,   "if &amp;gt; 180 days&lt;/P&gt;&lt;P&gt;       END OF t_bseg.&lt;/P&gt;&lt;P&gt;&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;Internal tables                             *&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;DATA: it_bsis TYPE STANDARD TABLE OF t_bsis,&lt;/P&gt;&lt;P&gt;      it_bseg TYPE STANDARD TABLE OF t_bseg WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_lines TYPE STANDARD TABLE OF tline WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_thead TYPE STANDARD TABLE OF thead WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;Data declarations                           *&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;*ALV Declarations&lt;/P&gt;&lt;P&gt;DATA:   gt_fieldcat         TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;        g_repid             LIKE sy-repid,&lt;/P&gt;&lt;P&gt;        gs_layout           TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;        gt_list_top_of_page TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;        gt_events           TYPE slis_t_event WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        gt_print            TYPE slis_print_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_top  TYPE slis_formname  VALUE 'TOP_OF_PAGE',&lt;/P&gt;&lt;P&gt;           gc_topsum  TYPE slis_formname  VALUE 'TOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*field-symbols&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;fs_bsis&amp;gt; LIKE LINE OF it_bsis.&lt;/P&gt;&lt;P&gt;&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;Initialization                              *&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;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&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;Selection screen                            *&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;  SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;  PARAMETERS: p_bukrs LIKE t001-bukrs OBLIGATORY,&lt;/P&gt;&lt;P&gt;              p_budat LIKE bkpf-budat OBLIGATORY.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*at selection-screen on p_bukrs&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_bukrs.&lt;/P&gt;&lt;P&gt;  IF p_bukrs &amp;lt;&amp;gt; 'GLOB' AND&lt;/P&gt;&lt;P&gt;     p_bukrs &amp;lt;&amp;gt; 'INOV' AND&lt;/P&gt;&lt;P&gt;     p_bukrs &amp;lt;&amp;gt; 'GXCH'.&lt;/P&gt;&lt;P&gt;    MESSAGE e008 WITH 'Invalid Company Code!'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;Start of selection                          *&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  CHECK NOT it_bsis[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM combine_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF it_bsis[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE i010.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM display_results.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&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 get_data                                                 *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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 get_data.&lt;/P&gt;&lt;P&gt;  DATA: lv_hkont TYPE hkont VALUE '190100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            input  = '190100'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            output = lv_hkont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT bukrs hkont zuonr belnr gjahr budat shkzg dmbtr sgtxt FROM bsis&lt;/P&gt;&lt;P&gt;     INTO TABLE it_bsis&lt;/P&gt;&lt;P&gt;    WHERE bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;      AND budat &amp;lt; p_budat&lt;/P&gt;&lt;P&gt;      AND xragl = space&lt;/P&gt;&lt;P&gt;      AND xstov = space&lt;/P&gt;&lt;P&gt;      AND hkont = lv_hkont.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&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 combine_data                                             *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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 combine_data.&lt;/P&gt;&lt;P&gt;  DATA: lv_age_of_rec TYPE p.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE budat bldat xblnr bktxt FROM bkpf&lt;/P&gt;&lt;P&gt;    INTO (it_bseg-budat,it_bseg-bldat, it_bseg-xblnr, it_bseg-bktxt)&lt;/P&gt;&lt;P&gt;    WHERE bukrs = &amp;lt;fs_bsis&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;      AND belnr = &amp;lt;fs_bsis&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;      AND gjahr = &amp;lt;fs_bsis&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;      AND stblg = space&lt;/P&gt;&lt;P&gt;      AND xstov = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE bukrs belnr buzei gjahr shkzg dmbtr lifnr sgtxt&lt;/P&gt;&lt;P&gt;    FROM bseg INTO (it_bseg-bukrs, it_bseg-belnr, it_bseg-buzei,&lt;/P&gt;&lt;P&gt;                    it_bseg-gjahr, it_bseg-shkzg, it_bseg-dmbtr,&lt;/P&gt;&lt;P&gt;                    it_bseg-lifnr, it_bseg-sgtxt)&lt;/P&gt;&lt;P&gt;    WHERE bukrs = &amp;lt;fs_bsis&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;      AND belnr = &amp;lt;fs_bsis&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;      AND gjahr = &amp;lt;fs_bsis&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;      AND koart = 'K'&lt;/P&gt;&lt;P&gt;      AND hkont = &amp;lt;fs_bsis&amp;gt;-hkont&lt;/P&gt;&lt;P&gt;      AND umskz = 'K'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND fdlev = 'DP'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CONCATENATE: it_bseg-bukrs it_bseg-belnr it_bseg-gjahr it_bseg-buzei&lt;/P&gt;&lt;P&gt;                  INTO it_thead-tdname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              client                  = sy-mandt&lt;/P&gt;&lt;P&gt;              id                      = '0001'&lt;/P&gt;&lt;P&gt;              language                = sy-langu&lt;/P&gt;&lt;P&gt;              name                    = it_thead-tdname&lt;/P&gt;&lt;P&gt;              object                  = 'DOC_ITEM'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              lines                   = it_lines&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              id                      = 1&lt;/P&gt;&lt;P&gt;              language                = 2&lt;/P&gt;&lt;P&gt;              name                    = 3&lt;/P&gt;&lt;P&gt;              not_found               = 4&lt;/P&gt;&lt;P&gt;              object                  = 5&lt;/P&gt;&lt;P&gt;              reference_check         = 6&lt;/P&gt;&lt;P&gt;              wrong_access_to_archive = 7&lt;/P&gt;&lt;P&gt;              OTHERS                  = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE it_lines TRANSPORTING tdline.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        SPLIT it_lines-tdline AT '-' INTO it_bseg-s_dat it_bseg-e_dat.&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;    SELECT SINGLE name1 FROM lfa1&lt;/P&gt;&lt;P&gt;    INTO it_bseg-name1&lt;/P&gt;&lt;P&gt;    WHERE lifnr = it_bseg-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_age_of_rec = p_budat - it_bseg-budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF lv_age_of_rec &amp;lt; 30.&lt;/P&gt;&lt;P&gt;      MOVE it_bseg-dmbtr TO it_bseg-amount1.&lt;/P&gt;&lt;P&gt;    ELSEIF lv_age_of_rec &amp;gt; 30 AND lv_age_of_rec &amp;lt; 60.&lt;/P&gt;&lt;P&gt;      MOVE it_bseg-dmbtr TO it_bseg-amount2.&lt;/P&gt;&lt;P&gt;    ELSEIF lv_age_of_rec &amp;gt; 60 AND lv_age_of_rec &amp;lt; 90.&lt;/P&gt;&lt;P&gt;      MOVE it_bseg-dmbtr TO it_bseg-amount3.&lt;/P&gt;&lt;P&gt;    ELSEIF lv_age_of_rec &amp;gt; 90 AND lv_age_of_rec &amp;lt; 120.&lt;/P&gt;&lt;P&gt;      MOVE it_bseg-dmbtr TO it_bseg-amount4.&lt;/P&gt;&lt;P&gt;    ELSEIF lv_age_of_rec &amp;gt; 180.&lt;/P&gt;&lt;P&gt;      MOVE it_bseg-dmbtr TO it_bseg-amount5.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND it_bseg.&lt;/P&gt;&lt;P&gt;    CLEAR: it_bseg, bkpf, it_lines-tdline.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&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 display_results                                          *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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 display_results.&lt;/P&gt;&lt;P&gt;  SORT it_bseg BY lifnr bldat budat xblnr bktxt sgtxt s_dat e_dat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_build_layout USING gs_layout.&lt;/P&gt;&lt;P&gt;  PERFORM f_init_fieldcat USING gt_fieldcat[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_callback_program     = g_repid&lt;/P&gt;&lt;P&gt;            i_callback_top_of_page = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;            is_layout              = gs_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat            = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;            i_save                 = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab               = it_bseg[]&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error          = 1&lt;/P&gt;&lt;P&gt;            OTHERS                 = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALV&lt;/P&gt;&lt;P&gt;&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 top_of_page                                              *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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 top_of_page.&lt;/P&gt;&lt;P&gt;*ALV header declarations&lt;/P&gt;&lt;P&gt;  DATA: t_header TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;        wa_header TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;        t_line LIKE wa_header-info,&lt;/P&gt;&lt;P&gt;        lv_header TYPE string,&lt;/P&gt;&lt;P&gt;        lv_date TYPE sy-datum,&lt;/P&gt;&lt;P&gt;        lv_time TYPE sy-uzeit,&lt;/P&gt;&lt;P&gt;        lv_user TYPE sy-uname,&lt;/P&gt;&lt;P&gt;        lv_time_n_date(30).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE butxt FROM t001&lt;/P&gt;&lt;P&gt;  INTO t001-butxt&lt;/P&gt;&lt;P&gt;  WHERE bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Company code&lt;/P&gt;&lt;P&gt;  CLEAR lv_header.&lt;/P&gt;&lt;P&gt;  CONCATENATE: 'Company:' t001-butxt INTO lv_header&lt;/P&gt;&lt;P&gt;               SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  wa_header-typ   = 'H'.&lt;/P&gt;&lt;P&gt;  wa_header-info  = lv_header.&lt;/P&gt;&lt;P&gt;  APPEND wa_header TO t_header.&lt;/P&gt;&lt;P&gt;  CLEAR wa_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Title of the report&lt;/P&gt;&lt;P&gt;  CLEAR lv_header.&lt;/P&gt;&lt;P&gt;  CONCATENATE: 'Report Title:' sy-title INTO lv_header&lt;/P&gt;&lt;P&gt;                SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  wa_header-typ  =  'A'.&lt;/P&gt;&lt;P&gt;  wa_header-info =  lv_header.&lt;/P&gt;&lt;P&gt;  APPEND wa_header TO t_header.&lt;/P&gt;&lt;P&gt;  CLEAR wa_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Date and time&lt;/P&gt;&lt;P&gt;  WRITE: sy-datum TO lv_date MM/DD/YYYY,&lt;/P&gt;&lt;P&gt;         sy-uzeit TO lv_time USING EDIT MASK '__:__:__'.&lt;/P&gt;&lt;P&gt;  CONCATENATE: 'Generated on:' lv_date lv_time&lt;/P&gt;&lt;P&gt;               INTO lv_time_n_date SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  wa_header-typ  = 'A'.&lt;/P&gt;&lt;P&gt;  wa_header-info =  lv_time_n_date.&lt;/P&gt;&lt;P&gt;  APPEND wa_header TO t_header.&lt;/P&gt;&lt;P&gt;  CLEAR wa_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Generated by&lt;/P&gt;&lt;P&gt;  CLEAR lv_header.&lt;/P&gt;&lt;P&gt;  MOVE sy-uname TO lv_user.&lt;/P&gt;&lt;P&gt;  CONCATENATE: 'Generated by:' lv_user INTO lv_header&lt;/P&gt;&lt;P&gt;               SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  wa_header-typ  = 'A'.&lt;/P&gt;&lt;P&gt;  wa_header-info =  lv_header.&lt;/P&gt;&lt;P&gt;  APPEND wa_header TO t_header.&lt;/P&gt;&lt;P&gt;  CLEAR wa_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            it_list_commentary = t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&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 f_build_layout                                           *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  %LAYOUT                                                       *&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 f_build_layout USING %layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;  %layout-zebra             = 'X'.&lt;/P&gt;&lt;P&gt;  %layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  %layout-totals_text       = 'Total'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&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 f_init_fieldcat                                          *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  %FIELDCAT                                                     *&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 f_init_fieldcat USING %fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lc_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR lc_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DEFINE m_field.&lt;/P&gt;&lt;P&gt;    add 1 to lc_fieldcat-col_pos.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-fieldname   = &amp;amp;1.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-outputlen   = &amp;amp;2.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-seltext_l   = &amp;amp;3.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-do_sum      = &amp;amp;4.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-inttype     = &amp;amp;5.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-hotspot     = &amp;amp;6.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-fix_column  = &amp;amp;7.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-ddictxt     = 'L'.&lt;/P&gt;&lt;P&gt;    lc_fieldcat-no_zero     = 'X'.&lt;/P&gt;&lt;P&gt;    append lc_fieldcat to %fieldcat.&lt;/P&gt;&lt;P&gt;  END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  m_field 'BLDAT' '8' 'Doc date'                  ''  ''  '' 'X'.&lt;/P&gt;&lt;P&gt;  m_field 'BUDAT' '8' 'Posting Date'              ''  ''  '' 'X'.&lt;/P&gt;&lt;P&gt;  m_field 'LIFNR' '10' 'Vendor Code'              ''  ''  '' 'X'.&lt;/P&gt;&lt;P&gt;  m_field 'NAME1' '35' 'Vendor Name'              ''  ''  '' 'X'.&lt;/P&gt;&lt;P&gt;  m_field 'XBLNR' '16' 'Reference'                ''  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'BKTXT' '25' 'Header Text'              ''  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'SGTXT' '50' 'Line Item Text'           ''  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'S_DAT' '8' 'Start Date'                ''  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'E_DAT' '8' 'End Date'                  ''  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'DMBTR' '13' 'Amount in PHP'            'X'  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'AMOUNT1' '13' '30 days and below'      'X'  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'AMOUNT2' '13' '&amp;gt; 30 but &amp;lt; 60 days'     'X'  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'AMOUNT3' '13' '&amp;gt; 60 but &amp;lt; 90 days'     'X'  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'AMOUNT4' '13' '&amp;gt; 90 but &amp;lt; 120 days'    'X'  ''  '' ''.&lt;/P&gt;&lt;P&gt;  m_field 'AMOUNT5' '13' '&amp;gt; 180 days'             'X'  ''  '' ''.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_init_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S. Please do award points if helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jun 2006 01:13:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hi/m-p/1404712#M195452</guid>
      <dc:creator>aris_hidalgo</dc:creator>
      <dc:date>2006-06-30T01:13:25Z</dc:date>
    </item>
  </channel>
</rss>

