--建立一个structure.
DATA: BEGIN OF count_line,
carrid TYPE spfli-carrid,
count TYPE i,
END OF count_line,
spfli_tab TYPE TABLE OF spfli.
DATA: dbcur1 TYPE cursor,
dbcur2 TYPE cursor.
--定义parameters参数.接收从页面获得的参数;
PARAMETERS: p_cityfr TYPE spfli-cityfrom,
p_cityto TYPE spfli-cityto.
--建立一个Structure.
DATA: BEGIN OF waa,
fldate TYPE sflight-fldate,
carrname TYPE scarr-carrname,
connid TYPE spfli-connid,
END OF waa.
--建立一个internal table.内表.
DATA itab LIKE SORTED TABLE OF waa
WITH UNIQUE KEY fldate carrname connid.
--多表连接查询.
SELECT c~carrname p~connid f~fldate
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( scarr AS c
INNER JOIN spfli AS p ON p~carrid = c~carrid
AND p~cityfrom = p_cityfr
AND p~cityto = p_cityto )
INNER JOIN sflight AS f ON f~carrid = p~carrid
AND f~connid = p~connid ).
--循环输出内表里面的,字段.
LOOP AT itab INTO waa.
WRITE: / wa-fldate, wa-carrname, wa-connid.
ENDLOOP.
--指定透明表.
TABLES:ZEDITAB.
--引用zeditab表的structure结构.
DATA:WA_ZDITAB TYPE ZEDITAB.
--对透明表的更新操作.
UPDATE ZEDITAB SET EANCOMSEGMENT = 'G01DTM' EDI_INDEX = '3'
WHERE EDI_INDEX = '11'.
UPDATE ZEDITAB SET EANCOMSEGMENT = 'G01DTM' EDI_INDEX = '2'
WHERE EDI_INDEX = '10'.
UPDATE ZEDITAB SET EANCOMSEGMENT = 'G01DTM' EDI_INDEX = '1'
WHERE EDI_INDEX = '9'.
WRITE:/ 'OK'.
TABLES:ZHT_EMPLOYEE.
DATA:EMPLOYEE_ITAB LIKE STANDARD TABLE OF ZHT_EMPLOYEE WITH HEADER LINE,
EMPLOYEE_WA LIKE LINE OF EMPLOYEE_ITAB.
--给结构赋值.
EMPLOYEE_WA-EMP_ID = 101.
EMPLOYEE_WA-EMP_NAME = 'Admin'.
EMPLOYEE_WA-EMP_SEX = '男'.
APPEND EMPlOYEE_WA TO EMPLOYEE_ITAB.
EMPLOYEE_WA-EMP_ID = 102.
EMPLOYEE_WA-EMP_NAME = 'Apple'.
EMPLOYEE_WA-EMP_SEX = '女'.
APPEND EMPLOYEE_WA TO EMPLOYEE_ITAB.
EMPLOYEE_WA-EMP_ID = 103.
EMPLOYEE_WA-EMP_NAME = '周海涛'.
EMPLOYEE_WA-EMP_SEX = '男'.
--追加到内表中.
APPEND EMPLOYEE_WA TO EMPLOYEE_ITAB.
--循环输出.内部的记录, 这里没有用到into 的原因是,EMPLOYEE_ITAB,有 -
-with..header Line.有头行,就不需要用 into 到一个Structure中.
LOOP AT EMPLOYEE_ITAB.
WRITE: / EMPLOYEE_ITAB-EMP_ID,EMPLOYEE_ITAB-EMP_NAME,EMPLOYEE_ITAB-EMP_SEX.
INSERT INTO zht_employee VALUES employee_itab. "循环添加.
ENDLOOP.
EMPLOYEE_WA-EMP_ID = 103.
EMPLOYEE_WA-EMP_NAME = '周海涛'.
EMPLOYEE_WA-EMP_SEX = '男'.
--删除操作.
delete zht_employee FROM EMPLOYEE_WA.
COMMIT WORK.
WRITE: / sy-uline.
IF sy-subrc = 0.
WRITE: / '删除成功'.
else.
WRITE: / '删除失败'.
ENDIF.
CLEAR EMPLOYEE_ITAB.
SELECT * FROM zht_employee INTO CORRESPONDING FIELDS OF TABLE employee_itab.
LOOP AT EMPLOYEE_ITAB.
WRITE: / EMPLOYEE_ITAB-EMP_ID,EMPLOYEE_ITAB-EMP_NAME,EMPLOYEE_ITAB-EMP_SEX.
ENDLOOP.
WRITE: / sy-uline.
IF sy-subrc = 0.
WRITE:/ '修改成功'.
ELSE.
WRITE: / '修改失败'.
ENDIF.
--更新操作.
UPDATE zht_employee set emp_id = 102 emp_name = 'My Love' emp_sex = '女' WHERE emp_id = 102.
CLEAR employee_wa.
EMPLOYEE_WA-EMP_ID = 101.
EMPLOYEE_WA-EMP_NAME = 'TestName'.
EMPLOYEE_WA-EMP_SEX = '女'.
UPDATE ZHT_EMPLOYEE FROM EMPLOYEE_WA.
COMMIT WORK.
CLEAR EMPLOYEE_ITAB.
SELECT * FROM zht_employee INTO CORRESPONDING FIELDS OF TABLE employee_itab.
LOOP AT EMPLOYEE_ITAB.
WRITE: / EMPLOYEE_ITAB-EMP_ID,EMPLOYEE_ITAB-EMP_NAME,EMPLOYEE_ITAB-EMP_SEX.
ENDLOOP.
SKIP.
DATA:ZEDI_IDOC_ITAB LIKE STANDARD TABLE OF ZEDI_IDOC_PARAM WITH HEADER LINE,
ZEDI_IDOC_WA LIKE LINE OF ZEDI_IDOC_ITAB.
SELECT * INTO CORRESPONDING FIELDS OF TABLE ZEDI_IDOC_ITAB FROM ZEDI_IDOC_PARAM.
DATA:size type i.
size = lines( ZEDI_IDOC_ITAB ).
WRITE: / '输出结果:',size.
LOOP AT ZEDI_IDOC_ITAB .
WRITE:/ ZEDI_IDOC_ITAB-LINE_ID,ZEDI_IDOC_ITAB-MESTYP,ZEDI_IDOC_ITAB-DOCNUM.
ENDLOOP.
SKIP.
DELETE FROM ZEDI_IDOC_PARAM.
WRITE 'Please fill in your name before printing:'.
WRITE / ' Enter name here ' INPUT ON.
ULINE.
WRITE 'You can overwrite the following line:'.
FORMAT INPUT ON INTENSIFIED OFF.
ULINE.
FORMAT INPUT OFF INTENSIFIED ON.
--包含.
INCLUDE <LIST>.
START-OF-SELECTION.
WRITE 'Now comes a'.
FORMAT HOTSPOT ON COLOR 5 INVERSE ON.
WRITE 'HOTSPOT'.
FORMAT HOTSPOT OFF COLOR OFF.
AT LINE-SELECTION.
WRITE / 'New list AT-LINE-SELECTION'.
SKIP.
WRITE 'This is also a hotspot:'.
WRITE ICON_LIST AS ICON HOTSPOT.
上面是一个很简单的例子, 毕竟发的时间不多..还是刚刚掌握一些最基础的语法知识.. 高手级别的人物,千万请别喷..
分享到:
相关推荐
本文将详细介绍如何通过ABAP编程语言实现对SAP透明表数据的批量删除、添加以及修改操作。 #### 一、批量删除透明表数据 在进行批量删除之前,需要确保理解此操作的潜在风险。如果错误地执行了删除操作,可能会导致...
ABAP-透明表学习笔记.py
- ALTER TABLE:修改数据表的结构,如添加、删除或更改字段。 - TRUNCATE TABLE:清空数据表的所有记录,但保留表结构。 3. **ABAP的数据表视图**: - 选择视图:基于一个或多个表创建逻辑视图,用于简化复杂的...
阅读这份文档将有助于加深对ABAP维护表视图的理解,掌握实际操作技巧。 总的来说,ABAP维护表视图是一项关键的开发任务,它涉及到数据库设计、数据访问优化以及业务逻辑的实现。通过有效利用表视图,开发者可以构建...
在ABAP编程语言中,动态内表(Dynamic Internal Tables)是一种非常灵活的数据结构,它允许程序员在运行时定义和操作内表。与静态内表相比,动态内表提供了更多的灵活性,尤其是在处理不确定的数据结构时更为实用。...
3. **内部表操作**:将数据库结果存储到内部表中,然后对内部表进行处理,如搜索、排序或去重,以满足特定需求。 4. **使用LIKE操作符**:对于部分匹配搜索,可以使用LIKE操作符,结合通配符`%`和`_`。例如,根据...
5. **操作内表**:有了动态内表后,可以进行常见的内表操作,如遍历、搜索、排序等。这些操作都需要基于内表的当前结构。 其次,动态内表的数据传递通常涉及以下几种方式: 1. **参数传递**:通过函数模块的输入和...
总的来说,动态内表在ABAP编程中是提高代码灵活性和效率的重要工具,但在使用时需谨慎,特别是涉及数据更新和删除的操作,需要确保遵循最佳实践,避免引发潜在的数据错误。通过正确理解和应用这些技术,我们可以编写...
在SAP ABAP环境中,使用SE11事务代码进行数据库表的创建是常见的数据库管理任务。下面是通过SE11创建自定义表的...在实际操作中,可能还需要考虑表的索引、键字段、字段注释等其他高级特性,以优化性能和数据完整性。
在ABAP开发过程中,创建内表后,还需要进行数据填充、遍历、更新和删除等操作。例如,我们可以使用`APPEND`来添加行,`READ TABLE`来读取数据,`MODIFY`来修改数据,`DELETE`来删除数据等。 练习部分通常包括编写...
ABAP 屏幕表控件实例是指在 SAP ABAP 环境中创建的用于展示和操作表格数据的控件实例。该实例使用 TABLE_CONTROL 控件来创建两个结构相同的表控件,用于展示 ZTEST 表的数据,并提供选择、添加和删除数据的功能。 ...
标题和描述所涉及的知识点主要集中在ABAP语言在SAP系统中对数据库的操作和管理。由于这部分内容比较专业,我将尽量详细地阐述ABAP(Advanced Business Application Programming)逻辑数据库和数据库操作的概念和用法...
SAP ABAP开发 FICO模块 现金流量表
根据提供的标题、描述、标签及部分内容,我们可以提炼出与ABAP语言相关的多个核心知识点,包括数据读取、删除、修改等基本操作。下面将逐一详细展开这些知识点。 ### ABAP 数据读取 #### 1. 表的初始化与赋值 - **...
通过 ABAP 语言,可以对 SAP 系统中的数据进行操作、处理和分析。 在 SAP 方丈中,表结构是指 SAP 系统中的数据存储结构。表结构是指 SAP 系统中的数据组织方式,包括表名、字段名、数据类型等信息。通过对表结构的...
ABAP 内表可以用来存储和处理大量的数据,例如从数据库中读取的数据、用户输入的数据等。 ABAP 内表的使用方法可以分为以下几种: 1. 填充内表 fills an internal table with data from a database table using ...
ABAP 屏幕设计中添加文本编辑器是指在 SAP 业务系统中,使用文本编辑器处理内表,并在屏幕上显示编辑器,退出时将内容输出。本文将详细介绍如何在屏幕上显示编辑器,退出时将内容输出。 知识点1:建立屏幕 在建立...
SAP——ABAP常用数据表介绍
在 SAP ABAP 开发中,查找和操作数据库表是日常任务的重要组成部分。下面将详细介绍标题“sap abap找表的18种方法”所涵盖的知识点,这些方法可以帮助开发人员高效地进行数据检索和处理。 1. **SELECT语句**:最...
sap 常用表 包含sd mm fi ps pp 等模块的关键表 以及 各个表的关键字段 关联关系