gpt4 book ai didi

ERP查询Q报表开发代码

转载 作者:我是一只小鸟 更新时间:2023-07-06 14:31:23 27 4
gpt4 key购买 nike

一,按照一般ERP开发流程可参考 ERP开发流程 ,直到下载程序.

当我们的查询页签存在栏位需要判断或者特殊处理时,在global中的自定义模组变数下添加,例如:

                          
                             1
                          
                           #add-point:自定義模組變數-客製(
                          
                            Module
                          
                           Variable) name=
                          
                            "
                          
                          
                            global.variable_customerization"
                          
                          
                             2
                          
                          
                             3
                          
                          
                            DEFINE
                          
                           g_first_flag           
                          
                            LIKE
                          
                          
                             type_t.num5

                          
                          
                             4
                          
                          
                            PRIVATE
                          
                          
                            TYPE
                          
                          
                             type_master      RECORD

                          
                          
                             5
                          
                              startdate               
                          
                            LIKE
                          
                          
                             type_t.dat, 

                          
                          
                             6
                          
                              enddate                 
                          
                            LIKE
                          
                          
                             type_t.dat

                          
                          
                             7
                          
                          
                            END
                          
                          
                             RECORD

                          
                          
                             8
                          
                          
                            DEFINE
                          
                          
                             g_master            type_master 

                          
                          
                             9
                          
                          
                            10
                          
                           #end add-point
                        

init下是对页面初始化,在页面资产初始化可以对栏位赋初值,设置下拉框等 。

                             #add-point:畫面資料初始化 name=
                          
                            "
                          
                          
                            init.init"
                          
                          
   LET g_first_flag = 
                          
                            TRUE
                          
                          
                            
   LET g_master.startdate 
                          
                          = 
                          
                            ''
                          
                          
                            
   LET g_master.enddate 
                          
                          = 
                          
                            ''
                          
                          
                            
   ## 
                          
                          
                            CALL
                          
                          
                             cpmq700_cre_tmp_table()
   #end add
                          
                          -
                          
                            point

#或者

   #add
                          
                          -point:畫面資料初始化 name=
                          
                            "
                          
                          
                            init.init"
                          
                          
                            CALL
                          
                           cl_set_combo_scc_part(
                          
                            '
                          
                          
                            b_imaaud001
                          
                          
                            '
                          
                          ,
                          
                            '
                          
                          
                            18006
                          
                          
                            '
                          
                          ,
                          
                            '
                          
                          
                            1,2
                          
                          
                            '
                          
                          
                            )    #b_imaaud001代表那个页面栏位,18006是下拉框代码
   LET g_first_flag 
                          
                          = 
                          
                            TRUE
                          
                          
                            
   #end add
                          
                          -point
                        

 ui_dialog下搜索DIALOG ATTRIBUTES,里面添加栏位的逻辑。可参考filter下的栏位逻辑.

                          CONSTRUCT 
                          
                            BY
                          
                           NAME g_wc 
                          
                            ON
                          
                          
                             imaastus,imaa001,imaal003,imaal004,imaa009,imaa003,imaa010,imaa004,imaaud001,imaaud006
         
            BEFORE CONSTRUCT
            
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaastus
               
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaa001          
               INITIALIZE g_qryparam.
                          
                          * 
                          
                            TO
                          
                          
                             NULL
               LET g_qryparam.state 
                          
                          = 
                          
                            '
                          
                          
                            c
                          
                          
                            '
                          
                          
                            
               LET g_qryparam.reqry 
                          
                          = 
                          
                            FALSE
                          
                          
                            CALL
                          
                          
                             q_imaa001()                           #呼叫開窗
               DISPLAY g_qryparam.return1 
                          
                          
                            TO
                          
                          
                             imaa001      #顯示到畫面上
               
                          
                          
                            NEXT
                          
                          
                            FIELD
                          
                          
                             imaa001                         #返回原欄位
               
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaal003
               
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaal004
               
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaa009          
               INITIALIZE g_qryparam.
                          
                          * 
                          
                            TO
                          
                          
                             NULL
               LET g_qryparam.state 
                          
                          = 
                          
                            '
                          
                          
                            c
                          
                          
                            '
                          
                          
                            
               LET g_qryparam.reqry 
                          
                          = 
                          
                            FALSE
                          
                          
                            CALL
                          
                          
                             q_rtax001()                           #呼叫開窗
               DISPLAY g_qryparam.return1 
                          
                          
                            TO
                          
                          
                             imaa009      #顯示到畫面上
               
                          
                          
                            NEXT
                          
                          
                            FIELD
                          
                          
                             imaa009                         #返回原欄位
            
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaa003          
               INITIALIZE g_qryparam.
                          
                          * 
                          
                            TO
                          
                          
                             NULL
               LET g_qryparam.state 
                          
                          = 
                          
                            '
                          
                          
                            c
                          
                          
                            '
                          
                          
                            
               LET g_qryparam.reqry 
                          
                          = 
                          
                            FALSE
                          
                          
                            CALL
                          
                          
                             q_imca001_1()                         #呼叫開窗
               DISPLAY g_qryparam.return1 
                          
                          
                            TO
                          
                          
                             imaa003      #顯示到畫面上
               
                          
                          
                            NEXT
                          
                          
                            FIELD
                          
                          
                             imaa003                         #返回原欄位
            
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaa010          
               INITIALIZE g_qryparam.
                          
                          * 
                          
                            TO
                          
                          
                             NULL
               LET g_qryparam.state 
                          
                          = 
                          
                            '
                          
                          
                            c
                          
                          
                            '
                          
                          
                            
               LET g_qryparam.reqry 
                          
                          = 
                          
                            FALSE
                          
                          
                            CALL
                          
                          
                             q_imaa010_1()                           #呼叫開窗
               DISPLAY g_qryparam.return1 
                          
                          
                            TO
                          
                          
                             imaa010      #顯示到畫面上
               
                          
                          
                            NEXT
                          
                          
                            FIELD
                          
                          
                             imaa010                         #返回原欄位
            
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaa004
                     
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaaud001
                                 
            
                          
                          
                            ON
                          
                          
                             ACTION controlp INFIELD imaaud006
         
         
                          
                          
                            END
                          
                           CONSTRUCT
                        

