ME22N执行BDC出错

部署运行你感兴趣的模型镜像

ME22N这种新的TCODE因为有新的控件在屏幕上,所以执行BDC会出错。
解决办法就是用BAPI或者ME22老TCODE来做。
具体请见http://sapfans.com/forums/viewtopic.php?t=272362&view=next&sid=3fe9a01071e5e08614ed42b46beaca50

Hi All,

I am using a report to update confirmation control in ME22N through BDC.
If i run the report in foreground it works fine and the conf contrl has been updated. But while running the report in Background mode(Program->Execute in Background) record has not been updated and spool is created with the below error Msg.

Unable to initialise ABAP Control
Control Framework: Fatal error -
Runtime error RAISE_EXCEPTION has occured


Please can you help to overcome this and thanks in advance.

ME22N being enjoy transaction, is not suitable for BDC. Also, it uses some frontend controls, which are not available in background mode.
Use BAPI_PO_CHANGE, which works nice.
In case you must use BDC, use transaction ME22.

您可能感兴趣的与本文相关的镜像

LobeChat

LobeChat

AI应用

LobeChat 是一个开源、高性能的聊天机器人框架。支持语音合成、多模态和可扩展插件系统。支持一键式免费部署私人ChatGPT/LLM 网络应用程序。

<think> 嗯,用户这次问的是SAP BDC录屏的执行模式。结合之前的引用内容,用户显然正在学习BDC技术,而且引用[3]里详细描述了实例操作,但确实没明确提到执行模式的问题。 用户可能是个SAP初学者,从ta强调"保姆级教程"和"5分钟包教包会"的引用就能看出需要很实操的指导。ta现在应该已经掌握了基本录制操作(引用[3]的步骤很完整),开始关心具体执行方式了。有趣的是,ta特意说明"引用仅供参考",说明ta能区分背景材料和真实需求,是个思路清晰的用户。 关于执行模式,其实有三种主要方式: 后台模式(SESSION)最适合批量处理,比如引用[3]创建10个物料的场景;调用事务(CALL TRANSACTION)适合即时处理,但错误处理更复杂;直接执行程序则用在封装场景。这些在标准SAP文档里都有,但用户可能找不到中文资料。 突然想到个风险点:用户可能混淆了LSMW和BDC(引用[2]提到"抛弃LSMW"),需要强调BDC执行模式是独立概念。另外引用[1]说BDC用于数据迁移,那SESSION模式肯定最常用——这个关联点应该在回答里带一句。 用户应该会接着问错误处理细节,毕竟三种模式的处理逻辑差异很大。准备问题时特意放了"如何选择"这种决策类问题,因为用户看起来更喜欢实操指南而非理论。 </think> SAP BDC录屏主要有以下三种执行模式,每种模式适用于不同的场景: ### 1. **后台执行模式(SESSION)** - **核心机制**:将录制的操作存入`BDC Session`队列,由系统后台统一处理。 - **操作流程**: 1. 使用事务码`SM35`查看或执行Session。 2. 系统按顺序处理Session中的数据,自动模拟用户操作。 - **优点**: - 支持批量处理大量数据,避免前台超时。 - 可暂停/继续执行,错误日志清晰(通过`SM35`查看错误明细)。 - **适用场景**: 大规模数据迁移(如引用[1][3]中的物料主数据批量创建)。 --- ### 2. **调用事务模式(CALL TRANSACTION)** - **核心机制**:通过ABAP程序直接调用事务代码执行BDC脚本(`CALL TRANSACTION ... USING ...`)。 - **操作流程**: 1. 在录制生成的ABAP程序中(如引用[3]步骤12),添加`CALL TRANSACTION 'MM01' USING BDCTABLE MODE 'N'`。 2. 模式参数`MODE`可选: - **'A'**:前台模式(显示所有屏幕)。 - **'N'**:后台无提示模式。 - **'E'**:仅出错时暂停。 - **优点**: - 执行速度快,无需手动释放Session。 - 可通过ABAP灵活控制错误逻辑(如`MESSAGES INTO`捕获报文)。 - **适用场景**: 集成到定制化程序或需即时反馈的任务。 --- ### 3. **BDC程序直接执行BDC_SUBMIT)** - **核心机制**:通过函数模块`BDC_SUBMIT`提交BDC任务到后台。 - **操作流程**: ```abap CALL FUNCTION 'BDC_SUBMIT' EXPORTING PROGRAM = 'ZBDC_PROGRAM' "录制生成的程序名 DYNPRO = '1000' "起始屏幕 TABLES BDCTAB = BDCDATA. "录制数据表 ``` - **优点**: - 可与其他后台作业结合调度。 - 支持异步执行,降低系统负载。 - **适用场景**: 定时任务或与其他自动化流程集成。 --- ### **执行模式对比总结** | 模式 | 事务码/命令 | 错误处理 | 适用数据量 | |--------------------|----------------------|----------------------------|------------------| | 后台Session | `SM35` | 集中查看错误日志 | 大批量(千条以上) | | 调用事务 | `CALL TRANSACTION` | 程序内即时捕获错误 | 中小批量 | | 直接提交BDC程序 | `BDC_SUBMIT` | 依赖程序逻辑或日志分析 | 中批量 | > 💡 **实践建议**: > - **数据安全**:首次执行前用测试数据验证(引用[3]步骤13-14)。 > - **性能优化**:超大数据量时拆分Session,避免锁表[^3]。 > - **错误处理**:后台模式更适合需要人工干预的复杂场景;`CALL TRANSACTION`适合自动化集成[^1][^3]。 --- ### 🔍 相关问题 1. **BDC录屏时如何解决字段动态生成的问题**(如表格行追加)? 2. 三种执行模式的具体**性能差异**如何量化? 3. BDC与**LSMW**在数据迁移中的选择依据是什么? 4. **BDC错误日志分析**有哪些高效工具或技巧? > 引用说明: > [^1]: SAP BDC录屏的核心功能与应用场景。 > [^3]: BDC执行实例中的事务调用与Session管理流程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值