Commit 3f241e4a authored by SABURI PATEKAR's avatar SABURI PATEKAR

Implemented Steps to be followed for this:

1. Checkout latest supply chain project and get the latest SRD's for RFQ
transaction and wizard.
2. Join below columns with item code.
Item	PHY_ATTRIB_13	PHY_ATTRIB_14	PHY_ATTRIB_15
Distributor margin	Stockist Margin	Retailer Margin
3. These fields should be in display only mode in the RFQ Screen.
4. Then when WF is initiated, these 3 margin fields should be in
editable format for both Quotation and Management Team.
5. Check that updated values are saved back in transaction so further
calculation should happen based on the updated values.
parent 6b7f807f
package ibase.webitm.ejb.dis;
import java.io.StringReader;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import javax.naming.InitialContext;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import ibase.ejb.CommonDBAccessEJB;
import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.utility.BaseLogger;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.XML2DBEJB;
import ibase.webitm.utility.GenericWorkflowClass;
import ibase.webitm.utility.ITMException;
public class ReqForQuotationAprv extends ValidatorEJB {
E12GenericUtility genericUtility = new E12GenericUtility();
public String updateWFStatus() throws RemoteException, ITMException {
BaseLogger.log("3", null, null, "ReqForQuotationAprv.updateWFStatus calling......");
return "";
}
public String updateWFStatus(String domString, Connection conn, String xtraParams)
throws RemoteException, ITMException {
BaseLogger.log("3", null, null, "ReqForQuotationAprv.updateWFStatus() calling......03/FEB/26 " + domString);
BaseLogger.log("3", null, null, "ReqForQuotationAprv.updateWFStatus() xtraParams:: " + xtraParams);
String retVal = "";
String refSer = "";
String tranID = "";
String signStatus = "";
String enterprises1 = "";
boolean isLocalConn = false;
PreparedStatement rfqPstmt = null;
PreparedStatement mgmntApprvUpdatePs = null;
ResultSet mgmntApprvUpdateRs = null;
ResultSet rfqRs = null;
PreparedStatement rfqDetPstmt = null;
ResultSet rfqDetRs = null;
PreparedStatement pStmt = null;
PreparedStatement rateComparePstmt = null;
ResultSet rateCompareRs = null;
PreparedStatement checkAppr2StatusPs = null;
ResultSet checkAppr2StatusRs = null;
PreparedStatement updateWfStatusPstmt = null;
ResultSet updateWfStatusRs = null;
String empCode = "";
String entityCode = "", reportTo = "", allocatedTo;
LocalDate tranDate = LocalDate.now();// for tranDate
LocalTime tranTime = LocalTime.now();
String tranDateStr = formatDateTime(tranDate, tranTime);
String reqId = "";
String custCode = "";
String salesPers = "";
String quotType = "";
String itemSer = "";
String validUpto = "";
String executed = "";
String tranIdOrg = "";
String activeYn = "";
String itmVer = "";
String chgUser = "";
String chgTerm = "";
String confirmed = "";
String empCodeAprv = "";
String enterprises = "";
String applDb = "";
String execRights = "";
int domId = 0;
String tranIdRef = "";
String updatedRate = "";
String quantity = "";
String lineNo = "";
String itemCode = "";
int rate = 0;
String wrkflwInit = "";
// InitialContext ctx = null;
String retString = "";
String executionRights = "";
String objName = "";
String roleCodeSign = "";
StringBuffer processDynXmlString = new StringBuffer();
XML2DBEJB xml2dbObj = new XML2DBEJB();
Boolean tranFlag = false;
String processRequestResult = "";
String updatedDistMargin = "", updatedStkMargin="", updatedRetMargin="";
try {
UserInfoBean userInfo = new UserInfoBean();
userInfo = getUserInfo();
CommonDBAccessEJB commonDBAccessEJB = new CommonDBAccessEJB();
AppConnectParm appConnect = new AppConnectParm();
InitialContext initialContext = new InitialContext(appConnect.getProperty());
System.out.println("ReqForQuotationAprv.updateWFStatus() domString test[" + domString + "]!!!!!!!");
if (conn == null) {
// ConnDriver connDriver = new ConnDriver();
// conn = connDriver.getConnectDB(userInfo.getTransDB());
conn = getConnection();
}
Document dom = genericUtility.parseString(domString);
signStatus = checkNull(genericUtility.getColumnValue("sign_status", dom, "1"));
refSer = checkNull(genericUtility.getColumnValue("ref_ser", dom, "1"));
tranID = checkNull(genericUtility.getColumnValue("ref_id", dom));
empCode = checkNull(genericUtility.getColumnValue("emp_code", dom));
allocatedTo = checkNull(genericUtility.getColumnValue("allocated_to", dom, "1"));
objName = checkNull(genericUtility.getColumnValue("obj_name", dom, "1"));
roleCodeSign = checkNull(genericUtility.getColumnValue("role_code__sign", dom, "1"));
BaseLogger.log("3", null, null, "objName[" + objName + "]");
//Added by Saburi - 08/04/2026
if (roleCodeSign.equalsIgnoreCase("VHB_QUOT"))
{
String updateWfStatusSql = "update SALES_QUOT_REQ set WF_STATUS = 'A' where tran_id = ?";
updateWfStatusPstmt = conn.prepareStatement(updateWfStatusSql);
updateWfStatusPstmt.setString(1, tranID);
int updateWfStatusCount = updateWfStatusPstmt.executeUpdate();
System.out.println("updateWfStatusCount::::::0 =[" + updateWfStatusCount + "]");
// Added by Gagan B. on 31-MAR-26: for fetching updated Special Rate from OST -- START
Document detailDom = null;
PreparedStatement updatedRateFetchPSTMT = null;
ResultSet updatedRateFetchRS = null;
String updatedRateFetchSQL = "SELECT OST.TRANS_INFO_XML.getClobval() FROM OBJ_SIGN_TRANS OST where REF_ID = ? AND REF_SER = ? AND LINE_NO='1'";
updatedRateFetchPSTMT = conn.prepareStatement(updatedRateFetchSQL);
updatedRateFetchPSTMT.setString(1, tranID);
updatedRateFetchPSTMT.setString(2, refSer);
updatedRateFetchRS = updatedRateFetchPSTMT.executeQuery();
if (updatedRateFetchRS.next())
{
String transInfoXML = updatedRateFetchRS.getString(1)== null ? "" :updatedRateFetchRS.getString(1);
BaseLogger.log("3", null, null, "transInfoXML 160[" + transInfoXML + "]");
if (transInfoXML != null && transInfoXML.trim().length() > 0)
{
detailDom = genericUtility.parseString(transInfoXML);
BaseLogger.log("3", null, null, "detailDom 165[" + detailDom + "]");
}
// Fetching Updated Management Approved Rate
updatedDistMargin = genericUtility.getColumnValue("phy_attrib_13", detailDom);
BaseLogger.log("3", null, null, "updatedDistMargin 174[" + updatedDistMargin + "]");
updatedStkMargin = genericUtility.getColumnValue("phy_attrib_14", detailDom);
BaseLogger.log("3", null, null, "updatedStkMargin 176[" + updatedStkMargin + "]");
updatedRetMargin = genericUtility.getColumnValue("phy_attrib_15", detailDom);
BaseLogger.log("3", null, null, "updatedRetMargin 179[" + updatedRetMargin + "]");
}
}
if (roleCodeSign.equalsIgnoreCase("VHB_MNGMNT") && signStatus.equalsIgnoreCase("S"))
{
String updateWfStatusSql = "update SALES_QUOT_REQ set WF_STATUS = 'A' where tran_id = ?";
updateWfStatusPstmt = conn.prepareStatement(updateWfStatusSql);
updateWfStatusPstmt.setString(1, tranID);
int updateWfStatusCount = updateWfStatusPstmt.executeUpdate();
System.out.println("updateWfStatusCount::::: =[" + updateWfStatusCount + "]");
// Added by Gagan B. on 31-MAR-26: for fetching updated Special Rate from OST -- START
Document detailDom = null;
PreparedStatement updatedRateFetchPSTMT = null;
ResultSet updatedRateFetchRS = null;
String updatedRateFetchSQL = "SELECT OST.TRANS_INFO_XML.getClobval() FROM OBJ_SIGN_TRANS OST where REF_ID = ? AND REF_SER = ? AND LINE_NO = '2'";
updatedRateFetchPSTMT = conn.prepareStatement(updatedRateFetchSQL);
updatedRateFetchPSTMT.setString(1, tranID);
updatedRateFetchPSTMT.setString(2, refSer);
updatedRateFetchRS = updatedRateFetchPSTMT.executeQuery();
if (updatedRateFetchRS.next()) {
String transInfoXML = updatedRateFetchRS.getString(1)== null ? "" :updatedRateFetchRS.getString(1);
BaseLogger.log("3", null, null, "transInfoXML[" + transInfoXML + "]");
if (transInfoXML != null && transInfoXML.trim().length() > 0)
{
detailDom = genericUtility.parseString(transInfoXML);
}
// Fetching Updated Management Approved Rate
updatedRate = genericUtility.getColumnValue("rate_quot", detailDom);
BaseLogger.log("3", null, null, "uppdatedRate[" + updatedRate + "]");
updatedDistMargin = genericUtility.getColumnValue("phy_attrib_13", detailDom);
BaseLogger.log("3", null, null, "updatedDistMargin 214[" + updatedDistMargin + "]");
updatedStkMargin = genericUtility.getColumnValue("phy_attrib_14", detailDom);
BaseLogger.log("3", null, null, "updatedStkMargin 217[" + updatedStkMargin + "]");
updatedRetMargin = genericUtility.getColumnValue("phy_attrib_15", detailDom);
BaseLogger.log("3", null, null, "updatedRetMargin 220[" + updatedRetMargin + "]");
}
// Added by Gagan B. on 31-MAR-26: for fetching updated Special Rate from OST -- END
}
System.out.println("enterprises::::: =[" + enterprises1 + "]" + " tran_id::" + tranID);
userInfo = commonDBAccessEJB.createUserInfo(empCode);
System.out.println("signStatus::" + signStatus + " enterprises::::: =[" + enterprises1 + "]"
+ " tran_id::" + tranID + " empCode::" + empCode);
// Changes on 06-Feb-26 by Ajit [Start]
String rateCompareSql = "SELECT RATE_QUOT,PTR,RATE_APPRV,LINE_NO FROM SALES_QUOT_REQ_DET WHERE tran_id = ?";
rateComparePstmt = conn.prepareStatement(rateCompareSql);
rateComparePstmt.setString(1, tranID);
rateCompareRs = rateComparePstmt.executeQuery();
while (rateCompareRs.next()) {
BigDecimal rateQuot = rateCompareRs.getBigDecimal("RATE_QUOT");
BigDecimal rateApprv = rateCompareRs.getBigDecimal("RATE_APPRV");
BigDecimal PTR = rateCompareRs.getBigDecimal("PTR");
boolean directsquotCreationFlag = true;
int lineNoOfDet = rateCompareRs.getInt("LINE_NO");
// Added a condition if PTR and special rate is equal directly create the sales
// quotation transaction
if (PTR.compareTo(rateQuot) == 0) {
directsquotCreationFlag = false;
}
if (rateApprv.compareTo(rateQuot) > 0) {
tranFlag = true;
}
BaseLogger.log("3", null, null, "rateQuot:: " + rateQuot + " PTR::" + PTR + " tranFlag:: " + tranFlag);
if (!directsquotCreationFlag) {
BaseLogger.log("3", null, null, "Direct Sales Quotation Creation");
tranFlag = false;
}
}
if (rateComparePstmt != null) {
rateComparePstmt.close();
rateComparePstmt = null;
}
if (rateCompareRs != null) {
rateCompareRs.close();
rateCompareRs = null;
}
BaseLogger.log("3", null, null, " tranFlag:: " + tranFlag);
if (tranFlag) {
String checkAppr2StatusSql = "SELECT WF_STATUS FROM SALES_QUOT_REQ WHERE tran_id = ?";
checkAppr2StatusPs = conn.prepareStatement(checkAppr2StatusSql);
checkAppr2StatusPs.setString(1, tranID);
checkAppr2StatusRs = checkAppr2StatusPs.executeQuery();
while (checkAppr2StatusRs.next()) {
String wfStatus = checkNull(checkAppr2StatusRs.getString("WF_STATUS"));
if (wfStatus.equalsIgnoreCase("A")) {
tranFlag = false;
}
}
}
if (checkAppr2StatusRs != null) {
checkAppr2StatusRs.close();
checkAppr2StatusRs = null;
}
if (checkAppr2StatusPs != null) {
checkAppr2StatusPs.close();
checkAppr2StatusPs = null;
}
BaseLogger.log("3", null, null, "in ReqForQuotationAprv tranFlag::" + tranFlag);
if (!tranFlag) {
BaseLogger.log("3", null, null, "in ReqForQuotationAprv tranFlag true condition::");
String rfqSql = "select CUST_CODE ,QUOT_TYPE ,ITEM_SER, VALID_UPTO, SALES_PERS "
+ "FROM SALES_QUOT_REQ where tran_id = ?";
rfqPstmt = conn.prepareStatement(rfqSql);
rfqPstmt.setString(1, tranID);
rfqRs = rfqPstmt.executeQuery();
while (rfqRs.next()) {
// Directly fetching and using values from result set without declaring
// variables
custCode = checkNull(rfqRs.getString("CUST_CODE"));
quotType = checkNull(rfqRs.getString("QUOT_TYPE"));
itemSer = checkNull(rfqRs.getString("ITEM_SER"));
validUpto = checkNull(rfqRs.getString("VALID_UPTO"));
salesPers = checkNull(rfqRs.getString("SALES_PERS"));
// Do something with these values directly (e.g., use them in logic, or store in
// a collection)
System.out.println("custCode: " + custCode + ", " + "quotType: " + quotType + ", " + "validUpto: "
+ validUpto + ", " + "itemSer: " + itemSer);
}
// Start building the XML string
processDynXmlString.append("<DocumentRoot><description>Datawindow Root</description><group0>");
processDynXmlString.append(
"<description>Group0 description</description><Header0><description>Header0 members</description>");
processDynXmlString.append("<objName><![CDATA[salesquot]]></objName>");
processDynXmlString.append("<pageContext><![CDATA[1]]></pageContext>");
processDynXmlString.append("<objContext><![CDATA[1]]></objContext>");
processDynXmlString.append("<editFlag><![CDATA[A]]></editFlag>");
processDynXmlString.append("<focusedColumn><![CDATA[]]></focusedColumn>");
processDynXmlString.append("<action><![CDATA[SAVE]]></action>");
processDynXmlString.append("<elementName><![CDATA[]]></elementName>");
processDynXmlString.append("<keyValue><![CDATA[1]]></keyValue>");
processDynXmlString.append("<saveLevel><![CDATA[1]]></saveLevel>");
processDynXmlString.append("<forcedSave><![CDATA[false]]></forcedSave>");
processDynXmlString.append("<Detail1 dbID='' domID='1' objContext='1' objName='salesquot'>");
processDynXmlString
.append("<attribute IS_CHANGE='Y' pkNames='TRAN_ID' selected='N' status='N' updateFlag='A'/>");
// processDynXmlString.append("<tran_id/>");
processDynXmlString.append("<inq_date><![CDATA[" + dateFormatter(tranDateStr) + "]]></inq_date>");
processDynXmlString.append("<cust_code><![CDATA[" + custCode + "]]></cust_code>");
processDynXmlString.append("<sales_pers><![CDATA[" + salesPers + "]]></sales_pers>");
processDynXmlString.append("<quot_type><![CDATA[" + quotType + "]]></quot_type>");
processDynXmlString.append("<item_ser><![CDATA[" + itemSer.trim() + "]]></item_ser>");
processDynXmlString.append("<eff_date><![CDATA[" + dateFormatter(tranDateStr) + "]]></eff_date>");
processDynXmlString.append("<valid_upto><![CDATA[" + dateFormatter(validUpto) + "]]></valid_upto>");
processDynXmlString.append("<curr_code><![CDATA[INR]]></curr_code>");
processDynXmlString.append("<confirmed><![CDATA[N]]></confirmed>");
processDynXmlString.append("</Detail1>");
String rfqDet1Sql = "SELECT LINE_NO, ITEM_CODE, QTY_QUOT, RATE_QUOT FROM SALES_QUOT_REQ_DET WHERE tran_id = ?";
rfqDetPstmt = conn.prepareStatement(rfqDet1Sql);
rfqDetPstmt.setString(1, tranID);
rfqDetRs = rfqDetPstmt.executeQuery();
while (rfqDetRs.next()) {
domId++;
BaseLogger.log("3", getUserInfo(), null, "domId :: " + domId);
lineNo = checkNull(rfqDetRs.getString("LINE_NO"));
itemCode = checkNull(rfqDetRs.getString("ITEM_CODE"));
quantity = checkNull(rfqDetRs.getString("QTY_QUOT"));
rate = rfqDetRs.getInt("RATE_QUOT");
String resvisedRateSql = "select PHY_ATTRIB_13,PHY_ATTRIB_14,PHY_ATTRIB_15 from item where item_code = ?";
PreparedStatement resvisedRatePstmt = conn.prepareStatement(resvisedRateSql);
resvisedRatePstmt.setString(1, itemCode);
ResultSet resvisedRateRs = resvisedRatePstmt.executeQuery();
while (resvisedRateRs.next()) {
String distMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_13"));
String stockMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_14"));
String retailMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_15"));
int distMargin = 0;
int stockMargin = 0;
int retailMargin = 0;
try {
distMargin = (distMarginStr != null && distMarginStr.trim().length() > 0)
? Integer.parseInt(distMarginStr.trim())
: 0;
stockMargin = (stockMarginStr != null && stockMarginStr.trim().length() > 0)
? Integer.parseInt(stockMarginStr.trim())
: 0;
retailMargin = (retailMarginStr != null && retailMarginStr.trim().length() > 0)
? Integer.parseInt(retailMarginStr.trim())
: 0;
} catch (Exception e) {
BaseLogger.log("3", null, null, "Error parsing margin values");
}
if (roleCodeSign.equalsIgnoreCase("VHB_MNGMNT")) {
double rateDouble = Double.parseDouble(updatedRate);
rate = (int) rateDouble;
}
BigDecimal rateBD = new BigDecimal(rate);
BigDecimal hundred = new BigDecimal(100);
BigDecimal retailMarginBD = new BigDecimal(retailMargin);
BigDecimal stockMarginBD = new BigDecimal(stockMargin);
BigDecimal distMarginBD = new BigDecimal(distMargin);
BaseLogger.log("3", null, null, "distMargin::" + distMargin + " stockMargin::" + stockMargin
+ " revisedPtd:: " + retailMargin + "rate:: " + rate + "]");
BigDecimal revisedPtr = rateBD.divide(hundred.multiply(hundred.subtract(retailMarginBD)), 6,
RoundingMode.HALF_UP);
BigDecimal revisedPts = rateBD.divide(hundred.multiply(hundred.subtract(stockMarginBD)), 6,
RoundingMode.HALF_UP);
BigDecimal revisedPtd = rateBD.divide(hundred.multiply(hundred.subtract(distMarginBD)), 6,
RoundingMode.HALF_UP);
BaseLogger.log("3", null, null, "revisedPtr::" + revisedPtr + " revisedPts::" + revisedPts
+ " revisedPtd::" + revisedPtd);
BaseLogger.log("3", null, null, "revisedPtr::" + revisedPtr + " revisedPts::" + revisedPts
+ " revisedPtd:: " + revisedPtd + "]");
processDynXmlString.append(
"<Detail2 dbID=':' domID='" + domId + "' objName=\"salesquot\" objContext=\"2\">");
processDynXmlString.append(
"<attribute pkNames=\"quot_no:line_no:\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
processDynXmlString.append("<line_no><![CDATA[").append(lineNo).append("]]></line_no>");
processDynXmlString.append("<item_code><![CDATA[").append(itemCode).append("]]></item_code>");
processDynXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>");
processDynXmlString.append("<rate><![CDATA[").append(rate).append("]]></rate>");
processDynXmlString.append("<ptr><![CDATA[").append(revisedPtr).append("]]></ptr>");
processDynXmlString.append("<pts><![CDATA[").append(revisedPts).append("]]></pts>");
processDynXmlString.append("<ptd><![CDATA[").append(revisedPtd).append("]]></ptd>");
processDynXmlString.append("</Detail2>");
}
}
if (rfqDetRs != null) {
rfqDetRs.close();
rfqDetRs = null;
}
if (rfqDetPstmt != null) {
rfqDetPstmt.close();
rfqDetPstmt = null;
}
// Detail3 XML Building start - 19 March
/*
* BaseLogger.log("3", null, null, "quotType::" + quotType.toString() + "]");
* BaseLogger.log("3", null, null, "custCode::" + custCode.toString() + "]");
*
* if(quotType.trim().equalsIgnoreCase("G")) { String fetchHospitalMappingSql =
* "select CUST_CODE__STK, CUST_CODE__DIST from CUSTOMER_PREF_DIST where CUST_CODE = ?"
* ; PreparedStatement fetchHospitalMappingPs =
* conn.prepareStatement(fetchHospitalMappingSql);
* fetchHospitalMappingPs.setString(1, custCode); ResultSet
* fetchHospitalMappingRs = fetchHospitalMappingPs.executeQuery();
* while(fetchHospitalMappingRs.next()) {
* processDynXmlString.append("<Detail3 dbID=':' domID='"
* +domId+"' objName=\"salesquot\" objContext=\"3\">"); processDynXmlString.
* append("<attribute pkNames=\"quot_no:line_no:\" selected=\"N\" updateFlag=\"A\" status=\"N\" />"
* ); processDynXmlString.append("<line_no><![CDATA[").append(lineNo).append(
* "]]></line_no>");
* processDynXmlString.append("<cust_code><![CDATA[").append(custCode).append(
* "]]></cust_code>");
* processDynXmlString.append("<cust_code__stk><![CDATA[").append(checkNull(
* fetchHospitalMappingRs.getString("CUST_CODE__STK"))).append(
* "]]></cust_code__stk>");
* processDynXmlString.append("<cust_code__dist><![CDATA[").append(checkNull(
* fetchHospitalMappingRs.getString("CUST_CODE__DIST"))).append(
* "]]></cust_code__dist>"); processDynXmlString.append("</Detail3>"); } }
*/
// Detail3 XML Building end - 19 March
processDynXmlString.append("</Header0></group0></DocumentRoot>");
// Changes on 06-Feb-26 by Ajit [End]
// Now, processDynXmlString contains the dynamically generated XML with the
// values from your query
System.out.println(processDynXmlString.toString());
// String tranIDNew = commonDBAccessEJB.generateSeq("asset_assign_seq", 10, userInfo.getTransDB());
// BaseLogger.log("3", null, null, " generated tranID :: " + tranIDNew); // tran_id
// processDynXmlString.toString().replace("{{tranId}}", tranIdNew);
String salesQuotXml = processDynXmlString.toString();
BaseLogger.log("3", null, null, "userInfo::" + userInfo.toString() + "]");
BaseLogger.log("3", null, null, "salesQuotXml::" + salesQuotXml.toString() + "]");
String tranDb = userInfo.getTransDB();
BaseLogger.log("3", null, null, "tranDb::" + tranDb.toString() + "]");
MasterStatefulLocal masterStateful = (MasterStatefulLocal) initialContext
.lookup("ibase/MasterStatefulEJB/local");
// Changes by Gagan B. to only create Sales Quotation Transaction if sign status is "S"
// and if blank then meaning it came from PTR = Special rate condition
if (signStatus.equalsIgnoreCase("S") || checkNull(signStatus).equalsIgnoreCase("")) {
processRequestResult = masterStateful.processRequest(userInfo, salesQuotXml, false, conn);
BaseLogger.log("3", null, null, "processRequest processRequestResultD" + processRequestResult + "]");
}
if (processRequestResult != null && processRequestResult.trim().length() > 0) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(processRequestResult));
Document doc = builder.parse(is);
// 🔹 Check SUCCESS
NodeList detailNodeList = doc.getElementsByTagName("Detail");
if (detailNodeList != null && detailNodeList.getLength() > 0) {
String detailValue = detailNodeList.item(0).getTextContent();
if ("Success".equalsIgnoreCase(detailValue)) {
BaseLogger.log("3", null, null, "Transaction SUCCESS");
// ✅ Success logic
String tranIdOfSalesQuotaion = doc.getElementsByTagName("TranID").item(0)
.getTextContent();
BaseLogger.log("3", null, null,
"Generated Sales Quotaion TranID: " + tranIdOfSalesQuotaion);
BaseLogger.log("3", null, null, "RFQ TranID: " + tranID);
String UpdateRfqIdInSQuotSql = "update sales_quot set TRAN_ID__RFQ = ? where QUOT_NO = ?";
PreparedStatement UpdateRfqIdInSQuotPs = conn.prepareStatement(UpdateRfqIdInSQuotSql);
UpdateRfqIdInSQuotPs.setString(1, tranID);
UpdateRfqIdInSQuotPs.setString(2, tranIdOfSalesQuotaion);
int UpdateRfqIdInSQuotCount = UpdateRfqIdInSQuotPs.executeUpdate();
BaseLogger.log("3", null, null,
"Sales Quotation TRAN_ID__RFQ upadate count: " + UpdateRfqIdInSQuotCount);
String query = "SELECT user_id__sign " +
"FROM obj_sign_trans " +
"WHERE ref_id = ? " +
"ORDER BY line_no DESC " +
"FETCH FIRST 1 ROW ONLY";
String userIdSign = null;
try (PreparedStatement ps = conn.prepareStatement(query)) {
ps.setString(1, tranID);
try (ResultSet rs = ps.executeQuery()) {
if (rs.next()) {
userIdSign = rs.getString("user_id__sign");
}
}
}
BaseLogger.log("3", null, null, "Fetched user_id__sign: " + userIdSign);
// Update header table (sales_quot_req)
String updateConfirm = "UPDATE sales_quot_req " +
"SET confirmed = 'Y', " +
" confirm_date = SYSDATE, " +
" emp_code_conf = ? " +
"WHERE tran_id = ?";
try (PreparedStatement updateConfirmPs = conn.prepareStatement(updateConfirm)) {
updateConfirmPs.setString(1, userIdSign); // Employee code
updateConfirmPs.setString(2, tranID); // Transaction ID
int updateConfirmCount = updateConfirmPs.executeUpdate();
BaseLogger.log("3", null, null,
"RFQ Confirmed update count: " + updateConfirmCount);
}
// Update detail table (sales_quot_req_det)
String updateDet = "UPDATE sales_quot_req_det " +
"SET rate_quot = ? " +
"WHERE tran_id = ?";
try (PreparedStatement updateDetPs = conn.prepareStatement(updateDet)) {
double rateValue = Double.parseDouble(String.valueOf(rate)); // convert String → double
updateDetPs.setDouble(1, rateValue); // New rate
updateDetPs.setString(2, tranID); // Transaction ID
int updateDetCount = updateDetPs.executeUpdate();
BaseLogger.log("3", null, null,
"RFQ Detail rate update count: " + updateDetCount);
}
// Added by Saburi - 06/04/2026
String updateItemSql = "UPDATE ITEM SET PHY_ATTRIB_13 = ?, PHY_ATTRIB_14 = ?, PHY_ATTRIB_15 = ? WHERE ITEM_CODE = ?";
PreparedStatement updateItemPstmt = conn.prepareStatement(updateItemSql);
updateItemPstmt.setString(1, checkNull(updatedDistMargin)); // PHY_ATTRIB_13
updateItemPstmt.setString(2, checkNull(updatedStkMargin)); // PHY_ATTRIB_14
updateItemPstmt.setString(3, checkNull(updatedRetMargin)); // PHY_ATTRIB_15
updateItemPstmt.setString(4, itemCode);
int updateCount = updateItemPstmt.executeUpdate();
BaseLogger.log("3", null, null, "ITEM updated for itemCode [" + itemCode + "] Count: " + updateCount);
if (updateItemPstmt != null)
{
updateItemPstmt.close();
updateItemPstmt = null;
}
}
} else {
BaseLogger.log("3", null, null, "Sales Quotation Generation Failed: ");
}
} catch (Exception e) {
e.printStackTrace();
}
}
retString = processRequestResult;
}
} catch (Exception e) {
e.printStackTrace();
throw new ITMException(e);
} finally {
try {
BaseLogger.log("3", null, null, "Finally block executed - connection NOT closed (container managed)");
// Close only statements/resultsets if still open
if (rfqRs != null) rfqRs.close();
if (rfqPstmt != null) rfqPstmt.close();
if (rfqDetRs != null) rfqDetRs.close();
if (rfqDetPstmt != null) rfqDetPstmt.close();
//if (conn != null) conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
BaseLogger.log("3", null, null, "returning retString [" + retString + "]");
return retString;
}
public static String formatDateTime(LocalDate tranDate, LocalTime tranTime) {
LocalDateTime tranDateTime = LocalDateTime.of(tranDate, tranTime);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = tranDateTime.format(formatter);
return formattedDateTime;
}
public static String dateFormatter(String inputDateString) {
String result = "";
String inputFormat = "yyyy-MM-dd HH:mm:ss";
String outputFormat = "dd/MM/yy HH:mm:ss";
try {
// Parse input date string
SimpleDateFormat inputFormatter = new SimpleDateFormat(inputFormat);
Date date = inputFormatter.parse(inputDateString);
// Format the date in the desired output format
SimpleDateFormat outputFormatter = new SimpleDateFormat(outputFormat);
String outputDateString = outputFormatter.format(date);
System.out.println("Input Date: " + inputDateString);
System.out.println("Formatted Date: " + outputDateString);
result = outputDateString;
} catch (Exception e) {
BaseLogger.log("3", null, null, "Exception in dateFormatter. [" + E12GenericUtility.getStackTrace(e) + "]");
}
return result;
}
private String checkNull(String input) {
if (input == null) {
input = "";
}
return input;
}
}
\ No newline at end of file
package ibase.webitm.ejb.dis;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.utility.BaseException;
import ibase.utility.BaseLogger;
import ibase.utility.E12GenericUtility;
import ibase.utility.GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
public class ReqForQuotationIC extends ValidatorEJB {
E12GenericUtility genericUtility = new E12GenericUtility();
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag,
String xtraParams) throws RemoteException, ITMException {
BaseLogger.log("3", getUserInfo(), null,
">>>>>>>>>>>>>>>>>>ReqForQuotationIC validation called>>>>>>>>>>>>>>>>>>>:::");
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String errString = null;
BaseLogger.log("3", null, null, "xmlString ReqForQuotationIC [" + xmlString + "]");
BaseLogger.log("3", null, null, "xmlString1 ReqForQuotationIC [" + xmlString1 + "]");
BaseLogger.log("3", null, null, "xmlString2 ReqForQuotationIC [" + xmlString2 + "]");
try {
if (xmlString != null && xmlString.trim().length() != 0) {
dom = genericUtility.parseString(xmlString);
}
if (xmlString1 != null && xmlString1.trim().length() != 0) {
dom1 = genericUtility.parseString(xmlString1);
}
if (xmlString2 != null && xmlString2.trim().length() != 0) {
dom2 = genericUtility.parseString(xmlString2);
}
errString = wfValData(dom, dom1, dom2, objContext, editFlag, xtraParams);
BaseLogger.log("3", null, null, "ErrString: " + errString);
} catch (Exception e) {
System.out.println("Exception: ReqForQuotationIC: wfValData(String xmlString): " + e.getMessage() + ":");
errString = genericUtility.createErrorString(e);
e.printStackTrace();
}
BaseLogger.log("3", null, null, "Returning from ReqForQuotationIC wfValData");
return (errString);
}
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag,
String xtraParams) throws RemoteException, ITMException {
BaseLogger.log("3", getUserInfo(), null, "9>>>>>>>>>>>>>>>>>>ReqForQuotationIC validation called >>>>>>>>>>>>>>>>>>>");
BaseLogger.log("3", null, null, "Inside ReqForQuotationIC validation");
GenericUtility genericUtility = GenericUtility.getInstance();
try {
BaseLogger.log("3", getUserInfo(), null, "dom case2*>>>> Elements>>["+genericUtility.serializeDom(dom).toString()+"]");//added for testing
BaseLogger.log("3", getUserInfo(), null, "dom2 case2*>>>> Elements>>["+genericUtility.serializeDom(dom2).toString()+"]");//added for testing
BaseLogger.log("3", getUserInfo(), null, "dom1 case2*>>>> Elements>>["+genericUtility.serializeDom(dom1).toString()+"]");
} catch (BaseException e1) {
e1.printStackTrace();
}
String userId = "";
String requestId = "";
String sql="";
String errString = "";
Connection connection = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
NodeList parentList = null;
NodeList childList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
int noOfChilds = 0;
int currentFormNo = 0;
try
{
SimpleDateFormat DOB = new SimpleDateFormat(getApplDateFormat());
connection = getConnection();
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
if(objContext != null && objContext.trim().length()>0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch ( currentFormNo )
{
case 1:
{
parentList = dom.getElementsByTagName("Detail"+ currentFormNo);
int parentNodeListLength = parentList.getLength();
System.out.println("parentNodeListLength["+parentNodeListLength+"]");
for (int prntCtr = 0; prntCtr < parentNodeListLength; prntCtr++ )
{
parentNode = parentList.item(prntCtr);
System.out.println("value of parentNode"+parentNode);
childList = parentNode.getChildNodes();
noOfChilds = childList.getLength();
System.out.println("value of noOfChilds"+noOfChilds);
for (int ctr = 0; ctr < noOfChilds; ctr++)
{
childNode = childList.item(ctr);
System.out.println("childNode"+childNode);
if( childNode.getNodeType() != Node.ELEMENT_NODE )
{
continue;
}
childNodeName = childNode.getNodeName();
if( childNodeName.equalsIgnoreCase("cust_code") )
{
String custCode = checkNull(genericUtility.getColumnValue("cust_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC custCode wfValData case 1 [" + custCode + "]");
String checkCustCodeSql = "select count(cust_code) as custCodeCount from customer where cust_code = ? and cust_type = 'R'";
PreparedStatement checkCustCodePs = connection.prepareStatement(checkCustCodeSql);
checkCustCodePs.setString(1, custCode);
ResultSet checkCustCodeRs = checkCustCodePs.executeQuery();
while(checkCustCodeRs.next()) {
int custCodeCont = checkCustCodeRs.getInt("custCodeCount");
BaseLogger.log("3", null, null, "ReqForQuotationIC custCode wfValData case 1 custCodeCont::[" + custCodeCont + "]");
if(custCodeCont<=0) {
errString = getErrorString("cust_code", "VTCUST1", userId);
break;
}
}
if(checkCustCodeRs != null)
{
checkCustCodeRs.close();
checkCustCodeRs = null;
}
if(checkCustCodePs != null)
{
checkCustCodePs.close();
checkCustCodePs = null;
}
}
if( childNodeName.equalsIgnoreCase("quot_type") )
{
String customerCode = checkNull(genericUtility.getColumnValue("cust_code", dom));
String quotationtype = checkNull(genericUtility.getColumnValue("quot_type", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC quotationtype wfValData case 1 [" + quotationtype + "]");
if (quotationtype.equalsIgnoreCase("G"))
{
// String groupCode = "select group_code from customer where cust_code= ?";
// PreparedStatement quotationcodePs = connection.prepareStatement(groupCode);
// quotationcodePs.setString(1, quotationcode);
// ResultSet quotationcodeRs = quotationcodePs.executeQuery();
String quotationtypeSql = "select count(group_code) as customergroupcount from customer where group_code= ?";
PreparedStatement quotationtypePs = connection.prepareStatement(quotationtypeSql);
quotationtypePs.setString(1, customerCode);
ResultSet quotationtypeRs = quotationtypePs.executeQuery();
while(quotationtypeRs.next())
{
int customergroupcount = quotationtypeRs.getInt("customergroupcount");
BaseLogger.log("3", null, null, "ReqForQuotationIC group_count wfValData case 1 quotationtypeRs::[" + customergroupcount + "]");
if(customergroupcount<=1)
{
errString = getErrorString("cust_code", "INVCG", userId);
break;
}
}
if(quotationtypeRs != null)
{
quotationtypeRs.close();
quotationtypeRs = null;
}
if(quotationtypePs != null)
{
quotationtypePs.close();
quotationtypePs = null;
}
}
}
if( childNodeName.equalsIgnoreCase("sales_pers") )
{
String salesPerson = checkNull(genericUtility.getColumnValue("sales_pers", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC salesPerson wfValData case 1 [" + salesPerson + "]");
String salesPersonSql = "select count(SALES_PERS) as salesPersonCount from SALES_PERS where SALES_PERS = ?";
PreparedStatement salesPersonPs = connection.prepareStatement(salesPersonSql);
salesPersonPs.setString(1, salesPerson);
ResultSet salesPersonRs = salesPersonPs.executeQuery();
while(salesPersonRs.next()) {
int salesPersonCount = salesPersonRs.getInt("salesPersonCount");
BaseLogger.log("3", null, null, "ReqForQuotationIC sales_pers wfValData case 1 salesPersonRs::[" + salesPersonCount + "]");
if(salesPersonCount<=0) {
errString = getErrorString("sales_pers", "VTSALPER", userId);
break;
}
}
if(salesPersonRs != null)
{
salesPersonRs.close();
salesPersonRs = null;
}
if(salesPersonPs != null)
{
salesPersonPs.close();
salesPersonPs = null;
}
}
if( childNodeName.equalsIgnoreCase("valid_upto") )
{
String validUptoStr = checkNull(genericUtility.getColumnValue("valid_upto", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC validUptoStr wfValData case 1 [" + validUptoStr + "]");
if(isDateInvalid(validUptoStr))
{
errString = getErrorString("valid_upto", "VTINUPTO", userId);
break;
}
}
if( childNodeName.equalsIgnoreCase("site_code") )
{
String siteCode = checkNull(genericUtility.getColumnValue("site_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC siteCode wfValData case 1 [" + siteCode + "]");
String checkSiteCodeSql = "select count(site_code) as siteCodeCount from site where site_code = ?";
PreparedStatement checkSiteCodePs = connection.prepareStatement(checkSiteCodeSql);
checkSiteCodePs.setString(1, siteCode);
ResultSet checkSiteCodeRs = checkSiteCodePs.executeQuery();
while(checkSiteCodeRs.next()) {
int siteCodeCont = checkSiteCodeRs.getInt("siteCodeCount");
BaseLogger.log("3", null, null, "ReqForQuotationIC siteCode wfValData case 1 siteCodeCont::[" + siteCodeCont + "]");
if(siteCodeCont<=0) {
errString = getErrorString("site_code", "VTSITCD1", userId);
break;
}
}
if(checkSiteCodeRs != null)
{
checkSiteCodeRs.close();
checkSiteCodeRs = null;
}
if(checkSiteCodePs != null)
{
checkSiteCodePs.close();
checkSiteCodePs = null;
}
}
if( childNodeName.equalsIgnoreCase("item_ser") )
{
String itemSerStr = checkNull(genericUtility.getColumnValue("item_ser", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC itemSerStr wfValData case 1 [" + itemSerStr + "]");
if (itemSerStr != null && itemSerStr.length() > 0) {
String[] itemSerArr = itemSerStr.split(",");
for (String itemSer : itemSerArr) {
BaseLogger.log("3", null, null, "ReqForQuotationIC item_ser wfValData case 1 itemSer [" + itemSer + "]");
sql = "SELECT count(1) FROM itemser WHERE item_ser = ?";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, itemSer.trim());
rs = pstmt.executeQuery();
long count = 0;
if (rs.next()) {
count = rs.getLong(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if (count == 0) {
errString = getErrorString("item_ser", "VTITEMSER1", userId);
break;
}
}
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
}
}
break;
}
case 2:
{
parentList = dom.getElementsByTagName("Detail"+ currentFormNo);
int parentNodeListLength = parentList.getLength();
System.out.println("parentNodeListLength["+parentNodeListLength+"]");
for (int prntCtr = 0; prntCtr < parentNodeListLength; prntCtr++ )
{
parentNode = parentList.item(prntCtr);
System.out.println("value of parentNode"+parentNode);
childList = parentNode.getChildNodes();
noOfChilds = childList.getLength();
System.out.println("value of noOfChilds"+noOfChilds);
for (int ctr = 0; ctr < noOfChilds; ctr++)
{
childNode = childList.item(ctr);
System.out.println("childNode"+childNode);
if( childNode.getNodeType() != Node.ELEMENT_NODE )
{
continue;
}
childNodeName = childNode.getNodeName();
if( childNodeName.equalsIgnoreCase("item_code") )
{
String[] itemSerArr = null;
String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
String itemSer = checkNull(genericUtility.getColumnValue("item_ser", dom1));
BaseLogger.log("3", null, null, "ReqForQuotationIC itemCode wfValData case 1 itemSer:[" + itemSer + "]");
BaseLogger.log("3", null, null, "ReqForQuotationIC itemCode wfValData case 1 [" + itemCode + "]");
if(itemSer != null && itemSer.trim().length() > 0)
{
itemSerArr = itemSer.split(",");
}
StringBuilder checkItemCodeSql = new StringBuilder(
"select count(item_code) as itemCodeCount from item where item_code = ?"
);
if(itemSerArr != null && itemSerArr.length > 0) {
checkItemCodeSql.append(" and item_ser IN (");
for(int i = 0; i < itemSerArr.length; i++) {
checkItemCodeSql.append("?");
if(i < itemSerArr.length - 1) {
checkItemCodeSql.append(",");
}
}
checkItemCodeSql.append(")");
}
String checkItemCodeSql1 = checkItemCodeSql.toString();
PreparedStatement checkItemCodePs = connection.prepareStatement(checkItemCodeSql1);
// 🔹 Set first parameter (item_code)
int paramIndex = 1;
checkItemCodePs.setString(paramIndex++, itemCode);
// 🔹 Set IN clause parameters (item_ser)
if(itemSerArr != null && itemSerArr.length > 0) {
for(String ser : itemSerArr) {
checkItemCodePs.setString(paramIndex++, ser.trim());
}
}
ResultSet checkItemCodeRs = checkItemCodePs.executeQuery();
while(checkItemCodeRs.next()) {
int itemCodeCont = checkItemCodeRs.getInt("itemCodeCount");
BaseLogger.log("3", null, null, "ReqForQuotationWiz itemCode wfValData case 1 itemCodeCont::[" + itemCodeCont + "]");
if(itemCodeCont<=0) {
errString = getErrorString("item_code", "STKVALITNE", userId);
break;
}
}
if(checkItemCodeRs != null)
{
checkItemCodeRs.close();
checkItemCodeRs = null;
}
if(checkItemCodePs != null)
{
checkItemCodePs.close();
checkItemCodePs = null;
}
}
if( childNodeName.equalsIgnoreCase("ptr_flag") )
{
String ptrFlag = checkNull(genericUtility.getColumnValue("ptr_flag", dom));
String rateQuot = checkNull(genericUtility.getColumnValue("rate_quot", dom));
String competitorRate = checkNull(genericUtility.getColumnValue("competitor_rate", dom));
String competitorItem = checkNull(genericUtility.getColumnValue("competitor_item", dom));
String competitorName = checkNull(genericUtility.getColumnValue("competitor_name", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC ptrFlag wfValData [" + ptrFlag + "]");
BaseLogger.log("3", null, null, "ReqForQuotationIC rateQuot wfValData [" + rateQuot + "]");
BaseLogger.log("3", null, null, "ReqForQuotationIC competitorRate wfValData [" + competitorRate + "]");
BaseLogger.log("3", null, null, "ReqForQuotationIC competitorItem wfValData [" + competitorItem + "]");
BaseLogger.log("3", null, null, "ReqForQuotationIC competitorNane wfValData [" + competitorName + "]");
if (ptrFlag.equalsIgnoreCase("N") || ptrFlag.trim().isEmpty()) {
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition ptrFlag wfValData::: [" + ptrFlag + "]");
if(rateQuot==null || rateQuot.trim().length()<=0) {
errString = getErrorString("rate_quot", "INVQR", userId);
BaseLogger.log("3", null, null, "ReqForQuotationIC in competitor details null errString:: [" + errString + "]");
break;
}
// Check if any of the competitor fields are null or blank
if ((competitorRate == null || competitorRate.trim().isEmpty())
|| (competitorItem == null || competitorItem.trim().isEmpty())
|| (competitorName == null || competitorName.trim().isEmpty())) {
BaseLogger.log("3", null, null, "ReqForQuotationIC in competitor details null [" + ptrFlag + "]");
errString = getErrorString("ptr_flag", "COMPDETM", userId);
BaseLogger.log("3", null, null, "ReqForQuotationIC in competitor details null errString:: [" + errString + "]");
break;
}
}
}
if( childNodeName.equalsIgnoreCase("rate_quot") )
{
String phyAttrVal = "";
String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
String quotedRate = checkNull(genericUtility.getColumnValue("rate_quot", dom));
int quotedRateInt = 0;
if(quotedRate!=null && quotedRate.trim().length()>0) {
double quotedRateDouble = Double.parseDouble(quotedRate);
quotedRateInt = (int) quotedRateDouble;
// quotedRateInt = Integer.parseInt(quotedRate);
if(quotedRateInt<=0) {
errString = getErrorString("rate_quot", "INVQR", userId);
BaseLogger.log("3", null, null, "ReqForQuotationIC in PHY_ATTRIB_19 details null errString:: [" + errString + "]");
break;
}
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition itemCode wfValData quotedRate::: [" + quotedRate + "]");
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition itemCode wfValData itemCode::: [" + itemCode + "]");
String phyAttrValSql = "select PHY_ATTRIB_19 from item where item_code = ?";
PreparedStatement phyAttrValPs = connection.prepareStatement(phyAttrValSql);
phyAttrValPs.setString(1, itemCode);
ResultSet phyAttrValRs = phyAttrValPs.executeQuery();
while(phyAttrValRs.next()) {
phyAttrVal = checkNull(phyAttrValRs.getString("PHY_ATTRIB_19"));
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition itemCode wfValData phyAttrVal::: [" + phyAttrVal + "]");
if(phyAttrVal.equalsIgnoreCase("SRNA")) {
errString = getErrorString("rate_quot", "INEFSR", userId);
BaseLogger.log("3", null, null, "ReqForQuotationIC in PHY_ATTRIB_19 details null errString:: [" + errString + "]");
break;
}
if(phyAttrValPs != null)
{
phyAttrValPs.close();
phyAttrValPs = null;
}
if(phyAttrValRs != null)
{
phyAttrValRs.close();
phyAttrValRs = null;
}
}
//Added changes on 25-March-26 by Ajit [Start]
if( childNodeName.equalsIgnoreCase("unit") )
{
int unitCount = 0;
String unit = checkNull(genericUtility.getColumnValue("unit", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition unit wfValData unit::: [" + unit + "]");
String unitCountSql = "select count(unit) as unitCount from uom where unit = ?";
PreparedStatement unitCountPs = connection.prepareStatement(unitCountSql);
unitCountPs.setString(1, unit);
ResultSet unitCountRs = unitCountPs.executeQuery();
while(unitCountRs.next()) {
unitCount = unitCountRs.getInt("unitCount");
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition unitCount::: [" + unitCount + "]");
if(unitCount <= 0) {
errString = getErrorString("unit", "VTITEMUNIT", userId);
BaseLogger.log("3", null, null, "ReqForQuotationIC in UNIT not present in master errString:: [" + errString + "]");
break;
}
if(unitCountPs != null)
{
unitCountPs.close();
unitCountPs = null;
}
if(unitCountRs != null)
{
unitCountRs.close();
unitCountRs = null;
}
}
if( childNodeName.equalsIgnoreCase("pack_code") )
{
int packCodeCount = 0;
String packCode = checkNull(genericUtility.getColumnValue("pack_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition unit wfValData packCode::: [" + packCode + "]");
String packCodeCountSql = "select count(pack_code) as packCodeCount from packing where pack_code = ?";
PreparedStatement packCodeCountPs = connection.prepareStatement(packCodeCountSql);
packCodeCountPs.setString(1, packCode);
ResultSet packCodeCountRs = packCodeCountPs.executeQuery();
while(packCodeCountRs.next()) {
packCodeCount = packCodeCountRs.getInt("packCodeCount");
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition unitCount::: [" + packCodeCount + "]");
if(packCodeCount <= 0) {
errString = getErrorString("pack_code", "VTPCKCDM", userId);
BaseLogger.log("3", null, null, "ReqForQuotationIC in UNIT not present in master errString:: [" + errString + "]");
break;
}
if(packCodeCountPs != null)
{
packCodeCountPs.close();
packCodeCountPs = null;
}
if(packCodeCountRs != null)
{
packCodeCountRs.close();
packCodeCountRs = null;
}
}
//Added changes on 25-March-26 by Ajit [End]
//End elseif
}//End for loop
}//End for loop
break;
}//case1
}//switch
}//try
catch (Exception e)
{
System.out.println ("Exception: wfValData(Document dom): " + e.getMessage() + ":");
errString = genericUtility.createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(connection != null)
{
connection.close();
connection = null;
}
}
catch(Exception e)
{
errString = genericUtility.createErrorString(e);
}
}
return (errString);
}
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext,
String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException {
BaseLogger.log("3", getUserInfo(), null,
">>>>>>>>>>>>>>>>>> ReqForQuotationIC itemchange called Ajit>>>>>>>>>>>>>>>>>>>");
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String errString = null;
try {
if (xmlString != null && xmlString.trim().length() != 0) {
dom = genericUtility.parseString(xmlString);
}
if (xmlString1 != null && xmlString1.trim().length() != 0) {
dom1 = genericUtility.parseString(xmlString1);
}
if (xmlString2 != null && xmlString2.trim().length() != 0) {
dom2 = genericUtility.parseString(xmlString2);
}
BaseLogger.log("3", null, null, "xmlString ReqForQuotationIC [" + xmlString + "]");
BaseLogger.log("3", null, null, "xmlString1 ReqForQuotationIC [" + xmlString1 + "]");
BaseLogger.log("3", null, null, "xmlString2 ReqForQuotationIC [" + xmlString2 + "]");
errString = itemChanged(dom, dom1, dom2, objContext, currentColumn, editFlag, xtraParams);
BaseLogger.log("3", null, null, "ErrString :" + errString);
} catch (Exception e) {
BaseLogger.log("3", null, null, "Exception :ReqForQuotationIC :itemChanged(String,String):" + e.getMessage() + ":");
errString = genericUtility.createErrorString(e);
}
BaseLogger.log("3", null, null, "returning from ReqForQuotationIC itemChanged");
return errString;
}
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn,
String editFlag, String xtraParams) throws RemoteException, ITMException {
BaseLogger.log("3", getUserInfo(), null, ">>>>>>>>>>>>>>>>>> ReqForQuotationIC itemchange called Ajit>>>>>>>>>>>>>>>>>>>");
System.out.println("Inside itemchange");
Connection con = null;
PreparedStatement psSiteCustomer = null;
PreparedStatement psCustomer = null;
PreparedStatement psPriceList = null;
PreparedStatement psFinEntity = null;
String reStr = "";
ResultSet rs = null;
StringBuffer valueXmlString = null;
int currentFormNo = 0;
String userId = "";
String sql = "";
String priceList = "";
int rate= 0;
String finEntity = "";
String phy13 = "";
String phy14 = "";
String phy15 = "";
List<String> itemCodeList = new ArrayList<>();
try {
UserInfoBean userInfo = getUserInfo();
String siteCode = checkNull(userInfo.getSiteCode());
String userCode = checkNull(userInfo.getLoginCode());
String userName = checkNull(userInfo.getUserName());
String siteDescr = checkNull(userInfo.getSiteDescr());
BaseLogger.log("3", null, null, "ReqForQuotationIC in siteCodeFromUserInfo:: "+siteCode);
BaseLogger.log("3", null, null, "ReqForQuotationIC in userCodeFromUserInfo:: "+userCode);
BaseLogger.log("3", null, null, "ReqForQuotationIC in userName:: "+userName);
BaseLogger.log("3", null, null, "ReqForQuotationIC in siteDescr:: "+siteDescr);
con = getConnection();
userId = getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"); // To get user details after login
if (objContext != null && objContext.trim().length() > 0) {
currentFormNo = Integer.parseInt(objContext);
}
// start creating xml
valueXmlString = new StringBuffer("<?xml version=\"1.0\"?><Root><header><editFlag>");
valueXmlString.append(editFlag).append("</editFlag></header>");
String ptrFlag = checkNull(genericUtility.getColumnValue("ptr_flag", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in ptr_flat condition ptrFlag:: "+ptrFlag);
BaseLogger.log("3", null, null, "ReqForQuotationIC currentFormNo "+currentFormNo);
switch (currentFormNo) {
case 1:
{
valueXmlString.append("<Detail1>");
if ("itm_default".equalsIgnoreCase(currentColumn.trim())) {
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm_default case 1");
// Set tran_date to current date
SimpleDateFormat dtFormat = new SimpleDateFormat(getApplDateFormat());
String currDate = dtFormat.format(Calendar.getInstance().getTime());
valueXmlString.append("<tran_date>").append("<![CDATA[" + currDate + "]]>").append("</tran_date>\r\n");
// Set req_date to current date
valueXmlString.append("<req_date>").append("<![CDATA[" + currDate + "]]>").append("</req_date>\r\n");
// Set site_code to logged in user's site code
valueXmlString.append("<site_code>").append("<![CDATA[" + siteCode + "]]>").append("</site_code>\r\n");
valueXmlString.append("<quot_type>").append("<![CDATA[C]]>").append("</quot_type>");
// Set sales_pers to logged in user's code
valueXmlString.append("<sales_pers>").append("<![CDATA[" + userCode + "]]>").append("</sales_pers>\r\n");
// Set sp_name to logged in user's name
valueXmlString.append("<sp_name>").append("<![CDATA[" + userName + "]]>").append("</sp_name>\r\n");
// Set site_descr to logged in user's site description
valueXmlString.append("<site_descr>") .append("<![CDATA[" + siteDescr + "]]>").append("</site_descr>\r\n");
}
if ("cust_code".equalsIgnoreCase(currentColumn.trim())) {
BaseLogger.log("3", null, null, "ReqForQuotationIC in item change case 1 cust_code condition");
String custName = "", addr1 = "", addr2="", addr3="";
String custCode = checkNull(genericUtility.getColumnValue("cust_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in case 1 cust_code:: "+custCode);
String custDetilsSql = "select cust_name, addr1 , addr2 , addr3 from customer where cust_code = ?";
PreparedStatement custDetailsPs = con.prepareStatement(custDetilsSql);
custDetailsPs.setString(1, custCode);
ResultSet custDetailsRs = custDetailsPs.executeQuery();
while(custDetailsRs.next()) {
custName = custDetailsRs.getString("cust_name");
addr1 = custDetailsRs.getString("addr1");
addr2 = custDetailsRs.getString("addr2");
addr3 = custDetailsRs.getString("addr3");
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in case 1 custName:: "+custName);
valueXmlString.append("<cust_name>").append("<![CDATA["+custName+"]]>").append("</cust_name>\r\n");
valueXmlString.append("<addr1>").append("<![CDATA["+addr1+"]]>").append("</addr1>\r\n");
valueXmlString.append("<addr2>").append("<![CDATA["+addr2+"]]>").append("</addr2>\r\n");
valueXmlString.append("<addr3>").append("<![CDATA["+addr3+"]]>").append("</addr3>\r\n");
}
if ("item_ser".equalsIgnoreCase(currentColumn.trim()))
{
String itemSerDescr = "";
String itemSerForIC = checkNull(genericUtility.getColumnValue("item_ser", dom, "1"));
BaseLogger.log("0", null, userId, "case 1::: item_ser");
System.out.println("case 1---------itemSerForIC05M------[" + itemSerForIC + "]");
if(itemSerForIC != null && itemSerForIC.trim().length() > 0)
{
String[] itemSerArr = itemSerForIC.split(",");
String itemSerSql = "select descr from itemser where item_ser = ?";
try (PreparedStatement itemSerPs = con.prepareStatement(itemSerSql))
{
for(String itemSer : itemSerArr)
{
itemSerPs.setString(1, itemSer.trim());
try (ResultSet itemSerRs = itemSerPs.executeQuery())
{
if(itemSerRs.next())
{
if(itemSerDescr.length() > 0)
{
itemSerDescr += ", ";
}
itemSerDescr += checkNull(itemSerRs.getString("descr"));
}
}
}
}
}
setNodeValue(dom, "descr", itemSerDescr);
BaseLogger.log("0", null, userId, "case 1::: item_ser descr::"+itemSerDescr);
valueXmlString.append("<descr>").append("<![CDATA["+itemSerDescr+"]]>").append("</descr>\r\n");
}
if ("sales_pers".equalsIgnoreCase(currentColumn.trim())) {
String salesPersCode = checkNull(genericUtility.getColumnValue("sales_pers", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in itemchange case 1 sales_pers:: " + salesPersCode);
String sp_name = "";
if (salesPersCode != null && salesPersCode.trim().length() > 0) {
String sp_nameSql = "select SP_NAME from SALES_PERS where SALES_PERS = ?";
PreparedStatement sp_namePs = con.prepareStatement(sp_nameSql);
sp_namePs.setString(1, salesPersCode);
ResultSet sp_nameRs = sp_namePs.executeQuery();
if (sp_nameRs.next()) {
sp_name = checkNull(sp_nameRs.getString("SP_NAME"));
}
sp_nameRs.close();
sp_namePs.close();
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in itemchange case 1 sp_name:: " + sp_name);
valueXmlString.append("<sp_name>").append("<![CDATA[" + sp_name + "]]>").append("</sp_name>\r\n");
}
if ("site_code".equalsIgnoreCase(currentColumn.trim()))
{
String sitecode = checkNull(genericUtility.getColumnValue("site_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in itemchange case 1 site_code:: " + sitecode);
String site_descr = "";
if (sitecode != null && sitecode.trim().length() > 0)
{
String siteSql = "select descr from site where site_code = ?";
PreparedStatement site_descrPs = con.prepareStatement(siteSql);
site_descrPs.setString(1, sitecode);
ResultSet site_descrRs = site_descrPs.executeQuery();
if (site_descrRs.next())
{
site_descr = checkNull(site_descrRs.getString("DESCR"));
}
site_descrRs.close();
site_descrPs.close();
}
BaseLogger.log("3", null, null, "ReqForQuotationIC site_descr:: " + site_descr);
valueXmlString.append("<site_descr>") .append("<![CDATA[" + site_descr + "]]>").append("</site_descr>\r\n");
}
valueXmlString.append("</Detail1>");
break;
}
case 2:
{
valueXmlString.append("<Detail2>");
if ("itm_default".equalsIgnoreCase(currentColumn.trim())) {
String custCode = checkNull(genericUtility.getColumnValue("cust_code", dom1));
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default ");
//Management rate block[Start]
String finEntityQuery = "select fin_entity from site where site_code = ?";
psFinEntity = con.prepareStatement(finEntityQuery);
psFinEntity.setString(1, siteCode);
rs = psFinEntity.executeQuery();
if(rs.next()) {
finEntity = checkNull(rs.getString("fin_entity"));
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default finEntity:: "+finEntity);
rs.close();
psFinEntity.close();
// Now, use finEntity to fetch VAR_VALUE from finparm
String varValueQuery = "select VAR_VALUE from finparm where ADDL_VALUE = ?";
PreparedStatement psVarValue = con.prepareStatement(varValueQuery);
psVarValue.setString(1, finEntity);
ResultSet rsVarValue = psVarValue.executeQuery();
String varValue = null;
if (rsVarValue.next()) {
varValue = checkNull(rsVarValue.getString("VAR_VALUE"));
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default varValue:: " + varValue);
// Clean up the result set and prepared statement for the varValue query
rsVarValue.close();
psVarValue.close();
// Finally, use varValue to fetch the rate from pricelist
String rateQuery = "select rate from pricelist where price_list = ?";
PreparedStatement psRate = con.prepareStatement(rateQuery);
psRate.setString(1, varValue);
ResultSet rsRate = psRate.executeQuery();
int MngmntAprvRate = 0;
if (rsRate.next()) {
MngmntAprvRate = rsRate.getInt("rate");
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default rate:: " + rate);
// Clean up the result set and prepared statement for the rate query
rsRate.close();
psRate.close();
String priceSql =
"SELECT TRIM(fp.var_name) AS var_name, pl.rate " +
"FROM finparm fp " +
"JOIN site s ON TRIM(s.fin_entity) = TRIM(fp.ADDL_VALUE) " +
"JOIN pricelist pl ON TRIM(pl.price_list) = TRIM(fp.VAR_VALUE) " +
"WHERE TRIM(s.site_code) = ? " +
"AND TRIM(fp.VAR_NAME) IN ('RFQ_PTS','RFQ_PTD')";
PreparedStatement psPrice = con.prepareStatement(priceSql);
psPrice.setString(1, siteCode);
ResultSet rsPrice = psPrice.executeQuery();
BigDecimal pts = null;
BigDecimal ptd = null;
BigDecimal PriceRate = null;
while (rsPrice.next()) {
String varName = checkNull(rsPrice.getString("VAR_NAME"));
PriceRate = rsPrice.getBigDecimal("rate");
if ("RFQ_PTS".equals(varName)) {
pts = PriceRate;
} else if ("RFQ_PTD".equals(varName)) {
ptd = PriceRate;
}
}
//PTR calculation start
String siteCustomerQuery =
"SELECT PRICE_LIST FROM SITE_CUSTOMER " +
"WHERE SITE_CODE = ? AND CUST_CODE = ?";
psSiteCustomer = con.prepareStatement(siteCustomerQuery);
psSiteCustomer.setString(1, siteCode);
psSiteCustomer.setString(2, custCode);
rs = psSiteCustomer.executeQuery();
if (rs.next()) {
priceList = rs.getString("PRICE_LIST");
}
rs.close();
psSiteCustomer.close();
// Step 2: If not found in SITE_CUSTOMER, fetch from CUSTOMER
if (priceList == null || priceList.trim().isEmpty()) {
String customerQuery =
"SELECT PRICE_LIST FROM CUSTOMER WHERE CUST_CODE = ?";
psCustomer = con.prepareStatement(customerQuery);
psCustomer.setString(1, custCode);
rs = psCustomer.executeQuery();
if (rs.next()) {
priceList = rs.getString("PRICE_LIST");
}
rs.close();
psCustomer.close();
}
// Step 3: Fetch RATE from PRICELIST table
if (priceList != null && !priceList.trim().isEmpty()) {
String priceListQuery =
"SELECT RATE FROM PRICELIST WHERE PRICE_LIST = ?";
psPriceList = con.prepareStatement(priceListQuery);
psPriceList.setString(1, priceList);
rs = psPriceList.executeQuery();
if (rs.next()) {
rate = rs.getInt("RATE");
}
rs.close();
psPriceList.close();
}
//PTR calculation end
valueXmlString.append("<rate_apprv>").append("<![CDATA["+MngmntAprvRate+"]]>").append("</rate_apprv>\r\n");
valueXmlString.append("<ptd>").append("<![CDATA["+ptd+"]]>").append("</ptd>\r\n");
valueXmlString.append("<pts>").append("<![CDATA["+pts+"]]>").append("</pts>\r\n");
valueXmlString.append("<ptr>").append("<![CDATA["+rate+"]]>").append("</ptr>\r\n");
valueXmlString.append("<qty_quot>").append("<![CDATA[0]]>").append("</qty_quot>\r\n");
//Management rate block[End]
}
if ("itm_defaultedit".equalsIgnoreCase(currentColumn.trim())) {
String custCode = checkNull(genericUtility.getColumnValue("cust_code", dom1));
String ptrFlagForEdit = checkNull(genericUtility.getColumnValue("ptr_flag", dom));
String rateQuot = checkNull(genericUtility.getColumnValue("rate_quot", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default edit ptrFlagForEdit::"+ptrFlagForEdit);
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default edit rateQuot::"+rateQuot);
if(ptrFlagForEdit.equalsIgnoreCase("Y")) {
valueXmlString.append("<rate_quot protect='1'>").append("<![CDATA["+rateQuot+"]]>").append("</rate_quot>\r\n");
}
// Set sp_name to logged in user's name
valueXmlString.append("<sp_name>").append("<![CDATA[" + userName + "]]>").append("</sp_name>\r\n");
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default ");
//Management rate block[Start]
String finEntityQuery = "select fin_entity from site where site_code = ?";
psFinEntity = con.prepareStatement(finEntityQuery);
psFinEntity.setString(1, siteCode);
rs = psFinEntity.executeQuery();
if(rs.next()) {
finEntity = checkNull(rs.getString("fin_entity"));
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default finEntity:: "+finEntity);
rs.close();
psFinEntity.close();
// Now, use finEntity to fetch VAR_VALUE from finparm
String varValueQuery = "select VAR_VALUE from finparm where ADDL_VALUE = ?";
PreparedStatement psVarValue = con.prepareStatement(varValueQuery);
psVarValue.setString(1, finEntity);
ResultSet rsVarValue = psVarValue.executeQuery();
String varValue = null;
if (rsVarValue.next()) {
varValue = checkNull(rsVarValue.getString("VAR_VALUE"));
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default varValue:: " + varValue);
// Clean up the result set and prepared statement for the varValue query
rsVarValue.close();
psVarValue.close();
// Finally, use varValue to fetch the rate from pricelist
String rateQuery = "select rate from pricelist where price_list = ?";
PreparedStatement psRate = con.prepareStatement(rateQuery);
psRate.setString(1, varValue);
ResultSet rsRate = psRate.executeQuery();
int MngmntAprvRate = 0;
if (rsRate.next()) {
MngmntAprvRate = rsRate.getInt("rate");
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in itm default rate:: " + rate);
// Clean up the result set and prepared statement for the rate query
rsRate.close();
psRate.close();
String priceSql =
"SELECT TRIM(fp.var_name) AS var_name, pl.rate " +
"FROM finparm fp " +
"JOIN site s ON TRIM(s.fin_entity) = TRIM(fp.ADDL_VALUE) " +
"JOIN pricelist pl ON TRIM(pl.price_list) = TRIM(fp.VAR_VALUE) " +
"WHERE TRIM(s.site_code) = ? " +
"AND TRIM(fp.VAR_NAME) IN ('RFQ_PTS','RFQ_PTD')";
PreparedStatement psPrice = con.prepareStatement(priceSql);
psPrice.setString(1, siteCode);
ResultSet rsPrice = psPrice.executeQuery();
BigDecimal pts = null;
BigDecimal ptd = null;
BigDecimal PriceRate = null;
while (rsPrice.next()) {
String varName = checkNull(rsPrice.getString("VAR_NAME"));
PriceRate = rsPrice.getBigDecimal("rate");
if ("RFQ_PTS".equals(varName)) {
pts = PriceRate;
} else if ("RFQ_PTD".equals(varName)) {
ptd = PriceRate;
}
}
//PTR calculation start
String siteCustomerQuery =
"SELECT PRICE_LIST FROM SITE_CUSTOMER " +
"WHERE SITE_CODE = ? AND CUST_CODE = ?";
psSiteCustomer = con.prepareStatement(siteCustomerQuery);
psSiteCustomer.setString(1, siteCode);
psSiteCustomer.setString(2, custCode);
rs = psSiteCustomer.executeQuery();
if (rs.next()) {
priceList = rs.getString("PRICE_LIST");
}
rs.close();
psSiteCustomer.close();
// Step 2: If not found in SITE_CUSTOMER, fetch from CUSTOMER
if (priceList == null || priceList.trim().isEmpty()) {
String customerQuery =
"SELECT PRICE_LIST FROM CUSTOMER WHERE CUST_CODE = ?";
psCustomer = con.prepareStatement(customerQuery);
psCustomer.setString(1, custCode);
rs = psCustomer.executeQuery();
if (rs.next()) {
priceList = rs.getString("PRICE_LIST");
}
rs.close();
psCustomer.close();
}
// Step 3: Fetch RATE from PRICELIST table
if (priceList != null && !priceList.trim().isEmpty()) {
String priceListQuery =
"SELECT RATE FROM PRICELIST WHERE PRICE_LIST = ?";
psPriceList = con.prepareStatement(priceListQuery);
psPriceList.setString(1, priceList);
rs = psPriceList.executeQuery();
if (rs.next()) {
rate = rs.getInt("RATE");
}
rs.close();
psPriceList.close();
}
//PTR calculation end
valueXmlString.append("<rate_apprv>").append("<![CDATA["+MngmntAprvRate+"]]>").append("</rate_apprv>\r\n");
valueXmlString.append("<ptd>").append("<![CDATA["+ptd+"]]>").append("</ptd>\r\n");
valueXmlString.append("<pts>").append("<![CDATA["+pts+"]]>").append("</pts>\r\n");
valueXmlString.append("<ptr>").append("<![CDATA["+rate+"]]>").append("</ptr>\r\n");
//Management rate block[End]
}
// Added by Saburi - 06/04/26 : Fetch PHY_ATTRIB_13,14,15 on item selection
if ("item_code".equalsIgnoreCase(currentColumn.trim())) {
String itemDescr = "";
BaseLogger.log("3", null, null, "ReqForQuotationIC in item_code 1072");
String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
String itemDescrSql = "SELECT DESCR FROM ITEM WHERE ITEM_CODE = ?";
PreparedStatement itemDescrPs = con.prepareStatement(itemDescrSql);
itemDescrPs.setString(1, itemCode);
ResultSet itemDescrRs = itemDescrPs.executeQuery();
while(itemDescrRs.next())
{
itemDescr = itemDescrRs.getString("descr");
}
valueXmlString.append("<descr>").append("<![CDATA["+itemDescr+"]]>").append("</descr>\r\n");
String phySql = "SELECT PHY_ATTRIB_13, PHY_ATTRIB_14, PHY_ATTRIB_15 FROM ITEM WHERE ITEM_CODE = ?";
PreparedStatement phyPs = con.prepareStatement(phySql);
phyPs.setString(1, itemCode);
ResultSet phyRs = phyPs.executeQuery();
if (phyRs.next())
{
phy13 = checkNull(phyRs.getString("PHY_ATTRIB_13"));
phy14 = checkNull(phyRs.getString("PHY_ATTRIB_14"));
phy15 = checkNull(phyRs.getString("PHY_ATTRIB_15"));
}
phyRs.close();
phyPs.close();
valueXmlString.append("<phy_attrib_13><![CDATA[" + phy13 + "]]></phy_attrib_13>\r\n");
valueXmlString.append("<phy_attrib_14><![CDATA[" + phy14 + "]]></phy_attrib_14>\r\n");
valueXmlString.append("<phy_attrib_15><![CDATA[" + phy15 + "]]></phy_attrib_15>\r\n");
}
if ("ptr_flag".equalsIgnoreCase(currentColumn.trim()))
{
BaseLogger.log("3", null, null, "ReqForQuotationIC in ptr_flag ");
String custCode = checkNull(genericUtility.getColumnValue("cust_code", dom1));
String rateStr = checkNull(genericUtility.getColumnValue("ptr", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in ptr_flat condition:: "+ptrFlag);
BaseLogger.log("3", null, null, "ReqForQuotationIC in ptr_flat condition siteCode:: "+siteCode);
BaseLogger.log("3", null, null, "ReqForQuotationIC in ptr_flat condition custCode:: "+custCode);
BaseLogger.log("3", null, null, "ReqForQuotationIC in ptr_flat condition ptr:: "+rateStr);
if(ptrFlag.equalsIgnoreCase("Y")) {
BaseLogger.log("3", getUserInfo(), null, "Final RATE : " + rate);
valueXmlString.append("<rate_quot protect='1'>").append("<![CDATA["+rateStr+"]]>").append("</rate_quot>\r\n");
}else if(ptrFlag.equalsIgnoreCase("N")) {
valueXmlString.append("<rate_quot protect='0'>").append("<![CDATA[]]>").append("</rate_quot>\r\n");
}
}
if ("rate_quot".equalsIgnoreCase(currentColumn.trim())) {
BaseLogger.log("3", null, null, "ReqForQuotationIC in rate_quot ::");
String rateQuot = checkNull(genericUtility.getColumnValue("rate_quot", dom));
String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
String rateApprv = checkNull(genericUtility.getColumnValue("rate_apprv", dom));
String ratePtr = checkNull(genericUtility.getColumnValue("ptr", dom));
String qtyStr = checkNull(genericUtility.getColumnValue("qty_quot", dom));
String rateQuotStr = checkNull(genericUtility.getColumnValue("rate_quot", dom));
int qty = 0;
int rateQuotInt = 0;
int value = 0;
BaseLogger.log("3", null, null, "ReqForQuotationWiz in qty_quot condition qtyStr:: " + qtyStr);
BaseLogger.log("3", null, null,
"ReqForQuotationWiz in qty_quot condition rateQuotStr:: " + rateQuotStr);
try {
qty = (qtyStr != null && qtyStr.trim().length() > 0) ? Integer.parseInt(qtyStr.trim()) : 0;
rateQuotInt = (rateQuotStr != null && rateQuotStr.trim().length() > 0)
? Integer.parseInt(rateQuotStr.trim())
: 0;
value = qty*rateQuotInt;
BaseLogger.log("3", null, null, "ReqForQuotationWiz in qty:: " + qty + " rateQuotInt::"
+ rateQuotInt + " value::" + value);
} catch (Exception e) {
BaseLogger.log("3", null, null, "Error parsing margin values");
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in rate_quot:: "+rateQuot+" rateApprv::"+rateApprv+ " ratePtr::"+ratePtr+" itemCode::"+itemCode);
BaseLogger.log("3", null, null, "ReqForQuotationIC in rate_quot:: "+rateQuot+" rateApprv::"+rateApprv+ " ratePtr::"+ratePtr+" itemCode::"+itemCode);
if (!rateQuot.isEmpty() && !rateApprv.isEmpty()) {
BigDecimal rateApprvVal = new BigDecimal(rateApprv);
BigDecimal rateQuotVal = new BigDecimal(rateQuot);
BigDecimal ratePtrVal = new BigDecimal(ratePtr);
// added condition when ptr and rate_quot is same direct approval without management
if (ratePtrVal.compareTo(rateQuotVal) == 0) {
BaseLogger.log("3", null, null, "in ratePtrVal == rateQuotVal condition");
String detail1Xml = "<Detail1><mgmnt_apprv><![CDATA[N]]></mgmnt_apprv><wf_status><![CDATA[A]]></wf_status></Detail1>";
int pos = valueXmlString.indexOf("</header>");
if (pos != -1) {
pos += "</header>".length(); // move after </header>
valueXmlString.insert(pos, detail1Xml);
}
BaseLogger.log("3", null, null,
"in rateApprvVal greater condition updatedXml ::" + valueXmlString);
}
if (rateApprvVal.compareTo(rateQuotVal) > 0) {
BaseLogger.log("3", null, null, "in rateApprvVal greater condition");
BaseLogger.log("3", null, null, "in rateApprvVal greater condition valueXmlString::"+ valueXmlString);
String detail1Xml = "<Detail1><mgmnt_apprv><![CDATA[Y]]></mgmnt_apprv><wf_status><![CDATA[P]]></wf_status></Detail1>";
int pos = valueXmlString.indexOf("</header>");
if (pos != -1) {
pos += "</header>".length(); // move after </header>
valueXmlString.insert(pos, detail1Xml);
}
BaseLogger.log("3", null, null, "in rateApprvVal greater condition updatedXml ::"+valueXmlString);
}
if (rateQuotVal.compareTo(rateApprvVal) > 0) {
BaseLogger.log("3", null, null, "in rateQuotVal greater condition");
BaseLogger.log("3", null, null, "in rateQuotVal greater condition valueXmlString::"+ valueXmlString);
String detail1Xml = "<Detail1><mgmnt_apprv><![CDATA[]]></mgmnt_apprv><wf_status><![CDATA[]]></wf_status></Detail1>";
int pos = valueXmlString.indexOf("</header>");
if (pos != -1) {
pos += "</header>".length(); // move after </header>
valueXmlString.insert(pos, detail1Xml);
}
BaseLogger.log("3", null, null, "in rateApprvVal greater condition updatedXml ::"+valueXmlString);
}
}
//Calculating Revised PTR,PTD and PTS [Start]
PreparedStatement resvisedRatePstmt =null;
ResultSet resvisedRateRs = null;
try {
String resvisedRateSql = "select PHY_ATTRIB_13,PHY_ATTRIB_14,PHY_ATTRIB_15 from item where item_code = ?";
resvisedRatePstmt = con.prepareStatement(resvisedRateSql);
resvisedRatePstmt.setString(1, itemCode);
resvisedRateRs = resvisedRatePstmt.executeQuery();
while (resvisedRateRs.next()) {
String distMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_13"));
String stockMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_14"));
String retailMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_15"));
BigDecimal distMargin = BigDecimal.ZERO;
BigDecimal stockMargin = BigDecimal.ZERO;
BigDecimal retailMargin = BigDecimal.ZERO;
try {
distMargin = (distMarginStr != null && distMarginStr.trim().length() > 0) ? new BigDecimal(distMarginStr.trim()) : BigDecimal.ZERO;
stockMargin = (stockMarginStr != null && stockMarginStr.trim().length() > 0) ? new BigDecimal(stockMarginStr.trim()) : BigDecimal.ZERO;
retailMargin = (retailMarginStr != null && retailMarginStr.trim().length() > 0) ? new BigDecimal(retailMarginStr.trim()) : BigDecimal.ZERO;
} catch (Exception e) {
BaseLogger.log("3", null, null, "Error parsing margin values");
}
BigDecimal rateBD = new BigDecimal(rateQuot);
BigDecimal hundred = new BigDecimal(100);
// BigDecimal retailMarginBD = new BigDecimal(retailMargin);
// BigDecimal stockMarginBD = new BigDecimal(stockMargin);
// BigDecimal distMarginBD = new BigDecimal(distMargin);
BaseLogger.log("3", null, null, "distMargin::" + distMargin + " stockMargin::" + stockMargin + " revisedPtd:: " + retailMargin + "rate:: " + rate + "]");
BigDecimal revisedPtr = rateBD.divide(hundred.multiply(hundred.subtract(retailMargin)), 6, RoundingMode.HALF_UP);
BigDecimal revisedPts = rateBD.divide(hundred.multiply(hundred.subtract(stockMargin)), 6, RoundingMode.HALF_UP);
BigDecimal revisedPtd = rateBD.divide(hundred.multiply(hundred.subtract(distMargin)), 6, RoundingMode.HALF_UP);
BaseLogger.log("3", null, null, "revisedPtr::" + revisedPtr + " revisedPts::" + revisedPts + " revisedPtd::" + revisedPtd);
BaseLogger.log("3", null, null, "revisedPtr::" + revisedPtr + " revisedPts::" + revisedPts + " revisedPtd:: " + revisedPtd + "]");
valueXmlString.append("<revised_ptr>").append("<![CDATA[" + revisedPtr + "]]>").append("</revised_ptr>\r\n");
valueXmlString.append("<revised_pts>").append("<![CDATA[" + revisedPts + "]]>").append("</revised_pts>\r\n");
valueXmlString.append("<revised_ptd>").append("<![CDATA[" + revisedPtd + "]]>").append("</revised_ptd>\r\n");
valueXmlString.append("<value>").append("<![CDATA[" + value + "]]>").append("</value>\r\n");
}
} catch (Exception e) {
BaseLogger.log("3", null, null, "Exception 1002. [" + E12GenericUtility.getStackTrace(e) + "]");
} finally {
// Ensure you close the ResultSet and PreparedStatement afterwards to prevent memory leaks!
resvisedRateRs.close();
resvisedRatePstmt.close();
}
//Calculating Revised PTR,PTD and PTS [End]
}
valueXmlString.append("</Detail2>\r\n");
break;
}
}
BaseLogger.log("3", null, null, "in rateApprvVal greater condition reStr>>>>> "+reStr);
valueXmlString.append("</Root>\r\n");
} catch (Exception e) {
BaseLogger.log("3", getUserInfo(), null, "Exception :ReqForQuotationIC :itemChanged(Document,String):" + e.getMessage() + ":");
e.printStackTrace();
} finally {
closeResources(rs, psSiteCustomer, conn);
closeResources(rs, psCustomer, conn);
closeResources(rs, psPriceList, conn);
closeResources(rs, psPriceList, con);
}
BaseLogger.log("3", getUserInfo(), null, "ReqForQuotationIC valueXmlString::"+valueXmlString.toString());
return valueXmlString.toString();
}
private void closeResources(ResultSet rs, PreparedStatement pstmt, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
private String checkNull(String input) {
if (input == null) {
input = "";
} else {
input = input.trim();
}
return input;
}
private static void setNodeValue( Document dom, String nodeName, String nodeVal ) throws Exception
{
Node tempNode = dom.getElementsByTagName( nodeName ).item(0);
if( tempNode != null )
{
if( tempNode.getFirstChild() == null )
{
CDATASection cDataSection = dom.createCDATASection( nodeVal );
tempNode.appendChild( cDataSection );
}
else
{
tempNode.getFirstChild().setNodeValue(nodeVal);
}
}
tempNode = null;
}
public static boolean isDateInvalid(String validUptoStr)
{
try
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yy");
LocalDate validDate = LocalDate.parse(validUptoStr, formatter);
LocalDate currentDate = LocalDate.now();
if(validDate.isBefore(currentDate))
{
return true;
}
}
catch(Exception e)
{
BaseLogger.log("3", null, null, "Exception in date validation [" + e + "]");
}
return false;
}
}
package ibase.webitm.ejb.dis;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.utility.BaseLogger;
import ibase.utility.CommonConstants;
import ibase.webitm.ejb.fin.*;
import ibase.webitm.ejb.mfg.MfgCommon;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.utility.ITMException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.InetAddress;
import java.rmi.RemoteException;
import java.sql.*;
import java.text.DateFormat;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import javax.naming.InitialContext;
import org.w3c.dom.*;
public class ReqForQuotationWiz extends ValidatorEJB{
static int domID = 1;
@Override
public String itemChanged() throws RemoteException, ITMException
{
BaseLogger.log("3", getUserInfo(), null,"In ReqForQuotationWiz itemChanged1");
return "";
}
public String wfValData(String xmlString, String xmlString1,String xmlString2, String objContext, String editFlag, String xtraParams, String formName) throws RemoteException,ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String errString = "";
try
{
System.out.println("wfValData DOM1:StrgBrandActWiz ["+xmlString+"]");
System.out.println("wfValData DOM2:StrgBrandActWiz ["+xmlString1+"]");
System.out.println("wfValData DOM3:StrgBrandActWiz ["+xmlString2+"]");
if(xmlString != null && xmlString.trim().length()!=0)
{
dom = parseString(xmlString);
}
else
{
System.out.println("xmlstring is null StrgBrandActWiz Validation");
}
if(xmlString1 != null && xmlString1.trim().length()!=0)
{
dom1 = parseString(xmlString1);
}
else
{
System.out.println("xmlstring1 is null StrgBrandActWiz Validation");
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
dom2 = parseString(xmlString2);
}
else
{
System.out.println("xmlstring2 is null StrgBrandActWiz Validation");
}
System.out.println("Before call valdata StrgBrandActWiz");
errString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams,formName);
}
catch(Exception e)
{
System.out.println("Exception : [StrgBrandActWiz Validation][wfValData(String xmlString)] : ==>\n"+e.getMessage());
}
return (errString);
}
public String wfValData(Document dom, Document dom1,Document dom2, String objContext, String editFlag, String xtraParams, String formName) throws RemoteException,ITMException
{
E12GenericUtility genericUtility = new ibase.utility.E12GenericUtility();
String userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
String logincode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
String errString = "";
int currentFormNo = 0;
NodeList parentList = null;
NodeList childList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = "";
String columnValue = "";
Connection connectionObject = null;
PreparedStatement pstmt = null;
ResultSet rSet = null ;
ResultSet rs = null ;
String propDateValue = "";
int firstMonth = 01;
int lastMonth = 12;
ITMDBAccessEJB itmDBAccessLocal = null;
int noOfChilds = 0;
ArrayList prdList = new ArrayList();
String paramValue="";
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
String errCode = "";
String errorType = "";
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try
{
connectionObject = getConnection();
AppConnectParm appConnect = new AppConnectParm();
Properties p = appConnect.getProperty();
itmDBAccessLocal = new ITMDBAccessEJB();
String sql="";
System.out.println("wfValData objContext StrgBrandActWiz:: ["+objContext+"]");
if(objContext != null && objContext.trim().length()>0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch ( currentFormNo )
{
case 1:
{
if( errString.indexOf( "<Errors>" ) == -1 )
{
parentList = dom.getElementsByTagName("Detail"+ currentFormNo);
int parentNodeListLength = parentList.getLength();
for (int prntCtr = 0; prntCtr < parentNodeListLength; prntCtr++ )
{
parentNode = parentList.item(prntCtr);
childList = parentNode.getChildNodes();
noOfChilds = childList.getLength();
for (int ctr = 0; ctr < noOfChilds; ctr++)
{
childNode = childList.item(ctr);
if( childNode.getNodeType() != Node.ELEMENT_NODE )
{
continue;
}
if ( childNode != null && childNode.getFirstChild() != null )
{
columnValue = childNode.getFirstChild().getNodeValue();
}
childNodeName = childNode.getNodeName();
BaseLogger.log("3", null, null, "ReqForQuotationWiz childNodeName [" + childNodeName + "]");
if( childNodeName.equalsIgnoreCase("cust_code") )
{
String custCode = checkNull(genericUtility.getColumnValue("cust_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationWiz custCode wfValData case 1 [" + custCode + "]");
String checkCustCodeSql = "select count(cust_code) as custCodeCount from customer where cust_code = ? and cust_type = 'R'";
PreparedStatement checkCustCodePs = connectionObject.prepareStatement(checkCustCodeSql);
checkCustCodePs.setString(1, custCode);
ResultSet checkCustCodeRs = checkCustCodePs.executeQuery();
while(checkCustCodeRs.next()) {
int custCodeCont = checkCustCodeRs.getInt("custCodeCount");
BaseLogger.log("3", null, null, "ReqForQuotationWiz custCode wfValData case 1 custCodeCont::[" + custCodeCont + "]");
if(custCodeCont<=0) {
//errString = getErrorString("cust_code", "VTCUST1", userId);
errCode="VTCUST1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if(checkCustCodeRs != null)
{
checkCustCodeRs.close();
checkCustCodeRs = null;
}
if(checkCustCodePs != null)
{
checkCustCodePs.close();
checkCustCodePs = null;
}
}
if( childNodeName.equalsIgnoreCase("quot_type") )
{
String customerCode = checkNull(genericUtility.getColumnValue("cust_code", dom));
String quotationtype = checkNull(genericUtility.getColumnValue("quot_type", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC quotationtype wfValData case 1 [" + quotationtype + "]");
if (quotationtype.equalsIgnoreCase("G"))
{
String quotationtypeSql = "select count(group_code) as customergroupcount from customer where group_code= ?";
PreparedStatement quotationtypePs = connectionObject.prepareStatement(quotationtypeSql);
quotationtypePs.setString(1, customerCode);
ResultSet quotationtypeRs = quotationtypePs.executeQuery();
while(quotationtypeRs.next())
{
int customergroupcount = quotationtypeRs.getInt("customergroupcount");
BaseLogger.log("3", null, null, "ReqForQuotationIC group_count wfValData case 1 quotationtypeRs::[" + customergroupcount + "]");
if(customergroupcount<=1)
{
errCode="INVCG";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if(quotationtypeRs != null)
{
quotationtypeRs.close();
quotationtypeRs = null;
}
if(quotationtypePs != null)
{
quotationtypePs.close();
quotationtypePs = null;
}
}
}
if( childNodeName.equalsIgnoreCase("site_code") )
{
String siteCode = checkNull(genericUtility.getColumnValue("site_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationWiz siteCode wfValData case 1 [" + siteCode + "]");
String checkSiteCodeSql = "select count(site_code) as siteCodeCount from site where site_code = ?";
PreparedStatement checkSiteCodePs = connectionObject.prepareStatement(checkSiteCodeSql);
checkSiteCodePs.setString(1, siteCode);
ResultSet checkSiteCodeRs = checkSiteCodePs.executeQuery();
while(checkSiteCodeRs.next()) {
int siteCodeCont = checkSiteCodeRs.getInt("siteCodeCount");
BaseLogger.log("3", null, null, "ReqForQuotationWiz siteCode wfValData case 1 siteCodeCont::[" + siteCodeCont + "]");
if(siteCodeCont<=0) {
//errString = getErrorString("site_code", "VTSITCD1", userId);
errCode="VTSITCD1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if(checkSiteCodeRs != null)
{
checkSiteCodeRs.close();
checkSiteCodeRs = null;
}
if(checkSiteCodePs != null)
{
checkSiteCodePs.close();
checkSiteCodePs = null;
}
}
if( childNodeName.equalsIgnoreCase("sales_pers") )
{
String salesPerson = checkNull(genericUtility.getColumnValue("sales_pers", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC salesPerson wfValData case 1 [" + salesPerson + "]");
String salesPersonSql = "select count(SALES_PERS) as salesPersonCount from SALES_PERS where SALES_PERS = ?";
PreparedStatement salesPersonPs = connectionObject.prepareStatement(salesPersonSql);
salesPersonPs.setString(1, salesPerson);
ResultSet salesPersonRs = salesPersonPs.executeQuery();
while(salesPersonRs.next()) {
int salesPersonCount = salesPersonRs.getInt("salesPersonCount");
BaseLogger.log("3", null, null, "ReqForQuotationIC sales_pers wfValData case 1 salesPersonRs::[" + salesPersonCount + "]");
if(salesPersonCount<=0) {
errCode="VTSALPER";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if(salesPersonRs != null)
{
salesPersonRs.close();
salesPersonRs = null;
}
if(salesPersonPs != null)
{
salesPersonPs.close();
salesPersonPs = null;
}
}
if( childNodeName.equalsIgnoreCase("item_ser") )
{
String itemSerStr = checkNull(genericUtility.getColumnValue("item_ser", dom));
BaseLogger.log("3", null, null, "ReqForQuotationWiz itemSerStr wfValData case 1 [" + itemSerStr + "]");
if (itemSerStr != null && itemSerStr.length() > 0) {
String[] itemSerArr = itemSerStr.split(",");
for (String itemSer : itemSerArr) {
BaseLogger.log("3", null, null, "ReqForQuotationWiz item_ser wfValData case 1 itemSer [" + itemSer + "]");
sql = "SELECT count(1) FROM itemser WHERE item_ser = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, itemSer.trim());
rs = pstmt.executeQuery();
long count = 0;
if (rs.next()) {
count = rs.getLong(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if (count == 0) {
//errString = getErrorString("item_ser", "VTITEMSER1", userId);
errCode="VTITEMSER1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
if( childNodeName.equalsIgnoreCase("valid_upto") )
{
String validUptoStr = checkNull(genericUtility.getColumnValue("valid_upto", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC validUptoStr wfValData case 1 [" + validUptoStr + "]");
if(isDateInvalid(validUptoStr))
{
//errString = getErrorString("valid_upto", "VTINUPTO", userId);
errCode="VTINUPTO";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}//end of inner for loop
}//end of first for loop
}
break;
}
case 2:
{
if( errString.indexOf( "<Errors>" ) == -1 )
{
parentList = dom.getElementsByTagName("Detail"+ currentFormNo);
int parentNodeListLength = parentList.getLength();
for (int prntCtr = 0; prntCtr < parentNodeListLength; prntCtr++ )
{
parentNode = parentList.item(prntCtr);
childList = parentNode.getChildNodes();
noOfChilds = childList.getLength();
for (int ctr = 0; ctr < noOfChilds; ctr++)
{
childNode = childList.item(ctr);
if( childNode.getNodeType() != Node.ELEMENT_NODE )
{
continue;
}
if ( childNode != null && childNode.getFirstChild() != null )
{
columnValue = childNode.getFirstChild().getNodeValue();
}
childNodeName = childNode.getNodeName();
BaseLogger.log("3", null, null, "ReqForQuotationWiz childNodeName [" + childNodeName + "]");
if(childNodeName.trim().length()<=0) {
BaseLogger.log("3", null, null, "ReqForQuotationWiz detail 2 is blank");
}
if( childNodeName.equalsIgnoreCase("item_code") )
{
String[] itemSerArr = null;
String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
String ptrFlag = checkNull(genericUtility.getColumnValue("ptr_flag", dom));
String itemSer = checkNull(genericUtility.getColumnValue("item_ser", dom1));
BaseLogger.log("3", null, null, "ReqForQuotationWiz itemCode wfValData case 2 itemSer:[" + itemSer + "]");
BaseLogger.log("3", null, null, "ReqForQuotationWiz itemCode wfValData case 2 ptrFlag:[" + ptrFlag + "]");
BaseLogger.log("3", null, null, "ReqForQuotationWiz itemCode wfValData case 2 [" + itemCode + "]");
if(itemSer != null && itemSer.trim().length() > 0)
{
itemSerArr = itemSer.split(",");
}
StringBuilder checkItemCodeSql = new StringBuilder(
"select count(item_code) as itemCodeCount from item where item_code = ?"
);
if(itemSerArr != null && itemSerArr.length > 0) {
checkItemCodeSql.append(" and item_ser IN (");
for(int i = 0; i < itemSerArr.length; i++) {
checkItemCodeSql.append("?");
if(i < itemSerArr.length - 1) {
checkItemCodeSql.append(",");
}
}
checkItemCodeSql.append(")");
}
String checkItemCodeSql1 = checkItemCodeSql.toString();
PreparedStatement checkItemCodePs = connectionObject.prepareStatement(checkItemCodeSql1);
// 9 Set first parameter (item_code)
int paramIndex = 1;
checkItemCodePs.setString(paramIndex++, itemCode);
// 9 Set IN clause parameters (item_ser)
if(itemSerArr != null && itemSerArr.length > 0) {
for(String ser : itemSerArr) {
checkItemCodePs.setString(paramIndex++, ser.trim());
}
}
ResultSet checkItemCodeRs = checkItemCodePs.executeQuery();
while(checkItemCodeRs.next()) {
int itemCodeCont = checkItemCodeRs.getInt("itemCodeCount");
BaseLogger.log("3", null, null, "ReqForQuotationWiz itemCode wfValData case 1 itemCodeCont::[" + itemCodeCont + "]");
if(itemCodeCont<=0 && !ptrFlag.equalsIgnoreCase("Y")) {
errCode="STKVALITNE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
//errString = getErrorString("item_code", "STKVALITNE", userId);
}
}
if(checkItemCodeRs != null)
{
checkItemCodeRs.close();
checkItemCodeRs = null;
}
if(checkItemCodePs != null)
{
checkItemCodePs.close();
checkItemCodePs = null;
}
}
/*
* if( childNodeName.equalsIgnoreCase("rate_quot") ) { String phyAttrVal = "";
* String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
* String quotedRate = checkNull(genericUtility.getColumnValue("rate_quot",
* dom)); BaseLogger.log("3", null, null,
* "ReqForQuotationIC in condition itemCode wfValData quotedRate::: [" +
* quotedRate + "]");
*
* BaseLogger.log("3", null, null,
* "ReqForQuotationIC in condition itemCode wfValData itemCode::: [" + itemCode
* + "]"); String phyAttrValSql =
* "select PHY_ATTRIB_19 from item where item_code = ?"; PreparedStatement
* phyAttrValPs = connectionObject.prepareStatement(phyAttrValSql);
* phyAttrValPs.setString(1, itemCode); ResultSet phyAttrValRs =
* phyAttrValPs.executeQuery(); while(phyAttrValRs.next()) { phyAttrVal =
* checkNull(phyAttrValRs.getString("PHY_ATTRIB_19")); } BaseLogger.log("3",
* null, null,
* "ReqForQuotationIC in condition itemCode wfValData phyAttrVal::: [" +
* phyAttrVal + "]"); if(phyAttrVal.equalsIgnoreCase("SRNA")) {
* errCode="INEFSR"; errList.add(errCode);
* errFields.add(childNodeName.toLowerCase()); //errString =
* getErrorString("rate_quot", "INEFSR", userId); BaseLogger.log("3", null,
* null, "ReqForQuotationIC in PHY_ATTRIB_19 details null errString:: [" +
* errString + "]");
*
*
* }
*
* if(phyAttrValPs != null) { phyAttrValPs.close(); phyAttrValPs = null; }
* if(phyAttrValRs != null) { phyAttrValRs.close(); phyAttrValRs = null; }
*
* }
*/
//Removed the validation from Quoted Quantity as it can be zero
/*
* if( childNodeName.equalsIgnoreCase("qty_quot") ) { int qty = 0; String
* quotQuantity = checkNull(genericUtility.getColumnValue("qty_quot", dom));
* BaseLogger.log("3", null, null,
* "ReqForQuotationWiz qty_quot wfValData case 2 [" + quotQuantity + "]");
* if(quotQuantity != null && quotQuantity.trim().length() > 0) { qty =
* Integer.parseInt(quotQuantity);
*
* }
*
* if(qty<=0) { errString = getErrorString("qty_quot", "NULNQUAN", userId);
* BaseLogger.log("3", null, null,
* "ReqForQuotationWiz in qty_quot < 0 errString:: [" + errString + "]"); break;
* } }
*/
//Comment out the rate_quot validation block as this case handled by JS[Start]
/*
if( childNodeName.equalsIgnoreCase("rate_quot") )
{
int quotedRate = 0;
String rateQuot = checkNull(genericUtility.getColumnValue("rate_quot", dom));
BaseLogger.log("3", null, null, "ReqForQuotationWiz rate_quot wfValData case 2 [" + rateQuot + "]");
if(rateQuot != null && rateQuot.trim().length() > 0)
{
double quotedRateDouble = Double.parseDouble(rateQuot);
quotedRate = (int) quotedRateDouble;
// quotedRate = Integer.parseInt(rateQuot);
}
BaseLogger.log("3", null, null, "ReqForQuotationWiz rate_quot wfValData case 2 quotedRate::[" + quotedRate + "]");
if(quotedRate <= 0) {
errCode="NULNQRATE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if(quotedRate > 0) {
String competitorRate = checkNull(genericUtility.getColumnValue("competitor_rate", dom));
String competitorItem = checkNull(genericUtility.getColumnValue("competitor_item", dom));
String competitorName = checkNull(genericUtility.getColumnValue("competitor_name", dom));
BaseLogger.log("3", null, null, "ReqForQuotationWiz competitorRate wfValData [" + competitorRate + "]");
BaseLogger.log("3", null, null, "ReqForQuotationWiz competitorItem wfValData [" + competitorItem + "]");
BaseLogger.log("3", null, null, "ReqForQuotationWiz competitorNane wfValData [" + competitorName + "]");
// Check if any of the competitor fields are null or blank
if ((competitorRate == null || competitorRate.trim().isEmpty())
|| (competitorItem == null || competitorItem.trim().isEmpty())
|| (competitorName == null || competitorName.trim().isEmpty())) {
BaseLogger.log("3", null, null, "ReqForQuotationWiz in competitor details null ]");
//errString = getErrorString("ptr_flag", "COMPDETM", userId);
errCode="COMPDETM";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
BaseLogger.log("3", null, null, "ReqForQuotationWiz in competitor details null errString:: [" + errString + "]");
}
}
String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
String phyAttrVal = "";
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition itemCode wfValData itemCode::: [" + itemCode + "]");
String phyAttrValSql = "select PHY_ATTRIB_19 from item where item_code = ?";
PreparedStatement phyAttrValPs = connectionObject.prepareStatement(phyAttrValSql);
phyAttrValPs.setString(1, itemCode);
ResultSet phyAttrValRs = phyAttrValPs.executeQuery();
while(phyAttrValRs.next()) {
phyAttrVal = checkNull(phyAttrValRs.getString("PHY_ATTRIB_19"));
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition itemCode wfValData phyAttrVal::: [" + phyAttrVal + "]");
if(phyAttrVal.equalsIgnoreCase("SRNA")) {
errString = getErrorString("rate_quot", "INVQR", userId);
BaseLogger.log("3", null, null, "ReqForQuotationIC in PHY_ATTRIB_19 details null errString:: [" + errString + "]");
break;
}
if(phyAttrValPs != null)
{
phyAttrValPs.close();
phyAttrValPs = null;
}
if(phyAttrValRs != null)
{
phyAttrValRs.close();
phyAttrValRs = null;
}
}
*/
//Comment out the rate_quot validation block as this case handled by JS[End]
//Added changes on 25-March-26 by Ajit [Start]
if( childNodeName.equalsIgnoreCase("unit") )
{
int unitCount = 0;
String unit = checkNull(genericUtility.getColumnValue("unit", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition unit wfValData unit::: [" + unit + "]");
String unitCountSql = "select count(unit) as unitCount from uom where unit = ?";
PreparedStatement unitCountPs = connectionObject.prepareStatement(unitCountSql);
unitCountPs.setString(1, unit);
ResultSet unitCountRs = unitCountPs.executeQuery();
while(unitCountRs.next()) {
unitCount = unitCountRs.getInt("unitCount");
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition unitCount::: [" + unitCount + "]");
if(unitCount <= 0) {
errCode="VTITEMUNIT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if(unitCountPs != null)
{
unitCountPs.close();
unitCountPs = null;
}
if(unitCountRs != null)
{
unitCountRs.close();
unitCountRs = null;
}
}
if( childNodeName.equalsIgnoreCase("pack_code") )
{
int packCodeCount = 0;
String packCode = checkNull(genericUtility.getColumnValue("pack_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition unit wfValData packCode::: [" + packCode + "]");
String packCodeCountSql = "select count(pack_code) as packCodeCount from packing where pack_code = ?";
PreparedStatement packCodeCountPs = connectionObject.prepareStatement(packCodeCountSql);
packCodeCountPs.setString(1, packCode);
ResultSet packCodeCountRs = packCodeCountPs.executeQuery();
while(packCodeCountRs.next()) {
packCodeCount = packCodeCountRs.getInt("packCodeCount");
}
BaseLogger.log("3", null, null, "ReqForQuotationIC in condition unitCount::: [" + packCodeCount + "]");
if(packCodeCount <= 0) {
errCode="VTPCKCDM";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if(packCodeCountPs != null)
{
packCodeCountPs.close();
packCodeCountPs = null;
}
if(packCodeCountRs != null)
{
packCodeCountRs.close();
packCodeCountRs = null;
}
}
//Added changes on 25-March-26 by Ajit [End]
//end of Sales_pers Validation
}//end of inner for loop
}//end of first for loop
}//end of errorstring
break;
}
}//end of validation of first form
int errListSize = errList.size();
BaseLogger.log("3", getUserInfo(), null, "errListSize::::::::::"+errListSize);
int count = 0;
String errFldName = null;
if (errList != null && errListSize > 0)
{
for (count = 0; count < errListSize; count++)
{
errCode = errList.get(count);
errFldName = errFields.get(count);
BaseLogger.log("3", getUserInfo(), null, " testing :errCode .:" + errCode+"errString>>>>>>>>>"+errString);
errString = getErrorString(errFldName, errCode, userId);
errorType = errorType(conn, errCode);
if (errString.length() > 0)
{
String bifurErrString = errString.substring(errString.indexOf("<Errors>") + 8, errString.indexOf("<trace>"));
bifurErrString = bifurErrString + errString.substring(errString.indexOf("</trace>") + 8, errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
errString = "";
}
if (errorType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors> </Root> \r\n");
}//end of if for errList
else
{
errStringXml = new StringBuffer("");
}
errString = errStringXml.toString();
}//end of Try block wfvalData
catch(Exception e)
{
e.printStackTrace();
errString = "";
errString = genericUtility.createErrorString( e ) ;
String messageValue="",message = "";
if( errString.indexOf("<Errors>")!=-1 )
{
if( errString.length() > 0 )
{
String msgDescr = errString.substring(errString.indexOf("<description>")+("<description>").length(),errString.indexOf("</description>"));
messageValue = msgDescr.substring(msgDescr.indexOf("<![CDATA[")+("<![CDATA[").length(),msgDescr.indexOf("]"));
String messageDescr = errString.substring(errString.indexOf("<message>")+("<message>").length(),errString.indexOf("</message>"));
message = messageDescr.substring(messageDescr.indexOf("<![CDATA[")+("<![CDATA[").length(),messageDescr.indexOf("]"));
System.out.println("errorMessage==>"+messageValue);
StringBuffer valueXmlErrorString = new StringBuffer( "<?xmlversion=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n<Errors>\r\n" );
valueXmlErrorString.append("<error id=\"INVDATA\" type=\"E\" column_name=\"\">");
valueXmlErrorString.append("<message><![CDATA[").append(message).append("]]></message>\r\n");
valueXmlErrorString.append("<description><![CDATA[").append(messageValue).append("]]></description>\r\n");
valueXmlErrorString.append("<type>E</type>\r\n");
valueXmlErrorString.append("<option></option>\r\n");
valueXmlErrorString.append("<time></time>\r\n");
valueXmlErrorString.append("<alarm></alarm>\r\n");
valueXmlErrorString.append("<source></source>\r\n");
valueXmlErrorString.append("<trace>Error : NO DATA</trace>\r\n");
valueXmlErrorString.append("<redirect>1</redirect>\r\n");
valueXmlErrorString.append("</error>\r\n");
valueXmlErrorString.append("</Errors>\r\n");
valueXmlErrorString.append("</Header>\r\n");
valueXmlErrorString.append( "</Root>\r\n" );
System.out.println( "\n****valueXmlErrorString :" + valueXmlErrorString.toString() + ":********" );
errString =valueXmlErrorString.toString();
}
}
}//end of catch after try in wfvaldata
finally
{
try
{
if(rSet !=null)
{
rSet.close();
rSet = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if( connectionObject != null && ! connectionObject.isClosed() )
{
connectionObject.close();
connectionObject = null;
}
}
catch(Exception e)
{
System.out.println( "Exception :StrgBrandActWiz wfvalData :==>\n"+e.getMessage());
errString = "";
errString = genericUtility.createErrorString( e ) ;
System.out.println( "errString ::" +errString + ":" );
String messageValue="",message = "";
if( errString.indexOf("<Errors>")!=-1 )
{
if( errString.length() > 0 )
{
String msgDescr = errString.substring(errString.indexOf("<description>")+("<description>").length(),errString.indexOf("</description>"));
messageValue = msgDescr.substring(msgDescr.indexOf("<![CDATA[")+("<![CDATA[").length(),msgDescr.indexOf("]"));
String messageDescr = errString.substring(errString.indexOf("<message>")+("<message>").length(),errString.indexOf("</message>"));
message = messageDescr.substring(messageDescr.indexOf("<![CDATA[")+("<![CDATA[").length(),messageDescr.indexOf("]"));
System.out.println("errorMessage==>"+messageValue);
StringBuffer valueXmlErrorString = new StringBuffer( "<?xmlversion=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n<Errors>\r\n" );
valueXmlErrorString.append("<error id=\"INVDATA\" type=\"E\" column_name=\"\">");
valueXmlErrorString.append("<message><![CDATA[").append(message).append("]]></message>\r\n");
valueXmlErrorString.append("<description><![CDATA[").append(messageValue).append("]]></description>\r\n");
valueXmlErrorString.append("<type>E</type>\r\n");
valueXmlErrorString.append("<option></option>\r\n");
valueXmlErrorString.append("<time></time>\r\n");
valueXmlErrorString.append("<alarm></alarm>\r\n");
valueXmlErrorString.append("<source></source>\r\n");
valueXmlErrorString.append("<trace>Error : NO DATA</trace>\r\n");
valueXmlErrorString.append("<redirect>1</redirect>\r\n");
valueXmlErrorString.append("</error>\r\n");
valueXmlErrorString.append("</Errors>\r\n");
valueXmlErrorString.append("</Header>\r\n");
valueXmlErrorString.append( "</Root>\r\n" );
System.out.println( "\n****valueXmlErrorString :" + valueXmlErrorString.toString() + ":********" );
errString =valueXmlErrorString.toString();
}
}
}
}//end of finally block of wfvalData
System.out.println("errString wfvalData ReqForQuotationWiz:: ["+errString+"]");
return errString;
}//End WfValData
@Override
public String itemChanged(String xmlCurrFrmString, String xmlHdrFrmString, String xmlAllFrmString, String objContext, String currentColumn, String editFlag, String xtraParams, String formName) throws RemoteException, ITMException
{
BaseLogger.log("3", getUserInfo(), null,"In ReqForQuotationWiz itemChanged2");
BaseLogger.log("3", getUserInfo(), null,"DEBUG currentColumn RAW = [" + currentColumn + "]");
BaseLogger.log("3", getUserInfo(), null,"DEBUG currentColumn trimmed = [" +
(currentColumn == null ? "null" : currentColumn.trim()) + "]");
BaseLogger.log("3", getUserInfo(), null,"DEBUG currentColumn length = " +
(currentColumn == null ? 0 : currentColumn.length()));
Document currDom = null;
Document hdrDom = null;
Document allDom = null;
String errString = null;
E12GenericUtility genericUtility = new E12GenericUtility();
try
{
if (xmlCurrFrmString != null && xmlCurrFrmString.trim().length()!=0)
{
currDom = genericUtility.parseString(xmlCurrFrmString);
}
if (xmlHdrFrmString != null && xmlHdrFrmString.trim().length()!=0)
{
hdrDom = genericUtility.parseString(xmlHdrFrmString);
}
if (xmlAllFrmString != null && xmlAllFrmString.trim().length()!=0)
{
allDom = genericUtility.parseString(xmlAllFrmString);
}
System.out.println("xmlCurrFrmString--------"+xmlCurrFrmString);
System.out.println("xmlHdrFrmString--------"+xmlHdrFrmString);
System.out.println("xmlAllFrmString--------"+xmlAllFrmString);
errString = itemChanged( currDom, hdrDom, allDom, objContext, currentColumn, editFlag, xtraParams, formName );
System.out.println ( "ErrString :" + errString);
}
catch (Exception e)
{
System.out.println ( "Exception : QCResultEntryWizIC:default_ItemChanged(String,String):" + e.getMessage() + ":" );
errString = genericUtility.createErrorString(e);
throw new ITMException(e);
}
System.out.println ( "returning from QCResultEntryWizIC default_Itemchanged" );
return errString;
}
// public String itemChanged( Document currDom, Document hdrDom, Document allDom, String objContext, String currentColumn, String editFlag, String xtraParams ) throws RemoteException,ITMException
// {
// BaseLogger.log("3", getUserInfo(), null,"In ReqForQuotationWiz itemChanged3");
// BaseLogger.log("3", getUserInfo(), null,"DEBUG currentColumn RAW = [" + currentColumn + "]");
// BaseLogger.log("3", getUserInfo(), null,"DEBUG currentColumn trimmed = [" +
// (currentColumn == null ? "null" : currentColumn.trim()) + "]");
// BaseLogger.log("3", getUserInfo(), null,"DEBUG currentColumn length = " +
// (currentColumn == null ? 0 : currentColumn.length()));
// String retValue = "";
// try
// {
// retValue = default_ItemChanged( currDom, hdrDom, allDom, objContext, currentColumn, editFlag, xtraParams );
// }
// catch (Exception e)
// {
// e.printStackTrace();
// throw new ITMException(e);
// }
// return retValue;
//
// }
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams, String formName) throws RemoteException,ITMException
{
String returnStr="";
try
{
returnStr = defaultDataWiz(dom, dom1, dom2, objContext, currentColumn, editFlag, xtraParams, formName);
}
catch(Exception e){
e.printStackTrace();
}
return returnStr;
}
private String defaultDataWiz( Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams, String formName ) throws RemoteException,ITMException
{
ResultSet rs = null;
Connection conn = null;
PreparedStatement pstmt = null;
PreparedStatement psSiteCustomer = null;
PreparedStatement psCustomer = null;
PreparedStatement psPriceList = null;
PreparedStatement psFinEntity = null;
String sql = "";
String userId = "";
String currDate = "";
String chgTerm ="";
String priceList = "";
int rate= 0;
String finEntity = "";
String propDateValue = "";
String [] temp = new String [10];
StringBuffer valueXmlString = new StringBuffer();
int currentFormNo = 0;
List<String> itemCodeList = new ArrayList<>();
E12GenericUtility genericUtility = new ibase.utility.E12GenericUtility();
String phy13 = "";
String phy14 = "";
String phy15 = "";
try
{
InetAddress ownIP=InetAddress.getLocalHost();
chgTerm = ownIP.getHostAddress();
conn = getConnection();
UserInfoBean userInfo = getUserInfo();
String siteCode = checkNull(userInfo.getSiteCode());
String userName = checkNull(userInfo.getUserName());
String siteDescr = checkNull(userInfo.getSiteDescr());
userId = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" );
BaseLogger.log("0", null,userId,"case 1---------itemDefault------gsb start");
BaseLogger.log("0", null,userId,"defaultDataWiz siteCode: "+siteCode);
DateFormat dtFormat = new SimpleDateFormat(getApplDateFormat());
java.util.Date date = Calendar.getInstance().getTime();
currDate = dtFormat.format( date );
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
Date result = cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String prevPrd = String.valueOf(sdf.format(result));
String curPrd = String.valueOf(sdf.format(date));
String curDate = curPrd.substring(curPrd.length()-2,curPrd.length());
prevPrd = prevPrd.substring(0,prevPrd.length()-2);
curPrd = curPrd.substring(0,curPrd.length()-2);
System.out.println("previous Period....::"+prevPrd+"....current Prd code....::"+curPrd+"...current Date...::"+curDate);
if( objContext != null && objContext.trim().length() > 0 )
{
currentFormNo = Integer.parseInt( objContext );
}
valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n<editFlag>" );
valueXmlString.append( editFlag ).append( "</editFlag>\r\n</Header>\r\n<Errors>\r\n</Errors>\r\n" );
switch(currentFormNo){
case 1:
if( currentColumn.equalsIgnoreCase( "itm_default" ))
{
BaseLogger.log("0", null,userId,"case 1---------itemDefault------gsb-----16--19-April");
valueXmlString.append( "<Detail"+ objContext+" domID='"+ 1 +"' objContext = '"+currentFormNo+"' objName=\"rfq_wiz\" selected=\"N\">\r\n" );
valueXmlString.append( "<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id\"/>\r\n" );
valueXmlString.append( "<tran_id/>" );
valueXmlString.append("<tran_date protect = '1'>").append("<![CDATA[" + currDate + "]]>").append("</tran_date>");
// Set req_date to current date
valueXmlString.append("<req_date>").append("<![CDATA[" + currDate + "]]>").append("</req_date>");
// Set site_code to logged in user's site code
valueXmlString.append("<site_code>").append("<![CDATA[" + siteCode + "]]>").append("</site_code>");
// Set sales_pers to logged in user's code
valueXmlString.append("<sales_pers>").append("<![CDATA[" + userId + "]]>").append("</sales_pers>");
// Set spname to logged in user's name
valueXmlString.append("<spname>").append("<![CDATA[" + userName + "]]>").append("</spname>");
// Set site_code to logged in user's site description
valueXmlString.append("<site_descr>") .append("<![CDATA[" + siteDescr + "]]>").append("</site_descr>\r\n");
valueXmlString.append("<quot_type>").append("<![CDATA[C]]>").append("</quot_type>");
valueXmlString.append("</Detail"+objContext+">");
}//end of itmdefault case1
if (currentColumn.equalsIgnoreCase( "item_ser" ))
{
BaseLogger.log("0", null, userId, "case 1::: item_ser");
String itemSerDescr = "";
String itemSerForIC = checkNull(genericUtility.getColumnValue("item_ser", dom, "1"));
BaseLogger.log("0", null, userId, "case 1::: item_ser");
System.out.println("case 1---------itemSerForIC05M------[" + itemSerForIC + "]");
if(itemSerForIC != null && itemSerForIC.trim().length() > 0)
{
String[] itemSerArr = itemSerForIC.split(",");
String itemSerSql = "select descr from itemser where item_ser = ?";
try (PreparedStatement itemSerPs = conn.prepareStatement(itemSerSql))
{
for(String itemSer : itemSerArr)
{
itemSerPs.setString(1, itemSer.trim());
try (ResultSet itemSerRs = itemSerPs.executeQuery())
{
if(itemSerRs.next())
{
if(itemSerDescr.length() > 0)
{
itemSerDescr += ", ";
}
itemSerDescr += checkNull(itemSerRs.getString("descr"));
}
}
}
}
}
BaseLogger.log("0", null, userId, "case 1::: item_ser");
valueXmlString.append( "<Detail"+ objContext+" domID='"+ 1 +"' objContext = '"+currentFormNo+"' objName=\"rfq_wiz\" selected=\"N\">\r\n" );
valueXmlString.append( "<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id\"/>\r\n" );
valueXmlString.append("<descr><![CDATA[" + itemSerDescr + "]]></descr>\n");
valueXmlString.append("</Detail"+objContext+">");
}
if (currentColumn.equalsIgnoreCase( "cust_code" )) {
BaseLogger.log("0", null,userId,"case 1---------custCodeForIC::------]");
String custCodeForIC = checkNull(genericUtility.getColumnValue("cust_code",dom,"1"));
String custName = "",addr1="", addr2="", addr3="";
BaseLogger.log("0", null,userId,"case 1---------custCodeForIC------[" +custCodeForIC + "]");
String custNameSql = "select cust_name, addr1 , addr2 , addr3 from customer where cust_code = ?";
PreparedStatement custNamePs = conn.prepareStatement(custNameSql);
custNamePs.setString(1, custCodeForIC);
ResultSet custNameRs = custNamePs.executeQuery();
while(custNameRs.next()) {
custName = custNameRs.getString("cust_name");
addr1 = custNameRs.getString("addr1");
addr2 = custNameRs.getString("addr2");
addr3 = custNameRs.getString("addr3");
}
valueXmlString.append( "<Detail"+ objContext+" domID='"+ 1 +"' objContext = '"+currentFormNo+"' objName=\"rfq_wiz\" selected=\"N\">\r\n" );
valueXmlString.append( "<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id\"/>\r\n" );
valueXmlString.append("<cust_name>").append("<![CDATA[" + custName + "]]>").append("</cust_name>");
valueXmlString.append("<addr1>").append("<![CDATA[" + addr1 + "]]>").append("</addr1>");
valueXmlString.append("<addr2>").append("<![CDATA[" + addr2 + "]]>").append("</addr2>");
valueXmlString.append("<addr3>").append("<![CDATA[" + addr3 + "]]>").append("</addr3>");
valueXmlString.append("</Detail"+objContext+">");
if (custNameRs != null)
{
custNameRs.close();
custNameRs = null;
}
if (custNamePs != null)
{
custNamePs.close();
custNamePs = null;
}
}
if (currentColumn.equalsIgnoreCase("sales_pers")) {
String salesPersCode = checkNull(genericUtility.getColumnValue("sales_pers", dom, "1"));
BaseLogger.log("0", null, userId, "case 1---------sales_pers itemchange------[" + salesPersCode + "]");
String spName = "";
if (salesPersCode != null && salesPersCode.trim().length() > 0) {
String spNameSql = "select SP_NAME from SALES_PERS where SALES_PERS = ?";
PreparedStatement spNamePs = conn.prepareStatement(spNameSql);
spNamePs.setString(1, salesPersCode);
ResultSet spNameRs = spNamePs.executeQuery();
if (spNameRs.next()) {
spName = checkNull(spNameRs.getString("SP_NAME"));
}
if (spNameRs != null) {
spNameRs.close();
spNameRs = null;
}
if (spNamePs != null) {
spNamePs.close();
spNamePs = null;
}
}
BaseLogger.log("0", null, userId, "case 1---------spName------[" + spName + "]");
valueXmlString.append("<Detail" + objContext + " domID='" + 1 + "' objContext = '" + currentFormNo + "' objName=\"rfq_wiz\" selected=\"N\">\r\n");
valueXmlString.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id\"/>\r\n");
valueXmlString.append("<spname>").append("<![CDATA[" + spName + "]]>").append("</spname>");
valueXmlString.append("</Detail" + objContext + ">");
}
if (currentColumn.equalsIgnoreCase("site_code"))
{
String sitecode = checkNull(genericUtility.getColumnValue("site_code", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in itemchange case 1 site_code:: " + sitecode);
String site_descr = "";
if (sitecode != null && sitecode.trim().length() > 0)
{
String siteSql = "select descr from site where site_code = ?";
PreparedStatement site_descrPs = conn.prepareStatement(siteSql);
site_descrPs.setString(1, sitecode);
ResultSet site_descrRs = site_descrPs.executeQuery();
if (site_descrRs.next())
{
site_descr = checkNull(site_descrRs.getString("DESCR"));
}
if (site_descrRs != null) {
site_descrRs.close();
site_descrRs = null;
}
if (site_descrPs != null) {
site_descrPs.close();
site_descrPs = null;
}
}
BaseLogger.log("3", null, null, "ReqForQuotationIC site_descr:: " + site_descr);
valueXmlString.append("<Detail" + objContext + " domID='" + 1 + "' objContext = '" + currentFormNo + "' objName=\"rfq_wiz\" selected=\"N\">\r\n");
valueXmlString.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id\"/>\r\n");
valueXmlString.append("<site_descr>") .append("<![CDATA[" + site_descr + "]]>").append("</site_descr>\r\n");
valueXmlString.append("</Detail" + objContext + ">");
}
break;
case 2:
if ("itm_default".equalsIgnoreCase(currentColumn.trim()))
{
int domId = 0;
int lineNo = 0;
String setSrPtrAll = checkNull(genericUtility.getColumnValue("set_sr_ptr_all", dom1, "1"));
BaseLogger.log("3", null, null, "ReqForQuotationWiz in itm default setSrPtrAll:: " + setSrPtrAll);
String custCode = checkNull(genericUtility.getColumnValue("cust_code", dom1));
String itemSer = checkNull(genericUtility.getColumnValue("item_ser",dom1,"1"));
BaseLogger.log("3", null, null, "ReqForQuotationWiz in itm default ");
//Management rate block[Start]
String finEntityQuery = "select fin_entity from site where site_code = ?";
psFinEntity = conn.prepareStatement(finEntityQuery);
psFinEntity.setString(1, siteCode);
rs = psFinEntity.executeQuery();
if(rs.next()) {
finEntity = checkNull(rs.getString("fin_entity"));
}
BaseLogger.log("3", null, null, "ReqForQuotationWiz in itm default finEntity:: "+finEntity);
rs.close();
psFinEntity.close();
// Now, use finEntity to fetch VAR_VALUE from finparm
String varValueQuery = "select VAR_VALUE from finparm where ADDL_VALUE = ?";
PreparedStatement psVarValue = conn.prepareStatement(varValueQuery);
psVarValue.setString(1, finEntity);
ResultSet rsVarValue = psVarValue.executeQuery();
String varValue = null;
if (rsVarValue.next()) {
varValue = checkNull(rsVarValue.getString("VAR_VALUE"));
}
BaseLogger.log("3", null, null, "ReqForQuotationWiz in itm default varValue:: " + varValue);
// Clean up the result set and prepared statement for the varValue query
rsVarValue.close();
psVarValue.close();
// Finally, use varValue to fetch the rate from pricelist
String rateQuery = "select rate from pricelist where price_list = ?";
PreparedStatement psRate = conn.prepareStatement(rateQuery);
psRate.setString(1, varValue);
ResultSet rsRate = psRate.executeQuery();
int MngmntAprvRate = 0;
if (rsRate.next()) {
MngmntAprvRate = rsRate.getInt("rate");
}
BaseLogger.log("3", null, null, "ReqForQuotationWiz in itm default MngmntAprvRate:: " + MngmntAprvRate);
// Clean up the result set and prepared statement for the rate query
rsRate.close();
psRate.close();
int pts = 0;
int ptd = 0;
/* Fetch PTS */
String ptsSql =
"SELECT pl.rate " +
"FROM pricelist pl " +
"WHERE TRIM(pl.price_list) = ( " +
" SELECT TRIM(fp.var_value) " +
" FROM finparm fp " +
" WHERE TRIM(fp.var_name) = 'RFQ_PTS' " +
" AND TRIM(fp.addl_value) = ( " +
" SELECT TRIM(fin_entity) FROM site WHERE TRIM(site_code) = ? " +
" ) " +
")";
PreparedStatement psPts = conn.prepareStatement(ptsSql);
psPts.setString(1, siteCode);
ResultSet rsPts = psPts.executeQuery();
if (rsPts.next()) {
BigDecimal ptsRate = rsPts.getBigDecimal("rate");
pts = (ptsRate != null) ? ptsRate.intValue() : 0;
}
/* Fetch PTD */
String ptdSql =
"SELECT pl.rate " +
"FROM pricelist pl " +
"WHERE TRIM(pl.price_list) = ( " +
" SELECT TRIM(fp.var_value) " +
" FROM finparm fp " +
" WHERE TRIM(fp.var_name) = 'RFQ_PTD' " +
" AND TRIM(fp.addl_value) = (SELECT TRIM(fin_entity) FROM site WHERE TRIM(site_code) = ?) " +
")";
PreparedStatement psPtd = conn.prepareStatement(ptdSql);
psPtd.setString(1, siteCode);
ResultSet rsPtd = psPtd.executeQuery();
if (rsPtd.next()) {
BigDecimal ptdRate = rsPtd.getBigDecimal("rate");
ptd = (ptdRate != null) ? ptdRate.intValue() : 0;
}
BaseLogger.log("3", null, null,
"ReqForQuotationWiz in itm default pts:: " + pts + " ptd:: " + ptd);
//PTR calculation start
String siteCustomerQuery =
"SELECT PRICE_LIST FROM SITE_CUSTOMER " +
"WHERE SITE_CODE = ? AND CUST_CODE = ?";
psSiteCustomer = conn.prepareStatement(siteCustomerQuery);
psSiteCustomer.setString(1, siteCode);
psSiteCustomer.setString(2, custCode);
rs = psSiteCustomer.executeQuery();
if (rs.next()) {
priceList = rs.getString("PRICE_LIST");
}
rs.close();
psSiteCustomer.close();
// Step 2: If not found in SITE_CUSTOMER, fetch from CUSTOMER
if (priceList == null || priceList.trim().isEmpty()) {
String customerQuery =
"SELECT PRICE_LIST FROM CUSTOMER WHERE CUST_CODE = ?";
psCustomer = conn.prepareStatement(customerQuery);
psCustomer.setString(1, custCode);
rs = psCustomer.executeQuery();
if (rs.next()) {
priceList = rs.getString("PRICE_LIST");
}
rs.close();
psCustomer.close();
}
// Step 3: Fetch RATE from PRICELIST table
if (priceList != null && !priceList.trim().isEmpty()) {
String priceListQuery =
"SELECT RATE FROM PRICELIST WHERE PRICE_LIST = ?";
psPriceList = conn.prepareStatement(priceListQuery);
psPriceList.setString(1, priceList);
rs = psPriceList.executeQuery();
if (rs.next()) {
rate = rs.getInt("RATE");
}
rs.close();
psPriceList.close();
}
BaseLogger.log("3", null, null, "ReqForQuotationWiz in itm default ptr:: " + rate);
if(itemSer != null && itemSer.trim().length() > 0)
{
String[] itemSerArr = itemSer.split(",");
// Build dynamic IN clause
StringBuilder sqlForItemCode = new StringBuilder();
sqlForItemCode.append("SELECT item_code FROM item WHERE item_ser IN (");
for(int i = 0; i < itemSerArr.length; i++)
{
sqlForItemCode.append("?");
if(i < itemSerArr.length - 1)
{
sqlForItemCode.append(",");
}
}
sqlForItemCode.append(")");
PreparedStatement ItemCodesPs = conn.prepareStatement(sqlForItemCode.toString());
// Bind values
for(int i = 0; i < itemSerArr.length; i++)
{
ItemCodesPs.setString(i + 1, itemSerArr[i].trim());
}
rs = ItemCodesPs.executeQuery();
while(rs.next())
{
itemCodeList.add(rs.getString("item_code"));
}
rs.close();
ItemCodesPs.close();
}
Collections.sort(itemCodeList);
//Remove the item from itemCodeList if the value is "SRNA"[Start]
String phyAttrValSql = "select PHY_ATTRIB_19 from item where item_code = ?";
PreparedStatement phyAttrValPs = conn.prepareStatement(phyAttrValSql);
Iterator<String> iterator = itemCodeList.iterator();
while (iterator.hasNext()) {
String itemCode = iterator.next();
phyAttrValPs.setString(1, itemCode);
ResultSet phyAttrValRs = phyAttrValPs.executeQuery();
String phyAttrVal = "";
if (phyAttrValRs.next()) {
phyAttrVal = checkNull(phyAttrValRs.getString("PHY_ATTRIB_19"));
}
// ✅ Remove if PHY_ATTRIB_19 = 'SRNA'
if ("SRNA".equalsIgnoreCase(phyAttrVal)) {
iterator.remove();
}
phyAttrValRs.close();
}
phyAttrValPs.close();
//Remove the item from itemCodeList if the value is "SRNA"[End]
for (String itemCode : itemCodeList)
{
domId++;
lineNo++;
String itemDescr = "";
String unit = "";
String packCode = "";
System.out.println("Item Code::::: " + itemCode);
String itemDescrSql = "select descr,unit,pack_code from item where item_code = ?";
PreparedStatement itemDescrPs = conn.prepareStatement(itemDescrSql);
itemDescrPs.setString(1, itemCode);
ResultSet itemDescrRs = itemDescrPs.executeQuery();
while (itemDescrRs.next())
{
itemDescr = checkNull(itemDescrRs.getString("descr"));
unit = checkNull(itemDescrRs.getString("unit"));
packCode = checkNull(itemDescrRs.getString("pack_code"));
}
//Added By Saburi
String phySql = "SELECT PHY_ATTRIB_13, PHY_ATTRIB_14, PHY_ATTRIB_15 FROM ITEM WHERE ITEM_CODE = ?";
PreparedStatement phyPs = conn.prepareStatement(phySql);
phyPs.setString(1, itemCode);
ResultSet phyRs = phyPs.executeQuery();
if (phyRs.next())
{
phy13 = checkNull(phyRs.getString("PHY_ATTRIB_13"));
phy14 = checkNull(phyRs.getString("PHY_ATTRIB_14"));
phy15 = checkNull(phyRs.getString("PHY_ATTRIB_15"));
}
phyRs.close();
phyPs.close();
valueXmlString.append("<phy_attrib_13><![CDATA[" + phy13 + "]]></phy_attrib_13>\r\n");
valueXmlString.append("<phy_attrib_14><![CDATA[" + phy14 + "]]></phy_attrib_14>\r\n");
valueXmlString.append("<phy_attrib_15><![CDATA[" + phy15 + "]]></phy_attrib_15>\r\n");
BaseLogger.log("3", null, null, "phy_attrib_13 Value "+ phy13 );
BaseLogger.log("3", null, null, "phy_attrib_14 Value "+ phy14 );
BaseLogger.log("3", null, null, "phy_attrib_15 Value "+ phy15 );
BaseLogger.log("3", null, null, "removed the line no from the itmdefault case 08-April " );
valueXmlString.append( "<Detail"+ objContext+" domID='"+domId +"' objContext = '"+currentFormNo+"' objName=\"rfq_wiz\" selected=\"N\">\r\n" );
valueXmlString.append( "<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id:line_no\"/>\r\n" );
valueXmlString.append( "<tran_id/>" );
valueXmlString.append("<line_no><![CDATA[").append(lineNo).append("]]></line_no>");
valueXmlString.append("<item_code><![CDATA[").append(itemCode).append("]]></item_code>");
valueXmlString.append("<rate_apprv>").append("<![CDATA["+MngmntAprvRate+"]]>").append("</rate_apprv>\r\n");
valueXmlString.append("<ptd>").append("<![CDATA["+ptd+"]]>").append("</ptd>\r\n");
valueXmlString.append("<pts>").append("<![CDATA["+pts+"]]>").append("</pts>\r\n");
valueXmlString.append("<ptr>").append("<![CDATA["+rate+"]]>").append("</ptr>\r\n");
if (setSrPtrAll.trim().equalsIgnoreCase("Y"))
{
valueXmlString.append("<rate_quot protect='1'>").append("<![CDATA[" + rate + "]]>").append("</rate_quot>");
valueXmlString.append("<ptr_flag>").append("<![CDATA[Y]]>").append("</ptr_flag>");
}
else
{
valueXmlString.append("<rate_quot>").append("<![CDATA[]]>").append("</rate_quot>");
}
valueXmlString.append("<qty_quot>").append("<![CDATA[0]]>").append("</qty_quot>");
valueXmlString.append("<competitor_rate>").append("<![CDATA[]]>").append("</competitor_rate>");
valueXmlString.append("<competitor_name>").append("<![CDATA[]]>").append("</competitor_name>");
valueXmlString.append("<competitor_item>").append("<![CDATA[]]>").append("</competitor_item>");
valueXmlString.append("<remarks>").append("<![CDATA[]]>").append("</remarks>");
valueXmlString.append("<value>").append("<![CDATA[]]>").append("</value>");
valueXmlString.append("<spec_instr>").append("<![CDATA[]]>").append("</spec_instr>");
valueXmlString.append("<descr>").append("<![CDATA["+itemDescr+"]]>").append("</descr>");
valueXmlString.append("<pack_code protect='1'>").append("<![CDATA[" + packCode + "]]>").append("</pack_code>");
valueXmlString.append("<unit protect='1'>").append("<![CDATA[" + unit + "]]>").append("</unit>");
valueXmlString.append("</Detail"+objContext+">");
}
//PTR calculation end
//Management rate block[End]
}
// Added by Saburi - 06/04/26 : Fetch PHY_ATTRIB_13,14,15 on item selection
if ("item_code".equalsIgnoreCase(currentColumn.trim())) {
String itemDescr = "";
BaseLogger.log("3", null, null, "ReqForQuotationIC in item_code 1072");
String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
String itemDescrSql = "SELECT DESCR FROM ITEM WHERE ITEM_CODE = ?";
PreparedStatement itemDescrPs = conn.prepareStatement(itemDescrSql);
itemDescrPs.setString(1, itemCode);
ResultSet itemDescrRs = itemDescrPs.executeQuery();
while(itemDescrRs.next())
{
itemDescr = itemDescrRs.getString("descr");
}
valueXmlString.append("<descr>").append("<![CDATA["+itemDescr+"]]>").append("</descr>\r\n");
String phySql = "SELECT PHY_ATTRIB_13, PHY_ATTRIB_14, PHY_ATTRIB_15 FROM ITEM WHERE ITEM_CODE = ?";
PreparedStatement phyPs = conn.prepareStatement(phySql);
phyPs.setString(1, itemCode);
ResultSet phyRs = phyPs.executeQuery();
if (phyRs.next())
{
phy13 = checkNull(phyRs.getString("PHY_ATTRIB_13"));
phy14 = checkNull(phyRs.getString("PHY_ATTRIB_14"));
phy15 = checkNull(phyRs.getString("PHY_ATTRIB_15"));
}
phyRs.close();
phyPs.close();
valueXmlString.append("<phy_attrib_13><![CDATA[" + phy13 + "]]></phy_attrib_13>\r\n");
valueXmlString.append("<phy_attrib_14><![CDATA[" + phy14 + "]]></phy_attrib_14>\r\n");
valueXmlString.append("<phy_attrib_15><![CDATA[" + phy15 + "]]></phy_attrib_15>\r\n");
}
if ("ptr_flag".equalsIgnoreCase(currentColumn.trim())) {
String ptrFlag = checkNull(genericUtility.getColumnValue("ptr_flag", dom));
BaseLogger.log("3", null, null, "ReqForQuotationIC in ptr_flag ");
String custCode = checkNull(genericUtility.getColumnValue("cust_code", dom1));
BaseLogger.log("3", null, null, "ReqForQuotationWiz in ptr_flat condition:: "+ptrFlag);
BaseLogger.log("3", null, null, "ReqForQuotationWiz in ptr_flat condition siteCode:: "+siteCode);
BaseLogger.log("3", null, null, "ReqForQuotationWiz in ptr_flat condition custCode:: "+custCode);
if(ptrFlag.equalsIgnoreCase("Y")) {
String rateStr = checkNull(genericUtility.getColumnValue("ptr", dom));
BaseLogger.log("3", getUserInfo(), null, "Final RATE : " + rate);
valueXmlString.append( "<Detail"+ objContext+" domID='"+ 1 +"' objContext = '"+currentFormNo+"' objName=\"rfq_wiz\" selected=\"N\">\r\n" );
valueXmlString.append( "<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id:line_no\"/>\r\n" );
valueXmlString.append("<rate_quot protect='1'>").append("<![CDATA["+rateStr+"]]>").append("</rate_quot>\r\n");
valueXmlString.append("</Detail"+objContext+">");
}else if(ptrFlag.equalsIgnoreCase("N")) {
valueXmlString.append( "<Detail"+ objContext+" domID='"+ 1 +"' objContext = '"+currentFormNo+"' objName=\"rfq_wiz\" selected=\"N\">\r\n" );
valueXmlString.append( "<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id:line_no\"/>\r\n" );
valueXmlString.append("<rate_quot protect='0'>").append("<![CDATA[]]>").append("</rate_quot>\r\n");
valueXmlString.append("</Detail"+objContext+">");
}
}
if ("qty_quot".equalsIgnoreCase(currentColumn.trim())) {
BaseLogger.log("3", getUserInfo(), null, "In qty_quot condition for case 2 item change");
String rateQuotStr = checkNull(genericUtility.getColumnValue("rate_quot", dom));
String qtyStr = checkNull(genericUtility.getColumnValue("qty_quot", dom));
int qty = 0;
BigDecimal rateQuotDecimal = BigDecimal.ZERO;
BigDecimal value = BigDecimal.ZERO;
try {
qty = (qtyStr != null && qtyStr.trim().length() > 0) ? Integer.parseInt(qtyStr.trim()) : 0;
rateQuotDecimal = (rateQuotStr != null && rateQuotStr.trim().length() > 0)
? new BigDecimal(rateQuotStr.trim())
: BigDecimal.ZERO;
value = rateQuotDecimal.multiply(new BigDecimal(qty));
BaseLogger.log("3", null, null,
"qty:: " + qty + " rateQuot:: " + rateQuotDecimal + " value:: " + value);
} catch (Exception e) {
BaseLogger.log("3", null, null, "Error parsing values: " + e.getMessage());
}
String domId = checkNull(genericUtility.getColumnValue("domid", dom));
BaseLogger.log("3", null, null, "domId::>>" + domId);
String domIDStr = checkNull(getDomID(dom, "" + currentFormNo));
System.out.println("domID in actual itemchanged>>>>" + domIDStr);
valueXmlString.append("<Detail" + objContext + " domID='" + domIDStr + "' objContext = '"
+ currentFormNo + "' objName=\"rfq_wiz\">\r\n");
valueXmlString.append(
"<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id:line_no\"/>\r\n");
// Comment out the rate_quot validation block as this case handled by JS
valueXmlString.append("<value protect='1'><![CDATA[" + value + "]]></value>\r\n");
setNodeValue(dom, "value", value.toString()); // Added In 1389
valueXmlString.append("</Detail" + objContext + ">");
}
if ("rate_quot".equalsIgnoreCase(currentColumn.trim())) {
BaseLogger.log("3", null, null, "ReqForQuotationWiz in rate_quot ::");
String rateQuot = genericUtility.getColumnValue("rate_quot", dom);
String itemCode = checkNull(genericUtility.getColumnValue("item_code", dom));
String rateApprv = checkNull(genericUtility.getColumnValue("rate_apprv", dom));
String ratePtr = checkNull(genericUtility.getColumnValue("ptr", dom));
//Comment out the rate_quot validation block as this case handled by JS[Start]
String rateQuotStr = checkNull(genericUtility.getColumnValue("rate_quot",
dom)); String qtyStr = checkNull(genericUtility.getColumnValue("qty_quot",
dom));
int qty = 0;
BigDecimal rateQuotDecimal = BigDecimal.ZERO;
BigDecimal value = BigDecimal.ZERO;
BaseLogger.log("3", null, null, "ReqForQuotationWiz qtyStr:: " + qtyStr);
BaseLogger.log("3", null, null, "ReqForQuotationWiz rateQuotStr:: " + rateQuotStr);
try {
qty = (qtyStr != null && qtyStr.trim().length() > 0)
? Integer.parseInt(qtyStr.trim())
: 0;
rateQuotDecimal = (rateQuotStr != null && rateQuotStr.trim().length() > 0)
? new BigDecimal(rateQuotStr.trim())
: BigDecimal.ZERO;
value = rateQuotDecimal.multiply(new BigDecimal(qty));
BaseLogger.log("3", null, null,
"qty:: " + qty + " rateQuot:: " + rateQuotDecimal + " value:: " + value);
} catch (Exception e) {
BaseLogger.log("3", null, null, "Error parsing values: " + e.getMessage());
}
//Comment out the rate_quot validation block as this case handled by JS[End]
BaseLogger.log("3", null, null, "ReqForQuotationIC in rate_quot:: "+rateQuot+" rateApprv::"+rateApprv+ " ratePtr::"+ratePtr+" itemCode::"+itemCode);
BaseLogger.log("3", null, null, "ReqForQuotationWiz in rate_quot:: "+rateQuot+" rateApprv::"+rateApprv+ " ratePtr::"+ratePtr);
if (!rateQuot.isEmpty() && !rateApprv.isEmpty()) {
BigDecimal rateApprvVal = new BigDecimal(rateApprv);
BigDecimal rateQuotVal = new BigDecimal(rateQuot);
BigDecimal ratePtrVal = new BigDecimal(ratePtr);
BaseLogger.log("3", null, null, "ReqForQuotationIC after conversion rateQuotVal:: "+rateQuotVal+" rateApprvVal::"+rateApprvVal);
//added condition when ptr and rate_quot is same direct approval without management
if (ratePtrVal.compareTo(rateQuotVal) == 0) {
BaseLogger.log("3", null, null,
"in ratePtrVal == rateQuotVal condition");
String detail1Xml =
"<Detail1><mgmnt_apprv><![CDATA[N]]></mgmnt_apprv><wf_status><![CDATA[A]]></wf_status></Detail1>";
int pos = valueXmlString.indexOf("</header>");
if (pos != -1) { pos += "</header>".length(); // move after </header>
valueXmlString.insert(pos, detail1Xml); }
BaseLogger.log("3", null, null,
"in rateApprvVal greater condition updatedXml ::"+valueXmlString); }
if (rateApprvVal.compareTo(rateQuotVal) > 0) {
BaseLogger.log("3", null, null, "in rateApprvVal greater condition");
String detail1Xml = "<Detail1><mgmnt_apprv><![CDATA[Y]]></mgmnt_apprv><wf_status><![CDATA[P]]></wf_status></Detail1>";
int pos = valueXmlString.indexOf("</header>");
if (pos != -1) {
pos += "</header>".length(); // move after </header>
valueXmlString.insert(pos, detail1Xml);
}
BaseLogger.log("3", null, null, "in rateApprvVal greater condition updatedXml ::"+valueXmlString);
}
}
//Calculating Revised PTR,PTD and PTS [Start]
PreparedStatement resvisedRatePstmt =null;
ResultSet resvisedRateRs = null;
try {
String resvisedRateSql = "select PHY_ATTRIB_13,PHY_ATTRIB_14,PHY_ATTRIB_15 from item where item_code = ?";
resvisedRatePstmt = conn.prepareStatement(resvisedRateSql);
resvisedRatePstmt.setString(1, itemCode);
resvisedRateRs = resvisedRatePstmt.executeQuery();
while (resvisedRateRs.next()) {
String distMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_13"));
String stockMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_14"));
String retailMarginStr = checkNull(resvisedRateRs.getString("PHY_ATTRIB_15"));
BigDecimal distMargin = BigDecimal.ZERO;
BigDecimal stockMargin = BigDecimal.ZERO;
BigDecimal retailMargin = BigDecimal.ZERO;
try {
distMargin = (distMarginStr != null && distMarginStr.trim().length() > 0) ? new BigDecimal(distMarginStr.trim()) : BigDecimal.ZERO;
stockMargin = (stockMarginStr != null && stockMarginStr.trim().length() > 0) ? new BigDecimal(stockMarginStr.trim()) : BigDecimal.ZERO;
retailMargin = (retailMarginStr != null && retailMarginStr.trim().length() > 0) ? new BigDecimal(retailMarginStr.trim()) : BigDecimal.ZERO;
} catch (Exception e) {
BaseLogger.log("3", null, null, "Error parsing margin values");
}
BigDecimal rateBD = new BigDecimal(rateQuot);
BigDecimal hundred = new BigDecimal(100);
// BigDecimal retailMarginBD = new BigDecimal(retailMargin);
// BigDecimal stockMarginBD = new BigDecimal(stockMargin);
// BigDecimal distMarginBD = new BigDecimal(distMargin);
BaseLogger.log("3", null, null, "distMargin::" + distMargin + " stockMargin::" + stockMargin + " revisedPtd:: " + retailMargin + "rate:: " + rate + "]");
BigDecimal revisedPtr = rateBD.divide(hundred.multiply(hundred.subtract(retailMargin)), 6, RoundingMode.HALF_UP);
BigDecimal revisedPts = rateBD.divide(hundred.multiply(hundred.subtract(stockMargin)), 6, RoundingMode.HALF_UP);
BigDecimal revisedPtd = rateBD.divide(hundred.multiply(hundred.subtract(distMargin)), 6, RoundingMode.HALF_UP);
BaseLogger.log("3", null, null, "revisedPtr::" + revisedPtr + " revisedPts::" + revisedPts + " revisedPtd::" + revisedPtd);
BaseLogger.log("3", null, null, "revisedPtr::" + revisedPtr + " revisedPts::" + revisedPts + " revisedPtd:: " + revisedPtd + "]");
String domId = checkNull(genericUtility.getColumnValue("domid", dom));
BaseLogger.log("3", null, null, "domId::>>"+domId);
String domIDStr=checkNull(getDomID(dom, ""+currentFormNo));
System.out.println("domID in actual itemchanged>>>>"+domIDStr);
valueXmlString.append("<Detail" + objContext + " domID='" + domId + "' objContext='" + currentFormNo + "' objName=\"rfq_wiz\" selected=\"N\">\r\n");
valueXmlString.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"tran_id:line_no\"/>\r\n");
valueXmlString.append("<revised_ptr><![CDATA[" + revisedPtr + "]]></revised_ptr>\r\n");
setNodeValue(dom, "revised_ptr", revisedPtr.toString()); // Added In 1389
valueXmlString.append("<revised_pts><![CDATA[" + revisedPts + "]]></revised_pts>\r\n");
setNodeValue(dom, "revised_pts", revisedPts.toString()); // Added In 1389
valueXmlString.append("<revised_ptd><![CDATA[" + revisedPtd + "]]></revised_ptd>\r\n");
setNodeValue(dom, "revised_ptd", revisedPtd.toString()); // Added In 1389
//Comment out the rate_quot validation block as this case handled by JS
valueXmlString.append("<value protect='1'><![CDATA[" + value + "]]></value>\r\n");
setNodeValue(dom, "value", value.toString()); // Added In 1389
valueXmlString.append("</Detail" + objContext + ">");
}
} catch (Exception e) {
BaseLogger.log("3", null, null, "Exception 1002. [" + E12GenericUtility.getStackTrace(e) + "]");
} finally {
// Ensure you close the ResultSet and PreparedStatement afterwards to prevent memory leaks!
resvisedRateRs.close();
resvisedRatePstmt.close();
}
//Calculating Revised PTR,PTD and PTS [End]
}
break;
}
//end sales_pers
}//end try itemchange
catch(Exception e)
{
System.out.println("Exception :StrgBrandactwiz :defaultDataWiz(Document,String):" + e.getMessage() + ":" );
valueXmlString = valueXmlString.append( genericUtility.createErrorString( e ) );
}//end catch itemchange
finally
{
try
{
if(rs !=null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if( conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
System.out.println("Exception :StrgBrandactwiz :defaultDataWiz :==>\n"+e.getMessage());
throw new ITMException(e);
}
}
valueXmlString.append( "</Root>\r\n" );
System.out.println(" ReqForQuotationWiz valueXmlString :==>\n"+valueXmlString.toString());
return valueXmlString.toString();
}
private static void setNodeValue(Document dom, String nodeName, String nodeVal) throws Exception {
Node tempNode = dom.getElementsByTagName(nodeName).item(0);
if (tempNode != null) {
if (tempNode.getFirstChild() == null) {
CDATASection cDataSection = dom.createCDATASection(nodeVal);
tempNode.appendChild(cDataSection);
} else {
tempNode.getFirstChild().setNodeValue(nodeVal);
}
}
tempNode = null;
}
private String getDomID(Document dom2,String objContext)
{
Node elementName = null, parentNode = null;
NodeList elementList = null;
Element elementAttr = null;
String objName = "";
elementList = dom2.getElementsByTagName("Detail"+objContext);
elementName = elementList.item(0);
if (elementName!=null && ("Detail"+objContext).equalsIgnoreCase(elementName.getNodeName()))
{
NamedNodeMap etlAttributes = elementName.getAttributes();
if (etlAttributes!=null)
{
if (etlAttributes.getNamedItem("domID")!=null)
{
objName = etlAttributes.getNamedItem("domID").getNodeValue();
}
}
}
return objName;
}
public static boolean isDateInvalid(String validUptoStr)
{
try
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yy");
LocalDate validDate = LocalDate.parse(validUptoStr, formatter);
LocalDate currentDate = LocalDate.now();
if(validDate.isBefore(currentDate))
{
return true;
}
}
catch(Exception e)
{
BaseLogger.log("3", null, null, "Exception in date validation [" + e + "]");
}
return false;
}
private String checkNull( String inputVal )
{
if ( inputVal == null )
{
inputVal = "";
}
return inputVal;
}
private String errorType(Connection conn , String errorCode)
{
String msgType = "";
PreparedStatement pstmt = null ;
ResultSet rs = null;
try
{
String sql = "SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,errorCode);
rs = pstmt.executeQuery();
while(rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return msgType;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<script type="text/javascript">
function recalcRow(el)
{
console.log("------ recalcRow triggered ------");
console.log("Triggered element ID:", el.id);
var row = el.parentNode.parentNode;
console.log("Row found:", row);
var rateEl = row.querySelector("[id*='rate_quot']");
var distEl = row.querySelector("[id*='phy_attrib_13']");
var stockEl = row.querySelector("[id*='phy_attrib_14']");
var retEl = row.querySelector("[id*='phy_attrib_15']");
console.log("Elements:", rateEl, distEl, stockEl, retEl);
var rate = parseFloat(rateEl ? rateEl.value : 0) || 0;
var dist = parseFloat(distEl ? distEl.value : 0) || 0;
var stock = parseFloat(stockEl ? stockEl.value : 0) || 0;
var ret = parseFloat(retEl ? retEl.value : 0) || 0;
console.log("Values =>", "rate:", rate, "dist:", dist, "stock:", stock, "ret:", ret);
var pts = (rate / 100) * (100 - stock);
var ptd = (rate / 100) * (100 - dist);
var ptr = (rate / 100) * (100 - ret);
console.log("Calculated =>", "PTS:", pts, "PTD:", ptd, "PTR:", ptr);
var ptsCell = row.querySelector(".rev_pts");
var ptdCell = row.querySelector(".rev_ptd");
var ptrCell = row.querySelector(".rev_ptr");
console.log("Cells:", ptsCell, ptdCell, ptrCell);
if(ptsCell) ptsCell.innerHTML = pts.toFixed(2);
if(ptdCell) ptdCell.innerHTML = ptd.toFixed(2);
if(ptrCell) ptrCell.innerHTML = ptr.toFixed(2);
console.log("------ calculation done ------");
}
</script>
<LINK type="text/css" rel="stylesheet" href="/ibase/css/display_budget.css"/>
<LINK type="text/css" rel="stylesheet" href="/ibase/css/workflowsign.css"/>
<style>
body{
background:#f7f9fc;
font-family:Segoe UI, Arial, Helvetica, sans-serif;
margin:0;
font-size:13px;
color:#2c3e50;
}
/* CARD */
.card{
margin:14px;
background:#fff;
border-radius:8px;
padding:16px;
border:1px solid #e6e9ef;
box-shadow:0 2px 6px rgba(0,0,0,0.05);
}
/* TITLE - LEFT WITH HIGHLIGHT BAR */
.title{
font-weight: 600;
margin-bottom: 10px;
padding-bottom: 6px;
border-bottom: 1px solid #eee;
position: relative;
padding-left: 20px;
font-size: 15px;
text-align: left !important;
}
/* left blue bar */
.title:before{
content:"";
position:absolute;
left:0;
top:2px;
height:18px;
width:4px;
background:#4a90e2;
border-radius:2px;
}
/* GRID */
.grid{
display:flex;
flex-wrap:wrap;
}
.field{
width:50%;
margin-bottom:10px;
}
/* LABEL */
.label{
font-weight:600;
width:150px;
display:inline-block;
color:#6b7785;
}
/* VALUE */
.value{
color:#1f2d3d;
}
/* TABLE CARD */
.tableCard{
margin:14px;
background:#fff;
border-radius:8px;
padding:12px;
border:1px solid #e6e9ef;
box-shadow:0 2px 6px rgba(0,0,0,0.05);
}
/* TABLE TITLE */
.tableTitle{
font-weight:600;
margin-bottom:10px;
padding-bottom:6px;
border-bottom:1px solid #eee;
position:relative;
padding-left:17px;
}
/* left green bar */
.tableTitle:before{
content:"";
position:absolute;
left:0;
top:2px;
height:16px;
width:4px;
background:#22c55e;
border-radius:2px;
}
/* TABLE */
.tbl{
width:100%;
border-collapse:separate;
border-spacing:0;
font-size:12px;
}
/* HEADER */
.tbl th{
background:#f1f5fb;
color:#2c3e50;
padding:8px;
font-size:12px;
text-align:left;
border-bottom:1px solid #e5e7eb;
white-space:nowrap;
}
/* CELLS */
.tbl td{
padding:8px;
border-bottom:1px solid #eef1f5;
white-space:nowrap;
}
/* ROW STYLE */
.tbl tr:nth-child(even){
background:#fafbfe;
}
.tbl tr:hover{
background:#eef4ff;
}
/* ALIGNMENT */
.right{
text-align:right;
font-variant-numeric: tabular-nums;
}
</style>
</head>
<body>
<div>
<xsl:apply-templates select="//Detail1"/>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="Detail1">
<div class="card">
<div class="title">REQUEST FOR QUOTATION ( Quotation Team )</div>
<div class="grid">
<div class="field">
<span class="label">RFQ No :</span>
<span class="value"><xsl:value-of select="tran_id"/></span>
</div>
<div class="field">
<span class="label">RFQ Date :</span>
<span class="value"><xsl:value-of select="tran_date"/></span>
</div>
<div class="field">
<span class="label">Quotation Type :</span>
<span class="value">
<xsl:choose>
<xsl:when test="quot_type = 'C'">Customer</xsl:when>
<xsl:when test="quot_type = 'I'">Institute</xsl:when>
<xsl:when test="quot_type = 'G'">Group</xsl:when>
<xsl:otherwise><xsl:value-of select="quot_type"/></xsl:otherwise>
</xsl:choose>
</span>
</div>
<div class="field">
<span class="label">Customer :</span>
<span class="value"><xsl:value-of select="cust_code"/></span>
</div>
<div class="field">
<span class="label">Contact Person :</span>
<span class="value"><xsl:value-of select="contact_pers"/></span>
</div>
<div class="field">
<span class="label">Item Series :</span>
<span class="value"><xsl:value-of select="item_ser"/></span>
</div>
<div class="field">
<span class="label">Required Date :</span>
<span class="value"><xsl:value-of select="req_date"/></span>
</div>
<div class="field">
<span class="label">Valid Upto :</span>
<span class="value"><xsl:value-of select="valid_upto"/></span>
</div>
<div class="field">
<span class="label">Sales Person :</span>
<span class="value"><xsl:value-of select="sales_pers"/></span>
</div>
</div>
</div>
<div class="tableCard">
<div class="tableTitle">Item Details</div>
<div style="max-height:400px; overflow:auto;">
<table class="tbl">
<tr>
<th>Item</th>
<th>Quoted Quantity</th>
<th>Unit</th>
<th>Pack</th>
<th>Competitor Item</th>
<th>Competitor Name</th>
<th>Competitor Rate</th>
<th>Special Rate</th>
<th>Management Approved Rate</th>
<th>Price To Stockist</th>
<th>Price To Distributor</th>
<th>Price To Retailer</th>
<th>Revised: Price To Stockist</th>
<th>Revised: Price To Distributor</th>
<th>Revised: Price To Retailer</th>
<th>Distributor Margin</th>
<th>Stockist Margin</th>
<th>Retailer Margin</th>
<th>Remarks</th>
</tr>
<xsl:for-each select="//Detail2">
<xsl:variable name="phy_attrib_13" select="number(phy_attrib_13)"/>
<xsl:variable name="phy_attrib_14" select="number(phy_attrib_14)"/>
<xsl:variable name="phy_attrib_15" select="number(phy_attrib_15)"/>
<!-- Special Rate -->
<xsl:variable name="quotRate" select="number(rate_quot)"/>
<!-- Calculations -->
<xsl:variable name="calc_rev_pts"
select="($quotRate div 100) * (100 - $phy_attrib_14)"/>
<xsl:variable name="calc_rev_ptd"
select="($quotRate div 100) * (100 - $phy_attrib_13)"/>
<xsl:variable name="calc_rev_ptr"
select="($quotRate div 100) * (100 - $phy_attrib_15)"/>
<xsl:variable name="dbID">
<xsl:value-of select="@dbID" />
</xsl:variable>
<xsl:variable name="domID">
<xsl:value-of select="@domID" />
</xsl:variable>
<xsl:variable name="rate_quot">
<xsl:value-of select="rate_quot" />
</xsl:variable>
<tr>
<td>
<xsl:value-of select="item_code"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="descr"/>
</td>
<td class="right">
<xsl:value-of select="format-number(qty_quot,'#,##0.00')"/>
</td>
<td><xsl:value-of select="unit"/></td>
<td><xsl:value-of select="pack_code"/></td>
<td><xsl:value-of select="competitor_item"/></td>
<td><xsl:value-of select="competitor_name"/></td>
<td class="right">
<xsl:value-of select="format-number(competitor_rate,'#,##0.00')"/>
</td>
<td class="right">
<xsl:value-of select="format-number(rate_quot,'#,##0.00')"/>
<input type="hidden"
id="Detail2.{normalize-space(@domID)}.rate_quot"
value="{rate_quot}" />
</td>
<td class="right">
<xsl:value-of select="format-number(rate_apprv,'#,##0.00')"/>
</td>
<td class="right"><xsl:value-of select="format-number(pts, '#,##0.00')"/></td>
<td class="right"><xsl:value-of select="format-number(ptd, '#,##0.00')"/></td>
<td class="right"><xsl:value-of select="format-number(ptr, '#,##0.00')"/></td>
<td class="right rev_pts">
<xsl:value-of select="format-number(number($calc_rev_pts), '#,##0.00')"/>
</td>
<td class="right rev_ptd">
<xsl:value-of select="format-number(number($calc_rev_ptd), '#,##0.00')"/>
</td>
<td class="right rev_ptr">
<xsl:value-of select="format-number(number($calc_rev_ptr), '#,##0.00')"/>
</td>
<td class="right">
<input class="inputRate"
id="Detail2.{normalize-space(@domID)}.phy_attrib_13"
name="Detail2.{normalize-space(@domID)}.phy_attrib_13"
value="{phy_attrib_13}"
ISCHANGED="true"
isServerCallOnChange="true"
onfocus="gotFocus(this)"
onblur="gotBlur(this); recalcRow(this);"
onkeyup="return autoCaps(this)"
onkeydown="return onKeyDownFun(this,event)"
title="Distributor Margin"
maxlength="1000"/>
</td>
<td class="right">
<input class="inputRate"
id="Detail2.{normalize-space(@domID)}.phy_attrib_14"
name="Detail2.{normalize-space(@domID)}.phy_attrib_14"
value="{phy_attrib_14}"
ISCHANGED="true"
isServerCallOnChange="true"
onfocus="gotFocus(this)"
onblur="gotBlur(this); recalcRow(this);"
onkeyup="return autoCaps(this)"
onkeydown="return onKeyDownFun(this,event)"
title="Stockist Margin"
maxlength="1000"/>
</td>
<td class="right">
<input class="inputRate"
id="Detail2.{normalize-space(@domID)}.phy_attrib_15"
name="Detail2.{normalize-space(@domID)}.phy_attrib_15"
value="{phy_attrib_15}"
ISCHANGED="true"
isServerCallOnChange="true"
onfocus="gotFocus(this)"
onblur="gotBlur(this); recalcRow(this);"
onkeyup="return autoCaps(this)"
onkeydown="return onKeyDownFun(this,event)"
title="Retailer Margin"
maxlength="1000"/>
</td>
<td><xsl:value-of select="remarks"/></td>
</tr>
</xsl:for-each>
</table>
</div>
</div>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<script type="text/javascript">
function recalcRow(el)
{
console.log("------ recalcRow triggered ------");
console.log("Triggered element ID:", el.id);
var row = el.parentNode.parentNode;
console.log("Row found:", row);
var rateEl = row.querySelector("[id*='rate_quot']");
var distEl = row.querySelector("[id*='phy_attrib_13']");
var stockEl = row.querySelector("[id*='phy_attrib_14']");
var retEl = row.querySelector("[id*='phy_attrib_15']");
console.log("Elements:", rateEl, distEl, stockEl, retEl);
var rate = parseFloat(rateEl ? rateEl.value : 0) || 0;
var dist = parseFloat(distEl ? distEl.value : 0) || 0;
var stock = parseFloat(stockEl ? stockEl.value : 0) || 0;
var ret = parseFloat(retEl ? retEl.value : 0) || 0;
console.log("Values =>", "rate:", rate, "dist:", dist, "stock:", stock, "ret:", ret);
var pts = (rate / 100) * (100 - stock);
var ptd = (rate / 100) * (100 - dist);
var ptr = (rate / 100) * (100 - ret);
console.log("Calculated =>", "PTS:", pts, "PTD:", ptd, "PTR:", ptr);
var ptsCell = row.querySelector(".rev_pts");
var ptdCell = row.querySelector(".rev_ptd");
var ptrCell = row.querySelector(".rev_ptr");
console.log("Cells:", ptsCell, ptdCell, ptrCell);
if(ptsCell) ptsCell.innerHTML = pts.toFixed(2);
if(ptdCell) ptdCell.innerHTML = ptd.toFixed(2);
if(ptrCell) ptrCell.innerHTML = ptr.toFixed(2);
console.log("------ calculation done ------");
}
</script>
<LINK type="text/css" rel="stylesheet" href="/ibase/css/display_budget.css"/>
<LINK type="text/css" rel="stylesheet" href="/ibase/css/workflowsign.css"/>
<style>
body{
background:#f7f9fc;
font-family:Segoe UI, Arial, Helvetica, sans-serif;
margin:0;
font-size:13px;
color:#2c3e50;
}
/* CARD */
.card{
margin:14px;
background:#fff;
border-radius:8px;
padding:16px;
border:1px solid #e6e9ef;
box-shadow:0 2px 6px rgba(0,0,0,0.05);
}
/* TITLE - LEFT WITH HIGHLIGHT BAR */
.title
{
font-size: 17px;
font-weight: 600;
margin-bottom: 14px;
padding-bottom: 6px;
padding-left: 20px;
padding-right: 180px;
border-bottom: 1px solid #eee;
position: relative;
text-align: left !important;
}
/* left blue bar */
.title:before{
content:"";
position:absolute;
left:0;
top:2px;
height:18px;
width:4px;
background:#4a90e2;
border-radius:2px;
}
/* GRID */
.grid{
display:flex;
flex-wrap:wrap;
}
.field{
width:50%;
margin-bottom:10px;
}
/* LABEL */
.label{
font-weight:600;
width:150px;
display:inline-block;
color:#6b7785;
}
/* VALUE */
.value{
color:#1f2d3d;
}
/* TABLE CARD */
.tableCard{
margin:14px;
background:#fff;
border-radius:8px;
padding:12px;
border:1px solid #e6e9ef;
box-shadow:0 2px 6px rgba(0,0,0,0.05);
}
/* TABLE TITLE */
.tableTitle{
font-weight:600;
margin-bottom:10px;
padding-bottom:6px;
border-bottom:1px solid #eee;
position:relative;
padding-left: 20px;
}
/* left green bar */
.tableTitle:before{
content:"";
position:absolute;
left:0;
top:2px;
height:16px;
width:4px;
background:#22c55e;
border-radius:2px;
}
/* TABLE */
.tbl{
width:100%;
border-collapse:separate;
border-spacing:0;
font-size:12px;
}
/* HEADER */
.tbl th{
background:#f1f5fb;
color:#2c3e50;
padding:8px;
font-size:12px;
text-align:left;
border-bottom:1px solid #e5e7eb;
white-space:nowrap;
}
/* CELLS */
.tbl td{
padding:8px;
border-bottom:1px solid #eef1f5;
white-space:nowrap;
}
/* ROW STYLE */
.tbl tr:nth-child(even){
background:#fafbfe;
}
.tbl tr:hover{
background:#eef4ff;
}
/* ALIGNMENT */
.right{
text-align:right;
font-variant-numeric: tabular-nums;
}
/* subtle highlight for approved */
.tbl td:nth-child(9){
background:#f0fdf4;
font-weight:600;
color:#15803d;
}
.inputRate{
width:90px;
padding:4px 6px;
border:1px solid #d1d5db;
border-radius:4px;
text-align:right;
font-size:12px;
}
.inputRate:focus{
outline:none;
border-color:#4a90e2;
box-shadow:0 0 0 2px rgba(74,144,226,0.15);
}
</style>
</head>
<body>
<div>
<xsl:apply-templates select="//Detail1"/>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="Detail1">
<div class="card">
<div class="title">REQUEST FOR QUOTATION ( Management Team )</div>
<div class="grid">
<div class="field">
<span class="label">RFQ No :</span>
<span class="value"><xsl:value-of select="tran_id"/></span>
</div>
<div class="field">
<span class="label">RFQ Date :</span>
<span class="value"><xsl:value-of select="tran_date"/></span>
</div>
<div class="field">
<span class="label">Quotation Type :</span>
<span class="value">
<xsl:choose>
<xsl:when test="quot_type = 'C'">Customer</xsl:when>
<xsl:when test="quot_type = 'I'">Institute</xsl:when>
<xsl:when test="quot_type = 'G'">Group</xsl:when>
<xsl:otherwise><xsl:value-of select="quot_type"/></xsl:otherwise>
</xsl:choose>
</span>
</div>
<div class="field">
<span class="label">Customer :</span>
<span class="value"><xsl:value-of select="cust_code"/></span>
</div>
<div class="field">
<span class="label">Contact Person :</span>
<span class="value"><xsl:value-of select="contact_pers"/></span>
</div>
<div class="field">
<span class="label">Item Series :</span>
<span class="value"><xsl:value-of select="item_ser"/></span>
</div>
<div class="field">
<span class="label">Required Date :</span>
<span class="value"><xsl:value-of select="req_date"/></span>
</div>
<div class="field">
<span class="label">Valid Upto :</span>
<span class="value"><xsl:value-of select="valid_upto"/></span>
</div>
<div class="field">
<span class="label">Sales Person :</span>
<span class="value"><xsl:value-of select="sales_pers"/></span>
</div>
</div>
</div>
<div class="tableCard">
<div class="tableTitle">Item Details</div>
<div style="max-height:400px; overflow:auto;">
<table class="tbl">
<tr>
<th>Item</th>
<th>Qty</th>
<th>Unit</th>
<th>Pack</th>
<th>Competitor Item</th>
<th>Competitor Name</th>
<th>Competitor Rate</th>
<th>Special Rate</th>
<th>Management Approved Rate</th>
<th>Price To Stockist</th>
<th>Price To Distributor</th>
<th>Price To Retailer</th>
<th>Revised: Price To Stockist</th>
<th>Revised: Price To Distributor</th>
<th>Revised: Price To Retailer</th>
<th>Distributor margin</th>
<th>Stockist Margin</th>
<th>Retailer Margin</th>
<th>Remarks</th>
</tr>
<xsl:for-each select="//Detail2">
<xsl:variable name="phy_attrib_13" select="number(phy_attrib_13)"/>
<xsl:variable name="phy_attrib_14" select="number(phy_attrib_14)"/>
<xsl:variable name="phy_attrib_15" select="number(phy_attrib_15)"/>
<!-- Special Rate -->
<xsl:variable name="quotRate" select="number(rate_quot)"/>
<!-- Calculations -->
<xsl:variable name="calc_rev_pts"
select="($quotRate div 100) * (100 - $phy_attrib_14)"/>
<xsl:variable name="calc_rev_ptd"
select="($quotRate div 100) * (100 - $phy_attrib_13)"/>
<xsl:variable name="calc_rev_ptr"
select="($quotRate div 100) * (100 - $phy_attrib_15)"/>
<xsl:variable name="dbID">
<xsl:value-of select="@dbID" />
</xsl:variable>
<xsl:variable name="domID">
<xsl:value-of select="@domID" />
</xsl:variable>
<xsl:variable name="rate_quot">
<xsl:value-of select="rate_quot" />
</xsl:variable>
<tr>
<td>
<xsl:value-of select="item_code"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="descr"/>
</td>
<td class="right">
<xsl:value-of select="format-number(qty_quot,'#,##0.00')"/>
</td>
<td><xsl:value-of select="unit"/></td>
<td><xsl:value-of select="pack_code"/></td>
<td><xsl:value-of select="competitor_item"/></td>
<td><xsl:value-of select="competitor_name"/></td>
<td class="right">
<xsl:value-of select="format-number(competitor_rate,'#,##0.00')"/>
</td>
<td class="right">
<xsl:choose>
<!-- Editable when rate_quot < rate_apprv -->
<xsl:when test="number(rate_quot) &lt; number(rate_apprv)">
<input class="inputRate"
id="Detail2.{normalize-space(@domID)}.rate_quot"
name="Detail2.{normalize-space(@domID)}.rate_quot"
value="{$rate_quot}"
ISCHANGED="true"
isServerCallOnChange="true"
onfocus="gotFocus(this)"
onblur="gotBlur(this)"
onkeyup="return autoCaps(this)"
onkeydown="return onKeyDownFun(this,event)"
title="Special Rate"
maxlength="1000"/>
</xsl:when>
<!-- Readonly otherwise -->
<xsl:otherwise>
<input class="inputRate"
id="Detail2.{normalize-space(@domID)}.rate_quot"
name="Detail2.{normalize-space(@domID)}.rate_quot"
value="{$rate_quot}"
readonly="readonly"
style="background-color:#e8f0f9; border:0px;"
title="Approved Rate Locked"/>
</xsl:otherwise>
</xsl:choose>
</td>
<td class="right">
<xsl:value-of select="format-number(rate_apprv,'#,##0.00')"/>
</td>
<td class="right"><xsl:value-of select="format-number(pts,'#,##0.00')"/></td>
<td class="right"><xsl:value-of select="format-number(ptd,'#,##0.00')"/></td>
<td class="right"><xsl:value-of select="format-number(ptr,'#,##0.00')"/></td>
<td class="right rev_pts">
<xsl:value-of select="format-number($calc_rev_pts, '#,##0.00')"/>
</td>
<td class="right rev_ptd">
<xsl:value-of select="format-number($calc_rev_ptd, '#,##0.00')"/>
</td>
<td class="right rev_ptr">
<xsl:value-of select="format-number($calc_rev_ptr, '#,##0.00')"/>
</td>
<td class="right">
<input class="inputRate"
id="Detail2.{normalize-space(@domID)}.phy_attrib_13"
name="Detail2.{normalize-space(@domID)}.phy_attrib_13"
value="{phy_attrib_13}"
ISCHANGED="true"
isServerCallOnChange="true"
onfocus="gotFocus(this)"
onblur="recalcRow(this)"
onkeyup="return autoCaps(this)"
onkeydown="return onKeyDownFun(this,event)"
title="Distributor Margin"
maxlength="1000"/>
</td>
<td class="right">
<input class="inputRate"
id="Detail2.{normalize-space(@domID)}.phy_attrib_14"
name="Detail2.{normalize-space(@domID)}.phy_attrib_14"
value="{phy_attrib_14}"
ISCHANGED="true"
isServerCallOnChange="true"
onfocus="gotFocus(this)"
onblur="recalcRow(this)"
onkeyup="return autoCaps(this)"
onkeydown="return onKeyDownFun(this,event)"
title="Stockist Margin"
maxlength="1000"/>
</td>
<td class="right">
<input class="inputRate"
id="Detail2.{normalize-space(@domID)}.phy_attrib_15"
name="Detail2.{normalize-space(@domID)}.phy_attrib_15"
value="{phy_attrib_15}"
ISCHANGED="true"
isServerCallOnChange="true"
onfocus="gotFocus(this)"
onblur="recalcRow(this)"
onkeyup="return autoCaps(this)"
onkeydown="return onKeyDownFun(this,event)"
title="Retailer Margin"
maxlength="1000"/>
</td>
<td><xsl:value-of select="remarks"/></td>
</tr>
</xsl:for-each>
</table>
</div>
</div>
</xsl:template>
</xsl:stylesheet>
$PBExportHeader$vhb_sales_quot_req_det_brow.srd
release 9;
datawindow(units=1 timer_interval=0 color=67108864 processing=1 HTMLDW=no print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no grid.lines=0 )
header(height=46 color="536870912" )
summary(height=0 color="536870912" )
footer(height=2 color="536870912" )
detail(height=23 color="536870912" )
table(column=(type=char(10) update=yes updatewhereclause=yes key=yes name=tran_id dbname="sales_quot_req_det.tran_id" )
column=(type=number update=yes updatewhereclause=yes key=yes name=line_no dbname="sales_quot_req_det.line_no" )
column=(type=char(10) update=yes updatewhereclause=yes name=item_code dbname="sales_quot_req_det.item_code" )
column=(type=number update=yes updatewhereclause=yes name=qty_quot dbname="sales_quot_req_det.qty_quot" )
column=(type=char(10) update=yes updatewhereclause=yes name=unit dbname="sales_quot_req_det.unit" )
column=(type=char(10) update=yes updatewhereclause=yes name=pack_code dbname="sales_quot_req_det.pack_code" )
column=(type=number update=yes updatewhereclause=yes name=rate_quot dbname="sales_quot_req_det.rate_quot" )
column=(type=char(1) update=yes updatewhereclause=yes name=near_expiry dbname="sales_quot_req_det.near_expiry" )
column=(type=number update=yes updatewhereclause=yes name=competitor_rate dbname="sales_quot_req_det.competitor_rate" )
column=(type=char(10) update=yes updatewhereclause=yes name=competitor_item dbname="sales_quot_req_det.competitor_item" )
column=(type=char(250) update=yes updatewhereclause=yes name=competitor_name dbname="sales_quot_req_det.competitor_name" )
column=(type=char(2500) update=yes updatewhereclause=yes name=spec_instr dbname="sales_quot_req_det.spec_instr" )
column=(type=number update=yes updatewhereclause=yes name=rate_apprv dbname="sales_quot_req_det.rate_apprv" )
column=(type=char(2500) update=yes updatewhereclause=yes name=remarks dbname="sales_quot_req_det.remarks" )
column=(type=char(1) update=yes updatewhereclause=yes name=ptr_flag dbname="sales_quot_req_det.ptr_flag" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=pts dbname="sales_quot_req_det.pts" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=ptd dbname="sales_quot_req_det.ptd" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=ptr dbname="sales_quot_req_det.ptr" )
column=(type=char(130) updatewhereclause=yes name=descr dbname="item.descr" )
column=(type=decimal(3) updatewhereclause=yes name=revised_pts dbname="sales_quot_req_det.revised_pts" )
column=(type=decimal(3) updatewhereclause=yes name=revised_ptd dbname="sales_quot_req_det.revised_ptd" )
column=(type=decimal(3) updatewhereclause=yes name=revised_ptr dbname="sales_quot_req_det.revised_ptr" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_13 dbname="phy_attrib_13" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_14 dbname="phy_attrib_14" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_15 dbname="phy_attrib_15" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=value dbname="sales_quot_req_det.value" )
retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"sales_quot_req_det~" ) TABLE(NAME=~"item~" ) COLUMN(NAME=~"sales_quot_req_det.tran_id~") COLUMN(NAME=~"sales_quot_req_det.line_no~") COLUMN(NAME=~"sales_quot_req_det.item_code~") COLUMN(NAME=~"sales_quot_req_det.qty_quot~") COLUMN(NAME=~"sales_quot_req_det.unit~") COLUMN(NAME=~"sales_quot_req_det.pack_code~") COLUMN(NAME=~"sales_quot_req_det.rate_quot~") COLUMN(NAME=~"sales_quot_req_det.near_expiry~") COLUMN(NAME=~"sales_quot_req_det.competitor_rate~") COLUMN(NAME=~"sales_quot_req_det.competitor_item~") COLUMN(NAME=~"sales_quot_req_det.competitor_name~") COLUMN(NAME=~"sales_quot_req_det.spec_instr~") COLUMN(NAME=~"sales_quot_req_det.rate_apprv~") COLUMN(NAME=~"sales_quot_req_det.remarks~") COLUMN(NAME=~"sales_quot_req_det.ptr_flag~") COLUMN(NAME=~"sales_quot_req_det.pts~") COLUMN(NAME=~"sales_quot_req_det.ptd~") COLUMN(NAME=~"sales_quot_req_det.ptr~") COLUMN(NAME=~"item.descr~") COLUMN(NAME=~"sales_quot_req_det.revised_pts~") COLUMN(NAME=~"sales_quot_req_det.revised_ptd~") COLUMN(NAME=~"sales_quot_req_det.revised_ptr~") COLUMN(NAME=~"item.phy_attrib_13~") COLUMN(NAME=~"item.phy_attrib_14~") COLUMN(NAME=~"item.phy_attrib_15~") COLUMN(NAME=~"sales_quot_req_det.value~") JOIN (LEFT=~"sales_quot_req_det.item_code~" OP =~"=~"RIGHT=~"item.item_code~" OUTER1 =~"sales_quot_req_det.item_code~" )WHERE( EXP1 =~"sales_quot_req_det.tran_id~" OP =~"=~" EXP2 =~":tran_id~" ) ) ARG(NAME = ~"tran_id~" TYPE = string) " update="sales_quot_req_det" updatewhere=0 updatekeyinplace=no arguments=(("tran_id", string)) )
text(band=header alignment="2" text="Transaction Id" border="2" color="0" x="2" y="2" height="16" width="93" html.valueishtml="0" name=tran_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Line No" border="2" color="0" x="97" y="2" height="16" width="66" html.valueishtml="0" name=line_no_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Item Code" border="2" color="0" x="165" y="2" height="16" width="66" html.valueishtml="0" name=item_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Quoted Quantity" border="2" color="0" x="233" y="2" height="16" width="101" html.valueishtml="0" name=qty_quot_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Unit" border="2" color="0" x="336" y="2" height="16" width="66" html.valueishtml="0" name=unit_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Pack Code" border="2" color="0" x="404" y="2" height="16" width="66" html.valueishtml="0" name=pack_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Rate Quote" border="2" color="0" x="472" y="2" height="16" width="72" html.valueishtml="0" name=rate_quot_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Near Expiry" border="2" color="0" x="546" y="2" height="16" width="84" html.valueishtml="0" name=near_expiry_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Competitor Rate" border="2" color="0" x="632" y="2" height="16" width="104" html.valueishtml="0" name=competitor_rate_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Competitor Item" border="2" color="0" x="738" y="2" height="16" width="101" html.valueishtml="0" name=competitor_item_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Competitor Name" border="2" color="0" x="841" y="2" height="16" width="112" html.valueishtml="0" name=competitor_name_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Special Instruction" border="2" color="0" x="955" y="2" height="16" width="102" html.valueishtml="0" name=spec_instr_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Approval Rate" border="2" color="0" x="2142" y="2" height="16" width="146" html.valueishtml="0" name=rate_apprv_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Remarks" border="2" color="0" x="1059" y="2" height="16" width="79" html.valueishtml="0" name=remarks_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Price To Retailer Flag" border="0" color="33554432" x="1140" y="1" height="19" width="156" html.valueishtml="0" name=ptr_flag_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Price To Stockist" border="0" color="33554432" x="1298" y="0" height="19" width="138" html.valueishtml="0" name=pts_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Price To Distributor" border="0" color="33554432" x="1438" y="1" height="19" width="148" html.valueishtml="0" name=ptd_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Price To Retailer" border="0" color="33554432" x="1588" y="1" height="19" width="128" html.valueishtml="0" name=ptr_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Item Description" border="0" color="33554432" x="1718" y="1" height="19" width="87" html.valueishtml="0" name=descr_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Revised Pts" border="0" color="33554432" x="2290" y="1" height="19" width="85" html.valueishtml="0" name=revised_pts_t visible="0" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Revised Ptd" border="0" color="33554432" x="2377" y="1" height="19" width="93" html.valueishtml="0" name=revised_ptd_t visible="0" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Revised Ptr" border="0" color="33554432" x="2472" y="1" height="19" width="85" html.valueishtml="0" name=revised_ptr_t visible="0" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Distributor margin:" border="0" color="33554432" x="1807" y="1" height="19" width="88" html.valueishtml="0" name=phy_attrib_13_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Stockist Margin:" border="0" color="33554432" x="1897" y="1" height="19" width="88" html.valueishtml="0" name=phy_attrib_14_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Retailer Margin:" border="0" color="33554432" x="1987" y="1" height="19" width="88" html.valueishtml="0" name=phy_attrib_15_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Value" border="0" color="33554432" x="2077" y="1" height="19" width="63" html.valueishtml="0" name=value_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
column(band=detail id=1 alignment="0" tabsequence=10 border="2" color="33554432" x="2" y="2" height="19" width="93" format="[general]" html.valueishtml="0" name=tran_id visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=2 alignment="1" tabsequence=20 border="2" color="33554432" x="97" y="2" height="19" width="66" format="[general]" html.valueishtml="0" name=line_no visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=3 alignment="0" tabsequence=30 border="2" color="33554432" x="165" y="2" height="19" width="66" format="[general]" html.valueishtml="0" name=item_code visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=4 alignment="1" tabsequence=40 border="2" color="33554432" x="233" y="2" height="19" width="101" format="[general]" html.valueishtml="0" name=qty_quot visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=5 alignment="0" tabsequence=50 border="2" color="33554432" x="336" y="2" height="19" width="66" format="[general]" html.valueishtml="0" name=unit visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=6 alignment="0" tabsequence=60 border="2" color="33554432" x="404" y="2" height="19" width="66" format="[general]" html.valueishtml="0" name=pack_code visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=7 alignment="1" tabsequence=70 border="2" color="33554432" x="472" y="2" height="19" width="72" format="[general]" html.valueishtml="0" name=rate_quot visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=8 alignment="0" tabsequence=80 border="2" color="33554432" x="546" y="2" height="19" width="84" format="[general]" html.valueishtml="0" name=near_expiry visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=9 alignment="1" tabsequence=90 border="2" color="33554432" x="632" y="2" height="19" width="104" format="[general]" html.valueishtml="0" name=competitor_rate visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=10 alignment="0" tabsequence=100 border="2" color="33554432" x="738" y="2" height="19" width="101" format="[general]" html.valueishtml="0" name=competitor_item visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=11 alignment="0" tabsequence=110 border="2" color="33554432" x="841" y="2" height="19" width="112" format="[general]" html.valueishtml="0" name=competitor_name visible="1" edit.limit=250 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=12 alignment="0" tabsequence=120 border="2" color="33554432" x="955" y="2" height="19" width="102" format="[general]" html.valueishtml="0" name=spec_instr visible="1" edit.limit=2500 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=13 alignment="1" tabsequence=230 border="2" color="33554432" x="2142" y="2" height="19" width="146" format="[general]" html.valueishtml="0" name=rate_apprv visible="0" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=14 alignment="0" tabsequence=130 border="2" color="33554432" x="1059" y="2" height="19" width="79" format="[general]" html.valueishtml="0" name=remarks visible="1" edit.limit=2500 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=15 alignment="0" tabsequence=140 border="0" color="33554432" x="1140" y="1" height="16" width="156" format="[general]" html.valueishtml="0" name=ptr_flag visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=16 alignment="0" tabsequence=150 border="0" color="33554432" x="1298" y="1" height="16" width="138" format="[general]" html.valueishtml="0" name=pts visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=17 alignment="0" tabsequence=160 border="0" color="33554432" x="1438" y="1" height="16" width="148" format="[general]" html.valueishtml="0" name=ptd visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=18 alignment="0" tabsequence=170 border="0" color="33554432" x="1588" y="1" height="16" width="128" format="[general]" html.valueishtml="0" name=ptr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=19 alignment="0" tabsequence=180 border="0" color="33554432" x="1718" y="1" height="16" width="87" format="[general]" html.valueishtml="0" name=descr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=20 alignment="0" tabsequence=32766 border="0" color="33554432" x="2290" y="1" height="16" width="85" format="[general]" html.valueishtml="0" name=revised_pts visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=21 alignment="0" tabsequence=32766 border="0" color="33554432" x="2377" y="1" height="16" width="93" format="[general]" html.valueishtml="0" name=revised_ptd visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=22 alignment="0" tabsequence=32766 border="0" color="33554432" x="2472" y="1" height="16" width="85" format="[general]" html.valueishtml="0" name=revised_ptr visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=23 alignment="0" tabsequence=190 border="0" color="33554432" x="1807" y="1" height="16" width="88" format="[general]" html.valueishtml="0" name=phy_attrib_13 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=24 alignment="0" tabsequence=200 border="0" color="33554432" x="1897" y="1" height="16" width="88" format="[general]" html.valueishtml="0" name=phy_attrib_14 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=25 alignment="0" tabsequence=210 border="0" color="33554432" x="1987" y="1" height="16" width="88" format="[general]" html.valueishtml="0" name=phy_attrib_15 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=26 alignment="0" tabsequence=220 border="0" color="33554432" x="2077" y="1" height="16" width="63" format="[general]" html.valueishtml="0" name=value visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
htmltable(border="1" )
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" )
export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 )
import.xml()
export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" )
\ No newline at end of file
$PBExportHeader$vhb_sales_quot_req_det_edit.srd
release 9;
datawindow(units=1 timer_interval=0 color=1073741824 processing=0 HTMLDW=no print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no )
summary(height=213 color="536870912" )
footer(height=204 color="536870912" )
detail(height=1028 color="536870912" )
table(column=(type=char(10) update=yes updatewhereclause=yes key=yes name=tran_id dbname="sales_quot_req_det.tran_id" )
column=(type=number update=yes updatewhereclause=yes key=yes name=line_no dbname="sales_quot_req_det.line_no" )
column=(type=char(10) update=yes updatewhereclause=yes name=item_code dbname="sales_quot_req_det.item_code" )
column=(type=number update=yes updatewhereclause=yes name=qty_quot dbname="sales_quot_req_det.qty_quot" )
column=(type=char(10) update=yes updatewhereclause=yes name=unit dbname="sales_quot_req_det.unit" )
column=(type=char(10) update=yes updatewhereclause=yes name=pack_code dbname="sales_quot_req_det.pack_code" )
column=(type=number update=yes updatewhereclause=yes name=rate_quot dbname="sales_quot_req_det.rate_quot" )
column=(type=char(1) update=yes updatewhereclause=yes name=near_expiry dbname="sales_quot_req_det.near_expiry" values="Yes Y/No N/" )
column=(type=number update=yes updatewhereclause=yes name=competitor_rate dbname="sales_quot_req_det.competitor_rate" )
column=(type=char(10) update=yes updatewhereclause=yes name=competitor_item dbname="sales_quot_req_det.competitor_item" )
column=(type=char(250) update=yes updatewhereclause=yes name=competitor_name dbname="sales_quot_req_det.competitor_name" )
column=(type=char(2500) update=yes updatewhereclause=yes name=remarks dbname="sales_quot_req_det.remarks" )
column=(type=char(2500) update=yes updatewhereclause=yes name=spec_instr dbname="sales_quot_req_det.spec_instr" )
column=(type=char(1) update=yes updatewhereclause=yes name=ptr_flag dbname="sales_quot_req_det.ptr_flag" )
column=(type=number update=yes updatewhereclause=yes name=rate_apprv dbname="sales_quot_req_det.rate_apprv" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=pts dbname="sales_quot_req_det.pts" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=ptd dbname="sales_quot_req_det.ptd" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=ptr dbname="sales_quot_req_det.ptr" )
column=(type=char(130) updatewhereclause=yes name=descr dbname="item.descr" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_pts dbname="sales_quot_req_det.revised_pts" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_ptd dbname="sales_quot_req_det.revised_ptd" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_ptr dbname="sales_quot_req_det.revised_ptr" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=value dbname="sales_quot_req_det.value" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_13 dbname="phy_attrib_13" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_14 dbname="phy_attrib_14" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_15 dbname="phy_attrib_15" )
retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"sales_quot_req_det~" ) TABLE(NAME=~"item~" ) COLUMN(NAME=~"sales_quot_req_det.tran_id~") COLUMN(NAME=~"sales_quot_req_det.line_no~") COLUMN(NAME=~"sales_quot_req_det.item_code~") COLUMN(NAME=~"sales_quot_req_det.qty_quot~") COLUMN(NAME=~"sales_quot_req_det.unit~") COLUMN(NAME=~"sales_quot_req_det.pack_code~") COLUMN(NAME=~"sales_quot_req_det.rate_quot~") COLUMN(NAME=~"sales_quot_req_det.near_expiry~") COLUMN(NAME=~"sales_quot_req_det.competitor_rate~") COLUMN(NAME=~"sales_quot_req_det.competitor_item~") COLUMN(NAME=~"sales_quot_req_det.competitor_name~") COLUMN(NAME=~"sales_quot_req_det.remarks~") COLUMN(NAME=~"sales_quot_req_det.spec_instr~") COLUMN(NAME=~"sales_quot_req_det.ptr_flag~") COLUMN(NAME=~"sales_quot_req_det.rate_apprv~") COLUMN(NAME=~"sales_quot_req_det.pts~") COLUMN(NAME=~"sales_quot_req_det.ptd~") COLUMN(NAME=~"sales_quot_req_det.ptr~") COLUMN(NAME=~"item.descr~") COLUMN(NAME=~"sales_quot_req_det.revised_pts~") COLUMN(NAME=~"sales_quot_req_det.revised_ptd~") COLUMN(NAME=~"sales_quot_req_det.revised_ptr~") COLUMN(NAME=~"sales_quot_req_det.value~") COLUMN(NAME=~"item.phy_attrib_13~") COLUMN(NAME=~"item.phy_attrib_14~") COLUMN(NAME=~"item.phy_attrib_15~") JOIN (LEFT=~"sales_quot_req_det.item_code~" OP =~"=~"RIGHT=~"item.item_code~" OUTER1 =~"sales_quot_req_det.item_code~" )WHERE( EXP1 =~"sales_quot_req_det.tran_id~" OP =~"=~" EXP2 =~":tran_id~" ) ) ARG(NAME = ~"tran_id~" TYPE = number) " update="sales_quot_req_det" updatewhere=1 updatekeyinplace=no arguments=(("tran_id", number)) )
groupbox(band=detail text="Price List"border="2" color="0" x="26" y="282" height="100" width="1030" name=gb_6 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
groupbox(band=detail text="Quantity"border="2" color="0" x="34" y="161" height="109" width="630" name=gb_3 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
groupbox(band=detail text="Competitor"border="2" color="0" x="18" y="392" height="100" width="630" name=gb_5 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
groupbox(band=detail text="Item"border="2" color="0" x="18" y="56" height="97" width="617" name=gb_2 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=detail alignment="1" text="Price To Distributor (PTD):" border="2" color="0" x="59" y="335" height="16" width="152" html.valueishtml="0" name=ptd_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=17 alignment="0" tabsequence=32766 border="0" color="33554432" x="220" y="335" height="16" width="35" format="[general]" html.valueishtml="0" name=ptd visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Price To Retailer (PTR):" border="2" color="0" x="323" y="335" height="16" width="163" html.valueishtml="0" name=ptr_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=18 alignment="0" tabsequence=32766 border="0" color="33554432" x="496" y="335" height="16" width="45" format="[general]" html.valueishtml="0" name=ptr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Competitor Rate:" border="2" color="0" x="95" y="411" height="16" width="105" html.valueishtml="0" name=competitor_rate_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=9 alignment="1" tabsequence=60 border="2" color="33554432" x="204" y="411" height="19" width="72" format="[general]" html.valueishtml="0" name=competitor_rate visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Competitor Name:" border="2" color="0" x="362" y="411" height="16" width="105" html.valueishtml="0" name=competitor_name_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=11 alignment="0" tabsequence=80 border="2" color="33554432" x="472" y="411" height="19" width="118" format="[general]" html.valueishtml="0" name=competitor_name visible="1" edit.limit=250 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Competitor Item:" border="2" color="0" x="95" y="445" height="16" width="105" html.valueishtml="0" name=competitor_item_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=10 alignment="0" tabsequence=70 border="2" color="33554432" x="204" y="445" height="19" width="66" format="[general]" html.valueishtml="0" name=competitor_item visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=21 alignment="0" tabsequence=32766 border="2" color="33554432" x="642" y="299" height="16" width="70" format="[general]" html.valueishtml="0" name=revised_ptd visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=20 alignment="0" tabsequence=32766 border="2" color="33554432" x="640" y="323" height="16" width="72" format="[general]" html.valueishtml="0" name=revised_pts visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=22 alignment="0" tabsequence=32766 border="2" color="33554432" x="644" y="343" height="16" width="67" format="[general]" html.valueishtml="0" name=revised_ptr visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Price To Stockist (PTS):" border="2" color="0" x="63" y="307" height="16" width="144" html.valueishtml="0" name=pts_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=16 alignment="0" tabsequence=32766 border="0" color="33554432" x="218" y="307" height="16" width="27" format="[general]" html.valueishtml="0" name=pts visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Management Approved Rate:" border="2" color="0" x="314" y="307" height="16" width="167" html.valueishtml="0" name=rate_apprv_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=15 alignment="0" tabsequence=32766 border="2" color="33554432" x="493" y="307" height="16" width="89" format="[general]" html.valueishtml="0" name=rate_apprv visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
groupbox(band=detail text="Others"border="2" color="33554432" x="14" y="513" height="151" width="765" name=gb_1 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=detail alignment="1" text="Line No:" border="2" color="0" x="43" y="536" height="17" width="105" html.valueishtml="0" name=line_no_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=2 alignment="1" tabsequence=32766 border="2" color="33554432" x="152" y="536" height="20" width="72" format="[general]" html.valueishtml="0" name=line_no visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Special Instruction:" border="2" color="0" x="298" y="536" height="17" width="111" html.valueishtml="0" name=spec_instr_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=13 alignment="0" tabsequence=100 border="2" color="33554432" x="412" y="536" height="20" width="91" format="[general]" html.valueishtml="0" name=spec_instr visible="1" edit.limit=2500 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Remarks:" border="2" color="0" x="41" y="568" height="17" width="105" html.valueishtml="0" name=remarks_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=12 alignment="0" tabsequence=90 border="2" color="33554432" x="150" y="568" height="20" width="111" format="[general]" html.valueishtml="0" name=remarks visible="1" edit.limit=2500 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Transaction Id:" border="2" color="0" x="303" y="568" height="17" width="105" html.valueishtml="0" name=tran_id_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=1 alignment="0" tabsequence=32766 border="2" color="33554432" x="412" y="568" height="20" width="66" format="[general]" html.valueishtml="0" name=tran_id visible="0" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=14 alignment="0" tabsequence=110 border="2" color="33554432" x="459" y="247" height="16" width="54" format="[Yes/No]" html.valueishtml="0" name=ptr_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Quoted Quantity:" border="2" color="0" x="55" y="180" height="16" width="105" html.valueishtml="0" name=qty_quot_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=4 alignment="1" tabsequence=20 border="2" color="33554432" x="164" y="180" height="19" width="65" format="[general]" html.valueishtml="0" name=qty_quot visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Special Rate:" border="2" color="0" x="365" y="179" height="16" width="84" html.valueishtml="0" name=rate_quot_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=7 alignment="1" tabsequence=50 border="2" color="33554432" x="454" y="180" height="19" width="56" format="[general]" html.valueishtml="0" name=rate_quot visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no edit.required=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Value:" border="2" color="0" x="55" y="213" height="16" width="105" html.valueishtml="0" name=value_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=23 alignment="0" tabsequence=32766 border="2" color="33554432" x="164" y="213" height="16" width="65" format="[general]" html.valueishtml="0" name=value visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Unit:" border="2" color="0" x="365" y="213" height="16" width="84" html.valueishtml="0" name=unit_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=5 alignment="0" tabsequence=30 border="2" color="33554432" x="454" y="213" height="19" width="56" format="[general]" html.valueishtml="0" name=unit visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Pack:" border="2" color="0" x="55" y="245" height="16" width="105" html.valueishtml="0" name=pack_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=6 alignment="0" tabsequence=40 border="2" color="33554432" x="164" y="245" height="19" width="65" format="[general]" html.valueishtml="0" name=pack_code visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=3 alignment="0" tabsequence=10 border="2" color="33554432" x="182" y="80" height="19" width="66" format="[general]" html.valueishtml="0" name=item_code visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.required=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Item:" border="2" color="0" x="71" y="80" height="16" width="105" html.valueishtml="0" name=item_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=19 alignment="0" tabsequence=32766 border="0" color="33554432" x="260" y="80" height="16" width="71" format="[general]" html.valueishtml="0" name=descr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Near Expiry:" border="2" color="0" x="70" y="119" height="16" width="105" html.valueishtml="0" name=near_expiry_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=8 alignment="0" tabsequence=32766 border="2" color="33554432" x="180" y="119" height="19" width="99" format="[general]" html.valueishtml="0" name=near_expiry visible="0" ddlb.limit=0 ddlb.allowedit=no ddlb.case=any ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Set Special Rate to PTR" border="2" color="0" x="302" y="246" height="16" width="146" html.valueishtml="0" name=ptr_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=24 alignment="0" tabsequence=32766 border="2" color="33554432" x="149" y="596" height="16" width="90" format="[general]" html.valueishtml="0" name=phy_attrib_13 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=25 alignment="0" tabsequence=32766 border="2" color="33554432" x="372" y="597" height="16" width="90" format="[general]" html.valueishtml="0" name=phy_attrib_14 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=26 alignment="0" tabsequence=32766 border="2" color="33554432" x="604" y="596" height="16" width="90" format="[general]" html.valueishtml="0" name=phy_attrib_15 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Distributor margin:" border="2" color="0" x="40" y="595" height="16" width="106" html.valueishtml="0" name=phy_attrib_13_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Stockist Margin:" border="2" color="0" x="262" y="597" height="16" width="106" html.valueishtml="0" name=phy_attrib_14_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Retailer Margin:" border="2" color="0" x="495" y="596" height="16" width="106" html.valueishtml="0" name=phy_attrib_15_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
htmltable(border="1" )
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" )
export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 )
import.xml()
export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" )
\ No newline at end of file
$PBExportHeader$rfq_wiz_det12.srd
release 9;
datawindow(units=1 timer_interval=0 color=67108864 processing=1 HTMLDW=no print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no grid.lines=0 )
header(height=54 color="536870912" )
summary(height=0 color="536870912" )
footer(height=0 color="536870912" )
detail(height=167 color="536870912" )
table(column=(type=char(130) updatewhereclause=yes name=descr dbname="item.descr" )
column=(type=char(10) update=yes updatewhereclause=yes name=pack_code dbname="sales_quot_req_det.pack_code" )
column=(type=char(10) update=yes updatewhereclause=yes name=unit dbname="sales_quot_req_det.unit" )
column=(type=char(10) update=yes updatewhereclause=yes name=item_code dbname="sales_quot_req_det.item_code" )
column=(type=number update=yes updatewhereclause=yes name=qty_quot dbname="sales_quot_req_det.qty_quot" )
column=(type=number update=yes updatewhereclause=yes name=rate_quot dbname="sales_quot_req_det.rate_quot" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=value dbname="sales_quot_req_det.value" )
column=(type=number update=yes updatewhereclause=yes name=rate_apprv dbname="sales_quot_req_det.rate_apprv" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=pts dbname="sales_quot_req_det.pts" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=ptd dbname="sales_quot_req_det.ptd" )
column=(type=number update=yes updatewhereclause=yes name=competitor_rate dbname="sales_quot_req_det.competitor_rate" )
column=(type=char(10) update=yes updatewhereclause=yes name=competitor_item dbname="sales_quot_req_det.competitor_item" )
column=(type=char(250) update=yes updatewhereclause=yes name=competitor_name dbname="sales_quot_req_det.competitor_name" )
column=(type=char(2500) update=yes updatewhereclause=yes name=remarks dbname="sales_quot_req_det.remarks" )
column=(type=char(2500) update=yes updatewhereclause=yes name=spec_instr dbname="sales_quot_req_det.spec_instr" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_pts dbname="sales_quot_req_det.revised_pts" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_ptd dbname="sales_quot_req_det.revised_ptd" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_ptr dbname="sales_quot_req_det.revised_ptr" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=ptr dbname="sales_quot_req_det.ptr" )
column=(type=char(10) update=yes updatewhereclause=yes key=yes name=tran_id dbname="sales_quot_req_det.tran_id" )
column=(type=number update=yes updatewhereclause=yes key=yes name=line_no dbname="sales_quot_req_det.line_no" )
column=(type=char(1) update=yes updatewhereclause=yes name=near_expiry dbname="sales_quot_req_det.near_expiry" )
column=(type=char(1) update=yes updatewhereclause=yes name=ptr_flag dbname="sales_quot_req_det.ptr_flag" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_13 dbname="phy_attrib_13" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_14 dbname="phy_attrib_14" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_15 dbname="phy_attrib_15" )
retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"sales_quot_req_det~" ) TABLE(NAME=~"item~" ) COLUMN(NAME=~"item.descr~") COLUMN(NAME=~"sales_quot_req_det.pack_code~") COLUMN(NAME=~"sales_quot_req_det.unit~") COLUMN(NAME=~"sales_quot_req_det.item_code~") COLUMN(NAME=~"sales_quot_req_det.qty_quot~") COLUMN(NAME=~"sales_quot_req_det.rate_quot~") COLUMN(NAME=~"sales_quot_req_det.value~") COLUMN(NAME=~"sales_quot_req_det.rate_apprv~") COLUMN(NAME=~"sales_quot_req_det.pts~") COLUMN(NAME=~"sales_quot_req_det.ptd~") COLUMN(NAME=~"sales_quot_req_det.competitor_rate~") COLUMN(NAME=~"sales_quot_req_det.competitor_item~") COLUMN(NAME=~"sales_quot_req_det.competitor_name~") COLUMN(NAME=~"sales_quot_req_det.remarks~") COLUMN(NAME=~"sales_quot_req_det.spec_instr~") COLUMN(NAME=~"sales_quot_req_det.revised_pts~") COLUMN(NAME=~"sales_quot_req_det.revised_ptd~") COLUMN(NAME=~"sales_quot_req_det.revised_ptr~") COLUMN(NAME=~"sales_quot_req_det.ptr~") COLUMN(NAME=~"sales_quot_req_det.tran_id~") COLUMN(NAME=~"sales_quot_req_det.line_no~") COLUMN(NAME=~"sales_quot_req_det.near_expiry~") COLUMN(NAME=~"sales_quot_req_det.ptr_flag~") COLUMN(NAME=~"item.phy_attrib_13~") COLUMN(NAME=~"item.phy_attrib_14~") COLUMN(NAME=~"item.phy_attrib_15~") JOIN (LEFT=~"sales_quot_req_det.item_code~" OP =~"=~"RIGHT=~"item.item_code~" OUTER1 =~"sales_quot_req_det.item_code~" )WHERE( EXP1 =~"sales_quot_req_det.tran_id~" OP =~"=~" EXP2 =~":tran_id~" ) ) ARG(NAME = ~"tran_id~" TYPE = number) " update="sales_quot_req_det" updatewhere=1 updatekeyinplace=no arguments=(("tran_id", number)) )
text(band=header alignment="0" text="Item" border="2" color="0" x="2" y="2" height="16" width="69" html.valueishtml="0" name=item_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Item Description" border="0" color="33554432" x="73" y="1" height="19" width="126" html.valueishtml="0" name=descr_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Pack" border="0" color="33554432" x="201" y="1" height="16" width="68" html.valueishtml="0" name=pack_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Unit" border="0" color="33554432" x="271" y="1" height="16" width="39" html.valueishtml="0" name=unit_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Quoted Quantity" border="0" color="33554432" x="312" y="1" height="16" width="68" html.valueishtml="0" name=qty_quot_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Special Rate" border="0" color="33554432" x="382" y="1" height="16" width="75" html.valueishtml="0" name=rate_quot_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Value" border="0" color="33554432" x="459" y="1" height="16" width="71" html.valueishtml="0" name=value_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Price to Stockist" border="0" color="33554432" x="532" y="1" height="16" width="59" html.valueishtml="0" name=pts_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Price to Distributor" border="0" color="33554432" x="593" y="1" height="16" width="56" html.valueishtml="0" name=ptd_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Price to Retailor" border="0" color="33554432" x="651" y="1" height="16" width="57" html.valueishtml="0" name=ptr_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Competitor Rate" border="0" color="33554432" x="710" y="1" height="16" width="94" html.valueishtml="0" name=competitor_rate_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Competitor Item" border="0" color="33554432" x="806" y="1" height="16" width="92" html.valueishtml="0" name=competitor_item_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Competitor Name" border="0" color="33554432" x="900" y="1" height="16" width="99" html.valueishtml="0" name=competitor_name_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Remarks" border="0" color="33554432" x="1001" y="1" height="16" width="440" html.valueishtml="0" name=remarks_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Special Instrustions" border="0" color="33554432" x="1443" y="1" height="16" width="435" html.valueishtml="0" name=spec_instr_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Revised PTS" border="0" color="33554432" x="1880" y="1" height="16" width="69" html.valueishtml="0" name=revised_pts_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Revised PTD" border="0" color="33554432" x="1951" y="1" height="16" width="68" html.valueishtml="0" name=revised_ptd_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Revised PTR" border="0" color="33554432" x="2021" y="0" height="16" width="66" html.valueishtml="0" name=revised_ptr_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Management Approved Rate" border="0" color="33554432" x="2599" y="0" height="16" width="132" html.valueishtml="0" name=rate_apprv_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Transaction Id" border="0" color="33554432" x="2359" y="1" height="16" width="58" html.valueishtml="0" name=tran_id_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Line No" border="0" color="33554432" x="2419" y="1" height="16" width="58" html.valueishtml="0" name=line_no_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Near Expiry" border="0" color="33554432" x="2479" y="1" height="16" width="75" html.valueishtml="0" name=near_expiry_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Ptr Flag" border="0" color="33554432" x="2556" y="0" height="16" width="41" html.valueishtml="0" name=ptr_flag_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Distributor margin:" border="0" color="33554432" x="2089" y="1" height="19" width="88" html.valueishtml="0" name=phy_attrib_13_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Stockist Margin:" border="0" color="33554432" x="2179" y="1" height="19" width="88" html.valueishtml="0" name=phy_attrib_14_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=header alignment="0" text="Retailer Margin:" border="0" color="33554432" x="2269" y="1" height="19" width="88" html.valueishtml="0" name=phy_attrib_15_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
column(band=detail id=4 alignment="1" tabsequence=32766 border="2" color="33554432" x="2" y="2" height="19" width="69" format="[general]" html.valueishtml="0" name=item_code visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="33554432" x="73" y="1" height="16" width="126" format="[general]" html.valueishtml="0" name=descr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=2 alignment="1" tabsequence=32766 border="0" color="33554432" x="201" y="1" height="16" width="68" format="[general]" html.valueishtml="0" name=pack_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=3 alignment="1" tabsequence=32766 border="0" color="33554432" x="271" y="1" height="16" width="39" format="[general]" html.valueishtml="0" name=unit visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=5 alignment="1" tabsequence=10 border="0" color="33554432" x="312" y="1" height="16" width="68" format="[general]" html.valueishtml="0" name=qty_quot visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=6 alignment="1" tabsequence=20 border="0" color="33554432" x="382" y="1" height="16" width="75" format="[general]" html.valueishtml="0" name=rate_quot visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=7 alignment="1" tabsequence=32766 border="0" color="33554432" x="459" y="1" height="16" width="71" format="[general]" html.valueishtml="0" name=value visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=9 alignment="1" tabsequence=32766 border="0" color="33554432" x="532" y="1" height="16" width="59" format="[general]" html.valueishtml="0" name=pts visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=10 alignment="1" tabsequence=32766 border="0" color="33554432" x="593" y="1" height="16" width="56" format="[general]" html.valueishtml="0" name=ptd visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=19 alignment="1" tabsequence=32766 border="0" color="33554432" x="651" y="1" height="16" width="57" format="[general]" html.valueishtml="0" name=ptr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=11 alignment="1" tabsequence=30 border="0" color="33554432" x="710" y="1" height="16" width="94" format="[general]" html.valueishtml="0" name=competitor_rate visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=12 alignment="0" tabsequence=40 border="0" color="33554432" x="806" y="1" height="16" width="92" format="[general]" html.valueishtml="0" name=competitor_item visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=13 alignment="0" tabsequence=50 border="0" color="33554432" x="900" y="1" height="16" width="99" format="[general]" html.valueishtml="0" name=competitor_name visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=14 alignment="0" tabsequence=60 border="0" color="33554432" x="1001" y="1" height="16" width="440" format="[general]" html.valueishtml="0" name=remarks visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=15 alignment="0" tabsequence=70 border="0" color="33554432" x="1443" y="1" height="16" width="435" format="[general]" html.valueishtml="0" name=spec_instr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=16 alignment="1" tabsequence=32766 border="0" color="33554432" x="1880" y="1" height="16" width="69" format="[general]" html.valueishtml="0" name=revised_pts visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=17 alignment="1" tabsequence=32766 border="0" color="33554432" x="1951" y="1" height="16" width="68" format="[general]" html.valueishtml="0" name=revised_ptd visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=18 alignment="1" tabsequence=32766 border="0" color="33554432" x="2021" y="1" height="16" width="66" format="[general]" html.valueishtml="0" name=revised_ptr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=21 alignment="1" tabsequence=90 border="0" color="33554432" x="2419" y="1" height="16" width="58" format="[general]" html.valueishtml="0" name=line_no visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=20 alignment="1" tabsequence=80 border="0" color="33554432" x="2359" y="1" height="16" width="58" format="[general]" html.valueishtml="0" name=tran_id visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=22 alignment="0" tabsequence=100 border="0" color="33554432" x="2479" y="1" height="16" width="75" format="[general]" html.valueishtml="0" name=near_expiry visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=23 alignment="0" tabsequence=110 border="0" color="33554432" x="2556" y="1" height="16" width="41" format="[general]" html.valueishtml="0" name=ptr_flag visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=8 alignment="1" tabsequence=32766 border="0" color="33554432" x="2599" y="1" height="16" width="132" format="[general]" html.valueishtml="0" name=rate_apprv visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=24 alignment="0" tabsequence=32766 border="0" color="33554432" x="2089" y="1" height="16" width="88" format="[general]" html.valueishtml="0" name=phy_attrib_13 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=25 alignment="0" tabsequence=32766 border="0" color="33554432" x="2179" y="1" height="16" width="88" format="[general]" html.valueishtml="0" name=phy_attrib_14 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=26 alignment="0" tabsequence=32766 border="0" color="33554432" x="2269" y="1" height="16" width="88" format="[general]" html.valueishtml="0" name=phy_attrib_15 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
htmltable(border="1" )
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" )
export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 )
import.xml()
export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" )
\ No newline at end of file
$PBExportHeader$rfq_wiz_det22.srd
release 9;
datawindow(units=1 timer_interval=0 color=1073741824 processing=0 HTMLDW=no print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no )
header(height=7 color="536870912" )
summary(height=0 color="536870912" )
footer(height=0 color="536870912" )
detail(height=793 color="536870912" )
table(column=(type=char(10) update=yes updatewhereclause=yes key=yes name=tran_id dbname="sales_quot_req_det.tran_id" )
column=(type=number update=yes updatewhereclause=yes key=yes name=line_no dbname="sales_quot_req_det.line_no" )
column=(type=char(10) update=yes updatewhereclause=yes name=item_code dbname="sales_quot_req_det.item_code" )
column=(type=number update=yes updatewhereclause=yes name=qty_quot dbname="sales_quot_req_det.qty_quot" )
column=(type=char(10) update=yes updatewhereclause=yes name=unit dbname="sales_quot_req_det.unit" )
column=(type=char(10) update=yes updatewhereclause=yes name=pack_code dbname="sales_quot_req_det.pack_code" )
column=(type=number update=yes updatewhereclause=yes name=rate_quot dbname="sales_quot_req_det.rate_quot" )
column=(type=char(1) update=yes updatewhereclause=yes name=near_expiry dbname="sales_quot_req_det.near_expiry" )
column=(type=number update=yes updatewhereclause=yes name=competitor_rate dbname="sales_quot_req_det.competitor_rate" )
column=(type=char(10) update=yes updatewhereclause=yes name=competitor_item dbname="sales_quot_req_det.competitor_item" initial=" " )
column=(type=char(250) update=yes updatewhereclause=yes name=competitor_name dbname="sales_quot_req_det.competitor_name" initial=" " )
column=(type=number update=yes updatewhereclause=yes name=rate_apprv dbname="sales_quot_req_det.rate_apprv" )
column=(type=char(2500) update=yes updatewhereclause=yes name=remarks dbname="sales_quot_req_det.remarks" initial=" " )
column=(type=decimal(3) update=yes updatewhereclause=yes name=pts dbname="sales_quot_req_det.pts" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=ptd dbname="sales_quot_req_det.ptd" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=ptr dbname="sales_quot_req_det.ptr" )
column=(type=char(2500) update=yes updatewhereclause=yes name=spec_instr dbname="sales_quot_req_det.spec_instr" )
column=(type=char(1) update=yes updatewhereclause=yes name=ptr_flag dbname="sales_quot_req_det.ptr_flag" )
column=(type=char(130) updatewhereclause=yes name=descr dbname="item.descr" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=value dbname="sales_quot_req_det.value" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_pts dbname="sales_quot_req_det.revised_pts" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_ptd dbname="sales_quot_req_det.revised_ptd" )
column=(type=decimal(3) update=yes updatewhereclause=yes name=revised_ptr dbname="sales_quot_req_det.revised_ptr" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_13 dbname="phy_attrib_13" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_14 dbname="phy_attrib_14" )
column=(type=char(15) updatewhereclause=yes name=phy_attrib_15 dbname="phy_attrib_15" )
retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"sales_quot_req_det~" ) TABLE(NAME=~"item~" ) COLUMN(NAME=~"sales_quot_req_det.tran_id~") COLUMN(NAME=~"sales_quot_req_det.line_no~") COLUMN(NAME=~"sales_quot_req_det.item_code~") COLUMN(NAME=~"sales_quot_req_det.qty_quot~") COLUMN(NAME=~"sales_quot_req_det.unit~") COLUMN(NAME=~"sales_quot_req_det.pack_code~") COLUMN(NAME=~"sales_quot_req_det.rate_quot~") COLUMN(NAME=~"sales_quot_req_det.near_expiry~") COLUMN(NAME=~"sales_quot_req_det.competitor_rate~") COLUMN(NAME=~"sales_quot_req_det.competitor_item~") COLUMN(NAME=~"sales_quot_req_det.competitor_name~") COLUMN(NAME=~"sales_quot_req_det.rate_apprv~") COLUMN(NAME=~"sales_quot_req_det.remarks~") COLUMN(NAME=~"sales_quot_req_det.pts~") COLUMN(NAME=~"sales_quot_req_det.ptd~") COLUMN(NAME=~"sales_quot_req_det.ptr~") COLUMN(NAME=~"sales_quot_req_det.spec_instr~") COLUMN(NAME=~"sales_quot_req_det.ptr_flag~") COLUMN(NAME=~"item.descr~") COLUMN(NAME=~"sales_quot_req_det.value~") COLUMN(NAME=~"sales_quot_req_det.revised_pts~") COLUMN(NAME=~"sales_quot_req_det.revised_ptd~") COLUMN(NAME=~"sales_quot_req_det.revised_ptr~") COLUMN(NAME=~"item.phy_attrib_13~") COLUMN(NAME=~"item.phy_attrib_14~") COLUMN(NAME=~"item.phy_attrib_15~") JOIN (LEFT=~"sales_quot_req_det.item_code~" OP =~"=~"RIGHT=~"item.item_code~" OUTER1 =~"sales_quot_req_det.item_code~" )WHERE( EXP1 =~"sales_quot_req_det.tran_id~" OP =~"=~" EXP2 =~":tran_id~" ) ) ARG(NAME = ~"tran_id~" TYPE = number) " update="sales_quot_req_det" updatewhere=1 updatekeyinplace=no arguments=(("tran_id", number)) )
groupbox(band=detail text="Others"border="2" color="33554432" x="127" y="627" height="126" width="727" name=gb_6 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
groupbox(band=detail text="General"border="2" color="0" x="21" y="47" height="121" width="777" name=gb_1 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
groupbox(band=detail text="Item"border="2" color="0" x="135" y="179" height="71" width="529" name=gb_2 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
groupbox(band=detail text="Quantity"border="2" color="0" x="142" y="268" height="93" width="532" name=gb_3 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
groupbox(band=detail text="Competitor"border="2" color="0" x="127" y="500" height="100" width="564" name=gb_5 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
groupbox(band=detail text="Price List"border="2" color="0" x="127" y="385" height="100" width="870" name=gb_4 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" )
text(band=detail alignment="1" text="Pack:" border="2" color="0" x="204" y="312" height="16" width="99" html.valueishtml="0" name=pack_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=6 alignment="1" tabsequence=40 border="2" color="0" x="308" y="312" height="16" width="60" format="[general]" html.valueishtml="0" name=pack_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=12 alignment="1" tabsequence=32766 border="2" color="0" x="308" y="446" height="16" width="65" format="[general]" html.valueishtml="0" name=rate_apprv visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=16 alignment="1" tabsequence=32766 border="2" color="0" x="574" y="444" height="16" width="28" format="[general]" html.valueishtml="0" name=ptr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Management Approval Rate:" border="2" color="0" x="137" y="447" height="16" width="163" html.valueishtml="0" name=rate_apprv_t visible="0" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Price To Retailer (PTR):" border="2" color="0" x="414" y="447" height="16" width="152" html.valueishtml="0" name=t_1 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=11 alignment="0" tabsequence=80 border="2" color="0" x="288" y="559" height="16" width="128" format="[general]" html.valueishtml="0" name=competitor_name visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Competitor Name:" border="2" color="0" x="161" y="559" height="16" width="116" html.valueishtml="0" name=competitor_name_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=5 alignment="1" tabsequence=30 border="2" color="0" x="533" y="313" height="16" width="60" format="[general]" html.valueishtml="0" name=unit visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Unit:" border="2" color="0" x="426" y="313" height="16" width="99" html.valueishtml="0" name=unit_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Competitor Rate:" border="2" color="0" x="157" y="530" height="16" width="116" html.valueishtml="0" name=competitor_rate_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=9 alignment="1" tabsequence=60 border="2" color="0" x="288" y="529" height="16" width="104" format="[general]" html.valueishtml="0" name=competitor_rate visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Competitor Item:" border="2" color="0" x="449" y="530" height="16" width="116" html.valueishtml="0" name=competitor_item_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=10 alignment="0" tabsequence=70 border="2" color="0" x="570" y="530" height="16" width="98" format="[general]" html.valueishtml="0" name=competitor_item visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=8 alignment="0" tabsequence=32766 border="2" color="0" x="450" y="199" height="16" width="90" format="[general]" html.valueishtml="0" name=near_expiry visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Item:" border="2" color="0" x="186" y="199" height="16" width="63" html.valueishtml="0" name=item_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=3 alignment="1" tabsequence=10 border="2" color="0" x="272" y="199" height="19" width="66" format="[general]" html.valueishtml="0" name=item_code visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.required=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Near Expiry:" border="2" color="0" x="366" y="199" height="16" width="72" html.valueishtml="0" name=near_expiry_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=19 alignment="0" tabsequence=32766 border="2" color="0" x="272" y="225" height="16" width="72" format="[general]" html.valueishtml="0" name=descr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=20 alignment="1" tabsequence=32766 border="2" color="0" x="791" y="414" height="16" width="81" format="[general]" html.valueishtml="0" name=value visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Values:" border="2" color="0" x="725" y="414" height="16" width="55" html.valueishtml="0" name=value_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=15 alignment="1" tabsequence=32766 border="2" color="0" x="573" y="414" height="16" width="29" format="[general]" html.valueishtml="0" name=ptd visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Price To Distributor (PTD):" border="2" color="0" x="412" y="414" height="16" width="152" html.valueishtml="0" name=ptd_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Price To Stockist (PTS):" border="2" color="0" x="160" y="414" height="16" width="141" html.valueishtml="0" name=pts_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=14 alignment="1" tabsequence=32766 border="2" color="0" x="308" y="414" height="16" width="37" format="[general]" html.valueishtml="0" name=pts visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=21 alignment="1" tabsequence=32766 border="2" color="0" x="626" y="412" height="16" width="75" format="[general]" html.valueishtml="0" name=revised_pts visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=22 alignment="1" tabsequence=32766 border="2" color="0" x="628" y="434" height="16" width="69" format="[general]" html.valueishtml="0" name=revised_ptd visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=23 alignment="1" tabsequence=32766 border="2" color="0" x="630" y="457" height="16" width="71" format="[general]" html.valueishtml="0" name=revised_ptr visible="0" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Line No:" border="2" color="0" x="34" y="76" height="16" width="124" html.valueishtml="0" name=line_no_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=2 alignment="1" tabsequence=32766 border="2" color="0" x="167" y="76" height="19" width="72" format="[general]" html.valueishtml="0" name=line_no visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Remarks:" border="2" color="0" x="446" y="76" height="19" width="100" html.valueishtml="0" name=remarks_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=13 alignment="0" tabsequence=90 border="2" color="0" x="552" y="76" height="16" width="224" format="[general]" html.valueishtml="0" name=remarks visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Special Instruction:" border="2" color="0" x="34" y="110" height="16" width="124" html.valueishtml="0" name=spec_instr_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=17 alignment="0" tabsequence=100 border="2" color="0" x="167" y="110" height="16" width="231" format="[general]" html.valueishtml="0" name=spec_instr visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Transaction Id:" border="2" color="0" x="446" y="110" height="19" width="100" html.valueishtml="0" name=tran_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=1 alignment="1" tabsequence=32766 border="2" color="0" x="552" y="110" height="19" width="66" format="[general]" html.valueishtml="0" name=tran_id visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Quoted Quantity:" border="2" color="0" x="202" y="284" height="16" width="99" html.valueishtml="0" name=qty_quot_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=4 alignment="1" tabsequence=20 border="2" color="0" x="310" y="284" height="16" width="63" format="[general]" html.valueishtml="0" name=qty_quot visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Special Rate:" border="2" color="0" x="427" y="284" height="16" width="99" html.valueishtml="0" name=rate_quot_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=7 alignment="1" tabsequence=50 border="2" color="0" x="531" y="284" height="16" width="64" format="[general]" html.valueishtml="0" name=rate_quot visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=18 alignment="0" tabsequence=110 border="2" color="0" x="600" y="284" height="16" width="51" format="[Yes/No]" html.valueishtml="0" name=ptr_flag visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Distributor margin:" border="2" color="0" x="161" y="655" height="16" width="116" html.valueishtml="0" name=phy_attrib_13_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=24 alignment="0" tabsequence=32766 border="2" color="0" x="281" y="654" height="16" width="90" format="[general]" html.valueishtml="0" name=phy_attrib_13 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=25 alignment="0" tabsequence=32766 border="2" color="0" x="508" y="653" height="16" width="90" format="[general]" html.valueishtml="0" name=phy_attrib_14 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=26 alignment="0" tabsequence=32766 border="2" color="0" x="739" y="654" height="16" width="90" format="[general]" html.valueishtml="0" name=phy_attrib_15 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Stockist Margin:" border="2" color="0" x="389" y="654" height="16" width="116" html.valueishtml="0" name=phy_attrib_14_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=detail alignment="1" text="Retailer Margin:" border="2" color="0" x="619" y="654" height="16" width="116" html.valueishtml="0" name=phy_attrib_15_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
htmltable(border="1" )
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" )
export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 )
import.xml()
export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" )
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Sybase_eDataWindow>
<Sybase_eDataWindow>
<Release>9</Release>
<BaseDefinition>
<units>1</units>
<timer_interval>0</timer_interval>
<color>67108864</color>
<processing>1</processing>
<HTMLDW>no</HTMLDW>
<print>
<documentname></documentname>
<printername></printername>
<orientation>0</orientation>
<margin>
<left>24</left>
<right>24</right>
<top>24</top>
<bottom>24</bottom>
</margin>
<paper>
<source>0</source>
<size>0</size>
</paper>
<prompt>no</prompt>
<canusedefaultprinter>yes</canusedefaultprinter>
<buttons>no</buttons>
<preview.buttons>no</preview.buttons>
<cliptext>no</cliptext>
<overrideprintjob>no</overrideprintjob>
</print>
<grid.lines>0</grid.lines>
</BaseDefinition>
<Header>
<height>46</height>
<color>536870912</color>
</Header>
<Summary>
<height>0</height>
<color>536870912</color>
</Summary>
<Footer>
<height>2</height>
<color>536870912</color>
</Footer>
<Detail>
<height>23</height>
<color>536870912</color>
</Detail>
<TableDefinition>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<key>yes</key>
<name>tran_id</name>
<dbname>sales_quot_req_det.tran_id</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<key>yes</key>
<name>line_no</name>
<dbname>sales_quot_req_det.line_no</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>item_code</name>
<dbname>sales_quot_req_det.item_code</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>qty_quot</name>
<dbname>sales_quot_req_det.qty_quot</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>unit</name>
<dbname>sales_quot_req_det.unit</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>pack_code</name>
<dbname>sales_quot_req_det.pack_code</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>rate_quot</name>
<dbname>sales_quot_req_det.rate_quot</dbname>
</table_column>
<table_column>
<type size="1">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>near_expiry</name>
<dbname>sales_quot_req_det.near_expiry</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_rate</name>
<dbname>sales_quot_req_det.competitor_rate</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_item</name>
<dbname>sales_quot_req_det.competitor_item</dbname>
</table_column>
<table_column>
<type size="250">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_name</name>
<dbname>sales_quot_req_det.competitor_name</dbname>
</table_column>
<table_column>
<type size="2500">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>spec_instr</name>
<dbname>sales_quot_req_det.spec_instr</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>rate_apprv</name>
<dbname>sales_quot_req_det.rate_apprv</dbname>
</table_column>
<table_column>
<type size="2500">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>remarks</name>
<dbname>sales_quot_req_det.remarks</dbname>
</table_column>
<table_column>
<type size="1">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptr_flag</name>
<dbname>sales_quot_req_det.ptr_flag</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>pts</name>
<dbname>sales_quot_req_det.pts</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptd</name>
<dbname>sales_quot_req_det.ptd</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptr</name>
<dbname>sales_quot_req_det.ptr</dbname>
</table_column>
<table_column>
<type size="130">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>descr</name>
<dbname>item.descr</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<updatewhereclause>yes</updatewhereclause>
<name>revised_pts</name>
<dbname>sales_quot_req_det.revised_pts</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<updatewhereclause>yes</updatewhereclause>
<name>revised_ptd</name>
<dbname>sales_quot_req_det.revised_ptd</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<updatewhereclause>yes</updatewhereclause>
<name>revised_ptr</name>
<dbname>sales_quot_req_det.revised_ptr</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_13</name>
<dbname>phy_attrib_13</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_14</name>
<dbname>phy_attrib_14</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_15</name>
<dbname>phy_attrib_15</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>value</name>
<dbname>sales_quot_req_det.value</dbname>
</table_column>
<retrieve>PBSELECT( VERSION(400) TABLE(NAME=&quot;sales_quot_req_det&quot; ) TABLE(NAME=&quot;item&quot; ) COLUMN(NAME=&quot;sales_quot_req_det.tran_id&quot;) COLUMN(NAME=&quot;sales_quot_req_det.line_no&quot;) COLUMN(NAME=&quot;sales_quot_req_det.item_code&quot;) COLUMN(NAME=&quot;sales_quot_req_det.qty_quot&quot;) COLUMN(NAME=&quot;sales_quot_req_det.unit&quot;) COLUMN(NAME=&quot;sales_quot_req_det.pack_code&quot;) COLUMN(NAME=&quot;sales_quot_req_det.rate_quot&quot;) COLUMN(NAME=&quot;sales_quot_req_det.near_expiry&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_rate&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_item&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_name&quot;) COLUMN(NAME=&quot;sales_quot_req_det.spec_instr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.rate_apprv&quot;) COLUMN(NAME=&quot;sales_quot_req_det.remarks&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptr_flag&quot;) COLUMN(NAME=&quot;sales_quot_req_det.pts&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptd&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptr&quot;) COLUMN(NAME=&quot;item.descr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_pts&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_ptd&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_ptr&quot;) COLUMN(NAME=&quot;item.phy_attrib_13&quot;) COLUMN(NAME=&quot;item.phy_attrib_14&quot;) COLUMN(NAME=&quot;item.phy_attrib_15&quot;) COLUMN(NAME=&quot;sales_quot_req_det.value&quot;) JOIN (LEFT=&quot;sales_quot_req_det.item_code&quot; OP =&quot;=&quot;RIGHT=&quot;item.item_code&quot; OUTER1 =&quot;sales_quot_req_det.item_code&quot; )WHERE( EXP1 =&quot;sales_quot_req_det.tran_id&quot; OP =&quot;=&quot; EXP2 =&quot;:tran_id&quot; ) ) ARG(NAME = &quot;tran_id&quot; TYPE = string) </retrieve>
<update>sales_quot_req_det</update>
<updatewhere>0</updatewhere>
<updatekeyinplace>no</updatekeyinplace>
<argument>
<name>tran_id</name>
<type>string</type>
</argument>
</TableDefinition>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Transaction Id</text>
<border>2</border>
<color>0</color>
<x>2</x>
<y>2</y>
<height>16</height>
<width>93</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>tran_id_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Line No</text>
<border>2</border>
<color>0</color>
<x>97</x>
<y>2</y>
<height>16</height>
<width>66</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>line_no_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Item Code</text>
<border>2</border>
<color>0</color>
<x>165</x>
<y>2</y>
<height>16</height>
<width>66</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>item_code_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Quoted Quantity</text>
<border>2</border>
<color>0</color>
<x>233</x>
<y>2</y>
<height>16</height>
<width>101</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>qty_quot_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Unit</text>
<border>2</border>
<color>0</color>
<x>336</x>
<y>2</y>
<height>16</height>
<width>66</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>unit_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Pack Code</text>
<border>2</border>
<color>0</color>
<x>404</x>
<y>2</y>
<height>16</height>
<width>66</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pack_code_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Rate Quote</text>
<border>2</border>
<color>0</color>
<x>472</x>
<y>2</y>
<height>16</height>
<width>72</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_quot_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Near Expiry</text>
<border>2</border>
<color>0</color>
<x>546</x>
<y>2</y>
<height>16</height>
<width>84</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>near_expiry_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Competitor Rate</text>
<border>2</border>
<color>0</color>
<x>632</x>
<y>2</y>
<height>16</height>
<width>104</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_rate_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Competitor Item</text>
<border>2</border>
<color>0</color>
<x>738</x>
<y>2</y>
<height>16</height>
<width>101</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_item_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Competitor Name</text>
<border>2</border>
<color>0</color>
<x>841</x>
<y>2</y>
<height>16</height>
<width>112</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_name_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Special Instruction</text>
<border>2</border>
<color>0</color>
<x>955</x>
<y>2</y>
<height>16</height>
<width>102</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>spec_instr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Approval Rate</text>
<border>2</border>
<color>0</color>
<x>2142</x>
<y>2</y>
<height>16</height>
<width>146</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_apprv_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>2</alignment>
<text>Remarks</text>
<border>2</border>
<color>0</color>
<x>1059</x>
<y>2</y>
<height>16</height>
<width>79</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>remarks_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Price To Retailer Flag</text>
<border>0</border>
<color>33554432</color>
<x>1140</x>
<y>1</y>
<height>19</height>
<width>156</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_flag_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Price To Stockist</text>
<border>0</border>
<color>33554432</color>
<x>1298</x>
<y>0</y>
<height>19</height>
<width>138</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pts_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Price To Distributor</text>
<border>0</border>
<color>33554432</color>
<x>1438</x>
<y>1</y>
<height>19</height>
<width>148</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptd_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Price To Retailer</text>
<border>0</border>
<color>33554432</color>
<x>1588</x>
<y>1</y>
<height>19</height>
<width>128</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Item Description</text>
<border>0</border>
<color>33554432</color>
<x>1718</x>
<y>1</y>
<height>19</height>
<width>87</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>descr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Revised Pts</text>
<border>0</border>
<color>33554432</color>
<x>2290</x>
<y>1</y>
<height>19</height>
<width>85</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_pts_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Revised Ptd</text>
<border>0</border>
<color>33554432</color>
<x>2377</x>
<y>1</y>
<height>19</height>
<width>93</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptd_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Revised Ptr</text>
<border>0</border>
<color>33554432</color>
<x>2472</x>
<y>1</y>
<height>19</height>
<width>85</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptr_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Distributor margin:</text>
<border>0</border>
<color>33554432</color>
<x>1807</x>
<y>1</y>
<height>19</height>
<width>88</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_13_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Stockist Margin:</text>
<border>0</border>
<color>33554432</color>
<x>1897</x>
<y>1</y>
<height>19</height>
<width>88</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_14_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Retailer Margin:</text>
<border>0</border>
<color>33554432</color>
<x>1987</x>
<y>1</y>
<height>19</height>
<width>88</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_15_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Value</text>
<border>0</border>
<color>33554432</color>
<x>2077</x>
<y>1</y>
<height>19</height>
<width>63</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>value_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>1</id>
<alignment>0</alignment>
<tabsequence>10</tabsequence>
<border>2</border>
<color>33554432</color>
<x>2</x>
<y>2</y>
<height>19</height>
<width>93</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>tran_id</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>2</id>
<alignment>1</alignment>
<tabsequence>20</tabsequence>
<border>2</border>
<color>33554432</color>
<x>97</x>
<y>2</y>
<height>19</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>line_no</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>3</id>
<alignment>0</alignment>
<tabsequence>30</tabsequence>
<border>2</border>
<color>33554432</color>
<x>165</x>
<y>2</y>
<height>19</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>item_code</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>4</id>
<alignment>1</alignment>
<tabsequence>40</tabsequence>
<border>2</border>
<color>33554432</color>
<x>233</x>
<y>2</y>
<height>19</height>
<width>101</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>qty_quot</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>5</id>
<alignment>0</alignment>
<tabsequence>50</tabsequence>
<border>2</border>
<color>33554432</color>
<x>336</x>
<y>2</y>
<height>19</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>unit</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>6</id>
<alignment>0</alignment>
<tabsequence>60</tabsequence>
<border>2</border>
<color>33554432</color>
<x>404</x>
<y>2</y>
<height>19</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pack_code</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>7</id>
<alignment>1</alignment>
<tabsequence>70</tabsequence>
<border>2</border>
<color>33554432</color>
<x>472</x>
<y>2</y>
<height>19</height>
<width>72</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_quot</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>8</id>
<alignment>0</alignment>
<tabsequence>80</tabsequence>
<border>2</border>
<color>33554432</color>
<x>546</x>
<y>2</y>
<height>19</height>
<width>84</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>near_expiry</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>1</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>9</id>
<alignment>1</alignment>
<tabsequence>90</tabsequence>
<border>2</border>
<color>33554432</color>
<x>632</x>
<y>2</y>
<height>19</height>
<width>104</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_rate</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>10</id>
<alignment>0</alignment>
<tabsequence>100</tabsequence>
<border>2</border>
<color>33554432</color>
<x>738</x>
<y>2</y>
<height>19</height>
<width>101</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_item</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>11</id>
<alignment>0</alignment>
<tabsequence>110</tabsequence>
<border>2</border>
<color>33554432</color>
<x>841</x>
<y>2</y>
<height>19</height>
<width>112</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_name</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>250</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>12</id>
<alignment>0</alignment>
<tabsequence>120</tabsequence>
<border>2</border>
<color>33554432</color>
<x>955</x>
<y>2</y>
<height>19</height>
<width>102</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>spec_instr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>2500</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>13</id>
<alignment>1</alignment>
<tabsequence>230</tabsequence>
<border>2</border>
<color>33554432</color>
<x>2142</x>
<y>2</y>
<height>19</height>
<width>146</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_apprv</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>14</id>
<alignment>0</alignment>
<tabsequence>130</tabsequence>
<border>2</border>
<color>33554432</color>
<x>1059</x>
<y>2</y>
<height>19</height>
<width>79</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>remarks</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>2500</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>15</id>
<alignment>0</alignment>
<tabsequence>140</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1140</x>
<y>1</y>
<height>16</height>
<width>156</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_flag</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>16</id>
<alignment>0</alignment>
<tabsequence>150</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1298</x>
<y>1</y>
<height>16</height>
<width>138</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pts</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>17</id>
<alignment>0</alignment>
<tabsequence>160</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1438</x>
<y>1</y>
<height>16</height>
<width>148</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptd</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>18</id>
<alignment>0</alignment>
<tabsequence>170</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1588</x>
<y>1</y>
<height>16</height>
<width>128</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>19</id>
<alignment>0</alignment>
<tabsequence>180</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1718</x>
<y>1</y>
<height>16</height>
<width>87</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>descr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>20</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2290</x>
<y>1</y>
<height>16</height>
<width>85</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_pts</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>21</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2377</x>
<y>1</y>
<height>16</height>
<width>93</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptd</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>22</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2472</x>
<y>1</y>
<height>16</height>
<width>85</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptr</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>23</id>
<alignment>0</alignment>
<tabsequence>190</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1807</x>
<y>1</y>
<height>16</height>
<width>88</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_13</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>24</id>
<alignment>0</alignment>
<tabsequence>200</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1897</x>
<y>1</y>
<height>16</height>
<width>88</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_14</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>25</id>
<alignment>0</alignment>
<tabsequence>210</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1987</x>
<y>1</y>
<height>16</height>
<width>88</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_15</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>26</id>
<alignment>0</alignment>
<tabsequence>220</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2077</x>
<y>1</y>
<height>16</height>
<width>63</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>value</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<HtmlTable>
<border>1</border>
</HtmlTable>
<HtmlGen>
<clientevents>1</clientevents>
<clientvalidation>1</clientvalidation>
<clientcomputedfields>1</clientcomputedfields>
<clientformatting>0</clientformatting>
<clientscriptable>0</clientscriptable>
<generatejavascript>1</generatejavascript>
<encodeselflinkargs>1</encodeselflinkargs>
<netscapelayers>0</netscapelayers>
</HtmlGen>
<Export.XML>
<headgroups>1</headgroups>
<includewhitespace>0</includewhitespace>
<metadatatype>0</metadatatype>
<savemetadata>0</savemetadata>
</Export.XML>
<Import.XML>
</Import.XML>
<Export.PDF>
<method>0</method>
<distill.custompostscript>0</distill.custompostscript>
<xslfop.print>0</xslfop.print>
</Export.PDF>
</Sybase_eDataWindow>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Sybase_eDataWindow>
<Sybase_eDataWindow>
<Release>9</Release>
<BaseDefinition>
<units>1</units>
<timer_interval>0</timer_interval>
<color>1073741824</color>
<processing>0</processing>
<HTMLDW>no</HTMLDW>
<print>
<documentname></documentname>
<printername></printername>
<orientation>0</orientation>
<margin>
<left>24</left>
<right>24</right>
<top>24</top>
<bottom>24</bottom>
</margin>
<paper>
<source>0</source>
<size>0</size>
</paper>
<prompt>no</prompt>
<canusedefaultprinter>yes</canusedefaultprinter>
<buttons>no</buttons>
<preview.buttons>no</preview.buttons>
<cliptext>no</cliptext>
<overrideprintjob>no</overrideprintjob>
</print>
</BaseDefinition>
<Summary>
<height>213</height>
<color>536870912</color>
</Summary>
<Footer>
<height>204</height>
<color>536870912</color>
</Footer>
<Detail>
<height>1028</height>
<color>536870912</color>
</Detail>
<TableDefinition>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<key>yes</key>
<name>tran_id</name>
<dbname>sales_quot_req_det.tran_id</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<key>yes</key>
<name>line_no</name>
<dbname>sales_quot_req_det.line_no</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>item_code</name>
<dbname>sales_quot_req_det.item_code</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>qty_quot</name>
<dbname>sales_quot_req_det.qty_quot</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>unit</name>
<dbname>sales_quot_req_det.unit</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>pack_code</name>
<dbname>sales_quot_req_det.pack_code</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>rate_quot</name>
<dbname>sales_quot_req_det.rate_quot</dbname>
</table_column>
<table_column>
<type size="1">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>near_expiry</name>
<dbname>sales_quot_req_det.near_expiry</dbname>
<values>
<item display="Yes" data="Y"/>
<item display="No" data="N"/>
</values>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_rate</name>
<dbname>sales_quot_req_det.competitor_rate</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_item</name>
<dbname>sales_quot_req_det.competitor_item</dbname>
</table_column>
<table_column>
<type size="250">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_name</name>
<dbname>sales_quot_req_det.competitor_name</dbname>
</table_column>
<table_column>
<type size="2500">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>remarks</name>
<dbname>sales_quot_req_det.remarks</dbname>
</table_column>
<table_column>
<type size="2500">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>spec_instr</name>
<dbname>sales_quot_req_det.spec_instr</dbname>
</table_column>
<table_column>
<type size="1">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptr_flag</name>
<dbname>sales_quot_req_det.ptr_flag</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>rate_apprv</name>
<dbname>sales_quot_req_det.rate_apprv</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>pts</name>
<dbname>sales_quot_req_det.pts</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptd</name>
<dbname>sales_quot_req_det.ptd</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptr</name>
<dbname>sales_quot_req_det.ptr</dbname>
</table_column>
<table_column>
<type size="130">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>descr</name>
<dbname>item.descr</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_pts</name>
<dbname>sales_quot_req_det.revised_pts</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_ptd</name>
<dbname>sales_quot_req_det.revised_ptd</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_ptr</name>
<dbname>sales_quot_req_det.revised_ptr</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>value</name>
<dbname>sales_quot_req_det.value</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_13</name>
<dbname>phy_attrib_13</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_14</name>
<dbname>phy_attrib_14</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_15</name>
<dbname>phy_attrib_15</dbname>
</table_column>
<retrieve>PBSELECT( VERSION(400) TABLE(NAME=&quot;sales_quot_req_det&quot; ) TABLE(NAME=&quot;item&quot; ) COLUMN(NAME=&quot;sales_quot_req_det.tran_id&quot;) COLUMN(NAME=&quot;sales_quot_req_det.line_no&quot;) COLUMN(NAME=&quot;sales_quot_req_det.item_code&quot;) COLUMN(NAME=&quot;sales_quot_req_det.qty_quot&quot;) COLUMN(NAME=&quot;sales_quot_req_det.unit&quot;) COLUMN(NAME=&quot;sales_quot_req_det.pack_code&quot;) COLUMN(NAME=&quot;sales_quot_req_det.rate_quot&quot;) COLUMN(NAME=&quot;sales_quot_req_det.near_expiry&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_rate&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_item&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_name&quot;) COLUMN(NAME=&quot;sales_quot_req_det.remarks&quot;) COLUMN(NAME=&quot;sales_quot_req_det.spec_instr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptr_flag&quot;) COLUMN(NAME=&quot;sales_quot_req_det.rate_apprv&quot;) COLUMN(NAME=&quot;sales_quot_req_det.pts&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptd&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptr&quot;) COLUMN(NAME=&quot;item.descr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_pts&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_ptd&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_ptr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.value&quot;) COLUMN(NAME=&quot;item.phy_attrib_13&quot;) COLUMN(NAME=&quot;item.phy_attrib_14&quot;) COLUMN(NAME=&quot;item.phy_attrib_15&quot;) JOIN (LEFT=&quot;sales_quot_req_det.item_code&quot; OP =&quot;=&quot;RIGHT=&quot;item.item_code&quot; OUTER1 =&quot;sales_quot_req_det.item_code&quot; )WHERE( EXP1 =&quot;sales_quot_req_det.tran_id&quot; OP =&quot;=&quot; EXP2 =&quot;:tran_id&quot; ) ) ARG(NAME = &quot;tran_id&quot; TYPE = number) </retrieve>
<update>sales_quot_req_det</update>
<updatewhere>1</updatewhere>
<updatekeyinplace>no</updatekeyinplace>
<argument>
<name>tran_id</name>
<type>number</type>
</argument>
</TableDefinition>
<GroupBox>
<band>Detail</band>
<text>Price List</text>
<border>2</border>
<color>0</color>
<x>26</x>
<y>282</y>
<height>100</height>
<width>1030</width>
<name>gb_6</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<GroupBox>
<band>Detail</band>
<text>Quantity</text>
<border>2</border>
<color>0</color>
<x>34</x>
<y>161</y>
<height>109</height>
<width>630</width>
<name>gb_3</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<GroupBox>
<band>Detail</band>
<text>Competitor</text>
<border>2</border>
<color>0</color>
<x>18</x>
<y>392</y>
<height>100</height>
<width>630</width>
<name>gb_5</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<GroupBox>
<band>Detail</band>
<text>Item</text>
<border>2</border>
<color>0</color>
<x>18</x>
<y>56</y>
<height>97</height>
<width>617</width>
<name>gb_2</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Price To Distributor (PTD):</text>
<border>2</border>
<color>0</color>
<x>59</x>
<y>335</y>
<height>16</height>
<width>152</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptd_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>17</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>220</x>
<y>335</y>
<height>16</height>
<width>35</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptd</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Price To Retailer (PTR):</text>
<border>2</border>
<color>0</color>
<x>323</x>
<y>335</y>
<height>16</height>
<width>163</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>18</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>496</x>
<y>335</y>
<height>16</height>
<width>45</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Competitor Rate:</text>
<border>2</border>
<color>0</color>
<x>95</x>
<y>411</y>
<height>16</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_rate_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>9</id>
<alignment>1</alignment>
<tabsequence>60</tabsequence>
<border>2</border>
<color>33554432</color>
<x>204</x>
<y>411</y>
<height>19</height>
<width>72</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_rate</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Competitor Name:</text>
<border>2</border>
<color>0</color>
<x>362</x>
<y>411</y>
<height>16</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_name_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>11</id>
<alignment>0</alignment>
<tabsequence>80</tabsequence>
<border>2</border>
<color>33554432</color>
<x>472</x>
<y>411</y>
<height>19</height>
<width>118</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_name</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>250</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Competitor Item:</text>
<border>2</border>
<color>0</color>
<x>95</x>
<y>445</y>
<height>16</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_item_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>10</id>
<alignment>0</alignment>
<tabsequence>70</tabsequence>
<border>2</border>
<color>33554432</color>
<x>204</x>
<y>445</y>
<height>19</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_item</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>21</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>642</x>
<y>299</y>
<height>16</height>
<width>70</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptd</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>20</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>640</x>
<y>323</y>
<height>16</height>
<width>72</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_pts</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>22</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>644</x>
<y>343</y>
<height>16</height>
<width>67</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptr</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Price To Stockist (PTS):</text>
<border>2</border>
<color>0</color>
<x>63</x>
<y>307</y>
<height>16</height>
<width>144</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pts_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>16</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>218</x>
<y>307</y>
<height>16</height>
<width>27</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pts</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Management Approved Rate:</text>
<border>2</border>
<color>0</color>
<x>314</x>
<y>307</y>
<height>16</height>
<width>167</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_apprv_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>15</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>493</x>
<y>307</y>
<height>16</height>
<width>89</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_apprv</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<GroupBox>
<band>Detail</band>
<text>Others</text>
<border>2</border>
<color>33554432</color>
<x>14</x>
<y>513</y>
<height>151</height>
<width>765</width>
<name>gb_1</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Line No:</text>
<border>2</border>
<color>0</color>
<x>43</x>
<y>536</y>
<height>17</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>line_no_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>2</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>152</x>
<y>536</y>
<height>20</height>
<width>72</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>line_no</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Special Instruction:</text>
<border>2</border>
<color>0</color>
<x>298</x>
<y>536</y>
<height>17</height>
<width>111</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>spec_instr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>13</id>
<alignment>0</alignment>
<tabsequence>100</tabsequence>
<border>2</border>
<color>33554432</color>
<x>412</x>
<y>536</y>
<height>20</height>
<width>91</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>spec_instr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>2500</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Remarks:</text>
<border>2</border>
<color>0</color>
<x>41</x>
<y>568</y>
<height>17</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>remarks_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>12</id>
<alignment>0</alignment>
<tabsequence>90</tabsequence>
<border>2</border>
<color>33554432</color>
<x>150</x>
<y>568</y>
<height>20</height>
<width>111</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>remarks</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>2500</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Transaction Id:</text>
<border>2</border>
<color>0</color>
<x>303</x>
<y>568</y>
<height>17</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>tran_id_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>1</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>412</x>
<y>568</y>
<height>20</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>tran_id</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>14</id>
<alignment>0</alignment>
<tabsequence>110</tabsequence>
<border>2</border>
<color>33554432</color>
<x>459</x>
<y>247</y>
<height>16</height>
<width>54</width>
<format>[Yes/No]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_flag</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>no</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Quoted Quantity:</text>
<border>2</border>
<color>0</color>
<x>55</x>
<y>180</y>
<height>16</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>qty_quot_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>4</id>
<alignment>1</alignment>
<tabsequence>20</tabsequence>
<border>2</border>
<color>33554432</color>
<x>164</x>
<y>180</y>
<height>19</height>
<width>65</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>qty_quot</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Special Rate:</text>
<border>2</border>
<color>0</color>
<x>365</x>
<y>179</y>
<height>16</height>
<width>84</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_quot_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>7</id>
<alignment>1</alignment>
<tabsequence>50</tabsequence>
<border>2</border>
<color>33554432</color>
<x>454</x>
<y>180</y>
<height>19</height>
<width>56</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_quot</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>no</autoselect>
<required>yes</required>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Value:</text>
<border>2</border>
<color>0</color>
<x>55</x>
<y>213</y>
<height>16</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>value_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>23</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>164</x>
<y>213</y>
<height>16</height>
<width>65</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>value</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Unit:</text>
<border>2</border>
<color>0</color>
<x>365</x>
<y>213</y>
<height>16</height>
<width>84</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>unit_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>5</id>
<alignment>0</alignment>
<tabsequence>30</tabsequence>
<border>2</border>
<color>33554432</color>
<x>454</x>
<y>213</y>
<height>19</height>
<width>56</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>unit</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Pack:</text>
<border>2</border>
<color>0</color>
<x>55</x>
<y>245</y>
<height>16</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pack_code_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>6</id>
<alignment>0</alignment>
<tabsequence>40</tabsequence>
<border>2</border>
<color>33554432</color>
<x>164</x>
<y>245</y>
<height>19</height>
<width>65</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pack_code</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>3</id>
<alignment>0</alignment>
<tabsequence>10</tabsequence>
<border>2</border>
<color>33554432</color>
<x>182</x>
<y>80</y>
<height>19</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>item_code</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<required>yes</required>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Item:</text>
<border>2</border>
<color>0</color>
<x>71</x>
<y>80</y>
<height>16</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>item_code_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>19</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>260</x>
<y>80</y>
<height>16</height>
<width>71</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>descr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Near Expiry:</text>
<border>2</border>
<color>0</color>
<x>70</x>
<y>119</y>
<height>16</height>
<width>105</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>near_expiry_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>8</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>180</x>
<y>119</y>
<height>19</height>
<width>99</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>near_expiry</name>
<visible>0</visible>
<EditStyle style="ddlb">
<limit>0</limit>
<allowedit>no</allowedit>
<case>any</case>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Set Special Rate to PTR</text>
<border>2</border>
<color>0</color>
<x>302</x>
<y>246</y>
<height>16</height>
<width>146</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_flag_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>24</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>149</x>
<y>596</y>
<height>16</height>
<width>90</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_13</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>25</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>372</x>
<y>597</y>
<height>16</height>
<width>90</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_14</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>26</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>604</x>
<y>596</y>
<height>16</height>
<width>90</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_15</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Distributor margin:</text>
<border>2</border>
<color>0</color>
<x>40</x>
<y>595</y>
<height>16</height>
<width>106</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_13_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Stockist Margin:</text>
<border>2</border>
<color>0</color>
<x>262</x>
<y>597</y>
<height>16</height>
<width>106</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_14_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Retailer Margin:</text>
<border>2</border>
<color>0</color>
<x>495</x>
<y>596</y>
<height>16</height>
<width>106</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_15_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<HtmlTable>
<border>1</border>
</HtmlTable>
<HtmlGen>
<clientevents>1</clientevents>
<clientvalidation>1</clientvalidation>
<clientcomputedfields>1</clientcomputedfields>
<clientformatting>0</clientformatting>
<clientscriptable>0</clientscriptable>
<generatejavascript>1</generatejavascript>
<encodeselflinkargs>1</encodeselflinkargs>
<netscapelayers>0</netscapelayers>
</HtmlGen>
<Export.XML>
<headgroups>1</headgroups>
<includewhitespace>0</includewhitespace>
<metadatatype>0</metadatatype>
<savemetadata>0</savemetadata>
</Export.XML>
<Import.XML>
</Import.XML>
<Export.PDF>
<method>0</method>
<distill.custompostscript>0</distill.custompostscript>
<xslfop.print>0</xslfop.print>
</Export.PDF>
</Sybase_eDataWindow>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Sybase_eDataWindow>
<Sybase_eDataWindow>
<Release>9</Release>
<BaseDefinition>
<units>1</units>
<timer_interval>0</timer_interval>
<color>67108864</color>
<processing>1</processing>
<HTMLDW>no</HTMLDW>
<print>
<documentname></documentname>
<printername></printername>
<orientation>0</orientation>
<margin>
<left>24</left>
<right>24</right>
<top>24</top>
<bottom>24</bottom>
</margin>
<paper>
<source>0</source>
<size>0</size>
</paper>
<prompt>no</prompt>
<canusedefaultprinter>yes</canusedefaultprinter>
<buttons>no</buttons>
<preview.buttons>no</preview.buttons>
<cliptext>no</cliptext>
<overrideprintjob>no</overrideprintjob>
</print>
<grid.lines>0</grid.lines>
</BaseDefinition>
<Header>
<height>54</height>
<color>536870912</color>
</Header>
<Summary>
<height>0</height>
<color>536870912</color>
</Summary>
<Footer>
<height>0</height>
<color>536870912</color>
</Footer>
<Detail>
<height>167</height>
<color>536870912</color>
</Detail>
<TableDefinition>
<table_column>
<type size="130">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>descr</name>
<dbname>item.descr</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>pack_code</name>
<dbname>sales_quot_req_det.pack_code</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>unit</name>
<dbname>sales_quot_req_det.unit</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>item_code</name>
<dbname>sales_quot_req_det.item_code</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>qty_quot</name>
<dbname>sales_quot_req_det.qty_quot</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>rate_quot</name>
<dbname>sales_quot_req_det.rate_quot</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>value</name>
<dbname>sales_quot_req_det.value</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>rate_apprv</name>
<dbname>sales_quot_req_det.rate_apprv</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>pts</name>
<dbname>sales_quot_req_det.pts</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptd</name>
<dbname>sales_quot_req_det.ptd</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_rate</name>
<dbname>sales_quot_req_det.competitor_rate</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_item</name>
<dbname>sales_quot_req_det.competitor_item</dbname>
</table_column>
<table_column>
<type size="250">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_name</name>
<dbname>sales_quot_req_det.competitor_name</dbname>
</table_column>
<table_column>
<type size="2500">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>remarks</name>
<dbname>sales_quot_req_det.remarks</dbname>
</table_column>
<table_column>
<type size="2500">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>spec_instr</name>
<dbname>sales_quot_req_det.spec_instr</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_pts</name>
<dbname>sales_quot_req_det.revised_pts</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_ptd</name>
<dbname>sales_quot_req_det.revised_ptd</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_ptr</name>
<dbname>sales_quot_req_det.revised_ptr</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptr</name>
<dbname>sales_quot_req_det.ptr</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<key>yes</key>
<name>tran_id</name>
<dbname>sales_quot_req_det.tran_id</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<key>yes</key>
<name>line_no</name>
<dbname>sales_quot_req_det.line_no</dbname>
</table_column>
<table_column>
<type size="1">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>near_expiry</name>
<dbname>sales_quot_req_det.near_expiry</dbname>
</table_column>
<table_column>
<type size="1">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptr_flag</name>
<dbname>sales_quot_req_det.ptr_flag</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_13</name>
<dbname>phy_attrib_13</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_14</name>
<dbname>phy_attrib_14</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_15</name>
<dbname>phy_attrib_15</dbname>
</table_column>
<retrieve>PBSELECT( VERSION(400) TABLE(NAME=&quot;sales_quot_req_det&quot; ) TABLE(NAME=&quot;item&quot; ) COLUMN(NAME=&quot;item.descr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.pack_code&quot;) COLUMN(NAME=&quot;sales_quot_req_det.unit&quot;) COLUMN(NAME=&quot;sales_quot_req_det.item_code&quot;) COLUMN(NAME=&quot;sales_quot_req_det.qty_quot&quot;) COLUMN(NAME=&quot;sales_quot_req_det.rate_quot&quot;) COLUMN(NAME=&quot;sales_quot_req_det.value&quot;) COLUMN(NAME=&quot;sales_quot_req_det.rate_apprv&quot;) COLUMN(NAME=&quot;sales_quot_req_det.pts&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptd&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_rate&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_item&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_name&quot;) COLUMN(NAME=&quot;sales_quot_req_det.remarks&quot;) COLUMN(NAME=&quot;sales_quot_req_det.spec_instr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_pts&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_ptd&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_ptr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.tran_id&quot;) COLUMN(NAME=&quot;sales_quot_req_det.line_no&quot;) COLUMN(NAME=&quot;sales_quot_req_det.near_expiry&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptr_flag&quot;) COLUMN(NAME=&quot;item.phy_attrib_13&quot;) COLUMN(NAME=&quot;item.phy_attrib_14&quot;) COLUMN(NAME=&quot;item.phy_attrib_15&quot;) JOIN (LEFT=&quot;sales_quot_req_det.item_code&quot; OP =&quot;=&quot;RIGHT=&quot;item.item_code&quot; OUTER1 =&quot;sales_quot_req_det.item_code&quot; )WHERE( EXP1 =&quot;sales_quot_req_det.tran_id&quot; OP =&quot;=&quot; EXP2 =&quot;:tran_id&quot; ) ) ARG(NAME = &quot;tran_id&quot; TYPE = number) </retrieve>
<update>sales_quot_req_det</update>
<updatewhere>1</updatewhere>
<updatekeyinplace>no</updatekeyinplace>
<argument>
<name>tran_id</name>
<type>number</type>
</argument>
</TableDefinition>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Item</text>
<border>2</border>
<color>0</color>
<x>2</x>
<y>2</y>
<height>16</height>
<width>69</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>item_code_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Item Description</text>
<border>0</border>
<color>33554432</color>
<x>73</x>
<y>1</y>
<height>19</height>
<width>126</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>descr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Pack</text>
<border>0</border>
<color>33554432</color>
<x>201</x>
<y>1</y>
<height>16</height>
<width>68</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pack_code_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Unit</text>
<border>0</border>
<color>33554432</color>
<x>271</x>
<y>1</y>
<height>16</height>
<width>39</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>unit_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Quoted Quantity</text>
<border>0</border>
<color>33554432</color>
<x>312</x>
<y>1</y>
<height>16</height>
<width>68</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>qty_quot_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Special Rate</text>
<border>0</border>
<color>33554432</color>
<x>382</x>
<y>1</y>
<height>16</height>
<width>75</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_quot_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Value</text>
<border>0</border>
<color>33554432</color>
<x>459</x>
<y>1</y>
<height>16</height>
<width>71</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>value_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Price to Stockist</text>
<border>0</border>
<color>33554432</color>
<x>532</x>
<y>1</y>
<height>16</height>
<width>59</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pts_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Price to Distributor</text>
<border>0</border>
<color>33554432</color>
<x>593</x>
<y>1</y>
<height>16</height>
<width>56</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptd_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Price to Retailor</text>
<border>0</border>
<color>33554432</color>
<x>651</x>
<y>1</y>
<height>16</height>
<width>57</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Competitor Rate</text>
<border>0</border>
<color>33554432</color>
<x>710</x>
<y>1</y>
<height>16</height>
<width>94</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_rate_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Competitor Item</text>
<border>0</border>
<color>33554432</color>
<x>806</x>
<y>1</y>
<height>16</height>
<width>92</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_item_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Competitor Name</text>
<border>0</border>
<color>33554432</color>
<x>900</x>
<y>1</y>
<height>16</height>
<width>99</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_name_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Remarks</text>
<border>0</border>
<color>33554432</color>
<x>1001</x>
<y>1</y>
<height>16</height>
<width>440</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>remarks_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Special Instrustions</text>
<border>0</border>
<color>33554432</color>
<x>1443</x>
<y>1</y>
<height>16</height>
<width>435</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>spec_instr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Revised PTS</text>
<border>0</border>
<color>33554432</color>
<x>1880</x>
<y>1</y>
<height>16</height>
<width>69</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_pts_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Revised PTD</text>
<border>0</border>
<color>33554432</color>
<x>1951</x>
<y>1</y>
<height>16</height>
<width>68</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptd_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Revised PTR</text>
<border>0</border>
<color>33554432</color>
<x>2021</x>
<y>0</y>
<height>16</height>
<width>66</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Management Approved Rate</text>
<border>0</border>
<color>33554432</color>
<x>2599</x>
<y>0</y>
<height>16</height>
<width>132</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_apprv_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Transaction Id</text>
<border>0</border>
<color>33554432</color>
<x>2359</x>
<y>1</y>
<height>16</height>
<width>58</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>tran_id_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Line No</text>
<border>0</border>
<color>33554432</color>
<x>2419</x>
<y>1</y>
<height>16</height>
<width>58</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>line_no_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Near Expiry</text>
<border>0</border>
<color>33554432</color>
<x>2479</x>
<y>1</y>
<height>16</height>
<width>75</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>near_expiry_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Ptr Flag</text>
<border>0</border>
<color>33554432</color>
<x>2556</x>
<y>0</y>
<height>16</height>
<width>41</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_flag_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Distributor margin:</text>
<border>0</border>
<color>33554432</color>
<x>2089</x>
<y>1</y>
<height>19</height>
<width>88</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_13_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Stockist Margin:</text>
<border>0</border>
<color>33554432</color>
<x>2179</x>
<y>1</y>
<height>19</height>
<width>88</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_14_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<TextObject>
<band>Header</band>
<alignment>0</alignment>
<text>Retailer Margin:</text>
<border>0</border>
<color>33554432</color>
<x>2269</x>
<y>1</y>
<height>19</height>
<width>88</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_15_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-12</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>4</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>33554432</color>
<x>2</x>
<y>2</y>
<height>19</height>
<width>69</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>item_code</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>1</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>73</x>
<y>1</y>
<height>16</height>
<width>126</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>descr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>2</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>201</x>
<y>1</y>
<height>16</height>
<width>68</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pack_code</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>3</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>271</x>
<y>1</y>
<height>16</height>
<width>39</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>unit</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>5</id>
<alignment>1</alignment>
<tabsequence>10</tabsequence>
<border>0</border>
<color>33554432</color>
<x>312</x>
<y>1</y>
<height>16</height>
<width>68</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>qty_quot</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>6</id>
<alignment>1</alignment>
<tabsequence>20</tabsequence>
<border>0</border>
<color>33554432</color>
<x>382</x>
<y>1</y>
<height>16</height>
<width>75</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_quot</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>7</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>459</x>
<y>1</y>
<height>16</height>
<width>71</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>value</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>9</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>532</x>
<y>1</y>
<height>16</height>
<width>59</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pts</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>10</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>593</x>
<y>1</y>
<height>16</height>
<width>56</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptd</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>19</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>651</x>
<y>1</y>
<height>16</height>
<width>57</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>11</id>
<alignment>1</alignment>
<tabsequence>30</tabsequence>
<border>0</border>
<color>33554432</color>
<x>710</x>
<y>1</y>
<height>16</height>
<width>94</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_rate</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>12</id>
<alignment>0</alignment>
<tabsequence>40</tabsequence>
<border>0</border>
<color>33554432</color>
<x>806</x>
<y>1</y>
<height>16</height>
<width>92</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_item</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>13</id>
<alignment>0</alignment>
<tabsequence>50</tabsequence>
<border>0</border>
<color>33554432</color>
<x>900</x>
<y>1</y>
<height>16</height>
<width>99</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_name</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>14</id>
<alignment>0</alignment>
<tabsequence>60</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1001</x>
<y>1</y>
<height>16</height>
<width>440</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>remarks</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>15</id>
<alignment>0</alignment>
<tabsequence>70</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1443</x>
<y>1</y>
<height>16</height>
<width>435</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>spec_instr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>16</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1880</x>
<y>1</y>
<height>16</height>
<width>69</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_pts</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>17</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>1951</x>
<y>1</y>
<height>16</height>
<width>68</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptd</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>18</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2021</x>
<y>1</y>
<height>16</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>21</id>
<alignment>1</alignment>
<tabsequence>90</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2419</x>
<y>1</y>
<height>16</height>
<width>58</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>line_no</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>20</id>
<alignment>1</alignment>
<tabsequence>80</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2359</x>
<y>1</y>
<height>16</height>
<width>58</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>tran_id</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>22</id>
<alignment>0</alignment>
<tabsequence>100</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2479</x>
<y>1</y>
<height>16</height>
<width>75</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>near_expiry</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>23</id>
<alignment>0</alignment>
<tabsequence>110</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2556</x>
<y>1</y>
<height>16</height>
<width>41</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_flag</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>8</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2599</x>
<y>1</y>
<height>16</height>
<width>132</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_apprv</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>24</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2089</x>
<y>1</y>
<height>16</height>
<width>88</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_13</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>25</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2179</x>
<y>1</y>
<height>16</height>
<width>88</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_14</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>26</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>0</border>
<color>33554432</color>
<x>2269</x>
<y>1</y>
<height>16</height>
<width>88</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_15</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<HtmlTable>
<border>1</border>
</HtmlTable>
<HtmlGen>
<clientevents>1</clientevents>
<clientvalidation>1</clientvalidation>
<clientcomputedfields>1</clientcomputedfields>
<clientformatting>0</clientformatting>
<clientscriptable>0</clientscriptable>
<generatejavascript>1</generatejavascript>
<encodeselflinkargs>1</encodeselflinkargs>
<netscapelayers>0</netscapelayers>
</HtmlGen>
<Export.XML>
<headgroups>1</headgroups>
<includewhitespace>0</includewhitespace>
<metadatatype>0</metadatatype>
<savemetadata>0</savemetadata>
</Export.XML>
<Import.XML>
</Import.XML>
<Export.PDF>
<method>0</method>
<distill.custompostscript>0</distill.custompostscript>
<xslfop.print>0</xslfop.print>
</Export.PDF>
</Sybase_eDataWindow>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Sybase_eDataWindow>
<Sybase_eDataWindow>
<Release>9</Release>
<BaseDefinition>
<units>1</units>
<timer_interval>0</timer_interval>
<color>1073741824</color>
<processing>0</processing>
<HTMLDW>no</HTMLDW>
<print>
<documentname></documentname>
<printername></printername>
<orientation>0</orientation>
<margin>
<left>24</left>
<right>24</right>
<top>24</top>
<bottom>24</bottom>
</margin>
<paper>
<source>0</source>
<size>0</size>
</paper>
<prompt>no</prompt>
<canusedefaultprinter>yes</canusedefaultprinter>
<buttons>no</buttons>
<preview.buttons>no</preview.buttons>
<cliptext>no</cliptext>
<overrideprintjob>no</overrideprintjob>
</print>
</BaseDefinition>
<Header>
<height>7</height>
<color>536870912</color>
</Header>
<Summary>
<height>0</height>
<color>536870912</color>
</Summary>
<Footer>
<height>0</height>
<color>536870912</color>
</Footer>
<Detail>
<height>793</height>
<color>536870912</color>
</Detail>
<TableDefinition>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<key>yes</key>
<name>tran_id</name>
<dbname>sales_quot_req_det.tran_id</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<key>yes</key>
<name>line_no</name>
<dbname>sales_quot_req_det.line_no</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>item_code</name>
<dbname>sales_quot_req_det.item_code</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>qty_quot</name>
<dbname>sales_quot_req_det.qty_quot</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>unit</name>
<dbname>sales_quot_req_det.unit</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>pack_code</name>
<dbname>sales_quot_req_det.pack_code</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>rate_quot</name>
<dbname>sales_quot_req_det.rate_quot</dbname>
</table_column>
<table_column>
<type size="1">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>near_expiry</name>
<dbname>sales_quot_req_det.near_expiry</dbname>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_rate</name>
<dbname>sales_quot_req_det.competitor_rate</dbname>
</table_column>
<table_column>
<type size="10">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_item</name>
<dbname>sales_quot_req_det.competitor_item</dbname>
<initial> </initial>
</table_column>
<table_column>
<type size="250">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>competitor_name</name>
<dbname>sales_quot_req_det.competitor_name</dbname>
<initial> </initial>
</table_column>
<table_column>
<type>number</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>rate_apprv</name>
<dbname>sales_quot_req_det.rate_apprv</dbname>
</table_column>
<table_column>
<type size="2500">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>remarks</name>
<dbname>sales_quot_req_det.remarks</dbname>
<initial> </initial>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>pts</name>
<dbname>sales_quot_req_det.pts</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptd</name>
<dbname>sales_quot_req_det.ptd</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptr</name>
<dbname>sales_quot_req_det.ptr</dbname>
</table_column>
<table_column>
<type size="2500">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>spec_instr</name>
<dbname>sales_quot_req_det.spec_instr</dbname>
</table_column>
<table_column>
<type size="1">char</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>ptr_flag</name>
<dbname>sales_quot_req_det.ptr_flag</dbname>
</table_column>
<table_column>
<type size="130">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>descr</name>
<dbname>item.descr</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>value</name>
<dbname>sales_quot_req_det.value</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_pts</name>
<dbname>sales_quot_req_det.revised_pts</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_ptd</name>
<dbname>sales_quot_req_det.revised_ptd</dbname>
</table_column>
<table_column>
<type precision="3">decimal</type>
<update>yes</update>
<updatewhereclause>yes</updatewhereclause>
<name>revised_ptr</name>
<dbname>sales_quot_req_det.revised_ptr</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_13</name>
<dbname>phy_attrib_13</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_14</name>
<dbname>phy_attrib_14</dbname>
</table_column>
<table_column>
<type size="15">char</type>
<updatewhereclause>yes</updatewhereclause>
<name>phy_attrib_15</name>
<dbname>phy_attrib_15</dbname>
</table_column>
<retrieve>PBSELECT( VERSION(400) TABLE(NAME=&quot;sales_quot_req_det&quot; ) TABLE(NAME=&quot;item&quot; ) COLUMN(NAME=&quot;sales_quot_req_det.tran_id&quot;) COLUMN(NAME=&quot;sales_quot_req_det.line_no&quot;) COLUMN(NAME=&quot;sales_quot_req_det.item_code&quot;) COLUMN(NAME=&quot;sales_quot_req_det.qty_quot&quot;) COLUMN(NAME=&quot;sales_quot_req_det.unit&quot;) COLUMN(NAME=&quot;sales_quot_req_det.pack_code&quot;) COLUMN(NAME=&quot;sales_quot_req_det.rate_quot&quot;) COLUMN(NAME=&quot;sales_quot_req_det.near_expiry&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_rate&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_item&quot;) COLUMN(NAME=&quot;sales_quot_req_det.competitor_name&quot;) COLUMN(NAME=&quot;sales_quot_req_det.rate_apprv&quot;) COLUMN(NAME=&quot;sales_quot_req_det.remarks&quot;) COLUMN(NAME=&quot;sales_quot_req_det.pts&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptd&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.spec_instr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.ptr_flag&quot;) COLUMN(NAME=&quot;item.descr&quot;) COLUMN(NAME=&quot;sales_quot_req_det.value&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_pts&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_ptd&quot;) COLUMN(NAME=&quot;sales_quot_req_det.revised_ptr&quot;) COLUMN(NAME=&quot;item.phy_attrib_13&quot;) COLUMN(NAME=&quot;item.phy_attrib_14&quot;) COLUMN(NAME=&quot;item.phy_attrib_15&quot;) JOIN (LEFT=&quot;sales_quot_req_det.item_code&quot; OP =&quot;=&quot;RIGHT=&quot;item.item_code&quot; OUTER1 =&quot;sales_quot_req_det.item_code&quot; )WHERE( EXP1 =&quot;sales_quot_req_det.tran_id&quot; OP =&quot;=&quot; EXP2 =&quot;:tran_id&quot; ) ) ARG(NAME = &quot;tran_id&quot; TYPE = number) </retrieve>
<update>sales_quot_req_det</update>
<updatewhere>1</updatewhere>
<updatekeyinplace>no</updatekeyinplace>
<argument>
<name>tran_id</name>
<type>number</type>
</argument>
</TableDefinition>
<GroupBox>
<band>Detail</band>
<text>Others</text>
<border>2</border>
<color>33554432</color>
<x>127</x>
<y>627</y>
<height>126</height>
<width>727</width>
<name>gb_6</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<GroupBox>
<band>Detail</band>
<text>General</text>
<border>2</border>
<color>0</color>
<x>21</x>
<y>47</y>
<height>121</height>
<width>777</width>
<name>gb_1</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<GroupBox>
<band>Detail</band>
<text>Item</text>
<border>2</border>
<color>0</color>
<x>135</x>
<y>179</y>
<height>71</height>
<width>529</width>
<name>gb_2</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<GroupBox>
<band>Detail</band>
<text>Quantity</text>
<border>2</border>
<color>0</color>
<x>142</x>
<y>268</y>
<height>93</height>
<width>532</width>
<name>gb_3</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<GroupBox>
<band>Detail</band>
<text>Competitor</text>
<border>2</border>
<color>0</color>
<x>127</x>
<y>500</y>
<height>100</height>
<width>564</width>
<name>gb_5</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<GroupBox>
<band>Detail</band>
<text>Price List</text>
<border>2</border>
<color>0</color>
<x>127</x>
<y>385</y>
<height>100</height>
<width>870</width>
<name>gb_4</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>2</mode>
<color>1073741824</color>
</background>
</GroupBox>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Pack:</text>
<border>2</border>
<color>0</color>
<x>204</x>
<y>312</y>
<height>16</height>
<width>99</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pack_code_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>6</id>
<alignment>1</alignment>
<tabsequence>40</tabsequence>
<border>2</border>
<color>0</color>
<x>308</x>
<y>312</y>
<height>16</height>
<width>60</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pack_code</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>12</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>308</x>
<y>446</y>
<height>16</height>
<width>65</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_apprv</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>16</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>574</x>
<y>444</y>
<height>16</height>
<width>28</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Management Approval Rate:</text>
<border>2</border>
<color>0</color>
<x>137</x>
<y>447</y>
<height>16</height>
<width>163</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_apprv_t</name>
<visible>0</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Price To Retailer (PTR):</text>
<border>2</border>
<color>0</color>
<x>414</x>
<y>447</y>
<height>16</height>
<width>152</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>t_1</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>11</id>
<alignment>0</alignment>
<tabsequence>80</tabsequence>
<border>2</border>
<color>0</color>
<x>288</x>
<y>559</y>
<height>16</height>
<width>128</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_name</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Competitor Name:</text>
<border>2</border>
<color>0</color>
<x>161</x>
<y>559</y>
<height>16</height>
<width>116</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_name_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>5</id>
<alignment>1</alignment>
<tabsequence>30</tabsequence>
<border>2</border>
<color>0</color>
<x>533</x>
<y>313</y>
<height>16</height>
<width>60</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>unit</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Unit:</text>
<border>2</border>
<color>0</color>
<x>426</x>
<y>313</y>
<height>16</height>
<width>99</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>unit_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Competitor Rate:</text>
<border>2</border>
<color>0</color>
<x>157</x>
<y>530</y>
<height>16</height>
<width>116</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_rate_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>9</id>
<alignment>1</alignment>
<tabsequence>60</tabsequence>
<border>2</border>
<color>0</color>
<x>288</x>
<y>529</y>
<height>16</height>
<width>104</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_rate</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Competitor Item:</text>
<border>2</border>
<color>0</color>
<x>449</x>
<y>530</y>
<height>16</height>
<width>116</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_item_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>10</id>
<alignment>0</alignment>
<tabsequence>70</tabsequence>
<border>2</border>
<color>0</color>
<x>570</x>
<y>530</y>
<height>16</height>
<width>98</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>competitor_item</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>8</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>450</x>
<y>199</y>
<height>16</height>
<width>90</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>near_expiry</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Item:</text>
<border>2</border>
<color>0</color>
<x>186</x>
<y>199</y>
<height>16</height>
<width>63</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>item_code_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>3</id>
<alignment>1</alignment>
<tabsequence>10</tabsequence>
<border>2</border>
<color>0</color>
<x>272</x>
<y>199</y>
<height>19</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>item_code</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<required>yes</required>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Near Expiry:</text>
<border>2</border>
<color>0</color>
<x>366</x>
<y>199</y>
<height>16</height>
<width>72</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>near_expiry_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>19</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>272</x>
<y>225</y>
<height>16</height>
<width>72</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>descr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>20</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>791</x>
<y>414</y>
<height>16</height>
<width>81</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>value</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Values:</text>
<border>2</border>
<color>0</color>
<x>725</x>
<y>414</y>
<height>16</height>
<width>55</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>value_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>15</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>573</x>
<y>414</y>
<height>16</height>
<width>29</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptd</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Price To Distributor (PTD):</text>
<border>2</border>
<color>0</color>
<x>412</x>
<y>414</y>
<height>16</height>
<width>152</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptd_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Price To Stockist (PTS):</text>
<border>2</border>
<color>0</color>
<x>160</x>
<y>414</y>
<height>16</height>
<width>141</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pts_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>14</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>308</x>
<y>414</y>
<height>16</height>
<width>37</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>pts</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>21</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>626</x>
<y>412</y>
<height>16</height>
<width>75</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_pts</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>22</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>628</x>
<y>434</y>
<height>16</height>
<width>69</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptd</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>23</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>630</x>
<y>457</y>
<height>16</height>
<width>71</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>revised_ptr</name>
<visible>0</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Line No:</text>
<border>2</border>
<color>0</color>
<x>34</x>
<y>76</y>
<height>16</height>
<width>124</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>line_no_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>2</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>167</x>
<y>76</y>
<height>19</height>
<width>72</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>line_no</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Remarks:</text>
<border>2</border>
<color>0</color>
<x>446</x>
<y>76</y>
<height>19</height>
<width>100</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>remarks_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>13</id>
<alignment>0</alignment>
<tabsequence>90</tabsequence>
<border>2</border>
<color>0</color>
<x>552</x>
<y>76</y>
<height>16</height>
<width>224</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>remarks</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Special Instruction:</text>
<border>2</border>
<color>0</color>
<x>34</x>
<y>110</y>
<height>16</height>
<width>124</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>spec_instr_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>17</id>
<alignment>0</alignment>
<tabsequence>100</tabsequence>
<border>2</border>
<color>0</color>
<x>167</x>
<y>110</y>
<height>16</height>
<width>231</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>spec_instr</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Transaction Id:</text>
<border>2</border>
<color>0</color>
<x>446</x>
<y>110</y>
<height>19</height>
<width>100</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>tran_id_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>1</id>
<alignment>1</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>552</x>
<y>110</y>
<height>19</height>
<width>66</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>tran_id</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>10</limit>
<case>any</case>
<focusrectangle>no</focusrectangle>
<autoselect>yes</autoselect>
<autohscroll>yes</autohscroll>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Quoted Quantity:</text>
<border>2</border>
<color>0</color>
<x>202</x>
<y>284</y>
<height>16</height>
<width>99</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>qty_quot_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>4</id>
<alignment>1</alignment>
<tabsequence>20</tabsequence>
<border>2</border>
<color>0</color>
<x>310</x>
<y>284</y>
<height>16</height>
<width>63</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>qty_quot</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Special Rate:</text>
<border>2</border>
<color>0</color>
<x>427</x>
<y>284</y>
<height>16</height>
<width>99</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_quot_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>7</id>
<alignment>1</alignment>
<tabsequence>50</tabsequence>
<border>2</border>
<color>0</color>
<x>531</x>
<y>284</y>
<height>16</height>
<width>64</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>rate_quot</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>18</id>
<alignment>0</alignment>
<tabsequence>110</tabsequence>
<border>2</border>
<color>0</color>
<x>600</x>
<y>284</y>
<height>16</height>
<width>51</width>
<format>[Yes/No]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>ptr_flag</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Distributor margin:</text>
<border>2</border>
<color>0</color>
<x>161</x>
<y>655</y>
<height>16</height>
<width>116</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_13_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<ColumnObject>
<band>Detail</band>
<id>24</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>281</x>
<y>654</y>
<height>16</height>
<width>90</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_13</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>25</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>508</x>
<y>653</y>
<height>16</height>
<width>90</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_14</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<ColumnObject>
<band>Detail</band>
<id>26</id>
<alignment>0</alignment>
<tabsequence>32766</tabsequence>
<border>2</border>
<color>0</color>
<x>739</x>
<y>654</y>
<height>16</height>
<width>90</width>
<format>[general]</format>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_15</name>
<visible>1</visible>
<EditStyle style="edit">
<limit>0</limit>
<case>any</case>
<autoselect>yes</autoselect>
<imemode>0</imemode>
</EditStyle>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</ColumnObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Stockist Margin:</text>
<border>2</border>
<color>0</color>
<x>389</x>
<y>654</y>
<height>16</height>
<width>116</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_14_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<TextObject>
<band>Detail</band>
<alignment>1</alignment>
<text>Retailer Margin:</text>
<border>2</border>
<color>0</color>
<x>619</x>
<y>654</y>
<height>16</height>
<width>116</width>
<html>
<valueishtml>0</valueishtml>
</html>
<name>phy_attrib_15_t</name>
<visible>1</visible>
<font>
<face>Arial</face>
<height>-10</height>
<weight>400</weight>
<family>2</family>
<pitch>2</pitch>
<charset>0</charset>
</font>
<background>
<mode>1</mode>
<color>536870912</color>
</background>
</TextObject>
<HtmlTable>
<border>1</border>
</HtmlTable>
<HtmlGen>
<clientevents>1</clientevents>
<clientvalidation>1</clientvalidation>
<clientcomputedfields>1</clientcomputedfields>
<clientformatting>0</clientformatting>
<clientscriptable>0</clientscriptable>
<generatejavascript>1</generatejavascript>
<encodeselflinkargs>1</encodeselflinkargs>
<netscapelayers>0</netscapelayers>
</HtmlGen>
<Export.XML>
<headgroups>1</headgroups>
<includewhitespace>0</includewhitespace>
<metadatatype>0</metadatatype>
<savemetadata>0</savemetadata>
</Export.XML>
<Import.XML>
</Import.XML>
<Export.PDF>
<method>0</method>
<distill.custompostscript>0</distill.custompostscript>
<xslfop.print>0</xslfop.print>
</Export.PDF>
</Sybase_eDataWindow>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment