SQL查询没有return数据
SQL query does not return data
我正在开发一个 SAP 程序以从 material table (MARA
) 中获取有关引用的信息。
首先我采用某些引用,然后使用循环我需要为每次迭代进行其他查询:
SELECT
MARA~BISMT
FROM mara
WHERE mara~matnr = @ref
INTO @var.
我知道问题是类型冲突(mara~matnr
是字符,ref
是字符串),如何将两者转换为相同的类型并查看结果?
您可以使用字段符号作为动态类型,并使用 CONVERSION_EXIT_ALPHA_INPUT
函数模块来格式化 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>.
您也可以使用 ABAP string templates 而不是 mkysoft 建议的转换出口:
DATA: ref TYPE string VALUE '2'.
ref = |{ CONV matnr( ref ) ALPHA = in }|.
SELECT SINGLE bismt
FROM mara
WHERE matnr = @ref
INTO @DATA(var).
我正在开发一个 SAP 程序以从 material table (MARA
) 中获取有关引用的信息。
首先我采用某些引用,然后使用循环我需要为每次迭代进行其他查询:
SELECT
MARA~BISMT
FROM mara
WHERE mara~matnr = @ref
INTO @var.
我知道问题是类型冲突(mara~matnr
是字符,ref
是字符串),如何将两者转换为相同的类型并查看结果?
您可以使用字段符号作为动态类型,并使用 CONVERSION_EXIT_ALPHA_INPUT
函数模块来格式化 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>.
您也可以使用 ABAP string templates 而不是 mkysoft 建议的转换出口:
DATA: ref TYPE string VALUE '2'.
ref = |{ CONV matnr( ref ) ALPHA = in }|.
SELECT SINGLE bismt
FROM mara
WHERE matnr = @ref
INTO @DATA(var).