SAP中常用函数(收集)

本文整理了SAP系统中常见的函数,包括BAPI_PO_CREATE系列用于创建采购订单,SD_VBAP_READ_WITH_VBELN读取销售订单信息,EDIT_LINES处理文本,VIEW_MAINTENANCE_CALL维护表视图,以及其他如日期转换、屏幕交互、数据检索和验证等功能函数。这些函数对于SAP的日常操作和开发工作非常实用。

********SAP中常用函数

函数名            描述

BAPI_PO_CREATE1   创建PO單號

BAPI_PO_CREATE   创建PO單號

 

函数名 描述
SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息
EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织
VIEW_MAINTENANCE_CALL 维护表视图

函数名 描述
DY_GET_FOCUS 获得屏幕焦点
DY_GET_SET_FIELD_VALUE 获得或者设置屏幕字段的值

函数名 描述
F4IF_INT_TABLE_VALUE_REQUEST 显示检索help
READ_TEXT 读取长文本
CONVERSION_EXIT_CUNIT_OUTPUT 单位转换
SJIS_DBC_TO_SBC 全角转半角
SJIS_SBC_TO_DBC 半角转换为全角
CO_R0_CHECK_DECIMAL_POINT 根据单位检查数据的小数位
POSTAL_CODE_CHECK 检查邮政编码

函数名 描述
CONVERSION_EXIT_ALPHA_INPUT 全数字则在前面补0
CONVERSION_EXIT_ALPHA_INPUT 和上面相反
GET_JOB_RUNTIME_INFO 获得job相关信息
TERMINAL_ID_GET 获得端末id
DATE_CONVERT_TO_FACTORYDATE 把输入日期转为工厂日历日期
MESSAGE_TEXT_BUILD 把消息转为文本

函数名 描述
POPUP_TO_CONFIRM 弹出确认窗口

函数名 描述
CONVERSION_EXIT_MATN1_INPUT 物料号码转换函数
CONVERSION_EXIT_MATN1_OUTPUT 同上相反
CONVERT_TO_LOCAL_CURRENCY 按照指定日期汇率转换金额为指定货币类型
SSF_FUNCTION_MODULE_NAME 根据form名取得对应的函数名(SmartForm)

函数名 描述
DATE_CHECK_PLAUSIBILITY 日期CHECK
cl_gui_frontend_services=>gui_upload 上传到服务器
cl_gui_frontend_services=>gui_download 下载到服本地
SSF_FUNCTION_MODULE_NAME SMARTFORMS输出报表时,生成一个函数名称,然后CALL这个名称

函数名 描述
POPUP_TO_DECIDE_LIST 弹出供选择窗口

ABAP_DOCU_DOWNLOAD – 以HTML格式下载ABAP文档。

ARFC_GET_TID – 以十六进制形式返回终端的IP地址。

BAL_* -容纳了SAP的应用程序日志所有的函数模块。

BP_EVENT_RAISE –在 ABAP/4 程序中触发一个事件。

BP_JOBLOG_READ –获得job log的执行结果。

CLOI_PUT_SIGN_IN_FRONT – 将负号前置, SAP默认将负号放在数字后面。

CLPB_EXPORT –从内表导入到剪贴板。

CLPB_IMPORT – 从剪贴板导入内表。

COMMIT_TEXT -To load long text into SAP 。

CONVERSION_EXIT_ALPHA_INPUT - 数字串前补0
example:
input = 123
output = 0000000000000。。。000000000000123

CONVERSION_EXIT_ALPHA_OUTPUT – 消除数字串前的0
example:
input = 00000000000123
output = 123

CONVERT_OTF – 将SAP文档(SAP Script)转换成其他类型。
example:
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
IMPORTING
BIN_FILESIZE = FILE_LEN
TABLES
OTF = OTFDATA
LINES = PDFDATA
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.

DATE_GET_WEEK – 返回一个日期所在的周数。

DATE_CHECK_PLAUSIBILITY – 检查一个日期是否是SAP的有效格式。

DYNP_VALUES_READ – 读取SCREEN字段的值,也可以用来读取报表SELECTION SCREEN。

DYNP_VALUES_UPDATE -更新屏幕字段的值。

ENQUE_SLEEP –在继续处理之前等待一个指定的时间。

ENQUEUE_ESFUNCTION – 锁定一个ABAP程序使它不可以被执行:

RELID = 'ZZ'
SRTF2 = 0
SRTF = (your report name)

注意不要用SY-REPID来传递你的报表名字,当把SY-REPID作为参数传递给函数模块的时候,SY-REPID的值实际上已经发生了变化。

EPS_GET_FILE_ATTRIBUTES – 获得文件属性。

