關于MM PO中環境跳轉選項的一些發現
近期在做一個功能要直接展示信息記錄 結果CALL TR 的時候發現信息記錄里面還少了個 記錄類型 結果在下面的類中發現 其實ME13上還隱藏了一個PID
CL_ENVIRONMENT_FUNCTIONS_MM
這個類是采購訂單 環境 選項的類
其中有信息記錄選項 DISPLAY_INFO_RECORD
在這里面有FM
CALL FUNCTION 'MMPUR_INFO_RECORD_DISPLAY'
STARTING NEW TASK lv_guid
EXPORTING
im_infnr = l_infnr
im_ekorg = l_ekorg
im_werks = l_werks
im_pstyp = l_pstyp
EXCEPTIONS
system_failure = 1 MESSAGE lv_error
communication_failure = 2 MESSAGE lv_error
OTHERS = 3.
這個FM 是這樣的
DATA: tcod LIKE sy-tcode VALUE 'ME13'. "930588
SET PARAMETER ID 'LIF' FIELD im_lifnr.
SET PARAMETER ID 'MAT' FIELD im_matnr.
SET PARAMETER ID 'INF' FIELD im_infnr.
SET PARAMETER ID 'EKO' FIELD im_ekorg.
SET PARAMETER ID 'WRK' FIELD im_werks.
IF im_pstyp EQ pstyp-lohn.
SET PARAMETER ID 'ESO' FIELD esokz-lohn.
ELSEIF im_pstyp EQ esokz-pipe. "1498831
SET PARAMETER ID 'ESO' FIELD esokz-pipe. "1498831
ELSEIF im_pstyp EQ pstyp-kons.
SET PARAMETER ID 'ESO' FIELD esokz-konsi.
ELSEIF im_pstyp EQ esokz-charg. "scc-jp
SET PARAMETER ID 'ESO' FIELD esokz-charg. "scc-jp
ELSE.
SET PARAMETER ID 'ESO' FIELD esokz-norm.
ENDIF.
IF im_ekorg NE space.
SET PARAMETER ID 'EIB' FIELD 'E'.
ELSE.
SET PARAMETER ID 'EIB' FIELD space.
ENDIF.
CALL FUNCTION 'AUTHORITY_CHECK_TCODE' "930588
EXPORTING
tcode = tcod
EXCEPTIONS
ok = 0
not_ok = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE e172(00) WITH tcod.
ENDIF.
CALL TRANSACTION 'ME13' AND SKIP FIRST SCREEN.
其中 SET PARAMETER ID 'ESO' FIELD esokz-lohn. 這個是其他地方所沒有的
這個ESO 就是類別 我ME13也看不到
后續就解決問題了

浙公網安備 33010602011771號