<?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"
	>

<channel>
	<title>THTI ERP RESOURCE</title>
	<atom:link href="http://www.thaitextile.org/software/erp/blog/index.php?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.thaitextile.org/software/erp/blog</link>
	<description>Software ERP for Textile &#38; Garment Industry</description>
	<pubDate>Fri, 23 Jan 2009 09:19:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>การ update ปี ใน table</title>
		<link>http://www.thaitextile.org/software/erp/blog/?p=65</link>
		<comments>http://www.thaitextile.org/software/erp/blog/?p=65#comments</comments>
		<pubDate>Fri, 23 Jan 2009 09:19:56 +0000</pubDate>
		<dc:creator>pichet</dc:creator>
		
		<category><![CDATA[how to]]></category>

		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.thaitextile.org/software/erp/blog/?p=65</guid>
		<description><![CDATA[กรณีที่เรา ต้องการ เปลี่ยนปี จาก พ.ศ. เป็น ค.ศ. เราสามรถใช้ คำสั่ง update ได้ดังนี้
update TABLE
set DATE_COLUMN = CONCAT(&#8217;2008&#8242;, date_format(DATE_COLUMN,&#8217;-%m-%d&#8217;))
where year(DATE_COLUMN) = 2551
]]></description>
			<content:encoded><![CDATA[<p>กรณีที่เรา ต้องการ เปลี่ยนปี จาก พ.ศ. เป็น ค.ศ. เราสามรถใช้ คำสั่ง update ได้ดังนี้</p>
<p>update <strong>TABLE</strong><br />
set <strong>DATE_COLUMN</strong> = CONCAT(&#8217;2008&#8242;, date_format(<strong>DATE_COLUMN</strong>,&#8217;-%m-%d&#8217;))<br />
where year(<strong>DATE_COLUMN</strong>) = 2551</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thaitextile.org/software/erp/blog/?feed=rss2&amp;p=65</wfw:commentRss>
		</item>
		<item>
		<title>การกำหนดค่า heap size ใน tomcat</title>
		<link>http://www.thaitextile.org/software/erp/blog/?p=61</link>
		<comments>http://www.thaitextile.org/software/erp/blog/?p=61#comments</comments>
		<pubDate>Mon, 22 Sep 2008 03:54:15 +0000</pubDate>
		<dc:creator>pichet</dc:creator>
		
		<category><![CDATA[how to]]></category>

		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.thaitextile.org/software/erp/blog/?p=61</guid>
		<description><![CDATA[ปรกติแล้วตัว tomcat จะกำหนดค่าเบื่องต้นไว้ที่ 64 mb เราสาารถกำหนดขนาดของ heap size ได้โดย
ไปที่ catalina.sh (linux)  catalina.bat (windows) อยู่ใน forder lib ของ tomcat
เพิ่มค่า ที่บรรทัดใต้ comment ในส่วนข้างบน
export CATALINA_OPTS=&#34;-Xms128m -Xmx128m&#34;
]]></description>
			<content:encoded><![CDATA[<p>ปรกติแล้วตัว tomcat จะกำหนดค่าเบื่องต้นไว้ที่ 64 mb เราสาารถกำหนดขนาดของ heap size ได้โดย<br />
ไปที่ catalina.sh (linux)  catalina.bat (windows) อยู่ใน forder lib ของ tomcat<br />
เพิ่มค่า ที่บรรทัดใต้ comment ในส่วนข้างบน</p>
<pre class="syntax-highlight:xml">export CATALINA_OPTS=&quot;-Xms128m -Xmx128m&quot;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.thaitextile.org/software/erp/blog/?feed=rss2&amp;p=61</wfw:commentRss>
		</item>
		<item>
		<title>การเปลี่ยน ชื่อของ Database Resource reference name</title>
		<link>http://www.thaitextile.org/software/erp/blog/?p=57</link>
		<comments>http://www.thaitextile.org/software/erp/blog/?p=57#comments</comments>
		<pubDate>Fri, 19 Sep 2008 08:59:25 +0000</pubDate>
		<dc:creator>pichet</dc:creator>
		
		<category><![CDATA[how to]]></category>

		<category><![CDATA[config]]></category>

		<guid isPermaLink="false">http://www.thaitextile.org/software/erp/blog/?p=57</guid>
		<description><![CDATA[จากทางการ set ระบบในกรณีที่ เกิดปัญหาไม่สามารถ ลง ตัว Software ERP มากกว่า 1 site ใน Server เดียวกัน สาเหตุน่าจะเกิดจาก ไม่ยอมให้ใช้ ชื่อ resource name ในแต่ ละ site โดยจะเข้าไปแก้ไข file ดังต่อไปนี้
context.xml
web.xml
DBConnectManager.java
context.xml
เปลี่ยนที่ tag resource ตรง parameter name
name=&#34;java:comp/env/jdbc/YouDBSourceName&#34;
web.xml
ตรง &#60;resource-ref&#62; เปลี่ยนที่ tag  &#60;res-ref-name&#62;
&#60;res-ref-name&#62;jdbc/YouDBSourceName&#60;/res-ref-name&#62;
DBConnectManager.java
private final String CONTEXT_NAME = &#34;java:comp/env/jdbc/YouDBSourceName&#34;;
]]></description>
			<content:encoded><![CDATA[<p>จากทางการ set ระบบในกรณีที่ เกิดปัญหาไม่สามารถ ลง ตัว Software ERP มากกว่า 1 site ใน Server เดียวกัน สาเหตุน่าจะเกิดจาก ไม่ยอมให้ใช้ ชื่อ resource name ในแต่ ละ site โดยจะเข้าไปแก้ไข file ดังต่อไปนี้</p>
<p>context.xml<br />
web.xml<br />
DBConnectManager.java</p>
<p>context.xml<br />
เปลี่ยนที่ tag resource ตรง parameter name</p>
<pre class="syntax-highlight:java">name=&quot;java:comp/env/jdbc/YouDBSourceName&quot;</pre>
<p>web.xml<br />
ตรง &lt;resource-ref&gt; เปลี่ยนที่ tag  &lt;res-ref-name&gt;</p>
<pre class="syntax-highlight:xml">&lt;res-ref-name&gt;jdbc/YouDBSourceName&lt;/res-ref-name&gt;</pre>
<p>DBConnectManager.java</p>
<pre class="syntax-highlight:java">private final String CONTEXT_NAME = &quot;java:comp/env/jdbc/YouDBSourceName&quot;;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.thaitextile.org/software/erp/blog/?feed=rss2&amp;p=57</wfw:commentRss>
		</item>
		<item>
		<title>วิธีการทำให้สามารถใช้ชื่อ อื่น ๆ ได้นอกจาก Garment ของ Web ERP</title>
		<link>http://www.thaitextile.org/software/erp/blog/?p=37</link>
		<comments>http://www.thaitextile.org/software/erp/blog/?p=37#comments</comments>
		<pubDate>Wed, 17 Sep 2008 05:01:05 +0000</pubDate>
		<dc:creator>pichet</dc:creator>
		
		<category><![CDATA[how to]]></category>

		<guid isPermaLink="false">http://www.thaitextile.org/software/erp/blog/?p=37</guid>
		<description><![CDATA[เข้าไปแก้ที file BaseDispatchAction.java
ที่ function ActionForward dispatchMethod(…)
ตรง pageReq = request.getRequestURI() + “?”; ให้เพิ่ม

contextPaht = request.getContextPath();
pageReq = pageReq.replaceFirst(contextPaht, “”);
จากนั้นเข้าไปแก้ ที่ database ที่ table ADM_SCREENS
โดยใช้คำสั่ง 

update ADM_SCREENS set URL = REPLACE(url, ‘/Garment’, ”)

]]></description>
			<content:encoded><![CDATA[<p>เข้าไปแก้ที file BaseDispatchAction.java<br />
ที่ function ActionForward dispatchMethod(…)<br />
ตรง pageReq = request.getRequestURI() + “?”; ให้เพิ่ม<br />
<code>
<pre class="syntax-highlight:java">contextPaht = request.getContextPath();
pageReq = pageReq.replaceFirst(contextPaht, “”);</pre>
<p>จากนั้นเข้าไปแก้ ที่ database ที่ table ADM_SCREENS<br />
โดยใช้คำสั่ง </code></p>
<p><code>
<pre class="syntax-highlight:java">update ADM_SCREENS set URL = REPLACE(url, ‘/Garment’, ”)</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thaitextile.org/software/erp/blog/?feed=rss2&amp;p=37</wfw:commentRss>
		</item>
		<item>
		<title>รับค่าจาก Barcode Reader แล้วดึงข้อมูลให้ อัตโนมัติในหน้า ฟอร์ม</title>
		<link>http://www.thaitextile.org/software/erp/blog/?p=9</link>
		<comments>http://www.thaitextile.org/software/erp/blog/?p=9#comments</comments>
		<pubDate>Wed, 17 Sep 2008 04:01:45 +0000</pubDate>
		<dc:creator>pichet</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://www.thaitextile.org/software/erp/blog/?p=9</guid>
		<description><![CDATA[ลักษณะการทำงานเป็นดังนี้
 
A สร้าง function ในDAO ขึ้นมาเพื่อใช้สำหรับดึงข้อมูลมีรูปแบบดังนี้
StyleDAO.java


protected static final String SELECT_SQL_FILL_STYLE_CODE =
“SELECT MS.STYLE_ID, MS.STYLE_CODE, MS.STYLE_NAME, MS.STYLE_DATE, MS.JOB_TYPE, SO.ORDER_CODE, MS.REVISION_NUMBER, MS.BASE_REV_NUMBER,MS.APPROVAL_STATUS, MS.SUB_CATEGORY_CODE, SC.PRODUCT_CATEGORY_CODE ” +
“FROM MKT_STYLES MS ” +
“LEFT OUTER JOIN MKT_SALES_ORDERS SO ON (MS.SALES_ORDER_ID = SO.SALES_ORDER_ID) ” +
“LEFT OUTER JOIN PDD_PROD_SUB_CATEGORY SC ON(MS.SUB_CATEGORY_CODE=SC.SUB_CATEGORY_CODE) ” +
“WHERE MS.STYLE_CODE = ? “;
public Map fillStyleCode(String styleCode) throws DBExceptionFatal {
Map reply [...]]]></description>
			<content:encoded><![CDATA[<p>ลักษณะการทำงานเป็นดังนี้</p>
<p style="text-align: center;"><a href="http://www.thaitextile.org/software/erp/blog/wp-content/uploads/2008/09/flow_getfill_from_barcodereader.png"><img class="alignnone size-full wp-image-54" title="flow_getfill_from_barcodereader" src="http://www.thaitextile.org/software/erp/blog/wp-content/uploads/2008/09/flow_getfill_from_barcodereader.png" alt="" width="500" height="209" /></a><a href="../../thtierpblog/wp-content/uploads/2008/09/flow_getfill_from_barcodereader.png"> </a></p>
<p><span id="more-9"></span>A สร้าง function ในDAO ขึ้นมาเพื่อใช้สำหรับดึงข้อมูลมีรูปแบบดังนี้</p>
<p>StyleDAO.java<code><br />
</code></p>
<p><code>
<pre class="syntax-highlight:java">protected static final String SELECT_SQL_FILL_STYLE_CODE =
“SELECT MS.STYLE_ID, MS.STYLE_CODE, MS.STYLE_NAME, MS.STYLE_DATE, MS.JOB_TYPE, SO.ORDER_CODE, MS.REVISION_NUMBER, MS.BASE_REV_NUMBER,MS.APPROVAL_STATUS, MS.SUB_CATEGORY_CODE, SC.PRODUCT_CATEGORY_CODE ” +
“FROM MKT_STYLES MS ” +
“LEFT OUTER JOIN MKT_SALES_ORDERS SO ON (MS.SALES_ORDER_ID = SO.SALES_ORDER_ID) ” +
“LEFT OUTER JOIN PDD_PROD_SUB_CATEGORY SC ON(MS.SUB_CATEGORY_CODE=SC.SUB_CATEGORY_CODE) ” +
“WHERE MS.STYLE_CODE = ? “;
public Map fillStyleCode(String styleCode) throws DBExceptionFatal {
Map reply = new HashMap();
IDBConnectionManager connectionManager = DBConnectionManagerFactory.getInstance().getDBConnectionManager();
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
try {
conn = connectionManager.getConnection();
psmt = conn.prepareStatement(SELECT_SQL_FILL_STYLE_CODE);
psmt.setString(1, styleCode);
rs = psmt.executeQuery();
if (rs.next()) {
reply.put(”styleCode”, rs.getString(”MS.STYLE_CODE”));
reply.put(”salesOrderItemCode”, rs.getString(”MS.STYLE_CODE”));
reply.put(”styleRevisionNumber”, rs.getString(”MS.REVISION_NUMBER”));
reply.put(”productCategoryCode”, rs.getString(”SC.PRODUCT_CATEGORY_CODE”));
reply.put(”productSubCategoryCode”, rs.getString(”MS.SUB_CATEGORY_CODE”));
// parameter แรก ของ reply ใช้กำหนดชื่อ ใช้ตัวเดียวกับตัวชื้อของ textBox
}
} catch (SQLException e) {
e.printStackTrace();
this.classLogger.debug(”Database Find Error” + e.getMessage());
throw new DBExceptionFatal(e, “There is some problem while selecting this record from database”);
} finally {
try {
connectionManager.closeConnection( conn,  rs, psmt);
} catch (Exception e) {
}
}
return reply;
}&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;
</pre>
<p>ฺB กำหนดค่าใน AjaxBO<br />
ajaxBo.java</p>
<p><code>
<pre class="syntax-highlight:java">public static Map getFillStyleCode(String styleCode)throws DBExceptionFatal
{
StyleDAO objDAO = new StyleDAO();
return objDAO.fillStyleCode(styleCode);
}</pre>
<p></code></p>
<p>C กำหนดค่า config ใน dwr.xml โดยการเพิ่ม</p>
<address><code>
<pre class="syntax-highlight:xml">&lt;allow&gt;
&lt;create creator=”new” javascript=”fillLookup”&gt;
&lt;param name=”class” value=”com.asl.garment.ajax.model.ajaxBO”/&gt;
&lt;/create&gt;
&lt;/allow&gt;</pre>
<p></code></address>
<p>จากนั้น ก็ทศสอบว่าถูกต้องหรือเปล่า โดย build โปรแกรม แล้วไปที่ path http://localhost/Garment/dwr<br />
ก็จะเห็น function fillLookup กดคลิ๊กเข้าไป แล้วลองป้อนข้อมูลเข้าไปที่ function getFillStyleCode ถ้าถูกต้องก็จะขึ้นหน้า popup มาแสดงข้อมูลให้ดู</p>
<p>E เราไปที่ หน้า JSP ในตัวอย่างนี้ใช้ SalesOrder.jsp<br />
ไปตรงที่เป็น texbox ของ styleCode  เพิ่มคำสั่ง</p>
<address> <code>
<pre class="syntax-highlight:html">&lt;/code&gt;&lt;html:text name=”SalesOrderForm” property=”styleCode”  size=”20″ &lt;span style=&quot;color: #3366ff;&quot;&gt;onchange=”fillInputStyleCode()”&lt;/span&gt;/&gt;</pre>
<p></code></address>
<p>C ใส่คำสั่ง javascript ที่ใช้เรียกการทำงาน ในส่วนบนของ หน้า SalesOrder.jsp</p>
<address> <code>
<pre class="syntax-highlight:html">&lt;script type=’text/javascript’ src=’/Garment/dwr/util.js’&gt;&lt;/script&gt;
&lt;script type=’text/javascript’ src=’/Garment/dwr/interface/fillLookup.js’&gt;&lt;/script&gt;
&lt;script type=’text/javascript’ src=’/Garment/dwr/engine.js’&gt;&lt;/script&gt;
&lt;script&gt;
function fillInputStyleCode() {
var styleCode = dwr.util.getValue(”styleCode”);
fillLookup.getFillStyleCode(styleCode, function(address) {
dwr.util.setValues(address);
});
}&lt;/script&gt;</pre>
<p></code><br />
สามารถเข้าไปดูตัวต้นแบบ http://directwebremoting.org/dwr/examples/address</p>
</address>
]]></content:encoded>
			<wfw:commentRss>http://www.thaitextile.org/software/erp/blog/?feed=rss2&amp;p=9</wfw:commentRss>
		</item>
		<item>
		<title>ขอเปลี่ยนแปลงการเข้าสรุป ณ.บริษัท Asia Garment‏</title>
		<link>http://www.thaitextile.org/software/erp/blog/?p=7</link>
		<comments>http://www.thaitextile.org/software/erp/blog/?p=7#comments</comments>
		<pubDate>Wed, 17 Sep 2008 03:57:47 +0000</pubDate>
		<dc:creator>pichet</dc:creator>
		
		<category><![CDATA[event]]></category>

		<guid isPermaLink="false">http://www.thaitextile.org/software/erp/blog/?p=7</guid>
		<description><![CDATA[จากที่แจ้งการเข้าสรุป การใช้และพัฒนาระบบของบริษัท Asia Garment
ประชุมวันพฤหัสบดีที่ 4 กันยายน  2008
เริ่ม 09:00 น. ณ.ห้องประชุมสำนักงาน บริษัท Asia Garment นั้น เนื่องจาก ทางคุณธีระ ได้มีการแจ้งเลื่อนกำหนดกลับจากวันที่ 3 เป็น วันที่ 5 กันยายน 2551
ทางบริษัท Asia Garment
 จึงขอมีการเลื่อน การเข้าสรุป เป็นสัปดาห์หน้า ในวัน พุธที่ 10 กันยายน 2551
ขออภัยที่มีการเลื่อนกระทันหันครับ
]]></description>
			<content:encoded><![CDATA[<p>จากที่แจ้งการเข้าสรุป การใช้และพัฒนาระบบของบริษัท Asia Garment<br />
ประชุมวันพฤหัสบดีที่ 4 กันยายน  2008</p>
<p>เริ่ม 09:00 น. ณ.ห้องประชุมสำนักงาน บริษัท Asia Garment นั้น เนื่องจาก ทางคุณธีระ ได้มีการแจ้งเลื่อนกำหนดกลับจากวันที่ 3 เป็น วันที่ 5 กันยายน 2551<br />
ทางบริษัท Asia Garment</p>
<p><span style="color: #ff0000;"> จึงขอมีการเลื่อน การเข้าสรุป เป็นสัปดาห์หน้า ในวัน พุธที่ 10 กันยายน 2551</span></p>
<p>ขออภัยที่มีการเลื่อนกระทันหันครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thaitextile.org/software/erp/blog/?feed=rss2&amp;p=7</wfw:commentRss>
		</item>
		<item>
		<title>วิธีการทำให้หน้า list รับข้อมูลจากตัวอ่าน Barcode แล้ว ทำการ search อัตโนมัติ</title>
		<link>http://www.thaitextile.org/software/erp/blog/?p=3</link>
		<comments>http://www.thaitextile.org/software/erp/blog/?p=3#comments</comments>
		<pubDate>Wed, 17 Sep 2008 03:51:23 +0000</pubDate>
		<dc:creator>pichet</dc:creator>
		
		<category><![CDATA[how to]]></category>

		<guid isPermaLink="false">http://www.thaitextile.org/software/erp/blog/?p=3</guid>
		<description><![CDATA[เริ่มจาก ตัวอ่าน barcode จะทำการส่งค่า enter มาให้ด้วยเวลาอ่านข้อมูลแต่ จากตัวโปรแกรมของระบบจะใช้ tag &#60;a&#62; ในการเรียก javascript ในการ submit ไม่มีปุ่ม submit ทำให้ไม่สามารถที่ enter แล้ว searchให้
เราก็มีวีธีการแก้ไขดังนี้
แก้ไข tag html:form

&#60;html:form action=”/doCountryList.do?mode=searchResult” focus=”countrycode” onsubmit=”return onSave()”&#62;

focus=”countrycode” เป็นการกำหนดให้เวลาเปิดหน้า นี้ขึ้นมาจะให้ ตัว courser ให้ไปอยู่ตำแหน่งของ text box ในกรณีนี้ใช้สำหรับให้ เปิดมารับตัวอ่าน barcode ได้เลย
onsubmit=”return onSave()” เป็นการเรียกไปทำงานที่ java script ก่อน เพื่อกำหนดเงื่อนไข mode การทำงานก่อน ในโปรแกรมเดิมจะมาทำงานที่นี้ก่อน เวลา click ปุ่ม icon go
ในกรณีที่ ตรวจสอบดูว่า function onSave() ไม่มีการทำงานใด ๆ [...]]]></description>
			<content:encoded><![CDATA[<p>เริ่มจาก ตัวอ่าน barcode จะทำการส่งค่า enter มาให้ด้วยเวลาอ่านข้อมูลแต่ จากตัวโปรแกรมของระบบจะใช้ tag &lt;a&gt; ในการเรียก javascript ในการ submit ไม่มีปุ่ม submit ทำให้ไม่สามารถที่ enter แล้ว searchให้<br />
เราก็มีวีธีการแก้ไขดังนี้</p>
<p>แก้ไข tag html:form</p>
<p><code>
<pre class="syntax-highlight:html">&lt;html:form action=”/doCountryList.do?mode=searchResult” focus=”countrycode” onsubmit=”return onSave()”&gt;</pre>
<p></code></p>
<p>focus=”countrycode” เป็นการกำหนดให้เวลาเปิดหน้า นี้ขึ้นมาจะให้ ตัว courser ให้ไปอยู่ตำแหน่งของ text box ในกรณีนี้ใช้สำหรับให้ เปิดมารับตัวอ่าน barcode ได้เลย</p>
<p>onsubmit=”return onSave()” เป็นการเรียกไปทำงานที่ java script ก่อน เพื่อกำหนดเงื่อนไข mode การทำงานก่อน ในโปรแกรมเดิมจะมาทำงานที่นี้ก่อน เวลา click ปุ่ม icon go<br />
ในกรณีที่ ตรวจสอบดูว่า function onSave() ไม่มีการทำงานใด ๆ มีแค่ document.forms[0].submit() ไม่ต้องใช้คำส่ง onSave ก็ได้</p>
<p>เพี่ม ปุ่ม submit โดยใช้คำสั่ง</p>
<p><code>
<pre class="syntax-highlight:html">&lt;html:submit /&gt;</pre>
<p></code></p>
<p>แล้วก็ตัด tag &lt;a&gt; ออกไปได้เลย<br />
ถ้าต้องการให้ button เป็นแบบรูปภาพให้ใช้ คำสั่ง<br />
<code>
<pre class="syntax-highlight:html">&lt;INPUT type=”image” name=”search” src=”../images/go.gif” border=”0″&gt;</pre>
<p></code><br />
จากนั้นโปรแกรมก็สามารถรับค่าจาก barcode แล้ว search ให้เลย หรือสามารถให้ผู้ใช้งานสามารถกด enter เวลา submit form ได้เลย</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thaitextile.org/software/erp/blog/?feed=rss2&amp;p=3</wfw:commentRss>
		</item>
	</channel>
</rss>