EPS_GET_DIRECTORY_LISTING – 返回一个本地或网络目录的文件列表。

### SAP PP模块中常见的开发需求及实现方式 在SAP PP(生产计划)模块中,企业通常会根据自身的制造流程和管理需求进行定制化开发。这些开发需求主要集中在任务清单、工艺路线、物料清单(BOM)、排产逻辑优化、产能计划以及与其他模块的集成等方面。 #### 1. 任务清单(Task List)相关开发 任务清单是定义标准化工艺流程的核心主数据,广泛应用于重复性生产的场景中。开发需求通常包括创建、修改或扩展任务清单结构,以适应不同产品族或变式配置的需求。例如: - **多版本任务清单管理**:支持为同一产品维护多个任务清单版本,系统根据订单类型、客户要求或工厂策略自动选择最合适的版本。 - **动态工序分配**:基于物料特性或订单参数,在任务清单生成时动态决定是否跳过某些工序或添加特定步骤。 此类功能可通过调用标准函数模块如 `CSAPI_TASK_LIST_CREATE` 或使用增强点(如 `EXIT_SAPLCSEN_001`)来实现[^1]。 #### 2. 工艺路线(Routing)与控制码配置开发 工艺路线用于描述生产过程中的各个操作步骤及其顺序,并结合控制码定义每道工序的行为特征。常见的开发需求包括: - **控制码自动化配置**:根据工序类型自动填充控制码字段,例如是否需要能力确认、是否涉及外部加工等[^2]。 - **工序时间计算增强**:通过用户出口或BADI(如 `PP_OPERATION_TIME_CALC`)对系统默认的工序时间计算逻辑进行扩展,支持基于历史数据或机器学习的智能预测。 此外,对于外协加工工序,可开发自动生成采购申请的功能,确保外部处理的时间纳入整体排程考虑范围[^2]。 #### 3. BOM管理与变式配置开发 物料清单(Bill of Material, BOM)是PP模块的基础数据之一。针对复杂产品的开发需求通常包括: - **多层BOM展开**:通过递归函数或ABAP程序实现多层次BOM的展开,用于成本核算、领料单生成或库模拟。 - **变式配置集成**:将分类特性与BOM项绑定,实现在销售订单或生产订单创建时动态确定组件构成。 此类开发可以借助标准如 `STKO`, `STPO` 进行查询与更新,也可通过BAPI如 `CS_BOM_CREATE` 实现批量维护。 #### 4. 排产逻辑增强与调度优化 为了提升生产调度效率和资源利用率,常见开发包括: - **排程规则定制**:通过增强 `PP_SCHEDULING_RULE` 实现非标准排程逻辑,如按优先级、瓶颈资源限制或最小换模时间安排作业。 - **能力需求计划(CRP)可视化报**:开发图形化能力负荷分析报,帮助计划员识别瓶颈工作站并做出调整。 这类功能通常涉及 `CAUFVD`, `AFVC`, `AFVU` 等生产订单与工序相关的操作。 #### 5. 生产订单状态与审批流程控制 生产订单的状态管理是流程控制的重要组成部分。典型开发包括: - **状态变更触发事件**:当订单进入“已释放”或“已完成”状态时,自动执行后续动作,如触发质检通知或更新物料可用性。 - **审批流程集成**:通过工作流引擎(Workflow Engine)或第三方平台实现订单审批机制,防止未经授权的订单被释放。 此类开发可通过状态管理增强点 `STATUS_CHANGE` 或 BADI `PP_ORDER_STATUSES` 来实现。 #### 6. 与其它模块集成开发 PP模块通常需要与MM、QM、CO等模块紧密集成。例如: - **生产订单收发货接口开发**:与MM模块集成,实现生产订单报工后自动触发物料移动(如GR/GI)。 - **质量检验触发开发**:结合QM模块,在关键工序完成后自动生成检验批。 - **成本收集与分摊开发**:与CO模块集成,实时追踪订单成本并按实际消耗进行费用分摊。 此类开发常使用IDoc、RFC或中间方式进行跨模块数据交互。 ```abap " 示例:查询某一任务清单的详细信息 DATA: lt_tl TYPE STANDARD TABLE OF plko, ls_return TYPE bapi_return. CALL FUNCTION 'BAPI_ROUTING_GETDETAILS' EXPORTING routing_number = '100001' IMPORTING return = ls_return TABLES routings = lt_tl. IF ls_return-type CA 'EAX'. WRITE: / 'Error retrieving routing details.'. ELSE. LOOP AT lt_tl INTO DATA(ls_tl). WRITE: / 'Routing Number:', ls_tl-plnum, 'Description:', ls_tl-plktx. ENDLOOP. ENDIF. ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

trassion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值