SAP 三种批量导入方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在SAP项目实施时主要有三种批量导入方法:LSMW,CATT,BDC

第一种:LSMW-----Legacy System Migration Workbench.

The LSM Workbench is an R/3 based tool that support when tran

sferring data from non-SAP systems to SAP R/3.

T-code: LSMW

第二种: CATT

CATT(computer aided test tool) screen record, system wil

l not create program.

T-code: SCAT

第三种: BDC

For batch input or change, system will create program, a

nd you can change the program.

T-code: SHDB

BDC导入

Batch Input是一种数据批量输入SAP系统的辅助程序,SAP系统的资料、格式可以通过Batch Input录入SAP系统

Batch Input的机制是模拟事务处理将数据录入R/3系统

Batch Input类似SAP的CATT,控制性更好,处理能力更强

1、首先我们需要把需要批导入事务的操作步骤记录下来,可以用T-CODE“SHDB”来记录。

在COMMAND LINE中输入“SHDB”。

2、进入TRANSACTION RECORDER界面

3、点“NEW RECORDER”创建一个记录,现在以修改订单为例,键入记录名“ZAMAO”,输入事务代码“VA02”,

然后“START RECORDING”。

4、下面的任务就是记录下修改订单的操作步骤。

5、填入订单号码,按确定

6、现在来增加一下订单的PO DATE。

7、填入“2006.10.01”,点“保存”。

8、这样就完成了一个最最简单的BDC录取工作,录完之后会出现系统运行的操作的跟踪,包括程序号,屏幕号,字段名,值等等,下面的任务是根据这些写到程序里面以完成SAP自动跑订单修改的这一动作。

9、首先必须定义BDC变量:

* BDC table

DATA: t_bdc LIKE bdcdata OCCURS

0 WITH HEADER LINE,

t_bdcm sg LIKE bdcm sgcoll OCCU

RS 0 WITH HEADER LINE.

DATA: BEGIN OF t_log OCCURS 0,

inform ation(289) TYPE c, "返

回信息

END OF t_log.

DATA: v_m ode TYPE c VALUE 'N'.

其中TABLE t_bdc中记录的具体的操作步骤,而TABLE t_bdcm sg是记录系统返回的信息,成功与否都记录到自定义的信息表t_log中。

先写个记录BDC的函数:

FORM. fm_set_bdc TABLES t_bdc STRUCT

URE bdcdata

USIN

G u_sign TYPE c

u_par1

u_par2.

CLEAR: t_bdc.

IF u_sign ='X'.

t_bdc-program=u_par1.

t_bdc-dynpro =u_par2.

t_bdc-dynbegin =u_sign.

ELSE.

t_bdc-fnam=u_par1.

t_bdc-fval =u_par2.

ENDIF.

APPEND t_bdc.

ENDFORM.

然后写入T_bdc:

PERFORM. fm_set_bdc:

TABLES t_bdc USING 'X' 'SAPMV45A

' '0102',

TABLES t_bdc USING ' ' 'BDC_OKCO

DE' '/00',

TABLES t_bdc USING ' ' 'VBAK-VBEL

N' it_display-vbeln,

TABLES t_bdc USING 'X' 'SAPMV45A

' '4001',

TABLES t_bdc USING ' ' ' VBKD-BST

DK' '2006.10.01'.

因为此处是修改操作,所以要切记写入的只是你修改的数据,千万别把订单本来的数据也写入t_bd c,如果写入则会把需要修改的所有订单都该成举例的订单的数据,而我们需要修改的仅仅是增加一个PO DATE“2006.10.01”。

然后是调用事物代码:

CALL TRANSACTION 'VA42'

USING t_bdc

MODE v_m ode "Background perfo

rm ance

UPDATE 'S' "local updata

MESSAGES INTO t_bdcm sg. "all

m essage table

v_m ode是显示模式:

“A”表示显示每一步操作步骤,

“N”表示不显示步骤,

“E”表示当出现错误的时候显示出错的位置。

系统信息写入到t_bdc中。

最后是收集系统信息(成功与否,要是失败,失败的原因)并输出到SAP程序屏幕

READ TABLE t_bdcm sg WITH KEY m sgtyp

='S'

m sgid

='V1'

m sgnr

='311'. "批导入成功的标志,可以自己d

ebug表t_bdcm sg中去找.

IF sy-subrc EQ 0.

CONCATENATE '订单号码:'

it_display-vbeln

',项目号:'

it_display-posnr

'修改成功' INTO t_log.

相关文档
最新文档