上一页  下一页          目录  索引  定位  词汇表  程序库

功能安全保护装入程序

“功能安全保护装入程序”(FNDSLOAD) 就是可以在数据库和显示的文本文件之间移动 Oracle 应用产品功能安全保护信息的并发程序。以下各节介绍“功能安全保护装入程序”的操作。

通过在升级前下载文件然后再将其加载,“功能安全保护装入程序”可用来保留自定义责任和菜单的升级信息。

支持的操作

“功能安全保护装入程序”允许在数据库(用于运行期操作)和显示的文本文件(用于分配)之间移动功能安全保护数据。特别是您可以:

将数据库信息下载到文本文件中

文本文件就是可读、可移植的文件,并且可以使用任何编辑器进行检查和修改。一般情况下,使用“开发员关键字”来标识输出到文本文件的记录。换句话说,是将 FUNCTION_NAME,而不是 FUNCTION_ID 用来标识记录。

将文本文件中的信息加载(合并)到数据库

如果数据库中的行已正确,请勿改动此行;如果行已存在,但具有不同的属性,则行已更新;如果行不存在,则新行已插入;即使行不存在于加载的文件中,也不会有行被删除。

这些下载和加载的功能允许一个数据库中定义的功能安全保护信息方便地移植到其它数据库中。这对于将 Oracle 应用产品系统初始的数据传送到客户,以及将客户功能安全保护定义从主要站点复制到其它站点时非常有用。

功能安全保护数据的文本文件版本也对大量编辑操作有用,采用文本编辑器比采用表单更具效率。

使用方式

“功能安全保护装入程序”具有以下变元:

FNDSLOAD <username/password> 0 Y 
  [{ LOCAL <filepath> } | 
   { <appsname> <subdir>/.../<subdir>/<fname>.ext<}]
  [UPLOAD | {DOWNLOAD <menuname> ... <menuname>}]

此处

<username/ password> 是应用系统帐户

<appsname> 是应用简称或“LOCAL”

<fname> 是将要读取或写入的文件

<menuname> 是要下载的菜单名称的列表
文件的位置由 <appsname> 和 <fname> 变元来确定。<appsname> 指明此文件是否位于特定应用产品的安装/导入目录中或具有本机目录。

应用名 文件 位置
<APP> <file> APP_TOP>/install/import/<file>.slt
LOCAL <file> <file>


实例

FNDSLOAD applsys/fnd 0 Y FND install/import/sysadmin.slt UPLOAD

参考文件“$FND_TOP/install/import/sysadmin.slt”

FNDSLOAD applsys/fnd 0 Y LOCAL sysadmin.slt UPLOAD

参考文件“sysadmin.slt”

加载和下载

装入程序既可以在加载模式下运行也可以在下载模式下运行。在“加载”模式中,整个文件将被读取并合并到数据库中。(如果出现冲突,则任何现有的菜单项均会被删除,以便能与此文件中的项列表匹配。)

在“下载”模式中,以每个 <menuname> 为根的菜单树将从数据库读取然后写入此文件,并且包括由任何菜单参考的功能和表单。请注意 <menuname> 是实际菜单名,而不是“用户菜单名”。

FNDSLOAD applsys/fnd 0 Y FND sysadmin.slt DOWNLOAD FND_NAVIGATE4.0

将“FND_NAVIGATE4.0”下的所有菜单下载到文件 sysadmin.slt 中

FNDSLOAD applsys/fnd 0 Y FND sysadmin.slt UPLOAD

将文件 sysadmin.slt 中的所有数据加载到数据库中

功能安全保护文件格式

功能安全保护信息以文本文件格式保存,每个表单、功能和菜单可输入一系列的“记录”。此文件是明文,可以用任何标准文本编辑器查看和编辑。只有在您计划编辑此文件时,才需要了解此文件的格式。

此文件由一组文本行组成,每个行的长度必须少于 1024 字节(在写入时,每个行不会超过 80 字节)。

文件中可能还包括备注行,表示对包含在文件中的数据没有影响。备注行以“#”开始,并以换行符结束。

# This is a comment line

此文件中的信息由一组由空格分隔的标记组成。请注意标记自身也可能包含空格,在这种情况下,标记将以双引号标出。标记可以不包含非打印字符,除非标记前面有“换码”字符(为反斜杠)。预定义的换码为:

