20150506 Created By BaoXinjian

一、摘要


在将程序发布成SOA Integration接口时,需要在书写程序时,在描述中需通过规定的语法书写SOA接口,并发发布为WSDL

每种不同类型的程序,其对应语法稍不用

1. 语法可以参考Metalink:

Oracle E-Business Suite Integrated SOA Gateway Developer's Guide

Integration Repository Annotation Standards

2. 对应的程序类型

(1). Java Annotations

(2). PL/SQL Annotations

(3). Concurrent Program Annotations

(4). XML Gateway Annotations

(5). Business Event Annotations

(6). Business Entity Annotations

(7). Composite Service - BPEL Annotations

(8). Glossary of Annotations

3. 介绍常用的三种Java、PLSQL、Concurrent Program

二、PL/SQL Annotations标记


可以使用pls或pkh文件作为注释对象

注释PL/SQL packages时,只需要注释Package Header即可,无需处理Package Body

1. Package层面必须填写内容Required Class-level Annotations

must begin with description sentence(s)
rep:scope
rep:product
rep:displayname
rep:category--Use BUSINESS_ENTITY at the class level only if all underlying methods have the same business entity. --In those cases, you do not need to repeat the annotation at the method level.
rep:businessevent (if an event is raised)

2. Package层面可选填写内容Optional Class-level Annotations

link
see
rep:lifecycle
rep:compatibility
rep:ihelp
rep:metalink
rep:doccd

3. Procedure层面必须填写内容Required Method-level Annotations

must begin with description sentence(s)
param
--Use only when applicable and when other tags such as @see and @rep:metalink do not provide parameter explanations.
return (if applicable)
rep:displayname
rep:paraminfo
rep:businessevent (if an event is raised)

4. Procedure层面可以填写内容Optional Method-level Annotations

link
see
rep:scope
rep:lifecycle
rep:compatibility
rep:category
--Use BUSINESS_ENTITY at the method level only when a class methods have heterogeneous business entities.
rep:ihelp
rep:metalink
rep:doccd
rep:appscontext
rep:primaryinstance

5. 实践案例

create or replace package WF_ENGINE as
/*#* This is the public interface for the Workflow engine.  It allows* execution of various WF engine functions.* @rep:scope public* @rep:product WF* @rep:displayname Workflow Engine* @rep:lifecycle active* @rep:compatibility S* @rep:category BUSINESS_ENTITY WF_WORKFLOW_ENGINE*/
g_nid number;          -- current notification id
g_text varchar2(2000); -- text information
/*#* Adds Item Attribute* @param itemtype item type* @param itemkey item key* @param aname attribute name* @param text_value add text value to it if provided.* @param number_value add number value to it if provided.* @param date_value add date value to it if provided.* @rep:scope public* @rep:lifecycle active* @rep:displayname Add Item Attribute*/
procedure AddItemAttr(itemtype in varchar2,itemkey in varchar2,aname in varchar2,text_value   in varchar2 default null,number_value in number   default null,date_value   in date     default null);
END WF_ENGINE;
/commit;
exit;

三、Concurrent Program Annotations标记


需要将并发程序通过FND_LOAD下载为并解析为ldt文件,再进行注释写法

1. 并发程序级别必须填写内容Required Class-level Annotations

must begin with description sentence(s)
--The annotation takes precedence over the concurrent program own definition in the LDT. One or the other must exist; otherwise, interface generation will fail.
rep:scope
rep:product
rep:displayname
--The annotation takes precedence over the concurrent program own definition in the LDT. One or the other must exist; otherwise, interface generation will fail.
rep:category
rep:businessevent (if an event is raised)

2. 并发程序级别可选填写内容Optional Class-level Annotations

link
see
rep:lifecycle
rep:compatibility
rep:ihelp
rep:metalink
rep:doccd
rep:usestable
rep:usesmap

3. 没有程序级别的注释concurrent programs

4. 实践案例

/*** Executes the Open Interface for Accounts Payable Invoices.  It uses the* following tables: AP_INVOICES_INTERFACE, AP_INVOICE_LINES_INTERFACE.* @rep:scope public* @rep:product AP* @rep:lifecycle active* @rep:category OPEN_INTERFACES AP_INVOICES_INTERFACE 1* @rep:usestable AP_INVOICES_INTERFACE 2 IN* @rep:usestable AP_INVOICE_LINES_INTERFACE 3 IN* @rep:category BUSINESS_ENTITY AP_INVOICE*/

