这里介绍常见的几种在开发中常用到的事务代码跳转功能。
1、最常用到的是“SET PARAMETER”语句赋值,然后再使用“CALL TRANSACTION”语句跳转屏幕。
比如采购订单、销售订单、交货单、采购发票、销售发票等事务代码,均可以利用给参数赋值来直接跳转,如下面的例子。
SET PARAMETER ID 'AUN' FIELD '384'.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
2、物料主数据显示“MM03”指定跳转到某个页签。
其中根据维护状态“PSTAT”判定显示哪个页签。
维护状态 (K,E,D,B,L,A)
A Work scheduling
B Accounting
C Classification
D MRP
E Purchasing
F Production resources/tools
G Costing
K Basic data
L Storage
P Forecasting
Q Quality management
S Warehouse management
V Sales
X Plant stocks
Z Storage location stocks
3、事务代码MIGO无法使用“SET PARAMETER”的跳转。
因为有些字段是没有parameter ID的,这时要通过调用函数MIGO_DIALOG进行跳转。
操作可以在 MIGO 事务中执行“GOACTION”:
A01 收货
A02 返回交货
A03 取消
A04 显示
A05 下达收货冻结库存
A06 后续交货
A07 发货
A08 转移过帐
A09 出库
A10 入库
A11 后续调整
参考凭证-事务 MIGO“REFDOC”:
R01 采购订单
R02 物料凭证
R03 交货单
R04 内向交货
R05 外向交货
R06 传送
R07 运输标识代码
R08 订单
R09 预留
R10 其他
比如下面的例子,显示物料凭证(当然你可以使用MB03的功能)。
CALL FUNCTION 'MIGO_DIALOG'
EXPORTING
I_ACTION = 'A04'
I_REFDOC = 'R02'
* I_NOTREE = 'X'
* I_NO_AUTH_CHECK =
* I_SKIP_FIRST_SCREEN = 'X'
* I_DEADEND = 'X'
* I_OKCODE = 'OK_GO'
* I_LEAVE_AFTER_POST =
* I_NEW_ROLLAREA = 'X'
* I_SYTCODE =
* I_EBELN =
* I_EBELP =
I_MBLNR = '4900000174'
I_MJAHR = '2013'
* I_ZEILE =
* I_TRANSPORT =
* I_ORDER_NUMBER =
* I_ORDER_ITEM =
* I_TRANSPORT_MEANS =
* I_TRANSPORTIDENT =
* I_INBOUND_DELIV =
* I_OUTBOUND_DELIV =
* I_RESERVATION_NUMB =
* I_RESERVATION_ITEM =
* EXT =
EXCEPTIONS
ILLEGAL_COMBINATION = 1.