(tiptop erp)跨营运中心批量更新没有成本要素值记录的料件

2023-10-09 17:32

本文主要是介绍(tiptop erp)跨营运中心批量更新没有成本要素值记录的料件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


直接上代码:

4fd文件

<?xml version="1.0" encoding="UTF-8" ?> <Form CHECKSUM="-1" database_name="ds" fourSTFile="" gstVersion="11401" height="1" lstrtext="false" lstrtoallcomment="false" lstrtoallitem="false" lstrtoalltext="false" lstrtoalltitle="false" name="cima109" posX="0" posY="0" spacing="normal" text="cima109" width="35"> <Grid fontPitch="default" height="1" hidden="--------" lstrcomment="false" name="gr8" posX="0" posY="0" width="35"> <Text height="1" name="text7" posX="1" posY="0" text="dsno" width="5"/> <FormField colName="dsnumber" fieldtype="FORM_ONLY" name="dsnumber" sqlTabName="formonly"> <ButtonEdit action="controlp" autoNext="--------" case="NONE" century="R" color="black" colorCondition="black" data_type="--------" fontPitch="default" formfieldname="formfield2" height="1" hidden="--------" image="zoom.png" imagetype="Image as URL" invisible="--------" justify="none" lstrcomment="false" name="dsnumber" noEntry="--------" notNull="true" posX="7" posY="0" required="--------" reverse="--------" scroll="--------" sizePolicy="initial" tabIndex="1" verify="--------" width="26"/> </FormField> </Grid> </Form>

 

 4gl文件

 

