Thursday, 27 October 2016

Scenario:-Dialog lookup
--------------------------------------------------------
class dialog_Ex extends RunBase
{
    DialogField dcustgroup;
    DialogField dcustaccount;
    DialogField dWorkflowStatus;
    Dialog dialog;

    AccountNum  accountNum;
    custgroupid custgroup1;
    CustApproval    WFstatus1;
}

protected Object dialog()
{
    dialog = super();


    dcustgroup  = dialog.addField(extendedTypeStr("custgroupid"));
    dWorkflowStatus  = dialog.addField(enumStr("CustApproval"));
    dcustaccount = dialog.addField(extendedTypeStr("custaccount"));

    return dialog;
}
---------------------------------------------------------------------------------
public void dialogPostRun(DialogRunbase _dialog)
{
   super(_dialog);

// allow to call the event methods
// of this class (e.g. Fld1_1_modified() method)
   _dialog.dialogForm().formRun().controlMethodOverload(true);
   _dialog.dialogForm().formRun().controlMethodOverloadObject(this);
}

-------------------------------------------------------------------------------------

private void Fld3_1_lookup() //dcustAccount
{
   FormStringControl control = dialog.formRun().controlCallingMethod();
   SysTableLookup sysTableLookup =  SysTableLookup::newParameters(tablenum(CustTable),control);
   Query                   query = new Query();
   QueryBuildDataSource    queryBuildDataSource;
   QueryBuildRange         queryBuildRange;


   custgroup1 = dcustgroup.value();
   WFstatus1  = dWorkflowStatus.value();

   queryBuildDataSource = query.addDataSource(TableNum(CustTable));
   queryBuildRange = queryBuildDataSource.addRange(FieldNum(CustTable, CustGroup));
   queryBuildRange.value(queryValue(custgroup1));

   queryBuildRange = queryBuildDataSource.addRange(fieldNum(CustTable,CustomerApprovalStatus));
   queryBuildRange.value(queryValue(WFstatus1));

   sysTableLookup.addLookupfield(fieldnum(CustTable, AccountNum));
   sysTableLookup.addLookupfield(fieldnum(CustTable, CustGroup));
   sysTableLookup.addLookupfield(fieldNum(CustTable, CustomerApprovalStatus));

   sysTableLookup.parmQuery(query);
   sysTableLookup.performFormLookup();
}
------------------------------------------------------------------
public void run()
{
   // select CustTable where CustTable.CustGroup == dcustaccount.value() ;

}
------------------------------------------------------------------
public static void main(Args _args)
{
    dialog_Ex   dialog_Ex = new  dialog_Ex();
    if(dialog_Ex.prompt())
    {
        dialog_Ex.run();
    }
}

No comments:

Post a Comment