最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

TIPTOP GP 串查程序实现原理

开发相关 bron1984 4758浏览

一、首先弄清楚什么是串查程序

如图示:即在栏位的前面有个button,   IMG_256

 

二、串查程序实现原理 (ERP版本:GP 5.25)

1、在画面元件设置作业(p_per)作业中设置[串查程序]gav32栏位,串查的程序作业编号

小技巧:p_per资料是由r.gf  x  c 指令预览程序4fd档时自动新增的资料,默认是不会有任何串查程序的资料的

因此,如果将标准程序改为客制时想保留原标准程序p_per的串查程序资料时:

A:先通过p_per查询出标准程序的p_per资料,然后c:复制

B:再利用r.gf指令预览程序的4fd档,这样就保存了原标准程序的串查程序栏位的资料了

 

2、在程序的4gl里面的_menu()函数或者_bp()函数的ACTION列表最后添加语句  &include “qry_string.4gl”

&include “qry_string.4gl”  语句原理

&include 或 #include 即为”包含”应用,将后面的文件内容包含进来,再编译

&include 或 #include 如何搜索被包含的文件

A:首先在当前4gl文件目录下搜索被include包含的文件

B:然后在编译时通过编译参数”-I” 指定路径搜索

TIPTOP如何实现&include编译搜索的

 A:编译4gl程序的Shell,即r.c2里面指定编译参数”-I”

  1. #No:FUN-770104 by saki include檔案路徑
  2. if [ “${m1}” = c ]; then
  3.    fglcomp ${RDD} –timestamp -M -I $TOP/config/include -I $CUST/config/include ../42m/${mod}_${1}.4gl #FUN-B40095 Add ${RDD}
  4. else
  5.    fglcomp ${RDD} –timestamp -M -I $TOP/config/include ../42m/${mod}_${1}.4gl    #FUN-B40095 Add ${RDD}
  6. fi
  7. if [ $? -ne 0 ] ; then
  8.    #  fglcomp –timestamp ../42m/${mod}_${1}.4gl   #No:FUN-770104 mark
  9.    #No:FUN-770104 by saki include檔案路徑
  10.    if [ “${m1}” = c ]; then
  11.       fglcomp ${RDD} –timestamp -I $TOP/config/include -I $CUST/config/include ../42m/${mod}_${1}.4gl #FUN-B40095 Add ${RDD}
  12.    else
  13.       fglcomp ${RDD} –timestamp -I $TOP/config/include ../42m/${mod}_${1}.4gl    #FUN-B40095 Add ${RDD}
  14.    fi
  15. fi

 

B:可以看到TIPTOP GP指定的是$TOP/config/include该目录

我们进入此目录,就可以找到qry_string.4gl这个4gl文件

 

3、在qry_string.4gl程序的4gl源文件里面,我们可以看到其实就是20个button的ACTION列表

      然后通过cl_qry_string()函数执行串查

那我们并没有看到button的ACTION在4fd里面加入,TIPTOP的画面档上出现button这又是怎么实现的呢?

 

4、在每一个程序第一次OPEN WINDOW后都会调用一个函数CALL cl_ui_locale(“4fd档”)

此函数里面的cl_setButton()函数通过查询此4fd的p_per资料的gav32串查栏位资料,自动在此栏位前面生成一个button

且此button的ACTION属性CALL lnode_button.setAttribute(“comment”,lc_gaz03 CLIPPED||”[“||pc_btn CLIPPED||”]”)保留了gav32栏位值

后续cl_qry_string()函数通过读取此属性值,调用此标记的串查程序开启串查

转载请注明:赫非域 » TIPTOP GP 串查程序实现原理