是否可以从多个表中选择不相关的数据(即无联接)

2020-08-31 06:43发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


是否可以从多个表中选择不相关的数据(即它们之间没有连接或没有主,外键关系)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


是否可以从多个表中选择不相关的数据(即它们之间没有连接或没有主,外键关系)

付费偷看设置
发送
14条回答
1楼 · 2020-08-31 07:10.采纳回答

您好Vinay,

通过在两个不同的内部表中使用SELECT语句获取数据。 例如 从所需表中选择ITAB1和ITAB2,然后将此数据合并到第三个内部表ex中。 ITAB3。

此ITAB3应包含ITAB1和ITAB2中的所有字段。

使用以下语法将数据从ITAB1和ITAB2传输到ITAB3:

ITAB3-field1 = ITAB1-feild1

'

'

ITAB3字段= ITAB2字段。

然后您可以将两个数据库表中的数据显示到ITAB3中。

致谢

Pankaj

xfwsx85
2楼-- · 2020-08-31 07:03

SPAN {font-family:" 快递新"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 {font-style:italic; 颜色:#808080; } .L0S32 {color:#3399FF; } .L0S33 {color:#4DA619; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; } .L0S70 {color:#808080; }

报告zmmprg1。

表:mseg,kna1,t001w,matk,mara,marc。
类型:ty_mara的开头,
matnr类型mara-matnr,
werks类型marc -werks,
ty_mara的结尾,
ty_marc的开头,
matnr类型mara-matnr,
werks的类型marc-werks,
ty_marc的结尾,
ty_mseg的开头,< br> matnr类型mara-matnr,
werks类型marc-werks,
charg类型mseg-charg,
menge类型mseg-menge,
meins类型mseg-meins,
ebeln类型mseg -ebeln,
ebelp类型mseg-ebelp,
budat_mkpf类型mseg-budat_mkpf,
mblnr类型mseg-mblnr,
zeile类型mseg-zeile,
bwart类型mseg-bwart,
lbkum类型mseg-lbkum,
bukrs类型mseg-bukrs,
kunnr类型mseg-kunnr,
vbelp_im类型mseg-vbelp_im,
vbeln_im类型mseg-vbeln_im,
shkzg类型mseg- shkzg,
dmbtr类型mseg-dmbtr,
ty_mseg结束,
ty_makt开头,
maktx类型makt-maktx,
spras类型makt-spras,
matnr类型mara- matnr,
ty_makt的结尾,
ty_t001w的开头,
name1类型t001w-name1,
werks 类型mseg-werks,
ty_t001w的结尾,
ty_kna1的开头,
kunnr类型kna1-kunnr,
name1的类型t001w-name1,
ty_kna1的结尾,
ty_final的开头 ,
matnr类型mseg-matnr,
werks类型mseg-werks,
maktx类型makt-maktx,
name1类型t001w-name1,
charg类型mseg-charg,
menge mseg-menge类型,
meins类型mseg-meins,
ebeln类型mseg-ebeln,
ebelp类型mseg-ebelp,
budat_mkpf类型mseg-budat_mkpf,
mblnr类型mseg-mblnr,
zeile类型mseg-zeile,
bwart类型mseg-bwart,
lbkum类型mseg-lbkum,
bukrs类型mseg-bukrs,
kunnr类型mseg-kunnr,
vbelp_im类型 mseg-vbelp_im,
vbeln_im类型mseg-vbeln_im,
shkzg类型mseg-shkzg,
dmbtr类型mseg-dmbtr,
spras类型makt-spras,
ty_final末尾。

数据:ty_mseg的it_mseg类型标准表,
ty_marc的it_marc类型标准表,
ty_marc的it_marc类型标准表,
ty_makt的it_makt类型标准表,
wa_makt 输入ty_makt,
it_t00 1w型ty_t001w标准表,
wa_t001w型ty_t001w,
ty_kna1型标准表,
wa_kna1型ty_kna1型,
it_mara型ty_mara型标准表,
wa_mara型ty_mara型 > ty_final的it_final类型标准表,
wa_final类型ty_final,
带标题行的字段目录类型slis_t_fieldcat_alv,
gd_layout类型slis_layout_alv,
gd_repid类似于sy-repid。
选择选项:
> s_bukrs对于mseg-bukrs是必需的,
s_werks对于mseg-werks是必需的,
s_budat对于mseg-budat_mkpf。

选择开始。
执行sr_data_retrivelvel。
执行sr_build_fieldcataloglog。
执行sr_display_alv_report。
从sr_data_retrivel。

*从mseg选择表werks进入表it_mseg的对应字段,用于it_marc中所有条目,其中werks = it_marc-werks。

select 从mseg到表it_mseg的相应字段中的不同的matnr werks charb menge meins ebeln ebelp mblnr zeile bwart lbkum,其中s_werks中是werks。

如果sy-subrc = 0,则对it_mseg进行排序。

为it_mara中的所有条目从makt到表it_makt的对应字段中选择不同的spras matnr maktx,其中matnr = it_mara-matnr和spras =' EN'。
endif。
如果sy-subrc = 0,则对it_makt进行排序。
从kna1中为表it_kna1的对应字段选择不同的werks kunnr name1,其中it_mseg中的所有条目werks = it_mseg-
endif。
按werks对it_mseg进行排序。

在it_mseg处循环到wa_mseg。
如果wa_mseg-shkzg ='H'。
wa_mseg-dmbtr = wa_mseg-dmbtr * +1。
wa_mseg-dmbtr ='S'。
wa_mseg-dmbtr = wa_mseg-dmbtr * -1。
wa_mseg-menge = wa_mseg-menge * wa_mseg-dmbtr。
尾码。
>从wa_mseg传输dmbtr菜单中修改it_mseg。
将表we_mseg读入wa_mseg中,键为werks = wa_mseg-werks。
如果sy-subrc =0。
wa_final-matnr = wa_mseg-matnr。
wa_final -werks = wa_mseg-werks。
wa_final-charg = wa_mseg-charg。
wa_final-menge = wa_mseg-menge。
wa_final-meins = wa_mseg-m eins。
wa_final-zeile = wa_mseg-zeile。
wa_final-bwart = wa_mseg-bwart。
wa_final-lbkum = wa_mseg-lbkum。
wa_final-ebeln = wa_mseg-ebeln。
-ebelp = wa_mseg-ebelp。
wa_final-mblnr = wa_mseg-mblnr。
wa_final-kunnr = wa_kna1-kunnr。
wa_final-vbeln_im = wa_mseg-vbelnpim =
wa_mseg-vbelnim =

将表it_makt读入wa_makt中,键为matnr = wa_makt-matnr二进制搜索。
如果sy-subrc =0。
wa_final-maktx = wa_makt-maktx。
尾数。
>使用键名1 = wa_kna1-name1将表it_t001w读入wa_t001w中。
wa_final-name1 = wa_t001w-name1。
endif。
endloop。
将wa_final附加到it_final。
清除wa_final。< br> endform。

form sr_build_fieldcatalog。
fieldcatalog-fieldname ='MATNR'。
fieldcatalog-seltext_m ='材料编号'。
fieldcatalog-col_pos =0。
fieldcatalog- outputlen =20。
将fieldcatalog附加到fieldcatalog。
清除fieldcatalog。
fieldcatalog-fieldname ='WERKS'。
fieldcatalo g-seltext_m ='植物'。
fieldcatalog-col_pos =1。
fieldcatalog-outputlen =20。
将fieldcatalog附加到fieldcatalog。
清除fieldcatalog。
fieldcatalog-fieldname ='MAKTX'
fieldcatalog-seltext_m ='描述'。
fieldcatalog-col_pos =2。
fieldcatalog-outputlen =20。
将fieldcatalog追加到fieldcatalog。
clear fieldcatalog。
fieldcatalog-fieldname ='NAME1'。
fieldcatalog-seltext_m ='植物描述'。
fieldcatalog-col_pos =3。
fieldcatalog-outputlen =20。
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname = 'CHARG'。
fieldcatalog-seltext_m ='批次'。
fieldcatalog-col_pos =4。
fieldcatalog-outputlen =20。
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname ='MENGE '。
fieldcatalog-seltext_m ='数量'。
fieldcatalog-col_pos =5。
fieldcatalog-outputlen =20。
将fieldcatalog追加到fieldcatalog。
fieldcatalog-fieldname ='MEINS'。
fieldcatalog-seltext_m ='基本单位'。
fieldcatalog-col_pos =6。
fieldcatalog-outputlen =20。
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname ='ebeln'。
fieldcatalog-seltext_m ='采购订单号'。
fieldcatalog-col_pos =7。
fieldcatalog-outputlen =30。
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname ='ebelp'。
fieldcatalog-seltext_m ='采购凭证项目编号'。< br> fieldcatalog-col_pos =8。
fieldcatalog-outputlen =30。
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname ='BUDAT_MKPF'。
fieldcatalog-seltext_m ='发布日期'。
> fieldcatalog-col_pos =9。
fieldcatalog-outputlen =20。
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname ='MBLNR'。
fieldcatalog-seltext_m ='GR Number'。
fieldcatalog-col_pos =10。
fieldcatalog-outputlen =30。
将fieldcatalog追加到fieldcatalog。
fieldcatalog-fieldname ='zeile'。
fieldcatalog-seltext_m ='物料文档中的物料'。
> fieldcatalog-col_p os = 11.
fieldcatalog-outputlen = 30.
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname ='bwart'。
fieldcatalog-seltext_m ='运动类型'。
fieldcatalog-col_pos = 12.
fieldcatalog-outputlen = 30.
将fieldcatalog添加到fieldcatalog。
fieldcatalog-fieldname ='lbkum'。
fieldcatalog-seltext_m ='期初库存'。
fieldcatalog-col_pos = 13.
fieldcatalog-outputlen = 10.
将fieldcatalog添加到fieldcatalog。
fieldcatalog-fieldname ='kunnr'。
fieldcatalog-seltext_m ='客户的帐号'。
fieldcatalog-col_pos = 14.
fieldcatalog-outputlen = 10.
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname ='vbeln_im'。
fieldcatalog-seltext_m ='交货编号'。
fieldcatalog-col_pos = 15.
fieldcatalog-outputlen = 30.
将fieldcatalog附加到fieldcatalog。
fieldcatalog-fieldname ='vbelv_im'。
fieldcatalog-seltext_m ='交货编号'。
fieldcatalog-col_pos = 16 。
fieldcatalog-输出 len =10。
将fieldcatalog添加到fieldcatalog。
清除fieldcatalog。
最终形式。

形成sr_display_alv_report。
gd_repid = sy-repid。 REUSE_ALV_GRID_DISPLAY'
导出
i_callback_program = gd_repid
it_fieldcat = fieldcatalog []
i_save ='X'

t_outtab = it_final
异常
program_error = 1
其他=2。
如果sy-subrc <>0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
,其中sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。< br> endif。
endform。

一周热门 更多>