我现在要使用SAP WM 的扫描sap 入库流程,...

详细解读SAP系统WM模块
&&&&&& WM,即Warehouse Management(仓库管理)。从对其定义的范畴来看,在早期的版本中,把它作为MM模块的一部分,从4.5版本开始,把它跟装运(Shipping)、运输(Transportation)等模块一起,作为LE后勤执行(Logistics Execution,也叫物流执行)模块的子模块。注意:这里提到的WM是SAP R/3及SAP 中的模块,另外,在SCM系统中,也有自己的WM模块,并取名为EWM,即Extended Warehouse Management。有关EWM我在这里就不多提了,因为我也没有机会接触SCM系统。
  WM之所以叫仓库管理,或仓位管理,显然它是以仓库结构体为核心,来控制物料在仓库中,以及仓库与外界(在物理位置的仓库之外或WM之外的模块)之间的移动及方位(虽然没有显性到移动路径)。首先,我们从它的系统结构上来跟库存管理(Inventory Management,简称IM,下同)对比一下。
  IM在是库存地点(Storage Location,也有人叫它仓库,为了跟WM的仓库区分,这里统一用库存地点来称呼)级别上进行物料数量级管理的,在IM系统中,我们只能最多精确知道某个物料在这个库存地点下总的数量(包括非限制库存、分包库存、供应商寄售库存等),而无从知道它在仓库中具体存放的位置,或放在哪个货架第几个格子上等等。库存地点在IM中的上层结构是工厂(Plant),而一般一个工厂作为一个评估范围(Valuation Area),如果是在有价值管理的工厂中,库存地点上物料的数量本身就是直接跟库存价值/金额挂钩的。
  WM则是用所谓的仓库号(Warehouse Number)从地理位置上归集的几个或多个仓库结构体或仓库联合体(Warehouse Complex),然后用它来管理IM中的库存地点。从功能的角度来讲,仓库号管理的库存地点并不止局限于某个工厂下的库存地点,它可以是跨工厂的,也可以是跨公司代码的。
  一个仓库号下包含若干个存储类型(storage type),我们将具有相似存储结构、相同出入库方法的仓位归为同一种存储类型,或者叫库存区域(Storage area)会更贴切一些,也就是一个仓库结构体下划分成多块大范围的区域,比如皮带区、马达区,或堆放存储区、露天存储区等。存储类型包括两种形式,物理存在的和逻辑意义上的。比如我们可以在仓库里划分一个区域,专门用来收货,我们把它命名为&收货区&,那么它就是物理上存在的;或者我们在系统用一个编号来表示这样一个专门用于收货的区域,但实际物理上可能不存在,那么可以说它是逻辑意义上的。实际用途中,它和发货区一样,只是作为一个临时存储区,用于表示货物的中间状态,因为它最终都要放置到仓库里某个具体实际的仓位上。
  我们可以对存储类型进行再细分,那么就成了存储分区(Storage Section)。比如由好几层隔板组成的高架货架,由于下面几层的货物比较容易拿到,我们可以把它定义成一个快移动区;而比较高的几层货物不太好拿,我们就用它来存放一些不常用的货物,由此把它定义为一个慢周转区。如果我们没有这样的需求,可以一个存储类型只至少定义一个存储分区,也就是一个存储分区=一个存储类型。
  每个仓储类型和存储区都由几个存储面积或存储槽位组成.这在仓库管理应用中被称为存储仓位(Storage bin),在仓储类型中是最小可用的空间单位。我们可以根据用途,可以把它划分成大到露天堆场、集装箱,小至一个货架、一个格子。实际上在仓库里,我们用一个坐标来表示它,比如仓位01-03-05表示货架上的第1排、第3垛、第5层;明白地讲,就是给这个仓位按照一定的规则来编号。这样,我们在系统上查询物料的库存时,看到有库存在某个仓位,就知道这些物料是放在仓库中的哪个准确具体位置。这样就能够很方便地把货物找出来。
  从一般意义上来讲,仓库中货物的移动无非是:入库、出库、转仓。但不管是什么类型的移动,每一次移动SAP都会产生一个转储申请(或转储请求,Transfer Requirement),继而系统要求对转储申请来创建一个转储订单(或转储单,Transfer Order)。
  转储申请可以定义计划库存转移的几个重要问题:
  &应该移动的货物?
  &应该移动多少?
  &因何人或何事要移动?
  &多少库存已经被转移?
  通常转储申请的产生是由SAP其它模块的事务处理激发的自动创建,如:
  &参考采购订单的收货处理
  &在中下达生产订单
  &自动补充拣货区的固定存储仓位
  然后我们根据转储申请来创建一张转储订单,系统根据你事先配置好的库存出入库策略帮助你确定好你所需要的信息:
  &要移动的物料号是什么?
  &要移动多少数量?
  &从哪里移出来(源仓位是什么)?
  &要移到哪里去(目标仓位是什么)?
  然后仓管员就凭着这张打印出来的转储单,根据转储单的内容到仓库进行拣货,并把货物送到指定的位置。那么在实际的仓库作业中,这些货物是不是全部都到达了目的地?中途有没有损坏?或者领料人看到实物后觉得不是它真正想要的料。在这种情况下,我们需要对转储单进行一个确认或取消的动作,来体现转储单数量和实际作业数量之间的差异。
  打一个很形象的比喻:几个人出差,要入住宾馆,但入住之前得先预定呀,也就相当于一张入住申请单,在入住申请单写好要入住哪些人、多少人等等。然后宾馆的工作人员根据入住申请单去安排房间,某A和某B入住207房,某C是领导一个人入住250房等等,这就相当于一张转储订单。在实际入住的时候,某C觉得这个250不好听,或对房间不太满意,要求换房或退房,这就相当于转储单确认或取消了。
  最后谈一个盘点的问题。大型的仓库每年要花很大力气进行财政年来的年度库存盘点,往往花费大量的人力物力。WM使用实时的、连续的盘点技术,以达到精确率接近100%。由于库存是基于仓位不断地做检查,如果在一个财政年内每个仓位至少经过一次盘点,就认为已完成库存盘点。或者我们做年终盘点,对仓库中每个区域、每排货架、每个仓位,都要进行严格的盘查,我们可以把它叫做&遍历仓位盘点&了,这样盘点起来就比只有IM时容易多了。盘点不但可以盘出物料数量的盈亏,还可以帮助我们纠正物料的存放,比如物料放错仓位了。
  总的来说,IM就是我管你东西放哪呢,你只要给我备足100个就行了;WM就是,我管我一定要管,这个东西你放在仓库什么地方了?哪里有几个,另外的地方哪又有几个?所以说IM最一个装垃圾的大麻袋,什么东西都往里丢;而WM则是一个电工包,钳子、起子、保险丝、胶带都分别放在一个一个小袋子里。
