Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tích hợp ADF với EBS

Tôi đã có giải pháp về cách tích hợp trang ADF với EBS và cả Quản lý phiên.

Liên kết dưới đây rất hữu ích cho tôi.

http://mistech.pixnet.net/blog/post/365709524-adf-%E6%95%B4%E5%90%88%E6%96%BC -% 28-integration-% 29-oracle-ebs-r12

Hoặc thực hiện bước dưới đây để có thêm mô tả.

Bước 01: Tạo các lớp java. Lớp java : ConnectionProvide, EBizUti, EBSWrapperFilter, Java Bean:UserInfo

1. ConnectionProvider.java

package com.oracle.view;

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class ConnectionProvider {
    private static DataSource ebsDS = null;
    static {
        try {
            Context ctx = new InitialContext();
            ebsDS = (DataSource) ctx.lookup("jdbc/TEST32");

            // your datasource jndi name as defined during configuration
            if (ctx != null)
                ctx.close();

        } catch (Exception e) {
            throw new RuntimeException(e);
            // means jndi setup is not correct or doesn't exist
        }
    }

    private ConnectionProvider() {
        super();
    }

    public static Connection getConnection() throws SQLException {
        if (ebsDS == null)
            throw new IllegalStateException(
                    "AppsDatasource is not properly initialized or available");
        return ebsDS.getConnection();
    }
}

Tái bút:Trong chế độ jdbc của môi trường EBS để có được kết nối cơ sở dữ liệu, bạn có thể vào chế độ xem Weblogic Services-> Data Sources, chẳng hạn như:EBSDataSource JNDI:jdbc / TEST32, và có thể học cách triển khai cho một máy chủ đó:oacore_cluster

2. EBizUtil.java

package com.oracle.view;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import oracle.apps.fnd.ext.common.EBiz;


public class EBizUtil {
    public EBizUtil() {
        super();
    }
    private static final Logger logger = Logger.getLogger(EBizUtil.class.getName());
    private static EBiz INSTANCE = null;
    static {
        Connection connection = null;
        try {
            connection = ConnectionProvider.getConnection();
            // DO NOT hard code applServerID for a real application
            // Get applServerID as CONTEXT-PARAM from web.xml or elsewhere
            INSTANCE = new EBiz(connection, "F1CB87199593E5F4E0431F030A0AD0AB31310251131793525291714692481335");
        } catch (SQLException e) {
            logger.log(Level.SEVERE, "SQLException while creating EBiz instance", e);
            throw new RuntimeException(e);
        } catch (Exception e) {
            logger.log(Level.SEVERE, "Exception while creating EBiz instance", e);
            throw new RuntimeException(e);
        } finally {
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
        }
    }

    public static EBiz getEBizInstance() {
        return INSTANCE;
    }    
}

PS:APPLIC_SERVER_ID có thể nhận được theo $ INST_TOP / appl / fnd / 12.0.0 / secure / TEST32.dbc Đường dẫn máy chủ ỨNG DỤNG EBS ID máy chủ:APPLIC_SERVER_ID =F1CB87199593E5F4E0431F030A0AD0AB313102511317935252917P692481335 3. EBSWrapperFilter.java

package com.oracle.view;

import java.io.IOException;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oracle.apps.fnd.ext.common.AppsRequestWrapper;
import oracle.apps.fnd.ext.common.AppsRequestWrapper.WrapperException;

public class EBSWrapperFilter implements Filter {
    public EBSWrapperFilter() {
        super();
    }


    private static final Logger logger = Logger.getLogger(EBSWrapperFilter.class.getName());

    public void init(FilterConfig filterConfig) {
        logger.info("Filter initialized ");
    }

