BDC模式与OKCODE、 CALL TRANSACTION用法
BDC(Batch Data Conversion):在SAP系统里,由于某种原因,可能需要重复输入数据,(数据不同,但是操作是相同的,典型的情形就是切换系统的时候,旧系统的数据需要导入SAP),大致过程不外乎是这样: 输入一个t-code,
进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点执行或者确定按钮,
进入另一个屏幕,在某些字段输入值(也可能是标注checkbox选中或者不选中)或者修改这些字段里的值。
MODE 确定批输入的执行模式,有下面几个可选值:(执行模式常用的是A N)
A | 显示所有输入屏幕,如果在 bdc_tab 中包含该屏幕的功能码,则会出现小窗口显示这个功能码。它也是默认值,如果指定不是下面的值,则都认为是 A。 |
E | 只有在出现错误时才显示屏幕,用户可以修正数据,修正后程序可以继续处理。 |
N | 不显示屏幕的静默模式。如果到达被调用事务的断点,则系统处理终止,并设置一些系统字段。sy-subrc 为 1001,sy-msgty 为 "S"、sy-msgid 为 "00"、sy-msgno 为 "344"、sy-msgv1 为 "SAPMSSY3"、sy-msgv2 为 "0131"。 |
P | 不显示屏幕的调试模式。如果到达被调用事务的断点,则系统自动转到 ABAP 调试器,这种方式主要用于调试过程。 |
UPDATE 更新模式,有下列可选值(更新模式常用的是S):
A | 异步更新 | 被调用程序的更新按照没有指定 COMMIT WORK 语句和 AND WAIT 附加的方式执行。也就是说,数据更新被放到更新队列里,由另一个专门的更新进程执行,主程序一旦提交数据就继续执行,而不管提交的更新是否执行完成。这种方式比较适合于用一个事务码大量更新指定数据,比如维护主数据等。 |
S | 同步更新 | 被调用程序的更新按照指定了 COMMIT WORK 语句和 AND WAIT 附加的方式执行。也就是说,数据更新被放到更新队列里,由专门的更新进程执行,但是主程序会等到数据提交完成,返回结果信息后才继续执行。这种方式比较适合于数据一致性要求比较高,多个不同事务码的连续处理。 |
L | 本地更新 | 被调用程序的更新按照执行 SET UPDATE TASK LOCAL 语句的方式执行。也就是说,数据更新在主程序所在的进程中完成,主程序必定等到被调用事务完成才继续执行。 |
以消息举例,SE91 查看消息内容,消息类通常为 msgid ,消息编号为 msgnr
BDC里的部分 OKCODE
BDC OKCODE其实都是function code,对于处理一些BDC问题 非常有用,列出一些知道的 OKCODE
BDC_OKCODE | 功能描述 |
=/00. | Enter |
= /8 | F8,Continue or Execute |
=/11 | F11,Post |
=ENTE | 回车 |
=SCHL | 组织层次 |
=BILD | 数据 |
=SELA | 全选 |
=RESA | 取消全选 |
=DEF/DEF_SAVE | 保存 |
=P-- | First Page |
=P- | Previous Page |
=P+ | Next Page |
=P++ | Last Page |
=AUSW | Select view |
=MARK | Selection On/off |
=ABBR/RW | 删除 |
=BU | 保存 |
=ENDE/%EX | Exit |
=BACK/RW | Back |
=PICK | Pick |
=DLT | Delete |
=UPDA | SAVE |
=%PRI | |
=%SC | Search |
=%SC+ | Find next |
=FCNP | 新插入一行item(像BOM的item那种) |
=GO | Continue |
=/AB | Go to overview |
=ZK | Go to additional information |
=PI | select cursor location |
=STER | Go to taxes |
CALL TRANSACTION 'tcode' USING bdc_tab ... 是 ABAP 里提供的一个方便的执行批量输入的语句,使用它可以通过程序代码完成多个事务码的连续执行。
例:
DATA : gc_mode LIKE apqi-putactive VALUE 'N',gc_update LIKE apqi-putactive VALUE 'S'. CALL TRANSACTION 'PA30' USING it_bdcdataMODE gc_modeUPDATE gc_updateMESSAGES INTO it_bdcmsg.*&---错误消息处理DATA:e_mess(50).CLEAR:e_mess.
* LOOP AT i_messtab WHERE msgtyp = 'E' OR msgtyp = 'A'.LOOP AT it_bdcmsg INTO is_bdcmsg.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGmsgid = is_bdcmsg-msgidmsgnr = is_bdcmsg-msgnrmsgv1 = is_bdcmsg-msgv1msgv2 = is_bdcmsg-msgv2msgv3 = is_bdcmsg-msgv3msgv4 = is_bdcmsg-msgv4IMPORTINGmessage_text_output = e_mess.MESSAGE e_mess TYPE 'S'.ENDLOOP.
BDC模式与OKCODE、 CALL TRANSACTION用法相关推荐
- CALL TRANSACTION用法
CALL TRANSACTION CALL TRANSACTION 'tcode' USING bdc_tab ... 是 ABAP 里提供的一个方便的执行批量输入的语句,使用它可以通过程序代码完成多 ...
- 模式窗口window.showModalDialog()的用法
模式窗口的用法 一.问题: 我想弹出一个窗口,然后在弹出的窗口里,选择或输入一些信息,要求这些信息返回到父页面. 建立父页面:a.htm <html> <head> & ...
- mysql transaction用法,mysql的事务,隔离级别和锁用法实例分析
本文实例讲述了mysql的事务,隔离级别和锁用法.分享给大家供大家参考,具体如下: 事务就是一组一起成功或一起失败的sql语句.事务还应该具备,原子性,一致性,隔离性和持久性. 一.事务的基本要素 ( ...
- 工厂模式 — 在项目中的用法
很多工程都是有pc端和mobile端的,并且这里的mobile端并不是指移动端适应的效果,而是专门为mobile端编写的. 所以这样一个页面就会用到两套页面代码(pc端和mobile端),例如imoo ...
- 【干货】Redis在Java开发中的基本使用和巧妙用法
Redis是一款高性能的内存数据结构存储系统,能够支持多种数据结构类型,如字符串.哈希.列表.集合.有序集合等,也能够支持高级功能,如事务.发布/订阅.Lua脚本等,具有高可用性.高并发性和可扩展性的 ...
- mysql事务处理用法与实例详解
MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务.行级锁.并发 3.Berkeley DB: ...
- 模板模式(TemplateMethod)和策略(StrategyMethod)模式
2019独角兽企业重金招聘Python工程师标准>>> 模板模式和 策略模式使用场景类似,都是把算法进行封装,可以用分离高层算法和低层的具体实现细节.都允许高层算法独立于他的具体实现 ...
- 设计模式学习笔记——命令模式(Command)
1.特点:将请求发送者与具体实现者解耦,可对请求排列.取消.重做,支持事务.(多请求,单处理) 2.概念:属于对象的行为模式[GOF95].命令模式又称为行动(Action)模式或交易(Transac ...
- mts模式_MTS的完整形式是什么?
mts模式 MTS:Microsoft Transaction Server /移动电话服务/多通道电视声音 (MTS: Microsoft Transaction Server/ Mobile Te ...
- 简单工厂和策略模式结合
商场促销活动:打折.满额返现等等 主函数对工厂模式和策略模式结合的调用: class Program { static void Main(string[] args) ...
最新文章
- 知识图谱前沿跟进,看这篇就够了,Philip S. Yu 团队发布权威综述,六大开放问题函待解决!...
- ant 改变表格数据_学不会这几个操作,面试时千万别说自己精通数据分析
- 基于licode搭建webrtc服务器
- MybatisPlus实现逻辑删除
- (开源)XMind2TestCase一个高效的测试用例设计解决方案
- [转载] java构造函数初始化与执行顺序问题
- 3dmax2016的破解和安装
- 连接型CRM与社交型CRM、传统漏斗型CRM有什么区别?
- LaTeX代码: 下划线与删除线 ← 利用 ulem 宏包
- 关于ARP请求报文和ARP报文的源地址和目的地址
- sis最新ip地址2020入口一_2020云南高考成绩公布时间最新 云南高考查成绩方式入口大全...
- windows操作系统---1
- viso画图时如何让右侧显示设置形状格式栏
- AutoCAD Civil 3D-曲面-1、曲面创建
- 光纤网卡千兆和万兆、光口和电口之间的区别?与PC网卡、HBA卡的区别有哪些?
- XJOI 3679 一道有趣的题 求解求解
- 【渝粤题库】广东开放大学 电子商务职业技能 形成性考核
- 自我管理的29个工具
- 前所未有灾难性事件!韩国数据中心锂电池着火致互联网大瘫痪!
- SylixOS 共用中断号机制
热门文章
- SSH Remote forwarding的示例
- mysql最后一步装不上_mysql安装最后一步 安装不上
- python中从键盘输入的代码_Python中如何获取键盘输入
- 黑暗城堡 LibreOJ - 10064(SPFA)
- iPhone/iPad用iTunes“同步”不等于“备份”
- 关于OSGI中的Felix热插拔技术
- iOS 11 NSPhotoLibraryAddUsageDescription 错误的解决办法
- MySQL究竟是如何做到持久性的?
- LeetCode——1900. 最佳运动员的比拼回合(The Earliest and Latest Rounds Where Players Compete)[困难]——分析及代码(Java)
- 想成为挣钱的游戏程序员要经历多少阶段?