点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
im tryin连接两个表,错误消息不断显示
INTO子句中的字段太少。
SPAN {font-family:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 {font-style:italic; 颜色:#808080; } .L0S32 {color:#3399FF; } .L0S33 {color:#4DA619; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; } .L0S70 {color:#808080; }
报告ZSOIPQ。
类型库:slis。
表格:VBAK,
VBAP。
类型:ty_vbak的开始,
> VBELN TYPE VBELN_VA,"销售文档类型
AUART TYPE AUART,"销售文档类型
ty_vbak的结尾。
TYPE:BEGIN OF ty_vbap,
VBELN TYPE VBELN_VA,"销售文档
> POSNR TYPE POSNR_VA,"销售凭证项目
MATNR TYPE MATNR,"材料编号
ty_vbap的结尾。
数据:gt_vbak ty_vbak的类型表,
st_vbak TYPE _vbak的类型。
数据:ty_vbaP的gt_vbaP类型表,
ty_vbaP的st_vbaP类型表。
参数:vbeln的P_vbeln类型。
开始选择。
>
SELECT vbeln
posnr
matnr
从VBAP
到表gt_vbap。
SELECT vbak〜vbeln
VBAK〜AUART
> VBAP〜vbeln
VBAP〜posnr
VBAP〜matnr
从VBAK
内联接VBAP
到表gt_vbak
上VBAK〜vbeln = VBAP〜vbeln
其中auart eq 'ZQPC'和VBAK〜vbeln GE'0030000000'。
如果sy-subrc = 0.
在gt_vb处循环 aK INTO st_vbaK。
追加st_vbaK到gt_vbak。
首先
写:/10'Sales Document',
35'Sales Document Type',
65 '销售凭证项目',
100'物料编号'。
ENDAT。
WRITE:/13 ST_VBAK-vbeln,
43 ST_VBAK-auart,
72 ST_VBAP-POSNR,
90 ST_VBAP-MATNR。
ENDLOOP。
排序gt_vbap。
从gt_vbap中删除相邻的重复项。
endif。
非常感谢您的帮助。
谢谢
嗨,
使用动态声明:
选择vbak〜vbeln,
vbak〜auart,
vbap〜vbeln作为itemno,
vbap〜posnr,
vbap〜matnr
插入表@data(gt_vbak)
从vbak
内联接vbap
上vbak〜vbeln = vbap〜vbeln
auart EQ'ZQPC'和vbak〜vbeln GE'0030000000'。
选择
> VBAP〜vbeln
VBAP〜posnr
VBAP〜matnr
从VBAK
内联接VBAP
到表gt_vbak
上VBAK〜vbeln = VBAP〜vbeln
其中auart eq 'ZQPC'和VBAK〜vbeln GE'0030000000'。
如上更改select语句,以消除该错误。
不是。 那也将转储。
您为内部表声明的字段数与在SQL中选择的字段数不同。 如果您不需要某些字段,请将其从SQL中删除或更改内部表的声明; 如果内部表所需的字段数> SQL选择列表中的字段数,则可以使用INTO CORRESPONDING。
从不假定有人可以通过阅读正确的代码来理解自己的错误 (这就是为什么应该注释复杂的代码,并且如果OP提出问题的原因是因为对他来说有些复杂)。 如果您不重复代码,那么还可以避免重复未发现的最终错误(如Uwe提到的大错误)。
一周热门 更多>