ABAP+WHERE字段长度不一致报错解决

在使用WHERE时,做查询的两个字段长度不一致,导致报错:

If the addition "FOR ALL ENTRIES IN itab" is used, the fields "RFMNG"

and "LT_A-MSL" must have the same type and the same length.

这里就是VBFA的RFMNG字段的类型是CURR 长度13带有3个小数,ACDOCA的MSL字段类型是CURR长度23带有3个小数。

有两个方法可以解决,一是可以在定义字段的时候将字段定义成一致,;二是使用CAST转换字段的数据类型,不过使用了CAST就需要将FOR ALL ENTRIES IN修改为 JOIN.

方法一:

将内表里面的字段类型定义成和VBFA里面的一致,就不会报错了。

方法二、使用CAST,转换其中任意一个都可以

写了一篇比较全面的SAP select查询的笔记,可移步查看:

【案例总结】简直绝了------非常全面的SELECT总结-CSDN博客

相关推荐
六件套是我2 小时前
redission实现延时队列
android·java·servlet
海阔天空0922 小时前
ABAP S4 新语法 sql with 的用法demo
abap
王元_SmallA2 小时前
Redis Desktop Manager(Redis可视化工具)安装
java·后端
ᐇ9592 小时前
Java HashMap深度解析:数据结构、原理与实战指南
java·开发语言·数据结构
好好研究2 小时前
Spring框架 - 开发方式
java·后端·spring
武子康2 小时前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j
Wang's Blog3 小时前
前端FAQ: Vue 3 与 Vue 2 相⽐有哪些重要的改进?
前端·javascript·vue.js
再希3 小时前
React+Tailwind CSS+Shadcn UI
前端·react.js·ui
2301_796512523 小时前
Rust编程学习 - 为什么说Cow 代表的是Copy-On-Write, 即“写时复制技术”,它是一种高效的 资源管理手段
java·学习·rust