Thursday, 21 June 2018

Executing a DB package at Bean with a return value by using HashMap

Executing a package with a return value.


    public HashMap getProductPrice(String compcode, String unitcode, String prodCode, Date invDate) {
        BindingContext bindingContext = BindingContext.getCurrent();
        DCDataControl dc = bindingContext.findDataControl("AppModuleAMDataControl");
        AppModuleAMImpl appM = (AppModuleAMImpl)dc.getDataProvider();
        System.out.println("**Price from ValueChange:"+compcode+" "+unitcode+" prodCode:"+prodCode);

        String sqlproc2 = "{? = call Pos_Inv_Validation_Pkg.Get_Price(?,?,?,sysdate,?,?)}";
        //pi_vchno_pkg.get_pr_vchno
        CallableStatement sqlProcStmt2 = appM.getDBTransaction().createCallableStatement(sqlproc2, 0);
        HashMap hm = new HashMap<String, Object>();

        try {
            sqlProcStmt2.registerOutParameter(1, Types.VARCHAR);
            sqlProcStmt2.setString(2, compcode);
            sqlProcStmt2.setString(3, unitcode);
            sqlProcStmt2.setString(4, prodCode);
            //sqlProcStmt2.setDate(5, invDate.dateValue());
            sqlProcStmt2.registerOutParameter(5, java.sql.Types.VARCHAR);
            sqlProcStmt2.registerOutParameter(6, java.sql.Types.INTEGER);
            sqlProcStmt2.execute();

            BigDecimal v_ret_val = sqlProcStmt2.getBigDecimal(1);
            String priceType = sqlProcStmt2.getString(5);
            BigDecimal priceCntrlNo = sqlProcStmt2.getBigDecimal(6);
            hm.put("price", v_ret_val);
            hm.put("priceType", priceType);
            hm.put("priceCntrlNo", priceCntrlNo);

            System.out.println("v_ret_val " + v_ret_val+" --Date: "+invDate.dateValue()+" priceCntrlNo :"+priceCntrlNo+":priceType"+priceType);


        } catch (SQLException e) {

            System.out.println(e.getMessage());
        }

        return hm;
    }

No comments:

Post a Comment

Session Clear

 Select 'alter system kill session '''|| sid_serial#||''''||chr(010)||'/' from locked_objects_info_v...