Search code examples
oracle-adf

Default value gets stored in another column based on value selected from LOV


Table-Items

Columns-Order_Type

               (Sales,
               Return,
               Defective)

Order_Type_Id(1,2,3) i.e 1-Sales, 2-Return, 3-Defective

VO has Transient attribute-OrderType which has an LOV showing Order_Type. Based on selected Order_Type, Order_Type_Id should get stored in Order_Type_Id column

public Number getOrder_Type_Id() {
    String orderType = null;
    Number orderNumber = null;
    if (getOrderType() != null) {
        orderType = getOrderType();
        if (orderType.equals("Sales")) {
            orderNumber = new oracle.jbo.domain.Number(2);
        } else if (orderType.equals("Return")) {
            orderNumber = new oracle.jbo.domain.Number(3);
        } else if (orderType.equals("Defective")) {
            orderNumber = new oracle.jbo.domain.Number(4);
        }
        this.setOrder_Type_Id(orderNumber);
    }

Solution

  • Following code worked. Writing following code in Order_Type_Id:

    public Number Order_Type_Id()
    { 
    String orderType=null;
    Number orderNumber=null;
    if(getOrder_Type()!=null){
    orderType=getOrder_Type();
    if(orderType.equals("Sales")){
    orderNumber=new oracle.jbo.domain.Number(2);
    }
    else if(orderType.equals("Defective")){
    orderNumber=new oracle.jbo.domain.Number(3);
    return orderNumber;
    }
    else
    {
    return (Number)getAttributeInternal(Order_Type_Id);}
    }
    }
    

    In Order_Type_Id attribute add dependency or Order_Type