`

Oracle EBS 基于Host(主机文件)并发程序的开发

 
阅读更多

 

在EBS开发过程中,经常会遇到一些修改或开发基于Host的并发请求,比如Sqlloader导数、sendmailSVF报表等,现就以“将一个CSV格式文件中的数据导入到一张临时表中”的例子简单介绍下Host类型请求的开发方法:

 

1、在服务器上定义一个路径,并使用FTPCSV数据文件上传到该路径下:

 

--1、创建DIRECTORY

create directory test_dir as '/usr/tmp'; (注:此处'/usr/tmp'可以是任何路径,只要该路径在服务器上存在)

--2、授权

Grant read,write on directory test_dir to cux;

--3、查看目录及权限

SELECT privilege, directory_name, directory_path

  FROM user_tab_privs t, all_directories d

 WHERE t.table_name(+) = d.directory_name

 ORDER BY 2, 1;

  

2、定义一张临时表,命名为:cux_sqlloader_temp

3、创建sqlloader导入时的control文件,命名为:cux_sqlloader_control.ctl,并将该控制文件一并上传到前面定义好的路径下(注:该例子中为了简单起见,所以将所有文件均放在同一个目录下。在正式开发中需要根据情况分别定义各自的路径)

4编写Shell脚本文件,假如名为:cux_sqlloader_test.prog(注:后缀名为prog,是否必须为prog尚未作研究),伪代码如下:

#!/bin/ksh
#Default Parameters
export ORA_USER_PASS =$1
export ORA_USER_ID   =$2
export ORA_LOGIN_NAME=$3
export ORA_REQUEST_ID=$4

#User Defined Parameters
export P_FILE_NAME   =$5
export P_CONTROL_FILE=$6

  
# Initialize the environment variables by running the enviroment file
#*********************************************************************
# Initialize the environment variables by running the enviroment file*
#*********************************************************************

Initialize_Vars ()
{
   
   echo "Initializing"
      ### Initialize the environment variables by running the enviroment file
      . ${CUX_TOP}/bin/CUX_env      
      export SCRIPT_DIR="${CUX_TOP}/bin"
      export TEMP_DIR=`eval echo $test_dir`
      
}

#*********************************************
#    Check for the AP Directory              *
#*********************************************
check_temp_dir ()
{
     if [ ! "$TEMP_DIR" ];
          then
             echo " $TEMP_DIR irectory path is not specified in the environment file."
             echo "Check CUX_env"
             return 2
     fi

     if [ ! -d $TEMP_DIR ];
          then
             echo "Invalid Directory. "$TEMP_DIR" may not be existing."
             return 2
     fi

     return 0
}
#*************************************************
#    Check for the Script Directory              *
#*************************************************
check_script_dir ()
{
     #Check whether the scrip directory Exists or not
     if [ ! -d $SCRIPT_DIR ];
          then
             echo "Invalid Script Directory. "$SCRIPT_DIR" may not be existing."
             return 2
     fi     
     echo "Valid Script Directory. "$SCRIPT_DIR" exists."
     return 0
}

#Calling Main Program
#*********************************************
#                 Main Program               *
#*********************************************
main ()
{ 
   #Calling Initialize Variables to set the paths in Environment File

   Initialize_Vars
   exe_status=$?

   #Start of  First If statement
   if [ $exe_status -ne 0 ];
   then
     echo "Intialize variables failed so Exiting"
     exit  $exe_status
   fi
   #End of  First If statement

   #Calling check_script_dir to check 
   check_script_dir
   exe_status=$?

   #Start of  Second If statement
   if [ $exe_status -ne 0 ];
   then
   echo "check_script_dir failed. So Exiting"
   exit  $exe_status
   fi
   #End of  Second If statement   

   check_gl_dir
   exe_status=$?
   
   #Start of  Third If statement
   if [ $exe_status -ne 0 ];
   then
   echo "check_temp_dir failed. So Exiting"
   exit  $exe_status
   fi
   #End of  Third If statement

   echo "SQL_Loader program about to start for the file : " $P_FILE_NAME
   
   #Loading data using SQL Loader
   sqlldr $CUX_LOGIN silent=header silent=feedback control=$TEMP_DIR/$P_CONTROL_FILE data=$TEMP_DIR/$P_FILE_NAME log=$TEMP_DIR/$P_FILE_NAME"_"$ORA_REQID.log errors=10000 discardmax=10000
   l_num_ldr_status=$?
   
   echo $l_num_ldr_status
   
   if [ $l_num_ldr_status -eq 1 ] || [ $l_num_ldr_status -eq 3 ] ;
   then
     echo "SQL Loader Failed to Load data file"
     l_file_status=E
   else
     echo "SQL Loader Successfully Loaded the data file"
     l_file_status=N
   fi
  exit 0 
}
main

 

注意:前4个参数被系统接受,如果自己要添加参数,则从第五个开始

#Default Parameters

export ORA_USER_PASS =$1

export ORA_USER_ID   =$2

export ORA_LOGIN_NAME=$3

export ORA_REQUEST_ID=$4

 

 #User Defined Parameters

export P_FILE_NAME   =$5

export P_CONTROL_FILE=$6

$4以后是host并发程序传进去的参数。

 

5定义执行方法为:主机(HOST)的并发可执行

6、定义并发程序

7、上传cux_sqlloader_test.prog到$CUX_TOP/bin/目录

8、添加可执行权限 chmod 777 cux_sqlloader_test.prog

9创建连接 ln -s $FND_TOP/bin/fndcpesr $CUX_TOP/bin/cux_sqlloader_test这样cux_sqlloader_testt脚本就可以接受并发请求传进去的参数

10、到此开发完成,可以跑请求了!

分享到:
评论

相关推荐

    Oracle EBS 基于Host(主机文件)并发程序的开发---刘明明

    ### Oracle EBS 基于Host(主机文件)并发程序的开发 #### 一、概述 Oracle E-Business Suite (EBS) 是一个全面的企业级应用程序套件,它集成了财务管理、供应链管理、项目管理等多个模块,为企业提供了一个完整的...

    Oracle EBS创建并发请求

    在 Oracle EBS 中创建并发请求是指通过存储过程、执行程序菜单、执行程序参数菜单和责任请求组菜单来实现的。以下是详细的知识点: 一、创建存储过程 在 Oracle EBS 中,存储过程是并发请求的核心部分。使用 PL/...

    ORACLE EBS 入门与提高 请求组 数据组 自定义并发程序

    ### Oracle EBS 入门与提高 —— 请求组、数据组、自定义并发程序 #### 在请求组中管理程序 **定义一个请求组** 当定义一个请求组时,可以包括以下内容: - 属于一个应用的所有报表和并发程序 - 独立的报表和...

    Oracle EBS 操作手册

    6. **系统集成**:Oracle EBS设计时考虑了与其他系统的集成,如CRM、ERP和其他第三方应用程序,通过Web服务、API等方式实现数据交换和流程自动化。 7. **安全性与权限管理**:Oracle EBS支持精细的权限控制,通过...

    ORACLE EBS 可用浏览器

    JVM是运行所有基于Java的应用程序,包括Oracle EBS的部分组件所必需的。在这种情况下,"可用浏览器"可能是指一个替代方案,允许用户通过网页界面访问Oracle EBS,而不是依赖本地的Java客户端。 TheWorld_3.4.0.5....

    win7 下 使用oracle EBS需要的文件

    10. **错误排查**:遇到问题时,查看Oracle EBS的诊断工具和日志文件,如`diag`目录下的`ad昂`和`forms`子目录,它们会提供错误信息和堆栈跟踪。 11. **性能优化**:根据系统负载和响应时间调整EBS的性能设置,例如...

    oracle ebs之http通用接口开发

    oracle ebs之http通用接口开发

    Oracle EBS R12与11i文件系统差异

    Oracle EBS R12与11i文件系统差异

    ORACLE-EBS并发管理器[整理].pdf

    Oracle E-Business Suite 并发管理器是 Oracle E-Business Suite 中的一种异步处理机制,它可以将程序放到后台来运行,前台的操作还给用户,允许用户可以继续做其他业务。这种机制可以降低系统特定时间点的负载,...

    ORACLE EBS R12 安装步骤详解

    * 下载 ORACLE EBS 文件:从 Oracle 官方网站下载 ORACLE EBS 安装文件,选择产品为 E-Business Suite,平台为 Microsoft Windows (32bit) * 下载 Cygwin:下载 Cygwin 专用安装包 * 下载 VS2005:下载 VS2005 安装...

    Oracle EBS开发文档(form, report)

    **Oracle Forms** 是用于构建图形用户界面的应用程序开发工具,广泛应用于EBS中。以下是一些重要的基础知识点: - **Forms 设置部分**:介绍了如何设置Forms的各种选项,如设置ITEM为必填项、设置ITEM的初始值为...

    Oracle EBS 常用接口开发参考

    在Oracle EBS中,接口开发是将系统与其他应用程序集成的关键部分,允许数据和流程在不同系统之间无缝流动。本文档主要针对Oracle EBS中的常用接口开发进行详细阐述。 **1. 接口类型** 1.1 **Open Interface模式** ...

    oracle ebs开发文档

    ### Oracle EBS 开发文档概览 #### 一、Oracle EBS 基础知识介绍 **Oracle EBS (Enterprise Business Suite)** 是一套全面的企业管理软件解决方案,它提供了包括财务、供应链、人力资源等多个领域的功能模块。对于...

    OracleEBS-应用开发培训.pptx

    OracleEBS-应用开发培训

    ORACLE-EBS 高级定价配置文件

    ### ORACLE-EBS 高级定价配置文件知识点详解 #### 一、概览 Oracle E-Business Suite (EBS) 的高级定价模块是其核心组件之一,主要用于处理复杂的定价规则和策略,支持企业实现精细化的价格管理和销售优惠。本文将...

    OracleEBS-报表开发工具

    ### OracleEBS-报表开发工具知识点详解 #### 一、Oracle Report Builder **1.1 概述** Oracle Report Builder 是 Oracle 最初推出的报表开发工具之一。即使在 R12 版本中,它仍然是创建打印凭证等报表的首选工具。...

    oracle ebs 报表输出

    在Oracle EBS中,报表的创建通常基于其强大的报表开发工具——Oracle Reports Builder。该工具允许用户通过图形化界面设计复杂的SQL查询,生成报表布局,并可以与EBS模块的数据源进行集成。报表可以是基于数据库查询...

Global site tag (gtag.js) - Google Analytics