四、Java Annotations标记


1. Class级别必须填写的内容注释:Required Class-level Annotations

must begin with description sentence(s)
rep:scope
rep:product
rep:implementation (only required for Java business service objects; not required for plain Java or SDOs)
rep:displayname
rep:service
rep:servicedoc

2. Class级别可选填写的内容注释:Optional Class-level Annotations

link
see
rep:lifecycle
rep:category
--Use BUSINESS_ENTITY at the class level only if all underlying methods have the same business entity. In those cases, you do not need to repeat the annotation at the method level.
rep:compatibility
rep:standard
rep:ihelp
rep:metalink
rep:doccd
rep:synchronicity

3. 程序级别必须填写的内容注释:Required Method-level Annotations

must begin with description sentence(s)
param
--Use only when applicable and when other tags such as @see and @rep:metalink do not provide parameter explanations.
return (if applicable)
rep:paraminfo
rep:displayname
rep:businessevent (if an event is raised)

4. 程序级别可选的填写的内容注释:Optional Method-level Annotations

link
see
rep:scope
rep:lifecycle
rep:compatibility
rep:category
--Use BUSINESS_ENTITY at the method level only when a class methods have heterogeneous business entities.
rep:ihelp
rep:metalink
rep:doccd
rep:appscontext
rep:synchronicity
rep:primaryinstance

5. 时间案例

/*===========================================================================+|      Copyright (c) 2004 Oracle Corporation, Redwood Shores, CA, USA       ||                         All rights reserved.                              |+===========================================================================+|  HISTORY                                                                  |+===========================================================================*/
package oracle.apps.po.tutorial;import oracle.jbo.domain.Number;import oracle.svc.data.DataObjectImpl;
import oracle.svc.data.DataList;/*** The Purchase Order Data Object holds the purchase order data including * nested data objects such as lines and shipments.* * @see oracle.apps.fnd.framework.toolbox.tutorial.PurchaseOrderLineSDO* * @rep:scope public* @rep:displayname Purchase Order Data Object* @rep:product PO* @rep:category BUSINESS_ENTITY PO_PURCHASE_ORDER* @rep:servicedoc */
public class PurchaseOrderSDO extends DataObjectImpl
{public PurchaseOrderSDO (){super();}/*** Returns the purchase order header id.*  * @return purchase order header id.*/public Number getHeaderId(){return (Number)getAttribute("HeaderId");}/*** Sets the purchase order header id.*  * @param value purchase order header id.* @rep:paraminfo {@rep:precision 5} {@rep:required}*/public void setHeaderId(Number value){setAttribute("HeaderId", value);}/*** Returns the purchase order name.*  * @return purchase order name.* @rep:paraminfo {rep:precision 80}*/public String getName(){return (String)getAttribute("Name");}/*** Sets the purchase order header name.*  * @param value purchase order header name.* @rep:paraminfo {@rep:precision 80}*/public void setName(String value){setAttribute("Name", value);}/*** Returns the purchase order description.*  * @return purchase order description.* @rep:paraminfo {rep:precision 120}*/public String getDescription(){return (String)getAttribute("Description");}/*** Sets the purchase order header description.*  * @param value purchase order header description.* @rep:paraminfo {@rep:precision 80}*/public void setDescription(String value){setAttribute("Description", value);}/*** @return the purchase order lines DataList.* @rep:paraminfo {@rep:innertype oracle.apps.fnd.framework.toolbox.tutorial.PurchaseOrderLineSDO}*/public DataList getLines(){return (DataList)getAttribute("Lines");}/*** @param list the putrchase order lines DataList.* @rep:paraminfo {@rep:innertype oracle.apps.fnd.framework.toolbox.tutorial.PurchaseOrderLineSDO}*/public void setLines(DataList list){setAttribute("Lines", list);}}

Thanks and Regards

参考:http://docs.oracle.com/cd/E18727_01/doc.121/e12065/T511473T545912.htm#5466320

转载于:https://www.cnblogs.com/eastsea/p/4752398.html

