求助abap 编程:ASSIGN COMPONENT ld_index OF STRUCTURE t_output TO <fs>.这句要怎么理解呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助abap 编程:ASSIGN COMPONENT ld_index OF STRUCTURE t_output TO <fs>.这句要怎么理解呢?相关的知识,希望对你有一定的参考价值。

分配字段串 组件
可以用 ASSIGN 语句将字段 串的特殊组 件分配给字 段符号,过 程如下:
语法
ASSIGN COMPONENT <comp> OF STRUCTURE <s> TO <FS>.
系统将字符 串 <s> 的组件 <comp> 分配给字段 符号 <FS>。 可以指定 <comp> 为文字或变 量。如果 <comp> 属于类型 C 或字段串( 象组件一样 没有内表) ,它指定组 件的名称。 如果 <comp> 有任何其它 基本数据类 型,将被转 化为类型 I(参见 类型转换),并且指 定组件号。
如果分配成 功,SY-SUBRC 设为 0。否则, 返回 4。
DATA: BEGIN OF LINE,
COL1 TYPE I VALUE '11',
COL2 TYPE I VALUE '22',
COL3 TYPE I VALUE '33',
END OF LINE.
DATA COMP(5) VALUE 'COL3'.
FIELD-SYMBOLS: <F1>, <F2>, <F3>.
ASSIGN LINE TO <F1>.
ASSIGN COMP TO <F2>.
DO 3 TIMES.
ASSIGN COMPONENT SY-INDEX OF STRUCTURE <F1> TO <F3>.
WRITE <F3>.
ENDDO.
ASSIGN COMPONENT <F2> OF STRUCTURE <F1> TO <F3>.
WRITE / <F3>.
输出如下:
11 22 33
33
该示例中, <F1> 指向字段串 LINE, <F2> 指向字段 COMP。 循环中,LINE 的组件由其 号码指定, 并且一个接 一个地被分 配到 <F3>。 循环之后, LINE 的组件 COL3 由其名称指 定,并被分 配到 <F3>。
参考技术A 手头有几本书,有兴趣的话HI我,传给你. 计算机必懂的53个英文单词和directoryof 目录清单 directorystructure 目录结构 diskaccess 磁盘存取 disk

ABAP 内表数据汇总问题 求助

将相同采购订单号、项目号、EKBE-VGABE=1的数量(EKBE-MENGE)汇总,计算出已收货量
详细说一下 这一步如何实现
DATA:BEGIN OF WA,
EBELN TYPE EKKO-EBELN, 订单号
EBELP TYPE EKPO-EBELP, 项目号
LIFNR TYPE LFA1-LIFNR, 公司代码
VGABE type EKBE-VGABE,
YI type n, 已交货的数量
END OF WA.

DATA ITAB LIKE TABLE OF WA with header line.

SELECT
EKKO~EBELN

EKPO~EBELP

EKPO~MENGE

EKBE~VGABE

INTO CORRESPONDING FIELDS OF TABLE ITAB
From LFA1 inner join EKKO on LFA1~LIFNR = EKKO~LIFNR
inner join EKET on EKET~EBELN = EKKO~EBELN
inner join EKPO on EKET~EBELN = EKPO~EBELN
AND EKET~EBELP = EKPO~EBELP
inner join MAKT on EKPO~TXZ01 = MAKT~MATNR
inner join EKBE on MAKT~MATNR = EKBE~MATNR
where LFA1~NAME1 in m1.

查出来数据 全部放在内表了 如何用collect 实现 汇总
我只会这一步
*If EKBE-VGABE = 1.
*Collect itab.
*endif.

但是它要求是 将相同采购订单号、项目号、EKBE-VGABE=1的数量(EKBE-MENGE)汇总 如何设置条件 让其将 相同采购订单号 项目号 和VGABE=1 的 汇总 求代码 如果用ALV sort 如何汇总 用collect呢??!!

.

参考技术A COLLECT ,除了key之外的其他属性必须时数字型的,才能进行累加计算.内表里有其它类型的字段,累加不了。
ALV里有个按钮是可以设置哪几个字段自动相加的。
参考技术B 定义一个I类型变量l_n,放到loop循环里面,然后read table,l_n加1就行了.本回答被提问者采纳 参考技术C 数据传输的过程,从数据库到工作区再到内表;访问内表,则表内表数据写入工作区,再对工作区进行访问。这个也是转载来的 很不错哦,你可以试下的 呵呵

以上是关于求助abap 编程:ASSIGN COMPONENT ld_index OF STRUCTURE t_output TO <fs>.这句要怎么理解呢?的主要内容,如果未能解决你的问题,请参考以下文章

求助:ABAP输出到Excel中格式的问题

ABAP 内表数据汇总问题 求助

求助:Web Dynpro for ABAP的Table如何得到被选中的多行

[求助]关于ABAP中找生产订单状态的问题

求助:Web Dynpro for ABAP的ALV如何得到被选中的多行

求助!!!WEB DYNPRO FOR ABAP 的ALV操作