logo资料库

BOTP单据转换自定义公式.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
BOTP 自定义公式 运用 BOTP 公式平台进行单据转换规则配置,当遇到系统提供的公式不能够满足当前 业务配置需求时,用户可以自定义公式。本文档以一个案例来介绍如何在 BTOP 中自定义公 式,并应用自定义的公式进行规则配置。 案 例 说 明 : 计 划 订 单 投 放 生 成 离 散 生 产 订 单 , 该 过 程 运 用 的 单 据 转 换 规 则 是 “MM_PLAN005 计划订单-离散生产订单”。该规则中,没有为生产订单的“成本对象”赋 值,所以生成的生产订单“成本对象”内容为空。 现需要为生产订单的“成本对象”赋值,要求:成本对象取值是计划订单的物料关联的 成本对象。查看公式平台中系统提供的公式发现,公式不能满足需求,所以手工添加一个公 式。 操作步骤: 一、 打开规则编辑界面 使用具有“规则配置”权限的用户登录 EAS 系统,切换组织,切换到能够修改 BTOP 规则配置的组织下,打开“规则配置”,找到该规则。 打开规则编辑界面,如下图
二、 打开“BOTP 自定义公式”界面 在“单据转换规则”界面,按 F9,输入管理员密码, 验证成功后,系统自动打开“BOTP 自定义公式”编辑界面,如下图
三、 新增自定义公式 按下图,填写内容后保存。 公式名 __DYNBOTGetaCostObjByMaterialAndOrg,其中__DYNBOT 是系统自 动添加的前缀。 公式介绍 根据物料编码和组织 ID 获取成本对象;__DYNBOT GetaCostObjByMaterialAndOrg(String materialNum, String OrgUnitId),返回值为成本对象; 是否全局共享 勾选表示在所有的单据转换规则配置该公式均可用,否则只有在当前单据 是否启用 转换规则配置界面可用。 勾选表示启用。
脚本内容 公式参数 java.lang.StringBuffer sql = new java.lang.StringBuffer(); sql.append( " select t.fid from t_bd_costobject t where t.fnumber='"); sql.append(materialNum); sql.append( "'"); sql.append(" and t.fcontrolunitid='"); sql.append(orgId); sql.append( "'"); java.sql.Connection con = com.kingdee.bos.framework.ejb.EJBFactory.getConnection(_ _bosContext); java.sql.Statement batchStatement = con.createStatement( ); java.sql.ResultSet rst = batchStatement.executeQuery(sql.toString( )); String text = ""; if (rst.next( )) { text = rst.getString("fid").toString(); } com.kingdee.util.db.SQLUtils.cleanup(batchStatement , con ); com.kingdee.util.db.SQLUtils.cleanup( con ); return text; 1、 materialNum(物料编码)物料编码 2、 orgId(管理单元 ID) 四、 应用自定义公式 打开单据转换规则配置界面,找到生产订单中的“成本对象”,单击后方编 辑按钮
系统打开“成本对象取值”,单击“脚本编辑”按钮, 系统打开“公式平台”编辑界面,公式内容如下 公式结果 = __BOTgetObjectFromCostObject(__DYNBOTGetaCostObjByMaterialAndOrg(计 划订单.物料.编码, 计划订单.控制单元.ID));
分享到:
收藏