IREP_SOA Integration程序注释语法Annotations(概念)相关推荐

  1. QML 编程之旅 -- QML程序的基本结构概念

    文章目录 QML 文档的构成 QML基本语法 QML 编程之旅 – QML程序的基本结构概念 学习Qt编程快近一年了,的确是项目驱动,让我不得不咬紧牙关,需要快速的学习掌握一门新的技术.编程是一个非常 ...

  2. Java语法基本概念

    Java语法基本概念 概述 程序的概念 关键字和保留字 关键字 修饰符 非修饰符 保留字 语法意义 常见关键字(保留字) Java关键字大全 注释 什么是注释 注释的语法 单行注释语法 多行注释语法 ...

  3. 程序员要避免的五种程序注释方式

    导读:注释,本是提高代码可读性.让其他开发人员更快速地理解程序的,然而一些无意义的注释会让人郁闷至极.本文是国外网站GreaterGeek上的一篇文章,作者通过分类介绍了五种一定要避免的程序注释方式. ...

  4. 千万要避免的五种程序注释方式

    你是否有过复查程序时发现有些注释毫无用处?程序注释是为了提高代码的可读性,为了让原作者以外的其他开发人员更容易理解这段程序. 我把这些让人郁闷的注释方式归为了五类,同时把写出这些注释的程序员也归为了五 ...

  5. linux程序注释生成器,Doxygen—程序文档生成工具

    doxygen是一种从源代码生成文档的工具,支持多种语言.当然,源代码中需按一定的格式写注释,这些注释的格式也能帮助我们养成很好的注释习惯,可以尝试一下. 使用doxygen生成文档的方法很简单: $ ...

  6. 小程序 | 注释级微信小程序demo,助你快速切入开发

    写在前面 小程序开发渐进红利期,更多开发者慕名而来,网上的学习资料也层出不穷,有点眼花缭乱的意思了.在经过一个多月的摸索式学习后,我也终于写了不算精美的一个小程序. 那为什么写这篇文章: 总结经验 - ...

  7. pycharm注释语法

    1. 单行注释 语法格式: #[空格]说明性文字信息 注:可放一行代码的后面进行说明 添加快捷键: Ctrl+/ 取消快捷键: 同上 也可同时选中多行按下快捷键 2. 多行注释 语法格式: " ...

  8. MF_RC522_射频识别参考程序注释(2018年4月27号)

    MF_RC522_射频识别参考程序注释(2018年4月27号) https://wenku.baidu.com/view/478e6bb17f1922791688e8f8.html

  9. Tensorflow基础语法和概念

    Tensorflow基础语法和概念 一些说明:学习tensorflow用到的Python语法,请参考这篇博客 计算图模型 Tensorflow的构建的机器学习模型都是有向图模型,在Tensorflow ...

最新文章

  1. python元组类型的变量以及字符串类型的变量作为参数进行传值
  2. Netty笔记(一)第一个程序
  3. linq之Capacity(转载)
  4. 为什么叫python编程-月薪上万的Python编程,为什么你还没入门就放弃了?
  5. dede php标签 禁用,DedeCMS Error:Tag disabled:php的解决办法
  6. malloc与new,free与delete
  7. 华为上机考试题系列(一):牛客网的奇葩操作
  8. 内存泄漏(OOM)产生原因
  9. mysql列别名引用_引用聚合列的MySQL别名
  10. 剑指offer之二维数组中查找
  11. 书评:JBoss AS 7:配置,部署和管理
  12. 记录spring、springboot集成apollo配置中心
  13. ASP.NET-第五天-HTML基础
  14. MySQL日期时间函数总结
  15. MYSQL客户端访问服务端
  16. 数据库实验报告-实验一:SQL语言
  17. 应聘阿里的前车之鉴:从被回绝的系列原因出发,解读应聘阿里注意事项
  18. 【Python】统计数据标准差(总体标准差,样本标准差)
  19. LVGL (7) 显示对接
  20. js如何动态获取object类型里的键值

热门文章

  1. 11、mybatis返回List
  2. 老鸟运维该何去何从?
  3. Coding and Paper Letter(六)
  4. 《NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)》一1.5 VDC
  5. 在vs2012下编译出现Msvcp120d.dll 丢失的问题
  6. EF修改对象里面的值。。。(对象字段多的时候)
  7. Android客户端实现七牛云存储文件上传
  8. 浏览器的内核及版本的判断
  9. SSIS中的容器和数据流—举例说明数据转换任务
  10. BREW应用的分发流程