这里介绍常见的几种在开发中常用到的事务代码跳转功能。
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.