一张表有2个字段PERNR、ORGEH.使用ABAP找出相邻2行,PERNR相同,ORGEH不同的数据
时间: 2023-03-12 12:03:28 浏览: 78
可以使用SELECT语句来实现,语句类似这样:SELECT * FROM 表名 WHERE PERNR IN (SELECT PERNR FROM 表名 GROUP BY PERNR HAVING COUNT(*) > 1) AND ORGEH <> ALL (SELECT ORGEH FROM 表名 WHERE PERNR = 表名.PERNR);
相关问题
一张表有2个字段PERNR、ORGEH.使用SQL找出相邻2行,PERNR相同,ORGEH不同的数据
可以使用以下SQL语句:SELECT A.PERNR, A.ORGEH, B.ORGEH FROM 表名 A, 表名 B WHERE A.PERNR = B.PERNR AND A.ORGEH <> B.ORGEH AND A.PERNR IN (SELECT PERNR FROM 表名 GROUP BY PERNR HAVING COUNT(*) > 1);
帮我写一个abap人员主数据报表
好的,我可以帮助你写一个 ABAP 程序来生成人员主数据报表。
首先,你需要打开 ABAP 编辑器,并创建一个新的程序。然后,你需要定义你的报表的布局和格式。你可以使用 SAP 内置的函数来定义表头和表尾,并使用类似于 HTML 的标签来定义表格的各个单元格。
接下来,你需要定义你的程序的逻辑。你可以使用 ABAP 语言的 SELECT 语句来从数据库中检索人员主数据信息。你可以使用过滤条件来确定你希望包含在报表中的信息。
最后,你需要使用 ABAP 内置的函数来输出报表。你可以选择将报表输出到屏幕上,也可以将其输出到文件中,供之后使用。
这是一个简单的 ABAP 程序的示例,它生成了一个人员主数据报表:
```
REPORT zperson_master_data.
TABLES: pa0001.
SELECT * FROM pa0001 INTO TABLE @DATA(lt_pa0001) WHERE endda IS INITIAL.
WRITE: / 'Personnel Number', 'First Name', 'Last Name', 'Position'.
LOOP AT lt_pa0001 INTO DATA(ls_pa0001).
WRITE: / ls_pa0001-pernr, ls_pa0001-vorna, ls_pa0001-nachn, ls_pa0001-plans.
ENDLOOP.
```
希望这对你有帮助!