ABAP点滴记录.docx_第1页
ABAP点滴记录.docx_第2页
ABAP点滴记录.docx_第3页
ABAP点滴记录.docx_第4页
ABAP点滴记录.docx_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SAP ABAP 点滴记录 文章分类:JavaEye SAP ABAP 点滴记录 Post By:2009-6-2 11:16:45 * 系统字段篇STRUCT:SYST(2007.09.242007.10.11) * SY-SUBRC:语句执行后的返回值,0表示成功 SY-DATUM:当前服务器日期 SY-UZEIT:当前服务器时间 SY-ULINE:255长度的水平线 SY-VLINE:垂直线 SY-INDEX:循环说执行的次数 SY-TABIX:内表循环的次数 SY-DYNNR:当前Screen号 SY-MANDT:当前登录的Client号 SY-STEPL:返回当前操作的屏幕行号(Table Control) SY-LOOPC:当前表格控件在屏幕中的总行数(Table Control) SY-UCOMM:PAI所出发的功能代码 SY-DYNNR:当前屏幕号 SY-MSGID:Message Class SY-MSGNR:Message Number SY-MSGTY:Message Type SY-MSGV14:Message Variant SY-LINCT:REPROT语句中设定的LINE-COUNT SY-LINSZ:REPROT语句中设定的LINE-SIZE SY-SROWS:当前窗口的列表行数 SY-SCOLS:当前窗口的列表栏目数 SY-PAGNO:当前页的页码 SY-LINNO:当前选定行的行号 SY-COLNO:当前选定列的列号 SY-LSIND:当前列表索引,第一级列表为1 SY-LILLI:选择某行时光标行位置 SY-CUROW:选择某行时光标列位置 * Dynpro篇SE80(2007.09.252007.10.08) * 1. 在PAI中,ok_code需要及时赋值给另外一个变量,并立即clear,随后对新的那个变量来case 2. 屏幕调用 (1) SET SCREEN next_screen_number: 指定当前屏幕的后续屏幕,在PAI中静态指定的后续屏幕将暂时被覆盖 (2) CALL SCREEN screen_number:挂起当前屏幕,进入新的屏幕或事务(即插入新的屏幕流)。 CALL TRANSACTION tcode 在新的屏幕中,通过LEAVE SCREEN TO SCREEN 0即可返回挂起的屏幕序列上 (3) LEAVE SCREEN:未完成当前屏幕控制流就要转入后续屏幕 (4) LEAVE TO SCREEN screen_number:未完成当前屏幕即进入指定的屏幕或事务 LEAVE TO TRANSACTION tcode (5) SET SCREEN 0, LEAVE SCREEN或LEAVE TO SCREEN 0:终止当前屏幕 3. MODULE module_name AT EXIT-COMMAND:只能在PAI中使用,会由于以/E开头或者E型的function而触发(一般就是Back、Exit、Cancel) 4. FIELD field_name MODULE module_name:可以对field执行所指定的module 5. Table Control的数据源如果来自多张表则可以自定义一个work area 6. 要让Table Control能够拥有行选择的能力,可以在导航中指定,需要work area中有一个没有被选择显示的列 * 报表(1)系统报表篇(2007.10.08) * 1. 报表类型:SAP核心系统及定制过程中已经存在的报表 使用ABAP开发的报表 使用其他系统工具(如SQP Query)开发的报表 2. Quick ViewerSQVI:提供形式不固定的Adhoc报表(非日常性的业务报表),是SAP提供给用户的最终系统中的一个简易报表生成工具 (1) 每个系统用户只能定义自己的QuickViews,其他系统用户不能共享该列表。因为它不是SAP传输系统中的一个组件 3. SAP QuerySQ01:较为复杂,涉及到用户组和功能区域。 (1) 开始查询后,SAP系统内部将根据Queryies中定义的列表字段自动生成一个内部程序,该程序读取数据源,处理并输出数据 (2) SAP Query具有管理功能,主要指数据源和用户组的分配,即设定功能区域和用户组,并将功能区域分配给各个用户组。其中功能区域代表查询数据源,即数据库表和其中的字段,往往参照逻辑数据库生成;而一个系统用户如果需要创建Queries,则该用户必须隶属于至少某一个由系统管理员预设定的用户组,并可以使用属于该用户组的功能区域。一个SAP系统用户可以使多个用户组的成员,功能区域和用户组是多对多的关系。Queries总是隶属于特定的用户组中特定的功能区域生成的,因而只有该用户组内部用户才能访问其中的Queries。 如果某用户被分配置多个用户组,则该用户可以在用户组之间切换。因为Queries总是与相应的功能区域相关,所以,如果两个用户组都包含同一个功能区域而且某授权用户同时属于这两个用户组,这该用户可以将其中的Queries从一个用户组拷贝至另外一个用户组。 (3) SAP Query可以生成多种类型的列表: 基本列表:可以为单行或多行,多行的基本类表还可以进行压缩 统计列表、排序列表:要求列表中至少包含一个数值字段,且数据行数可能被压缩 局部列表:一个Query中包含多个局部列表,而在打印过程中可以单独打印 (4) 不能有用户提供执行设计生成交互式列表,但在列表过程中提供一些标准的交互功能:如将生成列表传递至系统内部或外部的其他工具(Excel、ABC Analysis等),并以图形的形式或者以交互表格的形式显示列表。 4. Quick Viewer和SAP Query的区别 (1) SAP Query可以创建基本、统计和排序等格式的列表;而QuckViewer只能创建基本列表,不包含统计、排序等交互性 (2) SAP Query可以被多个用户共享,需要进行用户组和功能区域的设置,并可以在系统间传输;而QuickViewer是具有用户相关性的 * 报表(2)报表设计概述篇(2007.10.10) * 1. 报表事件: INITIALIZATION:程序初始化,类似于C#中的窗体构造函数 START-OF-SELECTION:选择开始事件(默认事件),在选择屏幕的处理结束后触发 END-OF-SELECTION:选择结束事件,在所有逻辑数据库处理结束后触发,一般用于输出列表 2. 选择屏幕事件(在INITIALIZATION和START-OF-SELECTION之间触发): AT SELECTION-SCREEN OUTPUT:选择屏幕的PBO事件 AT SELECTION-SCREEN . :选择屏幕的PAI事件,有多个附加项 3. 逻辑数据库事件(在START-OF-SELECTION事件结束以后触发,用于选择并整理数据): GET node . 选择逻辑数据库中当前级别数据中的数据 GET node LATE 选择逻辑数据库中上一级别数据源中的数据 4. 列表事件(在所有报表过程事件和选择屏幕事件结束之后,开始触发列表事件) TOP-OF-PAGE:页眉,每个新页面开始时触发 END-OF-PAGE:页脚,当前页面结束前触发 AT-LINE-COMMAND:行选择控制,当用户选择某列表行时触发 AT-USER-COMMAND:用户交互控制 5. 一般报表的触发过程: (1) 1型程序开始时,LOAD-OF-PROGRAM触发,运行时环境将为该程序在应用服务器中分配程序上下文以及相关内存区域存储内表数据对象,接下来的程序流程将由ABAP运行时环境控制(ABAP处理器) (2) INITIALIZATION事件触发 (3) 如果有选择屏幕,则在每次屏幕输出之前触发AT SELECTION-SCREEN OUTPUT,运行时环境将选择屏幕发送至显示服务器 如果用户在选择屏幕中输入某些值后执行某些功能,系统将触发AT SELECTION-SCREEN事件,为用户提示消息信息等。 整个过程由屏幕处理器和ABAP处理器交互处理,系统自动在其中进行切换 (4) 当用户按下Execute按钮后,系统回收对程序的控制,触发START-OF-SELECTION (5) 如果有逻辑数据库,则触发GET和GET LATE。 (6) 最后将触发END-OF-SELECTION事件,此后系统运行时环境将控制交给显示服务器 (7) 列表输出过程中将触发TOP-OF-PAGE和END-OF-PAGE。当用户点击Back返回选择屏幕时,LOAD-OF-PROGRAM和INITIALIZATION不会触发 (8) 如果列表存在交互事件,则会在满足交互条件的时候触发。 6. 事件块的终止(以下语句除STOP外若存在于循环中,则仅跳出该循环) (1) STOP. 终止当前事件块并跳转至END-OF-SELECTION;若在END-OF-SELECTION中有STOP则直接退出。 (2) EXIT. 离开所有事件块并转到列表输出页面(即EXIT之前已经被输出的内容) (3) CHECK. 如果CHECK条件为假,则转到下一个事件块 * 报表(3)选择屏幕篇(2007.10.10) * 1. 屏幕参数 (1) INITIALIZATION事件处理之后,屏幕布局将被发送至显示服务器,初始化的值将被传送至同名字段 (2) PARAMETERS name TYPE|LIKE type|dobj 参数变量长度不超过8个字符 参数格式: DEFAULT value:默认值,INITIALIZATION事件前填充,因此只有在此事件前已经确定的值才能作为默认值 OBLIGATORY:设置为必须项 LOW CASE:将参数设置为小写进行传递 VISIBLE LENGTH len:设置可见显示长度,但可以输入超过所显示的长度的值 MATCHCODE OBJECT s_help:分配查询帮助。s_help必须在数据字典中已经定义 VALUE CHECK:值检查。检查用户输入值是否符合该字段的约束表(Check Table,一定要有)。 NO-DISPLAY:隐藏显示。在SUBMIT调用过程中,可以通过该字段传递参数或在自定义选择屏幕被调用之前,对该字段赋值。但该字段已经不是屏幕字段,即使使用MODIFY SCREEN修改其属性,也不能在屏幕中显示 MODIF ID key: MEMORY ID pid:使用内存默认值。从SAP内存(用户相关的共有内存)中给参数字段分配默认值,SPA/GPA参数是SAP将屏幕元素填充初始数据的一种通用基本技术。其中pid是公用的SAP内存ID,最多20字节,可以使用SET/GET来设定和读取 AS CHECKBOX:复选框。不可使用附加选项TYPE和LIKE,参数是长度为1的C类型,值为X(选中)或 (未选中) RADIOBUTTON GROUP radi:单选按钮组,参数是长度为1的C类型,radi组名长度最大为4 (3) SELECT-OPTIONS seltab FOR f 变量格式为ABBC(*)D(*) A:长度为1的C类型的SIGN字段,值为I(Include)或者E(Exclude) B:长度为2的C类型的OPTION字段,如果没有HIGH字段,值为EQ、NE、GT、LE、LT、CP和NP,后两者只有使用了通配符(*,+)才有效;如果有HIGH字段,则可使用BT(BETWEEN)和NB(NOT BETWEEN) C:F类型的LOW字段,定义下界 D:F类型的HIGH字段,定义上界 参数格式:除PARAMETER的参数外,还有一些其他的参数 NO-EXTENSION:限定单行数据,移除多选按钮 NO INTERVALS:单值选择,但用户仍然可以通过多选按钮来选择多值 DEFAULT g TO h OPTION op SIGN s:设定默认值,但只可指定一次 (4) 其他屏幕元素 SELECTION-SCREEN SKIP n:空n行(0n10) SELECTION-SCREEN ULINE /pos(len) MODIF ID key:给一行或行中的一部分加下划线。pos可以使用POS_LOW和POS_HIGH这两个系统常量之一,分别代表SELECT-OPTIONS语句的from和to在屏幕上的位置,最后一个选项把下划线分配给某个修改组key,该修改组可以用在AT SELECTION-SCREEN OUTPUT事件中用于修改屏幕属性。 SELECTION-SCREEN COMMENT/pos(len) comm FOR FIELD f MODIF ID key:comm不需要声明,但需要在AT SELECTION-SCREEN OUTPUT中指定其中的值;如果使用了FOR FIELD f,这用户在该元素f的注释上请求帮助(F1)时,系统会显示字段 f的帮助文本。 (5) 组合选择屏幕元素(暂略,P277,屏幕块、位置等) 2. 屏幕事件 (1) AT SELECTION-SCREEN OUTPUT:选择屏幕PBO事件,每次选择屏幕被调用之前触发,每次屏幕调用都会执行 (2) AT SELECTION-SCREEN:选择屏幕PAI事件,检查用户数据正确性和全部字段一致性,发生错误所有元素可重新输入 (3) AT SELECTION-SCREEN ON field:针对某字段的PAI事件。若发生错误,该字段可重新输入,其他元素成灰色 (4) AT SELECTION-SCREEN ON BLOCK block:针对某元素区域的PAI事件。域内任一元素发生错误,重新输入域内所有元素,域外元素成灰色 (5) AT SELECTION-SCREEN ON RADIOBUTTON GROUP radi:单选按钮整体检查,不可单独使用ON field (6) AT SELECTION-SCREEN ON END OF seltab:使用多行选择对话框时触发,ON seltab用于用户逐行输入后的检查,而ON END OF seltab用于整个表输入结束后各行的检查。 (7) AT SELECTION-SCREEN ON HELP|VALUE-REQUEST FOR field:POH和POV事件,定义F1和F4 3. 屏幕的PAI事件如果没有发生任何错误,将执行后续事件,如F8、打印、保存变量等。 * 报表(4)标准列表篇(2007.10.11) * 1. 输出语句:WRITE AT /pos(len) f . 2. 输出符号:WRITE some_name AS SYMBOL | ICON | LINE | CHECKBOX. 之前需要使用INCLUDE 或者INCLUDE INCLUDE 3. 查找Symbol或Icon:patter-write-F4(symbol或icon) 4. 线: ULINE AT /pos(len). WRITE AT /pos(len) SY-ULINE. WRITE AT /pos(len) -. WRITE AT / SY-VLINE. WRITE AT / |. 5. 空行: SKIP n. SET BLANK LINES ON|OFF. WRITE / . 6. 输出位置:(暂略,P291) 7. 输出格式:(暂略,颜色等,P291) 8. 页面格式:(暂略,标题、页面长宽、页眉页脚、固定栏、跳行等,P292) * 报表(5)交互式列表篇(2007.10.11) * 1. TOP-OF-PAGE | END-OF-PAGE DURING LINE-SELECTION. 列表被选择时输出页眉和页脚 2. AT LINE-SELECTION和AT USER-COMMAND 3. 不能再次级列表中使用GET或GET.LATE这样的其他事件块 4. HIDE f. 被选中的行将被存储至全局区域(hide area),可以通过对Hide区域的检查来判断用户时候选择了正确的行。 * 报表(6)保存篇(2007.10.11) * 1. 在报表输出屏幕,依次List-Save-Office | Reprot tree | File . 也可通过System-List-Save在任何位置进行列表保存 2. 列表可以保存在SAPoffice、工作菜单、本机 3. 文件保存格式 Unconverted:ASCII文档 Spreadsheet:MS Excel文档 Rich Text Format:RTF文档 HTML:网页文档 * 报表(7)格式化报表基本概念篇(2007.10.15) * 1. 格式化报表基本步骤: (1) 通过SAP的格式生成工具定义Form格式 (2) 创建ABAP程序负责整理输出过程中所需数据,该程序称为数据提取程序 (3) 在程序内调用定义好的格式,产生具体文本内容。如果需要打印的数据集不止一份,该调用可以循环进行,实现批量输出;或者以内表的形式Form接口直接传递批量数据,通过例如发送给许多客户相同格式但不同数据信息的订单 (4) 将每一分文档通过Form的格式化功能一特定形式打印输出。 2. 页面是窗口的画板,窗口是具体文字的容器,具体的数据及文本应放置于窗口中,而不能直接在页面中输出。每个版式都包括一个起始页面及其任一数量的后续页面,版式的不同页面中包含不同的输出区域,即页面窗口 3. 窗口是格式化文档中文本和数据的输出区域,有主窗口和子窗口两种类型。一个定义好的窗口不隶属于某页面,因而可以放在格式文档的任意页中。每一个格式文档中均含有一个主窗口,即正文数据的主要输出窗口,该窗口如果需要的文本过多,当前页面无法容纳,其他文本将在后续页面中输出,也会自动触发分页符。 并非每一个页面都需要包含该窗口 每一个格式文档中只能含有一个主窗口 所有页面中的主窗口必须具有相同的宽度,但高度可以不同 一个不包含主窗口的页面不可以调用其本身作为后续页面,因为这将触发无限循环,在这种情况下,系统将在处理三页后自动结束。 在除主窗口外的其他窗口中,数据和文本在预设定好的区域内输出,如果将这些窗口放置在多个页面中,其显示的内容是相同的。如果数据或文本内容超出了窗口区域,则将被截断而无法全部显示 5. 文本和数据是窗口输出的具体内容,定位在页窗口中进行显示。 如果输出内容在设计Form时已经可以确定,这可直接在Form中输入文字 如果输出数据只能在运行时确定,则需要使用符号作为占位符等方式现在格式中进行说明,应用格式调用时用从程序传递进来的实际数据信息进行替代。 6. 段落字符体例,类似于网页设计中的CSS,可以标准化该段落和相关字体,应用于所有类似格式的不同页面。 段落格式控制整个段落,每一段文本内容都必须属于某个段落格式。整个Form应该有一个默认的段落格式 字符格式控制段落中具体文字的字体和字号等性质,字符格式不能控制整个段落,但是可以用于格式化段落内部的具体文本块。 * 报表(8)SAPscript篇SE71、SE72、SO10(2007.10.112007.10.11) * 1. SAPscript是SP开发的文字处理系统,由五大部件构成: 一个以行为单位的文本编辑器。在格式创建过程中,如果需要给某个页窗口添加文本,则系统将自动进入该编辑器 打印布局中的体例和格式设定 一个作为中心输出处理模块的设计器。用于准备文本向打印装置输出,并同时格式化信息应用于文本,这些信息来自Styles和Forms工具中的设定。该设计器位于系统内部,用户不可见。 程序接口,将SAPscript组件与SAP应用程序整合,并在程序中对格式输出进行进一步的控制 一些存储文本、体例和格式的数据库表 2. 在元素的创建过程中,应该按照从基本元素到复杂元素逐步进行,即设定字体和段落-窗口-将窗口添加到页面。 3. 字符格式命名规则: 字符格式名称最多只能包含两个字符 首字母必须是字幕,第二个字符可为字幕、数字或空格,不能为其他特殊符号 * 报表(9)Smart Forms篇SMARTFORMS(2007.10.112007.10.11) * 1. Smart Forms与SAPscript类似,其输出媒介可以是Internet页、打印机、传真或e-mail等。还附带了核心的商业处理过程等(P399) 2. Smart Forms与SAPscript存在接口,可以在Smart Forms中引用SAPscript也可以进行格式转换。设计过程包括版面逻辑和逻辑设计两部分。相比SAPscript,Smart Forms新特征: 允许使用简易的图形化工具对格式和格式逻辑进行修改 具有相当完整的流程控制机制,因此应用数据的提取和格式的逻辑处理是相对独立的。Form激活时,将生成一个功能模块,在运行期间,程序通过该模块的参数接口调用格式,并传递输出的数据。 设计可以通过图形化的工具进行,而且其输出逻辑通过一个属性体系结构显示。 系统在处理Form过程中提供创建XML输出的功能,从而实现了Web publishing 可以插入静态或动态表格,表格功能包括循环读取单元内容、触发标题行和总计时间以及数据排序等功能 可以检查某个节点或者整个Form时候存在错误;数据流程分析功能检查所有的字段在输出时是否已经有确定的值 可以在Form的输出文档中加入背景图片 提供标准的国家相关的邮政地址输出功能 3. Smart Forms格式化并输出步骤: (1) 提取应用数据 (2) 应以Form格式及相关数据接口 (3) 将数据传递到Form中,并批量输出 4. 一个Form需要定义一或多个页面以及一个处理从程序中传递过来的数据接口,每个页面中可以包含窗口、标准地址和图片等。(P428) * 后台处理篇SM36、37(2007.10.11) * 1. 后台处理中,R/3可以自动运行1类型的报表程序(自定义屏幕除外)或外部程序。 2. 后台处理步骤: (1) 用户通过规划后台处理系统中的作业,通知R/3系统所需要进行的工作。设定事件、程序、变式、打印等。 (2) 到达指定时间后,后台处理系统将启动作业并运行指定的程序 (3) 稍后,用户可以检查工作是否完成,显示跟踪该作业执行的日志,查看后台作业的状态。 3. 优点: (1) 可实现并行,不影响用户操作 (2) 可定期自动重复作业,节省人力 (3) 晚上执行可降低系统负载 4. 在ABAP中提交作业,将列表发送至Spool(假脱机)系统 (1) 通过功能模块JOB_SUBMIT将程序直接发送至后台 (2) 使用SUBMIT语句中的VIA JOB附加项,WITH附加项则可以提交选择屏幕参数或USING SELECTION-SET可指定变式,同时,必须指定AND RETURN选项 SUBMIT rep . USER user VIA JOB job NUMBER n . WITH p1 = f1. | USING SELECTION-SET vari . AND RETURN 5. 已经规划的作业在释放之前不能运行。 6. 显示作业状态SM37 * 打印篇(2007.10.11) * 1. 只有通过WRITE语句生成的列表才能够被SAP的Spool系统进行打印,ALV打印时也会被转换成传统列表 2. (具体的打印配置见P319320) 3. 程序控制打印请求设定, (1)下列语句将生成的列表直接发送到Spool系统进行打印处理,并不在屏幕上显示 NEW-PAGE PRINT ON NEW-SECTION params | PARAMETERS pripar ARCHIVE PARAMETERS arcpar NO DIALOG. PARAMETERS:参数变量,需符合PRI_PARAMS数据字典 ARCHIVE PARAMETERS:参数变量,需符合ARC_PARAMS数据字典,只有列表被存储于SAP ArchiveLink时才能使用 (可使用GET_PRINT_PARAMETERS功能模块来设定上述参数) NO DIALOG:不显示打印机配置画面 (2) 下列语句取消对Spool的输出,重新在屏幕上输出页面 NEW-PAGE PRINT OFF 4. 检查打印状态(System-Service-Output Controller) 输出控制器用来检查输出请求 发送输出请求时没有标记Output Immediately字段,则输出控制器重新发出答应请求之前,系统不会将输出请求发送到打印机 检查输出请求的状态,查看是否已经打印 * Message篇SE91(2007.10.08) * 1. SAP消息存放于T100表中,包含SPRSL(语言代码)、ARBGB(消息类)、MSGNR(三位的消息序号)、TEXT(文本,最长72个字符) 2. 消息格式: (1) MESSAGE num(id). 若REPORT rep MESSAGE-ID id已经指定了消息类,则message可以省略id项; (2) MESSAGE ID id TYPE c NUMBER num WITH f1 . f4. (3) MESSAGE . WITH f1 . f4. INTO msgtext 和 DISPLAY LIKE c选项对于以上3个都有效 (4) MESSAGE msgtext TYPE c RAISING exception 对于以上4个都有效,只可用于function或者method中 3. 消息变量 SY-MSGID 消息类 SY-MSGNR 消息号 SY-MSGTY 消息类型 SY-MSGV1 . SY-MSGV4 消息参数 4. 消息类型 PBO PAI (1) I 型:与S型一致 弹出对话框,关闭后继续 (2) S 型:同PAI 在状态栏显示消息,并同时执行后续语句 (3) E 型:程序中止并显示对话框 当前屏幕被终止,并再次跳过PBO被输出 确认后退出 只有在FIELD和CHAIN语句中的字段可以被重新输入 (4) W型:程序不被终止,类似S型 不退出该消息屏幕,确认该消息屏幕后系统执行消息语句后的代码 (5) A 型:同PAI 以对话框形式出现,确认后程序中止,回到调用点 (6) X 型:同PAI 消息不显示,以short dump(运行时错误)形式中止,基本不用 * 逻辑数据库(LDB)篇SE36(2007.10.102007.10.11) * 1. 除去OPEN SQL和NATIVE SQL,LDB提供了第三种方法来从数据库提取数据。注:LDB不是用来存储数据的数据库,仅仅是一种方式。 2. 同传统的SQL读取相比,优点: (1) 预设定的选择屏幕(这有什么用?) (2) 在使用逻辑数据库的程序中,开发人员可以忽略具体的数据表之间通过外部关键字设定的关系,而是使用GET事件按照节点层次逐级获取数据 (3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论