点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
亲爱的
我们为多个订单项的Z Tcode创建了BDC。 一项更新成功。 更新一个订单项后,BDC无法正常运行。 如果是条目/N,则BDC下一行更新时间。 请检查下面的源代码,让我知道。
报告Z_ZPP005_AMB 没有标准的页面标题,行大小为255。 TYPE-POOLS:SOI,TRUXS。 类型:开始于TY_ZNDEF_TAB, TRMB类型ZNDEF_TAB-TRMB, ORDERNO TYPE ZNDEF_TAB-ORDERNO, 状态类型ZNDEF_TAB-STATUS, END OF TY_ZNDEF_TAB。 数据:IT_RAW类型TRUXS_T_TEXT_DATA。 数据:TY_ZNDEF_TAB的IT_ZNDEF_TAB类型表, WA_ZNDEF_TAB类型TY_ZNDEF_TAB。 数据:BDCDATA的IT_BDCDATA类型表, WA_BDCDATA类型BDCDATA。 数据:BDCMSGCOLL的IT_BDCMSG类型表, WA_BDCMSG类型BDCMSGCOLL。 参数:P_FILE TYPE LOCALFILE。 在P_FILE值请求的选择屏幕上。 通话功能'F4_FILENAME' 出口 PROGRAM_NAME = SYST-CPROG DYNPRO_NUMBER = SYST-DYNNR FIELD_NAME ='' 输入 FILE_NAME = P_FILE。 选择开始。 数据:L_FILE TYPE STRING。 L_FILE = P_FILE。 通话功能" TEXT_CONVERT_XLS_TO_SAP" 出口 * I_FIELD_SEPERATOR = I_LINE_HEADER ='X' I_TAB_RAW_DATA = IT_RAW I_FILENAME = P_FILE 桌子 I_TAB_CONVERTED_DATA = IT_ZNDEF_TAB *例外情况 * CONVERSION_FAILED = 1 *其他= 2 。 如果SY-SUBRC <> 0。 *消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。 万一。 在IT_ZNDEF_TAB处进入WA_ZNDEF_TAB。 清除WA_BDCDATA。 刷新IT_BDCDATA。 *执行open_group。 使用'ZRND_STS_CNG''1000'执行bdc_dynpro。 使用'BDC_CURSOR'执行bdc_field " P_TRMB"。 使用'BDC_OKCODE'执行bdc_field '= ONLI'。 使用'P_TRMB'执行bdc_field WA_ZNDEF_TAB-TRMB。 使用'ZRND_STS_CNG''9000'执行bdc_dynpro。 使用'BDC_CURSOR'执行bdc_field 'G_STATUS'。 使用'BDC_OKCODE'执行bdc_field '= BTTN_SAVE'。 使用'G_ORDERNO'执行bdc_field WA_ZNDEF_TAB-ORDERNO。 使用'G_STATUS'执行bdc_field WA_ZNDEF_TAB-STATUS。 *使用" ZPP005"执行bdc_transaction。 *执行close_group。 使用IT_BDCDATA模式'A'将'A'消息更新为IT_BDCMSG的呼叫事务'ZPP005'。 如果SY-SUBRC = 0。 写:/WA_ZNDEF_TAB-TRMB,"已提交给BDC"。 万一。 结局。 ****************************************************** ************ *表格BDC_DYNPRO ****************************************************** ************ 使用程序DYNPRO的BDC_DYNPRO表格。 清除WA_BDCDATA。 WA_BDCDATA-PROGRAM =程序。 WA_BDCDATA-DYNPRO = DYNPRO。 WA_BDCDATA-DYNBEGIN ='X'。 将WA_BDCDATA附加到IT_BDCDATA。 ENDFORM。 ****************************************************** ************* *表格BDC_FIELD ****************************************************** ************* 使用FNAM FVAL形成BDC_FIELD。 清除WA_BDCDATA。 WA_BDCDATA-FNAM = FNAM。 WA_BDCDATA-FVAL = FVAL。 将WA_BDCDATA附加到IT_BDCDATA。 ENDFORM。
我们几乎无法猜测到客户(z名称空间)程序/报告(dynpro 1000?)的行为
尽管如此,如果(例如)程序没有执行任何COMMIT WORK来显式结束事务或某些dynpro,您是否再次执行SHDB,则可能需要最后一个功能代码来退出事务(BTTN_SAVE之后为EXIT代码?)。 下一个屏幕是相同的dynpro,从而阻止了有效的BDC调用。 通过调用FM DB_COMMIT或诸如COMMIT WORK之类的语句(将触发数据库提交)来提交数据库更改
您应该查找并阅读一些文档,例如 SAP交易概念(更新技术)-或者,如果很着急和/或不感到好奇,只需在open-sql语句的末尾添加COMMIT WORK语句...
一周热门 更多>