`
evangxli
  • 浏览: 224133 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Call Transaction - using

阅读更多
Call transaction 的时候,我们会用到using的条件,比如批量的录入等。
CALL TRANSACTION ta { [AND SKIP FIRST SCREEN] 
                    | [USING bdc_tab [bdc_options]] }. 

先看例子:
CALL TRANSACTION 'FD01' USING bdc_tab [bdc_options]. 
继续深入:
CALL TRANSACTION 'FD01' USING IT_DATA MODE 'N' UPDATE 'S' MESSAGE INTO IT_MSG.
上例说明,调用了T-Code FD01,执行这个tcode所用的数据来自内表IT_DATA,mode参数使用'N',说明使用tcode的时候不显示该tcode屏幕,update参数使用'S',说明同步执行更新,最后执行成功与否的message,会插入内表中。




1. 参数
CALL TRANSACTION - bdc_options

Syntax
... { {[MODE mode] [UPDATE upd]}
    | [OPTIONS FROM opt] }
    [MESSAGES INTO itab] ... .

Extras:
1. ... MODE mode

2. ... UPDATE upd

3. ... OPTIONS FROM opt

4. ... MESSAGES INTO itab

说明:1。 上面第三个代表1和2的集合,不能和第一,第二个放在一起执行。
2。 关于执行之后的subrc,如果等于0,执行成功,小于1000,执行这个tcode有错误,等于1001,说明批量录入的数据有问题〉。。
3。 学习sap,和其他一起,多看F1,有点像学习java的时候常看的标准...






下面是转的.
CALL TRANSACTION 'tcode' USING bdc_tab ... 是 ABAP 里提供的一个方便的执行批量输入的语句,使用它可以通过程序代码完成多个事务码的连续执行。

bdc_tab 这个批输入任务表的填写方式,网上有很多例子了,大家用到的时候可以搜索。用事务码 SHDB 可以生成填写这个表的内容,按照 ABAP 字典结构类型 BDCDATA 的定义对应填写就可以了。

下面详细介绍一下这种调用方式中的执行参数:

... { {[MODE mode] [UPDATE upd]}
    | [OPTIONS FROM opt] }
    [MESSAGES INTO itab] ... .



MODE 确定批输入的执行模式,有下面几个可选值:

执行模式   作用
"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 确定批输入的更新模式,有下面几个可选值:

更新模式 作用
"A" 异步更新。被调用程序的更新按照没有指定 COMMIT WORK 语句和 AND WAIT 附加的方式执行。也就是说,数据更新被放到更新队列里,由另一个专门的更新进程执行,主程序一旦提交数据就继续执行,而不管提交的更新是否执行完成。这种方式比较适合于用一个事务码大量更新指定数据,比如维护主数据等。
"S" 同步更新。被调用程序的更新按照指定了 COMMIT WORK 语句和 AND WAIT 附加的方式执行。也就是说,数据更新被放到更新队列里,由专门的更新进程执行,但是主程序会等到数据提交完成,返回结果信息后才继续执行。这种方式比较适合于数据一致性要求比较高,多个不同事务码的连续处理。
"L" 本地更新。被调用程序的更新按照执行 SET UPDATE TASK LOCAL 语句的方式执行。也就是说,数据更新在主程序所在的进程中完成,主程序必定等到被调用事务完成才继续执行。




OPTIONS FROM opt 则用一个参考 ABAP 字典中结构类型 CTU_PARAMS 的结构数据对象来传递参数,CTU_PARAMS 结构包含了 MODE 和 UPDATE 两个参数,并且还包含其它参数,结构如下:

DISMODE:显示模式,其值对应于前面介绍的 MODE 参数;
UPDMODE:更新模式,其值对应于前面介绍的 UPDATE 参数;
CATTMODE:CATT 模式,有三个值:" "、非 CATT 模式;"N"、CATT 模式但不对每个屏幕进行控制;"A"、CATT 模式并对每个屏幕进行控制;
DEFSIZE:是否使用屏幕的定义大小,有两个值:" "、不使用屏幕定义大小,即显示给用户的屏幕跟普通运行时一样,根据用户窗口大小而自动扩展到全屏;"X"、使用屏幕定义大小,即只用源程序中固定的屏幕大小,无论用户窗口如何;
RACOMMIT:英文原文(CALL TRANSACTION USING... is not completed by COMMIT),德文原文(COMMIT WORK ist kein Ende bei CALL TRANSACTION USING...),没看明白;
NOBINPT:调用事务码时,系统字段 sy-binpt 的值,有两个值:" "、在被调用事务执行时,系统字段 sy-binpt 的值为 "X";:"X"、在被调用事务执行时,系统字段 sy-binpt 的值为 " ";
NOBIEND:调用事务码完成后,系统字段 sy-binpt 的值,有两个值:" "、在被调用事务执行后,系统字段 sy-binpt 的值为 "X";:"X"、在被调用事务执行后,系统字段 sy-binpt 的值为 " "。

最后一个 MESSAGE INTO itab 是把执行过程中的消息都输入到内表 itab 中,itab 的结构必须是 ABAP 字典中结构 BDCMSGCOLL。
分享到:
评论

相关推荐

    CALL TRANSACTION USING... 参数祥解

    CALL TRANSACTION USING... 参数祥解

    微软内部资料-SQL性能优化3

    For example, suppose a transaction scanned a page using an S lock and then subsequently decided to perform a row level update. The row would obtain an X lock, but now the page would require an IX ...

    RFC10xx 内容,分析与详解

    RFC1027 - Using ARP to Implement Transparent Subnet Gateways RFC1028 - A Simple Gateway Monitoring Protocol RFC1029 - A MORE FAULT TOLERANT APPROACH TO ADDRESS RESOLUTION FOR RFC1030 - On Testing ...

    sap abap BDC程序举例

    一段BDC程序的代码,CALL TRANSACTION 'MM01' USING it_bdcdata

    CAMEL - Intelligent Networks for GSM, GPRS, UMTS Networks

    2.11 Using Signalling Point Code for Addressing in HPLMN 35 3 CAMEL Phase 1 37 3.1 Architecture for CAMEL Phase 1 37 3.1.1 Functional Entities 37 3.1.2 Information Flows 42 3.2 Feature Description 45 ...

    Artech House - SMS and MMS Interworking in Mobile Networks

    1.5.2 Making a Telephone Call to a Mobile 22 1.6 GPRS Procedures: The Gc Interface 23 1.7 SMS Billing Records and Methods 23 1.7.1 SMS-MO CDRs 25 1.7.2 SMS-MT CDRs 26 1.8 Load Test of an SMSC 26 1.8.1...

    mysql数据库的基本操作语法

    Ø 常用查询 MySQL结束符是“;”结束。 1、 显示所有数据库 show databases; 2、 删除数据库 drop database dbName; 3、 创建数据库 create database [if not exists] dbName;...中括号部分可选的,判断该数据不存在就...

    Professional C# 3rd Edition

    Call Contexts 505 Summary 507 xvii Contents Chapter 17: Localization 509 Namespace System.Globalization 510 Unicode Issues 510 Cultures and Regions 511 Cultures in Action 516 Sorting 520 Resources 522...

    Dimensional Modeling

    – Online Transaction Processing (OLTP) was the supporting technology. – Companies could increase net revenue by: • Lowering cost of sales through computerized automation, and less intensive labor. ...

    Delphi7.1 Update

    not all of the features mentioned in this file are available inall editions of the product.This update resolves the following issues:IDE* Using the up/down arrow keys to navigate and select items from...

    DbfDotNet_version_1.0_Source

    In Dbf.Net you don't have to write any code, if you don't want to wait for the garbage collector to collect your individual you can call SaveChanges. Dbf.Net ADO.Net Collapse Copy Codevoid ...

    计算机网络第六版答案

    12. A circuit-switched network can guarantee a certain amount of end-to-end bandwidth for the duration of a call. Most packet-switched networks today (including the Internet) cannot make any end-to-...

    ABAP面试大全

    9.1.12 Perform 调用子程序时,using ,tables,changing 3个参数分别有什么影响? 25 9.1.13如何在程序间传送数据? 25 9.2 延伸 26 9.2.1自定义搜索帮助有几种方式?如何实现 26 9.2.2怎么创建number range 26 ...

    SIP rfc3261 协议下载

    SIP 协议 会话初始协议 很有帮助 Contents 1 Introduction 9 2 Overview of SIP Functionality 10 3 Terminology 11 4 Overview of Operation 11 5 Structure of the Protocol 16 6 Definitions ...

    vxbus_device_driver_developers_guide_6.9

    PART I: VXBUS FUNDAMENTALS 1 Getting Started with Device Driver Development .................................... 3 1.1 About Device Drivers ...............................................................

Global site tag (gtag.js) - Google Analytics