2020-08-31 06:43发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
是否可以从多个表中选择不相关的数据(即它们之间没有连接或没有主,外键关系)
您好Vinay,
通过在两个不同的内部表中使用SELECT语句获取数据。 例如 从所需表中选择ITAB1和ITAB2,然后将此数据合并到第三个内部表ex中。 ITAB3。
此ITAB3应包含ITAB1和ITAB2中的所有字段。
使用以下语法将数据从ITAB1和ITAB2传输到ITAB3:
ITAB3-field1 = ITAB1-feild1
'
ITAB3字段= ITAB2字段。
然后您可以将两个数据库表中的数据显示到ITAB3中。
致谢
Pankaj
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。
最多设置5个标签!
您好Vinay,
通过在两个不同的内部表中使用SELECT语句获取数据。 例如 从所需表中选择ITAB1和ITAB2,然后将此数据合并到第三个内部表ex中。 ITAB3。
此ITAB3应包含ITAB1和ITAB2中的所有字段。
使用以下语法将数据从ITAB1和ITAB2传输到ITAB3:
ITAB3-field1 = ITAB1-feild1
'
'
ITAB3字段= ITAB2字段。
然后您可以将两个数据库表中的数据显示到ITAB3中。
致谢
Pankaj
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。
一周热门 更多>