|
|
发表于 2010/10/14 10:46:15
|
显示全部楼层
做法:
1、在DB端运行一段脚本,(我使用的是PLSQL developer)
BEGIN
jdr_utils.printDocument('/oracle/apps/fnd/framework/attachments/webui/FND_ATTACHMENTS_PAGE');
END;
2、复制脚本的输出流的内容到一个文本文件中
3、将这个文本文件改名为FND_ATTACHMENTS_PAGE.xml
4、将文件复制到工程的中的/oracle/apps/fnd/framework/attachments/webui/的目录下。(这个目录需要新建)
5、将这个页面文件导入现有工程。
6、JDeveloper中打开这个页面文件的页面结构图,为Attachments这个defaultSingleColumn Region追加新的CO。
7、CO的代码如下
package oracle.apps.ak.attach.webui;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
/**
* Controller for ...
*/
public class MyCO extends OAControllerImpl
{
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
/**
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
*/
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processRequest(pageContext, webBean);
final String ATTACHMENT_SESSION_NAME = "ATTACHMENT";
if ("Y".equals((String)pageContext.getSessionValue(ATTACHMENT_SESSION_NAME)))
{
webBean.findChildRecursive("SearchAttachments").setRendered(false);
webBean.setAttributeValue(TEXT_ATTR, null);
pageContext.removeSessionValue(ATTACHMENT_SESSION_NAME);
}
}
/**
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
*/
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processFormRequest(pageContext, webBean);
}
}
8、在你工程适当的地方,追加如下代码
pageContext.putSessionValue("ATTACHMENT", "Y");
9、如果你还想操作其他webBean可以直接把代码写在这个CO中,CO的名字及路径我是随便取的。
|
-
页面文件的结构图,新的CO加在蓝色的Region上
|