状态栏消息处理

代码实现:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class SapMessageType(enum.Enum):
    SUCCESS = "S"
    WARNING = "W"
    ERROR = "E"
    ABORT = "A"
    INFORMATION = "I"
 
 
class SapStatusMessage:
    def __init__(self, message_as_popup, message_type, message_text, message_id, message_number, message_parameters):
        self.message_as_popup = message_as_popup
        self.message_type = SapMessageType(message_type)
        self.message_text = message_text
        self.message_id = message_id
        self.message_number = message_number
        self.message_parameters = message_parameters
 
 
class SapStatusBar:
 
    def __new__(cls, *args, **kwargs):
        if not hasattr(cls, 'instance'):
            cls.instance = super().__new__(cls, *args, **kwargs)
        return cls.instance
 
    @staticmethod
    def get_message(session, status_bar):
        message = None
        if session and status_bar:
            try:
                bar = session.findById(status_bar)
                message_type = bar.MessageType.strip()
                if message_type:
                    message_as_popup = bar.MessageAsPopup
                    message_text = bar.Text.strip()
                    message_id = bar.MessageId.strip()
                    message_number = bar.MessageNumber.strip()
                    parameters = SAP_MESSAGES.get(message_id + message_number, [str(i) for i in range(8)])
                    message_parameters = {name: bar.MessageParameter(i).strip() for i, name in enumerate(parameters)}
                    message = SapStatusMessage(
                        message_as_popup, message_type, message_text,
                        message_id, message_number, message_parameters
                    )
            except Exception as _:
                pass
        return message
 
 
# 标识SAP的消息信息,提取需要的数据。
#
# 名称: [ID][NUMBER]
# 对应的参数含义。
SAP_MESSAGES = {
    'F5149': ('date',)
}
 
 
class SapMessages:
    """
    标识SAP的消息信息,提取需要的数据。
 
    名称: [ID][NUMBER]
    对应的参数含义。
    """
    F5149 = ('date')

  

https://blog.csdn.net/chenguangqi/article/details/125524474?spm=1001.2014.3001.5502

 

posted @   CrossPython  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-08-24 调用outlook发邮件
点击右上角即可分享
微信分享提示