Idoc学习笔记

05 SAP ABAP, SAP 相关技术 1 Comment »

今天又学习了一下Idoc的知识,包括Idoc的概念、开发、配置和管理。
Concept
EDI:公司之间的电子数据交换。
ALE:公司之内不同系统之间的数据交换。
IDOC:基本上就是EDI的一种实现形式,用于SAP。     

  1. Control record, data record, status record
  2. Outbound and inbound
  3. Sender and receiver
  4. Partner(协议) and port(发送的形式eg:File, RFC,XML)
  5. Status

IDoc Development
Message type WE81, identifies type of data : MATMAS (material master)

Idoc type WE30, indicates the SAP format of the data : MATMAS05 ( 05-version)

Segment WE31, structures used to define data: E1MARAM (material master general data)
Link message type with basic type WE82

Outbound – outbound process code/outbound function module WE41, only for application outbound

Inbound – inbound process code/inbound function module WE42

Link inbound function module to message type and Idoc type WE57
Mtn. inbound function module attribute BD51

IDoc Configuration
General:           RFC destination SM59, 定义 transactional RFC port destination

                        Logical System BD54,定义LS partner type

                        Partner Profile WE20, 用于定义数据交换的参数

                        Port WE21,用于定义各类port

For Master data outb : distribution model BD64

For Application data outb :outb process code WE41
                                                           Condition type NACE
Demo: 1)master data outbound and inbound
从IDES 800 发到 IDES 810:      
            1. develop idoc type in 800
            2. config destination LS/port/partner profile in 800
            3 config LS/partnerprofile in 810
            4. test with BD10
            5. check with WE02

Demo: 2) purchase order output to file
            1. use standard message type ORDERS,idoc type orders05,define process code(WE41)ME10
            2.config port, LS, partner profile; for application only : process code and condition type
            3. configure condition type(同义:message type, output type) : NACE 1output type 2procedure
            4.test with create PO
            5.check with WE02 , AL11 check directory

IDoc administration
Transactions:
WEDI: Area Menu

WE02/WE05: display Idoc

BD87: Monitor/process Idoc message

WE19: Test/Reprocess Idoc

Program:

RSNAST00: create idoc for message(application data)

RSEOUT00: process all selected Idocs (EDI)

RBDAPP01: Inbound Processing of Idocs ready for transfer
Tips:

Tables:  EDIDC(control record : idoc)

                        EDID4: Idoc records from 4.0 onwards

                        EDIDS: status record

                        NAST: Message record (application data)

Function modules:

                        IDOC_WRITE_AND_START_INBOUND: create Idoc and process Idoc

                        MASTER_IDOC_DISTRIBUTE: create outbound Idoc

Overview of functional tables

05 SAP ABAP, SAP 相关技术 No Comments »

Entities

Accounting
Accounting documents
Bill Of Material
Capacity planning
Classification
Classification class types, classifiable objects
Classification characteristics
Configurator
Cost elements centers and activities
Customer
Equipment
Equipment status system status / user status
Function location and reference function location
General ledger accounts
Goods movement
Inventory document
Maintenance Order PM order
Material
Material document
Notifications
Orders Purchase orders
Personel
Production resource tools PRTs
Project
Purchase Requisition
Purchasing document
Purchasing Info record
Reservation
Sales document Invoice, delivery, partners, contacts
Sales requirements
Storage locations and stocks
Tasklist General ~, function location ~ or equipment ~
Transfer requirement
User data
Vendor master
Warehouse Management transfer

If the information above is not sufficient, this bit could be interesting to you:

The search for functional tables

Table overview