字符串 含义
\e 换码
\n 换行符
\r 回车
\b 回退
\v 垂直标记
\f 换页
\" 双引号本身
\\ 反斜杠本身

其它换码由八进制值组成,前有反斜杠,如“\007”。如果行太长,超过了 80 个字符,则行将按需要分为多个“连续”的行。以单个反斜杠结束的行将被连到下一行。在这种情况下,紧跟反斜杠的换行符将被忽略,而不会被视为空格分隔符。紧跟此行后面的行代之为连续的“折断”行,这样的行本身会以反斜杠结尾,表示将进一步延续。请注意在连续行中,前导符“#”不会被视为备注指示符,但也不会被视为连续数据项目的一部分。

文件从以下三个行开始:

LANGUAGE = "AMERICAN"
CODESET = "WE8ISO8859P1"
TRANSLATED = "Y"

这些行表示 NLS_LANG 语言和文件的代码集,以及任何已解释列值的当前解释状态。

以下是一组对象的格式定义:

BEGIN <object type> <object identifier>
 <attribute> = <value>
 ...
BEGIN <sub-object type> <object identifier>
 ...
END <sub-object type>
 ...
END <object type>

有三个主要对象类型,其中一个就是子对象类型。主要对象为“表单”、“功能”和“菜单”,而子对象就是“项”。每个对象类型具有一些标识符以及一组属性值。如果未指定属性值,则假定为 NULL。

“表单”记录

表单信息采用以下格式写出:

BEGIN FORM <app_short_name> <form_name>
 USER_FORM_NAME = " <user_form_name: 80 char            translated>" 
 DESCRIPTION = " <description: 240 char translated>" 
END FORM

表单由 app_short_name 和 form_name 来标识。每一个由下载的菜单参考的表单均写出一个“表单”记录。

实例:

BEGIN FORM SQLGL GLXJEENT
 USER_FORM_NAME = " Enter Journals/Encumbrances   " 
 DESCRIPTION = " Enter journals/encumbrances  " 
END FORM

“功能”记录

功能信息采用以下格式写出:

BEGIN FUNCTION <function_name>
 FORM = <app_short_name> <form_name>
 TYPE = <type:30 char>
 PARAMETERS = " <parameters: 240 char>" 
 USER_FUNCTION_NAME = "<user_function_name: 80 char    translated>"
 DESCRIPTION = " <description: 240 char translated>" 
END FUNCTION

功能由开发员 function_name 来标识。每一个由下载的菜单参考的功能均写出一个“功能”记录。

实例:

BEGIN FUNCTION SQLGL_GLXJEENT_A
 FORM = SQLGL GLXJEENT
 TYPE = FORM
 PARAMETERS = "actual_flag=\"A\"                       HELP_TARGET=\"GLXJEENT_A\""
 USER_FUNCTION_NAME = "Enter Journals"
 DESCRIPTION = "Enter journals"
END FUNCTION

“菜单”记录

菜单信息是真正的复合记录,由“菜单”记录组成,包含(封装)某些“项”记录数。菜单信息格式化如下:

MENU <menu_name>
 USER_MENU_NAME = "<user_menu_name: 80 char            translated>"
 DESCRIPTION = "<description: 240 char translated>"
 BEGIN ENTRY
  PROMPT = "<prompt: 30 char translated>"
  DESCRIPTION = "<description: 240 char translated>"
  SUBMENU = <sub_menu_name>
  FUNCTION = <function_name>
 END ENTRY
 ... more entry records ...
END MENU

实例:

MENU GL_SUPERVISOR_GUI
 USER_MENU_NAME = GL_SUPERVISOR_GUI
 BEGIN ENTRY
  PROMPT = Journals
  DESCRIPTION = "Enter and post actual and               encumbrance journals"
  SUBMENU = GL_SU_JOURNAL_GUI
 END ENTRY
 BEGIN ENTRY
  PROMPT = Budgets
  DESCRIPTION = "Define and enter budgets"
  SUBMENU = GL_SU_BUDGET_GUI
 END ENTRY
 BEGIN ENTRY
  PROMPT = "Run Reports"
  DESCRIPTION = "Run a report"
  FUNCTION = SQLGL_FNDRSRUN_GLMODE
  END ENTRY
END MENU