###############################################
#创建时间:2012-02-23                            
#创建作者:ROBACK                                
#作业说明:跨营运中心批量维护没有成本要素值的料件的成本要素值
###############################################
database ds
GLOBALS "../../../tiptop/config/top.global"
DEFINE g_db_type      LIKE type_file.chr3,
g_sql          string,                
g_wc           string 
DEFINE g_forupd_sql   STRING
DEFINE p_row,p_col    LIKE type_file.num5
DEFINE dsnumber       STRING
DEFINE dsArray        DYNAMIC Array OF STRING
DEFINE Over           INT
MAIN
OPTIONS
FORM LINE     FIRST + 2,
MESSAGE LINE  LAST,
PROMPT LINE   LAST,
INPUT NO WRAP
DEFER INTERRUPT                        # Supress DEL key function
IF (NOT cl_user()) THEN
EXIT PROGRAM
END IF
WHENEVER ERROR CALL cl_err_msg_log
IF (NOT cl_setup("CIM")) THEN
EXIT PROGRAM
END IF
CALL  cl_used(g_prog,g_time,1)       
RETURNING g_time    
LET Over=0
LET p_row = 3 LET p_col = 2
OPEN WINDOW a109_w AT p_row,p_col WITH FORM "cim/42f/cima109"
ATTRIBUTE (STYLE = g_win_style CLIPPED) 
CALL cl_ui_init()
WHILE TRUE
CALL dsArray.clear()
#MESSAGE " "
IF Over=1 THEN
EXIT WHILE
END IF 
CALL a109_menu()
IF INT_FLAG THEN
LET INT_FLAG = 0
CLOSE WINDOW a109_w
CALL cl_used(g_prog,g_time,2) RETURNING g_time 
EXIT PROGRAM
END IF
END WHILE
#IF Over=0 THEN
#   RETURN
#END IF
CALL cl_wait()
CLOSE WINDOW a109_w                 
CALL  cl_used(g_prog,g_time,2)       
RETURNING g_time      
END MAIN
FUNCTION a109_menu()
CONSTRUCT BY NAME dsnumber ON dsnumber
BEFORE CONSTRUCT
CALL cl_qbe_init()
ON ACTION controlp
CASE 
WHEN INFIELD(dsnumber)    
CALL cl_init_qry_var()
LET g_qryparam.form = "cq_ds"
LET g_qryparam.state = "c"
CALL cl_create_qry() RETURNING g_qryparam.multiret
DISPLAY g_qryparam.multiret TO dsnumber
NEXT FIELD dsnumber
OTHERWISE EXIT CASE
END CASE       
ON IDLE g_idle_seconds
CALL cl_on_idle()
CONTINUE CONSTRUCT
ON ACTION about         
CALL cl_about()      
ON ACTION help          
CALL cl_show_help()  
ON ACTION controlg      
CALL cl_cmdask()  
ON ACTION close
LET Over=1
#EXIT WHILE
exit program   
END CONSTRUCT
CALL a109_bat()    
END FUNCTION
FUNCTION a109_bat()
DEFINE str,str1         STRING
DEFINE strIndex         INT,
strLength        INT,
StartIndex       INT,
ENDIndex         INT
IF NOT cl_null(dsnumber) THEN
LET dsnumber=cl_replace_str(dsnumber,"dsnumber=","")
LET str=dsnumber
LET str1=dsnumber
LET strIndex=str.getIndexOf("(",1)
LET strLength=str.getLength()
LET str=str.subString(strIndex,strLength)
LET StartIndex=strIndex
LEt ENDIndex=0    
WHILE TRUE   
IF strIndex=0 THEN
EXIT WHILE
END IF
IF NOT cl_null(str) THEN
LET strIndex=str.getIndexOf(',',1)
LET ENDIndex=strIndex+StartIndex
LET str1=dsnumber.subString(StartIndex,ENDIndex-1)
LET str1=cl_replace_str(str1,"(","")
LET str1=cl_replace_str(str1,",","")
LET str1=cl_replace_str(str1,"'","")
LET str1=cl_replace_str(str1,")","")
IF NOT cl_null(str1) THEN
CALL dsArray.appendElement()          
LET dsArray[dsArray.getLength()]=str1
END IF
LET StartIndex=ENDIndex
IF ENDIndex>0 THEN         
LET str=dsnumber.subString(ENDIndex+1,strLength)              
END IF        
END IF
END WHILE
LET str1=cl_replace_str(dsnumber.subString(ENDIndex+1,strLength),")","")
IF NOT cl_null(str1) THEN
CALL dsArray.appendElement()
LET str1=cl_replace_str(str1,"'","")
LET dsArray[dsArray.getLength()]=str1
LET StartIndex=dsArray.getLength()
END IF
FOR StartIndex=1 TO dsArray.getLength()
MESSAGE "更新数据,请稍候..."
CALL UpdateDataBase(dsArray[StartIndex])       
END FOR
MESSAGE "Over..."
END IF 
END FUNCTION
FUNCTION UpdateDataBase(p)
DEFINE p            STRING #营运中心编号
DEFINE ima          DYNAMIC Array OF RECORD
ima01        LIKE ima_file.ima01
END RECORD   
DEFINE g_sql        STRING
DEFINE t            INT
LET p=p.toLowerCase()
LET g_sql="SELECT ima01 From ",p,".ima_file WHERE ima01 NOT IN",
" (SELECT imb01 FROM ",p,".imb_file)"
PREPARE a109_prepare1 FROM g_sql          
DECLARE a109_curs1 CURSOR FOR a109_prepare1
LET t=1
#循环插入记录
FOREACH a109_curs1 INTO ima[t].*
LET t=t+1 
END FOREACH
FOR t=1 TO t-1
MESSAGE "更新 " ,ima[t].ima01
LET g_sql="insert into ds01.imb_file (",
"imb01,imb02,imb111,imb112,imb1131,",
"imb1132,imb114,imb115,imb1151,imb116,",
"imb1171,imb1172,imb119,imb118,imb120,",
"imb121,imb122,imb1231,imb1232,imb124,",
"imb125,imb1251,imb126,imb1271,imb1272,",
"imb129,imb130,imb211,imb212,imb2131,",
"imb2132,imb214,imb215,imb2151,imb216,",
"imb2171,imb2172,imb219,imb218,imb220,",
"imb221,imb222,imb2231,imb2232,imb224,",
"imb225,imb2251,imb226,imb2271,imb2272,",
"imb229,imb230,imb311,imb3131,imb3132,",
"imb314,imb315,imb3151,imb316,imb3171,",
"imb3172,imb319,imb318,imb320,imb321,",
"imb322,imb3231,imb3232,imb324,imb325,",
"imb3251,imb326,imb3271,imb3272,imb329,",
"imb330,imbacti,imbuser,imbgrup,imbmodu,imbdate,imb312",
")",
"Values",
"(",
"'",ima[t].ima01,"'",
"'0',0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,0,0,",
"0,0,0,0,'Y','zcb','DD','',sysdate,0",
")"
PREPARE roback FROM g_sql
EXECUTE roback                 
END FOR
#CALL cl_err('执行结束...',null,1)  
END FUNCTION


这篇关于(tiptop erp)跨营运中心批量更新没有成本要素值记录的料件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/174455

相关文章

豆包 MarsCode 不允许你还没有女朋友

在这个喧嚣的世界里,爱意需要被温柔地唤醒。为心爱的她制作每日一句小工具,就像是一场永不落幕的浪漫仪式,每天都在她的心田播撒爱的种子,让她的每一天都充满甜蜜与期待。 背景 在这个瞬息万变的时代,我们都在寻找那些能让我们慢下来,感受生活美好的瞬间。为了让这份浪漫持久而深刻,我们决定为女朋友定制一个每日一句小工具。这个工具会在她意想不到的时刻,为她呈现一句充满爱意的话语,让她的每一天都充满惊喜和感动

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

hdu1689(线段树成段更新)

两种操作:1、set区间[a,b]上数字为v;2、查询[ 1 , n ]上的sum 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdl

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

GIS图形库更新2024.8.4-9.9

更多精彩内容请访问 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信:digital_twin123 Cesium 本期发布了1.121 版本。重大新闻,Cesium被Bentley收购。 ✨ 功能和改进 默认启用 MSAA,采样 4 次。若要关闭 MSAA,则可以设置scene.msaaSamples = 1。但是通过比较,发现并没有多大改善。

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件