Accounting BSAD Accounting: Secondary index for customers (cleared items)
BSID Accounting: Secondary index for customers
BSIW Index table for customer bills of exchange used
BSIX Index table for customer bills of exchange used
BSAK Accounting: Secondary index for vendors (cleared items)
BSIK Accounting: Secondary index for vendors
BSIP Index for vendor validation of double documents
BSAS Accounting: Secondary index for G/L accounts (cleared items)
Logical databases: -
Accounting documents BKPF Accounting document header
BSEG Accounting document segment
BSET Tax data document segment
BSEC One-time account data document segment
Logical databases: BRM
Bill Of Material MAST Material to BOM Link
EQST Equipment to BOM Link
STAS BOMs header
STKO BOM header
STPN BOM follow-Up control
STPO BOM item
STPU BOM sub-item
STST Standard BOM link
STVB Bills of material – Serialization of posting
STZU Permanent BOM data
Logical databases: -
Bill Of Material KBED Capacity requirements record
Logical databases: POH
Classification CABS Result of the Statistical Analysis of Table AUSP
CUFM Customizing: Class/Config: Screendesigner Form
TCME Validity for Global Characteristics
KLAH Class Header Data
KLAT Classes: long texts
KSML Characteristics of a Class
AUSP Characteristic values
SWOR Classification System: Catchwords
KSSK Allocation Table: Object to Class
TCLG Class groups
TCLO Key Fields of Objects
TCLS Classes: Organizational areas
TCLST Classes: Org. Areas (Texts)
TCLU Class Status
COCC PP-PI attributes for characteristics
COFV Process management – process instr. charact. in ctrl. recipe
COME Process management – message characteristics
CORE Process mgmt.- display characteristics of the eval. version
PLFV PI Characteristics/Sub-Operation Parameter Values
Logical databases: -
Matchcodes: CLAS, MERK en KLSW
Classification TCLA Class Types
TCLAT Class Type Texts
TCLT Classifiable Objects
LTCLTT Classifiable Objects: Texts
Logical databases: -
Classification characteristics CABN Characteristic
CAWN Characteristic values
Logical databases: -
Configurator CUCO Additional Data for Configurable Objects
CUCVRNT Variants of Constraints
CUEX Dependency Storage – Compilation
CUFM Customizing: Class/Config: Screendesigner Form
CUKB Administrative Information for Dependency Maintenance
CUKBT Text Table for Dependency Maintenance Admin. Information
CUKN Dependency Storage – Variants/Configuration
CUOB Link between Object and Dependency
CUPE Extension to BOM Item for Variants
CURSADD Dependency Net Additional Data
CUVT Variant Table
CUXREF Object Dependency Cross References
Logical databases: -
Cost elements, centers, activities CSKA Cost elements (data dependent on chart of accounts)
CSKB Cost elements (data dependent on controlling area)
CSKS Cost center master
CSKT Cost center texts
CSKU Cost element texts
CSLA Activity master
CSLT Activity type texts
CSSK Cost center /cost element
CSSL Cost center / activity
Logical databases: -
Customer KNA1 General Data in Customer Master
KNAS Customer master (VAT registration numbers general section)
KNB1 Customer master (company code)
KNB4 Customer payment history
KNB5 Customer master (dunning data) (aanmaangegevens)
KNBK Customer master (bank details)
KNC1 Customer master (transaction figures)
KNC3 Customer master (special G/L transaction figures)
KNKA Customer master credit management: Central data
KNKK Customer master credit management: Control area data
KNMT Customer-Material Info Record Data Table
KNMTK Customer-Material Info Record Header Table
KNVA Customer Master Loading Points
KNVD Customer master record sales request form
KNVI Customer Master Tax Indicator
KNVK Customer Master Contact Partner
KNVL Customer Master Licenses
KNVP Customer Master Partner Functions
KNVS Customer Master Shipping Data
KNVT Customer Master Record Texts for Sales
KNVV Customer Master Sales Data
Logical databases: DDF
Equipment EQUI Equipment master data
EQKT Equipment short texts
EQUZ Equipment time segment
EAPL Allocation of Task Lists to Pieces of Equipment
Logical databases: EQI
Equipment status EQUI Equipment master data
JSTO Status object information
JEST Object status
TJ30 User status
TJ30T Texts for user status
TJ02 System status
TJ02T Texts for system status
Logical databases: -
Function location IFLOT Functional Location (Table)
IFLOTX Functional location: short texts
IRLOTX Reference functional location: short texts
TAPL Allocation of task lists to functional locations
Customizing tables
T370R Reference functional location category
Logical databases: -
General ledger accounts SKA1 G/L accounts master (chart of accounts)
SKAS G/L account master (chart of accounts: key word list)
SKAT G/L account master record (chart of accounts: description)
SKB1 G/L account master (company code)
SKM1 Sample G/L accounts
SKMT Sample account names
SKPF Header Data: Inventory Sampling
Logical databases: -
Goods movement AUFM Goods movements for order
AFFW Goods movements with errors from confirmations
SER03 Doc.header f.serial numbers for goods movements
Customizing
T440C Planning file entries for goods movements
Logical databases: -
Inventory document IKPF Header: Physical Inventory Document
ISEG Physical Inventory Document Items
LINK Inventory document header in WM
LINP Inventory document item in WM
LINV Inventory data per quant
Maintenance Order
AFIH Maintenance Order Header
AFKO Order header data PP orders
AFPO Order item (not used much)
AFRU Order completion confirmations
AFVC Operation within an order
AFVV Order position data
CRCO Assignment of work center to cost center
OBJK Plant Maintenance Object List
CRHD Work Center Header
PLAF Planned order
HIKO Order master data history
HIVG PM order history: operations
Logical databases: CNJ
Material MARA Material Master: General Data
MARC Material Master: C Segment
MARD Material Master: Storage Location/Batch Segment
MAKT Material Descriptions
MAPL Allocation of task lists to materials
MARV Material Control Record
MARM Units of Measure
MBEW Material Valuation
MOFF Outstanding Material Master Records
MSTA Material Master Status
MVER Material consumption
MVKE Material Master: Sales Data
MAPR Material Index for Forecast
PROP Forecast parameters
Logical databases: MSM
Material document MKPF Header: Material Document
MSEG Document Segment: Material
BSIM Secondary Index, Documents for Material
Logical databases: -
Notifications QMEL Quality notification
QMIH Quality message – maintenance data excerpt
Logical databases: -
Orders AUFK Order master data
AFKO Order header data PP orders
AFPO Order item
JSTO Status object information
JEST Object status
Logical databases: ODK
Personel PCL5 HR/RP Cluster 5; HR Planning Usage
PREL HR Master Data (Version 3.0: Old Version !)
PTXT Texts for HR Master Data
…. table PREL has been changed to
PA0000 HR Master Record: Infotype 0000 (Events)
PA0001 HR Master Record: Infotype 0001 (Org. Assignment)
PA0002 HR Master Record: Infotype 0002 (Personal Data)
PA0003 HR Master Record: Infotype 0003 (Payroll Status)
PA0004 HR Master Record: Infotype 0004 (Challenge)
PA0005 HR Master Record: Infotype 0005 (Leave Entitlement)
PA0006 HR Master Record: Infotype 0006 (Addresses)
PA0007 HR Master Record: Infotype 0007 (Work Schedule)
PA0008 HR Master Record: Infotype 0008 (Basic Pay)
PA0009 HR Master Record: Infotype 0009 (Bank Details)
PA0010 HR Master Record: Infotype 0010 (Capital Formation)
PA0011 HR Master Record: Infotype 0011 (Ext.Bank Transfers)
PA0012 HR Master Record: Infotype 0012 (Fiscal Data Germany)
PA0013 Infotype Social Insurance – Germany
PA0014 HR Master Record: Infotype 0014 (Recurr. Bens/Deducs)
PA0015 HR Master Record: Infotype 0015 (Additional Payments)
PA0016 HR Master Record: Infotype 0016 (Contract Elements)
… and up to PA00281 and PA0900 is available !
Logical databases: PNP
Production resource tools AFFH PRT assignment data for the work order
CRVD_A Link of PRT to Document
CRVD_B Link of Document to PRT
CRVE_A Assignment PRT data – equipment
CRVE_B Assignment equipment – PRT data
CRVM_A Link of PRT data to a material
CRVS_A Relationship of PRT internal number to PRT external number
CRVS_B Relationship of PRT external number to PRT internal number
Customizing tables:
TCF02 PRT categories
TCF03 Texts for the production resources/tools category
TCF04 Status of the PRT master
TCF05 Language-dependent text table for PRT status
TCF06 Field groups in the PRT master for reference
TCF07 Language-dependent texts for field groups in PRT master
TCF08 Assignment of PRT master fields to field groups
TCF10 PRT control key
TCF11 Language-dependent text table for PRT control keys
TCF12 PRT group key
TCF13 Language-dependent text table for PRT group keys
Logical databases: -
Project PROJ Project definition
PRPS WBS (Work Breakdown Structure) Element Master Data
PRTE Scheduling Data for Project Item
Logical databases: CNJ, PSJ, IMA
Purchase Requisition EBAN Purchase Requisition
EBKN Purchase Requisition Account Assignment
EBUB Index for Stock Transport Requisitions for Material
Logical databases: BAM, BKM, BBM
Purchasing document EKAN Vendor Address: Purchasing Document
EKBE History of Purchasing Document
EKBZ History of Purchasing Document – Delivery Costs
EKET Delivery Schedules
EKKN Account Assignment in Purchasing Document
EKKO Purchasing Document Header
EKPO Purchasing Document Item
EKPB “Material Provided” Item in Purchasing Document
EKPV Shipping-Specific Data on Stock Tfr. for Purch. Doc. Item
Logical databases: -
Purchasing info record EINA Purchasing Info Record – General Data
EINE Purchasing Info Record – Purchasing Organization Data
EIPA Order Price History, Info Record
EIKP Export/import header data
EIPO Export/Import Item Data
KONH Conditions (Header)
KONP Conditions (Item)
KONM Conditions (1 Dimensional Quantity Scales)
KONW Conditions (1 Dimensional Value Scales)
Logical databases: IFM, ILM
Reservation RKPF Document Header: Reservation
RESB Reservation/dependent requirements
Logical databases: RKM, RNM, POH
Sales Document VBAK Header Data
VBAP Item Data
VBAG Release Data by Schedule Line in Sch.Agrmt.
VBUK Header Status and Administrative Data
VBUP Item Status
VBRL SD Document: Invoice List
VBPA partner
VBKD Business Data
VBKA Sales activities
VBEP Schedule Line Data
VBRK Billing: Header Data (invoice)
VBRP Billing: Item Data (invoice)
VBFA Sales Document Flow
LIKP Delivery Header Data
LIPS Delivery: Item data
Logical databases: AAV, AKV, ARV, VFV
Sales requirements VBBE Sales Requirements: Individual Records
VBBS Sales Requirement Totals Record
Logical databases: -
Storage locations and stocks LAGP Storage bins
LEIN Storage unit header records
LQUA Quants
LQUAB Total quant counts for certain strategies
MEIK Make-to-Order Stock for Customer Order
MSCA Sales Orders on Hand with Vendor
MSKA Sales Order Stock
MBPR Stock at Production Storage Bin
MLGN Material Data per Warehouse Number
MLGT Material Data per Storage Type
SLGH Elements of Stock Population
Logical databases: S1L, S2L
Tasklist
PLKO Task list – header
PLAS Task list – selection of operations/activities
PLPO Task list – operation/activity
PLKZ Task list: main header
PLWP Allocation of Maintenance Packages to Task List Operations
PLAB Relationships
PLFH Task list – production resources/tools
PLFL Task list – sequences
PLFT Process instructions
PLFV PI Characteristics/Sub-Operation Parameter Values
PLMZ Allocation of bill of material items to operations (component list)
PLPR Log collector for task lists
MAPL Allocation of task lists to materials
EAPL Allocation of task lists to pieces of equipments
TAPL Allocation of task lists to functional locations
Logical databases: -
Transfer requirement LTBK Transfer requirement header
LTBP Transfer requirement item
Logical databases: R1L, RBL, RUL
User data USR01User master record (run-time data)
USR02 Logon data
USR03 User address data
USR04 User master authorizations
USR05 User Master Parameter ID
USR06 Additional data per user
USR07 Object/values of last failed authorization check
USR08 Table for user menu entries
USR09 Entries for user menus (work areas)
USR10 User master authorization profiles
USR11 User Master Texts for Profiles (USR10)
USR12 User master authorization values
USR13 Short Texts for Authorizations
USR14 Surchargeable language versions per user
USR15 External User Name
USR20 Date of last user master reorganization
USR30 Additional Information for User Menu
USR40 Table for illegal passwords
USR41 User master: Additional data
USRCOBJ Object Filters for Exploding Product Structures
USRM0 Material Master User Settings: User Screen Reference
USRM1 Material Master User Settings: Organizational Levels
USRM2 Material Master User Settings: Logical Screens
USRMM User settings: material master
Vendor master LFA1 General section
LFAS VAT registration numbers general section
LFB1 Company code
LFB5 Dunning data
LFBK Bank details
LFC1 Transaction figures
LFC3 Special G/L transaction figures
LFM1 Record purchasing organization data
Logical databases: KDF
WM transfer LTAK WM transfer order header
LTAP WM transfer order item
LUBU Posting change document
Logical databases: R0L, RTL

