ABAP 记录表单打印报错设置
新系统第一次打印报错 需要在SPAD系统中做一些设置
1.新建格式类型
spad---“安全管理”---“设备类型”--“页格式”--“显示”-“新建”--名称-****
2.把页格式分配给格式类型
spad---“安全管理”---“设备类型”--“格式类型”--“显示”-“新建”--名称-****
3.格式类型分配给设备类型
spad---“安全管理”---“设备类型”--“设备类型”--“显示”-“找到cnsapwin后双击”--点击“格式”-新建选择格式类型(****)
复制格式从标准的复制
SPAD 输出设备管理
LP01 设备类型选择CNSAPWIN 存取类型G 主机打印机DEFAULT
变量设置
&symbol& (括号中,小写字母为变量)
&symbol& 屏蔽从第一位开始的N位
&symbol (n)& 只显示前N位
&symbol (S)& 忽略正负号
&symbol (<)& 符号在左边
&symbol (>)& 符号在右边
&symbol (Z)& 不输出前导零
&symbol (C)& 空格压缩
&symbol (.n)& 显示n 位的小数位
&symbol (T)& 忽略千位分隔符
&symbol (En)& 浮点数的幂指数为n
&symbol (nR)& n位显示,居右
&symbol (Ff)& fill character,用f 填充字段至完整位数显示
&symbol (I)& 如果该字段是INITIAL,不输出
&symbol (K)& 禁止系统类型转换
&'pre-text' symbol 'post-text'& 在字段输出前后加入文本内容
SET DATE MASK = 'date_mask' 设置日期显示模版
Syntax 说明
&field+& 对于字符变量设置从何位置显示数据,如果offset大于字符变量长度时,系统就不会显示任何数据
&field()& 设置输出长度.
&field(*)& 如果该字段类型是abap数据字典里定义的类型,系统将按照字典定义的长度设置输出长度
&field(S)& 禁止输出符号位
&field(<)& 符号位显示在数据的左边
&field(.)& 设置显示小数的位数
&field(E)& 设置为科学标示法
&field(T)& 禁止千分位的显示(适用于: DEC, CURR, INT和QUAN几种数据类型).
&field(Z)& 禁止数字前导0的显示
&field(I)& 禁止显示空值
&field(K)& 禁止类型系统按数据字典定义的转换函数进行输出转换
&field(R)& 右对齐(只有在定义了输出长度时才有效)
&field(F)& 用指定的字符替换左边的空格.
&field(L)& 将日期转换为本地显示格式,使用JDAT指定的格式
&field(C)& 该设置效果和ABAP的CONDENSE语句相同.
使用SFSY-FORMPAGES显示总页数的时候,如果页数大于9,,将会在前10页显示成星号。解决办法:可以添加3ZC,&SFSY-PAGE(3ZC)&/&SFSY-FORMPAGES(3ZC)&,不过可能会出现字体颠倒或者重叠的现象,用一个单独的窗口来存放显示页码的文本,并且把窗口的类型设置为L(最终窗口)就OK了。
金额字段打印不显示0 在输出条件里面写条件 NE 0 就可以了