Tuesday, 12 August 2014

Generating a Dialog Form Using RunBase Class



               Generating a Dialog Form Using RunBase Class

Requirement

* Create a Dialog form using Dialog Class with 2 fields “AccountNumber ” and “CustName”
*AccountNumber” field should enable Customer lookup(can use existing EDT) and whenever selecting a purticular customer ,the CustomerName should automatically displayed in “CustName” field.

Step1:
Create a New class which extends the Runbase class …..mandatory
class Dialogingnew extends RunBase
{
DialogField CustAccount;
DialogField CustName;
Dialog dialog;
}
Step2:
write dialog() method in the class …..mandatory
protected Object dialog()
{
dialog= super();
dialog.allowUpdateOnSelectCtrl(true);
CustAccount = dialog.addField(extendedTypeStr(CustAccount)," AccountNumber");
CustName = dialog.addField(extendedTypeStr(Name),"CustName");
return dialog;
}

 
Step3:
Write dialogpostRun() method
public void dialogPostRun(DialogRunbase newdialog)
{
super(newdialog);
 
newdialog.dialogForm().formRun().controlMethodOverload(true);
newdialog.dialogForm().formRun().controlMethodOverloadObject(this);
}
 
Step4:
Write the user defined method called fld1_1_modified()
public boolean fld1_1_modified()
{
FormStringControl control = dialog.formRun().controlCallingMethod();
boolean isFieldModified;
isFieldModified = control.modified();

if(isFieldModified)
{
CustName.value(custTable::find(control.text()).name());
}
return isFieldModified;
}
 
 
Step5:
write pack() and unPack() method …..mandatory
Pack
public container pack()
{
return connull();
}
UnPack
public boolean unpack(container packedClass)
{
return true;
}
 
Step6:
Write User defined method “..description..
static client server ClassDescription description()
{
return "CustomerId and Name";
}
 
 
Step7:
write the main() method with object creation for the your class…..mandatory
public static void main(Args args)
{
Dialogingnew dialoging;
dialoging = new Dialogingnew();
if(dialoging.prompt())
{
dialoging.run();
}
}
Now Run the class and select a particular AccountNumber then the name will be displayed in CustName field
 

Note:

**There is no override Modified method in class level, so we need to write the user defined Modified method [ fld1_1_modified()].
 
**For running this user defined method, we need to write another method called as dialogpostRun()

**Description() method is to give description for your dialog form.








 

No comments:

Post a Comment