ABAP笔记:SAP Table 的类型

05 SAP ABAP, SAP 相关技术 No Comments »

SAP table 有三种类型:transparent, cluster and pool;

1.What is transparent, cluster and pool table? where and when we use these tables?

透明表同时存在于dictionary 和database中, 且具有完全相同的结构,相同的数据与栏位。

Pooled table 是一种逻辑表,在定义它的同时必须要将其分配到 一个 table pool中去。而pooled table则是用来存储control data的。几个pooled table是可以被整合到一个table pool中的。这些pooled table的数据会于同一个database table 中更新。

簇表则是在定义的时候必须要分配到一个table cluster中去的。也是用来存储control data的。他们用来存储临时的数据和文本,例如文档。

2.What’s the major difference between standard tables, Pooled tables and Clustered tables?

透明表是用来直接存储数据的,也即物理的。你可以在系统以外用例如SQL语句来直接读取db的数据。

透明表是一对一的表,例如当你创建一个透明表的同时,完全相同的一个表将会被创建在DB中,主要用于存储交易数据。

而cluster和pooled表是不能从外部访问的,因为其数据都是被聚合和汇集到一个栏位中的。

原因之一是他们的数据于长度和构造上的不同。ABAP于数据库层面的操作亦受限。

但是pool和cluster表是多对一的关系表。这意味着很多的pool表可以被存储到一个table pool中。

