<?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 subroutines in scripts in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640402#M607797</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts, &lt;/P&gt;&lt;P&gt;I have a requirement.&lt;/P&gt;&lt;P&gt;i want to print the 'kunnr' 'name1' 'ort01' 'land1' in the address window of a script.&lt;/P&gt;&lt;P&gt;i am taking 'kunnr' as the input from the selection screen as select-options.&lt;/P&gt;&lt;P&gt;Now, i want to call a subroutine in the address window of the Form, for extracting the data.&lt;/P&gt;&lt;P&gt;Please tell me what to right in the address window editor.&lt;/P&gt;&lt;P&gt;and also please show the subroutine code to extract the data to be written in the print program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thankyou.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Aug 2007 15:25:56 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-27T15:25:56Z</dc:date>
    <item>
      <title>subroutines in scripts</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640402#M607797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts, &lt;/P&gt;&lt;P&gt;I have a requirement.&lt;/P&gt;&lt;P&gt;i want to print the 'kunnr' 'name1' 'ort01' 'land1' in the address window of a script.&lt;/P&gt;&lt;P&gt;i am taking 'kunnr' as the input from the selection screen as select-options.&lt;/P&gt;&lt;P&gt;Now, i want to call a subroutine in the address window of the Form, for extracting the data.&lt;/P&gt;&lt;P&gt;Please tell me what to right in the address window editor.&lt;/P&gt;&lt;P&gt;and also please show the subroutine code to extract the data to be written in the print program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thankyou.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 15:25:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640402#M607797</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-27T15:25:56Z</dc:date>
    </item>
    <item>
      <title>Re: subroutines in scripts</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640403#M607798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Syntax goes like this&lt;/P&gt;&lt;P&gt;/: PERFORM &amp;lt;form&amp;gt; IN PROGRAM &amp;lt;prog&amp;gt;&lt;/P&gt;&lt;P&gt;/: USING &amp;amp;INVAR1&amp;amp;&lt;/P&gt;&lt;P&gt;/: USING &amp;amp;INVAR2&amp;amp;&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;OUTVAR1&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;OUTVAR2&amp;amp;&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;P&gt;/: ENDPERFORM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INVAR1 and INVAR2 are variable symbols and may be of any of the four SAPscript symbol types. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OUTVAR1 and OUTVAR2 are local text symbols and must therefore be character strings. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;In script form&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/: PERFORM READ_TEXTS IN PROGRAM 'Z08M1_FORM_EKFORM1'&lt;/P&gt;&lt;P&gt;/: USING &amp;amp;EKKO-EKORG&amp;amp;&lt;/P&gt;&lt;P&gt;/: USING &amp;amp;EKPO-WERKS&amp;amp;&lt;/P&gt;&lt;P&gt;/: USING &amp;amp;EKKO-EKGRP&amp;amp;&lt;/P&gt;&lt;P&gt;/: USING &amp;amp;EKKO-BSTYP&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;COMPNAME&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;SENDADR&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;INVCADR&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;COMPADR&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;COVERLTR&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;SHIPADR&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;REMINDER&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;REJECTION&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;POSTADR&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;LOGO&amp;amp;&lt;/P&gt;&lt;P&gt;/: ENDPERFORM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In program&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM Read_texts - To extract the standard texts from the table *&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 READ_TEXTS TABLES IN_PAR STRUCTURE ITCSY&lt;/P&gt;&lt;P&gt;OUT_PAR STRUCTURE ITCSY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : L_EKORG TYPE EKORG,&lt;/P&gt;&lt;P&gt;L_WERKS TYPE WERKS_D,&lt;/P&gt;&lt;P&gt;L_BSTYP TYPE BSTYP,&lt;/P&gt;&lt;P&gt;L_EKGRP TYPE BKGRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE IN_PAR WITH KEY 'EKKO-EKORG' .&lt;/P&gt;&lt;P&gt;CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;L_EKORG = IN_PAR-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE IN_PAR WITH KEY 'EKPO-WERKS' .&lt;/P&gt;&lt;P&gt;CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;L_WERKS = IN_PAR-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE IN_PAR WITH KEY 'EKKO-EKGRP' .&lt;/P&gt;&lt;P&gt;CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;L_EKGRP = IN_PAR-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE IN_PAR WITH KEY 'EKKO-BSTYP' .&lt;/P&gt;&lt;P&gt;CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;L_BSTYP = IN_PAR-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR Z08M1_ORG_TEXTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM Z08M1_ORG_TEXTS WHERE EKORG = L_EKORG&lt;/P&gt;&lt;P&gt;AND WERKS = L_WERKS&lt;/P&gt;&lt;P&gt;AND EKGRP = L_EKGRP&lt;/P&gt;&lt;P&gt;AND BSTYP = L_BSTYP.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM Z08M1_ORG_TEXTS WHERE EKORG = L_EKORG&lt;/P&gt;&lt;P&gt;AND WERKS = L_WERKS&lt;/P&gt;&lt;P&gt;AND EKGRP = L_EKGRP&lt;/P&gt;&lt;P&gt;AND BSTYP = SPACE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'COMPNAME'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_COMP.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'SENDADR'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_ADRS.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'INVCADR'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_INVC.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'COMPADR'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_CPAD.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'COVERLTR'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_COVR.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'SHIPADR'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_SHIP.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'REMINDER'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_RMDR.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'REJECTION'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_RJCT.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'POSTADR'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_POST.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE OUT_PAR WITH KEY 'LOGO'.&lt;/P&gt;&lt;P&gt;OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_LOGO.&lt;/P&gt;&lt;P&gt;MODIFY OUT_PAR INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 15:36:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640403#M607798</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-27T15:36:01Z</dc:date>
    </item>
    <item>
      <title>Re: subroutines in scripts</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640404#M607799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;/:PERFORM GET_DATa IN PROGRAM ztest&lt;/P&gt;&lt;P&gt;/:USING &amp;amp;kna1-kunnr&amp;amp;&lt;/P&gt;&lt;P&gt;/:CHANGING &amp;amp;OUTVAR1&amp;amp;&lt;/P&gt;&lt;P&gt;/: CHANGING &amp;amp;OUTVAR2&amp;amp;&lt;/P&gt;&lt;P&gt;/:CHANGING &amp;amp;OUTVAR3&amp;amp;&lt;/P&gt;&lt;P&gt;/: ENDPERFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in ztest program write the fallowing code in se38 editor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data tables in_par structure itcsy&lt;/P&gt;&lt;P&gt;                              out_par structure itcsy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:w_kunnr type kna1-kunnr,&lt;/P&gt;&lt;P&gt;       v_var1 type kna1-name1,&lt;/P&gt;&lt;P&gt;             v_var2 type kna1-ort01,&lt;/P&gt;&lt;P&gt;               v_var3 type kna1-land1,&lt;/P&gt;&lt;P&gt;           lv_index type sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table in_par with key 'KNA1-KUNNR'.&lt;/P&gt;&lt;P&gt;if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;w_kunnr = in_par-value.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single name1&lt;/P&gt;&lt;P&gt;                   ort01&lt;/P&gt;&lt;P&gt;                   land1&lt;/P&gt;&lt;P&gt;             from kna1&lt;/P&gt;&lt;P&gt;             into (v_var1,v_var2,v_var3)&lt;/P&gt;&lt;P&gt;             where kunnr = w_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table out_par with key 'OUTVAR1'.&lt;/P&gt;&lt;P&gt;if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;move v_var1 to out_par-value.&lt;/P&gt;&lt;P&gt;move sy-tabix to lv_tabix.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;clear out_par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table out_par with key 'OUTVAR2'.&lt;/P&gt;&lt;P&gt;if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;move v_var2 to out_par-value.&lt;/P&gt;&lt;P&gt;move sy-tabix to lv_tabix.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;clear out_par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table out_par with key 'OUTVAR3'.&lt;/P&gt;&lt;P&gt;if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;move v_var3 to out_par-value.&lt;/P&gt;&lt;P&gt;move sy-tabix to lv_tabix.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;clear out_par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;modify out_par index lv_tabix.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 15:43:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640404#M607799</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-27T15:43:25Z</dc:date>
    </item>
    <item>
      <title>Re: subroutines in scripts</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640405#M607800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi viki,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any specific reason why you want to use Subroutines in this case?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We use subroutines in sap scripts, when we have to implement some big logic that we can not implement in sap script editor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For your case, the best way will be to fill the work areas in your driver program and simply write them in you sap script using &amp;amp;var1&amp;amp; &amp;amp;var2&amp;amp; etc..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make a text element in your address window:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/E ADDRESS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp;w_kunnr&amp;amp;,,&amp;amp;kna1-name1&amp;amp;,,&amp;amp;kna1-ort01&amp;amp;,,&amp;amp;kna1-land1&amp;amp;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your driver program do this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE name1 ort01 land1&lt;/P&gt;&lt;P&gt;FROM KNA1&lt;/P&gt;&lt;P&gt;WHERE kunnr EQ w_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION WRITE_FORM&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;WINDOW = 'address'&lt;/P&gt;&lt;P&gt;ELEMENT = 'ADDRESS'&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;Thanks and Best Regards,&lt;/P&gt;&lt;P&gt;Vikas Bittera.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&lt;STRONG&gt;Points for Usefull answers &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;**&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 16:38:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/subroutines-in-scripts/m-p/2640405#M607800</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-27T16:38:40Z</dc:date>
    </item>
  </channel>
</rss>

