




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深入浅出Oracle EBS 11i深入浅出Oracle EBS 11iE-Business SuiteXX100 应用技术OAF开发入门Author:颜怀均Creation Date:February 6, 2006Last Updated:February 6, 2006Document Ref: Version:DRAFT 1AApprovals: Copy Number_Document ControlChange Record38DateAuthorVersionChange Reference6-Feb-06Huaijun.YanDraft 1aNo Previous DocumentReviewersNamePositionDistributionCopy No.NameLocation1Library MasterProject Library2Project Manager34Note To Holders:If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.ContentsDocument Control21.概述41.1.总体说明41.2.环境配置41.3.OAF结构和组件概述62.一个简单的主从视图查询例子102.1.初步设计102.2.建立项目102.3.创建业务组件包122.4.建立应用模板(Application Module)132.5.创建VO视图对象142.6.创建OAF页面183其他有用的Topics224系统中挂OAF244.1 将开发的程序FTP到服务器244.2 将OA组件定义导入到元数据库中MDS254.3 挂接26Open Issues28Closed Issues281. 概述1.1. 总体说明OAF是Oracle Applications Framework的简称,目前主要应用于供应商门户网页的开发。它的开发工具是Jdeveloper,以Java作为其主体开发语言。适用用户:供应商和内部用户。供应商:通过Internet直接以Web的方式访问Oracle EBS,实时方便。内部用户:没有格式要求的监控查询,还可以将查询结果导入到Excel中任意的编辑。1.2. 环境配置软件准备从Metalink上下载Path:p4045639。这就是Jdeveloper的打包文件,直接将其解压到硬盘目录下即可(如C:),无需安装。解压后,将产生的文件夹的名称改为自己能识别的即可,如:JdevOAExtension11.5.10。安装配置安装配置的步骤比较多,请参考Arone Zhang的OA_Framework_Development_Setup文档,里面有详细的步骤说明,这里就不赘述了。这些配置步骤是为了引入标准的一些例子,以便练习。实际开发中只需简单设置如下:1、 将$JDEV_HOMEjdevbinjdevbin目录下的jdevw.exe的快捷方式发送到桌面;2、 在$JDEV_HOMEjdevhome下新建文件夹jdev_gz(根据需要命名,这样做的目的是将各个项目的源文件分开管理);3、 在新建的文件夹jdev_gz下新建文件夹结构:dbc_filessecure,并将从服务器的$FND_TOPsecure目录下载下的dbc文件放到此目录下;注意:a、如果dbc文件的数据库连接字段有反斜杠的需将反斜杠去除! b、dbc文件一定要放在名字为secure的文件夹下!4、 右键“我的电脑”选中“高级”tab页点击“环境变量” 在用户变量中点击“新建”,在弹出框中设置如下:属性值变量名JDEV_USER_HOME变量值C:JdevOAExtension11.5.10jdevhomejdev_gz最后双击jdev图标启动就ok了。数据库连接配置双击jdevw.exe启动后,点开左边导航栏的Connections,右击其下的Database,选择New Connection,出现如下的欢迎界面 (图1.1)点击“下一步”,出现以下界面: (图1.2)将默认的Connection1改为熟悉的标志,如test,Connection Type就选默认的JDBC驱动。然后点击“下一步”,界面如下:(图1.3)输入用户名和密码,勾选Deploy Password,点击“下一步”,界面如下: (图1.4)Driver类型选择默认的thin,输入主机名、端口号和SID。这样就配置完成了,进入下一步后点击“test”,应该就会如愿以偿的看到“success”字样。至此,配置完成。1.3. OAF结构和组件概述整体结构OAF的整体结构如下图: (图1.5)其中(1)是根目录。OAF中组件较多,一定要遵从命名规范,才可以方便的进行开发和维护。下面分别对这些组件进行说明。OA Workspace这是一个OAF项目的开发目录,见图1.5中的(2)。所有用到的组件都在其逻辑结构下。OA Project见图1.5中的(3)。它下属于OA Workspace。Business Components Package这是OAF中的实物组件包,如图中的(4)所示。这儿有三个包:oracle.apps.ak.lov.serveroracle.apps.ak.schema.serveroracle.apps.ak.wydeliverybillstatus.server其中oracle.apps.ak.lov.server是值列表所在的包,这里面包含了所有值列表页面、值列表VO视图、值列表AM应用模板、值列表java控制文件。它的文件夹位置就在ak目录下,创建于你的第一个OAF项目。在以后的OAF项目中要用到值列表时只需import导入此值列表的包就行,无需再次建立值列表包。oracle.apps.ak.schema.server是实体对象EO(图中的(5)和实体联系对象AO(图中的(6)所在的包,它同值列表包一样,位置在ak目录下,创建于第一个项目,以后只需引入就可以了。它和值列表里面的组件是所有项目可以共用的。oracle.apps.ak.wydeliverybillstatus.server就是你本个项目的私有组件所在的包了,它包含这个项目的AM应用模板(图中(9)、VO视图对象(图中的(7)和VL(VIEW LINK)视图联系对象(图中的(8)。Entity Object(以下简称EO)EO是OAF的实体对象(图中的(5),它是基于数据库中的表、视图和同义词这些基本对象的。一个EO对应一个基本对象(就如同FORM中的BLOCK一样)。OAF中的操作对象是EO,而不是直接面向数据库中的表或视图。建立的实体对象都以*EO命名。Association(以下简称AO)AO是OAF中的实体联系对象,它将两个EO联系起来。例如PoHeaderEO是基于表PO_HEADERS_ALL建立的实体对象,PoLineEO是基于表PO_LINES_ALL建立的实体对象,那么就可以建立一个PoHeaderToLineAO将二者联系起来,关系栏位就是po_header_id。这样做是为以后建立基于PoHeaderEO和PoLineEO的VO视图对象做准备的。View Object (以下简称VO)VO是OAF中的视图对象(图中的(7)。OAF中的所有数据都来自视图对象。视图对象主要分两种:基于EO实体对象的、基于SQL查询的。基于EO实体对象的VO主要应用于需要对VO中的数据进行查询、新增、修改和删除操作的情况。基于SQL查询的VO主要用于只进行查询的情况。View Link (以下简称VL)VL是OAF中VO的联系对象,用于主从视图对象的联系。(如图中的(8)。Application Module(以下简称AM)AM是OAF中的应用模板(图1.5中的(9)。此项目中所有用到的VO都要添加到模板中,然后再将模板应用到OAF页面中。AM是VO和OAF页面的联系体,起一个桥梁的作用。PagePage是OAF的可见实体。它是用户在应用中能看到页面。它在包oracle.apps.ak.wydeliverybillstatus.webui下。(图1.5中的(10)Java控制文件它是Page中的逻辑控制代码文件,里面是Java代码。(图1.5中的(11)Region它主要用于值列表。在值列表中它充当弹出框的角色,同FORM中的LOV。各种组件的建立的详细步骤请参考Arone Zhang的OAF开发课程文档。(请务必先看这些课程文档)2. 一个简单的主从视图查询例子2.1. 初步设计说明由于本次开发只有查询操作,则所用VO视图对象都可以建成基于SQL查询的。基于SQL查询的VO便于修改和维护。你可以先在数据库中建立一个视图,将你要用到的条件都写到视图里。然后在VO中写基于此视图的SQL查询。如果以后查询条件有所改变,只需修改数据库中的视图,不用对VO进行任何更改。如果是新增栏位,也只需改数据库中的视图和VO中的SQL查询,相对于基于EO实体对象的VO来说,修改起来简便了很多。由于是主从查询,需建立两个VO和一个关系视图:一个主VO,一个从VO,一个VL。2.2. 建立项目开始右击Jdeveloper中的Workspaces(图1.5中的(1),选择New OAWorkspace,弹出窗口: (图2.1)Directory Name保持默认值File Name修改为自己能标志的名字。如CuxExampleOAWorkspace.jws勾选上Add a New OA Project,点击“确定”。点击“下一步”,跳过欢迎界面,进入: (图2.2)将Directory Name保持默认值,File Name改为CuxExampleOAProject.jpr,Default Package改为oracle.apps.ak.example.server。这样会自动在ak的目录下建立名为example的文件夹。注意:apps后面的文件夹名必须和后面一步的设置的应用简称一致!点击“下一步”,出现如下界面: (图2.3)DBC File Name中引入你在配置过程中从服务器下载下来的*.dbc文件。User Name和Password就用你登陆EBS的帐号和密码。Responsibility中的值就用默认的值。点击“下一步”,在点“完成”就创建完成一个项目。注意:该EBS用户必须具有此职责!右击创建好的CuxExampleOAProject.jpr,选择project setting,出现属性窗口,再选择左边的Run Options,出现如下窗口: (图2.4)将OADiagnostic添加到右面窗口。点击“确定”。完成!2.3. 创建业务组件包说明业务组件如第一章所述,这里用到的有三种,本项目私有的组件包:oracle.apps.ak.example.server数据库对象组件包:oracle.apps.ak.schema.server,但是这个开发中用到的VO都是基于SQL查询的,无需建立EO实体对象,所以也就不需要此组件包了。值列表组件包:oracle.apps.ak.lov.server私有业务组件包建立右击CuxExampleOAProject.jpr,选择New Business Components Package,跳过欢迎界面,进入: (图2.5)如果没带出Package Name,将起设为oracle.apps.ak.example.server,点击“下一步”直到完成即可。这样就创建了这个项目的私有业务组件包。值列表组件包如果是第一次建立项目,就需新建此值列表组件包,否则就只需导入值列表组件包。新建值列表组件包的步骤同私有业务组件包。只是包名设为:oracle.apps.ak.lov.server即可。2.4. 建立应用模板(Application Module)说明如第一章所述,应用模板AM是Page页面和VO之间的桥梁。同时,也可以将一些控制逻辑的java代码写到其下的java文件中。步骤右击oracle.apps.ak.example.server包,选择New Application Module,跳过欢迎界面,进入: (图2.6)修改Name为ExampleAM。Package就用默认值。点击下一步只到最后,勾选Generate Java File(s) ,点击“完成”。创建成功!可看到其下有两个文件,一个*.xml文件和一个*.java文件。2.5. 创建VO视图对象说明本项目的VO视图对象是主从视图,首先要确定关系栏位。本例就以FWK_TBX_EMPLOYEES作为例子创建主从视图。关系栏位为manager_id和employee_id.主视图对象右击oracle.apps.ak.example.server组件包,选择New View Object,跳过欢迎界面,进入: (图2.7)Package保持默认值,在Name中输入EmployeeVO。由于此VO是基于SQL查询的,不需要引入EO,所以连续单击“下一步”,直到第五步, (图2.8)在Query Statement中输入如图的SQL查询,其中ViewLine栏位是为了只是“显示/隐藏”按钮的状态的,此栏位是必须的。连续单击“下一步”直至完成。右键单击EmployeeVO,点开attibutes,选中EmployeeId,勾选上key attibute属性。同理勾选上ManagerId的key attribute属性。将Viewlink的类型改为Boolean。注意:基于sql的vo实现table-in-table,必须勾选上VO的key attribute属性从视图对象从视图对象的建立步骤同主视图对象,VO Name为ManagerVO。SQL写为:SELECT employee_id, full_name, email_address, position_code, salary FROM FWK_TBX_EMPLOYEES WHERE SYSDATE BETWEEN start_date AND nvl(end_date+.999,SYSDATE+.999) 右键单击ManagerVO,点开attibutes,选中EmployeeId,勾选上key attibute属性。视图联系对象右击oracle.apps.ak.example.server包,选择New View Link,跳过欢迎界面,进入 (图2.9)Name改为EmpToMngVL。Package保持默认值。点击“下一步”进入: (图2.10)Source View Object中选择主视图对象EmployeeVO,Destination View Object中选择从视图对象ManagerVO。点击“下一步”,进入: (图2.11)将ManagerId添加到右面的栏位框,这儿添加的就是两个主从视图的关系栏位。点击“下一步”,同样也将ManagerVO的EmployeeId添加到右边。再单击“下一步”,进入第六步: (图2.12)勾选上Source的In View Object复选框。点击完成,创建成功。将视图添加到AM中右击ExampleAM,选择左边的Data Model,将oracle.apps.ak.example.server包下的EmployeeVO和其下虚线相连的ManagerVO via EmpToMngVL1添加到右边的Data Model中。点击“确定”完成。2.6. 创建OAF页面建立页面右击CuxExampleOAProject.jpr,选择New,出现如下界面: (图2.13)点开左边的Web Tier,选择OA Components,再选择右边的Page,点击确定,出现如下界面: (图214)将Name改为ExamplePG,将Package改为oracle.apps.ak.example.webui。点击“确定”创建成功。选中根级别的Region1,设置如下:属性值IDPageLayoutRNAM Definitioncux.oracle.apps.ak.example.server.ExampleAMWidow Title员工查找Title员工查找新建建立Master-Detail表的查询右击Page的pageLayout,选择NewRegion.设置此Region的属性如下:属性值IDQueryRNRegion StylequeryConstruction ModeResultsBasedSearchConstruction Mode有两个常用的属性:autoCustomizationCriteria和ResultsBasedSearch。autoCustomizationCriteria表示用户可以根据自己需要建立简单查询或高级查询条件的个数。如果选择了此属性而没建立简单查询或高级查询,会报错。ResultsBasedSearch是以结果表作为查询条件,结果表有多少个栏位,就会自动生成多少个查询条件,且不需要用户自己建立简单查询或高级查询。如果选择了此属性,而用户又自己建立了简单查询或高级查询,会报错。右击QueryRN,选择NewRegion using Wizard,跳过欢迎界面: (图2.15)选择EmployeeVO1,点击“下一步”, (图2.16)如图所示,选择Region Style为table。设置Region ID为ResultsTable。点击“下一步”将存在的View Attributes根据需要添加到右边,这儿全部添进去。点击下一步直至完成。选择ResultsTable,设置其属性:属性值TextEmployeeWidth100%Detail View AttributeViewLine这儿的Detail View Attribute属性是必须设置的,且栏位就是前面建VO时建立的。至此,Master表就建立完成。右击ResultsTable,选择Newdetail,设置自动带出的detial下的header的属性:属性值IDDetailHdrTextManager右击DetailHdr,选择New Region using Wizard,跳过欢迎界面,步骤同Master表建立一样,设置表的名字为ManagerTable。设置ManagerTable的属性为:属性值TextManagerWidth100%View Link InstancePoHeaderToLineVL1这样主从表的关系就建立了。页面上会自动出现“隐藏/显示”按钮。点击“显示”就显示出行表的信息,点击“隐藏”就只显示头表的信息。以上做的是基于结果的查询,不需要建立组件,但它没法实现查询条件值列表输入,所有在实际应用中用的较少。下面修改其属性,手工创建查询。建立员工值列表1、 建立值列表组件包的AM。右键点击cux.oracle.apps.ak.lov.server组件包,选择New Application Module。跳过欢迎界面设置如下:点击“下一步”直至结束,点击“完成”创建成功。2、 建立值列表用到的VO。右键点击cux.oracle.apps.ak.lov.server组件包,选择New View Object,跳过欢迎界面设置Name为NameSearchVO:到第五步时输入SQL:SELECT employee_id, full_name FROM FWK_TBX_EMPLOYEES WHERE SYSDATE BETWEEN start_date AND nvl(end_date+.999,SYSDATE+.999)点击下一步直至完成。3、 将NameSearchVO加载到CuxLovAM中。右键点击CuxLovAM,选择Edit CuxLovAM.,设置如下:点击“确定”添加成功。4、 建立值列表Region。右键点击“CuxDemoOAProject.jpr”,选择New,设置如下:点击“确定”创建。在弹出框中设置如下:修改了Name和Package属性,点击“确定”创建。选中新建的NameLovRN,设置其AM Definition的值为cux.oracle.apps.ak.lov.server.CuxLovAM。5、 创建值列表的数据源。右键点击Structure框中的NameLovRN,选择Newtable Using Wizard,跳过欢迎界面,选择Application Module为 cux.oracle.apps.ak.lov.server.CuxLovAM,并选择其下的NameSearchVO1,点击下一步设置如下:点击“下一步”将两个列都选入,再下一步设置如下:点击下一步直至完成。并设置FullName的Search Allowed的属性为True。建立简单查询1、 将QueryRN的Custruction Mode属性改为autoCustomizationCriteria;2、 右键QueryRN,选择NewSimpleSearchPanel,修改新建的Header类型的region2的属性:属性值IDSimpleSearchHdrRNText员工查找 修改messageComponentLayout类型的region1的ID属性为messageCompLayoutRN。Region1的类型是可以修改的,修改成下拉框中的任一种类型都可以。3、 右键单击messageCompLayoutRN,选择New messageLovInput,就建立了一个值列表输入框item1,设置item1的属性如下:属性值IDSearchNameExternal LOV/cux/oracle/apps/ak/lov/webui/NameLovRN4、 设置lovMap1的属性如下:属性值IDNameMapLOV Region ItemFullNameReturn ItemSearchNameCriteria ItemSearchName5、 右键点击QueryRN,选择New SimpleSearchMappings,设置自动创建的queryCriteriaMap1的属性:属性值IDqueryNameMapSearch ItemSearchNameResults ItemFullNamePrompt姓名至此,查询页面就设计完成。Run Page就可以看到效果了。 3系统中挂OAF3.1 将开发的程序FTP到服务器这一步是将所开发的所有程序(%JDEV_USER_HOME%myclasses目录中对应的所有文件上传到服务器上,myclasses中包含了.class文件和.xml文件)将开发的文件目录(myclasses下,包括.jpx文件)FTP到$COMN_TOP/java把oracleappsak目录下文件夹(客户化程序包)和与此文件夹对应的lov、schema文件夹一起上传到服务器的oracleappsak目录下;3.2 将OA组件定义导入到元数据库中MDS这一步是将OAF中的OA组件定义导入到元数据库中MDS,以后对页面定义有任何修改都需要重新导入。一般这步在服务器上执行,因为本地需要当一下Oracle的包。telnet服务器后,执行如下代码:-倒页面java oracle.jrad.tools.xml.importer.XMLImporter /u02/crp3/prod/prodcomn/java/cux/oracle/apps/ak/example/webui -jdk13 -mmddir /u02/crp3/prod/prodcomn/html/jrad -username apps -password apps -rootdir /u02/crp3/prod/prodcomn/java/ -validate -dbconnection (description=(ADDRESS_LIST=(ADDRESS=(community = tcp.world)(PROTOCOL=TCP)(HOST=ORA.)(PORT=1524)(CONNECT_DATA=(SERVICE_NAME=TEST)-倒值列表java oracle.jrad.tools.xml.importer.XMLImporter /u02/crp3/prod/prodcomn/java/cux/oracle/apps/ak/lov/webui -jdk13 -mmddir /u02/crp3/prod/prodcomn/html/jrad -username apps -password apps -rootdir /u02/crp3/prod/prodcomn/java/ -validate -dbconnection (description=(ADDRESS_LIST=(ADDRESS=(community = tcp.world)(PROTOCOL=TCP)(HOST=ORA.)(PORT=1524)(CONNECT_DATA=(SERVICE_NAME=TEST)根据实际情况修改参数。至此就发布完成了。3.3 挂接定义Function,将Function的类型定义成JSP或INTEROPJSP,如图: (图4.1) 在Web HTML中输入文件的地址OA.jsp?page=cux/oracle/apps/ak/employee/webui/EmployeePG,如下图:(图4.2) 这儿可以加参数到EmployeePG,如OA.jsp?page=cux/oracle/apps/ak/employee/webui/EmployeePG&AFUNC=值1&OAHP=值2 最后将这个功能加入到菜单中就可以了。4个性化(Personalization)OAF个性化功能比较强,当需要对标准界面隐藏字段,增显字段,逻辑修改时,大部分都可以使用个性化完成。下面就增显字段为例。前面开发中查出了员工的姓名、电子邮件、职位和薪水。如果需新增一个字段“性别”,就需扩展VO,并在原界面上通过个性化新增列。4.1 开启个性化设置将配置文件“个性化自助定义”(Personalize Self-Service Defn)针对用户设为“是”。4.2 扩展VO下载VO文件在界面上通过点击“关于此页”,观察到需要扩展的VO的路径为:/cux/oracle/apps/ak/example/server下载对应的EmployeeVO.xml文件和EmployeeVOImpl.class文件。VO可能有0到2个对应的JAVA文件,需要将它所有的java文件都下载。新建扩展业务组件包在jdev中按前面的步骤建好jws和jpr,右击jpr,选择New Business Components Package。建好两个业务组件包:cux.oracle.apps.ak.exten.server 存放扩展的VOcux.oracle.apps.ak.example.server 存放上一步下载下来的VO文件将EmployeeVO.xml和反编译后的EmployeeVOImpl.java放到cux.oracle.apps.ak.example.server包中。扩展VO导入需扩展的VO。单击jdev中的FileImport,点击确定。跳过欢迎界面,点击“Add”,将EmployeeVO.xml和EmployeeVOImpl.java加入:点击“下一步”直至完成。在确认框中点击“Yes”就导入VO成功!扩展VO。右键单击cux.oracle.apps.ak.exten.server,选择New View Object,跳过欢迎界面,设置如下:注意需要在Extends View Object中将原VO引入,引入方法就是通过点击右边的Browse。点击“下一步”直至输入SQL查询的界面,添加SQL如下:红色框中的列是新加入的。点击下一步直至完成。在jpx文件中替换VO。右键单击ExtenOAProject.jpx,选择Edit ExtenOAProject.jpx,选中subsitutes页,设置如下:点击确定,并Rebuild jpr,就大功告成了!上传扩展VO将建好的CuxEmployeeVO传到服务器上。执行命令将jpx替换信息导入到MDS层就正式在系统中替换VO了。通过CMD进入本机的命令行,并进入$JDEV_HOMEjdevbinjdevbin目录下,执行:jpximport c:JdevOAExtension11.5.10jdevhomejdev_exten1myprojectsExtenOAProject.jpx -username apps -password apps -dbconnection (description=(ADDRESS_LIST=(ADDRESS=(community = tcp.world)(PROTOCOL=TCP)(HOST=ORA.)(PORT=1524)(CONNECT_DATA=(SERVICE_NAME=TEST)重启apach。界面上新增列进入员工查找界面,点击“个性化 员工”,在出的个性化界面的“Table 员工”项目上点击Create Item,设置如下:属性值LevelSiteItem StyleMessageStyledTextIDTitleCSS ClassOraDataTextPrompt性别View AttributeTitleView InstanceEmployeeVO1注意:这儿的VO实例还是设置原VO。程序已经替换信息导入数据库,当调用原VO时,数据库会自动调替换信息。点击应用,创建成功。可以看到自己创建的item是允许更新和删除的。回到应用界面后,点击“查找”就可以看到效果了。5其他有用的Topics建EO实体对象OAF用表建实体对象时,该表一定要有:CREATION_DATE、CREATED_BY、LAST_UPDATED_BY、LAST_UPDATE_DATE、LAST_UPDATE_LOGIN这5个WHO COLUMN。否则会报错。调用PL/SQL包l 在数据库中建包。l 在AM中写方法调用数据库的包,语法如下: import java.sql.CallableStatement;import java.sql.CallableStatement;import java.sql.SQLException;import java.sql.Types;import oracle.apps.fnd.framework.server.OADBTransaction;import oracle.apps.fnd.framework.OAException;public void createLineRows(String suppitem,String item,String description,String headerid) OADBTransaction txn = getOADBTransaction(); int userid=txn.getUserId(); -获得登陆者的IDString userid1=String.valueOf(userid); CallableStatement cs =txn.createCallableStatement(begin cux_supplier_oaf_pkg.insert_supplier_stock_line(:1, :2,:3,:4,:5); end;,1); -红字体的为过程名try cs.setString(1, suppitem); cs.setString(2, item); cs.setString(3,description); cs.setString(4,headerid); cs.setString(5,userid1); cs.execute(); cs.close(); catch (SQLException sqle) throw OAException.wrapperException(sqle
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年测量员技能面试复习题中级
- 2025年初级财务会计实操模拟题及解析
- 2025年应急物资调配笔试预测题
- 2025年篮球教练员技术水平考核试题及答案解析
- 2025年金属材料工程师专业能力测评试卷及答案解析
- 机电转业相关知识培训课程课件
- 2025年建筑装饰工程师执业资格认证试题及答案解析
- 2025年建筑电器安全检测师资格考试试题及答案解析
- 课件中插入华容道小程序
- 2025年互联网金融产品经理专业素质评定试题及答案解析
- 部编版四年级上册道德与法治《我们班四岁了》说课教学复习课件
- 小学道德与法治知识讲座
- 设备采购 投标方案(技术方案)
- 数字经济与人工智能
- 晚期胃癌患者护理查房
- IATF16949质量相关知识专项考试试题及答案
- 妇产科腹腔镜手术相关护理综述课件
- 航空发电机市场需求分析报告
- 教科版(2017版)科学五年上册《机械摆钟》说课稿(附反思、板书)课件
- 公差配合课件
- 招标代理机构入围服务 投标方案(技术标)
评论
0/150
提交评论