所有的pool table于table pool中存储都是不需要foreign key的,但是cluster table是要的。而且这两种table都是用于存储应用数据的。

一个table pool可以包含10到1000个每个可以有10到100笔数据的小的pool table,而cluster table则只可以包含1到10个但超大的cluster table。

对于pool和cluster table,你既可以使用secondary index和select distinct,group,也可以使用native SQL语句。

Structure 是没有数据的table。它只在程式逻辑中需要它的那一刻装入数据。

而View只是一种看待table中内容的方式。它只是改变了table中数据的表现方式而已。你实际调用的仍然是下面的table。

转帖:作为一个ABAP程式开发人员,以后的路怎么走啊?(from百易论坛)

05 SAP ABAP, SAP 相关技术, 摘录及转帖文章, 职业生涯-工作 No Comments »

http://www.100easy.com/dispbbs.asp?boardID=16&ID=18276&page=1(作者:manutdfan)

作为一个ABAP程式开发人员,以后的路怎么走啊?

今天主管开始休假了,难得轻松下来。不经意间想起一个我曾经想过的问题,以后的路怎么走?

想想自己都28了,奔三的人了。现在公司里天天做ABAP程式开发,无聊死了。公司里刚升级到SAP 4.7,上了SD, MM和PP模块,可是分工太细了,我平时只能开发开发程式,SD,MM模块的很多东西都接触不到。编程这个行业永远是年轻人的天下,到了30以后我不会再去做纯粹编程的工作了。兄弟们多讨论讨论我们以后不编程了去做什么比较好啊?

