Tuesday, May 31, 2011

Select multiple options from listbox

list1.options[0].selected=true;
list1.options[1].selected=true;
list1.options[0].style.cssText = "background-color: white; color: black;"
list1.options[1].style.cssText = "background-color: white; color: black;"

Tuesday, May 17, 2011

Configure Eclipse with Cordys for editing java code

copy this
-------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<eclipse-userlibraries version="2">
<library name="Cordys_LIBCU15" systemlibrary="false">
<archive path="F:/Program Files/Cordys/defaultInst/components/acllib/acllib.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/ajaxtoolkit/ajaxtoolkit.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/audit/audit.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/audit/auditartifact.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/audit/auditartifactapi.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/bam/bam.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/basicutil/basicutil.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/cws/cws.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/commoncontent/commoncontent.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/dbconnection/dbconnection.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/documentation/documentation.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/eibxml/eibxml.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/emailconn/emailconn.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/esbclient/esbclient.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/esbserver/esbserver.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/eventservice/eventservice.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/expressioneval/expressioneval.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/ftpconn/ftpconn.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/isvpconn/isvpconn.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/javaui/javaui.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/jmstransport/jmstransport.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/ldapconn/ldapconn.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/logviewer/logviewer.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/managementlib/managementlib.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/usermanagement/usermanagement.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/wsappserver/wsappserver.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/xds/xds.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/wsdltoolkit/wsdltoolkit.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/components/webgateway/webgateway.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/activation.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-anim.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-awt-util.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-bridge.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-codec.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-css.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-dom.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-ext.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-extension.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-gvt.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-parser.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-rasterizer.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-script.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-svg-dom.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-transcoder.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-util.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/batik-xml.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/bcprov-jdk16-140.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-beanutils-1.8.0.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-codec-1.3.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-collections-3.2.1.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-digester-1.7.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-httpclient-3.1.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-httpclient-contrib-3.1.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-lang-2.3.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-logging-1.1.1.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/commons-net-ftp-2.0.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/groovy-all-1.5.5.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/ical4j-1.0-beta4.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/iText-2.1.0.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/jasperreports-3.6.1.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/jdbcappender.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/jms.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/jsch-0.1.41.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/jta-1_1-1.0.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/jtds-1.2.2.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/ldap.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/log4j-1.2.15.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/mail.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/qname.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/soap.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/svnkit.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/svnkit-cli.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/uddi4j.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/wsdl4j.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/xalan.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/xbean.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/xml-apis.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/xml-apis-ext.jar"/>
<archive path="F:/Program Files/Cordys/defaultInst/ext/poi-3.2-FINAL.jar"/>
</library>
</eclipse-userlibraries>
----------------------------------------------------------------------------------------------

save it as Cordys_Lib.userlibraries

this open it using notepad and edit it according to your cordys path where these jars are present.

now include Cordys_LibCU15.userlibraries in your Eclipse java Project.

Give the path till your java source file inside cordys workspace...

How to configure Email from Cordys

you can download attachment from here : Email_config

How To generate Birt Report


BIRT Help File
After creating the service container edit the BCP classpath found in Cordys installation directory and
paste the below found jars into bcp.classpath.
E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\chartengineapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEng
ine\lib\chartexamplescoreapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\chartitemapi.jar;E:\BirtSoftwaresFromYesBank\
birt-runtime-2_6_0\ReportEngine\lib\com.ibm.icu_4.2.1.v20100412.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\commonscli-
1.0.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\coreapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportE
ngine\lib\crosstabcoreapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\dataadapterapi.jar;E:\BirtSoftwaresFromYesBank\bi
rt-runtime-2_6_0\ReportEngine\lib\dataaggregationapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\dataextraction.jar;E:\
BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\dteapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\emitt
erconfig.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\engineapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\Rep
ortEngine\lib\flute.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\modelapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2
_6_0\ReportEngine\lib\modelodaapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\odadesignapi.jar;E:\BirtSoftwaresFromY
esBank\birt-runtime-2_6_0\ReportEngine\lib\org.apache.commons.codec_1.3.0.v20100518-1140.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\
ReportEngine\lib\org.eclipse.emf.common_2.6.0.v20100607-0756.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\org.eclipse.e
mf.ecore.xmi_2.5.0.v20100521-1846.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\org.eclipse.emf.ecore_2.6.0.v20100607-07
56.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\org.w3c.css.sac_1.3.0.v200805290154.jar;E:\BirtSoftwaresFromYesBank\bi
rt-runtime-2_6_0\ReportEngine\lib\scriptapi.jar;E:\BirtSoftwaresFromYesBank\birt-runtime-2_6_0\ReportEngine\lib\js.jar;
Dont forget to edit the path of this jars to your actual path where you have copied the BIRT REPORT
ENGINE.
How to create BIRT Report Design ::
Step 1 : Get the required birt eclipse and create a new java Project
Step 2: Under the java project create a report say new report and select the template as blank
report.
Step 3 : Under outline of the project create a new data source.
Step 4: Specify the Driver details , url , username , password , no need of filling JNDI URL.
Step 5: Create Data set for the above Data source.
Step 6: Select table or write query for which the report is to be generated.
Step 7: For taking/ passing input parameter you need to create a parameter under report parameter,
specify the name and default value.
Step 8: Double Click the data set which you created and select Parameters , click new and specify
name and linked to report parameter .
Step9 : Click in preview and enjoy the report .