菜单由开发员菜单名来标识,菜单项本身不具有标识,但假定根据它们定义的顺序来排序,这样序号会成为清晰的标识。每个列出的菜单下载时带有所有的参考子菜单(递归)。

样本功能安全保护文件

#
# $Header$
#
LANGUAGE = "AMERICAN"
CODESET = "WE8ISO8859P1"
TRANSLATED = "Y"
BEGIN FORM FND FNDCPQCR
  USER_FORM_NAME = "View Requests"
  DESCRIPTION = "User form to view personal, explicit concurrent requests"
END FORM
BEGIN FORM FND FNDPOMSV
  USER_FORM_NAME = "Update Personal Profile Values"
  DESCRIPTION = "User form to set a personal profile option"
END FORM
BEGIN FORM FND FNDRSRUN
  USER_FORM_NAME = "Run Reports"
END FORM
BEGIN FORM FND FNDCPDIA
  USER_FORM_NAME = "Request Help"
  DESCRIPTION = "Request Diagnostics Form (also View Reports)"
END FORM
BEGIN FORM FND FNDRSSET
  USER_FORM_NAME = "Administer Report Sets"
  DESCRIPTION = "System Administrator form to administer all report sets"
END FORM
BEGIN FUNCTION FND_FNDCPQCR
  FORM = FND FNDCPQCR
  TYPE = FORM
  USER_FUNCTION_NAME = "Concurrent Requests: View All"
  DESCRIPTION = "Concurrent Requests: View Form"
END FUNCTION
BEGIN FUNCTION FND_FNDPOMSV
  FORM = FND FNDPOMSV
  TYPE = FORM
  USER_FUNCTION_NAME = "Profile User Values"
  DESCRIPTION = "Profile User Values Form"
END FUNCTION
BEGIN FUNCTION FND_FNDRSRUN
  FORM = FND FNDRSRUN
  TYPE = FORM
  USER_FUNCTION_NAME = "Requests: Submit"
  DESCRIPTION = "Requests: Run Form"
END FUNCTION
BEGIN FUNCTION FND_FNDCPDIA_VIEW
  FORM = FND FNDCPDIA
  TYPE = FORM
  PARAMETERS = "MODE=\"VIEW\""
  USER_FUNCTION_NAME = "Concurrent Requests: View Completed"
  DESCRIPTION = "Concurrent Request Diagnostics Form: View Requests Mode"
END FUNCTION
BEGIN FUNCTION FND_FNDRSSET_USER
  FORM = FND FNDRSSET
  TYPE = FORM
  PARAMETERS = "MODE=\"USER\""
  USER_FUNCTION_NAME = "Request Sets (User Mode)"
  DESCRIPTION = "Request Sets: User Mode Form"
END FUNCTION
BEGIN MENU GL_SU_MANAGER_GUI
  USER_MENU_NAME = GL_SU_MANAGER_GUI
  DESCRIPTION = "Called by GL_SUPERUSER4.0, GL_USER4.0, GL_SUPERVISOR4.0, GL_B\
UDGETUSER4.0, GL_BUDGETSUPER4.0"
  BEGIN ENTRY
    PROMPT = Requests
    DESCRIPTION = "Review concurrent manager requests"
    FUNCTION = FND_FNDCPQCR
  END ENTRY
  BEGIN ENTRY
    PROMPT = Profile
    DESCRIPTION = "Review personal profile options"
    FUNCTION = FND_FNDPOMSV
  END ENTRY
  BEGIN ENTRY
    PROMPT = Report
    DESCRIPTION = "Group and request standard reports"
    SUBMENU = FND_REPORT4.0
  END ENTRY
END MENU
BEGIN MENU FND_REPORT4.0
  USER_MENU_NAME = "FND_REPORT 4.0"
  DESCRIPTION = "Standard Report Submission and view report for Forms 4.0"
  BEGIN ENTRY
    PROMPT = Run
    DESCRIPTION = "Submit requests"
    FUNCTION = FND_FNDRSRUN
  END ENTRY
  BEGIN ENTRY
    PROMPT = View
    DESCRIPTION = "View completed requests"
    FUNCTION = FND_FNDCPDIA_VIEW
  END ENTRY
  BEGIN ENTRY
    PROMPT = Set
    DESCRIPTION = "Define standard request sets"
    FUNCTION = FND_FNDRSSET_USER
  END ENTRY
END MENU


         上一页  下一页          目录  索引  定位  词汇表  程序库