ABAP中数据ZSDT0039,我要取ZSDT0039表中CODE字段和DJ字段的,将查到的字段输出到一个内表中,如何编写代码
时间: 2023-12-10 16:38:06 浏览: 68
你可以按照以下步骤编写代码:
1. 声明内表及相应的字段类型
```abap
TYPES: BEGIN OF t_mytable,
code TYPE zsd_t0039-code,
dj TYPE zsd_t0039-dj,
END OF t_mytable.
DATA: itab_mytable TYPE STANDARD TABLE OF t_mytable.
```
2. 执行 SELECT 查询,并将结果存入内表中
```abap
SELECT code dj FROM zsd_t0039 INTO TABLE itab_mytable.
```
完整的 ABAP 代码如下:
```abap
TYPES: BEGIN OF t_mytable,
code TYPE zsd_t0039-code,
dj TYPE zsd_t0039-dj,
END OF t_mytable.
DATA: itab_mytable TYPE STANDARD TABLE OF t_mytable.
SELECT code dj FROM zsd_t0039 INTO TABLE itab_mytable.
```
注意,以上代码仅供参考,具体实现可能需要根据具体需求进行调整。
相关问题
写一段ABAP代码,条件如下:底表ZSDT0039,底表ZSDT0039中有字段流水号CODE,净值DJ,首先通过输入选择屏幕字段为流水号,将ZSDT0039表中符合条件的选择屏幕流水号进行求和,在将求和的数据输出在一个新的内表里,在把流水号求和的值和对应的流水号输出在alv里
下面是符合您要求的 ABAP 代码:
DATA: lt_zsdt0039 TYPE STANDARD TABLE OF zsd0039,
ls_zsdt0039 TYPE zsd0039,
lt_output TYPE STANDARD TABLE OF zsd0039,
ls_output TYPE zsd0039,
lv_code TYPE zsd0039-code,
lv_sum TYPE zsd0039-dj.
PARAMETERS: p_code TYPE zsd0039-code.
SELECT *
FROM zsd0039
INTO TABLE lt_zsdt0039
WHERE code = p_code.
LOOP AT lt_zsdt0039 INTO ls_zsdt0039.
lv_sum = lv_sum + ls_zsdt0039-dj.
ENDLOOP.
ls_output-code = lv_code.
ls_output-dj = lv_sum.
APPEND ls_output TO lt_output.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
TABLES
t_outtab = lt_output.
在这段代码中,我们首先声明了所需的数据类型和内表。然后使用 PARAMETERS 关键字创建了一个屏幕字段,用于用户输入流水号。接下来我们使用 SELECT 语句从表 ZSDT0039 中获取符合条件的数据,并将其存储在内表 LT_ZSDT0039 中。然后使用 LOOP 语句将符合条件的流水号对应的净值进行求和。之后,我们将求和后的值和对应的流水号存储在 LT_OUTPUT 内表中,并调用函数 REUSE_ALV_GRID_DISPLAY 将其输出在 ALV 表格中。
阅读全文