QA32中的出口 “STATTEXT”

简介: 这个出口我只用来读取服务器上的文件,然后在QA32种显示状态,读取完成后删除文件,把读取到的值,写到自定义的表中。下次进QA32直接读取对应的表就可以显示状态了。对应的文件名为批次.
这个出口我只用来读取服务器上的文件,然后在QA32种显示状态,读取完成后删除文件,把读取到的值,写到自定义的表中。下次进QA32直接读取对应的表就可以显示状态了。对应的文件名为批次.txt

*&---------------------------------------------------------------------*
*& 包括 ZXBS1U01 *
*&---------------------------------------------------------------------*
DATA: PRUEFLOS LIKE ZQM18-PRUEFLOS.
DATA: P_PRUEFLOS LIKE ZQM18-PRUEFLOS.

DATA: P_ACTIVE LIKE ZQM18-ACTIVE.
DATA: P_PATH LIKE RLGRAP-FILENAME,
P_FPATH(60) TYPE C,
P_FILE(10) TYPE C,
P_NAME(11) TYPE C.
* P_NAME LIKE QALS-PRUEFLOS.

DATA: BEGIN OF T_DATA OCCURS 0,
TEXT(8) TYPE C,
END OF T_DATA.

DATA: BEGIN OF IT_ZQM18 OCCURS 0.
INCLUDE STRUCTURE ZQM18.
DATA: END OF IT_ZQM18.

**--截取批号
PRUEFLOS = OBJECT_NUMBER+3(11).

**--读取服务器的txt文档路径-*
P_NAME = PRUEFLOS+1(11).
*P_FPATH = 'C:临时TEST'.
*P_FPATH = 'LABSRVSAPLINKLIMS'.
P_FPATH = 'labsrvSAPlinkTESTLIMS'.
P_FILE = '.TXT'.
CONCATENATE P_FPATH P_NAME P_FILE INTO P_PATH.

**---测试数据
*P_ACTIVE = 'HG'.
*P_ACTIVE = 'BHG'.

**--该资料是否已经读取过txt文档,如果已经读取过文档,则从表里面读取
**状态,如果没有读取过,则读取服务器上的txt文档
SELECT SINGLE ACTIVE PRUEFLOS
INTO (P_ACTIVE, P_PRUEFLOS)
FROM ZQM18
WHERE PRUEFLOS = PRUEFLOS.

IF P_ACTIVE = ''.
REFRESH T_DATA.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = 'TIBM'
FILENAME = P_PATH
FILETYPE = 'DAT'
TABLES
DATA_TAB = T_DATA
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11.

**--读取LIMS返回的 合格或不合格
IF NOT T_DATA[] IS INITIAL.
LOOP AT T_DATA.
IF T_DATA-TEXT = '合格'.
P_ACTIVE = 'HG'.
ELSEIF T_DATA-TEXT = '不合格'.
P_ACTIVE = 'BHG'.
ELSE.
P_ACTIVE = ''.
ENDIF.
CLEAR T_DATA.
ENDLOOP.
ENDIF.


REFRESH IT_ZQM18.
IF P_ACTIVE ''.
MOVE: PRUEFLOS TO IT_ZQM18-PRUEFLOS,
P_ACTIVE TO IT_ZQM18-ACTIVE.
APPEND IT_ZQM18.
ENDIF.
CLEAR IT_ZQM18.

**--插入数据库
IF NOT IT_ZQM18[] IS INITIAL.

IF P_PRUEFLOS ''.
MODIFY ZQM18 FROM TABLE IT_ZQM18.
ELSE.
INSERT ZQM18 FROM TABLE IT_ZQM18.
ENDIF.

ENDIF.

**--删除该文件
CALL FUNCTION 'GUI_DELETE_FILE'
EXPORTING
FILE_NAME = P_PATH
EXCEPTIONS
FAILED = 1
OTHERS = 2.

**---合并状态
CONCATENATE P_ACTIVE SYSTEM_STATUS_LINE INTO SYSTEM_STATUS_LINE_EXP
SEPARATED BY SPACE.

ELSE.

**--删除该文件
CALL FUNCTION 'GUI_DELETE_FILE'
EXPORTING
FILE_NAME = P_PATH
EXCEPTIONS
FAILED = 1
OTHERS = 2.

**---合并状态
CONCATENATE P_ACTIVE SYSTEM_STATUS_LINE INTO SYSTEM_STATUS_LINE_EXP
SEPARATED BY SPACE.

ENDIF.

目录
相关文章
|
机器学习/深度学习 存储 监控
EFK部署及应用
EFK部署及应用
419 1
|
Linux Shell 开发工具
【杂七杂八】安利一个padOS上的linux小工具——iSH
【杂七杂八】安利一个padOS上的linux小工具——iSH
475 0
|
前端开发 JavaScript 测试技术
前端工程化:构建高效、可维护的现代Web应用
【10月更文挑战第5天】前端工程化:构建高效、可维护的现代Web应用
|
人工智能 算法 BI
第十四届蓝桥杯省赛大学C组(C/C++)三国游戏
第十四届蓝桥杯省赛大学C组(C/C++)三国游戏
|
前端开发 Unix 测试技术
揭秘!前端大牛们如何高效管理项目,确保按时交付高质量作品!
【10月更文挑战第30天】前端开发项目涉及从需求分析到最终交付的多个环节。本文解答了如何制定合理项目计划、提高团队协作效率、确保代码质量和应对项目风险等问题,帮助你学习前端大牛们的项目管理技巧,确保按时交付高质量的作品。
351 2
|
搜索推荐 算法
数据结构与算法学习十四:常用排序算法总结和对比
关于常用排序算法的总结和对比,包括稳定性、内排序、外排序、时间复杂度和空间复杂度等术语的解释。
179 0
数据结构与算法学习十四:常用排序算法总结和对比
|
数据采集 存储 Java
如何让Python爬虫在遇到异常时继续运行
构建健壮Python爬虫涉及异常处理、代理IP和多线程。通过try/except捕获异常,保证程序在遇到问题时能继续运行。使用代理IP(如亿牛云)防止被目标网站封锁,多线程提升抓取效率。示例代码展示了如何配置代理,设置User-Agent,以及使用SQLite存储数据。通过`fetch_url`函数和`ThreadPoolExecutor`实现抓取与重试机制。
372 4
如何让Python爬虫在遇到异常时继续运行
|
开发框架 数据可视化 JavaScript
鸿蒙可视化代码生成器神器
本文介绍了鸿蒙生态中的ArkTS语言,它在TypeScript基础上强化了静态类型并提供声明式UI和状态管理。同时,ArkUI作为分布式UI开发框架,提升了界面开发效率,且配合可视化工具的改进,简化了组件管理和API集成过程。
367 0
|
安全 数据安全/隐私保护
浏览器无法保存密码,每次登录网页都要重新登录
浏览器无法保存密码,每次登录网页都要重新登录
浏览器无法保存密码,每次登录网页都要重新登录
|
数据采集 存储 监控
ChatGPT工作提效之生成开发需求和报价单并转为Excel格式
ChatGPT工作提效之生成开发需求和报价单并转为Excel格式
635 0