SAP BDC与LSMW介绍
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MODE CNS_MODE
UPDATE CNS_UPDATE
MESSAGES INTO BDCMSGCOLL[].
LOOP AT BDCMSGCOLL.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
MSGID
= BDCMSGCOLL-MSGID
MSGNR
= BDCMSGCOLL-MSGNR
PERFORM BDC_FIELD TABLES BDCDATA USING 'CAUFVD-AUFNR' '10000152'.
PERFORM BDC_FIELD TABLES BDCDATA USING 'R62CLORD-FLG_OVIEW' 'X'.
……
9
内容
执行BDC代码:
CALL TRANSACTION CNS_TCODE USING BDCDATA[]
6
内容
简单用法: 1. 事务代码SHDB,点击
输入该BDC描述:修改生 产订单
操作的事务代码 :CO02
7
内容
2.完成修改完成后会自动回退到录屏界面
3.跟据生成的BDC代码,撰写程序:
BDC CODE:
SAPLCOKO1
T 0110
CO02 X
SAPLCOMK 0120
X
BDC_CURSOR
CAUFVD-AUFNR
BDC_OKCODE
=KPU2
CAUFVD-AUFNR
10000152
R62CLORD-FLG_OVIEW X
0800ORD_HEADER
0050BUTTONS ……
BDC_CURSOR BDC_OKCODE FILTER_BOXNO_FIL SORT_BOX ST_STA RESBD-MENGE(01) BDC_SUBSCR
*---------------------------------------------------------------------* PERFORM BDC_DYNPRO TABLES BDCDATA
USING 'SAPLCOKO1' '0110'.
PERFORM BDC_FIELD TABLES BDCDATA USING 'BDC_OKCODE' '=KPU2'.
16
LSWM支持的导入模式
LSMW支持四种导入模式: 1. LSMW预定义的导入程序,如物料主数据等; 2. BDC录屏; 3. BAPI; 4. Idoc;
17
LSMW
谢谢聆听!
13
内容
1 BDC简介 2 什么时候使用BDC 3 BDC用法及注意事项 4 练习
14
作业
新建用户: 选择屏幕输入:用户名、姓名、初始密码、重复口令 使用ALV显示执行结果
15
LSWM
LSMW全称是Legacy System Migration Workbench。它能够对静态数据(如 各个主数据)、动态数据(如初始化库存)、业务数据(如销售订单)等进行 成批操作,是上线数据准备的主力武器。 LSMW的原理是对需要批处理操作的流程进行录制(类似于Mercury公司的 WinRunner和LoadRunner),然后设定模板、再将准备好的数据传入到SAP系 统进行预转换,如果合适就进行实际的转换。 LSMW是导入数据的一种强大工具,最大的好处就在于它的灵活性。一个导 入模板的设计过程有15个步骤,其中每个都是独立的单元,可以进行单独的更 新和修改,而不影响其它的模块。
原因: 1. BDC可以大量,重复地模拟人工操作(批导) 2. 另一个叫BAPI的男人不是万能的(适用范围各有千秋) 3. 实现较复杂屏幕跳转
举例: BDC :修改生产订单,配额导入等 BAPI:物料移动,修改销售订单等
5
内容
1 BDC简介 2 什么时候使用BDC 3 BDC用法及注意事项 4 练习
CALL ME BDC!!!
通俗理解: BDC就是SAP的一种代替操作
人员,在前台快速、重复操作的机制!
3
内容
1 BDC简介 2 什么时候使用BDC 3 BDC用法及注意事项 4 练习
4
内容
思考: 在前台操作时,操作人员可以很好的跟据数据的差异性做相
应不同的操作,为什么还需要这个叫BDC的男人呢?
2. BDC只能对前台进行写入操作,而不能读取数据,这也是BDC的 一大弊端,在做出动作之前,要预先对要操作的数据进行预判 断,因此适用于操作单一的情况
3. 操作要尽量精简,BDC会录下所有动作,有时甚至没操作的动 作也会被录下;另有些动作是可有可无的,删除不必要的动作
4. BDC在输入数据时要统一使用文本格式,如果是数据类型,将 会发生错误,如QUAN 13 3要转为CHAR17再进行输入
DATA: BDCDATA TYPE TABLE OF BDCDATA WITH HEADER LINE, BDCMSGCOLL TYPE TABLE OF BDCMSGCOLL WITH HEADER LINE, MSG TYPE TABLE OF BAPIRETURN WITH HEADER LINE.
另有些动作是可有可无的删除不必要的动作bdc在输入数据时要统一使用文本格式如果是数据类型将会发生错误如quan133要转为char17再进行输入调用bdc返回的消息不容易控制并不是只有成功操作才会返回s类型的消息操作成功不一定会返回消息且当输入的数据格式错误时需要另外处理calltranscation只会返回输入屏幕xxxx字段错误用户无法看懂bdc与bapi还有一大区别
MSGV1
= BDCMSGCOLL-MSGV1
MSGV2
= BDCMSGCOLL-MSGV2
MSGV3
= BDCMSGCOLL-MSGV3
MSGV4
= BDCMSGCOLL-MSGV4
IMPORTING
MESSAGE_TEXT_OUTPUT = MSG-MESSAGE.
MSG-TYPE = BDCMSGCOLL-MSGTYP.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
"bdc_dynpro
FORM BDC_FIELD TABLES BDCDATA STRUCTURE BDCDATA
USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
SAP BDC与LSMW介绍
1
内容
1 BDC简介 2 什么时候使用BDC 3 BDC用法及注意事项 4 练习
2
内容
BDC(Batch Data Conversion): 在SAP系统里,由于某种原因,可能需要重复输入数据,(数
据不同,但是操作是相同的),当数据量很大时,人为的手工操作 是不现实的,这个时候,BDC出现了。
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM.
"bdc_field
11
内容
BDC实现原理:
调用关键字:
CALL TRANSACTION CNS_TCODE USING BDCDATA[]
MODE CNS_MODE
UPDATE CNS_UPDATE
MESSAGES INTO BDCMSGCOLL[].
APPEND MSG.
ENDLOOP.
10
内容
两个FORM:
FORM BDC_DYNPRO TABLES BDCDATA STRUCTURE BDCDATA
USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
初始化BDCDATA[]:往内表中存放动作
CNS_MODE : A 前台运行模式
E 显示错误模式
N 后台运行模式
CNS_UPDATE: S 同步模式
A 异步模式
可以发现BDCDATA的字段与SHDB中事务记录器生成的BDC代 码一致,只要把相对应的动作数据按顺序放入内表中即可。
12
内容
注意事项:
1. 尽量使用BAPI,而不是BDC:BDC较BAPI效率要慢得多,且在某 些情况下,由于数据的差异性,使得要做出的动作不好控制
5. 调用BDC返回的消息不容易控制,并不是只有成功操作才会返 回S类型的消息,操作成功不一定会返回消息,且当输入的数 据格式错误时,需要另外处理,CALL TRANSCATION只会返回输 入屏幕XXXX字段错误,用户无法看懂
6. BDC与BAPI还有一大区别:若前台有做增强,执行BDC是受影响 的,而BAPI却不会,即使用BAPI时还需另做控制
BDC_SUBSCR
RESBD-MENGE(01) =BU
33 SAPLCOKO1
SAPLCOMK
8
内容
ABAP CODE:
示例程序:
CONSTANTS: CNS_MODE TYPE C VALUE 'A', CNS_UPDATE TYPE C VALUE 'S', CNS_TCODE TYPE TCODE VALUE 'CO02'.