How to use this report using cordys ::
Go to system resource manager of cordys explorer and click web service explorer.
Type getreport and find click the webservice found and test it .
Specify parameters like ‘report design path’ in report name.
Format : html, pdf, xls etc.

Sample java Coding for BOP4 - WsAPP

import com.cordys.cpc.bsf.busobject.BSF;
import com.cordys.cpc.bsf.busobject.BusObjectConfig;
import com.cordys.cpc.bsf.busobject.BusObjectIterator;
import com.cordys.cpc.bsf.busobject.QueryObject;
import com.cordys.cpc.bsf.busobject.exception.BsfConstraintViolationException;
import com.eibus.xml.nom.Node;
import com.eibus.xml.xpath.XPath;
import java.util.Date;

1
public void onBeforeInsert()
{
this.setSTATUS("SubmittedForApproval");
this.setCREATED_BY_ID(BSF.getUser().split(",")[0].split("=")[1]);
try{
this.setCREATED_BY_NAME(BSF.getLDAPDirectory().read(BSF.getAuthenticatedUser()).getAttribute("description").getStringValue());
}catch(Exception e)
{
this.setCREATED_BY_NAME(BSF.getUser().split(",")[0].split("=")[1]);
}
this.setCREATED_BY_NAME(BSF.getUser().split(",")[0].split("=")[1]);
this.setRM_ID(BSF.getUser().split(",")[0].split("=")[1]);
try{
this.setRM_NAME(BSF.getLDAPDirectory().read(BSF.getAuthenticatedUser()).getAttribute("description").getStringValue());
}catch(Exception e)
{
this.setRM_NAME(BSF.getUser().split(",")[0].split("=")[1]);
}
this.setCREATED_DATE(new Date());
}

2
public void onAfterInsert()
{
this.getObjectManager()._commitTransactionDirect(true);
CPA_CALLPUTMASTER_AUDIT audit = new CPA_CALLPUTMASTER_AUDIT();
audit.setAPPROVAL_ID(this.getAPPROVAL_ID());
audit.setCREATED_DATE(this.getCREATED_DATE());
audit.setIS_ACTIVE(this.getIS_ACTIVE());
audit.insert();
}

3
public void onInsert()
{
String user = BSF.getUser();
user = user.substring(3, user.indexOf(","));
String Query="select count(1)No from CPA_SEGMENTMASTER where upper(SEGMENT_CODE) ='"+this.getSEGMENT_CODE().toUpperCase()+"'";
QueryObject qo=new QueryObject(Query);
qo.setResultClass(CPA_SEGMENTMASTER.class);
if(qo.getObject().getIntProperty("NO")>0)
throw new BsfConstraintViolationException("Duplicate record pending for authorization");
}
4 Ws-App Validation
public void onInsert()
{
if(this.getISSUE_START_AMOUNT()<1)
throw new BsfConstraintViolationException("Issue Start Amount is Mandatory!");
if(this.getISSUE_END_AMOUNT()<1)
throw new BsfConstraintViolationException("Issue End Amount is Mandatory!");
if(this.getCOMPANY_CODE()==null)
throw new BsfConstraintViolationException("Company Code is Mandatory.");
super.onInsert();
}
//on form
function ASBA_ISSUE_MASTERModel_OnSOAPFault(eventObject)
{
eventObject.showError=false;
application.showError(eventObject.faultString);
}

5 Update WS
public static void updateCamWithWorkflowStatus(double CAM_ID, String WORKFLOW_STATUS){
String query = "select * from T_CAM where CAM_ID=:camId";
QueryObject queryObject = new QueryObject(query);
queryObject.addParameter("camId", "T_CAM.CAM_ID", QueryObject.PARAM_DOUBLE, CAM_ID);
queryObject.setResultClass(T_CAM.class);
T_CAM cam = (T_CAM)queryObject.getObject();
if (WORKFLOW_STATUS == "APPROVED")
cam.setCAM_REVISION_DATE(new Date());
cam.setWORKFLOW_STATUS(WORKFLOW_STATUS);
cam.update();
}

