<?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 ALV using LDB in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-ldb/m-p/1758977#M328647</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;     I am to make ALV(OO) using LDB(PNPCE) . can anyone provide some code or some help ... how to get data from LDB to internal table .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 19 Dec 2006 09:54:19 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-12-19T09:54:19Z</dc:date>
    <item>
      <title>ALV using LDB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-ldb/m-p/1758977#M328647</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;     I am to make ALV(OO) using LDB(PNPCE) . can anyone provide some code or some help ... how to get data from LDB to internal table .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Dec 2006 09:54:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-ldb/m-p/1758977#M328647</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-19T09:54:19Z</dc:date>
    </item>
    <item>
      <title>Re: ALV using LDB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-ldb/m-p/1758978#M328648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Following report using PNP and displays in ALV:-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can see the code to know how it works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZPT_REPT_OVERTIME_001.&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;P&gt;*TABLES&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;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: PERNR.&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;INFOTYPE DECLARATION&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INFOTYPE   DESCRIPTION&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;0001       Organisation Assignment.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2001       Absences&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2002       Attendances&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;&lt;/P&gt;&lt;P&gt;INFOTYPES: 2001,2002,0001.&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;VARIABLE DECLARATION&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;VARIABLE            TYPE     SIZE  DESCRIPTION&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALCULATE           CHAR      4    Stores the total working hours of&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                  an employee&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NO_EMPL             INTEGER        Stores total number of employee&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;&lt;/P&gt;&lt;P&gt;DATA: CALCULATE(4),&lt;/P&gt;&lt;P&gt;      NO_EMPL TYPE I VALUE 0.&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;Type-Pool (Includes SAP standard types and constants of a type group)*&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;&lt;/P&gt;&lt;P&gt;TYPE-POOLS:SLIS.                     " Must include in ALV reports&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 TABLE DECLARATION&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE NAME: IT_OVERTIME&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FIELDS                  DESCRIPTION&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERNR                   Personnel number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SNAME                   Employee's Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDDA                   End Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ABRTG                   Payroll days&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BEGDA                   Start Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BEGUZ                   Start Time&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDUZ                   End Time&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STDAZ                   Attendance hours&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERMEDIATE1(4)        Stores the intermediate overtime(1.5@x)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERMEDIATE2(4)        Stores the intermediate overtime(2@x)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OVERTIME(4)             Stores the overtime of an employee&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AWART                   Attendance or Absence Type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ATEXT                   Text for Attendance/Absence Type&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;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_OVERTIME OCCURS 0,&lt;/P&gt;&lt;P&gt;      PERNR(8),&lt;/P&gt;&lt;P&gt;      SNAME LIKE PA0001-SNAME,&lt;/P&gt;&lt;P&gt;      ENDDA LIKE PA2002-ENDDA,&lt;/P&gt;&lt;P&gt;      ABRTG LIKE PA2002-ABRTG,&lt;/P&gt;&lt;P&gt;      BEGDA LIKE PA2002-BEGDA,&lt;/P&gt;&lt;P&gt;      BEGUZ LIKE PA2002-BEGUZ,&lt;/P&gt;&lt;P&gt;      ENDUZ LIKE PA2002-ENDUZ,&lt;/P&gt;&lt;P&gt;      STDAZ LIKE PA2002-STDAZ,&lt;/P&gt;&lt;P&gt;      INTERMEDIATE1(4),&lt;/P&gt;&lt;P&gt;      INTERMEDIATE2(4),&lt;/P&gt;&lt;P&gt;      OVERTIME(4),&lt;/P&gt;&lt;P&gt;      AWART LIKE PA2001-AWART,&lt;/P&gt;&lt;P&gt;      ATEXT LIKE T554T-ATEXT,&lt;/P&gt;&lt;P&gt;      END OF IT_OVERTIME.&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;VARIABLE DECLARATION FOR ALV&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;&lt;/P&gt;&lt;P&gt;DATA: IS_LAYOUT        TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      I_FIELDCAT       TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      I_FIELDCAT_LOG   TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      FIELDCAT         TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      I_EVENTS         TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      EVENTS           TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;      ALV_TOP_OF_PAGE  TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;      GS_LINE          TYPE SLIS_LISTHEADER,&lt;/P&gt;&lt;P&gt;      ALV_EVENTS       TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      ALV_VARIANT      TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      ALV_TITLE        TYPE LVC_TITLE,&lt;/P&gt;&lt;P&gt;      ALV_SORT         TYPE SLIS_T_SORTINFO_ALV,&lt;/P&gt;&lt;P&gt;      CSORT            TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : C_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME&lt;/P&gt;&lt;P&gt;                                   VALUE  '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;SELECTION SCREEN DEFINATION&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This selection screen defines an input field named P_FNAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_FNAME  Stores the file path.&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;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BLK_OPTIONS WITH FRAME TITLE BLK_TITL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS P_FNAME LIKE RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK_OPTIONS.&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;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  BLK_TITL = 'File'.&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;AT SELECTION SCREEN ON VALUE_REQUEST&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;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM GET_FILE.&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;AT SELECTION-SCREEN OUTPUT.&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;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;  NO_EMPL = 0.&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;GET PERNR EVENT&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;&lt;/P&gt;&lt;P&gt;GET PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM CALCULATE_OVERTIME.&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;P&gt;*END-OF-SELECTION&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;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NO_EMPL &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    IF P_FNAME &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;      PERFORM DOWNLOAD.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_DATA.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM POP_UP.&lt;/P&gt;&lt;P&gt;      IF SY-UCOMM = 'YES'.&lt;/P&gt;&lt;P&gt;        PERFORM DISPLAY_DATA.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I001(00) WITH 'NO EMPLOYEE PRESENT WITH SEARCH CRITERIA'.&lt;/P&gt;&lt;P&gt;  ENDIF.&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  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;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 DISPLAY_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR IS_LAYOUT.&lt;/P&gt;&lt;P&gt;  IS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;  IS_LAYOUT-ZEBRA             = 'X'.&lt;/P&gt;&lt;P&gt;  IS_LAYOUT-INFO_FIELDNAME    = 'COLOR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LAYOUT-BOX_FIELDNAME     = 'CHECK'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CSORT-FIELDNAME = 'PERNR'.&lt;/P&gt;&lt;P&gt;  CSORT-UP        = 'X'.&lt;/P&gt;&lt;P&gt;  CSORT-SUBTOT       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND CSORT TO ALV_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CSORT-FIELDNAME = 'SNAME'.&lt;/P&gt;&lt;P&gt;  CSORT-GROUP       = 'X'.&lt;/P&gt;&lt;P&gt;  CSORT-SUBTOT       = ''.&lt;/P&gt;&lt;P&gt;  APPEND CSORT TO ALV_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Event Tab&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM EVENTTAB_BUILD CHANGING I_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Comment Tab&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM COMMENT_BUILD CHANGING ALV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call ALV Grid to display the log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = 'ZPT_REPT_OVERTIME_001'&lt;/P&gt;&lt;P&gt;      IS_LAYOUT          = IS_LAYOUT&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT        = I_FIELDCAT&lt;/P&gt;&lt;P&gt;      IT_SORT            = ALV_SORT&lt;/P&gt;&lt;P&gt;      I_DEFAULT          = 'X'&lt;/P&gt;&lt;P&gt;      I_SAVE             = 'A'&lt;/P&gt;&lt;P&gt;      IT_EVENTS          = I_EVENTS[]&lt;/P&gt;&lt;P&gt;      I_GRID_TITLE       = ALV_TITLE&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB           = IT_OVERTIME&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;&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  BUILD_FIELDCATALOG&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 BUILD_FIELDCATALOG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build the field Catalog for the ALV List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'SNAME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'EMPLOYEE NAME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-HOTSPOT   = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DATATYPE  = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'PERNR'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'P.S. NUMBER'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'C'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DATATYPE  = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'BEGDA'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'BEGINNING DATE'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'D'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = ''.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'ENDDA'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'ENDING DATE'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE   = 'D'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = ''.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'BEGUZ'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'IN-TIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'T'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = ''.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'ENDUZ'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'OUT-TIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'T'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = ''.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'STDAZ'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'TOTAL WORKING HOURS'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'P'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'INTERMEDIATE1'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'SINGLE OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'P'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DATATYPE  = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'INTERMEDIATE2'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'DOUBLE OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'P'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DATATYPE  = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'TOTAL-OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'P'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DATATYPE  = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'AWART'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'REASON'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'T'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = ''.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DATATYPE  = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCAT-TABNAME   = 'IT_OVERTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-FIELDNAME = 'ATEXT'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-SELTEXT_M = 'REMARK'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-JUST      = 'L'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-INTTYPE  = 'T'.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DO_SUM    = ''.&lt;/P&gt;&lt;P&gt;  FIELDCAT-DATATYPE  = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&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  EVENTTAB_BUILD&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;     --&amp;gt;IO_LT_EVENTtext&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 EVENTTAB_BUILD CHANGING IO_LT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LS_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Returns table of possible events for a list type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_LIST_TYPE = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ET_EVENTS   = IO_LT_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE IO_LT_EVENTS WITH KEY NAME =  SLIS_EV_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;                          INTO LS_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE C_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND LS_EVENT TO IO_LT_EVENTS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EVENTTAB_BUILD&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM COMMENT_BUILD CHANGING IO_ALV_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Use to customize the ALV header.It supports conditional ALV display.&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;&lt;/P&gt;&lt;P&gt;FORM COMMENT_BUILD CHANGING IO_ALV_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : L_TITLE(40) TYPE C,&lt;/P&gt;&lt;P&gt;         L_LDATE(10),&lt;/P&gt;&lt;P&gt;         L_HDATE(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR GS_LINE.&lt;/P&gt;&lt;P&gt;  GS_LINE-TYP  = 'H'.&lt;/P&gt;&lt;P&gt;  GS_LINE-INFO = 'OVERTIME CALCULATION FOR NOKIA'.&lt;/P&gt;&lt;P&gt;  APPEND GS_LINE TO IO_ALV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Displays the Date range on the ALV header.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  GS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;  IF NOT PN-ENDDA IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE PN-ENDDA TO L_HDATE DD/MM/YYYY.&lt;/P&gt;&lt;P&gt;    WRITE PN-BEGDA TO L_LDATE DD/MM/YYYY.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'From' L_LDATE 'to' L_HDATE INTO L_TITLE SEPARATED BY&lt;/P&gt;&lt;P&gt;    SPACE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE PN-BEGDA TO L_LDATE DD/MM/YYYY.&lt;/P&gt;&lt;P&gt;    L_TITLE  = L_LDATE .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  GS_LINE-INFO =   L_TITLE.&lt;/P&gt;&lt;P&gt;  GS_LINE-KEY  = 'DATE            :'.&lt;/P&gt;&lt;P&gt;  APPEND GS_LINE TO IO_ALV_TOP_OF_PAGE.&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;Displays the Payroll area on the ALV header, if entered as a&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*selection criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF PNPXABKR &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    GS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;    GS_LINE-INFO = PNPXABKR.&lt;/P&gt;&lt;P&gt;    GS_LINE-KEY  = 'PAYROLL AREA:'.&lt;/P&gt;&lt;P&gt;    APPEND GS_LINE TO IO_ALV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;Displays the Employee status on the ALV header, if entered as a&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*selection criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF PNPSTAT2 &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    GS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;    GS_LINE-INFO = PNPSTAT2-LOW.&lt;/P&gt;&lt;P&gt;    GS_LINE-KEY  = 'EMPLOYEE STATUS:'.&lt;/P&gt;&lt;P&gt;    APPEND GS_LINE TO IO_ALV_TOP_OF_PAGE.&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;Displays the Company code on the ALV header, if entered as a&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*selection criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF PNPBUKRS &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    GS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;    GS_LINE-INFO = PNPBUKRS-LOW.&lt;/P&gt;&lt;P&gt;    GS_LINE-KEY  = 'COMPANY CODE    :'.&lt;/P&gt;&lt;P&gt;    APPEND GS_LINE TO IO_ALV_TOP_OF_PAGE.&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;Displays the Payroll area on the ALV header, if entered as a&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*selection criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF PNPABKRS &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    GS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;    GS_LINE-INFO = PNPABKRS-LOW.&lt;/P&gt;&lt;P&gt;    GS_LINE-KEY  = 'PAYROLL AREA    :'.&lt;/P&gt;&lt;P&gt;    APPEND GS_LINE TO IO_ALV_TOP_OF_PAGE.&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;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Displays the Employee group on the ALV header, if entered as a *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*selection criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF PNPXPGPK &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    GS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;    GS_LINE-INFO = PNPXPGPK-LOW.&lt;/P&gt;&lt;P&gt;    GS_LINE-KEY  = 'EMPLOYEE GROUP :'.&lt;/P&gt;&lt;P&gt;    APPEND GS_LINE TO IO_ALV_TOP_OF_PAGE.&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;Displays the Personnel area on the ALV header, if entered as a&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*selection criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF PNPXBWBK &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    GS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;    GS_LINE-INFO = PNPXBWBK-LOW.&lt;/P&gt;&lt;P&gt;    GS_LINE-KEY  = 'PERSONNEL AREA :'.&lt;/P&gt;&lt;P&gt;    APPEND GS_LINE TO IO_ALV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " COMMENT_BUILD&lt;/P&gt;&lt;P&gt;&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  TOP_OF_PAGE&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 TOP_OF_PAGE.&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;      I_LOGO             = 'HR_LOGO'&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY = ALV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: /2 SY-DATUM, 'Page No', SY-PAGNO LEFT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&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  DOWNLOAD&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;This Subroutine downloads the contents of internal table "IT_OVERTIME"&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to the file whose name is specified by P_FNAME. This Subroutine uses&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the function module "WS_DOWNLOAD" for performing download operation.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FUNCTION MODULE DESCRIPTION:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The function module "WS_DOWNLOAD" takes the following parameters as&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*inputs:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILENAME: Will contain the name of the file specified by the user.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILETYPE: Contains the Filetype&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;It also takes an internal table as its input(IT_OVERTIME).&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 DOWNLOAD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILESIZE                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          FILENAME                      = P_FNAME&lt;/P&gt;&lt;P&gt;          FILETYPE                      = 'DAT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MODE                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECTMASK                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;          DATA_TAB                      = IT_OVERTIME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELDNAMES                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   FILE_OPEN_ERROR               = 1&lt;/P&gt;&lt;P&gt;   FILE_WRITE_ERROR              = 2&lt;/P&gt;&lt;P&gt;   INVALID_FILESIZE              = 3&lt;/P&gt;&lt;P&gt;   INVALID_TYPE                  = 4&lt;/P&gt;&lt;P&gt;   NO_BATCH                      = 5&lt;/P&gt;&lt;P&gt;   UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;P&gt;   INVALID_TABLE_WIDTH           = 7&lt;/P&gt;&lt;P&gt;   GUI_REFUSE_FILETRANSFER       = 8&lt;/P&gt;&lt;P&gt;   CUSTOMER_ERROR                = 9&lt;/P&gt;&lt;P&gt;   NO_AUTHORITY                  = 10&lt;/P&gt;&lt;P&gt;   OTHERS                        = 11&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;    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;ENDFORM.                    " DOWNLOAD&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  CALCULATE_OVERTIME&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;This Subroutine calculates the overtime of the employee and stores the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;result as follows:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; VARIABLE                DESCRIPTION&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; OVERTIME                Stores the final overtime of the employee&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INTERMEDIATE1           Stores the intermediate overtime(1.5@x)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INTERMEDIATE2           Stores the intermediate overtime(2@x)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;FORM CALCULATE_OVERTIME .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetching attendance data according to the begining date and ending&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*date from P2002 into internal table IT_OVERTIME.&lt;/P&gt;&lt;P&gt;  PROVIDE * FROM P2002 BETWEEN PN-BEGDA AND PN-ENDDA.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING P2002 TO IT_OVERTIME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE IT_OVERTIME-ABRTG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for Sunday. ABTRG is 0 for Sunday.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Overtime logic:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OVERTIME = ( Working hrs.) * 2 + 8.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WHEN '0.00'.&lt;/P&gt;&lt;P&gt;        IT_OVERTIME-OVERTIME = IT_OVERTIME-STDAZ * 2 + 8.&lt;/P&gt;&lt;P&gt;        IT_OVERTIME-INTERMEDIATE1 = 0.&lt;/P&gt;&lt;P&gt;        IT_OVERTIME-INTERMEDIATE2 = IT_OVERTIME-OVERTIME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for working days.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Overtime logic:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;1. Subtrtact 8 from total working hrs.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2. For first 4 hrs, multiply working hrs. by 1.5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3. For remaining hrs, multiply working hrs. by 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WHEN OTHERS.&lt;/P&gt;&lt;P&gt;        CALCULATE = IT_OVERTIME-STDAZ - 8.&lt;/P&gt;&lt;P&gt;        IF CALCULATE LE 0.&lt;/P&gt;&lt;P&gt;          IT_OVERTIME-OVERTIME = 0.&lt;/P&gt;&lt;P&gt;          IT_OVERTIME-INTERMEDIATE1 = 0.&lt;/P&gt;&lt;P&gt;          IT_OVERTIME-INTERMEDIATE2 = 0.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          IF CALCULATE GE 4.				&lt;/P&gt;&lt;P&gt;            IT_OVERTIME-OVERTIME = 4 * '1.5'.&lt;/P&gt;&lt;P&gt;            IT_OVERTIME-INTERMEDIATE1 = IT_OVERTIME-OVERTIME.&lt;/P&gt;&lt;P&gt;            CALCULATE = CALCULATE - 4.&lt;/P&gt;&lt;P&gt;            IT_OVERTIME-INTERMEDIATE2 = CALCULATE * 2.&lt;/P&gt;&lt;P&gt;            IT_OVERTIME-OVERTIME = IT_OVERTIME-OVERTIME +&lt;/P&gt;&lt;P&gt;            IT_OVERTIME-INTERMEDIATE2.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            IT_OVERTIME-OVERTIME = CALCULATE * '1.5'.&lt;/P&gt;&lt;P&gt;            IT_OVERTIME-INTERMEDIATE1 = IT_OVERTIME-OVERTIME.&lt;/P&gt;&lt;P&gt;            IT_OVERTIME-INTERMEDIATE2 = 0.&lt;/P&gt;&lt;P&gt;            CALCULATE = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IT_OVERTIME-SNAME = P0001-SNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetching attendance text from table T554T.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT ATEXT FROM T554T INTO IT_OVERTIME-ATEXT WHERE AWART =&lt;/P&gt;&lt;P&gt;IT_OVERTIME-AWART.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND IT_OVERTIME TO IT_OVERTIME.&lt;/P&gt;&lt;P&gt;    NO_EMPL = SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clearing the header of the internal table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR IT_OVERTIME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetching absence data according to the begining date and ending date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*from P2001 into internal table IT_OVERTIME.&lt;/P&gt;&lt;P&gt;  PROVIDE * FROM P2001 BETWEEN PN-BEGDA AND PN-ENDDA.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING P2001 TO IT_OVERTIME.&lt;/P&gt;&lt;P&gt;    IT_OVERTIME-OVERTIME = 0.&lt;/P&gt;&lt;P&gt;    IT_OVERTIME-INTERMEDIATE1 = 0.&lt;/P&gt;&lt;P&gt;    IT_OVERTIME-INTERMEDIATE2 = 0.&lt;/P&gt;&lt;P&gt;    IT_OVERTIME-SNAME = P0001-SNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetching absence text from table T554T.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT ATEXT FROM T554T INTO IT_OVERTIME-ATEXT WHERE AWART =&lt;/P&gt;&lt;P&gt; IT_OVERTIME-AWART.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND IT_OVERTIME TO IT_OVERTIME.&lt;/P&gt;&lt;P&gt;    NO_EMPL = SY-TABIX.&lt;/P&gt;&lt;P&gt;    CLEAR IT_OVERTIME.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_OVERTIME BY PERNR BEGDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALCULATE_OVERTIME&lt;/P&gt;&lt;P&gt;&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  GET_FILE&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;This Subroutine uses a function module "WS_FILENAME_GET" to display&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;file save dialog&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_FILE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEF_FILENAME           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEF_PATH               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MASK                   = ''&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     MODE                   = 'S'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TITLE                  = ''&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     FILENAME               = P_FNAME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RC                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     INV_WINSYS             = 1&lt;/P&gt;&lt;P&gt;     NO_BATCH               = 2&lt;/P&gt;&lt;P&gt;     SELECTION_CANCEL       = 3&lt;/P&gt;&lt;P&gt;     SELECTION_ERROR        = 4&lt;/P&gt;&lt;P&gt;     OTHERS                 = 5&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;    WHEN 3.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      MESSAGE I002(00) WITH 'File selector not available on this windows&lt;/P&gt;&lt;P&gt; system'.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 2.&lt;/P&gt;&lt;P&gt;      MESSAGE I003(00) WITH 'Front-End Function Cannot Be Executed in&lt;/P&gt;&lt;P&gt;Backgrnd'.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 4.&lt;/P&gt;&lt;P&gt;      MESSAGE I004(00) WITH 'Communication error'.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 5.&lt;/P&gt;&lt;P&gt;      MESSAGE I005(00) WITH 'File can not be downloaded'.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_FILE&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  POP_UP&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;This subroutine uses a function module "POPUP_TO_CONFIRM_STEP".&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This function module provides a dialog box with a question and the *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;response alternatives "Yes" and "No" (one is preselected), where the&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*user must confirm a processing step.&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM POP_UP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEFAULTOPTION        = 'Y'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TEXTLINE1            = 'No File name specified.Data will not be'&lt;/P&gt;&lt;P&gt;      TEXTLINE2            = 'downloaded.Do you want to continue ?'&lt;/P&gt;&lt;P&gt;      TITEL                = 'Do you want to continue ? '&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_COLUMN         = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_ROW            = 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CANCEL_DISPLAY       = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ANSWER               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POP_UP&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Dec 2006 15:20:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-ldb/m-p/1758978#M328648</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-19T15:20:39Z</dc:date>
    </item>
  </channel>
</rss>

