CO代码:

//获取当前修改的行

String rowReference = pageContext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);

Serializable[] param ={ rowReference};

am.invokeMethod("checkItemCategoryExists",param);



AM代码:


public void checkItemCategoryExists(String rowReference) {

OARow row = (OARow)findRowByRef(rowReference);

if (row != null) {

OADBTransaction txn = getOADBTransaction();

CallableStatement cstmt = null;

String result;

String sq1 =

"BEGIN ?:=cux_srm_category_pkg.check_item_cat_exists(?,?,?,?); END;";

try {

cstmt = txn.createCallableStatement(sq1, 1);

cstmt.registerOutParameter(1, OracleTypes.VARCHAR);

cstmt.setString(2,

row.getAttribute("CategorySetId").toString());

cstmt.setString(3,

row.getAttribute("OrganizationId").toString());

cstmt.setString(4,

row.getAttribute("InventoryItemId").toString());

cstmt.setString(5,

row.getAttribute("ItemCategoryId").toString());

cstmt.execute();

result = cstmt.getString(1);


if (result.equals("Y"))

throw new OAException("该物料已存在,请重新输入", OAException.ERROR);

} catch (Exception e) {

throw OAException.wrapperException(e);

} finally {

if (cstmt != null) {

try {

cstmt.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}


} //end checkItemCategoryExists()