<?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 Function Module in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117510#M740322</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  zreport                                 .
TABLES:vbap,vbak.

*Declare the internal table in same format as shown below.
DATA:BEGIN OF itab OCCURS 0,
       vbeln LIKE vbak-vbeln,
       bsark LIKE vbak-bsark,
       vtweg LIKE vbak-vtweg,
       spart LIKE vbak-spart,
       vdatu LIKE vbak-vdatu,
     END OF itab .

DATA:BEGIN OF it_vbap OCCURS 0,
       matnr LIKE vbap-matnr,
       netpr LIKE vbap-netpr,
       werks LIKE vbap-werks,
       kbmeng LIKE vbap-kbmeng,
     END OF it_vbap.

DATA:fld(20) TYPE c.
DATA:val(20) TYPE c.

TOP-OF-PAGE.
  WRITE:/1(10) 'ORDER NO', 12'!', 13(10) 'ORDER TYPE', 24'!', 25(12) 'DIST CHANNEL', 38'!',
  39(8) 'DIVISION', 48'!', 49(8) 'DEL DATE'.

TOP-OF-PAGE DURING LINE-SELECTION.
  WRITE:/1(10) 'MAT NO', 12'!', 13(11) 'TOTAL PRICE', 25'!', 26(14) 'DELIVERY PLANT', 41'!',
  42(18) 'CONFIRMED QUANTITY', 61'!'.", 49(8) 'DEL DATE'.

  SELECTION-SCREEN:BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-002.
  SELECT-OPTIONS:s_erdat FOR vbak-erdat.
  SELECTION-SCREEN:END OF LINE.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-003.
  SELECT-OPTIONS:s_vkorg FOR vbak-vkorg.
  SELECTION-SCREEN:END OF LINE.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-004.
  SELECT-OPTIONS:s_vtweg FOR vbak-vtweg.
  SELECTION-SCREEN:END OF LINE.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-005.
  SELECT-OPTIONS:s_bsark FOR vbak-bsark.
  SELECTION-SCREEN:END OF LINE.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-006.
  SELECT-OPTIONS:s_spart FOR vbak-spart.
  SELECTION-SCREEN:END OF LINE.
  SELECTION-SCREEN:END OF BLOCK b1.

START-OF-SELECTION.

  SELECT vbeln bsark vtweg spart vdatu
         FROM vbak
         INTO CORRESPONDING FIELDS OF TABLE itab
         INTO TABLE ITAB
         WHERE erdat IN s_erdat
               AND vkorg IN s_vkorg
               AND vtweg IN s_vtweg
               AND bsark IN s_bsark
               AND spart IN s_spart.

AT SELECTION-SCREEN.
  PERFORM screen_check.

AT LINE-SELECTION.
  GET CURSOR FIELD fld VALUE val.  "#EC
  IF fld = 'ITAB-VBELN'.
    WINDOW STARTING AT 20 20 ENDING AT 80 80.
    SET PF-STATUS 'ABC'.
    SELECT matnr netpr werks kbmeng
    INTO TABLE it_vbap
    FROM vbap
    WHERE vbeln = itab-vbeln.
    LOOP AT it_vbap.
      WRITE:/1(10) it_vbap-matnr, 12'!', 13(11) it_vbap-netpr, 25'!', 26(14) it_vbap-werks, 41'!', 42(18) it_vbap-kbmeng, 61'!' .
    ENDLOOP.
  ENDIF.

AT USER-COMMAND.
  CASE sy-ucomm.
    WHEN 'BACKK'.
      sy-lsind = sy-lsind - 2.
  ENDCASE.

END-OF-SELECTION .

  LOOP AT itab.
    WRITE:/1(10) itab-vbeln, 12'!', 13(10) itab-bsark, 24'!', 25(12) itab-vtweg, 38'!',
    39(8) itab-spart, 48'!', 49(8) itab-vdatu.
    HIDE itab-vbeln.
  ENDLOOP.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SCREEN_CHECK
*&amp;amp;---------------------------------------------------------------------*
*   Checking for Selection Screen fields Validation
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM screen_check.

* Validation of Sales Organization
  CLEAR vbak.