6 To check if the status is approved or rejected
public void onBeforeUpdate()
{
if(!(Node.getData(XPath.getFirstMatch(".//RULE_APPROVAL_STATUS",null,this._getObjectData())).equalsIgnoreCase("approved") ||Node.getData(XPath.getFirstMatch(".//RULE_APPROVAL_STATUS",null,this._getObjectData())).equalsIgnoreCase("Rejected")))
{
this.setAPPROVED_BYID("");
this.setAPPROVED_BY("");
}
else
{
}

7 To insert into audit table (All the records by using one statement)
//DT_DEFERRAL base class
public void onAfterInsert()
{
DT_DEFERRAL_AUDIT audit=new DT_DEFERRAL_AUDIT();
this.sys_mapAttributes(this, audit, null,SETTERMODE_NORMAL);
audit.setAUDIT_ACTION("CREATED");
audit.setAUDIT_ACTION_DATE(new Date());
audit.insert();
}
}

8
BusObjectIterator prodDocs = T_PRODUCT_DOCUMENTS.getTProductDocumentsObjectsForProductId(this.getPRODUCT_ID());
while(prodDocs.hasMoreElements()){
T_PRODUCT_DOCUMENTS prodDoc = prodDocs.nextElement();
String documentName = prodDoc.getDOCUMENT_IDObject().getDOCUMENT_NAME();
if(T_CAM_CHECKLIST.getTCamChecklistObjectsForCamIdNDocumentName(this.getCAM_ID(), documentName).hasMoreElements()) continue;
T_CAM_CHECKLIST camCheckList = new T_CAM_CHECKLIST();
camCheckList.setCAM_ID(this.getCAM_ID());
camCheckList.setDOCUMENT_NAME(documentName);
camCheckList.insert();
}

9 Search Query
String strQuery = "SELECT * FROM T_PARAMETER where 1 = 1";
//if(!searchBy.trim().equals("") && !value.trim().equals("") ){
if(searchBy != null && !searchBy.trim().equals("") && value != null && !value.trim().equals("")){
strQuery += "and upper("+searchBy+") LIKE upper('%"+value+"%') order by "+searchBy;
}
else if(!searchBy.trim().equals("") && value.trim().equals("")){
strQuery += "order by "+searchBy;
}
QueryObject queryObject = new QueryObject(strQuery);
return queryObject.getObjects();

10
String QryString = " SELECT MAX(agent_code) as AGENT_CODE FROM HMS_AGENT_MASTER where agent_code like '"+searchString+"%'";
QueryObject qry = new QueryObject(QryString);
qry.setResultClass(HMS_AGENT_MASTER.class);
rslt= (HMS_AGENT_MASTER)qry.getObject();
maxAgtCode = rslt.getAGENT_CODE();

Passing parameters From BIRT xforms to report

function GetReportModel_OnRequest(eventObject)
{

if(!GetCordysInstallaionDirectoryModel.soapFaultOccurred)
{
var dir = cordys.getNodeText(GetCordysInstallaionDirectoryModel.getData(),".//*[local-name()='GetCordysInstallaionDirectory']/*[local-name()='GetCordysInstallaionDirectory']","","");
}
var path = dir+"/com/Reportdesigns/";

cordys.setNodeText(eventObject.request,".//*[local-name()='ReportName']",path+"Journal_Voucher.rptdesign");
cordys.setNodeText(eventObject.request,".//*[local-name()='OutputFormat']","PDF");
cordys.setNodeText(eventObject.request,".//*[local-name()='Embeddable']","false");
cordys.setNodeText(eventObject.request,".//*[local-name()='OutputToFile']","true");
paramNode = cordys.selectXMLNode(eventObject.request,".//*[local-name()='PARAM']");
var clonedParam = cordys.cloneXMLDocument(paramNode);
paramCloned = cordys.cloneXMLDocument(clonedParam);
cordys.setNodeText(paramNode,".//*[local-name()='Name']","JV_Date");
cordys.setNodeText(paramNode,".//*[local-name()='Value']",input4.getValue());
cordys.setNodeText(clonedParam,".//*[local-name()='Name']","to_date");
cordys.setNodeText(clonedParam,".//*[local-name()='Value']",input5.getValue());
cordys.appendXMLNode(clonedParam, paramNode.parentNode);
if(branch.getValue())
{
var clonedParam1= cordys.cloneXMLDocument(paramCloned)
cordys.setNodeText(clonedParam1,".//*[local-name()='Name']","branch_code");
cordys.setNodeText(clonedParam1,".//*[local-name()='Value']",branch.getValue());
cordys.appendXMLNode(clonedParam1, paramNode.parentNode);

}
if(costcenter.getValue())
{
var clonedParam2= cordys.cloneXMLDocument(paramCloned)
cordys.setNodeText(clonedParam2,".//*[local-name()='Name']","cost_center");
cordys.setNodeText(clonedParam2,".//*[local-name()='Value']",costcenter.getValue());
cordys.appendXMLNode(clonedParam2, paramNode.parentNode);
}
}

Birt PAssing PArameters From

using Trim space in Cordys

