ABAP培训(BDC程序设计)_第1页
ABAP培训(BDC程序设计)_第2页
ABAP培训(BDC程序设计)_第3页
ABAP培训(BDC程序设计)_第4页
ABAP培训(BDC程序设计)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ABAP培训(报表部分)

内容简介123业务数据显示工具业务数据传输工具各模块常用表第二章事务录制工具和BDC程序设计

背景

SAP系统拥有强大的数据管理功能,不过其操作过程较为复杂,例如创建一个物料或者一个采购订单,往往需要业务人员花费大量的时间对相关数据进行维护。而在现代商务应用中,往往存在批量数据的输入,如果完全依靠手工维护的话,则需要耗费大量的人力、物力及时间。SAP系统提供了事务录制的工具,能实现模拟用户操作完成批量数据的录入。例如BDC(BatchDataCommunicationProgram,批量数据交换程序),就是一种通过ABAP程序将业务数据批量输入系统的方法。它的工作原理就是将用户繁冗的操作程序及步骤记录下来,然后依照所记录的步骤自动调用程序,将数据填充在指定的字段并执行。这样避免了手工执行一些重复性的工作,工作效率大大提高。第二章事务录制工具和BDC程序设计

事务录制原理事务录制的基本步骤是,首先激活事务录制功能,输入需要录制的与数据传输相关的事务代码(例如MM01,创建物料),然后按照通常在线创建数据的步骤操作事务,直至保存数据。录制结束后,生成一个记录,该记录可以进行各种后续处理。其实Word、Excel等办公软件中的宏录制功能和事务录制在原理上是非常相似的。事务录制操作结束后,所录制好的记录中将包括事务的结构,具体有屏幕号码,字段名称,字段值等信息。可以直接处理记录,其处理过程和效果同在线录制完全一致(例如将一个物料的创建过程录制之后,处理该记录,系统将试图重新创建同一个物料);也可以编辑、修改该记录后再进行处理。还可以根据该记录生成批输入会话、数据传输程序已经功能模块等。有时可以直接使用通过记录生成的数据传输程序,也可以根据需要由程序设计人员进行调整修改,使之适合定制的事务数据输入的需要。可以在程序中读取数据文件,然后通过批输入或调用事务进行具体数据传输。第二章事务录制工具和BDC程序设计事务录制工具SHDB1.事务录制示例我们将要录制的事务是SU01,这个事务用于创建一个SAP系统用户。

.通过事务代码SHDB,进入图2-1所示的事务录制工具初始界面。图2-1第二章事务录制工具和BDC程序设计.单击开始录制。系统显示如图2-2所示的对话框,要求用户输入记录名称、要录制的事务代码以及录制模式等参数。图2-2第二章事务录制工具和BDC程序设计.在创建记录对话框中输入记录名ZSU01和事务代码SU01,其他选择默认选项。单击确定或者进入事务SU01的初始界面,如图2-3所示。图2-3.在事务SU01初始界面中,输入要创建的用户名。这里需要注意,该录制过程也将同时创建一个系统用户。

.单击进入事务SU01用户维护界面中的Address选项卡,在“姓”及“名”字段中输入新创建用户的姓名。第二章事务录制工具和BDC程序设计.单击登录数据选项卡,输入口令,如图2-4所示。图2-5图2-4第二章事务录制工具和BDC程序设计图2-5.单击保存功能,录制结束,系统显示如图2-5所示的录制结果。如果现在查看SU03,可以发现该用户已经存在于系统中。因为录制过程本身已经在系统中创建了一个数据,即用户ZNEWUSER01。第二章事务录制工具和BDC程序设计图2-6.单击,返回SHDB初始界面,将看到记录ZSU01出现在记录列表中,如图2-6所示,可以随时对该记录进行处理,或者生成BDC程序等。2.处理记录示例

.在SHDB初始界面中选中记录ZSU01,单击,开始处理记录。弹出如图2-7所示的处理记录对话框。第二章事务录制工具和BDC程序设计图2-7.在处理记录对话框中保持默认设置,单击确定继续。系统再次进入录制过的SU01界面。此时,所有在录制时输入的数据字段都已经被记录下来,自动填充至事务屏幕,其值以红色显示,同时屏幕中显示OK代码的控制对话框(OK代码即用户在当前屏幕中选择的功能代码),如图2-8。第二章事务录制工具和BDC程序设计图2-8.由于该数据记录已经创建,所以单击回车继续时,将得到提示:用户已经存在,因此可以将系统用户名称修改为ZNEWUSER02。然后单击回车或者选择OK代码对话框中的功能,将进入下一个界面,所有屏幕输入与录制时完全相同。

.不需要做任何修改,一直单击回车,直至保存。则又一个系统用户被创建,新用户除用户名之外,所有设定和ZNEWUSER01均相同。

