我必须删除一些被认为无用的记录。
有一个地址文件和一个订单历史文件。在拥有消费品的公司中,他们会收到许多产品咨询或开始销售,而这些产品永远不会成为销售。
每个查询都会在地址文件中获得一条记录,即客户编号。在订单历史文件中是相同的客户编号和后缀字段。它从 000 开始,并在有新订单时递增。大部分业务实际上是一个循环模型。
只有“000”记录(可能有多个 000)的客户,意味着他们从未购买过我们希望从这些文件中清除它们的任何东西。
我正在考虑一个简单的 RPG 程序,但如果可能的话,我也对使用 SQL 或其他方法感兴趣。
在这个阶段,我们实际上不会删除,而是将建议的记录复制到一个输出文件中,该文件将被审查并存储以防需要恢复。
F Addressfile IF E
F OrderHistory IF E
**** create 2 output file clones but with altered name for now.
F Zaddressfile O E
F ZorderHistory O E
*inlr doweq *off
Read Addressfile lr
*inlr ifeq *off
move *off Flg000
exsr Chk000
Flg000 ifeq *on
iter
else exsr purge
endif
endif
enddo
Chk000 begsr
**基本上在 orderhistory 上设置为不同的逻辑并读取只要我们有匹配的客户编号并且如果有后缀 not = 000 然后我们打开标志并退出。
清除 subr 将不得不再次通读以获取从 orderhistory 文件中清除所需的记录,方法是使用仍在读取地址文件中的相同客户编号。因为我不确定 subr 对客户有什么价值,我不想存储它。
然后它将写入新文件,包括地址文件,然后我们可以迭代读取地址文件中的下一个客户。
我们也不能假设如果有人买了,他们有一个 001,也许它多年来被删除了。
如果我们这样做了,我可以简单地链接它。