function Strtrim(str)
{
return str.replace(/^\s+|\s+$/g,"");
}

ConvertToDate in Cordys


var STdate = new Date();
var EDdate = new Date();

STdate = ConvertToDate(start_date.getValue());
EDdate = ConvertToDate(end_date.getValue());
if ((STdate.toLocaleDateString() != EDdate.toLocaleDateString()) && STdate > EDdate)
{
application.notify("Start Date cannot be greater than End date","Warning",start_date);
return false;
}

function ConvertToDate(Sdt)
{
var str1 = Sdt;
var dt1 = parseInt(str1.substring(8,10),10);
var mon1 = parseInt(str1.substring(5,7),10);
var yr1 = parseInt(str1.substring(0,4),10);
var date1 = new Date(yr1, mon1 -1, dt1);
return date1;
}

showDialog in Cordys

/cordys/HMS_XForms/HMS_Business Unit Master Form.caf
ViewBU
Business Unit
Business Unit

var BUObj = ViewBU.XMLDocument.documentElement;
//application.select(BUObj);
var data = new Object();
application.showDialog(BUObj, null, null, closeHandler, false);

Before(Passing parameter values to Zoom) & After Zoom

function reporting_branch_code_BeforeZoom(eventObject)
{
if(branch_reporting_to.getValue()=="")
{
application.notify("Please select Branch Reporting to ","Warning",branch_reporting_to);
return false;
}
var data = new Object();
data.BUID = branch_reporting_to.getValue();
eventObject.data = data;
}


function designation_code_AfterZoom(eventObject)
{
if(eventObject.businessObject)
txt_DesigName.setValue(cordys.getNodeText(eventObject.businessObject,".//*[local-name()='DESIGNATION_DESCRIPTION']","",""));
}

To get the Name from the drop down Box By ID using same Business Object.


var bo = industry_id.getSelectedOptions()[0].businessObject;
sensitive_sector_id.setValue(cordys.getNodeText(bo, ".//*[local-name()='SENSITIVE_SECTOR']","",""));

To get description of Dropdown box

ddn1.getSelectedOptions()[0].description;

form validation before saving...

if(!WebForm.validateForm(application.container.applicationId))
return;

filling XML values from JS


var XFormBXMLClone = cordys.cloneXMLDocument(UpdtNode.XMLDocument);
var FCID = cordys.getNodeText(tuples[i],".//*[local-name()='FACILITY_COLUMN_ID']","","")
cordys.setNodeText(XFormBXMLClone,".//*[local-name()='FACILITY_COLUMN_ID']",FCID,"");

cordys.setNodeText(XFormBXMLClone,".//*[local-name()='CAM_ID']",camId,"");
var columnNumber = parseInt(cordys.getNodeText(tuples[i],".//*[local-name()='COLUMN_NUMBER']","",""));
var pos = parseInt(cordys.getNodeText(tuples[i],".//*[local-name()='SEQUENCE_NUMBER']","",""));
var inputField = eval("input"+columnNumber)[pos-1];
cordys.setNodeText(XFormBXMLClone,".//*[local-name()='VALUE']",inputField.getValue(),"");

from the parent form call the function of the child form(which loaded in frame)


try{
var obj = document.all["SummaryDetailsFrame"].contentWindow.document;
obj.getElementById("btn_Save").click();
}catch(e){}


to get the value from the frame form on the patent form.

var SumryId = document.all["SummaryDetailsFrame"].contentWindow.document.getElementById("summary_id").value

Tuple Count

cordys.setNodeText(GetOptionDtlsByApprIDModel.getMethodRequest(),".//*[local-name() = 'ApprID']",Appl_ID,"");
GetOptionDtlsByApprIDModel.reset();
var tupleCount = cordys.selectXMLNodes(GetOptionDtlsByApprIDModel.getData(),".//*[local-name()='tuple']").length;
cordys.setNodeText(GetCallPutDecisionByApprIDModel.getMethodRequest(),".//*[local-name()='ApprID']",Appl_ID,"");

To make a single cell from a table readonly.

for(var i=1;i<=CAM_FINANCIALSUMMARYTable.getRows().length;i++)
{
var row = CAM_FINANCIALSUMMARYTable.getRows()[i-1];
row.cells[2].firstChild.firstChild.readOnly = true;
}

To Add Default Option in Select

Dropdown Before bind
function proposal_type_BeforeBind(eventObject)
{
var option = {value:"0", description:"--Select--"};
proposal_type.addOption(option,false,0,false);
}

To Add Default Option in Select

To insert Name not value in Drop Down Box

function regionId_Change(eventObject)
{
var selectedBOs = regionId.getSelectedOptions();
if(selectedBOs.length > 0)
{
var selectedBO = selectedBOs[0].businessObject;
if(selectedBO != null)
regionName.setValue(cordys.getNodeText(selectedBO, ".//*[local-name()='REGION_NAME']","",""));
else
regionName.setValue("");
}
else
regionName.setValue("");
}