.全部记录的在线处理结束后,系统回到日志界面,如图2-9所示。第二章事务录制工具和BDC程序设计图2-93.记录结构说明事务录制工具通过事务的屏幕及其中的字段(包括字段名称和用户输入的值)、光标位置以及OK代码等元素来记录事务。具体来说,记录中包含下列信息:第二章事务录制工具和BDC程序设计程序:所有录制的事务都是SAP系统程序,录制的过程将包括程序名。屏幕序号:在程序内部,每个屏幕都分配一个屏幕序号。起始ID:用于标明当前记录行为后续记录行的起始事务或者屏幕。字段名称:屏幕字段的名称,有时还可以用于存放事务代码、光标位置和

OK代码等信息。字段值:字段名称所对应的值。如之前的图2-5中所示,记录的具体说明如下:.事务、程序及屏幕序号确定事务录制过程首先记录的信息是所录制的事务代码、程序名称以及屏幕序号。在一个记录行中,如果起始ID栏中的值为T(代表Transcation),则表示该行记录的信息为事务代码。行中的字段名称即事务代码,其他记录结构包括程序、屏幕序号和字段值都不被填充。该行的所有后续行都隶属于此事务,直到下一个起始ID为T的事务代码出现为止(如果录制多个事务)。起始ID为X的记录行包含程序名和屏幕序号信息,该记录行中无字段名第二章事务录制工具和BDC程序设计称和字段值信息。第二行记录了事务SU01的初始界面,该屏幕隶属于程序SAPLSUU5,屏幕序号为0050。后续各行(记录行3,4,5)的字段、OK代码均隶属于该屏幕,直至下一个起始ID为X的行出现为止。

SAP屏幕的事务代码、程序名和屏幕序号等信息也可以在在线状态下进行查看,如图2-10所示。图2-10第二章事务录制工具和BDC程序设计.屏幕字段事务录制过程中所有被填充或修改的屏幕字段及其内容均被记录。如第5行,记录了屏幕字段USR02-BNAME的名称和输入值ZNEWUSER01,该字段隶属于事务SU01和程序SAPLSUU5的屏幕0050。在普通的在线事务使用过程中,要确定某个应用中屏幕字段的名称,可以将光标置于任意一个屏幕字段,然后按下F1键。选择技术信息功能,在技术信息对话框的屏幕字段中查看该字段的名称。

.特殊BDC字段在录制过程中,有两个特殊的BDC字段BDC_OKCODE和BDC_CURSOR。这两个字段的值并非用户在录制时输入,而是系统自己记录的控制信息。■BDC_OKCODE字段用于存放用户在屏幕中选择的功能代码(即OK代码),例如用户在事务中选择的创建、修改、保存等功能。选择功能的方式包括应用工具栏中的按钮、功能键、屏幕菜单项等。■BDC_CURSOR字段用于记录屏幕上的光标位置,即离开当前屏幕进入后续屏幕或结束事务时光标所处的字段。

.子屏幕和选项卡某些屏幕包含子屏幕区域,这些子屏幕也将自动被录制,并存储于名称第二章事务录制工具和BDC程序设计为BDC_SUBSCR的字段中。如第8行,字段值“SAPLSZA50900MAINAREA”,该值中包括了子屏幕的模块池程序名、屏幕序号和名称等信息。子屏幕通常通过选项卡进行组织,对选项卡的选择将触发相应的功能代码。4.记录录制原则在使用事务录制工具进行事务录制的过程中,有下面一些原则以及注意事项。在录制的过程中,所有需要批输入的字段都要进行修改,即使系统已经有默认值(如已经通过SET/GETparameter功能填充的字段)也需要重新输入新值,所输入的新值可以和原值相同。只有这样,该字段才能够被记录,没有修改过的字段则不包含在记录中。因而,在后续生成的BDC程序中,如果要输入未修改过的字段,就需要手工添加该字段,或者重新录制。某些情况下,在线输入的屏幕序号和屏幕字段可能和录制时并不完全相同,这种差异并不会影响到数据的批输入,但是也有些事务并不支持批输入和录制功能。下列功能是不被记录的:□F1、F4功能及自定义的F1、F4帮助都不能被录制。第二章事务录制工具和BDC程序设计□系统(System)和帮助(Help)菜单中的功能不能被录制。□默认变式中的字段值不能被录制。□错误和警告信息不能被录制。

在录制过程中,所输入的数据也将被保存至数据库。因而在重复处理已经成功录制的记录时,最常见的错误就是系统提示用户:该数据在系统中已经被创建,如果希望继续处理,应该对记录中的数据进行修改。5.记录的编辑第二章事务录制工具和BDC程序设计6.记录的处理记录的处理通常只用于测试目的,可以直接处理记录或者生成BI会话处理记录。