*  clear s_vtweg.
  IF NOT s_vkorg-low IS INITIAL.
    SELECT vkorg FROM vbak UP TO 1 ROWS
    INTO vbak-vkorg
    WHERE vkorg IN s_vkorg.
    ENDSELECT.
    IF sy-subrc NE 0.
      MESSAGE e009(zabc). " Invalid Sales Organization
    ENDIF.
  ENDIF.

* Validation of Distribution Channel
  CLEAR vbak.
*  clear s_vkorg.
  IF NOT s_vtweg-low IS INITIAL.
    SELECT vtweg FROM tvtw UP TO 1 ROWS
    INTO vbak-vtweg
    WHERE vtweg IN s_vtweg.
    ENDSELECT.
    IF sy-subrc NE 0.
      MESSAGE e010(zabc). " Invalid Distribution Channel
    ENDIF.
  ENDIF.

* Validation of Division
  CLEAR vbak.
  IF NOT s_spart-low IS INITIAL.
    SELECT spart FROM tspa UP TO 1 ROWS
    INTO vbak-spart
    WHERE spart IN s_spart.
    ENDSELECT.
    IF sy-subrc NE 0.
      MESSAGE e011(zabc). " Invalid Division
    ENDIF.
  ENDIF.

* Validation of delivery
  CLEAR vbak.
  IF NOT s_bsark-low IS INITIAL.
    SELECT bsark FROM vbak UP TO 1 ROWS
    INTO vbak-bsark
    WHERE bsark IN s_bsark.
    ENDSELECT.
    IF sy-subrc NE 0.
      MESSAGE e012(zabc). " Invalid Order Type
    ENDIF.
  ENDIF.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have created the above report. Now I want to create a  function module for this particular report where I have to give the input parameters in the same way as i am giving in the selection screen over here and display the output on basis of that.So,plz anyone tell me the detailed steps how to create this function module.Points will no doubtly be awarded.Plz reply it's urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        ajaya moharana&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 21 Nov 2007 23:45:53 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-21T23:45:53Z</dc:date>
    <item>
      <title>Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117510#M740322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  zreport                                 .
TABLES:vbap,vbak.

*Declare the internal table in same format as shown below.
DATA:BEGIN OF itab OCCURS 0,
       vbeln LIKE vbak-vbeln,
       bsark LIKE vbak-bsark,
       vtweg LIKE vbak-vtweg,
       spart LIKE vbak-spart,
       vdatu LIKE vbak-vdatu,
     END OF itab .

DATA:BEGIN OF it_vbap OCCURS 0,
       matnr LIKE vbap-matnr,
       netpr LIKE vbap-netpr,
       werks LIKE vbap-werks,
       kbmeng LIKE vbap-kbmeng,
     END OF it_vbap.

DATA:fld(20) TYPE c.
DATA:val(20) TYPE c.

TOP-OF-PAGE.
  WRITE:/1(10) 'ORDER NO', 12'!', 13(10) 'ORDER TYPE', 24'!', 25(12) 'DIST CHANNEL', 38'!',
  39(8) 'DIVISION', 48'!', 49(8) 'DEL DATE'.

TOP-OF-PAGE DURING LINE-SELECTION.
  WRITE:/1(10) 'MAT NO', 12'!', 13(11) 'TOTAL PRICE', 25'!', 26(14) 'DELIVERY PLANT', 41'!',
  42(18) 'CONFIRMED QUANTITY', 61'!'.", 49(8) 'DEL DATE'.

  SELECTION-SCREEN:BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-002.
  SELECT-OPTIONS:s_erdat FOR vbak-erdat.
  SELECTION-SCREEN:END OF LINE.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-003.
  SELECT-OPTIONS:s_vkorg FOR vbak-vkorg.
  SELECTION-SCREEN:END OF LINE.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-004.
  SELECT-OPTIONS:s_vtweg FOR vbak-vtweg.
  SELECTION-SCREEN:END OF LINE.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-005.
  SELECT-OPTIONS:s_bsark FOR vbak-bsark.
  SELECTION-SCREEN:END OF LINE.

  SELECTION-SCREEN:BEGIN OF LINE.
  SELECTION-SCREEN:COMMENT 4(20) text-006.
  SELECT-OPTIONS:s_spart FOR vbak-spart.
  SELECTION-SCREEN:END OF LINE.
  SELECTION-SCREEN:END OF BLOCK b1.