我想学SD或MM模块,毕竟公司的很多资源还是可以充分利用的,别人不教,咱可以自学。不过,应该从何学起啊,怎么学比较快啊?哪儿有比较好的学习资料啊?

请多提建议,我想这可能也是大家已经面临或即将遇到的一个问题,多谢!

magiccxm:

ABAP编程不是没有前途,我比较小了,刚过本命年

ABAP编程不是简单的编程,SAP中最主要的语言,一个是ABAP,一个是JAVA

ABAP以后的路应该往OO方向发展,

还有JAVA方面,中国适应的太少,使用SAP集成的太多,什么ITS,等等,最新的BSP技术,也是以后ABAPER需要了解和掌握的。

开发包括几大部分,最简单的REPORT和DIALOG,还有很多其他的,比如WEB,WORKFLOW,BAPI,以及和其他PC系统的接口。

REPORT最简单的,最重要的,提高代码执行效率。(SD的报表是多多的,表也是大大的,月报表是运行慢慢的,以后发展的路就是提高SD报表运行的效率)

DIALOG不常用的,除非你需要开发自己的一套系统,只是使用SAP平台。

WORKFLOW要和HR相结合的。所以你是需要理解HR的东西的

WEB东西就是更多了,EP只是一个平台,EP不能满足你所有的功能。最新的BSP技术是全新的,中国好象没有几家在用的。

