<?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: screen validation in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077491#M729824</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.sap-basis-abap.com/abap/alv-example-contract-renewal-details.htm" target="test_blank"&gt;http://www.sap-basis-abap.com/abap/alv-example-contract-renewal-details.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV Example: Contract Renewal Details &lt;/P&gt;&lt;P&gt;Tips by: M. Praveen Kumar &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;                  Contract Renewal Details                           *&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;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description: The contract details of the customers in a particular   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            sales area are displayed. This report is run to view the *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;*            contract details existing                               *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Author     : M.Praveen kumar                                         *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date       : 18 March 2005                                           *&lt;/P&gt;&lt;/LI&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;    Change No         |    Date     |      Details        |  Req  No *&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;    CR-102            | 18/03/05    | Original Version    | PRDK90011*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      |             |                     |          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zadi_sd_contractalv NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt; LINE-COUNT 45(2) LINE-SIZE 130&lt;/P&gt;&lt;P&gt; MESSAGE-ID ymessage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************&lt;STRONG&gt;Type Pool Declaration for ALV&lt;/STRONG&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;Table Declaration&lt;/STRONG&gt;*********************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: vbak,vbfa,veda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;STRONG&gt;Declaring Data Objects&lt;/STRONG&gt;***************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF lt_sd_c1 OCCURS 0,&lt;/P&gt;&lt;P&gt;        vbeln LIKE vbak-vbeln,     "Sales Document Number&lt;/P&gt;&lt;P&gt;        vbelv LIKE vbfa-vbelv,     "Preceding Sales and Distribution Doc&lt;/P&gt;&lt;P&gt;        kunnr LIKE vbak-kunnr,     "Customer Number&lt;/P&gt;&lt;P&gt;      END OF lt_sd_c1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data: Lt_Sd_C2 like veda occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_fieldcat TYPE slis_t_fieldcat_alv, "ALV Catalog Table&lt;/P&gt;&lt;P&gt;      gs_fieldcat TYPE slis_fieldcat_alv.   "ALV Catalog Structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF lt_sd_c2 OCCURS 0,&lt;/P&gt;&lt;P&gt;        vbeln LIKE veda-vbeln,     "Sales Document Number&lt;/P&gt;&lt;P&gt;        vlaufz LIKE veda-vlaufz,   "Validity Period of Contract&lt;/P&gt;&lt;P&gt;        vuntdat LIKE veda-vuntdat, "Date on which Contract was Signed&lt;/P&gt;&lt;P&gt;        vbegdat LIKE veda-vbegdat, "Contract Start Date&lt;/P&gt;&lt;P&gt;        venddat LIKE veda-venddat, "Contract End Date&lt;/P&gt;&lt;P&gt;      END OF lt_sd_c2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************&lt;STRONG&gt;Selection Screen&lt;/STRONG&gt;**************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-101.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:  s_vkorg FOR vbak-vkorg OBLIGATORY,"Sales organization.&lt;/P&gt;&lt;P&gt;                 s_vtweg FOR vbak-vtweg,  "Distribution channel.&lt;/P&gt;&lt;P&gt;                 s_spart  FOR vbak-spart, "Division.&lt;/P&gt;&lt;P&gt;                 s_kunnr FOR  vbak-kunnr, "Customer number&lt;/P&gt;&lt;P&gt;                 p_dat FOR sy-datum."Date=current date&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK c1 WITH FRAME TITLE text-100.&lt;/P&gt;&lt;P&gt;PARAMETERS list  RADIOBUTTON GROUP radi.&lt;/P&gt;&lt;P&gt;PARAMETERS alv RADIOBUTTON GROUP radi.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK c1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;STRONG&gt;Validation of Selection Screen Fields&lt;/STRONG&gt;*****************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE vkorg FROM tvko INTO vbak-vkorg WHERE vkorg IN s_vkorg.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e002.&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;  SELECT SINGLE vtweg FROM tvkov INTO vbak-vtweg WHERE vtweg IN s_vtweg.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e004.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE spart FROM tspa INTO vbak-spart WHERE spart IN s_spart.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e006.&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;  SELECT  SINGLE kunnr FROM kna1 INTO vbak-kunnr WHERE kunnr IN s_kunnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e007.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************&lt;STRONG&gt;Data Fetching&lt;/STRONG&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;  SELECT a&lt;SUB&gt;vbeln a&lt;/SUB&gt;kunnr b~vbelv&lt;/P&gt;&lt;P&gt;               FROM vbak AS a INNER JOIN vbfa AS b&lt;/P&gt;&lt;P&gt;               ON a&lt;SUB&gt;vbeln = b&lt;/SUB&gt;vbeln&lt;/P&gt;&lt;P&gt;               INTO CORRESPONDING FIELDS OF TABLE lt_sd_c1&lt;/P&gt;&lt;P&gt;               WHERE vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;               AND vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;               AND spart IN s_spart&lt;/P&gt;&lt;P&gt;               AND kunnr IN s_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT lt_sd_c1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT vbeln vlaufz vuntdat vbegdat venddat&lt;/P&gt;&lt;P&gt;         FROM veda INTO CORRESPONDING FIELDS OF TABLE lt_sd_c2&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN lt_sd_c1&lt;/P&gt;&lt;P&gt;         WHERE vbeln = lt_sd_c1-vbelv&lt;/P&gt;&lt;P&gt;         AND venddat = p_dat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE i005.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************&lt;STRONG&gt;Display of Data&lt;/STRONG&gt;*************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF list = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT lt_sd_c2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE:/0 sy-vline,&lt;/P&gt;&lt;P&gt;            lt_sd_c2-vbeln UNDER 'SALES DOCUMENT', 16 sy-vline,&lt;/P&gt;&lt;P&gt;            lt_sd_c2-vuntdat UNDER 'CONTRACT SINGED DATE', 42 sy-vline,&lt;/P&gt;&lt;P&gt;            lt_sd_c2-vbegdat UNDER 'CONTRACT START DATE', 65 sy-vline,&lt;/P&gt;&lt;P&gt;       lt_sd_c2-venddat UNDER 'CONTRACT END DATE' COLOR 6, 100 sy-vline,&lt;/P&gt;&lt;P&gt;      lt_sd_c2-vlaufz UNDER 'VALIDITY PERIOD OF CONTRACT', 130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************&lt;STRONG&gt;Calling a subroutine for Field display in ALV&lt;/STRONG&gt;************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM built_field_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;STRONG&gt;Calling fucntion module for ALV&lt;/STRONG&gt;***************************&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_background_id  = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;              i_grid_title     = 'Contract Details'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             i_structure_name = 'veda'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              it_fieldcat      = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              t_outtab         = lt_sd_c2.&lt;/P&gt;&lt;P&gt;&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;Header for the page&lt;/STRONG&gt;**************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ 'CREATED BY : ', sy-uname,&lt;/P&gt;&lt;P&gt;         102 'CREATED ON :', sy-datum,&lt;/P&gt;&lt;P&gt;        /1(130) sy-uline .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ sy-vline, 50 ' CONTRACT DETAILS ' COLOR 5,&lt;/P&gt;&lt;P&gt;          111 'Page No:',&lt;/P&gt;&lt;P&gt;          sy-pagno,&lt;/P&gt;&lt;P&gt;          130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/0 sy-vline,&lt;/P&gt;&lt;P&gt;          2 'SALES DOCUMENT' COLOR 3,16 sy-vline,&lt;/P&gt;&lt;P&gt;          20 'CONTRACT SIGNED DATE' COLOR 3, 42 sy-vline,&lt;/P&gt;&lt;P&gt;          45 'CONTRACT START DATE' COLOR 3, 65 sy-vline,&lt;/P&gt;&lt;P&gt;          75 'CONTRACT END DATE' COLOR 3, 100 sy-vline,&lt;/P&gt;&lt;P&gt;          102 'VALIDITY PERIOD OF CONTRACT' COLOR 3, 130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&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  built_field_catalog&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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;&lt;/P&gt;&lt;P&gt;FORM built_field_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '1'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VBELN'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 30.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'SALES DOCUMENT NUMBER'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '2'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VLAUFZ'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 9.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'VALIDITY'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '3'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VUNTDAT'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 12.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'SIGNED DATE'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '4'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VBEGDAT'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 12.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'START DATE'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '5'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VENDDAT'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 12.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'END DATE'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Nov 2007 23:44:22 GMT</pubDate>
    <dc:creator>former_member195698</dc:creator>
    <dc:date>2007-11-28T23:44:22Z</dc:date>
    <item>
      <title>screen validation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077490#M729823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;can somebody give me sample code of screen validation for  multiple selction fields in alv report&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 23:25:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077490#M729823</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T23:25:00Z</dc:date>
    </item>
    <item>
      <title>Re: screen validation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077491#M729824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.sap-basis-abap.com/abap/alv-example-contract-renewal-details.htm" target="test_blank"&gt;http://www.sap-basis-abap.com/abap/alv-example-contract-renewal-details.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV Example: Contract Renewal Details &lt;/P&gt;&lt;P&gt;Tips by: M. Praveen Kumar &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;                  Contract Renewal Details                           *&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;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description: The contract details of the customers in a particular   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            sales area are displayed. This report is run to view the *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;*            contract details existing                               *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Author     : M.Praveen kumar                                         *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date       : 18 March 2005                                           *&lt;/P&gt;&lt;/LI&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;    Change No         |    Date     |      Details        |  Req  No *&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;    CR-102            | 18/03/05    | Original Version    | PRDK90011*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      |             |                     |          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zadi_sd_contractalv NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt; LINE-COUNT 45(2) LINE-SIZE 130&lt;/P&gt;&lt;P&gt; MESSAGE-ID ymessage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************&lt;STRONG&gt;Type Pool Declaration for ALV&lt;/STRONG&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;Table Declaration&lt;/STRONG&gt;*********************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: vbak,vbfa,veda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;STRONG&gt;Declaring Data Objects&lt;/STRONG&gt;***************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF lt_sd_c1 OCCURS 0,&lt;/P&gt;&lt;P&gt;        vbeln LIKE vbak-vbeln,     "Sales Document Number&lt;/P&gt;&lt;P&gt;        vbelv LIKE vbfa-vbelv,     "Preceding Sales and Distribution Doc&lt;/P&gt;&lt;P&gt;        kunnr LIKE vbak-kunnr,     "Customer Number&lt;/P&gt;&lt;P&gt;      END OF lt_sd_c1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data: Lt_Sd_C2 like veda occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_fieldcat TYPE slis_t_fieldcat_alv, "ALV Catalog Table&lt;/P&gt;&lt;P&gt;      gs_fieldcat TYPE slis_fieldcat_alv.   "ALV Catalog Structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF lt_sd_c2 OCCURS 0,&lt;/P&gt;&lt;P&gt;        vbeln LIKE veda-vbeln,     "Sales Document Number&lt;/P&gt;&lt;P&gt;        vlaufz LIKE veda-vlaufz,   "Validity Period of Contract&lt;/P&gt;&lt;P&gt;        vuntdat LIKE veda-vuntdat, "Date on which Contract was Signed&lt;/P&gt;&lt;P&gt;        vbegdat LIKE veda-vbegdat, "Contract Start Date&lt;/P&gt;&lt;P&gt;        venddat LIKE veda-venddat, "Contract End Date&lt;/P&gt;&lt;P&gt;      END OF lt_sd_c2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************&lt;STRONG&gt;Selection Screen&lt;/STRONG&gt;**************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-101.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:  s_vkorg FOR vbak-vkorg OBLIGATORY,"Sales organization.&lt;/P&gt;&lt;P&gt;                 s_vtweg FOR vbak-vtweg,  "Distribution channel.&lt;/P&gt;&lt;P&gt;                 s_spart  FOR vbak-spart, "Division.&lt;/P&gt;&lt;P&gt;                 s_kunnr FOR  vbak-kunnr, "Customer number&lt;/P&gt;&lt;P&gt;                 p_dat FOR sy-datum."Date=current date&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK c1 WITH FRAME TITLE text-100.&lt;/P&gt;&lt;P&gt;PARAMETERS list  RADIOBUTTON GROUP radi.&lt;/P&gt;&lt;P&gt;PARAMETERS alv RADIOBUTTON GROUP radi.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK c1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;STRONG&gt;Validation of Selection Screen Fields&lt;/STRONG&gt;*****************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE vkorg FROM tvko INTO vbak-vkorg WHERE vkorg IN s_vkorg.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e002.&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;  SELECT SINGLE vtweg FROM tvkov INTO vbak-vtweg WHERE vtweg IN s_vtweg.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e004.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE spart FROM tspa INTO vbak-spart WHERE spart IN s_spart.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e006.&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;  SELECT  SINGLE kunnr FROM kna1 INTO vbak-kunnr WHERE kunnr IN s_kunnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e007.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************&lt;STRONG&gt;Data Fetching&lt;/STRONG&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;  SELECT a&lt;SUB&gt;vbeln a&lt;/SUB&gt;kunnr b~vbelv&lt;/P&gt;&lt;P&gt;               FROM vbak AS a INNER JOIN vbfa AS b&lt;/P&gt;&lt;P&gt;               ON a&lt;SUB&gt;vbeln = b&lt;/SUB&gt;vbeln&lt;/P&gt;&lt;P&gt;               INTO CORRESPONDING FIELDS OF TABLE lt_sd_c1&lt;/P&gt;&lt;P&gt;               WHERE vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;               AND vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;               AND spart IN s_spart&lt;/P&gt;&lt;P&gt;               AND kunnr IN s_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT lt_sd_c1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT vbeln vlaufz vuntdat vbegdat venddat&lt;/P&gt;&lt;P&gt;         FROM veda INTO CORRESPONDING FIELDS OF TABLE lt_sd_c2&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN lt_sd_c1&lt;/P&gt;&lt;P&gt;         WHERE vbeln = lt_sd_c1-vbelv&lt;/P&gt;&lt;P&gt;         AND venddat = p_dat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE i005.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************&lt;STRONG&gt;Display of Data&lt;/STRONG&gt;*************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF list = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT lt_sd_c2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE:/0 sy-vline,&lt;/P&gt;&lt;P&gt;            lt_sd_c2-vbeln UNDER 'SALES DOCUMENT', 16 sy-vline,&lt;/P&gt;&lt;P&gt;            lt_sd_c2-vuntdat UNDER 'CONTRACT SINGED DATE', 42 sy-vline,&lt;/P&gt;&lt;P&gt;            lt_sd_c2-vbegdat UNDER 'CONTRACT START DATE', 65 sy-vline,&lt;/P&gt;&lt;P&gt;       lt_sd_c2-venddat UNDER 'CONTRACT END DATE' COLOR 6, 100 sy-vline,&lt;/P&gt;&lt;P&gt;      lt_sd_c2-vlaufz UNDER 'VALIDITY PERIOD OF CONTRACT', 130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************&lt;STRONG&gt;Calling a subroutine for Field display in ALV&lt;/STRONG&gt;************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM built_field_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;STRONG&gt;Calling fucntion module for ALV&lt;/STRONG&gt;***************************&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_background_id  = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;              i_grid_title     = 'Contract Details'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             i_structure_name = 'veda'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              it_fieldcat      = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              t_outtab         = lt_sd_c2.&lt;/P&gt;&lt;P&gt;&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;Header for the page&lt;/STRONG&gt;**************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ 'CREATED BY : ', sy-uname,&lt;/P&gt;&lt;P&gt;         102 'CREATED ON :', sy-datum,&lt;/P&gt;&lt;P&gt;        /1(130) sy-uline .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ sy-vline, 50 ' CONTRACT DETAILS ' COLOR 5,&lt;/P&gt;&lt;P&gt;          111 'Page No:',&lt;/P&gt;&lt;P&gt;          sy-pagno,&lt;/P&gt;&lt;P&gt;          130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/0 sy-vline,&lt;/P&gt;&lt;P&gt;          2 'SALES DOCUMENT' COLOR 3,16 sy-vline,&lt;/P&gt;&lt;P&gt;          20 'CONTRACT SIGNED DATE' COLOR 3, 42 sy-vline,&lt;/P&gt;&lt;P&gt;          45 'CONTRACT START DATE' COLOR 3, 65 sy-vline,&lt;/P&gt;&lt;P&gt;          75 'CONTRACT END DATE' COLOR 3, 100 sy-vline,&lt;/P&gt;&lt;P&gt;          102 'VALIDITY PERIOD OF CONTRACT' COLOR 3, 130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&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  built_field_catalog&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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;&lt;/P&gt;&lt;P&gt;FORM built_field_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '1'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VBELN'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 30.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'SALES DOCUMENT NUMBER'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '2'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VLAUFZ'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 9.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'VALIDITY'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '3'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VUNTDAT'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 12.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'SIGNED DATE'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '4'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VBEGDAT'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 12.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'START DATE'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos      = '5'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname    = 'VENDDAT'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-outputlen    = 12.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l    = 'END DATE'.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 23:44:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077491#M729824</guid>
      <dc:creator>former_member195698</dc:creator>
      <dc:date>2007-11-28T23:44:22Z</dc:date>
    </item>
    <item>
      <title>Re: screen validation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077492#M729825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Priya ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see this report you can understand very easily &lt;/P&gt;&lt;P&gt;alomost all some nice fetures available in this report , if you want i can explain and see that bold one which is for validation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZNNR_REPORT NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;DATA DECLARATIONS&lt;/STRONG&gt;**********&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_PLANT OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;        WERKS LIKE MARC-WERKS,&lt;/P&gt;&lt;P&gt;        PSTAT LIKE MARC-PSTAT,&lt;/P&gt;&lt;P&gt;        EKGRP LIKE MARC-EKGRP,&lt;/P&gt;&lt;P&gt;       END OF IT_PLANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_PONO OCCURS 0,&lt;/P&gt;&lt;P&gt;        EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;        EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;        MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;        WERKS LIKE EKPO-WERKS,&lt;/P&gt;&lt;P&gt;        LGORT LIKE EKPO-LGORT,&lt;/P&gt;&lt;P&gt;       END OF IT_PONO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES EKKO.&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;END OF DATA DECLARATIONS&lt;/STRONG&gt;*********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********SELECTION SCREEN DESIGN ***********&lt;/P&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;&lt;/P&gt;&lt;P&gt;PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS : R2 RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;END OF SELECTION SCREEN DESIGN&lt;/STRONG&gt;****************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;INITIALIZATION OF SELECTION SCREEN ELEMENTS.&lt;/STRONG&gt;*****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P_WERKS = '1000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;S_EBELN-LOW = '4500016926'.&lt;/P&gt;&lt;P&gt;S_EBELN-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;S_EBELN-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;APPEND S_EBELN.&lt;/P&gt;&lt;P&gt;CLEAR S_EBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;STRONG&gt;END OF INITIALIZATION&lt;/STRONG&gt;***********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********&lt;STRONG&gt;SCREEN MODIFICATIONS&lt;/STRONG&gt;*******************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF R1 EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.&lt;/P&gt;&lt;P&gt;      SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;      MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF R2 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.&lt;/P&gt;&lt;P&gt;      SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;      MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;END OF SCREEN MODIFICATIONS&lt;/STRONG&gt;*****************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;***************SCREEN VALIDATIONS *****************&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;           FROM EKKO&lt;/P&gt;&lt;P&gt;           INTO EKKO&lt;/P&gt;&lt;P&gt;           WHERE EBELN IN S_EBELN.&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;    SET CURSOR FIELD 'S_EBELN-LOW'.&lt;/P&gt;&lt;P&gt;    MESSAGE E999 WITH TEXT-005.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;end of screen validation&lt;/STRONG&gt;*****************&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*set pf-status '100'.&lt;/P&gt;&lt;P&gt;  IF R1 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT MATNR&lt;/P&gt;&lt;P&gt;           WERKS&lt;/P&gt;&lt;P&gt;           PSTAT&lt;/P&gt;&lt;P&gt;           EKGRP&lt;/P&gt;&lt;P&gt;       FROM MARC&lt;/P&gt;&lt;P&gt;       INTO TABLE IT_PLANT&lt;/P&gt;&lt;P&gt;       WHERE WERKS = P_WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_PLANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE : SY-VLINE , 2 IT_PLANT-MATNR COLOR COL_KEY,&lt;/P&gt;&lt;P&gt;             21 SY-VLINE , 22  IT_PLANT-WERKS COLOR COL_KEY,&lt;/P&gt;&lt;P&gt;             27 SY-VLINE ,28 IT_PLANT-PSTAT COLOR COL_NORMAL,&lt;/P&gt;&lt;P&gt;             43 SY-VLINE ,44 IT_PLANT-EKGRP COLOR COL_NORMAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF R2 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT EBELN EBELP MATNR WERKS LGORT&lt;/P&gt;&lt;P&gt;           FROM EKPO&lt;/P&gt;&lt;P&gt;           INTO TABLE IT_PONO&lt;/P&gt;&lt;P&gt;           WHERE EBELN IN S_EBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_PONO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE : SY-VLINE , 2 IT_PONO-EBELN COLOR COL_KEY,&lt;/P&gt;&lt;P&gt;             12 SY-VLINE , 13 IT_PONO-EBELP COLOR COL_KEY,&lt;/P&gt;&lt;P&gt;             18 SY-VLINE , 19 IT_PONO-MATNR COLOR COL_NORMAL,&lt;/P&gt;&lt;P&gt;             37 SY-VLINE , 38 IT_PONO-WERKS COLOR COL_NORMAL,&lt;/P&gt;&lt;P&gt;             44 SY-VLINE , 45 IT_PONO-LGORT COLOR COL_NORMAL, 49 SY-VLINE..&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF R1 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ULINE AT /1(48).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : SY-VLINE ,2 'MATERIAL NUMBER',&lt;/P&gt;&lt;P&gt;            21 SY-VLINE , 22 'PLANT',&lt;/P&gt;&lt;P&gt;            27 SY-VLINE , 28 'STATUS',&lt;/P&gt;&lt;P&gt;            43 SY-VLINE , 44 'GRUP', 48 SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ULINE AT /1(48).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF R2 EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : SY-VLINE , 2 'PO NUMBER',&lt;/P&gt;&lt;P&gt;           12 SY-VLINE, 13 'ITEM',&lt;/P&gt;&lt;P&gt;           18 SY-VLINE,19 'MATERIAL NUMBER',&lt;/P&gt;&lt;P&gt;           37 SY-VLINE, 38 'PLANT',&lt;/P&gt;&lt;P&gt;           44 SY-VLINE, 45 'GRUP',&lt;/P&gt;&lt;P&gt;           49 SY-VLINE.&lt;/P&gt;&lt;P&gt;    ULINE AT /1(50).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE AT /1(50).&lt;/P&gt;&lt;P&gt;  WRITE :/10 'PAGE NUMBER', SY-PAGNO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward if usefull&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Nov 2007 05:49:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077492#M729825</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-29T05:49:30Z</dc:date>
    </item>
    <item>
      <title>Re: screen validation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077493#M729826</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&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; Report  ZFLOC&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;P&gt;REPORT  zfloc message-id zfloc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : iflot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt; global data declerations--&lt;HR originaltext="----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ok_code LIKE sy-ucomm,&lt;/P&gt;&lt;P&gt;      out_tab2 TYPE TABLE OF zalv ,&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt; Name of the custom control aded on the screen.--&lt;HR originaltext="------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      g_container TYPE scrfname VALUE 'FUNC_LOC',&lt;/P&gt;&lt;P&gt;      flocgrid  TYPE REF TO cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt; Custom container instance reference--&lt;HR originaltext="-----------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      g_floc_container TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;      e_row TYPE lvc_s_row,&lt;/P&gt;&lt;P&gt;      e_column TYPE lvc_s_col,&lt;/P&gt;&lt;P&gt;      e_row_number TYPE lvc_s_roid,&lt;/P&gt;&lt;P&gt;      o_dyndoc_id TYPE REF TO cl_dd_document.&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;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt; CLASS zcl_floc DEFINITION--&lt;HR originaltext="----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zcl_floc DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    CLASS-METHODS : handle_double_click&lt;/P&gt;&lt;P&gt;                              FOR EVENT double_click OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;                              IMPORTING e_row e_column ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                   handle_print_top_of_list&lt;/P&gt;&lt;P&gt;                              FOR EVENT print_top_of_list OF cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "zcl_floc DEFINITION&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;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt; CLASS zcl_floc IMPLEMENTATION--&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zcl_floc IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD handle_double_click.&lt;/P&gt;&lt;P&gt;    PERFORM handle_double_click USING e_row e_column e_row_number.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "handle_double_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD handle_print_top_of_list.&lt;/P&gt;&lt;P&gt;    PERFORM top_of_page.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "handle_print_top_of_list&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "zcl_floc IMPLEMENTATION&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;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt; SELECTION-SCREEN DESIGN--&lt;HR originaltext="-----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.&lt;/P&gt;&lt;P&gt;*SELECT-OPTIONS: s_fltyp FOR iflot-fltyp  NO-EXTENSION ,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               s_tplnr FOR iflot-tplnr  NO-EXTENSION OBLIGATORY ,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               s_objnr FOR iflot-objnr  NO-EXTENSION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.&lt;/P&gt;&lt;P&gt;PARAMETERS: s_fltyp LIKE iflot-fltyp   ,&lt;/P&gt;&lt;P&gt;                s_tplnr LIKE iflot-tplnr OBLIGATORY ,&lt;/P&gt;&lt;P&gt;                s_objnr LIKE iflot-objnr  .&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;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt; IMPLEMENTATION OF AT-SELECTION-SCREEN EVENT--&lt;HR originaltext="--------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;          tplnr  INTO iflot FROM iflot WHERE   tplnr EQ s_tplnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E001 .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;          fltyp INTO iflot FROM iflot WHERE fltyp EQ s_fltyp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E002 .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;          objnr INTO iflot FROM iflot WHERE objnr EQ s_objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E003.&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;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt; IMPLEMENTATION OF START-OF-SELECTION EVENT--&lt;HR originaltext="--------" /&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;  PERFORM fetchdata.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt; CALLING SCREEN IN WHICH THE OUTPUT IS DISPLAYED--&lt;HR originaltext="--------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;&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  FETCHDATA&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 fetchdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT  i~tplnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         f~pltxt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         i~invnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         i~objnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         i~erdat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         i~fltyp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         i~iwerk&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         a~class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         k~clint&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         c~atnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         c~atinn&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         w~atwrt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         t~atwtb&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         b~atbez&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE out_tab2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            FROM ( ( (  iflot AS i INNER JOIN iflo AS f ON f&lt;SUB&gt;tplnr = i&lt;/SUB&gt;tplnr  )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    INNER JOIN kssk AS k ON k&lt;SUB&gt;objek = i&lt;/SUB&gt;tplnr )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    INNER JOIN klah AS a ON a&lt;SUB&gt;clint = k&lt;/SUB&gt;clint )&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                    INNER JOIN cabn AS c ON c&lt;SUB&gt;clint = k&lt;/SUB&gt;clint )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                    INNER JOIN cawn AS w ON w&lt;SUB&gt;atinn = c&lt;/SUB&gt;atinn )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                    INNER JOIN cawnt AS t ON t&lt;SUB&gt;atinn = c&lt;/SUB&gt;atinn )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                    INNER JOIN cabnt AS b ON b&lt;SUB&gt;atinn = c&lt;/SUB&gt;atinn )&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WHERE i&lt;SUB&gt;tplnr IN s_tplnr AND i&lt;/SUB&gt;fltyp IN s_fltyp AND i~objnr IN s_objnr.&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; IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE E004.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LEAVE PROGRAM.&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;CALL FUNCTION 'ZBAPI_FLOC_GETDETAIL'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    tplnr         = s_tplnr&lt;/P&gt;&lt;P&gt;   FLTYP          = s_FLTYP&lt;/P&gt;&lt;P&gt;   OBJNR          = s_OBJNR&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    output        = out_tab2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.   "FETCHDATA&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;      Module  STATUS_0100  OUTPUT&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;MODULE status_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'FLOC'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF g_floc_container IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt;CREATING CUSTOM CONTAINER INSTANCE--&lt;HR originaltext="--------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT g_floc_container&lt;/P&gt;&lt;P&gt;           EXPORTING container_name = g_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT o_dyndoc_id&lt;/P&gt;&lt;P&gt;           EXPORTING style = 'ALV_GRID'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt;CREATING ALV GRID INSTANCE--&lt;HR originaltext="----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT flocgrid&lt;/P&gt;&lt;P&gt;           EXPORTING i_parent = g_floc_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD flocgrid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_structure_name = 'ZALV'&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        it_outtab        = out_tab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CALL METHOD flocgrid-&amp;gt;refresh_table_display&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        finished = 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;UL&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;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt;SET EVENT HANDLERS--&lt;HR originaltext="------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SET HANDLER zcl_floc=&amp;gt;handle_double_click FOR flocgrid.&lt;/P&gt;&lt;P&gt;    SET HANDLER zcl_floc=&amp;gt;handle_print_top_of_list FOR flocgrid.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0100  OUTPUT&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;      Module  USER_COMMAND_0100  INPUT&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;MODULE user_command_0100 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;    WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;  CLEAR ok_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT&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  handle_double_click&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E_ROW  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E_COLUMN  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ES_ROW_NUMBER  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 handle_double_click  USING    e_row TYPE lvc_s_row&lt;/P&gt;&lt;P&gt;                                   e_column TYPE lvc_s_col&lt;/P&gt;&lt;P&gt;                                   e_row_number TYPE lvc_s_roid.&lt;/P&gt;&lt;P&gt;  DATA : output TYPE  zalv.&lt;/P&gt;&lt;P&gt;    READ TABLE out_tab2 INTO output INDEX e_row-index.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0 AND e_column-fieldname eq 'TPLNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SET PARAMETER ID 'KAS' FIELD OUTPUT-TPLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'ZFLOCSMART' AND SKIP FIRST SCREEN  .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   delete from memory id 'kas'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " handle_double_click&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;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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 top_of_page .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : / 'THESE ARE THE FUNCTIONAL LOCATION DETAILS'.&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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt;END OF PROGRAM ZFLOC--&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          .reward if this is usefull&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2007 08:27:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-validation/m-p/3077493#M729826</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-30T08:27:03Z</dc:date>
    </item>
  </channel>
</rss>

