1. 程式人生 > >採購訂單建立增加客戶資料增強示例

採購訂單建立增加客戶資料增強示例

命令:smod

選擇增強號MM06E005,點選測試。

出現如下:

MM06E005

1.功能退出:分別是程式碼區,包括pbo,pbi等。

2.Screen exit:建立增強螢幕

3.包含表:增強表字段結構

操作:

第一步:要SMOD上的增強包含結構CI_EKKODBCI_EKPODB,在包含表CI_EKKODB上雙擊,然後新增增

               強欄位。新增欄位必須以ZZ開頭,如ZZOPENDATE。如果要增強行專案,雙擊CI_EKPODB。

第二步:增強螢幕顯示,在Screen exit中,雙擊要增強的SAPMM06,如下:

PROCESS BEFORE OUTPUT.
  MODULE STATUS_0101.

PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0101.

進入以後即可繪製螢幕顯示,查詢要顯示的CI_EKKODB中的欄位顯示到螢幕上。查詢欄位(f6),輸入表或欄位名(ekko_ci),找到顯示的欄位。

雙擊STATUS_0101程式設計:

MODULE STATUS_0101中程式設計:(更新欄位編輯狀態)

IF displaymode = 'A'.
    
LOOPATSCREEN.
      
IF screen-name = 'EKKO_CI-ZZOPENDATE'.
         screen-input = 
'0'.
        
MODIFYSCREEN

.
      
ENDIF.

ENDLOOP.
  
ENDIF.

第三步:程式設計

在功能退出去,雙擊EXIT_SAPMM06E_006,進入 INCLUDE ZXM06U36 ,即Pbo增加如下程式碼(顯示和更新編輯狀態)

ekko_ci = i_ci_ekko.
displaymode = i_trtyp.

雙擊 EXIT_SAPMM06E_007,進入 INCLUDE ZXM06U38 ,即Pbi中(儲存資料)

MOVE-CORRESPONDING i_ekko TO gl_ekko_ci.

雙擊    EXIT_SAPMM06E_008,進入 INCLUDE ZXM06U37 ,即Import Data from Customer Subscreen for Purchasing Document Header中(修改後提示儲存)

IF gl_ekko_ci-zzopendate NE ekko_ci-zzopendate.
   e_ci_ekko-zzopendate = ekko_ci-zzopendate.
  
IF displaymode NE'A'.
     e_ci_update = 
'X'.
  
ENDIF.
ENDIF.

也可以是所有欄位:

if gl_ekko_ci ne ekko_ci.
   e_ci_ekko = ekko_ci.
  if displaymode ne 'A'.
     e_ci_update = 'X'.
  endif.
endif.

然後逐個啟用即可。

SAPMM06E     0101 CUSTSCR1 SAPLXM06    0101 "Header
SAPMM06E     0111 CUSTSCR1 SAPLXM06    0111 "Item EXIT_SAPMM06E_006 Header (PBO) EXIT_SAPMM06E_007 Header (PAI) EXIT_SAPMM06E_008 Import Data from Customer Subscreen for Purchasing Document Header EXIT_SAPMM06E_016 Item (PBO) EXIT_SAPMM06E_017 Item (PAI) EXIT_SAPMM06E_018 Import Data from Customer Subscreen for Purchasing Document Item