AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 101071
Accepted
SorryEh
SorryEh
Asked: 2015-05-10 14:56:29 +0800 CST2015-05-10 14:56:29 +0800 CST 2015-05-10 14:56:29 +0800 CST

如何在 DDS 逻辑文件中正确使用 PFILE 关键字?(AS400)

  • 772

我在正确表述这个问题时遇到了麻烦(也不确定我是否在正确的堆栈部分)

我的问题是我有一个ORDFILE位于ORDRENTLB库中的逻辑文件,即假设可以访问CIFFILE位于CUSTINFOLB库中的物理文件数据。

编译时,我得到的程序只是“异常结束”错误。

但是,当我删除PFILE(CUSTINFOLB/CIFFILE)并将类型更改为 PF 时,它可以完美编译。

CIFFILE 已成功编译为它唯一的 PF。

我尝试过的:移动ORDFILE到与 CIFFILE 相同的库(异常结束错误)尝试通过在其中放置一个旁边来声明为a (CUSTOMER出现错误)尝试在 , 周围放置单引号(错误)foreign keyFCUSTOMERORDFILE'CUSTINFOLB/CIFFILE'

我究竟做错了什么?

谢谢你的时间。 文件

排序文件

编辑

范围:在 iSeries 平台上创建一个小型分发系统。创建一系列包含以下代码的库:

  • 客户信息文件 (CIF) 功能
  • 订单输入功能
  • 采购功能
  • 库存功能

我的要求:

  • 根据指定的信息,为 4 个文件组中的每一个创建 4 个 DDS 规范。
  • 为您使用 DDS 规范设置的 4 个文件中的每一个创建 4 个 DFU 程序。
  • 创建 4 个 CL 程序来运行您创建的 DFU 程序。

包括一些评论以及选择菜单选项后将出现在屏幕上的消息。例如,如果您选择选项 #1 来输入 CIF 数据,则最初应显示一条消息,例如 -“CIF 数据输入程序现在正在执行”

  • 为 3 个部门(订单输入/库存/采购)中的每一个创建 3 个菜单,每个菜单上都有相应的标题。

  • 创建一个名为 MAINMENU 的主菜单以访问 3 个部门菜单。

  • 根据 CIF 文件创建 Query/400 报告并将其作为选项添加到主菜单。

确保您已遵循以下 3 个要求:

通过选择“打印”选项将查询创建为报告。格式化 CIF # 以消除报告上的数字中的“,”。在报表上放置一个页面标题。

  • 主菜单应包括以下菜单选项:

转到 3 个不同的“部门”菜单 运行 CIF 查询程序 访问假脱机文件 注销

  • 在您创建的菜单上设置 CLP 程序。

CIF 主文件只能存在于一个地方,但所有部门都必须能够访问同一个文件。

数据库:

客户信息文件 =>

客户编号(5 位数字字段)- KEY

公司名称

联系人姓名

城市

电话号码

客户订单总额 ($)

订单输入文件 =>

订单输入编号(6 位数字字段)- KEY

顾客号码

订购的商品编号(10 个字符)

订购日期 订购数量

排序者(人名)

订单总额 ($)

库存文件 =>

零件编号(6 位数字字段)- KEY

部分说明

手头数量

单位成本

缺货指示符(1 字节 Alpha)

购买文件 =>

采购订单号(4 位数字字段)- KEY

零件号

购买数量

数量延期交货

购买日期

总采购订单金额 ($)

iseries
  • 1 1 个回答
  • 2399 Views

1 个回答

  • Voted
  1. Best Answer
    WarrenT
    2015-05-11T08:20:10+08:002015-05-11T08:20:10+08:00

    这四件事中的每一个都应该有自己的PF(又名表)。在现实世界中,它们中的任何一个甚至可能最好由附加的补充表来服务,这可能是适当的。例如,假设客户希望为几个不同的项目安排订单。这通常使用订单头文件来处理,以存储与整个订单有关的数据,以及每个订购商品的订单详细信息文件。但我们将保持在您的任务范围内,该任务已明确措辞与预期的设计。

    这些表本身不访问彼此的信息。但它们将包含字段(又名列),这些字段将引用其他表中的关键字段。通过为每个这样的键序列创建一个简单的键控逻辑文件,为每个表创建索引通常是一个好主意,因为我们可以期望以各种方式访问​​它。

    在这种情况下,在您ORDFILE定义完. 您可能有另一个由 键控。任何可能派上用场的键序列都可以拥有自己的 LF。索引在 iSeries 上的开销非常低,因此有几十个不是问题,即使其他平台可能有较低的推荐指南。因此,在现实世界中,您可能希望在这些文件上创建一个很好的品种,以帮助优化器处理您的用户可能想要的各种查询。对于这样的任务,只创建与需求相关的任务。ORDFILE1CUSTOMERORDRNUMITEMNUM

    将各种物理字段组合在一起的 LF 类型称为连接(或连接)逻辑文件。除非你的教授提到它,否则这可能超出了他/她的期望范围。一个查询可以读取多个 PF,就像连接逻辑一样,因此在这种情况下连接 LF 可能是多余的。


    免责声明

    该平台上的现代最佳实践通常是对数据库使用 SQL,而不是 DDS 和 Query/400。知道 QM Query 可以将 Query/400 查询转换为 SQL 可能会很方便。但是大多数公司仍然有大量使用 DDS 定义的数据库文件。当您是该平台上的专业开发人员时,了解这些早期技术很重要,因为您可能必须支持它们。

    • 1

相关问题

  • as400 控制台上的 SQL 语句比远程 odbc [关闭]

  • 测试 iSeries SQL 存储过程中是否存在临时表

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve