专供明辉集团SAP数据查询使用
本Skill封装了明辉集团SAP系统的完整数据查询流程,支持企业微信认证、BAPI调用、表数据查询等功能。所有查询均符合明辉集团内部数据标准和格式要求。
# 1. 安装依赖
pip install -r requirements.txt
# 2. 配置环境变量
cp .env.example .env
# 编辑.env文件配置API端点
from sap_data_query_skill import SAPDataQuerySkill
# 创建Skill实例
skill = SAPDataQuerySkill()
# 用户认证(交互式)
auth_result = skill.authenticate()
# 或指定参数
auth_result = skill.authenticate(
work_code="MS00051286",
identity="123456" # 身份证后六位
)
# 调用物料主数据BAPI
bapi_result = skill.query_bapi(
rfc_name="BAPI_MATERIAL_GET_DETAIL",
params={
"MATERIAL": "000000000000001234"
}
)
# 自动格式化物料条码
formatted_code = skill.format_material_code("1234")
# 返回: "000000000000001234"
# 查询物料主数据表
table_result = skill.query_table(
table_name="MARA",
fields=["MATNR", "MAKTX", "MEINS", "MATKL"],
filters=[
{
"FieldName": "MATKL",
"Calculation": "Equal",
"Lower": "ROH"
}
],
orders=[
{
"FieldName": "MATNR",
"Direction": "Ascend"
}
],
page_size=1000
)
# 根据意图自动查询
intelligent_result = skill.intelligent_query(
table_name="MARA",
query_intent="查询2024年创建的原材料物料,按物料号排序",
page_size=500
)
# 导出结果
export_result = skill.export_results(
result=table_result,
format="excel",
file_path="物料查询结果.xlsx"
)
# 查看查询历史
history = skill.get_query_history(limit=5)
# 获取Skill状态
status = skill.get_status()
{
"success": true,
"ticket": "xxxxx-xxxxx-xxxxx",
"work_code": "MS00051286",
"user_name": "张三",
"expires_at": "2024-12-31 23:59:59",
"error": null
}
{
"success": true,
"rfc_name": "BAPI_MATERIAL_GET_DETAIL",
"execution_time": 1.23,
"data": {
"MATERIAL_GENERAL_DATA": {...},
"PLANT_DATA": [...]
},
"statistics": {
"rows_returned": 1,
"fields_count": 15
},
"error": null
}
{
"success": true,
"table_name": "MARA",
"query_config": {...},
"data": [
{
"MATNR": "000000000000001234",
"MAKTX": "原材料A",
"MEINS": "KG",
"MATKL": "ROH"
}
],
"statistics": {
"row_count": 1250,
"query_rows": 100,
"page_size": 100,
"current_page": 0,
"total_pages": 13,
"fields": [
{
"field_name": "MATNR",
"display_name": "物料号",
"data_type": "CHAR"
}
]
},
"execution_time": 2.45,
"error": null
}
{
"success": false,
"error": "认证失败:身份证信息错误",
"error_type": "authentication_failed",
"error_code": "AUTH001",
"suggestion": "请检查身份证后六位是否正确",
"timestamp": "2024-04-22 12:30:45"
}
"1234" → "000000000000001234""5678" → "000000005678""2024-04-22" → "20240422"注意:本Skill仅限明辉集团内部使用,未经授权不得外传。
共 1 个版本