SAPBDC精华版教材文档格式.docx

上传人:b****3 文档编号:14766899 上传时间:2022-10-24 格式:DOCX 页数:18 大小:136.61KB
下载 相关 举报
SAPBDC精华版教材文档格式.docx_第1页
第1页 / 共18页
SAPBDC精华版教材文档格式.docx_第2页
第2页 / 共18页
SAPBDC精华版教材文档格式.docx_第3页
第3页 / 共18页
SAPBDC精华版教材文档格式.docx_第4页
第4页 / 共18页
SAPBDC精华版教材文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

SAPBDC精华版教材文档格式.docx

《SAPBDC精华版教材文档格式.docx》由会员分享,可在线阅读,更多相关《SAPBDC精华版教材文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

SAPBDC精华版教材文档格式.docx

1.光标放到哪个字段,(在程序中不用改变)

2.填入了什么值,(变量,循环中的InternalTable某个字段)

3.点击了什么按钮(在程序中不用改变)

本次操作的作为一个“代表”,是一个“模板”,告诉SAP系统以如何样的方式来执行程序,也确实是用计算机的语言来描述假如手工操作的话应该是如何样的一个过程。

用BDC技术编程时,有以下几个步骤:

1.把外部的数据源(Txt,Excel等)用读进internaltable或者用doenddo循环。

2.在循环里,把用SHDB记录的步骤重复执行N次,(N=Dialog屏幕数量)这时实际上并没行完成数据的入,系统只是在“填表”,填一个叫做“BDCData”的InternalTable。

填完bdcdata以后,用calltransaction‘XXXX’usingbdc……那个命令来真正的commit动作或者callfunction'

BDC_INSERT'

在建立一个session。

并把执行的结果返回给messtab那个InternalTable。

现在假想一种情境,来做一个演示的BDC程序。

由于业务上的需要,某公司打算将某些物料的描述都在后面加上指定的文本GroupX,因此需要修改差不多存在的物料数据,用T-code:

MM02,

外部数据是TXT文本,记录有N条,如下:

MaterialNO.Description

6000-00001XXXXXXX(GroupA)

2098-00001fdfladsfladfl(GroupB)

2059-00009dfdsfreddfalfasfa(GroupA)

2003-00003iadfdafdf,adfasf(GroupD)

……

下面是“录”操作的过程,在命令栏里输入T-code:

SHDB,进入如下屏幕:

点NewRecodring,出现如下屏幕:

其中Recording的名字是任意给的。

MM02是需要录的事务代码。

按下“StartRecording”,就会进入“ChangeMaterial”,这时,以下的操作关于用户来讲是一次一般修改物料描述操作,尽管系统在记录所有的操作。

输入一个物料后,点击“SelectView(s)”

假设我们只选“BasicData1”和“BasicData1”

然后点击绿色的小勾“Enter”

我们在该物料后面添加一个“GroupA”,描述改为:

然后点“SAVE”,保存这次修改。

现在SAP回到了SHDB,

先点“SAVE”,保存Recording:

Ztest,然后点”Back”,返回SHDB的第一屏。

选中“Ztest”,然后点击“Program”,由SAP自动生成一个程序。

在上面的对话框中输入程序的名字(注意SAP的命名规范,Y或者Z开头),确认输入

再输入一些程序的属性信息如下:

点击“SourceCode”,指定“DevelopClass”等后,就能够进入ABAPEditor,产生如下代码:

reportZBDCTEST

nostandardpageheadingline-size255.

includebdcrecx1.

parameters:

dataset(132)lowercase.

***DONOTCHANGE-thegenerateddatasection-DONOTCHANGE***

*

*Ifitisnessesarytochangethedatasectionusetherules:

*1.)Eachdefinitionofafieldexistsoftwolines

*2.)Thefirstlineshowsexactlythecomment

*'

*dataelement:

'

followedwiththedataelement

*whichdescribesthefield.

*Ifyoudon'

thaveadataelementusethe

*commentwithoutadataelementname

*3.)Thesecondlineshowsthefieldnameofthe

*structure,thefieldnamemustconsistof

*afieldnameandoptionalthecharacter'

_'

and

*threenumbersandthefieldlengthinbrackets

*4.)EachfieldmustbetypeC.

***Generateddatasectionwithspecificformatting-DONOTCHANGE***

data:

beginofrecord,

MATNR

MATNR_001(018),

XFELD

KZSEL_01_002(001),

KZSEL_02_003(001),

MAKTX

MAKTX_004(040),

MEINS

MEINS_005(003),

MTPOS_MARA

MTPOS_MARA_006(004),

GEWEI

GEWEI_007(003),

endofrecord.

***Endgenerateddatasection***

start-of-selection.

performopen_datasetusingdataset.

performopen_group.

do.

readdatasetdatasetintorecord.

ifsy-subrc<

>

0.exit.endif.

performbdc_dynprousing'

SAPLMGMM'

0060'

.

performbdc_fieldusing'

BDC_CURSOR'

RMMG1-MATNR'

BDC_OKCODE'

=AUSW'

record-MATNR_001.

0070'

MSICHTAUSW-DYTXT(02)'

=ENTR'

MSICHTAUSW-KZSEL(01)'

record-KZSEL_01_002.

MSICHTAUSW-KZSEL(02)'

record-KZSEL_02_003.

4004'

=BU'

MAKT-MAKTX'

record-MAKTX_004.

MARA-MEINS'

record-MEINS_005.

MARA-MTPOS_MARA'

record-MTPOS_MARA_006.

MARA-GEWEI'

record-GEWEI_007.

performbdc_transactionusing'

MM02'

enddo.

performclose_group.

performclose_datasetusingdataset.

上面的程序的要紧逻辑为:

opendataset“读取外部数据源

do.“循环

perform填充BDCDATA子程序

performbdc_transcation

endo.

Closedataset.

注意上面的Include程序里有两个重要的form.

*-------------------------------------------------------------------*

*Startnewscreen*

formbdc_dynprousingprogramdynpro.

clearbdcdata.

bdcdata-program=program.

bdcdata-dynpro=dynpro.

bdcdata-dynbegin='

X'

appendbdcdata.

endform.

*Insertfield

formbdc_fieldusingfnamfval.

iffval<

nodata.

bdcdata-fnam=fnam.

bdcdata-fval=fval.

endif.

另外还有两个重要的inter

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1