Abap 如何从表中获取值
我连接了选择选项的值和一个参数。该查询的条件基于连接的数据。我可以得到我需要的所有数据 这是我的密码:Abap 如何从表中获取值,abap,Abap,我连接了选择选项的值和一个参数。该查询的条件基于连接的数据。我可以得到我需要的所有数据 这是我的密码: TABLES: bkpf. SELECT-OPTIONS: s_belnr FOR bkpf-belnr NO-EXTENSION OBLIGATORY . PARAMETERS: p_ghjahr LIKE bkpf-gjahr DEFAULT sy-datum(4) OBLIGATORY. "Fiscal DATA: it_con TYPE TABLE OF BKPF, l
TABLES: bkpf.
SELECT-OPTIONS: s_belnr FOR bkpf-belnr NO-EXTENSION OBLIGATORY .
PARAMETERS: p_ghjahr LIKE bkpf-gjahr DEFAULT sy-datum(4) OBLIGATORY. "Fiscal
DATA: it_con TYPE TABLE OF BKPF,
ls_con TYPE bkpf-AWKEY,
lv_belnr LIKE bkpf-belnr,
IT TYPE STANDARD TABLE OF BKPF,
WA TYPE BKPF.
IF s_belnr-high IS INITIAL.
CONCATENATE s_belnr-low p_ghjahr INTO ls_con.
APPEND ls_con TO it_con.
ELSE.
lv_belnr = s_belnr-low.
WHILE lv_belnr LE s_belnr-high.
CONCATENATE lv_belnr p_ghjahr INTO ls_con.
APPEND ls_con TO it_con.
ADD 1 TO lv_belnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_belnr
IMPORTING
output = lv_belnr.
ENDWHILE.
ENDIF.
LOOP AT it_concats INTO ls_concats.
SELECT BELNR
FROM BKPF
INTO CORRESPONDING FIELDS OF TABLE IT
FOR ALL ENTRIES IN IT_CONCATS
WHERE AWKEY EQ IT_CONCATS-AWKEY.
ENDLOOP.
LOOP AT IT INTO WA.
WRITE: / WA-BELNR.
ENDLOOP.
忽略(因为你的问题太模糊)你正在寻找的文档类型,我建议如下
(警告,我不提供完整答案,只需为您必须调整的人编码即可;如果有人想改进我的答案,请随意操作,我很乐意将新答案选为好答案…如果是的话)
如果我没有遗漏什么,它应该可以工作。问题是什么?我无法使用连接的值作为select查询中的条件从bkpf获取belnr。如何使用该串联值获得belnr?1。为什么不直接对文件编号进行调整?(在s_belnr中的belnr)2。你能描述一下你的逻辑吗?你想实现什么?s_belnr-high在您的代码中始终为空。我需要使用bkpf的awkey从bkpf获取belnr,该awkey是rbkp中连接的belnr和会计日期。因此,您要选择FI中的供应商发票,它是从MM发票创建的?问题是,你有什么文件编号?因为MM发票号不必与FI发票号相同(可以相同,但这取决于系统是否使用对应的用户出口(OSS对此有说明))。如果您有MM发票编号,则类似于:BKPF-AWTYP='RMRP'和BKPF-AWKEY=RBKP-BELNR+RBKP-GJAHR
data: awkey_range type range of bkpf-awkey,
awkey_line like line of awkey_range.
* Fill the awkey_range with something like
awkey_line-sign = 'I'.
awkey_line-option = 'EQ'.
* loop at bkpf_table into bkpf_line.
* concatenate bkpf_line-belnr bkpf_line-ghjahr into awkey_line-low.
* append awkey_line to awkey_range.
* endloop.
* And then a single SQL
select *
from bkpf
into table IT "Ouch, what a name
where awkey in awkey_range.