<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>
    <title>Dali-Generate Entities from Tables</title>
    <meta name="Keywords" content="qarbon, viewlet, viewletbuilder, demo software, animation software, on line training, flash tutorial, flash demo, multimedia presentation, interactive software, training, software, online presentation, it help desk software, presentation software, learning software, online documentation, simulation software, viewlets"/>
    <meta name="Description" content="" />
<!-- $VIEWLET_CENTRAL_API -->
<script language="JavaScript">
<!--
function beginContent (user, partialResults) {
}
function endContent (time, completed, timedOut) {
}
function beginQuestion (questionid) {
}
function endQuestion (questionid, correct, points, attempts, time, timedOut) {
}
function addAnswer (questionid, choiceid, answerid, correct) {
}
-->
</script>










   </head>

  <center>

    <body bgcolor="#ffffff">

<!-- $VIEWLET_CENTRAL_IFRAME -->
          <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="800" height="616">
                <param name="movie" value="02-Generate_Entities_from_Tables.swf">
                <param name="quality" value="high">
                <param name="bgcolor" value="#ffffff">
                <embed src="02-Generate_Entities_from_Tables.swf" quality="high" bgcolor="#ffffff" width="800" height="616" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
          </object>
    </body>
    
    </center>

</html>