    public void doFilter(ServletRequest request, ServletResponse response,  FilterChain chain) throws IOException,ServletException {
        AppsRequestWrapper wrapper = null;
        logger.info("-current URI =" + ((HttpServletRequest)request).getRequestURI());

        try {

            wrapper = new AppsRequestWrapper((HttpServletRequest)request, (HttpServletResponse)response, ConnectionProvider.getConnection(), EBizUtil.getEBizInstance());

        } catch (WrapperException e2) {
            logger.log(Level.SEVERE, "WrapperException error encountered ", e2);
            throw new ServletException(e2);
        } catch (SQLException e2) {
            logger.log(Level.SEVERE, "SQLException error encountered ", e2);
            throw new ServletException(e2);
        }
        try {
            logger.info("Created AppsRequestWrapper object." + " Continuing the filter chain.");
            chain.doFilter(wrapper, response);
            logger.info("- the filter chain ends");
        } finally {
            //AppsRequestWrapper caches a connection internally.
            //AppsRequestWrapper.getConnection()--returns this connection this connection can be used in doGet()/doPost() service layer
            //whenever our application requires a connection in order to service the current request.
            //When AppsRequestWrapper instance is in use, this connection should not be closed by other code.
            //At this point, we are done using AppsRequestWrapper instance so, as good practice, we are going to close (release) this connection now.
            if (wrapper != null) {
                try {
                    logger.info("- releasing the connection attached to the" + " current AppsRequestWrapper instance ");
                    wrapper.getConnection().close();
                } catch (SQLException e3) {
                    logger.log(Level.WARNING, "SQLException error while closing connection--", e3);
                    throw new ServletException(e3);
                }
            }
            wrapper = null;
        }
    }

    public void destroy() {
        logger.info("Filter destroyed ");
    }
}

4. UserInfo.java

package com.oracle.bean;

import java.util.Map;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import oracle.apps.fnd.ext.common.AppsRequestWrapper;
import oracle.apps.fnd.ext.common.Session;

public class UserInfo {
    private String user;
    private String userInfo;

    public UserInfo() {
        super();
    }


    public void setUser(String user) {
        this.user = user;
    }

    public String getUser() {
        return user;
    }


    public void beforePhase(PhaseEvent phaseEvent) {
        // Add event code here...
        AppsRequestWrapper wrappedRequest =
            (AppsRequestWrapper)FacesContext.getCurrentInstance().getExternalContext().getRequest();

        Session session = wrappedRequest.getAppsSession();

        setUser(session.getUserName());

        Map columns = session.getInfo();
        StringBuffer temp = new StringBuffer();
        temp.append("<table>");
        for (Object key : columns.keySet()) {
            temp.append("<tr>");
            temp.append("<td>");
            temp.append(key);
            temp.append("</td>");
            temp.append("<td>");
            temp.append(columns.get(key));
            temp.append("</td>");
            temp.append("</tr>");
        }
        temp.append("</table>");

        setUserInfo(temp.toString());

    }

    public void setUserInfo(String userInfo) {
        this.userInfo = userInfo;
    }

    public String getUserInfo() {
        return userInfo;
    }
}

Bước 02: Tạo chế độ xem:userInfo.jspx trong adfc-config.xml và đặt Đậu được quản lý

Layout: PageGroupLayout: layout = vertical
       OutPutText: value = "Hello # {pageFlowScope.userInfoBean.user} !!"
InlineStyle = "font-size: medium; color: Red;"
       Separator
     OutPutText: value = "# User Info: <br> # {pageFlowScope.userInfoBean.userInfo}"
Escape = "false" inlineStyle = "font-size: medium;"

Cài đặt trên Oracle EBS:

Bước 01: Đặt chức năng:Menu:Responsibiliey:Hàm WEI_ADFLAB_USERINFOPEN-Loại Ứng dụng ADF Bên ngoàiWebHTML-HTML Gọi GWY.jsp? TargetPage =face / userInfo

Bước 02: Trách nhiệm:Cài đặt quản trị viên chức nănga. Dịch vụ cốt lõi → Hồ sơ → Mã:FND_EXTERNAL_ADF_URL → Gob. Sau đó nhấp vào URL ứng dụng ADF bên ngoài và nhấn Xác định giá trị hồ sơ

một. Nhấp vào Xác định Giá trị Hồ sơ → Trách nhiệm b. Chọn Trách nhiệm &Valuec. Giá trị:chương trình khách trong đường dẫn weblogic, chẳng hạn như: http://lnxap104:7214/ LAB_EBS-ViewController-context-root / d. Nhấn Cập nhật



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nhập dữ liệu excel vào bảng Toad 9.5

  2. Làm cách nào để thêm Khóa chính trên dạng xem Oracle?

  3. Điều kiện nối trên nhiều cột so với nối đơn trên các cột được nối?

  4. Cách chuyển đổi thập phân sang thập lục phân bằng TO_CHAR () trong Oracle

  5. Bản sao cơ sở dữ liệu MySQL hoàn chỉnh đầy đủ? Ý tưởng? Mọi người làm nghề gì?