`

ABAP 对透明表的添加,修改,删除,查询等操作

    博客分类:
  • SAP
阅读更多
--建立一个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.

 

上面是一个很简单的例子, 毕竟发的时间不多..还是刚刚掌握一些最基础的语法知识..  高手级别的人物,千万请别喷..

 

分享到:
评论

相关推荐

    sap批量删除、添加、修改透明表数据

    本文将详细介绍如何通过ABAP编程语言实现对SAP透明表数据的批量删除、添加以及修改操作。 #### 一、批量删除透明表数据 在进行批量删除之前,需要确保理解此操作的潜在风险。如果错误地执行了删除操作,可能会导致...

    ABAP-透明表学习笔记.py

    ABAP-透明表学习笔记.py

    SAP数据表大全ABAP数据表大全

    - ALTER TABLE:修改数据表的结构,如添加、删除或更改字段。 - TRUNCATE TABLE:清空数据表的所有记录,但保留表结构。 3. **ABAP的数据表视图**: - 选择视图:基于一个或多个表创建逻辑视图,用于简化复杂的...

    abap 维护表视图

    阅读这份文档将有助于加深对ABAP维护表视图的理解,掌握实际操作技巧。 总的来说,ABAP维护表视图是一项关键的开发任务,它涉及到数据库设计、数据访问优化以及业务逻辑的实现。通过有效利用表视图,开发者可以构建...

    ABAP动态内表使用的例子

    在ABAP编程语言中,动态内表(Dynamic Internal Tables)是一种非常灵活的数据结构,它允许程序员在运行时定义和操作内表。与静态内表相比,动态内表提供了更多的灵活性,尤其是在处理不确定的数据结构时更为实用。...

    abap 如何找表

    3. **内部表操作**:将数据库结果存储到内部表中,然后对内部表进行处理,如搜索、排序或去重,以满足特定需求。 4. **使用LIKE操作符**:对于部分匹配搜索,可以使用LIKE操作符,结合通配符`%`和`_`。例如,根据...

    SAP ABAP动态内表构建与例子

    5. **操作内表**:有了动态内表后,可以进行常见的内表操作,如遍历、搜索、排序等。这些操作都需要基于内表的当前结构。 其次,动态内表的数据传递通常涉及以下几种方式: 1. **参数传递**:通过函数模块的输入和...

    ABAP动态内表的收集

    总的来说,动态内表在ABAP编程中是提高代码灵活性和效率的重要工具,但在使用时需谨慎,特别是涉及数据更新和删除的操作,需要确保遵循最佳实践,避免引发潜在的数据错误。通过正确理解和应用这些技术,我们可以编写...

    SAP ABAP SE11创建表操作步骤.pdf

    在SAP ABAP环境中,使用SE11事务代码进行数据库表的创建是常见的数据库管理任务。下面是通过SE11创建自定义表的...在实际操作中,可能还需要考虑表的索引、键字段、字段注释等其他高级特性,以优化性能和数据完整性。

    ABAP内表创建整理

    在ABAP开发过程中,创建内表后,还需要进行数据填充、遍历、更新和删除等操作。例如,我们可以使用`APPEND`来添加行,`READ TABLE`来读取数据,`MODIFY`来修改数据,`DELETE`来删除数据等。 练习部分通常包括编写...

    abap 屏幕表控件实例

    ABAP 屏幕表控件实例是指在 SAP ABAP 环境中创建的用于展示和操作表格数据的控件实例。该实例使用 TABLE_CONTROL 控件来创建两个结构相同的表控件,用于展示 ZTEST 表的数据,并提供选择、添加和删除数据的功能。 ...

    abap逻辑数据库ABAP数据库操作

    标题和描述所涉及的知识点主要集中在ABAP语言在SAP系统中对数据库的操作和管理。由于这部分内容比较专业,我将尽量详细地阐述ABAP(Advanced Business Application Programming)逻辑数据库和数据库操作的概念和用法...

    SAP ABAP 现金流量表

    SAP ABAP开发 FICO模块 现金流量表

    ABAP 常用语句 数据读取 删除 修改 等语句 常用语句ABAP

    根据提供的标题、描述、标签及部分内容,我们可以提炼出与ABAP语言相关的多个核心知识点,包括数据读取、删除、修改等基本操作。下面将逐一详细展开这些知识点。 ### ABAP 数据读取 #### 1. 表的初始化与赋值 - **...

    SAP方丈-ABAP通过表结构查表字段.doc

    通过 ABAP 语言,可以对 SAP 系统中的数据进行操作、处理和分析。 在 SAP 方丈中,表结构是指 SAP 系统中的数据存储结构。表结构是指 SAP 系统中的数据组织方式,包括表名、字段名、数据类型等信息。通过对表结构的...

    abap内表使用方法

    ABAP 内表可以用来存储和处理大量的数据,例如从数据库中读取的数据、用户输入的数据等。 ABAP 内表的使用方法可以分为以下几种: 1. 填充内表 fills an internal table with data from a database table using ...

    ABAP 屏幕设计中添加文本编辑器

    ABAP 屏幕设计中添加文本编辑器是指在 SAP 业务系统中,使用文本编辑器处理内表,并在屏幕上显示编辑器,退出时将内容输出。本文将详细介绍如何在屏幕上显示编辑器,退出时将内容输出。 知识点1:建立屏幕 在建立...

    SAP_ABAP常用表

    SAP——ABAP常用数据表介绍

    sap abap找表的18种方法

    在 SAP ABAP 开发中,查找和操作数据库表是日常任务的重要组成部分。下面将详细介绍标题“sap abap找表的18种方法”所涵盖的知识点,这些方法可以帮助开发人员高效地进行数据检索和处理。 1. **SELECT语句**:最...

    sap 后台 常用表 abap

    sap 常用表 包含sd mm fi ps pp 等模块的关键表 以及 各个表的关键字段 关联关系

Global site tag (gtag.js) - Google Analytics