查找sap abap 修改工序状态的 function
时间: 2023-11-09 07:05:40 浏览: 57
您可以使用SAP的标准函数模块 "STATUS_CHANGE_EXTERN" 来修改工序状态。要使用此函数模块,请按照以下步骤进行操作:
1. 使用 SE37 事务代码打开函数模块 "STATUS_CHANGE_EXTERN"。
2. 在 "IMPORT" 标签页中,输入以下参数:
- OBJNR:工序对象号
- STATUS_NEW:新状态代码
- REASON:状态更改的原因
- ACTIV_NO:操作号
3. 调用函数模块并传递所需参数。您可以使用 CALL FUNCTION 语句调用此函数模块,如下所示:
```
CALL FUNCTION 'STATUS_CHANGE_EXTERN'
EXPORTING
objnr = '工序对象号'
status_new = '新状态代码'
reason = '状态更改的原因'
activ_no = '操作号'
EXCEPTIONS
system_error = 1
OTHERS = 2.
```
请注意,您需要根据您的具体使用情况更改参数。如果您不知道工序对象号,可以使用 CO03 事务代码在 SAP 中查找它。
相关问题
查找sap abap 修改生产订单中的工序状态的 function 而不是修改生产订单的function
要修改生产订单中的工序状态,您可以使用标准 SAP 函数模块 "BAPI_PRODORD_CHANGE_STATUS"。这个函数模块可以修改生产订单中的工序状态,例如将已完成的工序标记为 "CNF" 或将未完成的工序标记为 "RCL".
以下是使用 BAPI_PRODORD_CHANGE_STATUS 的步骤:
1. 打开 SE37 事务代码并输入 BAPI_PRODORD_CHANGE_STATUS。
2. 在 IMPORT 参数中输入以下参数:
- NUMBER:生产订单号
- ORDER_TYPE:生产订单类型
- OPERATION:工序号
- STATUS:新状态
- REASON:状态更改原因
3. 调用函数模块并传递所需参数。您可以使用 CALL FUNCTION 语句调用此函数模块,如下所示:
```
CALL FUNCTION 'BAPI_PRODORD_CHANGE_STATUS'
EXPORTING
number = '生产订单号'
order_type = '生产订单类型'
operation = '工序号'
status = '新状态'
reason = '状态更改原因'
IMPORTING
return = lt_return
TABLES
operationdata = lt_operationdata
EXCEPTIONS
error = 1
OTHERS = 2.
```
请注意,您需要根据您的具体使用情况更改参数。如果您不知道生产订单号、生产订单类型或工序号,可以使用 CO03 事务代码在 SAP 中查找它们。
SAP ABAP 定义一个function去除前导零并调用
可以使用以下代码定义一个函数去除前导零:
```
FUNCTION remove_leading_zeros.
DATA: lv_input TYPE string,
lv_output TYPE string.
PARAMETERS p_input TYPE string.
lv_input = p_input.
lv_output = lv_input.
DO.
IF lv_output CO '0'.
EXIT.
ELSE.
lv_output+1 = ''.
ENDIF.
ENDDO.
WRITE lv_output.
ENDFUNCTION.
```
要调用此函数,可以在ABAP程序中使用类似以下代码的语句:
```
CALL FUNCTION 'remove_leading_zeros'
EXPORTING
p_input = '000123'.
```
这将移除输入字符串中的前导零,并输出结果“123”。