save Value After confirmation

application.confirm("Do you want to Submit the details",false,SaveData,true,"Confirmation");
function SaveData(confirmReturnValue)
{
if (confirmReturnValue == 1)
{
//Code
}
}

Table On row Checked

function CPA_SEGMENTMASTERTable_OnRowChecked(eventObject)
{
if (eventObject.checked == true)
{
if ((CurrUser == created_by_id2[eventObject.rowIndex].getValue()) || (CurrUser == modified_by_id[eventObject.rowIndex].getValue()) )
{
application.showError("Cannot work on task , as maker cannot be checker","Warning",created_by_id2[eventObject.rowIndex]);
CPA_SEGMENTMASTERTable.checkRow(eventObject.rowIndex,false) ; //Uncheck Row
return false;
}
}
}

Handling Error messages on SOAP Fault in Cordys Using Oracle database

function GetCpaSegmentmasterObjectModel_OnSOAPFault(eventObject)
{
eventObject.showError=false;
if(eventObject.faultString.lastIndexOf("ORA-00001")!=-1 || eventObject.faultString.lastIndexOf("Duplicate")!=-1)
{
application.showError("Duplicate record exists!");
return;
}
if(eventObject.faultString.lastIndexOf("ORA-02292")!=-1)
application.showError("Not able to modify/delete as Child Records Exists");
else
application.showError("Data not saved, Please reload the form");
}

get UserName in Cordys

var CurrUser = system.getUser().organizations[application.organization].userDN.split("=")[1].split(",")[0]

Creating Hyperlink in Cordys


function full_name_BeforeBind(eventObject)
{
eventObject.srcElement.style.cursor = "hand";
eventObject.srcElement.style.color = "blue";
eventObject.srcElement.style.textDecorationUnderline = true;
eventObject.srcElement.onclick = ViewCPADtls(eventObject);
}

function ViewCPADtls(myobj)
{
return function()
{
if(myobj && myobj.dataNode)
{
var SelRows = CPA_CALLPUTMASTERTable.getIndex();
var getDocumentReq = ViewCPADetails.XMLDocument.documentElement.cloneNode(true);
var obj = new Object();
obj.ApprID = approval_id2[SelRows].getValue();
obj.frmView = "View";
application.select(getDocumentReq, obj);
}
}
}

Tab on Focus

function TG_CPDetails_ontabfocus(eventObject)
{
var TabId = TG_1.getActiveTab().id;
switch(TabId)
{
case "TP_1":
break;
case "TP_2":
break;
}
}

Update through XML


function InsrtComments()
{
var updatedobj = cordys.cloneXMLDocument(InstDecision.XMLDocument);
cordys.setNodeText(updatedobj,".//*[local-name()='APPROVAL_ID']",Appl_ID,"");
cordys.setNodeText(updatedobj,".//*[local-name()='DECISION']",HDecision.getValue(),"");
cordys.setNodeText(updatedobj,".//*[local-name()='COMMENTS']",txt_comments.getValue(),"");
newModel.setMethodRequest(updatedobj);
newModel.reset();
}

get Values from Parent Form

