Abap SQL查询不返回数据
我正在开发一个SAP程序,以从物料表(Abap SQL查询不返回数据,abap,opensql,Abap,Opensql,我正在开发一个SAP程序,以从物料表(MARA)获取有关参考的信息 首先,我获取某些引用,然后使用循环,我需要为每次迭代进行其他查询: SELECT MARA~BISMT FROM mara WHERE mara~matnr = @ref INTO @var. 我知道问题是类型冲突(mara~matnr是字符,ref是字符串),如何将两者转换为相同的类型并查看结果?您可以使用字段符号作为动态类型,使用转换\u退出\u ALPHA\u输入功能模块为db格式化值 TABLES: mara.
MARA
)获取有关参考的信息
首先,我获取某些引用,然后使用循环,我需要为每次迭代进行其他查询:
SELECT
MARA~BISMT
FROM mara
WHERE mara~matnr = @ref
INTO @var.
我知道问题是类型冲突(
mara~matnr
是字符,ref
是字符串),如何将两者转换为相同的类型并查看结果?您可以使用字段符号作为动态类型,使用转换\u退出\u ALPHA\u输入
功能模块为db格式化值
TABLES: mara.
DATA: ref TYPE string,
var TYPE string.
FIELD-SYMBOLS: <fs_ref> TYPE any.
ref = '11'.
ASSIGN ('mara-matnr') TO <fs_ref>.
CHECK sy-subrc IS INITIAL.
<fs_ref> = ref.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = <fs_ref>
IMPORTING
output = <fs_ref>.
SELECT SINGLE mara~bismt
FROM mara
INTO @var
WHERE mara~matnr = @<fs_ref>.
表格:mara。
数据:ref类型字符串,
变量类型字符串。
字段符号:键入任意。
ref='11'。
将('mara-matnr')分配给。
检查sy subrc是否为首字母。
=参考。
调用函数“转换\退出\阿尔法\输入”
出口
输入=
进口
输出=。
选择单个mara~bismt
来自马拉
进入@var
其中mara~matnr=@。
您也可以使用mkysoft建议的转换出口来代替:
DATA: ref TYPE string VALUE '2'.
ref = |{ CONV matnr( ref ) ALPHA = in }|.
SELECT SINGLE bismt
FROM mara
WHERE matnr = @ref
INTO @DATA(var).
TABLES语句已过时,并在类内抛出语法错误,不应使用它。我认为您谈论的是外部(
ref
)和内部值(mara~matnr
),您可以通过函数模块RS_CONV_EX_2_IN
或语句WRITE
(从内部到外部)。