BW是个模块,严格上来说,是不属于ABAPER的范围。

SAP的技术是不断变化的,ABAPER哪个公司是不能少的,但是待遇就差了

我觉得以后的路就是,多多掌握开发技术,并且了解模块的东西,你不会实施,但是你了解。

还有出路就是做第三方接口,也是前途很大

lcr:

大家写了这么多,我也来抛个砖。

单论abap本身来说,就有很多东西可以学。SAP,或者其他的大公司,5年以上abap经验的人很多。

我感觉abap比起其他语言,已经算容易很多的了。而且一个好的abap人员,成长也是需要很多时间的,因此经验多了以后,不一定就竞争不过年轻人。这点可能和其他语言有区别,毕竟sap的环境不多,而且abap和实际企业应用密切相关,不是可以速成的那种。

要提高自身价值,除了技术,更重要的可能是其他的能力。大多数行业,技术水平不一定决定收入水平。如果是在客户方工作的abap人员,这点可能更明显。和客户的交流沟通和说服能力,我认为比技术水平更难得。相似的能力还有外语,对企业的了解等等。举例来说,如果一个abap人员,除了coding水平还可以之外,又懂各个模块的基本流程,了解会计学知识,理解mrp,外语又流利,大家可以想像这样的人是很有竞争力的。

技术方面来说,有了良好的abap基础和经验,可以做功能顾问,或者向bsp,oo,bw等方向发展。如果一时没有良好的机会,abap本身也有很多方面的内容可以学习,例如楼上朋友说得workflow,badi等系统增强。这样看的话会发现report只是很小的一部分。

最后还有个机遇的问题。这个就得看运气了。但愿大家机会多多:)

转帖:我所领略的做报表的三重境界(原作者:lz_0509)from itpub

05 SAP ABAP, SAP 相关技术, 职业生涯-工作 No Comments »

itpub SAP R/3 精华区 http://www.itpub.net/294201.html

FengLiang 转帖

我所领略的做报表的三重境界(作者:lz_0509)

本人去年是ABAP,今年暂时被借用协助做物装。体会最深的是呆写ABAP是永远不行的,这不仅是自身提高有限,而且做出来的内容效率太低。
第一重境界:能够比较熟练的运用ABAP语句以及工具,可以写出精巧的算法。但是对业务理解不要求深刻。因此可以按照业务顾问的要求较好地完成工作。本人记得当初写一张报表需要至少大约一两千行,如果是比较复杂的接口那就更庞大了。对于肯钻研的人来说,这一过程大约半年左右应该能达到的。特点是这一阶段的信心很大。


第二重境界:深刻熟悉业务流程。所谓深刻理解就是不能只停留在表面的浮躁。既能熟练地理解前台的关系,也要能够掌握后台配置的来龙去脉,以及之间的意义。换句话说就是如果立即转行做业务咨询的话,起码在技术上和标准的业务理解上不应该再有障碍。这个过程最累人。得到的回报是做接口可以轻松地运用BAPI,做复杂的报表可以少量借助于信息结构。

第三重境界:做ABAP但已经很少用ABAP。能交给SAP标准业务处理的尽量交给SAP。做报表时可以认真分析各报表的相互关系,特别是要很好地加以分类,这对本人即将提到的核心概念特别有用。好了,本人现在所要说的,其实SAP已经给我们提供了很好的工具,信息结构。我们可以列出一些最具有代表性和最原始的报表,加以分析,客制信息结构,必要的话可以自己写更新规则、更新过程或更新需求。这些信息结构因为直接接受交易数据,因此能得到实时的更新,而且由于不需要从最原始的被打散的数据表中取数累算,速度是很快的。接着我们可以利用信息结构的复制技术和ENHANCE技术对此信息结构进行一些复制(运算规则有区别不要紧,只要有规律就可以;周期小的可以生成周期大的;有不同的列项不要紧,不是有ENHANCE吗;用户习惯不一致以及需求有偏差不要紧,不是可以setting吗)。你说还有什么东西无法办到的?甚至可以在其基础上做预警系统(对这点由于本人水平有限,不敢乱分析)。这是SAP的精华啊!!!

最后的话:SAP博大精深,本人也不过井底之蛙而已。但我认为具体的技术是可以学会的。随着时间推移,真正管用的还是方法。不知道各位是如何研究的,欢迎交流心得

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS 登录