(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

相关文章

通过Python脚本批量复制并规范命名视频文件

《通过Python脚本批量复制并规范命名视频文件》本文介绍了如何通过Python脚本批量复制并规范命名视频文件,实现自动补齐数字编号、保留原始文件、智能识别有效文件等功能,听过代码示例介绍的非常详细,... 目录一、问题场景:杂乱的视频文件名二、完整解决方案三、关键技术解析1. 智能路径处理2. 精准文件名

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法

电脑没有仿宋GB2312字体怎么办? 仿宋GB2312字体下载安装及调出来的教程

《电脑没有仿宋GB2312字体怎么办?仿宋GB2312字体下载安装及调出来的教程》仿宋字体gb2312作为一种经典且常用的字体,广泛应用于各种场合,如何在计算机中调出仿宋字体gb2312?本文将为您... 仿宋_GB2312是公文标准字体之一,仿China编程宋是字体名称,GB2312是字php符编码标准名称(简

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI