<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>enterpriseGeeks &#187; AJAX</title>
	<atom:link href="http://enterprisegeeks.com/blog/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://enterprisegeeks.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 07 Feb 2012 17:21:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Enterprise Geeks Podcast &#8211; Who Killed the Dancing Bear</title>
		<link>http://enterprisegeeks.com/blog/2009/03/16/egeeks-podcast-episode-10/</link>
		<comments>http://enterprisegeeks.com/blog/2009/03/16/egeeks-podcast-episode-10/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 13:27:37 +0000</pubDate>
		<dc:creator>Ed Herrmann</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Curl]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[Flash Islands]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[OpenLaszlo]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Titanium]]></category>

		<guid isPermaLink="false">http://enterprisegeeks.com/blog/?p=643</guid>
		<description><![CDATA[Awesomeness alert! In this episode, we have the honor to talk with special guest Michael Coté from Redmonk. The episode was so packed with geeky goodness, that we had to split it into two parts. Listen below for part 1 as we talk about all kinds of fun topics including an in depth discussion about [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_665" class="wp-caption alignnone" style="width: 235px"><img src="http://enterprisegeeks.com/blog/wp-content/uploads/2009/03/beardance-209x300.jpg" alt="Is RIA the Dancing Bear Hunter?" title="It's all fun and games until a bear in a tutu shows up in your cubicle" width="225" height="300" class="size-medium wp-image-665" /><p class="wp-caption-text">Will RIA make the Dancing Bear extinct?</p></div>
<p>Awesomeness alert!  In this episode, we have the honor to talk with special guest Michael Coté from Redmonk.  The episode was so packed with geeky goodness, that we had to split it into two parts.  Listen below for part 1 as we talk about all kinds of fun topics including an in depth discussion about RIA and the future in the Enterprise.  Be on the lookout for part 2 coming soon.</p>
<p>If you have questions, suggestions, or topic ideas for future episodes, give us a <a href="http://enterprisegeeks.com/blog/suggestions">shout here</a>.  Enjoy!</p>
<p>Running Time: 45 minutes</p>

<h2>Talking Points</h2>
<ol>
<li> <em>00:12</em> &#8211; Welcome Coté (follow <a href="http://twitter.com/cote">@cote</a> on twitter)
<ul>
<li>Coté now stamped as an official eGhead</li>
<li>Living off of his <a href="http://www.flickr.com/photos/cote/3348725129/">Zenoss sponsored netbook</a> for a week. What&#8217;s a <a href="http://en.wikipedia.org/wiki/Netbook">netbook</a>?</li>
<li>Coté tells Ed how to get a <a href="http://www.teslamotors.com/">Tesla</a></li>
<li><a href="http://redmonk.com/">Redmonk</a></li>
<li><a href="http://www.redmonk.com/cote/">People Over Process</a></li>
<li><a href="http://www.riaweekly.com/">RIA Weekly</a></li>
<li><a href="http://www.redmonk.com/cote/it-management-podcast/">IT Management &#038; Cloud Podcast</a></li>
<li><a href="http://www.drunkandretired.com/">Drunk and Retired</a></li>
<li><a href="http://redmonk.libsyn.com/">Redmonk Radio</a></li>
<li><a href="http://www.redmonk.com/tv/">Redmonk TV</a></li>
<li><a href="http://www.redmonk.com/cote/2007/10/03/majority-desk-wiimote-3d-widget-desktop-totally-sick/">Get your wii hands on Redmonk TV</a> ( and me +80 pounds ago! ) </li>
</ul>
</li>
<li><em>16:41</em> &#8211; RIA talk
<ul>
<li>Back to the basics &#8211; what is <a href="http://en.wikipedia.org/wiki/Rich_Internet_application">RIA</a>?</li>
<li><a href="http://www.amazon.com/Inmates-Are-Running-Asylum-Products/dp/0672326140/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1237047399&#038;sr=8-1">The Inmates are Running the Asylum</a></li>
<li>RIA is the Dancing Bear Killer</li>
<li>The players &#8211; <a href="https://developer.mozilla.org/en/AJAX">AJAX</a>, <a href="http://www.adobe.com/products/flex/">Flex</a>, <a href="http://silverlight.net/">Silverlight</a>, <a href="http://javafx.com/">JavaFX</a>, <a href="http://www.openlaszlo.org/">OpenLaszlo</a>, &#038; <a href="http://code.google.com/webtoolkit/">GWT</a></li>
<li><a href="http://titaniumapp.com/">Appcelarator Titanium &#8211; Open platform for building rich desktop applications</a></li>
<li><a href="http://www.curl.com/">Curl &#8211; The Enterprise RIA Platform</a></li>
</ul>
</li>
<li><em>33:27</em> &#8211; RIA in the Enterprise
<ul>
<li>Thoughts on Flash Islands and RIA in the enterprise</li>
<li>The importance of SAP&#8217;s support and strategy behind RIA for their customers</li>
<li>Is Flex the right technology for SAP to focus on right now?</li>
<li>SAP should be careful of the <a href="http://www.gapingvoid.com/Moveable_Type/archives/003388.html">Big Blue Monster</a></li>
<li>As JavaFX matures, it has the advantage of SAP running on a Java platform</li>
</ul>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://enterprisegeeks.com/blog/2009/03/16/egeeks-podcast-episode-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://enterprisegeeks.com/blog/podcasts/egeeks_ep10_inmatesanddancingbears.mp3" length="43553044" type="audio/mpeg" />
<enclosure url="s:125:&quot;a:5:{s:6:&quot;format&quot;;s:14:&quot;default-format&quot;;s:8:&quot;keywords&quot;;s:0:&quot;&quot;;s:6:&quot;author&quot;;s:0:&quot;&quot;;s:6:&quot;length&quot;;s:0:&quot;&quot;;s:8:&quot;explicit&quot;;s:0:&quot;&quot;;}&quot;;" length="" type="" />
		</item>
		<item>
		<title>Enterprise Geeks Podcast &#8211; UI Ev0luti0n</title>
		<link>http://enterprisegeeks.com/blog/2009/02/14/egeeks-podcast-episode-6/</link>
		<comments>http://enterprisegeeks.com/blog/2009/02/14/egeeks-podcast-episode-6/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 21:49:01 +0000</pubDate>
		<dc:creator>Ed Herrmann</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[ABAP]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[BSP]]></category>
		<category><![CDATA[ITS]]></category>
		<category><![CDATA[NetWeaver]]></category>
		<category><![CDATA[NetWeaver Business Client]]></category>
		<category><![CDATA[Web Dynpro ABAP]]></category>
		<category><![CDATA[Web Dynpro Java]]></category>

		<guid isPermaLink="false">http://enterprisegeeks.com/blog/?p=410</guid>
		<description><![CDATA[In this episode, Ed Herrmann discusses with Thomas Jung the past, present, and future UI strategy for SAP.  This is a must listen as a short history lesson in past UI technologies and a preparation for what lies ahead.  As a bonus, get to know a little more about Thomas and find out what it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 510px"><a href="http://flickr.com/photos/19993537@N00/3279700260/sizes/o/"><img title="Harmonized UI -  origin of the interfaces" src="http://farm4.static.flickr.com/3002/3279700260_2d2a5b335f.jpg" alt="UI Ev0luti0n" width="500" height="200" /></a><p class="wp-caption-text">Harmonized UI -  origin of the interfaces</p></div>
<p>In this episode, Ed Herrmann discusses with Thomas Jung the past, present, and future UI strategy for SAP.  This is a must listen as a short history lesson in past UI technologies and a preparation for what lies ahead.  As a bonus, get to know a little more about Thomas and find out what it&#8217;s like being a product manager at SAP.</p>
<p>If you have questions, suggestions, or topic ideas for future episodes, give us a <a href="http://enterprisegeeks.com/blog/suggestions">shout here</a>.  Enjoy!</p>
<p>Running Time: 65 minutes</p>

<h2>Talking Points</h2>
<ol>
<li>eGeek spotlight &#8211; Getting to know a little more about Thomas Jung as his role as Product Manager at SAP</li>
<li>SAP UI History
<ul>
<li>SAP GUI / Dynpro</li>
<li><a href="https://www.sdn.sap.com/irj/sdn/sap-its">Internet Transaction Server</a> (ITS)</li>
<li><a href="http://help.sap.com/saphelp_nw70/helpdata/EN/5a/f8b53a364e0e5fe10000000a11405a/content.htm">Business Server Pages</a> (BSP)</li>
</ul>
</li>
<li><a href="https://www.sdn.sap.com/irj/sdn/nw-ui">Current SAP UI Tools and Future Strategy</a>
<ul>
<li><a href="https://www.sdn.sap.com/irj/sdn/nw-wdabap#section2">Web Dynpro for ABAP</a> (WD4A)</li>
<li><a href="http://en.wikipedia.org/wiki/Ajax_(programming)">AJAX</a></li>
<li><a href="https://www.sdn.sap.com/irj/sdn/nw-businessclient">NetWeaver Business Client</a> (NWBC)<a href="https://www.sdn.sap.com/irj/sdn/nw-businessclient"><br />
</a></li>
</ul>
</li>
<li>Possible Future of <a href="http://www.cynergytv.com/#video=quickcomm&amp;page=1">Rich Internet Applications in the Enterprise by Cynergy</a></li>
<li>FMR 24 Hour Charity Event for Doctors without Borders <a href="http://enterprisegeeks.com/blog/2009/02/11/fmr24-postponed/">Postponed</a>
<ul>
<li>A <a href="http://feedproxy.google.com/~r/EnterpriseGeeksONEfeed/~3/nVOvuBlRDVk/update-to-all-and-24-hour-friday.html">few words from Craig</a> straight from the hospital bed</li>
<li><a href="http://enterprisegeeks.com/blog/2009/02/14/egeek-challenge-submit-a-video/">Submit your videos for the event and we will donate in your name</a></li>
</ul>
</li>
<li>Send us your <a href="http://enterprisegeeks.com/blog/suggestions">ideas and feedback</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://enterprisegeeks.com/blog/2009/02/14/egeeks-podcast-episode-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://enterprisegeeks.com/blog/podcasts/egeeks_ep6_uievolution.mp3" length="62869028" type="audio/mpeg" />
<enclosure url="http://enterprisegeeks.com/blog/podcasts/egeeks_ep6_uievolution.mp3" length="62869028" type="audio/mpeg" />
		</item>
		<item>
		<title>AJAX Agent, SAPRFC and SU01</title>
		<link>http://enterprisegeeks.com/blog/2006/07/10/ajax-agent-saprfc-and-su01/</link>
		<comments>http://enterprisegeeks.com/blog/2006/07/10/ajax-agent-saprfc-and-su01/#comments</comments>
		<pubDate>Mon, 10 Jul 2006 17:45:45 +0000</pubDate>
		<dc:creator>Craig Cmehil</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://enterprisegeeks.com/blog/?p=484</guid>
		<description><![CDATA[It&#8217;s not a new topic but it is one that has not been covered very much, at least not together with SAP. Which do I mean? AJAX, one of the buzz words out there right now, so what is it, how do I get it into my application and why would I? Well I decided [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s not a new topic but it is one that has not been covered very much, at least not together with SAP. Which do I mean? AJAX, one of the buzz words out there right now, so what is it, how do I get it into my application and why would I?</p>
<p>Well I decided the best way for me to describe it was to build on the <a href="https://www.sdn.sap.com/irj/sdn/advancedsearch?QueryString=ajax&amp;SearchPluginName=sdn_weblog&amp;SelectedCustomProps=resourcetype(value=sdn_weblog)" target="_blank">work of others</a> on SDN.</p>
<p>What I am going to do is take a simple <a href="https://forums.sdn.sap.com/thread.jspa?threadID=175658&amp;tstart=75" target="_blank">ABAP FM</a>, my trusty PHP connector for SAP and the RFC library and a very basic login.</p>
<p><code><br />
&lt;?php</code></p>
<p><code>// Inlcude Cmehil Functions<br />
include "lib/sap.php";</p>
<p>// Include AJAX Agent<br />
include_once ("lib/agent.php");</p>
<p>// Initialize AJAX Agent<br />
$agent-&gt;init();<br />
?&gt;<br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;<br />
&lt;title&gt;AJAX Agent connection to SAPRFC&lt;/title&gt;<br />
&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>&lt;script type="text/javascript"&gt;<br />
function hide_uservalid(uid) {<br />
document.getElementById(uid).style.display = "none";<br />
}</p>
<p>function call_uservalid(uid) {<br />
document.getElementById(uid).style.display = "block";<br />
agent.call('','GetValid','callback_uservalid', uid);<br />
}</p>
<p>function callback_uservalid(str) {<br />
uid = str.substring(0,str.indexOf(':'));<br />
str = str.substr(str.indexOf(':')+1,str.length);<br />
document.getElementById(uid).innerHTML = str;<br />
}</p>
<p>function call_usersearch() {<br />
str = document.getElementById('q').value;<br />
agent.call('','UserList','callback_usersearch', str);<br />
}</p>
<p>function callback_usersearch(str) {<br />
document.getElementById('div_user').innerHTML = str;<br />
}<br />
&lt;/script&gt;</p>
<p>&lt;form onsubmit="call_usersearch();return false;" method="post"&gt;<br />
&lt;b&gt;&lt;span&gt;Query&lt;/span&gt;:&lt;/b&gt; &lt;input type="text" name="q" id="q" size="10"&gt;<br />
&lt;/form&gt;<br />
&lt;hr&gt;<br />
&lt;div id="div_user"&gt;&lt;/div&gt;</p>
<p></code></p>
<p><code>&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code></p>
<p>As you can see my initial, or &#8220;index.php&#8221; page is nothing special just a little JavaScript and some HTML and a tiny splash of PHP through in at the top.</p>
<p>Then I have two subfolders, one is &#8220;images&#8221; the other is &#8220;lib&#8221;, the &#8220;images&#8221; subfolder contains two images I snagged from my NetWeaver system:</p>
<p><img src="http://weblogs.sdn.sap.com/weblogs/images/55615/s_S_NONO.gif" border="0" alt="image" width="16" height="14" /> <img src="http://weblogs.sdn.sap.com/weblogs/images/55615/s_S_OKAY.gif" border="0" alt="image" width="16" height="14" /></p>
<p>The &#8220;lib&#8221; subfolder contains my &#8220;saprfc.php&#8221; file which comes with the SAPRFC for PHP download along with &#8220;agent.php&#8221; which comes with <a href="http://www.hemmady.com/ajaxagent" target="_blank">AJAX Agent</a> which I decided to use to make life a bit easier for myself. You could also make the connections yourself, like in how <a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=vRKHArFq2Xk%3D" target="_blank">Dan</a> describes <a href="https://weblogs.sdn.sap.com/pub/wlg/1723" target="_blank">here in his blog</a>.</p>
<p>The last item under &#8220;lib&#8221; is my own small collection of PHP functions.</p>
<p><code><br />
&lt;?php<br />
// saprfc-class-library and custom library su01<br />
require_once ("saprfc.php");</code></p>
<p><code>function login($user,$pwd,$host,$sn,$clnt) {<br />
// Create saprfc-instance<br />
$sap = new saprfc(array(<br />
"logindata"=&gt;array(<br />
"ASHOST"=&gt;$host	        // application server<br />
,"SYSNR"=&gt;$sn		// system number<br />
,"CLIENT"=&gt;$clnt	// client<br />
,"USER"=&gt;$user		// user<br />
,"PASSWD"=&gt;$pwd		// password<br />
)<br />
,"show_errors"=&gt;false	// let class printout errors<br />
,"debug"=&gt;false)) ; 	// detailed debugging information<br />
return $sap;<br />
}</p>
<p>function logoff($sap) {<br />
// Logoff/Close saprfc-connection LL/2001-08<br />
$sap-&gt;logoff();<br />
}</p>
<p>function UserList($query) {<br />
$listing = "";</p>
<p>// Login into System<br />
$sap = login("bcuser","minisap","localhost","00","000");</p>
<p>// Call-Function<br />
$result=$sap-&gt;callFunction("SO_USER_LIST_READ",<br />
array(	array("IMPORT","USER_GENERIC_NAME","*"),<br />
array("TABLE","USER_DISPLAY_TAB",array())<br />
));</p>
<p>// Call successfull?<br />
if ($sap-&gt;getStatus() == SAPRFC_OK) {<br />
// Yes, print out the Userlist<br />
$i = 0;<br />
$listing .= "&lt;table cellpadding=\"4\" cellspacing=\"4\"&gt;";<br />
foreach ($result["USER_DISPLAY_TAB"] as $user) {<br />
if ($query == "*" || $query == "%" || stristr($user["SAPNAM"], $query)) {<br />
$i++;<br />
$listing .= "&lt;tr&gt;&lt;td&gt;&lt;a href=\"#\""<br />
. " onmouseout=\"hide_uservalid('".$user["SAPNAM"]."');return false;\""<br />
. " onmouseover=\"call_uservalid('".$user["SAPNAM"]."');return"<br />
. " false;\"&gt;".$user["SAPNAM"]."&lt;/a&gt;&lt;/td&gt;&lt;td"<br />
. " align=\"center\"&gt;&lt;div id=\"".$user["SAPNAM"]."\""<br />
. "&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;";<br />
}<br />
}<br />
$listing .= "&lt;/table&gt;";<br />
} else {<br />
// No, print long Version of last Error<br />
$listing = $sap-&gt;printStatus();<br />
}</p>
<p>// Logoff System<br />
logoff($sap);</p>
<p>// Now return the list<br />
return $listing;<br />
}</p>
<p>function GetValid($uid) {<br />
$value = "";</p>
<p>$result = GetUserLogonDetails($uid);<br />
$input = $result["GLTGB"];</p>
<p>// Yes, then get value<br />
if ( strtotime("now") &lt; strtotime($input) or $input == "00000000" ) {<br />
$value = "&lt;img src=\"images/s_S_OKAY.gif\" border=\"0\" alt=\"".$input."\"&gt;";<br />
} else {<br />
$value = "&lt;img src=\"images/s_S_NONO.gif\" border=\"0\" alt=\"".$input."\"&gt;";<br />
}</p>
<p>return $uid.":".$value;<br />
}</p>
<p>function GetUserLogonDetails($uid) {<br />
$value = "";</p>
<p>// Login into System<br />
$sap = login("bcuser","minisap","localhost","00","000");</p>
<p>$uid = strtoupper($uid);<br />
$result=$sap-&gt;callFunction("BAPI_USER_GET_DETAIL",<br />
array( array("IMPORT","USERNAME",$uid),<br />
array("EXPORT","LOGONDATA",array())<br />
));<br />
// Call successfull?<br />
if ($sap-&gt;getStatus() == SAPRFC_OK) {<br />
// Yes, then get value<br />
$value = $result["LOGONDATA"];<br />
} else {<br />
// No, print long Version of last Error<br />
$sap-&gt;printStatus();<br />
}</p>
<p>// Logoff System<br />
logoff($sap);</p>
<p>return $value;<br />
}</p>
<p></code></p>
<p><code>?&gt;<br />
</code></p>
<p>Really that is all there is two it. All of it together is similar to what <a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=nU3RpnDlSrU%3D" target="_blank">Piers Harding</a> created <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3658" target="_blank">using Ruby</a>. Although this is a strictly &#8220;read&#8221; only version and not so &#8220;flashy&#8221; as his.</p>
<p>I recommend you check the forum link (see <a href="https://forums.sdn.sap.com/thread.jspa?threadID=175658&amp;tstart=75" target="_blank">ABAP FM</a>) for some alternatives to the standard FM from SAP for better performance. I tested against a system with 436 users and the response was fine but the idea of grabbing the entire list of users each time you run the query is a bit much.</p>
<p>Ok now we have it, it&#8217;s pretty fast and easy but why do I want it? Well in my test system I pulled 436 users, my biggest query based search was 128 users now if you notice in the code I have it set that when you move your mouse over the User ID (onmouseover) it shows me whether they are valid in the system or not, this happens dynamically each time I move the mouse over the User ID. Now what happens in a traditional manner is that I would click on the name, it would show me the status after reloading the page AND the 128 users again remembering what the query was, where I clicked etc. This approach (granted not the best in terms of performance) does all of this without reloading the page. The other option would be of course to pul the list together with the status and just give me all of it at once, this also goes to show that there are a million and one ways to accomplish something &#8211; this way offers you the comfort of not reloading your pages for every action you wish to accomplish.</p>
<p>A nice definition and more information can be found on <a href="http://en.wikipedia.org/wiki/AJAX" target="_blank">Wikipedia</a>.</p>
<blockquote><p>AJAX, shorthand for Asynchronous JavaScript and XML, is a Web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user makes a change. This is meant to increase the web page&#8217;s interactivity, speed, and usability.</p></blockquote>
<p>The following <a href="https://www.sdn.sap.com/irj/sdn?rid=/library/uuid/e50bd86e-0a01-0010-53bd-857585234a6a" target="_blank">link</a> is where you can actually download the entire demo and save typing it in.</p>
<p>Remember this is a small snippet to show the potential and in no way should this be taken as a productive example for wide use.</p>
<p>OK now with that all out of the way let&#8217;s take a look at what&#8217;s actually going on, you see things are triggered via a JavaScript method:</p>
<p><code><br />
function call_usersearch() {<br />
str = document.getElementById('q').value;<br />
agent.call('','UserList','callback_usersearch', str);<br />
}</code></p>
<p><code> </code></p>
<p><code> function callback_usersearch(str) {<br />
document.getElementById('div_user').innerHTML = str;<br />
}<br />
</code></p>
<p>So we have the intital &#8220;call&#8221; function which pulls in any values we might want to pass to the PHP function which is done by the call to the AJAX Agent. Here we call the &#8220;UserList&#8221; PHP function which is known because of the inlcude library files. It also knows to pass in the &#8220;return function&#8221; as well as the parameter that is needed for the PHP function.</p>
<p>Once the PHP function executes all output is captured and returned to the &#8220;return function&#8221; which then sets the &#8220;content&#8221; area of our DIV tag with that very output. Thus we are dynamically changing elements on our page with output generated by the PHP functions.</p>
<p>That is actually a pretty low tech explanation but there is so much information out there on the topic I don&#8217;t want to bore you too much, unless you want me to then I promise my next blog will go into more depth than this surface level one.</p>
]]></content:encoded>
			<wfw:commentRss>http://enterprisegeeks.com/blog/2006/07/10/ajax-agent-saprfc-and-su01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