/* XML on parent form
CPADtls
CallPut Details
CallPut Details
/cordys/CPA_XForms/CPA_CallPut Approval.caf

/* JS on child form
HApprId.setValue(application.event.data.ApprID);
HView.setValue(application.event.data.frmView);

var chkListDocXML = checkListApplication.XMLDocument.documentElement;
var originalId = cordys.getNodeText(chkListDocXML,".//*[local-name()='id']","","");
cordys.setNodeText(chkListDocXML,".//*[local-name()='id']",originalId + Math.random(),"");
application.select(chkListDocXML,data);

Mark Fields Mandatory

function MarkMandatory(control)
{
control.setLabel(cordys.getTextContent(control.getLabel())+" *")
}

Get ID or value After synchronization

GetCpaCallputmasterObjectModel.synchronize();
Appr_ID = cordys.getNodeText(GetCpaCallputmasterObjectModel.getData(),"//*[local-name()='APPROVAL_ID']","","");

3) Mandetory Fields
function MarkMandatory(control)
{
control.setLabel(cordys.getTextContent(control.getLabel())+" *")
}

Get ID or value After

Calling a method in Cordys

cordys.setNodeText(GetTCustomerObjectsModel.getMethodRequest(),"//*[local-name()='CUSTOMER_ID']",custCode.getValue(),"");
GetTCustomerObjectsModel.reset();
var tupleCount = cordys.selectXMLNodes(GetTCustomerObjectsModel.getData(),".//*[local-name()='tuple']").length;
if (tupleCount > 0 )
{
customer_name.setValue(cordys.getNodeText(GetTCustomerObjectsModel.getData(),".//*[local-name()='CUSTOMER_NAME']","",""));
customer_id.setValue(cordys.getNodeText(GetTCustomerObjectsModel.getData(),".//*[local-name()='CUSTOMER_ID']","",""));
}

Making Mandatory Files , enabling ,disabling ,get user Dn in cordys

----------------------------------------------
var mimeTypes = {
"html" : "application/html",
"htm" : "application/htm",
"pdf" : "application/pdf",
"doc" : "application/msword",
"docx" : "application/msword",
"rtf" : "application/rtf",
"xls" : "application/vnd.ms-excel",
"xlsx" : "application/vnd.ms-excel",
"zip" : "application/octet-stream",
"wrf" : "application/octet-stream",
"xml" : "application/xslt+xml",
"xslt" : "application/xslt",
"txt" : "application/txt",
"isvp" : "application/octet-stream",
"jpg" : "application/octet-stream",
"png" : "application/octet-stream",
"bmp" : "application/octet-stream",
"jpeg" : "application/octet-stream",
"ppt" : "application/octet-stream",
"pptx" : "application/octet-stream"
};
function disableInboxControls()
{
Workflow.disableActionButton("COMPLETE");
Workflow.disableActionButton("START");
Workflow.disableActionButton("PAUSE");
Workflow.disableActionButton("RESUME");
Workflow.disableActionButton("SKIP");
Workflow.disableActionButton("SUSPEND");
Workflow.disableActionButton("STOP");
Workflow.disableActionButton("REVOKECLAIM");
Workflow.disableActionButton("CLAIM");
Workflow.disableActionButton("DELEGATE");
Workflow.disableActionButton("FORWARD");
}

function getLoginUserDN(){
return system.getUser().organizations[application.organization].userDN;
}
function getCurrentOrganization(){
return application.organization;
}
function markMandatory(){
for(i = 0; i < arguments.length; i++){
var lable = cordys.getTextContent(arguments[i].getLabel());
if(lable.substring(lable.length-1, lable.length) != "*"){
arguments[i].setLabel(lable +" *");
}
}
}
function enableInputFields(){
for(i = 0; i < arguments.length; i++){
arguments[i].enable();
}
}
function disableInputFields(){
for(i = 0; i < arguments.length; i++){
arguments[i].disable();
}
}
function hideFields(){
for(i=0;i
arguments[i].hide();
}
}
function clearFields(){
for(i=0;i
arguments[i].setValue("");
}
}

function addDefaultSelectOption(controlId, defaultValue, defaultDesc){
var optionObj = {value:defaultValue, description:defaultDesc};
controlId.addOption(optionObj, false, 0, false);
}
------------------------------------------------------------

How to disable inbox Controls in Cordys

function disableInboxControls()
{
Workflow.disableActionButton("COMPLETE");
Workflow.disableActionButton("START");
Workflow.disableActionButton("PAUSE");
Workflow.disableActionButton("RESUME");
Workflow.disableActionButton("SKIP");
Workflow.disableActionButton("SUSPEND");
Workflow.disableActionButton("STOP");
Workflow.disableActionButton("REVOKECLAIM");
Workflow.disableActionButton("CLAIM");
Workflow.disableActionButton("DELEGATE");
Workflow.disableActionButton("FORWARD");
}

How To Upload A file in Cordys

upload file :
------------------
var filePath = "";
var uploadedFilePath = "";
var booleanClose = true;

function btnUpload_Click(eventObject)
{
booleanClose = false;
filePath = document.getElementById("file1").value;
if(!filePath)
{
application.showError("Upload Document Name cannot be empty!");
return;
}
filePath = filePath.substring(filePath.lastIndexOf("\\")+1,filePath.length);
var updateReq = cordys.cloneXMLDocument(uploadDocsReq.XMLDocument);
cordys.setNodeText(updateReq, ".//*[local-name()='folderName']", "");
cordys.setNodeText(updateReq, ".//*[local-name()='folderPath']", "\\Web\\ETLIFE_NB_UPLOADS\\");
upload1.request = updateReq;
upload1.uploadFile(document.getElementById("uploadForm1"));
}

function upload1_onUpload(eventObject)
{
if(eventObject.status)
{
application.notify("Document Uploaded Successfully!");
uploadedFilePath = cordys.getNodeText(eventObject.response, ".//*[local-name()='uploadTestResultDocs']/*[local-name()='uploadTestResultDocs']");
var insertReq = cordys.cloneXMLDocument(insertDocsRecord.XMLDocument);
cordys.setNodeText(insertReq, ".//*[local-name()='DOCUMENT_NAME']", filePath);
cordys.setNodeText(insertReq, ".//*[local-name()='DOCUMENT_PATH']", uploadedFilePath);
DummyModel.clear();
DummyModel.setMethodRequest(insertReq);
DummyModel.reset();
if(!DummyModel.soapFaultOccurred)
{
var documentId = cordys.getNodeText(DummyModel.getData(), ".//*[local-name()='DOC_ID']");
var writeReq = WriteExcelDataToDBModel.getMethodRequest();
cordys.setNodeText(writeReq, ".//*[local-name()='filePath']", uploadedFilePath);
cordys.setNodeText(writeReq, ".//*[local-name()='documentId']", documentId);
WriteExcelDataToDBModel.setMethodRequest(writeReq);
WriteExcelDataToDBModel.reset();
if(WriteExcelDataToDBModel.getData())
{
booleanClose = true;
application.container.close();
}
}
}
}

function Form_BeforeClose(eventObject)
{
if(!booleanClose)
{
application.showError("Please wait.....");
eventObject.returnValue = false;
}
}
--------------------------------------------------------
XML DOC for upload:
---------------------
Upload:FileContent1
Upload:FileName1
------------------------------------------------------------
***************************************************************************************
open upload as popup ..put upload in another xform and call that xform as
---------------------------------------------------------------
application.showDialog(uploadApp.XMLDocument.documentElement, null, null, uploadHandlerfun, false);
---------------------------------------------------------------
Upload Documents
Upload Documents
uploadDocumentsApp
/cordys/MTS_XForms/MTS_Application/Upload Files.caf
_model
----------------------------------------------------------------
**********************************************************************
**********************************************************************

how to generate Webservice out of WSDL (Wsdl should be in proper format supportable for cordys

---------------------------------------------------------------------------------------------
->go to Database Metadata Folder rt click then select Web Service then select the source as Import WSDL give the URL as http://sumit-pc/test.wsdl
->for getting url the wsdl can be put there inside inetpub ->wwwroot
then show services and select web services then finish.
->make Service Group ->uddi connector and add this web service then restart
---------------------------------------------------------------------------------------------

How To Install ISVP in Cordys

-----------------------
how to install isvp
---------------------
->go to security admin console then security settings tab and allow unsigned application
->go to Application Registry (in system ) and on manage Application Upload new Application then start.
*********************

Generate_XML_From_Excel And Generate XLS_From_Xml

Make two functions using WsApp i.e getXMLFrmExcel(String xlsfile) and generateXLSFile(String fileName).
getXMLFrmExcel(String xlsfile) will be of integer type and set return type as NOMxml in Wsapps method.
generateXLSFile(String fileName) will be of String type.
Then copy paste the code mentioned below and make changes according to your header of XLS file and table names

public static int getXMLFrmExcel(String xlsfile) throws Exception
{
String parentTagName = "GetImportResponse";
String iteratingTagName = "IMPORTDATA";
// String headersString
// ="Inward_Date/Inward_Time/Inward_Branch/Inwarded_by/Application_No/Customer_Name/PFA_CODE/SM_Code/Branch_Outward_Date/Image_No_Count/Image_QC_Image /Inward_Date";
String headersString = "Sr_No/Application_No/Applicant_Name/Receipt_No_/No_Of_Documents/Outward_Pages/Document_Type/Schedule_NO/Outward_Date/Prepared_By/Image_Inward_date/Scanned_pages";
String result = "";
String[] innerTags = iteratingTagName.split("/");
String[] outerTags = parentTagName.split("/");
String[] headers = headersString.split("/");
int errorObject;
try {
InputStream input = new FileInputStream(xlsfile);

POIFSFileSystem fs = new POIFSFileSystem(input);

HSSFWorkbook wb = new HSSFWorkbook(fs);

HSSFSheet sheet = wb.getSheetAt(0);

Iterator rows = sheet.rowIterator();

List sheetData = new ArrayList();
int node;
result += "<" + parentTagName + ">";
int syncID = 22;
int i = 0;
while (rows.hasNext()) {
i++;
result += "<" + iteratingTagName + ">";
HSSFRow row = (HSSFRow) rows.next();
Iterator cells = row.cellIterator();
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat formatter1 = new SimpleDateFormat("hh:mm:ss");

for (int c = 0; cells.hasNext() && c < headers.length; c++) {
if (i == 1) {
result = "<" + parentTagName + ">";
continue;

}
result += " <" + headers[c] + ">";
HSSFCell cell = (HSSFCell) cells.next();

switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
result += formatter.format(cell.getDateCellValue());
} else {
result += (long) cell.getNumericCellValue();
}
break;

case HSSFCell.CELL_TYPE_STRING:
result += (cell.getStringCellValue().trim());
break;

case HSSFCell.CELL_TYPE_BLANK:
break;

case HSSFCell.CELL_TYPE_BOOLEAN:
break;

case HSSFCell.CELL_TYPE_ERROR:
break;

default:
break;
}

result += "";
}
if (i == 1) {
result = "<" + parentTagName + ">";
} else {
result += "
";
}
}
result += "
";
System.out.println("Result : " + result);
node = new Document().parseString(result);
return node;
} catch (Exception e) {
errorObject = new Document()
.parseString("");
return errorObject;
}
}
@SuppressWarnings("deprecation")
public static String generateXLSFile(String fileName) {


try {
fileName = fileName + FILE_EXTENSION_XLS;
String filePath = EIBProperties.getInstallDir() + REPORTS_FOLDER
+ "\\" + fileName;
FileOutputStream fFile = new FileOutputStream(filePath);
HSSFWorkbook excelWorkbook = new HSSFWorkbook();
HSSFSheet excelWorksheet = excelWorkbook
.createSheet("Branch Outward Sheet");
short rownum = 0;
HSSFCellStyle cs = excelWorkbook.createCellStyle();
HSSFRow rij = excelWorksheet.createRow(rownum);
setOutwardHeader(cs, rij);

String qry = "SELECT * FROM Emp_Details";
QueryObject queryObject = new QueryObject(qry);
BusObjectIterator oBusObjectIterator = queryObject.getObjects();
BusObject oBusObject = null;
while (oBusObjectIterator.hasMoreElements())
{
oBusObject = (BusObject)oBusObjectIterator.nextElement();
rownum++;
short cellnum2 = 0;
rij = excelWorksheet.createRow(rownum);
HSSFCell cel = rij.createCell(cellnum2);
cel.setCellValue(oBusObject.getStringProperty("Emp_ID"));
cellnum2++;
cel = rij.createCell(cellnum2);
cel.setCellValue(oBusObject.getStringProperty("Emp_Name"));

cellnum2++;
cel = rij.createCell(cellnum2);
cel.setCellValue(oBusObject.getStringProperty("Emp_Salary"));

cellnum2++;
cel = rij.createCell(cellnum2);
cel.setCellValue(oBusObject.getStringProperty("Emp_DOB"));
cellnum2++;
cel = rij.createCell(cellnum2);
cel.setCellValue(oBusObject.getStringProperty("Emp_DOJ"));
cellnum2++;
cel = rij.createCell(cellnum2);
cel.setCellValue(oBusObject.getStringProperty("Emp_DOL"));
cellnum2++;
cel = rij.createCell(cellnum2);
cel.setCellValue(oBusObject.getStringProperty("Emp_Contact_No"));

}
excelWorkbook.write(fFile);
fFile.close();
return "";

} catch (FileNotFoundException e) {
e.printStackTrace();
throw new BsfRuntimeException("File Not Found" + e.getMessage());

} catch (Exception e) {
logger.log(Severity.ERROR, e);
throw new BsfRuntimeException("Error in reading File"
+ e.getMessage());

}

}

public static void setOutwardHeader(HSSFCellStyle cs, HSSFRow rij) {
int cellType = getDataType("VARCHAR");
int cellnum = 0;
cellnum = (short) fillHeader(cellnum, cs, rij, cellType,
"Application No");
cellnum++;
cellnum = (short) fillHeader(cellnum, cs, rij, cellType,
"Proposer Name");
cellnum++;
cellnum = (short) fillHeader(cellnum, cs, rij, cellType, "Branch Name");
cellnum++;
cellnum = (short) fillHeader(cellnum, cs, rij, cellType, "Zone Name");
cellnum++;
cellnum = (short) fillHeader(cellnum, cs, rij, cellType, "PFA Code");
cellnum++;
cellnum = (short) fillHeader(cellnum, cs, rij, cellType, "SMCA Name");
cellnum++;
cellnum = (short) fillHeader(cellnum, cs, rij, cellType, "Channel Type");
cellnum++;
}

private static int getDataType(String dType) {

if (dType.equalsIgnoreCase("DATE")) {

return 10;
} else {
return HSSFCell.CELL_TYPE_STRING;
}
}

private static int fillHeader(int cellnum, HSSFCellStyle cs, HSSFRow rij,
int cellType, String header) {
HSSFCell cel = rij.createCell((short) cellnum);
cel.setCellValue(header);
return (short) cellnum++;
}


}
Include poi-2.5.1.jar in the classpath of java archives.
And import all these packages.

import com.cordys.cpc.bsf.busobject.BusObject;
import com.cordys.cpc.bsf.busobject.BusObjectConfig;
import com.cordys.cpc.bsf.busobject.BusObjectIterator;
import com.cordys.cpc.bsf.busobject.QueryObject;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.cordys.cpc.bsf.busobject.exception.BsfRuntimeException;
import com.eibus.util.logger.CordysLogger;
import com.eibus.util.logger.Severity;
import com.eibus.util.system.EIBProperties;
import com.eibus.xml.nom.Document;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
and declare :
private static String FILE_EXTENSION_XLS = ".xls";
private static final String REPORTS_FOLDER = "\\Web\\Sumit_Excelfile";
private static final CordysLogger logger = CordysLogger.getCordysLogger(Emp_Details.class);
in the table .java class where you will paste the above code .