zoukankan      html  css  js  c++  java
  • SAP ALV中同一列的不同行显示不同的小数位,并能够总计,小计

    物料数量字段,根据物料类型的不同,来显示不同的小数位;要求有点苛刻;

    首先,要能够总计和小计的话,这一列的字段类型必须是数值类型。

    这样的话,就不能通过截取的方式改变不同行的小数位。

    以下是两种思路:

    1、使用edit_mask,即convert exit,在对应的function module中根据外部条件来判断应该显示多少位,然后使用截取的方法显示。

    但是,外部条件不好获取,因为convert exit的fm只有输入输出两个参数,倒是可以再使用export/import传物料类型进来。

    注意,convert exit使用起来有一个bug,就是通过alv标准导出功能到本地excel时可能数据仍是转换之前的,在层级的alv中直接导不出来。有个note是专治这个的。

    2、ALV的field catalog有个字段是 qfieldname ,这个字段把当前记录的计量单位字段传进去。ALV显示的时候,会自动调整为本计量单位配置的小数位(请见计量单位的配置)。这种方法很方便,但是针对本需求也有担心,不同的物料类型的物料单位未必满足用户小数位的要求。那可以活用一下,找到用户要求小数位的计量单位,在内表加一列,人为的添加一个假的计量单位给它。我使用的就是这个方法。

    本来告诉用户不能实现,在用户一再坚持之下才勉强做出来,也可能是我想复杂了,不知道大家有没有更方便,高效的办法,欢迎各位拍砖。

  • 相关阅读:
    sql语句中的通配符
    Q&A 20090922
    Web大文件上传
    作别2010, 迎来2011的第一个工作日
    .Net 中 获取当前应用程序启动目录的几个方法
    asp.net身份验证和使用Silverlight的问题
    常用正则表达式
    最完美的xslt数值函数与字符串函数
    SQL2005的分页存储过程,支持多表多关联,亲测高效绝对可用
    处理大并发下的dropdownlist数据关联
  • 原文地址:https://www.cnblogs.com/ruingy/p/3594727.html
Copyright © 2011-2022 走看看