ABAP report 实现前台MIGO 功能
时间: 2024-05-20 12:15:03 浏览: 18
要实现前台MIGO功能,可以使用SAP提供的标准事务代码MIGO来完成,但如果需要使用ABAP Report实现该功能,则可以按照以下步骤进行:
1. 定义Selection-Screen
定义Selection-Screen,包括物料号、数量、移动类型等必要的输入参数。
2. 获取物料信息
根据输入的物料号,通过函数模块“MB_READ_MATERIAL”获取相应的物料信息,例如物料描述、单位等。
3. 创建物料凭证
调用函数模块“MB_CREATE_GOODS_MOVEMENT”创建物料凭证,并填充必要的字段,例如物料号、数量、移动类型等。
4. 提交事务
调用函数模块“MB_POST_GOODS_MOVEMENT”提交物料凭证,并生成相应的物料凭证号。
5. 显示结果
将生成的物料凭证号显示在屏幕上,提示用户操作成功。
以上是实现前台MIGO功能的大致步骤,具体实现可以参考SAP提供的相关函数模块的使用方法。需要注意的是,在实现过程中,需要对用户输入的参数进行必要的校验和处理,以确保输入的数据符合业务规则。
相关问题
ABAP report BDC实现创建采购合同
下面是一个简单的 ABAP Report BDC 实现创建采购合同的示例:
1. 创建一个自定义的屏幕布局,包含需要输入的采购合同信息。
2. 使用 TCODE SHDB 记录一个标准的采购合同创建过程的 BDC 数据。
3. 通过 ABAP 代码将该 BDC 数据读入内存中,并替换其中需要输入的信息为用户在屏幕上输入的信息。
4. 执行 BDC 事务,创建采购合同。
以下是一个示例 ABAP Report 代码:
```
REPORT z_create_purchase_contract.
DATA: BEGIN OF bdcdata OCCURS 0,
program LIKE sy-repid,
dynpro LIKE sy-dynnr,
dynbegin(1) TYPE c,
fnam LIKE bdcdata-fnam,
fval LIKE bdcdata-fval,
END OF bdcdata.
DATA: v_ebeln TYPE ekko-ebeln,
v_bsart TYPE ekko-bsart,
v_bukrs TYPE ekko-bukrs,
v_lifnr TYPE ekko-lifnr,
v_waers TYPE ekko-waers.
PARAMETERS: p_ebeln TYPE ekko-ebeln,
p_bsart TYPE ekko-bsart,
p_bukrs TYPE ekko-bukrs,
p_lifnr TYPE ekko-lifnr,
p_waers TYPE ekko-waers.
v_ebeln = p_ebeln.
v_bsart = p_bsart.
v_bukrs = p_bukrs.
v_lifnr = p_lifnr.
v_waers = p_waers.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_ebeln
IMPORTING
output = v_ebeln.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0100'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_SELECT-EKGRP'.
bdcdata-fval = v_bsart.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0101'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_SELECT-BUKRS'.
bdcdata-fval = v_bukrs.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0102'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_SELECT-LIFNR'.
bdcdata-fval = v_lifnr.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0103'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_SELECT-WAERS'.
bdcdata-fval = v_waers.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-EBELN'.
bdcdata-fval = v_ebeln.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-EKORG'.
bdcdata-fval = '1000'.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-BSART'.
bdcdata-fval = v_bsart.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-BUKRS'.
bdcdata-fval = v_bukrs.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-LIFNR'.
bdcdata-fval = v_lifnr.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-WAERS'.
bdcdata-fval = v_waers.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-ABSAK'.
bdcdata-fval = 'X'.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-BEDAT'.
bdcdata-fval = sy-datum.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-ERNAM'.
bdcdata-fval = sy-uname.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-LOEKZ'.
bdcdata-fval = 'X'.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0210'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-EBELN'.
bdcdata-fval = v_ebeln.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0211'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-EBELN'.
bdcdata-fval = v_ebeln.
APPEND bdcdata.
CLEAR bdcdata.
bdcdata-program = 'SAPLMEGUI'.
bdcdata-dynpro = '0211'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
bdcdata-fnam = 'MEPO_CREATE-PO_TEXT'.
bdcdata-fval = '采购合同文本'.
APPEND bdcdata.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
program = bdcdata-program
dynpro = bdcdata-dynpro
dynbegin = bdcdata-dynbegin
TABLES
bdcdata = bdcdata.
CALL FUNCTION 'BDC_TRANSACTION'
EXPORTING
update_task = 'S'
EXCEPTIONS
OTHERS = 1.
```
在该示例中,我们使用了 PARAMETERS 语句定义了用户需要输入的采购合同信息,然后将这些信息替换到 BDC 数据中。最后通过调用 BDC_INSERT 和 BDC_TRANSACTION 函数执行 BDC 事务,创建采购合同。
ABAP MIGO过账BAPI可以实现批次拆分吗
是的,可以在调用BAPI_GOODSMVT_CREATE BAPI时通过传递相关的参数实现批次拆分。在调用该BAPI时,可以使用BATCH_SPLIT参数来指定拆分的批次数量。例如,如果需要将一个批次拆分成两个批次,则可以将该参数的值设置为2。此外,还需要传递相关的批次信息,例如批次号、数量等。具体的实现方式可以参考SAP提供的文档或相关的开发案例。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)