START-OF-SELECTION.

  SELECT vbeln bsark vtweg spart vdatu
         FROM vbak
         INTO CORRESPONDING FIELDS OF TABLE itab
         INTO TABLE ITAB
         WHERE erdat IN s_erdat
               AND vkorg IN s_vkorg
               AND vtweg IN s_vtweg
               AND bsark IN s_bsark
               AND spart IN s_spart.

AT SELECTION-SCREEN.
  PERFORM screen_check.

AT LINE-SELECTION.
  GET CURSOR FIELD fld VALUE val.  "#EC
  IF fld = 'ITAB-VBELN'.
    WINDOW STARTING AT 20 20 ENDING AT 80 80.
    SET PF-STATUS 'ABC'.
    SELECT matnr netpr werks kbmeng
    INTO TABLE it_vbap
    FROM vbap
    WHERE vbeln = itab-vbeln.
    LOOP AT it_vbap.
      WRITE:/1(10) it_vbap-matnr, 12'!', 13(11) it_vbap-netpr, 25'!', 26(14) it_vbap-werks, 41'!', 42(18) it_vbap-kbmeng, 61'!' .
    ENDLOOP.
  ENDIF.

AT USER-COMMAND.
  CASE sy-ucomm.
    WHEN 'BACKK'.
      sy-lsind = sy-lsind - 2.
  ENDCASE.

END-OF-SELECTION .

  LOOP AT itab.
    WRITE:/1(10) itab-vbeln, 12'!', 13(10) itab-bsark, 24'!', 25(12) itab-vtweg, 38'!',
    39(8) itab-spart, 48'!', 49(8) itab-vdatu.
    HIDE itab-vbeln.
  ENDLOOP.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SCREEN_CHECK
*&amp;amp;---------------------------------------------------------------------*
*   Checking for Selection Screen fields Validation
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM screen_check.

* Validation of Sales Organization
  CLEAR vbak.
*  clear s_vtweg.
  IF NOT s_vkorg-low IS INITIAL.
    SELECT vkorg FROM vbak UP TO 1 ROWS
    INTO vbak-vkorg
    WHERE vkorg IN s_vkorg.
    ENDSELECT.
    IF sy-subrc NE 0.
      MESSAGE e009(zabc). " Invalid Sales Organization
    ENDIF.
  ENDIF.

* Validation of Distribution Channel
  CLEAR vbak.
*  clear s_vkorg.
  IF NOT s_vtweg-low IS INITIAL.
    SELECT vtweg FROM tvtw UP TO 1 ROWS
    INTO vbak-vtweg
    WHERE vtweg IN s_vtweg.
    ENDSELECT.
    IF sy-subrc NE 0.
      MESSAGE e010(zabc). " Invalid Distribution Channel
    ENDIF.
  ENDIF.

* Validation of Division
  CLEAR vbak.
  IF NOT s_spart-low IS INITIAL.
    SELECT spart FROM tspa UP TO 1 ROWS
    INTO vbak-spart
    WHERE spart IN s_spart.
    ENDSELECT.
    IF sy-subrc NE 0.
      MESSAGE e011(zabc). " Invalid Division
    ENDIF.
  ENDIF.