.直接处理记录在SHDB初始界面中选中一个记录,单击,开始对记录进行处理。需要选择处理模式、更新模式和CATT模式。处理模式包括下列几种:□模式A(DisplayAllscreens),显示所有屏幕。□模式E(DisplayErrorsonly),只显示出错屏幕。□模式N(Backgroundprocessing),后台处理,不显示屏幕。□模式P(Backgroundprocessing;debuggingpossible),后台处理,允许处理过程中进行调试。更新模式用于指定数据库更新的方式,包括本地、同步和异步三种。□模式A:Asynchronousupdating,异步更新模式。在该模式中,被调用的事务不等待任何处理结果,只是简单地将更新传递给SAP更新机制。因而异步模式通常速度较快。异步模式需要利用更新管理工具(事务SM12)来检查数据库更新过程中是否有异常,因而其出错处第二章事务录制工具和BDC程序设计

理不如同步模式方便。□模式S:Synchronousupdating,同步更新模式。在该模式中,被调用的事务处理结束后,再更新数据库,因此其速度较异步模式慢,但被调用事务可以返回更新过程中的出错信息,使得错误分析和恢复较为容易。□模式L:Localupdating,本地更新模式。在该模式中,数据库更新过程将隶属于调用程序本身,而不通过独立的进程进行处理。

CATT模式用于对记录进行CATT辅助测试,通常不需要选中。在记录处理对话框中,系统还提供下列可选项:□标准大小(Ddfaultsize)选项。选中该项之后,在前台处理时,屏幕将按照标准大小进行处理。□提交后继续处理(Cont.aftercommit)选项。选中该项之后,事务中的COMMITWORK语句并不结束该记录,而是继续进行处理。□非BI模式(NotaBatchInputSession)选项。选中该项之后,系统字段SY-BINPT将被置为空,因此事务在CALLTRANSACTIONUSING第二章事务录制工具和BDC程序设计

语句中完全按照在线模式进行处理。□后台模式(END:NotaBatchInputSession)选项。只能在处理模式

E时选择该项,事务按照后台模式进行处理,SY-BINPT值为“X”,只有出现错误时才转至前台模式。系统字段SY-BINPT在语句CALLTRANSACTIONUSING结束之后被置为空。□模拟后台模式(SimulateBackgroundmode)选项。系统完全模拟后台模式进行处理。

.生成BI会话处理记录在SHDB初始界面选择,创建BI会话,然后在批输入监控器中后台处理会话。该会话中仅包含录制时输入的数据记录。可以指定新建的会话名、授权用户以及保留会话和锁定日期等选项。7.根据记录创建程序和测试文件根据记录创建数据传输程序的具体步骤如下:

.选择创建程序,系统显示创建程序对话框,在对话框中输入程序名。第二章事务录制工具和BDC程序设计.在Fieldcontents域中选择程序的数据读取模式:如选中Readfromfile选项,生成的BDC程序将从文件中读取数据,可以维护原始数据文件,处理多个数据记录;如选中Transferfromrecording项,程序将屏幕中输入的字段传入BDC表,而不是从文件中读取,因而程序执行的效果与记录处理过程完全相同,只生成一个数据。

.创建测试程序的同时也可以生成测试文件。如果选择了Readfromfile选项生成程序,则最好同时选择Testdata中的Create选项生成测试数据文件。该测试文件中的数据来源于录制的记录,符合程序的输入格式,可以直接读入。也可以将该文件中的数据稍做修改,进行数据传输测试。该测试文件创建时存储在应用服务器中,如果未指明具体路径,默认的存储目录为DIR_HOME。

.在程序的属性维护屏幕中输入程序名等属性,并保存程序。

BDC程序设计1.创建定制BDC程序并传输数据的基本流程如下:

.通过事务录制工具录制事务,生成BDC程序框架;

.如有需要,可以调整修改已生成的BDC程序代码;第二章事务录制工具和BDC程序设计.该程序可通过批输入或者调用事务进行数据传输,这两种技术都需要在程序运行过程中填充BDC表作为输入数据集。2.文件读入及数据格式转换:

.从应用服务器读入数据文件,通过记录生成的BDC程序支持从应用服务器中读取数据文件。所读入文件中的数据要求具有无层级的扁平结构。此程序通过调用子程序open_dataset打开应用服务器中的数据文件,该子程序代码位于

SAP标准包含程序BDCRECX1中,每一个通过记录生成的BDC程序都通过

INCLUDE语句包含该程序。我们还可以把BDCRECX1中的相关子程序代码拷贝到定制的BDC程序中,并删除程序中的INCLUDE语句,然后可对子程序的代码进行调整修改。文件打开之后,程序在DO循环中将文件中的数据行依次读入结构体

record,并处理该数据记录。文件中的所有数据处理完成之后,需要关闭文件。通过调用子程序

close_dataset关闭应用服务器中的数据文件。第二章事务录制工具和BDC程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论