点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的大师, 我正在根据T.C...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的大师, 我正在根据T.C...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的大师,
我正在根据T.CODE的资产开发一个BDC:AIAB。
我的要求是每个主要资产都不允许有多个订单项。但仅限我的BDC
仅允许一个订单项。(当我自动上传10个订单项时,自动添加了9个订单项
项目将被替换,第10个订单项仅存储在第一个订单项位置。
但是SAP手动输入允许(999个订单项)
我该如何解决此问题?
这是我的代码。
报告ZFI_AUS
没有标准的页面标题行大小为255。
*包括bdcrecx1。
包括ZFI_BDC001。
types:t_itab的开头
BUKRS(004)类型c,
anln1(012)类型c,
konty(004)类型c,
anln2(012)类型c,
prozs(005)类型c,
betrr(010)类型c,
t_itab的结尾。
数据:带有标题行的t_itab的i_itab类型标准表,
w_itab类型t_itab。
DATA:l_row TYPE i VALUE 0。
*************************************************** *************************
选择屏幕*
*************************************************** *************************
带有FRAME TITLE文本002的块文件的选择屏幕开始。
选择屏幕跳过
。选择屏幕开始显示行。
选择屏幕评论5(16)文字002。
选择屏幕位置25。
参数:p_file1 TYPE本地文件。
选择屏幕行尾。
SELECTION-SCREEN END OF BLOCK文件。
在p_file1的值请求选择屏幕上。
执行文件选择。
选择开始。
执行data_upload。
执行open_group。
在i_itab循环。
*使用" AIAB"执行bdc_transaction。
使用'SAPMA15B''0110'执行bdc_dynpro。
使用" BDC_CURSOR"执行bdc_field
'AICOM-ANLN1'。
使用" BDC_OKCODE"执行bdc_field
'= AUSF'。
使用" AICOM-BUKRS"执行bdc_field
'KSL'。
使用" AICOM-ANLN1"执行bdc_field
i_itab-anln1。
使用" AICOM-ANLN2"执行bdc_field
'0'。
使用" P_DISVAR"执行bdc_field
'1SAP'。
使用" ANLB-AFABE"执行bdc_field
'1'。
使用'SAPMSSY0''0120'执行bdc_dynpro。
使用" BDC_CURSOR"执行bdc_field
'07/03'。
使用" BDC_OKCODE"执行bdc_field
'=&ALL'。
使用'SAPMSSY0''0120'执行bdc_dynpro。
使用" BDC_CURSOR"执行bdc_field
'07/03'。
使用" BDC_OKCODE"执行bdc_field
'= BURG'。
使用'SAPLSPO2''0100'执行bdc_dynpro。
使用" BDC_OKCODE"执行bdc_field
'= OPT2'。
使用'SAPLKOBS''0130'执行bdc_dynpro。
使用" BDC_CURSOR"执行bdc_field
'COBRB-PROZS(01)'。
使用" BDC_OKCODE"执行bdc_field
'/00'。
使用'COBRB-KONTY(01)'执行bdc_field
'FXA'。
使用'DKOBR-EMPGE(01)'执行bdc_field
'160101'。
i_itab-anln2。
使用'COBRB-PROZS(01)'执行bdc_field
'100'。
i_itab-prozs。
使用'COBRB-BETRR(01)'执行bdc_field
'100'。
i_itab-betrr。
使用'SAPLKOBS''0130'执行bdc_dynpro。
使用" BDC_CURSOR"执行bdc_field
'COBRB-KONTY(01)'。
使用" BDC_OKCODE"执行bdc_field
'= BACK'。
使用'SAPMSSY0''0120'执行bdc_dynpro。
使用" BDC_CURSOR"执行bdc_field
'07/03'。
使用" BDC_OKCODE"执行bdc_field
'= BUCH'。
使用'SAPLSPO1''0200'执行bdc_dynpro。
使用" BDC_OKCODE"执行bdc_field
'=是'。
l_row = l_row + 1。
使用" AIAB"执行bdc_transaction。
使用'AIAB'执行bdc_transaction。
endloop。
* enddo。
执行close_group。
*使用数据集执行close_dataset。
&----
*&表格FILE_SELECTION
&----
文字
----
-> p1文字
<-p2文字
----
FORM FILE_SELECTION。
CALL FUNCTION'F4_FILENAME'
导入
文件名= p_file1。
ENDFORM。 " FILE_SELECTION
&----
*&表格DATA_UPLOAD
&----
文字
----
-> p1文字
<-p2文字
----
FORM DATA_UPLOAD。
CALL FUNCTION'WS_UPLOAD'
导出
文件名= p_file1
文件类型='DAT'
表格
data_tab = i_itab
例外情况
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
no_authority = 10
其他= 11。
IF sy-subrc EQ 0。
写:/'程序:',SY-CPROG。
写:/'文件名:',p_file1。
在/1(119)syline上写。
ELSE。
消息"转换错误"。
ENDIF。
ENDFORM。 " DATA_UPLOAD
此解决方案适用于通过XL上传AIAB吗?
您能在这里发布解决方案吗?
sridhar。
一周热门 更多>