* Validation of delivery
  CLEAR vbak.
  IF NOT s_bsark-low IS INITIAL.
    SELECT bsark FROM vbak UP TO 1 ROWS
    INTO vbak-bsark
    WHERE bsark IN s_bsark.
    ENDSELECT.
    IF sy-subrc NE 0.
      MESSAGE e012(zabc). " Invalid Order Type
    ENDIF.
  ENDIF.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have created the above report. Now I want to create a  function module for this particular report where I have to give the input parameters in the same way as i am giving in the selection screen over here and display the output on basis of that.So,plz anyone tell me the detailed steps how to create this function module.Points will no doubtly be awarded.Plz reply it's urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        ajaya moharana&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Nov 2007 23:45:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117510#M740322</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-21T23:45:53Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117511#M740323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;se37.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;import parameters&lt;/P&gt;&lt;P&gt;s_erdat&lt;/P&gt;&lt;P&gt;s_vkorg&lt;/P&gt;&lt;P&gt;s_vtweg&lt;/P&gt;&lt;P&gt;s_bsark &lt;/P&gt;&lt;P&gt;s_spart&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tabel parameters.&lt;/P&gt;&lt;P&gt;itab type vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT vbeln bsark vtweg spart vdatu&lt;/P&gt;&lt;P&gt;         FROM vbak&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE itab&lt;/P&gt;&lt;P&gt;         INTO TABLE ITAB&lt;/P&gt;&lt;P&gt;         WHERE erdat IN s_erdat&lt;/P&gt;&lt;P&gt;               AND vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;               AND vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;               AND bsark IN s_bsark&lt;/P&gt;&lt;P&gt;               AND spart IN s_spart.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 03:29:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117511#M740323</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-22T03:29:44Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117512#M740324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check the following steps:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in SE37 create a function Module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the Import tab&lt;/P&gt;&lt;P&gt;s_erdat  type  erdat&lt;/P&gt;&lt;P&gt;s_vkorg  type  vkorg&lt;/P&gt;&lt;P&gt;s_vtweg	 type  vtweg&lt;/P&gt;&lt;P&gt;s_bsark  type  bsark&lt;/P&gt;&lt;P&gt;s_spart  type  spart&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the Table tab&lt;/P&gt;&lt;P&gt;i_tab like vbak&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Source Code tab&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;       bsark LIKE vbak-bsark,&lt;/P&gt;&lt;P&gt;       vtweg LIKE vbak-vtweg,&lt;/P&gt;&lt;P&gt;       spart LIKE vbak-spart,&lt;/P&gt;&lt;P&gt;       vdatu LIKE vbak-vdatu,&lt;/P&gt;&lt;P&gt;     END OF itab .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_vbap OCCURS 0,&lt;/P&gt;&lt;P&gt;       matnr LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;       netpr LIKE vbap-netpr,&lt;/P&gt;&lt;P&gt;       werks LIKE vbap-werks,&lt;/P&gt;&lt;P&gt;       kbmeng LIKE vbap-kbmeng,&lt;/P&gt;&lt;P&gt;     END OF it_vbap.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA:fld(20) TYPE c.&lt;/P&gt;&lt;P&gt;DATA:val(20) TYPE c.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  WRITE:/1(10) 'ORDER NO', 12'!', 13(10) 'ORDER TYPE', 24'!', 25(12) 'DIST CHANNEL', 38'!',&lt;/P&gt;&lt;P&gt;  39(8) 'DIVISION', 48'!', 49(8) 'DEL DATE'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&lt;/P&gt;&lt;P&gt;  WRITE:/1(10) 'MAT NO', 12'!', 13(11) 'TOTAL PRICE', 25'!', 26(14) 'DELIVERY PLANT', 41'!',&lt;/P&gt;&lt;P&gt;  42(18) 'CONFIRMED QUANTITY', 61'!'.", 49(8) 'DEL DATE'.&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;  SELECTION-SCREEN:BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN:COMMENT 4(20) text-002.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS:s_erdat FOR vbak-erdat.&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;  SELECTION-SCREEN:COMMENT 4(20) text-003.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS:s_vkorg FOR vbak-vkorg.&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;  SELECTION-SCREEN:COMMENT 4(20) text-004.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS:s_vtweg FOR vbak-vtweg.&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;  SELECTION-SCREEN:COMMENT 4(20) text-005.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS:s_bsark FOR vbak-bsark.&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;  SELECTION-SCREEN:COMMENT 4(20) text-006.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS:s_spart FOR vbak-spart.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN:END OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN:END OF BLOCK b1.&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 vbeln bsark vtweg spart vdatu&lt;/P&gt;&lt;P&gt;         FROM vbak&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE itab&lt;/P&gt;&lt;P&gt;         INTO TABLE ITAB&lt;/P&gt;&lt;P&gt;         WHERE erdat IN s_erdat&lt;/P&gt;&lt;P&gt;               AND vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;               AND vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;               AND bsark IN s_bsark&lt;/P&gt;&lt;P&gt;               AND spart IN s_spart.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM screen_check.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;  GET CURSOR FIELD fld VALUE val.  "#EC&lt;/P&gt;&lt;P&gt;  IF fld = 'ITAB-VBELN'.&lt;/P&gt;&lt;P&gt;    WINDOW STARTING AT 20 20 ENDING AT 80 80.&lt;/P&gt;&lt;P&gt;    SET PF-STATUS 'ABC'.&lt;/P&gt;&lt;P&gt;    SELECT matnr netpr werks kbmeng&lt;/P&gt;&lt;P&gt;    INTO TABLE it_vbap&lt;/P&gt;&lt;P&gt;    FROM vbap&lt;/P&gt;&lt;P&gt;    WHERE vbeln = itab-vbeln.&lt;/P&gt;&lt;P&gt;    LOOP AT it_vbap.&lt;/P&gt;&lt;P&gt;      WRITE:/1(10) it_vbap-matnr, 12'!', 13(11) it_vbap-netpr, 25'!', 26(14) it_vbap-werks, 41'!', 42(18) it_vbap-kbmeng, 61'!' .&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;AT USER-COMMAND.&lt;/P&gt;&lt;P&gt;  CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'BACKK'.&lt;/P&gt;&lt;P&gt;      sy-lsind = sy-lsind - 2.&lt;/P&gt;&lt;P&gt;  ENDCASE.&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;  LOOP AT itab.&lt;/P&gt;&lt;P&gt;    WRITE:/1(10) itab-vbeln, 12'!', 13(10) itab-bsark, 24'!', 25(12) itab-vtweg, 38'!',&lt;/P&gt;&lt;P&gt;    39(8) itab-spart, 48'!', 49(8) itab-vdatu.&lt;/P&gt;&lt;P&gt;    HIDE itab-vbeln.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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  SCREEN_CHECK&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;  Checking for Selection Screen fields Validation&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 screen_check.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Sales Organization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR vbak.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear s_vtweg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT s_vkorg-low IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT vkorg FROM vbak UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO vbak-vkorg&lt;/P&gt;&lt;P&gt;    WHERE vkorg IN s_vkorg.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e009(zabc). " Invalid Sales Organization&lt;/P&gt;&lt;P&gt;    ENDIF.&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;Validation of Distribution Channel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR vbak.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear s_vkorg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT s_vtweg-low IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT vtweg FROM tvtw UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO vbak-vtweg&lt;/P&gt;&lt;P&gt;    WHERE vtweg IN s_vtweg.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e010(zabc). " Invalid Distribution Channel&lt;/P&gt;&lt;P&gt;    ENDIF.&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;Validation of Division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR vbak.&lt;/P&gt;&lt;P&gt;  IF NOT s_spart-low IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT spart FROM tspa UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO vbak-spart&lt;/P&gt;&lt;P&gt;    WHERE spart IN s_spart.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e011(zabc). " Invalid Division&lt;/P&gt;&lt;P&gt;    ENDIF.&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;Validation of delivery&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR vbak.&lt;/P&gt;&lt;P&gt;  IF NOT s_bsark-low IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT bsark FROM vbak UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO vbak-bsark&lt;/P&gt;&lt;P&gt;    WHERE bsark IN s_bsark.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e012(zabc). " Invalid Order Type&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rewards if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 04:32:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117512#M740324</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-22T04:32:02Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117513#M740325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;when I give in source code the below statements&lt;/P&gt;&lt;P&gt;SELECT vbeln bsark vtweg spart vdatu&lt;/P&gt;&lt;P&gt;  FROM vbak&lt;/P&gt;&lt;P&gt;  INTO TABLE itab WHERE&lt;/P&gt;&lt;P&gt;  erdat IN s_erdat AND&lt;/P&gt;&lt;P&gt;  vkorg IN s_vkorg AND&lt;/P&gt;&lt;P&gt;  vtweg IN s_vtweg AND&lt;/P&gt;&lt;P&gt;  bsark IN s_bsark AND&lt;/P&gt;&lt;P&gt;  spart IN s_spart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it shows the following error.&lt;/P&gt;&lt;P&gt;The IN operator with s_erdat is followed neither by an internal table nor by a value list.&lt;/P&gt;&lt;P&gt;Plz suggest what to do.&lt;/P&gt;&lt;P&gt;Plz reply it's urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        ajaya moharana&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 18:03:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module/m-p/3117513#M740325</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-22T18:03:58Z</dc:date>
    </item>
  </channel>
</rss>