(编辑:cindy liu )
------分隔线----------------------------
您有可能感兴趣的文章
栏目推荐文章
Copyright &
All Rights Reserved.
网站声明:SAP和SAP LOGO是SAP AG公司商标,SAP中文学习网与SAP并无任何关联。我现在需要SAP的软件,我刚进入一家外企,用的是SAP,我需要中文版的。_百度知道
我现在需要SAP的软件,我刚进入一家外企,用的是SAP,我需要中文版的。
或是教程视频什么都行,只要是关于SAP软件相关的就行。还有,SAP一共有几种软件啊?我想学学,谢谢了啊,跪求!
提问者采纳
SAP是一家公司,产品有很多。你用的可能是SAP的ERP产品,最新的应该是ECC6的SAP的东西太多,先弄弄清楚要学哪个。1。传统的ERP模块:MM/SD/PP/FI/CO/PM。。。2。SAP CRM3。OLAP产品,SAP BW。。。4。SAP开发,ABAP。。。先弄弄清楚要学习,资料网上多的是。SAP的服务器装起来很麻烦,可以租用一个学习。
是,我是财务的,现在在结算,我现在接触到了SD,FI,CO 。你有相关的资料吗》我在网上找,也没找到什么可靠的信息。
采纳率100%
其他类似问题
为您推荐:
sap的相关知识
其他4条回答
sap登录时候可以选择语言。
你可以到上海思邦的网站下载免费的SAP系统的,还会有一些相关的资料,不妨可以看下的。
应当有个SAP人网站论坛的,你去搜索下。要SAP条码方面问题可以咨询&上海英劢&&&上海英劢电子科技有限公司在WMS、MES、供应链管理等方面的条码(RFID)数据采集具备从咨询、方案到开发、实施等过程的能力,将自动识别条码(RFID)技术整合于SAP、QAD、Oracle等ERP。&在同SAP接口的条码数据采集方面,对SAP&MM、WM等模块,做过多个成功案例。&&&下图为同&SAP接口&RF条码数据采集系统。RF条码数据采集系统&同SAP结合,适用于SAP&MM、WM等模块,解决SAP条形码(采集、打印)等问题。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁SAP WM模块的定义
什么是WM,全称就是Warehouse Management(仓库管理)
有的人很好奇,会说那MM是什么?MM当然不是&妹妹&,而是Material Management
MM主要包含采购、货仓、发票三大模块
那这就奇怪了,MM有个货仓,而WM又叫仓库,或许是这翻译问题,说不定就是一个字眼,叫仓库?
对于区别,简单来说
MM在管理货仓上就是一个黑匣子,只知道那个仓库有多少货,但实际上,在哪个架上,哪个格子里,哪个BIN上有多少呢?你是不知道的。即只在STORAGE LOCATION LEVEL。
当我们需要知道什么货物在什么架上或在什么BIN上的时候,就要用到WM了,它可以细到BIN LEVEL
这个货架用来解释WM比较好,你可以准确地知道在那个格子中,如图片中的02-02-03,第一个02,表示02货架(用SHELF),第二个02表示第二列(SAP用STACK),03则表示第三层SAP 用LEVEL)
以下是MM结构图
以下是WM的结构图
根据MM与WM结构图一对比,就可发现其中的差异点。
但细分的TX会发现,MM中有个STORAGE LOCATION
而在WM中没有,只有WAREHOUSE,这两玩意如何关联呢?
由衷的赞美。聪明,绝对是聪明,问题点一下就被发现了。
先来阐述我理解的程序开发吧。
像SAP这么大型的系统,不可能是一组人就把MM,PP,SD,FI,CO,WM,PS之类的完全开发出来,那要如何做呢,正常来说,就是每个模块都有不同的组负责,比如说MM部分,这是一组人在负责,这组人只管MM方面的一些操作,至于FI,WM等相关的,暂时不考虑
而另一组人就去专门开发WM的程序,这些人也不管MM是如何整的
各自按照各自行业或模块的专业去开发,只是等都开发完了,然后找个接口,把他们接起来就OK,这样在各个模块都比较专业。
那站在MM的角度看,就只要精确到STORAGE LOCATION就行了
而在WM的角度上去看,就会存在WAREHOUSE ,BIN等等,最后,连接起来,想办法让STORAGE LOCATION与WAREHOUSE连接上就行了。
好了,正式进入SAP了,看看这两个到底是如何关联与设定的
路径:SPRO-&Enterprise Structure-&Assignment-&Logistics Execution-&Assign warehouse number to plant/storage location
从这个设定中,可以发现几个问题
1、 不同工厂所对应的STORAGE LOCATION可以对应同一个WAREHOUSE NUMBER
2、 相同工厂所对应的STORAGE LOCATION可以对应同一个WAREHOUSE NUMBER
3、 一个工厂下的STORAGE LOCATION只能对应一个WAREHOUSE
如果简单理解呢?
就把一个WAREHOUSE看成是一个实体,如一栋房子,有3层,在这个房子中
第1层是工厂1000的仓位0001
第2层是工厂1000的仓位0002
第3层的左边是工厂1100的仓位0001,右边是工厂1200的仓位0001
这些都是可以的。
就简单阐述到这里吧!!!
我在学习的时候,喜欢从结果去看配置,因此我仍然按照我的方法去写这个
因为可以看到效果,成就感就特别强,并且也想这也不难吗,一下下就会结果了,哈哈,当然这是心理作用,每人的学习方法不同,只仅参考。
显示建立一个新的采购订单,然后收货,然后产生WM的资讯。
注:所有演示都在IDES中。
TCODE: MM01
建立一个原材料,选择以下VIEW
Basic Data 1
Purchasing
General Plant Data / Storage 1
General Plant Data / Storage 2
Warehouse Management 1
Warehouse Management 2
Accounting 1
Accounting 2
在这里只特别关注
Warehouse Management 1
Warehouse Management 2
Warehouse Management 2
什么都不设
其他VIEW的话,去看MM的课程吧。
TCODE: ME21N
注意:我的仓位是0088,然后直接SAVE
TCODE: MIGO
看看多了一个WM VIEW。当你看到这玩意后,你就对WM入门了。
亲爱的TX,SAVE吧。
TCODE:MB03
双击要看的ITEM
有资料了。
这里的意思解释如下:
Warehouse No.:仓库号。就表示你这次入库到STORAGE LOCATION: 0088中,实际上也就是入库到001这个 WAREHOUSE中
Storage Type:存储类型或叫存储区域。此玩意可以是物理的,也可以是逻辑的,是根据仓储技术、存储区间、组织形式或功能等对复杂的仓库进行分割的单元。
举例来说吧,当我们收货后,在IM的情况下,直接收货到了STORAGE LOCATION,而在WM的角度上来看,还没有到那个BIN上,只是仅仅收货了,这个货物是放在所谓的收货区域(即GR STORAGE TYPE,代码一般是902),而是出货呢,也可以有个出货区域(代码一般是916)
Storage Bin:仓位。就简单地理解成我们货架图片中的那个格子(02-02-03)吧。仔细看看,这个BIN的号码就是我们PO的号码,为什么会这样?要看后面的配置才会明白。
TR Number: TR就是TRANSFER REQUIREMENT 转储申请
当我们把货物收货到了&GR AREA&即收货区域后,我们需要把这些收货区域的货物上架,因此你要这样做,不是你想就行的,要有一个手续,这就跟我们采购一样,在采购中呢,是有一个采购申请、再采购订单,而WM呢,就有转储申请(TR)、转储订单(TO)。
当我们在做一个GR时,做MM的人都知道,对应的MOVEMENT TYPE是101
那在WM中会是什么MOVEMENT TYPE呢?
SPRO-& Enterprise Structure-& Assignment-& Logistics Execution-& Assign warehouse number to plant/storage location
可以知道在工厂1000的仓位0088所对应的WAREHOUSE NUMBER = 001
SPRO-& Logistics Execution-& Warehouse Management-& Interfaces-& Inventory Management-& Define Movement Types
双击 Assign WM Movement Type References to IM Movement Types
如果大家熟悉MM的MOVEMEN TYPE的话,这个画面应该是很容易明白
当我们采购订单收货时,对应一个 Reference movement type WM: 101
注意,这只是叫REFERENCE MOVEMENT TYPE,不是MOVEMENT TYPE
再回到刚才画面,双击 LE-WM Interface to Inventory Management
画面中的1:WhN: 即WAREHOUSE NUMBER,如果你没有单独对某个WAREHOUSE NUMBER做过设定的话,则用***代替
画面中的2:REFERENCE MOVEMENT TYPE: 即刚才在Assign WM Movement Type References to IM Movement Types画面中的101
画面中的3:WM的移动类型,101
画面中的4:Indicator: Creation/Cancellation of a Transfer Requirement (即建立或取消TR的标记) X表示当你建立MATERIAL DOCUMANT后,会自动产生TR,这就是我们在MB03中所看到的TR NUMBER:306产生的原因
通过这两个配置,你可以知道以下两个信息
WAREHOUSE NUMBER = 001
WM MOVEMENT TYPE = 101
SPRO-& Logistics Execution-& Warehouse Management-& Activities-& Transfers-& Define Movement Types
找到001,101,双击看DETAIL
暂时只看图片中的1,2,3吧。
图片中的1:SRC的CATEGORY 表示,当我们做WM 的此MOVEMENT TYPE的时候,是放到此STORAGE TYPE中
图片中的2:如果选中就表示是动态产生BIN,但如何动态呢,就根据图片中的3的设定决定
图片中的3:Requirement type中的值是B 即采购订单
图片的1,2,3整体解释就是,此货物放到STORAGE TYPE:902中,并且BIN是动态产生,并且BIN号码是等于采购订单号码。
通过这里,我想你应该明白了MB03中那个玩意的来源了吧。
想想,再想想,好像也不难哦。
对,入门确实不对,不过要想深入,我们未来继续探讨WM吧。
(编辑:cindy liu )
------分隔线----------------------------
您有可能感兴趣的文章
栏目推荐文章
Copyright &
All Rights Reserved.
网站声明:SAP和SAP LOGO是SAP AG公司商标,SAP中文学习网与SAP并无任何关联。3262人阅读
最近集团的瑞士公司有可能要实施WM,而俺又很久没写技术性的BLOG了,因此WM的文章就这样产生了 。
什么是WM,全称就是Warehouse Management(仓库管理)
有的人很好奇,会说那MM是什么?MM当然不是“妹妹”,而是Material Management
MM主要包含采购、货仓、发票三大模块
那这就奇怪了,MM有个货仓,而WM又叫仓库,或许是这翻译问题,说不定就是一个字眼,叫仓库?
对于区别,简单来说
MM在管理货仓上就是一个黑匣子,只知道那个仓库有多少货,但实际上,在哪个架上,哪个格子里,哪个BIN上有多少呢?你是不知道的。即只在STORAGE LOCATION LEVEL。
当我们需要知道什么货物在什么架上或在什么BIN上的时候,就要用到WM了,它可以细到BIN LEVEL
这个货架用来解释WM比较好,你可以准确地知道在那个格子中,如图片中的02-02-03,第一个02,表示02货架(SAP用SHELF),第二个02表示第二列(SAP用STACK),03则表示第三层SAP 用LEVEL)
以下是MM结构图
以下是WM的结构图
根据MM与WM结构图一对比,就可发现其中的差异点。
但细分的TX会发现,MM中有个STORAGE LOCATION
而在WM中没有,只有WAREHOUSE,这两玩意如何关联呢?
由衷的赞美。聪明,绝对是聪明,问题点一下就被发现了。
先来阐述我理解的程序开发吧。
像SAP这么大型的系统,不可能是一组人就把MM,PP,SD,FI,CO,WM,PS之类的完全开发出来,那要如何做呢,正常来说,就是每个模块都有不同的组负责,比如说MM部分,这是一组人在负责,这组人只管MM方面的一些操作,至于FI,WM等相关的,暂时不考虑
而另一组人就去专门开发WM的程序,这些人也不管MM是如何整的
各自按照各自行业或模块的专业去开发,只是等都开发完了,然后找个接口,把他们接起来就OK,这样在各个模块都比较专业。
那站在MM的角度看,就只要精确到STORAGE LOCATION就行了
而在WM的角度上去看,就会存在WAREHOUSE ,BIN等等,最后,连接起来,想办法让STORAGE LOCATION与WAREHOUSE连接上就行了。
好了,正式进入SAP了,看看这两个到底是如何关联与设定的
路径:SPRO-&Enterprise Structure-&Assignment-&Logistics Execution-&Assign warehouse number to plant/storage location
从这个设定中,可以发现几个问题
1、 不同工厂所对应的STORAGE LOCATION可以对应同一个WAREHOUSE NUMBER
2、 相同工厂所对应的STORAGE LOCATION可以对应同一个WAREHOUSE NUMBER
3、 一个工厂下的STORAGE LOCATION只能对应一个WAREHOUSE
如果简单理解呢?
就把一个WAREHOUSE看成是一个实体,如一栋房子,有3层,在这个房子中
第1层是工厂1000的仓位0001
第2层是工厂1000的仓位0002
第3层的左边是工厂1100的仓位0001,右边是工厂1200的仓位0001
这些都是可以的。
就简单阐述到这里吧!!!
我在学习的时候,喜欢从结果去看配置,因此我仍然按照我的方法去写这个
因为可以看到效果,成就感就特别强,并且也想这也不难吗,一下下就会结果了,哈哈,当然这是心理作用,每人的学习方法不同,只仅参考。
显示建立一个新的采购订单,然后收货,然后产生WM的资讯。
注:所有演示都在IDES中。
TCODE: MM01
建立一个原材料,选择以下VIEW
Basic Data 1
Purchasing
General Plant Data / Storage 1
General Plant Data / Storage 2
Warehouse Management 1
Warehouse Management 2
Accounting 1
Accounting 2
在这里只特别关注
Warehouse Management 1
Warehouse Management 2
Warehouse Management 2
什么都不设
其他VIEW的话,去看MM的课程吧。
TCODE: ME21N
注意:我的仓位是0088,然后直接SAVE
TCODE: MIGO
看看多了一个WM VIEW。当你看到这玩意后,你就对WM入门了。
亲爱的TX,SAVE吧。
TCODE:MB03
双击要看的ITEM
有资料了。
这里的意思解释如下:
Warehouse No.:仓库号。就表示你这次入库到STORAGE LOCATION: 0088中,实际上也就是入库到001这个 WAREHOUSE中
Storage Type:存储类型或叫存储区域。此玩意可以是物理的,也可以是逻辑的,是根据仓储技术、存储区间、组织形式或功能等对复杂的仓库进行分割的单元。
举例来说吧,当我们收货后,在IM的情况下,直接收货到了STORAGE LOCATION,而在WM的角度上来看,还没有到那个BIN上,只是仅仅收货了,这个货物是放在所谓的收货区域(即GR STORAGE TYPE,代码一般是902),而是出货呢,也可以有个出货区域(代码一般是916)
Storage Bin:仓位。就简单地理解成我们货架图片中的那个格子(02-02-03)吧。仔细看看,这个BIN的号码就是我们PO的号码,为什么会这样?要看后面的配置才会明白。
TR Number: TR就是TRANSFER REQUIREMENT 转储申请
当我们把货物收货到了“GR AREA”即收货区域后,我们需要把这些收货区域的货物上架,因此你要这样做,不是你想就行的,要有一个手续,这就跟我们采购一样,在采购中呢,是有一个采购申请、再采购订单,而WM呢,就有转储申请(TR)、转储订单(TO)。
当我们在做一个GR时,做MM的人都知道,对应的MOVEMENT TYPE是101
那在WM中会是什么MOVEMENT TYPE呢?
SPRO-& Enterprise Structure-& Assignment-& Logistics Execution-& Assign warehouse number to plant/storage location
可以知道在工厂1000的仓位0088所对应的WAREHOUSE NUMBER = 001
SPRO-& Logistics Execution-& Warehouse Management-& Interfaces-& Inventory Management-& Define Movement Types
双击 Assign WM Movement Type References to IM Movement Types
如果大家熟悉MM的MOVEMEN TYPE的话,这个画面应该是很容易明白
当我们采购订单收货时,对应一个 Reference movement type WM: 101
注意,这只是叫REFERENCE MOVEMENT TYPE,不是MOVEMENT TYPE
再回到刚才画面,双击 LE-WM Interface to Inventory Management
画面中的1:WhN: 即WAREHOUSE NUMBER,如果你没有单独对某个WAREHOUSE NUMBER做过设定的话,则用***代替
画面中的2:REFERENCE MOVEMENT TYPE: 即刚才在Assign WM Movement Type References to IM Movement Types画面中的101
画面中的3:WM的移动类型,101
画面中的4:Indicator: Creation/Cancellation of a Transfer Requirement (即建立或取消TR的标记) X表示当你建立MATERIAL DOCUMANT后,会自动产生TR,这就是我们在MB03中所看到的TR NUMBER:306产生的原因
通过这两个配置,你可以知道以下两个信息
WAREHOUSE NUMBER = 001
WM MOVEMENT TYPE = 101
SPRO-& Logistics Execution-& Warehouse Management-& Activities-& Transfers-& Define Movement Types
找到001,101,双击看DETAIL
暂时只看图片中的1,2,3吧。
图片中的1:SRC的CATEGORY 表示,当我们做WM 的此MOVEMENT TYPE的时候,是放到此STORAGE TYPE中
图片中的2:如果选中就表示是动态产生BIN,但如何动态呢,就根据图片中的3的设定决定
图片中的3:Requirement type中的值是B 即采购订单
图片的1,2,3整体解释就是,此货物放到STORAGE TYPE:902中,并且BIN是动态产生,并且BIN号码是等于采购订单号码。
通过这里,我想你应该明白了MB03中那个玩意的来源了吧。
想想,再想想,好像也不难哦。
对,入门确实不对,不过要想深入,我们未来继续探讨WM吧。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:63491次
排名:千里之外
原创:28篇
转载:35篇
(1)(2)(1)(1)(2)(3)(1)(5)(1)(5)(3)(3)(1)(2)(1)(1)(3)(2)(3)(3)(2)(1)(3)(1)(3)(2)(3)(4)

我要回帖

更多关于 sap 入库流程 的文章

 

随机推荐