ui_dialog下搜索accept,对判断点击后变量赋值 。

                                     LET g_first_flag = 
                          
                            FALSE
                          
                        

b_fill下搜索b_fill.array_clear,在里面添加调用函数的逻辑 。

                          
                            IF
                          
                           g_first_flag 
                          
                            THEN
                          
                          
                            
      RETURN
   
                          
                          
                            ELSE
                          
                          
                            
      LET ls_wc 
                          
                          = cl_replace_str(ls_wc,
                          
                            '
                          
                          
                            1=2
                          
                          
                            '
                          
                          ,
                          
                            '
                          
                          
                            1=1
                          
                          
                            '
                          
                          
                            )
      
                          
                          
                            CALL
                          
                          
                             cimq200_b_fill_sc(ls_wc)
      RETURN
   
                          
                          
                            END
                          
                          
                            IF
                          
                        

写自己的方法 。

                          
                            PRIVATE
                          
                          
                            FUNCTION
                          
                          
                             cimq200_b_fill_sc(p_wc)

                          
                          
                            DEFINE
                          
                           p_wc                
                          
                            STRING
                          
                          
                            DEFINE
                          
                           l_sql               
                          
                            STRING
                          
                          
                            CALL
                          
                          
                             g_imaa_d.clear()
   LET g_cnt 
                          
                          =
                          
                             l_ac
   
                          
                          
                            IF
                          
                           g_cnt = 
                          
                            0
                          
                          
                            THEN
                          
                          
                            
      LET g_cnt 
                          
                          = 
                          
                            1
                          
                          
                            END
                          
                          
                            IF
                          
                          
                            
   LET l_ac 
                          
                          = 
                          
                            1
                          
                          
                            

   LET l_sql 
                          
                          = 
                          
                            "
                          
                          
                             SELECT 0 imaaseq,imaastus,imaa001,imaal003, ",
                          
                          
                            "
                          
                          
                             imaal004,imaa009,rtaxl003,imaa003, ",
                          
                          
                            "
                          
                          
                             a.oocql004,imaa004,imaa010,b.oocql004 oocql010,imaa006,imaaud001, ",
                          
                          
                            "
                          
                          
                             imaaud004,imaaud006,imaaud011 ",
                          
                          
                            "
                          
                          
                               FROM imaa_t ",
                          
                          
                            "
                          
                          
                               LEFT JOIN imaal_t ON imaa001=imaal001 AND imaaent=imaalent AND imaal002 = '",g_dlang,"'",
                          
                          
                            "
                          
                          
                               LEFT JOIN rtaxl_t ON imaa009=rtaxl001 AND imaaent=rtaxlent AND rtaxl002 = '",g_dlang,"'",
                          
                          
                            "
                          
                          
                               LEFT JOIN oocql_t a ON imaa003=a.oocql002 AND imaaent=a.oocqlent AND a.oocql001 = '200' AND a.oocql003 = '",g_dlang,"'",
                          
                          
                            "
                          
                          
                               LEFT JOIN oocql_t b ON imaa010=b.oocql002 AND imaaent=b.oocqlent AND b.oocql001 = '210' AND b.oocql003 = '",g_dlang,"'",
                          
                          
                            "
                          
                          
                              WHERE imaaent = ",g_enterprise,
                          
                          
                            "
                          
                          
                                AND ",p_wc CLIPPED
                          
                          
                               DISPLAY l_sql            
   PREPARE cimq200_b_fill_cs_pre 
                          
                          
                            FROM
                          
                          
                             l_sql
   DECLARE cimq200_b_fill_cs_cur 
                          
                          
                            CURSOR
                          
                          
                            FOR
                          
                          
                             cimq200_b_fill_cs_pre
   FOREACH cimq200_b_fill_cs_cur 
                          
                          
                            INTO
                          
                           g_imaa_d[l_ac].*
                          
                            
   
      #加项次
      LET g_imaa_d[l_ac].imaaseq
                          
                          =
                          
                            l_ac
      #料件属性显示汉字代替
      
                          
                          
                            CASE
                          
                          
                             g_imaa_d[l_ac].imaaud001
         WHEN 
                          
                          
                            1
                          
                          
                            
            LET g_imaa_d[l_ac].imaaud001 
                          
                          = 
                          
                            '
                          
                          
                            五金
                          
                          
                            '
                          
                          
                            
         WHEN 
                          
                          
                            2
                          
                          
                            
            LET g_imaa_d[l_ac].imaaud001 
                          
                          = 
                          
                            '
                          
                          
                            注塑
                          
                          
                            '
                          
                          
                            END
                          
                          
                            CASE
                          
                          
                            
      #料件是否关键物料
      
                          
                          
                            CASE
                          
                          
                             g_imaa_d[l_ac].imaaud006
         WHEN 
                          
                          
                            '
                          
                          
                            Y
                          
                          
                            '
                          
                          
                            
            LET g_imaa_d[l_ac].imaaud006 
                          
                          = 
                          
                            '
                          
                          
                          
                            '
                          
                          
                            
         WHEN 
                          
                          
                            '
                          
                          
                            N
                          
                          
                            '
                          
                          
                            
            LET g_imaa_d[l_ac].imaaud006 
                          
                          = 
                          
                            '
                          
                          
                          
                            '
                          
                          
                            END
                          
                          
                            CASE
                          
                          
                            
      LET l_ac 
                          
                          = l_ac + 
                          
                            1
                          
                          
                            END
                          
                          
                             FOREACH
               
   
   
   
                          
                          
                            CALL
                          
                          
                             g_imaa_d.deleteElement(g_imaa_d.getLength())
 
   #add
                          
                          -point:陣列長度調整 name=
                          
                            "
                          
                          
                            b_fill.array_deleteElement"
                          
                          
                            
   #end add
                          
                          -
                          
                            point
 
   LET g_error_show 
                          
                          = 
                          
                            0
                          
                          
                            
 
   LET g_detail_cnt 
                          
                          =
                          
                             g_imaa_d.getLength()
   LET l_ac 
                          
                          =
                          
                             g_cnt
   LET g_cnt 
                          
                          = 
                          
                            0
                          
                          
                            
 

   #調整單身index指標,避免翻頁後指到空白筆數
   
                          
                          
                            CALL
                          
                          
                             cimq200_detail_index_setting()
 
   #重新計算單身筆數並呈現
#  
                          
                          
                            CALL
                          
                           cimq200_detail_action_trans()   #(ver:
                          
                            36
                          
                          
                            ) mark
 
   LET l_ac 
                          
                          = 
                          
                            1
                          
                          
                            IF
                          
                           g_imaa_d.getLength() > 
                          
                            0
                          
                          
                            THEN
                          
                          
                            CALL
                          
                          
                             cimq200_b_fill2()
   
                          
                          
                            END
                          
                          
                            IF
                          
                          
                            CALL
                          
                           cimq200_detail_action_trans()   #(ver:
                          
                            36
                          
                          
                            )
   


                          
                          
                            END FUNCTION
                          
                        

  。

最后此篇关于ERP查询Q报表开发代码的文章就讲到这里了,如果你想了解更多关于ERP查询Q报表开发代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com