资源描述
Hand Enterprise Solutions
AURORA-IDOC设计说明及开发指南
作者: Jinxiao.lin
建档日期: 2011/7/10
最近更新: 2013/5/23
控制号:
版本: 1 .3
Note: Control Number and Version are marked by a Word Bookmark so that they can be easily reproduced in the header and footer of documents. When you change either of these values, be careful not to accidentally delete the bookmark. You can make bookmarks visible by selecting Tools->Options匳iew and checking the Bookmarks option in the Show region.
审批:
Project Manager
拷贝号 _____
文档控制
记录更改
日期
作者
版本
文档状态
更改参考
2013/5/23
Jinxiao.lin
1.3
2011/11/24
Jinxiao.lin
1.2
2011/11/1
ru.lu
1.1
2011/7/10
Xiaopeng.zhu
1.0
Draft1.0
创建
Jinxiao.lin
Xiaochen.shi(SAP)
审阅人
姓名
职位
分发
拷贝号
姓名
职位
1
2
3
4
Note: The copy numbers referenced above should be written into the Copy Number space on the cover of each distributed copy. If the document is not controlled, you can delete this table and the Copy Number label from the cover page.
(9-Dec-96)
文档目录
文档控制 ii
基本概念介绍 1
SAP IDoc介绍 1
IDoc主要功能 1
IDoc文件例子 1
IDoc的数据结构 2
IDoc文件 2
Aurora IDoc 2
Aurora IDoc事务流程 3
项目实施 4
部署 4
从公司cvs下载最新的aurora_idoc项目 4
修改配置文件 4
开放端口 5
前台配置 10
配置JCO功能。 10
在系统中注册配置页面,效果如下: 11
管理 14
启动和关闭Aurora IDoc 14
监控,查询数据 14
数据库表 14
起初配置表 14
运行时表 15
SAP IDOC配置 16
配置接收/发送IDOC系统(TCODE: SALE) 16
定义RFC目标系统(TCODE:SM59) 17
配置IDOC端口(TCODE:WE21) 18
创建段类型(TCODE:WE31) 19
创建IDOC类型(TCODE:WE30) 19
定义消息类(TCODE:WE81) 20
把基本类型分配给消息类型(TCODE:WE82) 21
分配模型视图(TCODE:BD64) 21
把消息类型加入伙伴参数文件的出站参数 22
编写代码 23
把idoc设置成后台自动发送(TCODE:sm36) 24
察看IDOC发送情况(TCODE:WE02和sm59) 24
SAP网关配置 24
常见问题 28
附件 30
配置页面文件 30
(9-Dec-96)
30
Company Confidential - For internal use only
基本概念介绍
SAP IDoc介绍
IDoc的全称是Intermediate Document,是SAP用于传输业务数据的一种数据格式。
IDoc主要功能
IDoc主要用于系统间的数据同步,数据发起方是SAP,接受方是另一方系统。
举例来说,在一个特定的SAP服务器配置了IDoc之后,当一个SAP用户创建一张采购订单,其信息会自动通过IDoc传输给另一方系统,此系统根据接受到的数据,在本系统中自动创建一张销售订单。
IDoc文件例子
<?xml version="1.0"?>
<MATMAS05>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<MANDT>800</MANDT>
<DOCNUM>0000000000940780</DOCNUM>
<DOCREL>701</DOCREL>
<STATUS>30</STATUS>
<DIRECT>1</DIRECT>
<OUTMOD>2</OUTMOD>
<IDOCTYP>MATMAS05</IDOCTYP>
<MESTYP>MATMAS</MESTYP>
<SNDPOR>SAPIDS</SNDPOR>
<SNDPRT>LS</SNDPRT>
<SNDPRN>IDSCLNT800</SNDPRN>
<RCVPOR>A000000071</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPRN>HANDMAS</RCVPRN>
<CREDAT>20110620</CREDAT>
<CRETIM>142202</CRETIM>
<SERIAL>20110620142200</SERIAL>
</EDI_DC40>
<E1MARAM SEGMENT="1">
<MSGFN>005</MSGFN>
<MATNR>000000000000002203</MATNR>
<ERSDA>20110312</ERSDA>
<ERNAM>3047</ERNAM>
<LAEDA>20110312</LAEDA>
<AENAM>3047</AENAM>
<PSTAT>K</PSTAT>
<MTART>FERT</MTART>
<MBRSH>M</MBRSH>
<MEINS>EA</MEINS>
<BLANZ>000</BLANZ>
<BRGEW>0.000</BRGEW>
<NTGEW>0.000</NTGEW>
<VOLUM>0.000</VOLUM>
<WESCH>0.000</WESCH>
<LAENG>0.000</LAENG>
<BREIT>0.000</BREIT>
<HOEHE>0.000</HOEHE>
<ERGEW>0.000</ERGEW>
<ERVOL>0.000</ERVOL>
<GEWTO>0.0</GEWTO>
<VOLTO>0.0</VOLTO>
<FUELG>0</FUELG>
<STFAK>0</STFAK>
<MHDRZ>0</MHDRZ>
<MHDHB>0</MHDHB>
<MHDLP>0</MHDLP>
<VPSTA>K</VPSTA>
<MSTDE>00000000</MSTDE>
<MSTDV>00000000</MSTDV>
<COMPL>00</COMPL>
<MTPOS_MARA>NORM</MTPOS_MARA>
<GEWTO_NEW>0.0</GEWTO_NEW>
<VOLTO_NEW>0.0</VOLTO_NEW>
<E1MARA1 SEGMENT="1">
<MAXC>0.000</MAXC>
<MAXC_TOL>0.0</MAXC_TOL>
<MAXL>0.000</MAXL>
<MAXB>0.000</MAXB>
<MAXH>0.000</MAXH>
<QQTIME>0</QQTIME>
</E1MARA1>
<E1MAKTM SEGMENT="1">
<MSGFN>005</MSGFN>
<SPRAS>1</SPRAS>
<MAKTX>111</MAKTX>
<SPRAS_ISO>ZH</SPRAS_ISO>
</E1MAKTM>
<E1MARMM SEGMENT="1">
<MSGFN>005</MSGFN>
<MEINH>EA</MEINH>
<UMREZ>1</UMREZ>
<UMREN>1</UMREN>
<LAENG>0.000</LAENG>
<BREIT>0.000</BREIT>
<HOEHE>0.000</HOEHE>
<VOLUM>0.000</VOLUM>
<BRGEW>0.000</BRGEW>
<NEST_FTR>0</NEST_FTR>
<MAX_STACK>0</MAX_STACK>
<CAPAUSE>0.000</CAPAUSE>
</E1MARMM>
</E1MARAM>
</IDOC>
</MATMAS05>
IDoc的数据结构
IDoc的数据结构分三个层次:
1. IDoc类型(idoc type)
2. 段(segment)
3. 字段(field)
不同的IDoc类型用于处理不同类型的信息。比如IDoc格式ORDERS01可用于采购订单(Purchase Order)和订单确认(Order Confirmation)。IDoc类型下可以定义一个或多个段。段类似于数据库中的表,段可以有层次结构,即段可以有父段,也可以有子段。段下定义一个或多个字段,类似于数据库中的表字段。
IDoc文件
一个IDoc文件包含两种数据:
1. 控制记录(Control Record):包含IDoc类型、伙伴端口、SAP R/3的版本等信息。对应上面文件中IDOC节点的第一个子节点。
2. 数据记录(Data Record):包含段和字段的数据信息。对应上面文件中的IDOC节点下除第一个子节点外的其余节点。
Aurora IDoc
Aurora IDoc是基于Aurora框架研发出来的一款产品。它独立部署,不依赖于任何Web容器,并且可以部署在windows、unix和linux等各种操作系统上。
Aurora IDoc事务流程
1. Aurora IDoc启动时会登录SAP,并向SAP注册一个ProgramID。
2. 当SAP系统有数据新增或更改时,向上述的ProgramID发送IDoc数据流。
3. Aurora IDoc接收到IDoc数据流,并以XML文件的形式保存在指定的文件目录中。
4. Aurora IDoc解析此XML文件,并根据预先配置的对应关系,数据插入临时表中。
5. 在插入临时表后,调用项自定义的客户化数据库package,把临时表中德数据插入到正式业务表中。
6. 在成功插入业务表后,再把解析的数据插入系统通用的接口表(FND_INTERFACE_HEADERS ,FND_INTERFACE_LINES ),作为数据备份。
7. 根据配置决定是否删除此xml文件。
8. 给sap方一个反馈信息,这个步骤可选。
注:以上七个步骤都是全自动化的操作,项目实施时只需要做两件事:
1. 配置对应关系
2. 编写客户化数据库package
项目实施
部署
从公司cvs下载最新的aurora_idoc项目
部署目录结构:
bin
Startup.bat和startup.sh
shutdown.bat和shutdwon.sh
MYSERVER.jcoServer
BCE.jcoDestination
log4j.properties(可选)
WEB-INF
uncertain.xml
uncertain.local.xml
aurora.plugin.sap.sync.idoc
Idoc.config
aurora.database
datasource.config
Aurora.feature
service-logging.config
lib
aurora.jar
classes12.jar(JDBC驱动)
其他jar包
classes
feedback_proc_sample.proc
fnd_idoc_feedbacks.bm
这个结构跟tomcat的结构基本类似,仅稍有不同:bin目录是跟web-inf目录是同级的,并减少了很多其他目录和文件。用户只需把自定义的config文件放入web-inf下,把jar包放入lib下,并把其他资源(如果需要)放入bin目录下,在classes目录下放置反馈给sap的程序文件,部署即完成。
修改配置文件
1. datasource.config:数据库连接
2. idoc.config:idoc配置文件
3. uncertain.xml:日志文件路径
4. MYSERVER .jcoServer
参数
含义
例子
jco.server.progid
sap注册的ProgramID
HAND1
jco.server.name
SAP的服务器名字
IDS
jco.server.gwhost
IP
192.168.11.28
jco.server.gwserv
端口号
sapgw00
jco.server.unicode
编码
1
jco.server.repository_destination
指向<文件名称>.jcoDestination这个文件
BCE
参数
说明
例子
jco.client.lang
语言
EN
jco.client.client
环境
800
jco.client.user
密码
1332
jco.client.passwd
用户
handsap
jco.client.sysnr
端口号
00(加上sapgw就是MYSERVER .jcoServer中的jco.server.gwserv属性值)
jco.client.ashost
IP
192.168.11.28
5. BCE.jcoDestinat
开放端口
在service文件,它在windows和unix系统下路径分别是:
1. Windows系统在C:\Windows\System32\drivers\etc\service
2. unxi或linux在/etc/services
注:unix/linux刷新服务的命令: refresh –s inetd。如果这个命令没效果,请重启系统试试。
添加以下内容:
sapdp00 3200/tcp
sapdp01 3201/tcp
sapdp02 3202/tcp
sapdp03 3203/tcp
sapdp04 3204/tcp
sapdp05 3205/tcp
sapdp06 3206/tcp
sapdp07 3207/tcp
sapdp08 3208/tcp
sapdp09 3209/tcp
sapdp10 3210/tcp
sapdp11 3211/tcp
sapdp12 3212/tcp
sapdp13 3213/tcp
sapdp14 3214/tcp
sapdp15 3215/tcp
sapdp16 3216/tcp
sapdp17 3217/tcp
sapdp18 3218/tcp
sapdp19 3219/tcp
sapdp20 3220/tcp
sapdp21 3221/tcp
sapdp22 3222/tcp
sapdp23 3223/tcp
sapdp24 3224/tcp
sapdp25 3225/tcp
sapdp26 3226/tcp
sapdp27 3227/tcp
sapdp28 3228/tcp
sapdp29 3229/tcp
sapdp30 3230/tcp
sapdp31 3231/tcp
sapdp32 3232/tcp
sapdp33 3233/tcp
sapdp34 3234/tcp
sapdp35 3235/tcp
sapdp36 3236/tcp
sapdp37 3237/tcp
sapdp38 3238/tcp
sapdp39 3239/tcp
sapdp40 3240/tcp
sapdp41 3241/tcp
sapdp42 3242/tcp
sapdp43 3243/tcp
sapdp44 3244/tcp
sapdp45 3245/tcp
sapdp46 3246/tcp
sapdp47 3247/tcp
sapdp48 3248/tcp
sapdp49 3249/tcp
sapdp50 3250/tcp
sapdp51 3251/tcp
sapdp52 3252/tcp
sapdp53 3253/tcp
sapdp54 3254/tcp
sapdp55 3255/tcp
sapdp56 3256/tcp
sapdp57 3257/tcp
sapdp58 3258/tcp
sapdp59 3259/tcp
sapdp60 3260/tcp
sapdp61 3261/tcp
sapdp62 3262/tcp
sapdp63 3263/tcp
sapdp64 3264/tcp
sapdp65 3265/tcp
sapdp66 3266/tcp
sapdp67 3267/tcp
sapdp68 3268/tcp
sapdp69 3269/tcp
sapdp70 3270/tcp
sapdp71 3271/tcp
sapdp72 3272/tcp
sapdp73 3273/tcp
sapdp74 3274/tcp
sapdp75 3275/tcp
sapdp76 3276/tcp
sapdp77 3277/tcp
sapdp78 3278/tcp
sapdp79 3279/tcp
sapdp80 3280/tcp
sapdp81 3281/tcp
sapdp82 3282/tcp
sapdp83 3283/tcp
sapdp84 3284/tcp
sapdp85 3285/tcp
sapdp86 3286/tcp
sapdp87 3287/tcp
sapdp88 3288/tcp
sapdp89 3289/tcp
sapdp90 3290/tcp
sapdp91 3291/tcp
sapdp92 3292/tcp
sapdp93 3293/tcp
sapdp94 3294/tcp
sapdp95 3295/tcp
sapdp96 3296/tcp
sapdp97 3297/tcp
sapdp98 3298/tcp
sapdp99 3299/tcp
sapgw00 3300/tcp
sapgw01 3301/tcp
sapgw02 3302/tcp
sapgw03 3303/tcp
sapgw04 3304/tcp
sapgw05 3305/tcp
sapgw06 3306/tcp
sapgw07 3307/tcp
sapgw08 3308/tcp
sapgw09 3309/tcp
sapgw10 3310/tcp
sapgw11 3311/tcp
sapgw12 3312/tcp
sapgw13 3313/tcp
sapgw14 3314/tcp
sapgw15 3315/tcp
sapgw16 3316/tcp
sapgw17 3317/tcp
sapgw18 3318/tcp
sapgw19 3319/tcp
sapgw20 3320/tcp
sapgw21 3321/tcp
sapgw22 3322/tcp
sapgw23 3323/tcp
sapgw24 3324/tcp
sapgw25 3325/tcp
sapgw26 3326/tcp
sapgw27 3327/tcp
sapgw28 3328/tcp
sapgw29 3329/tcp
sapgw30 3330/tcp
sapgw31 3331/tcp
sapgw32 3332/tcp
sapgw33 3333/tcp
sapgw34 3334/tcp
sapgw35 3335/tcp
sapgw36 3336/tcp
sapgw37 3337/tcp
sapgw38 3338/tcp
sapgw39 3339/tcp
sapgw40 3340/tcp
sapgw41 3341/tcp
sapgw42 3342/tcp
sapgw43 3343/tcp
sapgw44 3344/tcp
sapgw45 3345/tcp
sapgw46 3346/tcp
sapgw47 3347/tcp
sapgw48 3348/tcp
sapgw49 3349/tcp
sapgw50 3350/tcp
sapgw51 3351/tcp
sapgw52 3352/tcp
sapgw53 3353/tcp
sapgw54 3354/tcp
sapgw55 3355/tcp
sapgw56 3356/tcp
sapgw57 3357/tcp
sapgw58 3358/tcp
sapgw59 3359/tcp
sapgw60 3360/tcp
sapgw61 3361/tcp
sapgw62 3362/tcp
sapgw63 3363/tcp
sapgw64 3364/tcp
sapgw65 3365/tcp
sapgw66 3366/tcp
sapgw67 3367/tcp
sapgw68 3368/tcp
sapgw69 3369/tcp
sapgw70 3370/tcp
sapgw71 3371/tcp
sapgw72 3372/tcp
sapgw73 3373/tcp
sapgw74 3374/tcp
sapgw75 3375/tcp
sapgw76 3376/tcp
sapgw77 3377/tcp
sapgw78 3378/tcp
sapgw79 3379/tcp
sapgw80 3380/tcp
sapgw81 3381/tcp
sapgw82 3382/tcp
sapgw83 3383/tcp
sapgw84 3384/tcp
sapgw85 3385/tcp
sapgw86 3386/tcp
sapgw87 3387/tcp
sapgw88 3388/tcp
sapgw89 3389/tcp
sapgw90 3390/tcp
sapgw91 3391/tcp
sapgw92 3392/tcp
sapgw93 3393/tcp
sapgw94 3394/tcp
sapgw95 3395/tcp
sapgw96 3396/tcp
sapgw97 3397/tcp
sapgw98 3398/tcp
sapgw99 3399/tcp
前台配置
前台配置需要:
一个基于Web的Aurora项目。在做配置时,确保此项目连接的数据库和Aurora IDoc连接的数据是一致的。
配置JCO功能。
1. 添加JCO相关文件
在WEB-INF目录下创建目录aurora.plugin.sap,然后在这个目录下创建sap.config文件,将SAP服务器的连接配置到文件中,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jco:sap-config xmlns:jco="aurora.plugin.sap.jco3">
<instances>
<jco:instance-config
server_ip="192.168.11.11"
sid="BP5"
sap_client="300"
userid="HAND.ZST"
password="abc123"
default_lang="ZH"
max_conn="5"
system_number="51">
</jco:instance-config>
</instances>
</jco:sap-config>
属性名
描述
server_ip
SAP服务器的ip地址
sid
为当前sap实例命名,方便引用
sap_client
SAP中client的概念
user_id
Sap rfc用户名
password
密码
default_lang
设定jco连接语言
max_conn
Jco连接池最大连接数
system_number
Sap中系统标识
2. 修改uncertain.xml文件,添加黄色底色部分
<?xml version="1.0" encoding="UTF-8"?>
<uncertain-engine name="hec">
<packages>
<package-path classPath="aurora_plugin_package/aurora.plugin.jms" />
<package-path classPath="aurora_plugin_package/aurora.plugin.memcached" />
<package-path classPath="aurora_plugin_package/aurora.plugin.dataimport" />
<package-path classPath="aurora_plugin_package/aurora.plugin.export" />
<package-path classPath="aurora_plugin_package/aurora.plugin.touch" />
<package-path classPath="aurora_plugin_package/aurora.plugin.ldap" />
<package-path classPath="aurora_plugin_package/aurora.plugin.sap" />
<package-path classPath="aurora_plugin_package/aurora.plugin.excelreport" />
<package-path classPath="aurora_plugin_package/aurora.plugin.export.task" />
</packages>
</uncertain-engine>
在系统中注册配置页面,效果如下:
1. 同步IDOC结构
打开“同步IDOC结构”功能,页面如下:
这个页面form中的参数请sap人员协助配置,具体可参考下图的参数:
点击段类型,查看段下的字段,效果如下:
这个功能主要是从SAP方获取IDoc的结构。
获取IDOC结构后,可以快速配置对应关系。
2. 配置对应关系
打开“IDOC对应关系”功能,管理SAP段和数据库表的对应关系。
建立对应关系后,Aurora IDoc在接收到IDoc数据时,能够根据对应关系,把段和字段的内容插入到数据库对应的表中。界面配置如下:
点击“快速生成对应表和对应关系”按钮后,系统依据IDOC结构,用动态SQL自动生成名称相同的表和字段结构。这些自动被创建的表统称为临时表。
3. 配置IDOC类型对应的存储过程
在数据根据对应关系插入到数据库的临时表中后,Aurora IDoc调用一个存储过程,把临时表中的数据插入到正式业务表中。这个存储过程,根据项目业务场景自行编写。
如果需要在同步完程序后,给sap方一个反馈,请配置“反馈程序”,文件目录在classes下。
配置页面如下:
“有次序”这个属性表示,IDoc数据是否有严格的次序。如果某次同步IDOC数据发生异常后,下次再次接收到同一个IDoc类型的数据,是否处理?选中就是不处理,不选中,就是继续处理。
管理和监控
启动和关闭Aurora IDoc
1. 启动
进入bin目录,运行startup.bat或startup.sh文件
2. 停止
进入bin目录,运行shutdown.bat或shutdown.sh文件。
3. 查看日志
查看uncertain.local.xml中定义的log目录。
监控日志和数据
1. 查看aurora\web\bin\dev_jco_rfc.trc文件,可以获取与SAP交互出错信息。
2. 查看aurora\web\logs下,可以获取到AURORA抛出的信息
3. 查看fnd_idoc_files表可以获取到IDOC同步的步骤状态
注意:SAP方更改IDoc segment或者field后,需要重新启动Aurora IDoc才能正确接收到更新后的结构文件。
数据库表
起初配置表
表名
说明
fnd_idoc_segments
IDOC 段结构表
fnd_idoc_fields
IDoc字段结构表
fnd_idoc_segment_maps
IDOC 段和数据库表对应关系表
fnd_idoc_field_maps
IDOC 字段和数据库表字段对应关系表
fnd_idoc_types
IDOC 类型对应的存储过程表
运行时表
表名
说明
fnd_idoc_servers
IDOC 服务连接表
fnd_idoc_files
接收到的idoc文件表
fnd_interface_headers
Aurora系统标准接口头表
fnd_interface_lines
Aurora系统标准接口行表
fnd_idoc_trx_sample
仅测试用,假定是正式的业务表
SAP IDOC配置
配置接收/发送IDOC系统(TCODE: SALE)
定义接收逻辑系统:
输入一个逻辑系统名及其描述:
定义RFC目标系统(TCODE:SM59)
SM59里有很多不同的连接类型:
a. ABAP Connections:连接远程SAP系统的, 需要提供作为SAP CLIENT调用系统时的各种参数
b. Internal Connections:连接外部HTTP服务,需要提供URL.
c. TCP/IP connections:通过TCP/IP层面调用外部服务.
此处选用TCP/IP方式连接.由于接口是从SAP向外部系统抛送的方式,所以在配置RFC连接时需要Registered Server Program方式来连接.因为外部程序不仅要向SAP发出RFC请求,还要允许SAP抛出IDOC,而这是通过JCOServer来连接,所以要告知外部系统一个PROGRAM ID,而外部系统也配置与SAP相同的PROGRAM ID来让SAP与外部系统连接.
配置Unicode格式
配置IDOC端口(TCODE:WE21)
选择事务性RFC:ALE连接方式
因为通过JCOServer连接,它会通过XML解析器,自动把IDOC文件转换成XML文件.只需要添加RFC端口,抛出的XML文件由外部系统来指定存在哪个位置.如果由SAP来指定文件夹则需要创建XML文件.
其中目录根据操作系统的不同而指定的地址也不同
UNIX: /usr/sap/QAS/SYS/global/
WINDOWS: \\sapdevdb\sapmnt\QAS\SYS\global\
其中黄色部分表示SAP环境
功能模块名可制定输出文件的格式
在出站:触发器中与RFC关联
创建段类型(TCODE:WE31)
系统的段类型以E1开头
自定义段类型以Z1开头
创建段类型后系统会自动创建E2或者Z2的段定义
创建IDOC类型(TCODE:WE30)
IDOC类型是IDOC文件的结构定义和说明,根据不同的传输格式来定义IDOC类型
需要把刚才创建的段类型挂在IDOC类型下面
最小数量:该段的最小条目数
最大编号:该段得最大条目数
创建IDOC类型后,需要设置版本来发布该类型
发布后,该版本的IDOC结构无法更改,如要更改需取消发布,更改后再次设置版本
定义消息类(TCODE:WE81)
把基本类型分配给消息类型(TCODE:WE82)
分配模型视图(TCODE:BD64)
先创建模型视图然后添加消息类型
因为是SAP->外部系统,所以发送方式。输入发送方为当前SAP系统,接收方为目标系统(逻辑系统名)
点击菜单中的生成伙伴参数文件
点击执行,生成伙伴参数
把消息类型加入伙伴参数文件的出站参数
因为这里是单向发送IDOC,所以只需要维护出站参数。选择立即转换IDocs。
编写代码
REPORT ZTEST_IDOC.
TYPES:BEGIN OF TY_MATNR,
MATNR TYPE MAKT-MATNR,
END OF TY_MATNR.
DATA:IT_MATNR TYPE STANDARD TABLE OF TY_MATNR,
WA_MATNR LIKE LINE OF IT_MATNR.
SELECT MATNR UP TO 100 ROWS
INTO CORRESPONDING FIELDS OF TABLE IT_MATNR
FROM MAKT
WHERE SPRAS = 1.
*************
展开阅读全文